diff --git a/proto/osmosis/streamswap/v1/event.proto b/proto/osmosis/streamswap/v1/event.proto
deleted file mode 100644
index 1769d18bbbc969cf405e83acdc01fc049e0582f0..0000000000000000000000000000000000000000
--- a/proto/osmosis/streamswap/v1/event.proto
+++ /dev/null
@@ -1,42 +0,0 @@
-syntax = "proto3";
-package osmosis.streamswap.v1;
-
-import "cosmos/base/v1beta1/coin.proto";
-import "cosmos_proto/cosmos.proto";
-import "gogoproto/gogo.proto";
-
-option go_package = "github.com/osmosis-labs/osmosis/v12/x/streamswap/types";
-option (gogoproto.goproto_getters_all) = false;
-
-message EventCreateSale {
-  uint64 id = 1;
-  string creator = 2;
-  string token_in = 3;
-  cosmos.base.v1beta1.Coin token_out = 4 [ (gogoproto.nullable) = false ];
-}
-
-message EventSubscribe {
-  string sender = 1;
-  uint64 sale_id = 2;
-  string amount = 3;
-}
-
-message EventWithdraw {
-  string sender = 1;
-  uint64 sale_id = 2;
-  // amount of staked token_in withdrawn by user.
-  string amount = 3;
-}
-
-message EventExit {
-  string sender = 1;
-  uint64 sale_id = 2;
-  // amount of purchased token_out sent to the user
-  string purchased = 3;
-}
-
-message EventFinalizeSale {
-  uint64 sale_id = 1;
-  // amount of earned tokens_in
-  string income = 3;
-}
diff --git a/proto/osmosis/streamswap/v1/genesis.proto b/proto/osmosis/streamswap/v1/genesis.proto
deleted file mode 100644
index b9f7922c9078705837a141df5781e61659f40ae0..0000000000000000000000000000000000000000
--- a/proto/osmosis/streamswap/v1/genesis.proto
+++ /dev/null
@@ -1,27 +0,0 @@
-syntax = "proto3";
-package osmosis.streamswap.v1;
-
-import "gogoproto/gogo.proto";
-import "cosmos_proto/cosmos.proto";
-import "cosmos/base/v1beta1/coin.proto";
-import "osmosis/streamswap/v1/state.proto";
-import "osmosis/streamswap/v1/params.proto";
-
-option go_package = "github.com/osmosis-labs/osmosis/v12/x/streamswap/types";
-
-// GenesisState defines the streamswap module's genesis state.
-message GenesisState {
-  repeated Sale sales = 1 [ (gogoproto.nullable) = false ];
-  repeated UserPositionKV user_positions = 2 [ (gogoproto.nullable) = false ];
-  uint64 next_sale_id = 3;
-  Params params = 4 [ (gogoproto.nullable) = false ];
-}
-
-// UserPositionKV is a record in genesis representing acc_address user position
-// of a sale_id sale.
-message UserPositionKV {
-  // user account address
-  string acc_address = 1;
-  uint64 sale_id = 2;
-  UserPosition user_position = 3 [ (gogoproto.nullable) = false ];
-}
diff --git a/proto/osmosis/streamswap/v1/params.proto b/proto/osmosis/streamswap/v1/params.proto
deleted file mode 100644
index ec2d04dbf750fa7f876ec0429fa0e37e807f4233..0000000000000000000000000000000000000000
--- a/proto/osmosis/streamswap/v1/params.proto
+++ /dev/null
@@ -1,34 +0,0 @@
-syntax = "proto3";
-package osmosis.streamswap.v1;
-
-import "gogoproto/gogo.proto";
-import "google/protobuf/any.proto";
-import "cosmos_proto/cosmos.proto";
-import "cosmos/base/v1beta1/coin.proto";
-
-import "google/protobuf/duration.proto";
-
-option go_package = "github.com/osmosis-labs/osmosis/v12/x/streamswap/types";
-
-// Params holds parameters for the streamswap module
-message Params {
-  // fee charged when creating a new sale. The fee will go to the
-  // sale_fee_recipient unless it is not defined (empty).
-  repeated cosmos.base.v1beta1.Coin sale_creation_fee = 1 [
-    (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins",
-    (gogoproto.moretags) = "yaml:\"sale_creation_fee\"",
-    (gogoproto.nullable) = false
-  ];
-
-  // bech32 address of the fee recipient
-  string sale_creation_fee_recipient = 2;
-
-  // minimum amount duration of time between the sale creation and the sale
-  // start time.
-  google.protobuf.Duration min_duration_until_start_time = 3
-      [ (gogoproto.nullable) = false, (gogoproto.stdduration) = true ];
-
-  // minimum duration for every new sale.
-  google.protobuf.Duration min_sale_duration = 4
-      [ (gogoproto.nullable) = false, (gogoproto.stdduration) = true ];
-}
diff --git a/proto/osmosis/streamswap/v1/query.proto b/proto/osmosis/streamswap/v1/query.proto
deleted file mode 100644
index 1a522a9e828e59df28b5403c1e6fde7af813f1c9..0000000000000000000000000000000000000000
--- a/proto/osmosis/streamswap/v1/query.proto
+++ /dev/null
@@ -1,63 +0,0 @@
-syntax = "proto3";
-package osmosis.streamswap.v1;
-
-import "gogoproto/gogo.proto";
-import "google/api/annotations.proto";
-import "cosmos/base/query/v1beta1/pagination.proto";
-
-import "osmosis/streamswap/v1/state.proto";
-
-option go_package = "github.com/osmosis-labs/osmosis/v12/x/streamswap/types";
-option (gogoproto.goproto_getters_all) = false;
-
-// Query defines the gRPC querier service.
-service Query {
-  // Returns list of Sales ordered by the creation time
-  rpc Sales(QuerySales) returns (QuerySalesResponse) {
-    option (google.api.http).get = "/cosmos/streamswap/v1/sales";
-  }
-
-  // Returns the specific Sale object
-  rpc Sale(QuerySale) returns (QuerySaleResponse) {
-    option (google.api.http).get = "/cosmos/streamswap/v1/sales/{sale_id}";
-  }
-
-  rpc UserPosition(QueryUserPosition) returns (QueryUserPositionResponse) {
-    option (google.api.http).get =
-        "/cosmos/streamswap/v1/sales/{sale_id}/{user}";
-  }
-}
-
-message QuerySales {
-  // pagination defines an pagination for the request.
-  cosmos.base.query.v1beta1.PageRequest pagination = 1;
-}
-
-message QuerySalesResponse {
-  repeated osmosis.streamswap.v1.Sale sales = 1
-      [ (gogoproto.nullable) = false ];
-  cosmos.base.query.v1beta1.PageResponse pagination = 2;
-}
-
-// Request type for Query/Sale
-message QuerySale {
-  // Sale ID
-  uint64 sale_id = 1;
-}
-
-message QuerySaleResponse {
-  osmosis.streamswap.v1.Sale sale = 1 [ (gogoproto.nullable) = false ];
-}
-
-// Request type for Query/Sale
-message QueryUserPosition {
-  // ID of the Sale
-  uint64 sale_id = 1;
-  // user account address
-  string user = 2;
-}
-
-message QueryUserPositionResponse {
-  osmosis.streamswap.v1.UserPosition user_position = 1
-      [ (gogoproto.nullable) = false ];
-}
diff --git a/proto/osmosis/streamswap/v1/state.proto b/proto/osmosis/streamswap/v1/state.proto
deleted file mode 100644
index 9e1f85be7b0bd74f4e4769a96d62f4206a3e8834..0000000000000000000000000000000000000000
--- a/proto/osmosis/streamswap/v1/state.proto
+++ /dev/null
@@ -1,114 +0,0 @@
-syntax = "proto3";
-package osmosis.streamswap.v1;
-
-import "google/protobuf/timestamp.proto";
-import "cosmos_proto/cosmos.proto";
-import "gogoproto/gogo.proto";
-
-option go_package = "github.com/osmosis-labs/osmosis/v12/x/streamswap/types";
-option (gogoproto.goproto_getters_all) = false;
-
-message Sale {
-  // Destination for the earned token_in
-  string treasury = 1;
-  uint64 id = 2;
-
-  // token_out is a token denom to be bootstraped. May be referred as base
-  // currency, or a sale token.
-  string token_out = 3;
-  // token_in is a token denom used to buy sale tokens (`token_out`). May be
-  // referred as quote_currency or payment token.
-  string token_in = 4;
-
-  // total number of `tokens_out` to be sold during the continuous sale.
-  string token_out_supply = 5 [
-    (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
-    (gogoproto.nullable) = false
-  ];
-
-  // start time when the token emission starts.
-  google.protobuf.Timestamp start_time = 6
-      [ (gogoproto.stdtime) = true, (gogoproto.nullable) = false ];
-  // end time when the token emission ends. Can't be bigger than start +
-  // 139years (to avoid round overflow)
-  google.protobuf.Timestamp end_time = 7
-      [ (gogoproto.stdtime) = true, (gogoproto.nullable) = false ];
-
-  // Round number when the sale was last time updated.
-  int64 round = 8;
-
-  // Last round of the Sale;
-  int64 end_round = 9;
-
-  // amout of remaining token_out to sell
-  string out_remaining = 10 [
-    (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
-    (gogoproto.nullable) = false
-  ];
-
-  // amount of token_out sold
-  string out_sold = 11 [
-    (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
-    (gogoproto.nullable) = false
-  ];
-
-  // out token per share
-  string out_per_share = 12 [
-    (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
-    (gogoproto.nullable) = false
-  ];
-
-  // total amount of currently staked coins (token_in) but not spent coins.
-  string staked = 13 [
-    (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
-    (gogoproto.nullable) = false
-  ];
-  // total amount of earned coins (token_in)
-  string income = 14 [
-    (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
-    (gogoproto.nullable) = false
-  ];
-
-  // total amount of shares
-  string shares = 15 [
-    (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
-    (gogoproto.nullable) = false
-  ];
-
-  // Name for the sale.
-  string name = 20;
-  // URL with sale and project details.
-  string url = 21;
-}
-
-// UserPosition represents user account in a sale
-message UserPosition {
-
-  string shares = 1 [
-    (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
-    (gogoproto.nullable) = false
-  ];
-  // total number of currently staked tokens
-  string staked = 2 [
-    (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
-    (gogoproto.nullable) = false
-  ];
-
-  // last token/share ratio
-  string out_per_share = 3 [
-    (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
-    (gogoproto.nullable) = false
-  ];
-
-  // amount of token_in spent
-  string spent = 4 [
-    (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
-    (gogoproto.nullable) = false
-  ];
-
-  // Amount of accumulated, not withdrawn, purchased tokens (token_out)
-  string purchased = 5 [
-    (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
-    (gogoproto.nullable) = false
-  ];
-}
diff --git a/proto/osmosis/streamswap/v1/tx.proto b/proto/osmosis/streamswap/v1/tx.proto
deleted file mode 100644
index 087a35e030ca14d9018aeae0b462f5f284a2c8b0..0000000000000000000000000000000000000000
--- a/proto/osmosis/streamswap/v1/tx.proto
+++ /dev/null
@@ -1,141 +0,0 @@
-syntax = "proto3";
-package osmosis.streamswap.v1;
-
-import "gogoproto/gogo.proto";
-import "google/protobuf/duration.proto";
-import "google/protobuf/timestamp.proto";
-import "google/protobuf/empty.proto";
-
-import "cosmos/base/v1beta1/coin.proto";
-import "cosmos_proto/cosmos.proto";
-
-option go_package = "github.com/osmosis-labs/osmosis/v12/x/streamswap/types";
-option (gogoproto.goproto_getters_all) = false;
-
-service Msg {
-  // CreateSale creates new token sale. Anyone can create a new sale.
-  // params.SaleBond OSMO will be charged as a bond (returned in FinalizeSale)
-  // to avoid spams.
-  // The sale follows the streamswap functionality explained in the
-  // x/launchapd/spec
-  rpc CreateSale(MsgCreateSale) returns (MsgCreateSaleResponse);
-
-  // Subscribe to a token sale. Any use at any time before the sale end can join
-  // the sale by sending `token_in` to the Sale through the Subscribe msg.
-  // During the sale, user `token_in` will be automatically charged every
-  // epoch to purchase `token_out`.
-  rpc Subscribe(MsgSubscribe) returns (google.protobuf.Empty);
-
-  // Withdraw sends back `amount` of unspent tokens_in to the user.
-  // If `amount` is empty, it will default to all unspent tokens.
-  // User can do it any time unless his deposit is empty.
-  rpc Withdraw(MsgWithdraw) returns (google.protobuf.Empty);
-
-  // ExitSale withdraws (by a user who subscribed to the sale) purchased
-  // tokens_out from the pool and remained tokens_in. Must be called after
-  // the sale end.
-  rpc ExitSale(MsgExitSale) returns (MsgExitSaleResponse);
-
-  // FinalizeSale clean ups the sale and sends income (earned tokens_in) to the
-  // Sale recipient. Returns error if called before the Sale end or it was
-  // already finalized. Anyone can call this method.
-  rpc FinalizeSale(MsgFinalizeSale) returns (MsgFinalizeSaleResponse);
-}
-
-message MsgCreateSale {
-  // Sale creator and the account which provides token (token_out) to the sale.
-  // When processing this message, token_out
-  string creator = 1;
-  // token_in is a denom used to buy `token_out`. May be referred as a
-  // "quote currency".
-  string token_in = 2;
-  // token_out is a coin supply (denom + amount) to sell. May be referred as
-  // "base currency". The whole supply will be transferred from the creator
-  // to the module and will be sold during the sale.
-  cosmos.base.v1beta1.Coin token_out = 3 [ (gogoproto.nullable) = false ];
-
-  // Maximum fee the creator is going to pay for creating a sale. The creator
-  // will be charged params.SaleCreationFee. Transaction will fail if
-  // max_fee is smaller than params.SaleCreationFee. If empty, the creator
-  // doesn't accept any fee.
-  repeated cosmos.base.v1beta1.Coin max_fee = 4
-      [ (gogoproto.nullable) = false ];
-
-  // start time when the token sale starts.
-  google.protobuf.Timestamp start_time = 5
-      [ (gogoproto.nullable) = false, (gogoproto.stdtime) = true ];
-  // duration time that the sale takes place over
-  google.protobuf.Duration duration = 6
-      [ (gogoproto.nullable) = false, (gogoproto.stdduration) = true ];
-
-  // Recipient is the account which receives earned `token_in` from when the
-  // sale is finalized. If not defined (empty) the creator
-  // account will be used.
-  string recipient = 7;
-
-  // Name for the sale, max 40 characters, min 4. Required.
-  string name = 8;
-  // URL with sale and project details. Can be a link a link to IPFS,
-  // hackmd, project page, blog post... Max 120 characters. Must be
-  // valid agains Go url.ParseRequestURI. Required.
-  string url = 9;
-}
-
-message MsgCreateSaleResponse {
-  uint64 sale_id = 1 [ (gogoproto.moretags) = "yaml:\"sale_id\"" ];
-}
-
-message MsgSubscribe {
-  // sender is an account address adding a deposit
-  string sender = 1;
-  // ID of an existing sale.
-  uint64 sale_id = 2 [ (gogoproto.moretags) = "yaml:\"sale_id\"" ];
-  // number of sale.token_in staked by a user.
-  string amount = 3 [
-    (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
-    (gogoproto.nullable) = false
-  ];
-}
-
-message MsgWithdraw {
-  // sender is an account address subscribed to the sale_id
-  string sender = 1;
-  // ID of a sale.
-  uint64 sale_id = 2 [ (gogoproto.moretags) = "yaml:\"sale_id\"" ];
-  // amount of tokens_in to withdraw. Must be at most the amount of not spent
-  // tokens, unless set to null - then all remaining balance will be withdrawn.
-  string amount = 3 [
-    (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
-    (gogoproto.nullable) = true
-  ];
-}
-
-message MsgExitSale {
-  // sender is an account address exiting a sale
-  string sender = 1;
-  // ID of an existing sale.
-  uint64 sale_id = 2 [ (gogoproto.moretags) = "yaml:\"sale_id\"" ];
-}
-
-message MsgExitSaleResponse {
-  // Purchased amount of "out" tokens withdrawn to the user.
-  string purchased = 1 [
-    (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
-    (gogoproto.nullable) = false
-  ];
-}
-
-message MsgFinalizeSale {
-  // sender is an account signing the message and triggering the finalization.
-  string sender = 1;
-  // ID of an existing sale.
-  uint64 sale_id = 2 [ (gogoproto.moretags) = "yaml:\"sale_id\"" ];
-}
-
-message MsgFinalizeSaleResponse {
-  // Income amount of token_in sent to the sale recipient.
-  string income = 1 [
-    (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
-    (gogoproto.nullable) = false
-  ];
-}
diff --git a/x/streamswap/README.md b/x/streamswap/README.md
deleted file mode 100644
index e3e3817d09613eda5e4449cfcd2fddd86e334abe..0000000000000000000000000000000000000000
--- a/x/streamswap/README.md
+++ /dev/null
@@ -1,121 +0,0 @@
-# Streamswap
-
-## Abstract
-
-Streamswap is a new way and innovative way of selling token sale.
-The mechanism allows anyone to create a new Sale event and sell any
-amount of tokens in a more democratic way than the traditional solutions.
-
-## Context
-
-Since the first ICO boom, token sale mechanism was one of the driving
-force for web3 onboarding.
-Promise of a cheap tokens which can quickly accrue value is very attractive
-for casual any sort of investors. Easy way of fundrising (the funding team)
-opened doors for cohorts of new teams to focus on building on web3.
-
-Traditional mechanisms of token sale included:
-
-- Automated ICO, where team decides about the issuance price and the sale
-  happens through a swap controlled by a smart contract.
-- Regulated, centralized ICO - token sale controlled by a dedicated company,
-  which will preform all operations using centralized services meeting
-  regulatory requirements (KYC...). Example: Coinlist sales.
-- Balancer style ICO: a novel solution to utilize Dutch Auction mechanism to
-  find a fair strike price.
-
-The first two mechanisms are not well suited for early stage startups, where
-the token sale price is usually defined by a founding team and can't be
-impacted by the ecosystem wisdom. False marketing actions are usually setup
-to support their initial price.
-
-The latter mechanism is not democratic - big entities can control the
-price movements or place big orders leaving smaller investors with nothing.
-
-## Design
-
-### Sale Creation
-
-[Sale](https://github.com/osmosis-labs/osmosis/blob/main/proto/osmosis/streamswap/v1/state.proto#L11) object represent a particular token sale event and describes the main
-required parameters guarding the sale process:
-
-- `treasury`: address where the sale earnings will go. When the sale is over,
-  anyone can trigger a [`MsgFinalizeSale`](https://github.com/osmosis-labs/osmosis/blob/main/proto/osmosis/streamswap/v1/tx.proto#L42)
-  to clean up the sale state and move the earning to the treasury.
-- `id`: unique identifier of the sale.
-- `token_out`: denom to sale (distributed to the investors).
-  Also known as a base currency.
-- `token_in`: payment denom - used to buy `token_out`.
-  Also known as quote currency.
-- `token_out_supply`: total initial supply of `token_in` to sale.
-- `start_time`: Unix timestamp when the sale starts.
-- `end_time`: Unix timestamp when the sale ends.
-- `name`: Name of the sale.
-- `url`: an external resource describing a sale. Can be IPFS link or a
-  commonwealth post.
-
-The `Sale` object contains also other internal attributes to describe the current
-status of the sale.
-
-Anyone can create a `Sale` by sending [`MsgCreateSale`](https://github.com/osmosis-labs/osmosis/blob/robert%2Fstreamswap-spec/proto/osmosis/streamswap/v1/tx.proto#L21) transaction.
-When doing so, `token_out` amount of `Sale.token_out` tokens will be debited from
-his account and escrowed in the module account to distribute to Sale investors.
-Moreover the creator will be charged `sale_creation_fee` (module param) and the
-fee will be transferred to `sale_creation_fee_recipient` (module param) account.
-This fee is not recoverable.
-
-See other [module parameters](https://github.com/osmosis-labs/osmosis/main/proto/osmosis/streamswap/v1/params.proto) which control the sale creation.
-
-### Investing and distribution mechanism
-
-Anyone can join a sale by sending a [MsgSubscribe](https://github.com/osmosis-labs/osmosis/blob/main/proto/osmosis/streamswap/v1/tx.proto#L13) transaction.
-When doing so, the transaction author has to specify the `amount` he wants to spend in the sale.
-That `amount` will be credited from tx author and pledged to the sale.
-
-`MsgSubscribe` can be submitted at any time after the sale is created and before it's end time.
-
-From that moment, the investor will join the **token sale distribution stream**:
-
-- The distribution happens discretely in rounds. Each round is 1 second long.
-  We define: `total_rounds := (sale.end_time - sale.start_time) / round_duration`.
-- During each round we stream `round_supply := sale.token_out_supply / total_rounds`.
-- During each round each investor receives `round_supply * current_investor_pledge / total_remaining_sale_pledge` share of the `token_out`.
-
-At any time an investor can increase his participation for the sale by sending again `MsgSubscribe`
-(his pledge will increase accordingly) or cancel it by sending
-[`MsgWithdraw`](https://github.com/osmosis-labs/osmosis/blob/main/proto/osmosis/streamswap/v1/tx.proto#32).
-When cancelling, the module will send back unspent pledged tokens to the investor
-and keep the purchased tokens until the sale end_time.
-
-### Withdrawing purchased tokens
-
-When participating in a sale, investors receives a stream of sale tokens.
-These tokens are locked until sale end to avoid second market creating during
-the sale. Once sale is finished (block time is after `sale.end_time`), every
-investor can send [`MsgExitSale`](https://github.com/osmosis-labs/osmosis/blob/main/proto/osmosis/streamswap/v1/tx.proto#L37)
-to close his position and withdraw purchased tokens to his account.
-
-### Withdrawing sale proceedings
-
-To withdraw earned token to the `sale.treasury` account anyone can send a
-transaction with [`MsgFinalizeSale`](https://github.com/osmosis-labs/osmosis/blob/main/proto/osmosis/streamswap/v1/tx.proto#L42) after the `sale.end_time`.
-This transaction will send `sale.income` tokens from the module escrow account
-to the `sale.treasury` and set `sale.finalized = true`.
-
-### Events
-
-The module uses typed events. Please see [`event.proto`](https://github.com/osmosis-labs/osmosis/blob/main/proto/osmosis/streamswap/v1/event.proto)
-to inspect list events.
-
-## Consequences
-
-- The new sale mechanism provides a truly democratic way for token distribution and sale.
-- It can be easily integrated with AMM pools: proceedings from the sale can
-  automatically be pledged to AMM.
-- After the sale ends, there are few algorithms to provide token indicative market price:
-  - average price: `sale.income / sale.token_out_supply`
-  - last streamed price: `round_supply(last_round) / (sale.token_out_supply / total_rounds)`
-
-## Future directions
-
-- providing incentive for sales with `OSMO` or `ATOM` used as a base currency.
diff --git a/x/streamswap/types/event.pb.go b/x/streamswap/types/event.pb.go
deleted file mode 100644
index 61373d08f64069aa7ca104fd404917949539bb2e..0000000000000000000000000000000000000000
--- a/x/streamswap/types/event.pb.go
+++ /dev/null
@@ -1,1344 +0,0 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: osmosis/streamswap/v1/event.proto
-
-package types
-
-import (
-	fmt "fmt"
-	_ "github.com/cosmos/cosmos-proto"
-	types "github.com/cosmos/cosmos-sdk/types"
-	_ "github.com/gogo/protobuf/gogoproto"
-	proto "github.com/gogo/protobuf/proto"
-	io "io"
-	math "math"
-	math_bits "math/bits"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
-
-type EventCreateSale struct {
-	Id       uint64     `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
-	Creator  string     `protobuf:"bytes,2,opt,name=creator,proto3" json:"creator,omitempty"`
-	TokenIn  string     `protobuf:"bytes,3,opt,name=token_in,json=tokenIn,proto3" json:"token_in,omitempty"`
-	TokenOut types.Coin `protobuf:"bytes,4,opt,name=token_out,json=tokenOut,proto3" json:"token_out"`
-}
-
-func (m *EventCreateSale) Reset()         { *m = EventCreateSale{} }
-func (m *EventCreateSale) String() string { return proto.CompactTextString(m) }
-func (*EventCreateSale) ProtoMessage()    {}
-func (*EventCreateSale) Descriptor() ([]byte, []int) {
-	return fileDescriptor_31fe170f2829736b, []int{0}
-}
-func (m *EventCreateSale) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
-}
-func (m *EventCreateSale) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_EventCreateSale.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalToSizedBuffer(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
-}
-func (m *EventCreateSale) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_EventCreateSale.Merge(m, src)
-}
-func (m *EventCreateSale) XXX_Size() int {
-	return m.Size()
-}
-func (m *EventCreateSale) XXX_DiscardUnknown() {
-	xxx_messageInfo_EventCreateSale.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_EventCreateSale proto.InternalMessageInfo
-
-type EventSubscribe struct {
-	Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"`
-	SaleId uint64 `protobuf:"varint,2,opt,name=sale_id,json=saleId,proto3" json:"sale_id,omitempty"`
-	Amount string `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"`
-}
-
-func (m *EventSubscribe) Reset()         { *m = EventSubscribe{} }
-func (m *EventSubscribe) String() string { return proto.CompactTextString(m) }
-func (*EventSubscribe) ProtoMessage()    {}
-func (*EventSubscribe) Descriptor() ([]byte, []int) {
-	return fileDescriptor_31fe170f2829736b, []int{1}
-}
-func (m *EventSubscribe) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
-}
-func (m *EventSubscribe) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_EventSubscribe.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalToSizedBuffer(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
-}
-func (m *EventSubscribe) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_EventSubscribe.Merge(m, src)
-}
-func (m *EventSubscribe) XXX_Size() int {
-	return m.Size()
-}
-func (m *EventSubscribe) XXX_DiscardUnknown() {
-	xxx_messageInfo_EventSubscribe.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_EventSubscribe proto.InternalMessageInfo
-
-type EventWithdraw struct {
-	Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"`
-	SaleId uint64 `protobuf:"varint,2,opt,name=sale_id,json=saleId,proto3" json:"sale_id,omitempty"`
-	// amount of staked token_in withdrawn by user.
-	Amount string `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"`
-}
-
-func (m *EventWithdraw) Reset()         { *m = EventWithdraw{} }
-func (m *EventWithdraw) String() string { return proto.CompactTextString(m) }
-func (*EventWithdraw) ProtoMessage()    {}
-func (*EventWithdraw) Descriptor() ([]byte, []int) {
-	return fileDescriptor_31fe170f2829736b, []int{2}
-}
-func (m *EventWithdraw) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
-}
-func (m *EventWithdraw) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_EventWithdraw.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalToSizedBuffer(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
-}
-func (m *EventWithdraw) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_EventWithdraw.Merge(m, src)
-}
-func (m *EventWithdraw) XXX_Size() int {
-	return m.Size()
-}
-func (m *EventWithdraw) XXX_DiscardUnknown() {
-	xxx_messageInfo_EventWithdraw.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_EventWithdraw proto.InternalMessageInfo
-
-type EventExit struct {
-	Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"`
-	SaleId uint64 `protobuf:"varint,2,opt,name=sale_id,json=saleId,proto3" json:"sale_id,omitempty"`
-	// amount of purchased token_out sent to the user
-	Purchased string `protobuf:"bytes,3,opt,name=purchased,proto3" json:"purchased,omitempty"`
-}
-
-func (m *EventExit) Reset()         { *m = EventExit{} }
-func (m *EventExit) String() string { return proto.CompactTextString(m) }
-func (*EventExit) ProtoMessage()    {}
-func (*EventExit) Descriptor() ([]byte, []int) {
-	return fileDescriptor_31fe170f2829736b, []int{3}
-}
-func (m *EventExit) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
-}
-func (m *EventExit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_EventExit.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalToSizedBuffer(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
-}
-func (m *EventExit) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_EventExit.Merge(m, src)
-}
-func (m *EventExit) XXX_Size() int {
-	return m.Size()
-}
-func (m *EventExit) XXX_DiscardUnknown() {
-	xxx_messageInfo_EventExit.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_EventExit proto.InternalMessageInfo
-
-type EventFinalizeSale struct {
-	SaleId uint64 `protobuf:"varint,1,opt,name=sale_id,json=saleId,proto3" json:"sale_id,omitempty"`
-	// amount of earned tokens_in
-	Income string `protobuf:"bytes,3,opt,name=income,proto3" json:"income,omitempty"`
-}
-
-func (m *EventFinalizeSale) Reset()         { *m = EventFinalizeSale{} }
-func (m *EventFinalizeSale) String() string { return proto.CompactTextString(m) }
-func (*EventFinalizeSale) ProtoMessage()    {}
-func (*EventFinalizeSale) Descriptor() ([]byte, []int) {
-	return fileDescriptor_31fe170f2829736b, []int{4}
-}
-func (m *EventFinalizeSale) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
-}
-func (m *EventFinalizeSale) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_EventFinalizeSale.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalToSizedBuffer(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
-}
-func (m *EventFinalizeSale) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_EventFinalizeSale.Merge(m, src)
-}
-func (m *EventFinalizeSale) XXX_Size() int {
-	return m.Size()
-}
-func (m *EventFinalizeSale) XXX_DiscardUnknown() {
-	xxx_messageInfo_EventFinalizeSale.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_EventFinalizeSale proto.InternalMessageInfo
-
-func init() {
-	proto.RegisterType((*EventCreateSale)(nil), "osmosis.streamswap.v1.EventCreateSale")
-	proto.RegisterType((*EventSubscribe)(nil), "osmosis.streamswap.v1.EventSubscribe")
-	proto.RegisterType((*EventWithdraw)(nil), "osmosis.streamswap.v1.EventWithdraw")
-	proto.RegisterType((*EventExit)(nil), "osmosis.streamswap.v1.EventExit")
-	proto.RegisterType((*EventFinalizeSale)(nil), "osmosis.streamswap.v1.EventFinalizeSale")
-}
-
-func init() { proto.RegisterFile("osmosis/streamswap/v1/event.proto", fileDescriptor_31fe170f2829736b) }
-
-var fileDescriptor_31fe170f2829736b = []byte{
-	// 419 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x92, 0x4f, 0x6f, 0xd3, 0x30,
-	0x18, 0xc6, 0xe3, 0x52, 0x75, 0xc4, 0x88, 0x21, 0x22, 0xfe, 0xa4, 0x13, 0x32, 0x25, 0xa7, 0x5e,
-	0x88, 0x95, 0x21, 0x71, 0xe2, 0xb4, 0x31, 0xa4, 0x9d, 0x90, 0x32, 0x24, 0x60, 0x97, 0xca, 0x49,
-	0x5e, 0xb5, 0x16, 0x89, 0x1d, 0xd9, 0x4e, 0x36, 0xf8, 0x14, 0x1c, 0xf8, 0x50, 0x3d, 0xee, 0xc8,
-	0x09, 0x41, 0xfb, 0x45, 0x50, 0x6c, 0x57, 0x9b, 0xb8, 0x21, 0xed, 0x96, 0xdf, 0xfb, 0xd8, 0x4f,
-	0x7e, 0x92, 0x5f, 0xfc, 0x42, 0xea, 0x46, 0x6a, 0xae, 0xa9, 0x36, 0x0a, 0x58, 0xa3, 0x2f, 0x58,
-	0x4b, 0xfb, 0x8c, 0x42, 0x0f, 0xc2, 0xa4, 0xad, 0x92, 0x46, 0x46, 0x8f, 0xfd, 0x91, 0xf4, 0xfa,
-	0x48, 0xda, 0x67, 0x07, 0xa4, 0xb4, 0x73, 0x5a, 0x30, 0x0d, 0xb4, 0xcf, 0x0a, 0x30, 0x2c, 0xa3,
-	0xa5, 0xe4, 0xc2, 0x5d, 0x3b, 0x98, 0xba, 0x7c, 0x61, 0x89, 0x3a, 0xf0, 0xd1, 0xa3, 0xa5, 0x5c,
-	0x4a, 0x37, 0x1f, 0xbe, 0xdc, 0x34, 0xf9, 0x81, 0xf0, 0x83, 0x93, 0xe1, 0xbf, 0xc7, 0x0a, 0x98,
-	0x81, 0x33, 0x56, 0x43, 0xb4, 0x8f, 0x47, 0xbc, 0x8a, 0xd1, 0x0c, 0xcd, 0xc7, 0xf9, 0x88, 0x57,
-	0x51, 0x8c, 0xf7, 0xca, 0x21, 0x95, 0x2a, 0x1e, 0xcd, 0xd0, 0x3c, 0xcc, 0x77, 0x18, 0x4d, 0xf1,
-	0x5d, 0x23, 0xbf, 0x80, 0x58, 0x70, 0x11, 0xdf, 0x71, 0x91, 0xe5, 0x53, 0x11, 0xbd, 0xc1, 0xa1,
-	0x8b, 0x64, 0x67, 0xe2, 0xf1, 0x0c, 0xcd, 0xef, 0x1d, 0x4e, 0x53, 0x2f, 0x34, 0xd8, 0xa7, 0xde,
-	0x3e, 0x3d, 0x96, 0x5c, 0x1c, 0x8d, 0xd7, 0xbf, 0x9e, 0x07, 0xb9, 0x2b, 0x7b, 0xdf, 0x99, 0xe4,
-	0x33, 0xde, 0xb7, 0x56, 0x67, 0x5d, 0xa1, 0x4b, 0xc5, 0x0b, 0x88, 0x9e, 0xe0, 0x89, 0x06, 0x51,
-	0x81, 0xb2, 0x62, 0x61, 0xee, 0x29, 0x7a, 0x8a, 0xf7, 0x34, 0xab, 0x61, 0xc1, 0x2b, 0x2b, 0x37,
-	0xce, 0x27, 0x03, 0x9e, 0x56, 0xc3, 0x05, 0xd6, 0xc8, 0x4e, 0x18, 0x6f, 0xe6, 0x29, 0xf9, 0x84,
-	0xef, 0xdb, 0xea, 0x8f, 0xdc, 0xac, 0x2a, 0xc5, 0x2e, 0x6e, 0xaf, 0xf9, 0x1c, 0x87, 0xb6, 0xf9,
-	0xe4, 0x92, 0x9b, 0xff, 0x6f, 0x7d, 0x86, 0xc3, 0xb6, 0x53, 0xe5, 0x8a, 0x69, 0xa8, 0x7c, 0xf1,
-	0xf5, 0x20, 0x79, 0x8b, 0x1f, 0xda, 0xee, 0x77, 0x5c, 0xb0, 0x9a, 0x7f, 0x73, 0x0f, 0x75, 0xa3,
-	0x0b, 0xfd, 0x6b, 0xc8, 0x45, 0x29, 0x1b, 0xd8, 0x19, 0x3a, 0x3a, 0xfa, 0xb0, 0xfe, 0x43, 0x82,
-	0xf5, 0x86, 0xa0, 0xab, 0x0d, 0x41, 0xbf, 0x37, 0x04, 0x7d, 0xdf, 0x92, 0xe0, 0x6a, 0x4b, 0x82,
-	0x9f, 0x5b, 0x12, 0x9c, 0xbf, 0x5e, 0x72, 0xb3, 0xea, 0x8a, 0xb4, 0x94, 0x0d, 0xf5, 0xeb, 0xf7,
-	0xb2, 0x66, 0x85, 0xde, 0x01, 0xed, 0xb3, 0x43, 0x7a, 0x79, 0x73, 0x69, 0xcd, 0xd7, 0x16, 0x74,
-	0x31, 0xb1, 0xab, 0xf4, 0xea, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x6c, 0x03, 0xe4, 0x50, 0xd7,
-	0x02, 0x00, 0x00,
-}
-
-func (m *EventCreateSale) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalToSizedBuffer(dAtA[:size])
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (m *EventCreateSale) MarshalTo(dAtA []byte) (int, error) {
-	size := m.Size()
-	return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *EventCreateSale) MarshalToSizedBuffer(dAtA []byte) (int, error) {
-	i := len(dAtA)
-	_ = i
-	var l int
-	_ = l
-	{
-		size, err := m.TokenOut.MarshalToSizedBuffer(dAtA[:i])
-		if err != nil {
-			return 0, err
-		}
-		i -= size
-		i = encodeVarintEvent(dAtA, i, uint64(size))
-	}
-	i--
-	dAtA[i] = 0x22
-	if len(m.TokenIn) > 0 {
-		i -= len(m.TokenIn)
-		copy(dAtA[i:], m.TokenIn)
-		i = encodeVarintEvent(dAtA, i, uint64(len(m.TokenIn)))
-		i--
-		dAtA[i] = 0x1a
-	}
-	if len(m.Creator) > 0 {
-		i -= len(m.Creator)
-		copy(dAtA[i:], m.Creator)
-		i = encodeVarintEvent(dAtA, i, uint64(len(m.Creator)))
-		i--
-		dAtA[i] = 0x12
-	}
-	if m.Id != 0 {
-		i = encodeVarintEvent(dAtA, i, uint64(m.Id))
-		i--
-		dAtA[i] = 0x8
-	}
-	return len(dAtA) - i, nil
-}
-
-func (m *EventSubscribe) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalToSizedBuffer(dAtA[:size])
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (m *EventSubscribe) MarshalTo(dAtA []byte) (int, error) {
-	size := m.Size()
-	return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *EventSubscribe) MarshalToSizedBuffer(dAtA []byte) (int, error) {
-	i := len(dAtA)
-	_ = i
-	var l int
-	_ = l
-	if len(m.Amount) > 0 {
-		i -= len(m.Amount)
-		copy(dAtA[i:], m.Amount)
-		i = encodeVarintEvent(dAtA, i, uint64(len(m.Amount)))
-		i--
-		dAtA[i] = 0x1a
-	}
-	if m.SaleId != 0 {
-		i = encodeVarintEvent(dAtA, i, uint64(m.SaleId))
-		i--
-		dAtA[i] = 0x10
-	}
-	if len(m.Sender) > 0 {
-		i -= len(m.Sender)
-		copy(dAtA[i:], m.Sender)
-		i = encodeVarintEvent(dAtA, i, uint64(len(m.Sender)))
-		i--
-		dAtA[i] = 0xa
-	}
-	return len(dAtA) - i, nil
-}
-
-func (m *EventWithdraw) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalToSizedBuffer(dAtA[:size])
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (m *EventWithdraw) MarshalTo(dAtA []byte) (int, error) {
-	size := m.Size()
-	return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *EventWithdraw) MarshalToSizedBuffer(dAtA []byte) (int, error) {
-	i := len(dAtA)
-	_ = i
-	var l int
-	_ = l
-	if len(m.Amount) > 0 {
-		i -= len(m.Amount)
-		copy(dAtA[i:], m.Amount)
-		i = encodeVarintEvent(dAtA, i, uint64(len(m.Amount)))
-		i--
-		dAtA[i] = 0x1a
-	}
-	if m.SaleId != 0 {
-		i = encodeVarintEvent(dAtA, i, uint64(m.SaleId))
-		i--
-		dAtA[i] = 0x10
-	}
-	if len(m.Sender) > 0 {
-		i -= len(m.Sender)
-		copy(dAtA[i:], m.Sender)
-		i = encodeVarintEvent(dAtA, i, uint64(len(m.Sender)))
-		i--
-		dAtA[i] = 0xa
-	}
-	return len(dAtA) - i, nil
-}
-
-func (m *EventExit) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalToSizedBuffer(dAtA[:size])
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (m *EventExit) MarshalTo(dAtA []byte) (int, error) {
-	size := m.Size()
-	return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *EventExit) MarshalToSizedBuffer(dAtA []byte) (int, error) {
-	i := len(dAtA)
-	_ = i
-	var l int
-	_ = l
-	if len(m.Purchased) > 0 {
-		i -= len(m.Purchased)
-		copy(dAtA[i:], m.Purchased)
-		i = encodeVarintEvent(dAtA, i, uint64(len(m.Purchased)))
-		i--
-		dAtA[i] = 0x1a
-	}
-	if m.SaleId != 0 {
-		i = encodeVarintEvent(dAtA, i, uint64(m.SaleId))
-		i--
-		dAtA[i] = 0x10
-	}
-	if len(m.Sender) > 0 {
-		i -= len(m.Sender)
-		copy(dAtA[i:], m.Sender)
-		i = encodeVarintEvent(dAtA, i, uint64(len(m.Sender)))
-		i--
-		dAtA[i] = 0xa
-	}
-	return len(dAtA) - i, nil
-}
-
-func (m *EventFinalizeSale) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalToSizedBuffer(dAtA[:size])
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (m *EventFinalizeSale) MarshalTo(dAtA []byte) (int, error) {
-	size := m.Size()
-	return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *EventFinalizeSale) MarshalToSizedBuffer(dAtA []byte) (int, error) {
-	i := len(dAtA)
-	_ = i
-	var l int
-	_ = l
-	if len(m.Income) > 0 {
-		i -= len(m.Income)
-		copy(dAtA[i:], m.Income)
-		i = encodeVarintEvent(dAtA, i, uint64(len(m.Income)))
-		i--
-		dAtA[i] = 0x1a
-	}
-	if m.SaleId != 0 {
-		i = encodeVarintEvent(dAtA, i, uint64(m.SaleId))
-		i--
-		dAtA[i] = 0x8
-	}
-	return len(dAtA) - i, nil
-}
-
-func encodeVarintEvent(dAtA []byte, offset int, v uint64) int {
-	offset -= sovEvent(v)
-	base := offset
-	for v >= 1<<7 {
-		dAtA[offset] = uint8(v&0x7f | 0x80)
-		v >>= 7
-		offset++
-	}
-	dAtA[offset] = uint8(v)
-	return base
-}
-func (m *EventCreateSale) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	if m.Id != 0 {
-		n += 1 + sovEvent(uint64(m.Id))
-	}
-	l = len(m.Creator)
-	if l > 0 {
-		n += 1 + l + sovEvent(uint64(l))
-	}
-	l = len(m.TokenIn)
-	if l > 0 {
-		n += 1 + l + sovEvent(uint64(l))
-	}
-	l = m.TokenOut.Size()
-	n += 1 + l + sovEvent(uint64(l))
-	return n
-}
-
-func (m *EventSubscribe) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	l = len(m.Sender)
-	if l > 0 {
-		n += 1 + l + sovEvent(uint64(l))
-	}
-	if m.SaleId != 0 {
-		n += 1 + sovEvent(uint64(m.SaleId))
-	}
-	l = len(m.Amount)
-	if l > 0 {
-		n += 1 + l + sovEvent(uint64(l))
-	}
-	return n
-}
-
-func (m *EventWithdraw) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	l = len(m.Sender)
-	if l > 0 {
-		n += 1 + l + sovEvent(uint64(l))
-	}
-	if m.SaleId != 0 {
-		n += 1 + sovEvent(uint64(m.SaleId))
-	}
-	l = len(m.Amount)
-	if l > 0 {
-		n += 1 + l + sovEvent(uint64(l))
-	}
-	return n
-}
-
-func (m *EventExit) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	l = len(m.Sender)
-	if l > 0 {
-		n += 1 + l + sovEvent(uint64(l))
-	}
-	if m.SaleId != 0 {
-		n += 1 + sovEvent(uint64(m.SaleId))
-	}
-	l = len(m.Purchased)
-	if l > 0 {
-		n += 1 + l + sovEvent(uint64(l))
-	}
-	return n
-}
-
-func (m *EventFinalizeSale) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	if m.SaleId != 0 {
-		n += 1 + sovEvent(uint64(m.SaleId))
-	}
-	l = len(m.Income)
-	if l > 0 {
-		n += 1 + l + sovEvent(uint64(l))
-	}
-	return n
-}
-
-func sovEvent(x uint64) (n int) {
-	return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozEvent(x uint64) (n int) {
-	return sovEvent(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (m *EventCreateSale) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowEvent
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: EventCreateSale: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: EventCreateSale: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 0 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
-			}
-			m.Id = 0
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowEvent
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				m.Id |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-		case 2:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowEvent
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthEvent
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthEvent
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.Creator = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 3:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field TokenIn", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowEvent
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthEvent
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthEvent
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.TokenIn = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 4:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field TokenOut", wireType)
-			}
-			var msglen int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowEvent
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				msglen |= int(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if msglen < 0 {
-				return ErrInvalidLengthEvent
-			}
-			postIndex := iNdEx + msglen
-			if postIndex < 0 {
-				return ErrInvalidLengthEvent
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if err := m.TokenOut.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		default:
-			iNdEx = preIndex
-			skippy, err := skipEvent(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if (skippy < 0) || (iNdEx+skippy) < 0 {
-				return ErrInvalidLengthEvent
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func (m *EventSubscribe) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowEvent
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: EventSubscribe: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: EventSubscribe: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowEvent
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthEvent
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthEvent
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.Sender = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 2:
-			if wireType != 0 {
-				return fmt.Errorf("proto: wrong wireType = %d for field SaleId", wireType)
-			}
-			m.SaleId = 0
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowEvent
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				m.SaleId |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-		case 3:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowEvent
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthEvent
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthEvent
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.Amount = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		default:
-			iNdEx = preIndex
-			skippy, err := skipEvent(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if (skippy < 0) || (iNdEx+skippy) < 0 {
-				return ErrInvalidLengthEvent
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func (m *EventWithdraw) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowEvent
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: EventWithdraw: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: EventWithdraw: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowEvent
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthEvent
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthEvent
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.Sender = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 2:
-			if wireType != 0 {
-				return fmt.Errorf("proto: wrong wireType = %d for field SaleId", wireType)
-			}
-			m.SaleId = 0
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowEvent
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				m.SaleId |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-		case 3:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowEvent
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthEvent
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthEvent
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.Amount = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		default:
-			iNdEx = preIndex
-			skippy, err := skipEvent(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if (skippy < 0) || (iNdEx+skippy) < 0 {
-				return ErrInvalidLengthEvent
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func (m *EventExit) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowEvent
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: EventExit: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: EventExit: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowEvent
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthEvent
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthEvent
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.Sender = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 2:
-			if wireType != 0 {
-				return fmt.Errorf("proto: wrong wireType = %d for field SaleId", wireType)
-			}
-			m.SaleId = 0
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowEvent
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				m.SaleId |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-		case 3:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Purchased", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowEvent
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthEvent
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthEvent
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.Purchased = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		default:
-			iNdEx = preIndex
-			skippy, err := skipEvent(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if (skippy < 0) || (iNdEx+skippy) < 0 {
-				return ErrInvalidLengthEvent
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func (m *EventFinalizeSale) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowEvent
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: EventFinalizeSale: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: EventFinalizeSale: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 0 {
-				return fmt.Errorf("proto: wrong wireType = %d for field SaleId", wireType)
-			}
-			m.SaleId = 0
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowEvent
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				m.SaleId |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-		case 3:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Income", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowEvent
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthEvent
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthEvent
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.Income = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		default:
-			iNdEx = preIndex
-			skippy, err := skipEvent(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if (skippy < 0) || (iNdEx+skippy) < 0 {
-				return ErrInvalidLengthEvent
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func skipEvent(dAtA []byte) (n int, err error) {
-	l := len(dAtA)
-	iNdEx := 0
-	depth := 0
-	for iNdEx < l {
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return 0, ErrIntOverflowEvent
-			}
-			if iNdEx >= l {
-				return 0, io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= (uint64(b) & 0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		wireType := int(wire & 0x7)
-		switch wireType {
-		case 0:
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return 0, ErrIntOverflowEvent
-				}
-				if iNdEx >= l {
-					return 0, io.ErrUnexpectedEOF
-				}
-				iNdEx++
-				if dAtA[iNdEx-1] < 0x80 {
-					break
-				}
-			}
-		case 1:
-			iNdEx += 8
-		case 2:
-			var length int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return 0, ErrIntOverflowEvent
-				}
-				if iNdEx >= l {
-					return 0, io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				length |= (int(b) & 0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if length < 0 {
-				return 0, ErrInvalidLengthEvent
-			}
-			iNdEx += length
-		case 3:
-			depth++
-		case 4:
-			if depth == 0 {
-				return 0, ErrUnexpectedEndOfGroupEvent
-			}
-			depth--
-		case 5:
-			iNdEx += 4
-		default:
-			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
-		}
-		if iNdEx < 0 {
-			return 0, ErrInvalidLengthEvent
-		}
-		if depth == 0 {
-			return iNdEx, nil
-		}
-	}
-	return 0, io.ErrUnexpectedEOF
-}
-
-var (
-	ErrInvalidLengthEvent        = fmt.Errorf("proto: negative length found during unmarshaling")
-	ErrIntOverflowEvent          = fmt.Errorf("proto: integer overflow")
-	ErrUnexpectedEndOfGroupEvent = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/x/streamswap/types/genesis.pb.go b/x/streamswap/types/genesis.pb.go
deleted file mode 100644
index 8bafdfa7006f2f584dd76d73efce9e593f18c7b5..0000000000000000000000000000000000000000
--- a/x/streamswap/types/genesis.pb.go
+++ /dev/null
@@ -1,758 +0,0 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: osmosis/streamswap/v1/genesis.proto
-
-package types
-
-import (
-	fmt "fmt"
-	_ "github.com/cosmos/cosmos-proto"
-	_ "github.com/cosmos/cosmos-sdk/types"
-	_ "github.com/gogo/protobuf/gogoproto"
-	proto "github.com/gogo/protobuf/proto"
-	io "io"
-	math "math"
-	math_bits "math/bits"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
-
-// GenesisState defines the streamswap module's genesis state.
-type GenesisState struct {
-	Sales         []Sale           `protobuf:"bytes,1,rep,name=sales,proto3" json:"sales"`
-	UserPositions []UserPositionKV `protobuf:"bytes,2,rep,name=user_positions,json=userPositions,proto3" json:"user_positions"`
-	NextSaleId    uint64           `protobuf:"varint,3,opt,name=next_sale_id,json=nextSaleId,proto3" json:"next_sale_id,omitempty"`
-	Params        Params           `protobuf:"bytes,4,opt,name=params,proto3" json:"params"`
-}
-
-func (m *GenesisState) Reset()         { *m = GenesisState{} }
-func (m *GenesisState) String() string { return proto.CompactTextString(m) }
-func (*GenesisState) ProtoMessage()    {}
-func (*GenesisState) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8e54537622481acf, []int{0}
-}
-func (m *GenesisState) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
-}
-func (m *GenesisState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_GenesisState.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalToSizedBuffer(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
-}
-func (m *GenesisState) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GenesisState.Merge(m, src)
-}
-func (m *GenesisState) XXX_Size() int {
-	return m.Size()
-}
-func (m *GenesisState) XXX_DiscardUnknown() {
-	xxx_messageInfo_GenesisState.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GenesisState proto.InternalMessageInfo
-
-func (m *GenesisState) GetSales() []Sale {
-	if m != nil {
-		return m.Sales
-	}
-	return nil
-}
-
-func (m *GenesisState) GetUserPositions() []UserPositionKV {
-	if m != nil {
-		return m.UserPositions
-	}
-	return nil
-}
-
-func (m *GenesisState) GetNextSaleId() uint64 {
-	if m != nil {
-		return m.NextSaleId
-	}
-	return 0
-}
-
-func (m *GenesisState) GetParams() Params {
-	if m != nil {
-		return m.Params
-	}
-	return Params{}
-}
-
-// UserPositionKV is a record in genesis representing acc_address user position
-// of a sale_id sale.
-type UserPositionKV struct {
-	// user account address
-	AccAddress   string       `protobuf:"bytes,1,opt,name=acc_address,json=accAddress,proto3" json:"acc_address,omitempty"`
-	SaleId       uint64       `protobuf:"varint,2,opt,name=sale_id,json=saleId,proto3" json:"sale_id,omitempty"`
-	UserPosition UserPosition `protobuf:"bytes,3,opt,name=user_position,json=userPosition,proto3" json:"user_position"`
-}
-
-func (m *UserPositionKV) Reset()         { *m = UserPositionKV{} }
-func (m *UserPositionKV) String() string { return proto.CompactTextString(m) }
-func (*UserPositionKV) ProtoMessage()    {}
-func (*UserPositionKV) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8e54537622481acf, []int{1}
-}
-func (m *UserPositionKV) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
-}
-func (m *UserPositionKV) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_UserPositionKV.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalToSizedBuffer(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
-}
-func (m *UserPositionKV) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_UserPositionKV.Merge(m, src)
-}
-func (m *UserPositionKV) XXX_Size() int {
-	return m.Size()
-}
-func (m *UserPositionKV) XXX_DiscardUnknown() {
-	xxx_messageInfo_UserPositionKV.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_UserPositionKV proto.InternalMessageInfo
-
-func (m *UserPositionKV) GetAccAddress() string {
-	if m != nil {
-		return m.AccAddress
-	}
-	return ""
-}
-
-func (m *UserPositionKV) GetSaleId() uint64 {
-	if m != nil {
-		return m.SaleId
-	}
-	return 0
-}
-
-func (m *UserPositionKV) GetUserPosition() UserPosition {
-	if m != nil {
-		return m.UserPosition
-	}
-	return UserPosition{}
-}
-
-func init() {
-	proto.RegisterType((*GenesisState)(nil), "osmosis.streamswap.v1.GenesisState")
-	proto.RegisterType((*UserPositionKV)(nil), "osmosis.streamswap.v1.UserPositionKV")
-}
-
-func init() {
-	proto.RegisterFile("osmosis/streamswap/v1/genesis.proto", fileDescriptor_8e54537622481acf)
-}
-
-var fileDescriptor_8e54537622481acf = []byte{
-	// 401 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x91, 0xc1, 0xaa, 0xd3, 0x40,
-	0x14, 0x86, 0x33, 0x6d, 0xad, 0x38, 0x69, 0xbb, 0x08, 0x8a, 0xb1, 0x62, 0x1a, 0x5b, 0x84, 0x6c,
-	0xcc, 0x90, 0x08, 0xba, 0x70, 0x65, 0x37, 0x22, 0x82, 0x94, 0x14, 0x5d, 0xb8, 0x09, 0x93, 0x64,
-	0x88, 0x81, 0x26, 0x13, 0x72, 0xa6, 0xb1, 0xbe, 0x85, 0x6b, 0x9f, 0xa8, 0xcb, 0x2e, 0x5d, 0x89,
-	0xb4, 0x6f, 0x71, 0x57, 0x97, 0x64, 0xa6, 0xdc, 0x16, 0x5a, 0xb8, 0xbb, 0x9c, 0x73, 0xbe, 0x39,
-	0xff, 0xff, 0xe7, 0xe0, 0x19, 0x87, 0x9c, 0x43, 0x06, 0x04, 0x44, 0xc5, 0x68, 0x0e, 0x3f, 0x69,
-	0x49, 0x6a, 0x8f, 0xa4, 0xac, 0x60, 0x90, 0x81, 0x5b, 0x56, 0x5c, 0x70, 0xe3, 0x89, 0x82, 0xdc,
-	0x3b, 0xc8, 0xad, 0xbd, 0xf1, 0xe3, 0x94, 0xa7, 0xbc, 0x25, 0x48, 0xf3, 0x25, 0xe1, 0xf1, 0xb3,
-	0xb8, 0xa5, 0x43, 0x39, 0x90, 0x85, 0x1a, 0x59, 0xb2, 0x22, 0x11, 0x05, 0x46, 0x6a, 0x2f, 0x62,
-	0x82, 0x7a, 0x24, 0xe6, 0x59, 0xa1, 0xe6, 0x2f, 0x2f, 0x9b, 0x01, 0x41, 0x05, 0x53, 0xc8, 0xf4,
-	0x32, 0x52, 0xd2, 0x8a, 0xe6, 0x4a, 0x66, 0x7a, 0x83, 0xf0, 0xe0, 0xa3, 0x0c, 0xb0, 0x6c, 0x9e,
-	0x1a, 0xef, 0xf0, 0x03, 0xa0, 0x2b, 0x06, 0x26, 0xb2, 0xbb, 0x8e, 0xee, 0x3f, 0x77, 0x2f, 0xe6,
-	0x71, 0x97, 0x74, 0xc5, 0xe6, 0xbd, 0xed, 0xbf, 0x89, 0x16, 0x48, 0xde, 0x08, 0xf0, 0x68, 0x0d,
-	0xac, 0x0a, 0x4b, 0x0e, 0x99, 0xc8, 0x78, 0x01, 0x66, 0xa7, 0xdd, 0xf0, 0xea, 0xca, 0x86, 0xaf,
-	0xc0, 0xaa, 0x85, 0x62, 0x3f, 0x7f, 0x53, 0xbb, 0x86, 0xeb, 0x93, 0x2e, 0x18, 0x36, 0x1e, 0x14,
-	0x6c, 0x23, 0xc2, 0x46, 0x21, 0xcc, 0x12, 0xb3, 0x6b, 0x23, 0xa7, 0x17, 0xe0, 0xa6, 0xd7, 0x18,
-	0xf8, 0x94, 0x18, 0xef, 0x71, 0x5f, 0xe6, 0x31, 0x7b, 0x36, 0x72, 0x74, 0xff, 0xc5, 0x15, 0xb5,
-	0x45, 0x0b, 0x29, 0x15, 0xf5, 0x64, 0xfa, 0x07, 0xe1, 0xd1, 0xb9, 0x0d, 0x63, 0x82, 0x75, 0x1a,
-	0xc7, 0x21, 0x4d, 0x92, 0x8a, 0x41, 0xf3, 0x13, 0x90, 0xf3, 0x28, 0xc0, 0x34, 0x8e, 0x3f, 0xc8,
-	0x8e, 0xf1, 0x14, 0x3f, 0x3c, 0xba, 0xe9, 0xb4, 0x6e, 0xfa, 0x20, 0x9d, 0x7c, 0xc1, 0xc3, 0xb3,
-	0xfc, 0xad, 0x59, 0xdd, 0x9f, 0xdd, 0x23, 0xbe, 0xb2, 0x35, 0x38, 0x0d, 0x3f, 0x5f, 0x6c, 0xf7,
-	0x16, 0xda, 0xed, 0x2d, 0xf4, 0x7f, 0x6f, 0xa1, 0xdf, 0x07, 0x4b, 0xdb, 0x1d, 0x2c, 0xed, 0xef,
-	0xc1, 0xd2, 0xbe, 0xbf, 0x4d, 0x33, 0xf1, 0x63, 0x1d, 0xb9, 0x31, 0xcf, 0x89, 0x5a, 0xfe, 0x7a,
-	0x45, 0x23, 0x38, 0x16, 0xa4, 0xf6, 0x7c, 0xb2, 0x39, 0xbd, 0xba, 0xf8, 0x55, 0x32, 0x88, 0xfa,
-	0xed, 0xc9, 0xdf, 0xdc, 0x06, 0x00, 0x00, 0xff, 0xff, 0x4f, 0xcf, 0x66, 0x28, 0xc8, 0x02, 0x00,
-	0x00,
-}
-
-func (m *GenesisState) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalToSizedBuffer(dAtA[:size])
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (m *GenesisState) MarshalTo(dAtA []byte) (int, error) {
-	size := m.Size()
-	return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) {
-	i := len(dAtA)
-	_ = i
-	var l int
-	_ = l
-	{
-		size, err := m.Params.MarshalToSizedBuffer(dAtA[:i])
-		if err != nil {
-			return 0, err
-		}
-		i -= size
-		i = encodeVarintGenesis(dAtA, i, uint64(size))
-	}
-	i--
-	dAtA[i] = 0x22
-	if m.NextSaleId != 0 {
-		i = encodeVarintGenesis(dAtA, i, uint64(m.NextSaleId))
-		i--
-		dAtA[i] = 0x18
-	}
-	if len(m.UserPositions) > 0 {
-		for iNdEx := len(m.UserPositions) - 1; iNdEx >= 0; iNdEx-- {
-			{
-				size, err := m.UserPositions[iNdEx].MarshalToSizedBuffer(dAtA[:i])
-				if err != nil {
-					return 0, err
-				}
-				i -= size
-				i = encodeVarintGenesis(dAtA, i, uint64(size))
-			}
-			i--
-			dAtA[i] = 0x12
-		}
-	}
-	if len(m.Sales) > 0 {
-		for iNdEx := len(m.Sales) - 1; iNdEx >= 0; iNdEx-- {
-			{
-				size, err := m.Sales[iNdEx].MarshalToSizedBuffer(dAtA[:i])
-				if err != nil {
-					return 0, err
-				}
-				i -= size
-				i = encodeVarintGenesis(dAtA, i, uint64(size))
-			}
-			i--
-			dAtA[i] = 0xa
-		}
-	}
-	return len(dAtA) - i, nil
-}
-
-func (m *UserPositionKV) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalToSizedBuffer(dAtA[:size])
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (m *UserPositionKV) MarshalTo(dAtA []byte) (int, error) {
-	size := m.Size()
-	return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *UserPositionKV) MarshalToSizedBuffer(dAtA []byte) (int, error) {
-	i := len(dAtA)
-	_ = i
-	var l int
-	_ = l
-	{
-		size, err := m.UserPosition.MarshalToSizedBuffer(dAtA[:i])
-		if err != nil {
-			return 0, err
-		}
-		i -= size
-		i = encodeVarintGenesis(dAtA, i, uint64(size))
-	}
-	i--
-	dAtA[i] = 0x1a
-	if m.SaleId != 0 {
-		i = encodeVarintGenesis(dAtA, i, uint64(m.SaleId))
-		i--
-		dAtA[i] = 0x10
-	}
-	if len(m.AccAddress) > 0 {
-		i -= len(m.AccAddress)
-		copy(dAtA[i:], m.AccAddress)
-		i = encodeVarintGenesis(dAtA, i, uint64(len(m.AccAddress)))
-		i--
-		dAtA[i] = 0xa
-	}
-	return len(dAtA) - i, nil
-}
-
-func encodeVarintGenesis(dAtA []byte, offset int, v uint64) int {
-	offset -= sovGenesis(v)
-	base := offset
-	for v >= 1<<7 {
-		dAtA[offset] = uint8(v&0x7f | 0x80)
-		v >>= 7
-		offset++
-	}
-	dAtA[offset] = uint8(v)
-	return base
-}
-func (m *GenesisState) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	if len(m.Sales) > 0 {
-		for _, e := range m.Sales {
-			l = e.Size()
-			n += 1 + l + sovGenesis(uint64(l))
-		}
-	}
-	if len(m.UserPositions) > 0 {
-		for _, e := range m.UserPositions {
-			l = e.Size()
-			n += 1 + l + sovGenesis(uint64(l))
-		}
-	}
-	if m.NextSaleId != 0 {
-		n += 1 + sovGenesis(uint64(m.NextSaleId))
-	}
-	l = m.Params.Size()
-	n += 1 + l + sovGenesis(uint64(l))
-	return n
-}
-
-func (m *UserPositionKV) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	l = len(m.AccAddress)
-	if l > 0 {
-		n += 1 + l + sovGenesis(uint64(l))
-	}
-	if m.SaleId != 0 {
-		n += 1 + sovGenesis(uint64(m.SaleId))
-	}
-	l = m.UserPosition.Size()
-	n += 1 + l + sovGenesis(uint64(l))
-	return n
-}
-
-func sovGenesis(x uint64) (n int) {
-	return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozGenesis(x uint64) (n int) {
-	return sovGenesis(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (m *GenesisState) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowGenesis
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: GenesisState: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: GenesisState: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Sales", wireType)
-			}
-			var msglen int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowGenesis
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				msglen |= int(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if msglen < 0 {
-				return ErrInvalidLengthGenesis
-			}
-			postIndex := iNdEx + msglen
-			if postIndex < 0 {
-				return ErrInvalidLengthGenesis
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.Sales = append(m.Sales, Sale{})
-			if err := m.Sales[len(m.Sales)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		case 2:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field UserPositions", wireType)
-			}
-			var msglen int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowGenesis
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				msglen |= int(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if msglen < 0 {
-				return ErrInvalidLengthGenesis
-			}
-			postIndex := iNdEx + msglen
-			if postIndex < 0 {
-				return ErrInvalidLengthGenesis
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.UserPositions = append(m.UserPositions, UserPositionKV{})
-			if err := m.UserPositions[len(m.UserPositions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		case 3:
-			if wireType != 0 {
-				return fmt.Errorf("proto: wrong wireType = %d for field NextSaleId", wireType)
-			}
-			m.NextSaleId = 0
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowGenesis
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				m.NextSaleId |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-		case 4:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType)
-			}
-			var msglen int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowGenesis
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				msglen |= int(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if msglen < 0 {
-				return ErrInvalidLengthGenesis
-			}
-			postIndex := iNdEx + msglen
-			if postIndex < 0 {
-				return ErrInvalidLengthGenesis
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		default:
-			iNdEx = preIndex
-			skippy, err := skipGenesis(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if (skippy < 0) || (iNdEx+skippy) < 0 {
-				return ErrInvalidLengthGenesis
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func (m *UserPositionKV) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowGenesis
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: UserPositionKV: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: UserPositionKV: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field AccAddress", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowGenesis
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthGenesis
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthGenesis
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.AccAddress = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 2:
-			if wireType != 0 {
-				return fmt.Errorf("proto: wrong wireType = %d for field SaleId", wireType)
-			}
-			m.SaleId = 0
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowGenesis
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				m.SaleId |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-		case 3:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field UserPosition", wireType)
-			}
-			var msglen int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowGenesis
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				msglen |= int(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if msglen < 0 {
-				return ErrInvalidLengthGenesis
-			}
-			postIndex := iNdEx + msglen
-			if postIndex < 0 {
-				return ErrInvalidLengthGenesis
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if err := m.UserPosition.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		default:
-			iNdEx = preIndex
-			skippy, err := skipGenesis(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if (skippy < 0) || (iNdEx+skippy) < 0 {
-				return ErrInvalidLengthGenesis
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func skipGenesis(dAtA []byte) (n int, err error) {
-	l := len(dAtA)
-	iNdEx := 0
-	depth := 0
-	for iNdEx < l {
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return 0, ErrIntOverflowGenesis
-			}
-			if iNdEx >= l {
-				return 0, io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= (uint64(b) & 0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		wireType := int(wire & 0x7)
-		switch wireType {
-		case 0:
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return 0, ErrIntOverflowGenesis
-				}
-				if iNdEx >= l {
-					return 0, io.ErrUnexpectedEOF
-				}
-				iNdEx++
-				if dAtA[iNdEx-1] < 0x80 {
-					break
-				}
-			}
-		case 1:
-			iNdEx += 8
-		case 2:
-			var length int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return 0, ErrIntOverflowGenesis
-				}
-				if iNdEx >= l {
-					return 0, io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				length |= (int(b) & 0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if length < 0 {
-				return 0, ErrInvalidLengthGenesis
-			}
-			iNdEx += length
-		case 3:
-			depth++
-		case 4:
-			if depth == 0 {
-				return 0, ErrUnexpectedEndOfGroupGenesis
-			}
-			depth--
-		case 5:
-			iNdEx += 4
-		default:
-			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
-		}
-		if iNdEx < 0 {
-			return 0, ErrInvalidLengthGenesis
-		}
-		if depth == 0 {
-			return iNdEx, nil
-		}
-	}
-	return 0, io.ErrUnexpectedEOF
-}
-
-var (
-	ErrInvalidLengthGenesis        = fmt.Errorf("proto: negative length found during unmarshaling")
-	ErrIntOverflowGenesis          = fmt.Errorf("proto: integer overflow")
-	ErrUnexpectedEndOfGroupGenesis = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/x/streamswap/types/params.pb.go b/x/streamswap/types/params.pb.go
deleted file mode 100644
index 1f80e7cd20fa568bf4669144aa18682efbf45fdb..0000000000000000000000000000000000000000
--- a/x/streamswap/types/params.pb.go
+++ /dev/null
@@ -1,513 +0,0 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: osmosis/streamswap/v1/params.proto
-
-package types
-
-import (
-	fmt "fmt"
-	_ "github.com/cosmos/cosmos-proto"
-	_ "github.com/cosmos/cosmos-sdk/codec/types"
-	github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types"
-	types "github.com/cosmos/cosmos-sdk/types"
-	_ "github.com/gogo/protobuf/gogoproto"
-	proto "github.com/gogo/protobuf/proto"
-	_ "github.com/gogo/protobuf/types"
-	github_com_gogo_protobuf_types "github.com/gogo/protobuf/types"
-	io "io"
-	math "math"
-	math_bits "math/bits"
-	time "time"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-var _ = time.Kitchen
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
-
-// Params holds parameters for the streamswap module
-type Params struct {
-	// fee charged when creating a new sale. The fee will go to the
-	// sale_fee_recipient unless it is not defined (empty).
-	SaleCreationFee github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,1,rep,name=sale_creation_fee,json=saleCreationFee,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"sale_creation_fee" yaml:"sale_creation_fee"`
-	// bech32 address of the fee recipient
-	SaleCreationFeeRecipient string `protobuf:"bytes,2,opt,name=sale_creation_fee_recipient,json=saleCreationFeeRecipient,proto3" json:"sale_creation_fee_recipient,omitempty"`
-	// minimum amount duration of time between the sale creation and the sale
-	// start time.
-	MinDurationUntilStartTime time.Duration `protobuf:"bytes,3,opt,name=min_duration_until_start_time,json=minDurationUntilStartTime,proto3,stdduration" json:"min_duration_until_start_time"`
-	// minimum duration for every new sale.
-	MinSaleDuration time.Duration `protobuf:"bytes,4,opt,name=min_sale_duration,json=minSaleDuration,proto3,stdduration" json:"min_sale_duration"`
-}
-
-func (m *Params) Reset()         { *m = Params{} }
-func (m *Params) String() string { return proto.CompactTextString(m) }
-func (*Params) ProtoMessage()    {}
-func (*Params) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e87cd402886b5ef9, []int{0}
-}
-func (m *Params) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
-}
-func (m *Params) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_Params.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalToSizedBuffer(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
-}
-func (m *Params) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Params.Merge(m, src)
-}
-func (m *Params) XXX_Size() int {
-	return m.Size()
-}
-func (m *Params) XXX_DiscardUnknown() {
-	xxx_messageInfo_Params.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Params proto.InternalMessageInfo
-
-func (m *Params) GetSaleCreationFee() github_com_cosmos_cosmos_sdk_types.Coins {
-	if m != nil {
-		return m.SaleCreationFee
-	}
-	return nil
-}
-
-func (m *Params) GetSaleCreationFeeRecipient() string {
-	if m != nil {
-		return m.SaleCreationFeeRecipient
-	}
-	return ""
-}
-
-func (m *Params) GetMinDurationUntilStartTime() time.Duration {
-	if m != nil {
-		return m.MinDurationUntilStartTime
-	}
-	return 0
-}
-
-func (m *Params) GetMinSaleDuration() time.Duration {
-	if m != nil {
-		return m.MinSaleDuration
-	}
-	return 0
-}
-
-func init() {
-	proto.RegisterType((*Params)(nil), "osmosis.streamswap.v1.Params")
-}
-
-func init() {
-	proto.RegisterFile("osmosis/streamswap/v1/params.proto", fileDescriptor_e87cd402886b5ef9)
-}
-
-var fileDescriptor_e87cd402886b5ef9 = []byte{
-	// 418 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x52, 0x4f, 0x6b, 0xd4, 0x40,
-	0x14, 0xcf, 0xb8, 0x52, 0x34, 0x1e, 0x4a, 0x83, 0x42, 0xb6, 0x62, 0xb2, 0xe4, 0xb4, 0x97, 0xce,
-	0x90, 0x0a, 0x1e, 0x04, 0x2f, 0xad, 0x78, 0x12, 0x2c, 0xa9, 0x5e, 0xbc, 0x0c, 0x93, 0xf4, 0x35,
-	0x0e, 0x66, 0x66, 0x42, 0x66, 0x12, 0xdd, 0x6f, 0x21, 0x88, 0xe0, 0x67, 0xf0, 0x93, 0xf4, 0xd8,
-	0xa3, 0xa7, 0x56, 0x76, 0xbf, 0x81, 0x9f, 0x40, 0x32, 0x99, 0xd1, 0xd2, 0xbd, 0x78, 0x4a, 0xde,
-	0xfc, 0xfe, 0xbd, 0xf7, 0x78, 0x61, 0xa6, 0xb4, 0x50, 0x9a, 0x6b, 0xa2, 0x4d, 0x07, 0x4c, 0xe8,
-	0x4f, 0xac, 0x25, 0x43, 0x4e, 0x5a, 0xd6, 0x31, 0xa1, 0x71, 0xdb, 0x29, 0xa3, 0xa2, 0x47, 0x8e,
-	0x83, 0xff, 0x71, 0xf0, 0x90, 0xef, 0x3f, 0xac, 0x55, 0xad, 0x2c, 0x83, 0x8c, 0x7f, 0x13, 0x79,
-	0x7f, 0x5e, 0x2b, 0x55, 0x37, 0x40, 0x6c, 0x55, 0xf6, 0xe7, 0x84, 0xc9, 0x95, 0x87, 0x2a, 0x6b,
-	0x44, 0x27, 0xcd, 0x54, 0x38, 0x28, 0x99, 0x2a, 0x52, 0x32, 0x0d, 0x64, 0xc8, 0x4b, 0x30, 0x2c,
-	0x27, 0x95, 0xe2, 0xd2, 0xe3, 0xb7, 0x5d, 0xcf, 0xfa, 0x8e, 0x19, 0xae, 0x1c, 0x9e, 0x7d, 0x9b,
-	0x85, 0x3b, 0x27, 0xb6, 0xe7, 0xe8, 0x2b, 0x0a, 0xf7, 0x34, 0x6b, 0x80, 0x56, 0x1d, 0x58, 0x0a,
-	0x3d, 0x07, 0x88, 0xd1, 0x62, 0xb6, 0x7c, 0x70, 0x38, 0xc7, 0x2e, 0x75, 0xcc, 0xc1, 0x2e, 0x07,
-	0x1f, 0x2b, 0x2e, 0x8f, 0x5e, 0x5f, 0x5c, 0xa5, 0xc1, 0xef, 0xab, 0x34, 0x5e, 0x31, 0xd1, 0x3c,
-	0xcf, 0xb6, 0x1c, 0xb2, 0x1f, 0xd7, 0xe9, 0xb2, 0xe6, 0xe6, 0x43, 0x5f, 0xe2, 0x4a, 0x09, 0xd7,
-	0xbe, 0xfb, 0x1c, 0xe8, 0xb3, 0x8f, 0xc4, 0xac, 0x5a, 0xd0, 0xd6, 0x4c, 0x17, 0xbb, 0xa3, 0xfe,
-	0xd8, 0xc9, 0x5f, 0x01, 0x44, 0x2f, 0xc2, 0xc7, 0x5b, 0x96, 0xb4, 0x83, 0x8a, 0xb7, 0x1c, 0xa4,
-	0x89, 0xef, 0x2c, 0xd0, 0xf2, 0x7e, 0x11, 0xdf, 0x52, 0x15, 0x1e, 0x8f, 0x20, 0x7c, 0x22, 0xb8,
-	0xa4, 0x7e, 0x6a, 0xda, 0x4b, 0xc3, 0x1b, 0xaa, 0x0d, 0xeb, 0x0c, 0x35, 0x5c, 0x40, 0x3c, 0x5b,
-	0x20, 0x3b, 0xdf, 0xb4, 0x27, 0xec, 0xf7, 0x84, 0x5f, 0x3a, 0xc5, 0xd1, 0xbd, 0x71, 0xbe, 0xef,
-	0xd7, 0x29, 0x2a, 0xe6, 0x82, 0x4b, 0xff, 0xfc, 0x6e, 0xf4, 0x39, 0x1d, 0x6d, 0xde, 0x72, 0x01,
-	0xd1, 0x9b, 0x70, 0x6f, 0x8c, 0xb1, 0x9d, 0xfa, 0xac, 0xf8, 0xee, 0xff, 0x5b, 0xef, 0x0a, 0x2e,
-	0x4f, 0x59, 0x03, 0x7f, 0xa1, 0x93, 0x8b, 0x75, 0x82, 0x2e, 0xd7, 0x09, 0xfa, 0xb5, 0x4e, 0xd0,
-	0x97, 0x4d, 0x12, 0x5c, 0x6e, 0x92, 0xe0, 0xe7, 0x26, 0x09, 0xde, 0x3f, 0xbb, 0xb1, 0x4b, 0x77,
-	0x5f, 0x07, 0x0d, 0x2b, 0xb5, 0x2f, 0xc8, 0x90, 0x1f, 0x92, 0xcf, 0x37, 0xcf, 0xd2, 0xee, 0xb7,
-	0xdc, 0xb1, 0xf9, 0x4f, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x87, 0x6c, 0xd4, 0x78, 0xb9, 0x02,
-	0x00, 0x00,
-}
-
-func (m *Params) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalToSizedBuffer(dAtA[:size])
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (m *Params) MarshalTo(dAtA []byte) (int, error) {
-	size := m.Size()
-	return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) {
-	i := len(dAtA)
-	_ = i
-	var l int
-	_ = l
-	n1, err1 := github_com_gogo_protobuf_types.StdDurationMarshalTo(m.MinSaleDuration, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdDuration(m.MinSaleDuration):])
-	if err1 != nil {
-		return 0, err1
-	}
-	i -= n1
-	i = encodeVarintParams(dAtA, i, uint64(n1))
-	i--
-	dAtA[i] = 0x22
-	n2, err2 := github_com_gogo_protobuf_types.StdDurationMarshalTo(m.MinDurationUntilStartTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdDuration(m.MinDurationUntilStartTime):])
-	if err2 != nil {
-		return 0, err2
-	}
-	i -= n2
-	i = encodeVarintParams(dAtA, i, uint64(n2))
-	i--
-	dAtA[i] = 0x1a
-	if len(m.SaleCreationFeeRecipient) > 0 {
-		i -= len(m.SaleCreationFeeRecipient)
-		copy(dAtA[i:], m.SaleCreationFeeRecipient)
-		i = encodeVarintParams(dAtA, i, uint64(len(m.SaleCreationFeeRecipient)))
-		i--
-		dAtA[i] = 0x12
-	}
-	if len(m.SaleCreationFee) > 0 {
-		for iNdEx := len(m.SaleCreationFee) - 1; iNdEx >= 0; iNdEx-- {
-			{
-				size, err := m.SaleCreationFee[iNdEx].MarshalToSizedBuffer(dAtA[:i])
-				if err != nil {
-					return 0, err
-				}
-				i -= size
-				i = encodeVarintParams(dAtA, i, uint64(size))
-			}
-			i--
-			dAtA[i] = 0xa
-		}
-	}
-	return len(dAtA) - i, nil
-}
-
-func encodeVarintParams(dAtA []byte, offset int, v uint64) int {
-	offset -= sovParams(v)
-	base := offset
-	for v >= 1<<7 {
-		dAtA[offset] = uint8(v&0x7f | 0x80)
-		v >>= 7
-		offset++
-	}
-	dAtA[offset] = uint8(v)
-	return base
-}
-func (m *Params) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	if len(m.SaleCreationFee) > 0 {
-		for _, e := range m.SaleCreationFee {
-			l = e.Size()
-			n += 1 + l + sovParams(uint64(l))
-		}
-	}
-	l = len(m.SaleCreationFeeRecipient)
-	if l > 0 {
-		n += 1 + l + sovParams(uint64(l))
-	}
-	l = github_com_gogo_protobuf_types.SizeOfStdDuration(m.MinDurationUntilStartTime)
-	n += 1 + l + sovParams(uint64(l))
-	l = github_com_gogo_protobuf_types.SizeOfStdDuration(m.MinSaleDuration)
-	n += 1 + l + sovParams(uint64(l))
-	return n
-}
-
-func sovParams(x uint64) (n int) {
-	return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozParams(x uint64) (n int) {
-	return sovParams(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (m *Params) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowParams
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: Params: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: Params: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field SaleCreationFee", wireType)
-			}
-			var msglen int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowParams
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				msglen |= int(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if msglen < 0 {
-				return ErrInvalidLengthParams
-			}
-			postIndex := iNdEx + msglen
-			if postIndex < 0 {
-				return ErrInvalidLengthParams
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.SaleCreationFee = append(m.SaleCreationFee, types.Coin{})
-			if err := m.SaleCreationFee[len(m.SaleCreationFee)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		case 2:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field SaleCreationFeeRecipient", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowParams
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthParams
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthParams
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.SaleCreationFeeRecipient = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 3:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field MinDurationUntilStartTime", wireType)
-			}
-			var msglen int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowParams
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				msglen |= int(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if msglen < 0 {
-				return ErrInvalidLengthParams
-			}
-			postIndex := iNdEx + msglen
-			if postIndex < 0 {
-				return ErrInvalidLengthParams
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(&m.MinDurationUntilStartTime, dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		case 4:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field MinSaleDuration", wireType)
-			}
-			var msglen int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowParams
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				msglen |= int(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if msglen < 0 {
-				return ErrInvalidLengthParams
-			}
-			postIndex := iNdEx + msglen
-			if postIndex < 0 {
-				return ErrInvalidLengthParams
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(&m.MinSaleDuration, dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		default:
-			iNdEx = preIndex
-			skippy, err := skipParams(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if (skippy < 0) || (iNdEx+skippy) < 0 {
-				return ErrInvalidLengthParams
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func skipParams(dAtA []byte) (n int, err error) {
-	l := len(dAtA)
-	iNdEx := 0
-	depth := 0
-	for iNdEx < l {
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return 0, ErrIntOverflowParams
-			}
-			if iNdEx >= l {
-				return 0, io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= (uint64(b) & 0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		wireType := int(wire & 0x7)
-		switch wireType {
-		case 0:
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return 0, ErrIntOverflowParams
-				}
-				if iNdEx >= l {
-					return 0, io.ErrUnexpectedEOF
-				}
-				iNdEx++
-				if dAtA[iNdEx-1] < 0x80 {
-					break
-				}
-			}
-		case 1:
-			iNdEx += 8
-		case 2:
-			var length int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return 0, ErrIntOverflowParams
-				}
-				if iNdEx >= l {
-					return 0, io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				length |= (int(b) & 0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if length < 0 {
-				return 0, ErrInvalidLengthParams
-			}
-			iNdEx += length
-		case 3:
-			depth++
-		case 4:
-			if depth == 0 {
-				return 0, ErrUnexpectedEndOfGroupParams
-			}
-			depth--
-		case 5:
-			iNdEx += 4
-		default:
-			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
-		}
-		if iNdEx < 0 {
-			return 0, ErrInvalidLengthParams
-		}
-		if depth == 0 {
-			return iNdEx, nil
-		}
-	}
-	return 0, io.ErrUnexpectedEOF
-}
-
-var (
-	ErrInvalidLengthParams        = fmt.Errorf("proto: negative length found during unmarshaling")
-	ErrIntOverflowParams          = fmt.Errorf("proto: integer overflow")
-	ErrUnexpectedEndOfGroupParams = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/x/streamswap/types/query.pb.go b/x/streamswap/types/query.pb.go
deleted file mode 100644
index 3c0fe5409610fe495d39da21a87d863283f15cd5..0000000000000000000000000000000000000000
--- a/x/streamswap/types/query.pb.go
+++ /dev/null
@@ -1,1404 +0,0 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: osmosis/streamswap/v1/query.proto
-
-package types
-
-import (
-	context "context"
-	fmt "fmt"
-	query "github.com/cosmos/cosmos-sdk/types/query"
-	_ "github.com/gogo/protobuf/gogoproto"
-	grpc1 "github.com/gogo/protobuf/grpc"
-	proto "github.com/gogo/protobuf/proto"
-	_ "google.golang.org/genproto/googleapis/api/annotations"
-	grpc "google.golang.org/grpc"
-	codes "google.golang.org/grpc/codes"
-	status "google.golang.org/grpc/status"
-	io "io"
-	math "math"
-	math_bits "math/bits"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
-
-type QuerySales struct {
-	// pagination defines an pagination for the request.
-	Pagination *query.PageRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"`
-}
-
-func (m *QuerySales) Reset()         { *m = QuerySales{} }
-func (m *QuerySales) String() string { return proto.CompactTextString(m) }
-func (*QuerySales) ProtoMessage()    {}
-func (*QuerySales) Descriptor() ([]byte, []int) {
-	return fileDescriptor_3fb259eb5fae3ea4, []int{0}
-}
-func (m *QuerySales) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
-}
-func (m *QuerySales) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_QuerySales.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalToSizedBuffer(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
-}
-func (m *QuerySales) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_QuerySales.Merge(m, src)
-}
-func (m *QuerySales) XXX_Size() int {
-	return m.Size()
-}
-func (m *QuerySales) XXX_DiscardUnknown() {
-	xxx_messageInfo_QuerySales.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_QuerySales proto.InternalMessageInfo
-
-type QuerySalesResponse struct {
-	Sales      []Sale              `protobuf:"bytes,1,rep,name=sales,proto3" json:"sales"`
-	Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"`
-}
-
-func (m *QuerySalesResponse) Reset()         { *m = QuerySalesResponse{} }
-func (m *QuerySalesResponse) String() string { return proto.CompactTextString(m) }
-func (*QuerySalesResponse) ProtoMessage()    {}
-func (*QuerySalesResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_3fb259eb5fae3ea4, []int{1}
-}
-func (m *QuerySalesResponse) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
-}
-func (m *QuerySalesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_QuerySalesResponse.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalToSizedBuffer(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
-}
-func (m *QuerySalesResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_QuerySalesResponse.Merge(m, src)
-}
-func (m *QuerySalesResponse) XXX_Size() int {
-	return m.Size()
-}
-func (m *QuerySalesResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_QuerySalesResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_QuerySalesResponse proto.InternalMessageInfo
-
-// Request type for Query/Sale
-type QuerySale struct {
-	// Sale ID
-	SaleId uint64 `protobuf:"varint,1,opt,name=sale_id,json=saleId,proto3" json:"sale_id,omitempty"`
-}
-
-func (m *QuerySale) Reset()         { *m = QuerySale{} }
-func (m *QuerySale) String() string { return proto.CompactTextString(m) }
-func (*QuerySale) ProtoMessage()    {}
-func (*QuerySale) Descriptor() ([]byte, []int) {
-	return fileDescriptor_3fb259eb5fae3ea4, []int{2}
-}
-func (m *QuerySale) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
-}
-func (m *QuerySale) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_QuerySale.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalToSizedBuffer(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
-}
-func (m *QuerySale) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_QuerySale.Merge(m, src)
-}
-func (m *QuerySale) XXX_Size() int {
-	return m.Size()
-}
-func (m *QuerySale) XXX_DiscardUnknown() {
-	xxx_messageInfo_QuerySale.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_QuerySale proto.InternalMessageInfo
-
-type QuerySaleResponse struct {
-	Sale Sale `protobuf:"bytes,1,opt,name=sale,proto3" json:"sale"`
-}
-
-func (m *QuerySaleResponse) Reset()         { *m = QuerySaleResponse{} }
-func (m *QuerySaleResponse) String() string { return proto.CompactTextString(m) }
-func (*QuerySaleResponse) ProtoMessage()    {}
-func (*QuerySaleResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_3fb259eb5fae3ea4, []int{3}
-}
-func (m *QuerySaleResponse) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
-}
-func (m *QuerySaleResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_QuerySaleResponse.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalToSizedBuffer(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
-}
-func (m *QuerySaleResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_QuerySaleResponse.Merge(m, src)
-}
-func (m *QuerySaleResponse) XXX_Size() int {
-	return m.Size()
-}
-func (m *QuerySaleResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_QuerySaleResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_QuerySaleResponse proto.InternalMessageInfo
-
-// Request type for Query/Sale
-type QueryUserPosition struct {
-	// ID of the Sale
-	SaleId uint64 `protobuf:"varint,1,opt,name=sale_id,json=saleId,proto3" json:"sale_id,omitempty"`
-	// user account address
-	User string `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"`
-}
-
-func (m *QueryUserPosition) Reset()         { *m = QueryUserPosition{} }
-func (m *QueryUserPosition) String() string { return proto.CompactTextString(m) }
-func (*QueryUserPosition) ProtoMessage()    {}
-func (*QueryUserPosition) Descriptor() ([]byte, []int) {
-	return fileDescriptor_3fb259eb5fae3ea4, []int{4}
-}
-func (m *QueryUserPosition) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
-}
-func (m *QueryUserPosition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_QueryUserPosition.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalToSizedBuffer(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
-}
-func (m *QueryUserPosition) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_QueryUserPosition.Merge(m, src)
-}
-func (m *QueryUserPosition) XXX_Size() int {
-	return m.Size()
-}
-func (m *QueryUserPosition) XXX_DiscardUnknown() {
-	xxx_messageInfo_QueryUserPosition.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_QueryUserPosition proto.InternalMessageInfo
-
-type QueryUserPositionResponse struct {
-	UserPosition UserPosition `protobuf:"bytes,1,opt,name=user_position,json=userPosition,proto3" json:"user_position"`
-}
-
-func (m *QueryUserPositionResponse) Reset()         { *m = QueryUserPositionResponse{} }
-func (m *QueryUserPositionResponse) String() string { return proto.CompactTextString(m) }
-func (*QueryUserPositionResponse) ProtoMessage()    {}
-func (*QueryUserPositionResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_3fb259eb5fae3ea4, []int{5}
-}
-func (m *QueryUserPositionResponse) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
-}
-func (m *QueryUserPositionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_QueryUserPositionResponse.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalToSizedBuffer(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
-}
-func (m *QueryUserPositionResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_QueryUserPositionResponse.Merge(m, src)
-}
-func (m *QueryUserPositionResponse) XXX_Size() int {
-	return m.Size()
-}
-func (m *QueryUserPositionResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_QueryUserPositionResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_QueryUserPositionResponse proto.InternalMessageInfo
-
-func init() {
-	proto.RegisterType((*QuerySales)(nil), "osmosis.streamswap.v1.QuerySales")
-	proto.RegisterType((*QuerySalesResponse)(nil), "osmosis.streamswap.v1.QuerySalesResponse")
-	proto.RegisterType((*QuerySale)(nil), "osmosis.streamswap.v1.QuerySale")
-	proto.RegisterType((*QuerySaleResponse)(nil), "osmosis.streamswap.v1.QuerySaleResponse")
-	proto.RegisterType((*QueryUserPosition)(nil), "osmosis.streamswap.v1.QueryUserPosition")
-	proto.RegisterType((*QueryUserPositionResponse)(nil), "osmosis.streamswap.v1.QueryUserPositionResponse")
-}
-
-func init() { proto.RegisterFile("osmosis/streamswap/v1/query.proto", fileDescriptor_3fb259eb5fae3ea4) }
-
-var fileDescriptor_3fb259eb5fae3ea4 = []byte{
-	// 528 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0x4f, 0x6f, 0xd3, 0x30,
-	0x18, 0xc6, 0x9b, 0x2d, 0x1d, 0x9a, 0x37, 0x0e, 0x58, 0x20, 0x46, 0x06, 0xa1, 0xcb, 0x80, 0x15,
-	0xc4, 0x6c, 0x52, 0xfe, 0x5d, 0xd1, 0x0e, 0x20, 0x38, 0xa0, 0x11, 0xc6, 0x85, 0xcb, 0xe4, 0x6c,
-	0x56, 0x88, 0x68, 0xe3, 0x2c, 0xaf, 0x53, 0x18, 0xd3, 0x0e, 0xf0, 0x09, 0x90, 0x90, 0x38, 0x73,
-	0xe6, 0x93, 0xf4, 0x38, 0x89, 0x0b, 0x27, 0x04, 0x2d, 0x1f, 0x04, 0xd9, 0xf1, 0xd2, 0x14, 0xe8,
-	0xda, 0x5b, 0x12, 0xff, 0xf2, 0x3c, 0x3f, 0xe7, 0xb5, 0x82, 0x56, 0x04, 0x74, 0x04, 0xc4, 0x40,
-	0x41, 0x66, 0x9c, 0x75, 0xe0, 0x0d, 0x4b, 0x69, 0xd7, 0xa7, 0x7b, 0x39, 0xcf, 0xf6, 0x49, 0x9a,
-	0x09, 0x29, 0xf0, 0x39, 0x83, 0x90, 0x21, 0x42, 0xba, 0xbe, 0x73, 0x36, 0x12, 0x91, 0xd0, 0x04,
-	0x55, 0x57, 0x05, 0xec, 0x5c, 0x8c, 0x84, 0x88, 0xda, 0x9c, 0xb2, 0x34, 0xa6, 0x2c, 0x49, 0x84,
-	0x64, 0x32, 0x16, 0x09, 0x98, 0xd5, 0x1b, 0x3b, 0x3a, 0x8b, 0x86, 0x0c, 0x78, 0xd1, 0x41, 0xbb,
-	0x7e, 0xc8, 0x25, 0xf3, 0x69, 0xca, 0xa2, 0x38, 0xd1, 0xb0, 0x61, 0xc7, 0x98, 0x81, 0x64, 0x92,
-	0x17, 0x88, 0xb7, 0x85, 0xd0, 0x33, 0x15, 0xf2, 0x9c, 0xb5, 0x39, 0xe0, 0x87, 0x08, 0x0d, 0x43,
-	0x96, 0xac, 0x86, 0xd5, 0x5c, 0x68, 0x5d, 0x23, 0x45, 0x23, 0x51, 0x8d, 0xa4, 0xd8, 0x95, 0x69,
-	0x24, 0x9b, 0x2c, 0xe2, 0x01, 0xdf, 0xcb, 0x39, 0xc8, 0xa0, 0xf2, 0xa6, 0xf7, 0xd9, 0x42, 0x78,
-	0x18, 0x1b, 0x70, 0x48, 0x45, 0x02, 0x1c, 0xdf, 0x47, 0x75, 0x50, 0x0f, 0x96, 0xac, 0xc6, 0x6c,
-	0x73, 0xa1, 0xb5, 0x4c, 0xfe, 0xfb, 0x59, 0x88, 0x7a, 0x69, 0xc3, 0xee, 0xfd, 0xb8, 0x5c, 0x0b,
-	0x0a, 0x1e, 0x3f, 0x1a, 0xf1, 0x9a, 0xd1, 0x5e, 0x6b, 0x13, 0xbd, 0x8a, 0xd6, 0x11, 0xb1, 0x2b,
-	0x68, 0xbe, 0xf4, 0xc2, 0xe7, 0xd1, 0x29, 0x15, 0xbf, 0x1d, 0xef, 0xea, 0xad, 0xda, 0xc1, 0x9c,
-	0xba, 0x7d, 0xbc, 0xeb, 0x3d, 0x41, 0x67, 0x4a, 0xaa, 0x94, 0xbf, 0x8b, 0x6c, 0xb5, 0x6c, 0xbe,
-	0xca, 0x14, 0xee, 0x1a, 0xf7, 0x1e, 0x98, 0xac, 0x17, 0xc0, 0xb3, 0x4d, 0x01, 0xb1, 0xd2, 0x18,
-	0xdb, 0x8c, 0x31, 0xb2, 0x73, 0xe0, 0x99, 0xde, 0xe2, 0x7c, 0xa0, 0xaf, 0xbd, 0xd7, 0xe8, 0xc2,
-	0x3f, 0x09, 0xa5, 0xd5, 0x53, 0x74, 0x5a, 0x41, 0xdb, 0xa9, 0x59, 0x30, 0x7a, 0xab, 0x63, 0xf4,
-	0xaa, 0x19, 0x46, 0x73, 0x31, 0xaf, 0x3c, 0x6b, 0x7d, 0x9d, 0x45, 0x75, 0xdd, 0x86, 0xdf, 0xa1,
-	0x7a, 0x71, 0x28, 0x56, 0xc6, 0x64, 0x0d, 0x07, 0xec, 0x5c, 0x9f, 0x88, 0x1c, 0x0b, 0x7b, 0xab,
-	0x1f, 0xbe, 0xfd, 0xfe, 0x34, 0x73, 0x09, 0x2f, 0x53, 0x73, 0x90, 0xff, 0x3a, 0x9b, 0xba, 0xf2,
-	0xbd, 0x85, 0x6c, 0x3d, 0xa2, 0xc6, 0xa4, 0x60, 0xa7, 0x39, 0x89, 0x28, 0x9b, 0xd7, 0x75, 0xf3,
-	0x1a, 0xbe, 0x7a, 0x42, 0x33, 0x3d, 0x30, 0x73, 0x39, 0xc4, 0x5f, 0x2c, 0xb4, 0x38, 0x32, 0xb4,
-	0x13, 0x9b, 0xaa, 0xa4, 0x73, 0x6b, 0x5a, 0xb2, 0x74, 0xbb, 0xa3, 0xdd, 0x08, 0xbe, 0x39, 0x95,
-	0x1b, 0x3d, 0x50, 0x33, 0x3b, 0xdc, 0xd8, 0xea, 0xfd, 0x72, 0x6b, 0xbd, 0xbe, 0x6b, 0x1d, 0xf5,
-	0x5d, 0xeb, 0x67, 0xdf, 0xb5, 0x3e, 0x0e, 0xdc, 0xda, 0xd1, 0xc0, 0xad, 0x7d, 0x1f, 0xb8, 0xb5,
-	0x97, 0xf7, 0xa2, 0x58, 0xbe, 0xca, 0x43, 0xb2, 0x23, 0x3a, 0xd4, 0xf8, 0xac, 0xb7, 0x59, 0x08,
-	0xc7, 0x37, 0xb4, 0xeb, 0xb7, 0xe8, 0xdb, 0x6a, 0x93, 0xdc, 0x4f, 0x39, 0x84, 0x73, 0xfa, 0xcf,
-	0x70, 0xfb, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x1d, 0xdc, 0xd4, 0x91, 0xd8, 0x04, 0x00, 0x00,
-}
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ context.Context
-var _ grpc.ClientConn
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the grpc package it is being compiled against.
-const _ = grpc.SupportPackageIsVersion4
-
-// QueryClient is the client API for Query service.
-//
-// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
-type QueryClient interface {
-	// Returns list of Sales ordered by the creation time
-	Sales(ctx context.Context, in *QuerySales, opts ...grpc.CallOption) (*QuerySalesResponse, error)
-	// Returns the specific Sale object
-	Sale(ctx context.Context, in *QuerySale, opts ...grpc.CallOption) (*QuerySaleResponse, error)
-	UserPosition(ctx context.Context, in *QueryUserPosition, opts ...grpc.CallOption) (*QueryUserPositionResponse, error)
-}
-
-type queryClient struct {
-	cc grpc1.ClientConn
-}
-
-func NewQueryClient(cc grpc1.ClientConn) QueryClient {
-	return &queryClient{cc}
-}
-
-func (c *queryClient) Sales(ctx context.Context, in *QuerySales, opts ...grpc.CallOption) (*QuerySalesResponse, error) {
-	out := new(QuerySalesResponse)
-	err := c.cc.Invoke(ctx, "/osmosis.streamswap.v1.Query/Sales", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-func (c *queryClient) Sale(ctx context.Context, in *QuerySale, opts ...grpc.CallOption) (*QuerySaleResponse, error) {
-	out := new(QuerySaleResponse)
-	err := c.cc.Invoke(ctx, "/osmosis.streamswap.v1.Query/Sale", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-func (c *queryClient) UserPosition(ctx context.Context, in *QueryUserPosition, opts ...grpc.CallOption) (*QueryUserPositionResponse, error) {
-	out := new(QueryUserPositionResponse)
-	err := c.cc.Invoke(ctx, "/osmosis.streamswap.v1.Query/UserPosition", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-// QueryServer is the server API for Query service.
-type QueryServer interface {
-	// Returns list of Sales ordered by the creation time
-	Sales(context.Context, *QuerySales) (*QuerySalesResponse, error)
-	// Returns the specific Sale object
-	Sale(context.Context, *QuerySale) (*QuerySaleResponse, error)
-	UserPosition(context.Context, *QueryUserPosition) (*QueryUserPositionResponse, error)
-}
-
-// UnimplementedQueryServer can be embedded to have forward compatible implementations.
-type UnimplementedQueryServer struct {
-}
-
-func (*UnimplementedQueryServer) Sales(ctx context.Context, req *QuerySales) (*QuerySalesResponse, error) {
-	return nil, status.Errorf(codes.Unimplemented, "method Sales not implemented")
-}
-func (*UnimplementedQueryServer) Sale(ctx context.Context, req *QuerySale) (*QuerySaleResponse, error) {
-	return nil, status.Errorf(codes.Unimplemented, "method Sale not implemented")
-}
-func (*UnimplementedQueryServer) UserPosition(ctx context.Context, req *QueryUserPosition) (*QueryUserPositionResponse, error) {
-	return nil, status.Errorf(codes.Unimplemented, "method UserPosition not implemented")
-}
-
-func RegisterQueryServer(s grpc1.Server, srv QueryServer) {
-	s.RegisterService(&_Query_serviceDesc, srv)
-}
-
-func _Query_Sales_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(QuerySales)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(QueryServer).Sales(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/osmosis.streamswap.v1.Query/Sales",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(QueryServer).Sales(ctx, req.(*QuerySales))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-func _Query_Sale_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(QuerySale)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(QueryServer).Sale(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/osmosis.streamswap.v1.Query/Sale",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(QueryServer).Sale(ctx, req.(*QuerySale))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-func _Query_UserPosition_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(QueryUserPosition)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(QueryServer).UserPosition(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/osmosis.streamswap.v1.Query/UserPosition",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(QueryServer).UserPosition(ctx, req.(*QueryUserPosition))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-var _Query_serviceDesc = grpc.ServiceDesc{
-	ServiceName: "osmosis.streamswap.v1.Query",
-	HandlerType: (*QueryServer)(nil),
-	Methods: []grpc.MethodDesc{
-		{
-			MethodName: "Sales",
-			Handler:    _Query_Sales_Handler,
-		},
-		{
-			MethodName: "Sale",
-			Handler:    _Query_Sale_Handler,
-		},
-		{
-			MethodName: "UserPosition",
-			Handler:    _Query_UserPosition_Handler,
-		},
-	},
-	Streams:  []grpc.StreamDesc{},
-	Metadata: "osmosis/streamswap/v1/query.proto",
-}
-
-func (m *QuerySales) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalToSizedBuffer(dAtA[:size])
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (m *QuerySales) MarshalTo(dAtA []byte) (int, error) {
-	size := m.Size()
-	return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *QuerySales) MarshalToSizedBuffer(dAtA []byte) (int, error) {
-	i := len(dAtA)
-	_ = i
-	var l int
-	_ = l
-	if m.Pagination != nil {
-		{
-			size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i])
-			if err != nil {
-				return 0, err
-			}
-			i -= size
-			i = encodeVarintQuery(dAtA, i, uint64(size))
-		}
-		i--
-		dAtA[i] = 0xa
-	}
-	return len(dAtA) - i, nil
-}
-
-func (m *QuerySalesResponse) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalToSizedBuffer(dAtA[:size])
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (m *QuerySalesResponse) MarshalTo(dAtA []byte) (int, error) {
-	size := m.Size()
-	return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *QuerySalesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
-	i := len(dAtA)
-	_ = i
-	var l int
-	_ = l
-	if m.Pagination != nil {
-		{
-			size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i])
-			if err != nil {
-				return 0, err
-			}
-			i -= size
-			i = encodeVarintQuery(dAtA, i, uint64(size))
-		}
-		i--
-		dAtA[i] = 0x12
-	}
-	if len(m.Sales) > 0 {
-		for iNdEx := len(m.Sales) - 1; iNdEx >= 0; iNdEx-- {
-			{
-				size, err := m.Sales[iNdEx].MarshalToSizedBuffer(dAtA[:i])
-				if err != nil {
-					return 0, err
-				}
-				i -= size
-				i = encodeVarintQuery(dAtA, i, uint64(size))
-			}
-			i--
-			dAtA[i] = 0xa
-		}
-	}
-	return len(dAtA) - i, nil
-}
-
-func (m *QuerySale) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalToSizedBuffer(dAtA[:size])
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (m *QuerySale) MarshalTo(dAtA []byte) (int, error) {
-	size := m.Size()
-	return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *QuerySale) MarshalToSizedBuffer(dAtA []byte) (int, error) {
-	i := len(dAtA)
-	_ = i
-	var l int
-	_ = l
-	if m.SaleId != 0 {
-		i = encodeVarintQuery(dAtA, i, uint64(m.SaleId))
-		i--
-		dAtA[i] = 0x8
-	}
-	return len(dAtA) - i, nil
-}
-
-func (m *QuerySaleResponse) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalToSizedBuffer(dAtA[:size])
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (m *QuerySaleResponse) MarshalTo(dAtA []byte) (int, error) {
-	size := m.Size()
-	return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *QuerySaleResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
-	i := len(dAtA)
-	_ = i
-	var l int
-	_ = l
-	{
-		size, err := m.Sale.MarshalToSizedBuffer(dAtA[:i])
-		if err != nil {
-			return 0, err
-		}
-		i -= size
-		i = encodeVarintQuery(dAtA, i, uint64(size))
-	}
-	i--
-	dAtA[i] = 0xa
-	return len(dAtA) - i, nil
-}
-
-func (m *QueryUserPosition) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalToSizedBuffer(dAtA[:size])
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (m *QueryUserPosition) MarshalTo(dAtA []byte) (int, error) {
-	size := m.Size()
-	return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *QueryUserPosition) MarshalToSizedBuffer(dAtA []byte) (int, error) {
-	i := len(dAtA)
-	_ = i
-	var l int
-	_ = l
-	if len(m.User) > 0 {
-		i -= len(m.User)
-		copy(dAtA[i:], m.User)
-		i = encodeVarintQuery(dAtA, i, uint64(len(m.User)))
-		i--
-		dAtA[i] = 0x12
-	}
-	if m.SaleId != 0 {
-		i = encodeVarintQuery(dAtA, i, uint64(m.SaleId))
-		i--
-		dAtA[i] = 0x8
-	}
-	return len(dAtA) - i, nil
-}
-
-func (m *QueryUserPositionResponse) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalToSizedBuffer(dAtA[:size])
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (m *QueryUserPositionResponse) MarshalTo(dAtA []byte) (int, error) {
-	size := m.Size()
-	return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *QueryUserPositionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
-	i := len(dAtA)
-	_ = i
-	var l int
-	_ = l
-	{
-		size, err := m.UserPosition.MarshalToSizedBuffer(dAtA[:i])
-		if err != nil {
-			return 0, err
-		}
-		i -= size
-		i = encodeVarintQuery(dAtA, i, uint64(size))
-	}
-	i--
-	dAtA[i] = 0xa
-	return len(dAtA) - i, nil
-}
-
-func encodeVarintQuery(dAtA []byte, offset int, v uint64) int {
-	offset -= sovQuery(v)
-	base := offset
-	for v >= 1<<7 {
-		dAtA[offset] = uint8(v&0x7f | 0x80)
-		v >>= 7
-		offset++
-	}
-	dAtA[offset] = uint8(v)
-	return base
-}
-func (m *QuerySales) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	if m.Pagination != nil {
-		l = m.Pagination.Size()
-		n += 1 + l + sovQuery(uint64(l))
-	}
-	return n
-}
-
-func (m *QuerySalesResponse) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	if len(m.Sales) > 0 {
-		for _, e := range m.Sales {
-			l = e.Size()
-			n += 1 + l + sovQuery(uint64(l))
-		}
-	}
-	if m.Pagination != nil {
-		l = m.Pagination.Size()
-		n += 1 + l + sovQuery(uint64(l))
-	}
-	return n
-}
-
-func (m *QuerySale) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	if m.SaleId != 0 {
-		n += 1 + sovQuery(uint64(m.SaleId))
-	}
-	return n
-}
-
-func (m *QuerySaleResponse) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	l = m.Sale.Size()
-	n += 1 + l + sovQuery(uint64(l))
-	return n
-}
-
-func (m *QueryUserPosition) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	if m.SaleId != 0 {
-		n += 1 + sovQuery(uint64(m.SaleId))
-	}
-	l = len(m.User)
-	if l > 0 {
-		n += 1 + l + sovQuery(uint64(l))
-	}
-	return n
-}
-
-func (m *QueryUserPositionResponse) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	l = m.UserPosition.Size()
-	n += 1 + l + sovQuery(uint64(l))
-	return n
-}
-
-func sovQuery(x uint64) (n int) {
-	return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozQuery(x uint64) (n int) {
-	return sovQuery(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (m *QuerySales) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowQuery
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: QuerySales: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: QuerySales: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType)
-			}
-			var msglen int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowQuery
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				msglen |= int(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if msglen < 0 {
-				return ErrInvalidLengthQuery
-			}
-			postIndex := iNdEx + msglen
-			if postIndex < 0 {
-				return ErrInvalidLengthQuery
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if m.Pagination == nil {
-				m.Pagination = &query.PageRequest{}
-			}
-			if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		default:
-			iNdEx = preIndex
-			skippy, err := skipQuery(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if (skippy < 0) || (iNdEx+skippy) < 0 {
-				return ErrInvalidLengthQuery
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func (m *QuerySalesResponse) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowQuery
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: QuerySalesResponse: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: QuerySalesResponse: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Sales", wireType)
-			}
-			var msglen int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowQuery
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				msglen |= int(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if msglen < 0 {
-				return ErrInvalidLengthQuery
-			}
-			postIndex := iNdEx + msglen
-			if postIndex < 0 {
-				return ErrInvalidLengthQuery
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.Sales = append(m.Sales, Sale{})
-			if err := m.Sales[len(m.Sales)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		case 2:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType)
-			}
-			var msglen int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowQuery
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				msglen |= int(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if msglen < 0 {
-				return ErrInvalidLengthQuery
-			}
-			postIndex := iNdEx + msglen
-			if postIndex < 0 {
-				return ErrInvalidLengthQuery
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if m.Pagination == nil {
-				m.Pagination = &query.PageResponse{}
-			}
-			if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		default:
-			iNdEx = preIndex
-			skippy, err := skipQuery(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if (skippy < 0) || (iNdEx+skippy) < 0 {
-				return ErrInvalidLengthQuery
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func (m *QuerySale) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowQuery
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: QuerySale: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: QuerySale: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 0 {
-				return fmt.Errorf("proto: wrong wireType = %d for field SaleId", wireType)
-			}
-			m.SaleId = 0
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowQuery
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				m.SaleId |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-		default:
-			iNdEx = preIndex
-			skippy, err := skipQuery(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if (skippy < 0) || (iNdEx+skippy) < 0 {
-				return ErrInvalidLengthQuery
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func (m *QuerySaleResponse) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowQuery
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: QuerySaleResponse: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: QuerySaleResponse: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Sale", wireType)
-			}
-			var msglen int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowQuery
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				msglen |= int(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if msglen < 0 {
-				return ErrInvalidLengthQuery
-			}
-			postIndex := iNdEx + msglen
-			if postIndex < 0 {
-				return ErrInvalidLengthQuery
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if err := m.Sale.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		default:
-			iNdEx = preIndex
-			skippy, err := skipQuery(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if (skippy < 0) || (iNdEx+skippy) < 0 {
-				return ErrInvalidLengthQuery
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func (m *QueryUserPosition) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowQuery
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: QueryUserPosition: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: QueryUserPosition: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 0 {
-				return fmt.Errorf("proto: wrong wireType = %d for field SaleId", wireType)
-			}
-			m.SaleId = 0
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowQuery
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				m.SaleId |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-		case 2:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field User", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowQuery
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthQuery
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthQuery
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.User = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		default:
-			iNdEx = preIndex
-			skippy, err := skipQuery(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if (skippy < 0) || (iNdEx+skippy) < 0 {
-				return ErrInvalidLengthQuery
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func (m *QueryUserPositionResponse) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowQuery
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: QueryUserPositionResponse: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: QueryUserPositionResponse: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field UserPosition", wireType)
-			}
-			var msglen int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowQuery
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				msglen |= int(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if msglen < 0 {
-				return ErrInvalidLengthQuery
-			}
-			postIndex := iNdEx + msglen
-			if postIndex < 0 {
-				return ErrInvalidLengthQuery
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if err := m.UserPosition.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		default:
-			iNdEx = preIndex
-			skippy, err := skipQuery(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if (skippy < 0) || (iNdEx+skippy) < 0 {
-				return ErrInvalidLengthQuery
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func skipQuery(dAtA []byte) (n int, err error) {
-	l := len(dAtA)
-	iNdEx := 0
-	depth := 0
-	for iNdEx < l {
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return 0, ErrIntOverflowQuery
-			}
-			if iNdEx >= l {
-				return 0, io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= (uint64(b) & 0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		wireType := int(wire & 0x7)
-		switch wireType {
-		case 0:
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return 0, ErrIntOverflowQuery
-				}
-				if iNdEx >= l {
-					return 0, io.ErrUnexpectedEOF
-				}
-				iNdEx++
-				if dAtA[iNdEx-1] < 0x80 {
-					break
-				}
-			}
-		case 1:
-			iNdEx += 8
-		case 2:
-			var length int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return 0, ErrIntOverflowQuery
-				}
-				if iNdEx >= l {
-					return 0, io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				length |= (int(b) & 0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if length < 0 {
-				return 0, ErrInvalidLengthQuery
-			}
-			iNdEx += length
-		case 3:
-			depth++
-		case 4:
-			if depth == 0 {
-				return 0, ErrUnexpectedEndOfGroupQuery
-			}
-			depth--
-		case 5:
-			iNdEx += 4
-		default:
-			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
-		}
-		if iNdEx < 0 {
-			return 0, ErrInvalidLengthQuery
-		}
-		if depth == 0 {
-			return iNdEx, nil
-		}
-	}
-	return 0, io.ErrUnexpectedEOF
-}
-
-var (
-	ErrInvalidLengthQuery        = fmt.Errorf("proto: negative length found during unmarshaling")
-	ErrIntOverflowQuery          = fmt.Errorf("proto: integer overflow")
-	ErrUnexpectedEndOfGroupQuery = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/x/streamswap/types/query.pb.gw.go b/x/streamswap/types/query.pb.gw.go
deleted file mode 100644
index 2c3073c02049dc08034aa9103c87fdc75b9d6f94..0000000000000000000000000000000000000000
--- a/x/streamswap/types/query.pb.gw.go
+++ /dev/null
@@ -1,395 +0,0 @@
-// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT.
-// source: osmosis/streamswap/v1/query.proto
-
-/*
-Package types is a reverse proxy.
-
-It translates gRPC into RESTful JSON APIs.
-*/
-package types
-
-import (
-	"context"
-	"io"
-	"net/http"
-
-	"github.com/golang/protobuf/descriptor"
-	"github.com/golang/protobuf/proto"
-	"github.com/grpc-ecosystem/grpc-gateway/runtime"
-	"github.com/grpc-ecosystem/grpc-gateway/utilities"
-	"google.golang.org/grpc"
-	"google.golang.org/grpc/codes"
-	"google.golang.org/grpc/grpclog"
-	"google.golang.org/grpc/metadata"
-	"google.golang.org/grpc/status"
-)
-
-// Suppress "imported and not used" errors
-var _ codes.Code
-var _ io.Reader
-var _ status.Status
-var _ = runtime.String
-var _ = utilities.NewDoubleArray
-var _ = descriptor.ForMessage
-var _ = metadata.Join
-
-var (
-	filter_Query_Sales_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)}
-)
-
-func request_Query_Sales_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
-	var protoReq QuerySales
-	var metadata runtime.ServerMetadata
-
-	if err := req.ParseForm(); err != nil {
-		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
-	}
-	if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_Sales_0); err != nil {
-		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
-	}
-
-	msg, err := client.Sales(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
-	return msg, metadata, err
-
-}
-
-func local_request_Query_Sales_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
-	var protoReq QuerySales
-	var metadata runtime.ServerMetadata
-
-	if err := req.ParseForm(); err != nil {
-		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
-	}
-	if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_Sales_0); err != nil {
-		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
-	}
-
-	msg, err := server.Sales(ctx, &protoReq)
-	return msg, metadata, err
-
-}
-
-func request_Query_Sale_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
-	var protoReq QuerySale
-	var metadata runtime.ServerMetadata
-
-	var (
-		val string
-		ok  bool
-		err error
-		_   = err
-	)
-
-	val, ok = pathParams["sale_id"]
-	if !ok {
-		return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "sale_id")
-	}
-
-	protoReq.SaleId, err = runtime.Uint64(val)
-
-	if err != nil {
-		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "sale_id", err)
-	}
-
-	msg, err := client.Sale(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
-	return msg, metadata, err
-
-}
-
-func local_request_Query_Sale_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
-	var protoReq QuerySale
-	var metadata runtime.ServerMetadata
-
-	var (
-		val string
-		ok  bool
-		err error
-		_   = err
-	)
-
-	val, ok = pathParams["sale_id"]
-	if !ok {
-		return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "sale_id")
-	}
-
-	protoReq.SaleId, err = runtime.Uint64(val)
-
-	if err != nil {
-		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "sale_id", err)
-	}
-
-	msg, err := server.Sale(ctx, &protoReq)
-	return msg, metadata, err
-
-}
-
-func request_Query_UserPosition_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
-	var protoReq QueryUserPosition
-	var metadata runtime.ServerMetadata
-
-	var (
-		val string
-		ok  bool
-		err error
-		_   = err
-	)
-
-	val, ok = pathParams["sale_id"]
-	if !ok {
-		return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "sale_id")
-	}
-
-	protoReq.SaleId, err = runtime.Uint64(val)
-
-	if err != nil {
-		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "sale_id", err)
-	}
-
-	val, ok = pathParams["user"]
-	if !ok {
-		return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user")
-	}
-
-	protoReq.User, err = runtime.String(val)
-
-	if err != nil {
-		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user", err)
-	}
-
-	msg, err := client.UserPosition(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
-	return msg, metadata, err
-
-}
-
-func local_request_Query_UserPosition_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
-	var protoReq QueryUserPosition
-	var metadata runtime.ServerMetadata
-
-	var (
-		val string
-		ok  bool
-		err error
-		_   = err
-	)
-
-	val, ok = pathParams["sale_id"]
-	if !ok {
-		return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "sale_id")
-	}
-
-	protoReq.SaleId, err = runtime.Uint64(val)
-
-	if err != nil {
-		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "sale_id", err)
-	}
-
-	val, ok = pathParams["user"]
-	if !ok {
-		return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user")
-	}
-
-	protoReq.User, err = runtime.String(val)
-
-	if err != nil {
-		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user", err)
-	}
-
-	msg, err := server.UserPosition(ctx, &protoReq)
-	return msg, metadata, err
-
-}
-
-// RegisterQueryHandlerServer registers the http handlers for service Query to "mux".
-// UnaryRPC     :call QueryServer directly.
-// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906.
-// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterQueryHandlerFromEndpoint instead.
-func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, server QueryServer) error {
-
-	mux.Handle("GET", pattern_Query_Sales_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
-		ctx, cancel := context.WithCancel(req.Context())
-		defer cancel()
-		var stream runtime.ServerTransportStream
-		ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
-		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
-		rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req)
-		if err != nil {
-			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
-			return
-		}
-		resp, md, err := local_request_Query_Sales_0(rctx, inboundMarshaler, server, req, pathParams)
-		md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
-		ctx = runtime.NewServerMetadataContext(ctx, md)
-		if err != nil {
-			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
-			return
-		}
-
-		forward_Query_Sales_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
-
-	})
-
-	mux.Handle("GET", pattern_Query_Sale_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
-		ctx, cancel := context.WithCancel(req.Context())
-		defer cancel()
-		var stream runtime.ServerTransportStream
-		ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
-		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
-		rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req)
-		if err != nil {
-			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
-			return
-		}
-		resp, md, err := local_request_Query_Sale_0(rctx, inboundMarshaler, server, req, pathParams)
-		md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
-		ctx = runtime.NewServerMetadataContext(ctx, md)
-		if err != nil {
-			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
-			return
-		}
-
-		forward_Query_Sale_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
-
-	})
-
-	mux.Handle("GET", pattern_Query_UserPosition_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
-		ctx, cancel := context.WithCancel(req.Context())
-		defer cancel()
-		var stream runtime.ServerTransportStream
-		ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
-		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
-		rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req)
-		if err != nil {
-			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
-			return
-		}
-		resp, md, err := local_request_Query_UserPosition_0(rctx, inboundMarshaler, server, req, pathParams)
-		md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
-		ctx = runtime.NewServerMetadataContext(ctx, md)
-		if err != nil {
-			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
-			return
-		}
-
-		forward_Query_UserPosition_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
-
-	})
-
-	return nil
-}
-
-// RegisterQueryHandlerFromEndpoint is same as RegisterQueryHandler but
-// automatically dials to "endpoint" and closes the connection when "ctx" gets done.
-func RegisterQueryHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) {
-	conn, err := grpc.Dial(endpoint, opts...)
-	if err != nil {
-		return err
-	}
-	defer func() {
-		if err != nil {
-			if cerr := conn.Close(); cerr != nil {
-				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
-			}
-			return
-		}
-		go func() {
-			<-ctx.Done()
-			if cerr := conn.Close(); cerr != nil {
-				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
-			}
-		}()
-	}()
-
-	return RegisterQueryHandler(ctx, mux, conn)
-}
-
-// RegisterQueryHandler registers the http handlers for service Query to "mux".
-// The handlers forward requests to the grpc endpoint over "conn".
-func RegisterQueryHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error {
-	return RegisterQueryHandlerClient(ctx, mux, NewQueryClient(conn))
-}
-
-// RegisterQueryHandlerClient registers the http handlers for service Query
-// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "QueryClient".
-// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "QueryClient"
-// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in
-// "QueryClient" to call the correct interceptors.
-func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, client QueryClient) error {
-
-	mux.Handle("GET", pattern_Query_Sales_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
-		ctx, cancel := context.WithCancel(req.Context())
-		defer cancel()
-		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
-		rctx, err := runtime.AnnotateContext(ctx, mux, req)
-		if err != nil {
-			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
-			return
-		}
-		resp, md, err := request_Query_Sales_0(rctx, inboundMarshaler, client, req, pathParams)
-		ctx = runtime.NewServerMetadataContext(ctx, md)
-		if err != nil {
-			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
-			return
-		}
-
-		forward_Query_Sales_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
-
-	})
-
-	mux.Handle("GET", pattern_Query_Sale_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
-		ctx, cancel := context.WithCancel(req.Context())
-		defer cancel()
-		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
-		rctx, err := runtime.AnnotateContext(ctx, mux, req)
-		if err != nil {
-			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
-			return
-		}
-		resp, md, err := request_Query_Sale_0(rctx, inboundMarshaler, client, req, pathParams)
-		ctx = runtime.NewServerMetadataContext(ctx, md)
-		if err != nil {
-			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
-			return
-		}
-
-		forward_Query_Sale_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
-
-	})
-
-	mux.Handle("GET", pattern_Query_UserPosition_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
-		ctx, cancel := context.WithCancel(req.Context())
-		defer cancel()
-		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
-		rctx, err := runtime.AnnotateContext(ctx, mux, req)
-		if err != nil {
-			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
-			return
-		}
-		resp, md, err := request_Query_UserPosition_0(rctx, inboundMarshaler, client, req, pathParams)
-		ctx = runtime.NewServerMetadataContext(ctx, md)
-		if err != nil {
-			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
-			return
-		}
-
-		forward_Query_UserPosition_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
-
-	})
-
-	return nil
-}
-
-var (
-	pattern_Query_Sales_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"cosmos", "streamswap", "v1", "sales"}, "", runtime.AssumeColonVerbOpt(false)))
-
-	pattern_Query_Sale_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"cosmos", "streamswap", "v1", "sales", "sale_id"}, "", runtime.AssumeColonVerbOpt(false)))
-
-	pattern_Query_UserPosition_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"cosmos", "streamswap", "v1", "sales", "sale_id", "user"}, "", runtime.AssumeColonVerbOpt(false)))
-)
-
-var (
-	forward_Query_Sales_0 = runtime.ForwardResponseMessage
-
-	forward_Query_Sale_0 = runtime.ForwardResponseMessage
-
-	forward_Query_UserPosition_0 = runtime.ForwardResponseMessage
-)
diff --git a/x/streamswap/types/state.pb.go b/x/streamswap/types/state.pb.go
deleted file mode 100644
index b4e8695d29732c1b239e935eba6e2224096e66a9..0000000000000000000000000000000000000000
--- a/x/streamswap/types/state.pb.go
+++ /dev/null
@@ -1,1400 +0,0 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: osmosis/streamswap/v1/state.proto
-
-package types
-
-import (
-	fmt "fmt"
-	_ "github.com/cosmos/cosmos-proto"
-	github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types"
-	_ "github.com/gogo/protobuf/gogoproto"
-	proto "github.com/gogo/protobuf/proto"
-	_ "github.com/gogo/protobuf/types"
-	github_com_gogo_protobuf_types "github.com/gogo/protobuf/types"
-	io "io"
-	math "math"
-	math_bits "math/bits"
-	time "time"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-var _ = time.Kitchen
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
-
-type Sale struct {
-	// Destination for the earned token_in
-	Treasury string `protobuf:"bytes,1,opt,name=treasury,proto3" json:"treasury,omitempty"`
-	Id       uint64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`
-	// token_out is a token denom to be bootstraped. May be referred as base
-	// currency, or a sale token.
-	TokenOut string `protobuf:"bytes,3,opt,name=token_out,json=tokenOut,proto3" json:"token_out,omitempty"`
-	// token_in is a token denom used to buy sale tokens (`token_out`). May be
-	// referred as quote_currency or payment token.
-	TokenIn string `protobuf:"bytes,4,opt,name=token_in,json=tokenIn,proto3" json:"token_in,omitempty"`
-	// total number of `tokens_out` to be sold during the continuous sale.
-	TokenOutSupply github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,5,opt,name=token_out_supply,json=tokenOutSupply,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"token_out_supply"`
-	// start time when the token emission starts.
-	StartTime time.Time `protobuf:"bytes,6,opt,name=start_time,json=startTime,proto3,stdtime" json:"start_time"`
-	// end time when the token emission ends. Can't be bigger than start +
-	// 139years (to avoid round overflow)
-	EndTime time.Time `protobuf:"bytes,7,opt,name=end_time,json=endTime,proto3,stdtime" json:"end_time"`
-	// Round number when the sale was last time updated.
-	Round int64 `protobuf:"varint,8,opt,name=round,proto3" json:"round,omitempty"`
-	// Last round of the Sale;
-	EndRound int64 `protobuf:"varint,9,opt,name=end_round,json=endRound,proto3" json:"end_round,omitempty"`
-	// amout of remaining token_out to sell
-	OutRemaining github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,10,opt,name=out_remaining,json=outRemaining,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"out_remaining"`
-	// amount of token_out sold
-	OutSold github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,11,opt,name=out_sold,json=outSold,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"out_sold"`
-	// out token per share
-	OutPerShare github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,12,opt,name=out_per_share,json=outPerShare,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"out_per_share"`
-	// total amount of currently staked coins (token_in) but not spent coins.
-	Staked github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,13,opt,name=staked,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"staked"`
-	// total amount of earned coins (token_in)
-	Income github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,14,opt,name=income,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"income"`
-	// total amount of shares
-	Shares github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,15,opt,name=shares,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"shares"`
-	// Name for the sale.
-	Name string `protobuf:"bytes,20,opt,name=name,proto3" json:"name,omitempty"`
-	// URL with sale and project details.
-	Url string `protobuf:"bytes,21,opt,name=url,proto3" json:"url,omitempty"`
-}
-
-func (m *Sale) Reset()         { *m = Sale{} }
-func (m *Sale) String() string { return proto.CompactTextString(m) }
-func (*Sale) ProtoMessage()    {}
-func (*Sale) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7602494b1425cb83, []int{0}
-}
-func (m *Sale) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
-}
-func (m *Sale) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_Sale.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalToSizedBuffer(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
-}
-func (m *Sale) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Sale.Merge(m, src)
-}
-func (m *Sale) XXX_Size() int {
-	return m.Size()
-}
-func (m *Sale) XXX_DiscardUnknown() {
-	xxx_messageInfo_Sale.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Sale proto.InternalMessageInfo
-
-// UserPosition represents user account in a sale
-type UserPosition struct {
-	Shares github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,1,opt,name=shares,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"shares"`
-	// total number of currently staked tokens
-	Staked github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,2,opt,name=staked,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"staked"`
-	// last token/share ratio
-	OutPerShare github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,3,opt,name=out_per_share,json=outPerShare,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"out_per_share"`
-	// amount of token_in spent
-	Spent github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,4,opt,name=spent,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"spent"`
-	// Amount of accumulated, not withdrawn, purchased tokens (token_out)
-	Purchased github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,5,opt,name=purchased,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"purchased"`
-}
-
-func (m *UserPosition) Reset()         { *m = UserPosition{} }
-func (m *UserPosition) String() string { return proto.CompactTextString(m) }
-func (*UserPosition) ProtoMessage()    {}
-func (*UserPosition) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7602494b1425cb83, []int{1}
-}
-func (m *UserPosition) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
-}
-func (m *UserPosition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_UserPosition.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalToSizedBuffer(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
-}
-func (m *UserPosition) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_UserPosition.Merge(m, src)
-}
-func (m *UserPosition) XXX_Size() int {
-	return m.Size()
-}
-func (m *UserPosition) XXX_DiscardUnknown() {
-	xxx_messageInfo_UserPosition.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_UserPosition proto.InternalMessageInfo
-
-func init() {
-	proto.RegisterType((*Sale)(nil), "osmosis.streamswap.v1.Sale")
-	proto.RegisterType((*UserPosition)(nil), "osmosis.streamswap.v1.UserPosition")
-}
-
-func init() { proto.RegisterFile("osmosis/streamswap/v1/state.proto", fileDescriptor_7602494b1425cb83) }
-
-var fileDescriptor_7602494b1425cb83 = []byte{
-	// 584 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x94, 0xcb, 0x6a, 0xdb, 0x4c,
-	0x14, 0xc7, 0x2d, 0xdb, 0xf1, 0x65, 0x72, 0xf9, 0xc2, 0x90, 0xc0, 0xc4, 0x1f, 0xc8, 0x6e, 0x16,
-	0xc5, 0x9b, 0x48, 0x24, 0x85, 0x6e, 0x0b, 0x69, 0x29, 0x18, 0x0a, 0x0d, 0x72, 0x0a, 0xa5, 0x1b,
-	0x31, 0xb6, 0xa6, 0xb2, 0xb0, 0x34, 0x23, 0xe6, 0xe2, 0xd6, 0x2f, 0xd0, 0x75, 0x1e, 0xcb, 0xcb,
-	0x2c, 0x4b, 0x17, 0x69, 0x6b, 0x3f, 0x40, 0x5f, 0xa1, 0xcc, 0x8c, 0x1c, 0x1b, 0xba, 0x8a, 0xbc,
-	0xf2, 0x9c, 0xcb, 0xff, 0x77, 0x0e, 0x7f, 0x99, 0x03, 0x9e, 0x31, 0x91, 0x31, 0x91, 0x08, 0x5f,
-	0x48, 0x4e, 0x70, 0x26, 0xbe, 0xe0, 0xdc, 0x9f, 0x5d, 0xfa, 0x42, 0x62, 0x49, 0xbc, 0x9c, 0x33,
-	0xc9, 0xe0, 0x69, 0xd1, 0xe2, 0x6d, 0x5a, 0xbc, 0xd9, 0x65, 0xa7, 0x1b, 0x33, 0x16, 0xa7, 0xc4,
-	0x37, 0x4d, 0x23, 0xf5, 0xd9, 0x97, 0x49, 0x46, 0x84, 0xc4, 0x59, 0x6e, 0x75, 0x9d, 0xb3, 0xb1,
-	0x11, 0x86, 0x26, 0xf2, 0x6d, 0x50, 0x94, 0x4e, 0x62, 0x16, 0x33, 0x9b, 0xd7, 0x2f, 0x9b, 0x3d,
-	0xff, 0xd3, 0x00, 0xf5, 0x21, 0x4e, 0x09, 0xec, 0x80, 0x96, 0x1e, 0x25, 0x14, 0x9f, 0x23, 0xa7,
-	0xe7, 0xf4, 0xdb, 0xc1, 0x63, 0x0c, 0x8f, 0x40, 0x35, 0x89, 0x50, 0xb5, 0xe7, 0xf4, 0xeb, 0x41,
-	0x35, 0x89, 0xe0, 0xff, 0xa0, 0x2d, 0xd9, 0x94, 0xd0, 0x90, 0x29, 0x89, 0x6a, 0x45, 0xb3, 0x4e,
-	0xbc, 0x57, 0x12, 0x9e, 0x01, 0xfb, 0x0e, 0x13, 0x8a, 0xea, 0xa6, 0xd6, 0x34, 0xf1, 0x80, 0xc2,
-	0x8f, 0xe0, 0xf8, 0x51, 0x17, 0x0a, 0x95, 0xe7, 0xe9, 0x1c, 0xed, 0xe9, 0x96, 0x6b, 0x6f, 0xf1,
-	0xd0, 0xad, 0xfc, 0x78, 0xe8, 0x3e, 0x8f, 0x13, 0x39, 0x51, 0x23, 0x6f, 0xcc, 0xb2, 0x62, 0xfb,
-	0xe2, 0xe7, 0x42, 0x44, 0x53, 0x5f, 0xce, 0x73, 0x22, 0xbc, 0x01, 0x95, 0xc1, 0xd1, 0x7a, 0xdc,
-	0xd0, 0x50, 0xe0, 0x6b, 0x00, 0x84, 0xc4, 0x5c, 0x86, 0xda, 0x10, 0xd4, 0xe8, 0x39, 0xfd, 0xfd,
-	0xab, 0x8e, 0x67, 0xdd, 0xf2, 0xd6, 0x6e, 0x79, 0xb7, 0x6b, 0xb7, 0xae, 0x5b, 0x7a, 0xde, 0xdd,
-	0xcf, 0xae, 0x13, 0xb4, 0x8d, 0x4e, 0x57, 0xe0, 0x2b, 0xd0, 0x22, 0x34, 0xb2, 0x88, 0xe6, 0x13,
-	0x10, 0x4d, 0x42, 0x23, 0x03, 0x38, 0x01, 0x7b, 0x9c, 0x29, 0x1a, 0xa1, 0x56, 0xcf, 0xe9, 0xd7,
-	0x02, 0x1b, 0x68, 0xb7, 0x34, 0xd6, 0x56, 0xda, 0xa6, 0xa2, 0xe7, 0x04, 0xa6, 0x38, 0x04, 0x87,
-	0xda, 0x0c, 0x4e, 0x32, 0x9c, 0xd0, 0x84, 0xc6, 0x08, 0x94, 0xf2, 0xe3, 0x80, 0x29, 0x19, 0xac,
-	0x19, 0x70, 0x00, 0x5a, 0xc6, 0x61, 0x96, 0x46, 0x68, 0xbf, 0x14, 0xaf, 0xc9, 0x94, 0x1c, 0xb2,
-	0x34, 0x82, 0x81, 0xdd, 0x2f, 0x27, 0x3c, 0x14, 0x13, 0xcc, 0x09, 0x3a, 0x28, 0xc5, 0xdb, 0x67,
-	0x4a, 0xde, 0x10, 0x3e, 0xd4, 0x08, 0xf8, 0x16, 0x34, 0x84, 0xc4, 0x53, 0x12, 0xa1, 0xc3, 0x52,
-	0xb0, 0x42, 0xad, 0x39, 0x09, 0x1d, 0xb3, 0x8c, 0xa0, 0xa3, 0x72, 0x1c, 0xab, 0x36, 0xfb, 0xe8,
-	0xc5, 0x04, 0xfa, 0xaf, 0xe4, 0x3e, 0x46, 0x0d, 0x21, 0xa8, 0x53, 0x9c, 0x11, 0x74, 0x62, 0xfe,
-	0xf5, 0xe6, 0x0d, 0x8f, 0x41, 0x4d, 0xf1, 0x14, 0x9d, 0x9a, 0x94, 0x7e, 0x9e, 0x7f, 0xab, 0x81,
-	0x83, 0x0f, 0x82, 0xf0, 0x1b, 0x26, 0x12, 0x99, 0x30, 0xba, 0x35, 0xde, 0xd9, 0x69, 0xfc, 0xc6,
-	0xd6, 0xea, 0x4e, 0xb6, 0xfe, 0xf3, 0xc9, 0x6b, 0xbb, 0x7f, 0xf2, 0x37, 0x60, 0x4f, 0xe4, 0x84,
-	0x4a, 0x7b, 0x11, 0x9e, 0xcc, 0xb2, 0x62, 0xf8, 0x0e, 0xb4, 0x73, 0xc5, 0xc7, 0x13, 0x2c, 0x48,
-	0x54, 0xf2, 0x70, 0x6c, 0x00, 0xd7, 0xb7, 0x8b, 0xdf, 0x6e, 0x65, 0xb1, 0x74, 0x9d, 0xfb, 0xa5,
-	0xeb, 0xfc, 0x5a, 0xba, 0xce, 0xdd, 0xca, 0xad, 0xdc, 0xaf, 0xdc, 0xca, 0xf7, 0x95, 0x5b, 0xf9,
-	0xf4, 0x72, 0x0b, 0x58, 0x1c, 0xe3, 0x8b, 0x14, 0x8f, 0xc4, 0x3a, 0xf0, 0x67, 0x97, 0x57, 0xfe,
-	0xd7, 0xed, 0x13, 0x6e, 0x86, 0x8c, 0x1a, 0xe6, 0x54, 0xbc, 0xf8, 0x1b, 0x00, 0x00, 0xff, 0xff,
-	0xae, 0x73, 0x1c, 0x24, 0xe5, 0x05, 0x00, 0x00,
-}
-
-func (m *Sale) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalToSizedBuffer(dAtA[:size])
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (m *Sale) MarshalTo(dAtA []byte) (int, error) {
-	size := m.Size()
-	return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Sale) MarshalToSizedBuffer(dAtA []byte) (int, error) {
-	i := len(dAtA)
-	_ = i
-	var l int
-	_ = l
-	if len(m.Url) > 0 {
-		i -= len(m.Url)
-		copy(dAtA[i:], m.Url)
-		i = encodeVarintState(dAtA, i, uint64(len(m.Url)))
-		i--
-		dAtA[i] = 0x1
-		i--
-		dAtA[i] = 0xaa
-	}
-	if len(m.Name) > 0 {
-		i -= len(m.Name)
-		copy(dAtA[i:], m.Name)
-		i = encodeVarintState(dAtA, i, uint64(len(m.Name)))
-		i--
-		dAtA[i] = 0x1
-		i--
-		dAtA[i] = 0xa2
-	}
-	{
-		size := m.Shares.Size()
-		i -= size
-		if _, err := m.Shares.MarshalTo(dAtA[i:]); err != nil {
-			return 0, err
-		}
-		i = encodeVarintState(dAtA, i, uint64(size))
-	}
-	i--
-	dAtA[i] = 0x7a
-	{
-		size := m.Income.Size()
-		i -= size
-		if _, err := m.Income.MarshalTo(dAtA[i:]); err != nil {
-			return 0, err
-		}
-		i = encodeVarintState(dAtA, i, uint64(size))
-	}
-	i--
-	dAtA[i] = 0x72
-	{
-		size := m.Staked.Size()
-		i -= size
-		if _, err := m.Staked.MarshalTo(dAtA[i:]); err != nil {
-			return 0, err
-		}
-		i = encodeVarintState(dAtA, i, uint64(size))
-	}
-	i--
-	dAtA[i] = 0x6a
-	{
-		size := m.OutPerShare.Size()
-		i -= size
-		if _, err := m.OutPerShare.MarshalTo(dAtA[i:]); err != nil {
-			return 0, err
-		}
-		i = encodeVarintState(dAtA, i, uint64(size))
-	}
-	i--
-	dAtA[i] = 0x62
-	{
-		size := m.OutSold.Size()
-		i -= size
-		if _, err := m.OutSold.MarshalTo(dAtA[i:]); err != nil {
-			return 0, err
-		}
-		i = encodeVarintState(dAtA, i, uint64(size))
-	}
-	i--
-	dAtA[i] = 0x5a
-	{
-		size := m.OutRemaining.Size()
-		i -= size
-		if _, err := m.OutRemaining.MarshalTo(dAtA[i:]); err != nil {
-			return 0, err
-		}
-		i = encodeVarintState(dAtA, i, uint64(size))
-	}
-	i--
-	dAtA[i] = 0x52
-	if m.EndRound != 0 {
-		i = encodeVarintState(dAtA, i, uint64(m.EndRound))
-		i--
-		dAtA[i] = 0x48
-	}
-	if m.Round != 0 {
-		i = encodeVarintState(dAtA, i, uint64(m.Round))
-		i--
-		dAtA[i] = 0x40
-	}
-	n1, err1 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.EndTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.EndTime):])
-	if err1 != nil {
-		return 0, err1
-	}
-	i -= n1
-	i = encodeVarintState(dAtA, i, uint64(n1))
-	i--
-	dAtA[i] = 0x3a
-	n2, err2 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.StartTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.StartTime):])
-	if err2 != nil {
-		return 0, err2
-	}
-	i -= n2
-	i = encodeVarintState(dAtA, i, uint64(n2))
-	i--
-	dAtA[i] = 0x32
-	{
-		size := m.TokenOutSupply.Size()
-		i -= size
-		if _, err := m.TokenOutSupply.MarshalTo(dAtA[i:]); err != nil {
-			return 0, err
-		}
-		i = encodeVarintState(dAtA, i, uint64(size))
-	}
-	i--
-	dAtA[i] = 0x2a
-	if len(m.TokenIn) > 0 {
-		i -= len(m.TokenIn)
-		copy(dAtA[i:], m.TokenIn)
-		i = encodeVarintState(dAtA, i, uint64(len(m.TokenIn)))
-		i--
-		dAtA[i] = 0x22
-	}
-	if len(m.TokenOut) > 0 {
-		i -= len(m.TokenOut)
-		copy(dAtA[i:], m.TokenOut)
-		i = encodeVarintState(dAtA, i, uint64(len(m.TokenOut)))
-		i--
-		dAtA[i] = 0x1a
-	}
-	if m.Id != 0 {
-		i = encodeVarintState(dAtA, i, uint64(m.Id))
-		i--
-		dAtA[i] = 0x10
-	}
-	if len(m.Treasury) > 0 {
-		i -= len(m.Treasury)
-		copy(dAtA[i:], m.Treasury)
-		i = encodeVarintState(dAtA, i, uint64(len(m.Treasury)))
-		i--
-		dAtA[i] = 0xa
-	}
-	return len(dAtA) - i, nil
-}
-
-func (m *UserPosition) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalToSizedBuffer(dAtA[:size])
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (m *UserPosition) MarshalTo(dAtA []byte) (int, error) {
-	size := m.Size()
-	return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *UserPosition) MarshalToSizedBuffer(dAtA []byte) (int, error) {
-	i := len(dAtA)
-	_ = i
-	var l int
-	_ = l
-	{
-		size := m.Purchased.Size()
-		i -= size
-		if _, err := m.Purchased.MarshalTo(dAtA[i:]); err != nil {
-			return 0, err
-		}
-		i = encodeVarintState(dAtA, i, uint64(size))
-	}
-	i--
-	dAtA[i] = 0x2a
-	{
-		size := m.Spent.Size()
-		i -= size
-		if _, err := m.Spent.MarshalTo(dAtA[i:]); err != nil {
-			return 0, err
-		}
-		i = encodeVarintState(dAtA, i, uint64(size))
-	}
-	i--
-	dAtA[i] = 0x22
-	{
-		size := m.OutPerShare.Size()
-		i -= size
-		if _, err := m.OutPerShare.MarshalTo(dAtA[i:]); err != nil {
-			return 0, err
-		}
-		i = encodeVarintState(dAtA, i, uint64(size))
-	}
-	i--
-	dAtA[i] = 0x1a
-	{
-		size := m.Staked.Size()
-		i -= size
-		if _, err := m.Staked.MarshalTo(dAtA[i:]); err != nil {
-			return 0, err
-		}
-		i = encodeVarintState(dAtA, i, uint64(size))
-	}
-	i--
-	dAtA[i] = 0x12
-	{
-		size := m.Shares.Size()
-		i -= size
-		if _, err := m.Shares.MarshalTo(dAtA[i:]); err != nil {
-			return 0, err
-		}
-		i = encodeVarintState(dAtA, i, uint64(size))
-	}
-	i--
-	dAtA[i] = 0xa
-	return len(dAtA) - i, nil
-}
-
-func encodeVarintState(dAtA []byte, offset int, v uint64) int {
-	offset -= sovState(v)
-	base := offset
-	for v >= 1<<7 {
-		dAtA[offset] = uint8(v&0x7f | 0x80)
-		v >>= 7
-		offset++
-	}
-	dAtA[offset] = uint8(v)
-	return base
-}
-func (m *Sale) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	l = len(m.Treasury)
-	if l > 0 {
-		n += 1 + l + sovState(uint64(l))
-	}
-	if m.Id != 0 {
-		n += 1 + sovState(uint64(m.Id))
-	}
-	l = len(m.TokenOut)
-	if l > 0 {
-		n += 1 + l + sovState(uint64(l))
-	}
-	l = len(m.TokenIn)
-	if l > 0 {
-		n += 1 + l + sovState(uint64(l))
-	}
-	l = m.TokenOutSupply.Size()
-	n += 1 + l + sovState(uint64(l))
-	l = github_com_gogo_protobuf_types.SizeOfStdTime(m.StartTime)
-	n += 1 + l + sovState(uint64(l))
-	l = github_com_gogo_protobuf_types.SizeOfStdTime(m.EndTime)
-	n += 1 + l + sovState(uint64(l))
-	if m.Round != 0 {
-		n += 1 + sovState(uint64(m.Round))
-	}
-	if m.EndRound != 0 {
-		n += 1 + sovState(uint64(m.EndRound))
-	}
-	l = m.OutRemaining.Size()
-	n += 1 + l + sovState(uint64(l))
-	l = m.OutSold.Size()
-	n += 1 + l + sovState(uint64(l))
-	l = m.OutPerShare.Size()
-	n += 1 + l + sovState(uint64(l))
-	l = m.Staked.Size()
-	n += 1 + l + sovState(uint64(l))
-	l = m.Income.Size()
-	n += 1 + l + sovState(uint64(l))
-	l = m.Shares.Size()
-	n += 1 + l + sovState(uint64(l))
-	l = len(m.Name)
-	if l > 0 {
-		n += 2 + l + sovState(uint64(l))
-	}
-	l = len(m.Url)
-	if l > 0 {
-		n += 2 + l + sovState(uint64(l))
-	}
-	return n
-}
-
-func (m *UserPosition) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	l = m.Shares.Size()
-	n += 1 + l + sovState(uint64(l))
-	l = m.Staked.Size()
-	n += 1 + l + sovState(uint64(l))
-	l = m.OutPerShare.Size()
-	n += 1 + l + sovState(uint64(l))
-	l = m.Spent.Size()
-	n += 1 + l + sovState(uint64(l))
-	l = m.Purchased.Size()
-	n += 1 + l + sovState(uint64(l))
-	return n
-}
-
-func sovState(x uint64) (n int) {
-	return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozState(x uint64) (n int) {
-	return sovState(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (m *Sale) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowState
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: Sale: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: Sale: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Treasury", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowState
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthState
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthState
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.Treasury = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 2:
-			if wireType != 0 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
-			}
-			m.Id = 0
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowState
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				m.Id |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-		case 3:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field TokenOut", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowState
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthState
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthState
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.TokenOut = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 4:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field TokenIn", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowState
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthState
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthState
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.TokenIn = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 5:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field TokenOutSupply", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowState
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthState
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthState
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if err := m.TokenOutSupply.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		case 6:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field StartTime", wireType)
-			}
-			var msglen int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowState
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				msglen |= int(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if msglen < 0 {
-				return ErrInvalidLengthState
-			}
-			postIndex := iNdEx + msglen
-			if postIndex < 0 {
-				return ErrInvalidLengthState
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.StartTime, dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		case 7:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field EndTime", wireType)
-			}
-			var msglen int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowState
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				msglen |= int(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if msglen < 0 {
-				return ErrInvalidLengthState
-			}
-			postIndex := iNdEx + msglen
-			if postIndex < 0 {
-				return ErrInvalidLengthState
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.EndTime, dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		case 8:
-			if wireType != 0 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Round", wireType)
-			}
-			m.Round = 0
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowState
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				m.Round |= int64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-		case 9:
-			if wireType != 0 {
-				return fmt.Errorf("proto: wrong wireType = %d for field EndRound", wireType)
-			}
-			m.EndRound = 0
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowState
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				m.EndRound |= int64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-		case 10:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field OutRemaining", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowState
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthState
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthState
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if err := m.OutRemaining.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		case 11:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field OutSold", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowState
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthState
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthState
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if err := m.OutSold.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		case 12:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field OutPerShare", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowState
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthState
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthState
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if err := m.OutPerShare.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		case 13:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Staked", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowState
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthState
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthState
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if err := m.Staked.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		case 14:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Income", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowState
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthState
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthState
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if err := m.Income.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		case 15:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Shares", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowState
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthState
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthState
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if err := m.Shares.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		case 20:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowState
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthState
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthState
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.Name = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 21:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Url", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowState
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthState
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthState
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.Url = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		default:
-			iNdEx = preIndex
-			skippy, err := skipState(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if (skippy < 0) || (iNdEx+skippy) < 0 {
-				return ErrInvalidLengthState
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func (m *UserPosition) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowState
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: UserPosition: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: UserPosition: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Shares", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowState
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthState
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthState
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if err := m.Shares.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		case 2:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Staked", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowState
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthState
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthState
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if err := m.Staked.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		case 3:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field OutPerShare", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowState
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthState
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthState
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if err := m.OutPerShare.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		case 4:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Spent", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowState
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthState
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthState
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if err := m.Spent.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		case 5:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Purchased", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowState
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthState
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthState
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if err := m.Purchased.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		default:
-			iNdEx = preIndex
-			skippy, err := skipState(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if (skippy < 0) || (iNdEx+skippy) < 0 {
-				return ErrInvalidLengthState
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func skipState(dAtA []byte) (n int, err error) {
-	l := len(dAtA)
-	iNdEx := 0
-	depth := 0
-	for iNdEx < l {
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return 0, ErrIntOverflowState
-			}
-			if iNdEx >= l {
-				return 0, io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= (uint64(b) & 0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		wireType := int(wire & 0x7)
-		switch wireType {
-		case 0:
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return 0, ErrIntOverflowState
-				}
-				if iNdEx >= l {
-					return 0, io.ErrUnexpectedEOF
-				}
-				iNdEx++
-				if dAtA[iNdEx-1] < 0x80 {
-					break
-				}
-			}
-		case 1:
-			iNdEx += 8
-		case 2:
-			var length int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return 0, ErrIntOverflowState
-				}
-				if iNdEx >= l {
-					return 0, io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				length |= (int(b) & 0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if length < 0 {
-				return 0, ErrInvalidLengthState
-			}
-			iNdEx += length
-		case 3:
-			depth++
-		case 4:
-			if depth == 0 {
-				return 0, ErrUnexpectedEndOfGroupState
-			}
-			depth--
-		case 5:
-			iNdEx += 4
-		default:
-			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
-		}
-		if iNdEx < 0 {
-			return 0, ErrInvalidLengthState
-		}
-		if depth == 0 {
-			return iNdEx, nil
-		}
-	}
-	return 0, io.ErrUnexpectedEOF
-}
-
-var (
-	ErrInvalidLengthState        = fmt.Errorf("proto: negative length found during unmarshaling")
-	ErrIntOverflowState          = fmt.Errorf("proto: integer overflow")
-	ErrUnexpectedEndOfGroupState = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/x/streamswap/types/tx.pb.go b/x/streamswap/types/tx.pb.go
deleted file mode 100644
index eb6eaacc52fc3d849deb28f8cdfb72d86ce2949d..0000000000000000000000000000000000000000
--- a/x/streamswap/types/tx.pb.go
+++ /dev/null
@@ -1,2359 +0,0 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: osmosis/streamswap/v1/tx.proto
-
-package types
-
-import (
-	context "context"
-	fmt "fmt"
-	_ "github.com/cosmos/cosmos-proto"
-	github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types"
-	types "github.com/cosmos/cosmos-sdk/types"
-	_ "github.com/gogo/protobuf/gogoproto"
-	grpc1 "github.com/gogo/protobuf/grpc"
-	proto "github.com/gogo/protobuf/proto"
-	_ "github.com/gogo/protobuf/types"
-	github_com_gogo_protobuf_types "github.com/gogo/protobuf/types"
-	grpc "google.golang.org/grpc"
-	codes "google.golang.org/grpc/codes"
-	status "google.golang.org/grpc/status"
-	emptypb "google.golang.org/protobuf/types/known/emptypb"
-	io "io"
-	math "math"
-	math_bits "math/bits"
-	time "time"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-var _ = time.Kitchen
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
-
-type MsgCreateSale struct {
-	// Sale creator and the account which provides token (token_out) to the sale.
-	// When processing this message, token_out
-	Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"`
-	// token_in is a denom used to buy `token_out`. May be referred as a
-	// "quote currency".
-	TokenIn string `protobuf:"bytes,2,opt,name=token_in,json=tokenIn,proto3" json:"token_in,omitempty"`
-	// token_out is a coin supply (denom + amount) to sell. May be referred as
-	// "base currency". The whole supply will be transferred from the creator
-	// to the module and will be sold during the sale.
-	TokenOut types.Coin `protobuf:"bytes,3,opt,name=token_out,json=tokenOut,proto3" json:"token_out"`
-	// Maximum fee the creator is going to pay for creating a sale. The creator
-	// will be charged params.SaleCreationFee. Transaction will fail if
-	// max_fee is smaller than params.SaleCreationFee. If empty, the creator
-	// doesn't accept any fee.
-	MaxFee []types.Coin `protobuf:"bytes,4,rep,name=max_fee,json=maxFee,proto3" json:"max_fee"`
-	// start time when the token sale starts.
-	StartTime time.Time `protobuf:"bytes,5,opt,name=start_time,json=startTime,proto3,stdtime" json:"start_time"`
-	// duration time that the sale takes place over
-	Duration time.Duration `protobuf:"bytes,6,opt,name=duration,proto3,stdduration" json:"duration"`
-	// Recipient is the account which receives earned `token_in` from when the
-	// sale is finalized. If not defined (empty) the creator
-	// account will be used.
-	Recipient string `protobuf:"bytes,7,opt,name=recipient,proto3" json:"recipient,omitempty"`
-	// Name for the sale, max 40 characters, min 4. Required.
-	Name string `protobuf:"bytes,8,opt,name=name,proto3" json:"name,omitempty"`
-	// URL with sale and project details. Can be a link a link to IPFS,
-	// hackmd, project page, blog post... Max 120 characters. Must be
-	// valid agains Go url.ParseRequestURI. Required.
-	Url string `protobuf:"bytes,9,opt,name=url,proto3" json:"url,omitempty"`
-}
-
-func (m *MsgCreateSale) Reset()         { *m = MsgCreateSale{} }
-func (m *MsgCreateSale) String() string { return proto.CompactTextString(m) }
-func (*MsgCreateSale) ProtoMessage()    {}
-func (*MsgCreateSale) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4988bf90ab6cecf3, []int{0}
-}
-func (m *MsgCreateSale) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
-}
-func (m *MsgCreateSale) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_MsgCreateSale.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalToSizedBuffer(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
-}
-func (m *MsgCreateSale) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_MsgCreateSale.Merge(m, src)
-}
-func (m *MsgCreateSale) XXX_Size() int {
-	return m.Size()
-}
-func (m *MsgCreateSale) XXX_DiscardUnknown() {
-	xxx_messageInfo_MsgCreateSale.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_MsgCreateSale proto.InternalMessageInfo
-
-type MsgCreateSaleResponse struct {
-	SaleId uint64 `protobuf:"varint,1,opt,name=sale_id,json=saleId,proto3" json:"sale_id,omitempty" yaml:"sale_id"`
-}
-
-func (m *MsgCreateSaleResponse) Reset()         { *m = MsgCreateSaleResponse{} }
-func (m *MsgCreateSaleResponse) String() string { return proto.CompactTextString(m) }
-func (*MsgCreateSaleResponse) ProtoMessage()    {}
-func (*MsgCreateSaleResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4988bf90ab6cecf3, []int{1}
-}
-func (m *MsgCreateSaleResponse) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
-}
-func (m *MsgCreateSaleResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_MsgCreateSaleResponse.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalToSizedBuffer(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
-}
-func (m *MsgCreateSaleResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_MsgCreateSaleResponse.Merge(m, src)
-}
-func (m *MsgCreateSaleResponse) XXX_Size() int {
-	return m.Size()
-}
-func (m *MsgCreateSaleResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_MsgCreateSaleResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_MsgCreateSaleResponse proto.InternalMessageInfo
-
-type MsgSubscribe struct {
-	// sender is an account address adding a deposit
-	Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"`
-	// ID of an existing sale.
-	SaleId uint64 `protobuf:"varint,2,opt,name=sale_id,json=saleId,proto3" json:"sale_id,omitempty" yaml:"sale_id"`
-	// number of sale.token_in staked by a user.
-	Amount github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,3,opt,name=amount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"amount"`
-}
-
-func (m *MsgSubscribe) Reset()         { *m = MsgSubscribe{} }
-func (m *MsgSubscribe) String() string { return proto.CompactTextString(m) }
-func (*MsgSubscribe) ProtoMessage()    {}
-func (*MsgSubscribe) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4988bf90ab6cecf3, []int{2}
-}
-func (m *MsgSubscribe) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
-}
-func (m *MsgSubscribe) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_MsgSubscribe.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalToSizedBuffer(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
-}
-func (m *MsgSubscribe) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_MsgSubscribe.Merge(m, src)
-}
-func (m *MsgSubscribe) XXX_Size() int {
-	return m.Size()
-}
-func (m *MsgSubscribe) XXX_DiscardUnknown() {
-	xxx_messageInfo_MsgSubscribe.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_MsgSubscribe proto.InternalMessageInfo
-
-type MsgWithdraw struct {
-	// sender is an account address subscribed to the sale_id
-	Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"`
-	// ID of a sale.
-	SaleId uint64 `protobuf:"varint,2,opt,name=sale_id,json=saleId,proto3" json:"sale_id,omitempty" yaml:"sale_id"`
-	// amount of tokens_in to withdraw. Must be at most the amount of not spent
-	// tokens, unless set to null - then all remaining balance will be withdrawn.
-	Amount *github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,3,opt,name=amount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"amount,omitempty"`
-}
-
-func (m *MsgWithdraw) Reset()         { *m = MsgWithdraw{} }
-func (m *MsgWithdraw) String() string { return proto.CompactTextString(m) }
-func (*MsgWithdraw) ProtoMessage()    {}
-func (*MsgWithdraw) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4988bf90ab6cecf3, []int{3}
-}
-func (m *MsgWithdraw) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
-}
-func (m *MsgWithdraw) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_MsgWithdraw.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalToSizedBuffer(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
-}
-func (m *MsgWithdraw) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_MsgWithdraw.Merge(m, src)
-}
-func (m *MsgWithdraw) XXX_Size() int {
-	return m.Size()
-}
-func (m *MsgWithdraw) XXX_DiscardUnknown() {
-	xxx_messageInfo_MsgWithdraw.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_MsgWithdraw proto.InternalMessageInfo
-
-type MsgExitSale struct {
-	// sender is an account address exiting a sale
-	Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"`
-	// ID of an existing sale.
-	SaleId uint64 `protobuf:"varint,2,opt,name=sale_id,json=saleId,proto3" json:"sale_id,omitempty" yaml:"sale_id"`
-}
-
-func (m *MsgExitSale) Reset()         { *m = MsgExitSale{} }
-func (m *MsgExitSale) String() string { return proto.CompactTextString(m) }
-func (*MsgExitSale) ProtoMessage()    {}
-func (*MsgExitSale) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4988bf90ab6cecf3, []int{4}
-}
-func (m *MsgExitSale) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
-}
-func (m *MsgExitSale) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_MsgExitSale.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalToSizedBuffer(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
-}
-func (m *MsgExitSale) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_MsgExitSale.Merge(m, src)
-}
-func (m *MsgExitSale) XXX_Size() int {
-	return m.Size()
-}
-func (m *MsgExitSale) XXX_DiscardUnknown() {
-	xxx_messageInfo_MsgExitSale.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_MsgExitSale proto.InternalMessageInfo
-
-type MsgExitSaleResponse struct {
-	// Purchased amount of "out" tokens withdrawn to the user.
-	Purchased github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,1,opt,name=purchased,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"purchased"`
-}
-
-func (m *MsgExitSaleResponse) Reset()         { *m = MsgExitSaleResponse{} }
-func (m *MsgExitSaleResponse) String() string { return proto.CompactTextString(m) }
-func (*MsgExitSaleResponse) ProtoMessage()    {}
-func (*MsgExitSaleResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4988bf90ab6cecf3, []int{5}
-}
-func (m *MsgExitSaleResponse) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
-}
-func (m *MsgExitSaleResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_MsgExitSaleResponse.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalToSizedBuffer(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
-}
-func (m *MsgExitSaleResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_MsgExitSaleResponse.Merge(m, src)
-}
-func (m *MsgExitSaleResponse) XXX_Size() int {
-	return m.Size()
-}
-func (m *MsgExitSaleResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_MsgExitSaleResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_MsgExitSaleResponse proto.InternalMessageInfo
-
-type MsgFinalizeSale struct {
-	// sender is an account signing the message and triggering the finalization.
-	Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"`
-	// ID of an existing sale.
-	SaleId uint64 `protobuf:"varint,2,opt,name=sale_id,json=saleId,proto3" json:"sale_id,omitempty" yaml:"sale_id"`
-}
-
-func (m *MsgFinalizeSale) Reset()         { *m = MsgFinalizeSale{} }
-func (m *MsgFinalizeSale) String() string { return proto.CompactTextString(m) }
-func (*MsgFinalizeSale) ProtoMessage()    {}
-func (*MsgFinalizeSale) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4988bf90ab6cecf3, []int{6}
-}
-func (m *MsgFinalizeSale) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
-}
-func (m *MsgFinalizeSale) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_MsgFinalizeSale.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalToSizedBuffer(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
-}
-func (m *MsgFinalizeSale) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_MsgFinalizeSale.Merge(m, src)
-}
-func (m *MsgFinalizeSale) XXX_Size() int {
-	return m.Size()
-}
-func (m *MsgFinalizeSale) XXX_DiscardUnknown() {
-	xxx_messageInfo_MsgFinalizeSale.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_MsgFinalizeSale proto.InternalMessageInfo
-
-type MsgFinalizeSaleResponse struct {
-	// Income amount of token_in sent to the sale recipient.
-	Income github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,1,opt,name=income,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"income"`
-}
-
-func (m *MsgFinalizeSaleResponse) Reset()         { *m = MsgFinalizeSaleResponse{} }
-func (m *MsgFinalizeSaleResponse) String() string { return proto.CompactTextString(m) }
-func (*MsgFinalizeSaleResponse) ProtoMessage()    {}
-func (*MsgFinalizeSaleResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4988bf90ab6cecf3, []int{7}
-}
-func (m *MsgFinalizeSaleResponse) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
-}
-func (m *MsgFinalizeSaleResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_MsgFinalizeSaleResponse.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalToSizedBuffer(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
-}
-func (m *MsgFinalizeSaleResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_MsgFinalizeSaleResponse.Merge(m, src)
-}
-func (m *MsgFinalizeSaleResponse) XXX_Size() int {
-	return m.Size()
-}
-func (m *MsgFinalizeSaleResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_MsgFinalizeSaleResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_MsgFinalizeSaleResponse proto.InternalMessageInfo
-
-func init() {
-	proto.RegisterType((*MsgCreateSale)(nil), "osmosis.streamswap.v1.MsgCreateSale")
-	proto.RegisterType((*MsgCreateSaleResponse)(nil), "osmosis.streamswap.v1.MsgCreateSaleResponse")
-	proto.RegisterType((*MsgSubscribe)(nil), "osmosis.streamswap.v1.MsgSubscribe")
-	proto.RegisterType((*MsgWithdraw)(nil), "osmosis.streamswap.v1.MsgWithdraw")
-	proto.RegisterType((*MsgExitSale)(nil), "osmosis.streamswap.v1.MsgExitSale")
-	proto.RegisterType((*MsgExitSaleResponse)(nil), "osmosis.streamswap.v1.MsgExitSaleResponse")
-	proto.RegisterType((*MsgFinalizeSale)(nil), "osmosis.streamswap.v1.MsgFinalizeSale")
-	proto.RegisterType((*MsgFinalizeSaleResponse)(nil), "osmosis.streamswap.v1.MsgFinalizeSaleResponse")
-}
-
-func init() { proto.RegisterFile("osmosis/streamswap/v1/tx.proto", fileDescriptor_4988bf90ab6cecf3) }
-
-var fileDescriptor_4988bf90ab6cecf3 = []byte{
-	// 738 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0xdf, 0x4e, 0x13, 0x4f,
-	0x14, 0xee, 0xd2, 0xfe, 0xda, 0xee, 0x81, 0x9f, 0x9a, 0x51, 0x70, 0xa9, 0x66, 0x4b, 0x56, 0x43,
-	0x88, 0xca, 0x6e, 0x8a, 0x89, 0x31, 0xc6, 0xc4, 0xa4, 0x40, 0x23, 0x89, 0x8d, 0x49, 0x21, 0x9a,
-	0x70, 0x53, 0x67, 0xb7, 0xc3, 0x32, 0xa1, 0xbb, 0xb3, 0xd9, 0x99, 0x2d, 0xc5, 0x07, 0xf0, 0x9a,
-	0x4b, 0xa3, 0xcf, 0xe2, 0x3d, 0x97, 0x5c, 0x1a, 0x2f, 0x50, 0xe1, 0x0d, 0x7c, 0x02, 0xb3, 0x7f,
-	0x5b, 0xaa, 0x15, 0x24, 0x78, 0xd5, 0x39, 0xfb, 0x7d, 0xe7, 0x9b, 0x6f, 0xce, 0x39, 0x33, 0x05,
-	0x95, 0x71, 0x87, 0x71, 0xca, 0x0d, 0x2e, 0x7c, 0x82, 0x1d, 0xbe, 0x8b, 0x3d, 0xa3, 0x57, 0x33,
-	0x44, 0x5f, 0xf7, 0x7c, 0x26, 0x18, 0x9a, 0x4e, 0x70, 0x7d, 0x80, 0xeb, 0xbd, 0x5a, 0xe5, 0x86,
-	0xcd, 0x6c, 0x16, 0x31, 0x8c, 0x70, 0x15, 0x93, 0x2b, 0xaa, 0xcd, 0x98, 0xdd, 0x25, 0x46, 0x14,
-	0x99, 0xc1, 0x96, 0xd1, 0x09, 0x7c, 0x2c, 0x28, 0x73, 0x13, 0xbc, 0x3a, 0x8a, 0x0b, 0xea, 0x10,
-	0x2e, 0xb0, 0xe3, 0x25, 0x84, 0x5b, 0xa3, 0x04, 0xe2, 0x78, 0x62, 0x2f, 0x55, 0xb7, 0x22, 0x2f,
-	0x86, 0x89, 0x39, 0x31, 0x7a, 0x35, 0x93, 0x08, 0x5c, 0x33, 0x2c, 0x46, 0x53, 0xf5, 0xd9, 0x18,
-	0x6f, 0xc7, 0xb6, 0xe2, 0x20, 0x86, 0xb4, 0x77, 0x79, 0xf8, 0xbf, 0xc9, 0xed, 0x65, 0x9f, 0x60,
-	0x41, 0xd6, 0x71, 0x97, 0x20, 0x05, 0x4a, 0x56, 0x18, 0x31, 0x5f, 0x91, 0xe6, 0xa4, 0x05, 0xb9,
-	0x95, 0x86, 0x68, 0x16, 0xca, 0x82, 0xed, 0x10, 0xb7, 0x4d, 0x5d, 0x65, 0x22, 0x86, 0xa2, 0x78,
-	0xcd, 0x45, 0x4f, 0x41, 0x8e, 0x21, 0x16, 0x08, 0x25, 0x3f, 0x27, 0x2d, 0x4c, 0x2e, 0xcd, 0xea,
-	0xc9, 0x46, 0xa1, 0x2b, 0x3d, 0x71, 0xa5, 0x2f, 0x33, 0xea, 0xd6, 0x0b, 0x07, 0x47, 0xd5, 0x5c,
-	0x2b, 0x16, 0x7b, 0x19, 0x08, 0xf4, 0x18, 0x4a, 0x0e, 0xee, 0xb7, 0xb7, 0x08, 0x51, 0x0a, 0x73,
-	0xf9, 0xf3, 0xe4, 0x16, 0x1d, 0xdc, 0x6f, 0x10, 0x82, 0x96, 0x01, 0xb8, 0xc0, 0xbe, 0x68, 0x87,
-	0xf5, 0x52, 0xfe, 0x8b, 0x36, 0xae, 0xe8, 0x71, 0xad, 0xf4, 0xb4, 0x56, 0xfa, 0x46, 0x5a, 0xcc,
-	0x7a, 0x39, 0xcc, 0xde, 0xff, 0x5a, 0x95, 0x5a, 0x72, 0x94, 0x17, 0x22, 0xe8, 0x19, 0x94, 0xd3,
-	0x76, 0x28, 0xc5, 0xc4, 0xfb, 0xa8, 0xc4, 0x4a, 0x42, 0x88, 0x15, 0xde, 0x87, 0x0a, 0x59, 0x12,
-	0xba, 0x0d, 0xb2, 0x4f, 0x2c, 0xea, 0x51, 0xe2, 0x0a, 0xa5, 0x14, 0x55, 0x66, 0xf0, 0x01, 0x21,
-	0x28, 0xb8, 0xd8, 0x21, 0x4a, 0x39, 0x02, 0xa2, 0x35, 0xba, 0x06, 0xf9, 0xc0, 0xef, 0x2a, 0x72,
-	0xf4, 0x29, 0x5c, 0x6a, 0x2b, 0x30, 0x7d, 0xaa, 0x0f, 0x2d, 0xc2, 0x3d, 0xe6, 0x72, 0x82, 0xee,
-	0x43, 0x89, 0xe3, 0x2e, 0x69, 0xd3, 0x4e, 0xd4, 0x8f, 0x42, 0x1d, 0xfd, 0x38, 0xaa, 0x5e, 0xd9,
-	0xc3, 0x4e, 0xf7, 0x89, 0x96, 0x00, 0x5a, 0xab, 0x18, 0xae, 0xd6, 0x3a, 0xda, 0x47, 0x09, 0xa6,
-	0x9a, 0xdc, 0x5e, 0x0f, 0x4c, 0x6e, 0xf9, 0xd4, 0x24, 0x68, 0x06, 0x8a, 0x9c, 0xb8, 0x1d, 0x92,
-	0x36, 0x33, 0x89, 0x86, 0x55, 0x27, 0xce, 0x52, 0x45, 0x0d, 0x28, 0x62, 0x87, 0x05, 0x6e, 0xdc,
-	0x5a, 0xb9, 0xae, 0x87, 0x35, 0xf8, 0x72, 0x54, 0x9d, 0xb7, 0xa9, 0xd8, 0x0e, 0x4c, 0xdd, 0x62,
-	0x4e, 0x32, 0x55, 0xc9, 0xcf, 0x22, 0xef, 0xec, 0x18, 0x62, 0xcf, 0x23, 0x5c, 0x5f, 0x73, 0x45,
-	0x2b, 0xc9, 0xd6, 0x3e, 0x48, 0x30, 0xd9, 0xe4, 0xf6, 0x6b, 0x2a, 0xb6, 0x3b, 0x3e, 0xde, 0xfd,
-	0x77, 0xe6, 0xa4, 0x0b, 0x98, 0x6b, 0x45, 0xde, 0x56, 0xfb, 0x54, 0x44, 0xd7, 0xe0, 0x32, 0xbc,
-	0x69, 0x16, 0x5c, 0x1f, 0xd2, 0xcc, 0x5a, 0xfa, 0x02, 0x64, 0x2f, 0xf0, 0xad, 0x6d, 0xcc, 0x49,
-	0xdc, 0xd4, 0xbf, 0x2f, 0xe9, 0x40, 0x40, 0x7b, 0x05, 0x57, 0x9b, 0xdc, 0x6e, 0x50, 0x17, 0x77,
-	0xe9, 0x5b, 0x72, 0x79, 0xe6, 0x31, 0xdc, 0x1c, 0xd1, 0xcd, 0x0e, 0xd0, 0x80, 0x22, 0x75, 0x2d,
-	0xe6, 0x90, 0x0b, 0xba, 0x4f, 0xb2, 0x97, 0x3e, 0xe5, 0x21, 0xdf, 0xe4, 0x36, 0x7a, 0x03, 0x30,
-	0xf4, 0x02, 0xdd, 0xd5, 0x7f, 0xfb, 0xb4, 0xea, 0xa7, 0xee, 0x47, 0xe5, 0xc1, 0x79, 0x58, 0x99,
-	0xe3, 0xe7, 0x20, 0x0f, 0x2e, 0xc5, 0x9d, 0xf1, 0xa9, 0x19, 0xa9, 0x32, 0xf3, 0xcb, 0x1b, 0xb0,
-	0x1a, 0x3e, 0xb9, 0xa8, 0x01, 0xe5, 0x6c, 0x80, 0xb5, 0xf1, 0x42, 0x29, 0x67, 0xac, 0xce, 0x26,
-	0x94, 0xb3, 0x61, 0xfb, 0x83, 0x4e, 0xca, 0xa9, 0xdc, 0x3b, 0x9b, 0x93, 0x9d, 0x76, 0x0b, 0xa6,
-	0x4e, 0xcd, 0xc3, 0xfc, 0xf8, 0xdc, 0x61, 0x5e, 0x45, 0x3f, 0x1f, 0x2f, 0xdd, 0xa7, 0xbe, 0x71,
-	0xf0, 0x5d, 0xcd, 0x1d, 0x1c, 0xab, 0xd2, 0xe1, 0xb1, 0x2a, 0x7d, 0x3b, 0x56, 0xa5, 0xfd, 0x13,
-	0x35, 0x77, 0x78, 0xa2, 0xe6, 0x3e, 0x9f, 0xa8, 0xb9, 0xcd, 0x47, 0x43, 0xd3, 0x90, 0xe8, 0x2e,
-	0x76, 0xb1, 0xc9, 0xd3, 0xc0, 0xe8, 0xd5, 0x96, 0x8c, 0xfe, 0xf0, 0xff, 0x6b, 0x34, 0x21, 0x66,
-	0x31, 0xaa, 0xd4, 0xc3, 0x9f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x58, 0xb3, 0x24, 0x42, 0x82, 0x07,
-	0x00, 0x00,
-}
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ context.Context
-var _ grpc.ClientConn
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the grpc package it is being compiled against.
-const _ = grpc.SupportPackageIsVersion4
-
-// MsgClient is the client API for Msg service.
-//
-// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
-type MsgClient interface {
-	// CreateSale creates new token sale. Anyone can create a new sale.
-	// params.SaleBond OSMO will be charged as a bond (returned in FinalizeSale)
-	// to avoid spams.
-	// The sale follows the streamswap functionality explained in the
-	// x/launchapd/spec
-	CreateSale(ctx context.Context, in *MsgCreateSale, opts ...grpc.CallOption) (*MsgCreateSaleResponse, error)
-	// Subscribe to a token sale. Any use at any time before the sale end can join
-	// the sale by sending `token_in` to the Sale through the Subscribe msg.
-	// During the sale, user `token_in` will be automatically charged every
-	// epoch to purchase `token_out`.
-	Subscribe(ctx context.Context, in *MsgSubscribe, opts ...grpc.CallOption) (*emptypb.Empty, error)
-	// Withdraw sends back `amount` of unspent tokens_in to the user.
-	// If `amount` is empty, it will default to all unspent tokens.
-	// User can do it any time unless his deposit is empty.
-	Withdraw(ctx context.Context, in *MsgWithdraw, opts ...grpc.CallOption) (*emptypb.Empty, error)
-	// ExitSale withdraws (by a user who subscribed to the sale) purchased
-	// tokens_out from the pool and remained tokens_in. Must be called after
-	// the sale end.
-	ExitSale(ctx context.Context, in *MsgExitSale, opts ...grpc.CallOption) (*MsgExitSaleResponse, error)
-	// FinalizeSale clean ups the sale and sends income (earned tokens_in) to the
-	// Sale recipient. Returns error if called before the Sale end or it was
-	// already finalized. Anyone can call this method.
-	FinalizeSale(ctx context.Context, in *MsgFinalizeSale, opts ...grpc.CallOption) (*MsgFinalizeSaleResponse, error)
-}
-
-type msgClient struct {
-	cc grpc1.ClientConn
-}
-
-func NewMsgClient(cc grpc1.ClientConn) MsgClient {
-	return &msgClient{cc}
-}
-
-func (c *msgClient) CreateSale(ctx context.Context, in *MsgCreateSale, opts ...grpc.CallOption) (*MsgCreateSaleResponse, error) {
-	out := new(MsgCreateSaleResponse)
-	err := c.cc.Invoke(ctx, "/osmosis.streamswap.v1.Msg/CreateSale", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-func (c *msgClient) Subscribe(ctx context.Context, in *MsgSubscribe, opts ...grpc.CallOption) (*emptypb.Empty, error) {
-	out := new(emptypb.Empty)
-	err := c.cc.Invoke(ctx, "/osmosis.streamswap.v1.Msg/Subscribe", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-func (c *msgClient) Withdraw(ctx context.Context, in *MsgWithdraw, opts ...grpc.CallOption) (*emptypb.Empty, error) {
-	out := new(emptypb.Empty)
-	err := c.cc.Invoke(ctx, "/osmosis.streamswap.v1.Msg/Withdraw", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-func (c *msgClient) ExitSale(ctx context.Context, in *MsgExitSale, opts ...grpc.CallOption) (*MsgExitSaleResponse, error) {
-	out := new(MsgExitSaleResponse)
-	err := c.cc.Invoke(ctx, "/osmosis.streamswap.v1.Msg/ExitSale", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-func (c *msgClient) FinalizeSale(ctx context.Context, in *MsgFinalizeSale, opts ...grpc.CallOption) (*MsgFinalizeSaleResponse, error) {
-	out := new(MsgFinalizeSaleResponse)
-	err := c.cc.Invoke(ctx, "/osmosis.streamswap.v1.Msg/FinalizeSale", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-// MsgServer is the server API for Msg service.
-type MsgServer interface {
-	// CreateSale creates new token sale. Anyone can create a new sale.
-	// params.SaleBond OSMO will be charged as a bond (returned in FinalizeSale)
-	// to avoid spams.
-	// The sale follows the streamswap functionality explained in the
-	// x/launchapd/spec
-	CreateSale(context.Context, *MsgCreateSale) (*MsgCreateSaleResponse, error)
-	// Subscribe to a token sale. Any use at any time before the sale end can join
-	// the sale by sending `token_in` to the Sale through the Subscribe msg.
-	// During the sale, user `token_in` will be automatically charged every
-	// epoch to purchase `token_out`.
-	Subscribe(context.Context, *MsgSubscribe) (*emptypb.Empty, error)
-	// Withdraw sends back `amount` of unspent tokens_in to the user.
-	// If `amount` is empty, it will default to all unspent tokens.
-	// User can do it any time unless his deposit is empty.
-	Withdraw(context.Context, *MsgWithdraw) (*emptypb.Empty, error)
-	// ExitSale withdraws (by a user who subscribed to the sale) purchased
-	// tokens_out from the pool and remained tokens_in. Must be called after
-	// the sale end.
-	ExitSale(context.Context, *MsgExitSale) (*MsgExitSaleResponse, error)
-	// FinalizeSale clean ups the sale and sends income (earned tokens_in) to the
-	// Sale recipient. Returns error if called before the Sale end or it was
-	// already finalized. Anyone can call this method.
-	FinalizeSale(context.Context, *MsgFinalizeSale) (*MsgFinalizeSaleResponse, error)
-}
-
-// UnimplementedMsgServer can be embedded to have forward compatible implementations.
-type UnimplementedMsgServer struct {
-}
-
-func (*UnimplementedMsgServer) CreateSale(ctx context.Context, req *MsgCreateSale) (*MsgCreateSaleResponse, error) {
-	return nil, status.Errorf(codes.Unimplemented, "method CreateSale not implemented")
-}
-func (*UnimplementedMsgServer) Subscribe(ctx context.Context, req *MsgSubscribe) (*emptypb.Empty, error) {
-	return nil, status.Errorf(codes.Unimplemented, "method Subscribe not implemented")
-}
-func (*UnimplementedMsgServer) Withdraw(ctx context.Context, req *MsgWithdraw) (*emptypb.Empty, error) {
-	return nil, status.Errorf(codes.Unimplemented, "method Withdraw not implemented")
-}
-func (*UnimplementedMsgServer) ExitSale(ctx context.Context, req *MsgExitSale) (*MsgExitSaleResponse, error) {
-	return nil, status.Errorf(codes.Unimplemented, "method ExitSale not implemented")
-}
-func (*UnimplementedMsgServer) FinalizeSale(ctx context.Context, req *MsgFinalizeSale) (*MsgFinalizeSaleResponse, error) {
-	return nil, status.Errorf(codes.Unimplemented, "method FinalizeSale not implemented")
-}
-
-func RegisterMsgServer(s grpc1.Server, srv MsgServer) {
-	s.RegisterService(&_Msg_serviceDesc, srv)
-}
-
-func _Msg_CreateSale_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(MsgCreateSale)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(MsgServer).CreateSale(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/osmosis.streamswap.v1.Msg/CreateSale",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(MsgServer).CreateSale(ctx, req.(*MsgCreateSale))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-func _Msg_Subscribe_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(MsgSubscribe)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(MsgServer).Subscribe(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/osmosis.streamswap.v1.Msg/Subscribe",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(MsgServer).Subscribe(ctx, req.(*MsgSubscribe))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-func _Msg_Withdraw_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(MsgWithdraw)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(MsgServer).Withdraw(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/osmosis.streamswap.v1.Msg/Withdraw",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(MsgServer).Withdraw(ctx, req.(*MsgWithdraw))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-func _Msg_ExitSale_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(MsgExitSale)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(MsgServer).ExitSale(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/osmosis.streamswap.v1.Msg/ExitSale",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(MsgServer).ExitSale(ctx, req.(*MsgExitSale))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-func _Msg_FinalizeSale_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(MsgFinalizeSale)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(MsgServer).FinalizeSale(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/osmosis.streamswap.v1.Msg/FinalizeSale",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(MsgServer).FinalizeSale(ctx, req.(*MsgFinalizeSale))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-var _Msg_serviceDesc = grpc.ServiceDesc{
-	ServiceName: "osmosis.streamswap.v1.Msg",
-	HandlerType: (*MsgServer)(nil),
-	Methods: []grpc.MethodDesc{
-		{
-			MethodName: "CreateSale",
-			Handler:    _Msg_CreateSale_Handler,
-		},
-		{
-			MethodName: "Subscribe",
-			Handler:    _Msg_Subscribe_Handler,
-		},
-		{
-			MethodName: "Withdraw",
-			Handler:    _Msg_Withdraw_Handler,
-		},
-		{
-			MethodName: "ExitSale",
-			Handler:    _Msg_ExitSale_Handler,
-		},
-		{
-			MethodName: "FinalizeSale",
-			Handler:    _Msg_FinalizeSale_Handler,
-		},
-	},
-	Streams:  []grpc.StreamDesc{},
-	Metadata: "osmosis/streamswap/v1/tx.proto",
-}
-
-func (m *MsgCreateSale) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalToSizedBuffer(dAtA[:size])
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (m *MsgCreateSale) MarshalTo(dAtA []byte) (int, error) {
-	size := m.Size()
-	return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *MsgCreateSale) MarshalToSizedBuffer(dAtA []byte) (int, error) {
-	i := len(dAtA)
-	_ = i
-	var l int
-	_ = l
-	if len(m.Url) > 0 {
-		i -= len(m.Url)
-		copy(dAtA[i:], m.Url)
-		i = encodeVarintTx(dAtA, i, uint64(len(m.Url)))
-		i--
-		dAtA[i] = 0x4a
-	}
-	if len(m.Name) > 0 {
-		i -= len(m.Name)
-		copy(dAtA[i:], m.Name)
-		i = encodeVarintTx(dAtA, i, uint64(len(m.Name)))
-		i--
-		dAtA[i] = 0x42
-	}
-	if len(m.Recipient) > 0 {
-		i -= len(m.Recipient)
-		copy(dAtA[i:], m.Recipient)
-		i = encodeVarintTx(dAtA, i, uint64(len(m.Recipient)))
-		i--
-		dAtA[i] = 0x3a
-	}
-	n1, err1 := github_com_gogo_protobuf_types.StdDurationMarshalTo(m.Duration, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdDuration(m.Duration):])
-	if err1 != nil {
-		return 0, err1
-	}
-	i -= n1
-	i = encodeVarintTx(dAtA, i, uint64(n1))
-	i--
-	dAtA[i] = 0x32
-	n2, err2 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.StartTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.StartTime):])
-	if err2 != nil {
-		return 0, err2
-	}
-	i -= n2
-	i = encodeVarintTx(dAtA, i, uint64(n2))
-	i--
-	dAtA[i] = 0x2a
-	if len(m.MaxFee) > 0 {
-		for iNdEx := len(m.MaxFee) - 1; iNdEx >= 0; iNdEx-- {
-			{
-				size, err := m.MaxFee[iNdEx].MarshalToSizedBuffer(dAtA[:i])
-				if err != nil {
-					return 0, err
-				}
-				i -= size
-				i = encodeVarintTx(dAtA, i, uint64(size))
-			}
-			i--
-			dAtA[i] = 0x22
-		}
-	}
-	{
-		size, err := m.TokenOut.MarshalToSizedBuffer(dAtA[:i])
-		if err != nil {
-			return 0, err
-		}
-		i -= size
-		i = encodeVarintTx(dAtA, i, uint64(size))
-	}
-	i--
-	dAtA[i] = 0x1a
-	if len(m.TokenIn) > 0 {
-		i -= len(m.TokenIn)
-		copy(dAtA[i:], m.TokenIn)
-		i = encodeVarintTx(dAtA, i, uint64(len(m.TokenIn)))
-		i--
-		dAtA[i] = 0x12
-	}
-	if len(m.Creator) > 0 {
-		i -= len(m.Creator)
-		copy(dAtA[i:], m.Creator)
-		i = encodeVarintTx(dAtA, i, uint64(len(m.Creator)))
-		i--
-		dAtA[i] = 0xa
-	}
-	return len(dAtA) - i, nil
-}
-
-func (m *MsgCreateSaleResponse) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalToSizedBuffer(dAtA[:size])
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (m *MsgCreateSaleResponse) MarshalTo(dAtA []byte) (int, error) {
-	size := m.Size()
-	return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *MsgCreateSaleResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
-	i := len(dAtA)
-	_ = i
-	var l int
-	_ = l
-	if m.SaleId != 0 {
-		i = encodeVarintTx(dAtA, i, uint64(m.SaleId))
-		i--
-		dAtA[i] = 0x8
-	}
-	return len(dAtA) - i, nil
-}
-
-func (m *MsgSubscribe) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalToSizedBuffer(dAtA[:size])
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (m *MsgSubscribe) MarshalTo(dAtA []byte) (int, error) {
-	size := m.Size()
-	return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *MsgSubscribe) MarshalToSizedBuffer(dAtA []byte) (int, error) {
-	i := len(dAtA)
-	_ = i
-	var l int
-	_ = l
-	{
-		size := m.Amount.Size()
-		i -= size
-		if _, err := m.Amount.MarshalTo(dAtA[i:]); err != nil {
-			return 0, err
-		}
-		i = encodeVarintTx(dAtA, i, uint64(size))
-	}
-	i--
-	dAtA[i] = 0x1a
-	if m.SaleId != 0 {
-		i = encodeVarintTx(dAtA, i, uint64(m.SaleId))
-		i--
-		dAtA[i] = 0x10
-	}
-	if len(m.Sender) > 0 {
-		i -= len(m.Sender)
-		copy(dAtA[i:], m.Sender)
-		i = encodeVarintTx(dAtA, i, uint64(len(m.Sender)))
-		i--
-		dAtA[i] = 0xa
-	}
-	return len(dAtA) - i, nil
-}
-
-func (m *MsgWithdraw) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalToSizedBuffer(dAtA[:size])
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (m *MsgWithdraw) MarshalTo(dAtA []byte) (int, error) {
-	size := m.Size()
-	return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *MsgWithdraw) MarshalToSizedBuffer(dAtA []byte) (int, error) {
-	i := len(dAtA)
-	_ = i
-	var l int
-	_ = l
-	if m.Amount != nil {
-		{
-			size := m.Amount.Size()
-			i -= size
-			if _, err := m.Amount.MarshalTo(dAtA[i:]); err != nil {
-				return 0, err
-			}
-			i = encodeVarintTx(dAtA, i, uint64(size))
-		}
-		i--
-		dAtA[i] = 0x1a
-	}
-	if m.SaleId != 0 {
-		i = encodeVarintTx(dAtA, i, uint64(m.SaleId))
-		i--
-		dAtA[i] = 0x10
-	}
-	if len(m.Sender) > 0 {
-		i -= len(m.Sender)
-		copy(dAtA[i:], m.Sender)
-		i = encodeVarintTx(dAtA, i, uint64(len(m.Sender)))
-		i--
-		dAtA[i] = 0xa
-	}
-	return len(dAtA) - i, nil
-}
-
-func (m *MsgExitSale) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalToSizedBuffer(dAtA[:size])
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (m *MsgExitSale) MarshalTo(dAtA []byte) (int, error) {
-	size := m.Size()
-	return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *MsgExitSale) MarshalToSizedBuffer(dAtA []byte) (int, error) {
-	i := len(dAtA)
-	_ = i
-	var l int
-	_ = l
-	if m.SaleId != 0 {
-		i = encodeVarintTx(dAtA, i, uint64(m.SaleId))
-		i--
-		dAtA[i] = 0x10
-	}
-	if len(m.Sender) > 0 {
-		i -= len(m.Sender)
-		copy(dAtA[i:], m.Sender)
-		i = encodeVarintTx(dAtA, i, uint64(len(m.Sender)))
-		i--
-		dAtA[i] = 0xa
-	}
-	return len(dAtA) - i, nil
-}
-
-func (m *MsgExitSaleResponse) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalToSizedBuffer(dAtA[:size])
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (m *MsgExitSaleResponse) MarshalTo(dAtA []byte) (int, error) {
-	size := m.Size()
-	return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *MsgExitSaleResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
-	i := len(dAtA)
-	_ = i
-	var l int
-	_ = l
-	{
-		size := m.Purchased.Size()
-		i -= size
-		if _, err := m.Purchased.MarshalTo(dAtA[i:]); err != nil {
-			return 0, err
-		}
-		i = encodeVarintTx(dAtA, i, uint64(size))
-	}
-	i--
-	dAtA[i] = 0xa
-	return len(dAtA) - i, nil
-}
-
-func (m *MsgFinalizeSale) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalToSizedBuffer(dAtA[:size])
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (m *MsgFinalizeSale) MarshalTo(dAtA []byte) (int, error) {
-	size := m.Size()
-	return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *MsgFinalizeSale) MarshalToSizedBuffer(dAtA []byte) (int, error) {
-	i := len(dAtA)
-	_ = i
-	var l int
-	_ = l
-	if m.SaleId != 0 {
-		i = encodeVarintTx(dAtA, i, uint64(m.SaleId))
-		i--
-		dAtA[i] = 0x10
-	}
-	if len(m.Sender) > 0 {
-		i -= len(m.Sender)
-		copy(dAtA[i:], m.Sender)
-		i = encodeVarintTx(dAtA, i, uint64(len(m.Sender)))
-		i--
-		dAtA[i] = 0xa
-	}
-	return len(dAtA) - i, nil
-}
-
-func (m *MsgFinalizeSaleResponse) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalToSizedBuffer(dAtA[:size])
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (m *MsgFinalizeSaleResponse) MarshalTo(dAtA []byte) (int, error) {
-	size := m.Size()
-	return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *MsgFinalizeSaleResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
-	i := len(dAtA)
-	_ = i
-	var l int
-	_ = l
-	{
-		size := m.Income.Size()
-		i -= size
-		if _, err := m.Income.MarshalTo(dAtA[i:]); err != nil {
-			return 0, err
-		}
-		i = encodeVarintTx(dAtA, i, uint64(size))
-	}
-	i--
-	dAtA[i] = 0xa
-	return len(dAtA) - i, nil
-}
-
-func encodeVarintTx(dAtA []byte, offset int, v uint64) int {
-	offset -= sovTx(v)
-	base := offset
-	for v >= 1<<7 {
-		dAtA[offset] = uint8(v&0x7f | 0x80)
-		v >>= 7
-		offset++
-	}
-	dAtA[offset] = uint8(v)
-	return base
-}
-func (m *MsgCreateSale) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	l = len(m.Creator)
-	if l > 0 {
-		n += 1 + l + sovTx(uint64(l))
-	}
-	l = len(m.TokenIn)
-	if l > 0 {
-		n += 1 + l + sovTx(uint64(l))
-	}
-	l = m.TokenOut.Size()
-	n += 1 + l + sovTx(uint64(l))
-	if len(m.MaxFee) > 0 {
-		for _, e := range m.MaxFee {
-			l = e.Size()
-			n += 1 + l + sovTx(uint64(l))
-		}
-	}
-	l = github_com_gogo_protobuf_types.SizeOfStdTime(m.StartTime)
-	n += 1 + l + sovTx(uint64(l))
-	l = github_com_gogo_protobuf_types.SizeOfStdDuration(m.Duration)
-	n += 1 + l + sovTx(uint64(l))
-	l = len(m.Recipient)
-	if l > 0 {
-		n += 1 + l + sovTx(uint64(l))
-	}
-	l = len(m.Name)
-	if l > 0 {
-		n += 1 + l + sovTx(uint64(l))
-	}
-	l = len(m.Url)
-	if l > 0 {
-		n += 1 + l + sovTx(uint64(l))
-	}
-	return n
-}
-
-func (m *MsgCreateSaleResponse) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	if m.SaleId != 0 {
-		n += 1 + sovTx(uint64(m.SaleId))
-	}
-	return n
-}
-
-func (m *MsgSubscribe) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	l = len(m.Sender)
-	if l > 0 {
-		n += 1 + l + sovTx(uint64(l))
-	}
-	if m.SaleId != 0 {
-		n += 1 + sovTx(uint64(m.SaleId))
-	}
-	l = m.Amount.Size()
-	n += 1 + l + sovTx(uint64(l))
-	return n
-}
-
-func (m *MsgWithdraw) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	l = len(m.Sender)
-	if l > 0 {
-		n += 1 + l + sovTx(uint64(l))
-	}
-	if m.SaleId != 0 {
-		n += 1 + sovTx(uint64(m.SaleId))
-	}
-	if m.Amount != nil {
-		l = m.Amount.Size()
-		n += 1 + l + sovTx(uint64(l))
-	}
-	return n
-}
-
-func (m *MsgExitSale) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	l = len(m.Sender)
-	if l > 0 {
-		n += 1 + l + sovTx(uint64(l))
-	}
-	if m.SaleId != 0 {
-		n += 1 + sovTx(uint64(m.SaleId))
-	}
-	return n
-}
-
-func (m *MsgExitSaleResponse) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	l = m.Purchased.Size()
-	n += 1 + l + sovTx(uint64(l))
-	return n
-}
-
-func (m *MsgFinalizeSale) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	l = len(m.Sender)
-	if l > 0 {
-		n += 1 + l + sovTx(uint64(l))
-	}
-	if m.SaleId != 0 {
-		n += 1 + sovTx(uint64(m.SaleId))
-	}
-	return n
-}
-
-func (m *MsgFinalizeSaleResponse) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	l = m.Income.Size()
-	n += 1 + l + sovTx(uint64(l))
-	return n
-}
-
-func sovTx(x uint64) (n int) {
-	return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozTx(x uint64) (n int) {
-	return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (m *MsgCreateSale) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowTx
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: MsgCreateSale: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: MsgCreateSale: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowTx
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthTx
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthTx
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.Creator = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 2:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field TokenIn", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowTx
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthTx
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthTx
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.TokenIn = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 3:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field TokenOut", wireType)
-			}
-			var msglen int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowTx
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				msglen |= int(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if msglen < 0 {
-				return ErrInvalidLengthTx
-			}
-			postIndex := iNdEx + msglen
-			if postIndex < 0 {
-				return ErrInvalidLengthTx
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if err := m.TokenOut.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		case 4:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field MaxFee", wireType)
-			}
-			var msglen int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowTx
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				msglen |= int(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if msglen < 0 {
-				return ErrInvalidLengthTx
-			}
-			postIndex := iNdEx + msglen
-			if postIndex < 0 {
-				return ErrInvalidLengthTx
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.MaxFee = append(m.MaxFee, types.Coin{})
-			if err := m.MaxFee[len(m.MaxFee)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		case 5:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field StartTime", wireType)
-			}
-			var msglen int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowTx
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				msglen |= int(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if msglen < 0 {
-				return ErrInvalidLengthTx
-			}
-			postIndex := iNdEx + msglen
-			if postIndex < 0 {
-				return ErrInvalidLengthTx
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.StartTime, dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		case 6:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Duration", wireType)
-			}
-			var msglen int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowTx
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				msglen |= int(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if msglen < 0 {
-				return ErrInvalidLengthTx
-			}
-			postIndex := iNdEx + msglen
-			if postIndex < 0 {
-				return ErrInvalidLengthTx
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(&m.Duration, dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		case 7:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Recipient", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowTx
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthTx
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthTx
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.Recipient = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 8:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowTx
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthTx
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthTx
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.Name = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 9:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Url", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowTx
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthTx
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthTx
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.Url = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		default:
-			iNdEx = preIndex
-			skippy, err := skipTx(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if (skippy < 0) || (iNdEx+skippy) < 0 {
-				return ErrInvalidLengthTx
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func (m *MsgCreateSaleResponse) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowTx
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: MsgCreateSaleResponse: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: MsgCreateSaleResponse: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 0 {
-				return fmt.Errorf("proto: wrong wireType = %d for field SaleId", wireType)
-			}
-			m.SaleId = 0
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowTx
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				m.SaleId |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-		default:
-			iNdEx = preIndex
-			skippy, err := skipTx(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if (skippy < 0) || (iNdEx+skippy) < 0 {
-				return ErrInvalidLengthTx
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func (m *MsgSubscribe) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowTx
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: MsgSubscribe: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: MsgSubscribe: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowTx
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthTx
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthTx
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.Sender = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 2:
-			if wireType != 0 {
-				return fmt.Errorf("proto: wrong wireType = %d for field SaleId", wireType)
-			}
-			m.SaleId = 0
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowTx
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				m.SaleId |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-		case 3:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowTx
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthTx
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthTx
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		default:
-			iNdEx = preIndex
-			skippy, err := skipTx(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if (skippy < 0) || (iNdEx+skippy) < 0 {
-				return ErrInvalidLengthTx
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func (m *MsgWithdraw) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowTx
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: MsgWithdraw: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: MsgWithdraw: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowTx
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthTx
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthTx
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.Sender = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 2:
-			if wireType != 0 {
-				return fmt.Errorf("proto: wrong wireType = %d for field SaleId", wireType)
-			}
-			m.SaleId = 0
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowTx
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				m.SaleId |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-		case 3:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowTx
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthTx
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthTx
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			var v github_com_cosmos_cosmos_sdk_types.Int
-			m.Amount = &v
-			if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		default:
-			iNdEx = preIndex
-			skippy, err := skipTx(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if (skippy < 0) || (iNdEx+skippy) < 0 {
-				return ErrInvalidLengthTx
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func (m *MsgExitSale) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowTx
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: MsgExitSale: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: MsgExitSale: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowTx
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthTx
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthTx
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.Sender = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 2:
-			if wireType != 0 {
-				return fmt.Errorf("proto: wrong wireType = %d for field SaleId", wireType)
-			}
-			m.SaleId = 0
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowTx
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				m.SaleId |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-		default:
-			iNdEx = preIndex
-			skippy, err := skipTx(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if (skippy < 0) || (iNdEx+skippy) < 0 {
-				return ErrInvalidLengthTx
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func (m *MsgExitSaleResponse) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowTx
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: MsgExitSaleResponse: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: MsgExitSaleResponse: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Purchased", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowTx
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthTx
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthTx
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if err := m.Purchased.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		default:
-			iNdEx = preIndex
-			skippy, err := skipTx(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if (skippy < 0) || (iNdEx+skippy) < 0 {
-				return ErrInvalidLengthTx
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func (m *MsgFinalizeSale) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowTx
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: MsgFinalizeSale: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: MsgFinalizeSale: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowTx
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthTx
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthTx
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.Sender = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 2:
-			if wireType != 0 {
-				return fmt.Errorf("proto: wrong wireType = %d for field SaleId", wireType)
-			}
-			m.SaleId = 0
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowTx
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				m.SaleId |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-		default:
-			iNdEx = preIndex
-			skippy, err := skipTx(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if (skippy < 0) || (iNdEx+skippy) < 0 {
-				return ErrInvalidLengthTx
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func (m *MsgFinalizeSaleResponse) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowTx
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: MsgFinalizeSaleResponse: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: MsgFinalizeSaleResponse: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Income", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowTx
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthTx
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthTx
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			if err := m.Income.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		default:
-			iNdEx = preIndex
-			skippy, err := skipTx(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if (skippy < 0) || (iNdEx+skippy) < 0 {
-				return ErrInvalidLengthTx
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func skipTx(dAtA []byte) (n int, err error) {
-	l := len(dAtA)
-	iNdEx := 0
-	depth := 0
-	for iNdEx < l {
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return 0, ErrIntOverflowTx
-			}
-			if iNdEx >= l {
-				return 0, io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= (uint64(b) & 0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		wireType := int(wire & 0x7)
-		switch wireType {
-		case 0:
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return 0, ErrIntOverflowTx
-				}
-				if iNdEx >= l {
-					return 0, io.ErrUnexpectedEOF
-				}
-				iNdEx++
-				if dAtA[iNdEx-1] < 0x80 {
-					break
-				}
-			}
-		case 1:
-			iNdEx += 8
-		case 2:
-			var length int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return 0, ErrIntOverflowTx
-				}
-				if iNdEx >= l {
-					return 0, io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				length |= (int(b) & 0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if length < 0 {
-				return 0, ErrInvalidLengthTx
-			}
-			iNdEx += length
-		case 3:
-			depth++
-		case 4:
-			if depth == 0 {
-				return 0, ErrUnexpectedEndOfGroupTx
-			}
-			depth--
-		case 5:
-			iNdEx += 4
-		default:
-			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
-		}
-		if iNdEx < 0 {
-			return 0, ErrInvalidLengthTx
-		}
-		if depth == 0 {
-			return iNdEx, nil
-		}
-	}
-	return 0, io.ErrUnexpectedEOF
-}
-
-var (
-	ErrInvalidLengthTx        = fmt.Errorf("proto: negative length found during unmarshaling")
-	ErrIntOverflowTx          = fmt.Errorf("proto: integer overflow")
-	ErrUnexpectedEndOfGroupTx = fmt.Errorf("proto: unexpected end of group")
-)