github.com/InjectiveLabs/sdk-go@v1.53.0/chain/exchange/types/exchange.pb.go (about)

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: injective/exchange/v1beta1/exchange.proto
     3  
     4  package types
     5  
     6  import (
     7  	cosmossdk_io_math "cosmossdk.io/math"
     8  	fmt "fmt"
     9  	types1 "github.com/InjectiveLabs/sdk-go/chain/oracle/types"
    10  	github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types"
    11  	types "github.com/cosmos/cosmos-sdk/types"
    12  	_ "github.com/cosmos/cosmos-sdk/types/tx/amino"
    13  	_ "github.com/cosmos/gogoproto/gogoproto"
    14  	proto "github.com/cosmos/gogoproto/proto"
    15  	io "io"
    16  	math "math"
    17  	math_bits "math/bits"
    18  )
    19  
    20  // Reference imports to suppress errors if they are not otherwise used.
    21  var _ = proto.Marshal
    22  var _ = fmt.Errorf
    23  var _ = math.Inf
    24  
    25  // This is a compile-time assertion to ensure that this generated file
    26  // is compatible with the proto package it is being compiled against.
    27  // A compilation error at this line likely means your copy of the
    28  // proto package needs to be updated.
    29  const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
    30  
    31  type AtomicMarketOrderAccessLevel int32
    32  
    33  const (
    34  	AtomicMarketOrderAccessLevel_Nobody AtomicMarketOrderAccessLevel = 0
    35  	// currently unsupported
    36  	AtomicMarketOrderAccessLevel_BeginBlockerSmartContractsOnly AtomicMarketOrderAccessLevel = 1
    37  	AtomicMarketOrderAccessLevel_SmartContractsOnly             AtomicMarketOrderAccessLevel = 2
    38  	AtomicMarketOrderAccessLevel_Everyone                       AtomicMarketOrderAccessLevel = 3
    39  )
    40  
    41  var AtomicMarketOrderAccessLevel_name = map[int32]string{
    42  	0: "Nobody",
    43  	1: "BeginBlockerSmartContractsOnly",
    44  	2: "SmartContractsOnly",
    45  	3: "Everyone",
    46  }
    47  
    48  var AtomicMarketOrderAccessLevel_value = map[string]int32{
    49  	"Nobody":                         0,
    50  	"BeginBlockerSmartContractsOnly": 1,
    51  	"SmartContractsOnly":             2,
    52  	"Everyone":                       3,
    53  }
    54  
    55  func (x AtomicMarketOrderAccessLevel) String() string {
    56  	return proto.EnumName(AtomicMarketOrderAccessLevel_name, int32(x))
    57  }
    58  
    59  func (AtomicMarketOrderAccessLevel) EnumDescriptor() ([]byte, []int) {
    60  	return fileDescriptor_2116e2804e9c53f9, []int{0}
    61  }
    62  
    63  type MarketStatus int32
    64  
    65  const (
    66  	MarketStatus_Unspecified MarketStatus = 0
    67  	MarketStatus_Active      MarketStatus = 1
    68  	MarketStatus_Paused      MarketStatus = 2
    69  	MarketStatus_Demolished  MarketStatus = 3
    70  	MarketStatus_Expired     MarketStatus = 4
    71  )
    72  
    73  var MarketStatus_name = map[int32]string{
    74  	0: "Unspecified",
    75  	1: "Active",
    76  	2: "Paused",
    77  	3: "Demolished",
    78  	4: "Expired",
    79  }
    80  
    81  var MarketStatus_value = map[string]int32{
    82  	"Unspecified": 0,
    83  	"Active":      1,
    84  	"Paused":      2,
    85  	"Demolished":  3,
    86  	"Expired":     4,
    87  }
    88  
    89  func (x MarketStatus) String() string {
    90  	return proto.EnumName(MarketStatus_name, int32(x))
    91  }
    92  
    93  func (MarketStatus) EnumDescriptor() ([]byte, []int) {
    94  	return fileDescriptor_2116e2804e9c53f9, []int{1}
    95  }
    96  
    97  type OrderType int32
    98  
    99  const (
   100  	OrderType_UNSPECIFIED OrderType = 0
   101  	OrderType_BUY         OrderType = 1
   102  	OrderType_SELL        OrderType = 2
   103  	OrderType_STOP_BUY    OrderType = 3
   104  	OrderType_STOP_SELL   OrderType = 4
   105  	OrderType_TAKE_BUY    OrderType = 5
   106  	OrderType_TAKE_SELL   OrderType = 6
   107  	OrderType_BUY_PO      OrderType = 7
   108  	OrderType_SELL_PO     OrderType = 8
   109  	OrderType_BUY_ATOMIC  OrderType = 9
   110  	OrderType_SELL_ATOMIC OrderType = 10
   111  )
   112  
   113  var OrderType_name = map[int32]string{
   114  	0:  "UNSPECIFIED",
   115  	1:  "BUY",
   116  	2:  "SELL",
   117  	3:  "STOP_BUY",
   118  	4:  "STOP_SELL",
   119  	5:  "TAKE_BUY",
   120  	6:  "TAKE_SELL",
   121  	7:  "BUY_PO",
   122  	8:  "SELL_PO",
   123  	9:  "BUY_ATOMIC",
   124  	10: "SELL_ATOMIC",
   125  }
   126  
   127  var OrderType_value = map[string]int32{
   128  	"UNSPECIFIED": 0,
   129  	"BUY":         1,
   130  	"SELL":        2,
   131  	"STOP_BUY":    3,
   132  	"STOP_SELL":   4,
   133  	"TAKE_BUY":    5,
   134  	"TAKE_SELL":   6,
   135  	"BUY_PO":      7,
   136  	"SELL_PO":     8,
   137  	"BUY_ATOMIC":  9,
   138  	"SELL_ATOMIC": 10,
   139  }
   140  
   141  func (x OrderType) String() string {
   142  	return proto.EnumName(OrderType_name, int32(x))
   143  }
   144  
   145  func (OrderType) EnumDescriptor() ([]byte, []int) {
   146  	return fileDescriptor_2116e2804e9c53f9, []int{2}
   147  }
   148  
   149  type ExecutionType int32
   150  
   151  const (
   152  	ExecutionType_UnspecifiedExecutionType ExecutionType = 0
   153  	ExecutionType_Market                   ExecutionType = 1
   154  	ExecutionType_LimitFill                ExecutionType = 2
   155  	ExecutionType_LimitMatchRestingOrder   ExecutionType = 3
   156  	ExecutionType_LimitMatchNewOrder       ExecutionType = 4
   157  	ExecutionType_MarketLiquidation        ExecutionType = 5
   158  	ExecutionType_ExpiryMarketSettlement   ExecutionType = 6
   159  )
   160  
   161  var ExecutionType_name = map[int32]string{
   162  	0: "UnspecifiedExecutionType",
   163  	1: "Market",
   164  	2: "LimitFill",
   165  	3: "LimitMatchRestingOrder",
   166  	4: "LimitMatchNewOrder",
   167  	5: "MarketLiquidation",
   168  	6: "ExpiryMarketSettlement",
   169  }
   170  
   171  var ExecutionType_value = map[string]int32{
   172  	"UnspecifiedExecutionType": 0,
   173  	"Market":                   1,
   174  	"LimitFill":                2,
   175  	"LimitMatchRestingOrder":   3,
   176  	"LimitMatchNewOrder":       4,
   177  	"MarketLiquidation":        5,
   178  	"ExpiryMarketSettlement":   6,
   179  }
   180  
   181  func (x ExecutionType) String() string {
   182  	return proto.EnumName(ExecutionType_name, int32(x))
   183  }
   184  
   185  func (ExecutionType) EnumDescriptor() ([]byte, []int) {
   186  	return fileDescriptor_2116e2804e9c53f9, []int{3}
   187  }
   188  
   189  type OrderMask int32
   190  
   191  const (
   192  	OrderMask_UNUSED        OrderMask = 0
   193  	OrderMask_ANY           OrderMask = 1
   194  	OrderMask_REGULAR       OrderMask = 2
   195  	OrderMask_CONDITIONAL   OrderMask = 4
   196  	OrderMask_BUY_OR_HIGHER OrderMask = 8
   197  	OrderMask_SELL_OR_LOWER OrderMask = 16
   198  	OrderMask_MARKET        OrderMask = 32
   199  	OrderMask_LIMIT         OrderMask = 64
   200  )
   201  
   202  var OrderMask_name = map[int32]string{
   203  	0:  "UNUSED",
   204  	1:  "ANY",
   205  	2:  "REGULAR",
   206  	4:  "CONDITIONAL",
   207  	8:  "DIRECTION_BUY_OR_HIGHER",
   208  	16: "DIRECTION_SELL_OR_LOWER",
   209  	32: "TYPE_MARKET",
   210  	64: "TYPE_LIMIT",
   211  }
   212  
   213  var OrderMask_value = map[string]int32{
   214  	"UNUSED":                  0,
   215  	"ANY":                     1,
   216  	"REGULAR":                 2,
   217  	"CONDITIONAL":             4,
   218  	"DIRECTION_BUY_OR_HIGHER": 8,
   219  	"DIRECTION_SELL_OR_LOWER": 16,
   220  	"TYPE_MARKET":             32,
   221  	"TYPE_LIMIT":              64,
   222  }
   223  
   224  func (x OrderMask) String() string {
   225  	return proto.EnumName(OrderMask_name, int32(x))
   226  }
   227  
   228  func (OrderMask) EnumDescriptor() ([]byte, []int) {
   229  	return fileDescriptor_2116e2804e9c53f9, []int{4}
   230  }
   231  
   232  type Params struct {
   233  	// spot_market_instant_listing_fee defines the expedited fee in INJ required
   234  	// to create a spot market by bypassing governance
   235  	SpotMarketInstantListingFee types.Coin `protobuf:"bytes,1,opt,name=spot_market_instant_listing_fee,json=spotMarketInstantListingFee,proto3" json:"spot_market_instant_listing_fee"`
   236  	// derivative_market_instant_listing_fee defines the expedited fee in INJ
   237  	// required to create a derivative market by bypassing governance
   238  	DerivativeMarketInstantListingFee types.Coin `protobuf:"bytes,2,opt,name=derivative_market_instant_listing_fee,json=derivativeMarketInstantListingFee,proto3" json:"derivative_market_instant_listing_fee"`
   239  	// default_spot_maker_fee defines the default exchange trade fee for makers on
   240  	// a spot market
   241  	DefaultSpotMakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=default_spot_maker_fee_rate,json=defaultSpotMakerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"default_spot_maker_fee_rate"`
   242  	// default_spot_taker_fee_rate defines the default exchange trade fee rate for
   243  	// takers on a new spot market
   244  	DefaultSpotTakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=default_spot_taker_fee_rate,json=defaultSpotTakerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"default_spot_taker_fee_rate"`
   245  	// default_derivative_maker_fee defines the default exchange trade fee for
   246  	// makers on a new derivative market
   247  	DefaultDerivativeMakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=default_derivative_maker_fee_rate,json=defaultDerivativeMakerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"default_derivative_maker_fee_rate"`
   248  	// default_derivative_taker_fee defines the default exchange trade fee for
   249  	// takers on a new derivative market
   250  	DefaultDerivativeTakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=default_derivative_taker_fee_rate,json=defaultDerivativeTakerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"default_derivative_taker_fee_rate"`
   251  	// default_initial_margin_ratio defines the default initial margin ratio on a
   252  	// new derivative market
   253  	DefaultInitialMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=default_initial_margin_ratio,json=defaultInitialMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"default_initial_margin_ratio"`
   254  	// default_maintenance_margin_ratio defines the default maintenance margin
   255  	// ratio on a new derivative market
   256  	DefaultMaintenanceMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=default_maintenance_margin_ratio,json=defaultMaintenanceMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"default_maintenance_margin_ratio"`
   257  	// default_funding_interval defines the default funding interval on a
   258  	// derivative market
   259  	DefaultFundingInterval int64 `protobuf:"varint,9,opt,name=default_funding_interval,json=defaultFundingInterval,proto3" json:"default_funding_interval,omitempty"`
   260  	// funding_multiple defines the timestamp multiple that the funding timestamp
   261  	// should be a multiple of
   262  	FundingMultiple int64 `protobuf:"varint,10,opt,name=funding_multiple,json=fundingMultiple,proto3" json:"funding_multiple,omitempty"`
   263  	// relayer_fee_share_rate defines the trade fee share percentage that goes to
   264  	// relayers
   265  	RelayerFeeShareRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=relayer_fee_share_rate,json=relayerFeeShareRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"relayer_fee_share_rate"`
   266  	// default_hourly_funding_rate_cap defines the default maximum absolute value
   267  	// of the hourly funding rate
   268  	DefaultHourlyFundingRateCap cosmossdk_io_math.LegacyDec `protobuf:"bytes,12,opt,name=default_hourly_funding_rate_cap,json=defaultHourlyFundingRateCap,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"default_hourly_funding_rate_cap"`
   269  	// hourly_interest_rate defines the hourly interest rate
   270  	DefaultHourlyInterestRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,13,opt,name=default_hourly_interest_rate,json=defaultHourlyInterestRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"default_hourly_interest_rate"`
   271  	// max_derivative_order_side_count defines the maximum number of derivative
   272  	// active orders a subaccount can have for a given orderbook side
   273  	MaxDerivativeOrderSideCount uint32 `protobuf:"varint,14,opt,name=max_derivative_order_side_count,json=maxDerivativeOrderSideCount,proto3" json:"max_derivative_order_side_count,omitempty"`
   274  	// inj_reward_staked_requirement_threshold defines the threshold on INJ
   275  	// rewards after which one also needs staked INJ to receive more
   276  	InjRewardStakedRequirementThreshold cosmossdk_io_math.Int `protobuf:"bytes,15,opt,name=inj_reward_staked_requirement_threshold,json=injRewardStakedRequirementThreshold,proto3,customtype=cosmossdk.io/math.Int" json:"inj_reward_staked_requirement_threshold"`
   277  	// the trading_rewards_vesting_duration defines the vesting times for trading
   278  	// rewards
   279  	TradingRewardsVestingDuration int64 `protobuf:"varint,16,opt,name=trading_rewards_vesting_duration,json=tradingRewardsVestingDuration,proto3" json:"trading_rewards_vesting_duration,omitempty"`
   280  	// liquidator_reward_share_rate defines the ratio of the split of the surplus
   281  	// collateral that goes to the liquidator
   282  	LiquidatorRewardShareRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,17,opt,name=liquidator_reward_share_rate,json=liquidatorRewardShareRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"liquidator_reward_share_rate"`
   283  	// binary_options_market_instant_listing_fee defines the expedited fee in INJ
   284  	// required to create a derivative market by bypassing governance
   285  	BinaryOptionsMarketInstantListingFee types.Coin `protobuf:"bytes,18,opt,name=binary_options_market_instant_listing_fee,json=binaryOptionsMarketInstantListingFee,proto3" json:"binary_options_market_instant_listing_fee"`
   286  	// atomic_market_order_access_level defines the required access permissions
   287  	// for executing atomic market orders
   288  	AtomicMarketOrderAccessLevel AtomicMarketOrderAccessLevel `protobuf:"varint,19,opt,name=atomic_market_order_access_level,json=atomicMarketOrderAccessLevel,proto3,enum=injective.exchange.v1beta1.AtomicMarketOrderAccessLevel" json:"atomic_market_order_access_level,omitempty"`
   289  	// spot_atomic_market_order_fee_multiplier defines the default multiplier for
   290  	// executing atomic market orders in spot markets
   291  	SpotAtomicMarketOrderFeeMultiplier cosmossdk_io_math.LegacyDec `protobuf:"bytes,20,opt,name=spot_atomic_market_order_fee_multiplier,json=spotAtomicMarketOrderFeeMultiplier,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"spot_atomic_market_order_fee_multiplier"`
   292  	// derivative_atomic_market_order_fee_multiplier defines the default
   293  	// multiplier for executing atomic market orders in derivative markets
   294  	DerivativeAtomicMarketOrderFeeMultiplier cosmossdk_io_math.LegacyDec `protobuf:"bytes,21,opt,name=derivative_atomic_market_order_fee_multiplier,json=derivativeAtomicMarketOrderFeeMultiplier,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"derivative_atomic_market_order_fee_multiplier"`
   295  	// binary_options_atomic_market_order_fee_multiplier defines the default
   296  	// multiplier for executing atomic market orders in binary markets
   297  	BinaryOptionsAtomicMarketOrderFeeMultiplier cosmossdk_io_math.LegacyDec `protobuf:"bytes,22,opt,name=binary_options_atomic_market_order_fee_multiplier,json=binaryOptionsAtomicMarketOrderFeeMultiplier,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"binary_options_atomic_market_order_fee_multiplier"`
   298  	// minimal_protocol_fee_rate defines the minimal protocol fee rate
   299  	MinimalProtocolFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,23,opt,name=minimal_protocol_fee_rate,json=minimalProtocolFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"minimal_protocol_fee_rate"`
   300  	// is_instant_derivative_market_launch_enabled defines whether instant
   301  	// derivative market launch is enabled
   302  	IsInstantDerivativeMarketLaunchEnabled bool  `protobuf:"varint,24,opt,name=is_instant_derivative_market_launch_enabled,json=isInstantDerivativeMarketLaunchEnabled,proto3" json:"is_instant_derivative_market_launch_enabled,omitempty"`
   303  	PostOnlyModeHeightThreshold            int64 `protobuf:"varint,25,opt,name=post_only_mode_height_threshold,json=postOnlyModeHeightThreshold,proto3" json:"post_only_mode_height_threshold,omitempty"`
   304  	// Maximum time in seconds since the last mark price update to allow a
   305  	// decrease in margin
   306  	MarginDecreasePriceTimestampThresholdSeconds int64 `protobuf:"varint,26,opt,name=margin_decrease_price_timestamp_threshold_seconds,json=marginDecreasePriceTimestampThresholdSeconds,proto3" json:"margin_decrease_price_timestamp_threshold_seconds,omitempty"`
   307  	// List of addresses that are allowed to perform exchange admin operations
   308  	ExchangeAdmins []string `protobuf:"bytes,27,rep,name=exchange_admins,json=exchangeAdmins,proto3" json:"exchange_admins,omitempty"`
   309  	// inj_auction_max_cap defines the maximum cap for INJ sent to auction
   310  	InjAuctionMaxCap cosmossdk_io_math.Int `protobuf:"bytes,28,opt,name=inj_auction_max_cap,json=injAuctionMaxCap,proto3,customtype=cosmossdk.io/math.Int" json:"inj_auction_max_cap"`
   311  }
   312  
   313  func (m *Params) Reset()         { *m = Params{} }
   314  func (m *Params) String() string { return proto.CompactTextString(m) }
   315  func (*Params) ProtoMessage()    {}
   316  func (*Params) Descriptor() ([]byte, []int) {
   317  	return fileDescriptor_2116e2804e9c53f9, []int{0}
   318  }
   319  func (m *Params) XXX_Unmarshal(b []byte) error {
   320  	return m.Unmarshal(b)
   321  }
   322  func (m *Params) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   323  	if deterministic {
   324  		return xxx_messageInfo_Params.Marshal(b, m, deterministic)
   325  	} else {
   326  		b = b[:cap(b)]
   327  		n, err := m.MarshalToSizedBuffer(b)
   328  		if err != nil {
   329  			return nil, err
   330  		}
   331  		return b[:n], nil
   332  	}
   333  }
   334  func (m *Params) XXX_Merge(src proto.Message) {
   335  	xxx_messageInfo_Params.Merge(m, src)
   336  }
   337  func (m *Params) XXX_Size() int {
   338  	return m.Size()
   339  }
   340  func (m *Params) XXX_DiscardUnknown() {
   341  	xxx_messageInfo_Params.DiscardUnknown(m)
   342  }
   343  
   344  var xxx_messageInfo_Params proto.InternalMessageInfo
   345  
   346  func (m *Params) GetSpotMarketInstantListingFee() types.Coin {
   347  	if m != nil {
   348  		return m.SpotMarketInstantListingFee
   349  	}
   350  	return types.Coin{}
   351  }
   352  
   353  func (m *Params) GetDerivativeMarketInstantListingFee() types.Coin {
   354  	if m != nil {
   355  		return m.DerivativeMarketInstantListingFee
   356  	}
   357  	return types.Coin{}
   358  }
   359  
   360  func (m *Params) GetDefaultFundingInterval() int64 {
   361  	if m != nil {
   362  		return m.DefaultFundingInterval
   363  	}
   364  	return 0
   365  }
   366  
   367  func (m *Params) GetFundingMultiple() int64 {
   368  	if m != nil {
   369  		return m.FundingMultiple
   370  	}
   371  	return 0
   372  }
   373  
   374  func (m *Params) GetMaxDerivativeOrderSideCount() uint32 {
   375  	if m != nil {
   376  		return m.MaxDerivativeOrderSideCount
   377  	}
   378  	return 0
   379  }
   380  
   381  func (m *Params) GetTradingRewardsVestingDuration() int64 {
   382  	if m != nil {
   383  		return m.TradingRewardsVestingDuration
   384  	}
   385  	return 0
   386  }
   387  
   388  func (m *Params) GetBinaryOptionsMarketInstantListingFee() types.Coin {
   389  	if m != nil {
   390  		return m.BinaryOptionsMarketInstantListingFee
   391  	}
   392  	return types.Coin{}
   393  }
   394  
   395  func (m *Params) GetAtomicMarketOrderAccessLevel() AtomicMarketOrderAccessLevel {
   396  	if m != nil {
   397  		return m.AtomicMarketOrderAccessLevel
   398  	}
   399  	return AtomicMarketOrderAccessLevel_Nobody
   400  }
   401  
   402  func (m *Params) GetIsInstantDerivativeMarketLaunchEnabled() bool {
   403  	if m != nil {
   404  		return m.IsInstantDerivativeMarketLaunchEnabled
   405  	}
   406  	return false
   407  }
   408  
   409  func (m *Params) GetPostOnlyModeHeightThreshold() int64 {
   410  	if m != nil {
   411  		return m.PostOnlyModeHeightThreshold
   412  	}
   413  	return 0
   414  }
   415  
   416  func (m *Params) GetMarginDecreasePriceTimestampThresholdSeconds() int64 {
   417  	if m != nil {
   418  		return m.MarginDecreasePriceTimestampThresholdSeconds
   419  	}
   420  	return 0
   421  }
   422  
   423  func (m *Params) GetExchangeAdmins() []string {
   424  	if m != nil {
   425  		return m.ExchangeAdmins
   426  	}
   427  	return nil
   428  }
   429  
   430  type MarketFeeMultiplier struct {
   431  	MarketId      string                      `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"`
   432  	FeeMultiplier cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=fee_multiplier,json=feeMultiplier,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"fee_multiplier"`
   433  }
   434  
   435  func (m *MarketFeeMultiplier) Reset()         { *m = MarketFeeMultiplier{} }
   436  func (m *MarketFeeMultiplier) String() string { return proto.CompactTextString(m) }
   437  func (*MarketFeeMultiplier) ProtoMessage()    {}
   438  func (*MarketFeeMultiplier) Descriptor() ([]byte, []int) {
   439  	return fileDescriptor_2116e2804e9c53f9, []int{1}
   440  }
   441  func (m *MarketFeeMultiplier) XXX_Unmarshal(b []byte) error {
   442  	return m.Unmarshal(b)
   443  }
   444  func (m *MarketFeeMultiplier) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   445  	if deterministic {
   446  		return xxx_messageInfo_MarketFeeMultiplier.Marshal(b, m, deterministic)
   447  	} else {
   448  		b = b[:cap(b)]
   449  		n, err := m.MarshalToSizedBuffer(b)
   450  		if err != nil {
   451  			return nil, err
   452  		}
   453  		return b[:n], nil
   454  	}
   455  }
   456  func (m *MarketFeeMultiplier) XXX_Merge(src proto.Message) {
   457  	xxx_messageInfo_MarketFeeMultiplier.Merge(m, src)
   458  }
   459  func (m *MarketFeeMultiplier) XXX_Size() int {
   460  	return m.Size()
   461  }
   462  func (m *MarketFeeMultiplier) XXX_DiscardUnknown() {
   463  	xxx_messageInfo_MarketFeeMultiplier.DiscardUnknown(m)
   464  }
   465  
   466  var xxx_messageInfo_MarketFeeMultiplier proto.InternalMessageInfo
   467  
   468  // An object describing a derivative market in the Injective Futures Protocol.
   469  type DerivativeMarket struct {
   470  	// Ticker for the derivative contract.
   471  	Ticker string `protobuf:"bytes,1,opt,name=ticker,proto3" json:"ticker,omitempty"`
   472  	// Oracle base currency
   473  	OracleBase string `protobuf:"bytes,2,opt,name=oracle_base,json=oracleBase,proto3" json:"oracle_base,omitempty"`
   474  	// Oracle quote currency
   475  	OracleQuote string `protobuf:"bytes,3,opt,name=oracle_quote,json=oracleQuote,proto3" json:"oracle_quote,omitempty"`
   476  	// Oracle type
   477  	OracleType types1.OracleType `protobuf:"varint,4,opt,name=oracle_type,json=oracleType,proto3,enum=injective.oracle.v1beta1.OracleType" json:"oracle_type,omitempty"`
   478  	// Scale factor for oracle prices.
   479  	OracleScaleFactor uint32 `protobuf:"varint,5,opt,name=oracle_scale_factor,json=oracleScaleFactor,proto3" json:"oracle_scale_factor,omitempty"`
   480  	// Address of the quote currency denomination for the derivative contract
   481  	QuoteDenom string `protobuf:"bytes,6,opt,name=quote_denom,json=quoteDenom,proto3" json:"quote_denom,omitempty"`
   482  	// Unique market ID.
   483  	MarketId string `protobuf:"bytes,7,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"`
   484  	// initial_margin_ratio defines the initial margin ratio of a derivative
   485  	// market
   486  	InitialMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=initial_margin_ratio,json=initialMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"initial_margin_ratio"`
   487  	// maintenance_margin_ratio defines the maintenance margin ratio of a
   488  	// derivative market
   489  	MaintenanceMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,9,opt,name=maintenance_margin_ratio,json=maintenanceMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maintenance_margin_ratio"`
   490  	// maker_fee_rate defines the maker fee rate of a derivative market
   491  	MakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,10,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_fee_rate"`
   492  	// taker_fee_rate defines the taker fee rate of a derivative market
   493  	TakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate"`
   494  	// relayer_fee_share_rate defines the percentage of the transaction fee shared
   495  	// with the relayer in a derivative market
   496  	RelayerFeeShareRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,12,opt,name=relayer_fee_share_rate,json=relayerFeeShareRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"relayer_fee_share_rate"`
   497  	// true if the market is a perpetual market. false if the market is an expiry
   498  	// futures market
   499  	IsPerpetual bool `protobuf:"varint,13,opt,name=isPerpetual,proto3" json:"isPerpetual,omitempty"`
   500  	// Status of the market
   501  	Status MarketStatus `protobuf:"varint,14,opt,name=status,proto3,enum=injective.exchange.v1beta1.MarketStatus" json:"status,omitempty"`
   502  	// min_price_tick_size defines the minimum tick size that the price and margin
   503  	// required for orders in the market
   504  	MinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,15,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size"`
   505  	// min_quantity_tick_size defines the minimum tick size of the quantity
   506  	// required for orders in the market
   507  	MinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,16,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_quantity_tick_size"`
   508  	// min_notional defines the minimum notional (in quote asset) required for
   509  	// orders in the market
   510  	MinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,17,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional"`
   511  	// current market admin
   512  	Admin string `protobuf:"bytes,18,opt,name=admin,proto3" json:"admin,omitempty"`
   513  	// level of admin permissions
   514  	AdminPermissions uint32 `protobuf:"varint,19,opt,name=admin_permissions,json=adminPermissions,proto3" json:"admin_permissions,omitempty"`
   515  }
   516  
   517  func (m *DerivativeMarket) Reset()         { *m = DerivativeMarket{} }
   518  func (m *DerivativeMarket) String() string { return proto.CompactTextString(m) }
   519  func (*DerivativeMarket) ProtoMessage()    {}
   520  func (*DerivativeMarket) Descriptor() ([]byte, []int) {
   521  	return fileDescriptor_2116e2804e9c53f9, []int{2}
   522  }
   523  func (m *DerivativeMarket) XXX_Unmarshal(b []byte) error {
   524  	return m.Unmarshal(b)
   525  }
   526  func (m *DerivativeMarket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   527  	if deterministic {
   528  		return xxx_messageInfo_DerivativeMarket.Marshal(b, m, deterministic)
   529  	} else {
   530  		b = b[:cap(b)]
   531  		n, err := m.MarshalToSizedBuffer(b)
   532  		if err != nil {
   533  			return nil, err
   534  		}
   535  		return b[:n], nil
   536  	}
   537  }
   538  func (m *DerivativeMarket) XXX_Merge(src proto.Message) {
   539  	xxx_messageInfo_DerivativeMarket.Merge(m, src)
   540  }
   541  func (m *DerivativeMarket) XXX_Size() int {
   542  	return m.Size()
   543  }
   544  func (m *DerivativeMarket) XXX_DiscardUnknown() {
   545  	xxx_messageInfo_DerivativeMarket.DiscardUnknown(m)
   546  }
   547  
   548  var xxx_messageInfo_DerivativeMarket proto.InternalMessageInfo
   549  
   550  // An object describing a binary options market in Injective Protocol.
   551  type BinaryOptionsMarket struct {
   552  	// Ticker for the derivative contract.
   553  	Ticker string `protobuf:"bytes,1,opt,name=ticker,proto3" json:"ticker,omitempty"`
   554  	// Oracle symbol
   555  	OracleSymbol string `protobuf:"bytes,2,opt,name=oracle_symbol,json=oracleSymbol,proto3" json:"oracle_symbol,omitempty"`
   556  	// Oracle Provider
   557  	OracleProvider string `protobuf:"bytes,3,opt,name=oracle_provider,json=oracleProvider,proto3" json:"oracle_provider,omitempty"`
   558  	// Oracle type
   559  	OracleType types1.OracleType `protobuf:"varint,4,opt,name=oracle_type,json=oracleType,proto3,enum=injective.oracle.v1beta1.OracleType" json:"oracle_type,omitempty"`
   560  	// Scale factor for oracle prices.
   561  	OracleScaleFactor uint32 `protobuf:"varint,5,opt,name=oracle_scale_factor,json=oracleScaleFactor,proto3" json:"oracle_scale_factor,omitempty"`
   562  	// expiration timestamp
   563  	ExpirationTimestamp int64 `protobuf:"varint,6,opt,name=expiration_timestamp,json=expirationTimestamp,proto3" json:"expiration_timestamp,omitempty"`
   564  	// expiration timestamp
   565  	SettlementTimestamp int64 `protobuf:"varint,7,opt,name=settlement_timestamp,json=settlementTimestamp,proto3" json:"settlement_timestamp,omitempty"`
   566  	// admin of the market
   567  	Admin string `protobuf:"bytes,8,opt,name=admin,proto3" json:"admin,omitempty"`
   568  	// Address of the quote currency denomination for the binary options contract
   569  	QuoteDenom string `protobuf:"bytes,9,opt,name=quote_denom,json=quoteDenom,proto3" json:"quote_denom,omitempty"`
   570  	// Unique market ID.
   571  	MarketId string `protobuf:"bytes,10,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"`
   572  	// maker_fee_rate defines the maker fee rate of a binary options market
   573  	MakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_fee_rate"`
   574  	// taker_fee_rate defines the taker fee rate of a derivative market
   575  	TakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,12,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate"`
   576  	// relayer_fee_share_rate defines the percentage of the transaction fee shared
   577  	// with the relayer in a derivative market
   578  	RelayerFeeShareRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,13,opt,name=relayer_fee_share_rate,json=relayerFeeShareRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"relayer_fee_share_rate"`
   579  	// Status of the market
   580  	Status MarketStatus `protobuf:"varint,14,opt,name=status,proto3,enum=injective.exchange.v1beta1.MarketStatus" json:"status,omitempty"`
   581  	// min_price_tick_size defines the minimum tick size that the price and margin
   582  	// required for orders in the market
   583  	MinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,15,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size"`
   584  	// min_quantity_tick_size defines the minimum tick size of the quantity
   585  	// required for orders in the market
   586  	MinQuantityTickSize cosmossdk_io_math.LegacyDec  `protobuf:"bytes,16,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_quantity_tick_size"`
   587  	SettlementPrice     *cosmossdk_io_math.LegacyDec `protobuf:"bytes,17,opt,name=settlement_price,json=settlementPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"settlement_price,omitempty"`
   588  	// min_notional defines the minimum notional (in quote asset) required for
   589  	// orders in the market
   590  	MinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,18,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional"`
   591  	// level of admin permissions
   592  	AdminPermissions uint32 `protobuf:"varint,19,opt,name=admin_permissions,json=adminPermissions,proto3" json:"admin_permissions,omitempty"`
   593  }
   594  
   595  func (m *BinaryOptionsMarket) Reset()         { *m = BinaryOptionsMarket{} }
   596  func (m *BinaryOptionsMarket) String() string { return proto.CompactTextString(m) }
   597  func (*BinaryOptionsMarket) ProtoMessage()    {}
   598  func (*BinaryOptionsMarket) Descriptor() ([]byte, []int) {
   599  	return fileDescriptor_2116e2804e9c53f9, []int{3}
   600  }
   601  func (m *BinaryOptionsMarket) XXX_Unmarshal(b []byte) error {
   602  	return m.Unmarshal(b)
   603  }
   604  func (m *BinaryOptionsMarket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   605  	if deterministic {
   606  		return xxx_messageInfo_BinaryOptionsMarket.Marshal(b, m, deterministic)
   607  	} else {
   608  		b = b[:cap(b)]
   609  		n, err := m.MarshalToSizedBuffer(b)
   610  		if err != nil {
   611  			return nil, err
   612  		}
   613  		return b[:n], nil
   614  	}
   615  }
   616  func (m *BinaryOptionsMarket) XXX_Merge(src proto.Message) {
   617  	xxx_messageInfo_BinaryOptionsMarket.Merge(m, src)
   618  }
   619  func (m *BinaryOptionsMarket) XXX_Size() int {
   620  	return m.Size()
   621  }
   622  func (m *BinaryOptionsMarket) XXX_DiscardUnknown() {
   623  	xxx_messageInfo_BinaryOptionsMarket.DiscardUnknown(m)
   624  }
   625  
   626  var xxx_messageInfo_BinaryOptionsMarket proto.InternalMessageInfo
   627  
   628  type ExpiryFuturesMarketInfo struct {
   629  	// market ID.
   630  	MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"`
   631  	// expiration_timestamp defines the expiration time for a time expiry futures
   632  	// market.
   633  	ExpirationTimestamp int64 `protobuf:"varint,2,opt,name=expiration_timestamp,json=expirationTimestamp,proto3" json:"expiration_timestamp,omitempty"`
   634  	// expiration_twap_start_timestamp defines the start time of the TWAP
   635  	// calculation window
   636  	TwapStartTimestamp int64 `protobuf:"varint,3,opt,name=twap_start_timestamp,json=twapStartTimestamp,proto3" json:"twap_start_timestamp,omitempty"`
   637  	// expiration_twap_start_price_cumulative defines the cumulative price for the
   638  	// start of the TWAP window
   639  	ExpirationTwapStartPriceCumulative cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=expiration_twap_start_price_cumulative,json=expirationTwapStartPriceCumulative,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"expiration_twap_start_price_cumulative"`
   640  	// settlement_price defines the settlement price for a time expiry futures
   641  	// market.
   642  	SettlementPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=settlement_price,json=settlementPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"settlement_price"`
   643  }
   644  
   645  func (m *ExpiryFuturesMarketInfo) Reset()         { *m = ExpiryFuturesMarketInfo{} }
   646  func (m *ExpiryFuturesMarketInfo) String() string { return proto.CompactTextString(m) }
   647  func (*ExpiryFuturesMarketInfo) ProtoMessage()    {}
   648  func (*ExpiryFuturesMarketInfo) Descriptor() ([]byte, []int) {
   649  	return fileDescriptor_2116e2804e9c53f9, []int{4}
   650  }
   651  func (m *ExpiryFuturesMarketInfo) XXX_Unmarshal(b []byte) error {
   652  	return m.Unmarshal(b)
   653  }
   654  func (m *ExpiryFuturesMarketInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   655  	if deterministic {
   656  		return xxx_messageInfo_ExpiryFuturesMarketInfo.Marshal(b, m, deterministic)
   657  	} else {
   658  		b = b[:cap(b)]
   659  		n, err := m.MarshalToSizedBuffer(b)
   660  		if err != nil {
   661  			return nil, err
   662  		}
   663  		return b[:n], nil
   664  	}
   665  }
   666  func (m *ExpiryFuturesMarketInfo) XXX_Merge(src proto.Message) {
   667  	xxx_messageInfo_ExpiryFuturesMarketInfo.Merge(m, src)
   668  }
   669  func (m *ExpiryFuturesMarketInfo) XXX_Size() int {
   670  	return m.Size()
   671  }
   672  func (m *ExpiryFuturesMarketInfo) XXX_DiscardUnknown() {
   673  	xxx_messageInfo_ExpiryFuturesMarketInfo.DiscardUnknown(m)
   674  }
   675  
   676  var xxx_messageInfo_ExpiryFuturesMarketInfo proto.InternalMessageInfo
   677  
   678  func (m *ExpiryFuturesMarketInfo) GetMarketId() string {
   679  	if m != nil {
   680  		return m.MarketId
   681  	}
   682  	return ""
   683  }
   684  
   685  func (m *ExpiryFuturesMarketInfo) GetExpirationTimestamp() int64 {
   686  	if m != nil {
   687  		return m.ExpirationTimestamp
   688  	}
   689  	return 0
   690  }
   691  
   692  func (m *ExpiryFuturesMarketInfo) GetTwapStartTimestamp() int64 {
   693  	if m != nil {
   694  		return m.TwapStartTimestamp
   695  	}
   696  	return 0
   697  }
   698  
   699  type PerpetualMarketInfo struct {
   700  	// market ID.
   701  	MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"`
   702  	// hourly_funding_rate_cap defines the maximum absolute value of the hourly
   703  	// funding rate
   704  	HourlyFundingRateCap cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=hourly_funding_rate_cap,json=hourlyFundingRateCap,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"hourly_funding_rate_cap"`
   705  	// hourly_interest_rate defines the hourly interest rate
   706  	HourlyInterestRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=hourly_interest_rate,json=hourlyInterestRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"hourly_interest_rate"`
   707  	// next_funding_timestamp defines the next funding timestamp in seconds of a
   708  	// perpetual market
   709  	NextFundingTimestamp int64 `protobuf:"varint,4,opt,name=next_funding_timestamp,json=nextFundingTimestamp,proto3" json:"next_funding_timestamp,omitempty"`
   710  	// funding_interval defines the next funding interval in seconds of a
   711  	// perpetual market.
   712  	FundingInterval int64 `protobuf:"varint,5,opt,name=funding_interval,json=fundingInterval,proto3" json:"funding_interval,omitempty"`
   713  }
   714  
   715  func (m *PerpetualMarketInfo) Reset()         { *m = PerpetualMarketInfo{} }
   716  func (m *PerpetualMarketInfo) String() string { return proto.CompactTextString(m) }
   717  func (*PerpetualMarketInfo) ProtoMessage()    {}
   718  func (*PerpetualMarketInfo) Descriptor() ([]byte, []int) {
   719  	return fileDescriptor_2116e2804e9c53f9, []int{5}
   720  }
   721  func (m *PerpetualMarketInfo) XXX_Unmarshal(b []byte) error {
   722  	return m.Unmarshal(b)
   723  }
   724  func (m *PerpetualMarketInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   725  	if deterministic {
   726  		return xxx_messageInfo_PerpetualMarketInfo.Marshal(b, m, deterministic)
   727  	} else {
   728  		b = b[:cap(b)]
   729  		n, err := m.MarshalToSizedBuffer(b)
   730  		if err != nil {
   731  			return nil, err
   732  		}
   733  		return b[:n], nil
   734  	}
   735  }
   736  func (m *PerpetualMarketInfo) XXX_Merge(src proto.Message) {
   737  	xxx_messageInfo_PerpetualMarketInfo.Merge(m, src)
   738  }
   739  func (m *PerpetualMarketInfo) XXX_Size() int {
   740  	return m.Size()
   741  }
   742  func (m *PerpetualMarketInfo) XXX_DiscardUnknown() {
   743  	xxx_messageInfo_PerpetualMarketInfo.DiscardUnknown(m)
   744  }
   745  
   746  var xxx_messageInfo_PerpetualMarketInfo proto.InternalMessageInfo
   747  
   748  func (m *PerpetualMarketInfo) GetMarketId() string {
   749  	if m != nil {
   750  		return m.MarketId
   751  	}
   752  	return ""
   753  }
   754  
   755  func (m *PerpetualMarketInfo) GetNextFundingTimestamp() int64 {
   756  	if m != nil {
   757  		return m.NextFundingTimestamp
   758  	}
   759  	return 0
   760  }
   761  
   762  func (m *PerpetualMarketInfo) GetFundingInterval() int64 {
   763  	if m != nil {
   764  		return m.FundingInterval
   765  	}
   766  	return 0
   767  }
   768  
   769  type PerpetualMarketFunding struct {
   770  	// cumulative_funding defines the cumulative funding of a perpetual market.
   771  	CumulativeFunding cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=cumulative_funding,json=cumulativeFunding,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"cumulative_funding"`
   772  	// cumulative_price defines the cumulative price for the current hour up to
   773  	// the last timestamp
   774  	CumulativePrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=cumulative_price,json=cumulativePrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"cumulative_price"`
   775  	LastTimestamp   int64                       `protobuf:"varint,3,opt,name=last_timestamp,json=lastTimestamp,proto3" json:"last_timestamp,omitempty"`
   776  }
   777  
   778  func (m *PerpetualMarketFunding) Reset()         { *m = PerpetualMarketFunding{} }
   779  func (m *PerpetualMarketFunding) String() string { return proto.CompactTextString(m) }
   780  func (*PerpetualMarketFunding) ProtoMessage()    {}
   781  func (*PerpetualMarketFunding) Descriptor() ([]byte, []int) {
   782  	return fileDescriptor_2116e2804e9c53f9, []int{6}
   783  }
   784  func (m *PerpetualMarketFunding) XXX_Unmarshal(b []byte) error {
   785  	return m.Unmarshal(b)
   786  }
   787  func (m *PerpetualMarketFunding) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   788  	if deterministic {
   789  		return xxx_messageInfo_PerpetualMarketFunding.Marshal(b, m, deterministic)
   790  	} else {
   791  		b = b[:cap(b)]
   792  		n, err := m.MarshalToSizedBuffer(b)
   793  		if err != nil {
   794  			return nil, err
   795  		}
   796  		return b[:n], nil
   797  	}
   798  }
   799  func (m *PerpetualMarketFunding) XXX_Merge(src proto.Message) {
   800  	xxx_messageInfo_PerpetualMarketFunding.Merge(m, src)
   801  }
   802  func (m *PerpetualMarketFunding) XXX_Size() int {
   803  	return m.Size()
   804  }
   805  func (m *PerpetualMarketFunding) XXX_DiscardUnknown() {
   806  	xxx_messageInfo_PerpetualMarketFunding.DiscardUnknown(m)
   807  }
   808  
   809  var xxx_messageInfo_PerpetualMarketFunding proto.InternalMessageInfo
   810  
   811  func (m *PerpetualMarketFunding) GetLastTimestamp() int64 {
   812  	if m != nil {
   813  		return m.LastTimestamp
   814  	}
   815  	return 0
   816  }
   817  
   818  type DerivativeMarketSettlementInfo struct {
   819  	// market ID.
   820  	MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"`
   821  	// settlement_price defines the settlement price
   822  	SettlementPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=settlement_price,json=settlementPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"settlement_price"`
   823  }
   824  
   825  func (m *DerivativeMarketSettlementInfo) Reset()         { *m = DerivativeMarketSettlementInfo{} }
   826  func (m *DerivativeMarketSettlementInfo) String() string { return proto.CompactTextString(m) }
   827  func (*DerivativeMarketSettlementInfo) ProtoMessage()    {}
   828  func (*DerivativeMarketSettlementInfo) Descriptor() ([]byte, []int) {
   829  	return fileDescriptor_2116e2804e9c53f9, []int{7}
   830  }
   831  func (m *DerivativeMarketSettlementInfo) XXX_Unmarshal(b []byte) error {
   832  	return m.Unmarshal(b)
   833  }
   834  func (m *DerivativeMarketSettlementInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   835  	if deterministic {
   836  		return xxx_messageInfo_DerivativeMarketSettlementInfo.Marshal(b, m, deterministic)
   837  	} else {
   838  		b = b[:cap(b)]
   839  		n, err := m.MarshalToSizedBuffer(b)
   840  		if err != nil {
   841  			return nil, err
   842  		}
   843  		return b[:n], nil
   844  	}
   845  }
   846  func (m *DerivativeMarketSettlementInfo) XXX_Merge(src proto.Message) {
   847  	xxx_messageInfo_DerivativeMarketSettlementInfo.Merge(m, src)
   848  }
   849  func (m *DerivativeMarketSettlementInfo) XXX_Size() int {
   850  	return m.Size()
   851  }
   852  func (m *DerivativeMarketSettlementInfo) XXX_DiscardUnknown() {
   853  	xxx_messageInfo_DerivativeMarketSettlementInfo.DiscardUnknown(m)
   854  }
   855  
   856  var xxx_messageInfo_DerivativeMarketSettlementInfo proto.InternalMessageInfo
   857  
   858  func (m *DerivativeMarketSettlementInfo) GetMarketId() string {
   859  	if m != nil {
   860  		return m.MarketId
   861  	}
   862  	return ""
   863  }
   864  
   865  type NextFundingTimestamp struct {
   866  	NextTimestamp int64 `protobuf:"varint,1,opt,name=next_timestamp,json=nextTimestamp,proto3" json:"next_timestamp,omitempty"`
   867  }
   868  
   869  func (m *NextFundingTimestamp) Reset()         { *m = NextFundingTimestamp{} }
   870  func (m *NextFundingTimestamp) String() string { return proto.CompactTextString(m) }
   871  func (*NextFundingTimestamp) ProtoMessage()    {}
   872  func (*NextFundingTimestamp) Descriptor() ([]byte, []int) {
   873  	return fileDescriptor_2116e2804e9c53f9, []int{8}
   874  }
   875  func (m *NextFundingTimestamp) XXX_Unmarshal(b []byte) error {
   876  	return m.Unmarshal(b)
   877  }
   878  func (m *NextFundingTimestamp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   879  	if deterministic {
   880  		return xxx_messageInfo_NextFundingTimestamp.Marshal(b, m, deterministic)
   881  	} else {
   882  		b = b[:cap(b)]
   883  		n, err := m.MarshalToSizedBuffer(b)
   884  		if err != nil {
   885  			return nil, err
   886  		}
   887  		return b[:n], nil
   888  	}
   889  }
   890  func (m *NextFundingTimestamp) XXX_Merge(src proto.Message) {
   891  	xxx_messageInfo_NextFundingTimestamp.Merge(m, src)
   892  }
   893  func (m *NextFundingTimestamp) XXX_Size() int {
   894  	return m.Size()
   895  }
   896  func (m *NextFundingTimestamp) XXX_DiscardUnknown() {
   897  	xxx_messageInfo_NextFundingTimestamp.DiscardUnknown(m)
   898  }
   899  
   900  var xxx_messageInfo_NextFundingTimestamp proto.InternalMessageInfo
   901  
   902  func (m *NextFundingTimestamp) GetNextTimestamp() int64 {
   903  	if m != nil {
   904  		return m.NextTimestamp
   905  	}
   906  	return 0
   907  }
   908  
   909  type MidPriceAndTOB struct {
   910  	// mid price of the market
   911  	MidPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=mid_price,json=midPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"mid_price,omitempty"`
   912  	// best buy price of the market
   913  	BestBuyPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=best_buy_price,json=bestBuyPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"best_buy_price,omitempty"`
   914  	// best sell price of the market
   915  	BestSellPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=best_sell_price,json=bestSellPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"best_sell_price,omitempty"`
   916  }
   917  
   918  func (m *MidPriceAndTOB) Reset()         { *m = MidPriceAndTOB{} }
   919  func (m *MidPriceAndTOB) String() string { return proto.CompactTextString(m) }
   920  func (*MidPriceAndTOB) ProtoMessage()    {}
   921  func (*MidPriceAndTOB) Descriptor() ([]byte, []int) {
   922  	return fileDescriptor_2116e2804e9c53f9, []int{9}
   923  }
   924  func (m *MidPriceAndTOB) XXX_Unmarshal(b []byte) error {
   925  	return m.Unmarshal(b)
   926  }
   927  func (m *MidPriceAndTOB) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   928  	if deterministic {
   929  		return xxx_messageInfo_MidPriceAndTOB.Marshal(b, m, deterministic)
   930  	} else {
   931  		b = b[:cap(b)]
   932  		n, err := m.MarshalToSizedBuffer(b)
   933  		if err != nil {
   934  			return nil, err
   935  		}
   936  		return b[:n], nil
   937  	}
   938  }
   939  func (m *MidPriceAndTOB) XXX_Merge(src proto.Message) {
   940  	xxx_messageInfo_MidPriceAndTOB.Merge(m, src)
   941  }
   942  func (m *MidPriceAndTOB) XXX_Size() int {
   943  	return m.Size()
   944  }
   945  func (m *MidPriceAndTOB) XXX_DiscardUnknown() {
   946  	xxx_messageInfo_MidPriceAndTOB.DiscardUnknown(m)
   947  }
   948  
   949  var xxx_messageInfo_MidPriceAndTOB proto.InternalMessageInfo
   950  
   951  // An object describing trade pair of two assets.
   952  type SpotMarket struct {
   953  	// A name of the pair in format AAA/BBB, where AAA is base asset, BBB is quote
   954  	// asset.
   955  	Ticker string `protobuf:"bytes,1,opt,name=ticker,proto3" json:"ticker,omitempty"`
   956  	// Coin denom used for the base asset
   957  	BaseDenom string `protobuf:"bytes,2,opt,name=base_denom,json=baseDenom,proto3" json:"base_denom,omitempty"`
   958  	// Coin used for the quote asset
   959  	QuoteDenom string `protobuf:"bytes,3,opt,name=quote_denom,json=quoteDenom,proto3" json:"quote_denom,omitempty"`
   960  	// maker_fee_rate defines the fee percentage makers pay when trading
   961  	MakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_fee_rate"`
   962  	// taker_fee_rate defines the fee percentage takers pay when trading
   963  	TakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate"`
   964  	// relayer_fee_share_rate defines the percentage of the transaction fee shared
   965  	// with the relayer in a derivative market
   966  	RelayerFeeShareRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=relayer_fee_share_rate,json=relayerFeeShareRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"relayer_fee_share_rate"`
   967  	// Unique market ID.
   968  	MarketId string `protobuf:"bytes,7,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"`
   969  	// Status of the market
   970  	Status MarketStatus `protobuf:"varint,8,opt,name=status,proto3,enum=injective.exchange.v1beta1.MarketStatus" json:"status,omitempty"`
   971  	// min_price_tick_size defines the minimum tick size that the price required
   972  	// for orders in the market
   973  	MinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,9,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size"`
   974  	// min_quantity_tick_size defines the minimum tick size of the quantity
   975  	// required for orders in the market
   976  	MinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,10,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_quantity_tick_size"`
   977  	// min_notional defines the minimum notional (in quote asset) required for
   978  	// orders in the market
   979  	MinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional"`
   980  	// current market admin
   981  	Admin string `protobuf:"bytes,12,opt,name=admin,proto3" json:"admin,omitempty"`
   982  	// level of admin permissions
   983  	AdminPermissions uint32 `protobuf:"varint,13,opt,name=admin_permissions,json=adminPermissions,proto3" json:"admin_permissions,omitempty"`
   984  }
   985  
   986  func (m *SpotMarket) Reset()         { *m = SpotMarket{} }
   987  func (m *SpotMarket) String() string { return proto.CompactTextString(m) }
   988  func (*SpotMarket) ProtoMessage()    {}
   989  func (*SpotMarket) Descriptor() ([]byte, []int) {
   990  	return fileDescriptor_2116e2804e9c53f9, []int{10}
   991  }
   992  func (m *SpotMarket) XXX_Unmarshal(b []byte) error {
   993  	return m.Unmarshal(b)
   994  }
   995  func (m *SpotMarket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   996  	if deterministic {
   997  		return xxx_messageInfo_SpotMarket.Marshal(b, m, deterministic)
   998  	} else {
   999  		b = b[:cap(b)]
  1000  		n, err := m.MarshalToSizedBuffer(b)
  1001  		if err != nil {
  1002  			return nil, err
  1003  		}
  1004  		return b[:n], nil
  1005  	}
  1006  }
  1007  func (m *SpotMarket) XXX_Merge(src proto.Message) {
  1008  	xxx_messageInfo_SpotMarket.Merge(m, src)
  1009  }
  1010  func (m *SpotMarket) XXX_Size() int {
  1011  	return m.Size()
  1012  }
  1013  func (m *SpotMarket) XXX_DiscardUnknown() {
  1014  	xxx_messageInfo_SpotMarket.DiscardUnknown(m)
  1015  }
  1016  
  1017  var xxx_messageInfo_SpotMarket proto.InternalMessageInfo
  1018  
  1019  func (m *SpotMarket) GetTicker() string {
  1020  	if m != nil {
  1021  		return m.Ticker
  1022  	}
  1023  	return ""
  1024  }
  1025  
  1026  func (m *SpotMarket) GetBaseDenom() string {
  1027  	if m != nil {
  1028  		return m.BaseDenom
  1029  	}
  1030  	return ""
  1031  }
  1032  
  1033  func (m *SpotMarket) GetQuoteDenom() string {
  1034  	if m != nil {
  1035  		return m.QuoteDenom
  1036  	}
  1037  	return ""
  1038  }
  1039  
  1040  func (m *SpotMarket) GetMarketId() string {
  1041  	if m != nil {
  1042  		return m.MarketId
  1043  	}
  1044  	return ""
  1045  }
  1046  
  1047  func (m *SpotMarket) GetStatus() MarketStatus {
  1048  	if m != nil {
  1049  		return m.Status
  1050  	}
  1051  	return MarketStatus_Unspecified
  1052  }
  1053  
  1054  func (m *SpotMarket) GetAdmin() string {
  1055  	if m != nil {
  1056  		return m.Admin
  1057  	}
  1058  	return ""
  1059  }
  1060  
  1061  func (m *SpotMarket) GetAdminPermissions() uint32 {
  1062  	if m != nil {
  1063  		return m.AdminPermissions
  1064  	}
  1065  	return 0
  1066  }
  1067  
  1068  // A subaccount's deposit for a given base currency
  1069  type Deposit struct {
  1070  	AvailableBalance cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=available_balance,json=availableBalance,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"available_balance"`
  1071  	TotalBalance     cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=total_balance,json=totalBalance,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"total_balance"`
  1072  }
  1073  
  1074  func (m *Deposit) Reset()         { *m = Deposit{} }
  1075  func (m *Deposit) String() string { return proto.CompactTextString(m) }
  1076  func (*Deposit) ProtoMessage()    {}
  1077  func (*Deposit) Descriptor() ([]byte, []int) {
  1078  	return fileDescriptor_2116e2804e9c53f9, []int{11}
  1079  }
  1080  func (m *Deposit) XXX_Unmarshal(b []byte) error {
  1081  	return m.Unmarshal(b)
  1082  }
  1083  func (m *Deposit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1084  	if deterministic {
  1085  		return xxx_messageInfo_Deposit.Marshal(b, m, deterministic)
  1086  	} else {
  1087  		b = b[:cap(b)]
  1088  		n, err := m.MarshalToSizedBuffer(b)
  1089  		if err != nil {
  1090  			return nil, err
  1091  		}
  1092  		return b[:n], nil
  1093  	}
  1094  }
  1095  func (m *Deposit) XXX_Merge(src proto.Message) {
  1096  	xxx_messageInfo_Deposit.Merge(m, src)
  1097  }
  1098  func (m *Deposit) XXX_Size() int {
  1099  	return m.Size()
  1100  }
  1101  func (m *Deposit) XXX_DiscardUnknown() {
  1102  	xxx_messageInfo_Deposit.DiscardUnknown(m)
  1103  }
  1104  
  1105  var xxx_messageInfo_Deposit proto.InternalMessageInfo
  1106  
  1107  type SubaccountTradeNonce struct {
  1108  	Nonce uint32 `protobuf:"varint,1,opt,name=nonce,proto3" json:"nonce,omitempty"`
  1109  }
  1110  
  1111  func (m *SubaccountTradeNonce) Reset()         { *m = SubaccountTradeNonce{} }
  1112  func (m *SubaccountTradeNonce) String() string { return proto.CompactTextString(m) }
  1113  func (*SubaccountTradeNonce) ProtoMessage()    {}
  1114  func (*SubaccountTradeNonce) Descriptor() ([]byte, []int) {
  1115  	return fileDescriptor_2116e2804e9c53f9, []int{12}
  1116  }
  1117  func (m *SubaccountTradeNonce) XXX_Unmarshal(b []byte) error {
  1118  	return m.Unmarshal(b)
  1119  }
  1120  func (m *SubaccountTradeNonce) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1121  	if deterministic {
  1122  		return xxx_messageInfo_SubaccountTradeNonce.Marshal(b, m, deterministic)
  1123  	} else {
  1124  		b = b[:cap(b)]
  1125  		n, err := m.MarshalToSizedBuffer(b)
  1126  		if err != nil {
  1127  			return nil, err
  1128  		}
  1129  		return b[:n], nil
  1130  	}
  1131  }
  1132  func (m *SubaccountTradeNonce) XXX_Merge(src proto.Message) {
  1133  	xxx_messageInfo_SubaccountTradeNonce.Merge(m, src)
  1134  }
  1135  func (m *SubaccountTradeNonce) XXX_Size() int {
  1136  	return m.Size()
  1137  }
  1138  func (m *SubaccountTradeNonce) XXX_DiscardUnknown() {
  1139  	xxx_messageInfo_SubaccountTradeNonce.DiscardUnknown(m)
  1140  }
  1141  
  1142  var xxx_messageInfo_SubaccountTradeNonce proto.InternalMessageInfo
  1143  
  1144  func (m *SubaccountTradeNonce) GetNonce() uint32 {
  1145  	if m != nil {
  1146  		return m.Nonce
  1147  	}
  1148  	return 0
  1149  }
  1150  
  1151  type OrderInfo struct {
  1152  	// bytes32 subaccount ID that created the order
  1153  	SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"`
  1154  	// address fee_recipient address that will receive fees for the order
  1155  	FeeRecipient string `protobuf:"bytes,2,opt,name=fee_recipient,json=feeRecipient,proto3" json:"fee_recipient,omitempty"`
  1156  	// price of the order
  1157  	Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"`
  1158  	// quantity of the order
  1159  	Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"`
  1160  	Cid      string                      `protobuf:"bytes,5,opt,name=cid,proto3" json:"cid,omitempty"`
  1161  }
  1162  
  1163  func (m *OrderInfo) Reset()         { *m = OrderInfo{} }
  1164  func (m *OrderInfo) String() string { return proto.CompactTextString(m) }
  1165  func (*OrderInfo) ProtoMessage()    {}
  1166  func (*OrderInfo) Descriptor() ([]byte, []int) {
  1167  	return fileDescriptor_2116e2804e9c53f9, []int{13}
  1168  }
  1169  func (m *OrderInfo) XXX_Unmarshal(b []byte) error {
  1170  	return m.Unmarshal(b)
  1171  }
  1172  func (m *OrderInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1173  	if deterministic {
  1174  		return xxx_messageInfo_OrderInfo.Marshal(b, m, deterministic)
  1175  	} else {
  1176  		b = b[:cap(b)]
  1177  		n, err := m.MarshalToSizedBuffer(b)
  1178  		if err != nil {
  1179  			return nil, err
  1180  		}
  1181  		return b[:n], nil
  1182  	}
  1183  }
  1184  func (m *OrderInfo) XXX_Merge(src proto.Message) {
  1185  	xxx_messageInfo_OrderInfo.Merge(m, src)
  1186  }
  1187  func (m *OrderInfo) XXX_Size() int {
  1188  	return m.Size()
  1189  }
  1190  func (m *OrderInfo) XXX_DiscardUnknown() {
  1191  	xxx_messageInfo_OrderInfo.DiscardUnknown(m)
  1192  }
  1193  
  1194  var xxx_messageInfo_OrderInfo proto.InternalMessageInfo
  1195  
  1196  func (m *OrderInfo) GetSubaccountId() string {
  1197  	if m != nil {
  1198  		return m.SubaccountId
  1199  	}
  1200  	return ""
  1201  }
  1202  
  1203  func (m *OrderInfo) GetFeeRecipient() string {
  1204  	if m != nil {
  1205  		return m.FeeRecipient
  1206  	}
  1207  	return ""
  1208  }
  1209  
  1210  func (m *OrderInfo) GetCid() string {
  1211  	if m != nil {
  1212  		return m.Cid
  1213  	}
  1214  	return ""
  1215  }
  1216  
  1217  type SpotOrder struct {
  1218  	// market_id represents the unique ID of the market
  1219  	MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"`
  1220  	// order_info contains the information of the order
  1221  	OrderInfo OrderInfo `protobuf:"bytes,2,opt,name=order_info,json=orderInfo,proto3" json:"order_info"`
  1222  	// order types
  1223  	OrderType OrderType `protobuf:"varint,3,opt,name=order_type,json=orderType,proto3,enum=injective.exchange.v1beta1.OrderType" json:"order_type,omitempty"`
  1224  	// trigger_price is the trigger price used by stop/take orders
  1225  	TriggerPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=trigger_price,json=triggerPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"trigger_price,omitempty"`
  1226  }
  1227  
  1228  func (m *SpotOrder) Reset()         { *m = SpotOrder{} }
  1229  func (m *SpotOrder) String() string { return proto.CompactTextString(m) }
  1230  func (*SpotOrder) ProtoMessage()    {}
  1231  func (*SpotOrder) Descriptor() ([]byte, []int) {
  1232  	return fileDescriptor_2116e2804e9c53f9, []int{14}
  1233  }
  1234  func (m *SpotOrder) XXX_Unmarshal(b []byte) error {
  1235  	return m.Unmarshal(b)
  1236  }
  1237  func (m *SpotOrder) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1238  	if deterministic {
  1239  		return xxx_messageInfo_SpotOrder.Marshal(b, m, deterministic)
  1240  	} else {
  1241  		b = b[:cap(b)]
  1242  		n, err := m.MarshalToSizedBuffer(b)
  1243  		if err != nil {
  1244  			return nil, err
  1245  		}
  1246  		return b[:n], nil
  1247  	}
  1248  }
  1249  func (m *SpotOrder) XXX_Merge(src proto.Message) {
  1250  	xxx_messageInfo_SpotOrder.Merge(m, src)
  1251  }
  1252  func (m *SpotOrder) XXX_Size() int {
  1253  	return m.Size()
  1254  }
  1255  func (m *SpotOrder) XXX_DiscardUnknown() {
  1256  	xxx_messageInfo_SpotOrder.DiscardUnknown(m)
  1257  }
  1258  
  1259  var xxx_messageInfo_SpotOrder proto.InternalMessageInfo
  1260  
  1261  func (m *SpotOrder) GetMarketId() string {
  1262  	if m != nil {
  1263  		return m.MarketId
  1264  	}
  1265  	return ""
  1266  }
  1267  
  1268  func (m *SpotOrder) GetOrderInfo() OrderInfo {
  1269  	if m != nil {
  1270  		return m.OrderInfo
  1271  	}
  1272  	return OrderInfo{}
  1273  }
  1274  
  1275  func (m *SpotOrder) GetOrderType() OrderType {
  1276  	if m != nil {
  1277  		return m.OrderType
  1278  	}
  1279  	return OrderType_UNSPECIFIED
  1280  }
  1281  
  1282  // A valid Spot limit order with Metadata.
  1283  type SpotLimitOrder struct {
  1284  	// order_info contains the information of the order
  1285  	OrderInfo OrderInfo `protobuf:"bytes,1,opt,name=order_info,json=orderInfo,proto3" json:"order_info"`
  1286  	// order types
  1287  	OrderType OrderType `protobuf:"varint,2,opt,name=order_type,json=orderType,proto3,enum=injective.exchange.v1beta1.OrderType" json:"order_type,omitempty"`
  1288  	// the amount of the quantity remaining fillable
  1289  	Fillable cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=fillable,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"fillable"`
  1290  	// trigger_price is the trigger price used by stop/take orders
  1291  	TriggerPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=trigger_price,json=triggerPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"trigger_price,omitempty"`
  1292  	OrderHash    []byte                       `protobuf:"bytes,5,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"`
  1293  }
  1294  
  1295  func (m *SpotLimitOrder) Reset()         { *m = SpotLimitOrder{} }
  1296  func (m *SpotLimitOrder) String() string { return proto.CompactTextString(m) }
  1297  func (*SpotLimitOrder) ProtoMessage()    {}
  1298  func (*SpotLimitOrder) Descriptor() ([]byte, []int) {
  1299  	return fileDescriptor_2116e2804e9c53f9, []int{15}
  1300  }
  1301  func (m *SpotLimitOrder) XXX_Unmarshal(b []byte) error {
  1302  	return m.Unmarshal(b)
  1303  }
  1304  func (m *SpotLimitOrder) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1305  	if deterministic {
  1306  		return xxx_messageInfo_SpotLimitOrder.Marshal(b, m, deterministic)
  1307  	} else {
  1308  		b = b[:cap(b)]
  1309  		n, err := m.MarshalToSizedBuffer(b)
  1310  		if err != nil {
  1311  			return nil, err
  1312  		}
  1313  		return b[:n], nil
  1314  	}
  1315  }
  1316  func (m *SpotLimitOrder) XXX_Merge(src proto.Message) {
  1317  	xxx_messageInfo_SpotLimitOrder.Merge(m, src)
  1318  }
  1319  func (m *SpotLimitOrder) XXX_Size() int {
  1320  	return m.Size()
  1321  }
  1322  func (m *SpotLimitOrder) XXX_DiscardUnknown() {
  1323  	xxx_messageInfo_SpotLimitOrder.DiscardUnknown(m)
  1324  }
  1325  
  1326  var xxx_messageInfo_SpotLimitOrder proto.InternalMessageInfo
  1327  
  1328  func (m *SpotLimitOrder) GetOrderInfo() OrderInfo {
  1329  	if m != nil {
  1330  		return m.OrderInfo
  1331  	}
  1332  	return OrderInfo{}
  1333  }
  1334  
  1335  func (m *SpotLimitOrder) GetOrderType() OrderType {
  1336  	if m != nil {
  1337  		return m.OrderType
  1338  	}
  1339  	return OrderType_UNSPECIFIED
  1340  }
  1341  
  1342  func (m *SpotLimitOrder) GetOrderHash() []byte {
  1343  	if m != nil {
  1344  		return m.OrderHash
  1345  	}
  1346  	return nil
  1347  }
  1348  
  1349  // A valid Spot market order with Metadata.
  1350  type SpotMarketOrder struct {
  1351  	// order_info contains the information of the order
  1352  	OrderInfo   OrderInfo                   `protobuf:"bytes,1,opt,name=order_info,json=orderInfo,proto3" json:"order_info"`
  1353  	BalanceHold cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=balance_hold,json=balanceHold,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"balance_hold"`
  1354  	OrderHash   []byte                      `protobuf:"bytes,3,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"`
  1355  	// order types
  1356  	OrderType OrderType `protobuf:"varint,4,opt,name=order_type,json=orderType,proto3,enum=injective.exchange.v1beta1.OrderType" json:"order_type,omitempty"`
  1357  	// trigger_price is the trigger price used by stop/take orders
  1358  	TriggerPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=trigger_price,json=triggerPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"trigger_price,omitempty"`
  1359  }
  1360  
  1361  func (m *SpotMarketOrder) Reset()         { *m = SpotMarketOrder{} }
  1362  func (m *SpotMarketOrder) String() string { return proto.CompactTextString(m) }
  1363  func (*SpotMarketOrder) ProtoMessage()    {}
  1364  func (*SpotMarketOrder) Descriptor() ([]byte, []int) {
  1365  	return fileDescriptor_2116e2804e9c53f9, []int{16}
  1366  }
  1367  func (m *SpotMarketOrder) XXX_Unmarshal(b []byte) error {
  1368  	return m.Unmarshal(b)
  1369  }
  1370  func (m *SpotMarketOrder) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1371  	if deterministic {
  1372  		return xxx_messageInfo_SpotMarketOrder.Marshal(b, m, deterministic)
  1373  	} else {
  1374  		b = b[:cap(b)]
  1375  		n, err := m.MarshalToSizedBuffer(b)
  1376  		if err != nil {
  1377  			return nil, err
  1378  		}
  1379  		return b[:n], nil
  1380  	}
  1381  }
  1382  func (m *SpotMarketOrder) XXX_Merge(src proto.Message) {
  1383  	xxx_messageInfo_SpotMarketOrder.Merge(m, src)
  1384  }
  1385  func (m *SpotMarketOrder) XXX_Size() int {
  1386  	return m.Size()
  1387  }
  1388  func (m *SpotMarketOrder) XXX_DiscardUnknown() {
  1389  	xxx_messageInfo_SpotMarketOrder.DiscardUnknown(m)
  1390  }
  1391  
  1392  var xxx_messageInfo_SpotMarketOrder proto.InternalMessageInfo
  1393  
  1394  func (m *SpotMarketOrder) GetOrderInfo() OrderInfo {
  1395  	if m != nil {
  1396  		return m.OrderInfo
  1397  	}
  1398  	return OrderInfo{}
  1399  }
  1400  
  1401  func (m *SpotMarketOrder) GetOrderHash() []byte {
  1402  	if m != nil {
  1403  		return m.OrderHash
  1404  	}
  1405  	return nil
  1406  }
  1407  
  1408  func (m *SpotMarketOrder) GetOrderType() OrderType {
  1409  	if m != nil {
  1410  		return m.OrderType
  1411  	}
  1412  	return OrderType_UNSPECIFIED
  1413  }
  1414  
  1415  type DerivativeOrder struct {
  1416  	// market_id represents the unique ID of the market
  1417  	MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"`
  1418  	// order_info contains the information of the order
  1419  	OrderInfo OrderInfo `protobuf:"bytes,2,opt,name=order_info,json=orderInfo,proto3" json:"order_info"`
  1420  	// order types
  1421  	OrderType OrderType `protobuf:"varint,3,opt,name=order_type,json=orderType,proto3,enum=injective.exchange.v1beta1.OrderType" json:"order_type,omitempty"`
  1422  	// margin is the margin used by the limit order
  1423  	Margin cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=margin,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"margin"`
  1424  	// trigger_price is the trigger price used by stop/take orders
  1425  	TriggerPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=trigger_price,json=triggerPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"trigger_price,omitempty"`
  1426  }
  1427  
  1428  func (m *DerivativeOrder) Reset()         { *m = DerivativeOrder{} }
  1429  func (m *DerivativeOrder) String() string { return proto.CompactTextString(m) }
  1430  func (*DerivativeOrder) ProtoMessage()    {}
  1431  func (*DerivativeOrder) Descriptor() ([]byte, []int) {
  1432  	return fileDescriptor_2116e2804e9c53f9, []int{17}
  1433  }
  1434  func (m *DerivativeOrder) XXX_Unmarshal(b []byte) error {
  1435  	return m.Unmarshal(b)
  1436  }
  1437  func (m *DerivativeOrder) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1438  	if deterministic {
  1439  		return xxx_messageInfo_DerivativeOrder.Marshal(b, m, deterministic)
  1440  	} else {
  1441  		b = b[:cap(b)]
  1442  		n, err := m.MarshalToSizedBuffer(b)
  1443  		if err != nil {
  1444  			return nil, err
  1445  		}
  1446  		return b[:n], nil
  1447  	}
  1448  }
  1449  func (m *DerivativeOrder) XXX_Merge(src proto.Message) {
  1450  	xxx_messageInfo_DerivativeOrder.Merge(m, src)
  1451  }
  1452  func (m *DerivativeOrder) XXX_Size() int {
  1453  	return m.Size()
  1454  }
  1455  func (m *DerivativeOrder) XXX_DiscardUnknown() {
  1456  	xxx_messageInfo_DerivativeOrder.DiscardUnknown(m)
  1457  }
  1458  
  1459  var xxx_messageInfo_DerivativeOrder proto.InternalMessageInfo
  1460  
  1461  func (m *DerivativeOrder) GetMarketId() string {
  1462  	if m != nil {
  1463  		return m.MarketId
  1464  	}
  1465  	return ""
  1466  }
  1467  
  1468  func (m *DerivativeOrder) GetOrderInfo() OrderInfo {
  1469  	if m != nil {
  1470  		return m.OrderInfo
  1471  	}
  1472  	return OrderInfo{}
  1473  }
  1474  
  1475  func (m *DerivativeOrder) GetOrderType() OrderType {
  1476  	if m != nil {
  1477  		return m.OrderType
  1478  	}
  1479  	return OrderType_UNSPECIFIED
  1480  }
  1481  
  1482  type SubaccountOrderbookMetadata struct {
  1483  	VanillaLimitOrderCount    uint32 `protobuf:"varint,1,opt,name=vanilla_limit_order_count,json=vanillaLimitOrderCount,proto3" json:"vanilla_limit_order_count,omitempty"`
  1484  	ReduceOnlyLimitOrderCount uint32 `protobuf:"varint,2,opt,name=reduce_only_limit_order_count,json=reduceOnlyLimitOrderCount,proto3" json:"reduce_only_limit_order_count,omitempty"`
  1485  	// AggregateReduceOnlyQuantity is the aggregate fillable quantity of the
  1486  	// subaccount's reduce-only limit orders in the given direction.
  1487  	AggregateReduceOnlyQuantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=aggregate_reduce_only_quantity,json=aggregateReduceOnlyQuantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"aggregate_reduce_only_quantity"`
  1488  	// AggregateVanillaQuantity is the aggregate fillable quantity of the
  1489  	// subaccount's vanilla limit orders in the given direction.
  1490  	AggregateVanillaQuantity        cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=aggregate_vanilla_quantity,json=aggregateVanillaQuantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"aggregate_vanilla_quantity"`
  1491  	VanillaConditionalOrderCount    uint32                      `protobuf:"varint,5,opt,name=vanilla_conditional_order_count,json=vanillaConditionalOrderCount,proto3" json:"vanilla_conditional_order_count,omitempty"`
  1492  	ReduceOnlyConditionalOrderCount uint32                      `protobuf:"varint,6,opt,name=reduce_only_conditional_order_count,json=reduceOnlyConditionalOrderCount,proto3" json:"reduce_only_conditional_order_count,omitempty"`
  1493  }
  1494  
  1495  func (m *SubaccountOrderbookMetadata) Reset()         { *m = SubaccountOrderbookMetadata{} }
  1496  func (m *SubaccountOrderbookMetadata) String() string { return proto.CompactTextString(m) }
  1497  func (*SubaccountOrderbookMetadata) ProtoMessage()    {}
  1498  func (*SubaccountOrderbookMetadata) Descriptor() ([]byte, []int) {
  1499  	return fileDescriptor_2116e2804e9c53f9, []int{18}
  1500  }
  1501  func (m *SubaccountOrderbookMetadata) XXX_Unmarshal(b []byte) error {
  1502  	return m.Unmarshal(b)
  1503  }
  1504  func (m *SubaccountOrderbookMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1505  	if deterministic {
  1506  		return xxx_messageInfo_SubaccountOrderbookMetadata.Marshal(b, m, deterministic)
  1507  	} else {
  1508  		b = b[:cap(b)]
  1509  		n, err := m.MarshalToSizedBuffer(b)
  1510  		if err != nil {
  1511  			return nil, err
  1512  		}
  1513  		return b[:n], nil
  1514  	}
  1515  }
  1516  func (m *SubaccountOrderbookMetadata) XXX_Merge(src proto.Message) {
  1517  	xxx_messageInfo_SubaccountOrderbookMetadata.Merge(m, src)
  1518  }
  1519  func (m *SubaccountOrderbookMetadata) XXX_Size() int {
  1520  	return m.Size()
  1521  }
  1522  func (m *SubaccountOrderbookMetadata) XXX_DiscardUnknown() {
  1523  	xxx_messageInfo_SubaccountOrderbookMetadata.DiscardUnknown(m)
  1524  }
  1525  
  1526  var xxx_messageInfo_SubaccountOrderbookMetadata proto.InternalMessageInfo
  1527  
  1528  func (m *SubaccountOrderbookMetadata) GetVanillaLimitOrderCount() uint32 {
  1529  	if m != nil {
  1530  		return m.VanillaLimitOrderCount
  1531  	}
  1532  	return 0
  1533  }
  1534  
  1535  func (m *SubaccountOrderbookMetadata) GetReduceOnlyLimitOrderCount() uint32 {
  1536  	if m != nil {
  1537  		return m.ReduceOnlyLimitOrderCount
  1538  	}
  1539  	return 0
  1540  }
  1541  
  1542  func (m *SubaccountOrderbookMetadata) GetVanillaConditionalOrderCount() uint32 {
  1543  	if m != nil {
  1544  		return m.VanillaConditionalOrderCount
  1545  	}
  1546  	return 0
  1547  }
  1548  
  1549  func (m *SubaccountOrderbookMetadata) GetReduceOnlyConditionalOrderCount() uint32 {
  1550  	if m != nil {
  1551  		return m.ReduceOnlyConditionalOrderCount
  1552  	}
  1553  	return 0
  1554  }
  1555  
  1556  type SubaccountOrder struct {
  1557  	// price of the order
  1558  	Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"`
  1559  	// the amount of the quantity remaining fillable
  1560  	Quantity     cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"`
  1561  	IsReduceOnly bool                        `protobuf:"varint,3,opt,name=isReduceOnly,proto3" json:"isReduceOnly,omitempty"`
  1562  	Cid          string                      `protobuf:"bytes,4,opt,name=cid,proto3" json:"cid,omitempty"`
  1563  }
  1564  
  1565  func (m *SubaccountOrder) Reset()         { *m = SubaccountOrder{} }
  1566  func (m *SubaccountOrder) String() string { return proto.CompactTextString(m) }
  1567  func (*SubaccountOrder) ProtoMessage()    {}
  1568  func (*SubaccountOrder) Descriptor() ([]byte, []int) {
  1569  	return fileDescriptor_2116e2804e9c53f9, []int{19}
  1570  }
  1571  func (m *SubaccountOrder) XXX_Unmarshal(b []byte) error {
  1572  	return m.Unmarshal(b)
  1573  }
  1574  func (m *SubaccountOrder) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1575  	if deterministic {
  1576  		return xxx_messageInfo_SubaccountOrder.Marshal(b, m, deterministic)
  1577  	} else {
  1578  		b = b[:cap(b)]
  1579  		n, err := m.MarshalToSizedBuffer(b)
  1580  		if err != nil {
  1581  			return nil, err
  1582  		}
  1583  		return b[:n], nil
  1584  	}
  1585  }
  1586  func (m *SubaccountOrder) XXX_Merge(src proto.Message) {
  1587  	xxx_messageInfo_SubaccountOrder.Merge(m, src)
  1588  }
  1589  func (m *SubaccountOrder) XXX_Size() int {
  1590  	return m.Size()
  1591  }
  1592  func (m *SubaccountOrder) XXX_DiscardUnknown() {
  1593  	xxx_messageInfo_SubaccountOrder.DiscardUnknown(m)
  1594  }
  1595  
  1596  var xxx_messageInfo_SubaccountOrder proto.InternalMessageInfo
  1597  
  1598  func (m *SubaccountOrder) GetIsReduceOnly() bool {
  1599  	if m != nil {
  1600  		return m.IsReduceOnly
  1601  	}
  1602  	return false
  1603  }
  1604  
  1605  func (m *SubaccountOrder) GetCid() string {
  1606  	if m != nil {
  1607  		return m.Cid
  1608  	}
  1609  	return ""
  1610  }
  1611  
  1612  type SubaccountOrderData struct {
  1613  	Order     *SubaccountOrder `protobuf:"bytes,1,opt,name=order,proto3" json:"order,omitempty"`
  1614  	OrderHash []byte           `protobuf:"bytes,2,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"`
  1615  }
  1616  
  1617  func (m *SubaccountOrderData) Reset()         { *m = SubaccountOrderData{} }
  1618  func (m *SubaccountOrderData) String() string { return proto.CompactTextString(m) }
  1619  func (*SubaccountOrderData) ProtoMessage()    {}
  1620  func (*SubaccountOrderData) Descriptor() ([]byte, []int) {
  1621  	return fileDescriptor_2116e2804e9c53f9, []int{20}
  1622  }
  1623  func (m *SubaccountOrderData) XXX_Unmarshal(b []byte) error {
  1624  	return m.Unmarshal(b)
  1625  }
  1626  func (m *SubaccountOrderData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1627  	if deterministic {
  1628  		return xxx_messageInfo_SubaccountOrderData.Marshal(b, m, deterministic)
  1629  	} else {
  1630  		b = b[:cap(b)]
  1631  		n, err := m.MarshalToSizedBuffer(b)
  1632  		if err != nil {
  1633  			return nil, err
  1634  		}
  1635  		return b[:n], nil
  1636  	}
  1637  }
  1638  func (m *SubaccountOrderData) XXX_Merge(src proto.Message) {
  1639  	xxx_messageInfo_SubaccountOrderData.Merge(m, src)
  1640  }
  1641  func (m *SubaccountOrderData) XXX_Size() int {
  1642  	return m.Size()
  1643  }
  1644  func (m *SubaccountOrderData) XXX_DiscardUnknown() {
  1645  	xxx_messageInfo_SubaccountOrderData.DiscardUnknown(m)
  1646  }
  1647  
  1648  var xxx_messageInfo_SubaccountOrderData proto.InternalMessageInfo
  1649  
  1650  func (m *SubaccountOrderData) GetOrder() *SubaccountOrder {
  1651  	if m != nil {
  1652  		return m.Order
  1653  	}
  1654  	return nil
  1655  }
  1656  
  1657  func (m *SubaccountOrderData) GetOrderHash() []byte {
  1658  	if m != nil {
  1659  		return m.OrderHash
  1660  	}
  1661  	return nil
  1662  }
  1663  
  1664  // A valid Derivative limit order with Metadata.
  1665  type DerivativeLimitOrder struct {
  1666  	// order_info contains the information of the order
  1667  	OrderInfo OrderInfo `protobuf:"bytes,1,opt,name=order_info,json=orderInfo,proto3" json:"order_info"`
  1668  	// order types
  1669  	OrderType OrderType `protobuf:"varint,2,opt,name=order_type,json=orderType,proto3,enum=injective.exchange.v1beta1.OrderType" json:"order_type,omitempty"`
  1670  	// margin is the margin used by the limit order
  1671  	Margin cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=margin,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"margin"`
  1672  	// the amount of the quantity remaining fillable
  1673  	Fillable cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=fillable,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"fillable"`
  1674  	// trigger_price is the trigger price used by stop/take orders
  1675  	TriggerPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=trigger_price,json=triggerPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"trigger_price,omitempty"`
  1676  	OrderHash    []byte                       `protobuf:"bytes,6,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"`
  1677  }
  1678  
  1679  func (m *DerivativeLimitOrder) Reset()         { *m = DerivativeLimitOrder{} }
  1680  func (m *DerivativeLimitOrder) String() string { return proto.CompactTextString(m) }
  1681  func (*DerivativeLimitOrder) ProtoMessage()    {}
  1682  func (*DerivativeLimitOrder) Descriptor() ([]byte, []int) {
  1683  	return fileDescriptor_2116e2804e9c53f9, []int{21}
  1684  }
  1685  func (m *DerivativeLimitOrder) XXX_Unmarshal(b []byte) error {
  1686  	return m.Unmarshal(b)
  1687  }
  1688  func (m *DerivativeLimitOrder) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1689  	if deterministic {
  1690  		return xxx_messageInfo_DerivativeLimitOrder.Marshal(b, m, deterministic)
  1691  	} else {
  1692  		b = b[:cap(b)]
  1693  		n, err := m.MarshalToSizedBuffer(b)
  1694  		if err != nil {
  1695  			return nil, err
  1696  		}
  1697  		return b[:n], nil
  1698  	}
  1699  }
  1700  func (m *DerivativeLimitOrder) XXX_Merge(src proto.Message) {
  1701  	xxx_messageInfo_DerivativeLimitOrder.Merge(m, src)
  1702  }
  1703  func (m *DerivativeLimitOrder) XXX_Size() int {
  1704  	return m.Size()
  1705  }
  1706  func (m *DerivativeLimitOrder) XXX_DiscardUnknown() {
  1707  	xxx_messageInfo_DerivativeLimitOrder.DiscardUnknown(m)
  1708  }
  1709  
  1710  var xxx_messageInfo_DerivativeLimitOrder proto.InternalMessageInfo
  1711  
  1712  func (m *DerivativeLimitOrder) GetOrderInfo() OrderInfo {
  1713  	if m != nil {
  1714  		return m.OrderInfo
  1715  	}
  1716  	return OrderInfo{}
  1717  }
  1718  
  1719  func (m *DerivativeLimitOrder) GetOrderType() OrderType {
  1720  	if m != nil {
  1721  		return m.OrderType
  1722  	}
  1723  	return OrderType_UNSPECIFIED
  1724  }
  1725  
  1726  func (m *DerivativeLimitOrder) GetOrderHash() []byte {
  1727  	if m != nil {
  1728  		return m.OrderHash
  1729  	}
  1730  	return nil
  1731  }
  1732  
  1733  // A valid Derivative market order with Metadata.
  1734  type DerivativeMarketOrder struct {
  1735  	// order_info contains the information of the order
  1736  	OrderInfo OrderInfo `protobuf:"bytes,1,opt,name=order_info,json=orderInfo,proto3" json:"order_info"`
  1737  	// order types
  1738  	OrderType  OrderType                   `protobuf:"varint,2,opt,name=order_type,json=orderType,proto3,enum=injective.exchange.v1beta1.OrderType" json:"order_type,omitempty"`
  1739  	Margin     cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=margin,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"margin"`
  1740  	MarginHold cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=margin_hold,json=marginHold,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"margin_hold"`
  1741  	// trigger_price is the trigger price used by stop/take orders
  1742  	TriggerPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=trigger_price,json=triggerPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"trigger_price,omitempty"`
  1743  	OrderHash    []byte                       `protobuf:"bytes,6,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"`
  1744  }
  1745  
  1746  func (m *DerivativeMarketOrder) Reset()         { *m = DerivativeMarketOrder{} }
  1747  func (m *DerivativeMarketOrder) String() string { return proto.CompactTextString(m) }
  1748  func (*DerivativeMarketOrder) ProtoMessage()    {}
  1749  func (*DerivativeMarketOrder) Descriptor() ([]byte, []int) {
  1750  	return fileDescriptor_2116e2804e9c53f9, []int{22}
  1751  }
  1752  func (m *DerivativeMarketOrder) XXX_Unmarshal(b []byte) error {
  1753  	return m.Unmarshal(b)
  1754  }
  1755  func (m *DerivativeMarketOrder) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1756  	if deterministic {
  1757  		return xxx_messageInfo_DerivativeMarketOrder.Marshal(b, m, deterministic)
  1758  	} else {
  1759  		b = b[:cap(b)]
  1760  		n, err := m.MarshalToSizedBuffer(b)
  1761  		if err != nil {
  1762  			return nil, err
  1763  		}
  1764  		return b[:n], nil
  1765  	}
  1766  }
  1767  func (m *DerivativeMarketOrder) XXX_Merge(src proto.Message) {
  1768  	xxx_messageInfo_DerivativeMarketOrder.Merge(m, src)
  1769  }
  1770  func (m *DerivativeMarketOrder) XXX_Size() int {
  1771  	return m.Size()
  1772  }
  1773  func (m *DerivativeMarketOrder) XXX_DiscardUnknown() {
  1774  	xxx_messageInfo_DerivativeMarketOrder.DiscardUnknown(m)
  1775  }
  1776  
  1777  var xxx_messageInfo_DerivativeMarketOrder proto.InternalMessageInfo
  1778  
  1779  func (m *DerivativeMarketOrder) GetOrderInfo() OrderInfo {
  1780  	if m != nil {
  1781  		return m.OrderInfo
  1782  	}
  1783  	return OrderInfo{}
  1784  }
  1785  
  1786  func (m *DerivativeMarketOrder) GetOrderType() OrderType {
  1787  	if m != nil {
  1788  		return m.OrderType
  1789  	}
  1790  	return OrderType_UNSPECIFIED
  1791  }
  1792  
  1793  func (m *DerivativeMarketOrder) GetOrderHash() []byte {
  1794  	if m != nil {
  1795  		return m.OrderHash
  1796  	}
  1797  	return nil
  1798  }
  1799  
  1800  type Position struct {
  1801  	IsLong                 bool                        `protobuf:"varint,1,opt,name=isLong,proto3" json:"isLong,omitempty"`
  1802  	Quantity               cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"`
  1803  	EntryPrice             cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=entry_price,json=entryPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"entry_price"`
  1804  	Margin                 cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=margin,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"margin"`
  1805  	CumulativeFundingEntry cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=cumulative_funding_entry,json=cumulativeFundingEntry,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"cumulative_funding_entry"`
  1806  }
  1807  
  1808  func (m *Position) Reset()         { *m = Position{} }
  1809  func (m *Position) String() string { return proto.CompactTextString(m) }
  1810  func (*Position) ProtoMessage()    {}
  1811  func (*Position) Descriptor() ([]byte, []int) {
  1812  	return fileDescriptor_2116e2804e9c53f9, []int{23}
  1813  }
  1814  func (m *Position) XXX_Unmarshal(b []byte) error {
  1815  	return m.Unmarshal(b)
  1816  }
  1817  func (m *Position) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1818  	if deterministic {
  1819  		return xxx_messageInfo_Position.Marshal(b, m, deterministic)
  1820  	} else {
  1821  		b = b[:cap(b)]
  1822  		n, err := m.MarshalToSizedBuffer(b)
  1823  		if err != nil {
  1824  			return nil, err
  1825  		}
  1826  		return b[:n], nil
  1827  	}
  1828  }
  1829  func (m *Position) XXX_Merge(src proto.Message) {
  1830  	xxx_messageInfo_Position.Merge(m, src)
  1831  }
  1832  func (m *Position) XXX_Size() int {
  1833  	return m.Size()
  1834  }
  1835  func (m *Position) XXX_DiscardUnknown() {
  1836  	xxx_messageInfo_Position.DiscardUnknown(m)
  1837  }
  1838  
  1839  var xxx_messageInfo_Position proto.InternalMessageInfo
  1840  
  1841  func (m *Position) GetIsLong() bool {
  1842  	if m != nil {
  1843  		return m.IsLong
  1844  	}
  1845  	return false
  1846  }
  1847  
  1848  type MarketOrderIndicator struct {
  1849  	// market_id represents the unique ID of the market
  1850  	MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"`
  1851  	IsBuy    bool   `protobuf:"varint,2,opt,name=isBuy,proto3" json:"isBuy,omitempty"`
  1852  }
  1853  
  1854  func (m *MarketOrderIndicator) Reset()         { *m = MarketOrderIndicator{} }
  1855  func (m *MarketOrderIndicator) String() string { return proto.CompactTextString(m) }
  1856  func (*MarketOrderIndicator) ProtoMessage()    {}
  1857  func (*MarketOrderIndicator) Descriptor() ([]byte, []int) {
  1858  	return fileDescriptor_2116e2804e9c53f9, []int{24}
  1859  }
  1860  func (m *MarketOrderIndicator) XXX_Unmarshal(b []byte) error {
  1861  	return m.Unmarshal(b)
  1862  }
  1863  func (m *MarketOrderIndicator) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1864  	if deterministic {
  1865  		return xxx_messageInfo_MarketOrderIndicator.Marshal(b, m, deterministic)
  1866  	} else {
  1867  		b = b[:cap(b)]
  1868  		n, err := m.MarshalToSizedBuffer(b)
  1869  		if err != nil {
  1870  			return nil, err
  1871  		}
  1872  		return b[:n], nil
  1873  	}
  1874  }
  1875  func (m *MarketOrderIndicator) XXX_Merge(src proto.Message) {
  1876  	xxx_messageInfo_MarketOrderIndicator.Merge(m, src)
  1877  }
  1878  func (m *MarketOrderIndicator) XXX_Size() int {
  1879  	return m.Size()
  1880  }
  1881  func (m *MarketOrderIndicator) XXX_DiscardUnknown() {
  1882  	xxx_messageInfo_MarketOrderIndicator.DiscardUnknown(m)
  1883  }
  1884  
  1885  var xxx_messageInfo_MarketOrderIndicator proto.InternalMessageInfo
  1886  
  1887  func (m *MarketOrderIndicator) GetMarketId() string {
  1888  	if m != nil {
  1889  		return m.MarketId
  1890  	}
  1891  	return ""
  1892  }
  1893  
  1894  func (m *MarketOrderIndicator) GetIsBuy() bool {
  1895  	if m != nil {
  1896  		return m.IsBuy
  1897  	}
  1898  	return false
  1899  }
  1900  
  1901  type TradeLog struct {
  1902  	Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"`
  1903  	Price    cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"`
  1904  	// bytes32 subaccount ID that executed the trade
  1905  	SubaccountId        []byte                      `protobuf:"bytes,3,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"`
  1906  	Fee                 cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=fee,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"fee"`
  1907  	OrderHash           []byte                      `protobuf:"bytes,5,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"`
  1908  	FeeRecipientAddress []byte                      `protobuf:"bytes,6,opt,name=fee_recipient_address,json=feeRecipientAddress,proto3" json:"fee_recipient_address,omitempty"`
  1909  	Cid                 string                      `protobuf:"bytes,7,opt,name=cid,proto3" json:"cid,omitempty"`
  1910  }
  1911  
  1912  func (m *TradeLog) Reset()         { *m = TradeLog{} }
  1913  func (m *TradeLog) String() string { return proto.CompactTextString(m) }
  1914  func (*TradeLog) ProtoMessage()    {}
  1915  func (*TradeLog) Descriptor() ([]byte, []int) {
  1916  	return fileDescriptor_2116e2804e9c53f9, []int{25}
  1917  }
  1918  func (m *TradeLog) XXX_Unmarshal(b []byte) error {
  1919  	return m.Unmarshal(b)
  1920  }
  1921  func (m *TradeLog) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1922  	if deterministic {
  1923  		return xxx_messageInfo_TradeLog.Marshal(b, m, deterministic)
  1924  	} else {
  1925  		b = b[:cap(b)]
  1926  		n, err := m.MarshalToSizedBuffer(b)
  1927  		if err != nil {
  1928  			return nil, err
  1929  		}
  1930  		return b[:n], nil
  1931  	}
  1932  }
  1933  func (m *TradeLog) XXX_Merge(src proto.Message) {
  1934  	xxx_messageInfo_TradeLog.Merge(m, src)
  1935  }
  1936  func (m *TradeLog) XXX_Size() int {
  1937  	return m.Size()
  1938  }
  1939  func (m *TradeLog) XXX_DiscardUnknown() {
  1940  	xxx_messageInfo_TradeLog.DiscardUnknown(m)
  1941  }
  1942  
  1943  var xxx_messageInfo_TradeLog proto.InternalMessageInfo
  1944  
  1945  func (m *TradeLog) GetSubaccountId() []byte {
  1946  	if m != nil {
  1947  		return m.SubaccountId
  1948  	}
  1949  	return nil
  1950  }
  1951  
  1952  func (m *TradeLog) GetOrderHash() []byte {
  1953  	if m != nil {
  1954  		return m.OrderHash
  1955  	}
  1956  	return nil
  1957  }
  1958  
  1959  func (m *TradeLog) GetFeeRecipientAddress() []byte {
  1960  	if m != nil {
  1961  		return m.FeeRecipientAddress
  1962  	}
  1963  	return nil
  1964  }
  1965  
  1966  func (m *TradeLog) GetCid() string {
  1967  	if m != nil {
  1968  		return m.Cid
  1969  	}
  1970  	return ""
  1971  }
  1972  
  1973  type PositionDelta struct {
  1974  	IsLong            bool                        `protobuf:"varint,1,opt,name=is_long,json=isLong,proto3" json:"is_long,omitempty"`
  1975  	ExecutionQuantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=execution_quantity,json=executionQuantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"execution_quantity"`
  1976  	ExecutionMargin   cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=execution_margin,json=executionMargin,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"execution_margin"`
  1977  	ExecutionPrice    cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=execution_price,json=executionPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"execution_price"`
  1978  }
  1979  
  1980  func (m *PositionDelta) Reset()         { *m = PositionDelta{} }
  1981  func (m *PositionDelta) String() string { return proto.CompactTextString(m) }
  1982  func (*PositionDelta) ProtoMessage()    {}
  1983  func (*PositionDelta) Descriptor() ([]byte, []int) {
  1984  	return fileDescriptor_2116e2804e9c53f9, []int{26}
  1985  }
  1986  func (m *PositionDelta) XXX_Unmarshal(b []byte) error {
  1987  	return m.Unmarshal(b)
  1988  }
  1989  func (m *PositionDelta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1990  	if deterministic {
  1991  		return xxx_messageInfo_PositionDelta.Marshal(b, m, deterministic)
  1992  	} else {
  1993  		b = b[:cap(b)]
  1994  		n, err := m.MarshalToSizedBuffer(b)
  1995  		if err != nil {
  1996  			return nil, err
  1997  		}
  1998  		return b[:n], nil
  1999  	}
  2000  }
  2001  func (m *PositionDelta) XXX_Merge(src proto.Message) {
  2002  	xxx_messageInfo_PositionDelta.Merge(m, src)
  2003  }
  2004  func (m *PositionDelta) XXX_Size() int {
  2005  	return m.Size()
  2006  }
  2007  func (m *PositionDelta) XXX_DiscardUnknown() {
  2008  	xxx_messageInfo_PositionDelta.DiscardUnknown(m)
  2009  }
  2010  
  2011  var xxx_messageInfo_PositionDelta proto.InternalMessageInfo
  2012  
  2013  func (m *PositionDelta) GetIsLong() bool {
  2014  	if m != nil {
  2015  		return m.IsLong
  2016  	}
  2017  	return false
  2018  }
  2019  
  2020  type DerivativeTradeLog struct {
  2021  	SubaccountId        []byte                      `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"`
  2022  	PositionDelta       *PositionDelta              `protobuf:"bytes,2,opt,name=position_delta,json=positionDelta,proto3" json:"position_delta,omitempty"`
  2023  	Payout              cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=payout,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"payout"`
  2024  	Fee                 cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=fee,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"fee"`
  2025  	OrderHash           []byte                      `protobuf:"bytes,5,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"`
  2026  	FeeRecipientAddress []byte                      `protobuf:"bytes,6,opt,name=fee_recipient_address,json=feeRecipientAddress,proto3" json:"fee_recipient_address,omitempty"`
  2027  	Cid                 string                      `protobuf:"bytes,7,opt,name=cid,proto3" json:"cid,omitempty"`
  2028  	Pnl                 cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=pnl,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"pnl"`
  2029  }
  2030  
  2031  func (m *DerivativeTradeLog) Reset()         { *m = DerivativeTradeLog{} }
  2032  func (m *DerivativeTradeLog) String() string { return proto.CompactTextString(m) }
  2033  func (*DerivativeTradeLog) ProtoMessage()    {}
  2034  func (*DerivativeTradeLog) Descriptor() ([]byte, []int) {
  2035  	return fileDescriptor_2116e2804e9c53f9, []int{27}
  2036  }
  2037  func (m *DerivativeTradeLog) XXX_Unmarshal(b []byte) error {
  2038  	return m.Unmarshal(b)
  2039  }
  2040  func (m *DerivativeTradeLog) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2041  	if deterministic {
  2042  		return xxx_messageInfo_DerivativeTradeLog.Marshal(b, m, deterministic)
  2043  	} else {
  2044  		b = b[:cap(b)]
  2045  		n, err := m.MarshalToSizedBuffer(b)
  2046  		if err != nil {
  2047  			return nil, err
  2048  		}
  2049  		return b[:n], nil
  2050  	}
  2051  }
  2052  func (m *DerivativeTradeLog) XXX_Merge(src proto.Message) {
  2053  	xxx_messageInfo_DerivativeTradeLog.Merge(m, src)
  2054  }
  2055  func (m *DerivativeTradeLog) XXX_Size() int {
  2056  	return m.Size()
  2057  }
  2058  func (m *DerivativeTradeLog) XXX_DiscardUnknown() {
  2059  	xxx_messageInfo_DerivativeTradeLog.DiscardUnknown(m)
  2060  }
  2061  
  2062  var xxx_messageInfo_DerivativeTradeLog proto.InternalMessageInfo
  2063  
  2064  func (m *DerivativeTradeLog) GetSubaccountId() []byte {
  2065  	if m != nil {
  2066  		return m.SubaccountId
  2067  	}
  2068  	return nil
  2069  }
  2070  
  2071  func (m *DerivativeTradeLog) GetPositionDelta() *PositionDelta {
  2072  	if m != nil {
  2073  		return m.PositionDelta
  2074  	}
  2075  	return nil
  2076  }
  2077  
  2078  func (m *DerivativeTradeLog) GetOrderHash() []byte {
  2079  	if m != nil {
  2080  		return m.OrderHash
  2081  	}
  2082  	return nil
  2083  }
  2084  
  2085  func (m *DerivativeTradeLog) GetFeeRecipientAddress() []byte {
  2086  	if m != nil {
  2087  		return m.FeeRecipientAddress
  2088  	}
  2089  	return nil
  2090  }
  2091  
  2092  func (m *DerivativeTradeLog) GetCid() string {
  2093  	if m != nil {
  2094  		return m.Cid
  2095  	}
  2096  	return ""
  2097  }
  2098  
  2099  type SubaccountPosition struct {
  2100  	Position     *Position `protobuf:"bytes,1,opt,name=position,proto3" json:"position,omitempty"`
  2101  	SubaccountId []byte    `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"`
  2102  }
  2103  
  2104  func (m *SubaccountPosition) Reset()         { *m = SubaccountPosition{} }
  2105  func (m *SubaccountPosition) String() string { return proto.CompactTextString(m) }
  2106  func (*SubaccountPosition) ProtoMessage()    {}
  2107  func (*SubaccountPosition) Descriptor() ([]byte, []int) {
  2108  	return fileDescriptor_2116e2804e9c53f9, []int{28}
  2109  }
  2110  func (m *SubaccountPosition) XXX_Unmarshal(b []byte) error {
  2111  	return m.Unmarshal(b)
  2112  }
  2113  func (m *SubaccountPosition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2114  	if deterministic {
  2115  		return xxx_messageInfo_SubaccountPosition.Marshal(b, m, deterministic)
  2116  	} else {
  2117  		b = b[:cap(b)]
  2118  		n, err := m.MarshalToSizedBuffer(b)
  2119  		if err != nil {
  2120  			return nil, err
  2121  		}
  2122  		return b[:n], nil
  2123  	}
  2124  }
  2125  func (m *SubaccountPosition) XXX_Merge(src proto.Message) {
  2126  	xxx_messageInfo_SubaccountPosition.Merge(m, src)
  2127  }
  2128  func (m *SubaccountPosition) XXX_Size() int {
  2129  	return m.Size()
  2130  }
  2131  func (m *SubaccountPosition) XXX_DiscardUnknown() {
  2132  	xxx_messageInfo_SubaccountPosition.DiscardUnknown(m)
  2133  }
  2134  
  2135  var xxx_messageInfo_SubaccountPosition proto.InternalMessageInfo
  2136  
  2137  func (m *SubaccountPosition) GetPosition() *Position {
  2138  	if m != nil {
  2139  		return m.Position
  2140  	}
  2141  	return nil
  2142  }
  2143  
  2144  func (m *SubaccountPosition) GetSubaccountId() []byte {
  2145  	if m != nil {
  2146  		return m.SubaccountId
  2147  	}
  2148  	return nil
  2149  }
  2150  
  2151  type SubaccountDeposit struct {
  2152  	SubaccountId []byte   `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"`
  2153  	Deposit      *Deposit `protobuf:"bytes,2,opt,name=deposit,proto3" json:"deposit,omitempty"`
  2154  }
  2155  
  2156  func (m *SubaccountDeposit) Reset()         { *m = SubaccountDeposit{} }
  2157  func (m *SubaccountDeposit) String() string { return proto.CompactTextString(m) }
  2158  func (*SubaccountDeposit) ProtoMessage()    {}
  2159  func (*SubaccountDeposit) Descriptor() ([]byte, []int) {
  2160  	return fileDescriptor_2116e2804e9c53f9, []int{29}
  2161  }
  2162  func (m *SubaccountDeposit) XXX_Unmarshal(b []byte) error {
  2163  	return m.Unmarshal(b)
  2164  }
  2165  func (m *SubaccountDeposit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2166  	if deterministic {
  2167  		return xxx_messageInfo_SubaccountDeposit.Marshal(b, m, deterministic)
  2168  	} else {
  2169  		b = b[:cap(b)]
  2170  		n, err := m.MarshalToSizedBuffer(b)
  2171  		if err != nil {
  2172  			return nil, err
  2173  		}
  2174  		return b[:n], nil
  2175  	}
  2176  }
  2177  func (m *SubaccountDeposit) XXX_Merge(src proto.Message) {
  2178  	xxx_messageInfo_SubaccountDeposit.Merge(m, src)
  2179  }
  2180  func (m *SubaccountDeposit) XXX_Size() int {
  2181  	return m.Size()
  2182  }
  2183  func (m *SubaccountDeposit) XXX_DiscardUnknown() {
  2184  	xxx_messageInfo_SubaccountDeposit.DiscardUnknown(m)
  2185  }
  2186  
  2187  var xxx_messageInfo_SubaccountDeposit proto.InternalMessageInfo
  2188  
  2189  func (m *SubaccountDeposit) GetSubaccountId() []byte {
  2190  	if m != nil {
  2191  		return m.SubaccountId
  2192  	}
  2193  	return nil
  2194  }
  2195  
  2196  func (m *SubaccountDeposit) GetDeposit() *Deposit {
  2197  	if m != nil {
  2198  		return m.Deposit
  2199  	}
  2200  	return nil
  2201  }
  2202  
  2203  type DepositUpdate struct {
  2204  	Denom    string               `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"`
  2205  	Deposits []*SubaccountDeposit `protobuf:"bytes,2,rep,name=deposits,proto3" json:"deposits,omitempty"`
  2206  }
  2207  
  2208  func (m *DepositUpdate) Reset()         { *m = DepositUpdate{} }
  2209  func (m *DepositUpdate) String() string { return proto.CompactTextString(m) }
  2210  func (*DepositUpdate) ProtoMessage()    {}
  2211  func (*DepositUpdate) Descriptor() ([]byte, []int) {
  2212  	return fileDescriptor_2116e2804e9c53f9, []int{30}
  2213  }
  2214  func (m *DepositUpdate) XXX_Unmarshal(b []byte) error {
  2215  	return m.Unmarshal(b)
  2216  }
  2217  func (m *DepositUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2218  	if deterministic {
  2219  		return xxx_messageInfo_DepositUpdate.Marshal(b, m, deterministic)
  2220  	} else {
  2221  		b = b[:cap(b)]
  2222  		n, err := m.MarshalToSizedBuffer(b)
  2223  		if err != nil {
  2224  			return nil, err
  2225  		}
  2226  		return b[:n], nil
  2227  	}
  2228  }
  2229  func (m *DepositUpdate) XXX_Merge(src proto.Message) {
  2230  	xxx_messageInfo_DepositUpdate.Merge(m, src)
  2231  }
  2232  func (m *DepositUpdate) XXX_Size() int {
  2233  	return m.Size()
  2234  }
  2235  func (m *DepositUpdate) XXX_DiscardUnknown() {
  2236  	xxx_messageInfo_DepositUpdate.DiscardUnknown(m)
  2237  }
  2238  
  2239  var xxx_messageInfo_DepositUpdate proto.InternalMessageInfo
  2240  
  2241  func (m *DepositUpdate) GetDenom() string {
  2242  	if m != nil {
  2243  		return m.Denom
  2244  	}
  2245  	return ""
  2246  }
  2247  
  2248  func (m *DepositUpdate) GetDeposits() []*SubaccountDeposit {
  2249  	if m != nil {
  2250  		return m.Deposits
  2251  	}
  2252  	return nil
  2253  }
  2254  
  2255  type PointsMultiplier struct {
  2256  	MakerPointsMultiplier cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=maker_points_multiplier,json=makerPointsMultiplier,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_points_multiplier"`
  2257  	TakerPointsMultiplier cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=taker_points_multiplier,json=takerPointsMultiplier,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_points_multiplier"`
  2258  }
  2259  
  2260  func (m *PointsMultiplier) Reset()         { *m = PointsMultiplier{} }
  2261  func (m *PointsMultiplier) String() string { return proto.CompactTextString(m) }
  2262  func (*PointsMultiplier) ProtoMessage()    {}
  2263  func (*PointsMultiplier) Descriptor() ([]byte, []int) {
  2264  	return fileDescriptor_2116e2804e9c53f9, []int{31}
  2265  }
  2266  func (m *PointsMultiplier) XXX_Unmarshal(b []byte) error {
  2267  	return m.Unmarshal(b)
  2268  }
  2269  func (m *PointsMultiplier) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2270  	if deterministic {
  2271  		return xxx_messageInfo_PointsMultiplier.Marshal(b, m, deterministic)
  2272  	} else {
  2273  		b = b[:cap(b)]
  2274  		n, err := m.MarshalToSizedBuffer(b)
  2275  		if err != nil {
  2276  			return nil, err
  2277  		}
  2278  		return b[:n], nil
  2279  	}
  2280  }
  2281  func (m *PointsMultiplier) XXX_Merge(src proto.Message) {
  2282  	xxx_messageInfo_PointsMultiplier.Merge(m, src)
  2283  }
  2284  func (m *PointsMultiplier) XXX_Size() int {
  2285  	return m.Size()
  2286  }
  2287  func (m *PointsMultiplier) XXX_DiscardUnknown() {
  2288  	xxx_messageInfo_PointsMultiplier.DiscardUnknown(m)
  2289  }
  2290  
  2291  var xxx_messageInfo_PointsMultiplier proto.InternalMessageInfo
  2292  
  2293  type TradingRewardCampaignBoostInfo struct {
  2294  	BoostedSpotMarketIds        []string           `protobuf:"bytes,1,rep,name=boosted_spot_market_ids,json=boostedSpotMarketIds,proto3" json:"boosted_spot_market_ids,omitempty"`
  2295  	SpotMarketMultipliers       []PointsMultiplier `protobuf:"bytes,2,rep,name=spot_market_multipliers,json=spotMarketMultipliers,proto3" json:"spot_market_multipliers"`
  2296  	BoostedDerivativeMarketIds  []string           `protobuf:"bytes,3,rep,name=boosted_derivative_market_ids,json=boostedDerivativeMarketIds,proto3" json:"boosted_derivative_market_ids,omitempty"`
  2297  	DerivativeMarketMultipliers []PointsMultiplier `protobuf:"bytes,4,rep,name=derivative_market_multipliers,json=derivativeMarketMultipliers,proto3" json:"derivative_market_multipliers"`
  2298  }
  2299  
  2300  func (m *TradingRewardCampaignBoostInfo) Reset()         { *m = TradingRewardCampaignBoostInfo{} }
  2301  func (m *TradingRewardCampaignBoostInfo) String() string { return proto.CompactTextString(m) }
  2302  func (*TradingRewardCampaignBoostInfo) ProtoMessage()    {}
  2303  func (*TradingRewardCampaignBoostInfo) Descriptor() ([]byte, []int) {
  2304  	return fileDescriptor_2116e2804e9c53f9, []int{32}
  2305  }
  2306  func (m *TradingRewardCampaignBoostInfo) XXX_Unmarshal(b []byte) error {
  2307  	return m.Unmarshal(b)
  2308  }
  2309  func (m *TradingRewardCampaignBoostInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2310  	if deterministic {
  2311  		return xxx_messageInfo_TradingRewardCampaignBoostInfo.Marshal(b, m, deterministic)
  2312  	} else {
  2313  		b = b[:cap(b)]
  2314  		n, err := m.MarshalToSizedBuffer(b)
  2315  		if err != nil {
  2316  			return nil, err
  2317  		}
  2318  		return b[:n], nil
  2319  	}
  2320  }
  2321  func (m *TradingRewardCampaignBoostInfo) XXX_Merge(src proto.Message) {
  2322  	xxx_messageInfo_TradingRewardCampaignBoostInfo.Merge(m, src)
  2323  }
  2324  func (m *TradingRewardCampaignBoostInfo) XXX_Size() int {
  2325  	return m.Size()
  2326  }
  2327  func (m *TradingRewardCampaignBoostInfo) XXX_DiscardUnknown() {
  2328  	xxx_messageInfo_TradingRewardCampaignBoostInfo.DiscardUnknown(m)
  2329  }
  2330  
  2331  var xxx_messageInfo_TradingRewardCampaignBoostInfo proto.InternalMessageInfo
  2332  
  2333  func (m *TradingRewardCampaignBoostInfo) GetBoostedSpotMarketIds() []string {
  2334  	if m != nil {
  2335  		return m.BoostedSpotMarketIds
  2336  	}
  2337  	return nil
  2338  }
  2339  
  2340  func (m *TradingRewardCampaignBoostInfo) GetSpotMarketMultipliers() []PointsMultiplier {
  2341  	if m != nil {
  2342  		return m.SpotMarketMultipliers
  2343  	}
  2344  	return nil
  2345  }
  2346  
  2347  func (m *TradingRewardCampaignBoostInfo) GetBoostedDerivativeMarketIds() []string {
  2348  	if m != nil {
  2349  		return m.BoostedDerivativeMarketIds
  2350  	}
  2351  	return nil
  2352  }
  2353  
  2354  func (m *TradingRewardCampaignBoostInfo) GetDerivativeMarketMultipliers() []PointsMultiplier {
  2355  	if m != nil {
  2356  		return m.DerivativeMarketMultipliers
  2357  	}
  2358  	return nil
  2359  }
  2360  
  2361  type CampaignRewardPool struct {
  2362  	StartTimestamp int64 `protobuf:"varint,1,opt,name=start_timestamp,json=startTimestamp,proto3" json:"start_timestamp,omitempty"`
  2363  	// max_campaign_rewards are the maximum reward amounts to be disbursed at the
  2364  	// end of the campaign
  2365  	MaxCampaignRewards github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,2,rep,name=max_campaign_rewards,json=maxCampaignRewards,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"max_campaign_rewards"`
  2366  }
  2367  
  2368  func (m *CampaignRewardPool) Reset()         { *m = CampaignRewardPool{} }
  2369  func (m *CampaignRewardPool) String() string { return proto.CompactTextString(m) }
  2370  func (*CampaignRewardPool) ProtoMessage()    {}
  2371  func (*CampaignRewardPool) Descriptor() ([]byte, []int) {
  2372  	return fileDescriptor_2116e2804e9c53f9, []int{33}
  2373  }
  2374  func (m *CampaignRewardPool) XXX_Unmarshal(b []byte) error {
  2375  	return m.Unmarshal(b)
  2376  }
  2377  func (m *CampaignRewardPool) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2378  	if deterministic {
  2379  		return xxx_messageInfo_CampaignRewardPool.Marshal(b, m, deterministic)
  2380  	} else {
  2381  		b = b[:cap(b)]
  2382  		n, err := m.MarshalToSizedBuffer(b)
  2383  		if err != nil {
  2384  			return nil, err
  2385  		}
  2386  		return b[:n], nil
  2387  	}
  2388  }
  2389  func (m *CampaignRewardPool) XXX_Merge(src proto.Message) {
  2390  	xxx_messageInfo_CampaignRewardPool.Merge(m, src)
  2391  }
  2392  func (m *CampaignRewardPool) XXX_Size() int {
  2393  	return m.Size()
  2394  }
  2395  func (m *CampaignRewardPool) XXX_DiscardUnknown() {
  2396  	xxx_messageInfo_CampaignRewardPool.DiscardUnknown(m)
  2397  }
  2398  
  2399  var xxx_messageInfo_CampaignRewardPool proto.InternalMessageInfo
  2400  
  2401  func (m *CampaignRewardPool) GetStartTimestamp() int64 {
  2402  	if m != nil {
  2403  		return m.StartTimestamp
  2404  	}
  2405  	return 0
  2406  }
  2407  
  2408  func (m *CampaignRewardPool) GetMaxCampaignRewards() github_com_cosmos_cosmos_sdk_types.Coins {
  2409  	if m != nil {
  2410  		return m.MaxCampaignRewards
  2411  	}
  2412  	return nil
  2413  }
  2414  
  2415  type TradingRewardCampaignInfo struct {
  2416  	// number of seconds of the duration of each campaign
  2417  	CampaignDurationSeconds int64 `protobuf:"varint,1,opt,name=campaign_duration_seconds,json=campaignDurationSeconds,proto3" json:"campaign_duration_seconds,omitempty"`
  2418  	// the trading fee quote denoms which will be counted for the rewards
  2419  	QuoteDenoms []string `protobuf:"bytes,2,rep,name=quote_denoms,json=quoteDenoms,proto3" json:"quote_denoms,omitempty"`
  2420  	// the optional boost info for markets
  2421  	TradingRewardBoostInfo *TradingRewardCampaignBoostInfo `protobuf:"bytes,3,opt,name=trading_reward_boost_info,json=tradingRewardBoostInfo,proto3" json:"trading_reward_boost_info,omitempty"`
  2422  	// the marketIDs which are disqualified from being rewarded
  2423  	DisqualifiedMarketIds []string `protobuf:"bytes,4,rep,name=disqualified_market_ids,json=disqualifiedMarketIds,proto3" json:"disqualified_market_ids,omitempty"`
  2424  }
  2425  
  2426  func (m *TradingRewardCampaignInfo) Reset()         { *m = TradingRewardCampaignInfo{} }
  2427  func (m *TradingRewardCampaignInfo) String() string { return proto.CompactTextString(m) }
  2428  func (*TradingRewardCampaignInfo) ProtoMessage()    {}
  2429  func (*TradingRewardCampaignInfo) Descriptor() ([]byte, []int) {
  2430  	return fileDescriptor_2116e2804e9c53f9, []int{34}
  2431  }
  2432  func (m *TradingRewardCampaignInfo) XXX_Unmarshal(b []byte) error {
  2433  	return m.Unmarshal(b)
  2434  }
  2435  func (m *TradingRewardCampaignInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2436  	if deterministic {
  2437  		return xxx_messageInfo_TradingRewardCampaignInfo.Marshal(b, m, deterministic)
  2438  	} else {
  2439  		b = b[:cap(b)]
  2440  		n, err := m.MarshalToSizedBuffer(b)
  2441  		if err != nil {
  2442  			return nil, err
  2443  		}
  2444  		return b[:n], nil
  2445  	}
  2446  }
  2447  func (m *TradingRewardCampaignInfo) XXX_Merge(src proto.Message) {
  2448  	xxx_messageInfo_TradingRewardCampaignInfo.Merge(m, src)
  2449  }
  2450  func (m *TradingRewardCampaignInfo) XXX_Size() int {
  2451  	return m.Size()
  2452  }
  2453  func (m *TradingRewardCampaignInfo) XXX_DiscardUnknown() {
  2454  	xxx_messageInfo_TradingRewardCampaignInfo.DiscardUnknown(m)
  2455  }
  2456  
  2457  var xxx_messageInfo_TradingRewardCampaignInfo proto.InternalMessageInfo
  2458  
  2459  func (m *TradingRewardCampaignInfo) GetCampaignDurationSeconds() int64 {
  2460  	if m != nil {
  2461  		return m.CampaignDurationSeconds
  2462  	}
  2463  	return 0
  2464  }
  2465  
  2466  func (m *TradingRewardCampaignInfo) GetQuoteDenoms() []string {
  2467  	if m != nil {
  2468  		return m.QuoteDenoms
  2469  	}
  2470  	return nil
  2471  }
  2472  
  2473  func (m *TradingRewardCampaignInfo) GetTradingRewardBoostInfo() *TradingRewardCampaignBoostInfo {
  2474  	if m != nil {
  2475  		return m.TradingRewardBoostInfo
  2476  	}
  2477  	return nil
  2478  }
  2479  
  2480  func (m *TradingRewardCampaignInfo) GetDisqualifiedMarketIds() []string {
  2481  	if m != nil {
  2482  		return m.DisqualifiedMarketIds
  2483  	}
  2484  	return nil
  2485  }
  2486  
  2487  type FeeDiscountTierInfo struct {
  2488  	MakerDiscountRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=maker_discount_rate,json=makerDiscountRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_discount_rate"`
  2489  	TakerDiscountRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=taker_discount_rate,json=takerDiscountRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_discount_rate"`
  2490  	StakedAmount      cosmossdk_io_math.Int       `protobuf:"bytes,3,opt,name=staked_amount,json=stakedAmount,proto3,customtype=cosmossdk.io/math.Int" json:"staked_amount"`
  2491  	Volume            cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=volume,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"volume"`
  2492  }
  2493  
  2494  func (m *FeeDiscountTierInfo) Reset()         { *m = FeeDiscountTierInfo{} }
  2495  func (m *FeeDiscountTierInfo) String() string { return proto.CompactTextString(m) }
  2496  func (*FeeDiscountTierInfo) ProtoMessage()    {}
  2497  func (*FeeDiscountTierInfo) Descriptor() ([]byte, []int) {
  2498  	return fileDescriptor_2116e2804e9c53f9, []int{35}
  2499  }
  2500  func (m *FeeDiscountTierInfo) XXX_Unmarshal(b []byte) error {
  2501  	return m.Unmarshal(b)
  2502  }
  2503  func (m *FeeDiscountTierInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2504  	if deterministic {
  2505  		return xxx_messageInfo_FeeDiscountTierInfo.Marshal(b, m, deterministic)
  2506  	} else {
  2507  		b = b[:cap(b)]
  2508  		n, err := m.MarshalToSizedBuffer(b)
  2509  		if err != nil {
  2510  			return nil, err
  2511  		}
  2512  		return b[:n], nil
  2513  	}
  2514  }
  2515  func (m *FeeDiscountTierInfo) XXX_Merge(src proto.Message) {
  2516  	xxx_messageInfo_FeeDiscountTierInfo.Merge(m, src)
  2517  }
  2518  func (m *FeeDiscountTierInfo) XXX_Size() int {
  2519  	return m.Size()
  2520  }
  2521  func (m *FeeDiscountTierInfo) XXX_DiscardUnknown() {
  2522  	xxx_messageInfo_FeeDiscountTierInfo.DiscardUnknown(m)
  2523  }
  2524  
  2525  var xxx_messageInfo_FeeDiscountTierInfo proto.InternalMessageInfo
  2526  
  2527  type FeeDiscountSchedule struct {
  2528  	BucketCount    uint64 `protobuf:"varint,1,opt,name=bucket_count,json=bucketCount,proto3" json:"bucket_count,omitempty"`
  2529  	BucketDuration int64  `protobuf:"varint,2,opt,name=bucket_duration,json=bucketDuration,proto3" json:"bucket_duration,omitempty"`
  2530  	// the trading fee quote denoms which will be counted for the fee paid
  2531  	// contribution
  2532  	QuoteDenoms []string `protobuf:"bytes,3,rep,name=quote_denoms,json=quoteDenoms,proto3" json:"quote_denoms,omitempty"`
  2533  	// the fee discount tiers
  2534  	TierInfos []*FeeDiscountTierInfo `protobuf:"bytes,4,rep,name=tier_infos,json=tierInfos,proto3" json:"tier_infos,omitempty"`
  2535  	// the marketIDs which are disqualified from contributing to the fee paid
  2536  	// amount
  2537  	DisqualifiedMarketIds []string `protobuf:"bytes,5,rep,name=disqualified_market_ids,json=disqualifiedMarketIds,proto3" json:"disqualified_market_ids,omitempty"`
  2538  }
  2539  
  2540  func (m *FeeDiscountSchedule) Reset()         { *m = FeeDiscountSchedule{} }
  2541  func (m *FeeDiscountSchedule) String() string { return proto.CompactTextString(m) }
  2542  func (*FeeDiscountSchedule) ProtoMessage()    {}
  2543  func (*FeeDiscountSchedule) Descriptor() ([]byte, []int) {
  2544  	return fileDescriptor_2116e2804e9c53f9, []int{36}
  2545  }
  2546  func (m *FeeDiscountSchedule) XXX_Unmarshal(b []byte) error {
  2547  	return m.Unmarshal(b)
  2548  }
  2549  func (m *FeeDiscountSchedule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2550  	if deterministic {
  2551  		return xxx_messageInfo_FeeDiscountSchedule.Marshal(b, m, deterministic)
  2552  	} else {
  2553  		b = b[:cap(b)]
  2554  		n, err := m.MarshalToSizedBuffer(b)
  2555  		if err != nil {
  2556  			return nil, err
  2557  		}
  2558  		return b[:n], nil
  2559  	}
  2560  }
  2561  func (m *FeeDiscountSchedule) XXX_Merge(src proto.Message) {
  2562  	xxx_messageInfo_FeeDiscountSchedule.Merge(m, src)
  2563  }
  2564  func (m *FeeDiscountSchedule) XXX_Size() int {
  2565  	return m.Size()
  2566  }
  2567  func (m *FeeDiscountSchedule) XXX_DiscardUnknown() {
  2568  	xxx_messageInfo_FeeDiscountSchedule.DiscardUnknown(m)
  2569  }
  2570  
  2571  var xxx_messageInfo_FeeDiscountSchedule proto.InternalMessageInfo
  2572  
  2573  func (m *FeeDiscountSchedule) GetBucketCount() uint64 {
  2574  	if m != nil {
  2575  		return m.BucketCount
  2576  	}
  2577  	return 0
  2578  }
  2579  
  2580  func (m *FeeDiscountSchedule) GetBucketDuration() int64 {
  2581  	if m != nil {
  2582  		return m.BucketDuration
  2583  	}
  2584  	return 0
  2585  }
  2586  
  2587  func (m *FeeDiscountSchedule) GetQuoteDenoms() []string {
  2588  	if m != nil {
  2589  		return m.QuoteDenoms
  2590  	}
  2591  	return nil
  2592  }
  2593  
  2594  func (m *FeeDiscountSchedule) GetTierInfos() []*FeeDiscountTierInfo {
  2595  	if m != nil {
  2596  		return m.TierInfos
  2597  	}
  2598  	return nil
  2599  }
  2600  
  2601  func (m *FeeDiscountSchedule) GetDisqualifiedMarketIds() []string {
  2602  	if m != nil {
  2603  		return m.DisqualifiedMarketIds
  2604  	}
  2605  	return nil
  2606  }
  2607  
  2608  type FeeDiscountTierTTL struct {
  2609  	Tier         uint64 `protobuf:"varint,1,opt,name=tier,proto3" json:"tier,omitempty"`
  2610  	TtlTimestamp int64  `protobuf:"varint,2,opt,name=ttl_timestamp,json=ttlTimestamp,proto3" json:"ttl_timestamp,omitempty"`
  2611  }
  2612  
  2613  func (m *FeeDiscountTierTTL) Reset()         { *m = FeeDiscountTierTTL{} }
  2614  func (m *FeeDiscountTierTTL) String() string { return proto.CompactTextString(m) }
  2615  func (*FeeDiscountTierTTL) ProtoMessage()    {}
  2616  func (*FeeDiscountTierTTL) Descriptor() ([]byte, []int) {
  2617  	return fileDescriptor_2116e2804e9c53f9, []int{37}
  2618  }
  2619  func (m *FeeDiscountTierTTL) XXX_Unmarshal(b []byte) error {
  2620  	return m.Unmarshal(b)
  2621  }
  2622  func (m *FeeDiscountTierTTL) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2623  	if deterministic {
  2624  		return xxx_messageInfo_FeeDiscountTierTTL.Marshal(b, m, deterministic)
  2625  	} else {
  2626  		b = b[:cap(b)]
  2627  		n, err := m.MarshalToSizedBuffer(b)
  2628  		if err != nil {
  2629  			return nil, err
  2630  		}
  2631  		return b[:n], nil
  2632  	}
  2633  }
  2634  func (m *FeeDiscountTierTTL) XXX_Merge(src proto.Message) {
  2635  	xxx_messageInfo_FeeDiscountTierTTL.Merge(m, src)
  2636  }
  2637  func (m *FeeDiscountTierTTL) XXX_Size() int {
  2638  	return m.Size()
  2639  }
  2640  func (m *FeeDiscountTierTTL) XXX_DiscardUnknown() {
  2641  	xxx_messageInfo_FeeDiscountTierTTL.DiscardUnknown(m)
  2642  }
  2643  
  2644  var xxx_messageInfo_FeeDiscountTierTTL proto.InternalMessageInfo
  2645  
  2646  func (m *FeeDiscountTierTTL) GetTier() uint64 {
  2647  	if m != nil {
  2648  		return m.Tier
  2649  	}
  2650  	return 0
  2651  }
  2652  
  2653  func (m *FeeDiscountTierTTL) GetTtlTimestamp() int64 {
  2654  	if m != nil {
  2655  		return m.TtlTimestamp
  2656  	}
  2657  	return 0
  2658  }
  2659  
  2660  type VolumeRecord struct {
  2661  	MakerVolume cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=maker_volume,json=makerVolume,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_volume"`
  2662  	TakerVolume cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=taker_volume,json=takerVolume,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_volume"`
  2663  }
  2664  
  2665  func (m *VolumeRecord) Reset()         { *m = VolumeRecord{} }
  2666  func (m *VolumeRecord) String() string { return proto.CompactTextString(m) }
  2667  func (*VolumeRecord) ProtoMessage()    {}
  2668  func (*VolumeRecord) Descriptor() ([]byte, []int) {
  2669  	return fileDescriptor_2116e2804e9c53f9, []int{38}
  2670  }
  2671  func (m *VolumeRecord) XXX_Unmarshal(b []byte) error {
  2672  	return m.Unmarshal(b)
  2673  }
  2674  func (m *VolumeRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2675  	if deterministic {
  2676  		return xxx_messageInfo_VolumeRecord.Marshal(b, m, deterministic)
  2677  	} else {
  2678  		b = b[:cap(b)]
  2679  		n, err := m.MarshalToSizedBuffer(b)
  2680  		if err != nil {
  2681  			return nil, err
  2682  		}
  2683  		return b[:n], nil
  2684  	}
  2685  }
  2686  func (m *VolumeRecord) XXX_Merge(src proto.Message) {
  2687  	xxx_messageInfo_VolumeRecord.Merge(m, src)
  2688  }
  2689  func (m *VolumeRecord) XXX_Size() int {
  2690  	return m.Size()
  2691  }
  2692  func (m *VolumeRecord) XXX_DiscardUnknown() {
  2693  	xxx_messageInfo_VolumeRecord.DiscardUnknown(m)
  2694  }
  2695  
  2696  var xxx_messageInfo_VolumeRecord proto.InternalMessageInfo
  2697  
  2698  type AccountRewards struct {
  2699  	Account string                                   `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
  2700  	Rewards github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,2,rep,name=rewards,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"rewards"`
  2701  }
  2702  
  2703  func (m *AccountRewards) Reset()         { *m = AccountRewards{} }
  2704  func (m *AccountRewards) String() string { return proto.CompactTextString(m) }
  2705  func (*AccountRewards) ProtoMessage()    {}
  2706  func (*AccountRewards) Descriptor() ([]byte, []int) {
  2707  	return fileDescriptor_2116e2804e9c53f9, []int{39}
  2708  }
  2709  func (m *AccountRewards) XXX_Unmarshal(b []byte) error {
  2710  	return m.Unmarshal(b)
  2711  }
  2712  func (m *AccountRewards) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2713  	if deterministic {
  2714  		return xxx_messageInfo_AccountRewards.Marshal(b, m, deterministic)
  2715  	} else {
  2716  		b = b[:cap(b)]
  2717  		n, err := m.MarshalToSizedBuffer(b)
  2718  		if err != nil {
  2719  			return nil, err
  2720  		}
  2721  		return b[:n], nil
  2722  	}
  2723  }
  2724  func (m *AccountRewards) XXX_Merge(src proto.Message) {
  2725  	xxx_messageInfo_AccountRewards.Merge(m, src)
  2726  }
  2727  func (m *AccountRewards) XXX_Size() int {
  2728  	return m.Size()
  2729  }
  2730  func (m *AccountRewards) XXX_DiscardUnknown() {
  2731  	xxx_messageInfo_AccountRewards.DiscardUnknown(m)
  2732  }
  2733  
  2734  var xxx_messageInfo_AccountRewards proto.InternalMessageInfo
  2735  
  2736  func (m *AccountRewards) GetAccount() string {
  2737  	if m != nil {
  2738  		return m.Account
  2739  	}
  2740  	return ""
  2741  }
  2742  
  2743  func (m *AccountRewards) GetRewards() github_com_cosmos_cosmos_sdk_types.Coins {
  2744  	if m != nil {
  2745  		return m.Rewards
  2746  	}
  2747  	return nil
  2748  }
  2749  
  2750  type TradeRecords struct {
  2751  	MarketId           string         `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"`
  2752  	LatestTradeRecords []*TradeRecord `protobuf:"bytes,2,rep,name=latest_trade_records,json=latestTradeRecords,proto3" json:"latest_trade_records,omitempty"`
  2753  }
  2754  
  2755  func (m *TradeRecords) Reset()         { *m = TradeRecords{} }
  2756  func (m *TradeRecords) String() string { return proto.CompactTextString(m) }
  2757  func (*TradeRecords) ProtoMessage()    {}
  2758  func (*TradeRecords) Descriptor() ([]byte, []int) {
  2759  	return fileDescriptor_2116e2804e9c53f9, []int{40}
  2760  }
  2761  func (m *TradeRecords) XXX_Unmarshal(b []byte) error {
  2762  	return m.Unmarshal(b)
  2763  }
  2764  func (m *TradeRecords) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2765  	if deterministic {
  2766  		return xxx_messageInfo_TradeRecords.Marshal(b, m, deterministic)
  2767  	} else {
  2768  		b = b[:cap(b)]
  2769  		n, err := m.MarshalToSizedBuffer(b)
  2770  		if err != nil {
  2771  			return nil, err
  2772  		}
  2773  		return b[:n], nil
  2774  	}
  2775  }
  2776  func (m *TradeRecords) XXX_Merge(src proto.Message) {
  2777  	xxx_messageInfo_TradeRecords.Merge(m, src)
  2778  }
  2779  func (m *TradeRecords) XXX_Size() int {
  2780  	return m.Size()
  2781  }
  2782  func (m *TradeRecords) XXX_DiscardUnknown() {
  2783  	xxx_messageInfo_TradeRecords.DiscardUnknown(m)
  2784  }
  2785  
  2786  var xxx_messageInfo_TradeRecords proto.InternalMessageInfo
  2787  
  2788  func (m *TradeRecords) GetMarketId() string {
  2789  	if m != nil {
  2790  		return m.MarketId
  2791  	}
  2792  	return ""
  2793  }
  2794  
  2795  func (m *TradeRecords) GetLatestTradeRecords() []*TradeRecord {
  2796  	if m != nil {
  2797  		return m.LatestTradeRecords
  2798  	}
  2799  	return nil
  2800  }
  2801  
  2802  type SubaccountIDs struct {
  2803  	SubaccountIds [][]byte `protobuf:"bytes,1,rep,name=subaccount_ids,json=subaccountIds,proto3" json:"subaccount_ids,omitempty"`
  2804  }
  2805  
  2806  func (m *SubaccountIDs) Reset()         { *m = SubaccountIDs{} }
  2807  func (m *SubaccountIDs) String() string { return proto.CompactTextString(m) }
  2808  func (*SubaccountIDs) ProtoMessage()    {}
  2809  func (*SubaccountIDs) Descriptor() ([]byte, []int) {
  2810  	return fileDescriptor_2116e2804e9c53f9, []int{41}
  2811  }
  2812  func (m *SubaccountIDs) XXX_Unmarshal(b []byte) error {
  2813  	return m.Unmarshal(b)
  2814  }
  2815  func (m *SubaccountIDs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2816  	if deterministic {
  2817  		return xxx_messageInfo_SubaccountIDs.Marshal(b, m, deterministic)
  2818  	} else {
  2819  		b = b[:cap(b)]
  2820  		n, err := m.MarshalToSizedBuffer(b)
  2821  		if err != nil {
  2822  			return nil, err
  2823  		}
  2824  		return b[:n], nil
  2825  	}
  2826  }
  2827  func (m *SubaccountIDs) XXX_Merge(src proto.Message) {
  2828  	xxx_messageInfo_SubaccountIDs.Merge(m, src)
  2829  }
  2830  func (m *SubaccountIDs) XXX_Size() int {
  2831  	return m.Size()
  2832  }
  2833  func (m *SubaccountIDs) XXX_DiscardUnknown() {
  2834  	xxx_messageInfo_SubaccountIDs.DiscardUnknown(m)
  2835  }
  2836  
  2837  var xxx_messageInfo_SubaccountIDs proto.InternalMessageInfo
  2838  
  2839  func (m *SubaccountIDs) GetSubaccountIds() [][]byte {
  2840  	if m != nil {
  2841  		return m.SubaccountIds
  2842  	}
  2843  	return nil
  2844  }
  2845  
  2846  type TradeRecord struct {
  2847  	Timestamp int64                       `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
  2848  	Price     cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"`
  2849  	Quantity  cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"`
  2850  }
  2851  
  2852  func (m *TradeRecord) Reset()         { *m = TradeRecord{} }
  2853  func (m *TradeRecord) String() string { return proto.CompactTextString(m) }
  2854  func (*TradeRecord) ProtoMessage()    {}
  2855  func (*TradeRecord) Descriptor() ([]byte, []int) {
  2856  	return fileDescriptor_2116e2804e9c53f9, []int{42}
  2857  }
  2858  func (m *TradeRecord) XXX_Unmarshal(b []byte) error {
  2859  	return m.Unmarshal(b)
  2860  }
  2861  func (m *TradeRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2862  	if deterministic {
  2863  		return xxx_messageInfo_TradeRecord.Marshal(b, m, deterministic)
  2864  	} else {
  2865  		b = b[:cap(b)]
  2866  		n, err := m.MarshalToSizedBuffer(b)
  2867  		if err != nil {
  2868  			return nil, err
  2869  		}
  2870  		return b[:n], nil
  2871  	}
  2872  }
  2873  func (m *TradeRecord) XXX_Merge(src proto.Message) {
  2874  	xxx_messageInfo_TradeRecord.Merge(m, src)
  2875  }
  2876  func (m *TradeRecord) XXX_Size() int {
  2877  	return m.Size()
  2878  }
  2879  func (m *TradeRecord) XXX_DiscardUnknown() {
  2880  	xxx_messageInfo_TradeRecord.DiscardUnknown(m)
  2881  }
  2882  
  2883  var xxx_messageInfo_TradeRecord proto.InternalMessageInfo
  2884  
  2885  func (m *TradeRecord) GetTimestamp() int64 {
  2886  	if m != nil {
  2887  		return m.Timestamp
  2888  	}
  2889  	return 0
  2890  }
  2891  
  2892  type Level struct {
  2893  	// price
  2894  	P cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=p,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"p"`
  2895  	// quantity
  2896  	Q cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=q,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"q"`
  2897  }
  2898  
  2899  func (m *Level) Reset()         { *m = Level{} }
  2900  func (m *Level) String() string { return proto.CompactTextString(m) }
  2901  func (*Level) ProtoMessage()    {}
  2902  func (*Level) Descriptor() ([]byte, []int) {
  2903  	return fileDescriptor_2116e2804e9c53f9, []int{43}
  2904  }
  2905  func (m *Level) XXX_Unmarshal(b []byte) error {
  2906  	return m.Unmarshal(b)
  2907  }
  2908  func (m *Level) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2909  	if deterministic {
  2910  		return xxx_messageInfo_Level.Marshal(b, m, deterministic)
  2911  	} else {
  2912  		b = b[:cap(b)]
  2913  		n, err := m.MarshalToSizedBuffer(b)
  2914  		if err != nil {
  2915  			return nil, err
  2916  		}
  2917  		return b[:n], nil
  2918  	}
  2919  }
  2920  func (m *Level) XXX_Merge(src proto.Message) {
  2921  	xxx_messageInfo_Level.Merge(m, src)
  2922  }
  2923  func (m *Level) XXX_Size() int {
  2924  	return m.Size()
  2925  }
  2926  func (m *Level) XXX_DiscardUnknown() {
  2927  	xxx_messageInfo_Level.DiscardUnknown(m)
  2928  }
  2929  
  2930  var xxx_messageInfo_Level proto.InternalMessageInfo
  2931  
  2932  type AggregateSubaccountVolumeRecord struct {
  2933  	SubaccountId  string          `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"`
  2934  	MarketVolumes []*MarketVolume `protobuf:"bytes,2,rep,name=market_volumes,json=marketVolumes,proto3" json:"market_volumes,omitempty"`
  2935  }
  2936  
  2937  func (m *AggregateSubaccountVolumeRecord) Reset()         { *m = AggregateSubaccountVolumeRecord{} }
  2938  func (m *AggregateSubaccountVolumeRecord) String() string { return proto.CompactTextString(m) }
  2939  func (*AggregateSubaccountVolumeRecord) ProtoMessage()    {}
  2940  func (*AggregateSubaccountVolumeRecord) Descriptor() ([]byte, []int) {
  2941  	return fileDescriptor_2116e2804e9c53f9, []int{44}
  2942  }
  2943  func (m *AggregateSubaccountVolumeRecord) XXX_Unmarshal(b []byte) error {
  2944  	return m.Unmarshal(b)
  2945  }
  2946  func (m *AggregateSubaccountVolumeRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2947  	if deterministic {
  2948  		return xxx_messageInfo_AggregateSubaccountVolumeRecord.Marshal(b, m, deterministic)
  2949  	} else {
  2950  		b = b[:cap(b)]
  2951  		n, err := m.MarshalToSizedBuffer(b)
  2952  		if err != nil {
  2953  			return nil, err
  2954  		}
  2955  		return b[:n], nil
  2956  	}
  2957  }
  2958  func (m *AggregateSubaccountVolumeRecord) XXX_Merge(src proto.Message) {
  2959  	xxx_messageInfo_AggregateSubaccountVolumeRecord.Merge(m, src)
  2960  }
  2961  func (m *AggregateSubaccountVolumeRecord) XXX_Size() int {
  2962  	return m.Size()
  2963  }
  2964  func (m *AggregateSubaccountVolumeRecord) XXX_DiscardUnknown() {
  2965  	xxx_messageInfo_AggregateSubaccountVolumeRecord.DiscardUnknown(m)
  2966  }
  2967  
  2968  var xxx_messageInfo_AggregateSubaccountVolumeRecord proto.InternalMessageInfo
  2969  
  2970  func (m *AggregateSubaccountVolumeRecord) GetSubaccountId() string {
  2971  	if m != nil {
  2972  		return m.SubaccountId
  2973  	}
  2974  	return ""
  2975  }
  2976  
  2977  func (m *AggregateSubaccountVolumeRecord) GetMarketVolumes() []*MarketVolume {
  2978  	if m != nil {
  2979  		return m.MarketVolumes
  2980  	}
  2981  	return nil
  2982  }
  2983  
  2984  type AggregateAccountVolumeRecord struct {
  2985  	Account       string          `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
  2986  	MarketVolumes []*MarketVolume `protobuf:"bytes,2,rep,name=market_volumes,json=marketVolumes,proto3" json:"market_volumes,omitempty"`
  2987  }
  2988  
  2989  func (m *AggregateAccountVolumeRecord) Reset()         { *m = AggregateAccountVolumeRecord{} }
  2990  func (m *AggregateAccountVolumeRecord) String() string { return proto.CompactTextString(m) }
  2991  func (*AggregateAccountVolumeRecord) ProtoMessage()    {}
  2992  func (*AggregateAccountVolumeRecord) Descriptor() ([]byte, []int) {
  2993  	return fileDescriptor_2116e2804e9c53f9, []int{45}
  2994  }
  2995  func (m *AggregateAccountVolumeRecord) XXX_Unmarshal(b []byte) error {
  2996  	return m.Unmarshal(b)
  2997  }
  2998  func (m *AggregateAccountVolumeRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2999  	if deterministic {
  3000  		return xxx_messageInfo_AggregateAccountVolumeRecord.Marshal(b, m, deterministic)
  3001  	} else {
  3002  		b = b[:cap(b)]
  3003  		n, err := m.MarshalToSizedBuffer(b)
  3004  		if err != nil {
  3005  			return nil, err
  3006  		}
  3007  		return b[:n], nil
  3008  	}
  3009  }
  3010  func (m *AggregateAccountVolumeRecord) XXX_Merge(src proto.Message) {
  3011  	xxx_messageInfo_AggregateAccountVolumeRecord.Merge(m, src)
  3012  }
  3013  func (m *AggregateAccountVolumeRecord) XXX_Size() int {
  3014  	return m.Size()
  3015  }
  3016  func (m *AggregateAccountVolumeRecord) XXX_DiscardUnknown() {
  3017  	xxx_messageInfo_AggregateAccountVolumeRecord.DiscardUnknown(m)
  3018  }
  3019  
  3020  var xxx_messageInfo_AggregateAccountVolumeRecord proto.InternalMessageInfo
  3021  
  3022  func (m *AggregateAccountVolumeRecord) GetAccount() string {
  3023  	if m != nil {
  3024  		return m.Account
  3025  	}
  3026  	return ""
  3027  }
  3028  
  3029  func (m *AggregateAccountVolumeRecord) GetMarketVolumes() []*MarketVolume {
  3030  	if m != nil {
  3031  		return m.MarketVolumes
  3032  	}
  3033  	return nil
  3034  }
  3035  
  3036  type MarketVolume struct {
  3037  	MarketId string       `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"`
  3038  	Volume   VolumeRecord `protobuf:"bytes,2,opt,name=volume,proto3" json:"volume"`
  3039  }
  3040  
  3041  func (m *MarketVolume) Reset()         { *m = MarketVolume{} }
  3042  func (m *MarketVolume) String() string { return proto.CompactTextString(m) }
  3043  func (*MarketVolume) ProtoMessage()    {}
  3044  func (*MarketVolume) Descriptor() ([]byte, []int) {
  3045  	return fileDescriptor_2116e2804e9c53f9, []int{46}
  3046  }
  3047  func (m *MarketVolume) XXX_Unmarshal(b []byte) error {
  3048  	return m.Unmarshal(b)
  3049  }
  3050  func (m *MarketVolume) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  3051  	if deterministic {
  3052  		return xxx_messageInfo_MarketVolume.Marshal(b, m, deterministic)
  3053  	} else {
  3054  		b = b[:cap(b)]
  3055  		n, err := m.MarshalToSizedBuffer(b)
  3056  		if err != nil {
  3057  			return nil, err
  3058  		}
  3059  		return b[:n], nil
  3060  	}
  3061  }
  3062  func (m *MarketVolume) XXX_Merge(src proto.Message) {
  3063  	xxx_messageInfo_MarketVolume.Merge(m, src)
  3064  }
  3065  func (m *MarketVolume) XXX_Size() int {
  3066  	return m.Size()
  3067  }
  3068  func (m *MarketVolume) XXX_DiscardUnknown() {
  3069  	xxx_messageInfo_MarketVolume.DiscardUnknown(m)
  3070  }
  3071  
  3072  var xxx_messageInfo_MarketVolume proto.InternalMessageInfo
  3073  
  3074  func (m *MarketVolume) GetMarketId() string {
  3075  	if m != nil {
  3076  		return m.MarketId
  3077  	}
  3078  	return ""
  3079  }
  3080  
  3081  func (m *MarketVolume) GetVolume() VolumeRecord {
  3082  	if m != nil {
  3083  		return m.Volume
  3084  	}
  3085  	return VolumeRecord{}
  3086  }
  3087  
  3088  type DenomDecimals struct {
  3089  	Denom    string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"`
  3090  	Decimals uint64 `protobuf:"varint,2,opt,name=decimals,proto3" json:"decimals,omitempty"`
  3091  }
  3092  
  3093  func (m *DenomDecimals) Reset()         { *m = DenomDecimals{} }
  3094  func (m *DenomDecimals) String() string { return proto.CompactTextString(m) }
  3095  func (*DenomDecimals) ProtoMessage()    {}
  3096  func (*DenomDecimals) Descriptor() ([]byte, []int) {
  3097  	return fileDescriptor_2116e2804e9c53f9, []int{47}
  3098  }
  3099  func (m *DenomDecimals) XXX_Unmarshal(b []byte) error {
  3100  	return m.Unmarshal(b)
  3101  }
  3102  func (m *DenomDecimals) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  3103  	if deterministic {
  3104  		return xxx_messageInfo_DenomDecimals.Marshal(b, m, deterministic)
  3105  	} else {
  3106  		b = b[:cap(b)]
  3107  		n, err := m.MarshalToSizedBuffer(b)
  3108  		if err != nil {
  3109  			return nil, err
  3110  		}
  3111  		return b[:n], nil
  3112  	}
  3113  }
  3114  func (m *DenomDecimals) XXX_Merge(src proto.Message) {
  3115  	xxx_messageInfo_DenomDecimals.Merge(m, src)
  3116  }
  3117  func (m *DenomDecimals) XXX_Size() int {
  3118  	return m.Size()
  3119  }
  3120  func (m *DenomDecimals) XXX_DiscardUnknown() {
  3121  	xxx_messageInfo_DenomDecimals.DiscardUnknown(m)
  3122  }
  3123  
  3124  var xxx_messageInfo_DenomDecimals proto.InternalMessageInfo
  3125  
  3126  func (m *DenomDecimals) GetDenom() string {
  3127  	if m != nil {
  3128  		return m.Denom
  3129  	}
  3130  	return ""
  3131  }
  3132  
  3133  func (m *DenomDecimals) GetDecimals() uint64 {
  3134  	if m != nil {
  3135  		return m.Decimals
  3136  	}
  3137  	return 0
  3138  }
  3139  
  3140  type GrantAuthorization struct {
  3141  	Grantee string                `protobuf:"bytes,1,opt,name=grantee,proto3" json:"grantee,omitempty"`
  3142  	Amount  cosmossdk_io_math.Int `protobuf:"bytes,2,opt,name=amount,proto3,customtype=cosmossdk.io/math.Int" json:"amount"`
  3143  }
  3144  
  3145  func (m *GrantAuthorization) Reset()         { *m = GrantAuthorization{} }
  3146  func (m *GrantAuthorization) String() string { return proto.CompactTextString(m) }
  3147  func (*GrantAuthorization) ProtoMessage()    {}
  3148  func (*GrantAuthorization) Descriptor() ([]byte, []int) {
  3149  	return fileDescriptor_2116e2804e9c53f9, []int{48}
  3150  }
  3151  func (m *GrantAuthorization) XXX_Unmarshal(b []byte) error {
  3152  	return m.Unmarshal(b)
  3153  }
  3154  func (m *GrantAuthorization) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  3155  	if deterministic {
  3156  		return xxx_messageInfo_GrantAuthorization.Marshal(b, m, deterministic)
  3157  	} else {
  3158  		b = b[:cap(b)]
  3159  		n, err := m.MarshalToSizedBuffer(b)
  3160  		if err != nil {
  3161  			return nil, err
  3162  		}
  3163  		return b[:n], nil
  3164  	}
  3165  }
  3166  func (m *GrantAuthorization) XXX_Merge(src proto.Message) {
  3167  	xxx_messageInfo_GrantAuthorization.Merge(m, src)
  3168  }
  3169  func (m *GrantAuthorization) XXX_Size() int {
  3170  	return m.Size()
  3171  }
  3172  func (m *GrantAuthorization) XXX_DiscardUnknown() {
  3173  	xxx_messageInfo_GrantAuthorization.DiscardUnknown(m)
  3174  }
  3175  
  3176  var xxx_messageInfo_GrantAuthorization proto.InternalMessageInfo
  3177  
  3178  func (m *GrantAuthorization) GetGrantee() string {
  3179  	if m != nil {
  3180  		return m.Grantee
  3181  	}
  3182  	return ""
  3183  }
  3184  
  3185  type ActiveGrant struct {
  3186  	Granter string                `protobuf:"bytes,1,opt,name=granter,proto3" json:"granter,omitempty"`
  3187  	Amount  cosmossdk_io_math.Int `protobuf:"bytes,2,opt,name=amount,proto3,customtype=cosmossdk.io/math.Int" json:"amount"`
  3188  }
  3189  
  3190  func (m *ActiveGrant) Reset()         { *m = ActiveGrant{} }
  3191  func (m *ActiveGrant) String() string { return proto.CompactTextString(m) }
  3192  func (*ActiveGrant) ProtoMessage()    {}
  3193  func (*ActiveGrant) Descriptor() ([]byte, []int) {
  3194  	return fileDescriptor_2116e2804e9c53f9, []int{49}
  3195  }
  3196  func (m *ActiveGrant) XXX_Unmarshal(b []byte) error {
  3197  	return m.Unmarshal(b)
  3198  }
  3199  func (m *ActiveGrant) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  3200  	if deterministic {
  3201  		return xxx_messageInfo_ActiveGrant.Marshal(b, m, deterministic)
  3202  	} else {
  3203  		b = b[:cap(b)]
  3204  		n, err := m.MarshalToSizedBuffer(b)
  3205  		if err != nil {
  3206  			return nil, err
  3207  		}
  3208  		return b[:n], nil
  3209  	}
  3210  }
  3211  func (m *ActiveGrant) XXX_Merge(src proto.Message) {
  3212  	xxx_messageInfo_ActiveGrant.Merge(m, src)
  3213  }
  3214  func (m *ActiveGrant) XXX_Size() int {
  3215  	return m.Size()
  3216  }
  3217  func (m *ActiveGrant) XXX_DiscardUnknown() {
  3218  	xxx_messageInfo_ActiveGrant.DiscardUnknown(m)
  3219  }
  3220  
  3221  var xxx_messageInfo_ActiveGrant proto.InternalMessageInfo
  3222  
  3223  func (m *ActiveGrant) GetGranter() string {
  3224  	if m != nil {
  3225  		return m.Granter
  3226  	}
  3227  	return ""
  3228  }
  3229  
  3230  type EffectiveGrant struct {
  3231  	Granter         string                `protobuf:"bytes,1,opt,name=granter,proto3" json:"granter,omitempty"`
  3232  	NetGrantedStake cosmossdk_io_math.Int `protobuf:"bytes,2,opt,name=net_granted_stake,json=netGrantedStake,proto3,customtype=cosmossdk.io/math.Int" json:"net_granted_stake"`
  3233  	IsValid         bool                  `protobuf:"varint,3,opt,name=is_valid,json=isValid,proto3" json:"is_valid,omitempty"`
  3234  }
  3235  
  3236  func (m *EffectiveGrant) Reset()         { *m = EffectiveGrant{} }
  3237  func (m *EffectiveGrant) String() string { return proto.CompactTextString(m) }
  3238  func (*EffectiveGrant) ProtoMessage()    {}
  3239  func (*EffectiveGrant) Descriptor() ([]byte, []int) {
  3240  	return fileDescriptor_2116e2804e9c53f9, []int{50}
  3241  }
  3242  func (m *EffectiveGrant) XXX_Unmarshal(b []byte) error {
  3243  	return m.Unmarshal(b)
  3244  }
  3245  func (m *EffectiveGrant) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  3246  	if deterministic {
  3247  		return xxx_messageInfo_EffectiveGrant.Marshal(b, m, deterministic)
  3248  	} else {
  3249  		b = b[:cap(b)]
  3250  		n, err := m.MarshalToSizedBuffer(b)
  3251  		if err != nil {
  3252  			return nil, err
  3253  		}
  3254  		return b[:n], nil
  3255  	}
  3256  }
  3257  func (m *EffectiveGrant) XXX_Merge(src proto.Message) {
  3258  	xxx_messageInfo_EffectiveGrant.Merge(m, src)
  3259  }
  3260  func (m *EffectiveGrant) XXX_Size() int {
  3261  	return m.Size()
  3262  }
  3263  func (m *EffectiveGrant) XXX_DiscardUnknown() {
  3264  	xxx_messageInfo_EffectiveGrant.DiscardUnknown(m)
  3265  }
  3266  
  3267  var xxx_messageInfo_EffectiveGrant proto.InternalMessageInfo
  3268  
  3269  func (m *EffectiveGrant) GetGranter() string {
  3270  	if m != nil {
  3271  		return m.Granter
  3272  	}
  3273  	return ""
  3274  }
  3275  
  3276  func (m *EffectiveGrant) GetIsValid() bool {
  3277  	if m != nil {
  3278  		return m.IsValid
  3279  	}
  3280  	return false
  3281  }
  3282  
  3283  func init() {
  3284  	proto.RegisterEnum("injective.exchange.v1beta1.AtomicMarketOrderAccessLevel", AtomicMarketOrderAccessLevel_name, AtomicMarketOrderAccessLevel_value)
  3285  	proto.RegisterEnum("injective.exchange.v1beta1.MarketStatus", MarketStatus_name, MarketStatus_value)
  3286  	proto.RegisterEnum("injective.exchange.v1beta1.OrderType", OrderType_name, OrderType_value)
  3287  	proto.RegisterEnum("injective.exchange.v1beta1.ExecutionType", ExecutionType_name, ExecutionType_value)
  3288  	proto.RegisterEnum("injective.exchange.v1beta1.OrderMask", OrderMask_name, OrderMask_value)
  3289  	proto.RegisterType((*Params)(nil), "injective.exchange.v1beta1.Params")
  3290  	proto.RegisterType((*MarketFeeMultiplier)(nil), "injective.exchange.v1beta1.MarketFeeMultiplier")
  3291  	proto.RegisterType((*DerivativeMarket)(nil), "injective.exchange.v1beta1.DerivativeMarket")
  3292  	proto.RegisterType((*BinaryOptionsMarket)(nil), "injective.exchange.v1beta1.BinaryOptionsMarket")
  3293  	proto.RegisterType((*ExpiryFuturesMarketInfo)(nil), "injective.exchange.v1beta1.ExpiryFuturesMarketInfo")
  3294  	proto.RegisterType((*PerpetualMarketInfo)(nil), "injective.exchange.v1beta1.PerpetualMarketInfo")
  3295  	proto.RegisterType((*PerpetualMarketFunding)(nil), "injective.exchange.v1beta1.PerpetualMarketFunding")
  3296  	proto.RegisterType((*DerivativeMarketSettlementInfo)(nil), "injective.exchange.v1beta1.DerivativeMarketSettlementInfo")
  3297  	proto.RegisterType((*NextFundingTimestamp)(nil), "injective.exchange.v1beta1.NextFundingTimestamp")
  3298  	proto.RegisterType((*MidPriceAndTOB)(nil), "injective.exchange.v1beta1.MidPriceAndTOB")
  3299  	proto.RegisterType((*SpotMarket)(nil), "injective.exchange.v1beta1.SpotMarket")
  3300  	proto.RegisterType((*Deposit)(nil), "injective.exchange.v1beta1.Deposit")
  3301  	proto.RegisterType((*SubaccountTradeNonce)(nil), "injective.exchange.v1beta1.SubaccountTradeNonce")
  3302  	proto.RegisterType((*OrderInfo)(nil), "injective.exchange.v1beta1.OrderInfo")
  3303  	proto.RegisterType((*SpotOrder)(nil), "injective.exchange.v1beta1.SpotOrder")
  3304  	proto.RegisterType((*SpotLimitOrder)(nil), "injective.exchange.v1beta1.SpotLimitOrder")
  3305  	proto.RegisterType((*SpotMarketOrder)(nil), "injective.exchange.v1beta1.SpotMarketOrder")
  3306  	proto.RegisterType((*DerivativeOrder)(nil), "injective.exchange.v1beta1.DerivativeOrder")
  3307  	proto.RegisterType((*SubaccountOrderbookMetadata)(nil), "injective.exchange.v1beta1.SubaccountOrderbookMetadata")
  3308  	proto.RegisterType((*SubaccountOrder)(nil), "injective.exchange.v1beta1.SubaccountOrder")
  3309  	proto.RegisterType((*SubaccountOrderData)(nil), "injective.exchange.v1beta1.SubaccountOrderData")
  3310  	proto.RegisterType((*DerivativeLimitOrder)(nil), "injective.exchange.v1beta1.DerivativeLimitOrder")
  3311  	proto.RegisterType((*DerivativeMarketOrder)(nil), "injective.exchange.v1beta1.DerivativeMarketOrder")
  3312  	proto.RegisterType((*Position)(nil), "injective.exchange.v1beta1.Position")
  3313  	proto.RegisterType((*MarketOrderIndicator)(nil), "injective.exchange.v1beta1.MarketOrderIndicator")
  3314  	proto.RegisterType((*TradeLog)(nil), "injective.exchange.v1beta1.TradeLog")
  3315  	proto.RegisterType((*PositionDelta)(nil), "injective.exchange.v1beta1.PositionDelta")
  3316  	proto.RegisterType((*DerivativeTradeLog)(nil), "injective.exchange.v1beta1.DerivativeTradeLog")
  3317  	proto.RegisterType((*SubaccountPosition)(nil), "injective.exchange.v1beta1.SubaccountPosition")
  3318  	proto.RegisterType((*SubaccountDeposit)(nil), "injective.exchange.v1beta1.SubaccountDeposit")
  3319  	proto.RegisterType((*DepositUpdate)(nil), "injective.exchange.v1beta1.DepositUpdate")
  3320  	proto.RegisterType((*PointsMultiplier)(nil), "injective.exchange.v1beta1.PointsMultiplier")
  3321  	proto.RegisterType((*TradingRewardCampaignBoostInfo)(nil), "injective.exchange.v1beta1.TradingRewardCampaignBoostInfo")
  3322  	proto.RegisterType((*CampaignRewardPool)(nil), "injective.exchange.v1beta1.CampaignRewardPool")
  3323  	proto.RegisterType((*TradingRewardCampaignInfo)(nil), "injective.exchange.v1beta1.TradingRewardCampaignInfo")
  3324  	proto.RegisterType((*FeeDiscountTierInfo)(nil), "injective.exchange.v1beta1.FeeDiscountTierInfo")
  3325  	proto.RegisterType((*FeeDiscountSchedule)(nil), "injective.exchange.v1beta1.FeeDiscountSchedule")
  3326  	proto.RegisterType((*FeeDiscountTierTTL)(nil), "injective.exchange.v1beta1.FeeDiscountTierTTL")
  3327  	proto.RegisterType((*VolumeRecord)(nil), "injective.exchange.v1beta1.VolumeRecord")
  3328  	proto.RegisterType((*AccountRewards)(nil), "injective.exchange.v1beta1.AccountRewards")
  3329  	proto.RegisterType((*TradeRecords)(nil), "injective.exchange.v1beta1.TradeRecords")
  3330  	proto.RegisterType((*SubaccountIDs)(nil), "injective.exchange.v1beta1.SubaccountIDs")
  3331  	proto.RegisterType((*TradeRecord)(nil), "injective.exchange.v1beta1.TradeRecord")
  3332  	proto.RegisterType((*Level)(nil), "injective.exchange.v1beta1.Level")
  3333  	proto.RegisterType((*AggregateSubaccountVolumeRecord)(nil), "injective.exchange.v1beta1.AggregateSubaccountVolumeRecord")
  3334  	proto.RegisterType((*AggregateAccountVolumeRecord)(nil), "injective.exchange.v1beta1.AggregateAccountVolumeRecord")
  3335  	proto.RegisterType((*MarketVolume)(nil), "injective.exchange.v1beta1.MarketVolume")
  3336  	proto.RegisterType((*DenomDecimals)(nil), "injective.exchange.v1beta1.DenomDecimals")
  3337  	proto.RegisterType((*GrantAuthorization)(nil), "injective.exchange.v1beta1.GrantAuthorization")
  3338  	proto.RegisterType((*ActiveGrant)(nil), "injective.exchange.v1beta1.ActiveGrant")
  3339  	proto.RegisterType((*EffectiveGrant)(nil), "injective.exchange.v1beta1.EffectiveGrant")
  3340  }
  3341  
  3342  func init() {
  3343  	proto.RegisterFile("injective/exchange/v1beta1/exchange.proto", fileDescriptor_2116e2804e9c53f9)
  3344  }
  3345  
  3346  var fileDescriptor_2116e2804e9c53f9 = []byte{
  3347  	// 4438 bytes of a gzipped FileDescriptorProto
  3348  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x7c, 0xdb, 0x6f, 0x63, 0x59,
  3349  	0x56, 0x77, 0x1d, 0x3b, 0x17, 0x7b, 0xf9, 0x12, 0xe7, 0xe4, 0xe6, 0x24, 0x55, 0x89, 0xdb, 0xd5,
  3350  	0x35, 0x9d, 0xae, 0xee, 0x4e, 0xa6, 0xfa, 0xfb, 0x7a, 0xd4, 0xd3, 0xa3, 0xd1, 0xb4, 0x13, 0x27,
  3351  	0x55, 0xa6, 0x73, 0x9b, 0xe3, 0xa4, 0xa1, 0x66, 0x34, 0x73, 0xb4, 0x73, 0xce, 0x4e, 0xbc, 0x2b,
  3352  	0xe7, 0xe2, 0x3a, 0xfb, 0x38, 0x95, 0x34, 0x42, 0xe2, 0xa1, 0x85, 0x98, 0x00, 0x62, 0x78, 0x40,
  3353  	0x48, 0x48, 0x41, 0xc3, 0x03, 0x42, 0xf0, 0x02, 0xef, 0xf0, 0x80, 0x84, 0x80, 0x79, 0x18, 0xa4,
  3354  	0x79, 0x40, 0x02, 0x21, 0x31, 0xa0, 0x6e, 0x24, 0x10, 0x9a, 0x3f, 0x01, 0x21, 0xb4, 0x2f, 0xe7,
  3355  	0x62, 0x3b, 0x71, 0xec, 0x24, 0x03, 0x03, 0xbc, 0x54, 0x79, 0x5f, 0xd6, 0x6f, 0xed, 0xbd, 0xd6,
  3356  	0xda, 0x6b, 0xad, 0x7d, 0x39, 0x81, 0x37, 0x89, 0xf3, 0x02, 0x1b, 0x3e, 0x39, 0xc1, 0x2b, 0xf8,
  3357  	0xd4, 0x68, 0x20, 0xe7, 0x08, 0xaf, 0x9c, 0x3c, 0x39, 0xc0, 0x3e, 0x7a, 0x12, 0x56, 0x2c, 0x37,
  3358  	0x3d, 0xd7, 0x77, 0xd5, 0xb9, 0xb0, 0xeb, 0x72, 0xd8, 0x22, 0xbb, 0xce, 0x4d, 0x1e, 0xb9, 0x47,
  3359  	0x2e, 0xef, 0xb6, 0xc2, 0x7e, 0x09, 0x8a, 0xb9, 0x05, 0xc3, 0xa5, 0xb6, 0x4b, 0x57, 0x0e, 0x10,
  3360  	0x8d, 0x50, 0x0d, 0x97, 0x38, 0xb2, 0xfd, 0x51, 0xc4, 0xdc, 0xf5, 0x90, 0x61, 0x45, 0x9d, 0x44,
  3361  	0x51, 0x76, 0x1b, 0x47, 0x36, 0x71, 0xdc, 0x15, 0xfe, 0xaf, 0xa8, 0x2a, 0xff, 0xc3, 0x14, 0x8c,
  3362  	0xec, 0x22, 0x0f, 0xd9, 0x54, 0xc5, 0xb0, 0x48, 0x9b, 0xae, 0xaf, 0xdb, 0xc8, 0x3b, 0xc6, 0xbe,
  3363  	0x4e, 0x1c, 0xea, 0x23, 0xc7, 0xd7, 0x2d, 0x42, 0x7d, 0xe2, 0x1c, 0xe9, 0x87, 0x18, 0x17, 0x95,
  3364  	0x92, 0xb2, 0x94, 0x79, 0x77, 0x76, 0x59, 0x0c, 0x67, 0x99, 0x0d, 0x27, 0x18, 0xf9, 0xf2, 0x9a,
  3365  	0x4b, 0x9c, 0xd5, 0xa1, 0xef, 0xff, 0x68, 0xf1, 0x9e, 0x36, 0xcf, 0x70, 0xb6, 0x38, 0x4c, 0x4d,
  3366  	0xa0, 0x6c, 0x0a, 0x90, 0x0d, 0x8c, 0xd5, 0x97, 0xf0, 0xc8, 0xc4, 0x1e, 0x39, 0x41, 0x6c, 0xb8,
  3367  	0xbd, 0x98, 0x25, 0xfa, 0x63, 0xf6, 0x5a, 0x84, 0x76, 0x15, 0x4b, 0x04, 0xf3, 0x26, 0x3e, 0x44,
  3368  	0x2d, 0xcb, 0xd7, 0xe5, 0x0c, 0x8f, 0xb1, 0xc7, 0x78, 0xe8, 0x1e, 0xf2, 0x71, 0x31, 0x59, 0x52,
  3369  	0x96, 0xd2, 0xab, 0x0f, 0x19, 0xda, 0xdf, 0xff, 0x68, 0x71, 0x5e, 0xf0, 0xa3, 0xe6, 0xf1, 0x32,
  3370  	0x71, 0x57, 0x6c, 0xe4, 0x37, 0x96, 0x37, 0xf1, 0x11, 0x32, 0xce, 0xaa, 0xd8, 0xd0, 0x66, 0x24,
  3371  	0x4e, 0x9d, 0x4f, 0xf0, 0x18, 0x7b, 0x1b, 0x18, 0x6b, 0xc8, 0xef, 0x66, 0xe1, 0xb7, 0xb3, 0x18,
  3372  	0xba, 0x19, 0x8b, 0xbd, 0x38, 0x0b, 0x1b, 0x5e, 0x0b, 0x58, 0xb4, 0x09, 0xb0, 0x8d, 0xd1, 0x70,
  3373  	0xff, 0x8c, 0x1e, 0x48, 0xb4, 0x6a, 0x4c, 0x7e, 0xd7, 0xb2, 0xeb, 0x98, 0xd7, 0xc8, 0x6d, 0xd8,
  3374  	0xb5, 0xcd, 0xce, 0x84, 0xfb, 0x01, 0x3b, 0xe2, 0x10, 0x9f, 0x20, 0x8b, 0xd9, 0xc6, 0x11, 0x71,
  3375  	0x18, 0x23, 0xe2, 0x16, 0x47, 0xfb, 0xe7, 0x34, 0x2b, 0x81, 0x6a, 0x02, 0x67, 0x8b, 0xc3, 0x68,
  3376  	0x0c, 0x45, 0xb5, 0xa0, 0x14, 0x70, 0xb1, 0x11, 0x71, 0x7c, 0xec, 0x20, 0xc7, 0xc0, 0xed, 0x9c,
  3377  	0x52, 0x83, 0xcf, 0x69, 0x2b, 0xc2, 0x8a, 0x73, 0x7b, 0x1f, 0x8a, 0x01, 0xb7, 0xc3, 0x96, 0x63,
  3378  	0x32, 0xc3, 0x66, 0xfd, 0xbc, 0x13, 0x64, 0x15, 0xd3, 0x25, 0x65, 0x29, 0xa9, 0x4d, 0xcb, 0xf6,
  3379  	0x0d, 0xd1, 0x5c, 0x93, 0xad, 0xea, 0x9b, 0x50, 0x08, 0x28, 0xec, 0x96, 0xe5, 0x93, 0xa6, 0x85,
  3380  	0x8b, 0xc0, 0x29, 0xc6, 0x64, 0xfd, 0x96, 0xac, 0x56, 0x7f, 0x0e, 0xa6, 0x3d, 0x6c, 0xa1, 0x33,
  3381  	0xa9, 0x16, 0xda, 0x40, 0x9e, 0x54, 0x4e, 0xa6, 0xff, 0x89, 0x4c, 0x48, 0x88, 0x0d, 0x8c, 0xeb,
  3382  	0x0c, 0x80, 0xab, 0x84, 0xc0, 0x62, 0x30, 0xfc, 0x86, 0xdb, 0xf2, 0xac, 0xb3, 0x70, 0x16, 0x0c,
  3383  	0x5e, 0x37, 0x50, 0xb3, 0x98, 0xed, 0x9f, 0x45, 0xb0, 0x3e, 0x9e, 0x71, 0x28, 0x39, 0x61, 0xc6,
  3384  	0x67, 0x0d, 0x35, 0xe3, 0xda, 0x97, 0xac, 0xb8, 0xa0, 0x30, 0xf5, 0xc5, 0x54, 0x72, 0x83, 0x6b,
  3385  	0x5f, 0xf0, 0xa9, 0x49, 0x18, 0x3e, 0xa1, 0x2a, 0x2c, 0xda, 0xe8, 0x34, 0x6e, 0xce, 0xae, 0x67,
  3386  	0x62, 0x4f, 0xa7, 0xc4, 0xc4, 0xba, 0xe1, 0xb6, 0x1c, 0xbf, 0x98, 0x2f, 0x29, 0x4b, 0x39, 0x6d,
  3387  	0xde, 0x46, 0xa7, 0x91, 0x9d, 0xee, 0xb0, 0x4e, 0x75, 0x62, 0xe2, 0x35, 0xd6, 0x45, 0xa5, 0xf0,
  3388  	0x06, 0x71, 0x5e, 0xe8, 0x1e, 0x7e, 0x85, 0x3c, 0x53, 0xa7, 0x6c, 0x45, 0x98, 0xba, 0x87, 0x5f,
  3389  	0xb6, 0x88, 0x87, 0x6d, 0xec, 0xf8, 0xba, 0xdf, 0xf0, 0x30, 0x6d, 0xb8, 0x96, 0x59, 0x1c, 0xe3,
  3390  	0xc3, 0x7e, 0x20, 0x87, 0x3d, 0xd5, 0x3d, 0xec, 0x9a, 0xe3, 0x6b, 0x0f, 0x89, 0xf3, 0x42, 0xe3,
  3391  	0x60, 0x75, 0x8e, 0xa5, 0x45, 0x50, 0x7b, 0x01, 0x92, 0xfa, 0x14, 0x4a, 0xbe, 0x87, 0x84, 0xf0,
  3392  	0x79, 0x5f, 0xaa, 0x9f, 0x60, 0xe1, 0x2b, 0xcd, 0x16, 0xb7, 0x5b, 0xa7, 0x58, 0xe0, 0x06, 0xf2,
  3393  	0x40, 0xf6, 0x13, 0x90, 0xf4, 0x63, 0xd1, 0xab, 0x2a, 0x3b, 0x31, 0x49, 0x5b, 0xe4, 0x65, 0x8b,
  3394  	0x98, 0xc8, 0x77, 0xbd, 0x70, 0x12, 0x91, 0xd1, 0x8c, 0x0f, 0x20, 0xe9, 0x08, 0x48, 0x8e, 0x3f,
  3395  	0x34, 0x9d, 0x53, 0x78, 0xf3, 0x80, 0x38, 0xc8, 0x3b, 0xd3, 0xdd, 0x26, 0x63, 0x4b, 0x7b, 0x39,
  3396  	0x7a, 0xb5, 0x3f, 0x47, 0xff, 0xba, 0x40, 0xdc, 0x11, 0x80, 0x57, 0xf9, 0xfa, 0x5f, 0x54, 0xa0,
  3397  	0x84, 0x7c, 0xd7, 0x26, 0x46, 0xc0, 0x52, 0xe8, 0x18, 0x19, 0x06, 0xa6, 0x54, 0xb7, 0xf0, 0x09,
  3398  	0xb6, 0x8a, 0x13, 0x25, 0x65, 0x29, 0xff, 0xee, 0xfb, 0xcb, 0x57, 0x07, 0xe2, 0xe5, 0x0a, 0xc7,
  3399  	0x10, 0x5c, 0xb8, 0x01, 0x54, 0x38, 0xc0, 0x26, 0xa3, 0xd7, 0xee, 0xa3, 0x1e, 0xad, 0xea, 0x29,
  3400  	0xbc, 0xc1, 0x63, 0xc0, 0x65, 0xc3, 0x60, 0x4b, 0x54, 0xae, 0x68, 0x82, 0xbd, 0xe2, 0x64, 0xff,
  3401  	0xd2, 0x2e, 0x33, 0xcc, 0xae, 0x51, 0x6d, 0x60, 0xbc, 0x15, 0xc2, 0xa9, 0x9f, 0x2a, 0xf0, 0x4e,
  3402  	0xcc, 0xba, 0xfb, 0x18, 0xc0, 0x54, 0xff, 0x03, 0x58, 0x8a, 0x90, 0xaf, 0x19, 0xc6, 0xaf, 0x28,
  3403  	0xf0, 0xa4, 0x43, 0xfd, 0x7d, 0x0c, 0x65, 0xba, 0xff, 0xa1, 0xbc, 0xd5, 0x66, 0x0a, 0xd7, 0x8c,
  3404  	0xe6, 0xdb, 0x30, 0x6b, 0x13, 0x87, 0xd8, 0xc8, 0xd2, 0x79, 0xce, 0x63, 0xb8, 0x56, 0x14, 0xc0,
  3405  	0x66, 0xfa, 0x67, 0x3a, 0x2d, 0x51, 0x76, 0x25, 0x48, 0x10, 0xb9, 0xbe, 0x09, 0x6f, 0x11, 0x1a,
  3406  	0x1a, 0x76, 0x77, 0x6e, 0x63, 0xa1, 0x96, 0x63, 0x34, 0x74, 0xec, 0xa0, 0x03, 0x0b, 0x9b, 0xc5,
  3407  	0x62, 0x49, 0x59, 0x4a, 0x69, 0x5f, 0x20, 0x54, 0xda, 0x6e, 0xb5, 0x23, 0x7d, 0xd9, 0xe4, 0xdd,
  3408  	0xd7, 0x45, 0x6f, 0xe6, 0xb2, 0x9a, 0x2e, 0xf5, 0x75, 0xd7, 0xb1, 0xce, 0x74, 0xdb, 0x35, 0xb1,
  3409  	0xde, 0xc0, 0xe4, 0xa8, 0x11, 0x77, 0x32, 0xb3, 0x7c, 0xd9, 0xcf, 0xb3, 0x6e, 0x3b, 0x8e, 0x75,
  3410  	0xb6, 0xe5, 0x9a, 0xf8, 0x19, 0xef, 0x13, 0x79, 0x8f, 0x23, 0x78, 0x22, 0x43, 0x9c, 0x89, 0x0d,
  3411  	0x0f, 0x23, 0x8a, 0xf5, 0xa6, 0x47, 0x0c, 0xac, 0xfb, 0xc4, 0xc6, 0xd4, 0x47, 0x76, 0x33, 0xc2,
  3412  	0xd3, 0x29, 0x36, 0x5c, 0xc7, 0xa4, 0xc5, 0x39, 0x8e, 0xfb, 0xb6, 0x20, 0xac, 0x4a, 0xba, 0x5d,
  3413  	0x46, 0xb6, 0x17, 0x50, 0x85, 0x1c, 0xea, 0x82, 0x46, 0x7d, 0x03, 0xc6, 0x82, 0x95, 0xa4, 0x23,
  3414  	0xd3, 0x26, 0x0e, 0x2d, 0xce, 0x97, 0x92, 0x4b, 0x69, 0x2d, 0x1f, 0x54, 0x57, 0x78, 0xad, 0xba,
  3415  	0x09, 0x13, 0xcc, 0x89, 0xa2, 0x96, 0xc1, 0x54, 0xa8, 0x33, 0xb7, 0xcc, 0xe2, 0xc9, 0xfd, 0x7e,
  3416  	0x1c, 0x66, 0x81, 0x38, 0x2f, 0x2a, 0x82, 0x70, 0x0b, 0x9d, 0xae, 0xa1, 0xe6, 0x07, 0xc5, 0x7f,
  3417  	0xfd, 0xde, 0xa2, 0x72, 0xfe, 0x2f, 0x7f, 0xfc, 0x38, 0xe4, 0xbe, 0x22, 0x92, 0xda, 0xf2, 0xa7,
  3418  	0x0a, 0x4c, 0x08, 0xb9, 0xb6, 0x1b, 0xc5, 0x3c, 0xa4, 0x03, 0x8f, 0x64, 0xf2, 0xb4, 0x36, 0xad,
  3419  	0xa5, 0x44, 0x45, 0xcd, 0x54, 0x7f, 0x06, 0xf2, 0x1d, 0xb6, 0x99, 0xe8, 0xdf, 0x4c, 0x72, 0x87,
  3420  	0x71, 0x46, 0x1f, 0x0c, 0xfd, 0xf2, 0xf7, 0x16, 0xef, 0x95, 0x7f, 0x9c, 0x82, 0x42, 0xa7, 0xa2,
  3421  	0xd5, 0x69, 0x18, 0xf1, 0x89, 0x71, 0x8c, 0x3d, 0x39, 0x00, 0x59, 0x52, 0x17, 0x21, 0x23, 0xd2,
  3422  	0x76, 0x9d, 0xb9, 0x42, 0xc1, 0x5b, 0x03, 0x51, 0xb5, 0x8a, 0x28, 0x56, 0x5f, 0x83, 0xac, 0xec,
  3423  	0xf0, 0xb2, 0xe5, 0x06, 0x09, 0xac, 0x26, 0x89, 0xbe, 0xce, 0xaa, 0xd4, 0xf5, 0x10, 0xc3, 0x3f,
  3424  	0x6b, 0x8a, 0xfc, 0x33, 0xff, 0xee, 0xeb, 0x31, 0x87, 0x27, 0x37, 0x06, 0x81, 0xbb, 0xdb, 0xe1,
  3425  	0xc5, 0xbd, 0xb3, 0x26, 0x0e, 0x38, 0xb1, 0xdf, 0xea, 0x32, 0x4c, 0x48, 0x18, 0x6a, 0x20, 0x0b,
  3426  	0xeb, 0x87, 0xc8, 0xf0, 0x5d, 0x8f, 0x67, 0x99, 0x39, 0x6d, 0x5c, 0x34, 0xd5, 0x59, 0xcb, 0x06,
  3427  	0x6f, 0x60, 0x43, 0xe7, 0x43, 0xd2, 0x4d, 0xec, 0xb8, 0xb6, 0x48, 0x0f, 0x35, 0xe0, 0x55, 0x55,
  3428  	0x56, 0xd3, 0x2e, 0xf7, 0xd1, 0x0e, 0xb9, 0xef, 0xc3, 0xe4, 0xa5, 0xb9, 0xdf, 0x00, 0x19, 0x99,
  3429  	0x4a, 0xba, 0x93, 0xbe, 0x6f, 0x41, 0xf1, 0xca, 0x64, 0x2f, 0x3d, 0xc8, 0xfa, 0xbf, 0x3c, 0xcb,
  3430  	0xab, 0x41, 0xbe, 0x23, 0x09, 0x87, 0xfe, 0x41, 0xb3, 0x76, 0x3c, 0x09, 0xae, 0x41, 0xbe, 0x23,
  3431  	0xc1, 0x1e, 0x20, 0x87, 0xcb, 0xfa, 0x71, 0xa8, 0xab, 0xd3, 0xc2, 0xec, 0x2d, 0xd3, 0xc2, 0x12,
  3432  	0x64, 0x08, 0xdd, 0xc5, 0x5e, 0x13, 0xfb, 0x2d, 0x64, 0xf1, 0xd4, 0x2c, 0xa5, 0xc5, 0xab, 0xd4,
  3433  	0x0f, 0x61, 0x84, 0xfa, 0xc8, 0x6f, 0x51, 0x9e, 0x4e, 0xe5, 0xdf, 0x5d, 0xea, 0x15, 0x68, 0xc5,
  3434  	0x62, 0xa8, 0xf3, 0xfe, 0x9a, 0xa4, 0x53, 0x35, 0x98, 0xb0, 0x89, 0x13, 0x3a, 0x29, 0xe3, 0x58,
  3435  	0xa7, 0xe4, 0x13, 0x2c, 0xf3, 0xa9, 0xbe, 0x86, 0x5e, 0xb0, 0x89, 0x23, 0x9d, 0x95, 0x71, 0x5c,
  3436  	0x27, 0x9f, 0x70, 0x89, 0x30, 0xcc, 0x97, 0x2d, 0xe4, 0xf8, 0xc4, 0x3f, 0x8b, 0xc1, 0x16, 0x06,
  3437  	0x90, 0x88, 0x4d, 0x9c, 0xaf, 0x4b, 0x84, 0x10, 0x79, 0x03, 0xb2, 0x0c, 0xd9, 0x71, 0x99, 0x4b,
  3438  	0x42, 0xd6, 0x20, 0x39, 0x54, 0xc6, 0x26, 0xce, 0xb6, 0xa4, 0x53, 0x27, 0x61, 0x98, 0x3b, 0x4d,
  3439  	0x9e, 0x11, 0xa5, 0x35, 0x51, 0x50, 0xdf, 0x82, 0x71, 0xfe, 0x43, 0x6f, 0x62, 0xcf, 0x26, 0x94,
  3440  	0xb2, 0x90, 0xc7, 0x33, 0x98, 0x9c, 0x56, 0xe0, 0x0d, 0xbb, 0x51, 0xbd, 0x74, 0x37, 0x7f, 0x9b,
  3441  	0x82, 0x89, 0xd5, 0xee, 0x6c, 0xe9, 0x4a, 0x8f, 0xf3, 0x10, 0x72, 0xc1, 0x32, 0x3f, 0xb3, 0x0f,
  3442  	0x5c, 0x4b, 0xfa, 0x1c, 0xe9, 0x65, 0xea, 0xbc, 0x8e, 0xf9, 0x76, 0xd9, 0xa9, 0xe9, 0xb9, 0x27,
  3443  	0xc4, 0xc4, 0x9e, 0x74, 0x3c, 0x79, 0x51, 0xbd, 0x2b, 0x6b, 0xff, 0xbb, 0x7c, 0xcf, 0x13, 0x98,
  3444  	0xc4, 0xa7, 0x4d, 0x22, 0xf2, 0xdc, 0x28, 0xb2, 0x71, 0x27, 0x94, 0xd4, 0x26, 0xa2, 0xb6, 0x30,
  3445  	0x7c, 0x31, 0x12, 0x8a, 0x7d, 0xdf, 0x92, 0x79, 0x7b, 0x48, 0x32, 0x2a, 0x48, 0xa2, 0xb6, 0x88,
  3446  	0x24, 0xd4, 0x51, 0x2a, 0xae, 0xa3, 0x0e, 0xbf, 0x97, 0xee, 0xed, 0xf7, 0xa0, 0xc3, 0xef, 0x75,
  3447  	0x7b, 0x90, 0xcc, 0xdd, 0x79, 0x90, 0xec, 0xdd, 0x7b, 0x90, 0xdc, 0x2d, 0x3d, 0xc8, 0xff, 0x35,
  3448  	0xff, 0xb0, 0x0d, 0x85, 0x98, 0x99, 0xf1, 0x41, 0xc7, 0x7c, 0x84, 0x72, 0x1d, 0xe6, 0x58, 0x44,
  3449  	0xcc, 0x47, 0xdc, 0xe5, 0x6f, 0xd4, 0x1b, 0xfa, 0x9b, 0x1b, 0x78, 0x96, 0x7f, 0x4e, 0xc0, 0xcc,
  3450  	0x3a, 0x5b, 0x49, 0x67, 0x1b, 0x2d, 0xbf, 0xe5, 0xe1, 0x70, 0x1f, 0x76, 0xe8, 0xf6, 0xce, 0xa9,
  3451  	0xae, 0x5a, 0x9d, 0x89, 0xab, 0x57, 0xe7, 0x17, 0x61, 0xd2, 0x7f, 0x85, 0x9a, 0x6c, 0x8b, 0xed,
  3452  	0xc5, 0x57, 0x67, 0x92, 0x93, 0xa8, 0xac, 0xad, 0xce, 0x9a, 0x22, 0x8a, 0x57, 0xf0, 0x85, 0x38,
  3453  	0x93, 0x88, 0x58, 0x18, 0x8a, 0xd1, 0xb2, 0x5b, 0x16, 0xcf, 0xc0, 0x06, 0x39, 0x90, 0x2b, 0xc7,
  3454  	0xc6, 0x16, 0xb0, 0xe4, 0x7a, 0x58, 0x0b, 0xe1, 0x2e, 0xd5, 0xf0, 0x00, 0x47, 0x71, 0x9d, 0x1a,
  3455  	0x2e, 0xff, 0x65, 0x02, 0x26, 0xc2, 0x78, 0xda, 0xaf, 0x88, 0xbf, 0x01, 0x33, 0x57, 0x9d, 0xd3,
  3456  	0x0c, 0x90, 0xbf, 0x4e, 0x36, 0x2e, 0x3b, 0xa0, 0xd9, 0x87, 0xc9, 0x4b, 0x0f, 0x66, 0x06, 0x38,
  3457  	0x3b, 0x55, 0x1b, 0xdd, 0x27, 0x32, 0xff, 0x1f, 0xa6, 0x1d, 0x7c, 0x1a, 0x1d, 0x8f, 0x45, 0x4a,
  3458  	0x1e, 0xe2, 0x4a, 0x9e, 0x64, 0xad, 0x72, 0x28, 0x91, 0x9a, 0x63, 0xa7, 0x63, 0xe1, 0x79, 0xda,
  3459  	0x70, 0xdb, 0xe9, 0x58, 0x70, 0x90, 0x56, 0xfe, 0x5c, 0x81, 0xe9, 0x0e, 0x41, 0x4a, 0x38, 0x55,
  3460  	0x03, 0x35, 0x32, 0x88, 0x60, 0x04, 0x42, 0xa8, 0xfd, 0x4d, 0x68, 0x3c, 0x22, 0x0f, 0x30, 0xb7,
  3461  	0xa1, 0x10, 0xc3, 0x14, 0x76, 0x30, 0x80, 0xec, 0xc7, 0x22, 0x62, 0xb1, 0xd2, 0x1f, 0x41, 0xde,
  3462  	0x42, 0xb4, 0xdb, 0xf8, 0x73, 0xac, 0x36, 0x14, 0x48, 0xf9, 0xd7, 0x14, 0x58, 0xe8, 0xdc, 0x5e,
  3463  	0xd4, 0x43, 0x93, 0xba, 0xde, 0x72, 0x2e, 0x33, 0xdf, 0xc4, 0x2d, 0xcc, 0xf7, 0xab, 0x30, 0xb9,
  3464  	0x7d, 0x99, 0xe2, 0x1e, 0x41, 0x9e, 0xab, 0x3b, 0x9a, 0x8e, 0x22, 0xa6, 0xc3, 0x6a, 0xa3, 0xe9,
  3465  	0xfc, 0x9b, 0x02, 0xf9, 0x2d, 0x62, 0x72, 0xac, 0x8a, 0x63, 0xee, 0xed, 0xac, 0xaa, 0x1f, 0x42,
  3466  	0xda, 0x26, 0xa6, 0x1c, 0x9a, 0xd2, 0xbf, 0xef, 0x4c, 0xd9, 0x12, 0x87, 0x45, 0xc6, 0x03, 0x66,
  3467  	0xb6, 0x07, 0xad, 0xb3, 0xae, 0x19, 0x5e, 0x0b, 0x93, 0x65, 0xa4, 0xab, 0xad, 0x33, 0x01, 0xf5,
  3468  	0x11, 0x8c, 0x71, 0x28, 0x8a, 0x2d, 0x4b, 0x62, 0x25, 0xfb, 0xc7, 0xca, 0x31, 0xda, 0x3a, 0xb6,
  3469  	0x2c, 0x21, 0xab, 0x1f, 0x0f, 0x03, 0xd4, 0xc3, 0xfb, 0x92, 0x2b, 0x53, 0xb4, 0x07, 0x00, 0x6c,
  3470  	0x37, 0x28, 0x13, 0x0c, 0x91, 0x9f, 0xa5, 0x59, 0x8d, 0xc8, 0x2f, 0x3a, 0x12, 0x90, 0x64, 0x57,
  3471  	0x02, 0xd2, 0x9d, 0x63, 0x0c, 0xdd, 0x5d, 0x8e, 0x31, 0x7c, 0xf7, 0x39, 0xc6, 0xc8, 0x2d, 0x73,
  3472  	0x8c, 0x9e, 0x1b, 0xcd, 0x28, 0x01, 0x49, 0xdd, 0x6d, 0x02, 0x92, 0xfe, 0xc9, 0x24, 0x20, 0x70,
  3473  	0xc7, 0x1b, 0x94, 0xcc, 0x6d, 0x37, 0x28, 0xd9, 0x6b, 0x37, 0x28, 0xb9, 0xcb, 0xd3, 0x88, 0xf2,
  3474  	0xef, 0x29, 0x30, 0x5a, 0xc5, 0x4d, 0x97, 0x12, 0x5f, 0xdd, 0x85, 0x71, 0x74, 0x82, 0x88, 0x85,
  3475  	0x0e, 0xf8, 0x59, 0x87, 0xc5, 0x76, 0xd6, 0x83, 0x38, 0xe0, 0x42, 0x48, 0xbd, 0x2a, 0x88, 0xd5,
  3476  	0x67, 0x90, 0xf3, 0x5d, 0x1f, 0x59, 0x21, 0x5a, 0x62, 0x10, 0xcb, 0x64, 0x94, 0x12, 0xa9, 0xfc,
  3477  	0x36, 0x4c, 0xd6, 0x5b, 0x07, 0xc8, 0xe0, 0xd7, 0x02, 0x7b, 0x1e, 0x32, 0xf1, 0xb6, 0xcb, 0x38,
  3478  	0x4c, 0xc2, 0xb0, 0xe3, 0x06, 0xe3, 0xcc, 0x69, 0xa2, 0xc0, 0xc2, 0x4c, 0x9a, 0x1f, 0x3d, 0x72,
  3479  	0x5f, 0xfb, 0x10, 0x72, 0x34, 0xa4, 0x8d, 0xfc, 0x6d, 0x36, 0xaa, 0xac, 0x99, 0xac, 0x13, 0x5f,
  3480  	0x3f, 0xd8, 0x20, 0x4d, 0x82, 0x1d, 0x3f, 0xd8, 0x73, 0x1d, 0x62, 0xac, 0x05, 0x75, 0xea, 0x97,
  3481  	0x61, 0xb8, 0xd3, 0xbf, 0x5c, 0x3b, 0x0f, 0x41, 0xa1, 0x7e, 0x0d, 0x52, 0x81, 0x25, 0x0d, 0xb2,
  3482  	0xd4, 0x43, 0x22, 0xb5, 0x00, 0x49, 0x83, 0x98, 0x62, 0x6d, 0x6b, 0xec, 0x67, 0xf9, 0xd3, 0x04,
  3483  	0xa4, 0x99, 0xab, 0xe2, 0x33, 0xbd, 0xee, 0x08, 0x0d, 0xc4, 0x21, 0x2f, 0x71, 0x0e, 0x5d, 0x79,
  3484  	0x95, 0xfb, 0xa8, 0xd7, 0x2a, 0x0b, 0xa5, 0x27, 0x4f, 0xfb, 0xd3, 0x6e, 0x28, 0xce, 0x6a, 0x80,
  3485  	0xc5, 0xb7, 0x93, 0x49, 0xbe, 0x62, 0xaf, 0xc7, 0xe2, 0xfb, 0x49, 0x81, 0xc2, 0xb7, 0x93, 0xcc,
  3486  	0x34, 0x3c, 0x72, 0x74, 0x84, 0x3d, 0xe9, 0xb2, 0x87, 0x06, 0x70, 0xff, 0x92, 0x52, 0x78, 0xec,
  3487  	0x1f, 0x24, 0x20, 0xcf, 0xc4, 0xb0, 0x49, 0x6c, 0x22, 0x65, 0xd1, 0x3e, 0x5d, 0xe5, 0x0e, 0xa7,
  3488  	0x9b, 0xb8, 0xe1, 0x74, 0xbf, 0x06, 0xa9, 0x43, 0x62, 0xf1, 0xc5, 0x31, 0x88, 0xf1, 0x84, 0x44,
  3489  	0x77, 0x27, 0x2f, 0x16, 0xba, 0xc4, 0x84, 0x1a, 0x88, 0x36, 0xb8, 0x3d, 0x65, 0xe5, 0x48, 0x9f,
  3490  	0x21, 0xda, 0x28, 0xff, 0x4d, 0x02, 0xc6, 0xa2, 0x00, 0x78, 0xf7, 0xf2, 0xdc, 0x80, 0xac, 0xf4,
  3491  	0x06, 0x3a, 0x3f, 0x2f, 0x1f, 0xc0, 0x25, 0x64, 0x24, 0xe1, 0x33, 0xd7, 0x32, 0x3b, 0xa6, 0x91,
  3492  	0xec, 0x98, 0x46, 0x87, 0xda, 0x86, 0xee, 0xca, 0x4a, 0x87, 0x6f, 0x6a, 0xa5, 0x7f, 0x95, 0x80,
  3493  	0xb1, 0x8e, 0x3b, 0xcc, 0xff, 0x69, 0x4b, 0xf6, 0x2b, 0x30, 0x22, 0x0e, 0x6b, 0x07, 0x71, 0x60,
  3494  	0x92, 0xe4, 0x0e, 0x25, 0xf9, 0xef, 0x49, 0x98, 0x8f, 0x62, 0x01, 0x1f, 0xe9, 0x81, 0xeb, 0x1e,
  3495  	0x6f, 0x61, 0x1f, 0x99, 0xc8, 0x47, 0xea, 0x97, 0x61, 0xf6, 0x04, 0x39, 0x6c, 0xdd, 0xe8, 0x16,
  3496  	0x73, 0x09, 0xf2, 0x7a, 0x4b, 0x5c, 0x28, 0x8b, 0x30, 0x31, 0x2d, 0x3b, 0x44, 0x2e, 0x43, 0xdc,
  3497  	0x25, 0x7f, 0x08, 0x0f, 0x3c, 0x6c, 0xb6, 0x0c, 0x2c, 0x2e, 0x78, 0xba, 0xc9, 0x13, 0x9c, 0x7c,
  3498  	0x56, 0x74, 0xda, 0x71, 0xac, 0xb3, 0x4e, 0x84, 0x06, 0x2c, 0xa0, 0xa3, 0x23, 0x0f, 0x1f, 0xb1,
  3499  	0xad, 0x5e, 0x1c, 0x2b, 0x74, 0xfe, 0x03, 0xac, 0xfe, 0xf9, 0x10, 0x4a, 0x0b, 0x19, 0x06, 0xc9,
  3500  	0x84, 0x8a, 0x60, 0x2e, 0xe2, 0x14, 0x4c, 0xf8, 0x26, 0x21, 0xa6, 0x18, 0xc2, 0x7c, 0x2c, 0x50,
  3501  	0x42, 0x16, 0xeb, 0xb0, 0x18, 0x00, 0x1b, 0xae, 0x63, 0x12, 0x91, 0x76, 0xb4, 0x09, 0x44, 0x1c,
  3502  	0xff, 0xdd, 0x97, 0xdd, 0xd6, 0xa2, 0x5e, 0x31, 0x99, 0x6c, 0xc2, 0xc3, 0xb8, 0x24, 0xae, 0x82,
  3503  	0x1a, 0xe1, 0x50, 0x8b, 0x91, 0x6c, 0x2f, 0x45, 0x2b, 0xff, 0xb9, 0x02, 0x63, 0x1d, 0xea, 0x8f,
  3504  	0xe2, 0xb2, 0x72, 0xab, 0xb8, 0x9c, 0xb8, 0x49, 0x5c, 0x2e, 0x43, 0x96, 0xd0, 0x48, 0x3f, 0x5c,
  3505  	0xbf, 0x29, 0xad, 0xad, 0x2e, 0x88, 0xdd, 0x43, 0x51, 0xec, 0x7e, 0x05, 0x13, 0x1d, 0x93, 0xa8,
  3506  	0x32, 0xdb, 0xad, 0xc0, 0x30, 0x17, 0x89, 0xf4, 0xb1, 0x6f, 0xf5, 0x5a, 0xa3, 0x1d, 0xf4, 0x9a,
  3507  	0xa0, 0xec, 0xf0, 0x8b, 0x89, 0x4e, 0xf7, 0xfe, 0xeb, 0x49, 0x98, 0x8c, 0xfc, 0xd0, 0x4f, 0x75,
  3508  	0xcc, 0x8c, 0xfc, 0x4d, 0x72, 0x70, 0x7f, 0x13, 0x0f, 0xb8, 0x43, 0x77, 0x12, 0x70, 0x87, 0xef,
  3509  	0x26, 0xe0, 0x8e, 0x74, 0x6a, 0xe4, 0x37, 0x93, 0x30, 0xd5, 0x79, 0x5a, 0xf0, 0xbf, 0x52, 0x25,
  3510  	0x55, 0xc8, 0xc8, 0xcb, 0x3e, 0x1e, 0xf8, 0x07, 0xd0, 0x0a, 0x08, 0x3a, 0x1e, 0xf7, 0xff, 0xcb,
  3511  	0xf4, 0xf2, 0x17, 0x09, 0x48, 0xed, 0xb2, 0x8d, 0x11, 0x71, 0x1d, 0x75, 0x1a, 0x46, 0x08, 0xdd,
  3512  	0x74, 0xe5, 0x89, 0x54, 0x4a, 0x93, 0xa5, 0xdb, 0xbb, 0x8f, 0x2a, 0x64, 0xb0, 0xe3, 0x7b, 0x67,
  3513  	0xfa, 0xc0, 0x1b, 0x0b, 0xe0, 0x74, 0x62, 0x2a, 0xb7, 0x0a, 0xcd, 0xdf, 0x82, 0x62, 0xf7, 0xc9,
  3514  	0x9b, 0xce, 0xd1, 0x07, 0x39, 0x4a, 0x98, 0xee, 0x3a, 0x7f, 0x5b, 0x67, 0x10, 0xe5, 0x1a, 0x4c,
  3515  	0xc6, 0x8c, 0xba, 0xe6, 0x98, 0xc4, 0x40, 0xbe, 0x7b, 0x4d, 0xf6, 0x33, 0x09, 0xc3, 0x84, 0xae,
  3516  	0xb6, 0x84, 0x50, 0x53, 0x9a, 0x28, 0x94, 0xff, 0x3a, 0x01, 0x29, 0xbe, 0xf9, 0xdb, 0x74, 0xdb,
  3517  	0x45, 0xaf, 0xdc, 0x44, 0xf4, 0x61, 0xd4, 0x48, 0x0c, 0x1c, 0x35, 0xba, 0xb6, 0x94, 0x22, 0xff,
  3518  	0x6c, 0xdf, 0x52, 0xbe, 0x07, 0xc9, 0x43, 0x3c, 0x90, 0xf7, 0x61, 0xfd, 0xaf, 0xc9, 0xcf, 0xd5,
  3519  	0xf7, 0x61, 0xaa, 0x6d, 0xa3, 0xaa, 0x23, 0xd3, 0xf4, 0x30, 0xa5, 0xc2, 0x80, 0xf9, 0xc2, 0x57,
  3520  	0xb4, 0x89, 0xf8, 0xb6, 0xb5, 0x22, 0x3a, 0x04, 0x51, 0x68, 0x34, 0x8a, 0x42, 0xbf, 0x9d, 0x80,
  3521  	0x5c, 0x60, 0xe2, 0x55, 0x6c, 0xf9, 0x48, 0x9d, 0x81, 0x51, 0x42, 0x75, 0xab, 0xdb, 0xd0, 0x35,
  3522  	0x50, 0xf1, 0x29, 0x36, 0x5a, 0xfc, 0x28, 0xff, 0x26, 0x26, 0x3f, 0x1e, 0x92, 0x87, 0xf9, 0xc5,
  3523  	0x36, 0x14, 0x22, 0xcc, 0xc1, 0xfd, 0xca, 0x58, 0x48, 0x2c, 0xee, 0xff, 0xd5, 0x4d, 0x88, 0xaa,
  3524  	0xba, 0x76, 0x49, 0xd7, 0xc2, 0xe5, 0x43, 0x5a, 0x91, 0x67, 0xfe, 0x6e, 0x12, 0xd4, 0xd8, 0xeb,
  3525  	0xd8, 0xc0, 0xec, 0x2e, 0x3d, 0x4d, 0xe8, 0x54, 0xfd, 0x2e, 0xe4, 0x9b, 0x52, 0xae, 0xba, 0xc9,
  3526  	0x04, 0x2b, 0x13, 0xf8, 0x37, 0x7b, 0x79, 0xdc, 0x36, 0x4d, 0x68, 0xb9, 0x66, 0x9b, 0x62, 0xbe,
  3527  	0x02, 0x23, 0x4d, 0x74, 0xe6, 0xb6, 0xfc, 0x81, 0x3c, 0xaf, 0x20, 0xf9, 0xe9, 0xb7, 0x44, 0x36,
  3528  	0xc2, 0xa6, 0x63, 0x0d, 0xf2, 0xb4, 0x84, 0xf5, 0x2f, 0xff, 0x3c, 0xa8, 0x51, 0x1a, 0x14, 0x3a,
  3529  	0xeb, 0x0f, 0x21, 0x15, 0x08, 0x4f, 0x46, 0xcd, 0xd7, 0xfb, 0x91, 0xbb, 0x16, 0x52, 0x75, 0x2b,
  3530  	0x39, 0xd1, 0xad, 0xe4, 0xf2, 0x2b, 0x18, 0x8f, 0x98, 0x07, 0x87, 0x68, 0x7d, 0x99, 0xc7, 0x57,
  3531  	0x61, 0xd4, 0x14, 0xfd, 0xa5, 0x5d, 0x3c, 0xec, 0x35, 0x3e, 0x09, 0xad, 0x05, 0x34, 0xe5, 0x26,
  3532  	0xe4, 0x64, 0xdd, 0x7e, 0xd3, 0x44, 0x3e, 0x3f, 0x05, 0x13, 0x07, 0xcd, 0xc2, 0x8d, 0x8a, 0x82,
  3533  	0x5a, 0x83, 0x94, 0xa4, 0xa0, 0xc5, 0x44, 0x29, 0xb9, 0x94, 0x79, 0xf7, 0x9d, 0xfe, 0xf2, 0xc9,
  3534  	0x80, 0x61, 0x48, 0x5e, 0xfe, 0x81, 0x02, 0x85, 0x5d, 0x97, 0x38, 0x3e, 0x8d, 0x3d, 0xda, 0xfa,
  3535  	0x26, 0xcc, 0x88, 0x33, 0xec, 0x26, 0x6f, 0x89, 0x3f, 0xd0, 0x1a, 0xc0, 0x1f, 0x4f, 0x71, 0x8c,
  3536  	0xcb, 0xc0, 0xfd, 0x2b, 0xc0, 0x07, 0x70, 0x3a, 0x53, 0xfe, 0x65, 0xe0, 0xe5, 0xff, 0x48, 0xc0,
  3537  	0xc2, 0x5e, 0xfc, 0x5d, 0xee, 0x1a, 0xb2, 0x9b, 0x88, 0x1c, 0x39, 0xab, 0xae, 0x4b, 0xc5, 0x05,
  3538  	0xcd, 0x7b, 0x30, 0x73, 0xc0, 0x0a, 0xd8, 0xd4, 0xdb, 0x3e, 0xc3, 0x30, 0x69, 0x51, 0xe1, 0x4f,
  3539  	0xe8, 0x26, 0x65, 0x73, 0x74, 0x56, 0x52, 0x33, 0xa9, 0xfa, 0x02, 0x66, 0xe2, 0xdd, 0xa3, 0x51,
  3540  	0x07, 0x2a, 0x78, 0xbb, 0xb7, 0x25, 0xb6, 0x0f, 0x54, 0xa6, 0x71, 0x53, 0xd1, 0x07, 0x1c, 0x51,
  3541  	0x1b, 0x55, 0x2b, 0xf0, 0x20, 0x18, 0xe2, 0x25, 0x9f, 0x70, 0x98, 0xb4, 0x98, 0xe4, 0x03, 0x9d,
  3542  	0x93, 0x9d, 0x3a, 0x73, 0x4c, 0x36, 0xdc, 0x13, 0x78, 0xd0, 0x4d, 0x1a, 0x1f, 0xf4, 0xd0, 0x8d,
  3543  	0x07, 0x3d, 0xdf, 0xf9, 0x21, 0x48, 0x6c, 0xe8, 0xe5, 0x3f, 0x55, 0x40, 0x0d, 0x64, 0x2e, 0x34,
  3544  	0xb0, 0xeb, 0x8a, 0x37, 0x2d, 0x9d, 0xb7, 0xcb, 0xe2, 0x46, 0x2a, 0x4f, 0xdb, 0x6f, 0x96, 0x7f,
  3545  	0x01, 0x26, 0xc5, 0x1b, 0x45, 0x01, 0x11, 0x3c, 0xc2, 0x96, 0x32, 0xee, 0xf1, 0x76, 0xf9, 0x8b,
  3546  	0x6c, 0x6c, 0x7f, 0xf8, 0x8f, 0x8b, 0x4b, 0x47, 0xc4, 0x6f, 0xb4, 0x0e, 0x96, 0x0d, 0xd7, 0x5e,
  3547  	0x91, 0x5f, 0xf3, 0x88, 0xff, 0xde, 0xa1, 0xe6, 0xf1, 0x0a, 0xcb, 0x91, 0x29, 0x27, 0xa0, 0x9a,
  3548  	0x6a, 0xa3, 0xd3, 0xf6, 0xa1, 0xd2, 0xf2, 0x1f, 0x24, 0x60, 0xf6, 0x52, 0xfb, 0xe1, 0xa6, 0xf3,
  3549  	0x01, 0xcc, 0x86, 0x03, 0x0b, 0x5e, 0x83, 0x87, 0xcf, 0x38, 0xc5, 0x7c, 0x66, 0x82, 0x0e, 0xc1,
  3550  	0x43, 0xf0, 0xe0, 0xc5, 0xe6, 0x6b, 0x90, 0x8d, 0x5d, 0x1c, 0x89, 0x09, 0xa5, 0xb5, 0x4c, 0x74,
  3551  	0x73, 0x44, 0xd5, 0x16, 0xcc, 0xb6, 0xbf, 0x3d, 0xd7, 0xb9, 0x82, 0xc5, 0x26, 0x21, 0xc9, 0xdd,
  3552  	0xc9, 0x07, 0xbd, 0xf4, 0xd5, 0xdb, 0xf0, 0xb5, 0xe9, 0xb6, 0x07, 0xeb, 0xd1, 0x82, 0xf8, 0x12,
  3553  	0xcc, 0x98, 0x84, 0xbe, 0x6c, 0x21, 0x8b, 0x1c, 0x12, 0x6c, 0xc6, 0xed, 0x6c, 0x88, 0x0f, 0x72,
  3554  	0x2a, 0xde, 0x1c, 0x9a, 0x58, 0xf9, 0xcf, 0x12, 0x30, 0xb1, 0x81, 0x71, 0x95, 0x50, 0x71, 0x76,
  3555  	0x4f, 0xe4, 0x86, 0xa4, 0x0e, 0x13, 0xc2, 0x7b, 0x98, 0xb2, 0x45, 0x5c, 0x34, 0x0d, 0x72, 0xe1,
  3556  	0xcb, 0xe9, 0x03, 0x60, 0x7e, 0xcd, 0x54, 0x87, 0x09, 0xff, 0x12, 0xd0, 0x41, 0xd2, 0x14, 0xbf,
  3557  	0x0b, 0x74, 0x15, 0x72, 0xf2, 0xb3, 0x02, 0x64, 0xf3, 0x93, 0x8a, 0x64, 0x3f, 0xcf, 0x62, 0xb3,
  3558  	0x82, 0xa6, 0xc2, 0x49, 0x58, 0xf8, 0x3e, 0x71, 0xad, 0x96, 0x3d, 0x50, 0x10, 0x96, 0x24, 0xe5,
  3559  	0x5f, 0x6d, 0x17, 0x61, 0xdd, 0x68, 0x60, 0xb3, 0x65, 0xf1, 0x87, 0xa7, 0x07, 0x2d, 0x83, 0x69,
  3560  	0x21, 0x3a, 0xdc, 0x1a, 0xd2, 0x32, 0xa2, 0x4e, 0x9c, 0xbd, 0xbc, 0x01, 0x63, 0xb2, 0x4b, 0xf8,
  3561  	0x5d, 0x82, 0x78, 0xe2, 0x91, 0x17, 0xd5, 0xe1, 0x87, 0x08, 0x9d, 0x86, 0x97, 0xec, 0x36, 0xbc,
  3562  	0x6d, 0x00, 0x9f, 0xc8, 0xdd, 0x68, 0xe0, 0x19, 0x56, 0x7a, 0x59, 0xda, 0x25, 0x6a, 0xd7, 0xd2,
  3563  	0xbe, 0xfc, 0x45, 0x7b, 0x59, 0xd4, 0x70, 0x2f, 0x8b, 0xda, 0x02, 0xb5, 0x03, 0x79, 0x6f, 0x6f,
  3564  	0x53, 0x55, 0x61, 0xc8, 0x0f, 0x42, 0xcf, 0x90, 0xc6, 0x7f, 0xb3, 0x60, 0xec, 0xfb, 0x56, 0xd7,
  3565  	0xf3, 0x96, 0xac, 0xef, 0x5b, 0xd1, 0xf5, 0xf6, 0xef, 0x28, 0x90, 0xfd, 0x98, 0x0b, 0x5a, 0xc3,
  3566  	0x86, 0xeb, 0x99, 0xfc, 0x7a, 0x8e, 0x1b, 0x91, 0xd4, 0x98, 0x32, 0xc8, 0xf5, 0x1c, 0x23, 0x14,
  3567  	0x68, 0x0c, 0xc7, 0x8f, 0xe3, 0x0c, 0x72, 0xd2, 0xed, 0x47, 0x38, 0xe5, 0xdf, 0x50, 0x20, 0x5f,
  3568  	0x11, 0x91, 0x59, 0x3a, 0x20, 0xb5, 0x08, 0xa3, 0x32, 0x56, 0xcb, 0x90, 0x1f, 0x14, 0x55, 0x0c,
  3569  	0xa3, 0x3f, 0x41, 0x67, 0x18, 0x60, 0x97, 0x7f, 0x49, 0x81, 0x2c, 0x4f, 0x89, 0x85, 0xcc, 0x68,
  3570  	0xef, 0xdd, 0xdc, 0x73, 0x98, 0xb4, 0x90, 0x8f, 0xa9, 0xaf, 0x33, 0xe7, 0xc2, 0x53, 0x46, 0x37,
  3571  	0x1a, 0xe1, 0x1b, 0xd7, 0x79, 0x2b, 0xc9, 0x44, 0x53, 0x05, 0x48, 0x9c, 0x6f, 0xf9, 0x4b, 0x90,
  3572  	0x8b, 0x12, 0x97, 0x5a, 0x95, 0xaa, 0x8f, 0x20, 0xdf, 0x96, 0x80, 0x89, 0x78, 0x9d, 0xd5, 0x72,
  3573  	0xf1, 0x0c, 0x8c, 0x96, 0x7f, 0x5f, 0x81, 0x4c, 0x0c, 0x48, 0xbd, 0x0f, 0xe9, 0xce, 0xa0, 0x13,
  3574  	0x55, 0xdc, 0x66, 0xab, 0x18, 0xdf, 0xa6, 0x26, 0x6f, 0xb0, 0x4d, 0x2d, 0xdb, 0x30, 0x2c, 0x3e,
  3575  	0x64, 0x79, 0x02, 0x4a, 0x73, 0x10, 0x63, 0x54, 0x9a, 0x8c, 0xe4, 0xe5, 0x20, 0x63, 0x56, 0x5e,
  3576  	0x96, 0x7f, 0x4b, 0x81, 0xc5, 0x4a, 0x70, 0x22, 0x1c, 0x89, 0xb6, 0x6d, 0x85, 0xf4, 0x75, 0xa3,
  3577  	0xba, 0x03, 0x79, 0x69, 0x11, 0xc2, 0xfe, 0x03, 0x75, 0xf7, 0x71, 0xbb, 0x2f, 0x99, 0xe5, 0xec,
  3578  	0x58, 0x89, 0x96, 0xbf, 0xa3, 0xc0, 0xfd, 0x70, 0x64, 0x95, 0x4b, 0x86, 0x75, 0xf5, 0xaa, 0xb8,
  3579  	0xf3, 0xb1, 0x50, 0xc8, 0xc6, 0x9b, 0x7b, 0x9b, 0xff, 0x46, 0xe8, 0xfc, 0x45, 0xb6, 0xdf, 0x93,
  3580  	0x6b, 0x7c, 0x46, 0x32, 0x95, 0x0a, 0xe2, 0x40, 0x85, 0xe5, 0xfd, 0x8e, 0x6b, 0x57, 0xb1, 0x41,
  3581  	0x6c, 0x64, 0xd1, 0x2b, 0xf2, 0xfe, 0x39, 0x96, 0xf7, 0x8b, 0x1e, 0x9c, 0xe1, 0x90, 0x16, 0x96,
  3582  	0xcb, 0x18, 0xd4, 0xa7, 0x1e, 0x72, 0xfc, 0x4a, 0xcb, 0x6f, 0xb8, 0x1e, 0xf9, 0x44, 0x38, 0xff,
  3583  	0x22, 0x8c, 0x1e, 0xb1, 0x5a, 0xf9, 0x4d, 0x71, 0x5a, 0x0b, 0x8a, 0xea, 0x7b, 0x30, 0x22, 0x83,
  3584  	0x5e, 0xa2, 0x9f, 0xa0, 0x27, 0x3b, 0x97, 0xbf, 0x0d, 0x99, 0x0a, 0x9f, 0x1f, 0x67, 0x16, 0xe1,
  3585  	0x7b, 0xed, 0xf8, 0xde, 0x4d, 0xf1, 0xbf, 0xab, 0x40, 0x7e, 0xfd, 0xf0, 0x10, 0xf7, 0xc5, 0xa3,
  3586  	0x06, 0xe3, 0x0e, 0xf6, 0x75, 0x51, 0x94, 0x9f, 0x08, 0xf6, 0xc7, 0x6e, 0xcc, 0xc1, 0xfe, 0x53,
  3587  	0x41, 0xc6, 0x3f, 0x06, 0x54, 0x67, 0x21, 0x45, 0xa8, 0x7e, 0x82, 0x2c, 0x79, 0xe4, 0x93, 0xd2,
  3588  	0x46, 0x09, 0xfd, 0x98, 0x15, 0x1f, 0xfb, 0x70, 0xbf, 0xd7, 0x47, 0x6a, 0x2a, 0xc0, 0xc8, 0xb6,
  3589  	0x7b, 0xe0, 0x9a, 0x67, 0x85, 0x7b, 0x6a, 0x19, 0x16, 0x56, 0xf1, 0x11, 0x71, 0x56, 0x2d, 0xd7,
  3590  	0x38, 0xc6, 0x5e, 0xdd, 0x46, 0x9e, 0xbf, 0xe6, 0x3a, 0xbe, 0x87, 0x0c, 0x9f, 0xee, 0x38, 0xd6,
  3591  	0x59, 0x41, 0x51, 0xa7, 0x41, 0xbd, 0xa4, 0x3e, 0xa1, 0x66, 0x21, 0xb5, 0x7e, 0x82, 0xbd, 0x33,
  3592  	0xd7, 0xc1, 0x85, 0xe4, 0xe3, 0xbd, 0xc0, 0x0e, 0xc5, 0x83, 0x18, 0x75, 0x0c, 0x32, 0xfb, 0x0e,
  3593  	0x6d, 0x62, 0x83, 0xc7, 0xcc, 0xc2, 0x3d, 0xc6, 0x56, 0x68, 0xa2, 0xa0, 0xb0, 0xdf, 0xbb, 0xa8,
  3594  	0x45, 0xb1, 0x59, 0x48, 0xa8, 0x79, 0x80, 0x2a, 0xb6, 0x5d, 0x8b, 0xd0, 0x06, 0x36, 0x0b, 0x49,
  3595  	0x35, 0x03, 0xa3, 0xfc, 0x21, 0x29, 0x36, 0x0b, 0x43, 0x8f, 0xff, 0x24, 0x21, 0xdf, 0x4f, 0xf0,
  3596  	0x43, 0xdf, 0x12, 0x64, 0xf6, 0xb7, 0xeb, 0xbb, 0xeb, 0x6b, 0xb5, 0x8d, 0xda, 0x7a, 0xb5, 0x70,
  3597  	0x6f, 0x6e, 0xec, 0xfc, 0xa2, 0x14, 0xaf, 0x62, 0xfb, 0xf9, 0xd5, 0xfd, 0xe7, 0x05, 0x65, 0x6e,
  3598  	0xf4, 0xfc, 0xa2, 0xc4, 0x7e, 0xb2, 0x68, 0x5c, 0x5f, 0xdf, 0xdc, 0x2c, 0x24, 0xe6, 0x52, 0xe7,
  3599  	0x17, 0x25, 0xfe, 0x9b, 0xd9, 0x65, 0x7d, 0x6f, 0x67, 0x57, 0x67, 0x5d, 0x93, 0x73, 0xd9, 0xf3,
  3600  	0x8b, 0x52, 0x58, 0x66, 0xee, 0x97, 0xff, 0xe6, 0x44, 0x43, 0x73, 0xb9, 0xf3, 0x8b, 0x52, 0x54,
  3601  	0xc1, 0x28, 0xf7, 0x2a, 0x1f, 0xad, 0x73, 0xca, 0x61, 0x41, 0x19, 0x94, 0x19, 0x25, 0xff, 0xcd,
  3602  	0x29, 0x47, 0x04, 0x65, 0x58, 0xa1, 0x4e, 0xc3, 0xc8, 0xea, 0xfe, 0x73, 0x7d, 0x77, 0xa7, 0x30,
  3603  	0x3a, 0x07, 0xe7, 0x17, 0x25, 0x59, 0x62, 0xd6, 0xc2, 0xda, 0x59, 0x43, 0x6a, 0x2e, 0x73, 0x7e,
  3604  	0x51, 0x0a, 0x8a, 0xea, 0x02, 0x00, 0xeb, 0x53, 0xd9, 0xdb, 0xd9, 0xaa, 0xad, 0x15, 0xd2, 0x73,
  3605  	0xf9, 0xf3, 0x8b, 0x52, 0xac, 0x86, 0x49, 0x83, 0x77, 0x95, 0x1d, 0x40, 0x48, 0x23, 0x56, 0xf5,
  3606  	0xf8, 0x8f, 0x14, 0xc8, 0xad, 0x07, 0x67, 0x49, 0x5c, 0x82, 0xf7, 0xa1, 0x18, 0xd3, 0x4a, 0x5b,
  3607  	0x9b, 0x50, 0x91, 0xd0, 0x61, 0x41, 0x51, 0x73, 0x90, 0xe6, 0x77, 0x32, 0x1b, 0xc4, 0xb2, 0x0a,
  3608  	0x09, 0x75, 0x0e, 0xa6, 0x79, 0x71, 0x0b, 0xf9, 0x46, 0x43, 0x13, 0xdf, 0x8e, 0x72, 0xc5, 0x14,
  3609  	0x92, 0xcc, 0x40, 0xa2, 0xb6, 0x6d, 0xfc, 0x4a, 0xd4, 0x0f, 0xa9, 0x53, 0x30, 0x2e, 0x3f, 0x5d,
  3610  	0x93, 0xdf, 0x83, 0x12, 0xd7, 0x29, 0x0c, 0x33, 0x28, 0xf1, 0x52, 0xb8, 0xf3, 0x3d, 0x62, 0x61,
  3611  	0xe4, 0xf1, 0x77, 0x02, 0x7d, 0x6f, 0x21, 0x7a, 0xcc, 0x64, 0xb6, 0xbf, 0xbd, 0x5f, 0xe7, 0xaa,
  3612  	0xe6, 0x32, 0x13, 0x25, 0xa6, 0xe5, 0xca, 0x76, 0xa8, 0xe5, 0xca, 0xf6, 0x73, 0x26, 0x45, 0x6d,
  3613  	0xfd, 0xe9, 0xfe, 0x66, 0x45, 0x2b, 0x24, 0x84, 0x14, 0x65, 0x91, 0x49, 0x69, 0x6d, 0x67, 0xbb,
  3614  	0x5a, 0xdb, 0xab, 0xed, 0x6c, 0x57, 0x98, 0x46, 0xb9, 0x94, 0x62, 0x55, 0xea, 0x32, 0xcc, 0x54,
  3615  	0x6b, 0xda, 0xfa, 0x1a, 0x2b, 0x32, 0x45, 0xea, 0x3b, 0x9a, 0xfe, 0xac, 0xf6, 0xf4, 0xd9, 0xba,
  3616  	0x56, 0x48, 0xcd, 0x8d, 0x9f, 0x5f, 0x94, 0x72, 0x6d, 0x95, 0xed, 0xfd, 0xb9, 0xb8, 0x77, 0x34,
  3617  	0x7d, 0x73, 0xe7, 0x67, 0xd7, 0xb5, 0x42, 0x41, 0xf4, 0x6f, 0xab, 0x54, 0xe7, 0x21, 0xb3, 0xf7,
  3618  	0x7c, 0x77, 0x5d, 0xdf, 0xaa, 0x68, 0x1f, 0xad, 0xef, 0x15, 0x4a, 0x62, 0x2a, 0xa2, 0xa4, 0xce,
  3619  	0x02, 0xf0, 0xc6, 0xcd, 0xda, 0x56, 0x6d, 0xaf, 0xf0, 0xe1, 0x5c, 0xfa, 0xfc, 0xa2, 0x34, 0xcc,
  3620  	0x0b, 0xab, 0x8d, 0xef, 0x7f, 0xb6, 0xa0, 0xfc, 0xf0, 0xb3, 0x05, 0xe5, 0x9f, 0x3e, 0x5b, 0x50,
  3621  	0xbe, 0xfb, 0xf9, 0xc2, 0xbd, 0x1f, 0x7e, 0xbe, 0x70, 0xef, 0xef, 0x3e, 0x5f, 0xb8, 0xf7, 0x8d,
  3622  	0xed, 0x58, 0x9a, 0x54, 0x0b, 0x1c, 0xf8, 0x26, 0x3a, 0xa0, 0x2b, 0xa1, 0x3b, 0x7f, 0xc7, 0x70,
  3623  	0x3d, 0x1c, 0x2f, 0x36, 0x10, 0x71, 0x56, 0x6c, 0x97, 0xa5, 0xeb, 0x34, 0xfa, 0x4b, 0x14, 0x3c,
  3624  	0xa5, 0x3a, 0x18, 0xe1, 0xdf, 0x3f, 0xfe, 0xbf, 0xff, 0x0c, 0x00, 0x00, 0xff, 0xff, 0x35, 0xcc,
  3625  	0x95, 0x72, 0xac, 0x42, 0x00, 0x00,
  3626  }
  3627  
  3628  func (this *Params) Equal(that interface{}) bool {
  3629  	if that == nil {
  3630  		return this == nil
  3631  	}
  3632  
  3633  	that1, ok := that.(*Params)
  3634  	if !ok {
  3635  		that2, ok := that.(Params)
  3636  		if ok {
  3637  			that1 = &that2
  3638  		} else {
  3639  			return false
  3640  		}
  3641  	}
  3642  	if that1 == nil {
  3643  		return this == nil
  3644  	} else if this == nil {
  3645  		return false
  3646  	}
  3647  	if !this.SpotMarketInstantListingFee.Equal(&that1.SpotMarketInstantListingFee) {
  3648  		return false
  3649  	}
  3650  	if !this.DerivativeMarketInstantListingFee.Equal(&that1.DerivativeMarketInstantListingFee) {
  3651  		return false
  3652  	}
  3653  	if !this.DefaultSpotMakerFeeRate.Equal(that1.DefaultSpotMakerFeeRate) {
  3654  		return false
  3655  	}
  3656  	if !this.DefaultSpotTakerFeeRate.Equal(that1.DefaultSpotTakerFeeRate) {
  3657  		return false
  3658  	}
  3659  	if !this.DefaultDerivativeMakerFeeRate.Equal(that1.DefaultDerivativeMakerFeeRate) {
  3660  		return false
  3661  	}
  3662  	if !this.DefaultDerivativeTakerFeeRate.Equal(that1.DefaultDerivativeTakerFeeRate) {
  3663  		return false
  3664  	}
  3665  	if !this.DefaultInitialMarginRatio.Equal(that1.DefaultInitialMarginRatio) {
  3666  		return false
  3667  	}
  3668  	if !this.DefaultMaintenanceMarginRatio.Equal(that1.DefaultMaintenanceMarginRatio) {
  3669  		return false
  3670  	}
  3671  	if this.DefaultFundingInterval != that1.DefaultFundingInterval {
  3672  		return false
  3673  	}
  3674  	if this.FundingMultiple != that1.FundingMultiple {
  3675  		return false
  3676  	}
  3677  	if !this.RelayerFeeShareRate.Equal(that1.RelayerFeeShareRate) {
  3678  		return false
  3679  	}
  3680  	if !this.DefaultHourlyFundingRateCap.Equal(that1.DefaultHourlyFundingRateCap) {
  3681  		return false
  3682  	}
  3683  	if !this.DefaultHourlyInterestRate.Equal(that1.DefaultHourlyInterestRate) {
  3684  		return false
  3685  	}
  3686  	if this.MaxDerivativeOrderSideCount != that1.MaxDerivativeOrderSideCount {
  3687  		return false
  3688  	}
  3689  	if !this.InjRewardStakedRequirementThreshold.Equal(that1.InjRewardStakedRequirementThreshold) {
  3690  		return false
  3691  	}
  3692  	if this.TradingRewardsVestingDuration != that1.TradingRewardsVestingDuration {
  3693  		return false
  3694  	}
  3695  	if !this.LiquidatorRewardShareRate.Equal(that1.LiquidatorRewardShareRate) {
  3696  		return false
  3697  	}
  3698  	if !this.BinaryOptionsMarketInstantListingFee.Equal(&that1.BinaryOptionsMarketInstantListingFee) {
  3699  		return false
  3700  	}
  3701  	if this.AtomicMarketOrderAccessLevel != that1.AtomicMarketOrderAccessLevel {
  3702  		return false
  3703  	}
  3704  	if !this.SpotAtomicMarketOrderFeeMultiplier.Equal(that1.SpotAtomicMarketOrderFeeMultiplier) {
  3705  		return false
  3706  	}
  3707  	if !this.DerivativeAtomicMarketOrderFeeMultiplier.Equal(that1.DerivativeAtomicMarketOrderFeeMultiplier) {
  3708  		return false
  3709  	}
  3710  	if !this.BinaryOptionsAtomicMarketOrderFeeMultiplier.Equal(that1.BinaryOptionsAtomicMarketOrderFeeMultiplier) {
  3711  		return false
  3712  	}
  3713  	if !this.MinimalProtocolFeeRate.Equal(that1.MinimalProtocolFeeRate) {
  3714  		return false
  3715  	}
  3716  	if this.IsInstantDerivativeMarketLaunchEnabled != that1.IsInstantDerivativeMarketLaunchEnabled {
  3717  		return false
  3718  	}
  3719  	if this.PostOnlyModeHeightThreshold != that1.PostOnlyModeHeightThreshold {
  3720  		return false
  3721  	}
  3722  	if this.MarginDecreasePriceTimestampThresholdSeconds != that1.MarginDecreasePriceTimestampThresholdSeconds {
  3723  		return false
  3724  	}
  3725  	if len(this.ExchangeAdmins) != len(that1.ExchangeAdmins) {
  3726  		return false
  3727  	}
  3728  	for i := range this.ExchangeAdmins {
  3729  		if this.ExchangeAdmins[i] != that1.ExchangeAdmins[i] {
  3730  			return false
  3731  		}
  3732  	}
  3733  	if !this.InjAuctionMaxCap.Equal(that1.InjAuctionMaxCap) {
  3734  		return false
  3735  	}
  3736  	return true
  3737  }
  3738  func (m *Params) Marshal() (dAtA []byte, err error) {
  3739  	size := m.Size()
  3740  	dAtA = make([]byte, size)
  3741  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  3742  	if err != nil {
  3743  		return nil, err
  3744  	}
  3745  	return dAtA[:n], nil
  3746  }
  3747  
  3748  func (m *Params) MarshalTo(dAtA []byte) (int, error) {
  3749  	size := m.Size()
  3750  	return m.MarshalToSizedBuffer(dAtA[:size])
  3751  }
  3752  
  3753  func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3754  	i := len(dAtA)
  3755  	_ = i
  3756  	var l int
  3757  	_ = l
  3758  	{
  3759  		size := m.InjAuctionMaxCap.Size()
  3760  		i -= size
  3761  		if _, err := m.InjAuctionMaxCap.MarshalTo(dAtA[i:]); err != nil {
  3762  			return 0, err
  3763  		}
  3764  		i = encodeVarintExchange(dAtA, i, uint64(size))
  3765  	}
  3766  	i--
  3767  	dAtA[i] = 0x1
  3768  	i--
  3769  	dAtA[i] = 0xe2
  3770  	if len(m.ExchangeAdmins) > 0 {
  3771  		for iNdEx := len(m.ExchangeAdmins) - 1; iNdEx >= 0; iNdEx-- {
  3772  			i -= len(m.ExchangeAdmins[iNdEx])
  3773  			copy(dAtA[i:], m.ExchangeAdmins[iNdEx])
  3774  			i = encodeVarintExchange(dAtA, i, uint64(len(m.ExchangeAdmins[iNdEx])))
  3775  			i--
  3776  			dAtA[i] = 0x1
  3777  			i--
  3778  			dAtA[i] = 0xda
  3779  		}
  3780  	}
  3781  	if m.MarginDecreasePriceTimestampThresholdSeconds != 0 {
  3782  		i = encodeVarintExchange(dAtA, i, uint64(m.MarginDecreasePriceTimestampThresholdSeconds))
  3783  		i--
  3784  		dAtA[i] = 0x1
  3785  		i--
  3786  		dAtA[i] = 0xd0
  3787  	}
  3788  	if m.PostOnlyModeHeightThreshold != 0 {
  3789  		i = encodeVarintExchange(dAtA, i, uint64(m.PostOnlyModeHeightThreshold))
  3790  		i--
  3791  		dAtA[i] = 0x1
  3792  		i--
  3793  		dAtA[i] = 0xc8
  3794  	}
  3795  	if m.IsInstantDerivativeMarketLaunchEnabled {
  3796  		i--
  3797  		if m.IsInstantDerivativeMarketLaunchEnabled {
  3798  			dAtA[i] = 1
  3799  		} else {
  3800  			dAtA[i] = 0
  3801  		}
  3802  		i--
  3803  		dAtA[i] = 0x1
  3804  		i--
  3805  		dAtA[i] = 0xc0
  3806  	}
  3807  	{
  3808  		size := m.MinimalProtocolFeeRate.Size()
  3809  		i -= size
  3810  		if _, err := m.MinimalProtocolFeeRate.MarshalTo(dAtA[i:]); err != nil {
  3811  			return 0, err
  3812  		}
  3813  		i = encodeVarintExchange(dAtA, i, uint64(size))
  3814  	}
  3815  	i--
  3816  	dAtA[i] = 0x1
  3817  	i--
  3818  	dAtA[i] = 0xba
  3819  	{
  3820  		size := m.BinaryOptionsAtomicMarketOrderFeeMultiplier.Size()
  3821  		i -= size
  3822  		if _, err := m.BinaryOptionsAtomicMarketOrderFeeMultiplier.MarshalTo(dAtA[i:]); err != nil {
  3823  			return 0, err
  3824  		}
  3825  		i = encodeVarintExchange(dAtA, i, uint64(size))
  3826  	}
  3827  	i--
  3828  	dAtA[i] = 0x1
  3829  	i--
  3830  	dAtA[i] = 0xb2
  3831  	{
  3832  		size := m.DerivativeAtomicMarketOrderFeeMultiplier.Size()
  3833  		i -= size
  3834  		if _, err := m.DerivativeAtomicMarketOrderFeeMultiplier.MarshalTo(dAtA[i:]); err != nil {
  3835  			return 0, err
  3836  		}
  3837  		i = encodeVarintExchange(dAtA, i, uint64(size))
  3838  	}
  3839  	i--
  3840  	dAtA[i] = 0x1
  3841  	i--
  3842  	dAtA[i] = 0xaa
  3843  	{
  3844  		size := m.SpotAtomicMarketOrderFeeMultiplier.Size()
  3845  		i -= size
  3846  		if _, err := m.SpotAtomicMarketOrderFeeMultiplier.MarshalTo(dAtA[i:]); err != nil {
  3847  			return 0, err
  3848  		}
  3849  		i = encodeVarintExchange(dAtA, i, uint64(size))
  3850  	}
  3851  	i--
  3852  	dAtA[i] = 0x1
  3853  	i--
  3854  	dAtA[i] = 0xa2
  3855  	if m.AtomicMarketOrderAccessLevel != 0 {
  3856  		i = encodeVarintExchange(dAtA, i, uint64(m.AtomicMarketOrderAccessLevel))
  3857  		i--
  3858  		dAtA[i] = 0x1
  3859  		i--
  3860  		dAtA[i] = 0x98
  3861  	}
  3862  	{
  3863  		size, err := m.BinaryOptionsMarketInstantListingFee.MarshalToSizedBuffer(dAtA[:i])
  3864  		if err != nil {
  3865  			return 0, err
  3866  		}
  3867  		i -= size
  3868  		i = encodeVarintExchange(dAtA, i, uint64(size))
  3869  	}
  3870  	i--
  3871  	dAtA[i] = 0x1
  3872  	i--
  3873  	dAtA[i] = 0x92
  3874  	{
  3875  		size := m.LiquidatorRewardShareRate.Size()
  3876  		i -= size
  3877  		if _, err := m.LiquidatorRewardShareRate.MarshalTo(dAtA[i:]); err != nil {
  3878  			return 0, err
  3879  		}
  3880  		i = encodeVarintExchange(dAtA, i, uint64(size))
  3881  	}
  3882  	i--
  3883  	dAtA[i] = 0x1
  3884  	i--
  3885  	dAtA[i] = 0x8a
  3886  	if m.TradingRewardsVestingDuration != 0 {
  3887  		i = encodeVarintExchange(dAtA, i, uint64(m.TradingRewardsVestingDuration))
  3888  		i--
  3889  		dAtA[i] = 0x1
  3890  		i--
  3891  		dAtA[i] = 0x80
  3892  	}
  3893  	{
  3894  		size := m.InjRewardStakedRequirementThreshold.Size()
  3895  		i -= size
  3896  		if _, err := m.InjRewardStakedRequirementThreshold.MarshalTo(dAtA[i:]); err != nil {
  3897  			return 0, err
  3898  		}
  3899  		i = encodeVarintExchange(dAtA, i, uint64(size))
  3900  	}
  3901  	i--
  3902  	dAtA[i] = 0x7a
  3903  	if m.MaxDerivativeOrderSideCount != 0 {
  3904  		i = encodeVarintExchange(dAtA, i, uint64(m.MaxDerivativeOrderSideCount))
  3905  		i--
  3906  		dAtA[i] = 0x70
  3907  	}
  3908  	{
  3909  		size := m.DefaultHourlyInterestRate.Size()
  3910  		i -= size
  3911  		if _, err := m.DefaultHourlyInterestRate.MarshalTo(dAtA[i:]); err != nil {
  3912  			return 0, err
  3913  		}
  3914  		i = encodeVarintExchange(dAtA, i, uint64(size))
  3915  	}
  3916  	i--
  3917  	dAtA[i] = 0x6a
  3918  	{
  3919  		size := m.DefaultHourlyFundingRateCap.Size()
  3920  		i -= size
  3921  		if _, err := m.DefaultHourlyFundingRateCap.MarshalTo(dAtA[i:]); err != nil {
  3922  			return 0, err
  3923  		}
  3924  		i = encodeVarintExchange(dAtA, i, uint64(size))
  3925  	}
  3926  	i--
  3927  	dAtA[i] = 0x62
  3928  	{
  3929  		size := m.RelayerFeeShareRate.Size()
  3930  		i -= size
  3931  		if _, err := m.RelayerFeeShareRate.MarshalTo(dAtA[i:]); err != nil {
  3932  			return 0, err
  3933  		}
  3934  		i = encodeVarintExchange(dAtA, i, uint64(size))
  3935  	}
  3936  	i--
  3937  	dAtA[i] = 0x5a
  3938  	if m.FundingMultiple != 0 {
  3939  		i = encodeVarintExchange(dAtA, i, uint64(m.FundingMultiple))
  3940  		i--
  3941  		dAtA[i] = 0x50
  3942  	}
  3943  	if m.DefaultFundingInterval != 0 {
  3944  		i = encodeVarintExchange(dAtA, i, uint64(m.DefaultFundingInterval))
  3945  		i--
  3946  		dAtA[i] = 0x48
  3947  	}
  3948  	{
  3949  		size := m.DefaultMaintenanceMarginRatio.Size()
  3950  		i -= size
  3951  		if _, err := m.DefaultMaintenanceMarginRatio.MarshalTo(dAtA[i:]); err != nil {
  3952  			return 0, err
  3953  		}
  3954  		i = encodeVarintExchange(dAtA, i, uint64(size))
  3955  	}
  3956  	i--
  3957  	dAtA[i] = 0x42
  3958  	{
  3959  		size := m.DefaultInitialMarginRatio.Size()
  3960  		i -= size
  3961  		if _, err := m.DefaultInitialMarginRatio.MarshalTo(dAtA[i:]); err != nil {
  3962  			return 0, err
  3963  		}
  3964  		i = encodeVarintExchange(dAtA, i, uint64(size))
  3965  	}
  3966  	i--
  3967  	dAtA[i] = 0x3a
  3968  	{
  3969  		size := m.DefaultDerivativeTakerFeeRate.Size()
  3970  		i -= size
  3971  		if _, err := m.DefaultDerivativeTakerFeeRate.MarshalTo(dAtA[i:]); err != nil {
  3972  			return 0, err
  3973  		}
  3974  		i = encodeVarintExchange(dAtA, i, uint64(size))
  3975  	}
  3976  	i--
  3977  	dAtA[i] = 0x32
  3978  	{
  3979  		size := m.DefaultDerivativeMakerFeeRate.Size()
  3980  		i -= size
  3981  		if _, err := m.DefaultDerivativeMakerFeeRate.MarshalTo(dAtA[i:]); err != nil {
  3982  			return 0, err
  3983  		}
  3984  		i = encodeVarintExchange(dAtA, i, uint64(size))
  3985  	}
  3986  	i--
  3987  	dAtA[i] = 0x2a
  3988  	{
  3989  		size := m.DefaultSpotTakerFeeRate.Size()
  3990  		i -= size
  3991  		if _, err := m.DefaultSpotTakerFeeRate.MarshalTo(dAtA[i:]); err != nil {
  3992  			return 0, err
  3993  		}
  3994  		i = encodeVarintExchange(dAtA, i, uint64(size))
  3995  	}
  3996  	i--
  3997  	dAtA[i] = 0x22
  3998  	{
  3999  		size := m.DefaultSpotMakerFeeRate.Size()
  4000  		i -= size
  4001  		if _, err := m.DefaultSpotMakerFeeRate.MarshalTo(dAtA[i:]); err != nil {
  4002  			return 0, err
  4003  		}
  4004  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4005  	}
  4006  	i--
  4007  	dAtA[i] = 0x1a
  4008  	{
  4009  		size, err := m.DerivativeMarketInstantListingFee.MarshalToSizedBuffer(dAtA[:i])
  4010  		if err != nil {
  4011  			return 0, err
  4012  		}
  4013  		i -= size
  4014  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4015  	}
  4016  	i--
  4017  	dAtA[i] = 0x12
  4018  	{
  4019  		size, err := m.SpotMarketInstantListingFee.MarshalToSizedBuffer(dAtA[:i])
  4020  		if err != nil {
  4021  			return 0, err
  4022  		}
  4023  		i -= size
  4024  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4025  	}
  4026  	i--
  4027  	dAtA[i] = 0xa
  4028  	return len(dAtA) - i, nil
  4029  }
  4030  
  4031  func (m *MarketFeeMultiplier) Marshal() (dAtA []byte, err error) {
  4032  	size := m.Size()
  4033  	dAtA = make([]byte, size)
  4034  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4035  	if err != nil {
  4036  		return nil, err
  4037  	}
  4038  	return dAtA[:n], nil
  4039  }
  4040  
  4041  func (m *MarketFeeMultiplier) MarshalTo(dAtA []byte) (int, error) {
  4042  	size := m.Size()
  4043  	return m.MarshalToSizedBuffer(dAtA[:size])
  4044  }
  4045  
  4046  func (m *MarketFeeMultiplier) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4047  	i := len(dAtA)
  4048  	_ = i
  4049  	var l int
  4050  	_ = l
  4051  	{
  4052  		size := m.FeeMultiplier.Size()
  4053  		i -= size
  4054  		if _, err := m.FeeMultiplier.MarshalTo(dAtA[i:]); err != nil {
  4055  			return 0, err
  4056  		}
  4057  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4058  	}
  4059  	i--
  4060  	dAtA[i] = 0x12
  4061  	if len(m.MarketId) > 0 {
  4062  		i -= len(m.MarketId)
  4063  		copy(dAtA[i:], m.MarketId)
  4064  		i = encodeVarintExchange(dAtA, i, uint64(len(m.MarketId)))
  4065  		i--
  4066  		dAtA[i] = 0xa
  4067  	}
  4068  	return len(dAtA) - i, nil
  4069  }
  4070  
  4071  func (m *DerivativeMarket) Marshal() (dAtA []byte, err error) {
  4072  	size := m.Size()
  4073  	dAtA = make([]byte, size)
  4074  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4075  	if err != nil {
  4076  		return nil, err
  4077  	}
  4078  	return dAtA[:n], nil
  4079  }
  4080  
  4081  func (m *DerivativeMarket) MarshalTo(dAtA []byte) (int, error) {
  4082  	size := m.Size()
  4083  	return m.MarshalToSizedBuffer(dAtA[:size])
  4084  }
  4085  
  4086  func (m *DerivativeMarket) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4087  	i := len(dAtA)
  4088  	_ = i
  4089  	var l int
  4090  	_ = l
  4091  	if m.AdminPermissions != 0 {
  4092  		i = encodeVarintExchange(dAtA, i, uint64(m.AdminPermissions))
  4093  		i--
  4094  		dAtA[i] = 0x1
  4095  		i--
  4096  		dAtA[i] = 0x98
  4097  	}
  4098  	if len(m.Admin) > 0 {
  4099  		i -= len(m.Admin)
  4100  		copy(dAtA[i:], m.Admin)
  4101  		i = encodeVarintExchange(dAtA, i, uint64(len(m.Admin)))
  4102  		i--
  4103  		dAtA[i] = 0x1
  4104  		i--
  4105  		dAtA[i] = 0x92
  4106  	}
  4107  	{
  4108  		size := m.MinNotional.Size()
  4109  		i -= size
  4110  		if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil {
  4111  			return 0, err
  4112  		}
  4113  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4114  	}
  4115  	i--
  4116  	dAtA[i] = 0x1
  4117  	i--
  4118  	dAtA[i] = 0x8a
  4119  	{
  4120  		size := m.MinQuantityTickSize.Size()
  4121  		i -= size
  4122  		if _, err := m.MinQuantityTickSize.MarshalTo(dAtA[i:]); err != nil {
  4123  			return 0, err
  4124  		}
  4125  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4126  	}
  4127  	i--
  4128  	dAtA[i] = 0x1
  4129  	i--
  4130  	dAtA[i] = 0x82
  4131  	{
  4132  		size := m.MinPriceTickSize.Size()
  4133  		i -= size
  4134  		if _, err := m.MinPriceTickSize.MarshalTo(dAtA[i:]); err != nil {
  4135  			return 0, err
  4136  		}
  4137  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4138  	}
  4139  	i--
  4140  	dAtA[i] = 0x7a
  4141  	if m.Status != 0 {
  4142  		i = encodeVarintExchange(dAtA, i, uint64(m.Status))
  4143  		i--
  4144  		dAtA[i] = 0x70
  4145  	}
  4146  	if m.IsPerpetual {
  4147  		i--
  4148  		if m.IsPerpetual {
  4149  			dAtA[i] = 1
  4150  		} else {
  4151  			dAtA[i] = 0
  4152  		}
  4153  		i--
  4154  		dAtA[i] = 0x68
  4155  	}
  4156  	{
  4157  		size := m.RelayerFeeShareRate.Size()
  4158  		i -= size
  4159  		if _, err := m.RelayerFeeShareRate.MarshalTo(dAtA[i:]); err != nil {
  4160  			return 0, err
  4161  		}
  4162  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4163  	}
  4164  	i--
  4165  	dAtA[i] = 0x62
  4166  	{
  4167  		size := m.TakerFeeRate.Size()
  4168  		i -= size
  4169  		if _, err := m.TakerFeeRate.MarshalTo(dAtA[i:]); err != nil {
  4170  			return 0, err
  4171  		}
  4172  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4173  	}
  4174  	i--
  4175  	dAtA[i] = 0x5a
  4176  	{
  4177  		size := m.MakerFeeRate.Size()
  4178  		i -= size
  4179  		if _, err := m.MakerFeeRate.MarshalTo(dAtA[i:]); err != nil {
  4180  			return 0, err
  4181  		}
  4182  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4183  	}
  4184  	i--
  4185  	dAtA[i] = 0x52
  4186  	{
  4187  		size := m.MaintenanceMarginRatio.Size()
  4188  		i -= size
  4189  		if _, err := m.MaintenanceMarginRatio.MarshalTo(dAtA[i:]); err != nil {
  4190  			return 0, err
  4191  		}
  4192  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4193  	}
  4194  	i--
  4195  	dAtA[i] = 0x4a
  4196  	{
  4197  		size := m.InitialMarginRatio.Size()
  4198  		i -= size
  4199  		if _, err := m.InitialMarginRatio.MarshalTo(dAtA[i:]); err != nil {
  4200  			return 0, err
  4201  		}
  4202  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4203  	}
  4204  	i--
  4205  	dAtA[i] = 0x42
  4206  	if len(m.MarketId) > 0 {
  4207  		i -= len(m.MarketId)
  4208  		copy(dAtA[i:], m.MarketId)
  4209  		i = encodeVarintExchange(dAtA, i, uint64(len(m.MarketId)))
  4210  		i--
  4211  		dAtA[i] = 0x3a
  4212  	}
  4213  	if len(m.QuoteDenom) > 0 {
  4214  		i -= len(m.QuoteDenom)
  4215  		copy(dAtA[i:], m.QuoteDenom)
  4216  		i = encodeVarintExchange(dAtA, i, uint64(len(m.QuoteDenom)))
  4217  		i--
  4218  		dAtA[i] = 0x32
  4219  	}
  4220  	if m.OracleScaleFactor != 0 {
  4221  		i = encodeVarintExchange(dAtA, i, uint64(m.OracleScaleFactor))
  4222  		i--
  4223  		dAtA[i] = 0x28
  4224  	}
  4225  	if m.OracleType != 0 {
  4226  		i = encodeVarintExchange(dAtA, i, uint64(m.OracleType))
  4227  		i--
  4228  		dAtA[i] = 0x20
  4229  	}
  4230  	if len(m.OracleQuote) > 0 {
  4231  		i -= len(m.OracleQuote)
  4232  		copy(dAtA[i:], m.OracleQuote)
  4233  		i = encodeVarintExchange(dAtA, i, uint64(len(m.OracleQuote)))
  4234  		i--
  4235  		dAtA[i] = 0x1a
  4236  	}
  4237  	if len(m.OracleBase) > 0 {
  4238  		i -= len(m.OracleBase)
  4239  		copy(dAtA[i:], m.OracleBase)
  4240  		i = encodeVarintExchange(dAtA, i, uint64(len(m.OracleBase)))
  4241  		i--
  4242  		dAtA[i] = 0x12
  4243  	}
  4244  	if len(m.Ticker) > 0 {
  4245  		i -= len(m.Ticker)
  4246  		copy(dAtA[i:], m.Ticker)
  4247  		i = encodeVarintExchange(dAtA, i, uint64(len(m.Ticker)))
  4248  		i--
  4249  		dAtA[i] = 0xa
  4250  	}
  4251  	return len(dAtA) - i, nil
  4252  }
  4253  
  4254  func (m *BinaryOptionsMarket) Marshal() (dAtA []byte, err error) {
  4255  	size := m.Size()
  4256  	dAtA = make([]byte, size)
  4257  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4258  	if err != nil {
  4259  		return nil, err
  4260  	}
  4261  	return dAtA[:n], nil
  4262  }
  4263  
  4264  func (m *BinaryOptionsMarket) MarshalTo(dAtA []byte) (int, error) {
  4265  	size := m.Size()
  4266  	return m.MarshalToSizedBuffer(dAtA[:size])
  4267  }
  4268  
  4269  func (m *BinaryOptionsMarket) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4270  	i := len(dAtA)
  4271  	_ = i
  4272  	var l int
  4273  	_ = l
  4274  	if m.AdminPermissions != 0 {
  4275  		i = encodeVarintExchange(dAtA, i, uint64(m.AdminPermissions))
  4276  		i--
  4277  		dAtA[i] = 0x1
  4278  		i--
  4279  		dAtA[i] = 0x98
  4280  	}
  4281  	{
  4282  		size := m.MinNotional.Size()
  4283  		i -= size
  4284  		if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil {
  4285  			return 0, err
  4286  		}
  4287  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4288  	}
  4289  	i--
  4290  	dAtA[i] = 0x1
  4291  	i--
  4292  	dAtA[i] = 0x92
  4293  	if m.SettlementPrice != nil {
  4294  		{
  4295  			size := m.SettlementPrice.Size()
  4296  			i -= size
  4297  			if _, err := m.SettlementPrice.MarshalTo(dAtA[i:]); err != nil {
  4298  				return 0, err
  4299  			}
  4300  			i = encodeVarintExchange(dAtA, i, uint64(size))
  4301  		}
  4302  		i--
  4303  		dAtA[i] = 0x1
  4304  		i--
  4305  		dAtA[i] = 0x8a
  4306  	}
  4307  	{
  4308  		size := m.MinQuantityTickSize.Size()
  4309  		i -= size
  4310  		if _, err := m.MinQuantityTickSize.MarshalTo(dAtA[i:]); err != nil {
  4311  			return 0, err
  4312  		}
  4313  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4314  	}
  4315  	i--
  4316  	dAtA[i] = 0x1
  4317  	i--
  4318  	dAtA[i] = 0x82
  4319  	{
  4320  		size := m.MinPriceTickSize.Size()
  4321  		i -= size
  4322  		if _, err := m.MinPriceTickSize.MarshalTo(dAtA[i:]); err != nil {
  4323  			return 0, err
  4324  		}
  4325  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4326  	}
  4327  	i--
  4328  	dAtA[i] = 0x7a
  4329  	if m.Status != 0 {
  4330  		i = encodeVarintExchange(dAtA, i, uint64(m.Status))
  4331  		i--
  4332  		dAtA[i] = 0x70
  4333  	}
  4334  	{
  4335  		size := m.RelayerFeeShareRate.Size()
  4336  		i -= size
  4337  		if _, err := m.RelayerFeeShareRate.MarshalTo(dAtA[i:]); err != nil {
  4338  			return 0, err
  4339  		}
  4340  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4341  	}
  4342  	i--
  4343  	dAtA[i] = 0x6a
  4344  	{
  4345  		size := m.TakerFeeRate.Size()
  4346  		i -= size
  4347  		if _, err := m.TakerFeeRate.MarshalTo(dAtA[i:]); err != nil {
  4348  			return 0, err
  4349  		}
  4350  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4351  	}
  4352  	i--
  4353  	dAtA[i] = 0x62
  4354  	{
  4355  		size := m.MakerFeeRate.Size()
  4356  		i -= size
  4357  		if _, err := m.MakerFeeRate.MarshalTo(dAtA[i:]); err != nil {
  4358  			return 0, err
  4359  		}
  4360  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4361  	}
  4362  	i--
  4363  	dAtA[i] = 0x5a
  4364  	if len(m.MarketId) > 0 {
  4365  		i -= len(m.MarketId)
  4366  		copy(dAtA[i:], m.MarketId)
  4367  		i = encodeVarintExchange(dAtA, i, uint64(len(m.MarketId)))
  4368  		i--
  4369  		dAtA[i] = 0x52
  4370  	}
  4371  	if len(m.QuoteDenom) > 0 {
  4372  		i -= len(m.QuoteDenom)
  4373  		copy(dAtA[i:], m.QuoteDenom)
  4374  		i = encodeVarintExchange(dAtA, i, uint64(len(m.QuoteDenom)))
  4375  		i--
  4376  		dAtA[i] = 0x4a
  4377  	}
  4378  	if len(m.Admin) > 0 {
  4379  		i -= len(m.Admin)
  4380  		copy(dAtA[i:], m.Admin)
  4381  		i = encodeVarintExchange(dAtA, i, uint64(len(m.Admin)))
  4382  		i--
  4383  		dAtA[i] = 0x42
  4384  	}
  4385  	if m.SettlementTimestamp != 0 {
  4386  		i = encodeVarintExchange(dAtA, i, uint64(m.SettlementTimestamp))
  4387  		i--
  4388  		dAtA[i] = 0x38
  4389  	}
  4390  	if m.ExpirationTimestamp != 0 {
  4391  		i = encodeVarintExchange(dAtA, i, uint64(m.ExpirationTimestamp))
  4392  		i--
  4393  		dAtA[i] = 0x30
  4394  	}
  4395  	if m.OracleScaleFactor != 0 {
  4396  		i = encodeVarintExchange(dAtA, i, uint64(m.OracleScaleFactor))
  4397  		i--
  4398  		dAtA[i] = 0x28
  4399  	}
  4400  	if m.OracleType != 0 {
  4401  		i = encodeVarintExchange(dAtA, i, uint64(m.OracleType))
  4402  		i--
  4403  		dAtA[i] = 0x20
  4404  	}
  4405  	if len(m.OracleProvider) > 0 {
  4406  		i -= len(m.OracleProvider)
  4407  		copy(dAtA[i:], m.OracleProvider)
  4408  		i = encodeVarintExchange(dAtA, i, uint64(len(m.OracleProvider)))
  4409  		i--
  4410  		dAtA[i] = 0x1a
  4411  	}
  4412  	if len(m.OracleSymbol) > 0 {
  4413  		i -= len(m.OracleSymbol)
  4414  		copy(dAtA[i:], m.OracleSymbol)
  4415  		i = encodeVarintExchange(dAtA, i, uint64(len(m.OracleSymbol)))
  4416  		i--
  4417  		dAtA[i] = 0x12
  4418  	}
  4419  	if len(m.Ticker) > 0 {
  4420  		i -= len(m.Ticker)
  4421  		copy(dAtA[i:], m.Ticker)
  4422  		i = encodeVarintExchange(dAtA, i, uint64(len(m.Ticker)))
  4423  		i--
  4424  		dAtA[i] = 0xa
  4425  	}
  4426  	return len(dAtA) - i, nil
  4427  }
  4428  
  4429  func (m *ExpiryFuturesMarketInfo) Marshal() (dAtA []byte, err error) {
  4430  	size := m.Size()
  4431  	dAtA = make([]byte, size)
  4432  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4433  	if err != nil {
  4434  		return nil, err
  4435  	}
  4436  	return dAtA[:n], nil
  4437  }
  4438  
  4439  func (m *ExpiryFuturesMarketInfo) MarshalTo(dAtA []byte) (int, error) {
  4440  	size := m.Size()
  4441  	return m.MarshalToSizedBuffer(dAtA[:size])
  4442  }
  4443  
  4444  func (m *ExpiryFuturesMarketInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4445  	i := len(dAtA)
  4446  	_ = i
  4447  	var l int
  4448  	_ = l
  4449  	{
  4450  		size := m.SettlementPrice.Size()
  4451  		i -= size
  4452  		if _, err := m.SettlementPrice.MarshalTo(dAtA[i:]); err != nil {
  4453  			return 0, err
  4454  		}
  4455  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4456  	}
  4457  	i--
  4458  	dAtA[i] = 0x2a
  4459  	{
  4460  		size := m.ExpirationTwapStartPriceCumulative.Size()
  4461  		i -= size
  4462  		if _, err := m.ExpirationTwapStartPriceCumulative.MarshalTo(dAtA[i:]); err != nil {
  4463  			return 0, err
  4464  		}
  4465  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4466  	}
  4467  	i--
  4468  	dAtA[i] = 0x22
  4469  	if m.TwapStartTimestamp != 0 {
  4470  		i = encodeVarintExchange(dAtA, i, uint64(m.TwapStartTimestamp))
  4471  		i--
  4472  		dAtA[i] = 0x18
  4473  	}
  4474  	if m.ExpirationTimestamp != 0 {
  4475  		i = encodeVarintExchange(dAtA, i, uint64(m.ExpirationTimestamp))
  4476  		i--
  4477  		dAtA[i] = 0x10
  4478  	}
  4479  	if len(m.MarketId) > 0 {
  4480  		i -= len(m.MarketId)
  4481  		copy(dAtA[i:], m.MarketId)
  4482  		i = encodeVarintExchange(dAtA, i, uint64(len(m.MarketId)))
  4483  		i--
  4484  		dAtA[i] = 0xa
  4485  	}
  4486  	return len(dAtA) - i, nil
  4487  }
  4488  
  4489  func (m *PerpetualMarketInfo) Marshal() (dAtA []byte, err error) {
  4490  	size := m.Size()
  4491  	dAtA = make([]byte, size)
  4492  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4493  	if err != nil {
  4494  		return nil, err
  4495  	}
  4496  	return dAtA[:n], nil
  4497  }
  4498  
  4499  func (m *PerpetualMarketInfo) MarshalTo(dAtA []byte) (int, error) {
  4500  	size := m.Size()
  4501  	return m.MarshalToSizedBuffer(dAtA[:size])
  4502  }
  4503  
  4504  func (m *PerpetualMarketInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4505  	i := len(dAtA)
  4506  	_ = i
  4507  	var l int
  4508  	_ = l
  4509  	if m.FundingInterval != 0 {
  4510  		i = encodeVarintExchange(dAtA, i, uint64(m.FundingInterval))
  4511  		i--
  4512  		dAtA[i] = 0x28
  4513  	}
  4514  	if m.NextFundingTimestamp != 0 {
  4515  		i = encodeVarintExchange(dAtA, i, uint64(m.NextFundingTimestamp))
  4516  		i--
  4517  		dAtA[i] = 0x20
  4518  	}
  4519  	{
  4520  		size := m.HourlyInterestRate.Size()
  4521  		i -= size
  4522  		if _, err := m.HourlyInterestRate.MarshalTo(dAtA[i:]); err != nil {
  4523  			return 0, err
  4524  		}
  4525  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4526  	}
  4527  	i--
  4528  	dAtA[i] = 0x1a
  4529  	{
  4530  		size := m.HourlyFundingRateCap.Size()
  4531  		i -= size
  4532  		if _, err := m.HourlyFundingRateCap.MarshalTo(dAtA[i:]); err != nil {
  4533  			return 0, err
  4534  		}
  4535  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4536  	}
  4537  	i--
  4538  	dAtA[i] = 0x12
  4539  	if len(m.MarketId) > 0 {
  4540  		i -= len(m.MarketId)
  4541  		copy(dAtA[i:], m.MarketId)
  4542  		i = encodeVarintExchange(dAtA, i, uint64(len(m.MarketId)))
  4543  		i--
  4544  		dAtA[i] = 0xa
  4545  	}
  4546  	return len(dAtA) - i, nil
  4547  }
  4548  
  4549  func (m *PerpetualMarketFunding) Marshal() (dAtA []byte, err error) {
  4550  	size := m.Size()
  4551  	dAtA = make([]byte, size)
  4552  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4553  	if err != nil {
  4554  		return nil, err
  4555  	}
  4556  	return dAtA[:n], nil
  4557  }
  4558  
  4559  func (m *PerpetualMarketFunding) MarshalTo(dAtA []byte) (int, error) {
  4560  	size := m.Size()
  4561  	return m.MarshalToSizedBuffer(dAtA[:size])
  4562  }
  4563  
  4564  func (m *PerpetualMarketFunding) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4565  	i := len(dAtA)
  4566  	_ = i
  4567  	var l int
  4568  	_ = l
  4569  	if m.LastTimestamp != 0 {
  4570  		i = encodeVarintExchange(dAtA, i, uint64(m.LastTimestamp))
  4571  		i--
  4572  		dAtA[i] = 0x18
  4573  	}
  4574  	{
  4575  		size := m.CumulativePrice.Size()
  4576  		i -= size
  4577  		if _, err := m.CumulativePrice.MarshalTo(dAtA[i:]); err != nil {
  4578  			return 0, err
  4579  		}
  4580  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4581  	}
  4582  	i--
  4583  	dAtA[i] = 0x12
  4584  	{
  4585  		size := m.CumulativeFunding.Size()
  4586  		i -= size
  4587  		if _, err := m.CumulativeFunding.MarshalTo(dAtA[i:]); err != nil {
  4588  			return 0, err
  4589  		}
  4590  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4591  	}
  4592  	i--
  4593  	dAtA[i] = 0xa
  4594  	return len(dAtA) - i, nil
  4595  }
  4596  
  4597  func (m *DerivativeMarketSettlementInfo) Marshal() (dAtA []byte, err error) {
  4598  	size := m.Size()
  4599  	dAtA = make([]byte, size)
  4600  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4601  	if err != nil {
  4602  		return nil, err
  4603  	}
  4604  	return dAtA[:n], nil
  4605  }
  4606  
  4607  func (m *DerivativeMarketSettlementInfo) MarshalTo(dAtA []byte) (int, error) {
  4608  	size := m.Size()
  4609  	return m.MarshalToSizedBuffer(dAtA[:size])
  4610  }
  4611  
  4612  func (m *DerivativeMarketSettlementInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4613  	i := len(dAtA)
  4614  	_ = i
  4615  	var l int
  4616  	_ = l
  4617  	{
  4618  		size := m.SettlementPrice.Size()
  4619  		i -= size
  4620  		if _, err := m.SettlementPrice.MarshalTo(dAtA[i:]); err != nil {
  4621  			return 0, err
  4622  		}
  4623  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4624  	}
  4625  	i--
  4626  	dAtA[i] = 0x12
  4627  	if len(m.MarketId) > 0 {
  4628  		i -= len(m.MarketId)
  4629  		copy(dAtA[i:], m.MarketId)
  4630  		i = encodeVarintExchange(dAtA, i, uint64(len(m.MarketId)))
  4631  		i--
  4632  		dAtA[i] = 0xa
  4633  	}
  4634  	return len(dAtA) - i, nil
  4635  }
  4636  
  4637  func (m *NextFundingTimestamp) Marshal() (dAtA []byte, err error) {
  4638  	size := m.Size()
  4639  	dAtA = make([]byte, size)
  4640  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4641  	if err != nil {
  4642  		return nil, err
  4643  	}
  4644  	return dAtA[:n], nil
  4645  }
  4646  
  4647  func (m *NextFundingTimestamp) MarshalTo(dAtA []byte) (int, error) {
  4648  	size := m.Size()
  4649  	return m.MarshalToSizedBuffer(dAtA[:size])
  4650  }
  4651  
  4652  func (m *NextFundingTimestamp) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4653  	i := len(dAtA)
  4654  	_ = i
  4655  	var l int
  4656  	_ = l
  4657  	if m.NextTimestamp != 0 {
  4658  		i = encodeVarintExchange(dAtA, i, uint64(m.NextTimestamp))
  4659  		i--
  4660  		dAtA[i] = 0x8
  4661  	}
  4662  	return len(dAtA) - i, nil
  4663  }
  4664  
  4665  func (m *MidPriceAndTOB) Marshal() (dAtA []byte, err error) {
  4666  	size := m.Size()
  4667  	dAtA = make([]byte, size)
  4668  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4669  	if err != nil {
  4670  		return nil, err
  4671  	}
  4672  	return dAtA[:n], nil
  4673  }
  4674  
  4675  func (m *MidPriceAndTOB) MarshalTo(dAtA []byte) (int, error) {
  4676  	size := m.Size()
  4677  	return m.MarshalToSizedBuffer(dAtA[:size])
  4678  }
  4679  
  4680  func (m *MidPriceAndTOB) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4681  	i := len(dAtA)
  4682  	_ = i
  4683  	var l int
  4684  	_ = l
  4685  	if m.BestSellPrice != nil {
  4686  		{
  4687  			size := m.BestSellPrice.Size()
  4688  			i -= size
  4689  			if _, err := m.BestSellPrice.MarshalTo(dAtA[i:]); err != nil {
  4690  				return 0, err
  4691  			}
  4692  			i = encodeVarintExchange(dAtA, i, uint64(size))
  4693  		}
  4694  		i--
  4695  		dAtA[i] = 0x1a
  4696  	}
  4697  	if m.BestBuyPrice != nil {
  4698  		{
  4699  			size := m.BestBuyPrice.Size()
  4700  			i -= size
  4701  			if _, err := m.BestBuyPrice.MarshalTo(dAtA[i:]); err != nil {
  4702  				return 0, err
  4703  			}
  4704  			i = encodeVarintExchange(dAtA, i, uint64(size))
  4705  		}
  4706  		i--
  4707  		dAtA[i] = 0x12
  4708  	}
  4709  	if m.MidPrice != nil {
  4710  		{
  4711  			size := m.MidPrice.Size()
  4712  			i -= size
  4713  			if _, err := m.MidPrice.MarshalTo(dAtA[i:]); err != nil {
  4714  				return 0, err
  4715  			}
  4716  			i = encodeVarintExchange(dAtA, i, uint64(size))
  4717  		}
  4718  		i--
  4719  		dAtA[i] = 0xa
  4720  	}
  4721  	return len(dAtA) - i, nil
  4722  }
  4723  
  4724  func (m *SpotMarket) Marshal() (dAtA []byte, err error) {
  4725  	size := m.Size()
  4726  	dAtA = make([]byte, size)
  4727  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4728  	if err != nil {
  4729  		return nil, err
  4730  	}
  4731  	return dAtA[:n], nil
  4732  }
  4733  
  4734  func (m *SpotMarket) MarshalTo(dAtA []byte) (int, error) {
  4735  	size := m.Size()
  4736  	return m.MarshalToSizedBuffer(dAtA[:size])
  4737  }
  4738  
  4739  func (m *SpotMarket) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4740  	i := len(dAtA)
  4741  	_ = i
  4742  	var l int
  4743  	_ = l
  4744  	if m.AdminPermissions != 0 {
  4745  		i = encodeVarintExchange(dAtA, i, uint64(m.AdminPermissions))
  4746  		i--
  4747  		dAtA[i] = 0x68
  4748  	}
  4749  	if len(m.Admin) > 0 {
  4750  		i -= len(m.Admin)
  4751  		copy(dAtA[i:], m.Admin)
  4752  		i = encodeVarintExchange(dAtA, i, uint64(len(m.Admin)))
  4753  		i--
  4754  		dAtA[i] = 0x62
  4755  	}
  4756  	{
  4757  		size := m.MinNotional.Size()
  4758  		i -= size
  4759  		if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil {
  4760  			return 0, err
  4761  		}
  4762  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4763  	}
  4764  	i--
  4765  	dAtA[i] = 0x5a
  4766  	{
  4767  		size := m.MinQuantityTickSize.Size()
  4768  		i -= size
  4769  		if _, err := m.MinQuantityTickSize.MarshalTo(dAtA[i:]); err != nil {
  4770  			return 0, err
  4771  		}
  4772  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4773  	}
  4774  	i--
  4775  	dAtA[i] = 0x52
  4776  	{
  4777  		size := m.MinPriceTickSize.Size()
  4778  		i -= size
  4779  		if _, err := m.MinPriceTickSize.MarshalTo(dAtA[i:]); err != nil {
  4780  			return 0, err
  4781  		}
  4782  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4783  	}
  4784  	i--
  4785  	dAtA[i] = 0x4a
  4786  	if m.Status != 0 {
  4787  		i = encodeVarintExchange(dAtA, i, uint64(m.Status))
  4788  		i--
  4789  		dAtA[i] = 0x40
  4790  	}
  4791  	if len(m.MarketId) > 0 {
  4792  		i -= len(m.MarketId)
  4793  		copy(dAtA[i:], m.MarketId)
  4794  		i = encodeVarintExchange(dAtA, i, uint64(len(m.MarketId)))
  4795  		i--
  4796  		dAtA[i] = 0x3a
  4797  	}
  4798  	{
  4799  		size := m.RelayerFeeShareRate.Size()
  4800  		i -= size
  4801  		if _, err := m.RelayerFeeShareRate.MarshalTo(dAtA[i:]); err != nil {
  4802  			return 0, err
  4803  		}
  4804  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4805  	}
  4806  	i--
  4807  	dAtA[i] = 0x32
  4808  	{
  4809  		size := m.TakerFeeRate.Size()
  4810  		i -= size
  4811  		if _, err := m.TakerFeeRate.MarshalTo(dAtA[i:]); err != nil {
  4812  			return 0, err
  4813  		}
  4814  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4815  	}
  4816  	i--
  4817  	dAtA[i] = 0x2a
  4818  	{
  4819  		size := m.MakerFeeRate.Size()
  4820  		i -= size
  4821  		if _, err := m.MakerFeeRate.MarshalTo(dAtA[i:]); err != nil {
  4822  			return 0, err
  4823  		}
  4824  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4825  	}
  4826  	i--
  4827  	dAtA[i] = 0x22
  4828  	if len(m.QuoteDenom) > 0 {
  4829  		i -= len(m.QuoteDenom)
  4830  		copy(dAtA[i:], m.QuoteDenom)
  4831  		i = encodeVarintExchange(dAtA, i, uint64(len(m.QuoteDenom)))
  4832  		i--
  4833  		dAtA[i] = 0x1a
  4834  	}
  4835  	if len(m.BaseDenom) > 0 {
  4836  		i -= len(m.BaseDenom)
  4837  		copy(dAtA[i:], m.BaseDenom)
  4838  		i = encodeVarintExchange(dAtA, i, uint64(len(m.BaseDenom)))
  4839  		i--
  4840  		dAtA[i] = 0x12
  4841  	}
  4842  	if len(m.Ticker) > 0 {
  4843  		i -= len(m.Ticker)
  4844  		copy(dAtA[i:], m.Ticker)
  4845  		i = encodeVarintExchange(dAtA, i, uint64(len(m.Ticker)))
  4846  		i--
  4847  		dAtA[i] = 0xa
  4848  	}
  4849  	return len(dAtA) - i, nil
  4850  }
  4851  
  4852  func (m *Deposit) Marshal() (dAtA []byte, err error) {
  4853  	size := m.Size()
  4854  	dAtA = make([]byte, size)
  4855  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4856  	if err != nil {
  4857  		return nil, err
  4858  	}
  4859  	return dAtA[:n], nil
  4860  }
  4861  
  4862  func (m *Deposit) MarshalTo(dAtA []byte) (int, error) {
  4863  	size := m.Size()
  4864  	return m.MarshalToSizedBuffer(dAtA[:size])
  4865  }
  4866  
  4867  func (m *Deposit) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4868  	i := len(dAtA)
  4869  	_ = i
  4870  	var l int
  4871  	_ = l
  4872  	{
  4873  		size := m.TotalBalance.Size()
  4874  		i -= size
  4875  		if _, err := m.TotalBalance.MarshalTo(dAtA[i:]); err != nil {
  4876  			return 0, err
  4877  		}
  4878  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4879  	}
  4880  	i--
  4881  	dAtA[i] = 0x12
  4882  	{
  4883  		size := m.AvailableBalance.Size()
  4884  		i -= size
  4885  		if _, err := m.AvailableBalance.MarshalTo(dAtA[i:]); err != nil {
  4886  			return 0, err
  4887  		}
  4888  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4889  	}
  4890  	i--
  4891  	dAtA[i] = 0xa
  4892  	return len(dAtA) - i, nil
  4893  }
  4894  
  4895  func (m *SubaccountTradeNonce) Marshal() (dAtA []byte, err error) {
  4896  	size := m.Size()
  4897  	dAtA = make([]byte, size)
  4898  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4899  	if err != nil {
  4900  		return nil, err
  4901  	}
  4902  	return dAtA[:n], nil
  4903  }
  4904  
  4905  func (m *SubaccountTradeNonce) MarshalTo(dAtA []byte) (int, error) {
  4906  	size := m.Size()
  4907  	return m.MarshalToSizedBuffer(dAtA[:size])
  4908  }
  4909  
  4910  func (m *SubaccountTradeNonce) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4911  	i := len(dAtA)
  4912  	_ = i
  4913  	var l int
  4914  	_ = l
  4915  	if m.Nonce != 0 {
  4916  		i = encodeVarintExchange(dAtA, i, uint64(m.Nonce))
  4917  		i--
  4918  		dAtA[i] = 0x8
  4919  	}
  4920  	return len(dAtA) - i, nil
  4921  }
  4922  
  4923  func (m *OrderInfo) Marshal() (dAtA []byte, err error) {
  4924  	size := m.Size()
  4925  	dAtA = make([]byte, size)
  4926  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4927  	if err != nil {
  4928  		return nil, err
  4929  	}
  4930  	return dAtA[:n], nil
  4931  }
  4932  
  4933  func (m *OrderInfo) MarshalTo(dAtA []byte) (int, error) {
  4934  	size := m.Size()
  4935  	return m.MarshalToSizedBuffer(dAtA[:size])
  4936  }
  4937  
  4938  func (m *OrderInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4939  	i := len(dAtA)
  4940  	_ = i
  4941  	var l int
  4942  	_ = l
  4943  	if len(m.Cid) > 0 {
  4944  		i -= len(m.Cid)
  4945  		copy(dAtA[i:], m.Cid)
  4946  		i = encodeVarintExchange(dAtA, i, uint64(len(m.Cid)))
  4947  		i--
  4948  		dAtA[i] = 0x2a
  4949  	}
  4950  	{
  4951  		size := m.Quantity.Size()
  4952  		i -= size
  4953  		if _, err := m.Quantity.MarshalTo(dAtA[i:]); err != nil {
  4954  			return 0, err
  4955  		}
  4956  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4957  	}
  4958  	i--
  4959  	dAtA[i] = 0x22
  4960  	{
  4961  		size := m.Price.Size()
  4962  		i -= size
  4963  		if _, err := m.Price.MarshalTo(dAtA[i:]); err != nil {
  4964  			return 0, err
  4965  		}
  4966  		i = encodeVarintExchange(dAtA, i, uint64(size))
  4967  	}
  4968  	i--
  4969  	dAtA[i] = 0x1a
  4970  	if len(m.FeeRecipient) > 0 {
  4971  		i -= len(m.FeeRecipient)
  4972  		copy(dAtA[i:], m.FeeRecipient)
  4973  		i = encodeVarintExchange(dAtA, i, uint64(len(m.FeeRecipient)))
  4974  		i--
  4975  		dAtA[i] = 0x12
  4976  	}
  4977  	if len(m.SubaccountId) > 0 {
  4978  		i -= len(m.SubaccountId)
  4979  		copy(dAtA[i:], m.SubaccountId)
  4980  		i = encodeVarintExchange(dAtA, i, uint64(len(m.SubaccountId)))
  4981  		i--
  4982  		dAtA[i] = 0xa
  4983  	}
  4984  	return len(dAtA) - i, nil
  4985  }
  4986  
  4987  func (m *SpotOrder) Marshal() (dAtA []byte, err error) {
  4988  	size := m.Size()
  4989  	dAtA = make([]byte, size)
  4990  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4991  	if err != nil {
  4992  		return nil, err
  4993  	}
  4994  	return dAtA[:n], nil
  4995  }
  4996  
  4997  func (m *SpotOrder) MarshalTo(dAtA []byte) (int, error) {
  4998  	size := m.Size()
  4999  	return m.MarshalToSizedBuffer(dAtA[:size])
  5000  }
  5001  
  5002  func (m *SpotOrder) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5003  	i := len(dAtA)
  5004  	_ = i
  5005  	var l int
  5006  	_ = l
  5007  	if m.TriggerPrice != nil {
  5008  		{
  5009  			size := m.TriggerPrice.Size()
  5010  			i -= size
  5011  			if _, err := m.TriggerPrice.MarshalTo(dAtA[i:]); err != nil {
  5012  				return 0, err
  5013  			}
  5014  			i = encodeVarintExchange(dAtA, i, uint64(size))
  5015  		}
  5016  		i--
  5017  		dAtA[i] = 0x22
  5018  	}
  5019  	if m.OrderType != 0 {
  5020  		i = encodeVarintExchange(dAtA, i, uint64(m.OrderType))
  5021  		i--
  5022  		dAtA[i] = 0x18
  5023  	}
  5024  	{
  5025  		size, err := m.OrderInfo.MarshalToSizedBuffer(dAtA[:i])
  5026  		if err != nil {
  5027  			return 0, err
  5028  		}
  5029  		i -= size
  5030  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5031  	}
  5032  	i--
  5033  	dAtA[i] = 0x12
  5034  	if len(m.MarketId) > 0 {
  5035  		i -= len(m.MarketId)
  5036  		copy(dAtA[i:], m.MarketId)
  5037  		i = encodeVarintExchange(dAtA, i, uint64(len(m.MarketId)))
  5038  		i--
  5039  		dAtA[i] = 0xa
  5040  	}
  5041  	return len(dAtA) - i, nil
  5042  }
  5043  
  5044  func (m *SpotLimitOrder) Marshal() (dAtA []byte, err error) {
  5045  	size := m.Size()
  5046  	dAtA = make([]byte, size)
  5047  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5048  	if err != nil {
  5049  		return nil, err
  5050  	}
  5051  	return dAtA[:n], nil
  5052  }
  5053  
  5054  func (m *SpotLimitOrder) MarshalTo(dAtA []byte) (int, error) {
  5055  	size := m.Size()
  5056  	return m.MarshalToSizedBuffer(dAtA[:size])
  5057  }
  5058  
  5059  func (m *SpotLimitOrder) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5060  	i := len(dAtA)
  5061  	_ = i
  5062  	var l int
  5063  	_ = l
  5064  	if len(m.OrderHash) > 0 {
  5065  		i -= len(m.OrderHash)
  5066  		copy(dAtA[i:], m.OrderHash)
  5067  		i = encodeVarintExchange(dAtA, i, uint64(len(m.OrderHash)))
  5068  		i--
  5069  		dAtA[i] = 0x2a
  5070  	}
  5071  	if m.TriggerPrice != nil {
  5072  		{
  5073  			size := m.TriggerPrice.Size()
  5074  			i -= size
  5075  			if _, err := m.TriggerPrice.MarshalTo(dAtA[i:]); err != nil {
  5076  				return 0, err
  5077  			}
  5078  			i = encodeVarintExchange(dAtA, i, uint64(size))
  5079  		}
  5080  		i--
  5081  		dAtA[i] = 0x22
  5082  	}
  5083  	{
  5084  		size := m.Fillable.Size()
  5085  		i -= size
  5086  		if _, err := m.Fillable.MarshalTo(dAtA[i:]); err != nil {
  5087  			return 0, err
  5088  		}
  5089  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5090  	}
  5091  	i--
  5092  	dAtA[i] = 0x1a
  5093  	if m.OrderType != 0 {
  5094  		i = encodeVarintExchange(dAtA, i, uint64(m.OrderType))
  5095  		i--
  5096  		dAtA[i] = 0x10
  5097  	}
  5098  	{
  5099  		size, err := m.OrderInfo.MarshalToSizedBuffer(dAtA[:i])
  5100  		if err != nil {
  5101  			return 0, err
  5102  		}
  5103  		i -= size
  5104  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5105  	}
  5106  	i--
  5107  	dAtA[i] = 0xa
  5108  	return len(dAtA) - i, nil
  5109  }
  5110  
  5111  func (m *SpotMarketOrder) Marshal() (dAtA []byte, err error) {
  5112  	size := m.Size()
  5113  	dAtA = make([]byte, size)
  5114  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5115  	if err != nil {
  5116  		return nil, err
  5117  	}
  5118  	return dAtA[:n], nil
  5119  }
  5120  
  5121  func (m *SpotMarketOrder) MarshalTo(dAtA []byte) (int, error) {
  5122  	size := m.Size()
  5123  	return m.MarshalToSizedBuffer(dAtA[:size])
  5124  }
  5125  
  5126  func (m *SpotMarketOrder) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5127  	i := len(dAtA)
  5128  	_ = i
  5129  	var l int
  5130  	_ = l
  5131  	if m.TriggerPrice != nil {
  5132  		{
  5133  			size := m.TriggerPrice.Size()
  5134  			i -= size
  5135  			if _, err := m.TriggerPrice.MarshalTo(dAtA[i:]); err != nil {
  5136  				return 0, err
  5137  			}
  5138  			i = encodeVarintExchange(dAtA, i, uint64(size))
  5139  		}
  5140  		i--
  5141  		dAtA[i] = 0x2a
  5142  	}
  5143  	if m.OrderType != 0 {
  5144  		i = encodeVarintExchange(dAtA, i, uint64(m.OrderType))
  5145  		i--
  5146  		dAtA[i] = 0x20
  5147  	}
  5148  	if len(m.OrderHash) > 0 {
  5149  		i -= len(m.OrderHash)
  5150  		copy(dAtA[i:], m.OrderHash)
  5151  		i = encodeVarintExchange(dAtA, i, uint64(len(m.OrderHash)))
  5152  		i--
  5153  		dAtA[i] = 0x1a
  5154  	}
  5155  	{
  5156  		size := m.BalanceHold.Size()
  5157  		i -= size
  5158  		if _, err := m.BalanceHold.MarshalTo(dAtA[i:]); err != nil {
  5159  			return 0, err
  5160  		}
  5161  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5162  	}
  5163  	i--
  5164  	dAtA[i] = 0x12
  5165  	{
  5166  		size, err := m.OrderInfo.MarshalToSizedBuffer(dAtA[:i])
  5167  		if err != nil {
  5168  			return 0, err
  5169  		}
  5170  		i -= size
  5171  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5172  	}
  5173  	i--
  5174  	dAtA[i] = 0xa
  5175  	return len(dAtA) - i, nil
  5176  }
  5177  
  5178  func (m *DerivativeOrder) Marshal() (dAtA []byte, err error) {
  5179  	size := m.Size()
  5180  	dAtA = make([]byte, size)
  5181  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5182  	if err != nil {
  5183  		return nil, err
  5184  	}
  5185  	return dAtA[:n], nil
  5186  }
  5187  
  5188  func (m *DerivativeOrder) MarshalTo(dAtA []byte) (int, error) {
  5189  	size := m.Size()
  5190  	return m.MarshalToSizedBuffer(dAtA[:size])
  5191  }
  5192  
  5193  func (m *DerivativeOrder) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5194  	i := len(dAtA)
  5195  	_ = i
  5196  	var l int
  5197  	_ = l
  5198  	if m.TriggerPrice != nil {
  5199  		{
  5200  			size := m.TriggerPrice.Size()
  5201  			i -= size
  5202  			if _, err := m.TriggerPrice.MarshalTo(dAtA[i:]); err != nil {
  5203  				return 0, err
  5204  			}
  5205  			i = encodeVarintExchange(dAtA, i, uint64(size))
  5206  		}
  5207  		i--
  5208  		dAtA[i] = 0x2a
  5209  	}
  5210  	{
  5211  		size := m.Margin.Size()
  5212  		i -= size
  5213  		if _, err := m.Margin.MarshalTo(dAtA[i:]); err != nil {
  5214  			return 0, err
  5215  		}
  5216  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5217  	}
  5218  	i--
  5219  	dAtA[i] = 0x22
  5220  	if m.OrderType != 0 {
  5221  		i = encodeVarintExchange(dAtA, i, uint64(m.OrderType))
  5222  		i--
  5223  		dAtA[i] = 0x18
  5224  	}
  5225  	{
  5226  		size, err := m.OrderInfo.MarshalToSizedBuffer(dAtA[:i])
  5227  		if err != nil {
  5228  			return 0, err
  5229  		}
  5230  		i -= size
  5231  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5232  	}
  5233  	i--
  5234  	dAtA[i] = 0x12
  5235  	if len(m.MarketId) > 0 {
  5236  		i -= len(m.MarketId)
  5237  		copy(dAtA[i:], m.MarketId)
  5238  		i = encodeVarintExchange(dAtA, i, uint64(len(m.MarketId)))
  5239  		i--
  5240  		dAtA[i] = 0xa
  5241  	}
  5242  	return len(dAtA) - i, nil
  5243  }
  5244  
  5245  func (m *SubaccountOrderbookMetadata) Marshal() (dAtA []byte, err error) {
  5246  	size := m.Size()
  5247  	dAtA = make([]byte, size)
  5248  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5249  	if err != nil {
  5250  		return nil, err
  5251  	}
  5252  	return dAtA[:n], nil
  5253  }
  5254  
  5255  func (m *SubaccountOrderbookMetadata) MarshalTo(dAtA []byte) (int, error) {
  5256  	size := m.Size()
  5257  	return m.MarshalToSizedBuffer(dAtA[:size])
  5258  }
  5259  
  5260  func (m *SubaccountOrderbookMetadata) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5261  	i := len(dAtA)
  5262  	_ = i
  5263  	var l int
  5264  	_ = l
  5265  	if m.ReduceOnlyConditionalOrderCount != 0 {
  5266  		i = encodeVarintExchange(dAtA, i, uint64(m.ReduceOnlyConditionalOrderCount))
  5267  		i--
  5268  		dAtA[i] = 0x30
  5269  	}
  5270  	if m.VanillaConditionalOrderCount != 0 {
  5271  		i = encodeVarintExchange(dAtA, i, uint64(m.VanillaConditionalOrderCount))
  5272  		i--
  5273  		dAtA[i] = 0x28
  5274  	}
  5275  	{
  5276  		size := m.AggregateVanillaQuantity.Size()
  5277  		i -= size
  5278  		if _, err := m.AggregateVanillaQuantity.MarshalTo(dAtA[i:]); err != nil {
  5279  			return 0, err
  5280  		}
  5281  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5282  	}
  5283  	i--
  5284  	dAtA[i] = 0x22
  5285  	{
  5286  		size := m.AggregateReduceOnlyQuantity.Size()
  5287  		i -= size
  5288  		if _, err := m.AggregateReduceOnlyQuantity.MarshalTo(dAtA[i:]); err != nil {
  5289  			return 0, err
  5290  		}
  5291  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5292  	}
  5293  	i--
  5294  	dAtA[i] = 0x1a
  5295  	if m.ReduceOnlyLimitOrderCount != 0 {
  5296  		i = encodeVarintExchange(dAtA, i, uint64(m.ReduceOnlyLimitOrderCount))
  5297  		i--
  5298  		dAtA[i] = 0x10
  5299  	}
  5300  	if m.VanillaLimitOrderCount != 0 {
  5301  		i = encodeVarintExchange(dAtA, i, uint64(m.VanillaLimitOrderCount))
  5302  		i--
  5303  		dAtA[i] = 0x8
  5304  	}
  5305  	return len(dAtA) - i, nil
  5306  }
  5307  
  5308  func (m *SubaccountOrder) Marshal() (dAtA []byte, err error) {
  5309  	size := m.Size()
  5310  	dAtA = make([]byte, size)
  5311  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5312  	if err != nil {
  5313  		return nil, err
  5314  	}
  5315  	return dAtA[:n], nil
  5316  }
  5317  
  5318  func (m *SubaccountOrder) MarshalTo(dAtA []byte) (int, error) {
  5319  	size := m.Size()
  5320  	return m.MarshalToSizedBuffer(dAtA[:size])
  5321  }
  5322  
  5323  func (m *SubaccountOrder) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5324  	i := len(dAtA)
  5325  	_ = i
  5326  	var l int
  5327  	_ = l
  5328  	if len(m.Cid) > 0 {
  5329  		i -= len(m.Cid)
  5330  		copy(dAtA[i:], m.Cid)
  5331  		i = encodeVarintExchange(dAtA, i, uint64(len(m.Cid)))
  5332  		i--
  5333  		dAtA[i] = 0x22
  5334  	}
  5335  	if m.IsReduceOnly {
  5336  		i--
  5337  		if m.IsReduceOnly {
  5338  			dAtA[i] = 1
  5339  		} else {
  5340  			dAtA[i] = 0
  5341  		}
  5342  		i--
  5343  		dAtA[i] = 0x18
  5344  	}
  5345  	{
  5346  		size := m.Quantity.Size()
  5347  		i -= size
  5348  		if _, err := m.Quantity.MarshalTo(dAtA[i:]); err != nil {
  5349  			return 0, err
  5350  		}
  5351  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5352  	}
  5353  	i--
  5354  	dAtA[i] = 0x12
  5355  	{
  5356  		size := m.Price.Size()
  5357  		i -= size
  5358  		if _, err := m.Price.MarshalTo(dAtA[i:]); err != nil {
  5359  			return 0, err
  5360  		}
  5361  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5362  	}
  5363  	i--
  5364  	dAtA[i] = 0xa
  5365  	return len(dAtA) - i, nil
  5366  }
  5367  
  5368  func (m *SubaccountOrderData) Marshal() (dAtA []byte, err error) {
  5369  	size := m.Size()
  5370  	dAtA = make([]byte, size)
  5371  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5372  	if err != nil {
  5373  		return nil, err
  5374  	}
  5375  	return dAtA[:n], nil
  5376  }
  5377  
  5378  func (m *SubaccountOrderData) MarshalTo(dAtA []byte) (int, error) {
  5379  	size := m.Size()
  5380  	return m.MarshalToSizedBuffer(dAtA[:size])
  5381  }
  5382  
  5383  func (m *SubaccountOrderData) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5384  	i := len(dAtA)
  5385  	_ = i
  5386  	var l int
  5387  	_ = l
  5388  	if len(m.OrderHash) > 0 {
  5389  		i -= len(m.OrderHash)
  5390  		copy(dAtA[i:], m.OrderHash)
  5391  		i = encodeVarintExchange(dAtA, i, uint64(len(m.OrderHash)))
  5392  		i--
  5393  		dAtA[i] = 0x12
  5394  	}
  5395  	if m.Order != nil {
  5396  		{
  5397  			size, err := m.Order.MarshalToSizedBuffer(dAtA[:i])
  5398  			if err != nil {
  5399  				return 0, err
  5400  			}
  5401  			i -= size
  5402  			i = encodeVarintExchange(dAtA, i, uint64(size))
  5403  		}
  5404  		i--
  5405  		dAtA[i] = 0xa
  5406  	}
  5407  	return len(dAtA) - i, nil
  5408  }
  5409  
  5410  func (m *DerivativeLimitOrder) Marshal() (dAtA []byte, err error) {
  5411  	size := m.Size()
  5412  	dAtA = make([]byte, size)
  5413  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5414  	if err != nil {
  5415  		return nil, err
  5416  	}
  5417  	return dAtA[:n], nil
  5418  }
  5419  
  5420  func (m *DerivativeLimitOrder) MarshalTo(dAtA []byte) (int, error) {
  5421  	size := m.Size()
  5422  	return m.MarshalToSizedBuffer(dAtA[:size])
  5423  }
  5424  
  5425  func (m *DerivativeLimitOrder) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5426  	i := len(dAtA)
  5427  	_ = i
  5428  	var l int
  5429  	_ = l
  5430  	if len(m.OrderHash) > 0 {
  5431  		i -= len(m.OrderHash)
  5432  		copy(dAtA[i:], m.OrderHash)
  5433  		i = encodeVarintExchange(dAtA, i, uint64(len(m.OrderHash)))
  5434  		i--
  5435  		dAtA[i] = 0x32
  5436  	}
  5437  	if m.TriggerPrice != nil {
  5438  		{
  5439  			size := m.TriggerPrice.Size()
  5440  			i -= size
  5441  			if _, err := m.TriggerPrice.MarshalTo(dAtA[i:]); err != nil {
  5442  				return 0, err
  5443  			}
  5444  			i = encodeVarintExchange(dAtA, i, uint64(size))
  5445  		}
  5446  		i--
  5447  		dAtA[i] = 0x2a
  5448  	}
  5449  	{
  5450  		size := m.Fillable.Size()
  5451  		i -= size
  5452  		if _, err := m.Fillable.MarshalTo(dAtA[i:]); err != nil {
  5453  			return 0, err
  5454  		}
  5455  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5456  	}
  5457  	i--
  5458  	dAtA[i] = 0x22
  5459  	{
  5460  		size := m.Margin.Size()
  5461  		i -= size
  5462  		if _, err := m.Margin.MarshalTo(dAtA[i:]); err != nil {
  5463  			return 0, err
  5464  		}
  5465  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5466  	}
  5467  	i--
  5468  	dAtA[i] = 0x1a
  5469  	if m.OrderType != 0 {
  5470  		i = encodeVarintExchange(dAtA, i, uint64(m.OrderType))
  5471  		i--
  5472  		dAtA[i] = 0x10
  5473  	}
  5474  	{
  5475  		size, err := m.OrderInfo.MarshalToSizedBuffer(dAtA[:i])
  5476  		if err != nil {
  5477  			return 0, err
  5478  		}
  5479  		i -= size
  5480  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5481  	}
  5482  	i--
  5483  	dAtA[i] = 0xa
  5484  	return len(dAtA) - i, nil
  5485  }
  5486  
  5487  func (m *DerivativeMarketOrder) Marshal() (dAtA []byte, err error) {
  5488  	size := m.Size()
  5489  	dAtA = make([]byte, size)
  5490  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5491  	if err != nil {
  5492  		return nil, err
  5493  	}
  5494  	return dAtA[:n], nil
  5495  }
  5496  
  5497  func (m *DerivativeMarketOrder) MarshalTo(dAtA []byte) (int, error) {
  5498  	size := m.Size()
  5499  	return m.MarshalToSizedBuffer(dAtA[:size])
  5500  }
  5501  
  5502  func (m *DerivativeMarketOrder) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5503  	i := len(dAtA)
  5504  	_ = i
  5505  	var l int
  5506  	_ = l
  5507  	if len(m.OrderHash) > 0 {
  5508  		i -= len(m.OrderHash)
  5509  		copy(dAtA[i:], m.OrderHash)
  5510  		i = encodeVarintExchange(dAtA, i, uint64(len(m.OrderHash)))
  5511  		i--
  5512  		dAtA[i] = 0x32
  5513  	}
  5514  	if m.TriggerPrice != nil {
  5515  		{
  5516  			size := m.TriggerPrice.Size()
  5517  			i -= size
  5518  			if _, err := m.TriggerPrice.MarshalTo(dAtA[i:]); err != nil {
  5519  				return 0, err
  5520  			}
  5521  			i = encodeVarintExchange(dAtA, i, uint64(size))
  5522  		}
  5523  		i--
  5524  		dAtA[i] = 0x2a
  5525  	}
  5526  	{
  5527  		size := m.MarginHold.Size()
  5528  		i -= size
  5529  		if _, err := m.MarginHold.MarshalTo(dAtA[i:]); err != nil {
  5530  			return 0, err
  5531  		}
  5532  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5533  	}
  5534  	i--
  5535  	dAtA[i] = 0x22
  5536  	{
  5537  		size := m.Margin.Size()
  5538  		i -= size
  5539  		if _, err := m.Margin.MarshalTo(dAtA[i:]); err != nil {
  5540  			return 0, err
  5541  		}
  5542  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5543  	}
  5544  	i--
  5545  	dAtA[i] = 0x1a
  5546  	if m.OrderType != 0 {
  5547  		i = encodeVarintExchange(dAtA, i, uint64(m.OrderType))
  5548  		i--
  5549  		dAtA[i] = 0x10
  5550  	}
  5551  	{
  5552  		size, err := m.OrderInfo.MarshalToSizedBuffer(dAtA[:i])
  5553  		if err != nil {
  5554  			return 0, err
  5555  		}
  5556  		i -= size
  5557  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5558  	}
  5559  	i--
  5560  	dAtA[i] = 0xa
  5561  	return len(dAtA) - i, nil
  5562  }
  5563  
  5564  func (m *Position) Marshal() (dAtA []byte, err error) {
  5565  	size := m.Size()
  5566  	dAtA = make([]byte, size)
  5567  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5568  	if err != nil {
  5569  		return nil, err
  5570  	}
  5571  	return dAtA[:n], nil
  5572  }
  5573  
  5574  func (m *Position) MarshalTo(dAtA []byte) (int, error) {
  5575  	size := m.Size()
  5576  	return m.MarshalToSizedBuffer(dAtA[:size])
  5577  }
  5578  
  5579  func (m *Position) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5580  	i := len(dAtA)
  5581  	_ = i
  5582  	var l int
  5583  	_ = l
  5584  	{
  5585  		size := m.CumulativeFundingEntry.Size()
  5586  		i -= size
  5587  		if _, err := m.CumulativeFundingEntry.MarshalTo(dAtA[i:]); err != nil {
  5588  			return 0, err
  5589  		}
  5590  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5591  	}
  5592  	i--
  5593  	dAtA[i] = 0x2a
  5594  	{
  5595  		size := m.Margin.Size()
  5596  		i -= size
  5597  		if _, err := m.Margin.MarshalTo(dAtA[i:]); err != nil {
  5598  			return 0, err
  5599  		}
  5600  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5601  	}
  5602  	i--
  5603  	dAtA[i] = 0x22
  5604  	{
  5605  		size := m.EntryPrice.Size()
  5606  		i -= size
  5607  		if _, err := m.EntryPrice.MarshalTo(dAtA[i:]); err != nil {
  5608  			return 0, err
  5609  		}
  5610  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5611  	}
  5612  	i--
  5613  	dAtA[i] = 0x1a
  5614  	{
  5615  		size := m.Quantity.Size()
  5616  		i -= size
  5617  		if _, err := m.Quantity.MarshalTo(dAtA[i:]); err != nil {
  5618  			return 0, err
  5619  		}
  5620  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5621  	}
  5622  	i--
  5623  	dAtA[i] = 0x12
  5624  	if m.IsLong {
  5625  		i--
  5626  		if m.IsLong {
  5627  			dAtA[i] = 1
  5628  		} else {
  5629  			dAtA[i] = 0
  5630  		}
  5631  		i--
  5632  		dAtA[i] = 0x8
  5633  	}
  5634  	return len(dAtA) - i, nil
  5635  }
  5636  
  5637  func (m *MarketOrderIndicator) Marshal() (dAtA []byte, err error) {
  5638  	size := m.Size()
  5639  	dAtA = make([]byte, size)
  5640  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5641  	if err != nil {
  5642  		return nil, err
  5643  	}
  5644  	return dAtA[:n], nil
  5645  }
  5646  
  5647  func (m *MarketOrderIndicator) MarshalTo(dAtA []byte) (int, error) {
  5648  	size := m.Size()
  5649  	return m.MarshalToSizedBuffer(dAtA[:size])
  5650  }
  5651  
  5652  func (m *MarketOrderIndicator) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5653  	i := len(dAtA)
  5654  	_ = i
  5655  	var l int
  5656  	_ = l
  5657  	if m.IsBuy {
  5658  		i--
  5659  		if m.IsBuy {
  5660  			dAtA[i] = 1
  5661  		} else {
  5662  			dAtA[i] = 0
  5663  		}
  5664  		i--
  5665  		dAtA[i] = 0x10
  5666  	}
  5667  	if len(m.MarketId) > 0 {
  5668  		i -= len(m.MarketId)
  5669  		copy(dAtA[i:], m.MarketId)
  5670  		i = encodeVarintExchange(dAtA, i, uint64(len(m.MarketId)))
  5671  		i--
  5672  		dAtA[i] = 0xa
  5673  	}
  5674  	return len(dAtA) - i, nil
  5675  }
  5676  
  5677  func (m *TradeLog) Marshal() (dAtA []byte, err error) {
  5678  	size := m.Size()
  5679  	dAtA = make([]byte, size)
  5680  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5681  	if err != nil {
  5682  		return nil, err
  5683  	}
  5684  	return dAtA[:n], nil
  5685  }
  5686  
  5687  func (m *TradeLog) MarshalTo(dAtA []byte) (int, error) {
  5688  	size := m.Size()
  5689  	return m.MarshalToSizedBuffer(dAtA[:size])
  5690  }
  5691  
  5692  func (m *TradeLog) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5693  	i := len(dAtA)
  5694  	_ = i
  5695  	var l int
  5696  	_ = l
  5697  	if len(m.Cid) > 0 {
  5698  		i -= len(m.Cid)
  5699  		copy(dAtA[i:], m.Cid)
  5700  		i = encodeVarintExchange(dAtA, i, uint64(len(m.Cid)))
  5701  		i--
  5702  		dAtA[i] = 0x3a
  5703  	}
  5704  	if len(m.FeeRecipientAddress) > 0 {
  5705  		i -= len(m.FeeRecipientAddress)
  5706  		copy(dAtA[i:], m.FeeRecipientAddress)
  5707  		i = encodeVarintExchange(dAtA, i, uint64(len(m.FeeRecipientAddress)))
  5708  		i--
  5709  		dAtA[i] = 0x32
  5710  	}
  5711  	if len(m.OrderHash) > 0 {
  5712  		i -= len(m.OrderHash)
  5713  		copy(dAtA[i:], m.OrderHash)
  5714  		i = encodeVarintExchange(dAtA, i, uint64(len(m.OrderHash)))
  5715  		i--
  5716  		dAtA[i] = 0x2a
  5717  	}
  5718  	{
  5719  		size := m.Fee.Size()
  5720  		i -= size
  5721  		if _, err := m.Fee.MarshalTo(dAtA[i:]); err != nil {
  5722  			return 0, err
  5723  		}
  5724  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5725  	}
  5726  	i--
  5727  	dAtA[i] = 0x22
  5728  	if len(m.SubaccountId) > 0 {
  5729  		i -= len(m.SubaccountId)
  5730  		copy(dAtA[i:], m.SubaccountId)
  5731  		i = encodeVarintExchange(dAtA, i, uint64(len(m.SubaccountId)))
  5732  		i--
  5733  		dAtA[i] = 0x1a
  5734  	}
  5735  	{
  5736  		size := m.Price.Size()
  5737  		i -= size
  5738  		if _, err := m.Price.MarshalTo(dAtA[i:]); err != nil {
  5739  			return 0, err
  5740  		}
  5741  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5742  	}
  5743  	i--
  5744  	dAtA[i] = 0x12
  5745  	{
  5746  		size := m.Quantity.Size()
  5747  		i -= size
  5748  		if _, err := m.Quantity.MarshalTo(dAtA[i:]); err != nil {
  5749  			return 0, err
  5750  		}
  5751  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5752  	}
  5753  	i--
  5754  	dAtA[i] = 0xa
  5755  	return len(dAtA) - i, nil
  5756  }
  5757  
  5758  func (m *PositionDelta) Marshal() (dAtA []byte, err error) {
  5759  	size := m.Size()
  5760  	dAtA = make([]byte, size)
  5761  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5762  	if err != nil {
  5763  		return nil, err
  5764  	}
  5765  	return dAtA[:n], nil
  5766  }
  5767  
  5768  func (m *PositionDelta) MarshalTo(dAtA []byte) (int, error) {
  5769  	size := m.Size()
  5770  	return m.MarshalToSizedBuffer(dAtA[:size])
  5771  }
  5772  
  5773  func (m *PositionDelta) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5774  	i := len(dAtA)
  5775  	_ = i
  5776  	var l int
  5777  	_ = l
  5778  	{
  5779  		size := m.ExecutionPrice.Size()
  5780  		i -= size
  5781  		if _, err := m.ExecutionPrice.MarshalTo(dAtA[i:]); err != nil {
  5782  			return 0, err
  5783  		}
  5784  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5785  	}
  5786  	i--
  5787  	dAtA[i] = 0x22
  5788  	{
  5789  		size := m.ExecutionMargin.Size()
  5790  		i -= size
  5791  		if _, err := m.ExecutionMargin.MarshalTo(dAtA[i:]); err != nil {
  5792  			return 0, err
  5793  		}
  5794  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5795  	}
  5796  	i--
  5797  	dAtA[i] = 0x1a
  5798  	{
  5799  		size := m.ExecutionQuantity.Size()
  5800  		i -= size
  5801  		if _, err := m.ExecutionQuantity.MarshalTo(dAtA[i:]); err != nil {
  5802  			return 0, err
  5803  		}
  5804  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5805  	}
  5806  	i--
  5807  	dAtA[i] = 0x12
  5808  	if m.IsLong {
  5809  		i--
  5810  		if m.IsLong {
  5811  			dAtA[i] = 1
  5812  		} else {
  5813  			dAtA[i] = 0
  5814  		}
  5815  		i--
  5816  		dAtA[i] = 0x8
  5817  	}
  5818  	return len(dAtA) - i, nil
  5819  }
  5820  
  5821  func (m *DerivativeTradeLog) Marshal() (dAtA []byte, err error) {
  5822  	size := m.Size()
  5823  	dAtA = make([]byte, size)
  5824  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5825  	if err != nil {
  5826  		return nil, err
  5827  	}
  5828  	return dAtA[:n], nil
  5829  }
  5830  
  5831  func (m *DerivativeTradeLog) MarshalTo(dAtA []byte) (int, error) {
  5832  	size := m.Size()
  5833  	return m.MarshalToSizedBuffer(dAtA[:size])
  5834  }
  5835  
  5836  func (m *DerivativeTradeLog) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5837  	i := len(dAtA)
  5838  	_ = i
  5839  	var l int
  5840  	_ = l
  5841  	{
  5842  		size := m.Pnl.Size()
  5843  		i -= size
  5844  		if _, err := m.Pnl.MarshalTo(dAtA[i:]); err != nil {
  5845  			return 0, err
  5846  		}
  5847  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5848  	}
  5849  	i--
  5850  	dAtA[i] = 0x42
  5851  	if len(m.Cid) > 0 {
  5852  		i -= len(m.Cid)
  5853  		copy(dAtA[i:], m.Cid)
  5854  		i = encodeVarintExchange(dAtA, i, uint64(len(m.Cid)))
  5855  		i--
  5856  		dAtA[i] = 0x3a
  5857  	}
  5858  	if len(m.FeeRecipientAddress) > 0 {
  5859  		i -= len(m.FeeRecipientAddress)
  5860  		copy(dAtA[i:], m.FeeRecipientAddress)
  5861  		i = encodeVarintExchange(dAtA, i, uint64(len(m.FeeRecipientAddress)))
  5862  		i--
  5863  		dAtA[i] = 0x32
  5864  	}
  5865  	if len(m.OrderHash) > 0 {
  5866  		i -= len(m.OrderHash)
  5867  		copy(dAtA[i:], m.OrderHash)
  5868  		i = encodeVarintExchange(dAtA, i, uint64(len(m.OrderHash)))
  5869  		i--
  5870  		dAtA[i] = 0x2a
  5871  	}
  5872  	{
  5873  		size := m.Fee.Size()
  5874  		i -= size
  5875  		if _, err := m.Fee.MarshalTo(dAtA[i:]); err != nil {
  5876  			return 0, err
  5877  		}
  5878  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5879  	}
  5880  	i--
  5881  	dAtA[i] = 0x22
  5882  	{
  5883  		size := m.Payout.Size()
  5884  		i -= size
  5885  		if _, err := m.Payout.MarshalTo(dAtA[i:]); err != nil {
  5886  			return 0, err
  5887  		}
  5888  		i = encodeVarintExchange(dAtA, i, uint64(size))
  5889  	}
  5890  	i--
  5891  	dAtA[i] = 0x1a
  5892  	if m.PositionDelta != nil {
  5893  		{
  5894  			size, err := m.PositionDelta.MarshalToSizedBuffer(dAtA[:i])
  5895  			if err != nil {
  5896  				return 0, err
  5897  			}
  5898  			i -= size
  5899  			i = encodeVarintExchange(dAtA, i, uint64(size))
  5900  		}
  5901  		i--
  5902  		dAtA[i] = 0x12
  5903  	}
  5904  	if len(m.SubaccountId) > 0 {
  5905  		i -= len(m.SubaccountId)
  5906  		copy(dAtA[i:], m.SubaccountId)
  5907  		i = encodeVarintExchange(dAtA, i, uint64(len(m.SubaccountId)))
  5908  		i--
  5909  		dAtA[i] = 0xa
  5910  	}
  5911  	return len(dAtA) - i, nil
  5912  }
  5913  
  5914  func (m *SubaccountPosition) Marshal() (dAtA []byte, err error) {
  5915  	size := m.Size()
  5916  	dAtA = make([]byte, size)
  5917  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5918  	if err != nil {
  5919  		return nil, err
  5920  	}
  5921  	return dAtA[:n], nil
  5922  }
  5923  
  5924  func (m *SubaccountPosition) MarshalTo(dAtA []byte) (int, error) {
  5925  	size := m.Size()
  5926  	return m.MarshalToSizedBuffer(dAtA[:size])
  5927  }
  5928  
  5929  func (m *SubaccountPosition) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5930  	i := len(dAtA)
  5931  	_ = i
  5932  	var l int
  5933  	_ = l
  5934  	if len(m.SubaccountId) > 0 {
  5935  		i -= len(m.SubaccountId)
  5936  		copy(dAtA[i:], m.SubaccountId)
  5937  		i = encodeVarintExchange(dAtA, i, uint64(len(m.SubaccountId)))
  5938  		i--
  5939  		dAtA[i] = 0x12
  5940  	}
  5941  	if m.Position != nil {
  5942  		{
  5943  			size, err := m.Position.MarshalToSizedBuffer(dAtA[:i])
  5944  			if err != nil {
  5945  				return 0, err
  5946  			}
  5947  			i -= size
  5948  			i = encodeVarintExchange(dAtA, i, uint64(size))
  5949  		}
  5950  		i--
  5951  		dAtA[i] = 0xa
  5952  	}
  5953  	return len(dAtA) - i, nil
  5954  }
  5955  
  5956  func (m *SubaccountDeposit) Marshal() (dAtA []byte, err error) {
  5957  	size := m.Size()
  5958  	dAtA = make([]byte, size)
  5959  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5960  	if err != nil {
  5961  		return nil, err
  5962  	}
  5963  	return dAtA[:n], nil
  5964  }
  5965  
  5966  func (m *SubaccountDeposit) MarshalTo(dAtA []byte) (int, error) {
  5967  	size := m.Size()
  5968  	return m.MarshalToSizedBuffer(dAtA[:size])
  5969  }
  5970  
  5971  func (m *SubaccountDeposit) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5972  	i := len(dAtA)
  5973  	_ = i
  5974  	var l int
  5975  	_ = l
  5976  	if m.Deposit != nil {
  5977  		{
  5978  			size, err := m.Deposit.MarshalToSizedBuffer(dAtA[:i])
  5979  			if err != nil {
  5980  				return 0, err
  5981  			}
  5982  			i -= size
  5983  			i = encodeVarintExchange(dAtA, i, uint64(size))
  5984  		}
  5985  		i--
  5986  		dAtA[i] = 0x12
  5987  	}
  5988  	if len(m.SubaccountId) > 0 {
  5989  		i -= len(m.SubaccountId)
  5990  		copy(dAtA[i:], m.SubaccountId)
  5991  		i = encodeVarintExchange(dAtA, i, uint64(len(m.SubaccountId)))
  5992  		i--
  5993  		dAtA[i] = 0xa
  5994  	}
  5995  	return len(dAtA) - i, nil
  5996  }
  5997  
  5998  func (m *DepositUpdate) Marshal() (dAtA []byte, err error) {
  5999  	size := m.Size()
  6000  	dAtA = make([]byte, size)
  6001  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6002  	if err != nil {
  6003  		return nil, err
  6004  	}
  6005  	return dAtA[:n], nil
  6006  }
  6007  
  6008  func (m *DepositUpdate) MarshalTo(dAtA []byte) (int, error) {
  6009  	size := m.Size()
  6010  	return m.MarshalToSizedBuffer(dAtA[:size])
  6011  }
  6012  
  6013  func (m *DepositUpdate) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6014  	i := len(dAtA)
  6015  	_ = i
  6016  	var l int
  6017  	_ = l
  6018  	if len(m.Deposits) > 0 {
  6019  		for iNdEx := len(m.Deposits) - 1; iNdEx >= 0; iNdEx-- {
  6020  			{
  6021  				size, err := m.Deposits[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  6022  				if err != nil {
  6023  					return 0, err
  6024  				}
  6025  				i -= size
  6026  				i = encodeVarintExchange(dAtA, i, uint64(size))
  6027  			}
  6028  			i--
  6029  			dAtA[i] = 0x12
  6030  		}
  6031  	}
  6032  	if len(m.Denom) > 0 {
  6033  		i -= len(m.Denom)
  6034  		copy(dAtA[i:], m.Denom)
  6035  		i = encodeVarintExchange(dAtA, i, uint64(len(m.Denom)))
  6036  		i--
  6037  		dAtA[i] = 0xa
  6038  	}
  6039  	return len(dAtA) - i, nil
  6040  }
  6041  
  6042  func (m *PointsMultiplier) Marshal() (dAtA []byte, err error) {
  6043  	size := m.Size()
  6044  	dAtA = make([]byte, size)
  6045  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6046  	if err != nil {
  6047  		return nil, err
  6048  	}
  6049  	return dAtA[:n], nil
  6050  }
  6051  
  6052  func (m *PointsMultiplier) MarshalTo(dAtA []byte) (int, error) {
  6053  	size := m.Size()
  6054  	return m.MarshalToSizedBuffer(dAtA[:size])
  6055  }
  6056  
  6057  func (m *PointsMultiplier) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6058  	i := len(dAtA)
  6059  	_ = i
  6060  	var l int
  6061  	_ = l
  6062  	{
  6063  		size := m.TakerPointsMultiplier.Size()
  6064  		i -= size
  6065  		if _, err := m.TakerPointsMultiplier.MarshalTo(dAtA[i:]); err != nil {
  6066  			return 0, err
  6067  		}
  6068  		i = encodeVarintExchange(dAtA, i, uint64(size))
  6069  	}
  6070  	i--
  6071  	dAtA[i] = 0x12
  6072  	{
  6073  		size := m.MakerPointsMultiplier.Size()
  6074  		i -= size
  6075  		if _, err := m.MakerPointsMultiplier.MarshalTo(dAtA[i:]); err != nil {
  6076  			return 0, err
  6077  		}
  6078  		i = encodeVarintExchange(dAtA, i, uint64(size))
  6079  	}
  6080  	i--
  6081  	dAtA[i] = 0xa
  6082  	return len(dAtA) - i, nil
  6083  }
  6084  
  6085  func (m *TradingRewardCampaignBoostInfo) Marshal() (dAtA []byte, err error) {
  6086  	size := m.Size()
  6087  	dAtA = make([]byte, size)
  6088  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6089  	if err != nil {
  6090  		return nil, err
  6091  	}
  6092  	return dAtA[:n], nil
  6093  }
  6094  
  6095  func (m *TradingRewardCampaignBoostInfo) MarshalTo(dAtA []byte) (int, error) {
  6096  	size := m.Size()
  6097  	return m.MarshalToSizedBuffer(dAtA[:size])
  6098  }
  6099  
  6100  func (m *TradingRewardCampaignBoostInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6101  	i := len(dAtA)
  6102  	_ = i
  6103  	var l int
  6104  	_ = l
  6105  	if len(m.DerivativeMarketMultipliers) > 0 {
  6106  		for iNdEx := len(m.DerivativeMarketMultipliers) - 1; iNdEx >= 0; iNdEx-- {
  6107  			{
  6108  				size, err := m.DerivativeMarketMultipliers[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  6109  				if err != nil {
  6110  					return 0, err
  6111  				}
  6112  				i -= size
  6113  				i = encodeVarintExchange(dAtA, i, uint64(size))
  6114  			}
  6115  			i--
  6116  			dAtA[i] = 0x22
  6117  		}
  6118  	}
  6119  	if len(m.BoostedDerivativeMarketIds) > 0 {
  6120  		for iNdEx := len(m.BoostedDerivativeMarketIds) - 1; iNdEx >= 0; iNdEx-- {
  6121  			i -= len(m.BoostedDerivativeMarketIds[iNdEx])
  6122  			copy(dAtA[i:], m.BoostedDerivativeMarketIds[iNdEx])
  6123  			i = encodeVarintExchange(dAtA, i, uint64(len(m.BoostedDerivativeMarketIds[iNdEx])))
  6124  			i--
  6125  			dAtA[i] = 0x1a
  6126  		}
  6127  	}
  6128  	if len(m.SpotMarketMultipliers) > 0 {
  6129  		for iNdEx := len(m.SpotMarketMultipliers) - 1; iNdEx >= 0; iNdEx-- {
  6130  			{
  6131  				size, err := m.SpotMarketMultipliers[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  6132  				if err != nil {
  6133  					return 0, err
  6134  				}
  6135  				i -= size
  6136  				i = encodeVarintExchange(dAtA, i, uint64(size))
  6137  			}
  6138  			i--
  6139  			dAtA[i] = 0x12
  6140  		}
  6141  	}
  6142  	if len(m.BoostedSpotMarketIds) > 0 {
  6143  		for iNdEx := len(m.BoostedSpotMarketIds) - 1; iNdEx >= 0; iNdEx-- {
  6144  			i -= len(m.BoostedSpotMarketIds[iNdEx])
  6145  			copy(dAtA[i:], m.BoostedSpotMarketIds[iNdEx])
  6146  			i = encodeVarintExchange(dAtA, i, uint64(len(m.BoostedSpotMarketIds[iNdEx])))
  6147  			i--
  6148  			dAtA[i] = 0xa
  6149  		}
  6150  	}
  6151  	return len(dAtA) - i, nil
  6152  }
  6153  
  6154  func (m *CampaignRewardPool) Marshal() (dAtA []byte, err error) {
  6155  	size := m.Size()
  6156  	dAtA = make([]byte, size)
  6157  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6158  	if err != nil {
  6159  		return nil, err
  6160  	}
  6161  	return dAtA[:n], nil
  6162  }
  6163  
  6164  func (m *CampaignRewardPool) MarshalTo(dAtA []byte) (int, error) {
  6165  	size := m.Size()
  6166  	return m.MarshalToSizedBuffer(dAtA[:size])
  6167  }
  6168  
  6169  func (m *CampaignRewardPool) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6170  	i := len(dAtA)
  6171  	_ = i
  6172  	var l int
  6173  	_ = l
  6174  	if len(m.MaxCampaignRewards) > 0 {
  6175  		for iNdEx := len(m.MaxCampaignRewards) - 1; iNdEx >= 0; iNdEx-- {
  6176  			{
  6177  				size, err := m.MaxCampaignRewards[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  6178  				if err != nil {
  6179  					return 0, err
  6180  				}
  6181  				i -= size
  6182  				i = encodeVarintExchange(dAtA, i, uint64(size))
  6183  			}
  6184  			i--
  6185  			dAtA[i] = 0x12
  6186  		}
  6187  	}
  6188  	if m.StartTimestamp != 0 {
  6189  		i = encodeVarintExchange(dAtA, i, uint64(m.StartTimestamp))
  6190  		i--
  6191  		dAtA[i] = 0x8
  6192  	}
  6193  	return len(dAtA) - i, nil
  6194  }
  6195  
  6196  func (m *TradingRewardCampaignInfo) Marshal() (dAtA []byte, err error) {
  6197  	size := m.Size()
  6198  	dAtA = make([]byte, size)
  6199  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6200  	if err != nil {
  6201  		return nil, err
  6202  	}
  6203  	return dAtA[:n], nil
  6204  }
  6205  
  6206  func (m *TradingRewardCampaignInfo) MarshalTo(dAtA []byte) (int, error) {
  6207  	size := m.Size()
  6208  	return m.MarshalToSizedBuffer(dAtA[:size])
  6209  }
  6210  
  6211  func (m *TradingRewardCampaignInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6212  	i := len(dAtA)
  6213  	_ = i
  6214  	var l int
  6215  	_ = l
  6216  	if len(m.DisqualifiedMarketIds) > 0 {
  6217  		for iNdEx := len(m.DisqualifiedMarketIds) - 1; iNdEx >= 0; iNdEx-- {
  6218  			i -= len(m.DisqualifiedMarketIds[iNdEx])
  6219  			copy(dAtA[i:], m.DisqualifiedMarketIds[iNdEx])
  6220  			i = encodeVarintExchange(dAtA, i, uint64(len(m.DisqualifiedMarketIds[iNdEx])))
  6221  			i--
  6222  			dAtA[i] = 0x22
  6223  		}
  6224  	}
  6225  	if m.TradingRewardBoostInfo != nil {
  6226  		{
  6227  			size, err := m.TradingRewardBoostInfo.MarshalToSizedBuffer(dAtA[:i])
  6228  			if err != nil {
  6229  				return 0, err
  6230  			}
  6231  			i -= size
  6232  			i = encodeVarintExchange(dAtA, i, uint64(size))
  6233  		}
  6234  		i--
  6235  		dAtA[i] = 0x1a
  6236  	}
  6237  	if len(m.QuoteDenoms) > 0 {
  6238  		for iNdEx := len(m.QuoteDenoms) - 1; iNdEx >= 0; iNdEx-- {
  6239  			i -= len(m.QuoteDenoms[iNdEx])
  6240  			copy(dAtA[i:], m.QuoteDenoms[iNdEx])
  6241  			i = encodeVarintExchange(dAtA, i, uint64(len(m.QuoteDenoms[iNdEx])))
  6242  			i--
  6243  			dAtA[i] = 0x12
  6244  		}
  6245  	}
  6246  	if m.CampaignDurationSeconds != 0 {
  6247  		i = encodeVarintExchange(dAtA, i, uint64(m.CampaignDurationSeconds))
  6248  		i--
  6249  		dAtA[i] = 0x8
  6250  	}
  6251  	return len(dAtA) - i, nil
  6252  }
  6253  
  6254  func (m *FeeDiscountTierInfo) Marshal() (dAtA []byte, err error) {
  6255  	size := m.Size()
  6256  	dAtA = make([]byte, size)
  6257  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6258  	if err != nil {
  6259  		return nil, err
  6260  	}
  6261  	return dAtA[:n], nil
  6262  }
  6263  
  6264  func (m *FeeDiscountTierInfo) MarshalTo(dAtA []byte) (int, error) {
  6265  	size := m.Size()
  6266  	return m.MarshalToSizedBuffer(dAtA[:size])
  6267  }
  6268  
  6269  func (m *FeeDiscountTierInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6270  	i := len(dAtA)
  6271  	_ = i
  6272  	var l int
  6273  	_ = l
  6274  	{
  6275  		size := m.Volume.Size()
  6276  		i -= size
  6277  		if _, err := m.Volume.MarshalTo(dAtA[i:]); err != nil {
  6278  			return 0, err
  6279  		}
  6280  		i = encodeVarintExchange(dAtA, i, uint64(size))
  6281  	}
  6282  	i--
  6283  	dAtA[i] = 0x22
  6284  	{
  6285  		size := m.StakedAmount.Size()
  6286  		i -= size
  6287  		if _, err := m.StakedAmount.MarshalTo(dAtA[i:]); err != nil {
  6288  			return 0, err
  6289  		}
  6290  		i = encodeVarintExchange(dAtA, i, uint64(size))
  6291  	}
  6292  	i--
  6293  	dAtA[i] = 0x1a
  6294  	{
  6295  		size := m.TakerDiscountRate.Size()
  6296  		i -= size
  6297  		if _, err := m.TakerDiscountRate.MarshalTo(dAtA[i:]); err != nil {
  6298  			return 0, err
  6299  		}
  6300  		i = encodeVarintExchange(dAtA, i, uint64(size))
  6301  	}
  6302  	i--
  6303  	dAtA[i] = 0x12
  6304  	{
  6305  		size := m.MakerDiscountRate.Size()
  6306  		i -= size
  6307  		if _, err := m.MakerDiscountRate.MarshalTo(dAtA[i:]); err != nil {
  6308  			return 0, err
  6309  		}
  6310  		i = encodeVarintExchange(dAtA, i, uint64(size))
  6311  	}
  6312  	i--
  6313  	dAtA[i] = 0xa
  6314  	return len(dAtA) - i, nil
  6315  }
  6316  
  6317  func (m *FeeDiscountSchedule) Marshal() (dAtA []byte, err error) {
  6318  	size := m.Size()
  6319  	dAtA = make([]byte, size)
  6320  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6321  	if err != nil {
  6322  		return nil, err
  6323  	}
  6324  	return dAtA[:n], nil
  6325  }
  6326  
  6327  func (m *FeeDiscountSchedule) MarshalTo(dAtA []byte) (int, error) {
  6328  	size := m.Size()
  6329  	return m.MarshalToSizedBuffer(dAtA[:size])
  6330  }
  6331  
  6332  func (m *FeeDiscountSchedule) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6333  	i := len(dAtA)
  6334  	_ = i
  6335  	var l int
  6336  	_ = l
  6337  	if len(m.DisqualifiedMarketIds) > 0 {
  6338  		for iNdEx := len(m.DisqualifiedMarketIds) - 1; iNdEx >= 0; iNdEx-- {
  6339  			i -= len(m.DisqualifiedMarketIds[iNdEx])
  6340  			copy(dAtA[i:], m.DisqualifiedMarketIds[iNdEx])
  6341  			i = encodeVarintExchange(dAtA, i, uint64(len(m.DisqualifiedMarketIds[iNdEx])))
  6342  			i--
  6343  			dAtA[i] = 0x2a
  6344  		}
  6345  	}
  6346  	if len(m.TierInfos) > 0 {
  6347  		for iNdEx := len(m.TierInfos) - 1; iNdEx >= 0; iNdEx-- {
  6348  			{
  6349  				size, err := m.TierInfos[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  6350  				if err != nil {
  6351  					return 0, err
  6352  				}
  6353  				i -= size
  6354  				i = encodeVarintExchange(dAtA, i, uint64(size))
  6355  			}
  6356  			i--
  6357  			dAtA[i] = 0x22
  6358  		}
  6359  	}
  6360  	if len(m.QuoteDenoms) > 0 {
  6361  		for iNdEx := len(m.QuoteDenoms) - 1; iNdEx >= 0; iNdEx-- {
  6362  			i -= len(m.QuoteDenoms[iNdEx])
  6363  			copy(dAtA[i:], m.QuoteDenoms[iNdEx])
  6364  			i = encodeVarintExchange(dAtA, i, uint64(len(m.QuoteDenoms[iNdEx])))
  6365  			i--
  6366  			dAtA[i] = 0x1a
  6367  		}
  6368  	}
  6369  	if m.BucketDuration != 0 {
  6370  		i = encodeVarintExchange(dAtA, i, uint64(m.BucketDuration))
  6371  		i--
  6372  		dAtA[i] = 0x10
  6373  	}
  6374  	if m.BucketCount != 0 {
  6375  		i = encodeVarintExchange(dAtA, i, uint64(m.BucketCount))
  6376  		i--
  6377  		dAtA[i] = 0x8
  6378  	}
  6379  	return len(dAtA) - i, nil
  6380  }
  6381  
  6382  func (m *FeeDiscountTierTTL) Marshal() (dAtA []byte, err error) {
  6383  	size := m.Size()
  6384  	dAtA = make([]byte, size)
  6385  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6386  	if err != nil {
  6387  		return nil, err
  6388  	}
  6389  	return dAtA[:n], nil
  6390  }
  6391  
  6392  func (m *FeeDiscountTierTTL) MarshalTo(dAtA []byte) (int, error) {
  6393  	size := m.Size()
  6394  	return m.MarshalToSizedBuffer(dAtA[:size])
  6395  }
  6396  
  6397  func (m *FeeDiscountTierTTL) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6398  	i := len(dAtA)
  6399  	_ = i
  6400  	var l int
  6401  	_ = l
  6402  	if m.TtlTimestamp != 0 {
  6403  		i = encodeVarintExchange(dAtA, i, uint64(m.TtlTimestamp))
  6404  		i--
  6405  		dAtA[i] = 0x10
  6406  	}
  6407  	if m.Tier != 0 {
  6408  		i = encodeVarintExchange(dAtA, i, uint64(m.Tier))
  6409  		i--
  6410  		dAtA[i] = 0x8
  6411  	}
  6412  	return len(dAtA) - i, nil
  6413  }
  6414  
  6415  func (m *VolumeRecord) Marshal() (dAtA []byte, err error) {
  6416  	size := m.Size()
  6417  	dAtA = make([]byte, size)
  6418  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6419  	if err != nil {
  6420  		return nil, err
  6421  	}
  6422  	return dAtA[:n], nil
  6423  }
  6424  
  6425  func (m *VolumeRecord) MarshalTo(dAtA []byte) (int, error) {
  6426  	size := m.Size()
  6427  	return m.MarshalToSizedBuffer(dAtA[:size])
  6428  }
  6429  
  6430  func (m *VolumeRecord) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6431  	i := len(dAtA)
  6432  	_ = i
  6433  	var l int
  6434  	_ = l
  6435  	{
  6436  		size := m.TakerVolume.Size()
  6437  		i -= size
  6438  		if _, err := m.TakerVolume.MarshalTo(dAtA[i:]); err != nil {
  6439  			return 0, err
  6440  		}
  6441  		i = encodeVarintExchange(dAtA, i, uint64(size))
  6442  	}
  6443  	i--
  6444  	dAtA[i] = 0x12
  6445  	{
  6446  		size := m.MakerVolume.Size()
  6447  		i -= size
  6448  		if _, err := m.MakerVolume.MarshalTo(dAtA[i:]); err != nil {
  6449  			return 0, err
  6450  		}
  6451  		i = encodeVarintExchange(dAtA, i, uint64(size))
  6452  	}
  6453  	i--
  6454  	dAtA[i] = 0xa
  6455  	return len(dAtA) - i, nil
  6456  }
  6457  
  6458  func (m *AccountRewards) Marshal() (dAtA []byte, err error) {
  6459  	size := m.Size()
  6460  	dAtA = make([]byte, size)
  6461  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6462  	if err != nil {
  6463  		return nil, err
  6464  	}
  6465  	return dAtA[:n], nil
  6466  }
  6467  
  6468  func (m *AccountRewards) MarshalTo(dAtA []byte) (int, error) {
  6469  	size := m.Size()
  6470  	return m.MarshalToSizedBuffer(dAtA[:size])
  6471  }
  6472  
  6473  func (m *AccountRewards) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6474  	i := len(dAtA)
  6475  	_ = i
  6476  	var l int
  6477  	_ = l
  6478  	if len(m.Rewards) > 0 {
  6479  		for iNdEx := len(m.Rewards) - 1; iNdEx >= 0; iNdEx-- {
  6480  			{
  6481  				size, err := m.Rewards[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  6482  				if err != nil {
  6483  					return 0, err
  6484  				}
  6485  				i -= size
  6486  				i = encodeVarintExchange(dAtA, i, uint64(size))
  6487  			}
  6488  			i--
  6489  			dAtA[i] = 0x12
  6490  		}
  6491  	}
  6492  	if len(m.Account) > 0 {
  6493  		i -= len(m.Account)
  6494  		copy(dAtA[i:], m.Account)
  6495  		i = encodeVarintExchange(dAtA, i, uint64(len(m.Account)))
  6496  		i--
  6497  		dAtA[i] = 0xa
  6498  	}
  6499  	return len(dAtA) - i, nil
  6500  }
  6501  
  6502  func (m *TradeRecords) Marshal() (dAtA []byte, err error) {
  6503  	size := m.Size()
  6504  	dAtA = make([]byte, size)
  6505  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6506  	if err != nil {
  6507  		return nil, err
  6508  	}
  6509  	return dAtA[:n], nil
  6510  }
  6511  
  6512  func (m *TradeRecords) MarshalTo(dAtA []byte) (int, error) {
  6513  	size := m.Size()
  6514  	return m.MarshalToSizedBuffer(dAtA[:size])
  6515  }
  6516  
  6517  func (m *TradeRecords) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6518  	i := len(dAtA)
  6519  	_ = i
  6520  	var l int
  6521  	_ = l
  6522  	if len(m.LatestTradeRecords) > 0 {
  6523  		for iNdEx := len(m.LatestTradeRecords) - 1; iNdEx >= 0; iNdEx-- {
  6524  			{
  6525  				size, err := m.LatestTradeRecords[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  6526  				if err != nil {
  6527  					return 0, err
  6528  				}
  6529  				i -= size
  6530  				i = encodeVarintExchange(dAtA, i, uint64(size))
  6531  			}
  6532  			i--
  6533  			dAtA[i] = 0x12
  6534  		}
  6535  	}
  6536  	if len(m.MarketId) > 0 {
  6537  		i -= len(m.MarketId)
  6538  		copy(dAtA[i:], m.MarketId)
  6539  		i = encodeVarintExchange(dAtA, i, uint64(len(m.MarketId)))
  6540  		i--
  6541  		dAtA[i] = 0xa
  6542  	}
  6543  	return len(dAtA) - i, nil
  6544  }
  6545  
  6546  func (m *SubaccountIDs) Marshal() (dAtA []byte, err error) {
  6547  	size := m.Size()
  6548  	dAtA = make([]byte, size)
  6549  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6550  	if err != nil {
  6551  		return nil, err
  6552  	}
  6553  	return dAtA[:n], nil
  6554  }
  6555  
  6556  func (m *SubaccountIDs) MarshalTo(dAtA []byte) (int, error) {
  6557  	size := m.Size()
  6558  	return m.MarshalToSizedBuffer(dAtA[:size])
  6559  }
  6560  
  6561  func (m *SubaccountIDs) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6562  	i := len(dAtA)
  6563  	_ = i
  6564  	var l int
  6565  	_ = l
  6566  	if len(m.SubaccountIds) > 0 {
  6567  		for iNdEx := len(m.SubaccountIds) - 1; iNdEx >= 0; iNdEx-- {
  6568  			i -= len(m.SubaccountIds[iNdEx])
  6569  			copy(dAtA[i:], m.SubaccountIds[iNdEx])
  6570  			i = encodeVarintExchange(dAtA, i, uint64(len(m.SubaccountIds[iNdEx])))
  6571  			i--
  6572  			dAtA[i] = 0xa
  6573  		}
  6574  	}
  6575  	return len(dAtA) - i, nil
  6576  }
  6577  
  6578  func (m *TradeRecord) Marshal() (dAtA []byte, err error) {
  6579  	size := m.Size()
  6580  	dAtA = make([]byte, size)
  6581  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6582  	if err != nil {
  6583  		return nil, err
  6584  	}
  6585  	return dAtA[:n], nil
  6586  }
  6587  
  6588  func (m *TradeRecord) MarshalTo(dAtA []byte) (int, error) {
  6589  	size := m.Size()
  6590  	return m.MarshalToSizedBuffer(dAtA[:size])
  6591  }
  6592  
  6593  func (m *TradeRecord) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6594  	i := len(dAtA)
  6595  	_ = i
  6596  	var l int
  6597  	_ = l
  6598  	{
  6599  		size := m.Quantity.Size()
  6600  		i -= size
  6601  		if _, err := m.Quantity.MarshalTo(dAtA[i:]); err != nil {
  6602  			return 0, err
  6603  		}
  6604  		i = encodeVarintExchange(dAtA, i, uint64(size))
  6605  	}
  6606  	i--
  6607  	dAtA[i] = 0x1a
  6608  	{
  6609  		size := m.Price.Size()
  6610  		i -= size
  6611  		if _, err := m.Price.MarshalTo(dAtA[i:]); err != nil {
  6612  			return 0, err
  6613  		}
  6614  		i = encodeVarintExchange(dAtA, i, uint64(size))
  6615  	}
  6616  	i--
  6617  	dAtA[i] = 0x12
  6618  	if m.Timestamp != 0 {
  6619  		i = encodeVarintExchange(dAtA, i, uint64(m.Timestamp))
  6620  		i--
  6621  		dAtA[i] = 0x8
  6622  	}
  6623  	return len(dAtA) - i, nil
  6624  }
  6625  
  6626  func (m *Level) Marshal() (dAtA []byte, err error) {
  6627  	size := m.Size()
  6628  	dAtA = make([]byte, size)
  6629  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6630  	if err != nil {
  6631  		return nil, err
  6632  	}
  6633  	return dAtA[:n], nil
  6634  }
  6635  
  6636  func (m *Level) MarshalTo(dAtA []byte) (int, error) {
  6637  	size := m.Size()
  6638  	return m.MarshalToSizedBuffer(dAtA[:size])
  6639  }
  6640  
  6641  func (m *Level) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6642  	i := len(dAtA)
  6643  	_ = i
  6644  	var l int
  6645  	_ = l
  6646  	{
  6647  		size := m.Q.Size()
  6648  		i -= size
  6649  		if _, err := m.Q.MarshalTo(dAtA[i:]); err != nil {
  6650  			return 0, err
  6651  		}
  6652  		i = encodeVarintExchange(dAtA, i, uint64(size))
  6653  	}
  6654  	i--
  6655  	dAtA[i] = 0x12
  6656  	{
  6657  		size := m.P.Size()
  6658  		i -= size
  6659  		if _, err := m.P.MarshalTo(dAtA[i:]); err != nil {
  6660  			return 0, err
  6661  		}
  6662  		i = encodeVarintExchange(dAtA, i, uint64(size))
  6663  	}
  6664  	i--
  6665  	dAtA[i] = 0xa
  6666  	return len(dAtA) - i, nil
  6667  }
  6668  
  6669  func (m *AggregateSubaccountVolumeRecord) Marshal() (dAtA []byte, err error) {
  6670  	size := m.Size()
  6671  	dAtA = make([]byte, size)
  6672  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6673  	if err != nil {
  6674  		return nil, err
  6675  	}
  6676  	return dAtA[:n], nil
  6677  }
  6678  
  6679  func (m *AggregateSubaccountVolumeRecord) MarshalTo(dAtA []byte) (int, error) {
  6680  	size := m.Size()
  6681  	return m.MarshalToSizedBuffer(dAtA[:size])
  6682  }
  6683  
  6684  func (m *AggregateSubaccountVolumeRecord) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6685  	i := len(dAtA)
  6686  	_ = i
  6687  	var l int
  6688  	_ = l
  6689  	if len(m.MarketVolumes) > 0 {
  6690  		for iNdEx := len(m.MarketVolumes) - 1; iNdEx >= 0; iNdEx-- {
  6691  			{
  6692  				size, err := m.MarketVolumes[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  6693  				if err != nil {
  6694  					return 0, err
  6695  				}
  6696  				i -= size
  6697  				i = encodeVarintExchange(dAtA, i, uint64(size))
  6698  			}
  6699  			i--
  6700  			dAtA[i] = 0x12
  6701  		}
  6702  	}
  6703  	if len(m.SubaccountId) > 0 {
  6704  		i -= len(m.SubaccountId)
  6705  		copy(dAtA[i:], m.SubaccountId)
  6706  		i = encodeVarintExchange(dAtA, i, uint64(len(m.SubaccountId)))
  6707  		i--
  6708  		dAtA[i] = 0xa
  6709  	}
  6710  	return len(dAtA) - i, nil
  6711  }
  6712  
  6713  func (m *AggregateAccountVolumeRecord) Marshal() (dAtA []byte, err error) {
  6714  	size := m.Size()
  6715  	dAtA = make([]byte, size)
  6716  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6717  	if err != nil {
  6718  		return nil, err
  6719  	}
  6720  	return dAtA[:n], nil
  6721  }
  6722  
  6723  func (m *AggregateAccountVolumeRecord) MarshalTo(dAtA []byte) (int, error) {
  6724  	size := m.Size()
  6725  	return m.MarshalToSizedBuffer(dAtA[:size])
  6726  }
  6727  
  6728  func (m *AggregateAccountVolumeRecord) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6729  	i := len(dAtA)
  6730  	_ = i
  6731  	var l int
  6732  	_ = l
  6733  	if len(m.MarketVolumes) > 0 {
  6734  		for iNdEx := len(m.MarketVolumes) - 1; iNdEx >= 0; iNdEx-- {
  6735  			{
  6736  				size, err := m.MarketVolumes[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  6737  				if err != nil {
  6738  					return 0, err
  6739  				}
  6740  				i -= size
  6741  				i = encodeVarintExchange(dAtA, i, uint64(size))
  6742  			}
  6743  			i--
  6744  			dAtA[i] = 0x12
  6745  		}
  6746  	}
  6747  	if len(m.Account) > 0 {
  6748  		i -= len(m.Account)
  6749  		copy(dAtA[i:], m.Account)
  6750  		i = encodeVarintExchange(dAtA, i, uint64(len(m.Account)))
  6751  		i--
  6752  		dAtA[i] = 0xa
  6753  	}
  6754  	return len(dAtA) - i, nil
  6755  }
  6756  
  6757  func (m *MarketVolume) Marshal() (dAtA []byte, err error) {
  6758  	size := m.Size()
  6759  	dAtA = make([]byte, size)
  6760  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6761  	if err != nil {
  6762  		return nil, err
  6763  	}
  6764  	return dAtA[:n], nil
  6765  }
  6766  
  6767  func (m *MarketVolume) MarshalTo(dAtA []byte) (int, error) {
  6768  	size := m.Size()
  6769  	return m.MarshalToSizedBuffer(dAtA[:size])
  6770  }
  6771  
  6772  func (m *MarketVolume) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6773  	i := len(dAtA)
  6774  	_ = i
  6775  	var l int
  6776  	_ = l
  6777  	{
  6778  		size, err := m.Volume.MarshalToSizedBuffer(dAtA[:i])
  6779  		if err != nil {
  6780  			return 0, err
  6781  		}
  6782  		i -= size
  6783  		i = encodeVarintExchange(dAtA, i, uint64(size))
  6784  	}
  6785  	i--
  6786  	dAtA[i] = 0x12
  6787  	if len(m.MarketId) > 0 {
  6788  		i -= len(m.MarketId)
  6789  		copy(dAtA[i:], m.MarketId)
  6790  		i = encodeVarintExchange(dAtA, i, uint64(len(m.MarketId)))
  6791  		i--
  6792  		dAtA[i] = 0xa
  6793  	}
  6794  	return len(dAtA) - i, nil
  6795  }
  6796  
  6797  func (m *DenomDecimals) Marshal() (dAtA []byte, err error) {
  6798  	size := m.Size()
  6799  	dAtA = make([]byte, size)
  6800  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6801  	if err != nil {
  6802  		return nil, err
  6803  	}
  6804  	return dAtA[:n], nil
  6805  }
  6806  
  6807  func (m *DenomDecimals) MarshalTo(dAtA []byte) (int, error) {
  6808  	size := m.Size()
  6809  	return m.MarshalToSizedBuffer(dAtA[:size])
  6810  }
  6811  
  6812  func (m *DenomDecimals) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6813  	i := len(dAtA)
  6814  	_ = i
  6815  	var l int
  6816  	_ = l
  6817  	if m.Decimals != 0 {
  6818  		i = encodeVarintExchange(dAtA, i, uint64(m.Decimals))
  6819  		i--
  6820  		dAtA[i] = 0x10
  6821  	}
  6822  	if len(m.Denom) > 0 {
  6823  		i -= len(m.Denom)
  6824  		copy(dAtA[i:], m.Denom)
  6825  		i = encodeVarintExchange(dAtA, i, uint64(len(m.Denom)))
  6826  		i--
  6827  		dAtA[i] = 0xa
  6828  	}
  6829  	return len(dAtA) - i, nil
  6830  }
  6831  
  6832  func (m *GrantAuthorization) Marshal() (dAtA []byte, err error) {
  6833  	size := m.Size()
  6834  	dAtA = make([]byte, size)
  6835  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6836  	if err != nil {
  6837  		return nil, err
  6838  	}
  6839  	return dAtA[:n], nil
  6840  }
  6841  
  6842  func (m *GrantAuthorization) MarshalTo(dAtA []byte) (int, error) {
  6843  	size := m.Size()
  6844  	return m.MarshalToSizedBuffer(dAtA[:size])
  6845  }
  6846  
  6847  func (m *GrantAuthorization) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6848  	i := len(dAtA)
  6849  	_ = i
  6850  	var l int
  6851  	_ = l
  6852  	{
  6853  		size := m.Amount.Size()
  6854  		i -= size
  6855  		if _, err := m.Amount.MarshalTo(dAtA[i:]); err != nil {
  6856  			return 0, err
  6857  		}
  6858  		i = encodeVarintExchange(dAtA, i, uint64(size))
  6859  	}
  6860  	i--
  6861  	dAtA[i] = 0x12
  6862  	if len(m.Grantee) > 0 {
  6863  		i -= len(m.Grantee)
  6864  		copy(dAtA[i:], m.Grantee)
  6865  		i = encodeVarintExchange(dAtA, i, uint64(len(m.Grantee)))
  6866  		i--
  6867  		dAtA[i] = 0xa
  6868  	}
  6869  	return len(dAtA) - i, nil
  6870  }
  6871  
  6872  func (m *ActiveGrant) Marshal() (dAtA []byte, err error) {
  6873  	size := m.Size()
  6874  	dAtA = make([]byte, size)
  6875  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6876  	if err != nil {
  6877  		return nil, err
  6878  	}
  6879  	return dAtA[:n], nil
  6880  }
  6881  
  6882  func (m *ActiveGrant) MarshalTo(dAtA []byte) (int, error) {
  6883  	size := m.Size()
  6884  	return m.MarshalToSizedBuffer(dAtA[:size])
  6885  }
  6886  
  6887  func (m *ActiveGrant) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6888  	i := len(dAtA)
  6889  	_ = i
  6890  	var l int
  6891  	_ = l
  6892  	{
  6893  		size := m.Amount.Size()
  6894  		i -= size
  6895  		if _, err := m.Amount.MarshalTo(dAtA[i:]); err != nil {
  6896  			return 0, err
  6897  		}
  6898  		i = encodeVarintExchange(dAtA, i, uint64(size))
  6899  	}
  6900  	i--
  6901  	dAtA[i] = 0x12
  6902  	if len(m.Granter) > 0 {
  6903  		i -= len(m.Granter)
  6904  		copy(dAtA[i:], m.Granter)
  6905  		i = encodeVarintExchange(dAtA, i, uint64(len(m.Granter)))
  6906  		i--
  6907  		dAtA[i] = 0xa
  6908  	}
  6909  	return len(dAtA) - i, nil
  6910  }
  6911  
  6912  func (m *EffectiveGrant) Marshal() (dAtA []byte, err error) {
  6913  	size := m.Size()
  6914  	dAtA = make([]byte, size)
  6915  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6916  	if err != nil {
  6917  		return nil, err
  6918  	}
  6919  	return dAtA[:n], nil
  6920  }
  6921  
  6922  func (m *EffectiveGrant) MarshalTo(dAtA []byte) (int, error) {
  6923  	size := m.Size()
  6924  	return m.MarshalToSizedBuffer(dAtA[:size])
  6925  }
  6926  
  6927  func (m *EffectiveGrant) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6928  	i := len(dAtA)
  6929  	_ = i
  6930  	var l int
  6931  	_ = l
  6932  	if m.IsValid {
  6933  		i--
  6934  		if m.IsValid {
  6935  			dAtA[i] = 1
  6936  		} else {
  6937  			dAtA[i] = 0
  6938  		}
  6939  		i--
  6940  		dAtA[i] = 0x18
  6941  	}
  6942  	{
  6943  		size := m.NetGrantedStake.Size()
  6944  		i -= size
  6945  		if _, err := m.NetGrantedStake.MarshalTo(dAtA[i:]); err != nil {
  6946  			return 0, err
  6947  		}
  6948  		i = encodeVarintExchange(dAtA, i, uint64(size))
  6949  	}
  6950  	i--
  6951  	dAtA[i] = 0x12
  6952  	if len(m.Granter) > 0 {
  6953  		i -= len(m.Granter)
  6954  		copy(dAtA[i:], m.Granter)
  6955  		i = encodeVarintExchange(dAtA, i, uint64(len(m.Granter)))
  6956  		i--
  6957  		dAtA[i] = 0xa
  6958  	}
  6959  	return len(dAtA) - i, nil
  6960  }
  6961  
  6962  func encodeVarintExchange(dAtA []byte, offset int, v uint64) int {
  6963  	offset -= sovExchange(v)
  6964  	base := offset
  6965  	for v >= 1<<7 {
  6966  		dAtA[offset] = uint8(v&0x7f | 0x80)
  6967  		v >>= 7
  6968  		offset++
  6969  	}
  6970  	dAtA[offset] = uint8(v)
  6971  	return base
  6972  }
  6973  func (m *Params) Size() (n int) {
  6974  	if m == nil {
  6975  		return 0
  6976  	}
  6977  	var l int
  6978  	_ = l
  6979  	l = m.SpotMarketInstantListingFee.Size()
  6980  	n += 1 + l + sovExchange(uint64(l))
  6981  	l = m.DerivativeMarketInstantListingFee.Size()
  6982  	n += 1 + l + sovExchange(uint64(l))
  6983  	l = m.DefaultSpotMakerFeeRate.Size()
  6984  	n += 1 + l + sovExchange(uint64(l))
  6985  	l = m.DefaultSpotTakerFeeRate.Size()
  6986  	n += 1 + l + sovExchange(uint64(l))
  6987  	l = m.DefaultDerivativeMakerFeeRate.Size()
  6988  	n += 1 + l + sovExchange(uint64(l))
  6989  	l = m.DefaultDerivativeTakerFeeRate.Size()
  6990  	n += 1 + l + sovExchange(uint64(l))
  6991  	l = m.DefaultInitialMarginRatio.Size()
  6992  	n += 1 + l + sovExchange(uint64(l))
  6993  	l = m.DefaultMaintenanceMarginRatio.Size()
  6994  	n += 1 + l + sovExchange(uint64(l))
  6995  	if m.DefaultFundingInterval != 0 {
  6996  		n += 1 + sovExchange(uint64(m.DefaultFundingInterval))
  6997  	}
  6998  	if m.FundingMultiple != 0 {
  6999  		n += 1 + sovExchange(uint64(m.FundingMultiple))
  7000  	}
  7001  	l = m.RelayerFeeShareRate.Size()
  7002  	n += 1 + l + sovExchange(uint64(l))
  7003  	l = m.DefaultHourlyFundingRateCap.Size()
  7004  	n += 1 + l + sovExchange(uint64(l))
  7005  	l = m.DefaultHourlyInterestRate.Size()
  7006  	n += 1 + l + sovExchange(uint64(l))
  7007  	if m.MaxDerivativeOrderSideCount != 0 {
  7008  		n += 1 + sovExchange(uint64(m.MaxDerivativeOrderSideCount))
  7009  	}
  7010  	l = m.InjRewardStakedRequirementThreshold.Size()
  7011  	n += 1 + l + sovExchange(uint64(l))
  7012  	if m.TradingRewardsVestingDuration != 0 {
  7013  		n += 2 + sovExchange(uint64(m.TradingRewardsVestingDuration))
  7014  	}
  7015  	l = m.LiquidatorRewardShareRate.Size()
  7016  	n += 2 + l + sovExchange(uint64(l))
  7017  	l = m.BinaryOptionsMarketInstantListingFee.Size()
  7018  	n += 2 + l + sovExchange(uint64(l))
  7019  	if m.AtomicMarketOrderAccessLevel != 0 {
  7020  		n += 2 + sovExchange(uint64(m.AtomicMarketOrderAccessLevel))
  7021  	}
  7022  	l = m.SpotAtomicMarketOrderFeeMultiplier.Size()
  7023  	n += 2 + l + sovExchange(uint64(l))
  7024  	l = m.DerivativeAtomicMarketOrderFeeMultiplier.Size()
  7025  	n += 2 + l + sovExchange(uint64(l))
  7026  	l = m.BinaryOptionsAtomicMarketOrderFeeMultiplier.Size()
  7027  	n += 2 + l + sovExchange(uint64(l))
  7028  	l = m.MinimalProtocolFeeRate.Size()
  7029  	n += 2 + l + sovExchange(uint64(l))
  7030  	if m.IsInstantDerivativeMarketLaunchEnabled {
  7031  		n += 3
  7032  	}
  7033  	if m.PostOnlyModeHeightThreshold != 0 {
  7034  		n += 2 + sovExchange(uint64(m.PostOnlyModeHeightThreshold))
  7035  	}
  7036  	if m.MarginDecreasePriceTimestampThresholdSeconds != 0 {
  7037  		n += 2 + sovExchange(uint64(m.MarginDecreasePriceTimestampThresholdSeconds))
  7038  	}
  7039  	if len(m.ExchangeAdmins) > 0 {
  7040  		for _, s := range m.ExchangeAdmins {
  7041  			l = len(s)
  7042  			n += 2 + l + sovExchange(uint64(l))
  7043  		}
  7044  	}
  7045  	l = m.InjAuctionMaxCap.Size()
  7046  	n += 2 + l + sovExchange(uint64(l))
  7047  	return n
  7048  }
  7049  
  7050  func (m *MarketFeeMultiplier) Size() (n int) {
  7051  	if m == nil {
  7052  		return 0
  7053  	}
  7054  	var l int
  7055  	_ = l
  7056  	l = len(m.MarketId)
  7057  	if l > 0 {
  7058  		n += 1 + l + sovExchange(uint64(l))
  7059  	}
  7060  	l = m.FeeMultiplier.Size()
  7061  	n += 1 + l + sovExchange(uint64(l))
  7062  	return n
  7063  }
  7064  
  7065  func (m *DerivativeMarket) Size() (n int) {
  7066  	if m == nil {
  7067  		return 0
  7068  	}
  7069  	var l int
  7070  	_ = l
  7071  	l = len(m.Ticker)
  7072  	if l > 0 {
  7073  		n += 1 + l + sovExchange(uint64(l))
  7074  	}
  7075  	l = len(m.OracleBase)
  7076  	if l > 0 {
  7077  		n += 1 + l + sovExchange(uint64(l))
  7078  	}
  7079  	l = len(m.OracleQuote)
  7080  	if l > 0 {
  7081  		n += 1 + l + sovExchange(uint64(l))
  7082  	}
  7083  	if m.OracleType != 0 {
  7084  		n += 1 + sovExchange(uint64(m.OracleType))
  7085  	}
  7086  	if m.OracleScaleFactor != 0 {
  7087  		n += 1 + sovExchange(uint64(m.OracleScaleFactor))
  7088  	}
  7089  	l = len(m.QuoteDenom)
  7090  	if l > 0 {
  7091  		n += 1 + l + sovExchange(uint64(l))
  7092  	}
  7093  	l = len(m.MarketId)
  7094  	if l > 0 {
  7095  		n += 1 + l + sovExchange(uint64(l))
  7096  	}
  7097  	l = m.InitialMarginRatio.Size()
  7098  	n += 1 + l + sovExchange(uint64(l))
  7099  	l = m.MaintenanceMarginRatio.Size()
  7100  	n += 1 + l + sovExchange(uint64(l))
  7101  	l = m.MakerFeeRate.Size()
  7102  	n += 1 + l + sovExchange(uint64(l))
  7103  	l = m.TakerFeeRate.Size()
  7104  	n += 1 + l + sovExchange(uint64(l))
  7105  	l = m.RelayerFeeShareRate.Size()
  7106  	n += 1 + l + sovExchange(uint64(l))
  7107  	if m.IsPerpetual {
  7108  		n += 2
  7109  	}
  7110  	if m.Status != 0 {
  7111  		n += 1 + sovExchange(uint64(m.Status))
  7112  	}
  7113  	l = m.MinPriceTickSize.Size()
  7114  	n += 1 + l + sovExchange(uint64(l))
  7115  	l = m.MinQuantityTickSize.Size()
  7116  	n += 2 + l + sovExchange(uint64(l))
  7117  	l = m.MinNotional.Size()
  7118  	n += 2 + l + sovExchange(uint64(l))
  7119  	l = len(m.Admin)
  7120  	if l > 0 {
  7121  		n += 2 + l + sovExchange(uint64(l))
  7122  	}
  7123  	if m.AdminPermissions != 0 {
  7124  		n += 2 + sovExchange(uint64(m.AdminPermissions))
  7125  	}
  7126  	return n
  7127  }
  7128  
  7129  func (m *BinaryOptionsMarket) Size() (n int) {
  7130  	if m == nil {
  7131  		return 0
  7132  	}
  7133  	var l int
  7134  	_ = l
  7135  	l = len(m.Ticker)
  7136  	if l > 0 {
  7137  		n += 1 + l + sovExchange(uint64(l))
  7138  	}
  7139  	l = len(m.OracleSymbol)
  7140  	if l > 0 {
  7141  		n += 1 + l + sovExchange(uint64(l))
  7142  	}
  7143  	l = len(m.OracleProvider)
  7144  	if l > 0 {
  7145  		n += 1 + l + sovExchange(uint64(l))
  7146  	}
  7147  	if m.OracleType != 0 {
  7148  		n += 1 + sovExchange(uint64(m.OracleType))
  7149  	}
  7150  	if m.OracleScaleFactor != 0 {
  7151  		n += 1 + sovExchange(uint64(m.OracleScaleFactor))
  7152  	}
  7153  	if m.ExpirationTimestamp != 0 {
  7154  		n += 1 + sovExchange(uint64(m.ExpirationTimestamp))
  7155  	}
  7156  	if m.SettlementTimestamp != 0 {
  7157  		n += 1 + sovExchange(uint64(m.SettlementTimestamp))
  7158  	}
  7159  	l = len(m.Admin)
  7160  	if l > 0 {
  7161  		n += 1 + l + sovExchange(uint64(l))
  7162  	}
  7163  	l = len(m.QuoteDenom)
  7164  	if l > 0 {
  7165  		n += 1 + l + sovExchange(uint64(l))
  7166  	}
  7167  	l = len(m.MarketId)
  7168  	if l > 0 {
  7169  		n += 1 + l + sovExchange(uint64(l))
  7170  	}
  7171  	l = m.MakerFeeRate.Size()
  7172  	n += 1 + l + sovExchange(uint64(l))
  7173  	l = m.TakerFeeRate.Size()
  7174  	n += 1 + l + sovExchange(uint64(l))
  7175  	l = m.RelayerFeeShareRate.Size()
  7176  	n += 1 + l + sovExchange(uint64(l))
  7177  	if m.Status != 0 {
  7178  		n += 1 + sovExchange(uint64(m.Status))
  7179  	}
  7180  	l = m.MinPriceTickSize.Size()
  7181  	n += 1 + l + sovExchange(uint64(l))
  7182  	l = m.MinQuantityTickSize.Size()
  7183  	n += 2 + l + sovExchange(uint64(l))
  7184  	if m.SettlementPrice != nil {
  7185  		l = m.SettlementPrice.Size()
  7186  		n += 2 + l + sovExchange(uint64(l))
  7187  	}
  7188  	l = m.MinNotional.Size()
  7189  	n += 2 + l + sovExchange(uint64(l))
  7190  	if m.AdminPermissions != 0 {
  7191  		n += 2 + sovExchange(uint64(m.AdminPermissions))
  7192  	}
  7193  	return n
  7194  }
  7195  
  7196  func (m *ExpiryFuturesMarketInfo) Size() (n int) {
  7197  	if m == nil {
  7198  		return 0
  7199  	}
  7200  	var l int
  7201  	_ = l
  7202  	l = len(m.MarketId)
  7203  	if l > 0 {
  7204  		n += 1 + l + sovExchange(uint64(l))
  7205  	}
  7206  	if m.ExpirationTimestamp != 0 {
  7207  		n += 1 + sovExchange(uint64(m.ExpirationTimestamp))
  7208  	}
  7209  	if m.TwapStartTimestamp != 0 {
  7210  		n += 1 + sovExchange(uint64(m.TwapStartTimestamp))
  7211  	}
  7212  	l = m.ExpirationTwapStartPriceCumulative.Size()
  7213  	n += 1 + l + sovExchange(uint64(l))
  7214  	l = m.SettlementPrice.Size()
  7215  	n += 1 + l + sovExchange(uint64(l))
  7216  	return n
  7217  }
  7218  
  7219  func (m *PerpetualMarketInfo) Size() (n int) {
  7220  	if m == nil {
  7221  		return 0
  7222  	}
  7223  	var l int
  7224  	_ = l
  7225  	l = len(m.MarketId)
  7226  	if l > 0 {
  7227  		n += 1 + l + sovExchange(uint64(l))
  7228  	}
  7229  	l = m.HourlyFundingRateCap.Size()
  7230  	n += 1 + l + sovExchange(uint64(l))
  7231  	l = m.HourlyInterestRate.Size()
  7232  	n += 1 + l + sovExchange(uint64(l))
  7233  	if m.NextFundingTimestamp != 0 {
  7234  		n += 1 + sovExchange(uint64(m.NextFundingTimestamp))
  7235  	}
  7236  	if m.FundingInterval != 0 {
  7237  		n += 1 + sovExchange(uint64(m.FundingInterval))
  7238  	}
  7239  	return n
  7240  }
  7241  
  7242  func (m *PerpetualMarketFunding) Size() (n int) {
  7243  	if m == nil {
  7244  		return 0
  7245  	}
  7246  	var l int
  7247  	_ = l
  7248  	l = m.CumulativeFunding.Size()
  7249  	n += 1 + l + sovExchange(uint64(l))
  7250  	l = m.CumulativePrice.Size()
  7251  	n += 1 + l + sovExchange(uint64(l))
  7252  	if m.LastTimestamp != 0 {
  7253  		n += 1 + sovExchange(uint64(m.LastTimestamp))
  7254  	}
  7255  	return n
  7256  }
  7257  
  7258  func (m *DerivativeMarketSettlementInfo) Size() (n int) {
  7259  	if m == nil {
  7260  		return 0
  7261  	}
  7262  	var l int
  7263  	_ = l
  7264  	l = len(m.MarketId)
  7265  	if l > 0 {
  7266  		n += 1 + l + sovExchange(uint64(l))
  7267  	}
  7268  	l = m.SettlementPrice.Size()
  7269  	n += 1 + l + sovExchange(uint64(l))
  7270  	return n
  7271  }
  7272  
  7273  func (m *NextFundingTimestamp) Size() (n int) {
  7274  	if m == nil {
  7275  		return 0
  7276  	}
  7277  	var l int
  7278  	_ = l
  7279  	if m.NextTimestamp != 0 {
  7280  		n += 1 + sovExchange(uint64(m.NextTimestamp))
  7281  	}
  7282  	return n
  7283  }
  7284  
  7285  func (m *MidPriceAndTOB) Size() (n int) {
  7286  	if m == nil {
  7287  		return 0
  7288  	}
  7289  	var l int
  7290  	_ = l
  7291  	if m.MidPrice != nil {
  7292  		l = m.MidPrice.Size()
  7293  		n += 1 + l + sovExchange(uint64(l))
  7294  	}
  7295  	if m.BestBuyPrice != nil {
  7296  		l = m.BestBuyPrice.Size()
  7297  		n += 1 + l + sovExchange(uint64(l))
  7298  	}
  7299  	if m.BestSellPrice != nil {
  7300  		l = m.BestSellPrice.Size()
  7301  		n += 1 + l + sovExchange(uint64(l))
  7302  	}
  7303  	return n
  7304  }
  7305  
  7306  func (m *SpotMarket) Size() (n int) {
  7307  	if m == nil {
  7308  		return 0
  7309  	}
  7310  	var l int
  7311  	_ = l
  7312  	l = len(m.Ticker)
  7313  	if l > 0 {
  7314  		n += 1 + l + sovExchange(uint64(l))
  7315  	}
  7316  	l = len(m.BaseDenom)
  7317  	if l > 0 {
  7318  		n += 1 + l + sovExchange(uint64(l))
  7319  	}
  7320  	l = len(m.QuoteDenom)
  7321  	if l > 0 {
  7322  		n += 1 + l + sovExchange(uint64(l))
  7323  	}
  7324  	l = m.MakerFeeRate.Size()
  7325  	n += 1 + l + sovExchange(uint64(l))
  7326  	l = m.TakerFeeRate.Size()
  7327  	n += 1 + l + sovExchange(uint64(l))
  7328  	l = m.RelayerFeeShareRate.Size()
  7329  	n += 1 + l + sovExchange(uint64(l))
  7330  	l = len(m.MarketId)
  7331  	if l > 0 {
  7332  		n += 1 + l + sovExchange(uint64(l))
  7333  	}
  7334  	if m.Status != 0 {
  7335  		n += 1 + sovExchange(uint64(m.Status))
  7336  	}
  7337  	l = m.MinPriceTickSize.Size()
  7338  	n += 1 + l + sovExchange(uint64(l))
  7339  	l = m.MinQuantityTickSize.Size()
  7340  	n += 1 + l + sovExchange(uint64(l))
  7341  	l = m.MinNotional.Size()
  7342  	n += 1 + l + sovExchange(uint64(l))
  7343  	l = len(m.Admin)
  7344  	if l > 0 {
  7345  		n += 1 + l + sovExchange(uint64(l))
  7346  	}
  7347  	if m.AdminPermissions != 0 {
  7348  		n += 1 + sovExchange(uint64(m.AdminPermissions))
  7349  	}
  7350  	return n
  7351  }
  7352  
  7353  func (m *Deposit) Size() (n int) {
  7354  	if m == nil {
  7355  		return 0
  7356  	}
  7357  	var l int
  7358  	_ = l
  7359  	l = m.AvailableBalance.Size()
  7360  	n += 1 + l + sovExchange(uint64(l))
  7361  	l = m.TotalBalance.Size()
  7362  	n += 1 + l + sovExchange(uint64(l))
  7363  	return n
  7364  }
  7365  
  7366  func (m *SubaccountTradeNonce) Size() (n int) {
  7367  	if m == nil {
  7368  		return 0
  7369  	}
  7370  	var l int
  7371  	_ = l
  7372  	if m.Nonce != 0 {
  7373  		n += 1 + sovExchange(uint64(m.Nonce))
  7374  	}
  7375  	return n
  7376  }
  7377  
  7378  func (m *OrderInfo) Size() (n int) {
  7379  	if m == nil {
  7380  		return 0
  7381  	}
  7382  	var l int
  7383  	_ = l
  7384  	l = len(m.SubaccountId)
  7385  	if l > 0 {
  7386  		n += 1 + l + sovExchange(uint64(l))
  7387  	}
  7388  	l = len(m.FeeRecipient)
  7389  	if l > 0 {
  7390  		n += 1 + l + sovExchange(uint64(l))
  7391  	}
  7392  	l = m.Price.Size()
  7393  	n += 1 + l + sovExchange(uint64(l))
  7394  	l = m.Quantity.Size()
  7395  	n += 1 + l + sovExchange(uint64(l))
  7396  	l = len(m.Cid)
  7397  	if l > 0 {
  7398  		n += 1 + l + sovExchange(uint64(l))
  7399  	}
  7400  	return n
  7401  }
  7402  
  7403  func (m *SpotOrder) Size() (n int) {
  7404  	if m == nil {
  7405  		return 0
  7406  	}
  7407  	var l int
  7408  	_ = l
  7409  	l = len(m.MarketId)
  7410  	if l > 0 {
  7411  		n += 1 + l + sovExchange(uint64(l))
  7412  	}
  7413  	l = m.OrderInfo.Size()
  7414  	n += 1 + l + sovExchange(uint64(l))
  7415  	if m.OrderType != 0 {
  7416  		n += 1 + sovExchange(uint64(m.OrderType))
  7417  	}
  7418  	if m.TriggerPrice != nil {
  7419  		l = m.TriggerPrice.Size()
  7420  		n += 1 + l + sovExchange(uint64(l))
  7421  	}
  7422  	return n
  7423  }
  7424  
  7425  func (m *SpotLimitOrder) Size() (n int) {
  7426  	if m == nil {
  7427  		return 0
  7428  	}
  7429  	var l int
  7430  	_ = l
  7431  	l = m.OrderInfo.Size()
  7432  	n += 1 + l + sovExchange(uint64(l))
  7433  	if m.OrderType != 0 {
  7434  		n += 1 + sovExchange(uint64(m.OrderType))
  7435  	}
  7436  	l = m.Fillable.Size()
  7437  	n += 1 + l + sovExchange(uint64(l))
  7438  	if m.TriggerPrice != nil {
  7439  		l = m.TriggerPrice.Size()
  7440  		n += 1 + l + sovExchange(uint64(l))
  7441  	}
  7442  	l = len(m.OrderHash)
  7443  	if l > 0 {
  7444  		n += 1 + l + sovExchange(uint64(l))
  7445  	}
  7446  	return n
  7447  }
  7448  
  7449  func (m *SpotMarketOrder) Size() (n int) {
  7450  	if m == nil {
  7451  		return 0
  7452  	}
  7453  	var l int
  7454  	_ = l
  7455  	l = m.OrderInfo.Size()
  7456  	n += 1 + l + sovExchange(uint64(l))
  7457  	l = m.BalanceHold.Size()
  7458  	n += 1 + l + sovExchange(uint64(l))
  7459  	l = len(m.OrderHash)
  7460  	if l > 0 {
  7461  		n += 1 + l + sovExchange(uint64(l))
  7462  	}
  7463  	if m.OrderType != 0 {
  7464  		n += 1 + sovExchange(uint64(m.OrderType))
  7465  	}
  7466  	if m.TriggerPrice != nil {
  7467  		l = m.TriggerPrice.Size()
  7468  		n += 1 + l + sovExchange(uint64(l))
  7469  	}
  7470  	return n
  7471  }
  7472  
  7473  func (m *DerivativeOrder) Size() (n int) {
  7474  	if m == nil {
  7475  		return 0
  7476  	}
  7477  	var l int
  7478  	_ = l
  7479  	l = len(m.MarketId)
  7480  	if l > 0 {
  7481  		n += 1 + l + sovExchange(uint64(l))
  7482  	}
  7483  	l = m.OrderInfo.Size()
  7484  	n += 1 + l + sovExchange(uint64(l))
  7485  	if m.OrderType != 0 {
  7486  		n += 1 + sovExchange(uint64(m.OrderType))
  7487  	}
  7488  	l = m.Margin.Size()
  7489  	n += 1 + l + sovExchange(uint64(l))
  7490  	if m.TriggerPrice != nil {
  7491  		l = m.TriggerPrice.Size()
  7492  		n += 1 + l + sovExchange(uint64(l))
  7493  	}
  7494  	return n
  7495  }
  7496  
  7497  func (m *SubaccountOrderbookMetadata) Size() (n int) {
  7498  	if m == nil {
  7499  		return 0
  7500  	}
  7501  	var l int
  7502  	_ = l
  7503  	if m.VanillaLimitOrderCount != 0 {
  7504  		n += 1 + sovExchange(uint64(m.VanillaLimitOrderCount))
  7505  	}
  7506  	if m.ReduceOnlyLimitOrderCount != 0 {
  7507  		n += 1 + sovExchange(uint64(m.ReduceOnlyLimitOrderCount))
  7508  	}
  7509  	l = m.AggregateReduceOnlyQuantity.Size()
  7510  	n += 1 + l + sovExchange(uint64(l))
  7511  	l = m.AggregateVanillaQuantity.Size()
  7512  	n += 1 + l + sovExchange(uint64(l))
  7513  	if m.VanillaConditionalOrderCount != 0 {
  7514  		n += 1 + sovExchange(uint64(m.VanillaConditionalOrderCount))
  7515  	}
  7516  	if m.ReduceOnlyConditionalOrderCount != 0 {
  7517  		n += 1 + sovExchange(uint64(m.ReduceOnlyConditionalOrderCount))
  7518  	}
  7519  	return n
  7520  }
  7521  
  7522  func (m *SubaccountOrder) Size() (n int) {
  7523  	if m == nil {
  7524  		return 0
  7525  	}
  7526  	var l int
  7527  	_ = l
  7528  	l = m.Price.Size()
  7529  	n += 1 + l + sovExchange(uint64(l))
  7530  	l = m.Quantity.Size()
  7531  	n += 1 + l + sovExchange(uint64(l))
  7532  	if m.IsReduceOnly {
  7533  		n += 2
  7534  	}
  7535  	l = len(m.Cid)
  7536  	if l > 0 {
  7537  		n += 1 + l + sovExchange(uint64(l))
  7538  	}
  7539  	return n
  7540  }
  7541  
  7542  func (m *SubaccountOrderData) Size() (n int) {
  7543  	if m == nil {
  7544  		return 0
  7545  	}
  7546  	var l int
  7547  	_ = l
  7548  	if m.Order != nil {
  7549  		l = m.Order.Size()
  7550  		n += 1 + l + sovExchange(uint64(l))
  7551  	}
  7552  	l = len(m.OrderHash)
  7553  	if l > 0 {
  7554  		n += 1 + l + sovExchange(uint64(l))
  7555  	}
  7556  	return n
  7557  }
  7558  
  7559  func (m *DerivativeLimitOrder) Size() (n int) {
  7560  	if m == nil {
  7561  		return 0
  7562  	}
  7563  	var l int
  7564  	_ = l
  7565  	l = m.OrderInfo.Size()
  7566  	n += 1 + l + sovExchange(uint64(l))
  7567  	if m.OrderType != 0 {
  7568  		n += 1 + sovExchange(uint64(m.OrderType))
  7569  	}
  7570  	l = m.Margin.Size()
  7571  	n += 1 + l + sovExchange(uint64(l))
  7572  	l = m.Fillable.Size()
  7573  	n += 1 + l + sovExchange(uint64(l))
  7574  	if m.TriggerPrice != nil {
  7575  		l = m.TriggerPrice.Size()
  7576  		n += 1 + l + sovExchange(uint64(l))
  7577  	}
  7578  	l = len(m.OrderHash)
  7579  	if l > 0 {
  7580  		n += 1 + l + sovExchange(uint64(l))
  7581  	}
  7582  	return n
  7583  }
  7584  
  7585  func (m *DerivativeMarketOrder) Size() (n int) {
  7586  	if m == nil {
  7587  		return 0
  7588  	}
  7589  	var l int
  7590  	_ = l
  7591  	l = m.OrderInfo.Size()
  7592  	n += 1 + l + sovExchange(uint64(l))
  7593  	if m.OrderType != 0 {
  7594  		n += 1 + sovExchange(uint64(m.OrderType))
  7595  	}
  7596  	l = m.Margin.Size()
  7597  	n += 1 + l + sovExchange(uint64(l))
  7598  	l = m.MarginHold.Size()
  7599  	n += 1 + l + sovExchange(uint64(l))
  7600  	if m.TriggerPrice != nil {
  7601  		l = m.TriggerPrice.Size()
  7602  		n += 1 + l + sovExchange(uint64(l))
  7603  	}
  7604  	l = len(m.OrderHash)
  7605  	if l > 0 {
  7606  		n += 1 + l + sovExchange(uint64(l))
  7607  	}
  7608  	return n
  7609  }
  7610  
  7611  func (m *Position) Size() (n int) {
  7612  	if m == nil {
  7613  		return 0
  7614  	}
  7615  	var l int
  7616  	_ = l
  7617  	if m.IsLong {
  7618  		n += 2
  7619  	}
  7620  	l = m.Quantity.Size()
  7621  	n += 1 + l + sovExchange(uint64(l))
  7622  	l = m.EntryPrice.Size()
  7623  	n += 1 + l + sovExchange(uint64(l))
  7624  	l = m.Margin.Size()
  7625  	n += 1 + l + sovExchange(uint64(l))
  7626  	l = m.CumulativeFundingEntry.Size()
  7627  	n += 1 + l + sovExchange(uint64(l))
  7628  	return n
  7629  }
  7630  
  7631  func (m *MarketOrderIndicator) Size() (n int) {
  7632  	if m == nil {
  7633  		return 0
  7634  	}
  7635  	var l int
  7636  	_ = l
  7637  	l = len(m.MarketId)
  7638  	if l > 0 {
  7639  		n += 1 + l + sovExchange(uint64(l))
  7640  	}
  7641  	if m.IsBuy {
  7642  		n += 2
  7643  	}
  7644  	return n
  7645  }
  7646  
  7647  func (m *TradeLog) Size() (n int) {
  7648  	if m == nil {
  7649  		return 0
  7650  	}
  7651  	var l int
  7652  	_ = l
  7653  	l = m.Quantity.Size()
  7654  	n += 1 + l + sovExchange(uint64(l))
  7655  	l = m.Price.Size()
  7656  	n += 1 + l + sovExchange(uint64(l))
  7657  	l = len(m.SubaccountId)
  7658  	if l > 0 {
  7659  		n += 1 + l + sovExchange(uint64(l))
  7660  	}
  7661  	l = m.Fee.Size()
  7662  	n += 1 + l + sovExchange(uint64(l))
  7663  	l = len(m.OrderHash)
  7664  	if l > 0 {
  7665  		n += 1 + l + sovExchange(uint64(l))
  7666  	}
  7667  	l = len(m.FeeRecipientAddress)
  7668  	if l > 0 {
  7669  		n += 1 + l + sovExchange(uint64(l))
  7670  	}
  7671  	l = len(m.Cid)
  7672  	if l > 0 {
  7673  		n += 1 + l + sovExchange(uint64(l))
  7674  	}
  7675  	return n
  7676  }
  7677  
  7678  func (m *PositionDelta) Size() (n int) {
  7679  	if m == nil {
  7680  		return 0
  7681  	}
  7682  	var l int
  7683  	_ = l
  7684  	if m.IsLong {
  7685  		n += 2
  7686  	}
  7687  	l = m.ExecutionQuantity.Size()
  7688  	n += 1 + l + sovExchange(uint64(l))
  7689  	l = m.ExecutionMargin.Size()
  7690  	n += 1 + l + sovExchange(uint64(l))
  7691  	l = m.ExecutionPrice.Size()
  7692  	n += 1 + l + sovExchange(uint64(l))
  7693  	return n
  7694  }
  7695  
  7696  func (m *DerivativeTradeLog) Size() (n int) {
  7697  	if m == nil {
  7698  		return 0
  7699  	}
  7700  	var l int
  7701  	_ = l
  7702  	l = len(m.SubaccountId)
  7703  	if l > 0 {
  7704  		n += 1 + l + sovExchange(uint64(l))
  7705  	}
  7706  	if m.PositionDelta != nil {
  7707  		l = m.PositionDelta.Size()
  7708  		n += 1 + l + sovExchange(uint64(l))
  7709  	}
  7710  	l = m.Payout.Size()
  7711  	n += 1 + l + sovExchange(uint64(l))
  7712  	l = m.Fee.Size()
  7713  	n += 1 + l + sovExchange(uint64(l))
  7714  	l = len(m.OrderHash)
  7715  	if l > 0 {
  7716  		n += 1 + l + sovExchange(uint64(l))
  7717  	}
  7718  	l = len(m.FeeRecipientAddress)
  7719  	if l > 0 {
  7720  		n += 1 + l + sovExchange(uint64(l))
  7721  	}
  7722  	l = len(m.Cid)
  7723  	if l > 0 {
  7724  		n += 1 + l + sovExchange(uint64(l))
  7725  	}
  7726  	l = m.Pnl.Size()
  7727  	n += 1 + l + sovExchange(uint64(l))
  7728  	return n
  7729  }
  7730  
  7731  func (m *SubaccountPosition) Size() (n int) {
  7732  	if m == nil {
  7733  		return 0
  7734  	}
  7735  	var l int
  7736  	_ = l
  7737  	if m.Position != nil {
  7738  		l = m.Position.Size()
  7739  		n += 1 + l + sovExchange(uint64(l))
  7740  	}
  7741  	l = len(m.SubaccountId)
  7742  	if l > 0 {
  7743  		n += 1 + l + sovExchange(uint64(l))
  7744  	}
  7745  	return n
  7746  }
  7747  
  7748  func (m *SubaccountDeposit) Size() (n int) {
  7749  	if m == nil {
  7750  		return 0
  7751  	}
  7752  	var l int
  7753  	_ = l
  7754  	l = len(m.SubaccountId)
  7755  	if l > 0 {
  7756  		n += 1 + l + sovExchange(uint64(l))
  7757  	}
  7758  	if m.Deposit != nil {
  7759  		l = m.Deposit.Size()
  7760  		n += 1 + l + sovExchange(uint64(l))
  7761  	}
  7762  	return n
  7763  }
  7764  
  7765  func (m *DepositUpdate) Size() (n int) {
  7766  	if m == nil {
  7767  		return 0
  7768  	}
  7769  	var l int
  7770  	_ = l
  7771  	l = len(m.Denom)
  7772  	if l > 0 {
  7773  		n += 1 + l + sovExchange(uint64(l))
  7774  	}
  7775  	if len(m.Deposits) > 0 {
  7776  		for _, e := range m.Deposits {
  7777  			l = e.Size()
  7778  			n += 1 + l + sovExchange(uint64(l))
  7779  		}
  7780  	}
  7781  	return n
  7782  }
  7783  
  7784  func (m *PointsMultiplier) Size() (n int) {
  7785  	if m == nil {
  7786  		return 0
  7787  	}
  7788  	var l int
  7789  	_ = l
  7790  	l = m.MakerPointsMultiplier.Size()
  7791  	n += 1 + l + sovExchange(uint64(l))
  7792  	l = m.TakerPointsMultiplier.Size()
  7793  	n += 1 + l + sovExchange(uint64(l))
  7794  	return n
  7795  }
  7796  
  7797  func (m *TradingRewardCampaignBoostInfo) Size() (n int) {
  7798  	if m == nil {
  7799  		return 0
  7800  	}
  7801  	var l int
  7802  	_ = l
  7803  	if len(m.BoostedSpotMarketIds) > 0 {
  7804  		for _, s := range m.BoostedSpotMarketIds {
  7805  			l = len(s)
  7806  			n += 1 + l + sovExchange(uint64(l))
  7807  		}
  7808  	}
  7809  	if len(m.SpotMarketMultipliers) > 0 {
  7810  		for _, e := range m.SpotMarketMultipliers {
  7811  			l = e.Size()
  7812  			n += 1 + l + sovExchange(uint64(l))
  7813  		}
  7814  	}
  7815  	if len(m.BoostedDerivativeMarketIds) > 0 {
  7816  		for _, s := range m.BoostedDerivativeMarketIds {
  7817  			l = len(s)
  7818  			n += 1 + l + sovExchange(uint64(l))
  7819  		}
  7820  	}
  7821  	if len(m.DerivativeMarketMultipliers) > 0 {
  7822  		for _, e := range m.DerivativeMarketMultipliers {
  7823  			l = e.Size()
  7824  			n += 1 + l + sovExchange(uint64(l))
  7825  		}
  7826  	}
  7827  	return n
  7828  }
  7829  
  7830  func (m *CampaignRewardPool) Size() (n int) {
  7831  	if m == nil {
  7832  		return 0
  7833  	}
  7834  	var l int
  7835  	_ = l
  7836  	if m.StartTimestamp != 0 {
  7837  		n += 1 + sovExchange(uint64(m.StartTimestamp))
  7838  	}
  7839  	if len(m.MaxCampaignRewards) > 0 {
  7840  		for _, e := range m.MaxCampaignRewards {
  7841  			l = e.Size()
  7842  			n += 1 + l + sovExchange(uint64(l))
  7843  		}
  7844  	}
  7845  	return n
  7846  }
  7847  
  7848  func (m *TradingRewardCampaignInfo) Size() (n int) {
  7849  	if m == nil {
  7850  		return 0
  7851  	}
  7852  	var l int
  7853  	_ = l
  7854  	if m.CampaignDurationSeconds != 0 {
  7855  		n += 1 + sovExchange(uint64(m.CampaignDurationSeconds))
  7856  	}
  7857  	if len(m.QuoteDenoms) > 0 {
  7858  		for _, s := range m.QuoteDenoms {
  7859  			l = len(s)
  7860  			n += 1 + l + sovExchange(uint64(l))
  7861  		}
  7862  	}
  7863  	if m.TradingRewardBoostInfo != nil {
  7864  		l = m.TradingRewardBoostInfo.Size()
  7865  		n += 1 + l + sovExchange(uint64(l))
  7866  	}
  7867  	if len(m.DisqualifiedMarketIds) > 0 {
  7868  		for _, s := range m.DisqualifiedMarketIds {
  7869  			l = len(s)
  7870  			n += 1 + l + sovExchange(uint64(l))
  7871  		}
  7872  	}
  7873  	return n
  7874  }
  7875  
  7876  func (m *FeeDiscountTierInfo) Size() (n int) {
  7877  	if m == nil {
  7878  		return 0
  7879  	}
  7880  	var l int
  7881  	_ = l
  7882  	l = m.MakerDiscountRate.Size()
  7883  	n += 1 + l + sovExchange(uint64(l))
  7884  	l = m.TakerDiscountRate.Size()
  7885  	n += 1 + l + sovExchange(uint64(l))
  7886  	l = m.StakedAmount.Size()
  7887  	n += 1 + l + sovExchange(uint64(l))
  7888  	l = m.Volume.Size()
  7889  	n += 1 + l + sovExchange(uint64(l))
  7890  	return n
  7891  }
  7892  
  7893  func (m *FeeDiscountSchedule) Size() (n int) {
  7894  	if m == nil {
  7895  		return 0
  7896  	}
  7897  	var l int
  7898  	_ = l
  7899  	if m.BucketCount != 0 {
  7900  		n += 1 + sovExchange(uint64(m.BucketCount))
  7901  	}
  7902  	if m.BucketDuration != 0 {
  7903  		n += 1 + sovExchange(uint64(m.BucketDuration))
  7904  	}
  7905  	if len(m.QuoteDenoms) > 0 {
  7906  		for _, s := range m.QuoteDenoms {
  7907  			l = len(s)
  7908  			n += 1 + l + sovExchange(uint64(l))
  7909  		}
  7910  	}
  7911  	if len(m.TierInfos) > 0 {
  7912  		for _, e := range m.TierInfos {
  7913  			l = e.Size()
  7914  			n += 1 + l + sovExchange(uint64(l))
  7915  		}
  7916  	}
  7917  	if len(m.DisqualifiedMarketIds) > 0 {
  7918  		for _, s := range m.DisqualifiedMarketIds {
  7919  			l = len(s)
  7920  			n += 1 + l + sovExchange(uint64(l))
  7921  		}
  7922  	}
  7923  	return n
  7924  }
  7925  
  7926  func (m *FeeDiscountTierTTL) Size() (n int) {
  7927  	if m == nil {
  7928  		return 0
  7929  	}
  7930  	var l int
  7931  	_ = l
  7932  	if m.Tier != 0 {
  7933  		n += 1 + sovExchange(uint64(m.Tier))
  7934  	}
  7935  	if m.TtlTimestamp != 0 {
  7936  		n += 1 + sovExchange(uint64(m.TtlTimestamp))
  7937  	}
  7938  	return n
  7939  }
  7940  
  7941  func (m *VolumeRecord) Size() (n int) {
  7942  	if m == nil {
  7943  		return 0
  7944  	}
  7945  	var l int
  7946  	_ = l
  7947  	l = m.MakerVolume.Size()
  7948  	n += 1 + l + sovExchange(uint64(l))
  7949  	l = m.TakerVolume.Size()
  7950  	n += 1 + l + sovExchange(uint64(l))
  7951  	return n
  7952  }
  7953  
  7954  func (m *AccountRewards) Size() (n int) {
  7955  	if m == nil {
  7956  		return 0
  7957  	}
  7958  	var l int
  7959  	_ = l
  7960  	l = len(m.Account)
  7961  	if l > 0 {
  7962  		n += 1 + l + sovExchange(uint64(l))
  7963  	}
  7964  	if len(m.Rewards) > 0 {
  7965  		for _, e := range m.Rewards {
  7966  			l = e.Size()
  7967  			n += 1 + l + sovExchange(uint64(l))
  7968  		}
  7969  	}
  7970  	return n
  7971  }
  7972  
  7973  func (m *TradeRecords) Size() (n int) {
  7974  	if m == nil {
  7975  		return 0
  7976  	}
  7977  	var l int
  7978  	_ = l
  7979  	l = len(m.MarketId)
  7980  	if l > 0 {
  7981  		n += 1 + l + sovExchange(uint64(l))
  7982  	}
  7983  	if len(m.LatestTradeRecords) > 0 {
  7984  		for _, e := range m.LatestTradeRecords {
  7985  			l = e.Size()
  7986  			n += 1 + l + sovExchange(uint64(l))
  7987  		}
  7988  	}
  7989  	return n
  7990  }
  7991  
  7992  func (m *SubaccountIDs) Size() (n int) {
  7993  	if m == nil {
  7994  		return 0
  7995  	}
  7996  	var l int
  7997  	_ = l
  7998  	if len(m.SubaccountIds) > 0 {
  7999  		for _, b := range m.SubaccountIds {
  8000  			l = len(b)
  8001  			n += 1 + l + sovExchange(uint64(l))
  8002  		}
  8003  	}
  8004  	return n
  8005  }
  8006  
  8007  func (m *TradeRecord) Size() (n int) {
  8008  	if m == nil {
  8009  		return 0
  8010  	}
  8011  	var l int
  8012  	_ = l
  8013  	if m.Timestamp != 0 {
  8014  		n += 1 + sovExchange(uint64(m.Timestamp))
  8015  	}
  8016  	l = m.Price.Size()
  8017  	n += 1 + l + sovExchange(uint64(l))
  8018  	l = m.Quantity.Size()
  8019  	n += 1 + l + sovExchange(uint64(l))
  8020  	return n
  8021  }
  8022  
  8023  func (m *Level) Size() (n int) {
  8024  	if m == nil {
  8025  		return 0
  8026  	}
  8027  	var l int
  8028  	_ = l
  8029  	l = m.P.Size()
  8030  	n += 1 + l + sovExchange(uint64(l))
  8031  	l = m.Q.Size()
  8032  	n += 1 + l + sovExchange(uint64(l))
  8033  	return n
  8034  }
  8035  
  8036  func (m *AggregateSubaccountVolumeRecord) Size() (n int) {
  8037  	if m == nil {
  8038  		return 0
  8039  	}
  8040  	var l int
  8041  	_ = l
  8042  	l = len(m.SubaccountId)
  8043  	if l > 0 {
  8044  		n += 1 + l + sovExchange(uint64(l))
  8045  	}
  8046  	if len(m.MarketVolumes) > 0 {
  8047  		for _, e := range m.MarketVolumes {
  8048  			l = e.Size()
  8049  			n += 1 + l + sovExchange(uint64(l))
  8050  		}
  8051  	}
  8052  	return n
  8053  }
  8054  
  8055  func (m *AggregateAccountVolumeRecord) Size() (n int) {
  8056  	if m == nil {
  8057  		return 0
  8058  	}
  8059  	var l int
  8060  	_ = l
  8061  	l = len(m.Account)
  8062  	if l > 0 {
  8063  		n += 1 + l + sovExchange(uint64(l))
  8064  	}
  8065  	if len(m.MarketVolumes) > 0 {
  8066  		for _, e := range m.MarketVolumes {
  8067  			l = e.Size()
  8068  			n += 1 + l + sovExchange(uint64(l))
  8069  		}
  8070  	}
  8071  	return n
  8072  }
  8073  
  8074  func (m *MarketVolume) Size() (n int) {
  8075  	if m == nil {
  8076  		return 0
  8077  	}
  8078  	var l int
  8079  	_ = l
  8080  	l = len(m.MarketId)
  8081  	if l > 0 {
  8082  		n += 1 + l + sovExchange(uint64(l))
  8083  	}
  8084  	l = m.Volume.Size()
  8085  	n += 1 + l + sovExchange(uint64(l))
  8086  	return n
  8087  }
  8088  
  8089  func (m *DenomDecimals) Size() (n int) {
  8090  	if m == nil {
  8091  		return 0
  8092  	}
  8093  	var l int
  8094  	_ = l
  8095  	l = len(m.Denom)
  8096  	if l > 0 {
  8097  		n += 1 + l + sovExchange(uint64(l))
  8098  	}
  8099  	if m.Decimals != 0 {
  8100  		n += 1 + sovExchange(uint64(m.Decimals))
  8101  	}
  8102  	return n
  8103  }
  8104  
  8105  func (m *GrantAuthorization) Size() (n int) {
  8106  	if m == nil {
  8107  		return 0
  8108  	}
  8109  	var l int
  8110  	_ = l
  8111  	l = len(m.Grantee)
  8112  	if l > 0 {
  8113  		n += 1 + l + sovExchange(uint64(l))
  8114  	}
  8115  	l = m.Amount.Size()
  8116  	n += 1 + l + sovExchange(uint64(l))
  8117  	return n
  8118  }
  8119  
  8120  func (m *ActiveGrant) Size() (n int) {
  8121  	if m == nil {
  8122  		return 0
  8123  	}
  8124  	var l int
  8125  	_ = l
  8126  	l = len(m.Granter)
  8127  	if l > 0 {
  8128  		n += 1 + l + sovExchange(uint64(l))
  8129  	}
  8130  	l = m.Amount.Size()
  8131  	n += 1 + l + sovExchange(uint64(l))
  8132  	return n
  8133  }
  8134  
  8135  func (m *EffectiveGrant) Size() (n int) {
  8136  	if m == nil {
  8137  		return 0
  8138  	}
  8139  	var l int
  8140  	_ = l
  8141  	l = len(m.Granter)
  8142  	if l > 0 {
  8143  		n += 1 + l + sovExchange(uint64(l))
  8144  	}
  8145  	l = m.NetGrantedStake.Size()
  8146  	n += 1 + l + sovExchange(uint64(l))
  8147  	if m.IsValid {
  8148  		n += 2
  8149  	}
  8150  	return n
  8151  }
  8152  
  8153  func sovExchange(x uint64) (n int) {
  8154  	return (math_bits.Len64(x|1) + 6) / 7
  8155  }
  8156  func sozExchange(x uint64) (n int) {
  8157  	return sovExchange(uint64((x << 1) ^ uint64((int64(x) >> 63))))
  8158  }
  8159  func (m *Params) Unmarshal(dAtA []byte) error {
  8160  	l := len(dAtA)
  8161  	iNdEx := 0
  8162  	for iNdEx < l {
  8163  		preIndex := iNdEx
  8164  		var wire uint64
  8165  		for shift := uint(0); ; shift += 7 {
  8166  			if shift >= 64 {
  8167  				return ErrIntOverflowExchange
  8168  			}
  8169  			if iNdEx >= l {
  8170  				return io.ErrUnexpectedEOF
  8171  			}
  8172  			b := dAtA[iNdEx]
  8173  			iNdEx++
  8174  			wire |= uint64(b&0x7F) << shift
  8175  			if b < 0x80 {
  8176  				break
  8177  			}
  8178  		}
  8179  		fieldNum := int32(wire >> 3)
  8180  		wireType := int(wire & 0x7)
  8181  		if wireType == 4 {
  8182  			return fmt.Errorf("proto: Params: wiretype end group for non-group")
  8183  		}
  8184  		if fieldNum <= 0 {
  8185  			return fmt.Errorf("proto: Params: illegal tag %d (wire type %d)", fieldNum, wire)
  8186  		}
  8187  		switch fieldNum {
  8188  		case 1:
  8189  			if wireType != 2 {
  8190  				return fmt.Errorf("proto: wrong wireType = %d for field SpotMarketInstantListingFee", wireType)
  8191  			}
  8192  			var msglen int
  8193  			for shift := uint(0); ; shift += 7 {
  8194  				if shift >= 64 {
  8195  					return ErrIntOverflowExchange
  8196  				}
  8197  				if iNdEx >= l {
  8198  					return io.ErrUnexpectedEOF
  8199  				}
  8200  				b := dAtA[iNdEx]
  8201  				iNdEx++
  8202  				msglen |= int(b&0x7F) << shift
  8203  				if b < 0x80 {
  8204  					break
  8205  				}
  8206  			}
  8207  			if msglen < 0 {
  8208  				return ErrInvalidLengthExchange
  8209  			}
  8210  			postIndex := iNdEx + msglen
  8211  			if postIndex < 0 {
  8212  				return ErrInvalidLengthExchange
  8213  			}
  8214  			if postIndex > l {
  8215  				return io.ErrUnexpectedEOF
  8216  			}
  8217  			if err := m.SpotMarketInstantListingFee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8218  				return err
  8219  			}
  8220  			iNdEx = postIndex
  8221  		case 2:
  8222  			if wireType != 2 {
  8223  				return fmt.Errorf("proto: wrong wireType = %d for field DerivativeMarketInstantListingFee", wireType)
  8224  			}
  8225  			var msglen int
  8226  			for shift := uint(0); ; shift += 7 {
  8227  				if shift >= 64 {
  8228  					return ErrIntOverflowExchange
  8229  				}
  8230  				if iNdEx >= l {
  8231  					return io.ErrUnexpectedEOF
  8232  				}
  8233  				b := dAtA[iNdEx]
  8234  				iNdEx++
  8235  				msglen |= int(b&0x7F) << shift
  8236  				if b < 0x80 {
  8237  					break
  8238  				}
  8239  			}
  8240  			if msglen < 0 {
  8241  				return ErrInvalidLengthExchange
  8242  			}
  8243  			postIndex := iNdEx + msglen
  8244  			if postIndex < 0 {
  8245  				return ErrInvalidLengthExchange
  8246  			}
  8247  			if postIndex > l {
  8248  				return io.ErrUnexpectedEOF
  8249  			}
  8250  			if err := m.DerivativeMarketInstantListingFee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8251  				return err
  8252  			}
  8253  			iNdEx = postIndex
  8254  		case 3:
  8255  			if wireType != 2 {
  8256  				return fmt.Errorf("proto: wrong wireType = %d for field DefaultSpotMakerFeeRate", wireType)
  8257  			}
  8258  			var stringLen uint64
  8259  			for shift := uint(0); ; shift += 7 {
  8260  				if shift >= 64 {
  8261  					return ErrIntOverflowExchange
  8262  				}
  8263  				if iNdEx >= l {
  8264  					return io.ErrUnexpectedEOF
  8265  				}
  8266  				b := dAtA[iNdEx]
  8267  				iNdEx++
  8268  				stringLen |= uint64(b&0x7F) << shift
  8269  				if b < 0x80 {
  8270  					break
  8271  				}
  8272  			}
  8273  			intStringLen := int(stringLen)
  8274  			if intStringLen < 0 {
  8275  				return ErrInvalidLengthExchange
  8276  			}
  8277  			postIndex := iNdEx + intStringLen
  8278  			if postIndex < 0 {
  8279  				return ErrInvalidLengthExchange
  8280  			}
  8281  			if postIndex > l {
  8282  				return io.ErrUnexpectedEOF
  8283  			}
  8284  			if err := m.DefaultSpotMakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8285  				return err
  8286  			}
  8287  			iNdEx = postIndex
  8288  		case 4:
  8289  			if wireType != 2 {
  8290  				return fmt.Errorf("proto: wrong wireType = %d for field DefaultSpotTakerFeeRate", wireType)
  8291  			}
  8292  			var stringLen uint64
  8293  			for shift := uint(0); ; shift += 7 {
  8294  				if shift >= 64 {
  8295  					return ErrIntOverflowExchange
  8296  				}
  8297  				if iNdEx >= l {
  8298  					return io.ErrUnexpectedEOF
  8299  				}
  8300  				b := dAtA[iNdEx]
  8301  				iNdEx++
  8302  				stringLen |= uint64(b&0x7F) << shift
  8303  				if b < 0x80 {
  8304  					break
  8305  				}
  8306  			}
  8307  			intStringLen := int(stringLen)
  8308  			if intStringLen < 0 {
  8309  				return ErrInvalidLengthExchange
  8310  			}
  8311  			postIndex := iNdEx + intStringLen
  8312  			if postIndex < 0 {
  8313  				return ErrInvalidLengthExchange
  8314  			}
  8315  			if postIndex > l {
  8316  				return io.ErrUnexpectedEOF
  8317  			}
  8318  			if err := m.DefaultSpotTakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8319  				return err
  8320  			}
  8321  			iNdEx = postIndex
  8322  		case 5:
  8323  			if wireType != 2 {
  8324  				return fmt.Errorf("proto: wrong wireType = %d for field DefaultDerivativeMakerFeeRate", wireType)
  8325  			}
  8326  			var stringLen uint64
  8327  			for shift := uint(0); ; shift += 7 {
  8328  				if shift >= 64 {
  8329  					return ErrIntOverflowExchange
  8330  				}
  8331  				if iNdEx >= l {
  8332  					return io.ErrUnexpectedEOF
  8333  				}
  8334  				b := dAtA[iNdEx]
  8335  				iNdEx++
  8336  				stringLen |= uint64(b&0x7F) << shift
  8337  				if b < 0x80 {
  8338  					break
  8339  				}
  8340  			}
  8341  			intStringLen := int(stringLen)
  8342  			if intStringLen < 0 {
  8343  				return ErrInvalidLengthExchange
  8344  			}
  8345  			postIndex := iNdEx + intStringLen
  8346  			if postIndex < 0 {
  8347  				return ErrInvalidLengthExchange
  8348  			}
  8349  			if postIndex > l {
  8350  				return io.ErrUnexpectedEOF
  8351  			}
  8352  			if err := m.DefaultDerivativeMakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8353  				return err
  8354  			}
  8355  			iNdEx = postIndex
  8356  		case 6:
  8357  			if wireType != 2 {
  8358  				return fmt.Errorf("proto: wrong wireType = %d for field DefaultDerivativeTakerFeeRate", wireType)
  8359  			}
  8360  			var stringLen uint64
  8361  			for shift := uint(0); ; shift += 7 {
  8362  				if shift >= 64 {
  8363  					return ErrIntOverflowExchange
  8364  				}
  8365  				if iNdEx >= l {
  8366  					return io.ErrUnexpectedEOF
  8367  				}
  8368  				b := dAtA[iNdEx]
  8369  				iNdEx++
  8370  				stringLen |= uint64(b&0x7F) << shift
  8371  				if b < 0x80 {
  8372  					break
  8373  				}
  8374  			}
  8375  			intStringLen := int(stringLen)
  8376  			if intStringLen < 0 {
  8377  				return ErrInvalidLengthExchange
  8378  			}
  8379  			postIndex := iNdEx + intStringLen
  8380  			if postIndex < 0 {
  8381  				return ErrInvalidLengthExchange
  8382  			}
  8383  			if postIndex > l {
  8384  				return io.ErrUnexpectedEOF
  8385  			}
  8386  			if err := m.DefaultDerivativeTakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8387  				return err
  8388  			}
  8389  			iNdEx = postIndex
  8390  		case 7:
  8391  			if wireType != 2 {
  8392  				return fmt.Errorf("proto: wrong wireType = %d for field DefaultInitialMarginRatio", wireType)
  8393  			}
  8394  			var stringLen uint64
  8395  			for shift := uint(0); ; shift += 7 {
  8396  				if shift >= 64 {
  8397  					return ErrIntOverflowExchange
  8398  				}
  8399  				if iNdEx >= l {
  8400  					return io.ErrUnexpectedEOF
  8401  				}
  8402  				b := dAtA[iNdEx]
  8403  				iNdEx++
  8404  				stringLen |= uint64(b&0x7F) << shift
  8405  				if b < 0x80 {
  8406  					break
  8407  				}
  8408  			}
  8409  			intStringLen := int(stringLen)
  8410  			if intStringLen < 0 {
  8411  				return ErrInvalidLengthExchange
  8412  			}
  8413  			postIndex := iNdEx + intStringLen
  8414  			if postIndex < 0 {
  8415  				return ErrInvalidLengthExchange
  8416  			}
  8417  			if postIndex > l {
  8418  				return io.ErrUnexpectedEOF
  8419  			}
  8420  			if err := m.DefaultInitialMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8421  				return err
  8422  			}
  8423  			iNdEx = postIndex
  8424  		case 8:
  8425  			if wireType != 2 {
  8426  				return fmt.Errorf("proto: wrong wireType = %d for field DefaultMaintenanceMarginRatio", wireType)
  8427  			}
  8428  			var stringLen uint64
  8429  			for shift := uint(0); ; shift += 7 {
  8430  				if shift >= 64 {
  8431  					return ErrIntOverflowExchange
  8432  				}
  8433  				if iNdEx >= l {
  8434  					return io.ErrUnexpectedEOF
  8435  				}
  8436  				b := dAtA[iNdEx]
  8437  				iNdEx++
  8438  				stringLen |= uint64(b&0x7F) << shift
  8439  				if b < 0x80 {
  8440  					break
  8441  				}
  8442  			}
  8443  			intStringLen := int(stringLen)
  8444  			if intStringLen < 0 {
  8445  				return ErrInvalidLengthExchange
  8446  			}
  8447  			postIndex := iNdEx + intStringLen
  8448  			if postIndex < 0 {
  8449  				return ErrInvalidLengthExchange
  8450  			}
  8451  			if postIndex > l {
  8452  				return io.ErrUnexpectedEOF
  8453  			}
  8454  			if err := m.DefaultMaintenanceMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8455  				return err
  8456  			}
  8457  			iNdEx = postIndex
  8458  		case 9:
  8459  			if wireType != 0 {
  8460  				return fmt.Errorf("proto: wrong wireType = %d for field DefaultFundingInterval", wireType)
  8461  			}
  8462  			m.DefaultFundingInterval = 0
  8463  			for shift := uint(0); ; shift += 7 {
  8464  				if shift >= 64 {
  8465  					return ErrIntOverflowExchange
  8466  				}
  8467  				if iNdEx >= l {
  8468  					return io.ErrUnexpectedEOF
  8469  				}
  8470  				b := dAtA[iNdEx]
  8471  				iNdEx++
  8472  				m.DefaultFundingInterval |= int64(b&0x7F) << shift
  8473  				if b < 0x80 {
  8474  					break
  8475  				}
  8476  			}
  8477  		case 10:
  8478  			if wireType != 0 {
  8479  				return fmt.Errorf("proto: wrong wireType = %d for field FundingMultiple", wireType)
  8480  			}
  8481  			m.FundingMultiple = 0
  8482  			for shift := uint(0); ; shift += 7 {
  8483  				if shift >= 64 {
  8484  					return ErrIntOverflowExchange
  8485  				}
  8486  				if iNdEx >= l {
  8487  					return io.ErrUnexpectedEOF
  8488  				}
  8489  				b := dAtA[iNdEx]
  8490  				iNdEx++
  8491  				m.FundingMultiple |= int64(b&0x7F) << shift
  8492  				if b < 0x80 {
  8493  					break
  8494  				}
  8495  			}
  8496  		case 11:
  8497  			if wireType != 2 {
  8498  				return fmt.Errorf("proto: wrong wireType = %d for field RelayerFeeShareRate", wireType)
  8499  			}
  8500  			var stringLen uint64
  8501  			for shift := uint(0); ; shift += 7 {
  8502  				if shift >= 64 {
  8503  					return ErrIntOverflowExchange
  8504  				}
  8505  				if iNdEx >= l {
  8506  					return io.ErrUnexpectedEOF
  8507  				}
  8508  				b := dAtA[iNdEx]
  8509  				iNdEx++
  8510  				stringLen |= uint64(b&0x7F) << shift
  8511  				if b < 0x80 {
  8512  					break
  8513  				}
  8514  			}
  8515  			intStringLen := int(stringLen)
  8516  			if intStringLen < 0 {
  8517  				return ErrInvalidLengthExchange
  8518  			}
  8519  			postIndex := iNdEx + intStringLen
  8520  			if postIndex < 0 {
  8521  				return ErrInvalidLengthExchange
  8522  			}
  8523  			if postIndex > l {
  8524  				return io.ErrUnexpectedEOF
  8525  			}
  8526  			if err := m.RelayerFeeShareRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8527  				return err
  8528  			}
  8529  			iNdEx = postIndex
  8530  		case 12:
  8531  			if wireType != 2 {
  8532  				return fmt.Errorf("proto: wrong wireType = %d for field DefaultHourlyFundingRateCap", wireType)
  8533  			}
  8534  			var stringLen uint64
  8535  			for shift := uint(0); ; shift += 7 {
  8536  				if shift >= 64 {
  8537  					return ErrIntOverflowExchange
  8538  				}
  8539  				if iNdEx >= l {
  8540  					return io.ErrUnexpectedEOF
  8541  				}
  8542  				b := dAtA[iNdEx]
  8543  				iNdEx++
  8544  				stringLen |= uint64(b&0x7F) << shift
  8545  				if b < 0x80 {
  8546  					break
  8547  				}
  8548  			}
  8549  			intStringLen := int(stringLen)
  8550  			if intStringLen < 0 {
  8551  				return ErrInvalidLengthExchange
  8552  			}
  8553  			postIndex := iNdEx + intStringLen
  8554  			if postIndex < 0 {
  8555  				return ErrInvalidLengthExchange
  8556  			}
  8557  			if postIndex > l {
  8558  				return io.ErrUnexpectedEOF
  8559  			}
  8560  			if err := m.DefaultHourlyFundingRateCap.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8561  				return err
  8562  			}
  8563  			iNdEx = postIndex
  8564  		case 13:
  8565  			if wireType != 2 {
  8566  				return fmt.Errorf("proto: wrong wireType = %d for field DefaultHourlyInterestRate", wireType)
  8567  			}
  8568  			var stringLen uint64
  8569  			for shift := uint(0); ; shift += 7 {
  8570  				if shift >= 64 {
  8571  					return ErrIntOverflowExchange
  8572  				}
  8573  				if iNdEx >= l {
  8574  					return io.ErrUnexpectedEOF
  8575  				}
  8576  				b := dAtA[iNdEx]
  8577  				iNdEx++
  8578  				stringLen |= uint64(b&0x7F) << shift
  8579  				if b < 0x80 {
  8580  					break
  8581  				}
  8582  			}
  8583  			intStringLen := int(stringLen)
  8584  			if intStringLen < 0 {
  8585  				return ErrInvalidLengthExchange
  8586  			}
  8587  			postIndex := iNdEx + intStringLen
  8588  			if postIndex < 0 {
  8589  				return ErrInvalidLengthExchange
  8590  			}
  8591  			if postIndex > l {
  8592  				return io.ErrUnexpectedEOF
  8593  			}
  8594  			if err := m.DefaultHourlyInterestRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8595  				return err
  8596  			}
  8597  			iNdEx = postIndex
  8598  		case 14:
  8599  			if wireType != 0 {
  8600  				return fmt.Errorf("proto: wrong wireType = %d for field MaxDerivativeOrderSideCount", wireType)
  8601  			}
  8602  			m.MaxDerivativeOrderSideCount = 0
  8603  			for shift := uint(0); ; shift += 7 {
  8604  				if shift >= 64 {
  8605  					return ErrIntOverflowExchange
  8606  				}
  8607  				if iNdEx >= l {
  8608  					return io.ErrUnexpectedEOF
  8609  				}
  8610  				b := dAtA[iNdEx]
  8611  				iNdEx++
  8612  				m.MaxDerivativeOrderSideCount |= uint32(b&0x7F) << shift
  8613  				if b < 0x80 {
  8614  					break
  8615  				}
  8616  			}
  8617  		case 15:
  8618  			if wireType != 2 {
  8619  				return fmt.Errorf("proto: wrong wireType = %d for field InjRewardStakedRequirementThreshold", wireType)
  8620  			}
  8621  			var stringLen uint64
  8622  			for shift := uint(0); ; shift += 7 {
  8623  				if shift >= 64 {
  8624  					return ErrIntOverflowExchange
  8625  				}
  8626  				if iNdEx >= l {
  8627  					return io.ErrUnexpectedEOF
  8628  				}
  8629  				b := dAtA[iNdEx]
  8630  				iNdEx++
  8631  				stringLen |= uint64(b&0x7F) << shift
  8632  				if b < 0x80 {
  8633  					break
  8634  				}
  8635  			}
  8636  			intStringLen := int(stringLen)
  8637  			if intStringLen < 0 {
  8638  				return ErrInvalidLengthExchange
  8639  			}
  8640  			postIndex := iNdEx + intStringLen
  8641  			if postIndex < 0 {
  8642  				return ErrInvalidLengthExchange
  8643  			}
  8644  			if postIndex > l {
  8645  				return io.ErrUnexpectedEOF
  8646  			}
  8647  			if err := m.InjRewardStakedRequirementThreshold.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8648  				return err
  8649  			}
  8650  			iNdEx = postIndex
  8651  		case 16:
  8652  			if wireType != 0 {
  8653  				return fmt.Errorf("proto: wrong wireType = %d for field TradingRewardsVestingDuration", wireType)
  8654  			}
  8655  			m.TradingRewardsVestingDuration = 0
  8656  			for shift := uint(0); ; shift += 7 {
  8657  				if shift >= 64 {
  8658  					return ErrIntOverflowExchange
  8659  				}
  8660  				if iNdEx >= l {
  8661  					return io.ErrUnexpectedEOF
  8662  				}
  8663  				b := dAtA[iNdEx]
  8664  				iNdEx++
  8665  				m.TradingRewardsVestingDuration |= int64(b&0x7F) << shift
  8666  				if b < 0x80 {
  8667  					break
  8668  				}
  8669  			}
  8670  		case 17:
  8671  			if wireType != 2 {
  8672  				return fmt.Errorf("proto: wrong wireType = %d for field LiquidatorRewardShareRate", wireType)
  8673  			}
  8674  			var stringLen uint64
  8675  			for shift := uint(0); ; shift += 7 {
  8676  				if shift >= 64 {
  8677  					return ErrIntOverflowExchange
  8678  				}
  8679  				if iNdEx >= l {
  8680  					return io.ErrUnexpectedEOF
  8681  				}
  8682  				b := dAtA[iNdEx]
  8683  				iNdEx++
  8684  				stringLen |= uint64(b&0x7F) << shift
  8685  				if b < 0x80 {
  8686  					break
  8687  				}
  8688  			}
  8689  			intStringLen := int(stringLen)
  8690  			if intStringLen < 0 {
  8691  				return ErrInvalidLengthExchange
  8692  			}
  8693  			postIndex := iNdEx + intStringLen
  8694  			if postIndex < 0 {
  8695  				return ErrInvalidLengthExchange
  8696  			}
  8697  			if postIndex > l {
  8698  				return io.ErrUnexpectedEOF
  8699  			}
  8700  			if err := m.LiquidatorRewardShareRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8701  				return err
  8702  			}
  8703  			iNdEx = postIndex
  8704  		case 18:
  8705  			if wireType != 2 {
  8706  				return fmt.Errorf("proto: wrong wireType = %d for field BinaryOptionsMarketInstantListingFee", wireType)
  8707  			}
  8708  			var msglen int
  8709  			for shift := uint(0); ; shift += 7 {
  8710  				if shift >= 64 {
  8711  					return ErrIntOverflowExchange
  8712  				}
  8713  				if iNdEx >= l {
  8714  					return io.ErrUnexpectedEOF
  8715  				}
  8716  				b := dAtA[iNdEx]
  8717  				iNdEx++
  8718  				msglen |= int(b&0x7F) << shift
  8719  				if b < 0x80 {
  8720  					break
  8721  				}
  8722  			}
  8723  			if msglen < 0 {
  8724  				return ErrInvalidLengthExchange
  8725  			}
  8726  			postIndex := iNdEx + msglen
  8727  			if postIndex < 0 {
  8728  				return ErrInvalidLengthExchange
  8729  			}
  8730  			if postIndex > l {
  8731  				return io.ErrUnexpectedEOF
  8732  			}
  8733  			if err := m.BinaryOptionsMarketInstantListingFee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8734  				return err
  8735  			}
  8736  			iNdEx = postIndex
  8737  		case 19:
  8738  			if wireType != 0 {
  8739  				return fmt.Errorf("proto: wrong wireType = %d for field AtomicMarketOrderAccessLevel", wireType)
  8740  			}
  8741  			m.AtomicMarketOrderAccessLevel = 0
  8742  			for shift := uint(0); ; shift += 7 {
  8743  				if shift >= 64 {
  8744  					return ErrIntOverflowExchange
  8745  				}
  8746  				if iNdEx >= l {
  8747  					return io.ErrUnexpectedEOF
  8748  				}
  8749  				b := dAtA[iNdEx]
  8750  				iNdEx++
  8751  				m.AtomicMarketOrderAccessLevel |= AtomicMarketOrderAccessLevel(b&0x7F) << shift
  8752  				if b < 0x80 {
  8753  					break
  8754  				}
  8755  			}
  8756  		case 20:
  8757  			if wireType != 2 {
  8758  				return fmt.Errorf("proto: wrong wireType = %d for field SpotAtomicMarketOrderFeeMultiplier", wireType)
  8759  			}
  8760  			var stringLen uint64
  8761  			for shift := uint(0); ; shift += 7 {
  8762  				if shift >= 64 {
  8763  					return ErrIntOverflowExchange
  8764  				}
  8765  				if iNdEx >= l {
  8766  					return io.ErrUnexpectedEOF
  8767  				}
  8768  				b := dAtA[iNdEx]
  8769  				iNdEx++
  8770  				stringLen |= uint64(b&0x7F) << shift
  8771  				if b < 0x80 {
  8772  					break
  8773  				}
  8774  			}
  8775  			intStringLen := int(stringLen)
  8776  			if intStringLen < 0 {
  8777  				return ErrInvalidLengthExchange
  8778  			}
  8779  			postIndex := iNdEx + intStringLen
  8780  			if postIndex < 0 {
  8781  				return ErrInvalidLengthExchange
  8782  			}
  8783  			if postIndex > l {
  8784  				return io.ErrUnexpectedEOF
  8785  			}
  8786  			if err := m.SpotAtomicMarketOrderFeeMultiplier.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8787  				return err
  8788  			}
  8789  			iNdEx = postIndex
  8790  		case 21:
  8791  			if wireType != 2 {
  8792  				return fmt.Errorf("proto: wrong wireType = %d for field DerivativeAtomicMarketOrderFeeMultiplier", wireType)
  8793  			}
  8794  			var stringLen uint64
  8795  			for shift := uint(0); ; shift += 7 {
  8796  				if shift >= 64 {
  8797  					return ErrIntOverflowExchange
  8798  				}
  8799  				if iNdEx >= l {
  8800  					return io.ErrUnexpectedEOF
  8801  				}
  8802  				b := dAtA[iNdEx]
  8803  				iNdEx++
  8804  				stringLen |= uint64(b&0x7F) << shift
  8805  				if b < 0x80 {
  8806  					break
  8807  				}
  8808  			}
  8809  			intStringLen := int(stringLen)
  8810  			if intStringLen < 0 {
  8811  				return ErrInvalidLengthExchange
  8812  			}
  8813  			postIndex := iNdEx + intStringLen
  8814  			if postIndex < 0 {
  8815  				return ErrInvalidLengthExchange
  8816  			}
  8817  			if postIndex > l {
  8818  				return io.ErrUnexpectedEOF
  8819  			}
  8820  			if err := m.DerivativeAtomicMarketOrderFeeMultiplier.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8821  				return err
  8822  			}
  8823  			iNdEx = postIndex
  8824  		case 22:
  8825  			if wireType != 2 {
  8826  				return fmt.Errorf("proto: wrong wireType = %d for field BinaryOptionsAtomicMarketOrderFeeMultiplier", wireType)
  8827  			}
  8828  			var stringLen uint64
  8829  			for shift := uint(0); ; shift += 7 {
  8830  				if shift >= 64 {
  8831  					return ErrIntOverflowExchange
  8832  				}
  8833  				if iNdEx >= l {
  8834  					return io.ErrUnexpectedEOF
  8835  				}
  8836  				b := dAtA[iNdEx]
  8837  				iNdEx++
  8838  				stringLen |= uint64(b&0x7F) << shift
  8839  				if b < 0x80 {
  8840  					break
  8841  				}
  8842  			}
  8843  			intStringLen := int(stringLen)
  8844  			if intStringLen < 0 {
  8845  				return ErrInvalidLengthExchange
  8846  			}
  8847  			postIndex := iNdEx + intStringLen
  8848  			if postIndex < 0 {
  8849  				return ErrInvalidLengthExchange
  8850  			}
  8851  			if postIndex > l {
  8852  				return io.ErrUnexpectedEOF
  8853  			}
  8854  			if err := m.BinaryOptionsAtomicMarketOrderFeeMultiplier.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8855  				return err
  8856  			}
  8857  			iNdEx = postIndex
  8858  		case 23:
  8859  			if wireType != 2 {
  8860  				return fmt.Errorf("proto: wrong wireType = %d for field MinimalProtocolFeeRate", wireType)
  8861  			}
  8862  			var stringLen uint64
  8863  			for shift := uint(0); ; shift += 7 {
  8864  				if shift >= 64 {
  8865  					return ErrIntOverflowExchange
  8866  				}
  8867  				if iNdEx >= l {
  8868  					return io.ErrUnexpectedEOF
  8869  				}
  8870  				b := dAtA[iNdEx]
  8871  				iNdEx++
  8872  				stringLen |= uint64(b&0x7F) << shift
  8873  				if b < 0x80 {
  8874  					break
  8875  				}
  8876  			}
  8877  			intStringLen := int(stringLen)
  8878  			if intStringLen < 0 {
  8879  				return ErrInvalidLengthExchange
  8880  			}
  8881  			postIndex := iNdEx + intStringLen
  8882  			if postIndex < 0 {
  8883  				return ErrInvalidLengthExchange
  8884  			}
  8885  			if postIndex > l {
  8886  				return io.ErrUnexpectedEOF
  8887  			}
  8888  			if err := m.MinimalProtocolFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8889  				return err
  8890  			}
  8891  			iNdEx = postIndex
  8892  		case 24:
  8893  			if wireType != 0 {
  8894  				return fmt.Errorf("proto: wrong wireType = %d for field IsInstantDerivativeMarketLaunchEnabled", wireType)
  8895  			}
  8896  			var v int
  8897  			for shift := uint(0); ; shift += 7 {
  8898  				if shift >= 64 {
  8899  					return ErrIntOverflowExchange
  8900  				}
  8901  				if iNdEx >= l {
  8902  					return io.ErrUnexpectedEOF
  8903  				}
  8904  				b := dAtA[iNdEx]
  8905  				iNdEx++
  8906  				v |= int(b&0x7F) << shift
  8907  				if b < 0x80 {
  8908  					break
  8909  				}
  8910  			}
  8911  			m.IsInstantDerivativeMarketLaunchEnabled = bool(v != 0)
  8912  		case 25:
  8913  			if wireType != 0 {
  8914  				return fmt.Errorf("proto: wrong wireType = %d for field PostOnlyModeHeightThreshold", wireType)
  8915  			}
  8916  			m.PostOnlyModeHeightThreshold = 0
  8917  			for shift := uint(0); ; shift += 7 {
  8918  				if shift >= 64 {
  8919  					return ErrIntOverflowExchange
  8920  				}
  8921  				if iNdEx >= l {
  8922  					return io.ErrUnexpectedEOF
  8923  				}
  8924  				b := dAtA[iNdEx]
  8925  				iNdEx++
  8926  				m.PostOnlyModeHeightThreshold |= int64(b&0x7F) << shift
  8927  				if b < 0x80 {
  8928  					break
  8929  				}
  8930  			}
  8931  		case 26:
  8932  			if wireType != 0 {
  8933  				return fmt.Errorf("proto: wrong wireType = %d for field MarginDecreasePriceTimestampThresholdSeconds", wireType)
  8934  			}
  8935  			m.MarginDecreasePriceTimestampThresholdSeconds = 0
  8936  			for shift := uint(0); ; shift += 7 {
  8937  				if shift >= 64 {
  8938  					return ErrIntOverflowExchange
  8939  				}
  8940  				if iNdEx >= l {
  8941  					return io.ErrUnexpectedEOF
  8942  				}
  8943  				b := dAtA[iNdEx]
  8944  				iNdEx++
  8945  				m.MarginDecreasePriceTimestampThresholdSeconds |= int64(b&0x7F) << shift
  8946  				if b < 0x80 {
  8947  					break
  8948  				}
  8949  			}
  8950  		case 27:
  8951  			if wireType != 2 {
  8952  				return fmt.Errorf("proto: wrong wireType = %d for field ExchangeAdmins", wireType)
  8953  			}
  8954  			var stringLen uint64
  8955  			for shift := uint(0); ; shift += 7 {
  8956  				if shift >= 64 {
  8957  					return ErrIntOverflowExchange
  8958  				}
  8959  				if iNdEx >= l {
  8960  					return io.ErrUnexpectedEOF
  8961  				}
  8962  				b := dAtA[iNdEx]
  8963  				iNdEx++
  8964  				stringLen |= uint64(b&0x7F) << shift
  8965  				if b < 0x80 {
  8966  					break
  8967  				}
  8968  			}
  8969  			intStringLen := int(stringLen)
  8970  			if intStringLen < 0 {
  8971  				return ErrInvalidLengthExchange
  8972  			}
  8973  			postIndex := iNdEx + intStringLen
  8974  			if postIndex < 0 {
  8975  				return ErrInvalidLengthExchange
  8976  			}
  8977  			if postIndex > l {
  8978  				return io.ErrUnexpectedEOF
  8979  			}
  8980  			m.ExchangeAdmins = append(m.ExchangeAdmins, string(dAtA[iNdEx:postIndex]))
  8981  			iNdEx = postIndex
  8982  		case 28:
  8983  			if wireType != 2 {
  8984  				return fmt.Errorf("proto: wrong wireType = %d for field InjAuctionMaxCap", wireType)
  8985  			}
  8986  			var stringLen uint64
  8987  			for shift := uint(0); ; shift += 7 {
  8988  				if shift >= 64 {
  8989  					return ErrIntOverflowExchange
  8990  				}
  8991  				if iNdEx >= l {
  8992  					return io.ErrUnexpectedEOF
  8993  				}
  8994  				b := dAtA[iNdEx]
  8995  				iNdEx++
  8996  				stringLen |= uint64(b&0x7F) << shift
  8997  				if b < 0x80 {
  8998  					break
  8999  				}
  9000  			}
  9001  			intStringLen := int(stringLen)
  9002  			if intStringLen < 0 {
  9003  				return ErrInvalidLengthExchange
  9004  			}
  9005  			postIndex := iNdEx + intStringLen
  9006  			if postIndex < 0 {
  9007  				return ErrInvalidLengthExchange
  9008  			}
  9009  			if postIndex > l {
  9010  				return io.ErrUnexpectedEOF
  9011  			}
  9012  			if err := m.InjAuctionMaxCap.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9013  				return err
  9014  			}
  9015  			iNdEx = postIndex
  9016  		default:
  9017  			iNdEx = preIndex
  9018  			skippy, err := skipExchange(dAtA[iNdEx:])
  9019  			if err != nil {
  9020  				return err
  9021  			}
  9022  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  9023  				return ErrInvalidLengthExchange
  9024  			}
  9025  			if (iNdEx + skippy) > l {
  9026  				return io.ErrUnexpectedEOF
  9027  			}
  9028  			iNdEx += skippy
  9029  		}
  9030  	}
  9031  
  9032  	if iNdEx > l {
  9033  		return io.ErrUnexpectedEOF
  9034  	}
  9035  	return nil
  9036  }
  9037  func (m *MarketFeeMultiplier) Unmarshal(dAtA []byte) error {
  9038  	l := len(dAtA)
  9039  	iNdEx := 0
  9040  	for iNdEx < l {
  9041  		preIndex := iNdEx
  9042  		var wire uint64
  9043  		for shift := uint(0); ; shift += 7 {
  9044  			if shift >= 64 {
  9045  				return ErrIntOverflowExchange
  9046  			}
  9047  			if iNdEx >= l {
  9048  				return io.ErrUnexpectedEOF
  9049  			}
  9050  			b := dAtA[iNdEx]
  9051  			iNdEx++
  9052  			wire |= uint64(b&0x7F) << shift
  9053  			if b < 0x80 {
  9054  				break
  9055  			}
  9056  		}
  9057  		fieldNum := int32(wire >> 3)
  9058  		wireType := int(wire & 0x7)
  9059  		if wireType == 4 {
  9060  			return fmt.Errorf("proto: MarketFeeMultiplier: wiretype end group for non-group")
  9061  		}
  9062  		if fieldNum <= 0 {
  9063  			return fmt.Errorf("proto: MarketFeeMultiplier: illegal tag %d (wire type %d)", fieldNum, wire)
  9064  		}
  9065  		switch fieldNum {
  9066  		case 1:
  9067  			if wireType != 2 {
  9068  				return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType)
  9069  			}
  9070  			var stringLen uint64
  9071  			for shift := uint(0); ; shift += 7 {
  9072  				if shift >= 64 {
  9073  					return ErrIntOverflowExchange
  9074  				}
  9075  				if iNdEx >= l {
  9076  					return io.ErrUnexpectedEOF
  9077  				}
  9078  				b := dAtA[iNdEx]
  9079  				iNdEx++
  9080  				stringLen |= uint64(b&0x7F) << shift
  9081  				if b < 0x80 {
  9082  					break
  9083  				}
  9084  			}
  9085  			intStringLen := int(stringLen)
  9086  			if intStringLen < 0 {
  9087  				return ErrInvalidLengthExchange
  9088  			}
  9089  			postIndex := iNdEx + intStringLen
  9090  			if postIndex < 0 {
  9091  				return ErrInvalidLengthExchange
  9092  			}
  9093  			if postIndex > l {
  9094  				return io.ErrUnexpectedEOF
  9095  			}
  9096  			m.MarketId = string(dAtA[iNdEx:postIndex])
  9097  			iNdEx = postIndex
  9098  		case 2:
  9099  			if wireType != 2 {
  9100  				return fmt.Errorf("proto: wrong wireType = %d for field FeeMultiplier", wireType)
  9101  			}
  9102  			var stringLen uint64
  9103  			for shift := uint(0); ; shift += 7 {
  9104  				if shift >= 64 {
  9105  					return ErrIntOverflowExchange
  9106  				}
  9107  				if iNdEx >= l {
  9108  					return io.ErrUnexpectedEOF
  9109  				}
  9110  				b := dAtA[iNdEx]
  9111  				iNdEx++
  9112  				stringLen |= uint64(b&0x7F) << shift
  9113  				if b < 0x80 {
  9114  					break
  9115  				}
  9116  			}
  9117  			intStringLen := int(stringLen)
  9118  			if intStringLen < 0 {
  9119  				return ErrInvalidLengthExchange
  9120  			}
  9121  			postIndex := iNdEx + intStringLen
  9122  			if postIndex < 0 {
  9123  				return ErrInvalidLengthExchange
  9124  			}
  9125  			if postIndex > l {
  9126  				return io.ErrUnexpectedEOF
  9127  			}
  9128  			if err := m.FeeMultiplier.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9129  				return err
  9130  			}
  9131  			iNdEx = postIndex
  9132  		default:
  9133  			iNdEx = preIndex
  9134  			skippy, err := skipExchange(dAtA[iNdEx:])
  9135  			if err != nil {
  9136  				return err
  9137  			}
  9138  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  9139  				return ErrInvalidLengthExchange
  9140  			}
  9141  			if (iNdEx + skippy) > l {
  9142  				return io.ErrUnexpectedEOF
  9143  			}
  9144  			iNdEx += skippy
  9145  		}
  9146  	}
  9147  
  9148  	if iNdEx > l {
  9149  		return io.ErrUnexpectedEOF
  9150  	}
  9151  	return nil
  9152  }
  9153  func (m *DerivativeMarket) Unmarshal(dAtA []byte) error {
  9154  	l := len(dAtA)
  9155  	iNdEx := 0
  9156  	for iNdEx < l {
  9157  		preIndex := iNdEx
  9158  		var wire uint64
  9159  		for shift := uint(0); ; shift += 7 {
  9160  			if shift >= 64 {
  9161  				return ErrIntOverflowExchange
  9162  			}
  9163  			if iNdEx >= l {
  9164  				return io.ErrUnexpectedEOF
  9165  			}
  9166  			b := dAtA[iNdEx]
  9167  			iNdEx++
  9168  			wire |= uint64(b&0x7F) << shift
  9169  			if b < 0x80 {
  9170  				break
  9171  			}
  9172  		}
  9173  		fieldNum := int32(wire >> 3)
  9174  		wireType := int(wire & 0x7)
  9175  		if wireType == 4 {
  9176  			return fmt.Errorf("proto: DerivativeMarket: wiretype end group for non-group")
  9177  		}
  9178  		if fieldNum <= 0 {
  9179  			return fmt.Errorf("proto: DerivativeMarket: illegal tag %d (wire type %d)", fieldNum, wire)
  9180  		}
  9181  		switch fieldNum {
  9182  		case 1:
  9183  			if wireType != 2 {
  9184  				return fmt.Errorf("proto: wrong wireType = %d for field Ticker", wireType)
  9185  			}
  9186  			var stringLen uint64
  9187  			for shift := uint(0); ; shift += 7 {
  9188  				if shift >= 64 {
  9189  					return ErrIntOverflowExchange
  9190  				}
  9191  				if iNdEx >= l {
  9192  					return io.ErrUnexpectedEOF
  9193  				}
  9194  				b := dAtA[iNdEx]
  9195  				iNdEx++
  9196  				stringLen |= uint64(b&0x7F) << shift
  9197  				if b < 0x80 {
  9198  					break
  9199  				}
  9200  			}
  9201  			intStringLen := int(stringLen)
  9202  			if intStringLen < 0 {
  9203  				return ErrInvalidLengthExchange
  9204  			}
  9205  			postIndex := iNdEx + intStringLen
  9206  			if postIndex < 0 {
  9207  				return ErrInvalidLengthExchange
  9208  			}
  9209  			if postIndex > l {
  9210  				return io.ErrUnexpectedEOF
  9211  			}
  9212  			m.Ticker = string(dAtA[iNdEx:postIndex])
  9213  			iNdEx = postIndex
  9214  		case 2:
  9215  			if wireType != 2 {
  9216  				return fmt.Errorf("proto: wrong wireType = %d for field OracleBase", wireType)
  9217  			}
  9218  			var stringLen uint64
  9219  			for shift := uint(0); ; shift += 7 {
  9220  				if shift >= 64 {
  9221  					return ErrIntOverflowExchange
  9222  				}
  9223  				if iNdEx >= l {
  9224  					return io.ErrUnexpectedEOF
  9225  				}
  9226  				b := dAtA[iNdEx]
  9227  				iNdEx++
  9228  				stringLen |= uint64(b&0x7F) << shift
  9229  				if b < 0x80 {
  9230  					break
  9231  				}
  9232  			}
  9233  			intStringLen := int(stringLen)
  9234  			if intStringLen < 0 {
  9235  				return ErrInvalidLengthExchange
  9236  			}
  9237  			postIndex := iNdEx + intStringLen
  9238  			if postIndex < 0 {
  9239  				return ErrInvalidLengthExchange
  9240  			}
  9241  			if postIndex > l {
  9242  				return io.ErrUnexpectedEOF
  9243  			}
  9244  			m.OracleBase = string(dAtA[iNdEx:postIndex])
  9245  			iNdEx = postIndex
  9246  		case 3:
  9247  			if wireType != 2 {
  9248  				return fmt.Errorf("proto: wrong wireType = %d for field OracleQuote", wireType)
  9249  			}
  9250  			var stringLen uint64
  9251  			for shift := uint(0); ; shift += 7 {
  9252  				if shift >= 64 {
  9253  					return ErrIntOverflowExchange
  9254  				}
  9255  				if iNdEx >= l {
  9256  					return io.ErrUnexpectedEOF
  9257  				}
  9258  				b := dAtA[iNdEx]
  9259  				iNdEx++
  9260  				stringLen |= uint64(b&0x7F) << shift
  9261  				if b < 0x80 {
  9262  					break
  9263  				}
  9264  			}
  9265  			intStringLen := int(stringLen)
  9266  			if intStringLen < 0 {
  9267  				return ErrInvalidLengthExchange
  9268  			}
  9269  			postIndex := iNdEx + intStringLen
  9270  			if postIndex < 0 {
  9271  				return ErrInvalidLengthExchange
  9272  			}
  9273  			if postIndex > l {
  9274  				return io.ErrUnexpectedEOF
  9275  			}
  9276  			m.OracleQuote = string(dAtA[iNdEx:postIndex])
  9277  			iNdEx = postIndex
  9278  		case 4:
  9279  			if wireType != 0 {
  9280  				return fmt.Errorf("proto: wrong wireType = %d for field OracleType", wireType)
  9281  			}
  9282  			m.OracleType = 0
  9283  			for shift := uint(0); ; shift += 7 {
  9284  				if shift >= 64 {
  9285  					return ErrIntOverflowExchange
  9286  				}
  9287  				if iNdEx >= l {
  9288  					return io.ErrUnexpectedEOF
  9289  				}
  9290  				b := dAtA[iNdEx]
  9291  				iNdEx++
  9292  				m.OracleType |= types1.OracleType(b&0x7F) << shift
  9293  				if b < 0x80 {
  9294  					break
  9295  				}
  9296  			}
  9297  		case 5:
  9298  			if wireType != 0 {
  9299  				return fmt.Errorf("proto: wrong wireType = %d for field OracleScaleFactor", wireType)
  9300  			}
  9301  			m.OracleScaleFactor = 0
  9302  			for shift := uint(0); ; shift += 7 {
  9303  				if shift >= 64 {
  9304  					return ErrIntOverflowExchange
  9305  				}
  9306  				if iNdEx >= l {
  9307  					return io.ErrUnexpectedEOF
  9308  				}
  9309  				b := dAtA[iNdEx]
  9310  				iNdEx++
  9311  				m.OracleScaleFactor |= uint32(b&0x7F) << shift
  9312  				if b < 0x80 {
  9313  					break
  9314  				}
  9315  			}
  9316  		case 6:
  9317  			if wireType != 2 {
  9318  				return fmt.Errorf("proto: wrong wireType = %d for field QuoteDenom", wireType)
  9319  			}
  9320  			var stringLen uint64
  9321  			for shift := uint(0); ; shift += 7 {
  9322  				if shift >= 64 {
  9323  					return ErrIntOverflowExchange
  9324  				}
  9325  				if iNdEx >= l {
  9326  					return io.ErrUnexpectedEOF
  9327  				}
  9328  				b := dAtA[iNdEx]
  9329  				iNdEx++
  9330  				stringLen |= uint64(b&0x7F) << shift
  9331  				if b < 0x80 {
  9332  					break
  9333  				}
  9334  			}
  9335  			intStringLen := int(stringLen)
  9336  			if intStringLen < 0 {
  9337  				return ErrInvalidLengthExchange
  9338  			}
  9339  			postIndex := iNdEx + intStringLen
  9340  			if postIndex < 0 {
  9341  				return ErrInvalidLengthExchange
  9342  			}
  9343  			if postIndex > l {
  9344  				return io.ErrUnexpectedEOF
  9345  			}
  9346  			m.QuoteDenom = string(dAtA[iNdEx:postIndex])
  9347  			iNdEx = postIndex
  9348  		case 7:
  9349  			if wireType != 2 {
  9350  				return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType)
  9351  			}
  9352  			var stringLen uint64
  9353  			for shift := uint(0); ; shift += 7 {
  9354  				if shift >= 64 {
  9355  					return ErrIntOverflowExchange
  9356  				}
  9357  				if iNdEx >= l {
  9358  					return io.ErrUnexpectedEOF
  9359  				}
  9360  				b := dAtA[iNdEx]
  9361  				iNdEx++
  9362  				stringLen |= uint64(b&0x7F) << shift
  9363  				if b < 0x80 {
  9364  					break
  9365  				}
  9366  			}
  9367  			intStringLen := int(stringLen)
  9368  			if intStringLen < 0 {
  9369  				return ErrInvalidLengthExchange
  9370  			}
  9371  			postIndex := iNdEx + intStringLen
  9372  			if postIndex < 0 {
  9373  				return ErrInvalidLengthExchange
  9374  			}
  9375  			if postIndex > l {
  9376  				return io.ErrUnexpectedEOF
  9377  			}
  9378  			m.MarketId = string(dAtA[iNdEx:postIndex])
  9379  			iNdEx = postIndex
  9380  		case 8:
  9381  			if wireType != 2 {
  9382  				return fmt.Errorf("proto: wrong wireType = %d for field InitialMarginRatio", wireType)
  9383  			}
  9384  			var stringLen uint64
  9385  			for shift := uint(0); ; shift += 7 {
  9386  				if shift >= 64 {
  9387  					return ErrIntOverflowExchange
  9388  				}
  9389  				if iNdEx >= l {
  9390  					return io.ErrUnexpectedEOF
  9391  				}
  9392  				b := dAtA[iNdEx]
  9393  				iNdEx++
  9394  				stringLen |= uint64(b&0x7F) << shift
  9395  				if b < 0x80 {
  9396  					break
  9397  				}
  9398  			}
  9399  			intStringLen := int(stringLen)
  9400  			if intStringLen < 0 {
  9401  				return ErrInvalidLengthExchange
  9402  			}
  9403  			postIndex := iNdEx + intStringLen
  9404  			if postIndex < 0 {
  9405  				return ErrInvalidLengthExchange
  9406  			}
  9407  			if postIndex > l {
  9408  				return io.ErrUnexpectedEOF
  9409  			}
  9410  			if err := m.InitialMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9411  				return err
  9412  			}
  9413  			iNdEx = postIndex
  9414  		case 9:
  9415  			if wireType != 2 {
  9416  				return fmt.Errorf("proto: wrong wireType = %d for field MaintenanceMarginRatio", wireType)
  9417  			}
  9418  			var stringLen uint64
  9419  			for shift := uint(0); ; shift += 7 {
  9420  				if shift >= 64 {
  9421  					return ErrIntOverflowExchange
  9422  				}
  9423  				if iNdEx >= l {
  9424  					return io.ErrUnexpectedEOF
  9425  				}
  9426  				b := dAtA[iNdEx]
  9427  				iNdEx++
  9428  				stringLen |= uint64(b&0x7F) << shift
  9429  				if b < 0x80 {
  9430  					break
  9431  				}
  9432  			}
  9433  			intStringLen := int(stringLen)
  9434  			if intStringLen < 0 {
  9435  				return ErrInvalidLengthExchange
  9436  			}
  9437  			postIndex := iNdEx + intStringLen
  9438  			if postIndex < 0 {
  9439  				return ErrInvalidLengthExchange
  9440  			}
  9441  			if postIndex > l {
  9442  				return io.ErrUnexpectedEOF
  9443  			}
  9444  			if err := m.MaintenanceMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9445  				return err
  9446  			}
  9447  			iNdEx = postIndex
  9448  		case 10:
  9449  			if wireType != 2 {
  9450  				return fmt.Errorf("proto: wrong wireType = %d for field MakerFeeRate", wireType)
  9451  			}
  9452  			var stringLen uint64
  9453  			for shift := uint(0); ; shift += 7 {
  9454  				if shift >= 64 {
  9455  					return ErrIntOverflowExchange
  9456  				}
  9457  				if iNdEx >= l {
  9458  					return io.ErrUnexpectedEOF
  9459  				}
  9460  				b := dAtA[iNdEx]
  9461  				iNdEx++
  9462  				stringLen |= uint64(b&0x7F) << shift
  9463  				if b < 0x80 {
  9464  					break
  9465  				}
  9466  			}
  9467  			intStringLen := int(stringLen)
  9468  			if intStringLen < 0 {
  9469  				return ErrInvalidLengthExchange
  9470  			}
  9471  			postIndex := iNdEx + intStringLen
  9472  			if postIndex < 0 {
  9473  				return ErrInvalidLengthExchange
  9474  			}
  9475  			if postIndex > l {
  9476  				return io.ErrUnexpectedEOF
  9477  			}
  9478  			if err := m.MakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9479  				return err
  9480  			}
  9481  			iNdEx = postIndex
  9482  		case 11:
  9483  			if wireType != 2 {
  9484  				return fmt.Errorf("proto: wrong wireType = %d for field TakerFeeRate", wireType)
  9485  			}
  9486  			var stringLen uint64
  9487  			for shift := uint(0); ; shift += 7 {
  9488  				if shift >= 64 {
  9489  					return ErrIntOverflowExchange
  9490  				}
  9491  				if iNdEx >= l {
  9492  					return io.ErrUnexpectedEOF
  9493  				}
  9494  				b := dAtA[iNdEx]
  9495  				iNdEx++
  9496  				stringLen |= uint64(b&0x7F) << shift
  9497  				if b < 0x80 {
  9498  					break
  9499  				}
  9500  			}
  9501  			intStringLen := int(stringLen)
  9502  			if intStringLen < 0 {
  9503  				return ErrInvalidLengthExchange
  9504  			}
  9505  			postIndex := iNdEx + intStringLen
  9506  			if postIndex < 0 {
  9507  				return ErrInvalidLengthExchange
  9508  			}
  9509  			if postIndex > l {
  9510  				return io.ErrUnexpectedEOF
  9511  			}
  9512  			if err := m.TakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9513  				return err
  9514  			}
  9515  			iNdEx = postIndex
  9516  		case 12:
  9517  			if wireType != 2 {
  9518  				return fmt.Errorf("proto: wrong wireType = %d for field RelayerFeeShareRate", wireType)
  9519  			}
  9520  			var stringLen uint64
  9521  			for shift := uint(0); ; shift += 7 {
  9522  				if shift >= 64 {
  9523  					return ErrIntOverflowExchange
  9524  				}
  9525  				if iNdEx >= l {
  9526  					return io.ErrUnexpectedEOF
  9527  				}
  9528  				b := dAtA[iNdEx]
  9529  				iNdEx++
  9530  				stringLen |= uint64(b&0x7F) << shift
  9531  				if b < 0x80 {
  9532  					break
  9533  				}
  9534  			}
  9535  			intStringLen := int(stringLen)
  9536  			if intStringLen < 0 {
  9537  				return ErrInvalidLengthExchange
  9538  			}
  9539  			postIndex := iNdEx + intStringLen
  9540  			if postIndex < 0 {
  9541  				return ErrInvalidLengthExchange
  9542  			}
  9543  			if postIndex > l {
  9544  				return io.ErrUnexpectedEOF
  9545  			}
  9546  			if err := m.RelayerFeeShareRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9547  				return err
  9548  			}
  9549  			iNdEx = postIndex
  9550  		case 13:
  9551  			if wireType != 0 {
  9552  				return fmt.Errorf("proto: wrong wireType = %d for field IsPerpetual", wireType)
  9553  			}
  9554  			var v int
  9555  			for shift := uint(0); ; shift += 7 {
  9556  				if shift >= 64 {
  9557  					return ErrIntOverflowExchange
  9558  				}
  9559  				if iNdEx >= l {
  9560  					return io.ErrUnexpectedEOF
  9561  				}
  9562  				b := dAtA[iNdEx]
  9563  				iNdEx++
  9564  				v |= int(b&0x7F) << shift
  9565  				if b < 0x80 {
  9566  					break
  9567  				}
  9568  			}
  9569  			m.IsPerpetual = bool(v != 0)
  9570  		case 14:
  9571  			if wireType != 0 {
  9572  				return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
  9573  			}
  9574  			m.Status = 0
  9575  			for shift := uint(0); ; shift += 7 {
  9576  				if shift >= 64 {
  9577  					return ErrIntOverflowExchange
  9578  				}
  9579  				if iNdEx >= l {
  9580  					return io.ErrUnexpectedEOF
  9581  				}
  9582  				b := dAtA[iNdEx]
  9583  				iNdEx++
  9584  				m.Status |= MarketStatus(b&0x7F) << shift
  9585  				if b < 0x80 {
  9586  					break
  9587  				}
  9588  			}
  9589  		case 15:
  9590  			if wireType != 2 {
  9591  				return fmt.Errorf("proto: wrong wireType = %d for field MinPriceTickSize", wireType)
  9592  			}
  9593  			var stringLen uint64
  9594  			for shift := uint(0); ; shift += 7 {
  9595  				if shift >= 64 {
  9596  					return ErrIntOverflowExchange
  9597  				}
  9598  				if iNdEx >= l {
  9599  					return io.ErrUnexpectedEOF
  9600  				}
  9601  				b := dAtA[iNdEx]
  9602  				iNdEx++
  9603  				stringLen |= uint64(b&0x7F) << shift
  9604  				if b < 0x80 {
  9605  					break
  9606  				}
  9607  			}
  9608  			intStringLen := int(stringLen)
  9609  			if intStringLen < 0 {
  9610  				return ErrInvalidLengthExchange
  9611  			}
  9612  			postIndex := iNdEx + intStringLen
  9613  			if postIndex < 0 {
  9614  				return ErrInvalidLengthExchange
  9615  			}
  9616  			if postIndex > l {
  9617  				return io.ErrUnexpectedEOF
  9618  			}
  9619  			if err := m.MinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9620  				return err
  9621  			}
  9622  			iNdEx = postIndex
  9623  		case 16:
  9624  			if wireType != 2 {
  9625  				return fmt.Errorf("proto: wrong wireType = %d for field MinQuantityTickSize", wireType)
  9626  			}
  9627  			var stringLen uint64
  9628  			for shift := uint(0); ; shift += 7 {
  9629  				if shift >= 64 {
  9630  					return ErrIntOverflowExchange
  9631  				}
  9632  				if iNdEx >= l {
  9633  					return io.ErrUnexpectedEOF
  9634  				}
  9635  				b := dAtA[iNdEx]
  9636  				iNdEx++
  9637  				stringLen |= uint64(b&0x7F) << shift
  9638  				if b < 0x80 {
  9639  					break
  9640  				}
  9641  			}
  9642  			intStringLen := int(stringLen)
  9643  			if intStringLen < 0 {
  9644  				return ErrInvalidLengthExchange
  9645  			}
  9646  			postIndex := iNdEx + intStringLen
  9647  			if postIndex < 0 {
  9648  				return ErrInvalidLengthExchange
  9649  			}
  9650  			if postIndex > l {
  9651  				return io.ErrUnexpectedEOF
  9652  			}
  9653  			if err := m.MinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9654  				return err
  9655  			}
  9656  			iNdEx = postIndex
  9657  		case 17:
  9658  			if wireType != 2 {
  9659  				return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", wireType)
  9660  			}
  9661  			var stringLen uint64
  9662  			for shift := uint(0); ; shift += 7 {
  9663  				if shift >= 64 {
  9664  					return ErrIntOverflowExchange
  9665  				}
  9666  				if iNdEx >= l {
  9667  					return io.ErrUnexpectedEOF
  9668  				}
  9669  				b := dAtA[iNdEx]
  9670  				iNdEx++
  9671  				stringLen |= uint64(b&0x7F) << shift
  9672  				if b < 0x80 {
  9673  					break
  9674  				}
  9675  			}
  9676  			intStringLen := int(stringLen)
  9677  			if intStringLen < 0 {
  9678  				return ErrInvalidLengthExchange
  9679  			}
  9680  			postIndex := iNdEx + intStringLen
  9681  			if postIndex < 0 {
  9682  				return ErrInvalidLengthExchange
  9683  			}
  9684  			if postIndex > l {
  9685  				return io.ErrUnexpectedEOF
  9686  			}
  9687  			if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9688  				return err
  9689  			}
  9690  			iNdEx = postIndex
  9691  		case 18:
  9692  			if wireType != 2 {
  9693  				return fmt.Errorf("proto: wrong wireType = %d for field Admin", wireType)
  9694  			}
  9695  			var stringLen uint64
  9696  			for shift := uint(0); ; shift += 7 {
  9697  				if shift >= 64 {
  9698  					return ErrIntOverflowExchange
  9699  				}
  9700  				if iNdEx >= l {
  9701  					return io.ErrUnexpectedEOF
  9702  				}
  9703  				b := dAtA[iNdEx]
  9704  				iNdEx++
  9705  				stringLen |= uint64(b&0x7F) << shift
  9706  				if b < 0x80 {
  9707  					break
  9708  				}
  9709  			}
  9710  			intStringLen := int(stringLen)
  9711  			if intStringLen < 0 {
  9712  				return ErrInvalidLengthExchange
  9713  			}
  9714  			postIndex := iNdEx + intStringLen
  9715  			if postIndex < 0 {
  9716  				return ErrInvalidLengthExchange
  9717  			}
  9718  			if postIndex > l {
  9719  				return io.ErrUnexpectedEOF
  9720  			}
  9721  			m.Admin = string(dAtA[iNdEx:postIndex])
  9722  			iNdEx = postIndex
  9723  		case 19:
  9724  			if wireType != 0 {
  9725  				return fmt.Errorf("proto: wrong wireType = %d for field AdminPermissions", wireType)
  9726  			}
  9727  			m.AdminPermissions = 0
  9728  			for shift := uint(0); ; shift += 7 {
  9729  				if shift >= 64 {
  9730  					return ErrIntOverflowExchange
  9731  				}
  9732  				if iNdEx >= l {
  9733  					return io.ErrUnexpectedEOF
  9734  				}
  9735  				b := dAtA[iNdEx]
  9736  				iNdEx++
  9737  				m.AdminPermissions |= uint32(b&0x7F) << shift
  9738  				if b < 0x80 {
  9739  					break
  9740  				}
  9741  			}
  9742  		default:
  9743  			iNdEx = preIndex
  9744  			skippy, err := skipExchange(dAtA[iNdEx:])
  9745  			if err != nil {
  9746  				return err
  9747  			}
  9748  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  9749  				return ErrInvalidLengthExchange
  9750  			}
  9751  			if (iNdEx + skippy) > l {
  9752  				return io.ErrUnexpectedEOF
  9753  			}
  9754  			iNdEx += skippy
  9755  		}
  9756  	}
  9757  
  9758  	if iNdEx > l {
  9759  		return io.ErrUnexpectedEOF
  9760  	}
  9761  	return nil
  9762  }
  9763  func (m *BinaryOptionsMarket) Unmarshal(dAtA []byte) error {
  9764  	l := len(dAtA)
  9765  	iNdEx := 0
  9766  	for iNdEx < l {
  9767  		preIndex := iNdEx
  9768  		var wire uint64
  9769  		for shift := uint(0); ; shift += 7 {
  9770  			if shift >= 64 {
  9771  				return ErrIntOverflowExchange
  9772  			}
  9773  			if iNdEx >= l {
  9774  				return io.ErrUnexpectedEOF
  9775  			}
  9776  			b := dAtA[iNdEx]
  9777  			iNdEx++
  9778  			wire |= uint64(b&0x7F) << shift
  9779  			if b < 0x80 {
  9780  				break
  9781  			}
  9782  		}
  9783  		fieldNum := int32(wire >> 3)
  9784  		wireType := int(wire & 0x7)
  9785  		if wireType == 4 {
  9786  			return fmt.Errorf("proto: BinaryOptionsMarket: wiretype end group for non-group")
  9787  		}
  9788  		if fieldNum <= 0 {
  9789  			return fmt.Errorf("proto: BinaryOptionsMarket: illegal tag %d (wire type %d)", fieldNum, wire)
  9790  		}
  9791  		switch fieldNum {
  9792  		case 1:
  9793  			if wireType != 2 {
  9794  				return fmt.Errorf("proto: wrong wireType = %d for field Ticker", wireType)
  9795  			}
  9796  			var stringLen uint64
  9797  			for shift := uint(0); ; shift += 7 {
  9798  				if shift >= 64 {
  9799  					return ErrIntOverflowExchange
  9800  				}
  9801  				if iNdEx >= l {
  9802  					return io.ErrUnexpectedEOF
  9803  				}
  9804  				b := dAtA[iNdEx]
  9805  				iNdEx++
  9806  				stringLen |= uint64(b&0x7F) << shift
  9807  				if b < 0x80 {
  9808  					break
  9809  				}
  9810  			}
  9811  			intStringLen := int(stringLen)
  9812  			if intStringLen < 0 {
  9813  				return ErrInvalidLengthExchange
  9814  			}
  9815  			postIndex := iNdEx + intStringLen
  9816  			if postIndex < 0 {
  9817  				return ErrInvalidLengthExchange
  9818  			}
  9819  			if postIndex > l {
  9820  				return io.ErrUnexpectedEOF
  9821  			}
  9822  			m.Ticker = string(dAtA[iNdEx:postIndex])
  9823  			iNdEx = postIndex
  9824  		case 2:
  9825  			if wireType != 2 {
  9826  				return fmt.Errorf("proto: wrong wireType = %d for field OracleSymbol", wireType)
  9827  			}
  9828  			var stringLen uint64
  9829  			for shift := uint(0); ; shift += 7 {
  9830  				if shift >= 64 {
  9831  					return ErrIntOverflowExchange
  9832  				}
  9833  				if iNdEx >= l {
  9834  					return io.ErrUnexpectedEOF
  9835  				}
  9836  				b := dAtA[iNdEx]
  9837  				iNdEx++
  9838  				stringLen |= uint64(b&0x7F) << shift
  9839  				if b < 0x80 {
  9840  					break
  9841  				}
  9842  			}
  9843  			intStringLen := int(stringLen)
  9844  			if intStringLen < 0 {
  9845  				return ErrInvalidLengthExchange
  9846  			}
  9847  			postIndex := iNdEx + intStringLen
  9848  			if postIndex < 0 {
  9849  				return ErrInvalidLengthExchange
  9850  			}
  9851  			if postIndex > l {
  9852  				return io.ErrUnexpectedEOF
  9853  			}
  9854  			m.OracleSymbol = string(dAtA[iNdEx:postIndex])
  9855  			iNdEx = postIndex
  9856  		case 3:
  9857  			if wireType != 2 {
  9858  				return fmt.Errorf("proto: wrong wireType = %d for field OracleProvider", wireType)
  9859  			}
  9860  			var stringLen uint64
  9861  			for shift := uint(0); ; shift += 7 {
  9862  				if shift >= 64 {
  9863  					return ErrIntOverflowExchange
  9864  				}
  9865  				if iNdEx >= l {
  9866  					return io.ErrUnexpectedEOF
  9867  				}
  9868  				b := dAtA[iNdEx]
  9869  				iNdEx++
  9870  				stringLen |= uint64(b&0x7F) << shift
  9871  				if b < 0x80 {
  9872  					break
  9873  				}
  9874  			}
  9875  			intStringLen := int(stringLen)
  9876  			if intStringLen < 0 {
  9877  				return ErrInvalidLengthExchange
  9878  			}
  9879  			postIndex := iNdEx + intStringLen
  9880  			if postIndex < 0 {
  9881  				return ErrInvalidLengthExchange
  9882  			}
  9883  			if postIndex > l {
  9884  				return io.ErrUnexpectedEOF
  9885  			}
  9886  			m.OracleProvider = string(dAtA[iNdEx:postIndex])
  9887  			iNdEx = postIndex
  9888  		case 4:
  9889  			if wireType != 0 {
  9890  				return fmt.Errorf("proto: wrong wireType = %d for field OracleType", wireType)
  9891  			}
  9892  			m.OracleType = 0
  9893  			for shift := uint(0); ; shift += 7 {
  9894  				if shift >= 64 {
  9895  					return ErrIntOverflowExchange
  9896  				}
  9897  				if iNdEx >= l {
  9898  					return io.ErrUnexpectedEOF
  9899  				}
  9900  				b := dAtA[iNdEx]
  9901  				iNdEx++
  9902  				m.OracleType |= types1.OracleType(b&0x7F) << shift
  9903  				if b < 0x80 {
  9904  					break
  9905  				}
  9906  			}
  9907  		case 5:
  9908  			if wireType != 0 {
  9909  				return fmt.Errorf("proto: wrong wireType = %d for field OracleScaleFactor", wireType)
  9910  			}
  9911  			m.OracleScaleFactor = 0
  9912  			for shift := uint(0); ; shift += 7 {
  9913  				if shift >= 64 {
  9914  					return ErrIntOverflowExchange
  9915  				}
  9916  				if iNdEx >= l {
  9917  					return io.ErrUnexpectedEOF
  9918  				}
  9919  				b := dAtA[iNdEx]
  9920  				iNdEx++
  9921  				m.OracleScaleFactor |= uint32(b&0x7F) << shift
  9922  				if b < 0x80 {
  9923  					break
  9924  				}
  9925  			}
  9926  		case 6:
  9927  			if wireType != 0 {
  9928  				return fmt.Errorf("proto: wrong wireType = %d for field ExpirationTimestamp", wireType)
  9929  			}
  9930  			m.ExpirationTimestamp = 0
  9931  			for shift := uint(0); ; shift += 7 {
  9932  				if shift >= 64 {
  9933  					return ErrIntOverflowExchange
  9934  				}
  9935  				if iNdEx >= l {
  9936  					return io.ErrUnexpectedEOF
  9937  				}
  9938  				b := dAtA[iNdEx]
  9939  				iNdEx++
  9940  				m.ExpirationTimestamp |= int64(b&0x7F) << shift
  9941  				if b < 0x80 {
  9942  					break
  9943  				}
  9944  			}
  9945  		case 7:
  9946  			if wireType != 0 {
  9947  				return fmt.Errorf("proto: wrong wireType = %d for field SettlementTimestamp", wireType)
  9948  			}
  9949  			m.SettlementTimestamp = 0
  9950  			for shift := uint(0); ; shift += 7 {
  9951  				if shift >= 64 {
  9952  					return ErrIntOverflowExchange
  9953  				}
  9954  				if iNdEx >= l {
  9955  					return io.ErrUnexpectedEOF
  9956  				}
  9957  				b := dAtA[iNdEx]
  9958  				iNdEx++
  9959  				m.SettlementTimestamp |= int64(b&0x7F) << shift
  9960  				if b < 0x80 {
  9961  					break
  9962  				}
  9963  			}
  9964  		case 8:
  9965  			if wireType != 2 {
  9966  				return fmt.Errorf("proto: wrong wireType = %d for field Admin", wireType)
  9967  			}
  9968  			var stringLen uint64
  9969  			for shift := uint(0); ; shift += 7 {
  9970  				if shift >= 64 {
  9971  					return ErrIntOverflowExchange
  9972  				}
  9973  				if iNdEx >= l {
  9974  					return io.ErrUnexpectedEOF
  9975  				}
  9976  				b := dAtA[iNdEx]
  9977  				iNdEx++
  9978  				stringLen |= uint64(b&0x7F) << shift
  9979  				if b < 0x80 {
  9980  					break
  9981  				}
  9982  			}
  9983  			intStringLen := int(stringLen)
  9984  			if intStringLen < 0 {
  9985  				return ErrInvalidLengthExchange
  9986  			}
  9987  			postIndex := iNdEx + intStringLen
  9988  			if postIndex < 0 {
  9989  				return ErrInvalidLengthExchange
  9990  			}
  9991  			if postIndex > l {
  9992  				return io.ErrUnexpectedEOF
  9993  			}
  9994  			m.Admin = string(dAtA[iNdEx:postIndex])
  9995  			iNdEx = postIndex
  9996  		case 9:
  9997  			if wireType != 2 {
  9998  				return fmt.Errorf("proto: wrong wireType = %d for field QuoteDenom", wireType)
  9999  			}
 10000  			var stringLen uint64
 10001  			for shift := uint(0); ; shift += 7 {
 10002  				if shift >= 64 {
 10003  					return ErrIntOverflowExchange
 10004  				}
 10005  				if iNdEx >= l {
 10006  					return io.ErrUnexpectedEOF
 10007  				}
 10008  				b := dAtA[iNdEx]
 10009  				iNdEx++
 10010  				stringLen |= uint64(b&0x7F) << shift
 10011  				if b < 0x80 {
 10012  					break
 10013  				}
 10014  			}
 10015  			intStringLen := int(stringLen)
 10016  			if intStringLen < 0 {
 10017  				return ErrInvalidLengthExchange
 10018  			}
 10019  			postIndex := iNdEx + intStringLen
 10020  			if postIndex < 0 {
 10021  				return ErrInvalidLengthExchange
 10022  			}
 10023  			if postIndex > l {
 10024  				return io.ErrUnexpectedEOF
 10025  			}
 10026  			m.QuoteDenom = string(dAtA[iNdEx:postIndex])
 10027  			iNdEx = postIndex
 10028  		case 10:
 10029  			if wireType != 2 {
 10030  				return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType)
 10031  			}
 10032  			var stringLen uint64
 10033  			for shift := uint(0); ; shift += 7 {
 10034  				if shift >= 64 {
 10035  					return ErrIntOverflowExchange
 10036  				}
 10037  				if iNdEx >= l {
 10038  					return io.ErrUnexpectedEOF
 10039  				}
 10040  				b := dAtA[iNdEx]
 10041  				iNdEx++
 10042  				stringLen |= uint64(b&0x7F) << shift
 10043  				if b < 0x80 {
 10044  					break
 10045  				}
 10046  			}
 10047  			intStringLen := int(stringLen)
 10048  			if intStringLen < 0 {
 10049  				return ErrInvalidLengthExchange
 10050  			}
 10051  			postIndex := iNdEx + intStringLen
 10052  			if postIndex < 0 {
 10053  				return ErrInvalidLengthExchange
 10054  			}
 10055  			if postIndex > l {
 10056  				return io.ErrUnexpectedEOF
 10057  			}
 10058  			m.MarketId = string(dAtA[iNdEx:postIndex])
 10059  			iNdEx = postIndex
 10060  		case 11:
 10061  			if wireType != 2 {
 10062  				return fmt.Errorf("proto: wrong wireType = %d for field MakerFeeRate", wireType)
 10063  			}
 10064  			var stringLen uint64
 10065  			for shift := uint(0); ; shift += 7 {
 10066  				if shift >= 64 {
 10067  					return ErrIntOverflowExchange
 10068  				}
 10069  				if iNdEx >= l {
 10070  					return io.ErrUnexpectedEOF
 10071  				}
 10072  				b := dAtA[iNdEx]
 10073  				iNdEx++
 10074  				stringLen |= uint64(b&0x7F) << shift
 10075  				if b < 0x80 {
 10076  					break
 10077  				}
 10078  			}
 10079  			intStringLen := int(stringLen)
 10080  			if intStringLen < 0 {
 10081  				return ErrInvalidLengthExchange
 10082  			}
 10083  			postIndex := iNdEx + intStringLen
 10084  			if postIndex < 0 {
 10085  				return ErrInvalidLengthExchange
 10086  			}
 10087  			if postIndex > l {
 10088  				return io.ErrUnexpectedEOF
 10089  			}
 10090  			if err := m.MakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 10091  				return err
 10092  			}
 10093  			iNdEx = postIndex
 10094  		case 12:
 10095  			if wireType != 2 {
 10096  				return fmt.Errorf("proto: wrong wireType = %d for field TakerFeeRate", wireType)
 10097  			}
 10098  			var stringLen uint64
 10099  			for shift := uint(0); ; shift += 7 {
 10100  				if shift >= 64 {
 10101  					return ErrIntOverflowExchange
 10102  				}
 10103  				if iNdEx >= l {
 10104  					return io.ErrUnexpectedEOF
 10105  				}
 10106  				b := dAtA[iNdEx]
 10107  				iNdEx++
 10108  				stringLen |= uint64(b&0x7F) << shift
 10109  				if b < 0x80 {
 10110  					break
 10111  				}
 10112  			}
 10113  			intStringLen := int(stringLen)
 10114  			if intStringLen < 0 {
 10115  				return ErrInvalidLengthExchange
 10116  			}
 10117  			postIndex := iNdEx + intStringLen
 10118  			if postIndex < 0 {
 10119  				return ErrInvalidLengthExchange
 10120  			}
 10121  			if postIndex > l {
 10122  				return io.ErrUnexpectedEOF
 10123  			}
 10124  			if err := m.TakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 10125  				return err
 10126  			}
 10127  			iNdEx = postIndex
 10128  		case 13:
 10129  			if wireType != 2 {
 10130  				return fmt.Errorf("proto: wrong wireType = %d for field RelayerFeeShareRate", wireType)
 10131  			}
 10132  			var stringLen uint64
 10133  			for shift := uint(0); ; shift += 7 {
 10134  				if shift >= 64 {
 10135  					return ErrIntOverflowExchange
 10136  				}
 10137  				if iNdEx >= l {
 10138  					return io.ErrUnexpectedEOF
 10139  				}
 10140  				b := dAtA[iNdEx]
 10141  				iNdEx++
 10142  				stringLen |= uint64(b&0x7F) << shift
 10143  				if b < 0x80 {
 10144  					break
 10145  				}
 10146  			}
 10147  			intStringLen := int(stringLen)
 10148  			if intStringLen < 0 {
 10149  				return ErrInvalidLengthExchange
 10150  			}
 10151  			postIndex := iNdEx + intStringLen
 10152  			if postIndex < 0 {
 10153  				return ErrInvalidLengthExchange
 10154  			}
 10155  			if postIndex > l {
 10156  				return io.ErrUnexpectedEOF
 10157  			}
 10158  			if err := m.RelayerFeeShareRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 10159  				return err
 10160  			}
 10161  			iNdEx = postIndex
 10162  		case 14:
 10163  			if wireType != 0 {
 10164  				return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
 10165  			}
 10166  			m.Status = 0
 10167  			for shift := uint(0); ; shift += 7 {
 10168  				if shift >= 64 {
 10169  					return ErrIntOverflowExchange
 10170  				}
 10171  				if iNdEx >= l {
 10172  					return io.ErrUnexpectedEOF
 10173  				}
 10174  				b := dAtA[iNdEx]
 10175  				iNdEx++
 10176  				m.Status |= MarketStatus(b&0x7F) << shift
 10177  				if b < 0x80 {
 10178  					break
 10179  				}
 10180  			}
 10181  		case 15:
 10182  			if wireType != 2 {
 10183  				return fmt.Errorf("proto: wrong wireType = %d for field MinPriceTickSize", wireType)
 10184  			}
 10185  			var stringLen uint64
 10186  			for shift := uint(0); ; shift += 7 {
 10187  				if shift >= 64 {
 10188  					return ErrIntOverflowExchange
 10189  				}
 10190  				if iNdEx >= l {
 10191  					return io.ErrUnexpectedEOF
 10192  				}
 10193  				b := dAtA[iNdEx]
 10194  				iNdEx++
 10195  				stringLen |= uint64(b&0x7F) << shift
 10196  				if b < 0x80 {
 10197  					break
 10198  				}
 10199  			}
 10200  			intStringLen := int(stringLen)
 10201  			if intStringLen < 0 {
 10202  				return ErrInvalidLengthExchange
 10203  			}
 10204  			postIndex := iNdEx + intStringLen
 10205  			if postIndex < 0 {
 10206  				return ErrInvalidLengthExchange
 10207  			}
 10208  			if postIndex > l {
 10209  				return io.ErrUnexpectedEOF
 10210  			}
 10211  			if err := m.MinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 10212  				return err
 10213  			}
 10214  			iNdEx = postIndex
 10215  		case 16:
 10216  			if wireType != 2 {
 10217  				return fmt.Errorf("proto: wrong wireType = %d for field MinQuantityTickSize", wireType)
 10218  			}
 10219  			var stringLen uint64
 10220  			for shift := uint(0); ; shift += 7 {
 10221  				if shift >= 64 {
 10222  					return ErrIntOverflowExchange
 10223  				}
 10224  				if iNdEx >= l {
 10225  					return io.ErrUnexpectedEOF
 10226  				}
 10227  				b := dAtA[iNdEx]
 10228  				iNdEx++
 10229  				stringLen |= uint64(b&0x7F) << shift
 10230  				if b < 0x80 {
 10231  					break
 10232  				}
 10233  			}
 10234  			intStringLen := int(stringLen)
 10235  			if intStringLen < 0 {
 10236  				return ErrInvalidLengthExchange
 10237  			}
 10238  			postIndex := iNdEx + intStringLen
 10239  			if postIndex < 0 {
 10240  				return ErrInvalidLengthExchange
 10241  			}
 10242  			if postIndex > l {
 10243  				return io.ErrUnexpectedEOF
 10244  			}
 10245  			if err := m.MinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 10246  				return err
 10247  			}
 10248  			iNdEx = postIndex
 10249  		case 17:
 10250  			if wireType != 2 {
 10251  				return fmt.Errorf("proto: wrong wireType = %d for field SettlementPrice", wireType)
 10252  			}
 10253  			var stringLen uint64
 10254  			for shift := uint(0); ; shift += 7 {
 10255  				if shift >= 64 {
 10256  					return ErrIntOverflowExchange
 10257  				}
 10258  				if iNdEx >= l {
 10259  					return io.ErrUnexpectedEOF
 10260  				}
 10261  				b := dAtA[iNdEx]
 10262  				iNdEx++
 10263  				stringLen |= uint64(b&0x7F) << shift
 10264  				if b < 0x80 {
 10265  					break
 10266  				}
 10267  			}
 10268  			intStringLen := int(stringLen)
 10269  			if intStringLen < 0 {
 10270  				return ErrInvalidLengthExchange
 10271  			}
 10272  			postIndex := iNdEx + intStringLen
 10273  			if postIndex < 0 {
 10274  				return ErrInvalidLengthExchange
 10275  			}
 10276  			if postIndex > l {
 10277  				return io.ErrUnexpectedEOF
 10278  			}
 10279  			var v cosmossdk_io_math.LegacyDec
 10280  			m.SettlementPrice = &v
 10281  			if err := m.SettlementPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 10282  				return err
 10283  			}
 10284  			iNdEx = postIndex
 10285  		case 18:
 10286  			if wireType != 2 {
 10287  				return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", wireType)
 10288  			}
 10289  			var stringLen uint64
 10290  			for shift := uint(0); ; shift += 7 {
 10291  				if shift >= 64 {
 10292  					return ErrIntOverflowExchange
 10293  				}
 10294  				if iNdEx >= l {
 10295  					return io.ErrUnexpectedEOF
 10296  				}
 10297  				b := dAtA[iNdEx]
 10298  				iNdEx++
 10299  				stringLen |= uint64(b&0x7F) << shift
 10300  				if b < 0x80 {
 10301  					break
 10302  				}
 10303  			}
 10304  			intStringLen := int(stringLen)
 10305  			if intStringLen < 0 {
 10306  				return ErrInvalidLengthExchange
 10307  			}
 10308  			postIndex := iNdEx + intStringLen
 10309  			if postIndex < 0 {
 10310  				return ErrInvalidLengthExchange
 10311  			}
 10312  			if postIndex > l {
 10313  				return io.ErrUnexpectedEOF
 10314  			}
 10315  			if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 10316  				return err
 10317  			}
 10318  			iNdEx = postIndex
 10319  		case 19:
 10320  			if wireType != 0 {
 10321  				return fmt.Errorf("proto: wrong wireType = %d for field AdminPermissions", wireType)
 10322  			}
 10323  			m.AdminPermissions = 0
 10324  			for shift := uint(0); ; shift += 7 {
 10325  				if shift >= 64 {
 10326  					return ErrIntOverflowExchange
 10327  				}
 10328  				if iNdEx >= l {
 10329  					return io.ErrUnexpectedEOF
 10330  				}
 10331  				b := dAtA[iNdEx]
 10332  				iNdEx++
 10333  				m.AdminPermissions |= uint32(b&0x7F) << shift
 10334  				if b < 0x80 {
 10335  					break
 10336  				}
 10337  			}
 10338  		default:
 10339  			iNdEx = preIndex
 10340  			skippy, err := skipExchange(dAtA[iNdEx:])
 10341  			if err != nil {
 10342  				return err
 10343  			}
 10344  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 10345  				return ErrInvalidLengthExchange
 10346  			}
 10347  			if (iNdEx + skippy) > l {
 10348  				return io.ErrUnexpectedEOF
 10349  			}
 10350  			iNdEx += skippy
 10351  		}
 10352  	}
 10353  
 10354  	if iNdEx > l {
 10355  		return io.ErrUnexpectedEOF
 10356  	}
 10357  	return nil
 10358  }
 10359  func (m *ExpiryFuturesMarketInfo) Unmarshal(dAtA []byte) error {
 10360  	l := len(dAtA)
 10361  	iNdEx := 0
 10362  	for iNdEx < l {
 10363  		preIndex := iNdEx
 10364  		var wire uint64
 10365  		for shift := uint(0); ; shift += 7 {
 10366  			if shift >= 64 {
 10367  				return ErrIntOverflowExchange
 10368  			}
 10369  			if iNdEx >= l {
 10370  				return io.ErrUnexpectedEOF
 10371  			}
 10372  			b := dAtA[iNdEx]
 10373  			iNdEx++
 10374  			wire |= uint64(b&0x7F) << shift
 10375  			if b < 0x80 {
 10376  				break
 10377  			}
 10378  		}
 10379  		fieldNum := int32(wire >> 3)
 10380  		wireType := int(wire & 0x7)
 10381  		if wireType == 4 {
 10382  			return fmt.Errorf("proto: ExpiryFuturesMarketInfo: wiretype end group for non-group")
 10383  		}
 10384  		if fieldNum <= 0 {
 10385  			return fmt.Errorf("proto: ExpiryFuturesMarketInfo: illegal tag %d (wire type %d)", fieldNum, wire)
 10386  		}
 10387  		switch fieldNum {
 10388  		case 1:
 10389  			if wireType != 2 {
 10390  				return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType)
 10391  			}
 10392  			var stringLen uint64
 10393  			for shift := uint(0); ; shift += 7 {
 10394  				if shift >= 64 {
 10395  					return ErrIntOverflowExchange
 10396  				}
 10397  				if iNdEx >= l {
 10398  					return io.ErrUnexpectedEOF
 10399  				}
 10400  				b := dAtA[iNdEx]
 10401  				iNdEx++
 10402  				stringLen |= uint64(b&0x7F) << shift
 10403  				if b < 0x80 {
 10404  					break
 10405  				}
 10406  			}
 10407  			intStringLen := int(stringLen)
 10408  			if intStringLen < 0 {
 10409  				return ErrInvalidLengthExchange
 10410  			}
 10411  			postIndex := iNdEx + intStringLen
 10412  			if postIndex < 0 {
 10413  				return ErrInvalidLengthExchange
 10414  			}
 10415  			if postIndex > l {
 10416  				return io.ErrUnexpectedEOF
 10417  			}
 10418  			m.MarketId = string(dAtA[iNdEx:postIndex])
 10419  			iNdEx = postIndex
 10420  		case 2:
 10421  			if wireType != 0 {
 10422  				return fmt.Errorf("proto: wrong wireType = %d for field ExpirationTimestamp", wireType)
 10423  			}
 10424  			m.ExpirationTimestamp = 0
 10425  			for shift := uint(0); ; shift += 7 {
 10426  				if shift >= 64 {
 10427  					return ErrIntOverflowExchange
 10428  				}
 10429  				if iNdEx >= l {
 10430  					return io.ErrUnexpectedEOF
 10431  				}
 10432  				b := dAtA[iNdEx]
 10433  				iNdEx++
 10434  				m.ExpirationTimestamp |= int64(b&0x7F) << shift
 10435  				if b < 0x80 {
 10436  					break
 10437  				}
 10438  			}
 10439  		case 3:
 10440  			if wireType != 0 {
 10441  				return fmt.Errorf("proto: wrong wireType = %d for field TwapStartTimestamp", wireType)
 10442  			}
 10443  			m.TwapStartTimestamp = 0
 10444  			for shift := uint(0); ; shift += 7 {
 10445  				if shift >= 64 {
 10446  					return ErrIntOverflowExchange
 10447  				}
 10448  				if iNdEx >= l {
 10449  					return io.ErrUnexpectedEOF
 10450  				}
 10451  				b := dAtA[iNdEx]
 10452  				iNdEx++
 10453  				m.TwapStartTimestamp |= int64(b&0x7F) << shift
 10454  				if b < 0x80 {
 10455  					break
 10456  				}
 10457  			}
 10458  		case 4:
 10459  			if wireType != 2 {
 10460  				return fmt.Errorf("proto: wrong wireType = %d for field ExpirationTwapStartPriceCumulative", wireType)
 10461  			}
 10462  			var stringLen uint64
 10463  			for shift := uint(0); ; shift += 7 {
 10464  				if shift >= 64 {
 10465  					return ErrIntOverflowExchange
 10466  				}
 10467  				if iNdEx >= l {
 10468  					return io.ErrUnexpectedEOF
 10469  				}
 10470  				b := dAtA[iNdEx]
 10471  				iNdEx++
 10472  				stringLen |= uint64(b&0x7F) << shift
 10473  				if b < 0x80 {
 10474  					break
 10475  				}
 10476  			}
 10477  			intStringLen := int(stringLen)
 10478  			if intStringLen < 0 {
 10479  				return ErrInvalidLengthExchange
 10480  			}
 10481  			postIndex := iNdEx + intStringLen
 10482  			if postIndex < 0 {
 10483  				return ErrInvalidLengthExchange
 10484  			}
 10485  			if postIndex > l {
 10486  				return io.ErrUnexpectedEOF
 10487  			}
 10488  			if err := m.ExpirationTwapStartPriceCumulative.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 10489  				return err
 10490  			}
 10491  			iNdEx = postIndex
 10492  		case 5:
 10493  			if wireType != 2 {
 10494  				return fmt.Errorf("proto: wrong wireType = %d for field SettlementPrice", wireType)
 10495  			}
 10496  			var stringLen uint64
 10497  			for shift := uint(0); ; shift += 7 {
 10498  				if shift >= 64 {
 10499  					return ErrIntOverflowExchange
 10500  				}
 10501  				if iNdEx >= l {
 10502  					return io.ErrUnexpectedEOF
 10503  				}
 10504  				b := dAtA[iNdEx]
 10505  				iNdEx++
 10506  				stringLen |= uint64(b&0x7F) << shift
 10507  				if b < 0x80 {
 10508  					break
 10509  				}
 10510  			}
 10511  			intStringLen := int(stringLen)
 10512  			if intStringLen < 0 {
 10513  				return ErrInvalidLengthExchange
 10514  			}
 10515  			postIndex := iNdEx + intStringLen
 10516  			if postIndex < 0 {
 10517  				return ErrInvalidLengthExchange
 10518  			}
 10519  			if postIndex > l {
 10520  				return io.ErrUnexpectedEOF
 10521  			}
 10522  			if err := m.SettlementPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 10523  				return err
 10524  			}
 10525  			iNdEx = postIndex
 10526  		default:
 10527  			iNdEx = preIndex
 10528  			skippy, err := skipExchange(dAtA[iNdEx:])
 10529  			if err != nil {
 10530  				return err
 10531  			}
 10532  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 10533  				return ErrInvalidLengthExchange
 10534  			}
 10535  			if (iNdEx + skippy) > l {
 10536  				return io.ErrUnexpectedEOF
 10537  			}
 10538  			iNdEx += skippy
 10539  		}
 10540  	}
 10541  
 10542  	if iNdEx > l {
 10543  		return io.ErrUnexpectedEOF
 10544  	}
 10545  	return nil
 10546  }
 10547  func (m *PerpetualMarketInfo) Unmarshal(dAtA []byte) error {
 10548  	l := len(dAtA)
 10549  	iNdEx := 0
 10550  	for iNdEx < l {
 10551  		preIndex := iNdEx
 10552  		var wire uint64
 10553  		for shift := uint(0); ; shift += 7 {
 10554  			if shift >= 64 {
 10555  				return ErrIntOverflowExchange
 10556  			}
 10557  			if iNdEx >= l {
 10558  				return io.ErrUnexpectedEOF
 10559  			}
 10560  			b := dAtA[iNdEx]
 10561  			iNdEx++
 10562  			wire |= uint64(b&0x7F) << shift
 10563  			if b < 0x80 {
 10564  				break
 10565  			}
 10566  		}
 10567  		fieldNum := int32(wire >> 3)
 10568  		wireType := int(wire & 0x7)
 10569  		if wireType == 4 {
 10570  			return fmt.Errorf("proto: PerpetualMarketInfo: wiretype end group for non-group")
 10571  		}
 10572  		if fieldNum <= 0 {
 10573  			return fmt.Errorf("proto: PerpetualMarketInfo: illegal tag %d (wire type %d)", fieldNum, wire)
 10574  		}
 10575  		switch fieldNum {
 10576  		case 1:
 10577  			if wireType != 2 {
 10578  				return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType)
 10579  			}
 10580  			var stringLen uint64
 10581  			for shift := uint(0); ; shift += 7 {
 10582  				if shift >= 64 {
 10583  					return ErrIntOverflowExchange
 10584  				}
 10585  				if iNdEx >= l {
 10586  					return io.ErrUnexpectedEOF
 10587  				}
 10588  				b := dAtA[iNdEx]
 10589  				iNdEx++
 10590  				stringLen |= uint64(b&0x7F) << shift
 10591  				if b < 0x80 {
 10592  					break
 10593  				}
 10594  			}
 10595  			intStringLen := int(stringLen)
 10596  			if intStringLen < 0 {
 10597  				return ErrInvalidLengthExchange
 10598  			}
 10599  			postIndex := iNdEx + intStringLen
 10600  			if postIndex < 0 {
 10601  				return ErrInvalidLengthExchange
 10602  			}
 10603  			if postIndex > l {
 10604  				return io.ErrUnexpectedEOF
 10605  			}
 10606  			m.MarketId = string(dAtA[iNdEx:postIndex])
 10607  			iNdEx = postIndex
 10608  		case 2:
 10609  			if wireType != 2 {
 10610  				return fmt.Errorf("proto: wrong wireType = %d for field HourlyFundingRateCap", wireType)
 10611  			}
 10612  			var stringLen uint64
 10613  			for shift := uint(0); ; shift += 7 {
 10614  				if shift >= 64 {
 10615  					return ErrIntOverflowExchange
 10616  				}
 10617  				if iNdEx >= l {
 10618  					return io.ErrUnexpectedEOF
 10619  				}
 10620  				b := dAtA[iNdEx]
 10621  				iNdEx++
 10622  				stringLen |= uint64(b&0x7F) << shift
 10623  				if b < 0x80 {
 10624  					break
 10625  				}
 10626  			}
 10627  			intStringLen := int(stringLen)
 10628  			if intStringLen < 0 {
 10629  				return ErrInvalidLengthExchange
 10630  			}
 10631  			postIndex := iNdEx + intStringLen
 10632  			if postIndex < 0 {
 10633  				return ErrInvalidLengthExchange
 10634  			}
 10635  			if postIndex > l {
 10636  				return io.ErrUnexpectedEOF
 10637  			}
 10638  			if err := m.HourlyFundingRateCap.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 10639  				return err
 10640  			}
 10641  			iNdEx = postIndex
 10642  		case 3:
 10643  			if wireType != 2 {
 10644  				return fmt.Errorf("proto: wrong wireType = %d for field HourlyInterestRate", wireType)
 10645  			}
 10646  			var stringLen uint64
 10647  			for shift := uint(0); ; shift += 7 {
 10648  				if shift >= 64 {
 10649  					return ErrIntOverflowExchange
 10650  				}
 10651  				if iNdEx >= l {
 10652  					return io.ErrUnexpectedEOF
 10653  				}
 10654  				b := dAtA[iNdEx]
 10655  				iNdEx++
 10656  				stringLen |= uint64(b&0x7F) << shift
 10657  				if b < 0x80 {
 10658  					break
 10659  				}
 10660  			}
 10661  			intStringLen := int(stringLen)
 10662  			if intStringLen < 0 {
 10663  				return ErrInvalidLengthExchange
 10664  			}
 10665  			postIndex := iNdEx + intStringLen
 10666  			if postIndex < 0 {
 10667  				return ErrInvalidLengthExchange
 10668  			}
 10669  			if postIndex > l {
 10670  				return io.ErrUnexpectedEOF
 10671  			}
 10672  			if err := m.HourlyInterestRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 10673  				return err
 10674  			}
 10675  			iNdEx = postIndex
 10676  		case 4:
 10677  			if wireType != 0 {
 10678  				return fmt.Errorf("proto: wrong wireType = %d for field NextFundingTimestamp", wireType)
 10679  			}
 10680  			m.NextFundingTimestamp = 0
 10681  			for shift := uint(0); ; shift += 7 {
 10682  				if shift >= 64 {
 10683  					return ErrIntOverflowExchange
 10684  				}
 10685  				if iNdEx >= l {
 10686  					return io.ErrUnexpectedEOF
 10687  				}
 10688  				b := dAtA[iNdEx]
 10689  				iNdEx++
 10690  				m.NextFundingTimestamp |= int64(b&0x7F) << shift
 10691  				if b < 0x80 {
 10692  					break
 10693  				}
 10694  			}
 10695  		case 5:
 10696  			if wireType != 0 {
 10697  				return fmt.Errorf("proto: wrong wireType = %d for field FundingInterval", wireType)
 10698  			}
 10699  			m.FundingInterval = 0
 10700  			for shift := uint(0); ; shift += 7 {
 10701  				if shift >= 64 {
 10702  					return ErrIntOverflowExchange
 10703  				}
 10704  				if iNdEx >= l {
 10705  					return io.ErrUnexpectedEOF
 10706  				}
 10707  				b := dAtA[iNdEx]
 10708  				iNdEx++
 10709  				m.FundingInterval |= int64(b&0x7F) << shift
 10710  				if b < 0x80 {
 10711  					break
 10712  				}
 10713  			}
 10714  		default:
 10715  			iNdEx = preIndex
 10716  			skippy, err := skipExchange(dAtA[iNdEx:])
 10717  			if err != nil {
 10718  				return err
 10719  			}
 10720  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 10721  				return ErrInvalidLengthExchange
 10722  			}
 10723  			if (iNdEx + skippy) > l {
 10724  				return io.ErrUnexpectedEOF
 10725  			}
 10726  			iNdEx += skippy
 10727  		}
 10728  	}
 10729  
 10730  	if iNdEx > l {
 10731  		return io.ErrUnexpectedEOF
 10732  	}
 10733  	return nil
 10734  }
 10735  func (m *PerpetualMarketFunding) Unmarshal(dAtA []byte) error {
 10736  	l := len(dAtA)
 10737  	iNdEx := 0
 10738  	for iNdEx < l {
 10739  		preIndex := iNdEx
 10740  		var wire uint64
 10741  		for shift := uint(0); ; shift += 7 {
 10742  			if shift >= 64 {
 10743  				return ErrIntOverflowExchange
 10744  			}
 10745  			if iNdEx >= l {
 10746  				return io.ErrUnexpectedEOF
 10747  			}
 10748  			b := dAtA[iNdEx]
 10749  			iNdEx++
 10750  			wire |= uint64(b&0x7F) << shift
 10751  			if b < 0x80 {
 10752  				break
 10753  			}
 10754  		}
 10755  		fieldNum := int32(wire >> 3)
 10756  		wireType := int(wire & 0x7)
 10757  		if wireType == 4 {
 10758  			return fmt.Errorf("proto: PerpetualMarketFunding: wiretype end group for non-group")
 10759  		}
 10760  		if fieldNum <= 0 {
 10761  			return fmt.Errorf("proto: PerpetualMarketFunding: illegal tag %d (wire type %d)", fieldNum, wire)
 10762  		}
 10763  		switch fieldNum {
 10764  		case 1:
 10765  			if wireType != 2 {
 10766  				return fmt.Errorf("proto: wrong wireType = %d for field CumulativeFunding", wireType)
 10767  			}
 10768  			var stringLen uint64
 10769  			for shift := uint(0); ; shift += 7 {
 10770  				if shift >= 64 {
 10771  					return ErrIntOverflowExchange
 10772  				}
 10773  				if iNdEx >= l {
 10774  					return io.ErrUnexpectedEOF
 10775  				}
 10776  				b := dAtA[iNdEx]
 10777  				iNdEx++
 10778  				stringLen |= uint64(b&0x7F) << shift
 10779  				if b < 0x80 {
 10780  					break
 10781  				}
 10782  			}
 10783  			intStringLen := int(stringLen)
 10784  			if intStringLen < 0 {
 10785  				return ErrInvalidLengthExchange
 10786  			}
 10787  			postIndex := iNdEx + intStringLen
 10788  			if postIndex < 0 {
 10789  				return ErrInvalidLengthExchange
 10790  			}
 10791  			if postIndex > l {
 10792  				return io.ErrUnexpectedEOF
 10793  			}
 10794  			if err := m.CumulativeFunding.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 10795  				return err
 10796  			}
 10797  			iNdEx = postIndex
 10798  		case 2:
 10799  			if wireType != 2 {
 10800  				return fmt.Errorf("proto: wrong wireType = %d for field CumulativePrice", wireType)
 10801  			}
 10802  			var stringLen uint64
 10803  			for shift := uint(0); ; shift += 7 {
 10804  				if shift >= 64 {
 10805  					return ErrIntOverflowExchange
 10806  				}
 10807  				if iNdEx >= l {
 10808  					return io.ErrUnexpectedEOF
 10809  				}
 10810  				b := dAtA[iNdEx]
 10811  				iNdEx++
 10812  				stringLen |= uint64(b&0x7F) << shift
 10813  				if b < 0x80 {
 10814  					break
 10815  				}
 10816  			}
 10817  			intStringLen := int(stringLen)
 10818  			if intStringLen < 0 {
 10819  				return ErrInvalidLengthExchange
 10820  			}
 10821  			postIndex := iNdEx + intStringLen
 10822  			if postIndex < 0 {
 10823  				return ErrInvalidLengthExchange
 10824  			}
 10825  			if postIndex > l {
 10826  				return io.ErrUnexpectedEOF
 10827  			}
 10828  			if err := m.CumulativePrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 10829  				return err
 10830  			}
 10831  			iNdEx = postIndex
 10832  		case 3:
 10833  			if wireType != 0 {
 10834  				return fmt.Errorf("proto: wrong wireType = %d for field LastTimestamp", wireType)
 10835  			}
 10836  			m.LastTimestamp = 0
 10837  			for shift := uint(0); ; shift += 7 {
 10838  				if shift >= 64 {
 10839  					return ErrIntOverflowExchange
 10840  				}
 10841  				if iNdEx >= l {
 10842  					return io.ErrUnexpectedEOF
 10843  				}
 10844  				b := dAtA[iNdEx]
 10845  				iNdEx++
 10846  				m.LastTimestamp |= int64(b&0x7F) << shift
 10847  				if b < 0x80 {
 10848  					break
 10849  				}
 10850  			}
 10851  		default:
 10852  			iNdEx = preIndex
 10853  			skippy, err := skipExchange(dAtA[iNdEx:])
 10854  			if err != nil {
 10855  				return err
 10856  			}
 10857  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 10858  				return ErrInvalidLengthExchange
 10859  			}
 10860  			if (iNdEx + skippy) > l {
 10861  				return io.ErrUnexpectedEOF
 10862  			}
 10863  			iNdEx += skippy
 10864  		}
 10865  	}
 10866  
 10867  	if iNdEx > l {
 10868  		return io.ErrUnexpectedEOF
 10869  	}
 10870  	return nil
 10871  }
 10872  func (m *DerivativeMarketSettlementInfo) Unmarshal(dAtA []byte) error {
 10873  	l := len(dAtA)
 10874  	iNdEx := 0
 10875  	for iNdEx < l {
 10876  		preIndex := iNdEx
 10877  		var wire uint64
 10878  		for shift := uint(0); ; shift += 7 {
 10879  			if shift >= 64 {
 10880  				return ErrIntOverflowExchange
 10881  			}
 10882  			if iNdEx >= l {
 10883  				return io.ErrUnexpectedEOF
 10884  			}
 10885  			b := dAtA[iNdEx]
 10886  			iNdEx++
 10887  			wire |= uint64(b&0x7F) << shift
 10888  			if b < 0x80 {
 10889  				break
 10890  			}
 10891  		}
 10892  		fieldNum := int32(wire >> 3)
 10893  		wireType := int(wire & 0x7)
 10894  		if wireType == 4 {
 10895  			return fmt.Errorf("proto: DerivativeMarketSettlementInfo: wiretype end group for non-group")
 10896  		}
 10897  		if fieldNum <= 0 {
 10898  			return fmt.Errorf("proto: DerivativeMarketSettlementInfo: illegal tag %d (wire type %d)", fieldNum, wire)
 10899  		}
 10900  		switch fieldNum {
 10901  		case 1:
 10902  			if wireType != 2 {
 10903  				return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType)
 10904  			}
 10905  			var stringLen uint64
 10906  			for shift := uint(0); ; shift += 7 {
 10907  				if shift >= 64 {
 10908  					return ErrIntOverflowExchange
 10909  				}
 10910  				if iNdEx >= l {
 10911  					return io.ErrUnexpectedEOF
 10912  				}
 10913  				b := dAtA[iNdEx]
 10914  				iNdEx++
 10915  				stringLen |= uint64(b&0x7F) << shift
 10916  				if b < 0x80 {
 10917  					break
 10918  				}
 10919  			}
 10920  			intStringLen := int(stringLen)
 10921  			if intStringLen < 0 {
 10922  				return ErrInvalidLengthExchange
 10923  			}
 10924  			postIndex := iNdEx + intStringLen
 10925  			if postIndex < 0 {
 10926  				return ErrInvalidLengthExchange
 10927  			}
 10928  			if postIndex > l {
 10929  				return io.ErrUnexpectedEOF
 10930  			}
 10931  			m.MarketId = string(dAtA[iNdEx:postIndex])
 10932  			iNdEx = postIndex
 10933  		case 2:
 10934  			if wireType != 2 {
 10935  				return fmt.Errorf("proto: wrong wireType = %d for field SettlementPrice", wireType)
 10936  			}
 10937  			var stringLen uint64
 10938  			for shift := uint(0); ; shift += 7 {
 10939  				if shift >= 64 {
 10940  					return ErrIntOverflowExchange
 10941  				}
 10942  				if iNdEx >= l {
 10943  					return io.ErrUnexpectedEOF
 10944  				}
 10945  				b := dAtA[iNdEx]
 10946  				iNdEx++
 10947  				stringLen |= uint64(b&0x7F) << shift
 10948  				if b < 0x80 {
 10949  					break
 10950  				}
 10951  			}
 10952  			intStringLen := int(stringLen)
 10953  			if intStringLen < 0 {
 10954  				return ErrInvalidLengthExchange
 10955  			}
 10956  			postIndex := iNdEx + intStringLen
 10957  			if postIndex < 0 {
 10958  				return ErrInvalidLengthExchange
 10959  			}
 10960  			if postIndex > l {
 10961  				return io.ErrUnexpectedEOF
 10962  			}
 10963  			if err := m.SettlementPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 10964  				return err
 10965  			}
 10966  			iNdEx = postIndex
 10967  		default:
 10968  			iNdEx = preIndex
 10969  			skippy, err := skipExchange(dAtA[iNdEx:])
 10970  			if err != nil {
 10971  				return err
 10972  			}
 10973  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 10974  				return ErrInvalidLengthExchange
 10975  			}
 10976  			if (iNdEx + skippy) > l {
 10977  				return io.ErrUnexpectedEOF
 10978  			}
 10979  			iNdEx += skippy
 10980  		}
 10981  	}
 10982  
 10983  	if iNdEx > l {
 10984  		return io.ErrUnexpectedEOF
 10985  	}
 10986  	return nil
 10987  }
 10988  func (m *NextFundingTimestamp) Unmarshal(dAtA []byte) error {
 10989  	l := len(dAtA)
 10990  	iNdEx := 0
 10991  	for iNdEx < l {
 10992  		preIndex := iNdEx
 10993  		var wire uint64
 10994  		for shift := uint(0); ; shift += 7 {
 10995  			if shift >= 64 {
 10996  				return ErrIntOverflowExchange
 10997  			}
 10998  			if iNdEx >= l {
 10999  				return io.ErrUnexpectedEOF
 11000  			}
 11001  			b := dAtA[iNdEx]
 11002  			iNdEx++
 11003  			wire |= uint64(b&0x7F) << shift
 11004  			if b < 0x80 {
 11005  				break
 11006  			}
 11007  		}
 11008  		fieldNum := int32(wire >> 3)
 11009  		wireType := int(wire & 0x7)
 11010  		if wireType == 4 {
 11011  			return fmt.Errorf("proto: NextFundingTimestamp: wiretype end group for non-group")
 11012  		}
 11013  		if fieldNum <= 0 {
 11014  			return fmt.Errorf("proto: NextFundingTimestamp: illegal tag %d (wire type %d)", fieldNum, wire)
 11015  		}
 11016  		switch fieldNum {
 11017  		case 1:
 11018  			if wireType != 0 {
 11019  				return fmt.Errorf("proto: wrong wireType = %d for field NextTimestamp", wireType)
 11020  			}
 11021  			m.NextTimestamp = 0
 11022  			for shift := uint(0); ; shift += 7 {
 11023  				if shift >= 64 {
 11024  					return ErrIntOverflowExchange
 11025  				}
 11026  				if iNdEx >= l {
 11027  					return io.ErrUnexpectedEOF
 11028  				}
 11029  				b := dAtA[iNdEx]
 11030  				iNdEx++
 11031  				m.NextTimestamp |= int64(b&0x7F) << shift
 11032  				if b < 0x80 {
 11033  					break
 11034  				}
 11035  			}
 11036  		default:
 11037  			iNdEx = preIndex
 11038  			skippy, err := skipExchange(dAtA[iNdEx:])
 11039  			if err != nil {
 11040  				return err
 11041  			}
 11042  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 11043  				return ErrInvalidLengthExchange
 11044  			}
 11045  			if (iNdEx + skippy) > l {
 11046  				return io.ErrUnexpectedEOF
 11047  			}
 11048  			iNdEx += skippy
 11049  		}
 11050  	}
 11051  
 11052  	if iNdEx > l {
 11053  		return io.ErrUnexpectedEOF
 11054  	}
 11055  	return nil
 11056  }
 11057  func (m *MidPriceAndTOB) Unmarshal(dAtA []byte) error {
 11058  	l := len(dAtA)
 11059  	iNdEx := 0
 11060  	for iNdEx < l {
 11061  		preIndex := iNdEx
 11062  		var wire uint64
 11063  		for shift := uint(0); ; shift += 7 {
 11064  			if shift >= 64 {
 11065  				return ErrIntOverflowExchange
 11066  			}
 11067  			if iNdEx >= l {
 11068  				return io.ErrUnexpectedEOF
 11069  			}
 11070  			b := dAtA[iNdEx]
 11071  			iNdEx++
 11072  			wire |= uint64(b&0x7F) << shift
 11073  			if b < 0x80 {
 11074  				break
 11075  			}
 11076  		}
 11077  		fieldNum := int32(wire >> 3)
 11078  		wireType := int(wire & 0x7)
 11079  		if wireType == 4 {
 11080  			return fmt.Errorf("proto: MidPriceAndTOB: wiretype end group for non-group")
 11081  		}
 11082  		if fieldNum <= 0 {
 11083  			return fmt.Errorf("proto: MidPriceAndTOB: illegal tag %d (wire type %d)", fieldNum, wire)
 11084  		}
 11085  		switch fieldNum {
 11086  		case 1:
 11087  			if wireType != 2 {
 11088  				return fmt.Errorf("proto: wrong wireType = %d for field MidPrice", wireType)
 11089  			}
 11090  			var stringLen uint64
 11091  			for shift := uint(0); ; shift += 7 {
 11092  				if shift >= 64 {
 11093  					return ErrIntOverflowExchange
 11094  				}
 11095  				if iNdEx >= l {
 11096  					return io.ErrUnexpectedEOF
 11097  				}
 11098  				b := dAtA[iNdEx]
 11099  				iNdEx++
 11100  				stringLen |= uint64(b&0x7F) << shift
 11101  				if b < 0x80 {
 11102  					break
 11103  				}
 11104  			}
 11105  			intStringLen := int(stringLen)
 11106  			if intStringLen < 0 {
 11107  				return ErrInvalidLengthExchange
 11108  			}
 11109  			postIndex := iNdEx + intStringLen
 11110  			if postIndex < 0 {
 11111  				return ErrInvalidLengthExchange
 11112  			}
 11113  			if postIndex > l {
 11114  				return io.ErrUnexpectedEOF
 11115  			}
 11116  			var v cosmossdk_io_math.LegacyDec
 11117  			m.MidPrice = &v
 11118  			if err := m.MidPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 11119  				return err
 11120  			}
 11121  			iNdEx = postIndex
 11122  		case 2:
 11123  			if wireType != 2 {
 11124  				return fmt.Errorf("proto: wrong wireType = %d for field BestBuyPrice", wireType)
 11125  			}
 11126  			var stringLen uint64
 11127  			for shift := uint(0); ; shift += 7 {
 11128  				if shift >= 64 {
 11129  					return ErrIntOverflowExchange
 11130  				}
 11131  				if iNdEx >= l {
 11132  					return io.ErrUnexpectedEOF
 11133  				}
 11134  				b := dAtA[iNdEx]
 11135  				iNdEx++
 11136  				stringLen |= uint64(b&0x7F) << shift
 11137  				if b < 0x80 {
 11138  					break
 11139  				}
 11140  			}
 11141  			intStringLen := int(stringLen)
 11142  			if intStringLen < 0 {
 11143  				return ErrInvalidLengthExchange
 11144  			}
 11145  			postIndex := iNdEx + intStringLen
 11146  			if postIndex < 0 {
 11147  				return ErrInvalidLengthExchange
 11148  			}
 11149  			if postIndex > l {
 11150  				return io.ErrUnexpectedEOF
 11151  			}
 11152  			var v cosmossdk_io_math.LegacyDec
 11153  			m.BestBuyPrice = &v
 11154  			if err := m.BestBuyPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 11155  				return err
 11156  			}
 11157  			iNdEx = postIndex
 11158  		case 3:
 11159  			if wireType != 2 {
 11160  				return fmt.Errorf("proto: wrong wireType = %d for field BestSellPrice", wireType)
 11161  			}
 11162  			var stringLen uint64
 11163  			for shift := uint(0); ; shift += 7 {
 11164  				if shift >= 64 {
 11165  					return ErrIntOverflowExchange
 11166  				}
 11167  				if iNdEx >= l {
 11168  					return io.ErrUnexpectedEOF
 11169  				}
 11170  				b := dAtA[iNdEx]
 11171  				iNdEx++
 11172  				stringLen |= uint64(b&0x7F) << shift
 11173  				if b < 0x80 {
 11174  					break
 11175  				}
 11176  			}
 11177  			intStringLen := int(stringLen)
 11178  			if intStringLen < 0 {
 11179  				return ErrInvalidLengthExchange
 11180  			}
 11181  			postIndex := iNdEx + intStringLen
 11182  			if postIndex < 0 {
 11183  				return ErrInvalidLengthExchange
 11184  			}
 11185  			if postIndex > l {
 11186  				return io.ErrUnexpectedEOF
 11187  			}
 11188  			var v cosmossdk_io_math.LegacyDec
 11189  			m.BestSellPrice = &v
 11190  			if err := m.BestSellPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 11191  				return err
 11192  			}
 11193  			iNdEx = postIndex
 11194  		default:
 11195  			iNdEx = preIndex
 11196  			skippy, err := skipExchange(dAtA[iNdEx:])
 11197  			if err != nil {
 11198  				return err
 11199  			}
 11200  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 11201  				return ErrInvalidLengthExchange
 11202  			}
 11203  			if (iNdEx + skippy) > l {
 11204  				return io.ErrUnexpectedEOF
 11205  			}
 11206  			iNdEx += skippy
 11207  		}
 11208  	}
 11209  
 11210  	if iNdEx > l {
 11211  		return io.ErrUnexpectedEOF
 11212  	}
 11213  	return nil
 11214  }
 11215  func (m *SpotMarket) Unmarshal(dAtA []byte) error {
 11216  	l := len(dAtA)
 11217  	iNdEx := 0
 11218  	for iNdEx < l {
 11219  		preIndex := iNdEx
 11220  		var wire uint64
 11221  		for shift := uint(0); ; shift += 7 {
 11222  			if shift >= 64 {
 11223  				return ErrIntOverflowExchange
 11224  			}
 11225  			if iNdEx >= l {
 11226  				return io.ErrUnexpectedEOF
 11227  			}
 11228  			b := dAtA[iNdEx]
 11229  			iNdEx++
 11230  			wire |= uint64(b&0x7F) << shift
 11231  			if b < 0x80 {
 11232  				break
 11233  			}
 11234  		}
 11235  		fieldNum := int32(wire >> 3)
 11236  		wireType := int(wire & 0x7)
 11237  		if wireType == 4 {
 11238  			return fmt.Errorf("proto: SpotMarket: wiretype end group for non-group")
 11239  		}
 11240  		if fieldNum <= 0 {
 11241  			return fmt.Errorf("proto: SpotMarket: illegal tag %d (wire type %d)", fieldNum, wire)
 11242  		}
 11243  		switch fieldNum {
 11244  		case 1:
 11245  			if wireType != 2 {
 11246  				return fmt.Errorf("proto: wrong wireType = %d for field Ticker", wireType)
 11247  			}
 11248  			var stringLen uint64
 11249  			for shift := uint(0); ; shift += 7 {
 11250  				if shift >= 64 {
 11251  					return ErrIntOverflowExchange
 11252  				}
 11253  				if iNdEx >= l {
 11254  					return io.ErrUnexpectedEOF
 11255  				}
 11256  				b := dAtA[iNdEx]
 11257  				iNdEx++
 11258  				stringLen |= uint64(b&0x7F) << shift
 11259  				if b < 0x80 {
 11260  					break
 11261  				}
 11262  			}
 11263  			intStringLen := int(stringLen)
 11264  			if intStringLen < 0 {
 11265  				return ErrInvalidLengthExchange
 11266  			}
 11267  			postIndex := iNdEx + intStringLen
 11268  			if postIndex < 0 {
 11269  				return ErrInvalidLengthExchange
 11270  			}
 11271  			if postIndex > l {
 11272  				return io.ErrUnexpectedEOF
 11273  			}
 11274  			m.Ticker = string(dAtA[iNdEx:postIndex])
 11275  			iNdEx = postIndex
 11276  		case 2:
 11277  			if wireType != 2 {
 11278  				return fmt.Errorf("proto: wrong wireType = %d for field BaseDenom", wireType)
 11279  			}
 11280  			var stringLen uint64
 11281  			for shift := uint(0); ; shift += 7 {
 11282  				if shift >= 64 {
 11283  					return ErrIntOverflowExchange
 11284  				}
 11285  				if iNdEx >= l {
 11286  					return io.ErrUnexpectedEOF
 11287  				}
 11288  				b := dAtA[iNdEx]
 11289  				iNdEx++
 11290  				stringLen |= uint64(b&0x7F) << shift
 11291  				if b < 0x80 {
 11292  					break
 11293  				}
 11294  			}
 11295  			intStringLen := int(stringLen)
 11296  			if intStringLen < 0 {
 11297  				return ErrInvalidLengthExchange
 11298  			}
 11299  			postIndex := iNdEx + intStringLen
 11300  			if postIndex < 0 {
 11301  				return ErrInvalidLengthExchange
 11302  			}
 11303  			if postIndex > l {
 11304  				return io.ErrUnexpectedEOF
 11305  			}
 11306  			m.BaseDenom = string(dAtA[iNdEx:postIndex])
 11307  			iNdEx = postIndex
 11308  		case 3:
 11309  			if wireType != 2 {
 11310  				return fmt.Errorf("proto: wrong wireType = %d for field QuoteDenom", wireType)
 11311  			}
 11312  			var stringLen uint64
 11313  			for shift := uint(0); ; shift += 7 {
 11314  				if shift >= 64 {
 11315  					return ErrIntOverflowExchange
 11316  				}
 11317  				if iNdEx >= l {
 11318  					return io.ErrUnexpectedEOF
 11319  				}
 11320  				b := dAtA[iNdEx]
 11321  				iNdEx++
 11322  				stringLen |= uint64(b&0x7F) << shift
 11323  				if b < 0x80 {
 11324  					break
 11325  				}
 11326  			}
 11327  			intStringLen := int(stringLen)
 11328  			if intStringLen < 0 {
 11329  				return ErrInvalidLengthExchange
 11330  			}
 11331  			postIndex := iNdEx + intStringLen
 11332  			if postIndex < 0 {
 11333  				return ErrInvalidLengthExchange
 11334  			}
 11335  			if postIndex > l {
 11336  				return io.ErrUnexpectedEOF
 11337  			}
 11338  			m.QuoteDenom = string(dAtA[iNdEx:postIndex])
 11339  			iNdEx = postIndex
 11340  		case 4:
 11341  			if wireType != 2 {
 11342  				return fmt.Errorf("proto: wrong wireType = %d for field MakerFeeRate", wireType)
 11343  			}
 11344  			var stringLen uint64
 11345  			for shift := uint(0); ; shift += 7 {
 11346  				if shift >= 64 {
 11347  					return ErrIntOverflowExchange
 11348  				}
 11349  				if iNdEx >= l {
 11350  					return io.ErrUnexpectedEOF
 11351  				}
 11352  				b := dAtA[iNdEx]
 11353  				iNdEx++
 11354  				stringLen |= uint64(b&0x7F) << shift
 11355  				if b < 0x80 {
 11356  					break
 11357  				}
 11358  			}
 11359  			intStringLen := int(stringLen)
 11360  			if intStringLen < 0 {
 11361  				return ErrInvalidLengthExchange
 11362  			}
 11363  			postIndex := iNdEx + intStringLen
 11364  			if postIndex < 0 {
 11365  				return ErrInvalidLengthExchange
 11366  			}
 11367  			if postIndex > l {
 11368  				return io.ErrUnexpectedEOF
 11369  			}
 11370  			if err := m.MakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 11371  				return err
 11372  			}
 11373  			iNdEx = postIndex
 11374  		case 5:
 11375  			if wireType != 2 {
 11376  				return fmt.Errorf("proto: wrong wireType = %d for field TakerFeeRate", wireType)
 11377  			}
 11378  			var stringLen uint64
 11379  			for shift := uint(0); ; shift += 7 {
 11380  				if shift >= 64 {
 11381  					return ErrIntOverflowExchange
 11382  				}
 11383  				if iNdEx >= l {
 11384  					return io.ErrUnexpectedEOF
 11385  				}
 11386  				b := dAtA[iNdEx]
 11387  				iNdEx++
 11388  				stringLen |= uint64(b&0x7F) << shift
 11389  				if b < 0x80 {
 11390  					break
 11391  				}
 11392  			}
 11393  			intStringLen := int(stringLen)
 11394  			if intStringLen < 0 {
 11395  				return ErrInvalidLengthExchange
 11396  			}
 11397  			postIndex := iNdEx + intStringLen
 11398  			if postIndex < 0 {
 11399  				return ErrInvalidLengthExchange
 11400  			}
 11401  			if postIndex > l {
 11402  				return io.ErrUnexpectedEOF
 11403  			}
 11404  			if err := m.TakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 11405  				return err
 11406  			}
 11407  			iNdEx = postIndex
 11408  		case 6:
 11409  			if wireType != 2 {
 11410  				return fmt.Errorf("proto: wrong wireType = %d for field RelayerFeeShareRate", wireType)
 11411  			}
 11412  			var stringLen uint64
 11413  			for shift := uint(0); ; shift += 7 {
 11414  				if shift >= 64 {
 11415  					return ErrIntOverflowExchange
 11416  				}
 11417  				if iNdEx >= l {
 11418  					return io.ErrUnexpectedEOF
 11419  				}
 11420  				b := dAtA[iNdEx]
 11421  				iNdEx++
 11422  				stringLen |= uint64(b&0x7F) << shift
 11423  				if b < 0x80 {
 11424  					break
 11425  				}
 11426  			}
 11427  			intStringLen := int(stringLen)
 11428  			if intStringLen < 0 {
 11429  				return ErrInvalidLengthExchange
 11430  			}
 11431  			postIndex := iNdEx + intStringLen
 11432  			if postIndex < 0 {
 11433  				return ErrInvalidLengthExchange
 11434  			}
 11435  			if postIndex > l {
 11436  				return io.ErrUnexpectedEOF
 11437  			}
 11438  			if err := m.RelayerFeeShareRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 11439  				return err
 11440  			}
 11441  			iNdEx = postIndex
 11442  		case 7:
 11443  			if wireType != 2 {
 11444  				return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType)
 11445  			}
 11446  			var stringLen uint64
 11447  			for shift := uint(0); ; shift += 7 {
 11448  				if shift >= 64 {
 11449  					return ErrIntOverflowExchange
 11450  				}
 11451  				if iNdEx >= l {
 11452  					return io.ErrUnexpectedEOF
 11453  				}
 11454  				b := dAtA[iNdEx]
 11455  				iNdEx++
 11456  				stringLen |= uint64(b&0x7F) << shift
 11457  				if b < 0x80 {
 11458  					break
 11459  				}
 11460  			}
 11461  			intStringLen := int(stringLen)
 11462  			if intStringLen < 0 {
 11463  				return ErrInvalidLengthExchange
 11464  			}
 11465  			postIndex := iNdEx + intStringLen
 11466  			if postIndex < 0 {
 11467  				return ErrInvalidLengthExchange
 11468  			}
 11469  			if postIndex > l {
 11470  				return io.ErrUnexpectedEOF
 11471  			}
 11472  			m.MarketId = string(dAtA[iNdEx:postIndex])
 11473  			iNdEx = postIndex
 11474  		case 8:
 11475  			if wireType != 0 {
 11476  				return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
 11477  			}
 11478  			m.Status = 0
 11479  			for shift := uint(0); ; shift += 7 {
 11480  				if shift >= 64 {
 11481  					return ErrIntOverflowExchange
 11482  				}
 11483  				if iNdEx >= l {
 11484  					return io.ErrUnexpectedEOF
 11485  				}
 11486  				b := dAtA[iNdEx]
 11487  				iNdEx++
 11488  				m.Status |= MarketStatus(b&0x7F) << shift
 11489  				if b < 0x80 {
 11490  					break
 11491  				}
 11492  			}
 11493  		case 9:
 11494  			if wireType != 2 {
 11495  				return fmt.Errorf("proto: wrong wireType = %d for field MinPriceTickSize", wireType)
 11496  			}
 11497  			var stringLen uint64
 11498  			for shift := uint(0); ; shift += 7 {
 11499  				if shift >= 64 {
 11500  					return ErrIntOverflowExchange
 11501  				}
 11502  				if iNdEx >= l {
 11503  					return io.ErrUnexpectedEOF
 11504  				}
 11505  				b := dAtA[iNdEx]
 11506  				iNdEx++
 11507  				stringLen |= uint64(b&0x7F) << shift
 11508  				if b < 0x80 {
 11509  					break
 11510  				}
 11511  			}
 11512  			intStringLen := int(stringLen)
 11513  			if intStringLen < 0 {
 11514  				return ErrInvalidLengthExchange
 11515  			}
 11516  			postIndex := iNdEx + intStringLen
 11517  			if postIndex < 0 {
 11518  				return ErrInvalidLengthExchange
 11519  			}
 11520  			if postIndex > l {
 11521  				return io.ErrUnexpectedEOF
 11522  			}
 11523  			if err := m.MinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 11524  				return err
 11525  			}
 11526  			iNdEx = postIndex
 11527  		case 10:
 11528  			if wireType != 2 {
 11529  				return fmt.Errorf("proto: wrong wireType = %d for field MinQuantityTickSize", wireType)
 11530  			}
 11531  			var stringLen uint64
 11532  			for shift := uint(0); ; shift += 7 {
 11533  				if shift >= 64 {
 11534  					return ErrIntOverflowExchange
 11535  				}
 11536  				if iNdEx >= l {
 11537  					return io.ErrUnexpectedEOF
 11538  				}
 11539  				b := dAtA[iNdEx]
 11540  				iNdEx++
 11541  				stringLen |= uint64(b&0x7F) << shift
 11542  				if b < 0x80 {
 11543  					break
 11544  				}
 11545  			}
 11546  			intStringLen := int(stringLen)
 11547  			if intStringLen < 0 {
 11548  				return ErrInvalidLengthExchange
 11549  			}
 11550  			postIndex := iNdEx + intStringLen
 11551  			if postIndex < 0 {
 11552  				return ErrInvalidLengthExchange
 11553  			}
 11554  			if postIndex > l {
 11555  				return io.ErrUnexpectedEOF
 11556  			}
 11557  			if err := m.MinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 11558  				return err
 11559  			}
 11560  			iNdEx = postIndex
 11561  		case 11:
 11562  			if wireType != 2 {
 11563  				return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", wireType)
 11564  			}
 11565  			var stringLen uint64
 11566  			for shift := uint(0); ; shift += 7 {
 11567  				if shift >= 64 {
 11568  					return ErrIntOverflowExchange
 11569  				}
 11570  				if iNdEx >= l {
 11571  					return io.ErrUnexpectedEOF
 11572  				}
 11573  				b := dAtA[iNdEx]
 11574  				iNdEx++
 11575  				stringLen |= uint64(b&0x7F) << shift
 11576  				if b < 0x80 {
 11577  					break
 11578  				}
 11579  			}
 11580  			intStringLen := int(stringLen)
 11581  			if intStringLen < 0 {
 11582  				return ErrInvalidLengthExchange
 11583  			}
 11584  			postIndex := iNdEx + intStringLen
 11585  			if postIndex < 0 {
 11586  				return ErrInvalidLengthExchange
 11587  			}
 11588  			if postIndex > l {
 11589  				return io.ErrUnexpectedEOF
 11590  			}
 11591  			if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 11592  				return err
 11593  			}
 11594  			iNdEx = postIndex
 11595  		case 12:
 11596  			if wireType != 2 {
 11597  				return fmt.Errorf("proto: wrong wireType = %d for field Admin", wireType)
 11598  			}
 11599  			var stringLen uint64
 11600  			for shift := uint(0); ; shift += 7 {
 11601  				if shift >= 64 {
 11602  					return ErrIntOverflowExchange
 11603  				}
 11604  				if iNdEx >= l {
 11605  					return io.ErrUnexpectedEOF
 11606  				}
 11607  				b := dAtA[iNdEx]
 11608  				iNdEx++
 11609  				stringLen |= uint64(b&0x7F) << shift
 11610  				if b < 0x80 {
 11611  					break
 11612  				}
 11613  			}
 11614  			intStringLen := int(stringLen)
 11615  			if intStringLen < 0 {
 11616  				return ErrInvalidLengthExchange
 11617  			}
 11618  			postIndex := iNdEx + intStringLen
 11619  			if postIndex < 0 {
 11620  				return ErrInvalidLengthExchange
 11621  			}
 11622  			if postIndex > l {
 11623  				return io.ErrUnexpectedEOF
 11624  			}
 11625  			m.Admin = string(dAtA[iNdEx:postIndex])
 11626  			iNdEx = postIndex
 11627  		case 13:
 11628  			if wireType != 0 {
 11629  				return fmt.Errorf("proto: wrong wireType = %d for field AdminPermissions", wireType)
 11630  			}
 11631  			m.AdminPermissions = 0
 11632  			for shift := uint(0); ; shift += 7 {
 11633  				if shift >= 64 {
 11634  					return ErrIntOverflowExchange
 11635  				}
 11636  				if iNdEx >= l {
 11637  					return io.ErrUnexpectedEOF
 11638  				}
 11639  				b := dAtA[iNdEx]
 11640  				iNdEx++
 11641  				m.AdminPermissions |= uint32(b&0x7F) << shift
 11642  				if b < 0x80 {
 11643  					break
 11644  				}
 11645  			}
 11646  		default:
 11647  			iNdEx = preIndex
 11648  			skippy, err := skipExchange(dAtA[iNdEx:])
 11649  			if err != nil {
 11650  				return err
 11651  			}
 11652  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 11653  				return ErrInvalidLengthExchange
 11654  			}
 11655  			if (iNdEx + skippy) > l {
 11656  				return io.ErrUnexpectedEOF
 11657  			}
 11658  			iNdEx += skippy
 11659  		}
 11660  	}
 11661  
 11662  	if iNdEx > l {
 11663  		return io.ErrUnexpectedEOF
 11664  	}
 11665  	return nil
 11666  }
 11667  func (m *Deposit) Unmarshal(dAtA []byte) error {
 11668  	l := len(dAtA)
 11669  	iNdEx := 0
 11670  	for iNdEx < l {
 11671  		preIndex := iNdEx
 11672  		var wire uint64
 11673  		for shift := uint(0); ; shift += 7 {
 11674  			if shift >= 64 {
 11675  				return ErrIntOverflowExchange
 11676  			}
 11677  			if iNdEx >= l {
 11678  				return io.ErrUnexpectedEOF
 11679  			}
 11680  			b := dAtA[iNdEx]
 11681  			iNdEx++
 11682  			wire |= uint64(b&0x7F) << shift
 11683  			if b < 0x80 {
 11684  				break
 11685  			}
 11686  		}
 11687  		fieldNum := int32(wire >> 3)
 11688  		wireType := int(wire & 0x7)
 11689  		if wireType == 4 {
 11690  			return fmt.Errorf("proto: Deposit: wiretype end group for non-group")
 11691  		}
 11692  		if fieldNum <= 0 {
 11693  			return fmt.Errorf("proto: Deposit: illegal tag %d (wire type %d)", fieldNum, wire)
 11694  		}
 11695  		switch fieldNum {
 11696  		case 1:
 11697  			if wireType != 2 {
 11698  				return fmt.Errorf("proto: wrong wireType = %d for field AvailableBalance", wireType)
 11699  			}
 11700  			var stringLen uint64
 11701  			for shift := uint(0); ; shift += 7 {
 11702  				if shift >= 64 {
 11703  					return ErrIntOverflowExchange
 11704  				}
 11705  				if iNdEx >= l {
 11706  					return io.ErrUnexpectedEOF
 11707  				}
 11708  				b := dAtA[iNdEx]
 11709  				iNdEx++
 11710  				stringLen |= uint64(b&0x7F) << shift
 11711  				if b < 0x80 {
 11712  					break
 11713  				}
 11714  			}
 11715  			intStringLen := int(stringLen)
 11716  			if intStringLen < 0 {
 11717  				return ErrInvalidLengthExchange
 11718  			}
 11719  			postIndex := iNdEx + intStringLen
 11720  			if postIndex < 0 {
 11721  				return ErrInvalidLengthExchange
 11722  			}
 11723  			if postIndex > l {
 11724  				return io.ErrUnexpectedEOF
 11725  			}
 11726  			if err := m.AvailableBalance.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 11727  				return err
 11728  			}
 11729  			iNdEx = postIndex
 11730  		case 2:
 11731  			if wireType != 2 {
 11732  				return fmt.Errorf("proto: wrong wireType = %d for field TotalBalance", wireType)
 11733  			}
 11734  			var stringLen uint64
 11735  			for shift := uint(0); ; shift += 7 {
 11736  				if shift >= 64 {
 11737  					return ErrIntOverflowExchange
 11738  				}
 11739  				if iNdEx >= l {
 11740  					return io.ErrUnexpectedEOF
 11741  				}
 11742  				b := dAtA[iNdEx]
 11743  				iNdEx++
 11744  				stringLen |= uint64(b&0x7F) << shift
 11745  				if b < 0x80 {
 11746  					break
 11747  				}
 11748  			}
 11749  			intStringLen := int(stringLen)
 11750  			if intStringLen < 0 {
 11751  				return ErrInvalidLengthExchange
 11752  			}
 11753  			postIndex := iNdEx + intStringLen
 11754  			if postIndex < 0 {
 11755  				return ErrInvalidLengthExchange
 11756  			}
 11757  			if postIndex > l {
 11758  				return io.ErrUnexpectedEOF
 11759  			}
 11760  			if err := m.TotalBalance.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 11761  				return err
 11762  			}
 11763  			iNdEx = postIndex
 11764  		default:
 11765  			iNdEx = preIndex
 11766  			skippy, err := skipExchange(dAtA[iNdEx:])
 11767  			if err != nil {
 11768  				return err
 11769  			}
 11770  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 11771  				return ErrInvalidLengthExchange
 11772  			}
 11773  			if (iNdEx + skippy) > l {
 11774  				return io.ErrUnexpectedEOF
 11775  			}
 11776  			iNdEx += skippy
 11777  		}
 11778  	}
 11779  
 11780  	if iNdEx > l {
 11781  		return io.ErrUnexpectedEOF
 11782  	}
 11783  	return nil
 11784  }
 11785  func (m *SubaccountTradeNonce) Unmarshal(dAtA []byte) error {
 11786  	l := len(dAtA)
 11787  	iNdEx := 0
 11788  	for iNdEx < l {
 11789  		preIndex := iNdEx
 11790  		var wire uint64
 11791  		for shift := uint(0); ; shift += 7 {
 11792  			if shift >= 64 {
 11793  				return ErrIntOverflowExchange
 11794  			}
 11795  			if iNdEx >= l {
 11796  				return io.ErrUnexpectedEOF
 11797  			}
 11798  			b := dAtA[iNdEx]
 11799  			iNdEx++
 11800  			wire |= uint64(b&0x7F) << shift
 11801  			if b < 0x80 {
 11802  				break
 11803  			}
 11804  		}
 11805  		fieldNum := int32(wire >> 3)
 11806  		wireType := int(wire & 0x7)
 11807  		if wireType == 4 {
 11808  			return fmt.Errorf("proto: SubaccountTradeNonce: wiretype end group for non-group")
 11809  		}
 11810  		if fieldNum <= 0 {
 11811  			return fmt.Errorf("proto: SubaccountTradeNonce: illegal tag %d (wire type %d)", fieldNum, wire)
 11812  		}
 11813  		switch fieldNum {
 11814  		case 1:
 11815  			if wireType != 0 {
 11816  				return fmt.Errorf("proto: wrong wireType = %d for field Nonce", wireType)
 11817  			}
 11818  			m.Nonce = 0
 11819  			for shift := uint(0); ; shift += 7 {
 11820  				if shift >= 64 {
 11821  					return ErrIntOverflowExchange
 11822  				}
 11823  				if iNdEx >= l {
 11824  					return io.ErrUnexpectedEOF
 11825  				}
 11826  				b := dAtA[iNdEx]
 11827  				iNdEx++
 11828  				m.Nonce |= uint32(b&0x7F) << shift
 11829  				if b < 0x80 {
 11830  					break
 11831  				}
 11832  			}
 11833  		default:
 11834  			iNdEx = preIndex
 11835  			skippy, err := skipExchange(dAtA[iNdEx:])
 11836  			if err != nil {
 11837  				return err
 11838  			}
 11839  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 11840  				return ErrInvalidLengthExchange
 11841  			}
 11842  			if (iNdEx + skippy) > l {
 11843  				return io.ErrUnexpectedEOF
 11844  			}
 11845  			iNdEx += skippy
 11846  		}
 11847  	}
 11848  
 11849  	if iNdEx > l {
 11850  		return io.ErrUnexpectedEOF
 11851  	}
 11852  	return nil
 11853  }
 11854  func (m *OrderInfo) Unmarshal(dAtA []byte) error {
 11855  	l := len(dAtA)
 11856  	iNdEx := 0
 11857  	for iNdEx < l {
 11858  		preIndex := iNdEx
 11859  		var wire uint64
 11860  		for shift := uint(0); ; shift += 7 {
 11861  			if shift >= 64 {
 11862  				return ErrIntOverflowExchange
 11863  			}
 11864  			if iNdEx >= l {
 11865  				return io.ErrUnexpectedEOF
 11866  			}
 11867  			b := dAtA[iNdEx]
 11868  			iNdEx++
 11869  			wire |= uint64(b&0x7F) << shift
 11870  			if b < 0x80 {
 11871  				break
 11872  			}
 11873  		}
 11874  		fieldNum := int32(wire >> 3)
 11875  		wireType := int(wire & 0x7)
 11876  		if wireType == 4 {
 11877  			return fmt.Errorf("proto: OrderInfo: wiretype end group for non-group")
 11878  		}
 11879  		if fieldNum <= 0 {
 11880  			return fmt.Errorf("proto: OrderInfo: illegal tag %d (wire type %d)", fieldNum, wire)
 11881  		}
 11882  		switch fieldNum {
 11883  		case 1:
 11884  			if wireType != 2 {
 11885  				return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType)
 11886  			}
 11887  			var stringLen uint64
 11888  			for shift := uint(0); ; shift += 7 {
 11889  				if shift >= 64 {
 11890  					return ErrIntOverflowExchange
 11891  				}
 11892  				if iNdEx >= l {
 11893  					return io.ErrUnexpectedEOF
 11894  				}
 11895  				b := dAtA[iNdEx]
 11896  				iNdEx++
 11897  				stringLen |= uint64(b&0x7F) << shift
 11898  				if b < 0x80 {
 11899  					break
 11900  				}
 11901  			}
 11902  			intStringLen := int(stringLen)
 11903  			if intStringLen < 0 {
 11904  				return ErrInvalidLengthExchange
 11905  			}
 11906  			postIndex := iNdEx + intStringLen
 11907  			if postIndex < 0 {
 11908  				return ErrInvalidLengthExchange
 11909  			}
 11910  			if postIndex > l {
 11911  				return io.ErrUnexpectedEOF
 11912  			}
 11913  			m.SubaccountId = string(dAtA[iNdEx:postIndex])
 11914  			iNdEx = postIndex
 11915  		case 2:
 11916  			if wireType != 2 {
 11917  				return fmt.Errorf("proto: wrong wireType = %d for field FeeRecipient", wireType)
 11918  			}
 11919  			var stringLen uint64
 11920  			for shift := uint(0); ; shift += 7 {
 11921  				if shift >= 64 {
 11922  					return ErrIntOverflowExchange
 11923  				}
 11924  				if iNdEx >= l {
 11925  					return io.ErrUnexpectedEOF
 11926  				}
 11927  				b := dAtA[iNdEx]
 11928  				iNdEx++
 11929  				stringLen |= uint64(b&0x7F) << shift
 11930  				if b < 0x80 {
 11931  					break
 11932  				}
 11933  			}
 11934  			intStringLen := int(stringLen)
 11935  			if intStringLen < 0 {
 11936  				return ErrInvalidLengthExchange
 11937  			}
 11938  			postIndex := iNdEx + intStringLen
 11939  			if postIndex < 0 {
 11940  				return ErrInvalidLengthExchange
 11941  			}
 11942  			if postIndex > l {
 11943  				return io.ErrUnexpectedEOF
 11944  			}
 11945  			m.FeeRecipient = string(dAtA[iNdEx:postIndex])
 11946  			iNdEx = postIndex
 11947  		case 3:
 11948  			if wireType != 2 {
 11949  				return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType)
 11950  			}
 11951  			var stringLen uint64
 11952  			for shift := uint(0); ; shift += 7 {
 11953  				if shift >= 64 {
 11954  					return ErrIntOverflowExchange
 11955  				}
 11956  				if iNdEx >= l {
 11957  					return io.ErrUnexpectedEOF
 11958  				}
 11959  				b := dAtA[iNdEx]
 11960  				iNdEx++
 11961  				stringLen |= uint64(b&0x7F) << shift
 11962  				if b < 0x80 {
 11963  					break
 11964  				}
 11965  			}
 11966  			intStringLen := int(stringLen)
 11967  			if intStringLen < 0 {
 11968  				return ErrInvalidLengthExchange
 11969  			}
 11970  			postIndex := iNdEx + intStringLen
 11971  			if postIndex < 0 {
 11972  				return ErrInvalidLengthExchange
 11973  			}
 11974  			if postIndex > l {
 11975  				return io.ErrUnexpectedEOF
 11976  			}
 11977  			if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 11978  				return err
 11979  			}
 11980  			iNdEx = postIndex
 11981  		case 4:
 11982  			if wireType != 2 {
 11983  				return fmt.Errorf("proto: wrong wireType = %d for field Quantity", wireType)
 11984  			}
 11985  			var stringLen uint64
 11986  			for shift := uint(0); ; shift += 7 {
 11987  				if shift >= 64 {
 11988  					return ErrIntOverflowExchange
 11989  				}
 11990  				if iNdEx >= l {
 11991  					return io.ErrUnexpectedEOF
 11992  				}
 11993  				b := dAtA[iNdEx]
 11994  				iNdEx++
 11995  				stringLen |= uint64(b&0x7F) << shift
 11996  				if b < 0x80 {
 11997  					break
 11998  				}
 11999  			}
 12000  			intStringLen := int(stringLen)
 12001  			if intStringLen < 0 {
 12002  				return ErrInvalidLengthExchange
 12003  			}
 12004  			postIndex := iNdEx + intStringLen
 12005  			if postIndex < 0 {
 12006  				return ErrInvalidLengthExchange
 12007  			}
 12008  			if postIndex > l {
 12009  				return io.ErrUnexpectedEOF
 12010  			}
 12011  			if err := m.Quantity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 12012  				return err
 12013  			}
 12014  			iNdEx = postIndex
 12015  		case 5:
 12016  			if wireType != 2 {
 12017  				return fmt.Errorf("proto: wrong wireType = %d for field Cid", wireType)
 12018  			}
 12019  			var stringLen uint64
 12020  			for shift := uint(0); ; shift += 7 {
 12021  				if shift >= 64 {
 12022  					return ErrIntOverflowExchange
 12023  				}
 12024  				if iNdEx >= l {
 12025  					return io.ErrUnexpectedEOF
 12026  				}
 12027  				b := dAtA[iNdEx]
 12028  				iNdEx++
 12029  				stringLen |= uint64(b&0x7F) << shift
 12030  				if b < 0x80 {
 12031  					break
 12032  				}
 12033  			}
 12034  			intStringLen := int(stringLen)
 12035  			if intStringLen < 0 {
 12036  				return ErrInvalidLengthExchange
 12037  			}
 12038  			postIndex := iNdEx + intStringLen
 12039  			if postIndex < 0 {
 12040  				return ErrInvalidLengthExchange
 12041  			}
 12042  			if postIndex > l {
 12043  				return io.ErrUnexpectedEOF
 12044  			}
 12045  			m.Cid = string(dAtA[iNdEx:postIndex])
 12046  			iNdEx = postIndex
 12047  		default:
 12048  			iNdEx = preIndex
 12049  			skippy, err := skipExchange(dAtA[iNdEx:])
 12050  			if err != nil {
 12051  				return err
 12052  			}
 12053  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 12054  				return ErrInvalidLengthExchange
 12055  			}
 12056  			if (iNdEx + skippy) > l {
 12057  				return io.ErrUnexpectedEOF
 12058  			}
 12059  			iNdEx += skippy
 12060  		}
 12061  	}
 12062  
 12063  	if iNdEx > l {
 12064  		return io.ErrUnexpectedEOF
 12065  	}
 12066  	return nil
 12067  }
 12068  func (m *SpotOrder) Unmarshal(dAtA []byte) error {
 12069  	l := len(dAtA)
 12070  	iNdEx := 0
 12071  	for iNdEx < l {
 12072  		preIndex := iNdEx
 12073  		var wire uint64
 12074  		for shift := uint(0); ; shift += 7 {
 12075  			if shift >= 64 {
 12076  				return ErrIntOverflowExchange
 12077  			}
 12078  			if iNdEx >= l {
 12079  				return io.ErrUnexpectedEOF
 12080  			}
 12081  			b := dAtA[iNdEx]
 12082  			iNdEx++
 12083  			wire |= uint64(b&0x7F) << shift
 12084  			if b < 0x80 {
 12085  				break
 12086  			}
 12087  		}
 12088  		fieldNum := int32(wire >> 3)
 12089  		wireType := int(wire & 0x7)
 12090  		if wireType == 4 {
 12091  			return fmt.Errorf("proto: SpotOrder: wiretype end group for non-group")
 12092  		}
 12093  		if fieldNum <= 0 {
 12094  			return fmt.Errorf("proto: SpotOrder: illegal tag %d (wire type %d)", fieldNum, wire)
 12095  		}
 12096  		switch fieldNum {
 12097  		case 1:
 12098  			if wireType != 2 {
 12099  				return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType)
 12100  			}
 12101  			var stringLen uint64
 12102  			for shift := uint(0); ; shift += 7 {
 12103  				if shift >= 64 {
 12104  					return ErrIntOverflowExchange
 12105  				}
 12106  				if iNdEx >= l {
 12107  					return io.ErrUnexpectedEOF
 12108  				}
 12109  				b := dAtA[iNdEx]
 12110  				iNdEx++
 12111  				stringLen |= uint64(b&0x7F) << shift
 12112  				if b < 0x80 {
 12113  					break
 12114  				}
 12115  			}
 12116  			intStringLen := int(stringLen)
 12117  			if intStringLen < 0 {
 12118  				return ErrInvalidLengthExchange
 12119  			}
 12120  			postIndex := iNdEx + intStringLen
 12121  			if postIndex < 0 {
 12122  				return ErrInvalidLengthExchange
 12123  			}
 12124  			if postIndex > l {
 12125  				return io.ErrUnexpectedEOF
 12126  			}
 12127  			m.MarketId = string(dAtA[iNdEx:postIndex])
 12128  			iNdEx = postIndex
 12129  		case 2:
 12130  			if wireType != 2 {
 12131  				return fmt.Errorf("proto: wrong wireType = %d for field OrderInfo", wireType)
 12132  			}
 12133  			var msglen int
 12134  			for shift := uint(0); ; shift += 7 {
 12135  				if shift >= 64 {
 12136  					return ErrIntOverflowExchange
 12137  				}
 12138  				if iNdEx >= l {
 12139  					return io.ErrUnexpectedEOF
 12140  				}
 12141  				b := dAtA[iNdEx]
 12142  				iNdEx++
 12143  				msglen |= int(b&0x7F) << shift
 12144  				if b < 0x80 {
 12145  					break
 12146  				}
 12147  			}
 12148  			if msglen < 0 {
 12149  				return ErrInvalidLengthExchange
 12150  			}
 12151  			postIndex := iNdEx + msglen
 12152  			if postIndex < 0 {
 12153  				return ErrInvalidLengthExchange
 12154  			}
 12155  			if postIndex > l {
 12156  				return io.ErrUnexpectedEOF
 12157  			}
 12158  			if err := m.OrderInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 12159  				return err
 12160  			}
 12161  			iNdEx = postIndex
 12162  		case 3:
 12163  			if wireType != 0 {
 12164  				return fmt.Errorf("proto: wrong wireType = %d for field OrderType", wireType)
 12165  			}
 12166  			m.OrderType = 0
 12167  			for shift := uint(0); ; shift += 7 {
 12168  				if shift >= 64 {
 12169  					return ErrIntOverflowExchange
 12170  				}
 12171  				if iNdEx >= l {
 12172  					return io.ErrUnexpectedEOF
 12173  				}
 12174  				b := dAtA[iNdEx]
 12175  				iNdEx++
 12176  				m.OrderType |= OrderType(b&0x7F) << shift
 12177  				if b < 0x80 {
 12178  					break
 12179  				}
 12180  			}
 12181  		case 4:
 12182  			if wireType != 2 {
 12183  				return fmt.Errorf("proto: wrong wireType = %d for field TriggerPrice", wireType)
 12184  			}
 12185  			var stringLen uint64
 12186  			for shift := uint(0); ; shift += 7 {
 12187  				if shift >= 64 {
 12188  					return ErrIntOverflowExchange
 12189  				}
 12190  				if iNdEx >= l {
 12191  					return io.ErrUnexpectedEOF
 12192  				}
 12193  				b := dAtA[iNdEx]
 12194  				iNdEx++
 12195  				stringLen |= uint64(b&0x7F) << shift
 12196  				if b < 0x80 {
 12197  					break
 12198  				}
 12199  			}
 12200  			intStringLen := int(stringLen)
 12201  			if intStringLen < 0 {
 12202  				return ErrInvalidLengthExchange
 12203  			}
 12204  			postIndex := iNdEx + intStringLen
 12205  			if postIndex < 0 {
 12206  				return ErrInvalidLengthExchange
 12207  			}
 12208  			if postIndex > l {
 12209  				return io.ErrUnexpectedEOF
 12210  			}
 12211  			var v cosmossdk_io_math.LegacyDec
 12212  			m.TriggerPrice = &v
 12213  			if err := m.TriggerPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 12214  				return err
 12215  			}
 12216  			iNdEx = postIndex
 12217  		default:
 12218  			iNdEx = preIndex
 12219  			skippy, err := skipExchange(dAtA[iNdEx:])
 12220  			if err != nil {
 12221  				return err
 12222  			}
 12223  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 12224  				return ErrInvalidLengthExchange
 12225  			}
 12226  			if (iNdEx + skippy) > l {
 12227  				return io.ErrUnexpectedEOF
 12228  			}
 12229  			iNdEx += skippy
 12230  		}
 12231  	}
 12232  
 12233  	if iNdEx > l {
 12234  		return io.ErrUnexpectedEOF
 12235  	}
 12236  	return nil
 12237  }
 12238  func (m *SpotLimitOrder) Unmarshal(dAtA []byte) error {
 12239  	l := len(dAtA)
 12240  	iNdEx := 0
 12241  	for iNdEx < l {
 12242  		preIndex := iNdEx
 12243  		var wire uint64
 12244  		for shift := uint(0); ; shift += 7 {
 12245  			if shift >= 64 {
 12246  				return ErrIntOverflowExchange
 12247  			}
 12248  			if iNdEx >= l {
 12249  				return io.ErrUnexpectedEOF
 12250  			}
 12251  			b := dAtA[iNdEx]
 12252  			iNdEx++
 12253  			wire |= uint64(b&0x7F) << shift
 12254  			if b < 0x80 {
 12255  				break
 12256  			}
 12257  		}
 12258  		fieldNum := int32(wire >> 3)
 12259  		wireType := int(wire & 0x7)
 12260  		if wireType == 4 {
 12261  			return fmt.Errorf("proto: SpotLimitOrder: wiretype end group for non-group")
 12262  		}
 12263  		if fieldNum <= 0 {
 12264  			return fmt.Errorf("proto: SpotLimitOrder: illegal tag %d (wire type %d)", fieldNum, wire)
 12265  		}
 12266  		switch fieldNum {
 12267  		case 1:
 12268  			if wireType != 2 {
 12269  				return fmt.Errorf("proto: wrong wireType = %d for field OrderInfo", wireType)
 12270  			}
 12271  			var msglen int
 12272  			for shift := uint(0); ; shift += 7 {
 12273  				if shift >= 64 {
 12274  					return ErrIntOverflowExchange
 12275  				}
 12276  				if iNdEx >= l {
 12277  					return io.ErrUnexpectedEOF
 12278  				}
 12279  				b := dAtA[iNdEx]
 12280  				iNdEx++
 12281  				msglen |= int(b&0x7F) << shift
 12282  				if b < 0x80 {
 12283  					break
 12284  				}
 12285  			}
 12286  			if msglen < 0 {
 12287  				return ErrInvalidLengthExchange
 12288  			}
 12289  			postIndex := iNdEx + msglen
 12290  			if postIndex < 0 {
 12291  				return ErrInvalidLengthExchange
 12292  			}
 12293  			if postIndex > l {
 12294  				return io.ErrUnexpectedEOF
 12295  			}
 12296  			if err := m.OrderInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 12297  				return err
 12298  			}
 12299  			iNdEx = postIndex
 12300  		case 2:
 12301  			if wireType != 0 {
 12302  				return fmt.Errorf("proto: wrong wireType = %d for field OrderType", wireType)
 12303  			}
 12304  			m.OrderType = 0
 12305  			for shift := uint(0); ; shift += 7 {
 12306  				if shift >= 64 {
 12307  					return ErrIntOverflowExchange
 12308  				}
 12309  				if iNdEx >= l {
 12310  					return io.ErrUnexpectedEOF
 12311  				}
 12312  				b := dAtA[iNdEx]
 12313  				iNdEx++
 12314  				m.OrderType |= OrderType(b&0x7F) << shift
 12315  				if b < 0x80 {
 12316  					break
 12317  				}
 12318  			}
 12319  		case 3:
 12320  			if wireType != 2 {
 12321  				return fmt.Errorf("proto: wrong wireType = %d for field Fillable", wireType)
 12322  			}
 12323  			var stringLen uint64
 12324  			for shift := uint(0); ; shift += 7 {
 12325  				if shift >= 64 {
 12326  					return ErrIntOverflowExchange
 12327  				}
 12328  				if iNdEx >= l {
 12329  					return io.ErrUnexpectedEOF
 12330  				}
 12331  				b := dAtA[iNdEx]
 12332  				iNdEx++
 12333  				stringLen |= uint64(b&0x7F) << shift
 12334  				if b < 0x80 {
 12335  					break
 12336  				}
 12337  			}
 12338  			intStringLen := int(stringLen)
 12339  			if intStringLen < 0 {
 12340  				return ErrInvalidLengthExchange
 12341  			}
 12342  			postIndex := iNdEx + intStringLen
 12343  			if postIndex < 0 {
 12344  				return ErrInvalidLengthExchange
 12345  			}
 12346  			if postIndex > l {
 12347  				return io.ErrUnexpectedEOF
 12348  			}
 12349  			if err := m.Fillable.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 12350  				return err
 12351  			}
 12352  			iNdEx = postIndex
 12353  		case 4:
 12354  			if wireType != 2 {
 12355  				return fmt.Errorf("proto: wrong wireType = %d for field TriggerPrice", wireType)
 12356  			}
 12357  			var stringLen uint64
 12358  			for shift := uint(0); ; shift += 7 {
 12359  				if shift >= 64 {
 12360  					return ErrIntOverflowExchange
 12361  				}
 12362  				if iNdEx >= l {
 12363  					return io.ErrUnexpectedEOF
 12364  				}
 12365  				b := dAtA[iNdEx]
 12366  				iNdEx++
 12367  				stringLen |= uint64(b&0x7F) << shift
 12368  				if b < 0x80 {
 12369  					break
 12370  				}
 12371  			}
 12372  			intStringLen := int(stringLen)
 12373  			if intStringLen < 0 {
 12374  				return ErrInvalidLengthExchange
 12375  			}
 12376  			postIndex := iNdEx + intStringLen
 12377  			if postIndex < 0 {
 12378  				return ErrInvalidLengthExchange
 12379  			}
 12380  			if postIndex > l {
 12381  				return io.ErrUnexpectedEOF
 12382  			}
 12383  			var v cosmossdk_io_math.LegacyDec
 12384  			m.TriggerPrice = &v
 12385  			if err := m.TriggerPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 12386  				return err
 12387  			}
 12388  			iNdEx = postIndex
 12389  		case 5:
 12390  			if wireType != 2 {
 12391  				return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", wireType)
 12392  			}
 12393  			var byteLen int
 12394  			for shift := uint(0); ; shift += 7 {
 12395  				if shift >= 64 {
 12396  					return ErrIntOverflowExchange
 12397  				}
 12398  				if iNdEx >= l {
 12399  					return io.ErrUnexpectedEOF
 12400  				}
 12401  				b := dAtA[iNdEx]
 12402  				iNdEx++
 12403  				byteLen |= int(b&0x7F) << shift
 12404  				if b < 0x80 {
 12405  					break
 12406  				}
 12407  			}
 12408  			if byteLen < 0 {
 12409  				return ErrInvalidLengthExchange
 12410  			}
 12411  			postIndex := iNdEx + byteLen
 12412  			if postIndex < 0 {
 12413  				return ErrInvalidLengthExchange
 12414  			}
 12415  			if postIndex > l {
 12416  				return io.ErrUnexpectedEOF
 12417  			}
 12418  			m.OrderHash = append(m.OrderHash[:0], dAtA[iNdEx:postIndex]...)
 12419  			if m.OrderHash == nil {
 12420  				m.OrderHash = []byte{}
 12421  			}
 12422  			iNdEx = postIndex
 12423  		default:
 12424  			iNdEx = preIndex
 12425  			skippy, err := skipExchange(dAtA[iNdEx:])
 12426  			if err != nil {
 12427  				return err
 12428  			}
 12429  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 12430  				return ErrInvalidLengthExchange
 12431  			}
 12432  			if (iNdEx + skippy) > l {
 12433  				return io.ErrUnexpectedEOF
 12434  			}
 12435  			iNdEx += skippy
 12436  		}
 12437  	}
 12438  
 12439  	if iNdEx > l {
 12440  		return io.ErrUnexpectedEOF
 12441  	}
 12442  	return nil
 12443  }
 12444  func (m *SpotMarketOrder) Unmarshal(dAtA []byte) error {
 12445  	l := len(dAtA)
 12446  	iNdEx := 0
 12447  	for iNdEx < l {
 12448  		preIndex := iNdEx
 12449  		var wire uint64
 12450  		for shift := uint(0); ; shift += 7 {
 12451  			if shift >= 64 {
 12452  				return ErrIntOverflowExchange
 12453  			}
 12454  			if iNdEx >= l {
 12455  				return io.ErrUnexpectedEOF
 12456  			}
 12457  			b := dAtA[iNdEx]
 12458  			iNdEx++
 12459  			wire |= uint64(b&0x7F) << shift
 12460  			if b < 0x80 {
 12461  				break
 12462  			}
 12463  		}
 12464  		fieldNum := int32(wire >> 3)
 12465  		wireType := int(wire & 0x7)
 12466  		if wireType == 4 {
 12467  			return fmt.Errorf("proto: SpotMarketOrder: wiretype end group for non-group")
 12468  		}
 12469  		if fieldNum <= 0 {
 12470  			return fmt.Errorf("proto: SpotMarketOrder: illegal tag %d (wire type %d)", fieldNum, wire)
 12471  		}
 12472  		switch fieldNum {
 12473  		case 1:
 12474  			if wireType != 2 {
 12475  				return fmt.Errorf("proto: wrong wireType = %d for field OrderInfo", wireType)
 12476  			}
 12477  			var msglen int
 12478  			for shift := uint(0); ; shift += 7 {
 12479  				if shift >= 64 {
 12480  					return ErrIntOverflowExchange
 12481  				}
 12482  				if iNdEx >= l {
 12483  					return io.ErrUnexpectedEOF
 12484  				}
 12485  				b := dAtA[iNdEx]
 12486  				iNdEx++
 12487  				msglen |= int(b&0x7F) << shift
 12488  				if b < 0x80 {
 12489  					break
 12490  				}
 12491  			}
 12492  			if msglen < 0 {
 12493  				return ErrInvalidLengthExchange
 12494  			}
 12495  			postIndex := iNdEx + msglen
 12496  			if postIndex < 0 {
 12497  				return ErrInvalidLengthExchange
 12498  			}
 12499  			if postIndex > l {
 12500  				return io.ErrUnexpectedEOF
 12501  			}
 12502  			if err := m.OrderInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 12503  				return err
 12504  			}
 12505  			iNdEx = postIndex
 12506  		case 2:
 12507  			if wireType != 2 {
 12508  				return fmt.Errorf("proto: wrong wireType = %d for field BalanceHold", wireType)
 12509  			}
 12510  			var stringLen uint64
 12511  			for shift := uint(0); ; shift += 7 {
 12512  				if shift >= 64 {
 12513  					return ErrIntOverflowExchange
 12514  				}
 12515  				if iNdEx >= l {
 12516  					return io.ErrUnexpectedEOF
 12517  				}
 12518  				b := dAtA[iNdEx]
 12519  				iNdEx++
 12520  				stringLen |= uint64(b&0x7F) << shift
 12521  				if b < 0x80 {
 12522  					break
 12523  				}
 12524  			}
 12525  			intStringLen := int(stringLen)
 12526  			if intStringLen < 0 {
 12527  				return ErrInvalidLengthExchange
 12528  			}
 12529  			postIndex := iNdEx + intStringLen
 12530  			if postIndex < 0 {
 12531  				return ErrInvalidLengthExchange
 12532  			}
 12533  			if postIndex > l {
 12534  				return io.ErrUnexpectedEOF
 12535  			}
 12536  			if err := m.BalanceHold.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 12537  				return err
 12538  			}
 12539  			iNdEx = postIndex
 12540  		case 3:
 12541  			if wireType != 2 {
 12542  				return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", wireType)
 12543  			}
 12544  			var byteLen int
 12545  			for shift := uint(0); ; shift += 7 {
 12546  				if shift >= 64 {
 12547  					return ErrIntOverflowExchange
 12548  				}
 12549  				if iNdEx >= l {
 12550  					return io.ErrUnexpectedEOF
 12551  				}
 12552  				b := dAtA[iNdEx]
 12553  				iNdEx++
 12554  				byteLen |= int(b&0x7F) << shift
 12555  				if b < 0x80 {
 12556  					break
 12557  				}
 12558  			}
 12559  			if byteLen < 0 {
 12560  				return ErrInvalidLengthExchange
 12561  			}
 12562  			postIndex := iNdEx + byteLen
 12563  			if postIndex < 0 {
 12564  				return ErrInvalidLengthExchange
 12565  			}
 12566  			if postIndex > l {
 12567  				return io.ErrUnexpectedEOF
 12568  			}
 12569  			m.OrderHash = append(m.OrderHash[:0], dAtA[iNdEx:postIndex]...)
 12570  			if m.OrderHash == nil {
 12571  				m.OrderHash = []byte{}
 12572  			}
 12573  			iNdEx = postIndex
 12574  		case 4:
 12575  			if wireType != 0 {
 12576  				return fmt.Errorf("proto: wrong wireType = %d for field OrderType", wireType)
 12577  			}
 12578  			m.OrderType = 0
 12579  			for shift := uint(0); ; shift += 7 {
 12580  				if shift >= 64 {
 12581  					return ErrIntOverflowExchange
 12582  				}
 12583  				if iNdEx >= l {
 12584  					return io.ErrUnexpectedEOF
 12585  				}
 12586  				b := dAtA[iNdEx]
 12587  				iNdEx++
 12588  				m.OrderType |= OrderType(b&0x7F) << shift
 12589  				if b < 0x80 {
 12590  					break
 12591  				}
 12592  			}
 12593  		case 5:
 12594  			if wireType != 2 {
 12595  				return fmt.Errorf("proto: wrong wireType = %d for field TriggerPrice", wireType)
 12596  			}
 12597  			var stringLen uint64
 12598  			for shift := uint(0); ; shift += 7 {
 12599  				if shift >= 64 {
 12600  					return ErrIntOverflowExchange
 12601  				}
 12602  				if iNdEx >= l {
 12603  					return io.ErrUnexpectedEOF
 12604  				}
 12605  				b := dAtA[iNdEx]
 12606  				iNdEx++
 12607  				stringLen |= uint64(b&0x7F) << shift
 12608  				if b < 0x80 {
 12609  					break
 12610  				}
 12611  			}
 12612  			intStringLen := int(stringLen)
 12613  			if intStringLen < 0 {
 12614  				return ErrInvalidLengthExchange
 12615  			}
 12616  			postIndex := iNdEx + intStringLen
 12617  			if postIndex < 0 {
 12618  				return ErrInvalidLengthExchange
 12619  			}
 12620  			if postIndex > l {
 12621  				return io.ErrUnexpectedEOF
 12622  			}
 12623  			var v cosmossdk_io_math.LegacyDec
 12624  			m.TriggerPrice = &v
 12625  			if err := m.TriggerPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 12626  				return err
 12627  			}
 12628  			iNdEx = postIndex
 12629  		default:
 12630  			iNdEx = preIndex
 12631  			skippy, err := skipExchange(dAtA[iNdEx:])
 12632  			if err != nil {
 12633  				return err
 12634  			}
 12635  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 12636  				return ErrInvalidLengthExchange
 12637  			}
 12638  			if (iNdEx + skippy) > l {
 12639  				return io.ErrUnexpectedEOF
 12640  			}
 12641  			iNdEx += skippy
 12642  		}
 12643  	}
 12644  
 12645  	if iNdEx > l {
 12646  		return io.ErrUnexpectedEOF
 12647  	}
 12648  	return nil
 12649  }
 12650  func (m *DerivativeOrder) Unmarshal(dAtA []byte) error {
 12651  	l := len(dAtA)
 12652  	iNdEx := 0
 12653  	for iNdEx < l {
 12654  		preIndex := iNdEx
 12655  		var wire uint64
 12656  		for shift := uint(0); ; shift += 7 {
 12657  			if shift >= 64 {
 12658  				return ErrIntOverflowExchange
 12659  			}
 12660  			if iNdEx >= l {
 12661  				return io.ErrUnexpectedEOF
 12662  			}
 12663  			b := dAtA[iNdEx]
 12664  			iNdEx++
 12665  			wire |= uint64(b&0x7F) << shift
 12666  			if b < 0x80 {
 12667  				break
 12668  			}
 12669  		}
 12670  		fieldNum := int32(wire >> 3)
 12671  		wireType := int(wire & 0x7)
 12672  		if wireType == 4 {
 12673  			return fmt.Errorf("proto: DerivativeOrder: wiretype end group for non-group")
 12674  		}
 12675  		if fieldNum <= 0 {
 12676  			return fmt.Errorf("proto: DerivativeOrder: illegal tag %d (wire type %d)", fieldNum, wire)
 12677  		}
 12678  		switch fieldNum {
 12679  		case 1:
 12680  			if wireType != 2 {
 12681  				return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType)
 12682  			}
 12683  			var stringLen uint64
 12684  			for shift := uint(0); ; shift += 7 {
 12685  				if shift >= 64 {
 12686  					return ErrIntOverflowExchange
 12687  				}
 12688  				if iNdEx >= l {
 12689  					return io.ErrUnexpectedEOF
 12690  				}
 12691  				b := dAtA[iNdEx]
 12692  				iNdEx++
 12693  				stringLen |= uint64(b&0x7F) << shift
 12694  				if b < 0x80 {
 12695  					break
 12696  				}
 12697  			}
 12698  			intStringLen := int(stringLen)
 12699  			if intStringLen < 0 {
 12700  				return ErrInvalidLengthExchange
 12701  			}
 12702  			postIndex := iNdEx + intStringLen
 12703  			if postIndex < 0 {
 12704  				return ErrInvalidLengthExchange
 12705  			}
 12706  			if postIndex > l {
 12707  				return io.ErrUnexpectedEOF
 12708  			}
 12709  			m.MarketId = string(dAtA[iNdEx:postIndex])
 12710  			iNdEx = postIndex
 12711  		case 2:
 12712  			if wireType != 2 {
 12713  				return fmt.Errorf("proto: wrong wireType = %d for field OrderInfo", wireType)
 12714  			}
 12715  			var msglen int
 12716  			for shift := uint(0); ; shift += 7 {
 12717  				if shift >= 64 {
 12718  					return ErrIntOverflowExchange
 12719  				}
 12720  				if iNdEx >= l {
 12721  					return io.ErrUnexpectedEOF
 12722  				}
 12723  				b := dAtA[iNdEx]
 12724  				iNdEx++
 12725  				msglen |= int(b&0x7F) << shift
 12726  				if b < 0x80 {
 12727  					break
 12728  				}
 12729  			}
 12730  			if msglen < 0 {
 12731  				return ErrInvalidLengthExchange
 12732  			}
 12733  			postIndex := iNdEx + msglen
 12734  			if postIndex < 0 {
 12735  				return ErrInvalidLengthExchange
 12736  			}
 12737  			if postIndex > l {
 12738  				return io.ErrUnexpectedEOF
 12739  			}
 12740  			if err := m.OrderInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 12741  				return err
 12742  			}
 12743  			iNdEx = postIndex
 12744  		case 3:
 12745  			if wireType != 0 {
 12746  				return fmt.Errorf("proto: wrong wireType = %d for field OrderType", wireType)
 12747  			}
 12748  			m.OrderType = 0
 12749  			for shift := uint(0); ; shift += 7 {
 12750  				if shift >= 64 {
 12751  					return ErrIntOverflowExchange
 12752  				}
 12753  				if iNdEx >= l {
 12754  					return io.ErrUnexpectedEOF
 12755  				}
 12756  				b := dAtA[iNdEx]
 12757  				iNdEx++
 12758  				m.OrderType |= OrderType(b&0x7F) << shift
 12759  				if b < 0x80 {
 12760  					break
 12761  				}
 12762  			}
 12763  		case 4:
 12764  			if wireType != 2 {
 12765  				return fmt.Errorf("proto: wrong wireType = %d for field Margin", wireType)
 12766  			}
 12767  			var stringLen uint64
 12768  			for shift := uint(0); ; shift += 7 {
 12769  				if shift >= 64 {
 12770  					return ErrIntOverflowExchange
 12771  				}
 12772  				if iNdEx >= l {
 12773  					return io.ErrUnexpectedEOF
 12774  				}
 12775  				b := dAtA[iNdEx]
 12776  				iNdEx++
 12777  				stringLen |= uint64(b&0x7F) << shift
 12778  				if b < 0x80 {
 12779  					break
 12780  				}
 12781  			}
 12782  			intStringLen := int(stringLen)
 12783  			if intStringLen < 0 {
 12784  				return ErrInvalidLengthExchange
 12785  			}
 12786  			postIndex := iNdEx + intStringLen
 12787  			if postIndex < 0 {
 12788  				return ErrInvalidLengthExchange
 12789  			}
 12790  			if postIndex > l {
 12791  				return io.ErrUnexpectedEOF
 12792  			}
 12793  			if err := m.Margin.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 12794  				return err
 12795  			}
 12796  			iNdEx = postIndex
 12797  		case 5:
 12798  			if wireType != 2 {
 12799  				return fmt.Errorf("proto: wrong wireType = %d for field TriggerPrice", wireType)
 12800  			}
 12801  			var stringLen uint64
 12802  			for shift := uint(0); ; shift += 7 {
 12803  				if shift >= 64 {
 12804  					return ErrIntOverflowExchange
 12805  				}
 12806  				if iNdEx >= l {
 12807  					return io.ErrUnexpectedEOF
 12808  				}
 12809  				b := dAtA[iNdEx]
 12810  				iNdEx++
 12811  				stringLen |= uint64(b&0x7F) << shift
 12812  				if b < 0x80 {
 12813  					break
 12814  				}
 12815  			}
 12816  			intStringLen := int(stringLen)
 12817  			if intStringLen < 0 {
 12818  				return ErrInvalidLengthExchange
 12819  			}
 12820  			postIndex := iNdEx + intStringLen
 12821  			if postIndex < 0 {
 12822  				return ErrInvalidLengthExchange
 12823  			}
 12824  			if postIndex > l {
 12825  				return io.ErrUnexpectedEOF
 12826  			}
 12827  			var v cosmossdk_io_math.LegacyDec
 12828  			m.TriggerPrice = &v
 12829  			if err := m.TriggerPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 12830  				return err
 12831  			}
 12832  			iNdEx = postIndex
 12833  		default:
 12834  			iNdEx = preIndex
 12835  			skippy, err := skipExchange(dAtA[iNdEx:])
 12836  			if err != nil {
 12837  				return err
 12838  			}
 12839  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 12840  				return ErrInvalidLengthExchange
 12841  			}
 12842  			if (iNdEx + skippy) > l {
 12843  				return io.ErrUnexpectedEOF
 12844  			}
 12845  			iNdEx += skippy
 12846  		}
 12847  	}
 12848  
 12849  	if iNdEx > l {
 12850  		return io.ErrUnexpectedEOF
 12851  	}
 12852  	return nil
 12853  }
 12854  func (m *SubaccountOrderbookMetadata) Unmarshal(dAtA []byte) error {
 12855  	l := len(dAtA)
 12856  	iNdEx := 0
 12857  	for iNdEx < l {
 12858  		preIndex := iNdEx
 12859  		var wire uint64
 12860  		for shift := uint(0); ; shift += 7 {
 12861  			if shift >= 64 {
 12862  				return ErrIntOverflowExchange
 12863  			}
 12864  			if iNdEx >= l {
 12865  				return io.ErrUnexpectedEOF
 12866  			}
 12867  			b := dAtA[iNdEx]
 12868  			iNdEx++
 12869  			wire |= uint64(b&0x7F) << shift
 12870  			if b < 0x80 {
 12871  				break
 12872  			}
 12873  		}
 12874  		fieldNum := int32(wire >> 3)
 12875  		wireType := int(wire & 0x7)
 12876  		if wireType == 4 {
 12877  			return fmt.Errorf("proto: SubaccountOrderbookMetadata: wiretype end group for non-group")
 12878  		}
 12879  		if fieldNum <= 0 {
 12880  			return fmt.Errorf("proto: SubaccountOrderbookMetadata: illegal tag %d (wire type %d)", fieldNum, wire)
 12881  		}
 12882  		switch fieldNum {
 12883  		case 1:
 12884  			if wireType != 0 {
 12885  				return fmt.Errorf("proto: wrong wireType = %d for field VanillaLimitOrderCount", wireType)
 12886  			}
 12887  			m.VanillaLimitOrderCount = 0
 12888  			for shift := uint(0); ; shift += 7 {
 12889  				if shift >= 64 {
 12890  					return ErrIntOverflowExchange
 12891  				}
 12892  				if iNdEx >= l {
 12893  					return io.ErrUnexpectedEOF
 12894  				}
 12895  				b := dAtA[iNdEx]
 12896  				iNdEx++
 12897  				m.VanillaLimitOrderCount |= uint32(b&0x7F) << shift
 12898  				if b < 0x80 {
 12899  					break
 12900  				}
 12901  			}
 12902  		case 2:
 12903  			if wireType != 0 {
 12904  				return fmt.Errorf("proto: wrong wireType = %d for field ReduceOnlyLimitOrderCount", wireType)
 12905  			}
 12906  			m.ReduceOnlyLimitOrderCount = 0
 12907  			for shift := uint(0); ; shift += 7 {
 12908  				if shift >= 64 {
 12909  					return ErrIntOverflowExchange
 12910  				}
 12911  				if iNdEx >= l {
 12912  					return io.ErrUnexpectedEOF
 12913  				}
 12914  				b := dAtA[iNdEx]
 12915  				iNdEx++
 12916  				m.ReduceOnlyLimitOrderCount |= uint32(b&0x7F) << shift
 12917  				if b < 0x80 {
 12918  					break
 12919  				}
 12920  			}
 12921  		case 3:
 12922  			if wireType != 2 {
 12923  				return fmt.Errorf("proto: wrong wireType = %d for field AggregateReduceOnlyQuantity", wireType)
 12924  			}
 12925  			var stringLen uint64
 12926  			for shift := uint(0); ; shift += 7 {
 12927  				if shift >= 64 {
 12928  					return ErrIntOverflowExchange
 12929  				}
 12930  				if iNdEx >= l {
 12931  					return io.ErrUnexpectedEOF
 12932  				}
 12933  				b := dAtA[iNdEx]
 12934  				iNdEx++
 12935  				stringLen |= uint64(b&0x7F) << shift
 12936  				if b < 0x80 {
 12937  					break
 12938  				}
 12939  			}
 12940  			intStringLen := int(stringLen)
 12941  			if intStringLen < 0 {
 12942  				return ErrInvalidLengthExchange
 12943  			}
 12944  			postIndex := iNdEx + intStringLen
 12945  			if postIndex < 0 {
 12946  				return ErrInvalidLengthExchange
 12947  			}
 12948  			if postIndex > l {
 12949  				return io.ErrUnexpectedEOF
 12950  			}
 12951  			if err := m.AggregateReduceOnlyQuantity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 12952  				return err
 12953  			}
 12954  			iNdEx = postIndex
 12955  		case 4:
 12956  			if wireType != 2 {
 12957  				return fmt.Errorf("proto: wrong wireType = %d for field AggregateVanillaQuantity", wireType)
 12958  			}
 12959  			var stringLen uint64
 12960  			for shift := uint(0); ; shift += 7 {
 12961  				if shift >= 64 {
 12962  					return ErrIntOverflowExchange
 12963  				}
 12964  				if iNdEx >= l {
 12965  					return io.ErrUnexpectedEOF
 12966  				}
 12967  				b := dAtA[iNdEx]
 12968  				iNdEx++
 12969  				stringLen |= uint64(b&0x7F) << shift
 12970  				if b < 0x80 {
 12971  					break
 12972  				}
 12973  			}
 12974  			intStringLen := int(stringLen)
 12975  			if intStringLen < 0 {
 12976  				return ErrInvalidLengthExchange
 12977  			}
 12978  			postIndex := iNdEx + intStringLen
 12979  			if postIndex < 0 {
 12980  				return ErrInvalidLengthExchange
 12981  			}
 12982  			if postIndex > l {
 12983  				return io.ErrUnexpectedEOF
 12984  			}
 12985  			if err := m.AggregateVanillaQuantity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 12986  				return err
 12987  			}
 12988  			iNdEx = postIndex
 12989  		case 5:
 12990  			if wireType != 0 {
 12991  				return fmt.Errorf("proto: wrong wireType = %d for field VanillaConditionalOrderCount", wireType)
 12992  			}
 12993  			m.VanillaConditionalOrderCount = 0
 12994  			for shift := uint(0); ; shift += 7 {
 12995  				if shift >= 64 {
 12996  					return ErrIntOverflowExchange
 12997  				}
 12998  				if iNdEx >= l {
 12999  					return io.ErrUnexpectedEOF
 13000  				}
 13001  				b := dAtA[iNdEx]
 13002  				iNdEx++
 13003  				m.VanillaConditionalOrderCount |= uint32(b&0x7F) << shift
 13004  				if b < 0x80 {
 13005  					break
 13006  				}
 13007  			}
 13008  		case 6:
 13009  			if wireType != 0 {
 13010  				return fmt.Errorf("proto: wrong wireType = %d for field ReduceOnlyConditionalOrderCount", wireType)
 13011  			}
 13012  			m.ReduceOnlyConditionalOrderCount = 0
 13013  			for shift := uint(0); ; shift += 7 {
 13014  				if shift >= 64 {
 13015  					return ErrIntOverflowExchange
 13016  				}
 13017  				if iNdEx >= l {
 13018  					return io.ErrUnexpectedEOF
 13019  				}
 13020  				b := dAtA[iNdEx]
 13021  				iNdEx++
 13022  				m.ReduceOnlyConditionalOrderCount |= uint32(b&0x7F) << shift
 13023  				if b < 0x80 {
 13024  					break
 13025  				}
 13026  			}
 13027  		default:
 13028  			iNdEx = preIndex
 13029  			skippy, err := skipExchange(dAtA[iNdEx:])
 13030  			if err != nil {
 13031  				return err
 13032  			}
 13033  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 13034  				return ErrInvalidLengthExchange
 13035  			}
 13036  			if (iNdEx + skippy) > l {
 13037  				return io.ErrUnexpectedEOF
 13038  			}
 13039  			iNdEx += skippy
 13040  		}
 13041  	}
 13042  
 13043  	if iNdEx > l {
 13044  		return io.ErrUnexpectedEOF
 13045  	}
 13046  	return nil
 13047  }
 13048  func (m *SubaccountOrder) Unmarshal(dAtA []byte) error {
 13049  	l := len(dAtA)
 13050  	iNdEx := 0
 13051  	for iNdEx < l {
 13052  		preIndex := iNdEx
 13053  		var wire uint64
 13054  		for shift := uint(0); ; shift += 7 {
 13055  			if shift >= 64 {
 13056  				return ErrIntOverflowExchange
 13057  			}
 13058  			if iNdEx >= l {
 13059  				return io.ErrUnexpectedEOF
 13060  			}
 13061  			b := dAtA[iNdEx]
 13062  			iNdEx++
 13063  			wire |= uint64(b&0x7F) << shift
 13064  			if b < 0x80 {
 13065  				break
 13066  			}
 13067  		}
 13068  		fieldNum := int32(wire >> 3)
 13069  		wireType := int(wire & 0x7)
 13070  		if wireType == 4 {
 13071  			return fmt.Errorf("proto: SubaccountOrder: wiretype end group for non-group")
 13072  		}
 13073  		if fieldNum <= 0 {
 13074  			return fmt.Errorf("proto: SubaccountOrder: illegal tag %d (wire type %d)", fieldNum, wire)
 13075  		}
 13076  		switch fieldNum {
 13077  		case 1:
 13078  			if wireType != 2 {
 13079  				return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType)
 13080  			}
 13081  			var stringLen uint64
 13082  			for shift := uint(0); ; shift += 7 {
 13083  				if shift >= 64 {
 13084  					return ErrIntOverflowExchange
 13085  				}
 13086  				if iNdEx >= l {
 13087  					return io.ErrUnexpectedEOF
 13088  				}
 13089  				b := dAtA[iNdEx]
 13090  				iNdEx++
 13091  				stringLen |= uint64(b&0x7F) << shift
 13092  				if b < 0x80 {
 13093  					break
 13094  				}
 13095  			}
 13096  			intStringLen := int(stringLen)
 13097  			if intStringLen < 0 {
 13098  				return ErrInvalidLengthExchange
 13099  			}
 13100  			postIndex := iNdEx + intStringLen
 13101  			if postIndex < 0 {
 13102  				return ErrInvalidLengthExchange
 13103  			}
 13104  			if postIndex > l {
 13105  				return io.ErrUnexpectedEOF
 13106  			}
 13107  			if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 13108  				return err
 13109  			}
 13110  			iNdEx = postIndex
 13111  		case 2:
 13112  			if wireType != 2 {
 13113  				return fmt.Errorf("proto: wrong wireType = %d for field Quantity", wireType)
 13114  			}
 13115  			var stringLen uint64
 13116  			for shift := uint(0); ; shift += 7 {
 13117  				if shift >= 64 {
 13118  					return ErrIntOverflowExchange
 13119  				}
 13120  				if iNdEx >= l {
 13121  					return io.ErrUnexpectedEOF
 13122  				}
 13123  				b := dAtA[iNdEx]
 13124  				iNdEx++
 13125  				stringLen |= uint64(b&0x7F) << shift
 13126  				if b < 0x80 {
 13127  					break
 13128  				}
 13129  			}
 13130  			intStringLen := int(stringLen)
 13131  			if intStringLen < 0 {
 13132  				return ErrInvalidLengthExchange
 13133  			}
 13134  			postIndex := iNdEx + intStringLen
 13135  			if postIndex < 0 {
 13136  				return ErrInvalidLengthExchange
 13137  			}
 13138  			if postIndex > l {
 13139  				return io.ErrUnexpectedEOF
 13140  			}
 13141  			if err := m.Quantity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 13142  				return err
 13143  			}
 13144  			iNdEx = postIndex
 13145  		case 3:
 13146  			if wireType != 0 {
 13147  				return fmt.Errorf("proto: wrong wireType = %d for field IsReduceOnly", wireType)
 13148  			}
 13149  			var v int
 13150  			for shift := uint(0); ; shift += 7 {
 13151  				if shift >= 64 {
 13152  					return ErrIntOverflowExchange
 13153  				}
 13154  				if iNdEx >= l {
 13155  					return io.ErrUnexpectedEOF
 13156  				}
 13157  				b := dAtA[iNdEx]
 13158  				iNdEx++
 13159  				v |= int(b&0x7F) << shift
 13160  				if b < 0x80 {
 13161  					break
 13162  				}
 13163  			}
 13164  			m.IsReduceOnly = bool(v != 0)
 13165  		case 4:
 13166  			if wireType != 2 {
 13167  				return fmt.Errorf("proto: wrong wireType = %d for field Cid", wireType)
 13168  			}
 13169  			var stringLen uint64
 13170  			for shift := uint(0); ; shift += 7 {
 13171  				if shift >= 64 {
 13172  					return ErrIntOverflowExchange
 13173  				}
 13174  				if iNdEx >= l {
 13175  					return io.ErrUnexpectedEOF
 13176  				}
 13177  				b := dAtA[iNdEx]
 13178  				iNdEx++
 13179  				stringLen |= uint64(b&0x7F) << shift
 13180  				if b < 0x80 {
 13181  					break
 13182  				}
 13183  			}
 13184  			intStringLen := int(stringLen)
 13185  			if intStringLen < 0 {
 13186  				return ErrInvalidLengthExchange
 13187  			}
 13188  			postIndex := iNdEx + intStringLen
 13189  			if postIndex < 0 {
 13190  				return ErrInvalidLengthExchange
 13191  			}
 13192  			if postIndex > l {
 13193  				return io.ErrUnexpectedEOF
 13194  			}
 13195  			m.Cid = string(dAtA[iNdEx:postIndex])
 13196  			iNdEx = postIndex
 13197  		default:
 13198  			iNdEx = preIndex
 13199  			skippy, err := skipExchange(dAtA[iNdEx:])
 13200  			if err != nil {
 13201  				return err
 13202  			}
 13203  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 13204  				return ErrInvalidLengthExchange
 13205  			}
 13206  			if (iNdEx + skippy) > l {
 13207  				return io.ErrUnexpectedEOF
 13208  			}
 13209  			iNdEx += skippy
 13210  		}
 13211  	}
 13212  
 13213  	if iNdEx > l {
 13214  		return io.ErrUnexpectedEOF
 13215  	}
 13216  	return nil
 13217  }
 13218  func (m *SubaccountOrderData) Unmarshal(dAtA []byte) error {
 13219  	l := len(dAtA)
 13220  	iNdEx := 0
 13221  	for iNdEx < l {
 13222  		preIndex := iNdEx
 13223  		var wire uint64
 13224  		for shift := uint(0); ; shift += 7 {
 13225  			if shift >= 64 {
 13226  				return ErrIntOverflowExchange
 13227  			}
 13228  			if iNdEx >= l {
 13229  				return io.ErrUnexpectedEOF
 13230  			}
 13231  			b := dAtA[iNdEx]
 13232  			iNdEx++
 13233  			wire |= uint64(b&0x7F) << shift
 13234  			if b < 0x80 {
 13235  				break
 13236  			}
 13237  		}
 13238  		fieldNum := int32(wire >> 3)
 13239  		wireType := int(wire & 0x7)
 13240  		if wireType == 4 {
 13241  			return fmt.Errorf("proto: SubaccountOrderData: wiretype end group for non-group")
 13242  		}
 13243  		if fieldNum <= 0 {
 13244  			return fmt.Errorf("proto: SubaccountOrderData: illegal tag %d (wire type %d)", fieldNum, wire)
 13245  		}
 13246  		switch fieldNum {
 13247  		case 1:
 13248  			if wireType != 2 {
 13249  				return fmt.Errorf("proto: wrong wireType = %d for field Order", wireType)
 13250  			}
 13251  			var msglen int
 13252  			for shift := uint(0); ; shift += 7 {
 13253  				if shift >= 64 {
 13254  					return ErrIntOverflowExchange
 13255  				}
 13256  				if iNdEx >= l {
 13257  					return io.ErrUnexpectedEOF
 13258  				}
 13259  				b := dAtA[iNdEx]
 13260  				iNdEx++
 13261  				msglen |= int(b&0x7F) << shift
 13262  				if b < 0x80 {
 13263  					break
 13264  				}
 13265  			}
 13266  			if msglen < 0 {
 13267  				return ErrInvalidLengthExchange
 13268  			}
 13269  			postIndex := iNdEx + msglen
 13270  			if postIndex < 0 {
 13271  				return ErrInvalidLengthExchange
 13272  			}
 13273  			if postIndex > l {
 13274  				return io.ErrUnexpectedEOF
 13275  			}
 13276  			if m.Order == nil {
 13277  				m.Order = &SubaccountOrder{}
 13278  			}
 13279  			if err := m.Order.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 13280  				return err
 13281  			}
 13282  			iNdEx = postIndex
 13283  		case 2:
 13284  			if wireType != 2 {
 13285  				return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", wireType)
 13286  			}
 13287  			var byteLen int
 13288  			for shift := uint(0); ; shift += 7 {
 13289  				if shift >= 64 {
 13290  					return ErrIntOverflowExchange
 13291  				}
 13292  				if iNdEx >= l {
 13293  					return io.ErrUnexpectedEOF
 13294  				}
 13295  				b := dAtA[iNdEx]
 13296  				iNdEx++
 13297  				byteLen |= int(b&0x7F) << shift
 13298  				if b < 0x80 {
 13299  					break
 13300  				}
 13301  			}
 13302  			if byteLen < 0 {
 13303  				return ErrInvalidLengthExchange
 13304  			}
 13305  			postIndex := iNdEx + byteLen
 13306  			if postIndex < 0 {
 13307  				return ErrInvalidLengthExchange
 13308  			}
 13309  			if postIndex > l {
 13310  				return io.ErrUnexpectedEOF
 13311  			}
 13312  			m.OrderHash = append(m.OrderHash[:0], dAtA[iNdEx:postIndex]...)
 13313  			if m.OrderHash == nil {
 13314  				m.OrderHash = []byte{}
 13315  			}
 13316  			iNdEx = postIndex
 13317  		default:
 13318  			iNdEx = preIndex
 13319  			skippy, err := skipExchange(dAtA[iNdEx:])
 13320  			if err != nil {
 13321  				return err
 13322  			}
 13323  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 13324  				return ErrInvalidLengthExchange
 13325  			}
 13326  			if (iNdEx + skippy) > l {
 13327  				return io.ErrUnexpectedEOF
 13328  			}
 13329  			iNdEx += skippy
 13330  		}
 13331  	}
 13332  
 13333  	if iNdEx > l {
 13334  		return io.ErrUnexpectedEOF
 13335  	}
 13336  	return nil
 13337  }
 13338  func (m *DerivativeLimitOrder) Unmarshal(dAtA []byte) error {
 13339  	l := len(dAtA)
 13340  	iNdEx := 0
 13341  	for iNdEx < l {
 13342  		preIndex := iNdEx
 13343  		var wire uint64
 13344  		for shift := uint(0); ; shift += 7 {
 13345  			if shift >= 64 {
 13346  				return ErrIntOverflowExchange
 13347  			}
 13348  			if iNdEx >= l {
 13349  				return io.ErrUnexpectedEOF
 13350  			}
 13351  			b := dAtA[iNdEx]
 13352  			iNdEx++
 13353  			wire |= uint64(b&0x7F) << shift
 13354  			if b < 0x80 {
 13355  				break
 13356  			}
 13357  		}
 13358  		fieldNum := int32(wire >> 3)
 13359  		wireType := int(wire & 0x7)
 13360  		if wireType == 4 {
 13361  			return fmt.Errorf("proto: DerivativeLimitOrder: wiretype end group for non-group")
 13362  		}
 13363  		if fieldNum <= 0 {
 13364  			return fmt.Errorf("proto: DerivativeLimitOrder: illegal tag %d (wire type %d)", fieldNum, wire)
 13365  		}
 13366  		switch fieldNum {
 13367  		case 1:
 13368  			if wireType != 2 {
 13369  				return fmt.Errorf("proto: wrong wireType = %d for field OrderInfo", wireType)
 13370  			}
 13371  			var msglen int
 13372  			for shift := uint(0); ; shift += 7 {
 13373  				if shift >= 64 {
 13374  					return ErrIntOverflowExchange
 13375  				}
 13376  				if iNdEx >= l {
 13377  					return io.ErrUnexpectedEOF
 13378  				}
 13379  				b := dAtA[iNdEx]
 13380  				iNdEx++
 13381  				msglen |= int(b&0x7F) << shift
 13382  				if b < 0x80 {
 13383  					break
 13384  				}
 13385  			}
 13386  			if msglen < 0 {
 13387  				return ErrInvalidLengthExchange
 13388  			}
 13389  			postIndex := iNdEx + msglen
 13390  			if postIndex < 0 {
 13391  				return ErrInvalidLengthExchange
 13392  			}
 13393  			if postIndex > l {
 13394  				return io.ErrUnexpectedEOF
 13395  			}
 13396  			if err := m.OrderInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 13397  				return err
 13398  			}
 13399  			iNdEx = postIndex
 13400  		case 2:
 13401  			if wireType != 0 {
 13402  				return fmt.Errorf("proto: wrong wireType = %d for field OrderType", wireType)
 13403  			}
 13404  			m.OrderType = 0
 13405  			for shift := uint(0); ; shift += 7 {
 13406  				if shift >= 64 {
 13407  					return ErrIntOverflowExchange
 13408  				}
 13409  				if iNdEx >= l {
 13410  					return io.ErrUnexpectedEOF
 13411  				}
 13412  				b := dAtA[iNdEx]
 13413  				iNdEx++
 13414  				m.OrderType |= OrderType(b&0x7F) << shift
 13415  				if b < 0x80 {
 13416  					break
 13417  				}
 13418  			}
 13419  		case 3:
 13420  			if wireType != 2 {
 13421  				return fmt.Errorf("proto: wrong wireType = %d for field Margin", wireType)
 13422  			}
 13423  			var stringLen uint64
 13424  			for shift := uint(0); ; shift += 7 {
 13425  				if shift >= 64 {
 13426  					return ErrIntOverflowExchange
 13427  				}
 13428  				if iNdEx >= l {
 13429  					return io.ErrUnexpectedEOF
 13430  				}
 13431  				b := dAtA[iNdEx]
 13432  				iNdEx++
 13433  				stringLen |= uint64(b&0x7F) << shift
 13434  				if b < 0x80 {
 13435  					break
 13436  				}
 13437  			}
 13438  			intStringLen := int(stringLen)
 13439  			if intStringLen < 0 {
 13440  				return ErrInvalidLengthExchange
 13441  			}
 13442  			postIndex := iNdEx + intStringLen
 13443  			if postIndex < 0 {
 13444  				return ErrInvalidLengthExchange
 13445  			}
 13446  			if postIndex > l {
 13447  				return io.ErrUnexpectedEOF
 13448  			}
 13449  			if err := m.Margin.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 13450  				return err
 13451  			}
 13452  			iNdEx = postIndex
 13453  		case 4:
 13454  			if wireType != 2 {
 13455  				return fmt.Errorf("proto: wrong wireType = %d for field Fillable", wireType)
 13456  			}
 13457  			var stringLen uint64
 13458  			for shift := uint(0); ; shift += 7 {
 13459  				if shift >= 64 {
 13460  					return ErrIntOverflowExchange
 13461  				}
 13462  				if iNdEx >= l {
 13463  					return io.ErrUnexpectedEOF
 13464  				}
 13465  				b := dAtA[iNdEx]
 13466  				iNdEx++
 13467  				stringLen |= uint64(b&0x7F) << shift
 13468  				if b < 0x80 {
 13469  					break
 13470  				}
 13471  			}
 13472  			intStringLen := int(stringLen)
 13473  			if intStringLen < 0 {
 13474  				return ErrInvalidLengthExchange
 13475  			}
 13476  			postIndex := iNdEx + intStringLen
 13477  			if postIndex < 0 {
 13478  				return ErrInvalidLengthExchange
 13479  			}
 13480  			if postIndex > l {
 13481  				return io.ErrUnexpectedEOF
 13482  			}
 13483  			if err := m.Fillable.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 13484  				return err
 13485  			}
 13486  			iNdEx = postIndex
 13487  		case 5:
 13488  			if wireType != 2 {
 13489  				return fmt.Errorf("proto: wrong wireType = %d for field TriggerPrice", wireType)
 13490  			}
 13491  			var stringLen uint64
 13492  			for shift := uint(0); ; shift += 7 {
 13493  				if shift >= 64 {
 13494  					return ErrIntOverflowExchange
 13495  				}
 13496  				if iNdEx >= l {
 13497  					return io.ErrUnexpectedEOF
 13498  				}
 13499  				b := dAtA[iNdEx]
 13500  				iNdEx++
 13501  				stringLen |= uint64(b&0x7F) << shift
 13502  				if b < 0x80 {
 13503  					break
 13504  				}
 13505  			}
 13506  			intStringLen := int(stringLen)
 13507  			if intStringLen < 0 {
 13508  				return ErrInvalidLengthExchange
 13509  			}
 13510  			postIndex := iNdEx + intStringLen
 13511  			if postIndex < 0 {
 13512  				return ErrInvalidLengthExchange
 13513  			}
 13514  			if postIndex > l {
 13515  				return io.ErrUnexpectedEOF
 13516  			}
 13517  			var v cosmossdk_io_math.LegacyDec
 13518  			m.TriggerPrice = &v
 13519  			if err := m.TriggerPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 13520  				return err
 13521  			}
 13522  			iNdEx = postIndex
 13523  		case 6:
 13524  			if wireType != 2 {
 13525  				return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", wireType)
 13526  			}
 13527  			var byteLen int
 13528  			for shift := uint(0); ; shift += 7 {
 13529  				if shift >= 64 {
 13530  					return ErrIntOverflowExchange
 13531  				}
 13532  				if iNdEx >= l {
 13533  					return io.ErrUnexpectedEOF
 13534  				}
 13535  				b := dAtA[iNdEx]
 13536  				iNdEx++
 13537  				byteLen |= int(b&0x7F) << shift
 13538  				if b < 0x80 {
 13539  					break
 13540  				}
 13541  			}
 13542  			if byteLen < 0 {
 13543  				return ErrInvalidLengthExchange
 13544  			}
 13545  			postIndex := iNdEx + byteLen
 13546  			if postIndex < 0 {
 13547  				return ErrInvalidLengthExchange
 13548  			}
 13549  			if postIndex > l {
 13550  				return io.ErrUnexpectedEOF
 13551  			}
 13552  			m.OrderHash = append(m.OrderHash[:0], dAtA[iNdEx:postIndex]...)
 13553  			if m.OrderHash == nil {
 13554  				m.OrderHash = []byte{}
 13555  			}
 13556  			iNdEx = postIndex
 13557  		default:
 13558  			iNdEx = preIndex
 13559  			skippy, err := skipExchange(dAtA[iNdEx:])
 13560  			if err != nil {
 13561  				return err
 13562  			}
 13563  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 13564  				return ErrInvalidLengthExchange
 13565  			}
 13566  			if (iNdEx + skippy) > l {
 13567  				return io.ErrUnexpectedEOF
 13568  			}
 13569  			iNdEx += skippy
 13570  		}
 13571  	}
 13572  
 13573  	if iNdEx > l {
 13574  		return io.ErrUnexpectedEOF
 13575  	}
 13576  	return nil
 13577  }
 13578  func (m *DerivativeMarketOrder) Unmarshal(dAtA []byte) error {
 13579  	l := len(dAtA)
 13580  	iNdEx := 0
 13581  	for iNdEx < l {
 13582  		preIndex := iNdEx
 13583  		var wire uint64
 13584  		for shift := uint(0); ; shift += 7 {
 13585  			if shift >= 64 {
 13586  				return ErrIntOverflowExchange
 13587  			}
 13588  			if iNdEx >= l {
 13589  				return io.ErrUnexpectedEOF
 13590  			}
 13591  			b := dAtA[iNdEx]
 13592  			iNdEx++
 13593  			wire |= uint64(b&0x7F) << shift
 13594  			if b < 0x80 {
 13595  				break
 13596  			}
 13597  		}
 13598  		fieldNum := int32(wire >> 3)
 13599  		wireType := int(wire & 0x7)
 13600  		if wireType == 4 {
 13601  			return fmt.Errorf("proto: DerivativeMarketOrder: wiretype end group for non-group")
 13602  		}
 13603  		if fieldNum <= 0 {
 13604  			return fmt.Errorf("proto: DerivativeMarketOrder: illegal tag %d (wire type %d)", fieldNum, wire)
 13605  		}
 13606  		switch fieldNum {
 13607  		case 1:
 13608  			if wireType != 2 {
 13609  				return fmt.Errorf("proto: wrong wireType = %d for field OrderInfo", wireType)
 13610  			}
 13611  			var msglen int
 13612  			for shift := uint(0); ; shift += 7 {
 13613  				if shift >= 64 {
 13614  					return ErrIntOverflowExchange
 13615  				}
 13616  				if iNdEx >= l {
 13617  					return io.ErrUnexpectedEOF
 13618  				}
 13619  				b := dAtA[iNdEx]
 13620  				iNdEx++
 13621  				msglen |= int(b&0x7F) << shift
 13622  				if b < 0x80 {
 13623  					break
 13624  				}
 13625  			}
 13626  			if msglen < 0 {
 13627  				return ErrInvalidLengthExchange
 13628  			}
 13629  			postIndex := iNdEx + msglen
 13630  			if postIndex < 0 {
 13631  				return ErrInvalidLengthExchange
 13632  			}
 13633  			if postIndex > l {
 13634  				return io.ErrUnexpectedEOF
 13635  			}
 13636  			if err := m.OrderInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 13637  				return err
 13638  			}
 13639  			iNdEx = postIndex
 13640  		case 2:
 13641  			if wireType != 0 {
 13642  				return fmt.Errorf("proto: wrong wireType = %d for field OrderType", wireType)
 13643  			}
 13644  			m.OrderType = 0
 13645  			for shift := uint(0); ; shift += 7 {
 13646  				if shift >= 64 {
 13647  					return ErrIntOverflowExchange
 13648  				}
 13649  				if iNdEx >= l {
 13650  					return io.ErrUnexpectedEOF
 13651  				}
 13652  				b := dAtA[iNdEx]
 13653  				iNdEx++
 13654  				m.OrderType |= OrderType(b&0x7F) << shift
 13655  				if b < 0x80 {
 13656  					break
 13657  				}
 13658  			}
 13659  		case 3:
 13660  			if wireType != 2 {
 13661  				return fmt.Errorf("proto: wrong wireType = %d for field Margin", wireType)
 13662  			}
 13663  			var stringLen uint64
 13664  			for shift := uint(0); ; shift += 7 {
 13665  				if shift >= 64 {
 13666  					return ErrIntOverflowExchange
 13667  				}
 13668  				if iNdEx >= l {
 13669  					return io.ErrUnexpectedEOF
 13670  				}
 13671  				b := dAtA[iNdEx]
 13672  				iNdEx++
 13673  				stringLen |= uint64(b&0x7F) << shift
 13674  				if b < 0x80 {
 13675  					break
 13676  				}
 13677  			}
 13678  			intStringLen := int(stringLen)
 13679  			if intStringLen < 0 {
 13680  				return ErrInvalidLengthExchange
 13681  			}
 13682  			postIndex := iNdEx + intStringLen
 13683  			if postIndex < 0 {
 13684  				return ErrInvalidLengthExchange
 13685  			}
 13686  			if postIndex > l {
 13687  				return io.ErrUnexpectedEOF
 13688  			}
 13689  			if err := m.Margin.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 13690  				return err
 13691  			}
 13692  			iNdEx = postIndex
 13693  		case 4:
 13694  			if wireType != 2 {
 13695  				return fmt.Errorf("proto: wrong wireType = %d for field MarginHold", wireType)
 13696  			}
 13697  			var stringLen uint64
 13698  			for shift := uint(0); ; shift += 7 {
 13699  				if shift >= 64 {
 13700  					return ErrIntOverflowExchange
 13701  				}
 13702  				if iNdEx >= l {
 13703  					return io.ErrUnexpectedEOF
 13704  				}
 13705  				b := dAtA[iNdEx]
 13706  				iNdEx++
 13707  				stringLen |= uint64(b&0x7F) << shift
 13708  				if b < 0x80 {
 13709  					break
 13710  				}
 13711  			}
 13712  			intStringLen := int(stringLen)
 13713  			if intStringLen < 0 {
 13714  				return ErrInvalidLengthExchange
 13715  			}
 13716  			postIndex := iNdEx + intStringLen
 13717  			if postIndex < 0 {
 13718  				return ErrInvalidLengthExchange
 13719  			}
 13720  			if postIndex > l {
 13721  				return io.ErrUnexpectedEOF
 13722  			}
 13723  			if err := m.MarginHold.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 13724  				return err
 13725  			}
 13726  			iNdEx = postIndex
 13727  		case 5:
 13728  			if wireType != 2 {
 13729  				return fmt.Errorf("proto: wrong wireType = %d for field TriggerPrice", wireType)
 13730  			}
 13731  			var stringLen uint64
 13732  			for shift := uint(0); ; shift += 7 {
 13733  				if shift >= 64 {
 13734  					return ErrIntOverflowExchange
 13735  				}
 13736  				if iNdEx >= l {
 13737  					return io.ErrUnexpectedEOF
 13738  				}
 13739  				b := dAtA[iNdEx]
 13740  				iNdEx++
 13741  				stringLen |= uint64(b&0x7F) << shift
 13742  				if b < 0x80 {
 13743  					break
 13744  				}
 13745  			}
 13746  			intStringLen := int(stringLen)
 13747  			if intStringLen < 0 {
 13748  				return ErrInvalidLengthExchange
 13749  			}
 13750  			postIndex := iNdEx + intStringLen
 13751  			if postIndex < 0 {
 13752  				return ErrInvalidLengthExchange
 13753  			}
 13754  			if postIndex > l {
 13755  				return io.ErrUnexpectedEOF
 13756  			}
 13757  			var v cosmossdk_io_math.LegacyDec
 13758  			m.TriggerPrice = &v
 13759  			if err := m.TriggerPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 13760  				return err
 13761  			}
 13762  			iNdEx = postIndex
 13763  		case 6:
 13764  			if wireType != 2 {
 13765  				return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", wireType)
 13766  			}
 13767  			var byteLen int
 13768  			for shift := uint(0); ; shift += 7 {
 13769  				if shift >= 64 {
 13770  					return ErrIntOverflowExchange
 13771  				}
 13772  				if iNdEx >= l {
 13773  					return io.ErrUnexpectedEOF
 13774  				}
 13775  				b := dAtA[iNdEx]
 13776  				iNdEx++
 13777  				byteLen |= int(b&0x7F) << shift
 13778  				if b < 0x80 {
 13779  					break
 13780  				}
 13781  			}
 13782  			if byteLen < 0 {
 13783  				return ErrInvalidLengthExchange
 13784  			}
 13785  			postIndex := iNdEx + byteLen
 13786  			if postIndex < 0 {
 13787  				return ErrInvalidLengthExchange
 13788  			}
 13789  			if postIndex > l {
 13790  				return io.ErrUnexpectedEOF
 13791  			}
 13792  			m.OrderHash = append(m.OrderHash[:0], dAtA[iNdEx:postIndex]...)
 13793  			if m.OrderHash == nil {
 13794  				m.OrderHash = []byte{}
 13795  			}
 13796  			iNdEx = postIndex
 13797  		default:
 13798  			iNdEx = preIndex
 13799  			skippy, err := skipExchange(dAtA[iNdEx:])
 13800  			if err != nil {
 13801  				return err
 13802  			}
 13803  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 13804  				return ErrInvalidLengthExchange
 13805  			}
 13806  			if (iNdEx + skippy) > l {
 13807  				return io.ErrUnexpectedEOF
 13808  			}
 13809  			iNdEx += skippy
 13810  		}
 13811  	}
 13812  
 13813  	if iNdEx > l {
 13814  		return io.ErrUnexpectedEOF
 13815  	}
 13816  	return nil
 13817  }
 13818  func (m *Position) Unmarshal(dAtA []byte) error {
 13819  	l := len(dAtA)
 13820  	iNdEx := 0
 13821  	for iNdEx < l {
 13822  		preIndex := iNdEx
 13823  		var wire uint64
 13824  		for shift := uint(0); ; shift += 7 {
 13825  			if shift >= 64 {
 13826  				return ErrIntOverflowExchange
 13827  			}
 13828  			if iNdEx >= l {
 13829  				return io.ErrUnexpectedEOF
 13830  			}
 13831  			b := dAtA[iNdEx]
 13832  			iNdEx++
 13833  			wire |= uint64(b&0x7F) << shift
 13834  			if b < 0x80 {
 13835  				break
 13836  			}
 13837  		}
 13838  		fieldNum := int32(wire >> 3)
 13839  		wireType := int(wire & 0x7)
 13840  		if wireType == 4 {
 13841  			return fmt.Errorf("proto: Position: wiretype end group for non-group")
 13842  		}
 13843  		if fieldNum <= 0 {
 13844  			return fmt.Errorf("proto: Position: illegal tag %d (wire type %d)", fieldNum, wire)
 13845  		}
 13846  		switch fieldNum {
 13847  		case 1:
 13848  			if wireType != 0 {
 13849  				return fmt.Errorf("proto: wrong wireType = %d for field IsLong", wireType)
 13850  			}
 13851  			var v int
 13852  			for shift := uint(0); ; shift += 7 {
 13853  				if shift >= 64 {
 13854  					return ErrIntOverflowExchange
 13855  				}
 13856  				if iNdEx >= l {
 13857  					return io.ErrUnexpectedEOF
 13858  				}
 13859  				b := dAtA[iNdEx]
 13860  				iNdEx++
 13861  				v |= int(b&0x7F) << shift
 13862  				if b < 0x80 {
 13863  					break
 13864  				}
 13865  			}
 13866  			m.IsLong = bool(v != 0)
 13867  		case 2:
 13868  			if wireType != 2 {
 13869  				return fmt.Errorf("proto: wrong wireType = %d for field Quantity", wireType)
 13870  			}
 13871  			var stringLen uint64
 13872  			for shift := uint(0); ; shift += 7 {
 13873  				if shift >= 64 {
 13874  					return ErrIntOverflowExchange
 13875  				}
 13876  				if iNdEx >= l {
 13877  					return io.ErrUnexpectedEOF
 13878  				}
 13879  				b := dAtA[iNdEx]
 13880  				iNdEx++
 13881  				stringLen |= uint64(b&0x7F) << shift
 13882  				if b < 0x80 {
 13883  					break
 13884  				}
 13885  			}
 13886  			intStringLen := int(stringLen)
 13887  			if intStringLen < 0 {
 13888  				return ErrInvalidLengthExchange
 13889  			}
 13890  			postIndex := iNdEx + intStringLen
 13891  			if postIndex < 0 {
 13892  				return ErrInvalidLengthExchange
 13893  			}
 13894  			if postIndex > l {
 13895  				return io.ErrUnexpectedEOF
 13896  			}
 13897  			if err := m.Quantity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 13898  				return err
 13899  			}
 13900  			iNdEx = postIndex
 13901  		case 3:
 13902  			if wireType != 2 {
 13903  				return fmt.Errorf("proto: wrong wireType = %d for field EntryPrice", wireType)
 13904  			}
 13905  			var stringLen uint64
 13906  			for shift := uint(0); ; shift += 7 {
 13907  				if shift >= 64 {
 13908  					return ErrIntOverflowExchange
 13909  				}
 13910  				if iNdEx >= l {
 13911  					return io.ErrUnexpectedEOF
 13912  				}
 13913  				b := dAtA[iNdEx]
 13914  				iNdEx++
 13915  				stringLen |= uint64(b&0x7F) << shift
 13916  				if b < 0x80 {
 13917  					break
 13918  				}
 13919  			}
 13920  			intStringLen := int(stringLen)
 13921  			if intStringLen < 0 {
 13922  				return ErrInvalidLengthExchange
 13923  			}
 13924  			postIndex := iNdEx + intStringLen
 13925  			if postIndex < 0 {
 13926  				return ErrInvalidLengthExchange
 13927  			}
 13928  			if postIndex > l {
 13929  				return io.ErrUnexpectedEOF
 13930  			}
 13931  			if err := m.EntryPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 13932  				return err
 13933  			}
 13934  			iNdEx = postIndex
 13935  		case 4:
 13936  			if wireType != 2 {
 13937  				return fmt.Errorf("proto: wrong wireType = %d for field Margin", wireType)
 13938  			}
 13939  			var stringLen uint64
 13940  			for shift := uint(0); ; shift += 7 {
 13941  				if shift >= 64 {
 13942  					return ErrIntOverflowExchange
 13943  				}
 13944  				if iNdEx >= l {
 13945  					return io.ErrUnexpectedEOF
 13946  				}
 13947  				b := dAtA[iNdEx]
 13948  				iNdEx++
 13949  				stringLen |= uint64(b&0x7F) << shift
 13950  				if b < 0x80 {
 13951  					break
 13952  				}
 13953  			}
 13954  			intStringLen := int(stringLen)
 13955  			if intStringLen < 0 {
 13956  				return ErrInvalidLengthExchange
 13957  			}
 13958  			postIndex := iNdEx + intStringLen
 13959  			if postIndex < 0 {
 13960  				return ErrInvalidLengthExchange
 13961  			}
 13962  			if postIndex > l {
 13963  				return io.ErrUnexpectedEOF
 13964  			}
 13965  			if err := m.Margin.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 13966  				return err
 13967  			}
 13968  			iNdEx = postIndex
 13969  		case 5:
 13970  			if wireType != 2 {
 13971  				return fmt.Errorf("proto: wrong wireType = %d for field CumulativeFundingEntry", wireType)
 13972  			}
 13973  			var stringLen uint64
 13974  			for shift := uint(0); ; shift += 7 {
 13975  				if shift >= 64 {
 13976  					return ErrIntOverflowExchange
 13977  				}
 13978  				if iNdEx >= l {
 13979  					return io.ErrUnexpectedEOF
 13980  				}
 13981  				b := dAtA[iNdEx]
 13982  				iNdEx++
 13983  				stringLen |= uint64(b&0x7F) << shift
 13984  				if b < 0x80 {
 13985  					break
 13986  				}
 13987  			}
 13988  			intStringLen := int(stringLen)
 13989  			if intStringLen < 0 {
 13990  				return ErrInvalidLengthExchange
 13991  			}
 13992  			postIndex := iNdEx + intStringLen
 13993  			if postIndex < 0 {
 13994  				return ErrInvalidLengthExchange
 13995  			}
 13996  			if postIndex > l {
 13997  				return io.ErrUnexpectedEOF
 13998  			}
 13999  			if err := m.CumulativeFundingEntry.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 14000  				return err
 14001  			}
 14002  			iNdEx = postIndex
 14003  		default:
 14004  			iNdEx = preIndex
 14005  			skippy, err := skipExchange(dAtA[iNdEx:])
 14006  			if err != nil {
 14007  				return err
 14008  			}
 14009  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 14010  				return ErrInvalidLengthExchange
 14011  			}
 14012  			if (iNdEx + skippy) > l {
 14013  				return io.ErrUnexpectedEOF
 14014  			}
 14015  			iNdEx += skippy
 14016  		}
 14017  	}
 14018  
 14019  	if iNdEx > l {
 14020  		return io.ErrUnexpectedEOF
 14021  	}
 14022  	return nil
 14023  }
 14024  func (m *MarketOrderIndicator) Unmarshal(dAtA []byte) error {
 14025  	l := len(dAtA)
 14026  	iNdEx := 0
 14027  	for iNdEx < l {
 14028  		preIndex := iNdEx
 14029  		var wire uint64
 14030  		for shift := uint(0); ; shift += 7 {
 14031  			if shift >= 64 {
 14032  				return ErrIntOverflowExchange
 14033  			}
 14034  			if iNdEx >= l {
 14035  				return io.ErrUnexpectedEOF
 14036  			}
 14037  			b := dAtA[iNdEx]
 14038  			iNdEx++
 14039  			wire |= uint64(b&0x7F) << shift
 14040  			if b < 0x80 {
 14041  				break
 14042  			}
 14043  		}
 14044  		fieldNum := int32(wire >> 3)
 14045  		wireType := int(wire & 0x7)
 14046  		if wireType == 4 {
 14047  			return fmt.Errorf("proto: MarketOrderIndicator: wiretype end group for non-group")
 14048  		}
 14049  		if fieldNum <= 0 {
 14050  			return fmt.Errorf("proto: MarketOrderIndicator: illegal tag %d (wire type %d)", fieldNum, wire)
 14051  		}
 14052  		switch fieldNum {
 14053  		case 1:
 14054  			if wireType != 2 {
 14055  				return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType)
 14056  			}
 14057  			var stringLen uint64
 14058  			for shift := uint(0); ; shift += 7 {
 14059  				if shift >= 64 {
 14060  					return ErrIntOverflowExchange
 14061  				}
 14062  				if iNdEx >= l {
 14063  					return io.ErrUnexpectedEOF
 14064  				}
 14065  				b := dAtA[iNdEx]
 14066  				iNdEx++
 14067  				stringLen |= uint64(b&0x7F) << shift
 14068  				if b < 0x80 {
 14069  					break
 14070  				}
 14071  			}
 14072  			intStringLen := int(stringLen)
 14073  			if intStringLen < 0 {
 14074  				return ErrInvalidLengthExchange
 14075  			}
 14076  			postIndex := iNdEx + intStringLen
 14077  			if postIndex < 0 {
 14078  				return ErrInvalidLengthExchange
 14079  			}
 14080  			if postIndex > l {
 14081  				return io.ErrUnexpectedEOF
 14082  			}
 14083  			m.MarketId = string(dAtA[iNdEx:postIndex])
 14084  			iNdEx = postIndex
 14085  		case 2:
 14086  			if wireType != 0 {
 14087  				return fmt.Errorf("proto: wrong wireType = %d for field IsBuy", wireType)
 14088  			}
 14089  			var v int
 14090  			for shift := uint(0); ; shift += 7 {
 14091  				if shift >= 64 {
 14092  					return ErrIntOverflowExchange
 14093  				}
 14094  				if iNdEx >= l {
 14095  					return io.ErrUnexpectedEOF
 14096  				}
 14097  				b := dAtA[iNdEx]
 14098  				iNdEx++
 14099  				v |= int(b&0x7F) << shift
 14100  				if b < 0x80 {
 14101  					break
 14102  				}
 14103  			}
 14104  			m.IsBuy = bool(v != 0)
 14105  		default:
 14106  			iNdEx = preIndex
 14107  			skippy, err := skipExchange(dAtA[iNdEx:])
 14108  			if err != nil {
 14109  				return err
 14110  			}
 14111  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 14112  				return ErrInvalidLengthExchange
 14113  			}
 14114  			if (iNdEx + skippy) > l {
 14115  				return io.ErrUnexpectedEOF
 14116  			}
 14117  			iNdEx += skippy
 14118  		}
 14119  	}
 14120  
 14121  	if iNdEx > l {
 14122  		return io.ErrUnexpectedEOF
 14123  	}
 14124  	return nil
 14125  }
 14126  func (m *TradeLog) Unmarshal(dAtA []byte) error {
 14127  	l := len(dAtA)
 14128  	iNdEx := 0
 14129  	for iNdEx < l {
 14130  		preIndex := iNdEx
 14131  		var wire uint64
 14132  		for shift := uint(0); ; shift += 7 {
 14133  			if shift >= 64 {
 14134  				return ErrIntOverflowExchange
 14135  			}
 14136  			if iNdEx >= l {
 14137  				return io.ErrUnexpectedEOF
 14138  			}
 14139  			b := dAtA[iNdEx]
 14140  			iNdEx++
 14141  			wire |= uint64(b&0x7F) << shift
 14142  			if b < 0x80 {
 14143  				break
 14144  			}
 14145  		}
 14146  		fieldNum := int32(wire >> 3)
 14147  		wireType := int(wire & 0x7)
 14148  		if wireType == 4 {
 14149  			return fmt.Errorf("proto: TradeLog: wiretype end group for non-group")
 14150  		}
 14151  		if fieldNum <= 0 {
 14152  			return fmt.Errorf("proto: TradeLog: illegal tag %d (wire type %d)", fieldNum, wire)
 14153  		}
 14154  		switch fieldNum {
 14155  		case 1:
 14156  			if wireType != 2 {
 14157  				return fmt.Errorf("proto: wrong wireType = %d for field Quantity", wireType)
 14158  			}
 14159  			var stringLen uint64
 14160  			for shift := uint(0); ; shift += 7 {
 14161  				if shift >= 64 {
 14162  					return ErrIntOverflowExchange
 14163  				}
 14164  				if iNdEx >= l {
 14165  					return io.ErrUnexpectedEOF
 14166  				}
 14167  				b := dAtA[iNdEx]
 14168  				iNdEx++
 14169  				stringLen |= uint64(b&0x7F) << shift
 14170  				if b < 0x80 {
 14171  					break
 14172  				}
 14173  			}
 14174  			intStringLen := int(stringLen)
 14175  			if intStringLen < 0 {
 14176  				return ErrInvalidLengthExchange
 14177  			}
 14178  			postIndex := iNdEx + intStringLen
 14179  			if postIndex < 0 {
 14180  				return ErrInvalidLengthExchange
 14181  			}
 14182  			if postIndex > l {
 14183  				return io.ErrUnexpectedEOF
 14184  			}
 14185  			if err := m.Quantity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 14186  				return err
 14187  			}
 14188  			iNdEx = postIndex
 14189  		case 2:
 14190  			if wireType != 2 {
 14191  				return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType)
 14192  			}
 14193  			var stringLen uint64
 14194  			for shift := uint(0); ; shift += 7 {
 14195  				if shift >= 64 {
 14196  					return ErrIntOverflowExchange
 14197  				}
 14198  				if iNdEx >= l {
 14199  					return io.ErrUnexpectedEOF
 14200  				}
 14201  				b := dAtA[iNdEx]
 14202  				iNdEx++
 14203  				stringLen |= uint64(b&0x7F) << shift
 14204  				if b < 0x80 {
 14205  					break
 14206  				}
 14207  			}
 14208  			intStringLen := int(stringLen)
 14209  			if intStringLen < 0 {
 14210  				return ErrInvalidLengthExchange
 14211  			}
 14212  			postIndex := iNdEx + intStringLen
 14213  			if postIndex < 0 {
 14214  				return ErrInvalidLengthExchange
 14215  			}
 14216  			if postIndex > l {
 14217  				return io.ErrUnexpectedEOF
 14218  			}
 14219  			if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 14220  				return err
 14221  			}
 14222  			iNdEx = postIndex
 14223  		case 3:
 14224  			if wireType != 2 {
 14225  				return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType)
 14226  			}
 14227  			var byteLen int
 14228  			for shift := uint(0); ; shift += 7 {
 14229  				if shift >= 64 {
 14230  					return ErrIntOverflowExchange
 14231  				}
 14232  				if iNdEx >= l {
 14233  					return io.ErrUnexpectedEOF
 14234  				}
 14235  				b := dAtA[iNdEx]
 14236  				iNdEx++
 14237  				byteLen |= int(b&0x7F) << shift
 14238  				if b < 0x80 {
 14239  					break
 14240  				}
 14241  			}
 14242  			if byteLen < 0 {
 14243  				return ErrInvalidLengthExchange
 14244  			}
 14245  			postIndex := iNdEx + byteLen
 14246  			if postIndex < 0 {
 14247  				return ErrInvalidLengthExchange
 14248  			}
 14249  			if postIndex > l {
 14250  				return io.ErrUnexpectedEOF
 14251  			}
 14252  			m.SubaccountId = append(m.SubaccountId[:0], dAtA[iNdEx:postIndex]...)
 14253  			if m.SubaccountId == nil {
 14254  				m.SubaccountId = []byte{}
 14255  			}
 14256  			iNdEx = postIndex
 14257  		case 4:
 14258  			if wireType != 2 {
 14259  				return fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType)
 14260  			}
 14261  			var stringLen uint64
 14262  			for shift := uint(0); ; shift += 7 {
 14263  				if shift >= 64 {
 14264  					return ErrIntOverflowExchange
 14265  				}
 14266  				if iNdEx >= l {
 14267  					return io.ErrUnexpectedEOF
 14268  				}
 14269  				b := dAtA[iNdEx]
 14270  				iNdEx++
 14271  				stringLen |= uint64(b&0x7F) << shift
 14272  				if b < 0x80 {
 14273  					break
 14274  				}
 14275  			}
 14276  			intStringLen := int(stringLen)
 14277  			if intStringLen < 0 {
 14278  				return ErrInvalidLengthExchange
 14279  			}
 14280  			postIndex := iNdEx + intStringLen
 14281  			if postIndex < 0 {
 14282  				return ErrInvalidLengthExchange
 14283  			}
 14284  			if postIndex > l {
 14285  				return io.ErrUnexpectedEOF
 14286  			}
 14287  			if err := m.Fee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 14288  				return err
 14289  			}
 14290  			iNdEx = postIndex
 14291  		case 5:
 14292  			if wireType != 2 {
 14293  				return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", wireType)
 14294  			}
 14295  			var byteLen int
 14296  			for shift := uint(0); ; shift += 7 {
 14297  				if shift >= 64 {
 14298  					return ErrIntOverflowExchange
 14299  				}
 14300  				if iNdEx >= l {
 14301  					return io.ErrUnexpectedEOF
 14302  				}
 14303  				b := dAtA[iNdEx]
 14304  				iNdEx++
 14305  				byteLen |= int(b&0x7F) << shift
 14306  				if b < 0x80 {
 14307  					break
 14308  				}
 14309  			}
 14310  			if byteLen < 0 {
 14311  				return ErrInvalidLengthExchange
 14312  			}
 14313  			postIndex := iNdEx + byteLen
 14314  			if postIndex < 0 {
 14315  				return ErrInvalidLengthExchange
 14316  			}
 14317  			if postIndex > l {
 14318  				return io.ErrUnexpectedEOF
 14319  			}
 14320  			m.OrderHash = append(m.OrderHash[:0], dAtA[iNdEx:postIndex]...)
 14321  			if m.OrderHash == nil {
 14322  				m.OrderHash = []byte{}
 14323  			}
 14324  			iNdEx = postIndex
 14325  		case 6:
 14326  			if wireType != 2 {
 14327  				return fmt.Errorf("proto: wrong wireType = %d for field FeeRecipientAddress", wireType)
 14328  			}
 14329  			var byteLen int
 14330  			for shift := uint(0); ; shift += 7 {
 14331  				if shift >= 64 {
 14332  					return ErrIntOverflowExchange
 14333  				}
 14334  				if iNdEx >= l {
 14335  					return io.ErrUnexpectedEOF
 14336  				}
 14337  				b := dAtA[iNdEx]
 14338  				iNdEx++
 14339  				byteLen |= int(b&0x7F) << shift
 14340  				if b < 0x80 {
 14341  					break
 14342  				}
 14343  			}
 14344  			if byteLen < 0 {
 14345  				return ErrInvalidLengthExchange
 14346  			}
 14347  			postIndex := iNdEx + byteLen
 14348  			if postIndex < 0 {
 14349  				return ErrInvalidLengthExchange
 14350  			}
 14351  			if postIndex > l {
 14352  				return io.ErrUnexpectedEOF
 14353  			}
 14354  			m.FeeRecipientAddress = append(m.FeeRecipientAddress[:0], dAtA[iNdEx:postIndex]...)
 14355  			if m.FeeRecipientAddress == nil {
 14356  				m.FeeRecipientAddress = []byte{}
 14357  			}
 14358  			iNdEx = postIndex
 14359  		case 7:
 14360  			if wireType != 2 {
 14361  				return fmt.Errorf("proto: wrong wireType = %d for field Cid", wireType)
 14362  			}
 14363  			var stringLen uint64
 14364  			for shift := uint(0); ; shift += 7 {
 14365  				if shift >= 64 {
 14366  					return ErrIntOverflowExchange
 14367  				}
 14368  				if iNdEx >= l {
 14369  					return io.ErrUnexpectedEOF
 14370  				}
 14371  				b := dAtA[iNdEx]
 14372  				iNdEx++
 14373  				stringLen |= uint64(b&0x7F) << shift
 14374  				if b < 0x80 {
 14375  					break
 14376  				}
 14377  			}
 14378  			intStringLen := int(stringLen)
 14379  			if intStringLen < 0 {
 14380  				return ErrInvalidLengthExchange
 14381  			}
 14382  			postIndex := iNdEx + intStringLen
 14383  			if postIndex < 0 {
 14384  				return ErrInvalidLengthExchange
 14385  			}
 14386  			if postIndex > l {
 14387  				return io.ErrUnexpectedEOF
 14388  			}
 14389  			m.Cid = string(dAtA[iNdEx:postIndex])
 14390  			iNdEx = postIndex
 14391  		default:
 14392  			iNdEx = preIndex
 14393  			skippy, err := skipExchange(dAtA[iNdEx:])
 14394  			if err != nil {
 14395  				return err
 14396  			}
 14397  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 14398  				return ErrInvalidLengthExchange
 14399  			}
 14400  			if (iNdEx + skippy) > l {
 14401  				return io.ErrUnexpectedEOF
 14402  			}
 14403  			iNdEx += skippy
 14404  		}
 14405  	}
 14406  
 14407  	if iNdEx > l {
 14408  		return io.ErrUnexpectedEOF
 14409  	}
 14410  	return nil
 14411  }
 14412  func (m *PositionDelta) Unmarshal(dAtA []byte) error {
 14413  	l := len(dAtA)
 14414  	iNdEx := 0
 14415  	for iNdEx < l {
 14416  		preIndex := iNdEx
 14417  		var wire uint64
 14418  		for shift := uint(0); ; shift += 7 {
 14419  			if shift >= 64 {
 14420  				return ErrIntOverflowExchange
 14421  			}
 14422  			if iNdEx >= l {
 14423  				return io.ErrUnexpectedEOF
 14424  			}
 14425  			b := dAtA[iNdEx]
 14426  			iNdEx++
 14427  			wire |= uint64(b&0x7F) << shift
 14428  			if b < 0x80 {
 14429  				break
 14430  			}
 14431  		}
 14432  		fieldNum := int32(wire >> 3)
 14433  		wireType := int(wire & 0x7)
 14434  		if wireType == 4 {
 14435  			return fmt.Errorf("proto: PositionDelta: wiretype end group for non-group")
 14436  		}
 14437  		if fieldNum <= 0 {
 14438  			return fmt.Errorf("proto: PositionDelta: illegal tag %d (wire type %d)", fieldNum, wire)
 14439  		}
 14440  		switch fieldNum {
 14441  		case 1:
 14442  			if wireType != 0 {
 14443  				return fmt.Errorf("proto: wrong wireType = %d for field IsLong", wireType)
 14444  			}
 14445  			var v int
 14446  			for shift := uint(0); ; shift += 7 {
 14447  				if shift >= 64 {
 14448  					return ErrIntOverflowExchange
 14449  				}
 14450  				if iNdEx >= l {
 14451  					return io.ErrUnexpectedEOF
 14452  				}
 14453  				b := dAtA[iNdEx]
 14454  				iNdEx++
 14455  				v |= int(b&0x7F) << shift
 14456  				if b < 0x80 {
 14457  					break
 14458  				}
 14459  			}
 14460  			m.IsLong = bool(v != 0)
 14461  		case 2:
 14462  			if wireType != 2 {
 14463  				return fmt.Errorf("proto: wrong wireType = %d for field ExecutionQuantity", wireType)
 14464  			}
 14465  			var stringLen uint64
 14466  			for shift := uint(0); ; shift += 7 {
 14467  				if shift >= 64 {
 14468  					return ErrIntOverflowExchange
 14469  				}
 14470  				if iNdEx >= l {
 14471  					return io.ErrUnexpectedEOF
 14472  				}
 14473  				b := dAtA[iNdEx]
 14474  				iNdEx++
 14475  				stringLen |= uint64(b&0x7F) << shift
 14476  				if b < 0x80 {
 14477  					break
 14478  				}
 14479  			}
 14480  			intStringLen := int(stringLen)
 14481  			if intStringLen < 0 {
 14482  				return ErrInvalidLengthExchange
 14483  			}
 14484  			postIndex := iNdEx + intStringLen
 14485  			if postIndex < 0 {
 14486  				return ErrInvalidLengthExchange
 14487  			}
 14488  			if postIndex > l {
 14489  				return io.ErrUnexpectedEOF
 14490  			}
 14491  			if err := m.ExecutionQuantity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 14492  				return err
 14493  			}
 14494  			iNdEx = postIndex
 14495  		case 3:
 14496  			if wireType != 2 {
 14497  				return fmt.Errorf("proto: wrong wireType = %d for field ExecutionMargin", wireType)
 14498  			}
 14499  			var stringLen uint64
 14500  			for shift := uint(0); ; shift += 7 {
 14501  				if shift >= 64 {
 14502  					return ErrIntOverflowExchange
 14503  				}
 14504  				if iNdEx >= l {
 14505  					return io.ErrUnexpectedEOF
 14506  				}
 14507  				b := dAtA[iNdEx]
 14508  				iNdEx++
 14509  				stringLen |= uint64(b&0x7F) << shift
 14510  				if b < 0x80 {
 14511  					break
 14512  				}
 14513  			}
 14514  			intStringLen := int(stringLen)
 14515  			if intStringLen < 0 {
 14516  				return ErrInvalidLengthExchange
 14517  			}
 14518  			postIndex := iNdEx + intStringLen
 14519  			if postIndex < 0 {
 14520  				return ErrInvalidLengthExchange
 14521  			}
 14522  			if postIndex > l {
 14523  				return io.ErrUnexpectedEOF
 14524  			}
 14525  			if err := m.ExecutionMargin.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 14526  				return err
 14527  			}
 14528  			iNdEx = postIndex
 14529  		case 4:
 14530  			if wireType != 2 {
 14531  				return fmt.Errorf("proto: wrong wireType = %d for field ExecutionPrice", wireType)
 14532  			}
 14533  			var stringLen uint64
 14534  			for shift := uint(0); ; shift += 7 {
 14535  				if shift >= 64 {
 14536  					return ErrIntOverflowExchange
 14537  				}
 14538  				if iNdEx >= l {
 14539  					return io.ErrUnexpectedEOF
 14540  				}
 14541  				b := dAtA[iNdEx]
 14542  				iNdEx++
 14543  				stringLen |= uint64(b&0x7F) << shift
 14544  				if b < 0x80 {
 14545  					break
 14546  				}
 14547  			}
 14548  			intStringLen := int(stringLen)
 14549  			if intStringLen < 0 {
 14550  				return ErrInvalidLengthExchange
 14551  			}
 14552  			postIndex := iNdEx + intStringLen
 14553  			if postIndex < 0 {
 14554  				return ErrInvalidLengthExchange
 14555  			}
 14556  			if postIndex > l {
 14557  				return io.ErrUnexpectedEOF
 14558  			}
 14559  			if err := m.ExecutionPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 14560  				return err
 14561  			}
 14562  			iNdEx = postIndex
 14563  		default:
 14564  			iNdEx = preIndex
 14565  			skippy, err := skipExchange(dAtA[iNdEx:])
 14566  			if err != nil {
 14567  				return err
 14568  			}
 14569  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 14570  				return ErrInvalidLengthExchange
 14571  			}
 14572  			if (iNdEx + skippy) > l {
 14573  				return io.ErrUnexpectedEOF
 14574  			}
 14575  			iNdEx += skippy
 14576  		}
 14577  	}
 14578  
 14579  	if iNdEx > l {
 14580  		return io.ErrUnexpectedEOF
 14581  	}
 14582  	return nil
 14583  }
 14584  func (m *DerivativeTradeLog) Unmarshal(dAtA []byte) error {
 14585  	l := len(dAtA)
 14586  	iNdEx := 0
 14587  	for iNdEx < l {
 14588  		preIndex := iNdEx
 14589  		var wire uint64
 14590  		for shift := uint(0); ; shift += 7 {
 14591  			if shift >= 64 {
 14592  				return ErrIntOverflowExchange
 14593  			}
 14594  			if iNdEx >= l {
 14595  				return io.ErrUnexpectedEOF
 14596  			}
 14597  			b := dAtA[iNdEx]
 14598  			iNdEx++
 14599  			wire |= uint64(b&0x7F) << shift
 14600  			if b < 0x80 {
 14601  				break
 14602  			}
 14603  		}
 14604  		fieldNum := int32(wire >> 3)
 14605  		wireType := int(wire & 0x7)
 14606  		if wireType == 4 {
 14607  			return fmt.Errorf("proto: DerivativeTradeLog: wiretype end group for non-group")
 14608  		}
 14609  		if fieldNum <= 0 {
 14610  			return fmt.Errorf("proto: DerivativeTradeLog: illegal tag %d (wire type %d)", fieldNum, wire)
 14611  		}
 14612  		switch fieldNum {
 14613  		case 1:
 14614  			if wireType != 2 {
 14615  				return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType)
 14616  			}
 14617  			var byteLen int
 14618  			for shift := uint(0); ; shift += 7 {
 14619  				if shift >= 64 {
 14620  					return ErrIntOverflowExchange
 14621  				}
 14622  				if iNdEx >= l {
 14623  					return io.ErrUnexpectedEOF
 14624  				}
 14625  				b := dAtA[iNdEx]
 14626  				iNdEx++
 14627  				byteLen |= int(b&0x7F) << shift
 14628  				if b < 0x80 {
 14629  					break
 14630  				}
 14631  			}
 14632  			if byteLen < 0 {
 14633  				return ErrInvalidLengthExchange
 14634  			}
 14635  			postIndex := iNdEx + byteLen
 14636  			if postIndex < 0 {
 14637  				return ErrInvalidLengthExchange
 14638  			}
 14639  			if postIndex > l {
 14640  				return io.ErrUnexpectedEOF
 14641  			}
 14642  			m.SubaccountId = append(m.SubaccountId[:0], dAtA[iNdEx:postIndex]...)
 14643  			if m.SubaccountId == nil {
 14644  				m.SubaccountId = []byte{}
 14645  			}
 14646  			iNdEx = postIndex
 14647  		case 2:
 14648  			if wireType != 2 {
 14649  				return fmt.Errorf("proto: wrong wireType = %d for field PositionDelta", wireType)
 14650  			}
 14651  			var msglen int
 14652  			for shift := uint(0); ; shift += 7 {
 14653  				if shift >= 64 {
 14654  					return ErrIntOverflowExchange
 14655  				}
 14656  				if iNdEx >= l {
 14657  					return io.ErrUnexpectedEOF
 14658  				}
 14659  				b := dAtA[iNdEx]
 14660  				iNdEx++
 14661  				msglen |= int(b&0x7F) << shift
 14662  				if b < 0x80 {
 14663  					break
 14664  				}
 14665  			}
 14666  			if msglen < 0 {
 14667  				return ErrInvalidLengthExchange
 14668  			}
 14669  			postIndex := iNdEx + msglen
 14670  			if postIndex < 0 {
 14671  				return ErrInvalidLengthExchange
 14672  			}
 14673  			if postIndex > l {
 14674  				return io.ErrUnexpectedEOF
 14675  			}
 14676  			if m.PositionDelta == nil {
 14677  				m.PositionDelta = &PositionDelta{}
 14678  			}
 14679  			if err := m.PositionDelta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 14680  				return err
 14681  			}
 14682  			iNdEx = postIndex
 14683  		case 3:
 14684  			if wireType != 2 {
 14685  				return fmt.Errorf("proto: wrong wireType = %d for field Payout", wireType)
 14686  			}
 14687  			var stringLen uint64
 14688  			for shift := uint(0); ; shift += 7 {
 14689  				if shift >= 64 {
 14690  					return ErrIntOverflowExchange
 14691  				}
 14692  				if iNdEx >= l {
 14693  					return io.ErrUnexpectedEOF
 14694  				}
 14695  				b := dAtA[iNdEx]
 14696  				iNdEx++
 14697  				stringLen |= uint64(b&0x7F) << shift
 14698  				if b < 0x80 {
 14699  					break
 14700  				}
 14701  			}
 14702  			intStringLen := int(stringLen)
 14703  			if intStringLen < 0 {
 14704  				return ErrInvalidLengthExchange
 14705  			}
 14706  			postIndex := iNdEx + intStringLen
 14707  			if postIndex < 0 {
 14708  				return ErrInvalidLengthExchange
 14709  			}
 14710  			if postIndex > l {
 14711  				return io.ErrUnexpectedEOF
 14712  			}
 14713  			if err := m.Payout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 14714  				return err
 14715  			}
 14716  			iNdEx = postIndex
 14717  		case 4:
 14718  			if wireType != 2 {
 14719  				return fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType)
 14720  			}
 14721  			var stringLen uint64
 14722  			for shift := uint(0); ; shift += 7 {
 14723  				if shift >= 64 {
 14724  					return ErrIntOverflowExchange
 14725  				}
 14726  				if iNdEx >= l {
 14727  					return io.ErrUnexpectedEOF
 14728  				}
 14729  				b := dAtA[iNdEx]
 14730  				iNdEx++
 14731  				stringLen |= uint64(b&0x7F) << shift
 14732  				if b < 0x80 {
 14733  					break
 14734  				}
 14735  			}
 14736  			intStringLen := int(stringLen)
 14737  			if intStringLen < 0 {
 14738  				return ErrInvalidLengthExchange
 14739  			}
 14740  			postIndex := iNdEx + intStringLen
 14741  			if postIndex < 0 {
 14742  				return ErrInvalidLengthExchange
 14743  			}
 14744  			if postIndex > l {
 14745  				return io.ErrUnexpectedEOF
 14746  			}
 14747  			if err := m.Fee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 14748  				return err
 14749  			}
 14750  			iNdEx = postIndex
 14751  		case 5:
 14752  			if wireType != 2 {
 14753  				return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", wireType)
 14754  			}
 14755  			var byteLen int
 14756  			for shift := uint(0); ; shift += 7 {
 14757  				if shift >= 64 {
 14758  					return ErrIntOverflowExchange
 14759  				}
 14760  				if iNdEx >= l {
 14761  					return io.ErrUnexpectedEOF
 14762  				}
 14763  				b := dAtA[iNdEx]
 14764  				iNdEx++
 14765  				byteLen |= int(b&0x7F) << shift
 14766  				if b < 0x80 {
 14767  					break
 14768  				}
 14769  			}
 14770  			if byteLen < 0 {
 14771  				return ErrInvalidLengthExchange
 14772  			}
 14773  			postIndex := iNdEx + byteLen
 14774  			if postIndex < 0 {
 14775  				return ErrInvalidLengthExchange
 14776  			}
 14777  			if postIndex > l {
 14778  				return io.ErrUnexpectedEOF
 14779  			}
 14780  			m.OrderHash = append(m.OrderHash[:0], dAtA[iNdEx:postIndex]...)
 14781  			if m.OrderHash == nil {
 14782  				m.OrderHash = []byte{}
 14783  			}
 14784  			iNdEx = postIndex
 14785  		case 6:
 14786  			if wireType != 2 {
 14787  				return fmt.Errorf("proto: wrong wireType = %d for field FeeRecipientAddress", wireType)
 14788  			}
 14789  			var byteLen int
 14790  			for shift := uint(0); ; shift += 7 {
 14791  				if shift >= 64 {
 14792  					return ErrIntOverflowExchange
 14793  				}
 14794  				if iNdEx >= l {
 14795  					return io.ErrUnexpectedEOF
 14796  				}
 14797  				b := dAtA[iNdEx]
 14798  				iNdEx++
 14799  				byteLen |= int(b&0x7F) << shift
 14800  				if b < 0x80 {
 14801  					break
 14802  				}
 14803  			}
 14804  			if byteLen < 0 {
 14805  				return ErrInvalidLengthExchange
 14806  			}
 14807  			postIndex := iNdEx + byteLen
 14808  			if postIndex < 0 {
 14809  				return ErrInvalidLengthExchange
 14810  			}
 14811  			if postIndex > l {
 14812  				return io.ErrUnexpectedEOF
 14813  			}
 14814  			m.FeeRecipientAddress = append(m.FeeRecipientAddress[:0], dAtA[iNdEx:postIndex]...)
 14815  			if m.FeeRecipientAddress == nil {
 14816  				m.FeeRecipientAddress = []byte{}
 14817  			}
 14818  			iNdEx = postIndex
 14819  		case 7:
 14820  			if wireType != 2 {
 14821  				return fmt.Errorf("proto: wrong wireType = %d for field Cid", wireType)
 14822  			}
 14823  			var stringLen uint64
 14824  			for shift := uint(0); ; shift += 7 {
 14825  				if shift >= 64 {
 14826  					return ErrIntOverflowExchange
 14827  				}
 14828  				if iNdEx >= l {
 14829  					return io.ErrUnexpectedEOF
 14830  				}
 14831  				b := dAtA[iNdEx]
 14832  				iNdEx++
 14833  				stringLen |= uint64(b&0x7F) << shift
 14834  				if b < 0x80 {
 14835  					break
 14836  				}
 14837  			}
 14838  			intStringLen := int(stringLen)
 14839  			if intStringLen < 0 {
 14840  				return ErrInvalidLengthExchange
 14841  			}
 14842  			postIndex := iNdEx + intStringLen
 14843  			if postIndex < 0 {
 14844  				return ErrInvalidLengthExchange
 14845  			}
 14846  			if postIndex > l {
 14847  				return io.ErrUnexpectedEOF
 14848  			}
 14849  			m.Cid = string(dAtA[iNdEx:postIndex])
 14850  			iNdEx = postIndex
 14851  		case 8:
 14852  			if wireType != 2 {
 14853  				return fmt.Errorf("proto: wrong wireType = %d for field Pnl", wireType)
 14854  			}
 14855  			var stringLen uint64
 14856  			for shift := uint(0); ; shift += 7 {
 14857  				if shift >= 64 {
 14858  					return ErrIntOverflowExchange
 14859  				}
 14860  				if iNdEx >= l {
 14861  					return io.ErrUnexpectedEOF
 14862  				}
 14863  				b := dAtA[iNdEx]
 14864  				iNdEx++
 14865  				stringLen |= uint64(b&0x7F) << shift
 14866  				if b < 0x80 {
 14867  					break
 14868  				}
 14869  			}
 14870  			intStringLen := int(stringLen)
 14871  			if intStringLen < 0 {
 14872  				return ErrInvalidLengthExchange
 14873  			}
 14874  			postIndex := iNdEx + intStringLen
 14875  			if postIndex < 0 {
 14876  				return ErrInvalidLengthExchange
 14877  			}
 14878  			if postIndex > l {
 14879  				return io.ErrUnexpectedEOF
 14880  			}
 14881  			if err := m.Pnl.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 14882  				return err
 14883  			}
 14884  			iNdEx = postIndex
 14885  		default:
 14886  			iNdEx = preIndex
 14887  			skippy, err := skipExchange(dAtA[iNdEx:])
 14888  			if err != nil {
 14889  				return err
 14890  			}
 14891  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 14892  				return ErrInvalidLengthExchange
 14893  			}
 14894  			if (iNdEx + skippy) > l {
 14895  				return io.ErrUnexpectedEOF
 14896  			}
 14897  			iNdEx += skippy
 14898  		}
 14899  	}
 14900  
 14901  	if iNdEx > l {
 14902  		return io.ErrUnexpectedEOF
 14903  	}
 14904  	return nil
 14905  }
 14906  func (m *SubaccountPosition) Unmarshal(dAtA []byte) error {
 14907  	l := len(dAtA)
 14908  	iNdEx := 0
 14909  	for iNdEx < l {
 14910  		preIndex := iNdEx
 14911  		var wire uint64
 14912  		for shift := uint(0); ; shift += 7 {
 14913  			if shift >= 64 {
 14914  				return ErrIntOverflowExchange
 14915  			}
 14916  			if iNdEx >= l {
 14917  				return io.ErrUnexpectedEOF
 14918  			}
 14919  			b := dAtA[iNdEx]
 14920  			iNdEx++
 14921  			wire |= uint64(b&0x7F) << shift
 14922  			if b < 0x80 {
 14923  				break
 14924  			}
 14925  		}
 14926  		fieldNum := int32(wire >> 3)
 14927  		wireType := int(wire & 0x7)
 14928  		if wireType == 4 {
 14929  			return fmt.Errorf("proto: SubaccountPosition: wiretype end group for non-group")
 14930  		}
 14931  		if fieldNum <= 0 {
 14932  			return fmt.Errorf("proto: SubaccountPosition: illegal tag %d (wire type %d)", fieldNum, wire)
 14933  		}
 14934  		switch fieldNum {
 14935  		case 1:
 14936  			if wireType != 2 {
 14937  				return fmt.Errorf("proto: wrong wireType = %d for field Position", wireType)
 14938  			}
 14939  			var msglen int
 14940  			for shift := uint(0); ; shift += 7 {
 14941  				if shift >= 64 {
 14942  					return ErrIntOverflowExchange
 14943  				}
 14944  				if iNdEx >= l {
 14945  					return io.ErrUnexpectedEOF
 14946  				}
 14947  				b := dAtA[iNdEx]
 14948  				iNdEx++
 14949  				msglen |= int(b&0x7F) << shift
 14950  				if b < 0x80 {
 14951  					break
 14952  				}
 14953  			}
 14954  			if msglen < 0 {
 14955  				return ErrInvalidLengthExchange
 14956  			}
 14957  			postIndex := iNdEx + msglen
 14958  			if postIndex < 0 {
 14959  				return ErrInvalidLengthExchange
 14960  			}
 14961  			if postIndex > l {
 14962  				return io.ErrUnexpectedEOF
 14963  			}
 14964  			if m.Position == nil {
 14965  				m.Position = &Position{}
 14966  			}
 14967  			if err := m.Position.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 14968  				return err
 14969  			}
 14970  			iNdEx = postIndex
 14971  		case 2:
 14972  			if wireType != 2 {
 14973  				return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType)
 14974  			}
 14975  			var byteLen int
 14976  			for shift := uint(0); ; shift += 7 {
 14977  				if shift >= 64 {
 14978  					return ErrIntOverflowExchange
 14979  				}
 14980  				if iNdEx >= l {
 14981  					return io.ErrUnexpectedEOF
 14982  				}
 14983  				b := dAtA[iNdEx]
 14984  				iNdEx++
 14985  				byteLen |= int(b&0x7F) << shift
 14986  				if b < 0x80 {
 14987  					break
 14988  				}
 14989  			}
 14990  			if byteLen < 0 {
 14991  				return ErrInvalidLengthExchange
 14992  			}
 14993  			postIndex := iNdEx + byteLen
 14994  			if postIndex < 0 {
 14995  				return ErrInvalidLengthExchange
 14996  			}
 14997  			if postIndex > l {
 14998  				return io.ErrUnexpectedEOF
 14999  			}
 15000  			m.SubaccountId = append(m.SubaccountId[:0], dAtA[iNdEx:postIndex]...)
 15001  			if m.SubaccountId == nil {
 15002  				m.SubaccountId = []byte{}
 15003  			}
 15004  			iNdEx = postIndex
 15005  		default:
 15006  			iNdEx = preIndex
 15007  			skippy, err := skipExchange(dAtA[iNdEx:])
 15008  			if err != nil {
 15009  				return err
 15010  			}
 15011  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 15012  				return ErrInvalidLengthExchange
 15013  			}
 15014  			if (iNdEx + skippy) > l {
 15015  				return io.ErrUnexpectedEOF
 15016  			}
 15017  			iNdEx += skippy
 15018  		}
 15019  	}
 15020  
 15021  	if iNdEx > l {
 15022  		return io.ErrUnexpectedEOF
 15023  	}
 15024  	return nil
 15025  }
 15026  func (m *SubaccountDeposit) Unmarshal(dAtA []byte) error {
 15027  	l := len(dAtA)
 15028  	iNdEx := 0
 15029  	for iNdEx < l {
 15030  		preIndex := iNdEx
 15031  		var wire uint64
 15032  		for shift := uint(0); ; shift += 7 {
 15033  			if shift >= 64 {
 15034  				return ErrIntOverflowExchange
 15035  			}
 15036  			if iNdEx >= l {
 15037  				return io.ErrUnexpectedEOF
 15038  			}
 15039  			b := dAtA[iNdEx]
 15040  			iNdEx++
 15041  			wire |= uint64(b&0x7F) << shift
 15042  			if b < 0x80 {
 15043  				break
 15044  			}
 15045  		}
 15046  		fieldNum := int32(wire >> 3)
 15047  		wireType := int(wire & 0x7)
 15048  		if wireType == 4 {
 15049  			return fmt.Errorf("proto: SubaccountDeposit: wiretype end group for non-group")
 15050  		}
 15051  		if fieldNum <= 0 {
 15052  			return fmt.Errorf("proto: SubaccountDeposit: illegal tag %d (wire type %d)", fieldNum, wire)
 15053  		}
 15054  		switch fieldNum {
 15055  		case 1:
 15056  			if wireType != 2 {
 15057  				return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType)
 15058  			}
 15059  			var byteLen int
 15060  			for shift := uint(0); ; shift += 7 {
 15061  				if shift >= 64 {
 15062  					return ErrIntOverflowExchange
 15063  				}
 15064  				if iNdEx >= l {
 15065  					return io.ErrUnexpectedEOF
 15066  				}
 15067  				b := dAtA[iNdEx]
 15068  				iNdEx++
 15069  				byteLen |= int(b&0x7F) << shift
 15070  				if b < 0x80 {
 15071  					break
 15072  				}
 15073  			}
 15074  			if byteLen < 0 {
 15075  				return ErrInvalidLengthExchange
 15076  			}
 15077  			postIndex := iNdEx + byteLen
 15078  			if postIndex < 0 {
 15079  				return ErrInvalidLengthExchange
 15080  			}
 15081  			if postIndex > l {
 15082  				return io.ErrUnexpectedEOF
 15083  			}
 15084  			m.SubaccountId = append(m.SubaccountId[:0], dAtA[iNdEx:postIndex]...)
 15085  			if m.SubaccountId == nil {
 15086  				m.SubaccountId = []byte{}
 15087  			}
 15088  			iNdEx = postIndex
 15089  		case 2:
 15090  			if wireType != 2 {
 15091  				return fmt.Errorf("proto: wrong wireType = %d for field Deposit", wireType)
 15092  			}
 15093  			var msglen int
 15094  			for shift := uint(0); ; shift += 7 {
 15095  				if shift >= 64 {
 15096  					return ErrIntOverflowExchange
 15097  				}
 15098  				if iNdEx >= l {
 15099  					return io.ErrUnexpectedEOF
 15100  				}
 15101  				b := dAtA[iNdEx]
 15102  				iNdEx++
 15103  				msglen |= int(b&0x7F) << shift
 15104  				if b < 0x80 {
 15105  					break
 15106  				}
 15107  			}
 15108  			if msglen < 0 {
 15109  				return ErrInvalidLengthExchange
 15110  			}
 15111  			postIndex := iNdEx + msglen
 15112  			if postIndex < 0 {
 15113  				return ErrInvalidLengthExchange
 15114  			}
 15115  			if postIndex > l {
 15116  				return io.ErrUnexpectedEOF
 15117  			}
 15118  			if m.Deposit == nil {
 15119  				m.Deposit = &Deposit{}
 15120  			}
 15121  			if err := m.Deposit.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 15122  				return err
 15123  			}
 15124  			iNdEx = postIndex
 15125  		default:
 15126  			iNdEx = preIndex
 15127  			skippy, err := skipExchange(dAtA[iNdEx:])
 15128  			if err != nil {
 15129  				return err
 15130  			}
 15131  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 15132  				return ErrInvalidLengthExchange
 15133  			}
 15134  			if (iNdEx + skippy) > l {
 15135  				return io.ErrUnexpectedEOF
 15136  			}
 15137  			iNdEx += skippy
 15138  		}
 15139  	}
 15140  
 15141  	if iNdEx > l {
 15142  		return io.ErrUnexpectedEOF
 15143  	}
 15144  	return nil
 15145  }
 15146  func (m *DepositUpdate) Unmarshal(dAtA []byte) error {
 15147  	l := len(dAtA)
 15148  	iNdEx := 0
 15149  	for iNdEx < l {
 15150  		preIndex := iNdEx
 15151  		var wire uint64
 15152  		for shift := uint(0); ; shift += 7 {
 15153  			if shift >= 64 {
 15154  				return ErrIntOverflowExchange
 15155  			}
 15156  			if iNdEx >= l {
 15157  				return io.ErrUnexpectedEOF
 15158  			}
 15159  			b := dAtA[iNdEx]
 15160  			iNdEx++
 15161  			wire |= uint64(b&0x7F) << shift
 15162  			if b < 0x80 {
 15163  				break
 15164  			}
 15165  		}
 15166  		fieldNum := int32(wire >> 3)
 15167  		wireType := int(wire & 0x7)
 15168  		if wireType == 4 {
 15169  			return fmt.Errorf("proto: DepositUpdate: wiretype end group for non-group")
 15170  		}
 15171  		if fieldNum <= 0 {
 15172  			return fmt.Errorf("proto: DepositUpdate: illegal tag %d (wire type %d)", fieldNum, wire)
 15173  		}
 15174  		switch fieldNum {
 15175  		case 1:
 15176  			if wireType != 2 {
 15177  				return fmt.Errorf("proto: wrong wireType = %d for field Denom", wireType)
 15178  			}
 15179  			var stringLen uint64
 15180  			for shift := uint(0); ; shift += 7 {
 15181  				if shift >= 64 {
 15182  					return ErrIntOverflowExchange
 15183  				}
 15184  				if iNdEx >= l {
 15185  					return io.ErrUnexpectedEOF
 15186  				}
 15187  				b := dAtA[iNdEx]
 15188  				iNdEx++
 15189  				stringLen |= uint64(b&0x7F) << shift
 15190  				if b < 0x80 {
 15191  					break
 15192  				}
 15193  			}
 15194  			intStringLen := int(stringLen)
 15195  			if intStringLen < 0 {
 15196  				return ErrInvalidLengthExchange
 15197  			}
 15198  			postIndex := iNdEx + intStringLen
 15199  			if postIndex < 0 {
 15200  				return ErrInvalidLengthExchange
 15201  			}
 15202  			if postIndex > l {
 15203  				return io.ErrUnexpectedEOF
 15204  			}
 15205  			m.Denom = string(dAtA[iNdEx:postIndex])
 15206  			iNdEx = postIndex
 15207  		case 2:
 15208  			if wireType != 2 {
 15209  				return fmt.Errorf("proto: wrong wireType = %d for field Deposits", wireType)
 15210  			}
 15211  			var msglen int
 15212  			for shift := uint(0); ; shift += 7 {
 15213  				if shift >= 64 {
 15214  					return ErrIntOverflowExchange
 15215  				}
 15216  				if iNdEx >= l {
 15217  					return io.ErrUnexpectedEOF
 15218  				}
 15219  				b := dAtA[iNdEx]
 15220  				iNdEx++
 15221  				msglen |= int(b&0x7F) << shift
 15222  				if b < 0x80 {
 15223  					break
 15224  				}
 15225  			}
 15226  			if msglen < 0 {
 15227  				return ErrInvalidLengthExchange
 15228  			}
 15229  			postIndex := iNdEx + msglen
 15230  			if postIndex < 0 {
 15231  				return ErrInvalidLengthExchange
 15232  			}
 15233  			if postIndex > l {
 15234  				return io.ErrUnexpectedEOF
 15235  			}
 15236  			m.Deposits = append(m.Deposits, &SubaccountDeposit{})
 15237  			if err := m.Deposits[len(m.Deposits)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 15238  				return err
 15239  			}
 15240  			iNdEx = postIndex
 15241  		default:
 15242  			iNdEx = preIndex
 15243  			skippy, err := skipExchange(dAtA[iNdEx:])
 15244  			if err != nil {
 15245  				return err
 15246  			}
 15247  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 15248  				return ErrInvalidLengthExchange
 15249  			}
 15250  			if (iNdEx + skippy) > l {
 15251  				return io.ErrUnexpectedEOF
 15252  			}
 15253  			iNdEx += skippy
 15254  		}
 15255  	}
 15256  
 15257  	if iNdEx > l {
 15258  		return io.ErrUnexpectedEOF
 15259  	}
 15260  	return nil
 15261  }
 15262  func (m *PointsMultiplier) Unmarshal(dAtA []byte) error {
 15263  	l := len(dAtA)
 15264  	iNdEx := 0
 15265  	for iNdEx < l {
 15266  		preIndex := iNdEx
 15267  		var wire uint64
 15268  		for shift := uint(0); ; shift += 7 {
 15269  			if shift >= 64 {
 15270  				return ErrIntOverflowExchange
 15271  			}
 15272  			if iNdEx >= l {
 15273  				return io.ErrUnexpectedEOF
 15274  			}
 15275  			b := dAtA[iNdEx]
 15276  			iNdEx++
 15277  			wire |= uint64(b&0x7F) << shift
 15278  			if b < 0x80 {
 15279  				break
 15280  			}
 15281  		}
 15282  		fieldNum := int32(wire >> 3)
 15283  		wireType := int(wire & 0x7)
 15284  		if wireType == 4 {
 15285  			return fmt.Errorf("proto: PointsMultiplier: wiretype end group for non-group")
 15286  		}
 15287  		if fieldNum <= 0 {
 15288  			return fmt.Errorf("proto: PointsMultiplier: illegal tag %d (wire type %d)", fieldNum, wire)
 15289  		}
 15290  		switch fieldNum {
 15291  		case 1:
 15292  			if wireType != 2 {
 15293  				return fmt.Errorf("proto: wrong wireType = %d for field MakerPointsMultiplier", wireType)
 15294  			}
 15295  			var stringLen uint64
 15296  			for shift := uint(0); ; shift += 7 {
 15297  				if shift >= 64 {
 15298  					return ErrIntOverflowExchange
 15299  				}
 15300  				if iNdEx >= l {
 15301  					return io.ErrUnexpectedEOF
 15302  				}
 15303  				b := dAtA[iNdEx]
 15304  				iNdEx++
 15305  				stringLen |= uint64(b&0x7F) << shift
 15306  				if b < 0x80 {
 15307  					break
 15308  				}
 15309  			}
 15310  			intStringLen := int(stringLen)
 15311  			if intStringLen < 0 {
 15312  				return ErrInvalidLengthExchange
 15313  			}
 15314  			postIndex := iNdEx + intStringLen
 15315  			if postIndex < 0 {
 15316  				return ErrInvalidLengthExchange
 15317  			}
 15318  			if postIndex > l {
 15319  				return io.ErrUnexpectedEOF
 15320  			}
 15321  			if err := m.MakerPointsMultiplier.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 15322  				return err
 15323  			}
 15324  			iNdEx = postIndex
 15325  		case 2:
 15326  			if wireType != 2 {
 15327  				return fmt.Errorf("proto: wrong wireType = %d for field TakerPointsMultiplier", wireType)
 15328  			}
 15329  			var stringLen uint64
 15330  			for shift := uint(0); ; shift += 7 {
 15331  				if shift >= 64 {
 15332  					return ErrIntOverflowExchange
 15333  				}
 15334  				if iNdEx >= l {
 15335  					return io.ErrUnexpectedEOF
 15336  				}
 15337  				b := dAtA[iNdEx]
 15338  				iNdEx++
 15339  				stringLen |= uint64(b&0x7F) << shift
 15340  				if b < 0x80 {
 15341  					break
 15342  				}
 15343  			}
 15344  			intStringLen := int(stringLen)
 15345  			if intStringLen < 0 {
 15346  				return ErrInvalidLengthExchange
 15347  			}
 15348  			postIndex := iNdEx + intStringLen
 15349  			if postIndex < 0 {
 15350  				return ErrInvalidLengthExchange
 15351  			}
 15352  			if postIndex > l {
 15353  				return io.ErrUnexpectedEOF
 15354  			}
 15355  			if err := m.TakerPointsMultiplier.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 15356  				return err
 15357  			}
 15358  			iNdEx = postIndex
 15359  		default:
 15360  			iNdEx = preIndex
 15361  			skippy, err := skipExchange(dAtA[iNdEx:])
 15362  			if err != nil {
 15363  				return err
 15364  			}
 15365  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 15366  				return ErrInvalidLengthExchange
 15367  			}
 15368  			if (iNdEx + skippy) > l {
 15369  				return io.ErrUnexpectedEOF
 15370  			}
 15371  			iNdEx += skippy
 15372  		}
 15373  	}
 15374  
 15375  	if iNdEx > l {
 15376  		return io.ErrUnexpectedEOF
 15377  	}
 15378  	return nil
 15379  }
 15380  func (m *TradingRewardCampaignBoostInfo) Unmarshal(dAtA []byte) error {
 15381  	l := len(dAtA)
 15382  	iNdEx := 0
 15383  	for iNdEx < l {
 15384  		preIndex := iNdEx
 15385  		var wire uint64
 15386  		for shift := uint(0); ; shift += 7 {
 15387  			if shift >= 64 {
 15388  				return ErrIntOverflowExchange
 15389  			}
 15390  			if iNdEx >= l {
 15391  				return io.ErrUnexpectedEOF
 15392  			}
 15393  			b := dAtA[iNdEx]
 15394  			iNdEx++
 15395  			wire |= uint64(b&0x7F) << shift
 15396  			if b < 0x80 {
 15397  				break
 15398  			}
 15399  		}
 15400  		fieldNum := int32(wire >> 3)
 15401  		wireType := int(wire & 0x7)
 15402  		if wireType == 4 {
 15403  			return fmt.Errorf("proto: TradingRewardCampaignBoostInfo: wiretype end group for non-group")
 15404  		}
 15405  		if fieldNum <= 0 {
 15406  			return fmt.Errorf("proto: TradingRewardCampaignBoostInfo: illegal tag %d (wire type %d)", fieldNum, wire)
 15407  		}
 15408  		switch fieldNum {
 15409  		case 1:
 15410  			if wireType != 2 {
 15411  				return fmt.Errorf("proto: wrong wireType = %d for field BoostedSpotMarketIds", wireType)
 15412  			}
 15413  			var stringLen uint64
 15414  			for shift := uint(0); ; shift += 7 {
 15415  				if shift >= 64 {
 15416  					return ErrIntOverflowExchange
 15417  				}
 15418  				if iNdEx >= l {
 15419  					return io.ErrUnexpectedEOF
 15420  				}
 15421  				b := dAtA[iNdEx]
 15422  				iNdEx++
 15423  				stringLen |= uint64(b&0x7F) << shift
 15424  				if b < 0x80 {
 15425  					break
 15426  				}
 15427  			}
 15428  			intStringLen := int(stringLen)
 15429  			if intStringLen < 0 {
 15430  				return ErrInvalidLengthExchange
 15431  			}
 15432  			postIndex := iNdEx + intStringLen
 15433  			if postIndex < 0 {
 15434  				return ErrInvalidLengthExchange
 15435  			}
 15436  			if postIndex > l {
 15437  				return io.ErrUnexpectedEOF
 15438  			}
 15439  			m.BoostedSpotMarketIds = append(m.BoostedSpotMarketIds, string(dAtA[iNdEx:postIndex]))
 15440  			iNdEx = postIndex
 15441  		case 2:
 15442  			if wireType != 2 {
 15443  				return fmt.Errorf("proto: wrong wireType = %d for field SpotMarketMultipliers", wireType)
 15444  			}
 15445  			var msglen int
 15446  			for shift := uint(0); ; shift += 7 {
 15447  				if shift >= 64 {
 15448  					return ErrIntOverflowExchange
 15449  				}
 15450  				if iNdEx >= l {
 15451  					return io.ErrUnexpectedEOF
 15452  				}
 15453  				b := dAtA[iNdEx]
 15454  				iNdEx++
 15455  				msglen |= int(b&0x7F) << shift
 15456  				if b < 0x80 {
 15457  					break
 15458  				}
 15459  			}
 15460  			if msglen < 0 {
 15461  				return ErrInvalidLengthExchange
 15462  			}
 15463  			postIndex := iNdEx + msglen
 15464  			if postIndex < 0 {
 15465  				return ErrInvalidLengthExchange
 15466  			}
 15467  			if postIndex > l {
 15468  				return io.ErrUnexpectedEOF
 15469  			}
 15470  			m.SpotMarketMultipliers = append(m.SpotMarketMultipliers, PointsMultiplier{})
 15471  			if err := m.SpotMarketMultipliers[len(m.SpotMarketMultipliers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 15472  				return err
 15473  			}
 15474  			iNdEx = postIndex
 15475  		case 3:
 15476  			if wireType != 2 {
 15477  				return fmt.Errorf("proto: wrong wireType = %d for field BoostedDerivativeMarketIds", wireType)
 15478  			}
 15479  			var stringLen uint64
 15480  			for shift := uint(0); ; shift += 7 {
 15481  				if shift >= 64 {
 15482  					return ErrIntOverflowExchange
 15483  				}
 15484  				if iNdEx >= l {
 15485  					return io.ErrUnexpectedEOF
 15486  				}
 15487  				b := dAtA[iNdEx]
 15488  				iNdEx++
 15489  				stringLen |= uint64(b&0x7F) << shift
 15490  				if b < 0x80 {
 15491  					break
 15492  				}
 15493  			}
 15494  			intStringLen := int(stringLen)
 15495  			if intStringLen < 0 {
 15496  				return ErrInvalidLengthExchange
 15497  			}
 15498  			postIndex := iNdEx + intStringLen
 15499  			if postIndex < 0 {
 15500  				return ErrInvalidLengthExchange
 15501  			}
 15502  			if postIndex > l {
 15503  				return io.ErrUnexpectedEOF
 15504  			}
 15505  			m.BoostedDerivativeMarketIds = append(m.BoostedDerivativeMarketIds, string(dAtA[iNdEx:postIndex]))
 15506  			iNdEx = postIndex
 15507  		case 4:
 15508  			if wireType != 2 {
 15509  				return fmt.Errorf("proto: wrong wireType = %d for field DerivativeMarketMultipliers", wireType)
 15510  			}
 15511  			var msglen int
 15512  			for shift := uint(0); ; shift += 7 {
 15513  				if shift >= 64 {
 15514  					return ErrIntOverflowExchange
 15515  				}
 15516  				if iNdEx >= l {
 15517  					return io.ErrUnexpectedEOF
 15518  				}
 15519  				b := dAtA[iNdEx]
 15520  				iNdEx++
 15521  				msglen |= int(b&0x7F) << shift
 15522  				if b < 0x80 {
 15523  					break
 15524  				}
 15525  			}
 15526  			if msglen < 0 {
 15527  				return ErrInvalidLengthExchange
 15528  			}
 15529  			postIndex := iNdEx + msglen
 15530  			if postIndex < 0 {
 15531  				return ErrInvalidLengthExchange
 15532  			}
 15533  			if postIndex > l {
 15534  				return io.ErrUnexpectedEOF
 15535  			}
 15536  			m.DerivativeMarketMultipliers = append(m.DerivativeMarketMultipliers, PointsMultiplier{})
 15537  			if err := m.DerivativeMarketMultipliers[len(m.DerivativeMarketMultipliers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 15538  				return err
 15539  			}
 15540  			iNdEx = postIndex
 15541  		default:
 15542  			iNdEx = preIndex
 15543  			skippy, err := skipExchange(dAtA[iNdEx:])
 15544  			if err != nil {
 15545  				return err
 15546  			}
 15547  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 15548  				return ErrInvalidLengthExchange
 15549  			}
 15550  			if (iNdEx + skippy) > l {
 15551  				return io.ErrUnexpectedEOF
 15552  			}
 15553  			iNdEx += skippy
 15554  		}
 15555  	}
 15556  
 15557  	if iNdEx > l {
 15558  		return io.ErrUnexpectedEOF
 15559  	}
 15560  	return nil
 15561  }
 15562  func (m *CampaignRewardPool) Unmarshal(dAtA []byte) error {
 15563  	l := len(dAtA)
 15564  	iNdEx := 0
 15565  	for iNdEx < l {
 15566  		preIndex := iNdEx
 15567  		var wire uint64
 15568  		for shift := uint(0); ; shift += 7 {
 15569  			if shift >= 64 {
 15570  				return ErrIntOverflowExchange
 15571  			}
 15572  			if iNdEx >= l {
 15573  				return io.ErrUnexpectedEOF
 15574  			}
 15575  			b := dAtA[iNdEx]
 15576  			iNdEx++
 15577  			wire |= uint64(b&0x7F) << shift
 15578  			if b < 0x80 {
 15579  				break
 15580  			}
 15581  		}
 15582  		fieldNum := int32(wire >> 3)
 15583  		wireType := int(wire & 0x7)
 15584  		if wireType == 4 {
 15585  			return fmt.Errorf("proto: CampaignRewardPool: wiretype end group for non-group")
 15586  		}
 15587  		if fieldNum <= 0 {
 15588  			return fmt.Errorf("proto: CampaignRewardPool: illegal tag %d (wire type %d)", fieldNum, wire)
 15589  		}
 15590  		switch fieldNum {
 15591  		case 1:
 15592  			if wireType != 0 {
 15593  				return fmt.Errorf("proto: wrong wireType = %d for field StartTimestamp", wireType)
 15594  			}
 15595  			m.StartTimestamp = 0
 15596  			for shift := uint(0); ; shift += 7 {
 15597  				if shift >= 64 {
 15598  					return ErrIntOverflowExchange
 15599  				}
 15600  				if iNdEx >= l {
 15601  					return io.ErrUnexpectedEOF
 15602  				}
 15603  				b := dAtA[iNdEx]
 15604  				iNdEx++
 15605  				m.StartTimestamp |= int64(b&0x7F) << shift
 15606  				if b < 0x80 {
 15607  					break
 15608  				}
 15609  			}
 15610  		case 2:
 15611  			if wireType != 2 {
 15612  				return fmt.Errorf("proto: wrong wireType = %d for field MaxCampaignRewards", wireType)
 15613  			}
 15614  			var msglen int
 15615  			for shift := uint(0); ; shift += 7 {
 15616  				if shift >= 64 {
 15617  					return ErrIntOverflowExchange
 15618  				}
 15619  				if iNdEx >= l {
 15620  					return io.ErrUnexpectedEOF
 15621  				}
 15622  				b := dAtA[iNdEx]
 15623  				iNdEx++
 15624  				msglen |= int(b&0x7F) << shift
 15625  				if b < 0x80 {
 15626  					break
 15627  				}
 15628  			}
 15629  			if msglen < 0 {
 15630  				return ErrInvalidLengthExchange
 15631  			}
 15632  			postIndex := iNdEx + msglen
 15633  			if postIndex < 0 {
 15634  				return ErrInvalidLengthExchange
 15635  			}
 15636  			if postIndex > l {
 15637  				return io.ErrUnexpectedEOF
 15638  			}
 15639  			m.MaxCampaignRewards = append(m.MaxCampaignRewards, types.Coin{})
 15640  			if err := m.MaxCampaignRewards[len(m.MaxCampaignRewards)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 15641  				return err
 15642  			}
 15643  			iNdEx = postIndex
 15644  		default:
 15645  			iNdEx = preIndex
 15646  			skippy, err := skipExchange(dAtA[iNdEx:])
 15647  			if err != nil {
 15648  				return err
 15649  			}
 15650  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 15651  				return ErrInvalidLengthExchange
 15652  			}
 15653  			if (iNdEx + skippy) > l {
 15654  				return io.ErrUnexpectedEOF
 15655  			}
 15656  			iNdEx += skippy
 15657  		}
 15658  	}
 15659  
 15660  	if iNdEx > l {
 15661  		return io.ErrUnexpectedEOF
 15662  	}
 15663  	return nil
 15664  }
 15665  func (m *TradingRewardCampaignInfo) Unmarshal(dAtA []byte) error {
 15666  	l := len(dAtA)
 15667  	iNdEx := 0
 15668  	for iNdEx < l {
 15669  		preIndex := iNdEx
 15670  		var wire uint64
 15671  		for shift := uint(0); ; shift += 7 {
 15672  			if shift >= 64 {
 15673  				return ErrIntOverflowExchange
 15674  			}
 15675  			if iNdEx >= l {
 15676  				return io.ErrUnexpectedEOF
 15677  			}
 15678  			b := dAtA[iNdEx]
 15679  			iNdEx++
 15680  			wire |= uint64(b&0x7F) << shift
 15681  			if b < 0x80 {
 15682  				break
 15683  			}
 15684  		}
 15685  		fieldNum := int32(wire >> 3)
 15686  		wireType := int(wire & 0x7)
 15687  		if wireType == 4 {
 15688  			return fmt.Errorf("proto: TradingRewardCampaignInfo: wiretype end group for non-group")
 15689  		}
 15690  		if fieldNum <= 0 {
 15691  			return fmt.Errorf("proto: TradingRewardCampaignInfo: illegal tag %d (wire type %d)", fieldNum, wire)
 15692  		}
 15693  		switch fieldNum {
 15694  		case 1:
 15695  			if wireType != 0 {
 15696  				return fmt.Errorf("proto: wrong wireType = %d for field CampaignDurationSeconds", wireType)
 15697  			}
 15698  			m.CampaignDurationSeconds = 0
 15699  			for shift := uint(0); ; shift += 7 {
 15700  				if shift >= 64 {
 15701  					return ErrIntOverflowExchange
 15702  				}
 15703  				if iNdEx >= l {
 15704  					return io.ErrUnexpectedEOF
 15705  				}
 15706  				b := dAtA[iNdEx]
 15707  				iNdEx++
 15708  				m.CampaignDurationSeconds |= int64(b&0x7F) << shift
 15709  				if b < 0x80 {
 15710  					break
 15711  				}
 15712  			}
 15713  		case 2:
 15714  			if wireType != 2 {
 15715  				return fmt.Errorf("proto: wrong wireType = %d for field QuoteDenoms", wireType)
 15716  			}
 15717  			var stringLen uint64
 15718  			for shift := uint(0); ; shift += 7 {
 15719  				if shift >= 64 {
 15720  					return ErrIntOverflowExchange
 15721  				}
 15722  				if iNdEx >= l {
 15723  					return io.ErrUnexpectedEOF
 15724  				}
 15725  				b := dAtA[iNdEx]
 15726  				iNdEx++
 15727  				stringLen |= uint64(b&0x7F) << shift
 15728  				if b < 0x80 {
 15729  					break
 15730  				}
 15731  			}
 15732  			intStringLen := int(stringLen)
 15733  			if intStringLen < 0 {
 15734  				return ErrInvalidLengthExchange
 15735  			}
 15736  			postIndex := iNdEx + intStringLen
 15737  			if postIndex < 0 {
 15738  				return ErrInvalidLengthExchange
 15739  			}
 15740  			if postIndex > l {
 15741  				return io.ErrUnexpectedEOF
 15742  			}
 15743  			m.QuoteDenoms = append(m.QuoteDenoms, string(dAtA[iNdEx:postIndex]))
 15744  			iNdEx = postIndex
 15745  		case 3:
 15746  			if wireType != 2 {
 15747  				return fmt.Errorf("proto: wrong wireType = %d for field TradingRewardBoostInfo", wireType)
 15748  			}
 15749  			var msglen int
 15750  			for shift := uint(0); ; shift += 7 {
 15751  				if shift >= 64 {
 15752  					return ErrIntOverflowExchange
 15753  				}
 15754  				if iNdEx >= l {
 15755  					return io.ErrUnexpectedEOF
 15756  				}
 15757  				b := dAtA[iNdEx]
 15758  				iNdEx++
 15759  				msglen |= int(b&0x7F) << shift
 15760  				if b < 0x80 {
 15761  					break
 15762  				}
 15763  			}
 15764  			if msglen < 0 {
 15765  				return ErrInvalidLengthExchange
 15766  			}
 15767  			postIndex := iNdEx + msglen
 15768  			if postIndex < 0 {
 15769  				return ErrInvalidLengthExchange
 15770  			}
 15771  			if postIndex > l {
 15772  				return io.ErrUnexpectedEOF
 15773  			}
 15774  			if m.TradingRewardBoostInfo == nil {
 15775  				m.TradingRewardBoostInfo = &TradingRewardCampaignBoostInfo{}
 15776  			}
 15777  			if err := m.TradingRewardBoostInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 15778  				return err
 15779  			}
 15780  			iNdEx = postIndex
 15781  		case 4:
 15782  			if wireType != 2 {
 15783  				return fmt.Errorf("proto: wrong wireType = %d for field DisqualifiedMarketIds", wireType)
 15784  			}
 15785  			var stringLen uint64
 15786  			for shift := uint(0); ; shift += 7 {
 15787  				if shift >= 64 {
 15788  					return ErrIntOverflowExchange
 15789  				}
 15790  				if iNdEx >= l {
 15791  					return io.ErrUnexpectedEOF
 15792  				}
 15793  				b := dAtA[iNdEx]
 15794  				iNdEx++
 15795  				stringLen |= uint64(b&0x7F) << shift
 15796  				if b < 0x80 {
 15797  					break
 15798  				}
 15799  			}
 15800  			intStringLen := int(stringLen)
 15801  			if intStringLen < 0 {
 15802  				return ErrInvalidLengthExchange
 15803  			}
 15804  			postIndex := iNdEx + intStringLen
 15805  			if postIndex < 0 {
 15806  				return ErrInvalidLengthExchange
 15807  			}
 15808  			if postIndex > l {
 15809  				return io.ErrUnexpectedEOF
 15810  			}
 15811  			m.DisqualifiedMarketIds = append(m.DisqualifiedMarketIds, string(dAtA[iNdEx:postIndex]))
 15812  			iNdEx = postIndex
 15813  		default:
 15814  			iNdEx = preIndex
 15815  			skippy, err := skipExchange(dAtA[iNdEx:])
 15816  			if err != nil {
 15817  				return err
 15818  			}
 15819  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 15820  				return ErrInvalidLengthExchange
 15821  			}
 15822  			if (iNdEx + skippy) > l {
 15823  				return io.ErrUnexpectedEOF
 15824  			}
 15825  			iNdEx += skippy
 15826  		}
 15827  	}
 15828  
 15829  	if iNdEx > l {
 15830  		return io.ErrUnexpectedEOF
 15831  	}
 15832  	return nil
 15833  }
 15834  func (m *FeeDiscountTierInfo) Unmarshal(dAtA []byte) error {
 15835  	l := len(dAtA)
 15836  	iNdEx := 0
 15837  	for iNdEx < l {
 15838  		preIndex := iNdEx
 15839  		var wire uint64
 15840  		for shift := uint(0); ; shift += 7 {
 15841  			if shift >= 64 {
 15842  				return ErrIntOverflowExchange
 15843  			}
 15844  			if iNdEx >= l {
 15845  				return io.ErrUnexpectedEOF
 15846  			}
 15847  			b := dAtA[iNdEx]
 15848  			iNdEx++
 15849  			wire |= uint64(b&0x7F) << shift
 15850  			if b < 0x80 {
 15851  				break
 15852  			}
 15853  		}
 15854  		fieldNum := int32(wire >> 3)
 15855  		wireType := int(wire & 0x7)
 15856  		if wireType == 4 {
 15857  			return fmt.Errorf("proto: FeeDiscountTierInfo: wiretype end group for non-group")
 15858  		}
 15859  		if fieldNum <= 0 {
 15860  			return fmt.Errorf("proto: FeeDiscountTierInfo: illegal tag %d (wire type %d)", fieldNum, wire)
 15861  		}
 15862  		switch fieldNum {
 15863  		case 1:
 15864  			if wireType != 2 {
 15865  				return fmt.Errorf("proto: wrong wireType = %d for field MakerDiscountRate", wireType)
 15866  			}
 15867  			var stringLen uint64
 15868  			for shift := uint(0); ; shift += 7 {
 15869  				if shift >= 64 {
 15870  					return ErrIntOverflowExchange
 15871  				}
 15872  				if iNdEx >= l {
 15873  					return io.ErrUnexpectedEOF
 15874  				}
 15875  				b := dAtA[iNdEx]
 15876  				iNdEx++
 15877  				stringLen |= uint64(b&0x7F) << shift
 15878  				if b < 0x80 {
 15879  					break
 15880  				}
 15881  			}
 15882  			intStringLen := int(stringLen)
 15883  			if intStringLen < 0 {
 15884  				return ErrInvalidLengthExchange
 15885  			}
 15886  			postIndex := iNdEx + intStringLen
 15887  			if postIndex < 0 {
 15888  				return ErrInvalidLengthExchange
 15889  			}
 15890  			if postIndex > l {
 15891  				return io.ErrUnexpectedEOF
 15892  			}
 15893  			if err := m.MakerDiscountRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 15894  				return err
 15895  			}
 15896  			iNdEx = postIndex
 15897  		case 2:
 15898  			if wireType != 2 {
 15899  				return fmt.Errorf("proto: wrong wireType = %d for field TakerDiscountRate", wireType)
 15900  			}
 15901  			var stringLen uint64
 15902  			for shift := uint(0); ; shift += 7 {
 15903  				if shift >= 64 {
 15904  					return ErrIntOverflowExchange
 15905  				}
 15906  				if iNdEx >= l {
 15907  					return io.ErrUnexpectedEOF
 15908  				}
 15909  				b := dAtA[iNdEx]
 15910  				iNdEx++
 15911  				stringLen |= uint64(b&0x7F) << shift
 15912  				if b < 0x80 {
 15913  					break
 15914  				}
 15915  			}
 15916  			intStringLen := int(stringLen)
 15917  			if intStringLen < 0 {
 15918  				return ErrInvalidLengthExchange
 15919  			}
 15920  			postIndex := iNdEx + intStringLen
 15921  			if postIndex < 0 {
 15922  				return ErrInvalidLengthExchange
 15923  			}
 15924  			if postIndex > l {
 15925  				return io.ErrUnexpectedEOF
 15926  			}
 15927  			if err := m.TakerDiscountRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 15928  				return err
 15929  			}
 15930  			iNdEx = postIndex
 15931  		case 3:
 15932  			if wireType != 2 {
 15933  				return fmt.Errorf("proto: wrong wireType = %d for field StakedAmount", wireType)
 15934  			}
 15935  			var stringLen uint64
 15936  			for shift := uint(0); ; shift += 7 {
 15937  				if shift >= 64 {
 15938  					return ErrIntOverflowExchange
 15939  				}
 15940  				if iNdEx >= l {
 15941  					return io.ErrUnexpectedEOF
 15942  				}
 15943  				b := dAtA[iNdEx]
 15944  				iNdEx++
 15945  				stringLen |= uint64(b&0x7F) << shift
 15946  				if b < 0x80 {
 15947  					break
 15948  				}
 15949  			}
 15950  			intStringLen := int(stringLen)
 15951  			if intStringLen < 0 {
 15952  				return ErrInvalidLengthExchange
 15953  			}
 15954  			postIndex := iNdEx + intStringLen
 15955  			if postIndex < 0 {
 15956  				return ErrInvalidLengthExchange
 15957  			}
 15958  			if postIndex > l {
 15959  				return io.ErrUnexpectedEOF
 15960  			}
 15961  			if err := m.StakedAmount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 15962  				return err
 15963  			}
 15964  			iNdEx = postIndex
 15965  		case 4:
 15966  			if wireType != 2 {
 15967  				return fmt.Errorf("proto: wrong wireType = %d for field Volume", wireType)
 15968  			}
 15969  			var stringLen uint64
 15970  			for shift := uint(0); ; shift += 7 {
 15971  				if shift >= 64 {
 15972  					return ErrIntOverflowExchange
 15973  				}
 15974  				if iNdEx >= l {
 15975  					return io.ErrUnexpectedEOF
 15976  				}
 15977  				b := dAtA[iNdEx]
 15978  				iNdEx++
 15979  				stringLen |= uint64(b&0x7F) << shift
 15980  				if b < 0x80 {
 15981  					break
 15982  				}
 15983  			}
 15984  			intStringLen := int(stringLen)
 15985  			if intStringLen < 0 {
 15986  				return ErrInvalidLengthExchange
 15987  			}
 15988  			postIndex := iNdEx + intStringLen
 15989  			if postIndex < 0 {
 15990  				return ErrInvalidLengthExchange
 15991  			}
 15992  			if postIndex > l {
 15993  				return io.ErrUnexpectedEOF
 15994  			}
 15995  			if err := m.Volume.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 15996  				return err
 15997  			}
 15998  			iNdEx = postIndex
 15999  		default:
 16000  			iNdEx = preIndex
 16001  			skippy, err := skipExchange(dAtA[iNdEx:])
 16002  			if err != nil {
 16003  				return err
 16004  			}
 16005  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 16006  				return ErrInvalidLengthExchange
 16007  			}
 16008  			if (iNdEx + skippy) > l {
 16009  				return io.ErrUnexpectedEOF
 16010  			}
 16011  			iNdEx += skippy
 16012  		}
 16013  	}
 16014  
 16015  	if iNdEx > l {
 16016  		return io.ErrUnexpectedEOF
 16017  	}
 16018  	return nil
 16019  }
 16020  func (m *FeeDiscountSchedule) Unmarshal(dAtA []byte) error {
 16021  	l := len(dAtA)
 16022  	iNdEx := 0
 16023  	for iNdEx < l {
 16024  		preIndex := iNdEx
 16025  		var wire uint64
 16026  		for shift := uint(0); ; shift += 7 {
 16027  			if shift >= 64 {
 16028  				return ErrIntOverflowExchange
 16029  			}
 16030  			if iNdEx >= l {
 16031  				return io.ErrUnexpectedEOF
 16032  			}
 16033  			b := dAtA[iNdEx]
 16034  			iNdEx++
 16035  			wire |= uint64(b&0x7F) << shift
 16036  			if b < 0x80 {
 16037  				break
 16038  			}
 16039  		}
 16040  		fieldNum := int32(wire >> 3)
 16041  		wireType := int(wire & 0x7)
 16042  		if wireType == 4 {
 16043  			return fmt.Errorf("proto: FeeDiscountSchedule: wiretype end group for non-group")
 16044  		}
 16045  		if fieldNum <= 0 {
 16046  			return fmt.Errorf("proto: FeeDiscountSchedule: illegal tag %d (wire type %d)", fieldNum, wire)
 16047  		}
 16048  		switch fieldNum {
 16049  		case 1:
 16050  			if wireType != 0 {
 16051  				return fmt.Errorf("proto: wrong wireType = %d for field BucketCount", wireType)
 16052  			}
 16053  			m.BucketCount = 0
 16054  			for shift := uint(0); ; shift += 7 {
 16055  				if shift >= 64 {
 16056  					return ErrIntOverflowExchange
 16057  				}
 16058  				if iNdEx >= l {
 16059  					return io.ErrUnexpectedEOF
 16060  				}
 16061  				b := dAtA[iNdEx]
 16062  				iNdEx++
 16063  				m.BucketCount |= uint64(b&0x7F) << shift
 16064  				if b < 0x80 {
 16065  					break
 16066  				}
 16067  			}
 16068  		case 2:
 16069  			if wireType != 0 {
 16070  				return fmt.Errorf("proto: wrong wireType = %d for field BucketDuration", wireType)
 16071  			}
 16072  			m.BucketDuration = 0
 16073  			for shift := uint(0); ; shift += 7 {
 16074  				if shift >= 64 {
 16075  					return ErrIntOverflowExchange
 16076  				}
 16077  				if iNdEx >= l {
 16078  					return io.ErrUnexpectedEOF
 16079  				}
 16080  				b := dAtA[iNdEx]
 16081  				iNdEx++
 16082  				m.BucketDuration |= int64(b&0x7F) << shift
 16083  				if b < 0x80 {
 16084  					break
 16085  				}
 16086  			}
 16087  		case 3:
 16088  			if wireType != 2 {
 16089  				return fmt.Errorf("proto: wrong wireType = %d for field QuoteDenoms", wireType)
 16090  			}
 16091  			var stringLen uint64
 16092  			for shift := uint(0); ; shift += 7 {
 16093  				if shift >= 64 {
 16094  					return ErrIntOverflowExchange
 16095  				}
 16096  				if iNdEx >= l {
 16097  					return io.ErrUnexpectedEOF
 16098  				}
 16099  				b := dAtA[iNdEx]
 16100  				iNdEx++
 16101  				stringLen |= uint64(b&0x7F) << shift
 16102  				if b < 0x80 {
 16103  					break
 16104  				}
 16105  			}
 16106  			intStringLen := int(stringLen)
 16107  			if intStringLen < 0 {
 16108  				return ErrInvalidLengthExchange
 16109  			}
 16110  			postIndex := iNdEx + intStringLen
 16111  			if postIndex < 0 {
 16112  				return ErrInvalidLengthExchange
 16113  			}
 16114  			if postIndex > l {
 16115  				return io.ErrUnexpectedEOF
 16116  			}
 16117  			m.QuoteDenoms = append(m.QuoteDenoms, string(dAtA[iNdEx:postIndex]))
 16118  			iNdEx = postIndex
 16119  		case 4:
 16120  			if wireType != 2 {
 16121  				return fmt.Errorf("proto: wrong wireType = %d for field TierInfos", wireType)
 16122  			}
 16123  			var msglen int
 16124  			for shift := uint(0); ; shift += 7 {
 16125  				if shift >= 64 {
 16126  					return ErrIntOverflowExchange
 16127  				}
 16128  				if iNdEx >= l {
 16129  					return io.ErrUnexpectedEOF
 16130  				}
 16131  				b := dAtA[iNdEx]
 16132  				iNdEx++
 16133  				msglen |= int(b&0x7F) << shift
 16134  				if b < 0x80 {
 16135  					break
 16136  				}
 16137  			}
 16138  			if msglen < 0 {
 16139  				return ErrInvalidLengthExchange
 16140  			}
 16141  			postIndex := iNdEx + msglen
 16142  			if postIndex < 0 {
 16143  				return ErrInvalidLengthExchange
 16144  			}
 16145  			if postIndex > l {
 16146  				return io.ErrUnexpectedEOF
 16147  			}
 16148  			m.TierInfos = append(m.TierInfos, &FeeDiscountTierInfo{})
 16149  			if err := m.TierInfos[len(m.TierInfos)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 16150  				return err
 16151  			}
 16152  			iNdEx = postIndex
 16153  		case 5:
 16154  			if wireType != 2 {
 16155  				return fmt.Errorf("proto: wrong wireType = %d for field DisqualifiedMarketIds", wireType)
 16156  			}
 16157  			var stringLen uint64
 16158  			for shift := uint(0); ; shift += 7 {
 16159  				if shift >= 64 {
 16160  					return ErrIntOverflowExchange
 16161  				}
 16162  				if iNdEx >= l {
 16163  					return io.ErrUnexpectedEOF
 16164  				}
 16165  				b := dAtA[iNdEx]
 16166  				iNdEx++
 16167  				stringLen |= uint64(b&0x7F) << shift
 16168  				if b < 0x80 {
 16169  					break
 16170  				}
 16171  			}
 16172  			intStringLen := int(stringLen)
 16173  			if intStringLen < 0 {
 16174  				return ErrInvalidLengthExchange
 16175  			}
 16176  			postIndex := iNdEx + intStringLen
 16177  			if postIndex < 0 {
 16178  				return ErrInvalidLengthExchange
 16179  			}
 16180  			if postIndex > l {
 16181  				return io.ErrUnexpectedEOF
 16182  			}
 16183  			m.DisqualifiedMarketIds = append(m.DisqualifiedMarketIds, string(dAtA[iNdEx:postIndex]))
 16184  			iNdEx = postIndex
 16185  		default:
 16186  			iNdEx = preIndex
 16187  			skippy, err := skipExchange(dAtA[iNdEx:])
 16188  			if err != nil {
 16189  				return err
 16190  			}
 16191  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 16192  				return ErrInvalidLengthExchange
 16193  			}
 16194  			if (iNdEx + skippy) > l {
 16195  				return io.ErrUnexpectedEOF
 16196  			}
 16197  			iNdEx += skippy
 16198  		}
 16199  	}
 16200  
 16201  	if iNdEx > l {
 16202  		return io.ErrUnexpectedEOF
 16203  	}
 16204  	return nil
 16205  }
 16206  func (m *FeeDiscountTierTTL) Unmarshal(dAtA []byte) error {
 16207  	l := len(dAtA)
 16208  	iNdEx := 0
 16209  	for iNdEx < l {
 16210  		preIndex := iNdEx
 16211  		var wire uint64
 16212  		for shift := uint(0); ; shift += 7 {
 16213  			if shift >= 64 {
 16214  				return ErrIntOverflowExchange
 16215  			}
 16216  			if iNdEx >= l {
 16217  				return io.ErrUnexpectedEOF
 16218  			}
 16219  			b := dAtA[iNdEx]
 16220  			iNdEx++
 16221  			wire |= uint64(b&0x7F) << shift
 16222  			if b < 0x80 {
 16223  				break
 16224  			}
 16225  		}
 16226  		fieldNum := int32(wire >> 3)
 16227  		wireType := int(wire & 0x7)
 16228  		if wireType == 4 {
 16229  			return fmt.Errorf("proto: FeeDiscountTierTTL: wiretype end group for non-group")
 16230  		}
 16231  		if fieldNum <= 0 {
 16232  			return fmt.Errorf("proto: FeeDiscountTierTTL: illegal tag %d (wire type %d)", fieldNum, wire)
 16233  		}
 16234  		switch fieldNum {
 16235  		case 1:
 16236  			if wireType != 0 {
 16237  				return fmt.Errorf("proto: wrong wireType = %d for field Tier", wireType)
 16238  			}
 16239  			m.Tier = 0
 16240  			for shift := uint(0); ; shift += 7 {
 16241  				if shift >= 64 {
 16242  					return ErrIntOverflowExchange
 16243  				}
 16244  				if iNdEx >= l {
 16245  					return io.ErrUnexpectedEOF
 16246  				}
 16247  				b := dAtA[iNdEx]
 16248  				iNdEx++
 16249  				m.Tier |= uint64(b&0x7F) << shift
 16250  				if b < 0x80 {
 16251  					break
 16252  				}
 16253  			}
 16254  		case 2:
 16255  			if wireType != 0 {
 16256  				return fmt.Errorf("proto: wrong wireType = %d for field TtlTimestamp", wireType)
 16257  			}
 16258  			m.TtlTimestamp = 0
 16259  			for shift := uint(0); ; shift += 7 {
 16260  				if shift >= 64 {
 16261  					return ErrIntOverflowExchange
 16262  				}
 16263  				if iNdEx >= l {
 16264  					return io.ErrUnexpectedEOF
 16265  				}
 16266  				b := dAtA[iNdEx]
 16267  				iNdEx++
 16268  				m.TtlTimestamp |= int64(b&0x7F) << shift
 16269  				if b < 0x80 {
 16270  					break
 16271  				}
 16272  			}
 16273  		default:
 16274  			iNdEx = preIndex
 16275  			skippy, err := skipExchange(dAtA[iNdEx:])
 16276  			if err != nil {
 16277  				return err
 16278  			}
 16279  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 16280  				return ErrInvalidLengthExchange
 16281  			}
 16282  			if (iNdEx + skippy) > l {
 16283  				return io.ErrUnexpectedEOF
 16284  			}
 16285  			iNdEx += skippy
 16286  		}
 16287  	}
 16288  
 16289  	if iNdEx > l {
 16290  		return io.ErrUnexpectedEOF
 16291  	}
 16292  	return nil
 16293  }
 16294  func (m *VolumeRecord) Unmarshal(dAtA []byte) error {
 16295  	l := len(dAtA)
 16296  	iNdEx := 0
 16297  	for iNdEx < l {
 16298  		preIndex := iNdEx
 16299  		var wire uint64
 16300  		for shift := uint(0); ; shift += 7 {
 16301  			if shift >= 64 {
 16302  				return ErrIntOverflowExchange
 16303  			}
 16304  			if iNdEx >= l {
 16305  				return io.ErrUnexpectedEOF
 16306  			}
 16307  			b := dAtA[iNdEx]
 16308  			iNdEx++
 16309  			wire |= uint64(b&0x7F) << shift
 16310  			if b < 0x80 {
 16311  				break
 16312  			}
 16313  		}
 16314  		fieldNum := int32(wire >> 3)
 16315  		wireType := int(wire & 0x7)
 16316  		if wireType == 4 {
 16317  			return fmt.Errorf("proto: VolumeRecord: wiretype end group for non-group")
 16318  		}
 16319  		if fieldNum <= 0 {
 16320  			return fmt.Errorf("proto: VolumeRecord: illegal tag %d (wire type %d)", fieldNum, wire)
 16321  		}
 16322  		switch fieldNum {
 16323  		case 1:
 16324  			if wireType != 2 {
 16325  				return fmt.Errorf("proto: wrong wireType = %d for field MakerVolume", wireType)
 16326  			}
 16327  			var stringLen uint64
 16328  			for shift := uint(0); ; shift += 7 {
 16329  				if shift >= 64 {
 16330  					return ErrIntOverflowExchange
 16331  				}
 16332  				if iNdEx >= l {
 16333  					return io.ErrUnexpectedEOF
 16334  				}
 16335  				b := dAtA[iNdEx]
 16336  				iNdEx++
 16337  				stringLen |= uint64(b&0x7F) << shift
 16338  				if b < 0x80 {
 16339  					break
 16340  				}
 16341  			}
 16342  			intStringLen := int(stringLen)
 16343  			if intStringLen < 0 {
 16344  				return ErrInvalidLengthExchange
 16345  			}
 16346  			postIndex := iNdEx + intStringLen
 16347  			if postIndex < 0 {
 16348  				return ErrInvalidLengthExchange
 16349  			}
 16350  			if postIndex > l {
 16351  				return io.ErrUnexpectedEOF
 16352  			}
 16353  			if err := m.MakerVolume.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 16354  				return err
 16355  			}
 16356  			iNdEx = postIndex
 16357  		case 2:
 16358  			if wireType != 2 {
 16359  				return fmt.Errorf("proto: wrong wireType = %d for field TakerVolume", wireType)
 16360  			}
 16361  			var stringLen uint64
 16362  			for shift := uint(0); ; shift += 7 {
 16363  				if shift >= 64 {
 16364  					return ErrIntOverflowExchange
 16365  				}
 16366  				if iNdEx >= l {
 16367  					return io.ErrUnexpectedEOF
 16368  				}
 16369  				b := dAtA[iNdEx]
 16370  				iNdEx++
 16371  				stringLen |= uint64(b&0x7F) << shift
 16372  				if b < 0x80 {
 16373  					break
 16374  				}
 16375  			}
 16376  			intStringLen := int(stringLen)
 16377  			if intStringLen < 0 {
 16378  				return ErrInvalidLengthExchange
 16379  			}
 16380  			postIndex := iNdEx + intStringLen
 16381  			if postIndex < 0 {
 16382  				return ErrInvalidLengthExchange
 16383  			}
 16384  			if postIndex > l {
 16385  				return io.ErrUnexpectedEOF
 16386  			}
 16387  			if err := m.TakerVolume.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 16388  				return err
 16389  			}
 16390  			iNdEx = postIndex
 16391  		default:
 16392  			iNdEx = preIndex
 16393  			skippy, err := skipExchange(dAtA[iNdEx:])
 16394  			if err != nil {
 16395  				return err
 16396  			}
 16397  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 16398  				return ErrInvalidLengthExchange
 16399  			}
 16400  			if (iNdEx + skippy) > l {
 16401  				return io.ErrUnexpectedEOF
 16402  			}
 16403  			iNdEx += skippy
 16404  		}
 16405  	}
 16406  
 16407  	if iNdEx > l {
 16408  		return io.ErrUnexpectedEOF
 16409  	}
 16410  	return nil
 16411  }
 16412  func (m *AccountRewards) Unmarshal(dAtA []byte) error {
 16413  	l := len(dAtA)
 16414  	iNdEx := 0
 16415  	for iNdEx < l {
 16416  		preIndex := iNdEx
 16417  		var wire uint64
 16418  		for shift := uint(0); ; shift += 7 {
 16419  			if shift >= 64 {
 16420  				return ErrIntOverflowExchange
 16421  			}
 16422  			if iNdEx >= l {
 16423  				return io.ErrUnexpectedEOF
 16424  			}
 16425  			b := dAtA[iNdEx]
 16426  			iNdEx++
 16427  			wire |= uint64(b&0x7F) << shift
 16428  			if b < 0x80 {
 16429  				break
 16430  			}
 16431  		}
 16432  		fieldNum := int32(wire >> 3)
 16433  		wireType := int(wire & 0x7)
 16434  		if wireType == 4 {
 16435  			return fmt.Errorf("proto: AccountRewards: wiretype end group for non-group")
 16436  		}
 16437  		if fieldNum <= 0 {
 16438  			return fmt.Errorf("proto: AccountRewards: illegal tag %d (wire type %d)", fieldNum, wire)
 16439  		}
 16440  		switch fieldNum {
 16441  		case 1:
 16442  			if wireType != 2 {
 16443  				return fmt.Errorf("proto: wrong wireType = %d for field Account", wireType)
 16444  			}
 16445  			var stringLen uint64
 16446  			for shift := uint(0); ; shift += 7 {
 16447  				if shift >= 64 {
 16448  					return ErrIntOverflowExchange
 16449  				}
 16450  				if iNdEx >= l {
 16451  					return io.ErrUnexpectedEOF
 16452  				}
 16453  				b := dAtA[iNdEx]
 16454  				iNdEx++
 16455  				stringLen |= uint64(b&0x7F) << shift
 16456  				if b < 0x80 {
 16457  					break
 16458  				}
 16459  			}
 16460  			intStringLen := int(stringLen)
 16461  			if intStringLen < 0 {
 16462  				return ErrInvalidLengthExchange
 16463  			}
 16464  			postIndex := iNdEx + intStringLen
 16465  			if postIndex < 0 {
 16466  				return ErrInvalidLengthExchange
 16467  			}
 16468  			if postIndex > l {
 16469  				return io.ErrUnexpectedEOF
 16470  			}
 16471  			m.Account = string(dAtA[iNdEx:postIndex])
 16472  			iNdEx = postIndex
 16473  		case 2:
 16474  			if wireType != 2 {
 16475  				return fmt.Errorf("proto: wrong wireType = %d for field Rewards", wireType)
 16476  			}
 16477  			var msglen int
 16478  			for shift := uint(0); ; shift += 7 {
 16479  				if shift >= 64 {
 16480  					return ErrIntOverflowExchange
 16481  				}
 16482  				if iNdEx >= l {
 16483  					return io.ErrUnexpectedEOF
 16484  				}
 16485  				b := dAtA[iNdEx]
 16486  				iNdEx++
 16487  				msglen |= int(b&0x7F) << shift
 16488  				if b < 0x80 {
 16489  					break
 16490  				}
 16491  			}
 16492  			if msglen < 0 {
 16493  				return ErrInvalidLengthExchange
 16494  			}
 16495  			postIndex := iNdEx + msglen
 16496  			if postIndex < 0 {
 16497  				return ErrInvalidLengthExchange
 16498  			}
 16499  			if postIndex > l {
 16500  				return io.ErrUnexpectedEOF
 16501  			}
 16502  			m.Rewards = append(m.Rewards, types.Coin{})
 16503  			if err := m.Rewards[len(m.Rewards)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 16504  				return err
 16505  			}
 16506  			iNdEx = postIndex
 16507  		default:
 16508  			iNdEx = preIndex
 16509  			skippy, err := skipExchange(dAtA[iNdEx:])
 16510  			if err != nil {
 16511  				return err
 16512  			}
 16513  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 16514  				return ErrInvalidLengthExchange
 16515  			}
 16516  			if (iNdEx + skippy) > l {
 16517  				return io.ErrUnexpectedEOF
 16518  			}
 16519  			iNdEx += skippy
 16520  		}
 16521  	}
 16522  
 16523  	if iNdEx > l {
 16524  		return io.ErrUnexpectedEOF
 16525  	}
 16526  	return nil
 16527  }
 16528  func (m *TradeRecords) Unmarshal(dAtA []byte) error {
 16529  	l := len(dAtA)
 16530  	iNdEx := 0
 16531  	for iNdEx < l {
 16532  		preIndex := iNdEx
 16533  		var wire uint64
 16534  		for shift := uint(0); ; shift += 7 {
 16535  			if shift >= 64 {
 16536  				return ErrIntOverflowExchange
 16537  			}
 16538  			if iNdEx >= l {
 16539  				return io.ErrUnexpectedEOF
 16540  			}
 16541  			b := dAtA[iNdEx]
 16542  			iNdEx++
 16543  			wire |= uint64(b&0x7F) << shift
 16544  			if b < 0x80 {
 16545  				break
 16546  			}
 16547  		}
 16548  		fieldNum := int32(wire >> 3)
 16549  		wireType := int(wire & 0x7)
 16550  		if wireType == 4 {
 16551  			return fmt.Errorf("proto: TradeRecords: wiretype end group for non-group")
 16552  		}
 16553  		if fieldNum <= 0 {
 16554  			return fmt.Errorf("proto: TradeRecords: illegal tag %d (wire type %d)", fieldNum, wire)
 16555  		}
 16556  		switch fieldNum {
 16557  		case 1:
 16558  			if wireType != 2 {
 16559  				return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType)
 16560  			}
 16561  			var stringLen uint64
 16562  			for shift := uint(0); ; shift += 7 {
 16563  				if shift >= 64 {
 16564  					return ErrIntOverflowExchange
 16565  				}
 16566  				if iNdEx >= l {
 16567  					return io.ErrUnexpectedEOF
 16568  				}
 16569  				b := dAtA[iNdEx]
 16570  				iNdEx++
 16571  				stringLen |= uint64(b&0x7F) << shift
 16572  				if b < 0x80 {
 16573  					break
 16574  				}
 16575  			}
 16576  			intStringLen := int(stringLen)
 16577  			if intStringLen < 0 {
 16578  				return ErrInvalidLengthExchange
 16579  			}
 16580  			postIndex := iNdEx + intStringLen
 16581  			if postIndex < 0 {
 16582  				return ErrInvalidLengthExchange
 16583  			}
 16584  			if postIndex > l {
 16585  				return io.ErrUnexpectedEOF
 16586  			}
 16587  			m.MarketId = string(dAtA[iNdEx:postIndex])
 16588  			iNdEx = postIndex
 16589  		case 2:
 16590  			if wireType != 2 {
 16591  				return fmt.Errorf("proto: wrong wireType = %d for field LatestTradeRecords", wireType)
 16592  			}
 16593  			var msglen int
 16594  			for shift := uint(0); ; shift += 7 {
 16595  				if shift >= 64 {
 16596  					return ErrIntOverflowExchange
 16597  				}
 16598  				if iNdEx >= l {
 16599  					return io.ErrUnexpectedEOF
 16600  				}
 16601  				b := dAtA[iNdEx]
 16602  				iNdEx++
 16603  				msglen |= int(b&0x7F) << shift
 16604  				if b < 0x80 {
 16605  					break
 16606  				}
 16607  			}
 16608  			if msglen < 0 {
 16609  				return ErrInvalidLengthExchange
 16610  			}
 16611  			postIndex := iNdEx + msglen
 16612  			if postIndex < 0 {
 16613  				return ErrInvalidLengthExchange
 16614  			}
 16615  			if postIndex > l {
 16616  				return io.ErrUnexpectedEOF
 16617  			}
 16618  			m.LatestTradeRecords = append(m.LatestTradeRecords, &TradeRecord{})
 16619  			if err := m.LatestTradeRecords[len(m.LatestTradeRecords)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 16620  				return err
 16621  			}
 16622  			iNdEx = postIndex
 16623  		default:
 16624  			iNdEx = preIndex
 16625  			skippy, err := skipExchange(dAtA[iNdEx:])
 16626  			if err != nil {
 16627  				return err
 16628  			}
 16629  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 16630  				return ErrInvalidLengthExchange
 16631  			}
 16632  			if (iNdEx + skippy) > l {
 16633  				return io.ErrUnexpectedEOF
 16634  			}
 16635  			iNdEx += skippy
 16636  		}
 16637  	}
 16638  
 16639  	if iNdEx > l {
 16640  		return io.ErrUnexpectedEOF
 16641  	}
 16642  	return nil
 16643  }
 16644  func (m *SubaccountIDs) Unmarshal(dAtA []byte) error {
 16645  	l := len(dAtA)
 16646  	iNdEx := 0
 16647  	for iNdEx < l {
 16648  		preIndex := iNdEx
 16649  		var wire uint64
 16650  		for shift := uint(0); ; shift += 7 {
 16651  			if shift >= 64 {
 16652  				return ErrIntOverflowExchange
 16653  			}
 16654  			if iNdEx >= l {
 16655  				return io.ErrUnexpectedEOF
 16656  			}
 16657  			b := dAtA[iNdEx]
 16658  			iNdEx++
 16659  			wire |= uint64(b&0x7F) << shift
 16660  			if b < 0x80 {
 16661  				break
 16662  			}
 16663  		}
 16664  		fieldNum := int32(wire >> 3)
 16665  		wireType := int(wire & 0x7)
 16666  		if wireType == 4 {
 16667  			return fmt.Errorf("proto: SubaccountIDs: wiretype end group for non-group")
 16668  		}
 16669  		if fieldNum <= 0 {
 16670  			return fmt.Errorf("proto: SubaccountIDs: illegal tag %d (wire type %d)", fieldNum, wire)
 16671  		}
 16672  		switch fieldNum {
 16673  		case 1:
 16674  			if wireType != 2 {
 16675  				return fmt.Errorf("proto: wrong wireType = %d for field SubaccountIds", wireType)
 16676  			}
 16677  			var byteLen int
 16678  			for shift := uint(0); ; shift += 7 {
 16679  				if shift >= 64 {
 16680  					return ErrIntOverflowExchange
 16681  				}
 16682  				if iNdEx >= l {
 16683  					return io.ErrUnexpectedEOF
 16684  				}
 16685  				b := dAtA[iNdEx]
 16686  				iNdEx++
 16687  				byteLen |= int(b&0x7F) << shift
 16688  				if b < 0x80 {
 16689  					break
 16690  				}
 16691  			}
 16692  			if byteLen < 0 {
 16693  				return ErrInvalidLengthExchange
 16694  			}
 16695  			postIndex := iNdEx + byteLen
 16696  			if postIndex < 0 {
 16697  				return ErrInvalidLengthExchange
 16698  			}
 16699  			if postIndex > l {
 16700  				return io.ErrUnexpectedEOF
 16701  			}
 16702  			m.SubaccountIds = append(m.SubaccountIds, make([]byte, postIndex-iNdEx))
 16703  			copy(m.SubaccountIds[len(m.SubaccountIds)-1], dAtA[iNdEx:postIndex])
 16704  			iNdEx = postIndex
 16705  		default:
 16706  			iNdEx = preIndex
 16707  			skippy, err := skipExchange(dAtA[iNdEx:])
 16708  			if err != nil {
 16709  				return err
 16710  			}
 16711  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 16712  				return ErrInvalidLengthExchange
 16713  			}
 16714  			if (iNdEx + skippy) > l {
 16715  				return io.ErrUnexpectedEOF
 16716  			}
 16717  			iNdEx += skippy
 16718  		}
 16719  	}
 16720  
 16721  	if iNdEx > l {
 16722  		return io.ErrUnexpectedEOF
 16723  	}
 16724  	return nil
 16725  }
 16726  func (m *TradeRecord) Unmarshal(dAtA []byte) error {
 16727  	l := len(dAtA)
 16728  	iNdEx := 0
 16729  	for iNdEx < l {
 16730  		preIndex := iNdEx
 16731  		var wire uint64
 16732  		for shift := uint(0); ; shift += 7 {
 16733  			if shift >= 64 {
 16734  				return ErrIntOverflowExchange
 16735  			}
 16736  			if iNdEx >= l {
 16737  				return io.ErrUnexpectedEOF
 16738  			}
 16739  			b := dAtA[iNdEx]
 16740  			iNdEx++
 16741  			wire |= uint64(b&0x7F) << shift
 16742  			if b < 0x80 {
 16743  				break
 16744  			}
 16745  		}
 16746  		fieldNum := int32(wire >> 3)
 16747  		wireType := int(wire & 0x7)
 16748  		if wireType == 4 {
 16749  			return fmt.Errorf("proto: TradeRecord: wiretype end group for non-group")
 16750  		}
 16751  		if fieldNum <= 0 {
 16752  			return fmt.Errorf("proto: TradeRecord: illegal tag %d (wire type %d)", fieldNum, wire)
 16753  		}
 16754  		switch fieldNum {
 16755  		case 1:
 16756  			if wireType != 0 {
 16757  				return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType)
 16758  			}
 16759  			m.Timestamp = 0
 16760  			for shift := uint(0); ; shift += 7 {
 16761  				if shift >= 64 {
 16762  					return ErrIntOverflowExchange
 16763  				}
 16764  				if iNdEx >= l {
 16765  					return io.ErrUnexpectedEOF
 16766  				}
 16767  				b := dAtA[iNdEx]
 16768  				iNdEx++
 16769  				m.Timestamp |= int64(b&0x7F) << shift
 16770  				if b < 0x80 {
 16771  					break
 16772  				}
 16773  			}
 16774  		case 2:
 16775  			if wireType != 2 {
 16776  				return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType)
 16777  			}
 16778  			var stringLen uint64
 16779  			for shift := uint(0); ; shift += 7 {
 16780  				if shift >= 64 {
 16781  					return ErrIntOverflowExchange
 16782  				}
 16783  				if iNdEx >= l {
 16784  					return io.ErrUnexpectedEOF
 16785  				}
 16786  				b := dAtA[iNdEx]
 16787  				iNdEx++
 16788  				stringLen |= uint64(b&0x7F) << shift
 16789  				if b < 0x80 {
 16790  					break
 16791  				}
 16792  			}
 16793  			intStringLen := int(stringLen)
 16794  			if intStringLen < 0 {
 16795  				return ErrInvalidLengthExchange
 16796  			}
 16797  			postIndex := iNdEx + intStringLen
 16798  			if postIndex < 0 {
 16799  				return ErrInvalidLengthExchange
 16800  			}
 16801  			if postIndex > l {
 16802  				return io.ErrUnexpectedEOF
 16803  			}
 16804  			if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 16805  				return err
 16806  			}
 16807  			iNdEx = postIndex
 16808  		case 3:
 16809  			if wireType != 2 {
 16810  				return fmt.Errorf("proto: wrong wireType = %d for field Quantity", wireType)
 16811  			}
 16812  			var stringLen uint64
 16813  			for shift := uint(0); ; shift += 7 {
 16814  				if shift >= 64 {
 16815  					return ErrIntOverflowExchange
 16816  				}
 16817  				if iNdEx >= l {
 16818  					return io.ErrUnexpectedEOF
 16819  				}
 16820  				b := dAtA[iNdEx]
 16821  				iNdEx++
 16822  				stringLen |= uint64(b&0x7F) << shift
 16823  				if b < 0x80 {
 16824  					break
 16825  				}
 16826  			}
 16827  			intStringLen := int(stringLen)
 16828  			if intStringLen < 0 {
 16829  				return ErrInvalidLengthExchange
 16830  			}
 16831  			postIndex := iNdEx + intStringLen
 16832  			if postIndex < 0 {
 16833  				return ErrInvalidLengthExchange
 16834  			}
 16835  			if postIndex > l {
 16836  				return io.ErrUnexpectedEOF
 16837  			}
 16838  			if err := m.Quantity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 16839  				return err
 16840  			}
 16841  			iNdEx = postIndex
 16842  		default:
 16843  			iNdEx = preIndex
 16844  			skippy, err := skipExchange(dAtA[iNdEx:])
 16845  			if err != nil {
 16846  				return err
 16847  			}
 16848  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 16849  				return ErrInvalidLengthExchange
 16850  			}
 16851  			if (iNdEx + skippy) > l {
 16852  				return io.ErrUnexpectedEOF
 16853  			}
 16854  			iNdEx += skippy
 16855  		}
 16856  	}
 16857  
 16858  	if iNdEx > l {
 16859  		return io.ErrUnexpectedEOF
 16860  	}
 16861  	return nil
 16862  }
 16863  func (m *Level) Unmarshal(dAtA []byte) error {
 16864  	l := len(dAtA)
 16865  	iNdEx := 0
 16866  	for iNdEx < l {
 16867  		preIndex := iNdEx
 16868  		var wire uint64
 16869  		for shift := uint(0); ; shift += 7 {
 16870  			if shift >= 64 {
 16871  				return ErrIntOverflowExchange
 16872  			}
 16873  			if iNdEx >= l {
 16874  				return io.ErrUnexpectedEOF
 16875  			}
 16876  			b := dAtA[iNdEx]
 16877  			iNdEx++
 16878  			wire |= uint64(b&0x7F) << shift
 16879  			if b < 0x80 {
 16880  				break
 16881  			}
 16882  		}
 16883  		fieldNum := int32(wire >> 3)
 16884  		wireType := int(wire & 0x7)
 16885  		if wireType == 4 {
 16886  			return fmt.Errorf("proto: Level: wiretype end group for non-group")
 16887  		}
 16888  		if fieldNum <= 0 {
 16889  			return fmt.Errorf("proto: Level: illegal tag %d (wire type %d)", fieldNum, wire)
 16890  		}
 16891  		switch fieldNum {
 16892  		case 1:
 16893  			if wireType != 2 {
 16894  				return fmt.Errorf("proto: wrong wireType = %d for field P", wireType)
 16895  			}
 16896  			var stringLen uint64
 16897  			for shift := uint(0); ; shift += 7 {
 16898  				if shift >= 64 {
 16899  					return ErrIntOverflowExchange
 16900  				}
 16901  				if iNdEx >= l {
 16902  					return io.ErrUnexpectedEOF
 16903  				}
 16904  				b := dAtA[iNdEx]
 16905  				iNdEx++
 16906  				stringLen |= uint64(b&0x7F) << shift
 16907  				if b < 0x80 {
 16908  					break
 16909  				}
 16910  			}
 16911  			intStringLen := int(stringLen)
 16912  			if intStringLen < 0 {
 16913  				return ErrInvalidLengthExchange
 16914  			}
 16915  			postIndex := iNdEx + intStringLen
 16916  			if postIndex < 0 {
 16917  				return ErrInvalidLengthExchange
 16918  			}
 16919  			if postIndex > l {
 16920  				return io.ErrUnexpectedEOF
 16921  			}
 16922  			if err := m.P.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 16923  				return err
 16924  			}
 16925  			iNdEx = postIndex
 16926  		case 2:
 16927  			if wireType != 2 {
 16928  				return fmt.Errorf("proto: wrong wireType = %d for field Q", wireType)
 16929  			}
 16930  			var stringLen uint64
 16931  			for shift := uint(0); ; shift += 7 {
 16932  				if shift >= 64 {
 16933  					return ErrIntOverflowExchange
 16934  				}
 16935  				if iNdEx >= l {
 16936  					return io.ErrUnexpectedEOF
 16937  				}
 16938  				b := dAtA[iNdEx]
 16939  				iNdEx++
 16940  				stringLen |= uint64(b&0x7F) << shift
 16941  				if b < 0x80 {
 16942  					break
 16943  				}
 16944  			}
 16945  			intStringLen := int(stringLen)
 16946  			if intStringLen < 0 {
 16947  				return ErrInvalidLengthExchange
 16948  			}
 16949  			postIndex := iNdEx + intStringLen
 16950  			if postIndex < 0 {
 16951  				return ErrInvalidLengthExchange
 16952  			}
 16953  			if postIndex > l {
 16954  				return io.ErrUnexpectedEOF
 16955  			}
 16956  			if err := m.Q.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 16957  				return err
 16958  			}
 16959  			iNdEx = postIndex
 16960  		default:
 16961  			iNdEx = preIndex
 16962  			skippy, err := skipExchange(dAtA[iNdEx:])
 16963  			if err != nil {
 16964  				return err
 16965  			}
 16966  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 16967  				return ErrInvalidLengthExchange
 16968  			}
 16969  			if (iNdEx + skippy) > l {
 16970  				return io.ErrUnexpectedEOF
 16971  			}
 16972  			iNdEx += skippy
 16973  		}
 16974  	}
 16975  
 16976  	if iNdEx > l {
 16977  		return io.ErrUnexpectedEOF
 16978  	}
 16979  	return nil
 16980  }
 16981  func (m *AggregateSubaccountVolumeRecord) Unmarshal(dAtA []byte) error {
 16982  	l := len(dAtA)
 16983  	iNdEx := 0
 16984  	for iNdEx < l {
 16985  		preIndex := iNdEx
 16986  		var wire uint64
 16987  		for shift := uint(0); ; shift += 7 {
 16988  			if shift >= 64 {
 16989  				return ErrIntOverflowExchange
 16990  			}
 16991  			if iNdEx >= l {
 16992  				return io.ErrUnexpectedEOF
 16993  			}
 16994  			b := dAtA[iNdEx]
 16995  			iNdEx++
 16996  			wire |= uint64(b&0x7F) << shift
 16997  			if b < 0x80 {
 16998  				break
 16999  			}
 17000  		}
 17001  		fieldNum := int32(wire >> 3)
 17002  		wireType := int(wire & 0x7)
 17003  		if wireType == 4 {
 17004  			return fmt.Errorf("proto: AggregateSubaccountVolumeRecord: wiretype end group for non-group")
 17005  		}
 17006  		if fieldNum <= 0 {
 17007  			return fmt.Errorf("proto: AggregateSubaccountVolumeRecord: illegal tag %d (wire type %d)", fieldNum, wire)
 17008  		}
 17009  		switch fieldNum {
 17010  		case 1:
 17011  			if wireType != 2 {
 17012  				return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType)
 17013  			}
 17014  			var stringLen uint64
 17015  			for shift := uint(0); ; shift += 7 {
 17016  				if shift >= 64 {
 17017  					return ErrIntOverflowExchange
 17018  				}
 17019  				if iNdEx >= l {
 17020  					return io.ErrUnexpectedEOF
 17021  				}
 17022  				b := dAtA[iNdEx]
 17023  				iNdEx++
 17024  				stringLen |= uint64(b&0x7F) << shift
 17025  				if b < 0x80 {
 17026  					break
 17027  				}
 17028  			}
 17029  			intStringLen := int(stringLen)
 17030  			if intStringLen < 0 {
 17031  				return ErrInvalidLengthExchange
 17032  			}
 17033  			postIndex := iNdEx + intStringLen
 17034  			if postIndex < 0 {
 17035  				return ErrInvalidLengthExchange
 17036  			}
 17037  			if postIndex > l {
 17038  				return io.ErrUnexpectedEOF
 17039  			}
 17040  			m.SubaccountId = string(dAtA[iNdEx:postIndex])
 17041  			iNdEx = postIndex
 17042  		case 2:
 17043  			if wireType != 2 {
 17044  				return fmt.Errorf("proto: wrong wireType = %d for field MarketVolumes", wireType)
 17045  			}
 17046  			var msglen int
 17047  			for shift := uint(0); ; shift += 7 {
 17048  				if shift >= 64 {
 17049  					return ErrIntOverflowExchange
 17050  				}
 17051  				if iNdEx >= l {
 17052  					return io.ErrUnexpectedEOF
 17053  				}
 17054  				b := dAtA[iNdEx]
 17055  				iNdEx++
 17056  				msglen |= int(b&0x7F) << shift
 17057  				if b < 0x80 {
 17058  					break
 17059  				}
 17060  			}
 17061  			if msglen < 0 {
 17062  				return ErrInvalidLengthExchange
 17063  			}
 17064  			postIndex := iNdEx + msglen
 17065  			if postIndex < 0 {
 17066  				return ErrInvalidLengthExchange
 17067  			}
 17068  			if postIndex > l {
 17069  				return io.ErrUnexpectedEOF
 17070  			}
 17071  			m.MarketVolumes = append(m.MarketVolumes, &MarketVolume{})
 17072  			if err := m.MarketVolumes[len(m.MarketVolumes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 17073  				return err
 17074  			}
 17075  			iNdEx = postIndex
 17076  		default:
 17077  			iNdEx = preIndex
 17078  			skippy, err := skipExchange(dAtA[iNdEx:])
 17079  			if err != nil {
 17080  				return err
 17081  			}
 17082  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 17083  				return ErrInvalidLengthExchange
 17084  			}
 17085  			if (iNdEx + skippy) > l {
 17086  				return io.ErrUnexpectedEOF
 17087  			}
 17088  			iNdEx += skippy
 17089  		}
 17090  	}
 17091  
 17092  	if iNdEx > l {
 17093  		return io.ErrUnexpectedEOF
 17094  	}
 17095  	return nil
 17096  }
 17097  func (m *AggregateAccountVolumeRecord) Unmarshal(dAtA []byte) error {
 17098  	l := len(dAtA)
 17099  	iNdEx := 0
 17100  	for iNdEx < l {
 17101  		preIndex := iNdEx
 17102  		var wire uint64
 17103  		for shift := uint(0); ; shift += 7 {
 17104  			if shift >= 64 {
 17105  				return ErrIntOverflowExchange
 17106  			}
 17107  			if iNdEx >= l {
 17108  				return io.ErrUnexpectedEOF
 17109  			}
 17110  			b := dAtA[iNdEx]
 17111  			iNdEx++
 17112  			wire |= uint64(b&0x7F) << shift
 17113  			if b < 0x80 {
 17114  				break
 17115  			}
 17116  		}
 17117  		fieldNum := int32(wire >> 3)
 17118  		wireType := int(wire & 0x7)
 17119  		if wireType == 4 {
 17120  			return fmt.Errorf("proto: AggregateAccountVolumeRecord: wiretype end group for non-group")
 17121  		}
 17122  		if fieldNum <= 0 {
 17123  			return fmt.Errorf("proto: AggregateAccountVolumeRecord: illegal tag %d (wire type %d)", fieldNum, wire)
 17124  		}
 17125  		switch fieldNum {
 17126  		case 1:
 17127  			if wireType != 2 {
 17128  				return fmt.Errorf("proto: wrong wireType = %d for field Account", wireType)
 17129  			}
 17130  			var stringLen uint64
 17131  			for shift := uint(0); ; shift += 7 {
 17132  				if shift >= 64 {
 17133  					return ErrIntOverflowExchange
 17134  				}
 17135  				if iNdEx >= l {
 17136  					return io.ErrUnexpectedEOF
 17137  				}
 17138  				b := dAtA[iNdEx]
 17139  				iNdEx++
 17140  				stringLen |= uint64(b&0x7F) << shift
 17141  				if b < 0x80 {
 17142  					break
 17143  				}
 17144  			}
 17145  			intStringLen := int(stringLen)
 17146  			if intStringLen < 0 {
 17147  				return ErrInvalidLengthExchange
 17148  			}
 17149  			postIndex := iNdEx + intStringLen
 17150  			if postIndex < 0 {
 17151  				return ErrInvalidLengthExchange
 17152  			}
 17153  			if postIndex > l {
 17154  				return io.ErrUnexpectedEOF
 17155  			}
 17156  			m.Account = string(dAtA[iNdEx:postIndex])
 17157  			iNdEx = postIndex
 17158  		case 2:
 17159  			if wireType != 2 {
 17160  				return fmt.Errorf("proto: wrong wireType = %d for field MarketVolumes", wireType)
 17161  			}
 17162  			var msglen int
 17163  			for shift := uint(0); ; shift += 7 {
 17164  				if shift >= 64 {
 17165  					return ErrIntOverflowExchange
 17166  				}
 17167  				if iNdEx >= l {
 17168  					return io.ErrUnexpectedEOF
 17169  				}
 17170  				b := dAtA[iNdEx]
 17171  				iNdEx++
 17172  				msglen |= int(b&0x7F) << shift
 17173  				if b < 0x80 {
 17174  					break
 17175  				}
 17176  			}
 17177  			if msglen < 0 {
 17178  				return ErrInvalidLengthExchange
 17179  			}
 17180  			postIndex := iNdEx + msglen
 17181  			if postIndex < 0 {
 17182  				return ErrInvalidLengthExchange
 17183  			}
 17184  			if postIndex > l {
 17185  				return io.ErrUnexpectedEOF
 17186  			}
 17187  			m.MarketVolumes = append(m.MarketVolumes, &MarketVolume{})
 17188  			if err := m.MarketVolumes[len(m.MarketVolumes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 17189  				return err
 17190  			}
 17191  			iNdEx = postIndex
 17192  		default:
 17193  			iNdEx = preIndex
 17194  			skippy, err := skipExchange(dAtA[iNdEx:])
 17195  			if err != nil {
 17196  				return err
 17197  			}
 17198  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 17199  				return ErrInvalidLengthExchange
 17200  			}
 17201  			if (iNdEx + skippy) > l {
 17202  				return io.ErrUnexpectedEOF
 17203  			}
 17204  			iNdEx += skippy
 17205  		}
 17206  	}
 17207  
 17208  	if iNdEx > l {
 17209  		return io.ErrUnexpectedEOF
 17210  	}
 17211  	return nil
 17212  }
 17213  func (m *MarketVolume) Unmarshal(dAtA []byte) error {
 17214  	l := len(dAtA)
 17215  	iNdEx := 0
 17216  	for iNdEx < l {
 17217  		preIndex := iNdEx
 17218  		var wire uint64
 17219  		for shift := uint(0); ; shift += 7 {
 17220  			if shift >= 64 {
 17221  				return ErrIntOverflowExchange
 17222  			}
 17223  			if iNdEx >= l {
 17224  				return io.ErrUnexpectedEOF
 17225  			}
 17226  			b := dAtA[iNdEx]
 17227  			iNdEx++
 17228  			wire |= uint64(b&0x7F) << shift
 17229  			if b < 0x80 {
 17230  				break
 17231  			}
 17232  		}
 17233  		fieldNum := int32(wire >> 3)
 17234  		wireType := int(wire & 0x7)
 17235  		if wireType == 4 {
 17236  			return fmt.Errorf("proto: MarketVolume: wiretype end group for non-group")
 17237  		}
 17238  		if fieldNum <= 0 {
 17239  			return fmt.Errorf("proto: MarketVolume: illegal tag %d (wire type %d)", fieldNum, wire)
 17240  		}
 17241  		switch fieldNum {
 17242  		case 1:
 17243  			if wireType != 2 {
 17244  				return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType)
 17245  			}
 17246  			var stringLen uint64
 17247  			for shift := uint(0); ; shift += 7 {
 17248  				if shift >= 64 {
 17249  					return ErrIntOverflowExchange
 17250  				}
 17251  				if iNdEx >= l {
 17252  					return io.ErrUnexpectedEOF
 17253  				}
 17254  				b := dAtA[iNdEx]
 17255  				iNdEx++
 17256  				stringLen |= uint64(b&0x7F) << shift
 17257  				if b < 0x80 {
 17258  					break
 17259  				}
 17260  			}
 17261  			intStringLen := int(stringLen)
 17262  			if intStringLen < 0 {
 17263  				return ErrInvalidLengthExchange
 17264  			}
 17265  			postIndex := iNdEx + intStringLen
 17266  			if postIndex < 0 {
 17267  				return ErrInvalidLengthExchange
 17268  			}
 17269  			if postIndex > l {
 17270  				return io.ErrUnexpectedEOF
 17271  			}
 17272  			m.MarketId = string(dAtA[iNdEx:postIndex])
 17273  			iNdEx = postIndex
 17274  		case 2:
 17275  			if wireType != 2 {
 17276  				return fmt.Errorf("proto: wrong wireType = %d for field Volume", wireType)
 17277  			}
 17278  			var msglen int
 17279  			for shift := uint(0); ; shift += 7 {
 17280  				if shift >= 64 {
 17281  					return ErrIntOverflowExchange
 17282  				}
 17283  				if iNdEx >= l {
 17284  					return io.ErrUnexpectedEOF
 17285  				}
 17286  				b := dAtA[iNdEx]
 17287  				iNdEx++
 17288  				msglen |= int(b&0x7F) << shift
 17289  				if b < 0x80 {
 17290  					break
 17291  				}
 17292  			}
 17293  			if msglen < 0 {
 17294  				return ErrInvalidLengthExchange
 17295  			}
 17296  			postIndex := iNdEx + msglen
 17297  			if postIndex < 0 {
 17298  				return ErrInvalidLengthExchange
 17299  			}
 17300  			if postIndex > l {
 17301  				return io.ErrUnexpectedEOF
 17302  			}
 17303  			if err := m.Volume.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 17304  				return err
 17305  			}
 17306  			iNdEx = postIndex
 17307  		default:
 17308  			iNdEx = preIndex
 17309  			skippy, err := skipExchange(dAtA[iNdEx:])
 17310  			if err != nil {
 17311  				return err
 17312  			}
 17313  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 17314  				return ErrInvalidLengthExchange
 17315  			}
 17316  			if (iNdEx + skippy) > l {
 17317  				return io.ErrUnexpectedEOF
 17318  			}
 17319  			iNdEx += skippy
 17320  		}
 17321  	}
 17322  
 17323  	if iNdEx > l {
 17324  		return io.ErrUnexpectedEOF
 17325  	}
 17326  	return nil
 17327  }
 17328  func (m *DenomDecimals) Unmarshal(dAtA []byte) error {
 17329  	l := len(dAtA)
 17330  	iNdEx := 0
 17331  	for iNdEx < l {
 17332  		preIndex := iNdEx
 17333  		var wire uint64
 17334  		for shift := uint(0); ; shift += 7 {
 17335  			if shift >= 64 {
 17336  				return ErrIntOverflowExchange
 17337  			}
 17338  			if iNdEx >= l {
 17339  				return io.ErrUnexpectedEOF
 17340  			}
 17341  			b := dAtA[iNdEx]
 17342  			iNdEx++
 17343  			wire |= uint64(b&0x7F) << shift
 17344  			if b < 0x80 {
 17345  				break
 17346  			}
 17347  		}
 17348  		fieldNum := int32(wire >> 3)
 17349  		wireType := int(wire & 0x7)
 17350  		if wireType == 4 {
 17351  			return fmt.Errorf("proto: DenomDecimals: wiretype end group for non-group")
 17352  		}
 17353  		if fieldNum <= 0 {
 17354  			return fmt.Errorf("proto: DenomDecimals: illegal tag %d (wire type %d)", fieldNum, wire)
 17355  		}
 17356  		switch fieldNum {
 17357  		case 1:
 17358  			if wireType != 2 {
 17359  				return fmt.Errorf("proto: wrong wireType = %d for field Denom", wireType)
 17360  			}
 17361  			var stringLen uint64
 17362  			for shift := uint(0); ; shift += 7 {
 17363  				if shift >= 64 {
 17364  					return ErrIntOverflowExchange
 17365  				}
 17366  				if iNdEx >= l {
 17367  					return io.ErrUnexpectedEOF
 17368  				}
 17369  				b := dAtA[iNdEx]
 17370  				iNdEx++
 17371  				stringLen |= uint64(b&0x7F) << shift
 17372  				if b < 0x80 {
 17373  					break
 17374  				}
 17375  			}
 17376  			intStringLen := int(stringLen)
 17377  			if intStringLen < 0 {
 17378  				return ErrInvalidLengthExchange
 17379  			}
 17380  			postIndex := iNdEx + intStringLen
 17381  			if postIndex < 0 {
 17382  				return ErrInvalidLengthExchange
 17383  			}
 17384  			if postIndex > l {
 17385  				return io.ErrUnexpectedEOF
 17386  			}
 17387  			m.Denom = string(dAtA[iNdEx:postIndex])
 17388  			iNdEx = postIndex
 17389  		case 2:
 17390  			if wireType != 0 {
 17391  				return fmt.Errorf("proto: wrong wireType = %d for field Decimals", wireType)
 17392  			}
 17393  			m.Decimals = 0
 17394  			for shift := uint(0); ; shift += 7 {
 17395  				if shift >= 64 {
 17396  					return ErrIntOverflowExchange
 17397  				}
 17398  				if iNdEx >= l {
 17399  					return io.ErrUnexpectedEOF
 17400  				}
 17401  				b := dAtA[iNdEx]
 17402  				iNdEx++
 17403  				m.Decimals |= uint64(b&0x7F) << shift
 17404  				if b < 0x80 {
 17405  					break
 17406  				}
 17407  			}
 17408  		default:
 17409  			iNdEx = preIndex
 17410  			skippy, err := skipExchange(dAtA[iNdEx:])
 17411  			if err != nil {
 17412  				return err
 17413  			}
 17414  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 17415  				return ErrInvalidLengthExchange
 17416  			}
 17417  			if (iNdEx + skippy) > l {
 17418  				return io.ErrUnexpectedEOF
 17419  			}
 17420  			iNdEx += skippy
 17421  		}
 17422  	}
 17423  
 17424  	if iNdEx > l {
 17425  		return io.ErrUnexpectedEOF
 17426  	}
 17427  	return nil
 17428  }
 17429  func (m *GrantAuthorization) Unmarshal(dAtA []byte) error {
 17430  	l := len(dAtA)
 17431  	iNdEx := 0
 17432  	for iNdEx < l {
 17433  		preIndex := iNdEx
 17434  		var wire uint64
 17435  		for shift := uint(0); ; shift += 7 {
 17436  			if shift >= 64 {
 17437  				return ErrIntOverflowExchange
 17438  			}
 17439  			if iNdEx >= l {
 17440  				return io.ErrUnexpectedEOF
 17441  			}
 17442  			b := dAtA[iNdEx]
 17443  			iNdEx++
 17444  			wire |= uint64(b&0x7F) << shift
 17445  			if b < 0x80 {
 17446  				break
 17447  			}
 17448  		}
 17449  		fieldNum := int32(wire >> 3)
 17450  		wireType := int(wire & 0x7)
 17451  		if wireType == 4 {
 17452  			return fmt.Errorf("proto: GrantAuthorization: wiretype end group for non-group")
 17453  		}
 17454  		if fieldNum <= 0 {
 17455  			return fmt.Errorf("proto: GrantAuthorization: illegal tag %d (wire type %d)", fieldNum, wire)
 17456  		}
 17457  		switch fieldNum {
 17458  		case 1:
 17459  			if wireType != 2 {
 17460  				return fmt.Errorf("proto: wrong wireType = %d for field Grantee", wireType)
 17461  			}
 17462  			var stringLen uint64
 17463  			for shift := uint(0); ; shift += 7 {
 17464  				if shift >= 64 {
 17465  					return ErrIntOverflowExchange
 17466  				}
 17467  				if iNdEx >= l {
 17468  					return io.ErrUnexpectedEOF
 17469  				}
 17470  				b := dAtA[iNdEx]
 17471  				iNdEx++
 17472  				stringLen |= uint64(b&0x7F) << shift
 17473  				if b < 0x80 {
 17474  					break
 17475  				}
 17476  			}
 17477  			intStringLen := int(stringLen)
 17478  			if intStringLen < 0 {
 17479  				return ErrInvalidLengthExchange
 17480  			}
 17481  			postIndex := iNdEx + intStringLen
 17482  			if postIndex < 0 {
 17483  				return ErrInvalidLengthExchange
 17484  			}
 17485  			if postIndex > l {
 17486  				return io.ErrUnexpectedEOF
 17487  			}
 17488  			m.Grantee = string(dAtA[iNdEx:postIndex])
 17489  			iNdEx = postIndex
 17490  		case 2:
 17491  			if wireType != 2 {
 17492  				return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType)
 17493  			}
 17494  			var stringLen uint64
 17495  			for shift := uint(0); ; shift += 7 {
 17496  				if shift >= 64 {
 17497  					return ErrIntOverflowExchange
 17498  				}
 17499  				if iNdEx >= l {
 17500  					return io.ErrUnexpectedEOF
 17501  				}
 17502  				b := dAtA[iNdEx]
 17503  				iNdEx++
 17504  				stringLen |= uint64(b&0x7F) << shift
 17505  				if b < 0x80 {
 17506  					break
 17507  				}
 17508  			}
 17509  			intStringLen := int(stringLen)
 17510  			if intStringLen < 0 {
 17511  				return ErrInvalidLengthExchange
 17512  			}
 17513  			postIndex := iNdEx + intStringLen
 17514  			if postIndex < 0 {
 17515  				return ErrInvalidLengthExchange
 17516  			}
 17517  			if postIndex > l {
 17518  				return io.ErrUnexpectedEOF
 17519  			}
 17520  			if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 17521  				return err
 17522  			}
 17523  			iNdEx = postIndex
 17524  		default:
 17525  			iNdEx = preIndex
 17526  			skippy, err := skipExchange(dAtA[iNdEx:])
 17527  			if err != nil {
 17528  				return err
 17529  			}
 17530  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 17531  				return ErrInvalidLengthExchange
 17532  			}
 17533  			if (iNdEx + skippy) > l {
 17534  				return io.ErrUnexpectedEOF
 17535  			}
 17536  			iNdEx += skippy
 17537  		}
 17538  	}
 17539  
 17540  	if iNdEx > l {
 17541  		return io.ErrUnexpectedEOF
 17542  	}
 17543  	return nil
 17544  }
 17545  func (m *ActiveGrant) Unmarshal(dAtA []byte) error {
 17546  	l := len(dAtA)
 17547  	iNdEx := 0
 17548  	for iNdEx < l {
 17549  		preIndex := iNdEx
 17550  		var wire uint64
 17551  		for shift := uint(0); ; shift += 7 {
 17552  			if shift >= 64 {
 17553  				return ErrIntOverflowExchange
 17554  			}
 17555  			if iNdEx >= l {
 17556  				return io.ErrUnexpectedEOF
 17557  			}
 17558  			b := dAtA[iNdEx]
 17559  			iNdEx++
 17560  			wire |= uint64(b&0x7F) << shift
 17561  			if b < 0x80 {
 17562  				break
 17563  			}
 17564  		}
 17565  		fieldNum := int32(wire >> 3)
 17566  		wireType := int(wire & 0x7)
 17567  		if wireType == 4 {
 17568  			return fmt.Errorf("proto: ActiveGrant: wiretype end group for non-group")
 17569  		}
 17570  		if fieldNum <= 0 {
 17571  			return fmt.Errorf("proto: ActiveGrant: illegal tag %d (wire type %d)", fieldNum, wire)
 17572  		}
 17573  		switch fieldNum {
 17574  		case 1:
 17575  			if wireType != 2 {
 17576  				return fmt.Errorf("proto: wrong wireType = %d for field Granter", wireType)
 17577  			}
 17578  			var stringLen uint64
 17579  			for shift := uint(0); ; shift += 7 {
 17580  				if shift >= 64 {
 17581  					return ErrIntOverflowExchange
 17582  				}
 17583  				if iNdEx >= l {
 17584  					return io.ErrUnexpectedEOF
 17585  				}
 17586  				b := dAtA[iNdEx]
 17587  				iNdEx++
 17588  				stringLen |= uint64(b&0x7F) << shift
 17589  				if b < 0x80 {
 17590  					break
 17591  				}
 17592  			}
 17593  			intStringLen := int(stringLen)
 17594  			if intStringLen < 0 {
 17595  				return ErrInvalidLengthExchange
 17596  			}
 17597  			postIndex := iNdEx + intStringLen
 17598  			if postIndex < 0 {
 17599  				return ErrInvalidLengthExchange
 17600  			}
 17601  			if postIndex > l {
 17602  				return io.ErrUnexpectedEOF
 17603  			}
 17604  			m.Granter = string(dAtA[iNdEx:postIndex])
 17605  			iNdEx = postIndex
 17606  		case 2:
 17607  			if wireType != 2 {
 17608  				return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType)
 17609  			}
 17610  			var stringLen uint64
 17611  			for shift := uint(0); ; shift += 7 {
 17612  				if shift >= 64 {
 17613  					return ErrIntOverflowExchange
 17614  				}
 17615  				if iNdEx >= l {
 17616  					return io.ErrUnexpectedEOF
 17617  				}
 17618  				b := dAtA[iNdEx]
 17619  				iNdEx++
 17620  				stringLen |= uint64(b&0x7F) << shift
 17621  				if b < 0x80 {
 17622  					break
 17623  				}
 17624  			}
 17625  			intStringLen := int(stringLen)
 17626  			if intStringLen < 0 {
 17627  				return ErrInvalidLengthExchange
 17628  			}
 17629  			postIndex := iNdEx + intStringLen
 17630  			if postIndex < 0 {
 17631  				return ErrInvalidLengthExchange
 17632  			}
 17633  			if postIndex > l {
 17634  				return io.ErrUnexpectedEOF
 17635  			}
 17636  			if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 17637  				return err
 17638  			}
 17639  			iNdEx = postIndex
 17640  		default:
 17641  			iNdEx = preIndex
 17642  			skippy, err := skipExchange(dAtA[iNdEx:])
 17643  			if err != nil {
 17644  				return err
 17645  			}
 17646  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 17647  				return ErrInvalidLengthExchange
 17648  			}
 17649  			if (iNdEx + skippy) > l {
 17650  				return io.ErrUnexpectedEOF
 17651  			}
 17652  			iNdEx += skippy
 17653  		}
 17654  	}
 17655  
 17656  	if iNdEx > l {
 17657  		return io.ErrUnexpectedEOF
 17658  	}
 17659  	return nil
 17660  }
 17661  func (m *EffectiveGrant) Unmarshal(dAtA []byte) error {
 17662  	l := len(dAtA)
 17663  	iNdEx := 0
 17664  	for iNdEx < l {
 17665  		preIndex := iNdEx
 17666  		var wire uint64
 17667  		for shift := uint(0); ; shift += 7 {
 17668  			if shift >= 64 {
 17669  				return ErrIntOverflowExchange
 17670  			}
 17671  			if iNdEx >= l {
 17672  				return io.ErrUnexpectedEOF
 17673  			}
 17674  			b := dAtA[iNdEx]
 17675  			iNdEx++
 17676  			wire |= uint64(b&0x7F) << shift
 17677  			if b < 0x80 {
 17678  				break
 17679  			}
 17680  		}
 17681  		fieldNum := int32(wire >> 3)
 17682  		wireType := int(wire & 0x7)
 17683  		if wireType == 4 {
 17684  			return fmt.Errorf("proto: EffectiveGrant: wiretype end group for non-group")
 17685  		}
 17686  		if fieldNum <= 0 {
 17687  			return fmt.Errorf("proto: EffectiveGrant: illegal tag %d (wire type %d)", fieldNum, wire)
 17688  		}
 17689  		switch fieldNum {
 17690  		case 1:
 17691  			if wireType != 2 {
 17692  				return fmt.Errorf("proto: wrong wireType = %d for field Granter", wireType)
 17693  			}
 17694  			var stringLen uint64
 17695  			for shift := uint(0); ; shift += 7 {
 17696  				if shift >= 64 {
 17697  					return ErrIntOverflowExchange
 17698  				}
 17699  				if iNdEx >= l {
 17700  					return io.ErrUnexpectedEOF
 17701  				}
 17702  				b := dAtA[iNdEx]
 17703  				iNdEx++
 17704  				stringLen |= uint64(b&0x7F) << shift
 17705  				if b < 0x80 {
 17706  					break
 17707  				}
 17708  			}
 17709  			intStringLen := int(stringLen)
 17710  			if intStringLen < 0 {
 17711  				return ErrInvalidLengthExchange
 17712  			}
 17713  			postIndex := iNdEx + intStringLen
 17714  			if postIndex < 0 {
 17715  				return ErrInvalidLengthExchange
 17716  			}
 17717  			if postIndex > l {
 17718  				return io.ErrUnexpectedEOF
 17719  			}
 17720  			m.Granter = string(dAtA[iNdEx:postIndex])
 17721  			iNdEx = postIndex
 17722  		case 2:
 17723  			if wireType != 2 {
 17724  				return fmt.Errorf("proto: wrong wireType = %d for field NetGrantedStake", wireType)
 17725  			}
 17726  			var stringLen uint64
 17727  			for shift := uint(0); ; shift += 7 {
 17728  				if shift >= 64 {
 17729  					return ErrIntOverflowExchange
 17730  				}
 17731  				if iNdEx >= l {
 17732  					return io.ErrUnexpectedEOF
 17733  				}
 17734  				b := dAtA[iNdEx]
 17735  				iNdEx++
 17736  				stringLen |= uint64(b&0x7F) << shift
 17737  				if b < 0x80 {
 17738  					break
 17739  				}
 17740  			}
 17741  			intStringLen := int(stringLen)
 17742  			if intStringLen < 0 {
 17743  				return ErrInvalidLengthExchange
 17744  			}
 17745  			postIndex := iNdEx + intStringLen
 17746  			if postIndex < 0 {
 17747  				return ErrInvalidLengthExchange
 17748  			}
 17749  			if postIndex > l {
 17750  				return io.ErrUnexpectedEOF
 17751  			}
 17752  			if err := m.NetGrantedStake.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 17753  				return err
 17754  			}
 17755  			iNdEx = postIndex
 17756  		case 3:
 17757  			if wireType != 0 {
 17758  				return fmt.Errorf("proto: wrong wireType = %d for field IsValid", wireType)
 17759  			}
 17760  			var v int
 17761  			for shift := uint(0); ; shift += 7 {
 17762  				if shift >= 64 {
 17763  					return ErrIntOverflowExchange
 17764  				}
 17765  				if iNdEx >= l {
 17766  					return io.ErrUnexpectedEOF
 17767  				}
 17768  				b := dAtA[iNdEx]
 17769  				iNdEx++
 17770  				v |= int(b&0x7F) << shift
 17771  				if b < 0x80 {
 17772  					break
 17773  				}
 17774  			}
 17775  			m.IsValid = bool(v != 0)
 17776  		default:
 17777  			iNdEx = preIndex
 17778  			skippy, err := skipExchange(dAtA[iNdEx:])
 17779  			if err != nil {
 17780  				return err
 17781  			}
 17782  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 17783  				return ErrInvalidLengthExchange
 17784  			}
 17785  			if (iNdEx + skippy) > l {
 17786  				return io.ErrUnexpectedEOF
 17787  			}
 17788  			iNdEx += skippy
 17789  		}
 17790  	}
 17791  
 17792  	if iNdEx > l {
 17793  		return io.ErrUnexpectedEOF
 17794  	}
 17795  	return nil
 17796  }
 17797  func skipExchange(dAtA []byte) (n int, err error) {
 17798  	l := len(dAtA)
 17799  	iNdEx := 0
 17800  	depth := 0
 17801  	for iNdEx < l {
 17802  		var wire uint64
 17803  		for shift := uint(0); ; shift += 7 {
 17804  			if shift >= 64 {
 17805  				return 0, ErrIntOverflowExchange
 17806  			}
 17807  			if iNdEx >= l {
 17808  				return 0, io.ErrUnexpectedEOF
 17809  			}
 17810  			b := dAtA[iNdEx]
 17811  			iNdEx++
 17812  			wire |= (uint64(b) & 0x7F) << shift
 17813  			if b < 0x80 {
 17814  				break
 17815  			}
 17816  		}
 17817  		wireType := int(wire & 0x7)
 17818  		switch wireType {
 17819  		case 0:
 17820  			for shift := uint(0); ; shift += 7 {
 17821  				if shift >= 64 {
 17822  					return 0, ErrIntOverflowExchange
 17823  				}
 17824  				if iNdEx >= l {
 17825  					return 0, io.ErrUnexpectedEOF
 17826  				}
 17827  				iNdEx++
 17828  				if dAtA[iNdEx-1] < 0x80 {
 17829  					break
 17830  				}
 17831  			}
 17832  		case 1:
 17833  			iNdEx += 8
 17834  		case 2:
 17835  			var length int
 17836  			for shift := uint(0); ; shift += 7 {
 17837  				if shift >= 64 {
 17838  					return 0, ErrIntOverflowExchange
 17839  				}
 17840  				if iNdEx >= l {
 17841  					return 0, io.ErrUnexpectedEOF
 17842  				}
 17843  				b := dAtA[iNdEx]
 17844  				iNdEx++
 17845  				length |= (int(b) & 0x7F) << shift
 17846  				if b < 0x80 {
 17847  					break
 17848  				}
 17849  			}
 17850  			if length < 0 {
 17851  				return 0, ErrInvalidLengthExchange
 17852  			}
 17853  			iNdEx += length
 17854  		case 3:
 17855  			depth++
 17856  		case 4:
 17857  			if depth == 0 {
 17858  				return 0, ErrUnexpectedEndOfGroupExchange
 17859  			}
 17860  			depth--
 17861  		case 5:
 17862  			iNdEx += 4
 17863  		default:
 17864  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
 17865  		}
 17866  		if iNdEx < 0 {
 17867  			return 0, ErrInvalidLengthExchange
 17868  		}
 17869  		if depth == 0 {
 17870  			return iNdEx, nil
 17871  		}
 17872  	}
 17873  	return 0, io.ErrUnexpectedEOF
 17874  }
 17875  
 17876  var (
 17877  	ErrInvalidLengthExchange        = fmt.Errorf("proto: negative length found during unmarshaling")
 17878  	ErrIntOverflowExchange          = fmt.Errorf("proto: integer overflow")
 17879  	ErrUnexpectedEndOfGroupExchange = fmt.Errorf("proto: unexpected end of group")
 17880  )