diff --git a/chain/exchange/types/common_order.go b/chain/exchange/types/common_order.go index 75e8e8d0..f58c50c0 100644 --- a/chain/exchange/types/common_order.go +++ b/chain/exchange/types/common_order.go @@ -1,16 +1,34 @@ package types import ( + "strconv" + sdk "github.com/cosmos/cosmos-sdk/types" "github.com/ethereum/go-ethereum/common" ethmath "github.com/ethereum/go-ethereum/common/math" gethsigner "github.com/ethereum/go-ethereum/signer/core" "github.com/gogo/protobuf/proto" "golang.org/x/crypto/sha3" - - "strconv" ) +// GetRequiredBinaryOptionsOrderMargin returns the required margin for a binary options trade (or order) at a given price +func GetRequiredBinaryOptionsOrderMargin( + price sdk.Dec, + quantity sdk.Dec, + oracleScaleFactor uint32, + orderType OrderType, + isReduceOnly bool, +) sdk.Dec { + if isReduceOnly { + return sdk.ZeroDec() + } + + if orderType.IsBuy() { + return price.Mul(quantity) + } + return GetScaledPrice(sdk.OneDec(), oracleScaleFactor).Sub(price).Mul(quantity) +} + func (t OrderType) IsBuy() bool { switch t { case OrderType_BUY, OrderType_STOP_BUY, OrderType_TAKE_BUY, OrderType_BUY_PO: diff --git a/chain/exchange/types/common_utils.go b/chain/exchange/types/common_utils.go index deb1f694..1423ca99 100644 --- a/chain/exchange/types/common_utils.go +++ b/chain/exchange/types/common_utils.go @@ -25,6 +25,14 @@ func IsEqualDenoms(denoms1, denoms2 []string) bool { return reflect.DeepEqual(denom1Map, denom2Map) } +func IsPeggyToken(denom string) bool { + return strings.HasPrefix(denom, "peggy0x") +} + +func IsIBCDenom(denom string) bool { + return strings.HasPrefix(denom, "ibc/") +} + type Account [20]byte func SdkAccAddressToAccount(account sdk.AccAddress) Account { diff --git a/chain/exchange/types/derivative_orders.go b/chain/exchange/types/derivative_orders.go index b1a06ce5..b4872efd 100644 --- a/chain/exchange/types/derivative_orders.go +++ b/chain/exchange/types/derivative_orders.go @@ -168,7 +168,7 @@ func (o *DerivativeOrder) CheckMarginAndGetMarginHold(initialMarginRatio, markPr if marketType == MarketType_BinaryOption { requiredMargin := o.GetRequiredBinaryOptionsMargin(oracleScaleFactor) if !o.Margin.Equal(requiredMargin) { - return sdk.Dec{}, sdkerrors.Wrapf(ErrInsufficientOrderMargin, "margin check: need %s but got %s", notional.String(), o.Margin.String()) + return sdk.Dec{}, sdkerrors.Wrapf(ErrInsufficientOrderMargin, "margin check: need %s but got %s", requiredMargin.String(), o.Margin.String()) } return marginHold, nil } diff --git a/chain/exchange/types/genesis.pb.go b/chain/exchange/types/genesis.pb.go index 0bf124a0..2f1c60dd 100644 --- a/chain/exchange/types/genesis.pb.go +++ b/chain/exchange/types/genesis.pb.go @@ -81,6 +81,8 @@ type GenesisState struct { BinaryOptionsMarketIdsScheduledForSettlement []string `protobuf:"bytes,27,rep,name=binary_options_market_ids_scheduled_for_settlement,json=binaryOptionsMarketIdsScheduledForSettlement,proto3" json:"binary_options_market_ids_scheduled_for_settlement,omitempty"` // spot_market_ids_scheduled_to_force_close defines the scheduled markets for forced closings at genesis SpotMarketIdsScheduledToForceClose []string `protobuf:"bytes,28,rep,name=spot_market_ids_scheduled_to_force_close,json=spotMarketIdsScheduledToForceClose,proto3" json:"spot_market_ids_scheduled_to_force_close,omitempty"` + // denom_decimals defines the denom decimals for the exchange. + DenomDecimals []DenomDecimals `protobuf:"bytes,29,rep,name=denom_decimals,json=denomDecimals,proto3" json:"denom_decimals"` } func (m *GenesisState) Reset() { *m = GenesisState{} } @@ -312,6 +314,13 @@ func (m *GenesisState) GetSpotMarketIdsScheduledToForceClose() []string { return nil } +func (m *GenesisState) GetDenomDecimals() []DenomDecimals { + if m != nil { + return m.DenomDecimals + } + return nil +} + type FeeDiscountAccountTierTTL struct { Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` TierTtl *FeeDiscountTierTTL `protobuf:"bytes,2,opt,name=tier_ttl,json=tierTtl,proto3" json:"tier_ttl,omitempty"` @@ -883,104 +892,106 @@ func init() { } var fileDescriptor_c47ec6b98758ed05 = []byte{ - // 1547 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xcd, 0x6f, 0x1b, 0x45, - 0x14, 0xcf, 0x36, 0x6d, 0xe2, 0xbc, 0x7c, 0x94, 0x4e, 0xbe, 0x36, 0x1f, 0x24, 0xc1, 0x81, 0xe0, - 0x40, 0x6b, 0xb7, 0x29, 0x55, 0x51, 0xf9, 0x2a, 0x6e, 0x62, 0x88, 0x14, 0xda, 0x68, 0x63, 0xf5, - 0x50, 0x0e, 0xab, 0xf5, 0xee, 0xd8, 0x1e, 0xe2, 0xdd, 0x59, 0x76, 0xc6, 0x69, 0x73, 0xab, 0x38, - 0x54, 0xe5, 0x54, 0x40, 0x42, 0xe2, 0x58, 0x21, 0x0e, 0x70, 0xe1, 0xef, 0xe8, 0xb1, 0xdc, 0x10, - 0x87, 0x0a, 0xb5, 0x17, 0xfe, 0x0c, 0xb4, 0xb3, 0xb3, 0x1f, 0xfe, 0x5a, 0x3b, 0x81, 0x53, 0xbc, - 0x33, 0xef, 0xfd, 0x7e, 0xbf, 0x99, 0x79, 0xef, 0xcd, 0xbc, 0x40, 0x8e, 0x38, 0x5f, 0x61, 0x93, - 0x93, 0x23, 0x5c, 0xc0, 0x0f, 0xcc, 0xba, 0xe1, 0xd4, 0x70, 0xe1, 0xe8, 0x4a, 0x05, 0x73, 0xe3, - 0x4a, 0xa1, 0x86, 0x1d, 0xcc, 0x08, 0xcb, 0xbb, 0x1e, 0xe5, 0x14, 0x2d, 0x46, 0x96, 0xf9, 0xd0, - 0x32, 0x2f, 0x2d, 0x17, 0x37, 0x53, 0x50, 0x22, 0x63, 0x01, 0xb3, 0x38, 0x53, 0xa3, 0x35, 0x2a, - 0x7e, 0x16, 0xfc, 0x5f, 0xc1, 0x68, 0xf6, 0xe1, 0x3c, 0x4c, 0x7c, 0x16, 0xd0, 0x1d, 0x70, 0x83, - 0x63, 0x74, 0x13, 0x46, 0x5c, 0xc3, 0x33, 0x6c, 0xa6, 0x2a, 0x6b, 0x4a, 0x6e, 0x7c, 0x2b, 0x9b, - 0xef, 0x4d, 0x9f, 0xdf, 0x17, 0x96, 0xc5, 0xb3, 0xcf, 0x5e, 0xac, 0x0e, 0x69, 0xd2, 0x0f, 0xed, - 0xc2, 0x04, 0x73, 0x29, 0xd7, 0x6d, 0xc3, 0x3b, 0xc4, 0x9c, 0xa9, 0x67, 0xd6, 0x86, 0x73, 0xe3, - 0x5b, 0x1b, 0x69, 0x38, 0x07, 0x2e, 0xe5, 0x5f, 0x08, 0x73, 0x6d, 0x9c, 0x45, 0xbf, 0x19, 0xfa, - 0x12, 0x90, 0x85, 0x3d, 0x72, 0x64, 0xf8, 0x6e, 0x11, 0xe0, 0xb0, 0x00, 0xbc, 0x98, 0x06, 0xb8, - 0x1d, 0x79, 0x49, 0xd8, 0x0b, 0x56, 0xdb, 0x08, 0x43, 0x77, 0x61, 0x4a, 0xe8, 0xa4, 0x9e, 0x85, - 0xbd, 0x0a, 0xa5, 0x87, 0xea, 0x59, 0x01, 0xbc, 0xd9, 0x4f, 0xe9, 0x1d, 0xdf, 0xa1, 0x48, 0xe9, - 0xa1, 0x5c, 0xf8, 0x24, 0x0b, 0x07, 0x7d, 0x14, 0x54, 0x87, 0x99, 0x84, 0xe8, 0x18, 0xfd, 0x9c, - 0x40, 0x2f, 0x0c, 0x26, 0xbb, 0x9d, 0x63, 0xda, 0x6a, 0x9d, 0x12, 0x4c, 0x3b, 0x90, 0xa9, 0x18, - 0x0d, 0xc3, 0x31, 0x31, 0x53, 0x47, 0x04, 0xfa, 0x7a, 0x1a, 0x7a, 0x31, 0xb0, 0x95, 0x88, 0x91, - 0x2b, 0xd2, 0x60, 0xcc, 0xa5, 0x8c, 0x70, 0x42, 0x1d, 0xa6, 0x8e, 0x0a, 0x9c, 0xfc, 0x60, 0x2a, - 0xf7, 0xa5, 0x9b, 0x84, 0x8c, 0x61, 0x10, 0x81, 0x79, 0xd6, 0xac, 0x18, 0xa6, 0x49, 0x9b, 0x0e, - 0xd7, 0xb9, 0x67, 0x58, 0x58, 0x77, 0xa8, 0x50, 0x9a, 0x11, 0x0c, 0xef, 0xa6, 0xee, 0x72, 0xe4, - 0x7a, 0x9b, 0xc6, 0x8a, 0x67, 0x63, 0xc4, 0xb2, 0x0f, 0x28, 0xe6, 0x18, 0x7a, 0xa4, 0xc0, 0x1a, - 0x7e, 0xe0, 0x12, 0xef, 0x58, 0xaf, 0x36, 0x79, 0xd3, 0xc3, 0x4c, 0x46, 0x8a, 0x4e, 0x9c, 0x2a, - 0xd5, 0x99, 0x1f, 0xd6, 0xea, 0x98, 0x20, 0x7d, 0x3f, 0x8d, 0x74, 0x47, 0x60, 0x94, 0x02, 0x88, - 0x20, 0x48, 0x76, 0x9d, 0x2a, 0x15, 0x69, 0x21, 0x15, 0x2c, 0xe3, 0x14, 0x1b, 0x44, 0x60, 0xd6, - 0xc5, 0x9e, 0x8b, 0x79, 0xd3, 0x68, 0x24, 0x25, 0xa8, 0xd0, 0xff, 0xe4, 0xf7, 0x43, 0xc7, 0x18, - 0x34, 0x3c, 0x79, 0xb7, 0x73, 0x0a, 0x7d, 0xa3, 0xc0, 0x4a, 0x07, 0x57, 0xb5, 0xe9, 0x58, 0xc4, - 0xa9, 0xc9, 0x15, 0x8f, 0x0b, 0xd2, 0xeb, 0x27, 0x20, 0x2d, 0x05, 0xfe, 0xc9, 0x05, 0x2f, 0xb9, - 0xbd, 0x4d, 0xd0, 0x8f, 0x0a, 0x6c, 0x74, 0xa4, 0xa7, 0xce, 0x30, 0xe7, 0x0d, 0x6c, 0x63, 0x87, - 0xeb, 0xcc, 0xac, 0x63, 0xab, 0xd9, 0xc0, 0x96, 0x3a, 0x21, 0xc4, 0xdc, 0x38, 0x49, 0xca, 0x1e, - 0x44, 0x38, 0x89, 0xcd, 0x58, 0xb7, 0x7a, 0x5a, 0x1d, 0x84, 0x64, 0xe8, 0x3a, 0xa8, 0x84, 0xe9, - 0x22, 0xb7, 0x43, 0x16, 0x1d, 0x3b, 0x46, 0xc5, 0x17, 0x32, 0xb9, 0xa6, 0xe4, 0x32, 0xda, 0x2c, - 0x61, 0x7e, 0x22, 0xef, 0xc8, 0xd9, 0x9d, 0x60, 0x12, 0xed, 0xc0, 0x2a, 0x61, 0x7a, 0x4c, 0xc1, - 0x3a, 0xfd, 0xa7, 0x84, 0xff, 0x32, 0x61, 0xb1, 0x5c, 0xd6, 0x0e, 0x73, 0x04, 0xcb, 0x7e, 0xc0, - 0xfb, 0x47, 0xe1, 0xe1, 0xfb, 0x86, 0x67, 0xe9, 0xa6, 0x61, 0xbb, 0x06, 0xa9, 0x39, 0x41, 0x38, - 0x9c, 0x17, 0x85, 0xf5, 0x5a, 0xda, 0x66, 0x94, 0x03, 0x7f, 0x4d, 0xb8, 0xdf, 0x92, 0xde, 0xfe, - 0x3e, 0x68, 0x0b, 0xbc, 0xd7, 0x14, 0x7a, 0xa8, 0xc0, 0x5b, 0x6d, 0xc4, 0x2e, 0xa5, 0x8d, 0x98, - 0x3d, 0x3c, 0x0f, 0xf5, 0xb5, 0xfe, 0x49, 0x1e, 0x22, 0x07, 0x3c, 0xfb, 0x94, 0x36, 0xb4, 0x37, - 0x5a, 0xa8, 0xfd, 0xa1, 0xd0, 0x28, 0xdc, 0x7b, 0xf4, 0x83, 0x02, 0x1b, 0xbd, 0xd6, 0x1e, 0x16, - 0x03, 0x97, 0x12, 0x87, 0x33, 0xf5, 0x82, 0xd0, 0xf0, 0xf1, 0x89, 0x77, 0xe1, 0xd3, 0x00, 0x66, - 0x5f, 0xa0, 0x68, 0x59, 0xde, 0xd7, 0x06, 0x99, 0x30, 0x5b, 0xc5, 0x58, 0xb7, 0x08, 0x0b, 0x04, - 0x44, 0xdb, 0x80, 0xc4, 0x41, 0xa4, 0xe6, 0x65, 0x09, 0xe3, 0x6d, 0xe9, 0x17, 0x2e, 0x52, 0x9b, - 0xae, 0x76, 0x0e, 0xa2, 0xfb, 0xf0, 0x7a, 0x0b, 0x49, 0x54, 0xfa, 0x08, 0xf6, 0x74, 0xce, 0x1b, - 0xea, 0xb4, 0x58, 0xef, 0xb5, 0x01, 0xc9, 0xe4, 0x0a, 0xca, 0x04, 0x7b, 0xe5, 0xf2, 0x9e, 0xb6, - 0x50, 0xed, 0x3e, 0xc5, 0x1b, 0xe8, 0x5b, 0x05, 0xd6, 0x5b, 0x98, 0x2b, 0x4d, 0xd3, 0xcf, 0xc3, - 0x23, 0xda, 0x68, 0xda, 0x38, 0xd4, 0xc1, 0xd4, 0x19, 0xc1, 0xff, 0xc1, 0x80, 0xfc, 0x45, 0x01, - 0x72, 0x57, 0x60, 0x48, 0x42, 0xa6, 0xad, 0x56, 0xd3, 0x0d, 0xd0, 0x87, 0xb0, 0x44, 0x98, 0x5e, - 0x25, 0x1e, 0xe3, 0xba, 0xaf, 0xc9, 0x3c, 0x36, 0x1b, 0x58, 0xaf, 0x12, 0x87, 0xb0, 0x3a, 0xb6, - 0xd4, 0x59, 0x91, 0x3c, 0xf3, 0x84, 0x95, 0x7c, 0x8b, 0x12, 0xc6, 0xb7, 0xfc, 0xf9, 0x92, 0x9c, - 0x46, 0x4f, 0x14, 0xb8, 0xe4, 0xe2, 0xa0, 0x86, 0x0d, 0x16, 0xc7, 0x73, 0xa7, 0x8a, 0xe3, 0x9c, - 0x24, 0x29, 0xf7, 0x0d, 0xe7, 0x5f, 0x15, 0xc8, 0xf7, 0x50, 0xd4, 0x2b, 0xac, 0xe7, 0x85, 0xa4, - 0x9d, 0x53, 0x87, 0x75, 0xc0, 0x26, 0xa3, 0x7b, 0xb3, 0x9b, 0xd2, 0xee, 0x41, 0xfe, 0x36, 0x9c, - 0xf7, 0x70, 0x8d, 0x30, 0x8e, 0x3d, 0x6c, 0xe9, 0x96, 0x6d, 0x33, 0x55, 0x5d, 0x1b, 0xce, 0x8d, - 0x69, 0x53, 0xf1, 0xf0, 0xb6, 0x6d, 0x33, 0x54, 0x01, 0xb5, 0x4e, 0x18, 0xa7, 0x1e, 0x31, 0x8d, - 0x86, 0xbc, 0x99, 0x3d, 0x6c, 0x52, 0xcf, 0x62, 0xea, 0x82, 0x10, 0x9f, 0xeb, 0x27, 0x1e, 0x6b, - 0x81, 0xbd, 0x36, 0x17, 0x23, 0x25, 0xc7, 0x11, 0x86, 0xb9, 0x0a, 0x71, 0x0c, 0xef, 0x58, 0xa7, - 0xae, 0x78, 0x0f, 0x44, 0x6f, 0xb7, 0xc5, 0xfe, 0x57, 0x61, 0x51, 0x78, 0xde, 0x09, 0x1c, 0xe5, - 0xf3, 0x6d, 0xa6, 0xd2, 0x39, 0xc8, 0x50, 0x1d, 0xb6, 0xba, 0xd2, 0xe8, 0xc4, 0x62, 0xf1, 0xe5, - 0xa3, 0x57, 0xa9, 0x97, 0xb8, 0x95, 0xd4, 0x25, 0xb1, 0x2d, 0x17, 0xbb, 0x20, 0xee, 0x5a, 0x2c, - 0xba, 0x45, 0x4a, 0xd4, 0x8b, 0xef, 0x16, 0x74, 0x0f, 0x72, 0x89, 0x37, 0x6d, 0x1b, 0x3e, 0xa7, - 0x3e, 0x85, 0x89, 0x75, 0xb3, 0x41, 0x19, 0x56, 0x97, 0x7d, 0x7c, 0x79, 0x5f, 0x65, 0xe3, 0xd7, - 0x6c, 0x12, 0xbc, 0x4c, 0x4b, 0xbe, 0xc3, 0x2d, 0xdf, 0x3e, 0xfb, 0x50, 0x81, 0x85, 0x9e, 0x99, - 0x8f, 0x54, 0x18, 0x95, 0x11, 0x26, 0x1e, 0xe4, 0x63, 0x5a, 0xf8, 0x89, 0x76, 0x21, 0x13, 0x15, - 0x97, 0x33, 0xa2, 0x92, 0xe5, 0x07, 0x4c, 0xee, 0xb0, 0xaa, 0x8c, 0xf2, 0xa0, 0x86, 0x64, 0x7f, - 0x53, 0x60, 0xb5, 0x4f, 0xf2, 0xa3, 0xf7, 0x60, 0x4e, 0x56, 0x16, 0xc6, 0x0d, 0xcf, 0x2f, 0x6c, - 0x36, 0x66, 0xdc, 0xb0, 0x5d, 0xa1, 0x6b, 0x58, 0x9b, 0x09, 0x66, 0x0f, 0xfc, 0xc9, 0x72, 0x38, - 0x87, 0xf6, 0x61, 0x2a, 0x4c, 0x90, 0xa0, 0x20, 0xc9, 0x76, 0x20, 0xf5, 0x91, 0x2d, 0x39, 0x03, - 0x01, 0xda, 0xa4, 0x91, 0xfc, 0xcc, 0x7e, 0x0d, 0x93, 0x2d, 0xf3, 0x29, 0x3b, 0x54, 0x82, 0x91, - 0x88, 0x54, 0xc9, 0x8d, 0x15, 0xf3, 0xfe, 0x99, 0xfc, 0xf5, 0x62, 0x75, 0xa3, 0x46, 0x78, 0xbd, - 0x59, 0xc9, 0x9b, 0xd4, 0x2e, 0x98, 0x94, 0xd9, 0x94, 0xc9, 0x3f, 0x97, 0x98, 0x75, 0x58, 0xe0, - 0xc7, 0x2e, 0x66, 0xf9, 0x6d, 0x6c, 0x6a, 0xd2, 0x3b, 0xfb, 0x48, 0x81, 0xec, 0x00, 0x29, 0x98, - 0x2a, 0x44, 0x96, 0x87, 0x53, 0x0a, 0x09, 0xbc, 0xb3, 0x7f, 0x28, 0xb0, 0x39, 0x70, 0xf5, 0x40, - 0x1f, 0xc1, 0x52, 0xb2, 0x7c, 0x76, 0x3f, 0x36, 0xd5, 0x8b, 0xca, 0x5f, 0xdb, 0xd1, 0xe1, 0xf8, - 0xe8, 0x22, 0xf1, 0xff, 0xc7, 0x95, 0x1d, 0x9e, 0x67, 0xf0, 0x99, 0xfd, 0x49, 0x81, 0xc9, 0x96, - 0xae, 0x0a, 0x2d, 0xc1, 0x58, 0x94, 0x67, 0x72, 0x27, 0x33, 0xb6, 0xcc, 0x21, 0xb4, 0x0c, 0x63, - 0x84, 0x15, 0x9b, 0xc7, 0x07, 0xc4, 0x0a, 0x8e, 0x35, 0xa3, 0xc5, 0x03, 0xa8, 0x08, 0x23, 0xa2, - 0xe1, 0x0a, 0x9b, 0xc4, 0x77, 0xfa, 0xf5, 0x72, 0x7b, 0xc4, 0x26, 0x01, 0xb5, 0x26, 0x3d, 0x6f, - 0x64, 0x1e, 0x3f, 0x5d, 0x1d, 0xfa, 0xe7, 0xe9, 0xea, 0x50, 0xf6, 0x17, 0x05, 0xa6, 0xbb, 0xb4, - 0x64, 0xff, 0x45, 0xe0, 0xe7, 0x6d, 0x02, 0x2f, 0x0f, 0xf6, 0x24, 0x4e, 0x95, 0xf9, 0x44, 0x81, - 0x51, 0xd9, 0xdb, 0xa1, 0x75, 0x98, 0x4c, 0xf4, 0x5d, 0x91, 0xbc, 0x89, 0x78, 0x70, 0xd7, 0x42, - 0x33, 0x70, 0xce, 0xc2, 0x0e, 0xb5, 0x83, 0x68, 0xd4, 0x82, 0x0f, 0xf4, 0x09, 0x64, 0x2c, 0x2c, - 0x3a, 0x38, 0x5f, 0x9c, 0xd2, 0xaf, 0x9b, 0xdc, 0x0e, 0x6c, 0xb5, 0xc8, 0x29, 0xa1, 0xe8, 0x67, - 0x05, 0x50, 0x67, 0x97, 0x38, 0x98, 0xb8, 0x96, 0xcd, 0x3d, 0xd3, 0xb6, 0xb9, 0x37, 0x21, 0x13, - 0xf6, 0x98, 0x52, 0xe3, 0x9b, 0xa9, 0x0d, 0x8e, 0xb4, 0xd5, 0x22, 0xaf, 0x84, 0xc8, 0xdf, 0x15, - 0x38, 0xdf, 0xd6, 0x68, 0x0e, 0xa6, 0xb0, 0x01, 0x73, 0xdd, 0x7b, 0x5b, 0x59, 0x86, 0x2f, 0x0f, - 0xd6, 0xda, 0xc6, 0x3d, 0xac, 0xbc, 0x2c, 0x66, 0xba, 0xf5, 0xb7, 0x09, 0xc1, 0xdf, 0x2b, 0xb0, - 0x9c, 0xd6, 0xa4, 0xa6, 0xc7, 0x65, 0x19, 0xc6, 0x93, 0x3d, 0x69, 0x20, 0xf5, 0xea, 0x29, 0x1a, - 0x62, 0x0d, 0xec, 0xe8, 0x77, 0xf6, 0xb1, 0x02, 0x4b, 0x29, 0x6d, 0x64, 0xba, 0xa4, 0x3d, 0x18, - 0x95, 0x3d, 0xab, 0x94, 0xb3, 0x75, 0xf2, 0x6e, 0x55, 0x0b, 0x21, 0x8a, 0xf5, 0x67, 0x2f, 0x57, - 0x94, 0xe7, 0x2f, 0x57, 0x94, 0xbf, 0x5f, 0xae, 0x28, 0xdf, 0xbd, 0x5a, 0x19, 0x7a, 0xfe, 0x6a, - 0x65, 0xe8, 0xcf, 0x57, 0x2b, 0x43, 0xf7, 0x6e, 0x27, 0xca, 0xec, 0x6e, 0x48, 0xb0, 0x67, 0x54, - 0x58, 0x21, 0xa2, 0xbb, 0x64, 0x52, 0x0f, 0x27, 0x3f, 0xeb, 0x06, 0x71, 0x0a, 0x36, 0xf5, 0xaf, - 0x6b, 0x16, 0xff, 0x6f, 0x4d, 0x94, 0xe4, 0xca, 0x88, 0xf8, 0xdf, 0xd9, 0xd5, 0x7f, 0x03, 0x00, - 0x00, 0xff, 0xff, 0x56, 0x6e, 0xa7, 0x34, 0xc4, 0x13, 0x00, 0x00, + // 1584 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x4b, 0x6f, 0xdb, 0xc6, + 0x16, 0x36, 0xe3, 0xc4, 0x96, 0x8f, 0x1f, 0xb9, 0x19, 0xbf, 0xe8, 0x47, 0x6c, 0x5f, 0xf9, 0x5e, + 0x57, 0x6e, 0x13, 0x29, 0x71, 0x1a, 0xa4, 0x48, 0x5f, 0xa9, 0x62, 0xab, 0x35, 0xe0, 0x26, 0x06, + 0x2d, 0x64, 0x91, 0x2e, 0x08, 0x8a, 0x1c, 0x49, 0x53, 0x93, 0x1c, 0x96, 0x33, 0x72, 0xe2, 0x5d, + 0xd0, 0x45, 0x90, 0xae, 0xd2, 0x16, 0x28, 0xd0, 0x65, 0x50, 0x74, 0xd1, 0x6e, 0xfa, 0x3b, 0xb2, + 0x4c, 0x77, 0x41, 0x17, 0x41, 0x91, 0x6c, 0xfa, 0x33, 0x0a, 0x0e, 0x87, 0x0f, 0xcb, 0x12, 0x25, + 0xbb, 0x5d, 0x59, 0x9c, 0x39, 0xe7, 0xfb, 0xbe, 0x39, 0x73, 0xe6, 0xcc, 0x1c, 0x43, 0x81, 0xb8, + 0x5f, 0x62, 0x93, 0x93, 0x03, 0x5c, 0xc2, 0x0f, 0xcd, 0xa6, 0xe1, 0x36, 0x70, 0xe9, 0xe0, 0x6a, + 0x0d, 0x73, 0xe3, 0x6a, 0xa9, 0x81, 0x5d, 0xcc, 0x08, 0x2b, 0x7a, 0x3e, 0xe5, 0x14, 0xcd, 0xc7, + 0x96, 0xc5, 0xc8, 0xb2, 0x28, 0x2d, 0xe7, 0xd7, 0x33, 0x50, 0x62, 0x63, 0x01, 0x33, 0xbf, 0x9a, + 0x61, 0xca, 0x1f, 0x4a, 0xa3, 0xa9, 0x06, 0x6d, 0x50, 0xf1, 0xb3, 0x14, 0xfc, 0x0a, 0x47, 0xf3, + 0x2f, 0x67, 0x61, 0xec, 0xd3, 0x50, 0xd3, 0x1e, 0x37, 0x38, 0x46, 0xb7, 0x60, 0xc8, 0x33, 0x7c, + 0xc3, 0x61, 0xaa, 0xb2, 0xa2, 0x14, 0x46, 0x37, 0xf2, 0xc5, 0xee, 0x1a, 0x8b, 0xbb, 0xc2, 0xb2, + 0x7c, 0xf6, 0xf9, 0xab, 0xe5, 0x01, 0x4d, 0xfa, 0xa1, 0x6d, 0x18, 0x63, 0x1e, 0xe5, 0xba, 0x63, + 0xf8, 0xfb, 0x98, 0x33, 0xf5, 0xcc, 0xca, 0x60, 0x61, 0x74, 0x63, 0x2d, 0x0b, 0x67, 0xcf, 0xa3, + 0xfc, 0x73, 0x61, 0xae, 0x8d, 0xb2, 0xf8, 0x37, 0x43, 0x5f, 0x00, 0xb2, 0xb0, 0x4f, 0x0e, 0x8c, + 0xc0, 0x2d, 0x06, 0x1c, 0x14, 0x80, 0x97, 0xb2, 0x00, 0x37, 0x63, 0x2f, 0x09, 0x7b, 0xc1, 0x6a, + 0x1b, 0x61, 0xe8, 0x1e, 0x4c, 0x08, 0x9d, 0xd4, 0xb7, 0xb0, 0x5f, 0xa3, 0x74, 0x5f, 0x3d, 0x2b, + 0x80, 0xd7, 0x7b, 0x29, 0xbd, 0x1b, 0x38, 0x94, 0x29, 0xdd, 0x97, 0x0b, 0x1f, 0x67, 0xd1, 0x60, + 0x80, 0x82, 0x9a, 0x30, 0x95, 0x12, 0x9d, 0xa0, 0x9f, 0x13, 0xe8, 0xa5, 0xfe, 0x64, 0xb7, 0x73, + 0x4c, 0x5a, 0x47, 0xa7, 0x04, 0xd3, 0x16, 0xe4, 0x6a, 0x86, 0x6d, 0xb8, 0x26, 0x66, 0xea, 0x90, + 0x40, 0x5f, 0xcd, 0x42, 0x2f, 0x87, 0xb6, 0x12, 0x31, 0x76, 0x45, 0x1a, 0x8c, 0x78, 0x94, 0x11, + 0x4e, 0xa8, 0xcb, 0xd4, 0x61, 0x81, 0x53, 0xec, 0x4f, 0xe5, 0xae, 0x74, 0x93, 0x90, 0x09, 0x0c, + 0x22, 0x30, 0xcb, 0x5a, 0x35, 0xc3, 0x34, 0x69, 0xcb, 0xe5, 0x3a, 0xf7, 0x0d, 0x0b, 0xeb, 0x2e, + 0x15, 0x4a, 0x73, 0x82, 0xe1, 0x9d, 0xcc, 0x28, 0xc7, 0xae, 0x77, 0x68, 0xa2, 0x78, 0x3a, 0x41, + 0xac, 0x06, 0x80, 0x62, 0x8e, 0xa1, 0xc7, 0x0a, 0xac, 0xe0, 0x87, 0x1e, 0xf1, 0x0f, 0xf5, 0x7a, + 0x8b, 0xb7, 0x7c, 0xcc, 0x64, 0xa6, 0xe8, 0xc4, 0xad, 0x53, 0x9d, 0x05, 0x69, 0xad, 0x8e, 0x08, + 0xd2, 0xf7, 0xb2, 0x48, 0xb7, 0x04, 0x46, 0x25, 0x84, 0x08, 0x93, 0x64, 0xdb, 0xad, 0x53, 0x71, + 0x2c, 0xa4, 0x82, 0x45, 0x9c, 0x61, 0x83, 0x08, 0x4c, 0x7b, 0xd8, 0xf7, 0x30, 0x6f, 0x19, 0x76, + 0x5a, 0x82, 0x0a, 0xbd, 0x77, 0x7e, 0x37, 0x72, 0x4c, 0x40, 0xa3, 0x9d, 0xf7, 0x8e, 0x4f, 0xa1, + 0xaf, 0x15, 0x58, 0x3a, 0xc6, 0x55, 0x6f, 0xb9, 0x16, 0x71, 0x1b, 0x72, 0xc5, 0xa3, 0x82, 0xf4, + 0xc6, 0x09, 0x48, 0x2b, 0xa1, 0x7f, 0x7a, 0xc1, 0x0b, 0x5e, 0x77, 0x13, 0xf4, 0x83, 0x02, 0x6b, + 0xc7, 0x8e, 0xa7, 0xce, 0x30, 0xe7, 0x36, 0x76, 0xb0, 0xcb, 0x75, 0x66, 0x36, 0xb1, 0xd5, 0xb2, + 0xb1, 0xa5, 0x8e, 0x09, 0x31, 0x37, 0x4f, 0x72, 0x64, 0xf7, 0x62, 0x9c, 0x54, 0x30, 0x56, 0xad, + 0xae, 0x56, 0x7b, 0x11, 0x19, 0xba, 0x01, 0x2a, 0x61, 0xba, 0x38, 0xdb, 0x11, 0x8b, 0x8e, 0x5d, + 0xa3, 0x16, 0x08, 0x19, 0x5f, 0x51, 0x0a, 0x39, 0x6d, 0x9a, 0xb0, 0xe0, 0x20, 0x6f, 0xc9, 0xd9, + 0xad, 0x70, 0x12, 0x6d, 0xc1, 0x32, 0x61, 0x7a, 0x42, 0xc1, 0x8e, 0xfb, 0x4f, 0x08, 0xff, 0x45, + 0xc2, 0x12, 0xb9, 0xac, 0x1d, 0xe6, 0x00, 0x16, 0x83, 0x84, 0x0f, 0xb6, 0xc2, 0xc7, 0x0f, 0x0c, + 0xdf, 0xd2, 0x4d, 0xc3, 0xf1, 0x0c, 0xd2, 0x70, 0xc3, 0x74, 0x38, 0x2f, 0x0a, 0xeb, 0xf5, 0xac, + 0x60, 0x54, 0x43, 0x7f, 0x4d, 0xb8, 0xdf, 0x96, 0xde, 0x41, 0x1c, 0xb4, 0x39, 0xde, 0x6d, 0x0a, + 0x3d, 0x52, 0xe0, 0xff, 0x6d, 0xc4, 0x1e, 0xa5, 0x76, 0xc2, 0x1e, 0xed, 0x87, 0xfa, 0x9f, 0xde, + 0x87, 0x3c, 0x42, 0x0e, 0x79, 0x76, 0x29, 0xb5, 0xb5, 0xff, 0x1e, 0xa1, 0x0e, 0x86, 0x22, 0xa3, + 0x28, 0xf6, 0xe8, 0x7b, 0x05, 0xd6, 0xba, 0xad, 0x3d, 0x2a, 0x06, 0x1e, 0x25, 0x2e, 0x67, 0xea, + 0x05, 0xa1, 0xe1, 0xa3, 0x13, 0x47, 0xe1, 0x93, 0x10, 0x66, 0x57, 0xa0, 0x68, 0x79, 0xde, 0xd3, + 0x06, 0x99, 0x30, 0x5d, 0xc7, 0x58, 0xb7, 0x08, 0x0b, 0x05, 0xc4, 0x61, 0x40, 0x62, 0x23, 0x32, + 0xcf, 0x65, 0x05, 0xe3, 0x4d, 0xe9, 0x17, 0x2d, 0x52, 0x9b, 0xac, 0x1f, 0x1f, 0x44, 0x0f, 0xe0, + 0xe2, 0x11, 0x92, 0xb8, 0xf4, 0x11, 0xec, 0xeb, 0x9c, 0xdb, 0xea, 0xa4, 0x58, 0xef, 0xf5, 0x3e, + 0xc9, 0xe4, 0x0a, 0xaa, 0x04, 0xfb, 0xd5, 0xea, 0x8e, 0x36, 0x57, 0xef, 0x3c, 0xc5, 0x6d, 0xf4, + 0x8d, 0x02, 0xab, 0x47, 0x98, 0x6b, 0x2d, 0x33, 0x38, 0x87, 0x07, 0xd4, 0x6e, 0x39, 0x38, 0xd2, + 0xc1, 0xd4, 0x29, 0xc1, 0xff, 0x7e, 0x9f, 0xfc, 0x65, 0x01, 0x72, 0x4f, 0x60, 0x48, 0x42, 0xa6, + 0x2d, 0xd7, 0xb3, 0x0d, 0xd0, 0x07, 0xb0, 0x40, 0x98, 0x5e, 0x27, 0x3e, 0xe3, 0x7a, 0xa0, 0xc9, + 0x3c, 0x34, 0x6d, 0xac, 0xd7, 0x89, 0x4b, 0x58, 0x13, 0x5b, 0xea, 0xb4, 0x38, 0x3c, 0xb3, 0x84, + 0x55, 0x02, 0x8b, 0x0a, 0xc6, 0xb7, 0x83, 0xf9, 0x8a, 0x9c, 0x46, 0x4f, 0x15, 0xb8, 0xec, 0xe1, + 0xb0, 0x86, 0xf5, 0x97, 0xc7, 0x33, 0xa7, 0xca, 0xe3, 0x82, 0x24, 0xa9, 0xf6, 0x4c, 0xe7, 0x5f, + 0x14, 0x28, 0x76, 0x51, 0xd4, 0x2d, 0xad, 0x67, 0x85, 0xa4, 0xad, 0x53, 0xa7, 0x75, 0xc8, 0x26, + 0xb3, 0x7b, 0xbd, 0x93, 0xd2, 0xce, 0x49, 0xfe, 0x16, 0x9c, 0xf7, 0x71, 0x83, 0x30, 0x8e, 0x7d, + 0x6c, 0xe9, 0x96, 0xe3, 0x30, 0x55, 0x5d, 0x19, 0x2c, 0x8c, 0x68, 0x13, 0xc9, 0xf0, 0xa6, 0xe3, + 0x30, 0x54, 0x03, 0xb5, 0x49, 0x18, 0xa7, 0x3e, 0x31, 0x0d, 0x5b, 0xde, 0xcc, 0x3e, 0x36, 0xa9, + 0x6f, 0x31, 0x75, 0x4e, 0x88, 0x2f, 0xf4, 0x12, 0x8f, 0xb5, 0xd0, 0x5e, 0x9b, 0x49, 0x90, 0xd2, + 0xe3, 0x08, 0xc3, 0x4c, 0x8d, 0xb8, 0x86, 0x7f, 0xa8, 0x53, 0x4f, 0xbc, 0x07, 0xe2, 0xb7, 0xdb, + 0x7c, 0xef, 0xab, 0xb0, 0x2c, 0x3c, 0xef, 0x86, 0x8e, 0xf2, 0xf9, 0x36, 0x55, 0x3b, 0x3e, 0xc8, + 0x50, 0x13, 0x36, 0x3a, 0xd2, 0xe8, 0xc4, 0x62, 0xc9, 0xe5, 0xa3, 0xd7, 0xa9, 0x9f, 0xba, 0x95, + 0xd4, 0x05, 0x11, 0x96, 0x4b, 0x1d, 0x10, 0xb7, 0x2d, 0x16, 0xdf, 0x22, 0x15, 0xea, 0x27, 0x77, + 0x0b, 0xba, 0x0f, 0x85, 0xd4, 0x9b, 0xb6, 0x0d, 0x9f, 0xd3, 0x80, 0xc2, 0xc4, 0xba, 0x69, 0x53, + 0x86, 0xd5, 0xc5, 0x00, 0x5f, 0xde, 0x57, 0xf9, 0xe4, 0x35, 0x9b, 0x06, 0xaf, 0xd2, 0x4a, 0xe0, + 0x70, 0x3b, 0xb0, 0x0f, 0xde, 0xa1, 0x16, 0x76, 0xa9, 0xa3, 0x5b, 0xd8, 0x24, 0x8e, 0x61, 0x33, + 0xf5, 0x62, 0xef, 0x77, 0xe8, 0x66, 0xe0, 0xb1, 0x29, 0x1d, 0xa2, 0x77, 0xa8, 0x95, 0x1e, 0xcc, + 0x3f, 0x52, 0x60, 0xae, 0x6b, 0x45, 0x41, 0x2a, 0x0c, 0xcb, 0xcc, 0x15, 0x0f, 0xfd, 0x11, 0x2d, + 0xfa, 0x44, 0xdb, 0x90, 0x8b, 0x8b, 0xd6, 0x19, 0x51, 0x21, 0x8b, 0x7d, 0x16, 0x8d, 0xa8, 0x5a, + 0x0d, 0xf3, 0xb0, 0x36, 0xe5, 0x7f, 0x55, 0x60, 0xb9, 0x47, 0x51, 0x41, 0xef, 0xc2, 0x8c, 0xac, + 0x58, 0x8c, 0x1b, 0x7e, 0x50, 0x30, 0x1d, 0xcc, 0xb8, 0xe1, 0x78, 0x42, 0xd7, 0xa0, 0x36, 0x15, + 0xce, 0xee, 0x05, 0x93, 0xd5, 0x68, 0x0e, 0xed, 0xc2, 0x44, 0x74, 0xf0, 0xc2, 0x42, 0x27, 0xdb, + 0x8c, 0xcc, 0xa0, 0x49, 0xce, 0x50, 0x80, 0x36, 0x6e, 0xa4, 0x3f, 0xf3, 0x5f, 0xc1, 0xf8, 0x91, + 0xf9, 0x8c, 0x08, 0x55, 0x60, 0x28, 0x26, 0x55, 0x0a, 0x23, 0xe5, 0x62, 0x10, 0xfe, 0x3f, 0x5e, + 0x2d, 0xaf, 0x35, 0x08, 0x6f, 0xb6, 0x6a, 0x45, 0x93, 0x3a, 0x25, 0x93, 0x32, 0x87, 0x32, 0xf9, + 0xe7, 0x32, 0xb3, 0xf6, 0x4b, 0xfc, 0xd0, 0xc3, 0xac, 0xb8, 0x89, 0x4d, 0x4d, 0x7a, 0xe7, 0x1f, + 0x2b, 0x90, 0xef, 0xe3, 0x68, 0x67, 0x0a, 0x91, 0x65, 0xe7, 0x94, 0x42, 0x42, 0xef, 0xfc, 0xef, + 0x0a, 0xac, 0xf7, 0x5d, 0x95, 0xd0, 0x87, 0xb0, 0x90, 0x2e, 0xcb, 0x9d, 0xb7, 0x4d, 0xf5, 0xe3, + 0xb2, 0xda, 0xb6, 0x75, 0x38, 0xd9, 0xba, 0x58, 0xfc, 0xbf, 0xf1, 0x14, 0x88, 0xf6, 0x33, 0xfc, + 0xcc, 0xff, 0xa8, 0xc0, 0xf8, 0x91, 0x6e, 0x0d, 0x2d, 0xc0, 0x48, 0x7c, 0x7e, 0x65, 0x24, 0x73, + 0x8e, 0x3c, 0x9b, 0x68, 0x11, 0x46, 0x08, 0x2b, 0xb7, 0x0e, 0xf7, 0x88, 0x15, 0x6e, 0x6b, 0x4e, + 0x4b, 0x06, 0x50, 0x19, 0x86, 0x44, 0x23, 0x17, 0x35, 0x9f, 0x6f, 0xf7, 0xea, 0x11, 0x77, 0x88, + 0x43, 0x42, 0x6a, 0x4d, 0x7a, 0xde, 0xcc, 0x3d, 0x79, 0xb6, 0x3c, 0xf0, 0xd7, 0xb3, 0xe5, 0x81, + 0xfc, 0xcf, 0x0a, 0x4c, 0x76, 0x68, 0xf5, 0xfe, 0x89, 0xc0, 0xcf, 0xda, 0x04, 0x5e, 0xe9, 0xef, + 0xa9, 0x9d, 0x29, 0xf3, 0xa9, 0x02, 0xc3, 0xb2, 0x67, 0x44, 0xab, 0x30, 0x9e, 0xea, 0xe7, 0x62, + 0x79, 0x63, 0xc9, 0xe0, 0xb6, 0x85, 0xa6, 0xe0, 0x9c, 0x28, 0x41, 0x61, 0x36, 0x6a, 0xe1, 0x07, + 0xfa, 0x18, 0x72, 0x16, 0x16, 0x9d, 0x61, 0x20, 0x4e, 0xe9, 0xd5, 0xa5, 0x6e, 0x86, 0xb6, 0x5a, + 0xec, 0x94, 0x52, 0xf4, 0x93, 0x02, 0xe8, 0x78, 0xf7, 0xd9, 0x9f, 0xb8, 0x23, 0xc1, 0x3d, 0xd3, + 0x16, 0xdc, 0x5b, 0x90, 0x8b, 0x7a, 0x57, 0xa9, 0xf1, 0x7f, 0x99, 0x8d, 0x93, 0xb4, 0xd5, 0x62, + 0xaf, 0x94, 0xc8, 0xdf, 0x14, 0x38, 0xdf, 0xd6, 0xc0, 0xf6, 0xa7, 0xd0, 0x86, 0x99, 0xce, 0x3d, + 0xb3, 0x2c, 0xc3, 0x57, 0xfa, 0x6b, 0x99, 0x93, 0xde, 0x58, 0xde, 0x0b, 0x53, 0x9d, 0xfa, 0xe6, + 0x94, 0xe0, 0xef, 0x14, 0x58, 0xcc, 0x6a, 0x7e, 0xb3, 0xf3, 0xb2, 0x0a, 0xa3, 0xe9, 0x5e, 0x37, + 0x94, 0x7a, 0xed, 0x14, 0x8d, 0xb6, 0x06, 0x4e, 0xfc, 0x3b, 0xff, 0x44, 0x81, 0x85, 0x8c, 0xf6, + 0x34, 0x5b, 0xd2, 0x0e, 0x0c, 0xcb, 0x5e, 0x58, 0xca, 0xd9, 0x38, 0x79, 0x17, 0xac, 0x45, 0x10, + 0xe5, 0xe6, 0xf3, 0xd7, 0x4b, 0xca, 0x8b, 0xd7, 0x4b, 0xca, 0x9f, 0xaf, 0x97, 0x94, 0x6f, 0xdf, + 0x2c, 0x0d, 0xbc, 0x78, 0xb3, 0x34, 0xf0, 0xf2, 0xcd, 0xd2, 0xc0, 0xfd, 0x3b, 0xa9, 0x32, 0xbb, + 0x1d, 0x11, 0xec, 0x18, 0x35, 0x56, 0x8a, 0xe9, 0x2e, 0x9b, 0xd4, 0xc7, 0xe9, 0xcf, 0xa6, 0x41, + 0xdc, 0x92, 0x43, 0x83, 0x67, 0x00, 0x4b, 0xfe, 0x5b, 0x27, 0x4a, 0x72, 0x6d, 0x48, 0xfc, 0x4f, + 0xee, 0xda, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x30, 0xaf, 0x5a, 0x2d, 0x41, 0x14, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { @@ -1003,6 +1014,22 @@ func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.DenomDecimals) > 0 { + for iNdEx := len(m.DenomDecimals) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.DenomDecimals[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xea + } + } if len(m.SpotMarketIdsScheduledToForceClose) > 0 { for iNdEx := len(m.SpotMarketIdsScheduledToForceClose) - 1; iNdEx >= 0; iNdEx-- { i -= len(m.SpotMarketIdsScheduledToForceClose[iNdEx]) @@ -2093,6 +2120,12 @@ func (m *GenesisState) Size() (n int) { n += 2 + l + sovGenesis(uint64(l)) } } + if len(m.DenomDecimals) > 0 { + for _, e := range m.DenomDecimals { + l = e.Size() + n += 2 + l + sovGenesis(uint64(l)) + } + } return n } @@ -3256,6 +3289,40 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { } m.SpotMarketIdsScheduledToForceClose = append(m.SpotMarketIdsScheduledToForceClose, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex + case 29: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DenomDecimals", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DenomDecimals = append(m.DenomDecimals, DenomDecimals{}) + if err := m.DenomDecimals[len(m.DenomDecimals)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenesis(dAtA[iNdEx:]) diff --git a/chain/exchange/types/msgs.go b/chain/exchange/types/msgs.go index c1b705c9..347188f4 100644 --- a/chain/exchange/types/msgs.go +++ b/chain/exchange/types/msgs.go @@ -304,7 +304,7 @@ func (msg MsgInstantPerpetualMarketLaunch) ValidateBasic() error { if err := oracleParams.ValidateBasic(); err != nil { return err } - if err := ValidateFee(msg.MakerFeeRate); err != nil { + if err := ValidateMakerFee(msg.MakerFeeRate); err != nil { return err } if err := ValidateFee(msg.TakerFeeRate); err != nil { @@ -375,12 +375,15 @@ func (msg MsgInstantBinaryOptionsMarketLaunch) ValidateBasic() error { if msg.OracleScaleFactor > MaxOracleScaleFactor { return ErrExceedsMaxOracleScaleFactor } - if err := ValidateFee(msg.MakerFeeRate); err != nil { + if err := ValidateMakerFee(msg.MakerFeeRate); err != nil { return err } if err := ValidateFee(msg.TakerFeeRate); err != nil { return err } + if msg.MakerFeeRate.GT(msg.TakerFeeRate) { + return ErrFeeRatesRelation + } if msg.ExpirationTimestamp >= msg.SettlementTimestamp || msg.ExpirationTimestamp < 0 || msg.SettlementTimestamp < 0 { return ErrInvalidExpiry } @@ -445,7 +448,7 @@ func (msg MsgInstantExpiryFuturesMarketLaunch) ValidateBasic() error { if msg.Expiry <= 0 { return sdkerrors.Wrap(ErrInvalidExpiry, "expiry should not be empty") } - if err := ValidateFee(msg.MakerFeeRate); err != nil { + if err := ValidateMakerFee(msg.MakerFeeRate); err != nil { return err } if err := ValidateFee(msg.TakerFeeRate); err != nil { @@ -714,15 +717,7 @@ func NewMsgCreateBinaryOptionsLimitOrder( orderType OrderType, isReduceOnly bool, ) *MsgCreateBinaryOptionsLimitOrder { - margin := sdk.ZeroDec() - - if !isReduceOnly { - if orderType == OrderType_BUY { - margin = price.Mul(quantity) - } else { - margin = GetScaledPrice(sdk.OneDec(), market.OracleScaleFactor).Sub(price).Mul(quantity) - } - } + margin := GetRequiredBinaryOptionsOrderMargin(price, quantity, market.OracleScaleFactor, orderType, isReduceOnly) return &MsgCreateBinaryOptionsLimitOrder{ Sender: sender.String(), @@ -862,14 +857,7 @@ func NewMsgCreateBinaryOptionsMarketOrder( orderType OrderType, isReduceOnly bool, ) *MsgCreateBinaryOptionsMarketOrder { - margin := sdk.ZeroDec() - if !isReduceOnly { - if orderType == OrderType_BUY { - margin = price.Mul(quantity) - } else { - margin = GetScaledPrice(sdk.OneDec(), market.OracleScaleFactor).Sub(price).Mul(quantity) - } - } + margin := GetRequiredBinaryOptionsOrderMargin(price, quantity, market.OracleScaleFactor, orderType, isReduceOnly) return &MsgCreateBinaryOptionsMarketOrder{ Sender: sender.String(), diff --git a/chain/exchange/types/params.go b/chain/exchange/types/params.go index 156e66b8..759b2165 100644 --- a/chain/exchange/types/params.go +++ b/chain/exchange/types/params.go @@ -125,7 +125,7 @@ func (p *Params) ParamSetPairs() paramtypes.ParamSetPairs { paramtypes.NewParamSetPair(KeyDerivativeMarketInstantListingFee, &p.DerivativeMarketInstantListingFee, validateDerivativeMarketInstantListingFee), paramtypes.NewParamSetPair(KeyDefaultSpotMakerFeeRate, &p.DefaultSpotMakerFeeRate, ValidateMakerFee), paramtypes.NewParamSetPair(KeyDefaultSpotTakerFeeRate, &p.DefaultSpotTakerFeeRate, ValidateFee), - paramtypes.NewParamSetPair(KeyDefaultDerivativeMakerFeeRate, &p.DefaultDerivativeMakerFeeRate, ValidateFee), + paramtypes.NewParamSetPair(KeyDefaultDerivativeMakerFeeRate, &p.DefaultDerivativeMakerFeeRate, ValidateMakerFee), paramtypes.NewParamSetPair(KeyDefaultDerivativeTakerFeeRate, &p.DefaultDerivativeTakerFeeRate, ValidateFee), paramtypes.NewParamSetPair(KeyDefaultInitialMarginRatio, &p.DefaultInitialMarginRatio, ValidateMarginRatio), paramtypes.NewParamSetPair(KeyDefaultMaintenanceMarginRatio, &p.DefaultMaintenanceMarginRatio, ValidateMarginRatio), @@ -147,12 +147,12 @@ func DefaultParams() Params { return Params{ SpotMarketInstantListingFee: sdk.NewCoin("inj", sdk.NewIntWithDecimal(SpotMarketInstantListingFee, 18)), DerivativeMarketInstantListingFee: sdk.NewCoin("inj", sdk.NewIntWithDecimal(DerivativeMarketInstantListingFee, 18)), - DefaultSpotMakerFeeRate: sdk.NewDecWithPrec(1, 3), // default 0.1% maker fees - DefaultSpotTakerFeeRate: sdk.NewDecWithPrec(2, 3), // default 0.2% taker fees - DefaultDerivativeMakerFeeRate: sdk.NewDecWithPrec(1, 3), // default 0.1% maker fees - DefaultDerivativeTakerFeeRate: sdk.NewDecWithPrec(2, 3), // default 0.2% taker fees - DefaultInitialMarginRatio: sdk.NewDecWithPrec(5, 2), // default 5% initial margin ratio - DefaultMaintenanceMarginRatio: sdk.NewDecWithPrec(2, 2), // default 2% maintenance margin ratio + DefaultSpotMakerFeeRate: sdk.NewDecWithPrec(-1, 4), // default -0.01% maker fees + DefaultSpotTakerFeeRate: sdk.NewDecWithPrec(1, 3), // default 0.1% taker fees + DefaultDerivativeMakerFeeRate: sdk.NewDecWithPrec(-1, 4), // default -0.01% maker fees + DefaultDerivativeTakerFeeRate: sdk.NewDecWithPrec(1, 3), // default 0.1% taker fees + DefaultInitialMarginRatio: sdk.NewDecWithPrec(5, 2), // default 5% initial margin ratio + DefaultMaintenanceMarginRatio: sdk.NewDecWithPrec(2, 2), // default 2% maintenance margin ratio DefaultFundingInterval: DefaultFundingIntervalSeconds, FundingMultiple: DefaultFundingMultipleSeconds, RelayerFeeShareRate: sdk.NewDecWithPrec(40, 2), // default 40% relayer fee share @@ -295,6 +295,10 @@ func ValidateMakerFee(i interface{}) error { return fmt.Errorf("exchange fee cannot be greater than 1: %s", v) } + if v.LT(sdk.OneDec().Neg()) { + return fmt.Errorf("exchange fee cannot be less than -1: %s", v) + } + return nil } diff --git a/chain/exchange/types/proposal.go b/chain/exchange/types/proposal.go index b1177e7f..f0fff0ef 100644 --- a/chain/exchange/types/proposal.go +++ b/chain/exchange/types/proposal.go @@ -181,6 +181,24 @@ func (p *BatchExchangeModificationProposal) ValidateBasic() error { } } + for _, proposal := range p.BinaryOptionsMarketLaunchProposals { + if err := proposal.ValidateBasic(); err != nil { + return err + } + } + + for _, proposal := range p.BinaryOptionsParamUpdateProposals { + if err := proposal.ValidateBasic(); err != nil { + return err + } + } + + if p.DenomDecimalsUpdateProposal != nil { + if err := p.DenomDecimalsUpdateProposal.ValidateBasic(); err != nil { + return err + } + } + return gov.ValidateAbstract(p) } diff --git a/chain/exchange/types/tx.pb.go b/chain/exchange/types/tx.pb.go index 33ed0a0d..b3d8a5b3 100644 --- a/chain/exchange/types/tx.pb.go +++ b/chain/exchange/types/tx.pb.go @@ -2466,14 +2466,17 @@ func (m *ExchangeEnableProposal) XXX_DiscardUnknown() { var xxx_messageInfo_ExchangeEnableProposal proto.InternalMessageInfo type BatchExchangeModificationProposal struct { - Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - SpotMarketParamUpdateProposals []*SpotMarketParamUpdateProposal `protobuf:"bytes,3,rep,name=spot_market_param_update_proposals,json=spotMarketParamUpdateProposals,proto3" json:"spot_market_param_update_proposals,omitempty"` - DerivativeMarketParamUpdateProposals []*DerivativeMarketParamUpdateProposal `protobuf:"bytes,4,rep,name=derivative_market_param_update_proposals,json=derivativeMarketParamUpdateProposals,proto3" json:"derivative_market_param_update_proposals,omitempty"` - SpotMarketLaunchProposals []*SpotMarketLaunchProposal `protobuf:"bytes,5,rep,name=spot_market_launch_proposals,json=spotMarketLaunchProposals,proto3" json:"spot_market_launch_proposals,omitempty"` - PerpetualMarketLaunchProposals []*PerpetualMarketLaunchProposal `protobuf:"bytes,6,rep,name=perpetual_market_launch_proposals,json=perpetualMarketLaunchProposals,proto3" json:"perpetual_market_launch_proposals,omitempty"` - ExpiryFuturesMarketLaunchProposals []*ExpiryFuturesMarketLaunchProposal `protobuf:"bytes,7,rep,name=expiry_futures_market_launch_proposals,json=expiryFuturesMarketLaunchProposals,proto3" json:"expiry_futures_market_launch_proposals,omitempty"` - TradingRewardCampaignUpdateProposal *TradingRewardCampaignUpdateProposal `protobuf:"bytes,8,opt,name=trading_reward_campaign_update_proposal,json=tradingRewardCampaignUpdateProposal,proto3" json:"trading_reward_campaign_update_proposal,omitempty"` + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + SpotMarketParamUpdateProposals []*SpotMarketParamUpdateProposal `protobuf:"bytes,3,rep,name=spot_market_param_update_proposals,json=spotMarketParamUpdateProposals,proto3" json:"spot_market_param_update_proposals,omitempty"` + DerivativeMarketParamUpdateProposals []*DerivativeMarketParamUpdateProposal `protobuf:"bytes,4,rep,name=derivative_market_param_update_proposals,json=derivativeMarketParamUpdateProposals,proto3" json:"derivative_market_param_update_proposals,omitempty"` + SpotMarketLaunchProposals []*SpotMarketLaunchProposal `protobuf:"bytes,5,rep,name=spot_market_launch_proposals,json=spotMarketLaunchProposals,proto3" json:"spot_market_launch_proposals,omitempty"` + PerpetualMarketLaunchProposals []*PerpetualMarketLaunchProposal `protobuf:"bytes,6,rep,name=perpetual_market_launch_proposals,json=perpetualMarketLaunchProposals,proto3" json:"perpetual_market_launch_proposals,omitempty"` + ExpiryFuturesMarketLaunchProposals []*ExpiryFuturesMarketLaunchProposal `protobuf:"bytes,7,rep,name=expiry_futures_market_launch_proposals,json=expiryFuturesMarketLaunchProposals,proto3" json:"expiry_futures_market_launch_proposals,omitempty"` + TradingRewardCampaignUpdateProposal *TradingRewardCampaignUpdateProposal `protobuf:"bytes,8,opt,name=trading_reward_campaign_update_proposal,json=tradingRewardCampaignUpdateProposal,proto3" json:"trading_reward_campaign_update_proposal,omitempty"` + BinaryOptionsMarketLaunchProposals []*BinaryOptionsMarketLaunchProposal `protobuf:"bytes,9,rep,name=binary_options_market_launch_proposals,json=binaryOptionsMarketLaunchProposals,proto3" json:"binary_options_market_launch_proposals,omitempty"` + BinaryOptionsParamUpdateProposals []*BinaryOptionsMarketParamUpdateProposal `protobuf:"bytes,10,rep,name=binary_options_param_update_proposals,json=binaryOptionsParamUpdateProposals,proto3" json:"binary_options_param_update_proposals,omitempty"` + DenomDecimalsUpdateProposal *UpdateDenomDecimalsProposal `protobuf:"bytes,11,opt,name=denom_decimals_update_proposal,json=denomDecimalsUpdateProposal,proto3" json:"denom_decimals_update_proposal,omitempty"` } func (m *BatchExchangeModificationProposal) Reset() { *m = BatchExchangeModificationProposal{} } @@ -3695,252 +3698,256 @@ func init() { } var fileDescriptor_bd45b74cb6d81462 = []byte{ - // 3913 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x5b, 0x6c, 0x1c, 0xc7, - 0x91, 0x1a, 0x72, 0xb9, 0x8f, 0x5a, 0xbe, 0x34, 0xa4, 0xa8, 0xd5, 0x4a, 0x7c, 0x68, 0x69, 0x49, - 0x94, 0x75, 0x22, 0x25, 0x59, 0xb6, 0x4e, 0xf2, 0xe9, 0x74, 0x14, 0x1f, 0x36, 0xcf, 0xa2, 0x45, - 0xcf, 0x52, 0x3e, 0x9f, 0x81, 0xf3, 0xde, 0x70, 0xa6, 0xb9, 0x1c, 0x6b, 0x77, 0x66, 0x35, 0x3d, - 0x2b, 0x89, 0xc6, 0xe1, 0x0c, 0xf8, 0xee, 0x7c, 0x3e, 0xf9, 0xe2, 0xc4, 0x48, 0x8c, 0x20, 0x41, - 0x04, 0x18, 0x88, 0x91, 0x04, 0x41, 0xfc, 0xe1, 0xcf, 0xe4, 0x2f, 0x1f, 0x01, 0x1c, 0x20, 0x40, - 0xfc, 0x11, 0x04, 0x89, 0x03, 0x38, 0x81, 0xfd, 0x93, 0xff, 0xfc, 0xf9, 0x23, 0x08, 0xa6, 0x7b, - 0xa6, 0x77, 0x66, 0x76, 0x5e, 0x3b, 0xe4, 0x52, 0x86, 0xa0, 0x2f, 0x72, 0xbb, 0xbb, 0xaa, 0xab, - 0xaa, 0xab, 0xaa, 0xab, 0xab, 0x6b, 0x1a, 0xa6, 0x15, 0xf5, 0x55, 0x24, 0x19, 0xca, 0x6d, 0x34, - 0x87, 0xee, 0x4a, 0x5b, 0xa2, 0x5a, 0x45, 0x73, 0xb7, 0xcf, 0x6e, 0x20, 0x43, 0x3c, 0x3b, 0x67, - 0xdc, 0x9d, 0x6d, 0xe8, 0x9a, 0xa1, 0xf1, 0x45, 0x36, 0x68, 0xd6, 0x1e, 0x34, 0x6b, 0x0d, 0x2a, - 0x8e, 0x56, 0xb5, 0xaa, 0x46, 0x86, 0xcd, 0x99, 0xff, 0x51, 0x88, 0xe2, 0xb1, 0x16, 0x5a, 0x4d, - 0x17, 0xa5, 0x5a, 0x0b, 0x29, 0xfd, 0x69, 0x0d, 0x3b, 0x19, 0x32, 0x3b, 0x9b, 0x89, 0x0e, 0x9d, - 0x90, 0x34, 0x5c, 0xd7, 0xf0, 0xdc, 0x86, 0x88, 0x5b, 0x63, 0x24, 0x4d, 0x51, 0xad, 0xfe, 0x59, - 0xab, 0x5f, 0x56, 0xb0, 0xa1, 0x2b, 0x1b, 0x4d, 0x43, 0xd1, 0x54, 0x36, 0xce, 0xd9, 0x48, 0xc7, - 0x97, 0xfe, 0x9f, 0x03, 0x58, 0xc5, 0xd5, 0x45, 0xd4, 0xd0, 0xb0, 0x62, 0xf0, 0x63, 0x90, 0xc6, - 0x48, 0x95, 0x91, 0x5e, 0xe0, 0xa6, 0xb8, 0x99, 0x9c, 0x60, 0xfd, 0xe2, 0xa7, 0x61, 0x00, 0x37, - 0x37, 0x44, 0x49, 0xd2, 0x9a, 0xaa, 0x51, 0x51, 0xe4, 0x42, 0x0f, 0xe9, 0xee, 0x6f, 0x35, 0xae, - 0xc8, 0xfc, 0x05, 0x48, 0x8b, 0x75, 0xf3, 0xff, 0x42, 0xef, 0x14, 0x37, 0x93, 0x3f, 0x77, 0xc8, - 0x22, 0x66, 0xd6, 0x24, 0xd6, 0x96, 0xd4, 0xec, 0x82, 0xa6, 0xa8, 0x57, 0x53, 0x1f, 0x7f, 0x36, - 0xb9, 0x4f, 0xb0, 0x86, 0x5f, 0xca, 0xbe, 0xf5, 0xfe, 0xe4, 0xbe, 0x3f, 0xbf, 0x3f, 0xb9, 0xaf, - 0x34, 0x0a, 0x7c, 0x8b, 0x1a, 0x01, 0xe1, 0x86, 0xa6, 0x62, 0x54, 0xfa, 0x1a, 0x07, 0xf9, 0x55, - 0x5c, 0xfd, 0x17, 0xc5, 0xd8, 0x92, 0x75, 0xf1, 0xce, 0x03, 0xa7, 0xf2, 0x00, 0x8c, 0x38, 0xc8, - 0x61, 0x64, 0xfe, 0x27, 0x1c, 0x5c, 0xc5, 0xd5, 0x05, 0x1d, 0x89, 0x06, 0x2a, 0x37, 0x34, 0xe3, - 0x9a, 0x52, 0x57, 0x8c, 0xeb, 0xba, 0x49, 0x59, 0x10, 0xc5, 0xf3, 0xd0, 0xa7, 0x99, 0x03, 0x08, - 0xa5, 0xf9, 0x73, 0xc7, 0x66, 0x83, 0x55, 0x6c, 0xd6, 0x44, 0x49, 0xb0, 0x59, 0x74, 0x51, 0x48, - 0x07, 0x59, 0xff, 0x0c, 0x93, 0x01, 0xf3, 0xdb, 0x24, 0xf2, 0xe3, 0x00, 0x04, 0xaa, 0xb2, 0x25, - 0xe2, 0x2d, 0x8b, 0x96, 0x1c, 0x69, 0x79, 0x56, 0xc4, 0x5b, 0x0e, 0x5c, 0x6f, 0x72, 0x30, 0xbe, - 0x8a, 0xab, 0x57, 0x45, 0x43, 0xda, 0xf2, 0xc3, 0x88, 0x03, 0x59, 0x5a, 0x80, 0x34, 0x41, 0x88, - 0x0b, 0x3d, 0x53, 0xbd, 0x9d, 0xf2, 0x64, 0x81, 0x3a, 0x08, 0x59, 0x87, 0x63, 0xa1, 0x74, 0x30, - 0xd6, 0x8e, 0x42, 0x7f, 0x8b, 0x35, 0x84, 0x0b, 0xdc, 0x54, 0xef, 0x4c, 0x4e, 0xc8, 0x33, 0xe6, - 0x90, 0x13, 0xeb, 0xa7, 0x3d, 0x50, 0x5c, 0xc5, 0xd5, 0x15, 0x15, 0x1b, 0xa2, 0x6a, 0x98, 0x28, - 0x57, 0x45, 0xfd, 0x26, 0x32, 0xae, 0x89, 0x4d, 0x55, 0xda, 0x0a, 0xe4, 0x6d, 0x0c, 0xd2, 0x86, - 0x22, 0xdd, 0xb4, 0xd6, 0x2b, 0x27, 0x58, 0xbf, 0x4c, 0xb1, 0x9a, 0xda, 0x53, 0x91, 0x91, 0xaa, - 0xd5, 0x89, 0x5e, 0xe5, 0x84, 0x9c, 0xd9, 0xb2, 0x68, 0x36, 0xf0, 0x93, 0x90, 0xbf, 0xd5, 0xd4, - 0x0c, 0xbb, 0x3f, 0x45, 0xfa, 0x81, 0x34, 0xd1, 0x01, 0xff, 0x06, 0x23, 0x75, 0x45, 0xad, 0x34, - 0x74, 0x45, 0x42, 0x15, 0x13, 0x67, 0x05, 0x2b, 0xaf, 0xa1, 0x42, 0x9f, 0x39, 0xf0, 0xea, 0xac, - 0x29, 0x99, 0x4f, 0x3f, 0x9b, 0x3c, 0x5e, 0x55, 0x8c, 0xad, 0xe6, 0xc6, 0xac, 0xa4, 0xd5, 0xe7, - 0x2c, 0x2b, 0xa7, 0x7f, 0x4e, 0x63, 0xf9, 0xe6, 0x9c, 0xb1, 0xdd, 0x40, 0x78, 0x76, 0x11, 0x49, - 0xc2, 0x70, 0x5d, 0x51, 0xd7, 0x4c, 0x4c, 0xeb, 0x8a, 0x74, 0xb3, 0xac, 0xbc, 0x86, 0x78, 0x09, - 0xc6, 0x4c, 0xf4, 0xb7, 0x9a, 0xa2, 0x6a, 0x28, 0xc6, 0xb6, 0x63, 0x86, 0x74, 0xa2, 0x19, 0x4c, - 0x62, 0x5f, 0xb0, 0x90, 0xd9, 0x93, 0x38, 0x84, 0xfb, 0x18, 0x94, 0x82, 0x65, 0xcb, 0xac, 0xe5, - 0x2f, 0x69, 0xa2, 0xae, 0xd6, 0xb0, 0x35, 0xa4, 0x37, 0x90, 0xd1, 0x14, 0x6b, 0x3b, 0x5a, 0x07, - 0x8f, 0xa0, 0x7b, 0xdb, 0x04, 0x3d, 0x09, 0x79, 0xea, 0x79, 0x2b, 0xe6, 0xea, 0xd8, 0x2b, 0x41, - 0x9b, 0xae, 0x8a, 0xb6, 0x16, 0x91, 0x01, 0x04, 0x8a, 0x2e, 0x81, 0x60, 0x01, 0xbd, 0x60, 0x36, - 0xf1, 0xb3, 0x30, 0x62, 0x0d, 0xc1, 0x92, 0x58, 0x43, 0x95, 0x4d, 0x51, 0x32, 0x34, 0x9d, 0x88, - 0x72, 0x40, 0xd8, 0x4f, 0xbb, 0xca, 0x66, 0xcf, 0x32, 0xe9, 0xe0, 0x97, 0xd8, 0x9c, 0xa6, 0x04, - 0x0b, 0x99, 0x29, 0x6e, 0x66, 0xf0, 0xdc, 0x63, 0x0e, 0xab, 0xb0, 0xf6, 0x02, 0xdb, 0x26, 0xae, - 0x93, 0x9f, 0xeb, 0xdb, 0x0d, 0x64, 0x53, 0x66, 0xfe, 0xcf, 0xaf, 0xc3, 0x60, 0x5d, 0xbc, 0x89, - 0xf4, 0xca, 0x26, 0x42, 0x15, 0x5d, 0x34, 0x50, 0x21, 0x9b, 0x68, 0xf1, 0xfa, 0x09, 0x96, 0x65, - 0x84, 0x04, 0xd1, 0x20, 0x58, 0x0d, 0x37, 0xd6, 0x5c, 0x32, 0xac, 0x86, 0x13, 0xeb, 0xbf, 0xc3, - 0xa8, 0xa2, 0x2a, 0x86, 0x22, 0xd6, 0x2a, 0x75, 0x51, 0xaf, 0x2a, 0xaa, 0x89, 0x5a, 0xd1, 0x0a, - 0x90, 0x08, 0x37, 0x6f, 0xe1, 0x5a, 0x25, 0xa8, 0x04, 0x13, 0x13, 0xbf, 0x05, 0x85, 0xba, 0xa8, - 0xa8, 0x06, 0x52, 0x45, 0x55, 0x42, 0xee, 0x59, 0xf2, 0x89, 0x66, 0x19, 0x73, 0xe0, 0x73, 0xce, - 0x14, 0x60, 0x9b, 0xfd, 0x5d, 0xb7, 0xcd, 0x81, 0x6e, 0xd8, 0xe6, 0x49, 0x38, 0x11, 0x61, 0x74, - 0xcc, 0x40, 0x3f, 0x4a, 0xc3, 0x74, 0x6b, 0xec, 0x55, 0x45, 0x15, 0xf5, 0xed, 0xeb, 0x0d, 0x33, - 0x76, 0xc0, 0x3b, 0x32, 0xd2, 0x69, 0x18, 0xb0, 0xed, 0x67, 0xbb, 0xbe, 0xa1, 0xd5, 0x2c, 0x33, - 0xb5, 0xec, 0xae, 0x4c, 0xda, 0xf8, 0x13, 0x30, 0x64, 0x0d, 0x6a, 0xe8, 0xda, 0x6d, 0xc5, 0xc4, - 0x4e, 0x8d, 0x75, 0x90, 0x36, 0xaf, 0x59, 0xad, 0x5e, 0xeb, 0xea, 0x4b, 0x68, 0x5d, 0x9d, 0x1a, - 0x75, 0xbb, 0x35, 0x66, 0xba, 0x62, 0x8d, 0xd9, 0x5d, 0xb0, 0xc6, 0xb3, 0x30, 0x8a, 0xee, 0x36, - 0x14, 0x62, 0x1c, 0x6a, 0xc5, 0x50, 0xea, 0x08, 0x1b, 0x62, 0xbd, 0x41, 0x2c, 0xbd, 0x57, 0x18, - 0x69, 0xf5, 0xad, 0xdb, 0x5d, 0x26, 0x08, 0x46, 0x86, 0x51, 0x43, 0x75, 0xa4, 0x1a, 0x0e, 0x10, - 0xa0, 0x20, 0xad, 0xbe, 0x16, 0xc8, 0x28, 0xf4, 0x89, 0x72, 0x5d, 0x51, 0xa9, 0xf9, 0x09, 0xf4, - 0x87, 0xd7, 0x23, 0xf7, 0xc7, 0xdd, 0xfa, 0x06, 0xba, 0x6e, 0x5e, 0x83, 0xdd, 0x30, 0xaf, 0xd3, - 0x70, 0x2a, 0x86, 0xc9, 0x30, 0x13, 0xfb, 0x7a, 0xc6, 0x69, 0x62, 0x4b, 0xe6, 0x42, 0x6c, 0x2f, - 0x37, 0x8d, 0xa6, 0x8e, 0xf0, 0x57, 0x7f, 0x1f, 0xf4, 0x58, 0x5e, 0x7a, 0x77, 0x2d, 0x2f, 0x13, - 0x64, 0x79, 0x63, 0x90, 0x26, 0x1a, 0xbb, 0x4d, 0x6c, 0xa3, 0x57, 0xb0, 0x7e, 0xf9, 0x58, 0x64, - 0xae, 0x2b, 0x16, 0x09, 0x5d, 0xdc, 0x1f, 0xf3, 0x7b, 0xb2, 0x3f, 0xf6, 0xef, 0xc5, 0xfe, 0xf8, - 0x30, 0x18, 0x70, 0xa0, 0x41, 0x32, 0x03, 0x7e, 0x1d, 0x0a, 0xae, 0x23, 0x17, 0x1d, 0xb4, 0x87, - 0x67, 0xbe, 0xe7, 0x60, 0x2a, 0x88, 0x80, 0xc4, 0x87, 0x3e, 0x8a, 0x6d, 0x11, 0xe9, 0xca, 0x6d, - 0xd1, 0x24, 0x2b, 0xc6, 0x39, 0xf6, 0x19, 0x37, 0x4f, 0xa7, 0xc2, 0x78, 0x6a, 0x21, 0xf6, 0xe1, - 0x2c, 0x65, 0x12, 0x53, 0x5a, 0x23, 0x87, 0xbe, 0x60, 0x3a, 0x3a, 0x67, 0xed, 0xff, 0x38, 0x87, - 0xa0, 0x5c, 0x8e, 0x79, 0xef, 0xb9, 0x2b, 0xc3, 0x4c, 0x14, 0x29, 0x9d, 0x33, 0xf8, 0x0e, 0x47, - 0xb6, 0x12, 0xc7, 0x41, 0xd9, 0x4f, 0x70, 0xc1, 0xc7, 0xf6, 0x15, 0xcf, 0xb1, 0x3d, 0x01, 0x93, - 0xf6, 0xe1, 0x9d, 0x72, 0xf9, 0x32, 0xb1, 0xa4, 0x28, 0x7a, 0x92, 0x1d, 0xdf, 0xbf, 0xc9, 0x91, - 0x3c, 0xd1, 0x82, 0xe9, 0x8b, 0x6a, 0xcc, 0x46, 0x02, 0x79, 0x3b, 0x0c, 0xb9, 0x3a, 0xb1, 0x8b, - 0x56, 0x4e, 0x28, 0x4b, 0x1b, 0x56, 0xe4, 0xf6, 0xa4, 0x51, 0xaf, 0x4f, 0xd2, 0xc8, 0xbd, 0x0c, - 0x29, 0xef, 0x32, 0x50, 0x8e, 0x8f, 0x90, 0x9c, 0x82, 0x87, 0x28, 0xe6, 0x2a, 0xb6, 0x89, 0xab, - 0xa0, 0xf2, 0x70, 0x0f, 0x09, 0x5e, 0x94, 0x2b, 0x90, 0x92, 0x45, 0x43, 0x8c, 0x93, 0x49, 0x21, - 0x98, 0x16, 0x45, 0x43, 0xb4, 0x16, 0x83, 0x00, 0x5a, 0x84, 0x2d, 0x13, 0xdd, 0xf7, 0x9d, 0x9a, - 0xc9, 0xbf, 0x00, 0x19, 0xdc, 0x94, 0x24, 0x84, 0xa9, 0xe8, 0xb3, 0x82, 0xfd, 0xd3, 0x21, 0xf6, - 0x37, 0x38, 0x38, 0xea, 0x46, 0xe4, 0x52, 0xdf, 0xbd, 0x61, 0xe6, 0x3a, 0x9c, 0x8c, 0xa4, 0xa1, - 0x23, 0xae, 0x7e, 0x91, 0x81, 0x51, 0x1b, 0xe3, 0x8d, 0x86, 0x2c, 0x1a, 0x28, 0x82, 0x91, 0x58, - 0x69, 0xc6, 0x2b, 0x30, 0x8e, 0x1b, 0x9a, 0x51, 0x61, 0x8a, 0x87, 0x2b, 0x86, 0x56, 0x91, 0x08, - 0xc5, 0x15, 0xb1, 0x66, 0x9e, 0x7a, 0x4c, 0x05, 0x2f, 0x60, 0xe6, 0xb4, 0x57, 0x64, 0xbc, 0xae, - 0x51, 0x96, 0xe6, 0x6b, 0x35, 0xfe, 0x39, 0x98, 0x96, 0x99, 0xc5, 0x04, 0xa3, 0x49, 0x11, 0x34, - 0x13, 0xad, 0xa1, 0xbe, 0xc8, 0x5e, 0x81, 0x03, 0x84, 0x1a, 0x6a, 0xa1, 0x2d, 0x14, 0x85, 0xbe, - 0x4e, 0x17, 0x83, 0x13, 0x78, 0xcc, 0xb4, 0xc7, 0x9e, 0x82, 0x7f, 0x15, 0x0e, 0x3b, 0x88, 0x6d, - 0x9b, 0x25, 0xdd, 0xf9, 0x2c, 0x05, 0xd9, 0xed, 0x63, 0x5a, 0x73, 0xf9, 0xf0, 0x42, 0xfc, 0x4b, - 0x21, 0xd3, 0x69, 0xbe, 0xd1, 0xcb, 0x0b, 0x41, 0xc3, 0x37, 0x82, 0x78, 0xa1, 0xb3, 0x64, 0x93, - 0xb9, 0x47, 0x7f, 0x8e, 0xe8, 0x8c, 0xb7, 0x60, 0x72, 0x83, 0x28, 0x71, 0x45, 0xa3, 0x5a, 0xdc, - 0x2e, 0xc1, 0x5c, 0xe7, 0x12, 0x3c, 0xbc, 0xd1, 0x6e, 0x18, 0x4c, 0x88, 0x02, 0x9c, 0xf0, 0x4c, - 0x19, 0xa8, 0x61, 0x40, 0x34, 0xec, 0xe8, 0x46, 0xfb, 0x69, 0xc6, 0xa3, 0x64, 0x77, 0xc2, 0xd8, - 0xa0, 0xc2, 0xcb, 0x27, 0x15, 0x5e, 0x00, 0x33, 0x04, 0xab, 0xe5, 0x18, 0xbe, 0xec, 0x81, 0x23, - 0x7e, 0x76, 0xcc, 0x9c, 0xc1, 0x2c, 0x8c, 0x10, 0xc5, 0xb1, 0x78, 0x73, 0x3b, 0x86, 0xfd, 0x66, - 0x97, 0xe5, 0x1d, 0x69, 0x07, 0x7f, 0x09, 0x0e, 0x39, 0x14, 0xc1, 0x03, 0xd5, 0x43, 0xa0, 0x0e, - 0xb6, 0x06, 0xb8, 0x61, 0x1f, 0x87, 0xfd, 0x2d, 0x25, 0xb5, 0xf7, 0x34, 0x6a, 0xf2, 0x43, 0x4c, - 0xe7, 0xe8, 0xbe, 0xc6, 0x3f, 0x05, 0x07, 0xbd, 0x0a, 0x67, 0x43, 0x50, 0xeb, 0x3e, 0xe0, 0xd1, - 0x1c, 0x0b, 0x6e, 0x1e, 0xc6, 0x3d, 0xf2, 0xf6, 0xd0, 0xd8, 0x47, 0x68, 0x2c, 0xba, 0x44, 0xe7, - 0x26, 0xf3, 0x32, 0x1c, 0xf6, 0x5b, 0x32, 0x7b, 0xfa, 0x34, 0xf5, 0x51, 0xed, 0xb2, 0x6f, 0xdb, - 0x91, 0xff, 0x97, 0x83, 0x09, 0x9f, 0x90, 0x2d, 0x4e, 0x3c, 0xbc, 0xcb, 0xd1, 0xd5, 0x0b, 0x70, - 0x3c, 0x9c, 0x90, 0xce, 0x63, 0xab, 0x7b, 0x74, 0xdf, 0xf3, 0x89, 0xd8, 0x1e, 0x00, 0x7f, 0xeb, - 0x64, 0xff, 0x0b, 0xa7, 0xa5, 0x73, 0x16, 0xbf, 0xc3, 0xd1, 0x93, 0x0c, 0xd1, 0x0e, 0x0f, 0x15, - 0x0f, 0x3a, 0xae, 0x2a, 0xd1, 0xd0, 0xdd, 0x8f, 0x34, 0x16, 0x5d, 0x7d, 0x8f, 0x83, 0xc3, 0x6c, - 0x50, 0x7b, 0x44, 0xf0, 0xa0, 0x59, 0x38, 0x46, 0x82, 0xf3, 0x20, 0xea, 0x18, 0x17, 0x35, 0xc8, - 0x31, 0x2f, 0xee, 0x26, 0x8d, 0x8b, 0x22, 0xad, 0x27, 0x92, 0xb4, 0x5e, 0x0f, 0x69, 0xa5, 0xd7, - 0x89, 0xc9, 0x3a, 0x22, 0x29, 0x8f, 0x70, 0xbb, 0x1e, 0xca, 0x5d, 0x23, 0xa6, 0x1a, 0x42, 0x40, - 0x47, 0x71, 0xdc, 0x6f, 0x39, 0x38, 0xb0, 0x8a, 0xab, 0x65, 0x26, 0x81, 0x75, 0x5d, 0x54, 0xf1, - 0x66, 0xc8, 0xe2, 0x9f, 0x81, 0x51, 0xac, 0x35, 0x75, 0x09, 0x55, 0xfc, 0x64, 0xc9, 0xd3, 0xbe, - 0xb2, 0x53, 0xa2, 0x64, 0x4b, 0xc0, 0x86, 0xa2, 0xd2, 0x5c, 0xaa, 0x9f, 0x76, 0x1c, 0x74, 0x0c, - 0x28, 0xfb, 0x5f, 0x3c, 0xa7, 0x3a, 0xba, 0x78, 0x2e, 0x4d, 0x92, 0x53, 0x79, 0x3b, 0x5f, 0x4c, - 0x6d, 0x7e, 0xc3, 0x91, 0x0b, 0xe9, 0xa5, 0xbb, 0x06, 0xd2, 0x55, 0xb1, 0xf6, 0xb0, 0xf0, 0x3d, - 0x4e, 0x4c, 0xda, 0xcb, 0x15, 0xe3, 0xfa, 0xa7, 0x1c, 0x89, 0xdb, 0xaf, 0x29, 0xb7, 0x9a, 0x8a, - 0xb9, 0xdb, 0xaf, 0x69, 0x58, 0x31, 0x27, 0xdf, 0x59, 0xdc, 0xee, 0xb2, 0xba, 0x5e, 0x8f, 0xd5, - 0x31, 0x57, 0x9e, 0x4a, 0xe6, 0xca, 0x39, 0xcb, 0x95, 0x97, 0x26, 0x48, 0xa8, 0xd2, 0x46, 0x3a, - 0xe3, 0xed, 0xcd, 0x1e, 0x38, 0x44, 0xf2, 0x50, 0x66, 0xdc, 0x84, 0x59, 0x3f, 0xcd, 0xbb, 0x7d, - 0x45, 0xd6, 0xd5, 0x25, 0xa9, 0x94, 0x47, 0x52, 0xcb, 0x6c, 0xd1, 0x93, 0x5d, 0x62, 0xdb, 0x3a, - 0x30, 0x4d, 0x76, 0x5e, 0x7f, 0x39, 0x30, 0x69, 0xfd, 0xb5, 0x07, 0x32, 0x44, 0x53, 0x90, 0x14, - 0x28, 0x9b, 0x57, 0x01, 0x36, 0x44, 0xf5, 0x66, 0x65, 0xb3, 0xa9, 0xca, 0x76, 0x8e, 0x23, 0x44, - 0x13, 0xcf, 0x98, 0xf4, 0xfe, 0xf8, 0x8f, 0x93, 0x33, 0x31, 0xe8, 0x35, 0x01, 0xb0, 0x90, 0x33, - 0xd1, 0x2f, 0x9b, 0xd8, 0xf9, 0xf3, 0x30, 0x26, 0xd3, 0x12, 0x16, 0xec, 0x2b, 0xd2, 0x51, 0xbb, - 0xd7, 0x25, 0xcf, 0x06, 0x0c, 0x58, 0xed, 0x16, 0x91, 0xa9, 0xdd, 0x27, 0xb2, 0xdf, 0x9a, 0x81, - 0xd2, 0x79, 0x12, 0x86, 0x25, 0x4d, 0x35, 0x74, 0x51, 0x32, 0x2a, 0xa2, 0x2c, 0xeb, 0x34, 0x66, - 0x34, 0x29, 0x1c, 0xb2, 0xdb, 0xe7, 0x69, 0x33, 0xcf, 0x5b, 0x1e, 0x9f, 0x14, 0x0c, 0x58, 0x4e, - 0xbc, 0xe5, 0x7a, 0xf7, 0xc3, 0x90, 0x25, 0x7f, 0xb6, 0x26, 0xef, 0xf5, 0xc1, 0x78, 0x2b, 0x21, - 0xb9, 0x26, 0xea, 0x62, 0x9d, 0x06, 0xe5, 0x6b, 0xba, 0xd6, 0xd0, 0xb0, 0x58, 0xe3, 0x47, 0xa1, - 0xcf, 0x50, 0x8c, 0x1a, 0xb2, 0x16, 0x8a, 0xfe, 0xe0, 0xa7, 0x20, 0x2f, 0x23, 0x2c, 0xe9, 0x0a, - 0xd9, 0x1f, 0x2d, 0xd5, 0x75, 0x36, 0x85, 0x5b, 0x68, 0xfb, 0x2d, 0x40, 0x8a, 0xe9, 0x1f, 0xb7, - 0x8b, 0xb7, 0x00, 0x7d, 0xc9, 0xb0, 0xba, 0x6e, 0x01, 0x24, 0x18, 0xd3, 0x51, 0x4d, 0xdc, 0xb6, - 0xf0, 0xe2, 0x2d, 0x51, 0xb7, 0xb0, 0xa7, 0x13, 0x61, 0x1f, 0xb1, 0xb0, 0x2d, 0x23, 0x54, 0x36, - 0x71, 0x91, 0x49, 0x02, 0xd2, 0xf3, 0x99, 0x44, 0x33, 0x74, 0x92, 0x9e, 0xcf, 0x26, 0xe3, 0xc1, - 0x27, 0x3d, 0xcf, 0xff, 0x13, 0xa4, 0xb1, 0x21, 0x1a, 0x4d, 0x4c, 0xae, 0x74, 0x06, 0xcf, 0xcd, - 0x84, 0xf9, 0x5d, 0xaa, 0x70, 0x65, 0x32, 0x5e, 0xb0, 0xe0, 0x1c, 0xaa, 0xfa, 0x23, 0x0e, 0xc6, - 0x96, 0x2c, 0x98, 0x25, 0x55, 0xdc, 0xa8, 0xed, 0x5c, 0x21, 0xaf, 0x41, 0xbf, 0x4d, 0xc5, 0xfa, - 0x76, 0x03, 0x11, 0x9d, 0x8c, 0x20, 0x72, 0xc9, 0x31, 0x5e, 0x70, 0x41, 0x3b, 0x48, 0xfd, 0x28, - 0x03, 0x47, 0x49, 0x70, 0x64, 0x8f, 0x5e, 0xd5, 0x64, 0x65, 0x53, 0x91, 0x88, 0x2b, 0xde, 0x31, - 0xd5, 0xff, 0xc3, 0x41, 0xc9, 0x99, 0xa1, 0x6a, 0x98, 0x26, 0x5a, 0x69, 0x12, 0x1b, 0xad, 0x34, - 0x2c, 0xec, 0xf4, 0xcc, 0x9a, 0x3f, 0x77, 0x31, 0x2a, 0xa9, 0x12, 0x68, 0xe6, 0xc2, 0x04, 0x0e, - 0xeb, 0xc6, 0xfc, 0xb7, 0x39, 0x98, 0x69, 0x4f, 0x74, 0x05, 0x50, 0x43, 0x5d, 0xe2, 0x95, 0x78, - 0xfb, 0x6e, 0x30, 0x4d, 0x8f, 0xc9, 0xd1, 0x83, 0x30, 0xdf, 0x84, 0x23, 0x4e, 0x01, 0xd5, 0xc8, - 0xd5, 0x8f, 0x83, 0x18, 0x9a, 0x3b, 0x3b, 0x1f, 0x4f, 0x34, 0xf4, 0xe2, 0x88, 0x51, 0x70, 0x08, - 0x07, 0xf4, 0x60, 0xfe, 0xbf, 0x39, 0x38, 0xda, 0xb0, 0x2b, 0x33, 0x02, 0x27, 0x4f, 0x47, 0xaf, - 0x8b, 0x6f, 0x79, 0x47, 0x6b, 0x5d, 0x1a, 0x61, 0xdd, 0x98, 0x7f, 0x97, 0x83, 0xe3, 0xf4, 0x6a, - 0xb5, 0xb2, 0x49, 0x6f, 0xc0, 0x02, 0x69, 0xa1, 0x89, 0xb7, 0xcb, 0xe1, 0x0a, 0x1f, 0x70, 0x95, - 0xc6, 0xe8, 0x29, 0xa1, 0xa8, 0x21, 0x98, 0x7f, 0x8f, 0x83, 0x13, 0x86, 0x2e, 0xca, 0x8a, 0x5a, - 0xad, 0xe8, 0xe8, 0x8e, 0xa8, 0xcb, 0x15, 0x49, 0xac, 0x37, 0x44, 0xa5, 0xaa, 0x7a, 0x75, 0x85, - 0xf8, 0x9f, 0x08, 0x55, 0x59, 0xa7, 0xa8, 0x04, 0x82, 0x69, 0xc1, 0x42, 0xe4, 0x51, 0x95, 0x69, - 0x23, 0x7a, 0x90, 0xc3, 0x66, 0x3f, 0x48, 0x41, 0x21, 0x68, 0xd1, 0x13, 0x9b, 0x6a, 0xeb, 0x9a, - 0xbf, 0x37, 0xa4, 0xec, 0x30, 0x15, 0x51, 0x76, 0xd8, 0x17, 0xb7, 0xf6, 0x22, 0xdd, 0xf5, 0xab, - 0xdb, 0xcc, 0xae, 0x5d, 0xdd, 0x86, 0x96, 0xc5, 0x71, 0x5d, 0x29, 0x8b, 0x4b, 0xbc, 0xe1, 0x3b, - 0xd4, 0xe4, 0xdd, 0x0c, 0x8c, 0x87, 0x9a, 0xe7, 0xae, 0xeb, 0x4a, 0x64, 0x0d, 0xaa, 0xa7, 0x24, - 0xa4, 0x2f, 0xb2, 0x24, 0x24, 0x1d, 0xbb, 0x34, 0x32, 0x13, 0xb3, 0x34, 0x32, 0x9b, 0xb0, 0x84, - 0x24, 0xa8, 0x9c, 0x22, 0xb7, 0x27, 0xe5, 0x14, 0xb0, 0xab, 0xe5, 0x14, 0xed, 0xfa, 0x9c, 0xef, - 0x4a, 0x19, 0x4b, 0xff, 0x2e, 0x94, 0xb1, 0x3c, 0x5c, 0xa5, 0x1f, 0xbf, 0x4e, 0xc3, 0xd1, 0xc0, - 0x92, 0xad, 0xae, 0xd9, 0x65, 0x5b, 0x35, 0x64, 0x2a, 0x5e, 0x35, 0x64, 0x5f, 0x9c, 0x6a, 0xc8, - 0xbd, 0xaa, 0xc9, 0x0a, 0xaa, 0x30, 0xcc, 0x76, 0x5e, 0x61, 0x98, 0x8b, 0x51, 0x61, 0x08, 0x21, - 0x15, 0x86, 0xf9, 0x36, 0xc7, 0xd6, 0x6e, 0x51, 0xfd, 0x5d, 0xb1, 0xa8, 0x81, 0xee, 0x59, 0xd4, - 0x60, 0xd7, 0x2d, 0x6a, 0xa8, 0x1b, 0x16, 0xf5, 0x61, 0x06, 0x8e, 0x46, 0x06, 0x7e, 0x8f, 0x76, - 0xba, 0x0e, 0x0c, 0xb3, 0x55, 0xfc, 0x98, 0x73, 0x15, 0x3f, 0x3e, 0x4c, 0x05, 0xf7, 0x8f, 0xec, - 0xf5, 0x41, 0xd9, 0xeb, 0x97, 0x59, 0x98, 0x8e, 0x71, 0x7c, 0xee, 0x4e, 0xe6, 0x2e, 0x48, 0x85, - 0x93, 0xe5, 0xef, 0x3a, 0x55, 0xe1, 0x64, 0xf9, 0xbc, 0xf8, 0x2a, 0x9c, 0xee, 0xca, 0xa1, 0x24, - 0xd3, 0xd5, 0x2c, 0x64, 0xb6, 0xeb, 0x59, 0xc8, 0x5c, 0xd7, 0xb3, 0x90, 0xb0, 0x7b, 0x59, 0xc8, - 0x57, 0x80, 0x7f, 0x56, 0x6b, 0xea, 0xb5, 0xed, 0x15, 0xd5, 0x40, 0x3a, 0xc2, 0x86, 0xe0, 0x8e, - 0xce, 0x3b, 0x52, 0xcf, 0x76, 0x4c, 0xfc, 0x06, 0x8c, 0xd2, 0xd6, 0xe5, 0xa6, 0x4a, 0x32, 0x0e, - 0xa2, 0x81, 0x16, 0xc4, 0x86, 0xc3, 0xfb, 0x75, 0x32, 0x83, 0x2f, 0x2e, 0x47, 0x26, 0x75, 0x20, - 0x59, 0x26, 0x95, 0x5f, 0x65, 0xf1, 0x2a, 0x49, 0xd1, 0x61, 0xe2, 0xeb, 0xf2, 0xe1, 0x88, 0xe8, - 0x66, 0x46, 0x3c, 0x09, 0xb6, 0x23, 0x5b, 0xfa, 0xcb, 0xf9, 0x49, 0x26, 0x07, 0x13, 0x74, 0xc6, - 0x65, 0x4d, 0x97, 0x90, 0x5c, 0x66, 0x11, 0x60, 0x77, 0xfd, 0xce, 0xbf, 0xc2, 0xb0, 0x23, 0x10, - 0x25, 0x1a, 0x9a, 0xd0, 0xe7, 0x0c, 0x61, 0x07, 0xc9, 0x8a, 0xe4, 0x4a, 0xe5, 0x72, 0x70, 0x98, - 0x3a, 0x51, 0x12, 0x82, 0x2c, 0x22, 0x49, 0xa9, 0x8b, 0x35, 0xbc, 0x63, 0xce, 0xd6, 0x60, 0x90, - 0x44, 0x39, 0x15, 0xd9, 0xc2, 0x68, 0xe5, 0x6b, 0x4f, 0x86, 0x67, 0x48, 0x1d, 0x24, 0x08, 0x03, - 0xb2, 0xf3, 0xa7, 0x83, 0xe6, 0x79, 0x18, 0x70, 0x8d, 0x34, 0x89, 0xa4, 0x21, 0x95, 0x45, 0x24, - 0xf9, 0xc1, 0x17, 0x21, 0xcb, 0x26, 0x37, 0x29, 0x4c, 0x09, 0xec, 0x77, 0xe9, 0x57, 0x19, 0x38, - 0xee, 0x73, 0xa4, 0x7a, 0x74, 0x1b, 0xf4, 0xe8, 0x36, 0x28, 0xb9, 0x1f, 0xde, 0x9b, 0xcf, 0xd9, - 0xfc, 0xdc, 0x42, 0x7e, 0x57, 0xdc, 0x42, 0xeb, 0x1c, 0xdb, 0xef, 0x3c, 0xc7, 0xee, 0xdc, 0x35, - 0xdf, 0xf0, 0x77, 0xcd, 0x67, 0x42, 0xef, 0x08, 0xac, 0xcc, 0x41, 0x2c, 0x17, 0xfd, 0x73, 0x0e, - 0x46, 0xfd, 0x00, 0xc8, 0xa5, 0x3b, 0xcd, 0x5e, 0xd8, 0x97, 0xee, 0x34, 0x6f, 0x51, 0x84, 0x2c, - 0x4b, 0x58, 0x58, 0xc5, 0x55, 0xf6, 0xef, 0xa0, 0x13, 0x54, 0x6f, 0xcc, 0x13, 0x54, 0x2a, 0xd9, - 0x09, 0xaa, 0xf4, 0x4b, 0x0e, 0xfa, 0x5d, 0xb4, 0x7b, 0x4e, 0x83, 0x5c, 0xe4, 0x69, 0xb0, 0x27, - 0xf6, 0x69, 0xb0, 0xdb, 0xbc, 0xfc, 0xb0, 0x07, 0xa6, 0x7d, 0xef, 0x30, 0x76, 0xe9, 0x84, 0xfd, - 0x32, 0x0c, 0xb0, 0xeb, 0x15, 0x45, 0xdd, 0xd4, 0xac, 0x17, 0x33, 0x9e, 0xec, 0xf8, 0x4e, 0x65, - 0x45, 0xdd, 0xd4, 0x84, 0x7e, 0xc9, 0xf1, 0x8b, 0xdf, 0x80, 0x03, 0x0c, 0xb7, 0x75, 0x95, 0xd3, - 0xd0, 0x34, 0x76, 0xc5, 0x37, 0x1b, 0x36, 0x87, 0x8d, 0x96, 0x4e, 0xb2, 0xa6, 0x69, 0x35, 0x61, - 0x44, 0x6a, 0x6b, 0x73, 0x6a, 0xee, 0x87, 0xbd, 0x01, 0x92, 0xda, 0xa5, 0x5d, 0xa8, 0x9b, 0x92, - 0x6a, 0xc2, 0xa4, 0xaf, 0xa4, 0x2a, 0xa2, 0x2c, 0x93, 0x6a, 0x98, 0xa4, 0x32, 0x3b, 0xe2, 0x23, - 0xb3, 0x79, 0x1b, 0x27, 0x7f, 0x0b, 0xc6, 0xfd, 0xa7, 0xa5, 0x17, 0x6d, 0xf6, 0xf5, 0x67, 0xa7, - 0x93, 0x16, 0x7d, 0x26, 0xa5, 0x8b, 0xe0, 0x5c, 0xaf, 0xb7, 0x39, 0xd8, 0x6f, 0x0f, 0x50, 0x54, - 0x83, 0x0e, 0xe0, 0x4f, 0xc0, 0x90, 0x5d, 0x4b, 0x63, 0x97, 0xab, 0xd0, 0x75, 0x1a, 0xb4, 0x9a, - 0xed, 0x6a, 0x95, 0x55, 0x00, 0x15, 0xdd, 0xa9, 0x34, 0x4c, 0x58, 0x9c, 0x30, 0x7d, 0x90, 0x53, - 0xd1, 0x1d, 0x32, 0x39, 0x2e, 0xfd, 0x57, 0x0f, 0xcc, 0xb8, 0x56, 0x6b, 0x0d, 0x91, 0xa8, 0x9a, - 0x76, 0xef, 0x92, 0x0a, 0x9d, 0x87, 0xb1, 0x06, 0x45, 0x4b, 0xe4, 0xec, 0xd8, 0xa5, 0x7a, 0xc9, - 0x2e, 0x35, 0xda, 0xb0, 0x27, 0xd5, 0x6a, 0xad, 0x6d, 0xaa, 0x02, 0xa3, 0x6c, 0x71, 0x14, 0xd5, - 0x60, 0x8b, 0x43, 0x35, 0xe2, 0x74, 0xd8, 0xe2, 0xb4, 0xc9, 0x57, 0xe0, 0x75, 0x6f, 0x93, 0x73, - 0x4d, 0x3e, 0xe0, 0x60, 0x64, 0x19, 0xa1, 0x45, 0x05, 0x13, 0x59, 0xef, 0x98, 0xe1, 0xe7, 0x20, - 0x8b, 0xa5, 0x2d, 0x24, 0x37, 0x6b, 0xc8, 0x32, 0x97, 0xb9, 0x30, 0x72, 0x1d, 0x53, 0x97, 0x2d, - 0x30, 0x81, 0x21, 0x70, 0x90, 0xf9, 0x33, 0x0e, 0x26, 0x69, 0x49, 0xa9, 0x56, 0xaf, 0x37, 0x55, - 0xc5, 0xd8, 0x36, 0x25, 0x56, 0x36, 0xa5, 0xb7, 0x63, 0x92, 0x6f, 0x40, 0xce, 0x5b, 0x19, 0x71, - 0xc1, 0x2e, 0xcf, 0x72, 0x3d, 0xae, 0xd4, 0x2a, 0xd3, 0x0a, 0xa2, 0x41, 0x68, 0x61, 0x72, 0x7d, - 0xce, 0x39, 0xbc, 0x8a, 0xab, 0x02, 0xaa, 0x2a, 0xd8, 0x40, 0xfa, 0x3c, 0x5e, 0x5c, 0x5d, 0x0d, - 0xac, 0x68, 0x9b, 0x84, 0xbc, 0x5c, 0xaf, 0x57, 0x2c, 0xd5, 0xb7, 0xc8, 0x05, 0xb9, 0x5e, 0x9f, - 0xa7, 0x2d, 0xa5, 0x22, 0x29, 0xe9, 0x76, 0x21, 0x63, 0xe5, 0x59, 0x7f, 0xe8, 0x21, 0x85, 0x75, - 0xf3, 0x66, 0xe8, 0x41, 0x97, 0xda, 0x27, 0x4e, 0x4f, 0x56, 0x35, 0xed, 0x17, 0x39, 0xf5, 0xee, - 0x4e, 0xe4, 0x14, 0x14, 0xfa, 0xa5, 0x3a, 0x0f, 0xfd, 0xfa, 0x82, 0x43, 0xbf, 0x56, 0x24, 0x96, - 0x4e, 0x16, 0x89, 0x95, 0x4e, 0x91, 0x1a, 0xfd, 0x70, 0xe1, 0xda, 0x4b, 0xf1, 0xf8, 0x5d, 0xe8, - 0x77, 0x96, 0x03, 0xf1, 0xe7, 0x60, 0x74, 0xe9, 0xa5, 0x85, 0x67, 0xe7, 0x9f, 0x7f, 0x66, 0xa9, - 0x72, 0xe3, 0xf9, 0xf2, 0xda, 0xd2, 0xc2, 0xca, 0xf2, 0xca, 0xd2, 0xe2, 0xf0, 0xbe, 0x62, 0xe1, - 0xde, 0xfd, 0x29, 0xdf, 0x3e, 0x9e, 0x87, 0x54, 0x79, 0xed, 0xfa, 0xfa, 0x30, 0x57, 0xcc, 0xde, - 0xbb, 0x3f, 0x45, 0xfe, 0x37, 0xd5, 0x79, 0x71, 0x49, 0x58, 0x79, 0x71, 0x7e, 0x7d, 0xe5, 0xc5, - 0xa5, 0xf2, 0x70, 0x4f, 0x71, 0xe8, 0xde, 0xfd, 0x29, 0x67, 0xd3, 0xb9, 0xdf, 0x4f, 0x42, 0xef, - 0x2a, 0xae, 0xf2, 0x22, 0x64, 0xec, 0x07, 0xc0, 0x8e, 0x87, 0xf2, 0xca, 0x9e, 0xe6, 0x2a, 0xce, - 0xc6, 0x1b, 0xc7, 0x0a, 0xb8, 0x65, 0xc8, 0xb2, 0xe7, 0xbb, 0x4e, 0x44, 0xc0, 0xda, 0x03, 0x8b, - 0x73, 0x31, 0x07, 0xb2, 0x59, 0xde, 0xe5, 0xe0, 0x60, 0xd0, 0x9b, 0x4e, 0x4f, 0x45, 0x20, 0x0b, - 0x80, 0x2b, 0xfe, 0x63, 0x32, 0x38, 0x46, 0xd3, 0xfb, 0x1c, 0x1c, 0x09, 0x7d, 0xe4, 0xe8, 0xe9, - 0x78, 0x13, 0xf8, 0x02, 0x17, 0x17, 0x76, 0x00, 0xcc, 0x48, 0xfc, 0x09, 0x07, 0x53, 0x91, 0x6f, - 0x50, 0x5c, 0x89, 0x37, 0x53, 0x20, 0x82, 0xe2, 0x33, 0x3b, 0x44, 0xc0, 0xc8, 0x7d, 0x8b, 0x83, - 0x51, 0xdf, 0x57, 0xd6, 0x9e, 0x88, 0x98, 0xc1, 0x0f, 0xa8, 0xf8, 0x74, 0x02, 0x20, 0x46, 0xca, - 0x77, 0x39, 0x28, 0x86, 0xbc, 0x91, 0x76, 0x31, 0x02, 0x77, 0x30, 0x68, 0x71, 0x3e, 0x31, 0x28, - 0x23, 0xee, 0x6d, 0x0e, 0x0e, 0xf8, 0x3f, 0x4d, 0x70, 0x3e, 0x36, 0xcf, 0x0e, 0xa8, 0xe2, 0x3f, - 0x24, 0x81, 0x62, 0xd4, 0x6c, 0xc3, 0x90, 0xf7, 0x7b, 0xed, 0x28, 0x27, 0xe2, 0x19, 0x5f, 0x7c, - 0xaa, 0xb3, 0xf1, 0x2e, 0x41, 0xf8, 0x7f, 0x78, 0x7d, 0x3e, 0x96, 0x94, 0x3d, 0x50, 0x91, 0x82, - 0x08, 0xff, 0xd2, 0xfa, 0x75, 0xd8, 0xdf, 0xfe, 0xad, 0xf1, 0x99, 0x38, 0x28, 0x9d, 0x10, 0xc5, - 0xbf, 0xef, 0x14, 0x82, 0x11, 0xf0, 0x12, 0xa4, 0x48, 0xa9, 0xfc, 0x74, 0x04, 0x06, 0x73, 0x50, - 0xf1, 0x54, 0x8c, 0x41, 0x2e, 0x73, 0x08, 0x79, 0x3d, 0xe2, 0x62, 0x2c, 0x05, 0xf2, 0x03, 0x8d, - 0x34, 0x87, 0x18, 0x6f, 0x45, 0x98, 0x5e, 0x2e, 0xf2, 0x79, 0x84, 0x2b, 0xf1, 0xcd, 0xce, 0x17, - 0x41, 0xa4, 0x97, 0x8b, 0xfd, 0x20, 0xc2, 0x7d, 0x0e, 0x0e, 0x87, 0x7d, 0x4e, 0x79, 0xa9, 0x43, - 0x89, 0x38, 0x2d, 0xf9, 0x6a, 0x72, 0x58, 0xb7, 0x77, 0xf1, 0xfd, 0x5c, 0xf0, 0x7c, 0x2c, 0x33, - 0xf5, 0x40, 0x45, 0x7b, 0x97, 0xb0, 0xef, 0xff, 0x88, 0xb4, 0xc2, 0xbe, 0x64, 0xbb, 0x14, 0xdf, - 0x64, 0xbd, 0xb0, 0x91, 0xd2, 0x8a, 0xf3, 0x01, 0x9b, 0x63, 0x8b, 0x0d, 0x7e, 0x49, 0x2d, 0xe6, - 0x16, 0x1b, 0x88, 0x20, 0xee, 0x16, 0x1b, 0xf9, 0x30, 0x15, 0xff, 0x7d, 0x0e, 0xc6, 0xc3, 0xdf, - 0x4a, 0x89, 0xb7, 0x19, 0x04, 0x40, 0x17, 0x17, 0x77, 0x02, 0xcd, 0xa8, 0xfc, 0x01, 0x07, 0x13, - 0x11, 0x1f, 0xe5, 0x5e, 0xee, 0x7c, 0x22, 0xa7, 0xa1, 0x2c, 0xed, 0x08, 0x9c, 0x11, 0xfa, 0x2d, - 0x0e, 0x0a, 0x81, 0x9f, 0xa6, 0x5e, 0x88, 0xa5, 0xf8, 0xed, 0x80, 0xc5, 0x2b, 0x09, 0x01, 0x5d, - 0xf2, 0x8b, 0x78, 0xcc, 0xe3, 0x72, 0x7c, 0xdd, 0xf7, 0x01, 0x8f, 0x94, 0x5f, 0xcc, 0x67, 0x3c, - 0xde, 0xe0, 0x80, 0xf7, 0xf9, 0xae, 0xf3, 0x6c, 0x04, 0xf6, 0x76, 0x90, 0xe2, 0xc5, 0x8e, 0x41, - 0x18, 0x11, 0xff, 0x01, 0xc3, 0x6d, 0x5f, 0x58, 0xce, 0x45, 0xee, 0x8e, 0x6e, 0x80, 0xe2, 0x85, - 0x0e, 0x01, 0x9c, 0x51, 0x43, 0xfb, 0x97, 0x8e, 0x51, 0x51, 0x43, 0x1b, 0x44, 0x64, 0xd4, 0x10, - 0xf8, 0x49, 0x22, 0xff, 0x0e, 0x07, 0x63, 0x01, 0xdf, 0x23, 0x3e, 0x19, 0xe9, 0x76, 0xfc, 0xc0, - 0x8a, 0x97, 0x13, 0x81, 0x31, 0x82, 0x30, 0x0c, 0xb8, 0x13, 0x25, 0x7f, 0x17, 0x81, 0xcf, 0x35, - 0xba, 0x78, 0xbe, 0x93, 0xd1, 0x2e, 0x93, 0x89, 0x48, 0x9a, 0x44, 0xb1, 0x15, 0x0e, 0x1e, 0x69, - 0x32, 0xf1, 0xb2, 0x0a, 0x57, 0xb7, 0x3e, 0xfe, 0x7c, 0x82, 0xfb, 0xe4, 0xf3, 0x09, 0xee, 0x4f, - 0x9f, 0x4f, 0x70, 0xdf, 0xf8, 0x62, 0x62, 0xdf, 0x27, 0x5f, 0x4c, 0xec, 0xfb, 0xdd, 0x17, 0x13, - 0xfb, 0x5e, 0x7e, 0xde, 0x91, 0x7d, 0x59, 0xb1, 0xa7, 0xba, 0x26, 0x6e, 0xe0, 0x39, 0x36, 0xf1, - 0x69, 0x49, 0xd3, 0x91, 0xf3, 0xe7, 0x96, 0xa8, 0xa8, 0x73, 0x75, 0x4d, 0x6e, 0xd6, 0x10, 0x6e, - 0xbd, 0x51, 0x4e, 0x32, 0x35, 0x1b, 0x69, 0xf2, 0x92, 0xf8, 0x13, 0x7f, 0x0b, 0x00, 0x00, 0xff, - 0xff, 0x69, 0xf7, 0x90, 0x40, 0x44, 0x5d, 0x00, 0x00, + // 3981 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5c, 0x5d, 0x8c, 0x1c, 0xc7, + 0x56, 0x76, 0xef, 0xce, 0xce, 0xcf, 0x99, 0xfd, 0x73, 0xef, 0x7a, 0x3d, 0x9e, 0xf5, 0xfe, 0x78, + 0x36, 0xb6, 0xd7, 0xd7, 0x78, 0xd7, 0xf6, 0xf5, 0x8d, 0xb1, 0x2f, 0xc6, 0xec, 0x6f, 0xb2, 0xc4, + 0x1b, 0x6f, 0x7a, 0xd6, 0x97, 0x4b, 0x24, 0xee, 0xd0, 0xd3, 0x5d, 0x3b, 0xdb, 0xf1, 0x4c, 0xf7, + 0xb8, 0xab, 0xc7, 0xf6, 0x5e, 0x5d, 0x11, 0xe9, 0x02, 0x97, 0xe0, 0x40, 0x20, 0x22, 0x11, 0x02, + 0x61, 0x29, 0x12, 0x11, 0x20, 0x44, 0x1e, 0xf2, 0x08, 0x6f, 0x3c, 0x20, 0x05, 0x09, 0x89, 0x3c, + 0x20, 0x04, 0x41, 0x0a, 0x28, 0x79, 0xe1, 0x9d, 0xb7, 0x3c, 0xa0, 0xab, 0xae, 0xea, 0xae, 0xe9, + 0xee, 0xe9, 0xbf, 0xe9, 0x9d, 0x59, 0x47, 0x96, 0x9f, 0x76, 0xa7, 0xba, 0xce, 0xa9, 0xef, 0x9c, + 0x3a, 0xe7, 0x54, 0xd5, 0xa9, 0xd3, 0x0d, 0x0b, 0x8a, 0xfa, 0x16, 0x92, 0x0c, 0xe5, 0x21, 0x5a, + 0x46, 0x8f, 0xa5, 0x7d, 0x51, 0xad, 0xa1, 0xe5, 0x87, 0x57, 0xaa, 0xc8, 0x10, 0xaf, 0x2c, 0x1b, + 0x8f, 0x97, 0x9a, 0xba, 0x66, 0x68, 0x7c, 0x91, 0x75, 0x5a, 0xb2, 0x3b, 0x2d, 0x59, 0x9d, 0x8a, + 0x93, 0x35, 0xad, 0xa6, 0x91, 0x6e, 0xcb, 0xe6, 0x7f, 0x94, 0xa2, 0x78, 0xb6, 0xcd, 0x56, 0xd3, + 0x45, 0xa9, 0xde, 0x66, 0x4a, 0x7f, 0x5a, 0xdd, 0x2e, 0x84, 0x8c, 0xce, 0x46, 0xa2, 0x5d, 0x67, + 0x25, 0x0d, 0x37, 0x34, 0xbc, 0x5c, 0x15, 0x71, 0xbb, 0x8f, 0xa4, 0x29, 0xaa, 0xf5, 0x7c, 0xc9, + 0x7a, 0x2e, 0x2b, 0xd8, 0xd0, 0x95, 0x6a, 0xcb, 0x50, 0x34, 0x95, 0xf5, 0x73, 0x36, 0xd2, 0xfe, + 0xa5, 0x3f, 0xe0, 0x00, 0xb6, 0x71, 0x6d, 0x1d, 0x35, 0x35, 0xac, 0x18, 0xfc, 0x14, 0xa4, 0x31, + 0x52, 0x65, 0xa4, 0x17, 0xb8, 0x79, 0x6e, 0x31, 0x27, 0x58, 0xbf, 0xf8, 0x05, 0x18, 0xc1, 0xad, + 0xaa, 0x28, 0x49, 0x5a, 0x4b, 0x35, 0x2a, 0x8a, 0x5c, 0x18, 0x20, 0x8f, 0x87, 0xdb, 0x8d, 0x5b, + 0x32, 0x7f, 0x1d, 0xd2, 0x62, 0xc3, 0xfc, 0xbf, 0x30, 0x38, 0xcf, 0x2d, 0xe6, 0xaf, 0x9e, 0xb2, + 0xc0, 0x2c, 0x99, 0x60, 0x6d, 0x4d, 0x2d, 0xad, 0x69, 0x8a, 0xba, 0x9a, 0xfa, 0xec, 0xcb, 0xb9, + 0x63, 0x82, 0xd5, 0xfd, 0x66, 0xf6, 0x9d, 0x8f, 0xe6, 0x8e, 0xfd, 0xef, 0x47, 0x73, 0xc7, 0x4a, + 0x93, 0xc0, 0xb7, 0xd1, 0x08, 0x08, 0x37, 0x35, 0x15, 0xa3, 0xd2, 0x1f, 0x72, 0x90, 0xdf, 0xc6, + 0xb5, 0x5f, 0x53, 0x8c, 0x7d, 0x59, 0x17, 0x1f, 0x3d, 0x73, 0x94, 0x27, 0x60, 0xc2, 0x01, 0x87, + 0xc1, 0xfc, 0x2d, 0x38, 0xb9, 0x8d, 0x6b, 0x6b, 0x3a, 0x12, 0x0d, 0x54, 0x6e, 0x6a, 0xc6, 0x1d, + 0xa5, 0xa1, 0x18, 0x77, 0x75, 0x13, 0x59, 0x10, 0xe2, 0x15, 0x18, 0xd2, 0xcc, 0x0e, 0x04, 0x69, + 0xfe, 0xea, 0xd9, 0xa5, 0x60, 0x13, 0x5b, 0x32, 0x59, 0x12, 0x6e, 0x16, 0x2e, 0x4a, 0xe9, 0x80, + 0xf5, 0xab, 0x30, 0x17, 0x30, 0xbe, 0x0d, 0x91, 0x9f, 0x01, 0x20, 0x54, 0x95, 0x7d, 0x11, 0xef, + 0x5b, 0x58, 0x72, 0xa4, 0xe5, 0x55, 0x11, 0xef, 0x3b, 0x78, 0xfd, 0x8c, 0x83, 0x99, 0x6d, 0x5c, + 0x5b, 0x15, 0x0d, 0x69, 0xdf, 0x8f, 0x23, 0x0e, 0x14, 0x69, 0x0d, 0xd2, 0x84, 0x21, 0x2e, 0x0c, + 0xcc, 0x0f, 0x76, 0x2b, 0x93, 0x45, 0xea, 0x00, 0xb2, 0x0b, 0x67, 0x43, 0x71, 0x30, 0xd1, 0xce, + 0xc0, 0x70, 0x5b, 0x34, 0x84, 0x0b, 0xdc, 0xfc, 0xe0, 0x62, 0x4e, 0xc8, 0x33, 0xe1, 0x90, 0x93, + 0xeb, 0x17, 0x03, 0x50, 0xdc, 0xc6, 0xb5, 0x2d, 0x15, 0x1b, 0xa2, 0x6a, 0x98, 0x2c, 0xb7, 0x45, + 0xfd, 0x3e, 0x32, 0xee, 0x88, 0x2d, 0x55, 0xda, 0x0f, 0x94, 0x6d, 0x0a, 0xd2, 0x86, 0x22, 0xdd, + 0xb7, 0xe6, 0x2b, 0x27, 0x58, 0xbf, 0x4c, 0xb5, 0x9a, 0xd6, 0x53, 0x91, 0x91, 0xaa, 0x35, 0x88, + 0x5d, 0xe5, 0x84, 0x9c, 0xd9, 0xb2, 0x6e, 0x36, 0xf0, 0x73, 0x90, 0x7f, 0xd0, 0xd2, 0x0c, 0xfb, + 0x79, 0x8a, 0x3c, 0x07, 0xd2, 0x44, 0x3b, 0xfc, 0x06, 0x4c, 0x34, 0x14, 0xb5, 0xd2, 0xd4, 0x15, + 0x09, 0x55, 0x4c, 0x9e, 0x15, 0xac, 0xfc, 0x18, 0x15, 0x86, 0xcc, 0x8e, 0xab, 0x4b, 0xa6, 0x66, + 0xbe, 0xf8, 0x72, 0xee, 0x5c, 0x4d, 0x31, 0xf6, 0x5b, 0xd5, 0x25, 0x49, 0x6b, 0x2c, 0x5b, 0x5e, + 0x4e, 0xff, 0x5c, 0xc2, 0xf2, 0xfd, 0x65, 0xe3, 0xa0, 0x89, 0xf0, 0xd2, 0x3a, 0x92, 0x84, 0xf1, + 0x86, 0xa2, 0xee, 0x98, 0x9c, 0x76, 0x15, 0xe9, 0x7e, 0x59, 0xf9, 0x31, 0xe2, 0x25, 0x98, 0x32, + 0xd9, 0x3f, 0x68, 0x89, 0xaa, 0xa1, 0x18, 0x07, 0x8e, 0x11, 0xd2, 0x89, 0x46, 0x30, 0xc1, 0xbe, + 0x61, 0x31, 0xb3, 0x07, 0x71, 0x28, 0xf7, 0x25, 0x28, 0x05, 0xeb, 0x96, 0x79, 0xcb, 0xff, 0xa5, + 0x89, 0xb9, 0x5a, 0xdd, 0x76, 0x90, 0xde, 0x44, 0x46, 0x4b, 0xac, 0x1f, 0x6a, 0x1e, 0x3c, 0x8a, + 0x1e, 0xec, 0x50, 0xf4, 0x1c, 0xe4, 0x69, 0xe4, 0xad, 0x98, 0xb3, 0x63, 0xcf, 0x04, 0x6d, 0x5a, + 0x15, 0x6d, 0x2b, 0x22, 0x1d, 0x08, 0x15, 0x9d, 0x02, 0xc1, 0x22, 0x7a, 0xc3, 0x6c, 0xe2, 0x97, + 0x60, 0xc2, 0xea, 0x82, 0x25, 0xb1, 0x8e, 0x2a, 0x7b, 0xa2, 0x64, 0x68, 0x3a, 0x51, 0xe5, 0x88, + 0x70, 0x9c, 0x3e, 0x2a, 0x9b, 0x4f, 0x36, 0xc9, 0x03, 0x7e, 0x83, 0x8d, 0x69, 0x6a, 0xb0, 0x90, + 0x99, 0xe7, 0x16, 0x47, 0xaf, 0xbe, 0xe4, 0xf0, 0x0a, 0x6b, 0x2d, 0xb0, 0x7d, 0xe2, 0x2e, 0xf9, + 0xb9, 0x7b, 0xd0, 0x44, 0x36, 0x32, 0xf3, 0x7f, 0x7e, 0x17, 0x46, 0x1b, 0xe2, 0x7d, 0xa4, 0x57, + 0xf6, 0x10, 0xaa, 0xe8, 0xa2, 0x81, 0x0a, 0xd9, 0x44, 0x93, 0x37, 0x4c, 0xb8, 0x6c, 0x22, 0x24, + 0x88, 0x06, 0xe1, 0x6a, 0xb8, 0xb9, 0xe6, 0x92, 0x71, 0x35, 0x9c, 0x5c, 0x7f, 0x13, 0x26, 0x15, + 0x55, 0x31, 0x14, 0xb1, 0x5e, 0x69, 0x88, 0x7a, 0x4d, 0x51, 0x4d, 0xd6, 0x8a, 0x56, 0x80, 0x44, + 0xbc, 0x79, 0x8b, 0xd7, 0x36, 0x61, 0x25, 0x98, 0x9c, 0xf8, 0x7d, 0x28, 0x34, 0x44, 0x45, 0x35, + 0x90, 0x2a, 0xaa, 0x12, 0x72, 0x8f, 0x92, 0x4f, 0x34, 0xca, 0x94, 0x83, 0x9f, 0x73, 0xa4, 0x00, + 0xdf, 0x1c, 0xee, 0xbb, 0x6f, 0x8e, 0xf4, 0xc3, 0x37, 0x2f, 0xc0, 0xf9, 0x08, 0xa7, 0x63, 0x0e, + 0xfa, 0x69, 0x1a, 0x16, 0xda, 0x7d, 0x57, 0x15, 0x55, 0xd4, 0x0f, 0xee, 0x36, 0xcd, 0xbd, 0x03, + 0x3e, 0x94, 0x93, 0x2e, 0xc0, 0x88, 0xed, 0x3f, 0x07, 0x8d, 0xaa, 0x56, 0xb7, 0xdc, 0xd4, 0xf2, + 0xbb, 0x32, 0x69, 0xe3, 0xcf, 0xc3, 0x98, 0xd5, 0xa9, 0xa9, 0x6b, 0x0f, 0x15, 0x93, 0x3b, 0x75, + 0xd6, 0x51, 0xda, 0xbc, 0x63, 0xb5, 0x7a, 0xbd, 0x6b, 0x28, 0xa1, 0x77, 0x75, 0xeb, 0xd4, 0x9d, + 0xde, 0x98, 0xe9, 0x8b, 0x37, 0x66, 0x7b, 0xe0, 0x8d, 0x57, 0x60, 0x12, 0x3d, 0x6e, 0x2a, 0xc4, + 0x39, 0xd4, 0x8a, 0xa1, 0x34, 0x10, 0x36, 0xc4, 0x46, 0x93, 0x78, 0xfa, 0xa0, 0x30, 0xd1, 0x7e, + 0xb6, 0x6b, 0x3f, 0x32, 0x49, 0x30, 0x32, 0x8c, 0x3a, 0x6a, 0x20, 0xd5, 0x70, 0x90, 0x00, 0x25, + 0x69, 0x3f, 0x6b, 0x93, 0x4c, 0xc2, 0x90, 0x28, 0x37, 0x14, 0x95, 0xba, 0x9f, 0x40, 0x7f, 0x78, + 0x23, 0xf2, 0x70, 0xdc, 0xa5, 0x6f, 0xa4, 0xef, 0xee, 0x35, 0xda, 0x0f, 0xf7, 0xba, 0x04, 0x17, + 0x63, 0xb8, 0x0c, 0x73, 0xb1, 0x3f, 0xca, 0x38, 0x5d, 0x6c, 0xc3, 0x9c, 0x88, 0x83, 0xcd, 0x96, + 0xd1, 0xd2, 0x11, 0xfe, 0xf6, 0xaf, 0x83, 0x1e, 0xcf, 0x4b, 0xf7, 0xd6, 0xf3, 0x32, 0x41, 0x9e, + 0x37, 0x05, 0x69, 0x62, 0xb1, 0x07, 0xc4, 0x37, 0x06, 0x05, 0xeb, 0x97, 0x8f, 0x47, 0xe6, 0xfa, + 0xe2, 0x91, 0xd0, 0xc7, 0xf5, 0x31, 0x7f, 0x24, 0xeb, 0xe3, 0xf0, 0x51, 0xac, 0x8f, 0xcf, 0x83, + 0x03, 0x07, 0x3a, 0x24, 0x73, 0xe0, 0xb7, 0xa1, 0xe0, 0x3a, 0x72, 0xd1, 0x4e, 0x47, 0x78, 0xe6, + 0x7b, 0x0d, 0xe6, 0x83, 0x00, 0x24, 0x3e, 0xf4, 0x51, 0x6e, 0xeb, 0x48, 0x57, 0x1e, 0x8a, 0x26, + 0xac, 0x18, 0xe7, 0xd8, 0x57, 0xdc, 0x32, 0x5d, 0x0c, 0x93, 0xa9, 0xcd, 0xd8, 0x47, 0xb2, 0x94, + 0x09, 0xa6, 0xb4, 0x43, 0x0e, 0x7d, 0xc1, 0x38, 0xba, 0x17, 0xed, 0xf7, 0x39, 0x87, 0xa2, 0x5c, + 0x81, 0xf9, 0xe8, 0xa5, 0x2b, 0xc3, 0x62, 0x14, 0x94, 0xee, 0x05, 0x7c, 0x8f, 0x23, 0x4b, 0x89, + 0xe3, 0xa0, 0xec, 0xa7, 0xb8, 0xe0, 0x63, 0xfb, 0x96, 0xe7, 0xd8, 0x9e, 0x40, 0x48, 0xfb, 0xf0, + 0x4e, 0xa5, 0x7c, 0x93, 0x78, 0x52, 0x14, 0x9e, 0x64, 0xc7, 0xf7, 0x3f, 0xe1, 0x48, 0x9e, 0x68, + 0xcd, 0x8c, 0x45, 0x75, 0xe6, 0x23, 0x81, 0xb2, 0x4d, 0x43, 0xae, 0x41, 0xfc, 0xa2, 0x9d, 0x13, + 0xca, 0xd2, 0x86, 0x2d, 0xb9, 0x33, 0x69, 0x34, 0xe8, 0x93, 0x34, 0x72, 0x4f, 0x43, 0xca, 0x3b, + 0x0d, 0x54, 0xe2, 0xd3, 0x24, 0xa7, 0xe0, 0x01, 0xc5, 0x42, 0xc5, 0x01, 0x09, 0x15, 0x54, 0x1f, + 0xee, 0x2e, 0xc1, 0x93, 0x72, 0x1b, 0x52, 0xb2, 0x68, 0x88, 0x71, 0x32, 0x29, 0x84, 0xd3, 0xba, + 0x68, 0x88, 0xd6, 0x64, 0x10, 0x42, 0x0b, 0xd8, 0x26, 0xb1, 0x7d, 0xdf, 0xa1, 0x99, 0xfe, 0x0b, + 0x90, 0xc1, 0x2d, 0x49, 0x42, 0x98, 0xaa, 0x3e, 0x2b, 0xd8, 0x3f, 0x1d, 0x6a, 0xff, 0x29, 0x07, + 0x67, 0xdc, 0x8c, 0x5c, 0xe6, 0x7b, 0x34, 0xc2, 0xdc, 0x85, 0x0b, 0x91, 0x18, 0xba, 0x92, 0xea, + 0x9f, 0x32, 0x30, 0x69, 0x73, 0xbc, 0xd7, 0x94, 0x45, 0x03, 0x45, 0x08, 0x12, 0x2b, 0xcd, 0x78, + 0x1b, 0x66, 0x70, 0x53, 0x33, 0x2a, 0xcc, 0xf0, 0x70, 0xc5, 0xd0, 0x2a, 0x12, 0x41, 0x5c, 0x11, + 0xeb, 0xe6, 0xa9, 0xc7, 0x34, 0xf0, 0x02, 0x66, 0x41, 0x7b, 0x4b, 0xc6, 0xbb, 0x1a, 0x15, 0x69, + 0xa5, 0x5e, 0xe7, 0x5f, 0x83, 0x05, 0x99, 0x79, 0x4c, 0x30, 0x9b, 0x14, 0x61, 0x33, 0xdb, 0xee, + 0xea, 0xcb, 0xec, 0x47, 0x70, 0x82, 0xa0, 0xa1, 0x1e, 0xda, 0x66, 0x51, 0x18, 0xea, 0x76, 0x32, + 0x38, 0x81, 0xc7, 0xcc, 0x7a, 0xec, 0x21, 0xf8, 0xb7, 0x60, 0xda, 0x01, 0xb6, 0x63, 0x94, 0x74, + 0xf7, 0xa3, 0x14, 0x64, 0x77, 0x8c, 0x69, 0x8f, 0xe5, 0x23, 0x0b, 0x89, 0x2f, 0x85, 0x4c, 0xb7, + 0xf9, 0x46, 0xaf, 0x2c, 0x84, 0x0d, 0xdf, 0x0c, 0x92, 0x85, 0x8e, 0x92, 0x4d, 0x16, 0x1e, 0xfd, + 0x25, 0xa2, 0x23, 0x3e, 0x80, 0xb9, 0x2a, 0x31, 0xe2, 0x8a, 0x46, 0xad, 0xb8, 0x53, 0x83, 0xb9, + 0xee, 0x35, 0x38, 0x5d, 0xed, 0x74, 0x0c, 0xa6, 0x44, 0x01, 0xce, 0x7b, 0x86, 0x0c, 0xb4, 0x30, + 0x20, 0x16, 0x76, 0xa6, 0xda, 0x79, 0x9a, 0xf1, 0x18, 0xd9, 0xa3, 0x30, 0x31, 0xa8, 0xf2, 0xf2, + 0x49, 0x95, 0x17, 0x20, 0x0c, 0xe1, 0x6a, 0x05, 0x86, 0x6f, 0x06, 0xe0, 0xb4, 0x9f, 0x1f, 0xb3, + 0x60, 0xb0, 0x04, 0x13, 0xc4, 0x70, 0x2c, 0xd9, 0xdc, 0x81, 0xe1, 0xb8, 0xf9, 0xc8, 0x8a, 0x8e, + 0xf4, 0x01, 0x7f, 0x13, 0x4e, 0x39, 0x0c, 0xc1, 0x43, 0x35, 0x40, 0xa8, 0x4e, 0xb6, 0x3b, 0xb8, + 0x69, 0xbf, 0x03, 0xc7, 0xdb, 0x46, 0x6a, 0xaf, 0x69, 0xd4, 0xe5, 0xc7, 0x98, 0xcd, 0xd1, 0x75, + 0x8d, 0x7f, 0x19, 0x4e, 0x7a, 0x0d, 0xce, 0xa6, 0xa0, 0xde, 0x7d, 0xc2, 0x63, 0x39, 0x16, 0xdd, + 0x0a, 0xcc, 0x78, 0xf4, 0xed, 0xc1, 0x38, 0x44, 0x30, 0x16, 0x5d, 0xaa, 0x73, 0xc3, 0xbc, 0x05, + 0xd3, 0x7e, 0x53, 0x66, 0x0f, 0x9f, 0xa6, 0x31, 0xaa, 0x53, 0xf7, 0x1d, 0x2b, 0xf2, 0xef, 0x71, + 0x30, 0xeb, 0xb3, 0x65, 0x8b, 0xb3, 0x1f, 0xee, 0xf1, 0xee, 0xea, 0x0d, 0x38, 0x17, 0x0e, 0xa4, + 0xfb, 0xbd, 0xd5, 0x13, 0xba, 0xee, 0xf9, 0xec, 0xd8, 0x9e, 0x81, 0x7c, 0xbb, 0x64, 0xfd, 0x0b, + 0xc7, 0xd2, 0xbd, 0x88, 0x7f, 0xc6, 0xd1, 0x93, 0x0c, 0xb1, 0x0e, 0x0f, 0x8a, 0x67, 0xbd, 0xaf, + 0x2a, 0xd1, 0xad, 0xbb, 0x1f, 0x34, 0xb6, 0xbb, 0xfa, 0x0b, 0x0e, 0xa6, 0x59, 0xa7, 0xce, 0x1d, + 0xc1, 0xb3, 0x16, 0xe1, 0x2c, 0xd9, 0x9c, 0x07, 0xa1, 0x63, 0x52, 0xd4, 0x21, 0xc7, 0xa2, 0xb8, + 0x1b, 0x1a, 0x17, 0x05, 0x6d, 0x20, 0x12, 0xda, 0xa0, 0x07, 0x5a, 0xe9, 0x6d, 0xe2, 0xb2, 0x8e, + 0x9d, 0x94, 0x47, 0xb9, 0x7d, 0xdf, 0xca, 0xdd, 0x21, 0xae, 0x1a, 0x02, 0xa0, 0xab, 0x7d, 0xdc, + 0xbf, 0x73, 0x70, 0x62, 0x1b, 0xd7, 0xca, 0x4c, 0x03, 0xbb, 0xba, 0xa8, 0xe2, 0xbd, 0x90, 0xc9, + 0xbf, 0x0c, 0x93, 0x58, 0x6b, 0xe9, 0x12, 0xaa, 0xf8, 0xe9, 0x92, 0xa7, 0xcf, 0xca, 0x4e, 0x8d, + 0x92, 0x25, 0x01, 0x1b, 0x8a, 0x4a, 0x73, 0xa9, 0x7e, 0xd6, 0x71, 0xd2, 0xd1, 0xa1, 0xec, 0x7f, + 0xf1, 0x9c, 0xea, 0xea, 0xe2, 0xb9, 0x34, 0x47, 0x4e, 0xe5, 0x9d, 0x72, 0x31, 0xb3, 0xf9, 0x37, + 0x8e, 0x5c, 0x48, 0x6f, 0x3c, 0x36, 0x90, 0xae, 0x8a, 0xf5, 0xe7, 0x45, 0xee, 0x19, 0xe2, 0xd2, + 0x5e, 0xa9, 0x98, 0xd4, 0x7f, 0xcf, 0x91, 0x7d, 0xfb, 0x1d, 0xe5, 0x41, 0x4b, 0x31, 0x57, 0xfb, + 0x1d, 0x0d, 0x2b, 0xe6, 0xe0, 0x87, 0xdb, 0xb7, 0xbb, 0xbc, 0x6e, 0xd0, 0xe3, 0x75, 0x2c, 0x94, + 0xa7, 0x92, 0x85, 0x72, 0xce, 0x0a, 0xe5, 0xa5, 0x59, 0xb2, 0x55, 0xe9, 0x80, 0xce, 0x64, 0xfb, + 0xd9, 0x00, 0x9c, 0x22, 0x79, 0x28, 0x73, 0xdf, 0x84, 0xd9, 0x73, 0x9a, 0x77, 0xfb, 0x96, 0xcc, + 0xab, 0x4b, 0x53, 0x29, 0x8f, 0xa6, 0x36, 0xd9, 0xa4, 0x27, 0xbb, 0xc4, 0xb6, 0x6d, 0x60, 0x81, + 0xac, 0xbc, 0xfe, 0x7a, 0x60, 0xda, 0xfa, 0xff, 0x01, 0xc8, 0x10, 0x4b, 0x41, 0x52, 0xa0, 0x6e, + 0xde, 0x02, 0xa8, 0x8a, 0xea, 0xfd, 0xca, 0x5e, 0x4b, 0x95, 0xed, 0x1c, 0x47, 0x88, 0x25, 0x5e, + 0x36, 0xf1, 0xfe, 0xed, 0x7f, 0xcf, 0x2d, 0xc6, 0xc0, 0x6b, 0x12, 0x60, 0x21, 0x67, 0xb2, 0xdf, + 0x34, 0xb9, 0xf3, 0xd7, 0x60, 0x4a, 0xa6, 0x25, 0x2c, 0xd8, 0x57, 0xa5, 0x93, 0xf6, 0x53, 0x97, + 0x3e, 0x9b, 0x30, 0x62, 0xb5, 0x5b, 0x20, 0x53, 0xbd, 0x07, 0x39, 0x6c, 0x8d, 0x40, 0x71, 0x5e, + 0x80, 0x71, 0x49, 0x53, 0x0d, 0x5d, 0x94, 0x8c, 0x8a, 0x28, 0xcb, 0x3a, 0xdd, 0x33, 0x9a, 0x08, + 0xc7, 0xec, 0xf6, 0x15, 0xda, 0xcc, 0xf3, 0x56, 0xc4, 0x27, 0x05, 0x03, 0x56, 0x10, 0x6f, 0x87, + 0xde, 0xe3, 0x30, 0x66, 0xe9, 0x9f, 0xcd, 0xc9, 0x87, 0x43, 0x30, 0xd3, 0x4e, 0x48, 0xee, 0x88, + 0xba, 0xd8, 0xa0, 0x9b, 0xf2, 0x1d, 0x5d, 0x6b, 0x6a, 0x58, 0xac, 0xf3, 0x93, 0x30, 0x64, 0x28, + 0x46, 0x1d, 0x59, 0x13, 0x45, 0x7f, 0xf0, 0xf3, 0x90, 0x97, 0x11, 0x96, 0x74, 0x85, 0xac, 0x8f, + 0x96, 0xe9, 0x3a, 0x9b, 0xc2, 0x3d, 0xb4, 0xf3, 0x16, 0x20, 0xc5, 0xec, 0x8f, 0xeb, 0xe1, 0x2d, + 0xc0, 0x50, 0x32, 0xae, 0xae, 0x5b, 0x00, 0x09, 0xa6, 0x74, 0x54, 0x17, 0x0f, 0x2c, 0xbe, 0x78, + 0x5f, 0xd4, 0x2d, 0xee, 0xe9, 0x44, 0xdc, 0x27, 0x2c, 0x6e, 0x9b, 0x08, 0x95, 0x4d, 0x5e, 0x64, + 0x90, 0x80, 0xf4, 0x7c, 0x26, 0xd1, 0x08, 0xdd, 0xa4, 0xe7, 0xb3, 0xc9, 0x64, 0xf0, 0x49, 0xcf, + 0xf3, 0xbf, 0x02, 0x69, 0x6c, 0x88, 0x46, 0x0b, 0x93, 0x2b, 0x9d, 0xd1, 0xab, 0x8b, 0x61, 0x71, + 0x97, 0x1a, 0x5c, 0x99, 0xf4, 0x17, 0x2c, 0x3a, 0x87, 0xa9, 0xfe, 0x0d, 0x07, 0x53, 0x1b, 0x16, + 0xcd, 0x86, 0x2a, 0x56, 0xeb, 0x87, 0x37, 0xc8, 0x3b, 0x30, 0x6c, 0xa3, 0xd8, 0x3d, 0x68, 0x22, + 0x62, 0x93, 0x11, 0x20, 0x37, 0x1c, 0xfd, 0x05, 0x17, 0xb5, 0xb3, 0x48, 0x09, 0xe0, 0x0c, 0xd9, + 0x1c, 0xd9, 0xbd, 0xb7, 0x35, 0x59, 0xd9, 0x53, 0x24, 0x12, 0x8a, 0x0f, 0x8d, 0xfa, 0x77, 0x39, + 0x28, 0x39, 0x33, 0x54, 0x4d, 0xd3, 0x45, 0x2b, 0x2d, 0xe2, 0xa3, 0x95, 0xa6, 0xc5, 0x9d, 0x9e, + 0x59, 0xf3, 0x57, 0x6f, 0x44, 0x25, 0x55, 0x02, 0xdd, 0x5c, 0x98, 0xc5, 0x61, 0x8f, 0x31, 0xff, + 0xa7, 0x1c, 0x2c, 0x76, 0x26, 0xba, 0x02, 0xd0, 0xd0, 0x90, 0x78, 0x3b, 0xde, 0xba, 0x1b, 0x8c, + 0xe9, 0x25, 0x39, 0xba, 0x13, 0xe6, 0x5b, 0x70, 0xda, 0xa9, 0xa0, 0x3a, 0xb9, 0xfa, 0x71, 0x80, + 0xa1, 0xb9, 0xb3, 0x6b, 0xf1, 0x54, 0x43, 0x2f, 0x8e, 0x18, 0x82, 0x53, 0x38, 0xe0, 0x09, 0xe6, + 0x7f, 0x87, 0x83, 0x33, 0x4d, 0xbb, 0x32, 0x23, 0x70, 0xf0, 0x74, 0xf4, 0xbc, 0xf8, 0x96, 0x77, + 0xb4, 0xe7, 0xa5, 0x19, 0xf6, 0x18, 0xf3, 0xef, 0x73, 0x70, 0x8e, 0x5e, 0xad, 0x56, 0xf6, 0xe8, + 0x0d, 0x58, 0x20, 0x16, 0x9a, 0x78, 0xbb, 0x15, 0x6e, 0xf0, 0x01, 0x57, 0x69, 0x0c, 0x4f, 0x09, + 0x45, 0x75, 0xc1, 0xfc, 0x87, 0x1c, 0x9c, 0x37, 0x74, 0x51, 0x56, 0xd4, 0x5a, 0x45, 0x47, 0x8f, + 0x44, 0x5d, 0xae, 0x48, 0x62, 0xa3, 0x29, 0x2a, 0x35, 0xd5, 0x6b, 0x2b, 0x24, 0xfe, 0x44, 0x98, + 0xca, 0x2e, 0x65, 0x25, 0x10, 0x4e, 0x6b, 0x16, 0x23, 0x8f, 0xa9, 0x2c, 0x18, 0xd1, 0x9d, 0x88, + 0xae, 0xfc, 0xd3, 0x69, 0x1d, 0xba, 0xca, 0x45, 0xeb, 0x2a, 0xb0, 0x6e, 0xa0, 0xad, 0xab, 0x6a, + 0x54, 0x17, 0xcc, 0x7f, 0xc0, 0xc1, 0x59, 0x0f, 0xa6, 0x00, 0xa7, 0x02, 0x02, 0x69, 0xb5, 0x4b, + 0x48, 0x7e, 0x7e, 0xe5, 0x4e, 0x12, 0xfa, 0x3a, 0xd5, 0x4f, 0x60, 0x96, 0x14, 0x25, 0x54, 0x64, + 0x24, 0x29, 0x0d, 0xb1, 0x8e, 0x3b, 0x26, 0x2e, 0x4f, 0x26, 0xee, 0x7a, 0x18, 0x1c, 0xca, 0x94, + 0x94, 0x32, 0xac, 0x5b, 0x6c, 0x18, 0x86, 0x69, 0xd9, 0xd9, 0xec, 0x1e, 0xde, 0x11, 0x5c, 0x3f, + 0x4e, 0x41, 0x21, 0xc8, 0x3b, 0x13, 0xc7, 0xd4, 0x76, 0x3d, 0xc6, 0x60, 0x48, 0x7d, 0x68, 0x2a, + 0xa2, 0x3e, 0x74, 0x28, 0x6e, 0x91, 0x4c, 0xba, 0xef, 0x77, 0xec, 0x99, 0x9e, 0xdd, 0xb1, 0x87, + 0xd6, 0x2f, 0x72, 0x7d, 0xa9, 0x5f, 0x4c, 0xbc, 0x33, 0x73, 0x98, 0xc9, 0xfb, 0x19, 0x98, 0x09, + 0x8d, 0xa3, 0x3d, 0xb7, 0x95, 0xc8, 0x62, 0x61, 0x4f, 0xed, 0xce, 0x50, 0x64, 0xed, 0x4e, 0x3a, + 0x76, 0x0d, 0x6b, 0x26, 0x66, 0x0d, 0x6b, 0x36, 0x61, 0xad, 0x4f, 0x50, 0xdd, 0x4b, 0xee, 0x48, + 0xea, 0x5e, 0xa0, 0xa7, 0x75, 0x2f, 0x9d, 0xf6, 0x9c, 0xef, 0x4b, 0xbd, 0xd1, 0x70, 0x0f, 0xea, + 0x8d, 0x9e, 0xaf, 0x1a, 0x9d, 0x7f, 0x4d, 0xc3, 0x99, 0xc8, 0x35, 0xb2, 0xe7, 0x7e, 0xd9, 0x51, + 0xb6, 0x9a, 0x8a, 0x57, 0xb6, 0x3a, 0x14, 0xa7, 0x6c, 0xf5, 0xa8, 0x8a, 0xe7, 0x82, 0x4a, 0x41, + 0xb3, 0xdd, 0x97, 0x82, 0xe6, 0x62, 0x94, 0x82, 0x42, 0x48, 0x29, 0x68, 0xbe, 0x23, 0xb0, 0x75, + 0x7a, 0xd4, 0x70, 0x5f, 0x3c, 0x6a, 0xa4, 0x7f, 0x1e, 0x35, 0xda, 0x77, 0x8f, 0x1a, 0xeb, 0x87, + 0x47, 0x7d, 0x92, 0x81, 0x33, 0x91, 0x3b, 0xf4, 0x17, 0x2b, 0x5d, 0x17, 0x8e, 0xd9, 0xae, 0x52, + 0xcd, 0xb9, 0xaa, 0x54, 0x9f, 0xa7, 0x37, 0x23, 0x5e, 0xf8, 0xeb, 0xb3, 0xf2, 0xd7, 0x6f, 0xb2, + 0xb0, 0x10, 0x23, 0xcf, 0xd1, 0x9f, 0x14, 0x6b, 0x90, 0x09, 0x27, 0x4b, 0xb4, 0x76, 0x6b, 0xc2, + 0xc9, 0x12, 0xaf, 0xf1, 0x4d, 0x38, 0xdd, 0x97, 0x43, 0x49, 0xa6, 0xaf, 0xe9, 0xe2, 0x6c, 0xdf, + 0xd3, 0xc5, 0xb9, 0xbe, 0xa7, 0x8b, 0xa1, 0x77, 0xe9, 0xe2, 0x1f, 0x01, 0xff, 0xaa, 0xd6, 0xd2, + 0xeb, 0x07, 0x5b, 0xaa, 0x81, 0x74, 0x84, 0x0d, 0xc1, 0xbd, 0x3b, 0xef, 0xca, 0x3c, 0x3b, 0x39, + 0xf1, 0x55, 0x98, 0xa4, 0xad, 0x9b, 0x2d, 0x95, 0xa4, 0x86, 0x44, 0x03, 0xad, 0x89, 0x4d, 0x47, + 0xf4, 0xeb, 0x66, 0x04, 0x5f, 0x5e, 0x8e, 0x94, 0xf7, 0x48, 0xb2, 0x94, 0x37, 0xbf, 0xcd, 0xf6, + 0xab, 0x24, 0xed, 0x83, 0x49, 0xac, 0xcb, 0x87, 0x33, 0xa2, 0x8b, 0x19, 0x89, 0x24, 0xd8, 0xde, + 0xd9, 0xd2, 0x5f, 0xce, 0xb4, 0x34, 0x07, 0xb3, 0x74, 0xc4, 0x4d, 0x4d, 0x97, 0x90, 0x5c, 0x66, + 0x3b, 0xc0, 0xfe, 0xc6, 0x9d, 0x5f, 0x87, 0x71, 0xc7, 0x46, 0x94, 0x58, 0x68, 0xc2, 0x98, 0x33, + 0x86, 0x1d, 0x90, 0x15, 0xc9, 0x19, 0x59, 0x3f, 0xe5, 0x60, 0x3a, 0x24, 0xbb, 0x94, 0x58, 0xb2, + 0x1d, 0x18, 0x75, 0xa7, 0xbd, 0xac, 0xc4, 0xfa, 0x85, 0xf0, 0x54, 0xb6, 0x03, 0x82, 0x30, 0xe2, + 0x4a, 0x6c, 0x39, 0x30, 0xaf, 0xc0, 0x88, 0xab, 0xa7, 0x09, 0x92, 0x6e, 0xa9, 0x2c, 0x90, 0xe4, + 0x07, 0x5f, 0x84, 0x2c, 0x1b, 0xdc, 0x44, 0x98, 0x12, 0xd8, 0xef, 0xd2, 0xbf, 0x64, 0xe0, 0x5c, + 0xbc, 0x1c, 0xdf, 0x8b, 0x6b, 0xbb, 0x17, 0xd7, 0x76, 0x31, 0xe3, 0xf0, 0xd1, 0xbc, 0x77, 0xe8, + 0x17, 0x16, 0xf2, 0x3d, 0x09, 0x0b, 0xed, 0x73, 0xec, 0xb0, 0xf3, 0x1c, 0x7b, 0xf8, 0xd0, 0x7c, + 0xcf, 0x3f, 0x34, 0x5f, 0x0e, 0xbd, 0xcc, 0xb1, 0x32, 0x07, 0xb1, 0x42, 0xf4, 0x3f, 0x72, 0x30, + 0xe9, 0x47, 0x40, 0xaa, 0x23, 0x68, 0xf6, 0xc2, 0xae, 0x8e, 0xa0, 0x79, 0x8b, 0x22, 0x64, 0x59, + 0xc2, 0xc2, 0xaa, 0x82, 0xb3, 0x7f, 0x07, 0x9d, 0xa0, 0x06, 0x63, 0x9e, 0xa0, 0x52, 0xc9, 0x4e, + 0x50, 0xa5, 0x7f, 0xe6, 0x60, 0xd8, 0x85, 0xdd, 0x73, 0x1a, 0xe4, 0x22, 0x4f, 0x83, 0x03, 0xb1, + 0x4f, 0x83, 0xfd, 0x96, 0xe5, 0xaf, 0x07, 0x60, 0xc1, 0xf7, 0xb2, 0xa9, 0x47, 0x27, 0xec, 0x37, + 0x61, 0x84, 0xdd, 0x83, 0x29, 0xea, 0x9e, 0x66, 0x7d, 0xda, 0xe4, 0x7b, 0x5d, 0x5f, 0x7e, 0x6d, + 0xa9, 0x7b, 0x9a, 0x30, 0x2c, 0x39, 0x7e, 0xf1, 0x55, 0x38, 0xc1, 0x78, 0x5b, 0x77, 0x6e, 0x4d, + 0x4d, 0x63, 0x77, 0xb1, 0x4b, 0x61, 0x63, 0xd8, 0x6c, 0xe9, 0x20, 0x3b, 0x9a, 0x56, 0x17, 0x26, + 0xa4, 0x8e, 0x36, 0xa7, 0xe5, 0x7e, 0x32, 0x18, 0xa0, 0xa9, 0x1e, 0xad, 0x42, 0xfd, 0xd4, 0x54, + 0x0b, 0xe6, 0x7c, 0x35, 0x55, 0x11, 0x65, 0x99, 0x94, 0x2d, 0x25, 0xd5, 0xd9, 0x69, 0x1f, 0x9d, + 0xad, 0xd8, 0x3c, 0xf9, 0x07, 0x30, 0xe3, 0x3f, 0x2c, 0xbd, 0x58, 0xb3, 0xef, 0xa9, 0xbb, 0x1d, + 0xb4, 0xe8, 0x33, 0x28, 0x9d, 0x04, 0xe7, 0x7c, 0xbd, 0xcb, 0xc1, 0x71, 0xbb, 0x83, 0xa2, 0x1a, + 0xb4, 0x03, 0x7f, 0x1e, 0xc6, 0xec, 0xa2, 0x27, 0xbb, 0xae, 0x88, 0xce, 0xd3, 0xa8, 0xd5, 0x6c, + 0x97, 0x15, 0x6d, 0x03, 0xa8, 0xe8, 0x51, 0xa5, 0x69, 0xd2, 0xe2, 0x84, 0xe9, 0x83, 0x9c, 0x8a, + 0x1e, 0x91, 0xc1, 0x71, 0xe9, 0xb7, 0x07, 0x60, 0xd1, 0x35, 0x5b, 0x3b, 0x88, 0xec, 0xaa, 0xe9, + 0xe3, 0x1e, 0x99, 0xd0, 0x35, 0x98, 0x6a, 0x52, 0xb6, 0x44, 0xcf, 0x8e, 0x55, 0x6a, 0x90, 0xac, + 0x52, 0x93, 0x4d, 0x7b, 0x50, 0xad, 0xde, 0x5e, 0xa6, 0x2a, 0x30, 0xc9, 0x26, 0x47, 0x51, 0x0d, + 0x36, 0x39, 0xd4, 0x22, 0x2e, 0x85, 0x4d, 0x4e, 0x87, 0x7e, 0x05, 0x5e, 0xf7, 0x36, 0x39, 0xe7, + 0xe4, 0x63, 0x0e, 0x26, 0x36, 0x11, 0x5a, 0x57, 0x30, 0xd1, 0xf5, 0xa1, 0x05, 0x7e, 0x0d, 0xb2, + 0x58, 0xda, 0x47, 0x72, 0xab, 0x8e, 0x2c, 0x77, 0x59, 0x0e, 0x83, 0xeb, 0x18, 0xba, 0x6c, 0x91, + 0x09, 0x8c, 0x81, 0x03, 0xe6, 0x3f, 0x70, 0x30, 0x47, 0x6b, 0x7f, 0xb5, 0x46, 0xa3, 0xa5, 0x2a, + 0xc6, 0x81, 0xa9, 0xb1, 0xb2, 0xa9, 0xbd, 0x43, 0x43, 0xbe, 0x07, 0x39, 0x6f, 0x09, 0xcb, 0x75, + 0xbb, 0x8e, 0xce, 0xf5, 0x15, 0xac, 0x76, 0x3d, 0x5d, 0x10, 0x06, 0xa1, 0xcd, 0xc9, 0xf5, 0xde, + 0xed, 0xf8, 0x36, 0xae, 0x09, 0xa8, 0xa6, 0x60, 0x03, 0xe9, 0x2b, 0x78, 0x7d, 0x7b, 0x3b, 0xb0, + 0xf4, 0x70, 0x0e, 0xf2, 0x72, 0xa3, 0x51, 0xb1, 0x4c, 0xdf, 0x82, 0x0b, 0x72, 0xa3, 0xb1, 0x42, + 0x5b, 0x4a, 0x45, 0x52, 0x7b, 0xef, 0x62, 0xc6, 0xea, 0xe8, 0xfe, 0x6b, 0x80, 0x54, 0x40, 0xae, + 0x98, 0x5b, 0x0f, 0x3a, 0xd5, 0x3e, 0xfb, 0xf4, 0x64, 0xe5, 0xed, 0x7e, 0x3b, 0xa7, 0xc1, 0xde, + 0xec, 0x9c, 0x82, 0xb6, 0x7e, 0xa9, 0xee, 0xb7, 0x7e, 0x43, 0xc1, 0x5b, 0xbf, 0xf6, 0x4e, 0x2c, + 0x9d, 0x6c, 0x27, 0x56, 0xba, 0x48, 0x5e, 0xa6, 0x08, 0x57, 0xae, 0x3d, 0x15, 0xdf, 0x79, 0x0c, + 0xc3, 0xce, 0xba, 0x2d, 0xfe, 0x2a, 0x4c, 0x6e, 0xfc, 0x70, 0xed, 0xd5, 0x95, 0xd7, 0x5f, 0xd9, + 0xa8, 0xdc, 0x7b, 0xbd, 0xbc, 0xb3, 0xb1, 0xb6, 0xb5, 0xb9, 0xb5, 0xb1, 0x3e, 0x7e, 0xac, 0x58, + 0x78, 0xf2, 0x74, 0xde, 0xf7, 0x19, 0xcf, 0x43, 0xaa, 0xbc, 0x73, 0x77, 0x77, 0x9c, 0x2b, 0x66, + 0x9f, 0x3c, 0x9d, 0x27, 0xff, 0x9b, 0xe6, 0xbc, 0xbe, 0x21, 0x6c, 0xfd, 0x60, 0x65, 0x77, 0xeb, + 0x07, 0x1b, 0xe5, 0xf1, 0x81, 0xe2, 0xd8, 0x93, 0xa7, 0xf3, 0xce, 0xa6, 0xab, 0xff, 0x39, 0x07, + 0x83, 0xdb, 0xb8, 0xc6, 0x8b, 0x90, 0xb1, 0xbf, 0xd4, 0x76, 0x2e, 0x54, 0x56, 0xf6, 0x0d, 0xb5, + 0xe2, 0x52, 0xbc, 0x7e, 0xac, 0xd2, 0x5e, 0x86, 0x2c, 0xfb, 0xce, 0xda, 0xf9, 0x08, 0x5a, 0xbb, + 0x63, 0x71, 0x39, 0x66, 0x47, 0x36, 0xca, 0xfb, 0x1c, 0x9c, 0x0c, 0xfa, 0xf8, 0xd6, 0xcb, 0x11, + 0xcc, 0x02, 0xe8, 0x8a, 0xbf, 0x9c, 0x8c, 0x8e, 0x61, 0xfa, 0x88, 0x83, 0xd3, 0xa1, 0x5f, 0xa3, + 0xfa, 0x7e, 0xbc, 0x01, 0x7c, 0x89, 0x8b, 0x6b, 0x87, 0x20, 0x66, 0x10, 0xff, 0x8e, 0x83, 0xf9, + 0xc8, 0x8f, 0x85, 0xdc, 0x8e, 0x37, 0x52, 0x20, 0x83, 0xe2, 0x2b, 0x87, 0x64, 0xc0, 0xe0, 0xbe, + 0xc3, 0xc1, 0xa4, 0xef, 0xe7, 0xf0, 0xbe, 0x1b, 0x31, 0x82, 0x1f, 0x51, 0xf1, 0xfb, 0x09, 0x88, + 0x18, 0x94, 0x3f, 0xe7, 0xa0, 0x18, 0xf2, 0x31, 0xbb, 0x1b, 0x11, 0xbc, 0x83, 0x49, 0x8b, 0x2b, + 0x89, 0x49, 0x19, 0xb8, 0x77, 0x39, 0x38, 0xe1, 0xff, 0x0d, 0x89, 0x6b, 0xb1, 0x65, 0x76, 0x50, + 0x15, 0x7f, 0x29, 0x09, 0x15, 0x43, 0x73, 0x00, 0x63, 0xde, 0x17, 0xeb, 0xa3, 0x82, 0x88, 0xa7, + 0x7f, 0xf1, 0xe5, 0xee, 0xfa, 0xbb, 0x14, 0xe1, 0xff, 0x86, 0xfc, 0xb5, 0x58, 0x5a, 0xf6, 0x50, + 0x45, 0x2a, 0x22, 0xfc, 0x95, 0xf8, 0xb7, 0xe1, 0x78, 0xe7, 0x4b, 0xe1, 0x97, 0xe3, 0xb0, 0x74, + 0x52, 0x14, 0x7f, 0xb1, 0x5b, 0x0a, 0x06, 0xe0, 0x87, 0x90, 0x22, 0xef, 0x34, 0x2c, 0x44, 0x70, + 0x30, 0x3b, 0x15, 0x2f, 0xc6, 0xe8, 0xe4, 0x72, 0x87, 0x90, 0xcf, 0x7c, 0xdc, 0x88, 0x65, 0x40, + 0x7e, 0xa4, 0x91, 0xee, 0x10, 0xe3, 0xa3, 0x1e, 0x66, 0x94, 0x8b, 0xfc, 0x8e, 0xc5, 0xed, 0xf8, + 0x6e, 0xe7, 0xcb, 0x20, 0x32, 0xca, 0xc5, 0xfe, 0x72, 0xc5, 0x53, 0x0e, 0xa6, 0xc3, 0xde, 0x7b, + 0xbd, 0xd9, 0xa5, 0x46, 0x9c, 0x9e, 0xbc, 0x9a, 0x9c, 0xd6, 0x1d, 0x5d, 0x7c, 0xdf, 0xeb, 0xbc, + 0x16, 0xcb, 0x4d, 0x3d, 0x54, 0xd1, 0xd1, 0x25, 0xec, 0x45, 0x4d, 0xa2, 0xad, 0xb0, 0x57, 0x0e, + 0x6f, 0xc6, 0x77, 0x59, 0x2f, 0x6d, 0xa4, 0xb6, 0xe2, 0xbc, 0x69, 0xe8, 0x58, 0x62, 0x83, 0x3f, + 0x79, 0x17, 0x73, 0x89, 0x0d, 0x64, 0x10, 0x77, 0x89, 0x8d, 0xfc, 0x82, 0x18, 0xff, 0x97, 0x1c, + 0xcc, 0x84, 0x7f, 0xd4, 0x26, 0xde, 0x62, 0x10, 0x40, 0x5d, 0x5c, 0x3f, 0x0c, 0x35, 0x43, 0xf9, + 0x57, 0x1c, 0xcc, 0x46, 0xbc, 0x3d, 0x7d, 0xab, 0xfb, 0x81, 0x9c, 0x8e, 0xb2, 0x71, 0x28, 0x72, + 0x06, 0xf4, 0x03, 0x0e, 0x0a, 0x81, 0xef, 0x10, 0x5f, 0x8f, 0x65, 0xf8, 0x9d, 0x84, 0xc5, 0xdb, + 0x09, 0x09, 0x5d, 0xfa, 0x8b, 0xf8, 0xea, 0xca, 0xad, 0xf8, 0xb6, 0xef, 0x43, 0x1e, 0xa9, 0xbf, + 0x98, 0xdf, 0x5b, 0xf9, 0x29, 0x07, 0xbc, 0xcf, 0x0b, 0xb8, 0x57, 0x22, 0xb8, 0x77, 0x92, 0x14, + 0x6f, 0x74, 0x4d, 0xc2, 0x40, 0xfc, 0x04, 0xc6, 0x3b, 0x5e, 0x85, 0x5d, 0x8e, 0x5c, 0x1d, 0xdd, + 0x04, 0xc5, 0xeb, 0x5d, 0x12, 0x38, 0x77, 0x0d, 0x9d, 0xaf, 0xa4, 0x46, 0xed, 0x1a, 0x3a, 0x28, + 0x22, 0x77, 0x0d, 0x81, 0xef, 0x8e, 0xf2, 0xef, 0x71, 0x30, 0x15, 0xf0, 0xe2, 0xe8, 0xf7, 0x22, + 0xc3, 0x8e, 0x1f, 0x59, 0xf1, 0x56, 0x22, 0x32, 0x06, 0x08, 0xc3, 0x88, 0x3b, 0x51, 0xf2, 0x0b, + 0x11, 0xfc, 0x5c, 0xbd, 0x8b, 0xd7, 0xba, 0xe9, 0xed, 0x72, 0x99, 0x88, 0xa4, 0x49, 0x94, 0x58, + 0xe1, 0xe4, 0x91, 0x2e, 0x13, 0x2f, 0xab, 0xb0, 0xba, 0xff, 0xd9, 0x57, 0xb3, 0xdc, 0xe7, 0x5f, + 0xcd, 0x72, 0xff, 0xf3, 0xd5, 0x2c, 0xf7, 0xc7, 0x5f, 0xcf, 0x1e, 0xfb, 0xfc, 0xeb, 0xd9, 0x63, + 0xff, 0xf1, 0xf5, 0xec, 0xb1, 0x37, 0x5f, 0x77, 0x64, 0x5f, 0xb6, 0xec, 0xa1, 0xee, 0x88, 0x55, + 0xbc, 0xcc, 0x06, 0xbe, 0x24, 0x69, 0x3a, 0x72, 0xfe, 0xdc, 0x17, 0x15, 0x75, 0xb9, 0xa1, 0xc9, + 0xad, 0x3a, 0xc2, 0xed, 0x8f, 0xc9, 0x93, 0x4c, 0x4d, 0x35, 0x4d, 0x3e, 0xf9, 0xfe, 0xdd, 0x9f, + 0x07, 0x00, 0x00, 0xff, 0xff, 0x7f, 0x57, 0xb4, 0x54, 0xed, 0x5e, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -7645,6 +7652,46 @@ func (m *BatchExchangeModificationProposal) MarshalToSizedBuffer(dAtA []byte) (i _ = i var l int _ = l + if m.DenomDecimalsUpdateProposal != nil { + { + size, err := m.DenomDecimalsUpdateProposal.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x5a + } + if len(m.BinaryOptionsParamUpdateProposals) > 0 { + for iNdEx := len(m.BinaryOptionsParamUpdateProposals) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.BinaryOptionsParamUpdateProposals[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x52 + } + } + if len(m.BinaryOptionsMarketLaunchProposals) > 0 { + for iNdEx := len(m.BinaryOptionsMarketLaunchProposals) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.BinaryOptionsMarketLaunchProposals[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x4a + } + } if m.TradingRewardCampaignUpdateProposal != nil { { size, err := m.TradingRewardCampaignUpdateProposal.MarshalToSizedBuffer(dAtA[:i]) @@ -10424,6 +10471,22 @@ func (m *BatchExchangeModificationProposal) Size() (n int) { l = m.TradingRewardCampaignUpdateProposal.Size() n += 1 + l + sovTx(uint64(l)) } + if len(m.BinaryOptionsMarketLaunchProposals) > 0 { + for _, e := range m.BinaryOptionsMarketLaunchProposals { + l = e.Size() + n += 1 + l + sovTx(uint64(l)) + } + } + if len(m.BinaryOptionsParamUpdateProposals) > 0 { + for _, e := range m.BinaryOptionsParamUpdateProposals { + l = e.Size() + n += 1 + l + sovTx(uint64(l)) + } + } + if m.DenomDecimalsUpdateProposal != nil { + l = m.DenomDecimalsUpdateProposal.Size() + n += 1 + l + sovTx(uint64(l)) + } return n } @@ -19210,6 +19273,110 @@ func (m *BatchExchangeModificationProposal) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BinaryOptionsMarketLaunchProposals", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BinaryOptionsMarketLaunchProposals = append(m.BinaryOptionsMarketLaunchProposals, &BinaryOptionsMarketLaunchProposal{}) + if err := m.BinaryOptionsMarketLaunchProposals[len(m.BinaryOptionsMarketLaunchProposals)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BinaryOptionsParamUpdateProposals", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BinaryOptionsParamUpdateProposals = append(m.BinaryOptionsParamUpdateProposals, &BinaryOptionsMarketParamUpdateProposal{}) + if err := m.BinaryOptionsParamUpdateProposals[len(m.BinaryOptionsParamUpdateProposals)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DenomDecimalsUpdateProposal", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.DenomDecimalsUpdateProposal == nil { + m.DenomDecimalsUpdateProposal = &UpdateDenomDecimalsProposal{} + } + if err := m.DenomDecimalsUpdateProposal.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) diff --git a/chain/oracle/types/errors.go b/chain/oracle/types/errors.go index c02bfb6b..cf1a8285 100644 --- a/chain/oracle/types/errors.go +++ b/chain/oracle/types/errors.go @@ -35,4 +35,5 @@ var ( ErrInvalidProvider = sdkerrors.Register(ModuleName, 28, "invalid provider name") ErrInvalidSymbol = sdkerrors.Register(ModuleName, 29, "invalid symbol") ErrRelayerAlreadyExists = sdkerrors.Register(ModuleName, 30, "relayer already exists") + ErrProviderPriceNotFound = sdkerrors.Register(ModuleName, 31, "provider price not found") ) diff --git a/chain/oracle/types/query.pb.go b/chain/oracle/types/query.pb.go index 04dba63f..4a06a188 100644 --- a/chain/oracle/types/query.pb.go +++ b/chain/oracle/types/query.pb.go @@ -522,88 +522,6 @@ func (m *QueryCoinbasePriceStatesResponse) GetPriceStates() []*CoinbasePriceStat return nil } -// QueryProviderPriceStatesRequest is the request type for the Query/ProviderPriceStates RPC method. -type QueryProviderPriceStatesRequest struct { -} - -func (m *QueryProviderPriceStatesRequest) Reset() { *m = QueryProviderPriceStatesRequest{} } -func (m *QueryProviderPriceStatesRequest) String() string { return proto.CompactTextString(m) } -func (*QueryProviderPriceStatesRequest) ProtoMessage() {} -func (*QueryProviderPriceStatesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{12} -} -func (m *QueryProviderPriceStatesRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryProviderPriceStatesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryProviderPriceStatesRequest.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryProviderPriceStatesRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryProviderPriceStatesRequest.Merge(m, src) -} -func (m *QueryProviderPriceStatesRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryProviderPriceStatesRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryProviderPriceStatesRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryProviderPriceStatesRequest proto.InternalMessageInfo - -// QueryProviderPriceStatesResponse is the response type for the Query/ProviderPriceStates RPC method. -type QueryProviderPriceStatesResponse struct { - PriceStates []*ProviderPriceState `protobuf:"bytes,1,rep,name=price_states,json=priceStates,proto3" json:"price_states,omitempty"` -} - -func (m *QueryProviderPriceStatesResponse) Reset() { *m = QueryProviderPriceStatesResponse{} } -func (m *QueryProviderPriceStatesResponse) String() string { return proto.CompactTextString(m) } -func (*QueryProviderPriceStatesResponse) ProtoMessage() {} -func (*QueryProviderPriceStatesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{13} -} -func (m *QueryProviderPriceStatesResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryProviderPriceStatesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryProviderPriceStatesResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryProviderPriceStatesResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryProviderPriceStatesResponse.Merge(m, src) -} -func (m *QueryProviderPriceStatesResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryProviderPriceStatesResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryProviderPriceStatesResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryProviderPriceStatesResponse proto.InternalMessageInfo - -func (m *QueryProviderPriceStatesResponse) GetPriceStates() []*ProviderPriceState { - if m != nil { - return m.PriceStates - } - return nil -} - // QueryProviderPriceStateRequest is the request type for the Query/ProviderPriceState RPC method. type QueryProviderPriceStateRequest struct { Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` @@ -614,7 +532,7 @@ func (m *QueryProviderPriceStateRequest) Reset() { *m = QueryProviderPri func (m *QueryProviderPriceStateRequest) String() string { return proto.CompactTextString(m) } func (*QueryProviderPriceStateRequest) ProtoMessage() {} func (*QueryProviderPriceStateRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{14} + return fileDescriptor_52f5d6f9962923ad, []int{12} } func (m *QueryProviderPriceStateRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -666,7 +584,7 @@ func (m *QueryProviderPriceStateResponse) Reset() { *m = QueryProviderPr func (m *QueryProviderPriceStateResponse) String() string { return proto.CompactTextString(m) } func (*QueryProviderPriceStateResponse) ProtoMessage() {} func (*QueryProviderPriceStateResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{15} + return fileDescriptor_52f5d6f9962923ad, []int{13} } func (m *QueryProviderPriceStateResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -710,7 +628,7 @@ func (m *QueryModuleStateRequest) Reset() { *m = QueryModuleStateRequest func (m *QueryModuleStateRequest) String() string { return proto.CompactTextString(m) } func (*QueryModuleStateRequest) ProtoMessage() {} func (*QueryModuleStateRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{16} + return fileDescriptor_52f5d6f9962923ad, []int{14} } func (m *QueryModuleStateRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -748,7 +666,7 @@ func (m *QueryModuleStateResponse) Reset() { *m = QueryModuleStateRespon func (m *QueryModuleStateResponse) String() string { return proto.CompactTextString(m) } func (*QueryModuleStateResponse) ProtoMessage() {} func (*QueryModuleStateResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{17} + return fileDescriptor_52f5d6f9962923ad, []int{15} } func (m *QueryModuleStateResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -793,7 +711,7 @@ func (m *QueryHistoricalPriceRecordsRequest) Reset() { *m = QueryHistori func (m *QueryHistoricalPriceRecordsRequest) String() string { return proto.CompactTextString(m) } func (*QueryHistoricalPriceRecordsRequest) ProtoMessage() {} func (*QueryHistoricalPriceRecordsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{18} + return fileDescriptor_52f5d6f9962923ad, []int{16} } func (m *QueryHistoricalPriceRecordsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -844,7 +762,7 @@ func (m *QueryHistoricalPriceRecordsResponse) Reset() { *m = QueryHistor func (m *QueryHistoricalPriceRecordsResponse) String() string { return proto.CompactTextString(m) } func (*QueryHistoricalPriceRecordsResponse) ProtoMessage() {} func (*QueryHistoricalPriceRecordsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{19} + return fileDescriptor_52f5d6f9962923ad, []int{17} } func (m *QueryHistoricalPriceRecordsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -894,7 +812,7 @@ func (m *OracleHistoryOptions) Reset() { *m = OracleHistoryOptions{} } func (m *OracleHistoryOptions) String() string { return proto.CompactTextString(m) } func (*OracleHistoryOptions) ProtoMessage() {} func (*OracleHistoryOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{20} + return fileDescriptor_52f5d6f9962923ad, []int{18} } func (m *OracleHistoryOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -955,7 +873,7 @@ func (m *QueryOracleVolatilityRequest) Reset() { *m = QueryOracleVolatil func (m *QueryOracleVolatilityRequest) String() string { return proto.CompactTextString(m) } func (*QueryOracleVolatilityRequest) ProtoMessage() {} func (*QueryOracleVolatilityRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{21} + return fileDescriptor_52f5d6f9962923ad, []int{19} } func (m *QueryOracleVolatilityRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1016,7 +934,7 @@ func (m *QueryOracleVolatilityResponse) Reset() { *m = QueryOracleVolati func (m *QueryOracleVolatilityResponse) String() string { return proto.CompactTextString(m) } func (*QueryOracleVolatilityResponse) ProtoMessage() {} func (*QueryOracleVolatilityResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{22} + return fileDescriptor_52f5d6f9962923ad, []int{20} } func (m *QueryOracleVolatilityResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1066,7 +984,7 @@ func (m *QueryOracleProvidersInfoRequest) Reset() { *m = QueryOracleProv func (m *QueryOracleProvidersInfoRequest) String() string { return proto.CompactTextString(m) } func (*QueryOracleProvidersInfoRequest) ProtoMessage() {} func (*QueryOracleProvidersInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{23} + return fileDescriptor_52f5d6f9962923ad, []int{21} } func (m *QueryOracleProvidersInfoRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1103,7 +1021,7 @@ func (m *QueryOracleProvidersInfoResponse) Reset() { *m = QueryOraclePro func (m *QueryOracleProvidersInfoResponse) String() string { return proto.CompactTextString(m) } func (*QueryOracleProvidersInfoResponse) ProtoMessage() {} func (*QueryOracleProvidersInfoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{24} + return fileDescriptor_52f5d6f9962923ad, []int{22} } func (m *QueryOracleProvidersInfoResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1147,7 +1065,7 @@ func (m *QueryOracleProviderPricesRequest) Reset() { *m = QueryOraclePro func (m *QueryOracleProviderPricesRequest) String() string { return proto.CompactTextString(m) } func (*QueryOracleProviderPricesRequest) ProtoMessage() {} func (*QueryOracleProviderPricesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{25} + return fileDescriptor_52f5d6f9962923ad, []int{23} } func (m *QueryOracleProviderPricesRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1191,7 +1109,7 @@ func (m *QueryOracleProviderPricesResponse) Reset() { *m = QueryOraclePr func (m *QueryOracleProviderPricesResponse) String() string { return proto.CompactTextString(m) } func (*QueryOracleProviderPricesResponse) ProtoMessage() {} func (*QueryOracleProviderPricesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{26} + return fileDescriptor_52f5d6f9962923ad, []int{24} } func (m *QueryOracleProviderPricesResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1240,8 +1158,6 @@ func init() { proto.RegisterType((*QueryPriceFeedPriceStatesResponse)(nil), "injective.oracle.v1beta1.QueryPriceFeedPriceStatesResponse") proto.RegisterType((*QueryCoinbasePriceStatesRequest)(nil), "injective.oracle.v1beta1.QueryCoinbasePriceStatesRequest") proto.RegisterType((*QueryCoinbasePriceStatesResponse)(nil), "injective.oracle.v1beta1.QueryCoinbasePriceStatesResponse") - proto.RegisterType((*QueryProviderPriceStatesRequest)(nil), "injective.oracle.v1beta1.QueryProviderPriceStatesRequest") - proto.RegisterType((*QueryProviderPriceStatesResponse)(nil), "injective.oracle.v1beta1.QueryProviderPriceStatesResponse") proto.RegisterType((*QueryProviderPriceStateRequest)(nil), "injective.oracle.v1beta1.QueryProviderPriceStateRequest") proto.RegisterType((*QueryProviderPriceStateResponse)(nil), "injective.oracle.v1beta1.QueryProviderPriceStateResponse") proto.RegisterType((*QueryModuleStateRequest)(nil), "injective.oracle.v1beta1.QueryModuleStateRequest") @@ -1262,92 +1178,90 @@ func init() { } var fileDescriptor_52f5d6f9962923ad = []byte{ - // 1348 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0xcf, 0x6f, 0x1b, 0x45, - 0x14, 0xce, 0xa6, 0xad, 0x89, 0x9f, 0x0b, 0x6d, 0x27, 0x56, 0xeb, 0x6e, 0x5b, 0xd7, 0xdd, 0xb6, - 0x6e, 0x42, 0x1a, 0x2f, 0x71, 0x80, 0xb4, 0x21, 0x54, 0xaa, 0x13, 0x0a, 0x29, 0x8d, 0x12, 0xb6, - 0xe5, 0x87, 0xb8, 0x58, 0xe3, 0xf5, 0xc4, 0x5e, 0x6a, 0xef, 0x38, 0xbb, 0xeb, 0xb4, 0x56, 0x55, - 0x21, 0x71, 0x44, 0x48, 0x20, 0xf1, 0x4f, 0x20, 0x38, 0x71, 0xe0, 0xc0, 0x15, 0x09, 0xa9, 0xdc, - 0x8a, 0x10, 0x12, 0xe2, 0x50, 0xa1, 0x84, 0x3f, 0x04, 0xed, 0xcc, 0xec, 0xc6, 0x8e, 0x67, 0xbd, - 0xb6, 0x25, 0x4e, 0xf5, 0xcc, 0xbc, 0x1f, 0xdf, 0xf7, 0x66, 0xde, 0xdb, 0xaf, 0x81, 0x2b, 0x96, - 0xfd, 0x19, 0x31, 0x3d, 0x6b, 0x97, 0xe8, 0xd4, 0xc1, 0x66, 0x83, 0xe8, 0xbb, 0x0b, 0x15, 0xe2, - 0xe1, 0x05, 0x7d, 0xa7, 0x4d, 0x9c, 0x4e, 0xa1, 0xe5, 0x50, 0x8f, 0xa2, 0x4c, 0x68, 0x55, 0xe0, - 0x56, 0x05, 0x61, 0xa5, 0x9e, 0xaf, 0x51, 0x5a, 0x6b, 0x10, 0x1d, 0xb7, 0x2c, 0x1d, 0xdb, 0x36, - 0xf5, 0xb0, 0x67, 0x51, 0xdb, 0xe5, 0x7e, 0xea, 0xd5, 0xc8, 0xe8, 0x22, 0x0c, 0x37, 0xcb, 0x47, - 0x9a, 0xd5, 0x88, 0x4d, 0x5c, 0x2b, 0x08, 0x97, 0xae, 0xd1, 0x1a, 0x65, 0x3f, 0x75, 0xff, 0x17, - 0xdf, 0xd5, 0xd2, 0x80, 0x3e, 0xf0, 0xb1, 0x6e, 0x61, 0x07, 0x37, 0x5d, 0x83, 0xec, 0xb4, 0x89, - 0xeb, 0x69, 0x1f, 0xc2, 0x74, 0xcf, 0xae, 0xdb, 0xa2, 0xb6, 0x4b, 0xd0, 0x2d, 0x48, 0xb4, 0xd8, - 0x4e, 0x46, 0xc9, 0x29, 0x33, 0xa9, 0x62, 0xae, 0x10, 0x45, 0xad, 0xc0, 0x3d, 0x4b, 0x47, 0x9f, - 0xbd, 0xb8, 0x38, 0x61, 0x08, 0x2f, 0x4d, 0x85, 0x0c, 0x0b, 0x5b, 0xc2, 0x76, 0xd5, 0x20, 0x0d, - 0xdc, 0x21, 0x4e, 0x98, 0x72, 0x09, 0xce, 0x4a, 0xce, 0x44, 0x62, 0x15, 0xa6, 0x1c, 0xb1, 0x97, - 0x51, 0x72, 0x47, 0x66, 0x92, 0x46, 0xb8, 0xd6, 0x2e, 0xc0, 0xb9, 0xd0, 0x71, 0xcb, 0xb1, 0x4c, - 0x72, 0xdf, 0xc3, 0x1e, 0x09, 0xe3, 0x3e, 0x84, 0xf3, 0xf2, 0x63, 0x11, 0xfa, 0x7d, 0x38, 0xde, - 0xf2, 0xb7, 0xcb, 0x2e, 0xdb, 0x67, 0xe1, 0x53, 0xc5, 0x99, 0x68, 0x66, 0xbd, 0x81, 0x8c, 0x54, - 0xeb, 0x20, 0xa8, 0x96, 0x83, 0x6c, 0x98, 0x6c, 0xbd, 0xb4, 0x2a, 0x81, 0x63, 0xc3, 0xc5, 0x48, - 0x8b, 0xff, 0x03, 0x91, 0x06, 0x39, 0x7e, 0x93, 0xfe, 0xde, 0x1d, 0x42, 0x64, 0x25, 0x6a, 0xc1, - 0xa5, 0x01, 0x36, 0xe3, 0xa2, 0x0a, 0xa3, 0x49, 0x50, 0x5d, 0x12, 0x55, 0x58, 0xa5, 0x96, 0x5d, - 0xc1, 0x2e, 0x91, 0x80, 0x72, 0x05, 0x70, 0xa9, 0x89, 0xc0, 0xb4, 0x29, 0xc5, 0x74, 0x3d, 0x1a, - 0x53, 0x7f, 0x30, 0x39, 0xae, 0x2d, 0x87, 0xee, 0x5a, 0x55, 0xe2, 0x0c, 0xc0, 0x25, 0x35, 0x19, - 0x17, 0x57, 0x7f, 0xb0, 0x5e, 0x5c, 0x0f, 0xc4, 0xbb, 0x92, 0xd8, 0x71, 0x58, 0x7e, 0x87, 0xb4, - 0xc4, 0x21, 0x6b, 0xce, 0xa4, 0x11, 0xae, 0xd1, 0x69, 0x48, 0xb8, 0x9d, 0x66, 0x85, 0x36, 0x32, - 0x93, 0xec, 0x44, 0xac, 0xb4, 0x7a, 0x24, 0xdb, 0x90, 0xc9, 0x3b, 0x90, 0xea, 0x62, 0x22, 0xda, - 0xfe, 0x4a, 0xcc, 0xa5, 0xf3, 0x10, 0x70, 0x40, 0x40, 0x3b, 0x0b, 0x67, 0x58, 0xa6, 0x0d, 0x5a, - 0x6d, 0x37, 0x7a, 0x80, 0x6b, 0x9f, 0x88, 0x99, 0xd0, 0x73, 0x24, 0xb2, 0xaf, 0xc0, 0xb1, 0xee, - 0xbc, 0xf9, 0xe8, 0xbc, 0xef, 0xf2, 0x51, 0xc7, 0xdd, 0xb9, 0x93, 0xf6, 0x39, 0x68, 0x2c, 0xf2, - 0x7b, 0x96, 0xeb, 0x51, 0xc7, 0x32, 0x71, 0x83, 0xa1, 0x33, 0x88, 0x49, 0x9d, 0x6a, 0x70, 0x9f, - 0x68, 0x05, 0x12, 0x3c, 0x16, 0x4b, 0xf2, 0xca, 0x20, 0x72, 0x9b, 0x6c, 0xf9, 0xa0, 0xd3, 0x22, - 0x86, 0xf0, 0x41, 0xe7, 0x20, 0xc9, 0x8b, 0x59, 0xb6, 0xaa, 0xa2, 0xba, 0x53, 0x7c, 0x63, 0xbd, - 0xaa, 0x39, 0x70, 0x79, 0x20, 0x80, 0xb0, 0xb3, 0x5e, 0xe6, 0x35, 0x76, 0xf8, 0x81, 0x78, 0x2e, - 0xf9, 0x98, 0x2a, 0x07, 0x61, 0xf8, 0x53, 0x13, 0x2b, 0xed, 0x4b, 0x05, 0xd2, 0x1c, 0x27, 0xcf, - 0xda, 0xd9, 0x6c, 0xb1, 0x6f, 0x0a, 0x3a, 0x03, 0x2f, 0x35, 0xf1, 0xe3, 0x32, 0xae, 0x71, 0xa2, - 0x47, 0x8d, 0x44, 0x13, 0x3f, 0xbe, 0x5d, 0x23, 0xa8, 0x00, 0xd3, 0x96, 0x6d, 0x36, 0xda, 0x55, - 0x52, 0x76, 0xf0, 0xa3, 0x72, 0x9d, 0xbb, 0x31, 0x32, 0x53, 0xc6, 0x29, 0x71, 0x64, 0xe0, 0x47, - 0x22, 0x1e, 0x9a, 0x85, 0x93, 0x81, 0x7d, 0x93, 0x78, 0xb8, 0x8a, 0x3d, 0x9c, 0x39, 0xc2, 0x8c, - 0x4f, 0x88, 0xfd, 0x0d, 0xb1, 0xad, 0x7d, 0x35, 0x29, 0x86, 0x2f, 0x47, 0xf4, 0x11, 0x6d, 0x60, - 0xcf, 0x6a, 0x58, 0x5e, 0x27, 0x28, 0xfe, 0x6d, 0x48, 0xfa, 0xed, 0x58, 0xb6, 0xec, 0x6d, 0x1a, - 0xff, 0xb8, 0x78, 0x94, 0x75, 0x7b, 0x9b, 0x1a, 0x53, 0xbe, 0x9b, 0xff, 0x0b, 0xad, 0x02, 0xec, - 0xb4, 0xa9, 0x27, 0x62, 0x4c, 0x8e, 0x10, 0x23, 0xc9, 0xfc, 0x58, 0x90, 0x2a, 0x9c, 0xe6, 0x76, - 0x01, 0xfd, 0x32, 0xe5, 0x65, 0x63, 0xcc, 0x52, 0xc5, 0x42, 0x5c, 0xc0, 0xde, 0x62, 0x1b, 0x69, - 0x2a, 0xd9, 0xf5, 0xcb, 0x71, 0x21, 0xa2, 0x1c, 0xe2, 0x29, 0xdc, 0x05, 0xd8, 0x0d, 0x77, 0x79, - 0x1f, 0x97, 0x5e, 0xfd, 0xfb, 0xc5, 0xc5, 0x7c, 0xcd, 0xf2, 0xea, 0xed, 0x4a, 0xc1, 0xa4, 0x4d, - 0xdd, 0xa4, 0x6e, 0x93, 0xba, 0xe2, 0x9f, 0x79, 0xb7, 0xfa, 0x50, 0xf7, 0x3a, 0x2d, 0xe2, 0x16, - 0xd6, 0x88, 0x69, 0x74, 0x79, 0xa3, 0x8f, 0xe1, 0x64, 0x40, 0x26, 0xbc, 0x27, 0x5e, 0x9e, 0x01, - 0x83, 0x28, 0xb8, 0x3a, 0xbf, 0x91, 0x2c, 0xd7, 0xb3, 0x4c, 0xd7, 0x38, 0x21, 0xa2, 0x04, 0x47, - 0xe8, 0x0e, 0xa4, 0xba, 0x1f, 0xca, 0x11, 0xf6, 0x5a, 0xaf, 0x0e, 0xf5, 0x5a, 0x0d, 0x70, 0xc2, - 0x87, 0x14, 0x0e, 0x5b, 0x5e, 0x8d, 0x60, 0x08, 0xb9, 0xec, 0x6e, 0xc4, 0x70, 0xa8, 0x8b, 0x61, - 0x2b, 0x35, 0x11, 0x35, 0x5b, 0x83, 0x64, 0x30, 0xe9, 0x86, 0x6a, 0x1d, 0x6e, 0xca, 0x5f, 0x40, - 0xe8, 0xa8, 0xdd, 0x92, 0x66, 0x62, 0xd0, 0xdd, 0x21, 0x66, 0xac, 0xe6, 0x88, 0x6f, 0xa8, 0xdc, - 0x5f, 0x40, 0xdd, 0xf0, 0x3b, 0x9d, 0x9f, 0xdc, 0x17, 0x73, 0xcd, 0x87, 0x7b, 0x2d, 0x1e, 0x2e, - 0x1f, 0x6c, 0xbd, 0xde, 0xc5, 0x1f, 0xa6, 0xe1, 0x18, 0x4b, 0x8a, 0xbe, 0x56, 0x20, 0xc1, 0x15, - 0x17, 0x1a, 0x70, 0xb9, 0xfd, 0x42, 0x4f, 0x9d, 0x1f, 0xd2, 0x9a, 0x13, 0xd0, 0x66, 0xbe, 0xf8, - 0xe3, 0xdf, 0x6f, 0x27, 0x35, 0x94, 0xd3, 0x23, 0x45, 0x27, 0x97, 0x7a, 0xe8, 0x3b, 0x05, 0x8e, - 0x77, 0x4b, 0x39, 0x54, 0x8c, 0xc9, 0x24, 0xd1, 0x84, 0xea, 0xe2, 0x48, 0x3e, 0x02, 0xa3, 0xce, - 0x30, 0xce, 0xa2, 0x6b, 0xd1, 0x18, 0x2b, 0xd8, 0xae, 0x96, 0x03, 0x01, 0x89, 0x7e, 0x52, 0xe0, - 0xc4, 0x21, 0x75, 0x88, 0xde, 0x18, 0x22, 0x73, 0xbf, 0x38, 0x50, 0xdf, 0x1c, 0xd5, 0x4d, 0x60, - 0x5e, 0x64, 0x98, 0xe7, 0xd1, 0x5c, 0x0c, 0xe6, 0x6e, 0x55, 0x81, 0x7e, 0x51, 0x00, 0xf5, 0xcb, - 0x48, 0x74, 0x63, 0x08, 0x0c, 0x52, 0x6d, 0xaa, 0xde, 0x1c, 0xc3, 0x53, 0x10, 0x58, 0x62, 0x04, - 0x16, 0x90, 0x1e, 0x43, 0xc0, 0xaa, 0x98, 0xbd, 0x24, 0x7e, 0x53, 0x20, 0x2d, 0xd3, 0x9d, 0x68, - 0x39, 0xee, 0x65, 0x46, 0x0b, 0x5a, 0xf5, 0xad, 0xb1, 0x7c, 0x05, 0x95, 0x1b, 0x8c, 0x4a, 0x11, - 0xbd, 0x36, 0xe0, 0x8d, 0xfb, 0x6e, 0xdb, 0x84, 0x1c, 0xba, 0x90, 0x5f, 0x15, 0x98, 0x96, 0xc8, - 0x55, 0x14, 0x57, 0xd7, 0x68, 0x15, 0xac, 0x2e, 0x8f, 0xe3, 0x3a, 0xfc, 0x9d, 0x98, 0xc2, 0xbd, - 0x9f, 0x87, 0x44, 0xde, 0xc6, 0xf2, 0x88, 0x56, 0xcd, 0xea, 0xf2, 0x38, 0xae, 0xc3, 0xf3, 0x08, - 0xe6, 0x62, 0x2f, 0x8f, 0x3f, 0x15, 0x40, 0xfd, 0x81, 0x63, 0x1b, 0x24, 0x52, 0x64, 0xab, 0x37, - 0xc7, 0xf0, 0x14, 0x24, 0xee, 0x32, 0x12, 0x6b, 0xa8, 0x34, 0x1a, 0x09, 0xfd, 0x49, 0xb0, 0xfb, - 0x54, 0x7f, 0xc2, 0x85, 0xe5, 0x53, 0xf4, 0xbd, 0x02, 0xa7, 0xf8, 0x77, 0xa6, 0x4b, 0x34, 0xa3, - 0x85, 0x18, 0x70, 0xfd, 0xda, 0x5b, 0x2d, 0x8e, 0xe2, 0x22, 0x88, 0x14, 0x18, 0x91, 0x19, 0x94, - 0x8f, 0x26, 0xd2, 0x64, 0x6e, 0x9c, 0x00, 0xfa, 0x5d, 0x81, 0xd3, 0x72, 0x01, 0x8c, 0x56, 0x62, - 0xd2, 0x0f, 0x14, 0xee, 0xea, 0xdb, 0x63, 0x7a, 0x0b, 0x1e, 0xcb, 0x8c, 0xc7, 0xeb, 0xa8, 0x18, - 0xcd, 0xa3, 0x1e, 0x46, 0x28, 0xf7, 0x08, 0x74, 0xf4, 0xa3, 0x02, 0x27, 0x0f, 0x6b, 0x38, 0x14, - 0x37, 0xfb, 0x23, 0x34, 0xb0, 0xba, 0x34, 0xb2, 0x9f, 0x60, 0x70, 0x9d, 0x31, 0xc8, 0xa3, 0x2b, - 0xd1, 0x0c, 0xba, 0xe4, 0xe0, 0xcf, 0x0a, 0x4c, 0x4b, 0x64, 0x54, 0x6c, 0x53, 0x47, 0xab, 0xb3, - 0xd8, 0xa6, 0x1e, 0xa0, 0xda, 0xb4, 0x39, 0x06, 0xfe, 0x2a, 0xba, 0x1c, 0xdf, 0x0f, 0xec, 0x4b, - 0x97, 0x96, 0x09, 0x2b, 0x34, 0x1a, 0x82, 0x1e, 0x35, 0x17, 0xfb, 0x91, 0x18, 0xa4, 0xe4, 0xb4, - 0x05, 0x06, 0x7f, 0x0e, 0xcd, 0x0e, 0xdb, 0xce, 0x6e, 0x69, 0xfb, 0xd9, 0x5e, 0x56, 0x79, 0xbe, - 0x97, 0x55, 0xfe, 0xd9, 0xcb, 0x2a, 0xdf, 0xec, 0x67, 0x27, 0x9e, 0xef, 0x67, 0x27, 0xfe, 0xda, - 0xcf, 0x4e, 0x7c, 0x7a, 0xaf, 0x4b, 0xdd, 0xaf, 0x07, 0xe1, 0xee, 0xe1, 0x8a, 0x7b, 0x10, 0x7c, - 0xde, 0xa4, 0x0e, 0xe9, 0x5e, 0xd6, 0xb1, 0x65, 0x8b, 0x46, 0x73, 0x83, 0xcc, 0xec, 0xff, 0x01, - 0x95, 0x04, 0xfb, 0xc3, 0xde, 0xe2, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x25, 0xa1, 0xf3, 0x8e, - 0x9d, 0x14, 0x00, 0x00, + // 1322 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0xdf, 0x6f, 0xdb, 0x54, + 0x14, 0xae, 0xbb, 0x2d, 0x34, 0x27, 0x83, 0xb6, 0xb7, 0x51, 0x97, 0x79, 0x5b, 0x9a, 0x79, 0x6d, + 0xd6, 0xd2, 0x35, 0xa6, 0x29, 0xd0, 0x51, 0xca, 0xa4, 0xa5, 0x65, 0xd0, 0xb1, 0xaa, 0xc5, 0x1b, + 0x3f, 0xc4, 0x4b, 0x74, 0xe3, 0xdc, 0x26, 0x66, 0x89, 0x6f, 0x6a, 0x3b, 0xdd, 0xa2, 0x69, 0x42, + 0xe2, 0x11, 0x21, 0x81, 0xc4, 0x3f, 0x81, 0x78, 0xe3, 0x81, 0x07, 0x5e, 0x91, 0x90, 0xc6, 0xdb, + 0x10, 0x42, 0x42, 0x3c, 0x4c, 0xa8, 0xe5, 0x0f, 0x41, 0xbe, 0xf7, 0xda, 0x75, 0x1a, 0x3b, 0x4e, + 0x2a, 0xf1, 0xb4, 0xf8, 0xdc, 0xf3, 0xe3, 0xfb, 0xce, 0x3d, 0xf7, 0xf4, 0xd3, 0x60, 0xd6, 0x30, + 0x3f, 0x27, 0xba, 0x63, 0x1c, 0x10, 0x95, 0x5a, 0x58, 0x6f, 0x10, 0xf5, 0x60, 0xb9, 0x42, 0x1c, + 0xbc, 0xac, 0xee, 0xb7, 0x89, 0xd5, 0x29, 0xb4, 0x2c, 0xea, 0x50, 0x94, 0xf1, 0xbd, 0x0a, 0xdc, + 0xab, 0x20, 0xbc, 0xe4, 0xcb, 0x35, 0x4a, 0x6b, 0x0d, 0xa2, 0xe2, 0x96, 0xa1, 0x62, 0xd3, 0xa4, + 0x0e, 0x76, 0x0c, 0x6a, 0xda, 0x3c, 0x4e, 0x9e, 0x8b, 0xcc, 0x2e, 0xd2, 0x70, 0xb7, 0x7c, 0xa4, + 0x5b, 0x8d, 0x98, 0xc4, 0x36, 0xbc, 0x74, 0xe9, 0x1a, 0xad, 0x51, 0xf6, 0x53, 0x75, 0x7f, 0x71, + 0xab, 0x92, 0x06, 0xf4, 0xa1, 0x8b, 0x75, 0x17, 0x5b, 0xb8, 0x69, 0x6b, 0x64, 0xbf, 0x4d, 0x6c, + 0x47, 0xf9, 0x08, 0xa6, 0xba, 0xac, 0x76, 0x8b, 0x9a, 0x36, 0x41, 0xb7, 0x20, 0xd1, 0x62, 0x96, + 0x8c, 0x94, 0x93, 0xe6, 0x53, 0xc5, 0x5c, 0x21, 0x8a, 0x5a, 0x81, 0x47, 0x96, 0xce, 0x3e, 0x7b, + 0x31, 0x33, 0xa2, 0x89, 0x28, 0x45, 0x86, 0x0c, 0x4b, 0x5b, 0xc2, 0x66, 0x55, 0x23, 0x0d, 0xdc, + 0x21, 0x96, 0x5f, 0x72, 0x15, 0x2e, 0x86, 0x9c, 0x89, 0xc2, 0x32, 0x8c, 0x59, 0xc2, 0x96, 0x91, + 0x72, 0x67, 0xe6, 0x93, 0x9a, 0xff, 0xad, 0x5c, 0x81, 0x4b, 0x7e, 0xe0, 0xae, 0x65, 0xe8, 0xe4, + 0xbe, 0x83, 0x1d, 0xe2, 0xe7, 0x7d, 0x08, 0x97, 0xc3, 0x8f, 0x45, 0xea, 0x0f, 0xe0, 0x7c, 0xcb, + 0x35, 0x97, 0x6d, 0x66, 0x67, 0xe9, 0x53, 0xc5, 0xf9, 0x68, 0x66, 0xdd, 0x89, 0xb4, 0x54, 0xeb, + 0x38, 0xa9, 0x92, 0x83, 0xac, 0x5f, 0x6c, 0xab, 0xb4, 0x11, 0x02, 0xc7, 0x84, 0x99, 0x48, 0x8f, + 0xff, 0x03, 0x91, 0x02, 0x39, 0x7e, 0x93, 0xae, 0xed, 0x0e, 0x21, 0x61, 0x2d, 0x6a, 0xc1, 0xd5, + 0x3e, 0x3e, 0xa7, 0x45, 0xe5, 0x67, 0x0b, 0x41, 0x75, 0x55, 0x74, 0x61, 0x83, 0x1a, 0x66, 0x05, + 0xdb, 0x24, 0x04, 0x94, 0x2d, 0x80, 0x87, 0xba, 0x08, 0x4c, 0x3b, 0xa1, 0x98, 0x6e, 0x44, 0x63, + 0xea, 0x4d, 0xd6, 0x8d, 0xeb, 0x81, 0xb8, 0xbf, 0x5d, 0x8b, 0x1e, 0x18, 0x55, 0x62, 0x05, 0xfc, + 0x38, 0x2c, 0x77, 0x12, 0x5b, 0xe2, 0x90, 0x3d, 0x82, 0xa4, 0xe6, 0x7f, 0xa3, 0x69, 0x48, 0xd8, + 0x9d, 0x66, 0x85, 0x36, 0x32, 0xa3, 0xec, 0x44, 0x7c, 0x29, 0x75, 0xc1, 0x36, 0x2c, 0xab, 0x60, + 0xf2, 0x2e, 0xa4, 0x02, 0x4c, 0xc4, 0xf3, 0x9a, 0x8d, 0x69, 0x2e, 0x4f, 0x01, 0xc7, 0x04, 0x94, + 0x8b, 0x70, 0x81, 0x55, 0xda, 0xa6, 0xd5, 0x76, 0xa3, 0x0b, 0xb8, 0xf2, 0xa9, 0x78, 0x7b, 0x5d, + 0x47, 0xa2, 0xfa, 0x3a, 0x9c, 0x0b, 0xd6, 0xcd, 0x47, 0xd7, 0x7d, 0x8f, 0xaf, 0x14, 0x1e, 0xce, + 0x83, 0x94, 0x2f, 0x40, 0x61, 0x99, 0xdf, 0x37, 0x6c, 0x87, 0x5a, 0x86, 0x8e, 0x1b, 0x0c, 0x9d, + 0x46, 0x74, 0x6a, 0x55, 0xbd, 0xfb, 0x44, 0xeb, 0x90, 0xe0, 0xb9, 0x58, 0x91, 0x57, 0xfa, 0x91, + 0xdb, 0x61, 0x9f, 0x0f, 0x3a, 0x2d, 0xa2, 0x89, 0x18, 0x74, 0x09, 0x92, 0xbc, 0x99, 0x65, 0xa3, + 0x2a, 0xba, 0x3b, 0xc6, 0x0d, 0x5b, 0x55, 0xc5, 0x82, 0x6b, 0x7d, 0x01, 0xf8, 0x13, 0xfc, 0x32, + 0xef, 0xb1, 0xc5, 0x0f, 0xc4, 0xb8, 0xe4, 0x63, 0xba, 0xec, 0xa5, 0xe1, 0xa3, 0x26, 0xbe, 0x94, + 0xaf, 0x24, 0x48, 0x73, 0x9c, 0xbc, 0x6a, 0x67, 0xa7, 0xc5, 0x76, 0x37, 0xba, 0x00, 0x2f, 0x35, + 0xf1, 0xe3, 0x32, 0xae, 0x71, 0xa2, 0x67, 0xb5, 0x44, 0x13, 0x3f, 0xbe, 0x5d, 0x23, 0xa8, 0x00, + 0x53, 0x86, 0xa9, 0x37, 0xda, 0x55, 0x52, 0xb6, 0xf0, 0xa3, 0x72, 0x9d, 0x87, 0x31, 0x32, 0x63, + 0xda, 0xa4, 0x38, 0xd2, 0xf0, 0x23, 0x91, 0x0f, 0x2d, 0xc0, 0x84, 0xe7, 0xdf, 0x24, 0x0e, 0xae, + 0x62, 0x07, 0x67, 0xce, 0x30, 0xe7, 0x71, 0x61, 0xdf, 0x16, 0x66, 0xe5, 0xeb, 0x51, 0xb1, 0xe4, + 0x38, 0xa2, 0x8f, 0x69, 0x03, 0x3b, 0x46, 0xc3, 0x70, 0x3a, 0x5e, 0xf3, 0x6f, 0x43, 0xd2, 0x1d, + 0xfb, 0xb2, 0x61, 0xee, 0xd1, 0xf8, 0xe1, 0xe2, 0x59, 0xb6, 0xcc, 0x3d, 0xaa, 0x8d, 0xb9, 0x61, + 0xee, 0x2f, 0xb4, 0x01, 0xb0, 0xdf, 0xa6, 0x8e, 0xc8, 0x31, 0x3a, 0x44, 0x8e, 0x24, 0x8b, 0x63, + 0x49, 0xaa, 0x30, 0xcd, 0xfd, 0x3c, 0xfa, 0x65, 0xca, 0xdb, 0xc6, 0x98, 0xa5, 0x8a, 0x85, 0xb8, + 0x84, 0xdd, 0xcd, 0xd6, 0xd2, 0x34, 0xc4, 0xea, 0xb6, 0xe3, 0x4a, 0x44, 0x3b, 0xc4, 0x28, 0xdc, + 0x05, 0x38, 0xf0, 0xad, 0xfc, 0x1d, 0x97, 0x5e, 0xfd, 0xfb, 0xc5, 0x4c, 0xbe, 0x66, 0x38, 0xf5, + 0x76, 0xa5, 0xa0, 0xd3, 0xa6, 0xaa, 0x53, 0xbb, 0x49, 0x6d, 0xf1, 0xcf, 0x92, 0x5d, 0x7d, 0xa8, + 0x3a, 0x9d, 0x16, 0xb1, 0x0b, 0x9b, 0x44, 0xd7, 0x02, 0xd1, 0xe8, 0x13, 0x98, 0xf0, 0xc8, 0xf8, + 0xf7, 0xc4, 0xdb, 0xd3, 0x67, 0x11, 0x79, 0x57, 0xe7, 0x3e, 0x24, 0xc3, 0x76, 0x0c, 0xdd, 0xd6, + 0xc6, 0x45, 0x16, 0xef, 0x08, 0xdd, 0x81, 0x54, 0x70, 0x50, 0xce, 0xb0, 0x69, 0x9d, 0x1b, 0x68, + 0x5a, 0x35, 0xb0, 0xfc, 0x41, 0xf2, 0x97, 0x2d, 0xef, 0x86, 0xb7, 0x84, 0x6c, 0x76, 0x37, 0x62, + 0x39, 0xd4, 0xc5, 0xb2, 0x0d, 0x75, 0x11, 0x3d, 0xdb, 0x84, 0xa4, 0xb7, 0xe9, 0x06, 0x7a, 0x3a, + 0xdc, 0x95, 0x4f, 0x80, 0x1f, 0xa8, 0xdc, 0x0a, 0xad, 0xc4, 0xa0, 0xdb, 0x03, 0xec, 0x58, 0xc5, + 0x12, 0x7f, 0xab, 0xc2, 0xe3, 0x05, 0xd4, 0x6d, 0xf7, 0xa5, 0xf3, 0x93, 0xfb, 0x62, 0xaf, 0xb9, + 0x70, 0xaf, 0xc7, 0xc3, 0xe5, 0x8b, 0xad, 0x3b, 0xba, 0x78, 0x34, 0x09, 0xe7, 0x58, 0x51, 0xf4, + 0x8d, 0x04, 0x09, 0xae, 0x6c, 0x50, 0x9f, 0xcb, 0xed, 0x15, 0x54, 0xf2, 0xd2, 0x80, 0xde, 0x9c, + 0x80, 0x32, 0xff, 0xe5, 0x1f, 0xff, 0x7e, 0x37, 0xaa, 0xa0, 0x9c, 0x1a, 0x29, 0xee, 0xb8, 0xa4, + 0x42, 0xdf, 0x4b, 0x70, 0x3e, 0x28, 0x99, 0x50, 0x31, 0xa6, 0x52, 0x88, 0xf6, 0x92, 0x57, 0x86, + 0x8a, 0x11, 0x18, 0x55, 0x86, 0x71, 0x01, 0x5d, 0x8f, 0xc6, 0x58, 0xc1, 0x66, 0xb5, 0xec, 0x09, + 0x35, 0xf4, 0x93, 0x04, 0xe3, 0x27, 0x54, 0x18, 0x7a, 0x63, 0x80, 0xca, 0xbd, 0xe2, 0x40, 0x7e, + 0x73, 0xd8, 0x30, 0x81, 0x79, 0x85, 0x61, 0x5e, 0x42, 0x8b, 0x31, 0x98, 0x83, 0xaa, 0x02, 0xfd, + 0x22, 0x01, 0xea, 0x95, 0x6b, 0xe8, 0xe6, 0x00, 0x18, 0x42, 0x35, 0xa0, 0xfc, 0xd6, 0x29, 0x22, + 0x05, 0x81, 0x55, 0x46, 0x60, 0x19, 0xa9, 0x31, 0x04, 0x8c, 0x8a, 0xde, 0x4d, 0xe2, 0x37, 0x09, + 0xd2, 0x61, 0xfa, 0x0e, 0xad, 0xc5, 0x4d, 0x66, 0xb4, 0x70, 0x94, 0xdf, 0x3e, 0x55, 0xac, 0xa0, + 0x72, 0x93, 0x51, 0x29, 0xa2, 0xd7, 0xfa, 0xcc, 0xb8, 0x1b, 0xb6, 0x47, 0xc8, 0x89, 0x0b, 0xf9, + 0x55, 0x82, 0xa9, 0x10, 0x59, 0x88, 0xe2, 0xfa, 0x1a, 0xad, 0x36, 0xe5, 0xb5, 0xd3, 0x84, 0x0e, + 0x7e, 0x27, 0xba, 0x08, 0xef, 0xe6, 0xf1, 0xa7, 0x04, 0xa8, 0x57, 0x13, 0xc6, 0x0e, 0x56, 0xa4, + 0x38, 0x8d, 0x1d, 0xac, 0x68, 0x01, 0xaa, 0xdc, 0x65, 0x24, 0x36, 0x51, 0xa9, 0xdf, 0x6d, 0xf0, + 0xe8, 0x20, 0x09, 0xf5, 0x89, 0x67, 0x7d, 0xaa, 0x3e, 0xe1, 0x82, 0xec, 0x29, 0xfa, 0x41, 0x82, + 0x49, 0xbe, 0x9f, 0x03, 0x62, 0x13, 0x2d, 0xc7, 0x80, 0xeb, 0xd5, 0xac, 0x72, 0x71, 0x98, 0x10, + 0x41, 0xa4, 0xc0, 0x88, 0xcc, 0xa3, 0x7c, 0x34, 0x91, 0x26, 0x0b, 0xe3, 0x04, 0xd0, 0xef, 0x12, + 0x4c, 0x87, 0x0b, 0x47, 0xb4, 0x1e, 0x53, 0xbe, 0xaf, 0xe0, 0x95, 0xdf, 0x39, 0x65, 0xb4, 0xe0, + 0xb1, 0xc6, 0x78, 0xbc, 0x8e, 0x8a, 0xd1, 0x3c, 0xea, 0x7e, 0x86, 0x72, 0x97, 0xb0, 0x45, 0x3f, + 0x4a, 0x30, 0x71, 0x52, 0xfb, 0xa0, 0xb8, 0x9d, 0x19, 0xa1, 0x1d, 0xe5, 0xd5, 0xa1, 0xe3, 0x04, + 0x83, 0x1b, 0x8c, 0x41, 0x1e, 0xcd, 0x46, 0x33, 0x08, 0xc8, 0xa8, 0x9f, 0x25, 0x98, 0x0a, 0x91, + 0x1f, 0xb1, 0x8f, 0x3a, 0x5a, 0xd5, 0xc4, 0x3e, 0xea, 0x3e, 0x6a, 0x47, 0x59, 0x64, 0xe0, 0xe7, + 0xd0, 0xb5, 0xf8, 0xf7, 0xc0, 0xfe, 0x42, 0xa4, 0xc3, 0x04, 0x09, 0x1a, 0x0e, 0x41, 0x97, 0x0a, + 0x8a, 0x5d, 0xae, 0xfd, 0x14, 0x90, 0xb2, 0xcc, 0xe0, 0x2f, 0xa2, 0x85, 0x41, 0x9f, 0xb3, 0x5d, + 0xda, 0x7b, 0x76, 0x98, 0x95, 0x9e, 0x1f, 0x66, 0xa5, 0x7f, 0x0e, 0xb3, 0xd2, 0xb7, 0x47, 0xd9, + 0x91, 0xe7, 0x47, 0xd9, 0x91, 0xbf, 0x8e, 0xb2, 0x23, 0x9f, 0xdd, 0x0b, 0xa8, 0xe2, 0x2d, 0x2f, + 0xdd, 0x3d, 0x5c, 0xb1, 0x8f, 0x93, 0x2f, 0xe9, 0xd4, 0x22, 0xc1, 0xcf, 0x3a, 0x36, 0x4c, 0xf1, + 0xd0, 0x6c, 0xaf, 0x32, 0xd3, 0xcf, 0x95, 0x04, 0xfb, 0x8f, 0xa7, 0x95, 0xff, 0x02, 0x00, 0x00, + 0xff, 0xff, 0x9e, 0x28, 0xbc, 0xdb, 0x3d, 0x13, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1375,8 +1289,6 @@ type QueryClient interface { // Retrieves the state for all coinbase price feeds CoinbasePriceStates(ctx context.Context, in *QueryCoinbasePriceStatesRequest, opts ...grpc.CallOption) (*QueryCoinbasePriceStatesResponse, error) // Retrieves the state for all provider price feeds - ProviderPriceStates(ctx context.Context, in *QueryProviderPriceStatesRequest, opts ...grpc.CallOption) (*QueryProviderPriceStatesResponse, error) - // Retrieves the state for all provider price feeds ProviderPriceState(ctx context.Context, in *QueryProviderPriceStateRequest, opts ...grpc.CallOption) (*QueryProviderPriceStateResponse, error) // Retrieves the entire oracle module's state OracleModuleState(ctx context.Context, in *QueryModuleStateRequest, opts ...grpc.CallOption) (*QueryModuleStateResponse, error) @@ -1450,15 +1362,6 @@ func (c *queryClient) CoinbasePriceStates(ctx context.Context, in *QueryCoinbase return out, nil } -func (c *queryClient) ProviderPriceStates(ctx context.Context, in *QueryProviderPriceStatesRequest, opts ...grpc.CallOption) (*QueryProviderPriceStatesResponse, error) { - out := new(QueryProviderPriceStatesResponse) - err := c.cc.Invoke(ctx, "/injective.oracle.v1beta1.Query/ProviderPriceStates", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *queryClient) ProviderPriceState(ctx context.Context, in *QueryProviderPriceStateRequest, opts ...grpc.CallOption) (*QueryProviderPriceStateResponse, error) { out := new(QueryProviderPriceStateResponse) err := c.cc.Invoke(ctx, "/injective.oracle.v1beta1.Query/ProviderPriceState", in, out, opts...) @@ -1528,8 +1431,6 @@ type QueryServer interface { // Retrieves the state for all coinbase price feeds CoinbasePriceStates(context.Context, *QueryCoinbasePriceStatesRequest) (*QueryCoinbasePriceStatesResponse, error) // Retrieves the state for all provider price feeds - ProviderPriceStates(context.Context, *QueryProviderPriceStatesRequest) (*QueryProviderPriceStatesResponse, error) - // Retrieves the state for all provider price feeds ProviderPriceState(context.Context, *QueryProviderPriceStateRequest) (*QueryProviderPriceStateResponse, error) // Retrieves the entire oracle module's state OracleModuleState(context.Context, *QueryModuleStateRequest) (*QueryModuleStateResponse, error) @@ -1563,9 +1464,6 @@ func (*UnimplementedQueryServer) PriceFeedPriceStates(ctx context.Context, req * func (*UnimplementedQueryServer) CoinbasePriceStates(ctx context.Context, req *QueryCoinbasePriceStatesRequest) (*QueryCoinbasePriceStatesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CoinbasePriceStates not implemented") } -func (*UnimplementedQueryServer) ProviderPriceStates(ctx context.Context, req *QueryProviderPriceStatesRequest) (*QueryProviderPriceStatesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ProviderPriceStates not implemented") -} func (*UnimplementedQueryServer) ProviderPriceState(ctx context.Context, req *QueryProviderPriceStateRequest) (*QueryProviderPriceStateResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ProviderPriceState not implemented") } @@ -1697,24 +1595,6 @@ func _Query_CoinbasePriceStates_Handler(srv interface{}, ctx context.Context, de return interceptor(ctx, in, info, handler) } -func _Query_ProviderPriceStates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryProviderPriceStatesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).ProviderPriceStates(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/injective.oracle.v1beta1.Query/ProviderPriceStates", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).ProviderPriceStates(ctx, req.(*QueryProviderPriceStatesRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _Query_ProviderPriceState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(QueryProviderPriceStateRequest) if err := dec(in); err != nil { @@ -1851,10 +1731,6 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "CoinbasePriceStates", Handler: _Query_CoinbasePriceStates_Handler, }, - { - MethodName: "ProviderPriceStates", - Handler: _Query_ProviderPriceStates_Handler, - }, { MethodName: "ProviderPriceState", Handler: _Query_ProviderPriceState_Handler, @@ -2235,66 +2111,6 @@ func (m *QueryCoinbasePriceStatesResponse) MarshalToSizedBuffer(dAtA []byte) (in return len(dAtA) - i, nil } -func (m *QueryProviderPriceStatesRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryProviderPriceStatesRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryProviderPriceStatesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *QueryProviderPriceStatesResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryProviderPriceStatesResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryProviderPriceStatesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.PriceStates) > 0 { - for iNdEx := len(m.PriceStates) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.PriceStates[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - func (m *QueryProviderPriceStateRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -2943,30 +2759,6 @@ func (m *QueryCoinbasePriceStatesResponse) Size() (n int) { return n } -func (m *QueryProviderPriceStatesRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *QueryProviderPriceStatesResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.PriceStates) > 0 { - for _, e := range m.PriceStates { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } - } - return n -} - func (m *QueryProviderPriceStateRequest) Size() (n int) { if m == nil { return 0 @@ -3971,140 +3763,6 @@ func (m *QueryCoinbasePriceStatesResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryProviderPriceStatesRequest) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryProviderPriceStatesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryProviderPriceStatesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryProviderPriceStatesResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryProviderPriceStatesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryProviderPriceStatesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PriceStates", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.PriceStates = append(m.PriceStates, &ProviderPriceState{}) - if err := m.PriceStates[len(m.PriceStates)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} func (m *QueryProviderPriceStateRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/client/chain/context.go b/client/chain/context.go index 352d1757..58bfd2d2 100644 --- a/client/chain/context.go +++ b/client/chain/context.go @@ -40,6 +40,7 @@ import ( slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" + icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" ibcapplicationtypes "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" ibccoretypes "github.com/cosmos/ibc-go/v3/modules/core/types" ) @@ -76,6 +77,7 @@ func NewTxConfig(signModes []signingtypes.SignMode) client.TxConfig { upgradetypes.RegisterInterfaces(interfaceRegistry) feegranttypes.RegisterInterfaces(interfaceRegistry) wasmtypes.RegisterInterfaces(interfaceRegistry) + icatypes.RegisterInterfaces(interfaceRegistry) marshaler := codec.NewProtoCodec(interfaceRegistry) return tx.NewTxConfig(marshaler, signModes) @@ -118,6 +120,7 @@ func NewClientContext( stakingtypes.RegisterInterfaces(interfaceRegistry) upgradetypes.RegisterInterfaces(interfaceRegistry) wasmtypes.RegisterInterfaces(interfaceRegistry) + icatypes.RegisterInterfaces(interfaceRegistry) marshaler := codec.NewProtoCodec(interfaceRegistry) encodingConfig := EncodingConfig{ diff --git a/proto/injective/exchange/v1beta1/genesis.proto b/proto/injective/exchange/v1beta1/genesis.proto index 35e6bbb1..6b0a89f4 100644 --- a/proto/injective/exchange/v1beta1/genesis.proto +++ b/proto/injective/exchange/v1beta1/genesis.proto @@ -2,6 +2,7 @@ syntax = "proto3"; package injective.exchange.v1beta1; import "injective/exchange/v1beta1/exchange.proto"; +import "injective/exchange/v1beta1/tx.proto"; import "gogoproto/gogo.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types"; @@ -90,6 +91,9 @@ message GenesisState { // spot_market_ids_scheduled_to_force_close defines the scheduled markets for forced closings at genesis repeated string spot_market_ids_scheduled_to_force_close = 28 [(gogoproto.nullable) = false]; + + // denom_decimals defines the denom decimals for the exchange. + repeated DenomDecimals denom_decimals = 29 [(gogoproto.nullable) = false]; } message FeeDiscountAccountTierTTL { diff --git a/proto/injective/exchange/v1beta1/tx.proto b/proto/injective/exchange/v1beta1/tx.proto index 9c3c7013..8d732541 100644 --- a/proto/injective/exchange/v1beta1/tx.proto +++ b/proto/injective/exchange/v1beta1/tx.proto @@ -691,6 +691,9 @@ message BatchExchangeModificationProposal { repeated PerpetualMarketLaunchProposal perpetual_market_launch_proposals = 6; repeated ExpiryFuturesMarketLaunchProposal expiry_futures_market_launch_proposals = 7; TradingRewardCampaignUpdateProposal trading_reward_campaign_update_proposal = 8; + repeated BinaryOptionsMarketLaunchProposal binary_options_market_launch_proposals = 9; + repeated BinaryOptionsMarketParamUpdateProposal binary_options_param_update_proposals = 10; + UpdateDenomDecimalsProposal denom_decimals_update_proposal = 11; } // SpotMarketLaunchProposal defines a SDK message for proposing a new spot market through governance diff --git a/proto/injective/oracle/v1beta1/query.proto b/proto/injective/oracle/v1beta1/query.proto index 2780b3ee..230ef0a6 100644 --- a/proto/injective/oracle/v1beta1/query.proto +++ b/proto/injective/oracle/v1beta1/query.proto @@ -40,11 +40,6 @@ service Query { option (google.api.http).get = "/injective/oracle/v1beta1/coinbase_price_states"; } - // Retrieves the state for all provider price feeds - rpc ProviderPriceStates(QueryProviderPriceStatesRequest) returns (QueryProviderPriceStatesResponse) { - option (google.api.http).get = "/injective/oracle/v1beta1/provider_price_states"; - } - // Retrieves the state for all provider price feeds rpc ProviderPriceState(QueryProviderPriceStateRequest) returns (QueryProviderPriceStateResponse) { option (google.api.http).get = "/injective/oracle/v1beta1/provider_price_state/{provider}/{symbol}"; @@ -128,14 +123,6 @@ message QueryCoinbasePriceStatesResponse { repeated CoinbasePriceState price_states = 1; } -// QueryProviderPriceStatesRequest is the request type for the Query/ProviderPriceStates RPC method. -message QueryProviderPriceStatesRequest {} - -// QueryProviderPriceStatesResponse is the response type for the Query/ProviderPriceStates RPC method. -message QueryProviderPriceStatesResponse { - repeated ProviderPriceState price_states = 1; -} - // QueryProviderPriceStateRequest is the request type for the Query/ProviderPriceState RPC method. message QueryProviderPriceStateRequest { string provider = 1; diff --git a/wrappers/futures.go b/wrappers/futures.go deleted file mode 100644 index d693119e..00000000 --- a/wrappers/futures.go +++ /dev/null @@ -1,6232 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package wrappers - -import ( - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription -) - -// LibFillResultsBatchMatchedFillResults is an auto generated low-level Go binding around an user-defined struct. -type LibFillResultsBatchMatchedFillResults struct { - Left []LibFillResultsFillResults - Right []LibFillResultsFillResults -} - -// LibFillResultsFillResults is an auto generated low-level Go binding around an user-defined struct. -type LibFillResultsFillResults struct { - MakerAssetFilledAmount *big.Int - TakerAssetFilledAmount *big.Int - TakerFeePaid *big.Int - RelayerFeePaid *big.Int -} - -// LibFillResultsMatchedFillResults is an auto generated low-level Go binding around an user-defined struct. -type LibFillResultsMatchedFillResults struct { - Left LibFillResultsFillResults - Right LibFillResultsFillResults -} - -// DerivativeOrderInfo is an auto generated low-level Go binding around an user-defined struct. -type DerivativeOrderInfo struct { - OrderStatus uint8 - OrderHash [32]byte - OrderTakerAssetFilledAmount *big.Int - SubAccountID [32]byte - Direction uint8 - MarketID [32]byte - EntryPrice *big.Int -} - -// LibZeroExTransactionZeroExTransaction is an auto generated low-level Go binding around an user-defined struct. -type LibZeroExTransactionZeroExTransaction struct { - Salt *big.Int - ExpirationTimeSeconds *big.Int - GasPrice *big.Int - SignerAddress common.Address - Data []byte -} - -// MixinOrdersFillResults is an auto generated low-level Go binding around an user-defined struct. -type MixinOrdersFillResults struct { - MakerPositionID *big.Int - TakerPositionID *big.Int - MakerMarginUsed *big.Int - TakerMarginUsed *big.Int - QuantityFilled *big.Int - MakerFeePaid *big.Int - TakerFeePaid *big.Int -} - -// MixinOrdersMatchResults is an auto generated low-level Go binding around an user-defined struct. -type MixinOrdersMatchResults struct { - LeftPositionID *big.Int - RightPositionID *big.Int - LeftMarginUsed *big.Int - RightMarginUsed *big.Int - QuantityFilled *big.Int - LeftFeePaid *big.Int - RightFeePaid *big.Int -} - -// PermyriadMathPermyriad is an auto generated low-level Go binding around an user-defined struct. -type PermyriadMathPermyriad struct { - Value *big.Int -} - -// TypesPosition is an auto generated low-level Go binding around an user-defined struct. -type TypesPosition struct { - SubAccountID [32]byte - MarketID [32]byte - Direction uint8 - Quantity *big.Int - EntryPrice *big.Int - Margin *big.Int - CumulativeFundingEntry *big.Int -} - -// TypesPositionResults is an auto generated low-level Go binding around an user-defined struct. -type TypesPositionResults struct { - PositionID *big.Int - MarginUsed *big.Int - Quantity *big.Int - Fee *big.Int -} - -// TypesTransactionFees is an auto generated low-level Go binding around an user-defined struct. -type TypesTransactionFees struct { - Maker PermyriadMathPermyriad - Taker PermyriadMathPermyriad - Relayer PermyriadMathPermyriad -} - -// FuturesABI is the input ABI used to generate the binding from. -const FuturesABI = "[{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"_minimumMarginRatio\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"auctionTimeInterval_\",\"type\":\"uint256\"},{\"internalType\":\"contractERC20Burnable\",\"name\":\"injectiveToken_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"subAccountID\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint96\",\"name\":\"subAccountNonce\",\"type\":\"uint96\"}],\"name\":\"AccountCreation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subAccountID\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"baseCurrency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"contractPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"quantityFilled\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isLong\",\"type\":\"bool\"}],\"name\":\"FuturesCancel\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"ticker\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oracle\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"baseCurrency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"maintenanceMarginRatio\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"initialMarginRatio\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"makerTxFee\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"takerTxFee\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"relayerFeePercentage\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fundingInterval\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expirationTime\",\"type\":\"uint256\"}],\"name\":\"FuturesMarketCreation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isResultingPositionLong\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"positionID\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subAccountID\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"resultingMargin\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"resultingEntryPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"resultingQuantity\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"cumulativeFundingEntry\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isTradeDirectionLong\",\"type\":\"bool\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"executionPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"executionQuantity\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalForOrderFilled\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enumTypes.TradeOrTransferType\",\"name\":\"tradeType\",\"type\":\"uint8\"}],\"name\":\"FuturesTrade\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"positionID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"changedMargin\",\"type\":\"int256\"}],\"name\":\"MarginChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"senderPositionID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"receiverPositionID\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"fromSubAccountID\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"toSubAccountID\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"enumTypes.DirectionalStatus\",\"name\":\"directionalStatus\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"srcResultingPositionMargin\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"srcResultingPositionEntryPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"srcResultingPositionQuantity\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"srcResultingPositionCumulativeFundingEntry\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"destResultingPositionMargin\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"destResultingPositionEntryPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"destResultingPositionQuantity\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"destResultingPositionCumulativeFundingEntry\",\"type\":\"int256\"}],\"name\":\"PositionTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"fundingFee\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"cumulativeFunding\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expiryOrNextFundingTimestamp\",\"type\":\"uint256\"}],\"name\":\"SetFunding\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"signerAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"validatorAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isApproved\",\"type\":\"bool\"}],\"name\":\"SignatureValidatorApproval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"ticker\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"baseToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"quoteToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"makerTxFee\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"takerTxFee\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"relayerFeePercentage\",\"type\":\"uint256\"}],\"name\":\"SpotMarketCreation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subAccountID\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sentAsset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"gainedAsset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sentAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gainedAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"currentSentAssetDeposits\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"currentGainedAssetDeposits\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalForOrderFilled\",\"type\":\"uint256\"}],\"name\":\"SpotTrade\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"enumMixinAccounts.DepositChangeType\",\"name\":\"depositChangeType\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subAccountID\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"baseCurrency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"changeAmount\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"currentAmount\",\"type\":\"uint256\"}],\"name\":\"SubaccountDepositsChange\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"transactionHash\",\"type\":\"bytes32\"}],\"name\":\"TransactionExecution\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mostRecentEpochVolume\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mostRecentEpochQuantity\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"mostRecentEpochScaledContractIndexDiff\",\"type\":\"int256\"}],\"name\":\"UpdateValuesForVWAP\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"EIP1271_MAGIC_VALUE\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EIP712_EXCHANGE_DOMAIN_HASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINIMUM_MARGIN_RATIO\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TEC_ADDRESS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"accounts\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"subAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"subAccountNonce\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"positionID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"addedMargin\",\"type\":\"uint256\"}],\"name\":\"addMarginIntoPosition\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"addressToSubAccountIDs\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowedValidators\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approveTo\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"positionID\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"receiverSubAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"positionID\",\"type\":\"uint256\"}],\"name\":\"approveForReceiving\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"auction\",\"outputs\":[{\"internalType\":\"contractIAuction\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"auctionTimeInterval\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"baseCurrencies\",\"outputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"makerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"takerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeRecipientAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"makerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"makerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTimeSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"salt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"makerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"makerFeeAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerFeeAssetData\",\"type\":\"bytes\"}],\"internalType\":\"structLibOrder.Order[]\",\"name\":\"orders\",\"type\":\"tuple[]\"}],\"name\":\"batchCancelOrders\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"marketIDs\",\"type\":\"bytes32[]\"}],\"name\":\"batchCheckFunding\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIERC20[]\",\"name\":\"baseCurrencies\",\"type\":\"address[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"subAccountIDs\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"batchDepositForSubAccounts\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIERC20[]\",\"name\":\"baseCurrencies\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"traders\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"batchDepositForTraders\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"salt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTimeSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"signerAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"structLibZeroExTransaction.ZeroExTransaction[]\",\"name\":\"transactions\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes[]\",\"name\":\"signatures\",\"type\":\"bytes[]\"}],\"name\":\"batchExecuteTransactions\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"positionIDs\",\"type\":\"uint256[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"makerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"takerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeRecipientAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"makerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"makerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTimeSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"salt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"makerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"makerFeeAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerFeeAssetData\",\"type\":\"bytes\"}],\"internalType\":\"structLibOrder.Order[][]\",\"name\":\"orders\",\"type\":\"tuple[][]\"},{\"internalType\":\"uint256[]\",\"name\":\"quantities\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[][]\",\"name\":\"signatures\",\"type\":\"bytes[][]\"},{\"internalType\":\"address\",\"name\":\"liquidationCaller\",\"type\":\"address\"}],\"name\":\"batchLiquidatePosition\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"positionID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"marginUsed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"internalType\":\"structTypes.PositionResults[]\",\"name\":\"results\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"subAccountIDs\",\"type\":\"bytes32[]\"}],\"name\":\"batchSettleExpiryFuturesPosition\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"positionID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"marginUsed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"internalType\":\"structTypes.PositionResults[]\",\"name\":\"results\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"internalType\":\"int256\",\"name\":\"cumulativeFundingEntry\",\"type\":\"int256\"}],\"name\":\"calcCumulativeFunding\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"quantity\",\"type\":\"uint256\"}],\"name\":\"calcLiquidationFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"quantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"calcMinMargin\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"makerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"takerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeRecipientAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"makerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"makerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTimeSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"salt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"makerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"makerFeeAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerFeeAssetData\",\"type\":\"bytes\"}],\"internalType\":\"structLibOrder.Order\",\"name\":\"order\",\"type\":\"tuple\"}],\"name\":\"cancelOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"cancelled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"auctionTimeInterval_\",\"type\":\"uint256\"}],\"name\":\"changeAuctionTimeInterval\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"fundingInterval\",\"type\":\"uint256\"}],\"name\":\"changeMarketFundingInterval\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"initialMarginRatio\",\"type\":\"tuple\"}],\"name\":\"changeMarketInitialMarginRatio\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"maintenanceMarginRatio\",\"type\":\"tuple\"}],\"name\":\"changeMarketMaintenanceMarginRatio\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"makerTxFee\",\"type\":\"tuple\"}],\"name\":\"changeMarketMakerTxFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"oracle\",\"type\":\"address\"}],\"name\":\"changeMarketOracle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"fundingInterval\",\"type\":\"uint256\"}],\"name\":\"changeMarketOracle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"relayerTxFee\",\"type\":\"tuple\"}],\"name\":\"changeMarketRelayerTxFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"takerTxFee\",\"type\":\"tuple\"}],\"name\":\"changeMarketTakerTxFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"maxBaseCurrencyCap_\",\"type\":\"uint256\"}],\"name\":\"changeMaxBaseCurrencyCap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"MINIMUM_MARGIN_RATIO_\",\"type\":\"tuple\"}],\"name\":\"changeMinimumMarginRatio\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"}],\"name\":\"checkFunding\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"makerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"takerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeRecipientAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"makerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"makerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTimeSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"salt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"makerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"makerFeeAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerFeeAssetData\",\"type\":\"bytes\"}],\"internalType\":\"structLibOrder.Order[]\",\"name\":\"orders\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"quantity\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isRevertingOnPartialFills\",\"type\":\"bool\"},{\"internalType\":\"bytes[]\",\"name\":\"signatures\",\"type\":\"bytes[]\"}],\"name\":\"closePosition\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"positionID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"marginUsed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"internalType\":\"structTypes.PositionResults\",\"name\":\"results\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"exchangeAddress\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"isRevertingOnPartialFills\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"subAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"closeQuantity\",\"type\":\"uint256\"}],\"name\":\"closePositionMetaTransaction\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"trader\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"subAccountNonce\",\"type\":\"uint96\"}],\"name\":\"computeSubAccountIdFromNonce\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"baseCurrency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"createDefaultSubAccountAndDeposit\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"ticker\",\"type\":\"string\"},{\"internalType\":\"contractIERC20\",\"name\":\"baseCurrency\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"oracle\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"initialMarginRatio\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"maintenanceMarginRatio\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"fundingInterval\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTime\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"makerTxFee\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"takerTxFee\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"relayerFeePercentage\",\"type\":\"tuple\"}],\"name\":\"createFuturesMarket\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"ticker\",\"type\":\"string\"},{\"internalType\":\"contractIERC20\",\"name\":\"baseCurrency\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"oracle\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"initialMarginRatio\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"maintenanceMarginRatio\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"fundingInterval\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTime\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"makerTxFee\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"takerTxFee\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"relayerFeePercentage\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"}],\"name\":\"createFuturesMarketWithFixedMarketId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"ticker\",\"type\":\"string\"},{\"internalType\":\"contractIERC20\",\"name\":\"baseToken\",\"type\":\"address\"},{\"internalType\":\"contractIERC20\",\"name\":\"quoteToken\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"makerTxFee\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"takerTxFee\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"relayerFeePercentage\",\"type\":\"tuple\"}],\"name\":\"createSpotMarket\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"baseCurrency\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"subAccountNonce\",\"type\":\"uint96\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"createSubAccountAndDeposit\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"trader\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"subAccountNonce\",\"type\":\"uint96\"}],\"name\":\"createSubAccountForTraderWithNonce\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentAuctionEndTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentContextAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"baseCurrency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"baseCurrency\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"trader\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"depositFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"baseCurrency\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"depositForSubaccount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"baseCurrency\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"depositIntoSubAccount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"positionID\",\"type\":\"uint256\"}],\"name\":\"doesPositionExist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emergencyStopFutures\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"}],\"name\":\"emergencyStopMarket\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"epochFees\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"salt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTimeSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"signerAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"structLibZeroExTransaction.ZeroExTransaction\",\"name\":\"transaction\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"executeTransaction\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"filled\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"futuresMarkets\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"internalType\":\"contractIERC20\",\"name\":\"baseCurrency\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"ticker\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"oracle\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"initialMarginRatio\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"maintenanceMarginRatio\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"indexPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiryOrNextFundingTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fundingInterval\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"cumulativeFunding\",\"type\":\"int256\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"maker\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"taker\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"relayer\",\"type\":\"tuple\"}],\"internalType\":\"structTypes.TransactionFees\",\"name\":\"transactionFees\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"positionID\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"baseCurrency\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"trader\",\"type\":\"address\"}],\"name\":\"getDefaultSubAccountDeposits\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"trader\",\"type\":\"address\"}],\"name\":\"getDefaultSubAccountIdForTrader\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"}],\"name\":\"getMaxFundingFeeAbs\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"makerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"takerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeRecipientAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"makerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"makerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTimeSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"salt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"makerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"makerFeeAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerFeeAssetData\",\"type\":\"bytes\"}],\"internalType\":\"structLibOrder.Order\",\"name\":\"order\",\"type\":\"tuple\"}],\"name\":\"getOrderInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"enumLibOrder.SpotOrderStatus\",\"name\":\"orderStatus\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"orderTakerAssetFilledAmount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"subAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"enumTypes.Direction\",\"name\":\"direction\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"entryPrice\",\"type\":\"uint256\"}],\"internalType\":\"structLibOrder.OrderInfo\",\"name\":\"orderInfo\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"makerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"takerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeRecipientAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"makerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"makerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTimeSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"salt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"makerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"makerFeeAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerFeeAssetData\",\"type\":\"bytes\"}],\"internalType\":\"structLibOrder.Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"indexPrice\",\"type\":\"uint256\"}],\"name\":\"getOrderRelevantState\",\"outputs\":[{\"components\":[{\"internalType\":\"enumLibOrder.OrderStatus\",\"name\":\"orderStatus\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"orderTakerAssetFilledAmount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"subAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"enumTypes.Direction\",\"name\":\"direction\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"entryPrice\",\"type\":\"uint256\"}],\"internalType\":\"structLibOrder.DerivativeOrderInfo\",\"name\":\"orderInfo\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"fillableTakerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isValidSignature\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"makerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"takerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeRecipientAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"makerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"makerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTimeSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"salt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"makerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"makerFeeAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerFeeAssetData\",\"type\":\"bytes\"}],\"internalType\":\"structLibOrder.Order[]\",\"name\":\"orders\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes[]\",\"name\":\"signatures\",\"type\":\"bytes[]\"}],\"name\":\"getOrderRelevantStates\",\"outputs\":[{\"components\":[{\"internalType\":\"enumLibOrder.OrderStatus\",\"name\":\"orderStatus\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"orderTakerAssetFilledAmount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"subAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"enumTypes.Direction\",\"name\":\"direction\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"entryPrice\",\"type\":\"uint256\"}],\"internalType\":\"structLibOrder.DerivativeOrderInfo[]\",\"name\":\"ordersInfo\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256[]\",\"name\":\"fillableTakerAssetAmounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bool[]\",\"name\":\"isValidSignature\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"trader\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"}],\"name\":\"getPositionIDsForTrader\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"positionIDs\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"trader\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"}],\"name\":\"getPositionsForTrader\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"subAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"internalType\":\"enumTypes.Direction\",\"name\":\"direction\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"quantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"entryPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"margin\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"cumulativeFundingEntry\",\"type\":\"int256\"}],\"internalType\":\"structTypes.Position[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"receiverSubAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"positionID\",\"type\":\"uint256\"}],\"name\":\"getReceiptApproved\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"trader\",\"type\":\"address\"}],\"name\":\"getTraderSubAccountsCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"positionID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"priceToUse\",\"type\":\"uint256\"}],\"name\":\"getUnitPositionValue\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"unitPositionValue\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"insurancePools\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"positionID\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"receiverSubAccountID\",\"type\":\"bytes32\"}],\"name\":\"isAllowedToReceivePosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"positionID\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"isAllowedToTransferPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"fromSubAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"fromSubAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"}],\"name\":\"isApprovedForMarket\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"isFuturesMarketSettled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"receiverSubAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isReceiptApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"receiverSubAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"}],\"name\":\"isReceiptApprovedForMarket\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"}],\"name\":\"isTimeExpiryFuturesMarket\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isValidBaseCurrency\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"signerAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"isValidHashSignature\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"makerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"takerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeRecipientAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"makerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"makerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTimeSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"salt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"makerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"makerFeeAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerFeeAssetData\",\"type\":\"bytes\"}],\"internalType\":\"structLibOrder.Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"isValidOrderSignature\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"salt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTimeSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"signerAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"structLibZeroExTransaction.ZeroExTransaction\",\"name\":\"transaction\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"isValidTransactionSignature\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"lastValidVWAP\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"liquidationCaller\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"makerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"takerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeRecipientAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"makerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"makerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTimeSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"salt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"makerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"makerFeeAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerFeeAssetData\",\"type\":\"bytes\"}],\"internalType\":\"structLibOrder.Order[]\",\"name\":\"orders\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"quantity\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"signatures\",\"type\":\"bytes[]\"}],\"name\":\"liquidatePosition\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"positionID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"marginUsed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"internalType\":\"structTypes.PositionResults\",\"name\":\"results\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"marketCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"makerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"takerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeRecipientAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"makerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"makerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTimeSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"salt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"makerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"makerFeeAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerFeeAssetData\",\"type\":\"bytes\"}],\"internalType\":\"structLibOrder.Order[]\",\"name\":\"orders\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"quantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"margin\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"subAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isRevertingOnPartialFills\",\"type\":\"bool\"},{\"internalType\":\"bytes[]\",\"name\":\"signatures\",\"type\":\"bytes[]\"},{\"internalType\":\"address\",\"name\":\"feeRecipientAddress\",\"type\":\"address\"}],\"name\":\"marketOrders\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"makerPositionID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerPositionID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"makerMarginUsed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerMarginUsed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quantityFilled\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"makerFeePaid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFeePaid\",\"type\":\"uint256\"}],\"internalType\":\"structMixinOrders.FillResults[]\",\"name\":\"results\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"marketSerialToID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"makerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"takerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeRecipientAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"makerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"makerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTimeSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"salt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"makerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"makerFeeAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerFeeAssetData\",\"type\":\"bytes\"}],\"internalType\":\"structLibOrder.Order\",\"name\":\"leftOrder\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"makerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"takerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeRecipientAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"makerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"makerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTimeSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"salt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"makerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"makerFeeAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerFeeAssetData\",\"type\":\"bytes\"}],\"internalType\":\"structLibOrder.Order\",\"name\":\"rightOrder\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"leftSignature\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"rightSignature\",\"type\":\"bytes\"}],\"name\":\"matchSpotOrders\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"makerAssetFilledAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetFilledAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFeePaid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"relayerFeePaid\",\"type\":\"uint256\"}],\"internalType\":\"structLibFillResults.FillResults\",\"name\":\"left\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"makerAssetFilledAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetFilledAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFeePaid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"relayerFeePaid\",\"type\":\"uint256\"}],\"internalType\":\"structLibFillResults.FillResults\",\"name\":\"right\",\"type\":\"tuple\"}],\"internalType\":\"structLibFillResults.MatchedFillResults\",\"name\":\"matchedFillResults\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxBaseCurrencyCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"mostRecentEpochQuantity\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"mostRecentEpochVolume\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"mostRecentEpochWeightedAverageContractIndexDiff\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"mostRecentmostRecentEpochVolumeEpochQuantity\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"makerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"takerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeRecipientAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"makerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"makerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTimeSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"salt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"makerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"makerFeeAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerFeeAssetData\",\"type\":\"bytes\"}],\"internalType\":\"structLibOrder.Order[]\",\"name\":\"leftOrders\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"makerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"takerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeRecipientAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"makerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"makerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTimeSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"salt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"makerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"makerFeeAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerFeeAssetData\",\"type\":\"bytes\"}],\"internalType\":\"structLibOrder.Order\",\"name\":\"rightOrder\",\"type\":\"tuple\"},{\"internalType\":\"bytes[]\",\"name\":\"leftSignatures\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes\",\"name\":\"rightSignature\",\"type\":\"bytes\"}],\"name\":\"multiMatchOrders\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"leftPositionID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rightPositionID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"leftMarginUsed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rightMarginUsed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quantityFilled\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"leftFeePaid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rightFeePaid\",\"type\":\"uint256\"}],\"internalType\":\"structMixinOrders.MatchResults[]\",\"name\":\"results\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"makerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"takerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeRecipientAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"makerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"makerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTimeSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"salt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"makerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"makerFeeAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerFeeAssetData\",\"type\":\"bytes\"}],\"internalType\":\"structLibOrder.Order[]\",\"name\":\"leftOrders\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"makerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"takerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeRecipientAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"makerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"makerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTimeSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"salt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"makerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"makerFeeAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerFeeAssetData\",\"type\":\"bytes\"}],\"internalType\":\"structLibOrder.Order[]\",\"name\":\"rightOrders\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes[]\",\"name\":\"leftSignatures\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"rightSignatures\",\"type\":\"bytes[]\"}],\"name\":\"multiMatchSpotOrders\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"makerAssetFilledAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetFilledAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFeePaid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"relayerFeePaid\",\"type\":\"uint256\"}],\"internalType\":\"structLibFillResults.FillResults[]\",\"name\":\"left\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"makerAssetFilledAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetFilledAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFeePaid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"relayerFeePaid\",\"type\":\"uint256\"}],\"internalType\":\"structLibFillResults.FillResults[]\",\"name\":\"right\",\"type\":\"tuple[]\"}],\"internalType\":\"structLibFillResults.BatchMatchedFillResults\",\"name\":\"batchMatchedFillResults\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"payIntoInsurancePool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"positionCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"positionCountInTEF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"positions\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"subAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"internalType\":\"enumTypes.Direction\",\"name\":\"direction\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"quantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"entryPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"margin\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"cumulativeFundingEntry\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"}],\"name\":\"preSign\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"preSigned\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"contractIERC20\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"restrictedDeposits\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeFutures\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"fromSubAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"isApproved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"fromSubAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isApproved\",\"type\":\"bool\"}],\"name\":\"setApprovalForMarket\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"}],\"name\":\"setFundingRate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"receiverSubAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"isApproved\",\"type\":\"bool\"}],\"name\":\"setReceiptApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"receiverSubAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isApproved\",\"type\":\"bool\"}],\"name\":\"setReceiptApprovalForMarket\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"validatorAddress\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approval\",\"type\":\"bool\"}],\"name\":\"setSignatureValidatorApproval\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"subAccountID\",\"type\":\"bytes32\"}],\"name\":\"settleExpiryFuturesPosition\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"positionID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"marginUsed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"internalType\":\"structTypes.PositionResults\",\"name\":\"results\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"}],\"name\":\"settleMarket\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"spotMarkets\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"internalType\":\"contractIERC20\",\"name\":\"baseToken\",\"type\":\"address\"},{\"internalType\":\"contractIERC20\",\"name\":\"quoteToken\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"ticker\",\"type\":\"string\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"maker\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"taker\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structPermyriadMath.Permyriad\",\"name\":\"relayer\",\"type\":\"tuple\"}],\"internalType\":\"structTypes.TransactionFees\",\"name\":\"transactionFees\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"contractIERC20\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"subAccountDeposits\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"subAccountIdToAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"subAccountToMarketToPositionID\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"transactionsExecuted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"positionID\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"receiverSubAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"transferQuantity\",\"type\":\"uint256\"}],\"name\":\"transferPosition\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"baseCurrency\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"fromSubAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"toSubAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferToSubAccount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"makerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"takerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeRecipientAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"makerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"makerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTimeSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"salt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"makerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"makerFeeAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerFeeAssetData\",\"type\":\"bytes\"}],\"internalType\":\"structLibOrder.Order[]\",\"name\":\"orders\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"quantity\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"signatures\",\"type\":\"bytes[]\"}],\"name\":\"vaporizePosition\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"positionID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"marginUsed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"internalType\":\"structTypes.PositionResults\",\"name\":\"results\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"baseCurrency\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subAccountID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawForSubAccount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawFromInsurancePool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" - -// Futures is an auto generated Go binding around an Ethereum contract. -type Futures struct { - FuturesCaller // Read-only binding to the contract - FuturesTransactor // Write-only binding to the contract - FuturesFilterer // Log filterer for contract events -} - -// FuturesCaller is an auto generated read-only Go binding around an Ethereum contract. -type FuturesCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// FuturesTransactor is an auto generated write-only Go binding around an Ethereum contract. -type FuturesTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// FuturesFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type FuturesFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// FuturesSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type FuturesSession struct { - Contract *Futures // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// FuturesCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type FuturesCallerSession struct { - Contract *FuturesCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// FuturesTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type FuturesTransactorSession struct { - Contract *FuturesTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// FuturesRaw is an auto generated low-level Go binding around an Ethereum contract. -type FuturesRaw struct { - Contract *Futures // Generic contract binding to access the raw methods on -} - -// FuturesCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type FuturesCallerRaw struct { - Contract *FuturesCaller // Generic read-only contract binding to access the raw methods on -} - -// FuturesTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type FuturesTransactorRaw struct { - Contract *FuturesTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewFutures creates a new instance of Futures, bound to a specific deployed contract. -func NewFutures(address common.Address, backend bind.ContractBackend) (*Futures, error) { - contract, err := bindFutures(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &Futures{FuturesCaller: FuturesCaller{contract: contract}, FuturesTransactor: FuturesTransactor{contract: contract}, FuturesFilterer: FuturesFilterer{contract: contract}}, nil -} - -// NewFuturesCaller creates a new read-only instance of Futures, bound to a specific deployed contract. -func NewFuturesCaller(address common.Address, caller bind.ContractCaller) (*FuturesCaller, error) { - contract, err := bindFutures(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &FuturesCaller{contract: contract}, nil -} - -// NewFuturesTransactor creates a new write-only instance of Futures, bound to a specific deployed contract. -func NewFuturesTransactor(address common.Address, transactor bind.ContractTransactor) (*FuturesTransactor, error) { - contract, err := bindFutures(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &FuturesTransactor{contract: contract}, nil -} - -// NewFuturesFilterer creates a new log filterer instance of Futures, bound to a specific deployed contract. -func NewFuturesFilterer(address common.Address, filterer bind.ContractFilterer) (*FuturesFilterer, error) { - contract, err := bindFutures(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &FuturesFilterer{contract: contract}, nil -} - -// bindFutures binds a generic wrapper to an already deployed contract. -func bindFutures(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := abi.JSON(strings.NewReader(FuturesABI)) - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (f *FuturesRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return f.Contract.FuturesCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (f *FuturesRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return f.Contract.FuturesTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (f *FuturesRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return f.Contract.FuturesTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (f *FuturesCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return f.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (f *FuturesTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return f.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (f *FuturesTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return f.Contract.contract.Transact(opts, method, params...) -} - -// EIP1271MAGICVALUE is a free data retrieval call binding the contract method 0xdd885e2d. -// -// Solidity: function EIP1271_MAGIC_VALUE() view returns(bytes4) -func (f *FuturesCaller) EIP1271MAGICVALUE(opts *bind.CallOpts) ([4]byte, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "EIP1271_MAGIC_VALUE") - - if err != nil { - return *new([4]byte), err - } - - out0 := *abi.ConvertType(out[0], new([4]byte)).(*[4]byte) - - return out0, err - -} - -// EIP1271MAGICVALUE is a free data retrieval call binding the contract method 0xdd885e2d. -// -// Solidity: function EIP1271_MAGIC_VALUE() view returns(bytes4) -func (f *FuturesSession) EIP1271MAGICVALUE() ([4]byte, error) { - return f.Contract.EIP1271MAGICVALUE(&f.CallOpts) -} - -// EIP1271MAGICVALUE is a free data retrieval call binding the contract method 0xdd885e2d. -// -// Solidity: function EIP1271_MAGIC_VALUE() view returns(bytes4) -func (f *FuturesCallerSession) EIP1271MAGICVALUE() ([4]byte, error) { - return f.Contract.EIP1271MAGICVALUE(&f.CallOpts) -} - -// EIP712EXCHANGEDOMAINHASH is a free data retrieval call binding the contract method 0xc26cfecd. -// -// Solidity: function EIP712_EXCHANGE_DOMAIN_HASH() view returns(bytes32) -func (f *FuturesCaller) EIP712EXCHANGEDOMAINHASH(opts *bind.CallOpts) ([32]byte, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "EIP712_EXCHANGE_DOMAIN_HASH") - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// EIP712EXCHANGEDOMAINHASH is a free data retrieval call binding the contract method 0xc26cfecd. -// -// Solidity: function EIP712_EXCHANGE_DOMAIN_HASH() view returns(bytes32) -func (f *FuturesSession) EIP712EXCHANGEDOMAINHASH() ([32]byte, error) { - return f.Contract.EIP712EXCHANGEDOMAINHASH(&f.CallOpts) -} - -// EIP712EXCHANGEDOMAINHASH is a free data retrieval call binding the contract method 0xc26cfecd. -// -// Solidity: function EIP712_EXCHANGE_DOMAIN_HASH() view returns(bytes32) -func (f *FuturesCallerSession) EIP712EXCHANGEDOMAINHASH() ([32]byte, error) { - return f.Contract.EIP712EXCHANGEDOMAINHASH(&f.CallOpts) -} - -// MINIMUMMARGINRATIO is a free data retrieval call binding the contract method 0xe63f9a7d. -// -// Solidity: function MINIMUM_MARGIN_RATIO() view returns(uint256 value) -func (f *FuturesCaller) MINIMUMMARGINRATIO(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "MINIMUM_MARGIN_RATIO") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// MINIMUMMARGINRATIO is a free data retrieval call binding the contract method 0xe63f9a7d. -// -// Solidity: function MINIMUM_MARGIN_RATIO() view returns(uint256 value) -func (f *FuturesSession) MINIMUMMARGINRATIO() (*big.Int, error) { - return f.Contract.MINIMUMMARGINRATIO(&f.CallOpts) -} - -// MINIMUMMARGINRATIO is a free data retrieval call binding the contract method 0xe63f9a7d. -// -// Solidity: function MINIMUM_MARGIN_RATIO() view returns(uint256 value) -func (f *FuturesCallerSession) MINIMUMMARGINRATIO() (*big.Int, error) { - return f.Contract.MINIMUMMARGINRATIO(&f.CallOpts) -} - -// TECADDRESS is a free data retrieval call binding the contract method 0xe6077ac2. -// -// Solidity: function TEC_ADDRESS() view returns(address) -func (f *FuturesCaller) TECADDRESS(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "TEC_ADDRESS") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// TECADDRESS is a free data retrieval call binding the contract method 0xe6077ac2. -// -// Solidity: function TEC_ADDRESS() view returns(address) -func (f *FuturesSession) TECADDRESS() (common.Address, error) { - return f.Contract.TECADDRESS(&f.CallOpts) -} - -// TECADDRESS is a free data retrieval call binding the contract method 0xe6077ac2. -// -// Solidity: function TEC_ADDRESS() view returns(address) -func (f *FuturesCallerSession) TECADDRESS() (common.Address, error) { - return f.Contract.TECADDRESS(&f.CallOpts) -} - -// Accounts is a free data retrieval call binding the contract method 0xbc529c43. -// -// Solidity: function accounts(bytes32 ) view returns(bytes32 subAccountID, uint256 subAccountNonce) -func (f *FuturesCaller) Accounts(opts *bind.CallOpts, arg0 [32]byte) (struct { - SubAccountID [32]byte - SubAccountNonce *big.Int -}, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "accounts", arg0) - - outstruct := new(struct { - SubAccountID [32]byte - SubAccountNonce *big.Int - }) - - outstruct.SubAccountID = out[0].([32]byte) - outstruct.SubAccountNonce = out[1].(*big.Int) - - return *outstruct, err - -} - -// Accounts is a free data retrieval call binding the contract method 0xbc529c43. -// -// Solidity: function accounts(bytes32 ) view returns(bytes32 subAccountID, uint256 subAccountNonce) -func (f *FuturesSession) Accounts(arg0 [32]byte) (struct { - SubAccountID [32]byte - SubAccountNonce *big.Int -}, error) { - return f.Contract.Accounts(&f.CallOpts, arg0) -} - -// Accounts is a free data retrieval call binding the contract method 0xbc529c43. -// -// Solidity: function accounts(bytes32 ) view returns(bytes32 subAccountID, uint256 subAccountNonce) -func (f *FuturesCallerSession) Accounts(arg0 [32]byte) (struct { - SubAccountID [32]byte - SubAccountNonce *big.Int -}, error) { - return f.Contract.Accounts(&f.CallOpts, arg0) -} - -// AddressToSubAccountIDs is a free data retrieval call binding the contract method 0x07294a8e. -// -// Solidity: function addressToSubAccountIDs(address , uint256 ) view returns(bytes32) -func (f *FuturesCaller) AddressToSubAccountIDs(opts *bind.CallOpts, arg0 common.Address, arg1 *big.Int) ([32]byte, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "addressToSubAccountIDs", arg0, arg1) - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// AddressToSubAccountIDs is a free data retrieval call binding the contract method 0x07294a8e. -// -// Solidity: function addressToSubAccountIDs(address , uint256 ) view returns(bytes32) -func (f *FuturesSession) AddressToSubAccountIDs(arg0 common.Address, arg1 *big.Int) ([32]byte, error) { - return f.Contract.AddressToSubAccountIDs(&f.CallOpts, arg0, arg1) -} - -// AddressToSubAccountIDs is a free data retrieval call binding the contract method 0x07294a8e. -// -// Solidity: function addressToSubAccountIDs(address , uint256 ) view returns(bytes32) -func (f *FuturesCallerSession) AddressToSubAccountIDs(arg0 common.Address, arg1 *big.Int) ([32]byte, error) { - return f.Contract.AddressToSubAccountIDs(&f.CallOpts, arg0, arg1) -} - -// AllowedValidators is a free data retrieval call binding the contract method 0x7b8e3514. -// -// Solidity: function allowedValidators(address , address ) view returns(bool) -func (f *FuturesCaller) AllowedValidators(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address) (bool, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "allowedValidators", arg0, arg1) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// AllowedValidators is a free data retrieval call binding the contract method 0x7b8e3514. -// -// Solidity: function allowedValidators(address , address ) view returns(bool) -func (f *FuturesSession) AllowedValidators(arg0 common.Address, arg1 common.Address) (bool, error) { - return f.Contract.AllowedValidators(&f.CallOpts, arg0, arg1) -} - -// AllowedValidators is a free data retrieval call binding the contract method 0x7b8e3514. -// -// Solidity: function allowedValidators(address , address ) view returns(bool) -func (f *FuturesCallerSession) AllowedValidators(arg0 common.Address, arg1 common.Address) (bool, error) { - return f.Contract.AllowedValidators(&f.CallOpts, arg0, arg1) -} - -// Auction is a free data retrieval call binding the contract method 0x7d9f6db5. -// -// Solidity: function auction() view returns(address) -func (f *FuturesCaller) Auction(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "auction") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// Auction is a free data retrieval call binding the contract method 0x7d9f6db5. -// -// Solidity: function auction() view returns(address) -func (f *FuturesSession) Auction() (common.Address, error) { - return f.Contract.Auction(&f.CallOpts) -} - -// Auction is a free data retrieval call binding the contract method 0x7d9f6db5. -// -// Solidity: function auction() view returns(address) -func (f *FuturesCallerSession) Auction() (common.Address, error) { - return f.Contract.Auction(&f.CallOpts) -} - -// AuctionTimeInterval is a free data retrieval call binding the contract method 0xc583f691. -// -// Solidity: function auctionTimeInterval() view returns(uint256) -func (f *FuturesCaller) AuctionTimeInterval(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "auctionTimeInterval") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// AuctionTimeInterval is a free data retrieval call binding the contract method 0xc583f691. -// -// Solidity: function auctionTimeInterval() view returns(uint256) -func (f *FuturesSession) AuctionTimeInterval() (*big.Int, error) { - return f.Contract.AuctionTimeInterval(&f.CallOpts) -} - -// AuctionTimeInterval is a free data retrieval call binding the contract method 0xc583f691. -// -// Solidity: function auctionTimeInterval() view returns(uint256) -func (f *FuturesCallerSession) AuctionTimeInterval() (*big.Int, error) { - return f.Contract.AuctionTimeInterval(&f.CallOpts) -} - -// BaseCurrencies is a free data retrieval call binding the contract method 0x95092e50. -// -// Solidity: function baseCurrencies(uint256 ) view returns(address) -func (f *FuturesCaller) BaseCurrencies(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "baseCurrencies", arg0) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// BaseCurrencies is a free data retrieval call binding the contract method 0x95092e50. -// -// Solidity: function baseCurrencies(uint256 ) view returns(address) -func (f *FuturesSession) BaseCurrencies(arg0 *big.Int) (common.Address, error) { - return f.Contract.BaseCurrencies(&f.CallOpts, arg0) -} - -// BaseCurrencies is a free data retrieval call binding the contract method 0x95092e50. -// -// Solidity: function baseCurrencies(uint256 ) view returns(address) -func (f *FuturesCallerSession) BaseCurrencies(arg0 *big.Int) (common.Address, error) { - return f.Contract.BaseCurrencies(&f.CallOpts, arg0) -} - -// CalcCumulativeFunding is a free data retrieval call binding the contract method 0xc5d135da. -// -// Solidity: function calcCumulativeFunding(bytes32 marketID, int256 cumulativeFundingEntry) view returns(int256) -func (f *FuturesCaller) CalcCumulativeFunding(opts *bind.CallOpts, marketID [32]byte, cumulativeFundingEntry *big.Int) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "calcCumulativeFunding", marketID, cumulativeFundingEntry) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// CalcCumulativeFunding is a free data retrieval call binding the contract method 0xc5d135da. -// -// Solidity: function calcCumulativeFunding(bytes32 marketID, int256 cumulativeFundingEntry) view returns(int256) -func (f *FuturesSession) CalcCumulativeFunding(marketID [32]byte, cumulativeFundingEntry *big.Int) (*big.Int, error) { - return f.Contract.CalcCumulativeFunding(&f.CallOpts, marketID, cumulativeFundingEntry) -} - -// CalcCumulativeFunding is a free data retrieval call binding the contract method 0xc5d135da. -// -// Solidity: function calcCumulativeFunding(bytes32 marketID, int256 cumulativeFundingEntry) view returns(int256) -func (f *FuturesCallerSession) CalcCumulativeFunding(marketID [32]byte, cumulativeFundingEntry *big.Int) (*big.Int, error) { - return f.Contract.CalcCumulativeFunding(&f.CallOpts, marketID, cumulativeFundingEntry) -} - -// CalcLiquidationFee is a free data retrieval call binding the contract method 0xbbcac0d3. -// -// Solidity: function calcLiquidationFee(bytes32 marketID, uint256 quantity) view returns(uint256) -func (f *FuturesCaller) CalcLiquidationFee(opts *bind.CallOpts, marketID [32]byte, quantity *big.Int) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "calcLiquidationFee", marketID, quantity) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// CalcLiquidationFee is a free data retrieval call binding the contract method 0xbbcac0d3. -// -// Solidity: function calcLiquidationFee(bytes32 marketID, uint256 quantity) view returns(uint256) -func (f *FuturesSession) CalcLiquidationFee(marketID [32]byte, quantity *big.Int) (*big.Int, error) { - return f.Contract.CalcLiquidationFee(&f.CallOpts, marketID, quantity) -} - -// CalcLiquidationFee is a free data retrieval call binding the contract method 0xbbcac0d3. -// -// Solidity: function calcLiquidationFee(bytes32 marketID, uint256 quantity) view returns(uint256) -func (f *FuturesCallerSession) CalcLiquidationFee(marketID [32]byte, quantity *big.Int) (*big.Int, error) { - return f.Contract.CalcLiquidationFee(&f.CallOpts, marketID, quantity) -} - -// CalcMinMargin is a free data retrieval call binding the contract method 0x35c43c4e. -// -// Solidity: function calcMinMargin(bytes32 marketID, uint256 quantity, uint256 price) view returns(uint256) -func (f *FuturesCaller) CalcMinMargin(opts *bind.CallOpts, marketID [32]byte, quantity *big.Int, price *big.Int) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "calcMinMargin", marketID, quantity, price) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// CalcMinMargin is a free data retrieval call binding the contract method 0x35c43c4e. -// -// Solidity: function calcMinMargin(bytes32 marketID, uint256 quantity, uint256 price) view returns(uint256) -func (f *FuturesSession) CalcMinMargin(marketID [32]byte, quantity *big.Int, price *big.Int) (*big.Int, error) { - return f.Contract.CalcMinMargin(&f.CallOpts, marketID, quantity, price) -} - -// CalcMinMargin is a free data retrieval call binding the contract method 0x35c43c4e. -// -// Solidity: function calcMinMargin(bytes32 marketID, uint256 quantity, uint256 price) view returns(uint256) -func (f *FuturesCallerSession) CalcMinMargin(marketID [32]byte, quantity *big.Int, price *big.Int) (*big.Int, error) { - return f.Contract.CalcMinMargin(&f.CallOpts, marketID, quantity, price) -} - -// Cancelled is a free data retrieval call binding the contract method 0x2ac12622. -// -// Solidity: function cancelled(bytes32 ) view returns(bool) -func (f *FuturesCaller) Cancelled(opts *bind.CallOpts, arg0 [32]byte) (bool, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "cancelled", arg0) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// Cancelled is a free data retrieval call binding the contract method 0x2ac12622. -// -// Solidity: function cancelled(bytes32 ) view returns(bool) -func (f *FuturesSession) Cancelled(arg0 [32]byte) (bool, error) { - return f.Contract.Cancelled(&f.CallOpts, arg0) -} - -// Cancelled is a free data retrieval call binding the contract method 0x2ac12622. -// -// Solidity: function cancelled(bytes32 ) view returns(bool) -func (f *FuturesCallerSession) Cancelled(arg0 [32]byte) (bool, error) { - return f.Contract.Cancelled(&f.CallOpts, arg0) -} - -// ClosePositionMetaTransaction is a free data retrieval call binding the contract method 0x1c51d905. -// -// Solidity: function closePositionMetaTransaction(address exchangeAddress, bool isRevertingOnPartialFills, bytes32 subAccountID, bytes32 marketID, uint256 closeQuantity) pure returns() -func (f *FuturesCaller) ClosePositionMetaTransaction(opts *bind.CallOpts, exchangeAddress common.Address, isRevertingOnPartialFills bool, subAccountID [32]byte, marketID [32]byte, closeQuantity *big.Int) error { - var out []interface{} - err := f.contract.Call(opts, &out, "closePositionMetaTransaction", exchangeAddress, isRevertingOnPartialFills, subAccountID, marketID, closeQuantity) - - if err != nil { - return err - } - - return err - -} - -// ClosePositionMetaTransaction is a free data retrieval call binding the contract method 0x1c51d905. -// -// Solidity: function closePositionMetaTransaction(address exchangeAddress, bool isRevertingOnPartialFills, bytes32 subAccountID, bytes32 marketID, uint256 closeQuantity) pure returns() -func (f *FuturesSession) ClosePositionMetaTransaction(exchangeAddress common.Address, isRevertingOnPartialFills bool, subAccountID [32]byte, marketID [32]byte, closeQuantity *big.Int) error { - return f.Contract.ClosePositionMetaTransaction(&f.CallOpts, exchangeAddress, isRevertingOnPartialFills, subAccountID, marketID, closeQuantity) -} - -// ClosePositionMetaTransaction is a free data retrieval call binding the contract method 0x1c51d905. -// -// Solidity: function closePositionMetaTransaction(address exchangeAddress, bool isRevertingOnPartialFills, bytes32 subAccountID, bytes32 marketID, uint256 closeQuantity) pure returns() -func (f *FuturesCallerSession) ClosePositionMetaTransaction(exchangeAddress common.Address, isRevertingOnPartialFills bool, subAccountID [32]byte, marketID [32]byte, closeQuantity *big.Int) error { - return f.Contract.ClosePositionMetaTransaction(&f.CallOpts, exchangeAddress, isRevertingOnPartialFills, subAccountID, marketID, closeQuantity) -} - -// ComputeSubAccountIdFromNonce is a free data retrieval call binding the contract method 0x2488c4d8. -// -// Solidity: function computeSubAccountIdFromNonce(address trader, uint96 subAccountNonce) pure returns(bytes32) -func (f *FuturesCaller) ComputeSubAccountIdFromNonce(opts *bind.CallOpts, trader common.Address, subAccountNonce *big.Int) ([32]byte, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "computeSubAccountIdFromNonce", trader, subAccountNonce) - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// ComputeSubAccountIdFromNonce is a free data retrieval call binding the contract method 0x2488c4d8. -// -// Solidity: function computeSubAccountIdFromNonce(address trader, uint96 subAccountNonce) pure returns(bytes32) -func (f *FuturesSession) ComputeSubAccountIdFromNonce(trader common.Address, subAccountNonce *big.Int) ([32]byte, error) { - return f.Contract.ComputeSubAccountIdFromNonce(&f.CallOpts, trader, subAccountNonce) -} - -// ComputeSubAccountIdFromNonce is a free data retrieval call binding the contract method 0x2488c4d8. -// -// Solidity: function computeSubAccountIdFromNonce(address trader, uint96 subAccountNonce) pure returns(bytes32) -func (f *FuturesCallerSession) ComputeSubAccountIdFromNonce(trader common.Address, subAccountNonce *big.Int) ([32]byte, error) { - return f.Contract.ComputeSubAccountIdFromNonce(&f.CallOpts, trader, subAccountNonce) -} - -// CurrentAuctionEndTime is a free data retrieval call binding the contract method 0xe196dff1. -// -// Solidity: function currentAuctionEndTime() view returns(uint256) -func (f *FuturesCaller) CurrentAuctionEndTime(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "currentAuctionEndTime") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// CurrentAuctionEndTime is a free data retrieval call binding the contract method 0xe196dff1. -// -// Solidity: function currentAuctionEndTime() view returns(uint256) -func (f *FuturesSession) CurrentAuctionEndTime() (*big.Int, error) { - return f.Contract.CurrentAuctionEndTime(&f.CallOpts) -} - -// CurrentAuctionEndTime is a free data retrieval call binding the contract method 0xe196dff1. -// -// Solidity: function currentAuctionEndTime() view returns(uint256) -func (f *FuturesCallerSession) CurrentAuctionEndTime() (*big.Int, error) { - return f.Contract.CurrentAuctionEndTime(&f.CallOpts) -} - -// CurrentContextAddress is a free data retrieval call binding the contract method 0xeea086ba. -// -// Solidity: function currentContextAddress() view returns(address) -func (f *FuturesCaller) CurrentContextAddress(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "currentContextAddress") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// CurrentContextAddress is a free data retrieval call binding the contract method 0xeea086ba. -// -// Solidity: function currentContextAddress() view returns(address) -func (f *FuturesSession) CurrentContextAddress() (common.Address, error) { - return f.Contract.CurrentContextAddress(&f.CallOpts) -} - -// CurrentContextAddress is a free data retrieval call binding the contract method 0xeea086ba. -// -// Solidity: function currentContextAddress() view returns(address) -func (f *FuturesCallerSession) CurrentContextAddress() (common.Address, error) { - return f.Contract.CurrentContextAddress(&f.CallOpts) -} - -// DoesPositionExist is a free data retrieval call binding the contract method 0x2c12d600. -// -// Solidity: function doesPositionExist(uint256 positionID) view returns(bool) -func (f *FuturesCaller) DoesPositionExist(opts *bind.CallOpts, positionID *big.Int) (bool, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "doesPositionExist", positionID) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// DoesPositionExist is a free data retrieval call binding the contract method 0x2c12d600. -// -// Solidity: function doesPositionExist(uint256 positionID) view returns(bool) -func (f *FuturesSession) DoesPositionExist(positionID *big.Int) (bool, error) { - return f.Contract.DoesPositionExist(&f.CallOpts, positionID) -} - -// DoesPositionExist is a free data retrieval call binding the contract method 0x2c12d600. -// -// Solidity: function doesPositionExist(uint256 positionID) view returns(bool) -func (f *FuturesCallerSession) DoesPositionExist(positionID *big.Int) (bool, error) { - return f.Contract.DoesPositionExist(&f.CallOpts, positionID) -} - -// EpochFees is a free data retrieval call binding the contract method 0xfe944a57. -// -// Solidity: function epochFees(address ) view returns(uint256) -func (f *FuturesCaller) EpochFees(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "epochFees", arg0) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// EpochFees is a free data retrieval call binding the contract method 0xfe944a57. -// -// Solidity: function epochFees(address ) view returns(uint256) -func (f *FuturesSession) EpochFees(arg0 common.Address) (*big.Int, error) { - return f.Contract.EpochFees(&f.CallOpts, arg0) -} - -// EpochFees is a free data retrieval call binding the contract method 0xfe944a57. -// -// Solidity: function epochFees(address ) view returns(uint256) -func (f *FuturesCallerSession) EpochFees(arg0 common.Address) (*big.Int, error) { - return f.Contract.EpochFees(&f.CallOpts, arg0) -} - -// Filled is a free data retrieval call binding the contract method 0x288cdc91. -// -// Solidity: function filled(bytes32 ) view returns(uint256) -func (f *FuturesCaller) Filled(opts *bind.CallOpts, arg0 [32]byte) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "filled", arg0) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// Filled is a free data retrieval call binding the contract method 0x288cdc91. -// -// Solidity: function filled(bytes32 ) view returns(uint256) -func (f *FuturesSession) Filled(arg0 [32]byte) (*big.Int, error) { - return f.Contract.Filled(&f.CallOpts, arg0) -} - -// Filled is a free data retrieval call binding the contract method 0x288cdc91. -// -// Solidity: function filled(bytes32 ) view returns(uint256) -func (f *FuturesCallerSession) Filled(arg0 [32]byte) (*big.Int, error) { - return f.Contract.Filled(&f.CallOpts, arg0) -} - -// FuturesMarkets is a free data retrieval call binding the contract method 0x8192ea00. -// -// Solidity: function futuresMarkets(bytes32 ) view returns(bytes32 marketID, address baseCurrency, string ticker, address oracle, (uint256) initialMarginRatio, (uint256) maintenanceMarginRatio, uint256 indexPrice, uint256 expiryOrNextFundingTimestamp, uint256 fundingInterval, int256 cumulativeFunding, ((uint256),(uint256),(uint256)) transactionFees) -func (f *FuturesCaller) FuturesMarkets(opts *bind.CallOpts, arg0 [32]byte) (struct { - MarketID [32]byte - BaseCurrency common.Address - Ticker string - Oracle common.Address - InitialMarginRatio PermyriadMathPermyriad - MaintenanceMarginRatio PermyriadMathPermyriad - IndexPrice *big.Int - ExpiryOrNextFundingTimestamp *big.Int - FundingInterval *big.Int - CumulativeFunding *big.Int - TransactionFees TypesTransactionFees -}, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "futuresMarkets", arg0) - - outstruct := new(struct { - MarketID [32]byte - BaseCurrency common.Address - Ticker string - Oracle common.Address - InitialMarginRatio PermyriadMathPermyriad - MaintenanceMarginRatio PermyriadMathPermyriad - IndexPrice *big.Int - ExpiryOrNextFundingTimestamp *big.Int - FundingInterval *big.Int - CumulativeFunding *big.Int - TransactionFees TypesTransactionFees - }) - - outstruct.MarketID = out[0].([32]byte) - outstruct.BaseCurrency = out[1].(common.Address) - outstruct.Ticker = out[2].(string) - outstruct.Oracle = out[3].(common.Address) - outstruct.InitialMarginRatio = out[4].(PermyriadMathPermyriad) - outstruct.MaintenanceMarginRatio = out[5].(PermyriadMathPermyriad) - outstruct.IndexPrice = out[6].(*big.Int) - outstruct.ExpiryOrNextFundingTimestamp = out[7].(*big.Int) - outstruct.FundingInterval = out[8].(*big.Int) - outstruct.CumulativeFunding = out[9].(*big.Int) - outstruct.TransactionFees = out[10].(TypesTransactionFees) - - return *outstruct, err - -} - -// FuturesMarkets is a free data retrieval call binding the contract method 0x8192ea00. -// -// Solidity: function futuresMarkets(bytes32 ) view returns(bytes32 marketID, address baseCurrency, string ticker, address oracle, (uint256) initialMarginRatio, (uint256) maintenanceMarginRatio, uint256 indexPrice, uint256 expiryOrNextFundingTimestamp, uint256 fundingInterval, int256 cumulativeFunding, ((uint256),(uint256),(uint256)) transactionFees) -func (f *FuturesSession) FuturesMarkets(arg0 [32]byte) (struct { - MarketID [32]byte - BaseCurrency common.Address - Ticker string - Oracle common.Address - InitialMarginRatio PermyriadMathPermyriad - MaintenanceMarginRatio PermyriadMathPermyriad - IndexPrice *big.Int - ExpiryOrNextFundingTimestamp *big.Int - FundingInterval *big.Int - CumulativeFunding *big.Int - TransactionFees TypesTransactionFees -}, error) { - return f.Contract.FuturesMarkets(&f.CallOpts, arg0) -} - -// FuturesMarkets is a free data retrieval call binding the contract method 0x8192ea00. -// -// Solidity: function futuresMarkets(bytes32 ) view returns(bytes32 marketID, address baseCurrency, string ticker, address oracle, (uint256) initialMarginRatio, (uint256) maintenanceMarginRatio, uint256 indexPrice, uint256 expiryOrNextFundingTimestamp, uint256 fundingInterval, int256 cumulativeFunding, ((uint256),(uint256),(uint256)) transactionFees) -func (f *FuturesCallerSession) FuturesMarkets(arg0 [32]byte) (struct { - MarketID [32]byte - BaseCurrency common.Address - Ticker string - Oracle common.Address - InitialMarginRatio PermyriadMathPermyriad - MaintenanceMarginRatio PermyriadMathPermyriad - IndexPrice *big.Int - ExpiryOrNextFundingTimestamp *big.Int - FundingInterval *big.Int - CumulativeFunding *big.Int - TransactionFees TypesTransactionFees -}, error) { - return f.Contract.FuturesMarkets(&f.CallOpts, arg0) -} - -// GetApproved is a free data retrieval call binding the contract method 0x081812fc. -// -// Solidity: function getApproved(uint256 positionID) view returns(address) -func (f *FuturesCaller) GetApproved(opts *bind.CallOpts, positionID *big.Int) (common.Address, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "getApproved", positionID) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// GetApproved is a free data retrieval call binding the contract method 0x081812fc. -// -// Solidity: function getApproved(uint256 positionID) view returns(address) -func (f *FuturesSession) GetApproved(positionID *big.Int) (common.Address, error) { - return f.Contract.GetApproved(&f.CallOpts, positionID) -} - -// GetApproved is a free data retrieval call binding the contract method 0x081812fc. -// -// Solidity: function getApproved(uint256 positionID) view returns(address) -func (f *FuturesCallerSession) GetApproved(positionID *big.Int) (common.Address, error) { - return f.Contract.GetApproved(&f.CallOpts, positionID) -} - -// GetDefaultSubAccountDeposits is a free data retrieval call binding the contract method 0x1883e458. -// -// Solidity: function getDefaultSubAccountDeposits(address baseCurrency, address trader) view returns(uint256) -func (f *FuturesCaller) GetDefaultSubAccountDeposits(opts *bind.CallOpts, baseCurrency common.Address, trader common.Address) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "getDefaultSubAccountDeposits", baseCurrency, trader) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetDefaultSubAccountDeposits is a free data retrieval call binding the contract method 0x1883e458. -// -// Solidity: function getDefaultSubAccountDeposits(address baseCurrency, address trader) view returns(uint256) -func (f *FuturesSession) GetDefaultSubAccountDeposits(baseCurrency common.Address, trader common.Address) (*big.Int, error) { - return f.Contract.GetDefaultSubAccountDeposits(&f.CallOpts, baseCurrency, trader) -} - -// GetDefaultSubAccountDeposits is a free data retrieval call binding the contract method 0x1883e458. -// -// Solidity: function getDefaultSubAccountDeposits(address baseCurrency, address trader) view returns(uint256) -func (f *FuturesCallerSession) GetDefaultSubAccountDeposits(baseCurrency common.Address, trader common.Address) (*big.Int, error) { - return f.Contract.GetDefaultSubAccountDeposits(&f.CallOpts, baseCurrency, trader) -} - -// GetDefaultSubAccountIdForTrader is a free data retrieval call binding the contract method 0x80755948. -// -// Solidity: function getDefaultSubAccountIdForTrader(address trader) pure returns(bytes32) -func (f *FuturesCaller) GetDefaultSubAccountIdForTrader(opts *bind.CallOpts, trader common.Address) ([32]byte, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "getDefaultSubAccountIdForTrader", trader) - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// GetDefaultSubAccountIdForTrader is a free data retrieval call binding the contract method 0x80755948. -// -// Solidity: function getDefaultSubAccountIdForTrader(address trader) pure returns(bytes32) -func (f *FuturesSession) GetDefaultSubAccountIdForTrader(trader common.Address) ([32]byte, error) { - return f.Contract.GetDefaultSubAccountIdForTrader(&f.CallOpts, trader) -} - -// GetDefaultSubAccountIdForTrader is a free data retrieval call binding the contract method 0x80755948. -// -// Solidity: function getDefaultSubAccountIdForTrader(address trader) pure returns(bytes32) -func (f *FuturesCallerSession) GetDefaultSubAccountIdForTrader(trader common.Address) ([32]byte, error) { - return f.Contract.GetDefaultSubAccountIdForTrader(&f.CallOpts, trader) -} - -// GetMaxFundingFeeAbs is a free data retrieval call binding the contract method 0xa9d56fe9. -// -// Solidity: function getMaxFundingFeeAbs(bytes32 marketID) view returns(uint256) -func (f *FuturesCaller) GetMaxFundingFeeAbs(opts *bind.CallOpts, marketID [32]byte) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "getMaxFundingFeeAbs", marketID) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetMaxFundingFeeAbs is a free data retrieval call binding the contract method 0xa9d56fe9. -// -// Solidity: function getMaxFundingFeeAbs(bytes32 marketID) view returns(uint256) -func (f *FuturesSession) GetMaxFundingFeeAbs(marketID [32]byte) (*big.Int, error) { - return f.Contract.GetMaxFundingFeeAbs(&f.CallOpts, marketID) -} - -// GetMaxFundingFeeAbs is a free data retrieval call binding the contract method 0xa9d56fe9. -// -// Solidity: function getMaxFundingFeeAbs(bytes32 marketID) view returns(uint256) -func (f *FuturesCallerSession) GetMaxFundingFeeAbs(marketID [32]byte) (*big.Int, error) { - return f.Contract.GetMaxFundingFeeAbs(&f.CallOpts, marketID) -} - -// GetOrderInfo is a free data retrieval call binding the contract method 0x9d3fa4b9. -// -// Solidity: function getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes) order) view returns((uint8,bytes32,uint256,bytes32,uint8,bytes32,uint256) orderInfo) -func (f *FuturesCaller) GetOrderInfo(opts *bind.CallOpts, order Order) (OrderInfo, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "getOrderInfo", order) - - if err != nil { - return *new(OrderInfo), err - } - - out0 := *abi.ConvertType(out[0], new(OrderInfo)).(*OrderInfo) - - return out0, err - -} - -// GetOrderInfo is a free data retrieval call binding the contract method 0x9d3fa4b9. -// -// Solidity: function getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes) order) view returns((uint8,bytes32,uint256,bytes32,uint8,bytes32,uint256) orderInfo) -func (f *FuturesSession) GetOrderInfo(order Order) (OrderInfo, error) { - return f.Contract.GetOrderInfo(&f.CallOpts, order) -} - -// GetOrderInfo is a free data retrieval call binding the contract method 0x9d3fa4b9. -// -// Solidity: function getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes) order) view returns((uint8,bytes32,uint256,bytes32,uint8,bytes32,uint256) orderInfo) -func (f *FuturesCallerSession) GetOrderInfo(order Order) (OrderInfo, error) { - return f.Contract.GetOrderInfo(&f.CallOpts, order) -} - -// GetOrderRelevantState is a free data retrieval call binding the contract method 0xef3a29b3. -// -// Solidity: function getOrderRelevantState((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes) order, bytes signature, uint256 indexPrice) view returns((uint8,bytes32,uint256,bytes32,uint8,bytes32,uint256) orderInfo, uint256 fillableTakerAssetAmount, bool isValidSignature) -func (f *FuturesCaller) GetOrderRelevantState(opts *bind.CallOpts, order Order, signature []byte, indexPrice *big.Int) (struct { - OrderInfo DerivativeOrderInfo - FillableTakerAssetAmount *big.Int - IsValidSignature bool -}, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "getOrderRelevantState", order, signature, indexPrice) - - outstruct := new(struct { - OrderInfo DerivativeOrderInfo - FillableTakerAssetAmount *big.Int - IsValidSignature bool - }) - - outstruct.OrderInfo = out[0].(DerivativeOrderInfo) - outstruct.FillableTakerAssetAmount = out[1].(*big.Int) - outstruct.IsValidSignature = out[2].(bool) - - return *outstruct, err - -} - -// GetOrderRelevantState is a free data retrieval call binding the contract method 0xef3a29b3. -// -// Solidity: function getOrderRelevantState((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes) order, bytes signature, uint256 indexPrice) view returns((uint8,bytes32,uint256,bytes32,uint8,bytes32,uint256) orderInfo, uint256 fillableTakerAssetAmount, bool isValidSignature) -func (f *FuturesSession) GetOrderRelevantState(order Order, signature []byte, indexPrice *big.Int) (struct { - OrderInfo DerivativeOrderInfo - FillableTakerAssetAmount *big.Int - IsValidSignature bool -}, error) { - return f.Contract.GetOrderRelevantState(&f.CallOpts, order, signature, indexPrice) -} - -// GetOrderRelevantState is a free data retrieval call binding the contract method 0xef3a29b3. -// -// Solidity: function getOrderRelevantState((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes) order, bytes signature, uint256 indexPrice) view returns((uint8,bytes32,uint256,bytes32,uint8,bytes32,uint256) orderInfo, uint256 fillableTakerAssetAmount, bool isValidSignature) -func (f *FuturesCallerSession) GetOrderRelevantState(order Order, signature []byte, indexPrice *big.Int) (struct { - OrderInfo DerivativeOrderInfo - FillableTakerAssetAmount *big.Int - IsValidSignature bool -}, error) { - return f.Contract.GetOrderRelevantState(&f.CallOpts, order, signature, indexPrice) -} - -// GetOrderRelevantStates is a free data retrieval call binding the contract method 0xe25cabf7. -// -// Solidity: function getOrderRelevantStates((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[] orders, bytes[] signatures) view returns((uint8,bytes32,uint256,bytes32,uint8,bytes32,uint256)[] ordersInfo, uint256[] fillableTakerAssetAmounts, bool[] isValidSignature) -func (f *FuturesCaller) GetOrderRelevantStates(opts *bind.CallOpts, orders []Order, signatures [][]byte) (struct { - OrdersInfo []DerivativeOrderInfo - FillableTakerAssetAmounts []*big.Int - IsValidSignature []bool -}, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "getOrderRelevantStates", orders, signatures) - - outstruct := new(struct { - OrdersInfo []DerivativeOrderInfo - FillableTakerAssetAmounts []*big.Int - IsValidSignature []bool - }) - - outstruct.OrdersInfo = out[0].([]DerivativeOrderInfo) - outstruct.FillableTakerAssetAmounts = out[1].([]*big.Int) - outstruct.IsValidSignature = out[2].([]bool) - - return *outstruct, err - -} - -// GetOrderRelevantStates is a free data retrieval call binding the contract method 0xe25cabf7. -// -// Solidity: function getOrderRelevantStates((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[] orders, bytes[] signatures) view returns((uint8,bytes32,uint256,bytes32,uint8,bytes32,uint256)[] ordersInfo, uint256[] fillableTakerAssetAmounts, bool[] isValidSignature) -func (f *FuturesSession) GetOrderRelevantStates(orders []Order, signatures [][]byte) (struct { - OrdersInfo []DerivativeOrderInfo - FillableTakerAssetAmounts []*big.Int - IsValidSignature []bool -}, error) { - return f.Contract.GetOrderRelevantStates(&f.CallOpts, orders, signatures) -} - -// GetOrderRelevantStates is a free data retrieval call binding the contract method 0xe25cabf7. -// -// Solidity: function getOrderRelevantStates((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[] orders, bytes[] signatures) view returns((uint8,bytes32,uint256,bytes32,uint8,bytes32,uint256)[] ordersInfo, uint256[] fillableTakerAssetAmounts, bool[] isValidSignature) -func (f *FuturesCallerSession) GetOrderRelevantStates(orders []Order, signatures [][]byte) (struct { - OrdersInfo []DerivativeOrderInfo - FillableTakerAssetAmounts []*big.Int - IsValidSignature []bool -}, error) { - return f.Contract.GetOrderRelevantStates(&f.CallOpts, orders, signatures) -} - -// GetPositionIDsForTrader is a free data retrieval call binding the contract method 0xc3e49bb7. -// -// Solidity: function getPositionIDsForTrader(address trader, bytes32 marketID) view returns(uint256[] positionIDs) -func (f *FuturesCaller) GetPositionIDsForTrader(opts *bind.CallOpts, trader common.Address, marketID [32]byte) ([]*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "getPositionIDsForTrader", trader, marketID) - - if err != nil { - return *new([]*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int) - - return out0, err - -} - -// GetPositionIDsForTrader is a free data retrieval call binding the contract method 0xc3e49bb7. -// -// Solidity: function getPositionIDsForTrader(address trader, bytes32 marketID) view returns(uint256[] positionIDs) -func (f *FuturesSession) GetPositionIDsForTrader(trader common.Address, marketID [32]byte) ([]*big.Int, error) { - return f.Contract.GetPositionIDsForTrader(&f.CallOpts, trader, marketID) -} - -// GetPositionIDsForTrader is a free data retrieval call binding the contract method 0xc3e49bb7. -// -// Solidity: function getPositionIDsForTrader(address trader, bytes32 marketID) view returns(uint256[] positionIDs) -func (f *FuturesCallerSession) GetPositionIDsForTrader(trader common.Address, marketID [32]byte) ([]*big.Int, error) { - return f.Contract.GetPositionIDsForTrader(&f.CallOpts, trader, marketID) -} - -// GetPositionsForTrader is a free data retrieval call binding the contract method 0x0088e8cc. -// -// Solidity: function getPositionsForTrader(address trader, bytes32 marketID) view returns((bytes32,bytes32,uint8,uint256,uint256,uint256,int256)[]) -func (f *FuturesCaller) GetPositionsForTrader(opts *bind.CallOpts, trader common.Address, marketID [32]byte) ([]TypesPosition, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "getPositionsForTrader", trader, marketID) - - if err != nil { - return *new([]TypesPosition), err - } - - out0 := *abi.ConvertType(out[0], new([]TypesPosition)).(*[]TypesPosition) - - return out0, err - -} - -// GetPositionsForTrader is a free data retrieval call binding the contract method 0x0088e8cc. -// -// Solidity: function getPositionsForTrader(address trader, bytes32 marketID) view returns((bytes32,bytes32,uint8,uint256,uint256,uint256,int256)[]) -func (f *FuturesSession) GetPositionsForTrader(trader common.Address, marketID [32]byte) ([]TypesPosition, error) { - return f.Contract.GetPositionsForTrader(&f.CallOpts, trader, marketID) -} - -// GetPositionsForTrader is a free data retrieval call binding the contract method 0x0088e8cc. -// -// Solidity: function getPositionsForTrader(address trader, bytes32 marketID) view returns((bytes32,bytes32,uint8,uint256,uint256,uint256,int256)[]) -func (f *FuturesCallerSession) GetPositionsForTrader(trader common.Address, marketID [32]byte) ([]TypesPosition, error) { - return f.Contract.GetPositionsForTrader(&f.CallOpts, trader, marketID) -} - -// GetReceiptApproved is a free data retrieval call binding the contract method 0x228906c8. -// -// Solidity: function getReceiptApproved(bytes32 receiverSubAccountID, uint256 positionID) view returns(bool) -func (f *FuturesCaller) GetReceiptApproved(opts *bind.CallOpts, receiverSubAccountID [32]byte, positionID *big.Int) (bool, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "getReceiptApproved", receiverSubAccountID, positionID) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// GetReceiptApproved is a free data retrieval call binding the contract method 0x228906c8. -// -// Solidity: function getReceiptApproved(bytes32 receiverSubAccountID, uint256 positionID) view returns(bool) -func (f *FuturesSession) GetReceiptApproved(receiverSubAccountID [32]byte, positionID *big.Int) (bool, error) { - return f.Contract.GetReceiptApproved(&f.CallOpts, receiverSubAccountID, positionID) -} - -// GetReceiptApproved is a free data retrieval call binding the contract method 0x228906c8. -// -// Solidity: function getReceiptApproved(bytes32 receiverSubAccountID, uint256 positionID) view returns(bool) -func (f *FuturesCallerSession) GetReceiptApproved(receiverSubAccountID [32]byte, positionID *big.Int) (bool, error) { - return f.Contract.GetReceiptApproved(&f.CallOpts, receiverSubAccountID, positionID) -} - -// GetTraderSubAccountsCount is a free data retrieval call binding the contract method 0x603ca5dc. -// -// Solidity: function getTraderSubAccountsCount(address trader) view returns(uint256) -func (f *FuturesCaller) GetTraderSubAccountsCount(opts *bind.CallOpts, trader common.Address) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "getTraderSubAccountsCount", trader) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetTraderSubAccountsCount is a free data retrieval call binding the contract method 0x603ca5dc. -// -// Solidity: function getTraderSubAccountsCount(address trader) view returns(uint256) -func (f *FuturesSession) GetTraderSubAccountsCount(trader common.Address) (*big.Int, error) { - return f.Contract.GetTraderSubAccountsCount(&f.CallOpts, trader) -} - -// GetTraderSubAccountsCount is a free data retrieval call binding the contract method 0x603ca5dc. -// -// Solidity: function getTraderSubAccountsCount(address trader) view returns(uint256) -func (f *FuturesCallerSession) GetTraderSubAccountsCount(trader common.Address) (*big.Int, error) { - return f.Contract.GetTraderSubAccountsCount(&f.CallOpts, trader) -} - -// GetUnitPositionValue is a free data retrieval call binding the contract method 0x574e2080. -// -// Solidity: function getUnitPositionValue(uint256 positionID, uint256 priceToUse) view returns(int256 unitPositionValue) -func (f *FuturesCaller) GetUnitPositionValue(opts *bind.CallOpts, positionID *big.Int, priceToUse *big.Int) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "getUnitPositionValue", positionID, priceToUse) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetUnitPositionValue is a free data retrieval call binding the contract method 0x574e2080. -// -// Solidity: function getUnitPositionValue(uint256 positionID, uint256 priceToUse) view returns(int256 unitPositionValue) -func (f *FuturesSession) GetUnitPositionValue(positionID *big.Int, priceToUse *big.Int) (*big.Int, error) { - return f.Contract.GetUnitPositionValue(&f.CallOpts, positionID, priceToUse) -} - -// GetUnitPositionValue is a free data retrieval call binding the contract method 0x574e2080. -// -// Solidity: function getUnitPositionValue(uint256 positionID, uint256 priceToUse) view returns(int256 unitPositionValue) -func (f *FuturesCallerSession) GetUnitPositionValue(positionID *big.Int, priceToUse *big.Int) (*big.Int, error) { - return f.Contract.GetUnitPositionValue(&f.CallOpts, positionID, priceToUse) -} - -// InsurancePools is a free data retrieval call binding the contract method 0x2514c1f1. -// -// Solidity: function insurancePools(bytes32 ) view returns(uint256) -func (f *FuturesCaller) InsurancePools(opts *bind.CallOpts, arg0 [32]byte) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "insurancePools", arg0) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// InsurancePools is a free data retrieval call binding the contract method 0x2514c1f1. -// -// Solidity: function insurancePools(bytes32 ) view returns(uint256) -func (f *FuturesSession) InsurancePools(arg0 [32]byte) (*big.Int, error) { - return f.Contract.InsurancePools(&f.CallOpts, arg0) -} - -// InsurancePools is a free data retrieval call binding the contract method 0x2514c1f1. -// -// Solidity: function insurancePools(bytes32 ) view returns(uint256) -func (f *FuturesCallerSession) InsurancePools(arg0 [32]byte) (*big.Int, error) { - return f.Contract.InsurancePools(&f.CallOpts, arg0) -} - -// IsAllowedToReceivePosition is a free data retrieval call binding the contract method 0x57971430. -// -// Solidity: function isAllowedToReceivePosition(uint256 positionID, address sender, bytes32 receiverSubAccountID) view returns(bool) -func (f *FuturesCaller) IsAllowedToReceivePosition(opts *bind.CallOpts, positionID *big.Int, sender common.Address, receiverSubAccountID [32]byte) (bool, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "isAllowedToReceivePosition", positionID, sender, receiverSubAccountID) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// IsAllowedToReceivePosition is a free data retrieval call binding the contract method 0x57971430. -// -// Solidity: function isAllowedToReceivePosition(uint256 positionID, address sender, bytes32 receiverSubAccountID) view returns(bool) -func (f *FuturesSession) IsAllowedToReceivePosition(positionID *big.Int, sender common.Address, receiverSubAccountID [32]byte) (bool, error) { - return f.Contract.IsAllowedToReceivePosition(&f.CallOpts, positionID, sender, receiverSubAccountID) -} - -// IsAllowedToReceivePosition is a free data retrieval call binding the contract method 0x57971430. -// -// Solidity: function isAllowedToReceivePosition(uint256 positionID, address sender, bytes32 receiverSubAccountID) view returns(bool) -func (f *FuturesCallerSession) IsAllowedToReceivePosition(positionID *big.Int, sender common.Address, receiverSubAccountID [32]byte) (bool, error) { - return f.Contract.IsAllowedToReceivePosition(&f.CallOpts, positionID, sender, receiverSubAccountID) -} - -// IsAllowedToTransferPosition is a free data retrieval call binding the contract method 0x0e6c0912. -// -// Solidity: function isAllowedToTransferPosition(uint256 positionID, address sender) view returns(bool) -func (f *FuturesCaller) IsAllowedToTransferPosition(opts *bind.CallOpts, positionID *big.Int, sender common.Address) (bool, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "isAllowedToTransferPosition", positionID, sender) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// IsAllowedToTransferPosition is a free data retrieval call binding the contract method 0x0e6c0912. -// -// Solidity: function isAllowedToTransferPosition(uint256 positionID, address sender) view returns(bool) -func (f *FuturesSession) IsAllowedToTransferPosition(positionID *big.Int, sender common.Address) (bool, error) { - return f.Contract.IsAllowedToTransferPosition(&f.CallOpts, positionID, sender) -} - -// IsAllowedToTransferPosition is a free data retrieval call binding the contract method 0x0e6c0912. -// -// Solidity: function isAllowedToTransferPosition(uint256 positionID, address sender) view returns(bool) -func (f *FuturesCallerSession) IsAllowedToTransferPosition(positionID *big.Int, sender common.Address) (bool, error) { - return f.Contract.IsAllowedToTransferPosition(&f.CallOpts, positionID, sender) -} - -// IsApprovedForAll is a free data retrieval call binding the contract method 0xb0698628. -// -// Solidity: function isApprovedForAll(bytes32 fromSubAccountID, address operator) view returns(bool) -func (f *FuturesCaller) IsApprovedForAll(opts *bind.CallOpts, fromSubAccountID [32]byte, operator common.Address) (bool, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "isApprovedForAll", fromSubAccountID, operator) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// IsApprovedForAll is a free data retrieval call binding the contract method 0xb0698628. -// -// Solidity: function isApprovedForAll(bytes32 fromSubAccountID, address operator) view returns(bool) -func (f *FuturesSession) IsApprovedForAll(fromSubAccountID [32]byte, operator common.Address) (bool, error) { - return f.Contract.IsApprovedForAll(&f.CallOpts, fromSubAccountID, operator) -} - -// IsApprovedForAll is a free data retrieval call binding the contract method 0xb0698628. -// -// Solidity: function isApprovedForAll(bytes32 fromSubAccountID, address operator) view returns(bool) -func (f *FuturesCallerSession) IsApprovedForAll(fromSubAccountID [32]byte, operator common.Address) (bool, error) { - return f.Contract.IsApprovedForAll(&f.CallOpts, fromSubAccountID, operator) -} - -// IsApprovedForMarket is a free data retrieval call binding the contract method 0x1d37b559. -// -// Solidity: function isApprovedForMarket(bytes32 fromSubAccountID, address operator, bytes32 marketID) view returns(bool) -func (f *FuturesCaller) IsApprovedForMarket(opts *bind.CallOpts, fromSubAccountID [32]byte, operator common.Address, marketID [32]byte) (bool, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "isApprovedForMarket", fromSubAccountID, operator, marketID) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// IsApprovedForMarket is a free data retrieval call binding the contract method 0x1d37b559. -// -// Solidity: function isApprovedForMarket(bytes32 fromSubAccountID, address operator, bytes32 marketID) view returns(bool) -func (f *FuturesSession) IsApprovedForMarket(fromSubAccountID [32]byte, operator common.Address, marketID [32]byte) (bool, error) { - return f.Contract.IsApprovedForMarket(&f.CallOpts, fromSubAccountID, operator, marketID) -} - -// IsApprovedForMarket is a free data retrieval call binding the contract method 0x1d37b559. -// -// Solidity: function isApprovedForMarket(bytes32 fromSubAccountID, address operator, bytes32 marketID) view returns(bool) -func (f *FuturesCallerSession) IsApprovedForMarket(fromSubAccountID [32]byte, operator common.Address, marketID [32]byte) (bool, error) { - return f.Contract.IsApprovedForMarket(&f.CallOpts, fromSubAccountID, operator, marketID) -} - -// IsFuturesMarketSettled is a free data retrieval call binding the contract method 0xd5a5c5e2. -// -// Solidity: function isFuturesMarketSettled(bytes32 ) view returns(bool) -func (f *FuturesCaller) IsFuturesMarketSettled(opts *bind.CallOpts, arg0 [32]byte) (bool, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "isFuturesMarketSettled", arg0) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// IsFuturesMarketSettled is a free data retrieval call binding the contract method 0xd5a5c5e2. -// -// Solidity: function isFuturesMarketSettled(bytes32 ) view returns(bool) -func (f *FuturesSession) IsFuturesMarketSettled(arg0 [32]byte) (bool, error) { - return f.Contract.IsFuturesMarketSettled(&f.CallOpts, arg0) -} - -// IsFuturesMarketSettled is a free data retrieval call binding the contract method 0xd5a5c5e2. -// -// Solidity: function isFuturesMarketSettled(bytes32 ) view returns(bool) -func (f *FuturesCallerSession) IsFuturesMarketSettled(arg0 [32]byte) (bool, error) { - return f.Contract.IsFuturesMarketSettled(&f.CallOpts, arg0) -} - -// IsReceiptApprovedForAll is a free data retrieval call binding the contract method 0x2d1792bd. -// -// Solidity: function isReceiptApprovedForAll(bytes32 receiverSubAccountID, address operator) view returns(bool) -func (f *FuturesCaller) IsReceiptApprovedForAll(opts *bind.CallOpts, receiverSubAccountID [32]byte, operator common.Address) (bool, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "isReceiptApprovedForAll", receiverSubAccountID, operator) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// IsReceiptApprovedForAll is a free data retrieval call binding the contract method 0x2d1792bd. -// -// Solidity: function isReceiptApprovedForAll(bytes32 receiverSubAccountID, address operator) view returns(bool) -func (f *FuturesSession) IsReceiptApprovedForAll(receiverSubAccountID [32]byte, operator common.Address) (bool, error) { - return f.Contract.IsReceiptApprovedForAll(&f.CallOpts, receiverSubAccountID, operator) -} - -// IsReceiptApprovedForAll is a free data retrieval call binding the contract method 0x2d1792bd. -// -// Solidity: function isReceiptApprovedForAll(bytes32 receiverSubAccountID, address operator) view returns(bool) -func (f *FuturesCallerSession) IsReceiptApprovedForAll(receiverSubAccountID [32]byte, operator common.Address) (bool, error) { - return f.Contract.IsReceiptApprovedForAll(&f.CallOpts, receiverSubAccountID, operator) -} - -// IsReceiptApprovedForMarket is a free data retrieval call binding the contract method 0x218c106c. -// -// Solidity: function isReceiptApprovedForMarket(bytes32 receiverSubAccountID, address operator, bytes32 marketID) view returns(bool) -func (f *FuturesCaller) IsReceiptApprovedForMarket(opts *bind.CallOpts, receiverSubAccountID [32]byte, operator common.Address, marketID [32]byte) (bool, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "isReceiptApprovedForMarket", receiverSubAccountID, operator, marketID) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// IsReceiptApprovedForMarket is a free data retrieval call binding the contract method 0x218c106c. -// -// Solidity: function isReceiptApprovedForMarket(bytes32 receiverSubAccountID, address operator, bytes32 marketID) view returns(bool) -func (f *FuturesSession) IsReceiptApprovedForMarket(receiverSubAccountID [32]byte, operator common.Address, marketID [32]byte) (bool, error) { - return f.Contract.IsReceiptApprovedForMarket(&f.CallOpts, receiverSubAccountID, operator, marketID) -} - -// IsReceiptApprovedForMarket is a free data retrieval call binding the contract method 0x218c106c. -// -// Solidity: function isReceiptApprovedForMarket(bytes32 receiverSubAccountID, address operator, bytes32 marketID) view returns(bool) -func (f *FuturesCallerSession) IsReceiptApprovedForMarket(receiverSubAccountID [32]byte, operator common.Address, marketID [32]byte) (bool, error) { - return f.Contract.IsReceiptApprovedForMarket(&f.CallOpts, receiverSubAccountID, operator, marketID) -} - -// IsTimeExpiryFuturesMarket is a free data retrieval call binding the contract method 0x6e664084. -// -// Solidity: function isTimeExpiryFuturesMarket(bytes32 marketID) view returns(bool) -func (f *FuturesCaller) IsTimeExpiryFuturesMarket(opts *bind.CallOpts, marketID [32]byte) (bool, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "isTimeExpiryFuturesMarket", marketID) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// IsTimeExpiryFuturesMarket is a free data retrieval call binding the contract method 0x6e664084. -// -// Solidity: function isTimeExpiryFuturesMarket(bytes32 marketID) view returns(bool) -func (f *FuturesSession) IsTimeExpiryFuturesMarket(marketID [32]byte) (bool, error) { - return f.Contract.IsTimeExpiryFuturesMarket(&f.CallOpts, marketID) -} - -// IsTimeExpiryFuturesMarket is a free data retrieval call binding the contract method 0x6e664084. -// -// Solidity: function isTimeExpiryFuturesMarket(bytes32 marketID) view returns(bool) -func (f *FuturesCallerSession) IsTimeExpiryFuturesMarket(marketID [32]byte) (bool, error) { - return f.Contract.IsTimeExpiryFuturesMarket(&f.CallOpts, marketID) -} - -// IsValidBaseCurrency is a free data retrieval call binding the contract method 0x227cdb85. -// -// Solidity: function isValidBaseCurrency(address ) view returns(bool) -func (f *FuturesCaller) IsValidBaseCurrency(opts *bind.CallOpts, arg0 common.Address) (bool, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "isValidBaseCurrency", arg0) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// IsValidBaseCurrency is a free data retrieval call binding the contract method 0x227cdb85. -// -// Solidity: function isValidBaseCurrency(address ) view returns(bool) -func (f *FuturesSession) IsValidBaseCurrency(arg0 common.Address) (bool, error) { - return f.Contract.IsValidBaseCurrency(&f.CallOpts, arg0) -} - -// IsValidBaseCurrency is a free data retrieval call binding the contract method 0x227cdb85. -// -// Solidity: function isValidBaseCurrency(address ) view returns(bool) -func (f *FuturesCallerSession) IsValidBaseCurrency(arg0 common.Address) (bool, error) { - return f.Contract.IsValidBaseCurrency(&f.CallOpts, arg0) -} - -// IsValidHashSignature is a free data retrieval call binding the contract method 0x8171c407. -// -// Solidity: function isValidHashSignature(bytes32 hash, address signerAddress, bytes signature) view returns(bool isValid) -func (f *FuturesCaller) IsValidHashSignature(opts *bind.CallOpts, hash [32]byte, signerAddress common.Address, signature []byte) (bool, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "isValidHashSignature", hash, signerAddress, signature) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// IsValidHashSignature is a free data retrieval call binding the contract method 0x8171c407. -// -// Solidity: function isValidHashSignature(bytes32 hash, address signerAddress, bytes signature) view returns(bool isValid) -func (f *FuturesSession) IsValidHashSignature(hash [32]byte, signerAddress common.Address, signature []byte) (bool, error) { - return f.Contract.IsValidHashSignature(&f.CallOpts, hash, signerAddress, signature) -} - -// IsValidHashSignature is a free data retrieval call binding the contract method 0x8171c407. -// -// Solidity: function isValidHashSignature(bytes32 hash, address signerAddress, bytes signature) view returns(bool isValid) -func (f *FuturesCallerSession) IsValidHashSignature(hash [32]byte, signerAddress common.Address, signature []byte) (bool, error) { - return f.Contract.IsValidHashSignature(&f.CallOpts, hash, signerAddress, signature) -} - -// IsValidOrderSignature is a free data retrieval call binding the contract method 0xa12dcc6f. -// -// Solidity: function isValidOrderSignature((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes) order, bytes signature) view returns(bool isValid) -func (f *FuturesCaller) IsValidOrderSignature(opts *bind.CallOpts, order Order, signature []byte) (bool, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "isValidOrderSignature", order, signature) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// IsValidOrderSignature is a free data retrieval call binding the contract method 0xa12dcc6f. -// -// Solidity: function isValidOrderSignature((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes) order, bytes signature) view returns(bool isValid) -func (f *FuturesSession) IsValidOrderSignature(order Order, signature []byte) (bool, error) { - return f.Contract.IsValidOrderSignature(&f.CallOpts, order, signature) -} - -// IsValidOrderSignature is a free data retrieval call binding the contract method 0xa12dcc6f. -// -// Solidity: function isValidOrderSignature((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes) order, bytes signature) view returns(bool isValid) -func (f *FuturesCallerSession) IsValidOrderSignature(order Order, signature []byte) (bool, error) { - return f.Contract.IsValidOrderSignature(&f.CallOpts, order, signature) -} - -// IsValidTransactionSignature is a free data retrieval call binding the contract method 0x8d45cd23. -// -// Solidity: function isValidTransactionSignature((uint256,uint256,uint256,address,bytes) transaction, bytes signature) view returns(bool isValid) -func (f *FuturesCaller) IsValidTransactionSignature(opts *bind.CallOpts, transaction LibZeroExTransactionZeroExTransaction, signature []byte) (bool, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "isValidTransactionSignature", transaction, signature) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// IsValidTransactionSignature is a free data retrieval call binding the contract method 0x8d45cd23. -// -// Solidity: function isValidTransactionSignature((uint256,uint256,uint256,address,bytes) transaction, bytes signature) view returns(bool isValid) -func (f *FuturesSession) IsValidTransactionSignature(transaction LibZeroExTransactionZeroExTransaction, signature []byte) (bool, error) { - return f.Contract.IsValidTransactionSignature(&f.CallOpts, transaction, signature) -} - -// IsValidTransactionSignature is a free data retrieval call binding the contract method 0x8d45cd23. -// -// Solidity: function isValidTransactionSignature((uint256,uint256,uint256,address,bytes) transaction, bytes signature) view returns(bool isValid) -func (f *FuturesCallerSession) IsValidTransactionSignature(transaction LibZeroExTransactionZeroExTransaction, signature []byte) (bool, error) { - return f.Contract.IsValidTransactionSignature(&f.CallOpts, transaction, signature) -} - -// LastValidVWAP is a free data retrieval call binding the contract method 0x42151440. -// -// Solidity: function lastValidVWAP(bytes32 ) view returns(uint256) -func (f *FuturesCaller) LastValidVWAP(opts *bind.CallOpts, arg0 [32]byte) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "lastValidVWAP", arg0) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// LastValidVWAP is a free data retrieval call binding the contract method 0x42151440. -// -// Solidity: function lastValidVWAP(bytes32 ) view returns(uint256) -func (f *FuturesSession) LastValidVWAP(arg0 [32]byte) (*big.Int, error) { - return f.Contract.LastValidVWAP(&f.CallOpts, arg0) -} - -// LastValidVWAP is a free data retrieval call binding the contract method 0x42151440. -// -// Solidity: function lastValidVWAP(bytes32 ) view returns(uint256) -func (f *FuturesCallerSession) LastValidVWAP(arg0 [32]byte) (*big.Int, error) { - return f.Contract.LastValidVWAP(&f.CallOpts, arg0) -} - -// MarketCount is a free data retrieval call binding the contract method 0xec979082. -// -// Solidity: function marketCount() view returns(uint256) -func (f *FuturesCaller) MarketCount(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "marketCount") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// MarketCount is a free data retrieval call binding the contract method 0xec979082. -// -// Solidity: function marketCount() view returns(uint256) -func (f *FuturesSession) MarketCount() (*big.Int, error) { - return f.Contract.MarketCount(&f.CallOpts) -} - -// MarketCount is a free data retrieval call binding the contract method 0xec979082. -// -// Solidity: function marketCount() view returns(uint256) -func (f *FuturesCallerSession) MarketCount() (*big.Int, error) { - return f.Contract.MarketCount(&f.CallOpts) -} - -// MarketSerialToID is a free data retrieval call binding the contract method 0xbae18473. -// -// Solidity: function marketSerialToID(uint256 ) view returns(bytes32) -func (f *FuturesCaller) MarketSerialToID(opts *bind.CallOpts, arg0 *big.Int) ([32]byte, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "marketSerialToID", arg0) - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// MarketSerialToID is a free data retrieval call binding the contract method 0xbae18473. -// -// Solidity: function marketSerialToID(uint256 ) view returns(bytes32) -func (f *FuturesSession) MarketSerialToID(arg0 *big.Int) ([32]byte, error) { - return f.Contract.MarketSerialToID(&f.CallOpts, arg0) -} - -// MarketSerialToID is a free data retrieval call binding the contract method 0xbae18473. -// -// Solidity: function marketSerialToID(uint256 ) view returns(bytes32) -func (f *FuturesCallerSession) MarketSerialToID(arg0 *big.Int) ([32]byte, error) { - return f.Contract.MarketSerialToID(&f.CallOpts, arg0) -} - -// MaxBaseCurrencyCap is a free data retrieval call binding the contract method 0xf8720a75. -// -// Solidity: function maxBaseCurrencyCap() view returns(uint256) -func (f *FuturesCaller) MaxBaseCurrencyCap(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "maxBaseCurrencyCap") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// MaxBaseCurrencyCap is a free data retrieval call binding the contract method 0xf8720a75. -// -// Solidity: function maxBaseCurrencyCap() view returns(uint256) -func (f *FuturesSession) MaxBaseCurrencyCap() (*big.Int, error) { - return f.Contract.MaxBaseCurrencyCap(&f.CallOpts) -} - -// MaxBaseCurrencyCap is a free data retrieval call binding the contract method 0xf8720a75. -// -// Solidity: function maxBaseCurrencyCap() view returns(uint256) -func (f *FuturesCallerSession) MaxBaseCurrencyCap() (*big.Int, error) { - return f.Contract.MaxBaseCurrencyCap(&f.CallOpts) -} - -// MostRecentEpochQuantity is a free data retrieval call binding the contract method 0xf7a28a1a. -// -// Solidity: function mostRecentEpochQuantity(bytes32 ) view returns(uint256) -func (f *FuturesCaller) MostRecentEpochQuantity(opts *bind.CallOpts, arg0 [32]byte) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "mostRecentEpochQuantity", arg0) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// MostRecentEpochQuantity is a free data retrieval call binding the contract method 0xf7a28a1a. -// -// Solidity: function mostRecentEpochQuantity(bytes32 ) view returns(uint256) -func (f *FuturesSession) MostRecentEpochQuantity(arg0 [32]byte) (*big.Int, error) { - return f.Contract.MostRecentEpochQuantity(&f.CallOpts, arg0) -} - -// MostRecentEpochQuantity is a free data retrieval call binding the contract method 0xf7a28a1a. -// -// Solidity: function mostRecentEpochQuantity(bytes32 ) view returns(uint256) -func (f *FuturesCallerSession) MostRecentEpochQuantity(arg0 [32]byte) (*big.Int, error) { - return f.Contract.MostRecentEpochQuantity(&f.CallOpts, arg0) -} - -// MostRecentEpochVolume is a free data retrieval call binding the contract method 0x13626422. -// -// Solidity: function mostRecentEpochVolume(bytes32 ) view returns(uint256) -func (f *FuturesCaller) MostRecentEpochVolume(opts *bind.CallOpts, arg0 [32]byte) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "mostRecentEpochVolume", arg0) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// MostRecentEpochVolume is a free data retrieval call binding the contract method 0x13626422. -// -// Solidity: function mostRecentEpochVolume(bytes32 ) view returns(uint256) -func (f *FuturesSession) MostRecentEpochVolume(arg0 [32]byte) (*big.Int, error) { - return f.Contract.MostRecentEpochVolume(&f.CallOpts, arg0) -} - -// MostRecentEpochVolume is a free data retrieval call binding the contract method 0x13626422. -// -// Solidity: function mostRecentEpochVolume(bytes32 ) view returns(uint256) -func (f *FuturesCallerSession) MostRecentEpochVolume(arg0 [32]byte) (*big.Int, error) { - return f.Contract.MostRecentEpochVolume(&f.CallOpts, arg0) -} - -// MostRecentEpochWeightedAverageContractIndexDiff is a free data retrieval call binding the contract method 0x32d22e7d. -// -// Solidity: function mostRecentEpochWeightedAverageContractIndexDiff(bytes32 ) view returns(int256) -func (f *FuturesCaller) MostRecentEpochWeightedAverageContractIndexDiff(opts *bind.CallOpts, arg0 [32]byte) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "mostRecentEpochWeightedAverageContractIndexDiff", arg0) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// MostRecentEpochWeightedAverageContractIndexDiff is a free data retrieval call binding the contract method 0x32d22e7d. -// -// Solidity: function mostRecentEpochWeightedAverageContractIndexDiff(bytes32 ) view returns(int256) -func (f *FuturesSession) MostRecentEpochWeightedAverageContractIndexDiff(arg0 [32]byte) (*big.Int, error) { - return f.Contract.MostRecentEpochWeightedAverageContractIndexDiff(&f.CallOpts, arg0) -} - -// MostRecentEpochWeightedAverageContractIndexDiff is a free data retrieval call binding the contract method 0x32d22e7d. -// -// Solidity: function mostRecentEpochWeightedAverageContractIndexDiff(bytes32 ) view returns(int256) -func (f *FuturesCallerSession) MostRecentEpochWeightedAverageContractIndexDiff(arg0 [32]byte) (*big.Int, error) { - return f.Contract.MostRecentEpochWeightedAverageContractIndexDiff(&f.CallOpts, arg0) -} - -// MostRecentmostRecentEpochVolumeEpochQuantity is a free data retrieval call binding the contract method 0x45194767. -// -// Solidity: function mostRecentmostRecentEpochVolumeEpochQuantity(bytes32 ) view returns(uint256) -func (f *FuturesCaller) MostRecentmostRecentEpochVolumeEpochQuantity(opts *bind.CallOpts, arg0 [32]byte) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "mostRecentmostRecentEpochVolumeEpochQuantity", arg0) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// MostRecentmostRecentEpochVolumeEpochQuantity is a free data retrieval call binding the contract method 0x45194767. -// -// Solidity: function mostRecentmostRecentEpochVolumeEpochQuantity(bytes32 ) view returns(uint256) -func (f *FuturesSession) MostRecentmostRecentEpochVolumeEpochQuantity(arg0 [32]byte) (*big.Int, error) { - return f.Contract.MostRecentmostRecentEpochVolumeEpochQuantity(&f.CallOpts, arg0) -} - -// MostRecentmostRecentEpochVolumeEpochQuantity is a free data retrieval call binding the contract method 0x45194767. -// -// Solidity: function mostRecentmostRecentEpochVolumeEpochQuantity(bytes32 ) view returns(uint256) -func (f *FuturesCallerSession) MostRecentmostRecentEpochVolumeEpochQuantity(arg0 [32]byte) (*big.Int, error) { - return f.Contract.MostRecentmostRecentEpochVolumeEpochQuantity(&f.CallOpts, arg0) -} - -// Owner is a free data retrieval call binding the contract method 0x8da5cb5b. -// -// Solidity: function owner() view returns(address) -func (f *FuturesCaller) Owner(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "owner") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// Owner is a free data retrieval call binding the contract method 0x8da5cb5b. -// -// Solidity: function owner() view returns(address) -func (f *FuturesSession) Owner() (common.Address, error) { - return f.Contract.Owner(&f.CallOpts) -} - -// Owner is a free data retrieval call binding the contract method 0x8da5cb5b. -// -// Solidity: function owner() view returns(address) -func (f *FuturesCallerSession) Owner() (common.Address, error) { - return f.Contract.Owner(&f.CallOpts) -} - -// Paused is a free data retrieval call binding the contract method 0x5c975abb. -// -// Solidity: function paused() view returns(bool) -func (f *FuturesCaller) Paused(opts *bind.CallOpts) (bool, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "paused") - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// Paused is a free data retrieval call binding the contract method 0x5c975abb. -// -// Solidity: function paused() view returns(bool) -func (f *FuturesSession) Paused() (bool, error) { - return f.Contract.Paused(&f.CallOpts) -} - -// Paused is a free data retrieval call binding the contract method 0x5c975abb. -// -// Solidity: function paused() view returns(bool) -func (f *FuturesCallerSession) Paused() (bool, error) { - return f.Contract.Paused(&f.CallOpts) -} - -// PositionCount is a free data retrieval call binding the contract method 0xe7702d05. -// -// Solidity: function positionCount() view returns(uint256) -func (f *FuturesCaller) PositionCount(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "positionCount") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// PositionCount is a free data retrieval call binding the contract method 0xe7702d05. -// -// Solidity: function positionCount() view returns(uint256) -func (f *FuturesSession) PositionCount() (*big.Int, error) { - return f.Contract.PositionCount(&f.CallOpts) -} - -// PositionCount is a free data retrieval call binding the contract method 0xe7702d05. -// -// Solidity: function positionCount() view returns(uint256) -func (f *FuturesCallerSession) PositionCount() (*big.Int, error) { - return f.Contract.PositionCount(&f.CallOpts) -} - -// PositionCountInTEF is a free data retrieval call binding the contract method 0x4ded3208. -// -// Solidity: function positionCountInTEF(bytes32 ) view returns(uint256) -func (f *FuturesCaller) PositionCountInTEF(opts *bind.CallOpts, arg0 [32]byte) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "positionCountInTEF", arg0) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// PositionCountInTEF is a free data retrieval call binding the contract method 0x4ded3208. -// -// Solidity: function positionCountInTEF(bytes32 ) view returns(uint256) -func (f *FuturesSession) PositionCountInTEF(arg0 [32]byte) (*big.Int, error) { - return f.Contract.PositionCountInTEF(&f.CallOpts, arg0) -} - -// PositionCountInTEF is a free data retrieval call binding the contract method 0x4ded3208. -// -// Solidity: function positionCountInTEF(bytes32 ) view returns(uint256) -func (f *FuturesCallerSession) PositionCountInTEF(arg0 [32]byte) (*big.Int, error) { - return f.Contract.PositionCountInTEF(&f.CallOpts, arg0) -} - -// Positions is a free data retrieval call binding the contract method 0x99fbab88. -// -// Solidity: function positions(uint256 ) view returns(bytes32 subAccountID, bytes32 marketID, uint8 direction, uint256 quantity, uint256 entryPrice, uint256 margin, int256 cumulativeFundingEntry) -func (f *FuturesCaller) Positions(opts *bind.CallOpts, arg0 *big.Int) (struct { - SubAccountID [32]byte - MarketID [32]byte - Direction uint8 - Quantity *big.Int - EntryPrice *big.Int - Margin *big.Int - CumulativeFundingEntry *big.Int -}, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "positions", arg0) - - outstruct := new(struct { - SubAccountID [32]byte - MarketID [32]byte - Direction uint8 - Quantity *big.Int - EntryPrice *big.Int - Margin *big.Int - CumulativeFundingEntry *big.Int - }) - - outstruct.SubAccountID = out[0].([32]byte) - outstruct.MarketID = out[1].([32]byte) - outstruct.Direction = out[2].(uint8) - outstruct.Quantity = out[3].(*big.Int) - outstruct.EntryPrice = out[4].(*big.Int) - outstruct.Margin = out[5].(*big.Int) - outstruct.CumulativeFundingEntry = out[6].(*big.Int) - - return *outstruct, err - -} - -// Positions is a free data retrieval call binding the contract method 0x99fbab88. -// -// Solidity: function positions(uint256 ) view returns(bytes32 subAccountID, bytes32 marketID, uint8 direction, uint256 quantity, uint256 entryPrice, uint256 margin, int256 cumulativeFundingEntry) -func (f *FuturesSession) Positions(arg0 *big.Int) (struct { - SubAccountID [32]byte - MarketID [32]byte - Direction uint8 - Quantity *big.Int - EntryPrice *big.Int - Margin *big.Int - CumulativeFundingEntry *big.Int -}, error) { - return f.Contract.Positions(&f.CallOpts, arg0) -} - -// Positions is a free data retrieval call binding the contract method 0x99fbab88. -// -// Solidity: function positions(uint256 ) view returns(bytes32 subAccountID, bytes32 marketID, uint8 direction, uint256 quantity, uint256 entryPrice, uint256 margin, int256 cumulativeFundingEntry) -func (f *FuturesCallerSession) Positions(arg0 *big.Int) (struct { - SubAccountID [32]byte - MarketID [32]byte - Direction uint8 - Quantity *big.Int - EntryPrice *big.Int - Margin *big.Int - CumulativeFundingEntry *big.Int -}, error) { - return f.Contract.Positions(&f.CallOpts, arg0) -} - -// PreSigned is a free data retrieval call binding the contract method 0x82c174d0. -// -// Solidity: function preSigned(bytes32 , address ) view returns(bool) -func (f *FuturesCaller) PreSigned(opts *bind.CallOpts, arg0 [32]byte, arg1 common.Address) (bool, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "preSigned", arg0, arg1) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// PreSigned is a free data retrieval call binding the contract method 0x82c174d0. -// -// Solidity: function preSigned(bytes32 , address ) view returns(bool) -func (f *FuturesSession) PreSigned(arg0 [32]byte, arg1 common.Address) (bool, error) { - return f.Contract.PreSigned(&f.CallOpts, arg0, arg1) -} - -// PreSigned is a free data retrieval call binding the contract method 0x82c174d0. -// -// Solidity: function preSigned(bytes32 , address ) view returns(bool) -func (f *FuturesCallerSession) PreSigned(arg0 [32]byte, arg1 common.Address) (bool, error) { - return f.Contract.PreSigned(&f.CallOpts, arg0, arg1) -} - -// RestrictedDeposits is a free data retrieval call binding the contract method 0x475ca0bb. -// -// Solidity: function restrictedDeposits(bytes32 , address ) view returns(uint256) -func (f *FuturesCaller) RestrictedDeposits(opts *bind.CallOpts, arg0 [32]byte, arg1 common.Address) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "restrictedDeposits", arg0, arg1) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// RestrictedDeposits is a free data retrieval call binding the contract method 0x475ca0bb. -// -// Solidity: function restrictedDeposits(bytes32 , address ) view returns(uint256) -func (f *FuturesSession) RestrictedDeposits(arg0 [32]byte, arg1 common.Address) (*big.Int, error) { - return f.Contract.RestrictedDeposits(&f.CallOpts, arg0, arg1) -} - -// RestrictedDeposits is a free data retrieval call binding the contract method 0x475ca0bb. -// -// Solidity: function restrictedDeposits(bytes32 , address ) view returns(uint256) -func (f *FuturesCallerSession) RestrictedDeposits(arg0 [32]byte, arg1 common.Address) (*big.Int, error) { - return f.Contract.RestrictedDeposits(&f.CallOpts, arg0, arg1) -} - -// SpotMarkets is a free data retrieval call binding the contract method 0xf5aa035e. -// -// Solidity: function spotMarkets(bytes32 ) view returns(bytes32 marketID, address baseToken, address quoteToken, string ticker, ((uint256),(uint256),(uint256)) transactionFees) -func (f *FuturesCaller) SpotMarkets(opts *bind.CallOpts, arg0 [32]byte) (struct { - MarketID [32]byte - BaseToken common.Address - QuoteToken common.Address - Ticker string - TransactionFees TypesTransactionFees -}, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "spotMarkets", arg0) - - outstruct := new(struct { - MarketID [32]byte - BaseToken common.Address - QuoteToken common.Address - Ticker string - TransactionFees TypesTransactionFees - }) - - outstruct.MarketID = out[0].([32]byte) - outstruct.BaseToken = out[1].(common.Address) - outstruct.QuoteToken = out[2].(common.Address) - outstruct.Ticker = out[3].(string) - outstruct.TransactionFees = out[4].(TypesTransactionFees) - - return *outstruct, err - -} - -// SpotMarkets is a free data retrieval call binding the contract method 0xf5aa035e. -// -// Solidity: function spotMarkets(bytes32 ) view returns(bytes32 marketID, address baseToken, address quoteToken, string ticker, ((uint256),(uint256),(uint256)) transactionFees) -func (f *FuturesSession) SpotMarkets(arg0 [32]byte) (struct { - MarketID [32]byte - BaseToken common.Address - QuoteToken common.Address - Ticker string - TransactionFees TypesTransactionFees -}, error) { - return f.Contract.SpotMarkets(&f.CallOpts, arg0) -} - -// SpotMarkets is a free data retrieval call binding the contract method 0xf5aa035e. -// -// Solidity: function spotMarkets(bytes32 ) view returns(bytes32 marketID, address baseToken, address quoteToken, string ticker, ((uint256),(uint256),(uint256)) transactionFees) -func (f *FuturesCallerSession) SpotMarkets(arg0 [32]byte) (struct { - MarketID [32]byte - BaseToken common.Address - QuoteToken common.Address - Ticker string - TransactionFees TypesTransactionFees -}, error) { - return f.Contract.SpotMarkets(&f.CallOpts, arg0) -} - -// SubAccountDeposits is a free data retrieval call binding the contract method 0x666ffb9b. -// -// Solidity: function subAccountDeposits(bytes32 , address ) view returns(uint256) -func (f *FuturesCaller) SubAccountDeposits(opts *bind.CallOpts, arg0 [32]byte, arg1 common.Address) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "subAccountDeposits", arg0, arg1) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// SubAccountDeposits is a free data retrieval call binding the contract method 0x666ffb9b. -// -// Solidity: function subAccountDeposits(bytes32 , address ) view returns(uint256) -func (f *FuturesSession) SubAccountDeposits(arg0 [32]byte, arg1 common.Address) (*big.Int, error) { - return f.Contract.SubAccountDeposits(&f.CallOpts, arg0, arg1) -} - -// SubAccountDeposits is a free data retrieval call binding the contract method 0x666ffb9b. -// -// Solidity: function subAccountDeposits(bytes32 , address ) view returns(uint256) -func (f *FuturesCallerSession) SubAccountDeposits(arg0 [32]byte, arg1 common.Address) (*big.Int, error) { - return f.Contract.SubAccountDeposits(&f.CallOpts, arg0, arg1) -} - -// SubAccountIdToAddress is a free data retrieval call binding the contract method 0x234842eb. -// -// Solidity: function subAccountIdToAddress(bytes32 ) view returns(address) -func (f *FuturesCaller) SubAccountIdToAddress(opts *bind.CallOpts, arg0 [32]byte) (common.Address, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "subAccountIdToAddress", arg0) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// SubAccountIdToAddress is a free data retrieval call binding the contract method 0x234842eb. -// -// Solidity: function subAccountIdToAddress(bytes32 ) view returns(address) -func (f *FuturesSession) SubAccountIdToAddress(arg0 [32]byte) (common.Address, error) { - return f.Contract.SubAccountIdToAddress(&f.CallOpts, arg0) -} - -// SubAccountIdToAddress is a free data retrieval call binding the contract method 0x234842eb. -// -// Solidity: function subAccountIdToAddress(bytes32 ) view returns(address) -func (f *FuturesCallerSession) SubAccountIdToAddress(arg0 [32]byte) (common.Address, error) { - return f.Contract.SubAccountIdToAddress(&f.CallOpts, arg0) -} - -// SubAccountToMarketToPositionID is a free data retrieval call binding the contract method 0x1ebcc120. -// -// Solidity: function subAccountToMarketToPositionID(bytes32 , bytes32 ) view returns(uint256) -func (f *FuturesCaller) SubAccountToMarketToPositionID(opts *bind.CallOpts, arg0 [32]byte, arg1 [32]byte) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "subAccountToMarketToPositionID", arg0, arg1) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// SubAccountToMarketToPositionID is a free data retrieval call binding the contract method 0x1ebcc120. -// -// Solidity: function subAccountToMarketToPositionID(bytes32 , bytes32 ) view returns(uint256) -func (f *FuturesSession) SubAccountToMarketToPositionID(arg0 [32]byte, arg1 [32]byte) (*big.Int, error) { - return f.Contract.SubAccountToMarketToPositionID(&f.CallOpts, arg0, arg1) -} - -// SubAccountToMarketToPositionID is a free data retrieval call binding the contract method 0x1ebcc120. -// -// Solidity: function subAccountToMarketToPositionID(bytes32 , bytes32 ) view returns(uint256) -func (f *FuturesCallerSession) SubAccountToMarketToPositionID(arg0 [32]byte, arg1 [32]byte) (*big.Int, error) { - return f.Contract.SubAccountToMarketToPositionID(&f.CallOpts, arg0, arg1) -} - -// TransactionsExecuted is a free data retrieval call binding the contract method 0x0228e168. -// -// Solidity: function transactionsExecuted(bytes32 ) view returns(bool) -func (f *FuturesCaller) TransactionsExecuted(opts *bind.CallOpts, arg0 [32]byte) (bool, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "transactionsExecuted", arg0) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// TransactionsExecuted is a free data retrieval call binding the contract method 0x0228e168. -// -// Solidity: function transactionsExecuted(bytes32 ) view returns(bool) -func (f *FuturesSession) TransactionsExecuted(arg0 [32]byte) (bool, error) { - return f.Contract.TransactionsExecuted(&f.CallOpts, arg0) -} - -// TransactionsExecuted is a free data retrieval call binding the contract method 0x0228e168. -// -// Solidity: function transactionsExecuted(bytes32 ) view returns(bool) -func (f *FuturesCallerSession) TransactionsExecuted(arg0 [32]byte) (bool, error) { - return f.Contract.TransactionsExecuted(&f.CallOpts, arg0) -} - -// AddMarginIntoPosition is a paid mutator transaction binding the contract method 0x62c6985e. -// -// Solidity: function addMarginIntoPosition(bytes32 subAccountID, uint256 positionID, uint256 addedMargin) returns() -func (f *FuturesTransactor) AddMarginIntoPosition(opts *bind.TransactOpts, subAccountID [32]byte, positionID *big.Int, addedMargin *big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "addMarginIntoPosition", subAccountID, positionID, addedMargin) -} - -// AddMarginIntoPosition is a paid mutator transaction binding the contract method 0x62c6985e. -// -// Solidity: function addMarginIntoPosition(bytes32 subAccountID, uint256 positionID, uint256 addedMargin) returns() -func (f *FuturesSession) AddMarginIntoPosition(subAccountID [32]byte, positionID *big.Int, addedMargin *big.Int) (*types.Transaction, error) { - return f.Contract.AddMarginIntoPosition(&f.TransactOpts, subAccountID, positionID, addedMargin) -} - -// AddMarginIntoPosition is a paid mutator transaction binding the contract method 0x62c6985e. -// -// Solidity: function addMarginIntoPosition(bytes32 subAccountID, uint256 positionID, uint256 addedMargin) returns() -func (f *FuturesTransactorSession) AddMarginIntoPosition(subAccountID [32]byte, positionID *big.Int, addedMargin *big.Int) (*types.Transaction, error) { - return f.Contract.AddMarginIntoPosition(&f.TransactOpts, subAccountID, positionID, addedMargin) -} - -// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. -// -// Solidity: function approve(address approveTo, uint256 positionID) returns() -func (f *FuturesTransactor) Approve(opts *bind.TransactOpts, approveTo common.Address, positionID *big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "approve", approveTo, positionID) -} - -// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. -// -// Solidity: function approve(address approveTo, uint256 positionID) returns() -func (f *FuturesSession) Approve(approveTo common.Address, positionID *big.Int) (*types.Transaction, error) { - return f.Contract.Approve(&f.TransactOpts, approveTo, positionID) -} - -// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. -// -// Solidity: function approve(address approveTo, uint256 positionID) returns() -func (f *FuturesTransactorSession) Approve(approveTo common.Address, positionID *big.Int) (*types.Transaction, error) { - return f.Contract.Approve(&f.TransactOpts, approveTo, positionID) -} - -// ApproveForReceiving is a paid mutator transaction binding the contract method 0xf5a5f0b3. -// -// Solidity: function approveForReceiving(bytes32 receiverSubAccountID, uint256 positionID) returns() -func (f *FuturesTransactor) ApproveForReceiving(opts *bind.TransactOpts, receiverSubAccountID [32]byte, positionID *big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "approveForReceiving", receiverSubAccountID, positionID) -} - -// ApproveForReceiving is a paid mutator transaction binding the contract method 0xf5a5f0b3. -// -// Solidity: function approveForReceiving(bytes32 receiverSubAccountID, uint256 positionID) returns() -func (f *FuturesSession) ApproveForReceiving(receiverSubAccountID [32]byte, positionID *big.Int) (*types.Transaction, error) { - return f.Contract.ApproveForReceiving(&f.TransactOpts, receiverSubAccountID, positionID) -} - -// ApproveForReceiving is a paid mutator transaction binding the contract method 0xf5a5f0b3. -// -// Solidity: function approveForReceiving(bytes32 receiverSubAccountID, uint256 positionID) returns() -func (f *FuturesTransactorSession) ApproveForReceiving(receiverSubAccountID [32]byte, positionID *big.Int) (*types.Transaction, error) { - return f.Contract.ApproveForReceiving(&f.TransactOpts, receiverSubAccountID, positionID) -} - -// BatchCancelOrders is a paid mutator transaction binding the contract method 0xdedfc1f1. -// -// Solidity: function batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[] orders) returns() -func (f *FuturesTransactor) BatchCancelOrders(opts *bind.TransactOpts, orders []Order) (*types.Transaction, error) { - return f.contract.Transact(opts, "batchCancelOrders", orders) -} - -// BatchCancelOrders is a paid mutator transaction binding the contract method 0xdedfc1f1. -// -// Solidity: function batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[] orders) returns() -func (f *FuturesSession) BatchCancelOrders(orders []Order) (*types.Transaction, error) { - return f.Contract.BatchCancelOrders(&f.TransactOpts, orders) -} - -// BatchCancelOrders is a paid mutator transaction binding the contract method 0xdedfc1f1. -// -// Solidity: function batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[] orders) returns() -func (f *FuturesTransactorSession) BatchCancelOrders(orders []Order) (*types.Transaction, error) { - return f.Contract.BatchCancelOrders(&f.TransactOpts, orders) -} - -// BatchCheckFunding is a paid mutator transaction binding the contract method 0x2c7c2134. -// -// Solidity: function batchCheckFunding(bytes32[] marketIDs) returns(bool[]) -func (f *FuturesTransactor) BatchCheckFunding(opts *bind.TransactOpts, marketIDs [][32]byte) (*types.Transaction, error) { - return f.contract.Transact(opts, "batchCheckFunding", marketIDs) -} - -// BatchCheckFunding is a paid mutator transaction binding the contract method 0x2c7c2134. -// -// Solidity: function batchCheckFunding(bytes32[] marketIDs) returns(bool[]) -func (f *FuturesSession) BatchCheckFunding(marketIDs [][32]byte) (*types.Transaction, error) { - return f.Contract.BatchCheckFunding(&f.TransactOpts, marketIDs) -} - -// BatchCheckFunding is a paid mutator transaction binding the contract method 0x2c7c2134. -// -// Solidity: function batchCheckFunding(bytes32[] marketIDs) returns(bool[]) -func (f *FuturesTransactorSession) BatchCheckFunding(marketIDs [][32]byte) (*types.Transaction, error) { - return f.Contract.BatchCheckFunding(&f.TransactOpts, marketIDs) -} - -// BatchDepositForSubAccounts is a paid mutator transaction binding the contract method 0xc5d3277b. -// -// Solidity: function batchDepositForSubAccounts(address[] baseCurrencies, bytes32[] subAccountIDs, uint256[] amounts) returns() -func (f *FuturesTransactor) BatchDepositForSubAccounts(opts *bind.TransactOpts, baseCurrencies []common.Address, subAccountIDs [][32]byte, amounts []*big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "batchDepositForSubAccounts", baseCurrencies, subAccountIDs, amounts) -} - -// BatchDepositForSubAccounts is a paid mutator transaction binding the contract method 0xc5d3277b. -// -// Solidity: function batchDepositForSubAccounts(address[] baseCurrencies, bytes32[] subAccountIDs, uint256[] amounts) returns() -func (f *FuturesSession) BatchDepositForSubAccounts(baseCurrencies []common.Address, subAccountIDs [][32]byte, amounts []*big.Int) (*types.Transaction, error) { - return f.Contract.BatchDepositForSubAccounts(&f.TransactOpts, baseCurrencies, subAccountIDs, amounts) -} - -// BatchDepositForSubAccounts is a paid mutator transaction binding the contract method 0xc5d3277b. -// -// Solidity: function batchDepositForSubAccounts(address[] baseCurrencies, bytes32[] subAccountIDs, uint256[] amounts) returns() -func (f *FuturesTransactorSession) BatchDepositForSubAccounts(baseCurrencies []common.Address, subAccountIDs [][32]byte, amounts []*big.Int) (*types.Transaction, error) { - return f.Contract.BatchDepositForSubAccounts(&f.TransactOpts, baseCurrencies, subAccountIDs, amounts) -} - -// BatchDepositForTraders is a paid mutator transaction binding the contract method 0x487ebde1. -// -// Solidity: function batchDepositForTraders(address[] baseCurrencies, address[] traders, uint256[] amounts) returns() -func (f *FuturesTransactor) BatchDepositForTraders(opts *bind.TransactOpts, baseCurrencies []common.Address, traders []common.Address, amounts []*big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "batchDepositForTraders", baseCurrencies, traders, amounts) -} - -// BatchDepositForTraders is a paid mutator transaction binding the contract method 0x487ebde1. -// -// Solidity: function batchDepositForTraders(address[] baseCurrencies, address[] traders, uint256[] amounts) returns() -func (f *FuturesSession) BatchDepositForTraders(baseCurrencies []common.Address, traders []common.Address, amounts []*big.Int) (*types.Transaction, error) { - return f.Contract.BatchDepositForTraders(&f.TransactOpts, baseCurrencies, traders, amounts) -} - -// BatchDepositForTraders is a paid mutator transaction binding the contract method 0x487ebde1. -// -// Solidity: function batchDepositForTraders(address[] baseCurrencies, address[] traders, uint256[] amounts) returns() -func (f *FuturesTransactorSession) BatchDepositForTraders(baseCurrencies []common.Address, traders []common.Address, amounts []*big.Int) (*types.Transaction, error) { - return f.Contract.BatchDepositForTraders(&f.TransactOpts, baseCurrencies, traders, amounts) -} - -// BatchExecuteTransactions is a paid mutator transaction binding the contract method 0xfc74896d. -// -// Solidity: function batchExecuteTransactions((uint256,uint256,uint256,address,bytes)[] transactions, bytes[] signatures) payable returns(bytes[] returnData) -func (f *FuturesTransactor) BatchExecuteTransactions(opts *bind.TransactOpts, transactions []LibZeroExTransactionZeroExTransaction, signatures [][]byte) (*types.Transaction, error) { - return f.contract.Transact(opts, "batchExecuteTransactions", transactions, signatures) -} - -// BatchExecuteTransactions is a paid mutator transaction binding the contract method 0xfc74896d. -// -// Solidity: function batchExecuteTransactions((uint256,uint256,uint256,address,bytes)[] transactions, bytes[] signatures) payable returns(bytes[] returnData) -func (f *FuturesSession) BatchExecuteTransactions(transactions []LibZeroExTransactionZeroExTransaction, signatures [][]byte) (*types.Transaction, error) { - return f.Contract.BatchExecuteTransactions(&f.TransactOpts, transactions, signatures) -} - -// BatchExecuteTransactions is a paid mutator transaction binding the contract method 0xfc74896d. -// -// Solidity: function batchExecuteTransactions((uint256,uint256,uint256,address,bytes)[] transactions, bytes[] signatures) payable returns(bytes[] returnData) -func (f *FuturesTransactorSession) BatchExecuteTransactions(transactions []LibZeroExTransactionZeroExTransaction, signatures [][]byte) (*types.Transaction, error) { - return f.Contract.BatchExecuteTransactions(&f.TransactOpts, transactions, signatures) -} - -// BatchLiquidatePosition is a paid mutator transaction binding the contract method 0x1b934aea. -// -// Solidity: function batchLiquidatePosition(uint256[] positionIDs, (address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[][] orders, uint256[] quantities, bytes[][] signatures, address liquidationCaller) returns((uint256,uint256,uint256,uint256)[] results) -func (f *FuturesTransactor) BatchLiquidatePosition(opts *bind.TransactOpts, positionIDs []*big.Int, orders [][]Order, quantities []*big.Int, signatures [][][]byte, liquidationCaller common.Address) (*types.Transaction, error) { - return f.contract.Transact(opts, "batchLiquidatePosition", positionIDs, orders, quantities, signatures, liquidationCaller) -} - -// BatchLiquidatePosition is a paid mutator transaction binding the contract method 0x1b934aea. -// -// Solidity: function batchLiquidatePosition(uint256[] positionIDs, (address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[][] orders, uint256[] quantities, bytes[][] signatures, address liquidationCaller) returns((uint256,uint256,uint256,uint256)[] results) -func (f *FuturesSession) BatchLiquidatePosition(positionIDs []*big.Int, orders [][]Order, quantities []*big.Int, signatures [][][]byte, liquidationCaller common.Address) (*types.Transaction, error) { - return f.Contract.BatchLiquidatePosition(&f.TransactOpts, positionIDs, orders, quantities, signatures, liquidationCaller) -} - -// BatchLiquidatePosition is a paid mutator transaction binding the contract method 0x1b934aea. -// -// Solidity: function batchLiquidatePosition(uint256[] positionIDs, (address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[][] orders, uint256[] quantities, bytes[][] signatures, address liquidationCaller) returns((uint256,uint256,uint256,uint256)[] results) -func (f *FuturesTransactorSession) BatchLiquidatePosition(positionIDs []*big.Int, orders [][]Order, quantities []*big.Int, signatures [][][]byte, liquidationCaller common.Address) (*types.Transaction, error) { - return f.Contract.BatchLiquidatePosition(&f.TransactOpts, positionIDs, orders, quantities, signatures, liquidationCaller) -} - -// BatchSettleExpiryFuturesPosition is a paid mutator transaction binding the contract method 0xb378df0b. -// -// Solidity: function batchSettleExpiryFuturesPosition(bytes32 marketID, bytes32[] subAccountIDs) returns((uint256,uint256,uint256,uint256)[] results) -func (f *FuturesTransactor) BatchSettleExpiryFuturesPosition(opts *bind.TransactOpts, marketID [32]byte, subAccountIDs [][32]byte) (*types.Transaction, error) { - return f.contract.Transact(opts, "batchSettleExpiryFuturesPosition", marketID, subAccountIDs) -} - -// BatchSettleExpiryFuturesPosition is a paid mutator transaction binding the contract method 0xb378df0b. -// -// Solidity: function batchSettleExpiryFuturesPosition(bytes32 marketID, bytes32[] subAccountIDs) returns((uint256,uint256,uint256,uint256)[] results) -func (f *FuturesSession) BatchSettleExpiryFuturesPosition(marketID [32]byte, subAccountIDs [][32]byte) (*types.Transaction, error) { - return f.Contract.BatchSettleExpiryFuturesPosition(&f.TransactOpts, marketID, subAccountIDs) -} - -// BatchSettleExpiryFuturesPosition is a paid mutator transaction binding the contract method 0xb378df0b. -// -// Solidity: function batchSettleExpiryFuturesPosition(bytes32 marketID, bytes32[] subAccountIDs) returns((uint256,uint256,uint256,uint256)[] results) -func (f *FuturesTransactorSession) BatchSettleExpiryFuturesPosition(marketID [32]byte, subAccountIDs [][32]byte) (*types.Transaction, error) { - return f.Contract.BatchSettleExpiryFuturesPosition(&f.TransactOpts, marketID, subAccountIDs) -} - -// CancelOrder is a paid mutator transaction binding the contract method 0x2da62987. -// -// Solidity: function cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes) order) returns() -func (f *FuturesTransactor) CancelOrder(opts *bind.TransactOpts, order Order) (*types.Transaction, error) { - return f.contract.Transact(opts, "cancelOrder", order) -} - -// CancelOrder is a paid mutator transaction binding the contract method 0x2da62987. -// -// Solidity: function cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes) order) returns() -func (f *FuturesSession) CancelOrder(order Order) (*types.Transaction, error) { - return f.Contract.CancelOrder(&f.TransactOpts, order) -} - -// CancelOrder is a paid mutator transaction binding the contract method 0x2da62987. -// -// Solidity: function cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes) order) returns() -func (f *FuturesTransactorSession) CancelOrder(order Order) (*types.Transaction, error) { - return f.Contract.CancelOrder(&f.TransactOpts, order) -} - -// ChangeAuctionTimeInterval is a paid mutator transaction binding the contract method 0x5852ca61. -// -// Solidity: function changeAuctionTimeInterval(uint256 auctionTimeInterval_) returns() -func (f *FuturesTransactor) ChangeAuctionTimeInterval(opts *bind.TransactOpts, auctionTimeInterval_ *big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "changeAuctionTimeInterval", auctionTimeInterval_) -} - -// ChangeAuctionTimeInterval is a paid mutator transaction binding the contract method 0x5852ca61. -// -// Solidity: function changeAuctionTimeInterval(uint256 auctionTimeInterval_) returns() -func (f *FuturesSession) ChangeAuctionTimeInterval(auctionTimeInterval_ *big.Int) (*types.Transaction, error) { - return f.Contract.ChangeAuctionTimeInterval(&f.TransactOpts, auctionTimeInterval_) -} - -// ChangeAuctionTimeInterval is a paid mutator transaction binding the contract method 0x5852ca61. -// -// Solidity: function changeAuctionTimeInterval(uint256 auctionTimeInterval_) returns() -func (f *FuturesTransactorSession) ChangeAuctionTimeInterval(auctionTimeInterval_ *big.Int) (*types.Transaction, error) { - return f.Contract.ChangeAuctionTimeInterval(&f.TransactOpts, auctionTimeInterval_) -} - -// ChangeMarketFundingInterval is a paid mutator transaction binding the contract method 0x7a540e43. -// -// Solidity: function changeMarketFundingInterval(bytes32 marketID, uint256 fundingInterval) returns() -func (f *FuturesTransactor) ChangeMarketFundingInterval(opts *bind.TransactOpts, marketID [32]byte, fundingInterval *big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "changeMarketFundingInterval", marketID, fundingInterval) -} - -// ChangeMarketFundingInterval is a paid mutator transaction binding the contract method 0x7a540e43. -// -// Solidity: function changeMarketFundingInterval(bytes32 marketID, uint256 fundingInterval) returns() -func (f *FuturesSession) ChangeMarketFundingInterval(marketID [32]byte, fundingInterval *big.Int) (*types.Transaction, error) { - return f.Contract.ChangeMarketFundingInterval(&f.TransactOpts, marketID, fundingInterval) -} - -// ChangeMarketFundingInterval is a paid mutator transaction binding the contract method 0x7a540e43. -// -// Solidity: function changeMarketFundingInterval(bytes32 marketID, uint256 fundingInterval) returns() -func (f *FuturesTransactorSession) ChangeMarketFundingInterval(marketID [32]byte, fundingInterval *big.Int) (*types.Transaction, error) { - return f.Contract.ChangeMarketFundingInterval(&f.TransactOpts, marketID, fundingInterval) -} - -// ChangeMarketInitialMarginRatio is a paid mutator transaction binding the contract method 0x50f2722b. -// -// Solidity: function changeMarketInitialMarginRatio(bytes32 marketID, (uint256) initialMarginRatio) returns() -func (f *FuturesTransactor) ChangeMarketInitialMarginRatio(opts *bind.TransactOpts, marketID [32]byte, initialMarginRatio PermyriadMathPermyriad) (*types.Transaction, error) { - return f.contract.Transact(opts, "changeMarketInitialMarginRatio", marketID, initialMarginRatio) -} - -// ChangeMarketInitialMarginRatio is a paid mutator transaction binding the contract method 0x50f2722b. -// -// Solidity: function changeMarketInitialMarginRatio(bytes32 marketID, (uint256) initialMarginRatio) returns() -func (f *FuturesSession) ChangeMarketInitialMarginRatio(marketID [32]byte, initialMarginRatio PermyriadMathPermyriad) (*types.Transaction, error) { - return f.Contract.ChangeMarketInitialMarginRatio(&f.TransactOpts, marketID, initialMarginRatio) -} - -// ChangeMarketInitialMarginRatio is a paid mutator transaction binding the contract method 0x50f2722b. -// -// Solidity: function changeMarketInitialMarginRatio(bytes32 marketID, (uint256) initialMarginRatio) returns() -func (f *FuturesTransactorSession) ChangeMarketInitialMarginRatio(marketID [32]byte, initialMarginRatio PermyriadMathPermyriad) (*types.Transaction, error) { - return f.Contract.ChangeMarketInitialMarginRatio(&f.TransactOpts, marketID, initialMarginRatio) -} - -// ChangeMarketMaintenanceMarginRatio is a paid mutator transaction binding the contract method 0x267f8feb. -// -// Solidity: function changeMarketMaintenanceMarginRatio(bytes32 marketID, (uint256) maintenanceMarginRatio) returns() -func (f *FuturesTransactor) ChangeMarketMaintenanceMarginRatio(opts *bind.TransactOpts, marketID [32]byte, maintenanceMarginRatio PermyriadMathPermyriad) (*types.Transaction, error) { - return f.contract.Transact(opts, "changeMarketMaintenanceMarginRatio", marketID, maintenanceMarginRatio) -} - -// ChangeMarketMaintenanceMarginRatio is a paid mutator transaction binding the contract method 0x267f8feb. -// -// Solidity: function changeMarketMaintenanceMarginRatio(bytes32 marketID, (uint256) maintenanceMarginRatio) returns() -func (f *FuturesSession) ChangeMarketMaintenanceMarginRatio(marketID [32]byte, maintenanceMarginRatio PermyriadMathPermyriad) (*types.Transaction, error) { - return f.Contract.ChangeMarketMaintenanceMarginRatio(&f.TransactOpts, marketID, maintenanceMarginRatio) -} - -// ChangeMarketMaintenanceMarginRatio is a paid mutator transaction binding the contract method 0x267f8feb. -// -// Solidity: function changeMarketMaintenanceMarginRatio(bytes32 marketID, (uint256) maintenanceMarginRatio) returns() -func (f *FuturesTransactorSession) ChangeMarketMaintenanceMarginRatio(marketID [32]byte, maintenanceMarginRatio PermyriadMathPermyriad) (*types.Transaction, error) { - return f.Contract.ChangeMarketMaintenanceMarginRatio(&f.TransactOpts, marketID, maintenanceMarginRatio) -} - -// ChangeMarketMakerTxFee is a paid mutator transaction binding the contract method 0x2c23608b. -// -// Solidity: function changeMarketMakerTxFee(bytes32 marketID, (uint256) makerTxFee) returns() -func (f *FuturesTransactor) ChangeMarketMakerTxFee(opts *bind.TransactOpts, marketID [32]byte, makerTxFee PermyriadMathPermyriad) (*types.Transaction, error) { - return f.contract.Transact(opts, "changeMarketMakerTxFee", marketID, makerTxFee) -} - -// ChangeMarketMakerTxFee is a paid mutator transaction binding the contract method 0x2c23608b. -// -// Solidity: function changeMarketMakerTxFee(bytes32 marketID, (uint256) makerTxFee) returns() -func (f *FuturesSession) ChangeMarketMakerTxFee(marketID [32]byte, makerTxFee PermyriadMathPermyriad) (*types.Transaction, error) { - return f.Contract.ChangeMarketMakerTxFee(&f.TransactOpts, marketID, makerTxFee) -} - -// ChangeMarketMakerTxFee is a paid mutator transaction binding the contract method 0x2c23608b. -// -// Solidity: function changeMarketMakerTxFee(bytes32 marketID, (uint256) makerTxFee) returns() -func (f *FuturesTransactorSession) ChangeMarketMakerTxFee(marketID [32]byte, makerTxFee PermyriadMathPermyriad) (*types.Transaction, error) { - return f.Contract.ChangeMarketMakerTxFee(&f.TransactOpts, marketID, makerTxFee) -} - -// ChangeMarketOracle is a paid mutator transaction binding the contract method 0x555eb5ed. -// -// Solidity: function changeMarketOracle(bytes32 marketID, address oracle) returns() -func (f *FuturesTransactor) ChangeMarketOracle(opts *bind.TransactOpts, marketID [32]byte, oracle common.Address) (*types.Transaction, error) { - return f.contract.Transact(opts, "changeMarketOracle", marketID, oracle) -} - -// ChangeMarketOracle is a paid mutator transaction binding the contract method 0x555eb5ed. -// -// Solidity: function changeMarketOracle(bytes32 marketID, address oracle) returns() -func (f *FuturesSession) ChangeMarketOracle(marketID [32]byte, oracle common.Address) (*types.Transaction, error) { - return f.Contract.ChangeMarketOracle(&f.TransactOpts, marketID, oracle) -} - -// ChangeMarketOracle is a paid mutator transaction binding the contract method 0x555eb5ed. -// -// Solidity: function changeMarketOracle(bytes32 marketID, address oracle) returns() -func (f *FuturesTransactorSession) ChangeMarketOracle(marketID [32]byte, oracle common.Address) (*types.Transaction, error) { - return f.Contract.ChangeMarketOracle(&f.TransactOpts, marketID, oracle) -} - -// ChangeMarketOracle0 is a paid mutator transaction binding the contract method 0xdb39261d. -// -// Solidity: function changeMarketOracle(bytes32 marketID, uint256 fundingInterval) returns() -func (f *FuturesTransactor) ChangeMarketOracle0(opts *bind.TransactOpts, marketID [32]byte, fundingInterval *big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "changeMarketOracle0", marketID, fundingInterval) -} - -// ChangeMarketOracle0 is a paid mutator transaction binding the contract method 0xdb39261d. -// -// Solidity: function changeMarketOracle(bytes32 marketID, uint256 fundingInterval) returns() -func (f *FuturesSession) ChangeMarketOracle0(marketID [32]byte, fundingInterval *big.Int) (*types.Transaction, error) { - return f.Contract.ChangeMarketOracle0(&f.TransactOpts, marketID, fundingInterval) -} - -// ChangeMarketOracle0 is a paid mutator transaction binding the contract method 0xdb39261d. -// -// Solidity: function changeMarketOracle(bytes32 marketID, uint256 fundingInterval) returns() -func (f *FuturesTransactorSession) ChangeMarketOracle0(marketID [32]byte, fundingInterval *big.Int) (*types.Transaction, error) { - return f.Contract.ChangeMarketOracle0(&f.TransactOpts, marketID, fundingInterval) -} - -// ChangeMarketRelayerTxFee is a paid mutator transaction binding the contract method 0x6db346d3. -// -// Solidity: function changeMarketRelayerTxFee(bytes32 marketID, (uint256) relayerTxFee) returns() -func (f *FuturesTransactor) ChangeMarketRelayerTxFee(opts *bind.TransactOpts, marketID [32]byte, relayerTxFee PermyriadMathPermyriad) (*types.Transaction, error) { - return f.contract.Transact(opts, "changeMarketRelayerTxFee", marketID, relayerTxFee) -} - -// ChangeMarketRelayerTxFee is a paid mutator transaction binding the contract method 0x6db346d3. -// -// Solidity: function changeMarketRelayerTxFee(bytes32 marketID, (uint256) relayerTxFee) returns() -func (f *FuturesSession) ChangeMarketRelayerTxFee(marketID [32]byte, relayerTxFee PermyriadMathPermyriad) (*types.Transaction, error) { - return f.Contract.ChangeMarketRelayerTxFee(&f.TransactOpts, marketID, relayerTxFee) -} - -// ChangeMarketRelayerTxFee is a paid mutator transaction binding the contract method 0x6db346d3. -// -// Solidity: function changeMarketRelayerTxFee(bytes32 marketID, (uint256) relayerTxFee) returns() -func (f *FuturesTransactorSession) ChangeMarketRelayerTxFee(marketID [32]byte, relayerTxFee PermyriadMathPermyriad) (*types.Transaction, error) { - return f.Contract.ChangeMarketRelayerTxFee(&f.TransactOpts, marketID, relayerTxFee) -} - -// ChangeMarketTakerTxFee is a paid mutator transaction binding the contract method 0xbba21c56. -// -// Solidity: function changeMarketTakerTxFee(bytes32 marketID, (uint256) takerTxFee) returns() -func (f *FuturesTransactor) ChangeMarketTakerTxFee(opts *bind.TransactOpts, marketID [32]byte, takerTxFee PermyriadMathPermyriad) (*types.Transaction, error) { - return f.contract.Transact(opts, "changeMarketTakerTxFee", marketID, takerTxFee) -} - -// ChangeMarketTakerTxFee is a paid mutator transaction binding the contract method 0xbba21c56. -// -// Solidity: function changeMarketTakerTxFee(bytes32 marketID, (uint256) takerTxFee) returns() -func (f *FuturesSession) ChangeMarketTakerTxFee(marketID [32]byte, takerTxFee PermyriadMathPermyriad) (*types.Transaction, error) { - return f.Contract.ChangeMarketTakerTxFee(&f.TransactOpts, marketID, takerTxFee) -} - -// ChangeMarketTakerTxFee is a paid mutator transaction binding the contract method 0xbba21c56. -// -// Solidity: function changeMarketTakerTxFee(bytes32 marketID, (uint256) takerTxFee) returns() -func (f *FuturesTransactorSession) ChangeMarketTakerTxFee(marketID [32]byte, takerTxFee PermyriadMathPermyriad) (*types.Transaction, error) { - return f.Contract.ChangeMarketTakerTxFee(&f.TransactOpts, marketID, takerTxFee) -} - -// ChangeMaxBaseCurrencyCap is a paid mutator transaction binding the contract method 0xea7a4b3f. -// -// Solidity: function changeMaxBaseCurrencyCap(uint256 maxBaseCurrencyCap_) returns() -func (f *FuturesTransactor) ChangeMaxBaseCurrencyCap(opts *bind.TransactOpts, maxBaseCurrencyCap_ *big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "changeMaxBaseCurrencyCap", maxBaseCurrencyCap_) -} - -// ChangeMaxBaseCurrencyCap is a paid mutator transaction binding the contract method 0xea7a4b3f. -// -// Solidity: function changeMaxBaseCurrencyCap(uint256 maxBaseCurrencyCap_) returns() -func (f *FuturesSession) ChangeMaxBaseCurrencyCap(maxBaseCurrencyCap_ *big.Int) (*types.Transaction, error) { - return f.Contract.ChangeMaxBaseCurrencyCap(&f.TransactOpts, maxBaseCurrencyCap_) -} - -// ChangeMaxBaseCurrencyCap is a paid mutator transaction binding the contract method 0xea7a4b3f. -// -// Solidity: function changeMaxBaseCurrencyCap(uint256 maxBaseCurrencyCap_) returns() -func (f *FuturesTransactorSession) ChangeMaxBaseCurrencyCap(maxBaseCurrencyCap_ *big.Int) (*types.Transaction, error) { - return f.Contract.ChangeMaxBaseCurrencyCap(&f.TransactOpts, maxBaseCurrencyCap_) -} - -// ChangeMinimumMarginRatio is a paid mutator transaction binding the contract method 0x5d19277f. -// -// Solidity: function changeMinimumMarginRatio((uint256) MINIMUM_MARGIN_RATIO_) returns() -func (f *FuturesTransactor) ChangeMinimumMarginRatio(opts *bind.TransactOpts, MINIMUM_MARGIN_RATIO_ PermyriadMathPermyriad) (*types.Transaction, error) { - return f.contract.Transact(opts, "changeMinimumMarginRatio", MINIMUM_MARGIN_RATIO_) -} - -// ChangeMinimumMarginRatio is a paid mutator transaction binding the contract method 0x5d19277f. -// -// Solidity: function changeMinimumMarginRatio((uint256) MINIMUM_MARGIN_RATIO_) returns() -func (f *FuturesSession) ChangeMinimumMarginRatio(MINIMUM_MARGIN_RATIO_ PermyriadMathPermyriad) (*types.Transaction, error) { - return f.Contract.ChangeMinimumMarginRatio(&f.TransactOpts, MINIMUM_MARGIN_RATIO_) -} - -// ChangeMinimumMarginRatio is a paid mutator transaction binding the contract method 0x5d19277f. -// -// Solidity: function changeMinimumMarginRatio((uint256) MINIMUM_MARGIN_RATIO_) returns() -func (f *FuturesTransactorSession) ChangeMinimumMarginRatio(MINIMUM_MARGIN_RATIO_ PermyriadMathPermyriad) (*types.Transaction, error) { - return f.Contract.ChangeMinimumMarginRatio(&f.TransactOpts, MINIMUM_MARGIN_RATIO_) -} - -// CheckFunding is a paid mutator transaction binding the contract method 0x70f1c88b. -// -// Solidity: function checkFunding(bytes32 marketID) returns(bool) -func (f *FuturesTransactor) CheckFunding(opts *bind.TransactOpts, marketID [32]byte) (*types.Transaction, error) { - return f.contract.Transact(opts, "checkFunding", marketID) -} - -// CheckFunding is a paid mutator transaction binding the contract method 0x70f1c88b. -// -// Solidity: function checkFunding(bytes32 marketID) returns(bool) -func (f *FuturesSession) CheckFunding(marketID [32]byte) (*types.Transaction, error) { - return f.Contract.CheckFunding(&f.TransactOpts, marketID) -} - -// CheckFunding is a paid mutator transaction binding the contract method 0x70f1c88b. -// -// Solidity: function checkFunding(bytes32 marketID) returns(bool) -func (f *FuturesTransactorSession) CheckFunding(marketID [32]byte) (*types.Transaction, error) { - return f.Contract.CheckFunding(&f.TransactOpts, marketID) -} - -// ClosePosition is a paid mutator transaction binding the contract method 0x73ea5056. -// -// Solidity: function closePosition(bytes32 subAccountID, bytes32 marketID, (address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[] orders, uint256 quantity, bool isRevertingOnPartialFills, bytes[] signatures) returns((uint256,uint256,uint256,uint256) results) -func (f *FuturesTransactor) ClosePosition(opts *bind.TransactOpts, subAccountID [32]byte, marketID [32]byte, orders []Order, quantity *big.Int, isRevertingOnPartialFills bool, signatures [][]byte) (*types.Transaction, error) { - return f.contract.Transact(opts, "closePosition", subAccountID, marketID, orders, quantity, isRevertingOnPartialFills, signatures) -} - -// ClosePosition is a paid mutator transaction binding the contract method 0x73ea5056. -// -// Solidity: function closePosition(bytes32 subAccountID, bytes32 marketID, (address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[] orders, uint256 quantity, bool isRevertingOnPartialFills, bytes[] signatures) returns((uint256,uint256,uint256,uint256) results) -func (f *FuturesSession) ClosePosition(subAccountID [32]byte, marketID [32]byte, orders []Order, quantity *big.Int, isRevertingOnPartialFills bool, signatures [][]byte) (*types.Transaction, error) { - return f.Contract.ClosePosition(&f.TransactOpts, subAccountID, marketID, orders, quantity, isRevertingOnPartialFills, signatures) -} - -// ClosePosition is a paid mutator transaction binding the contract method 0x73ea5056. -// -// Solidity: function closePosition(bytes32 subAccountID, bytes32 marketID, (address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[] orders, uint256 quantity, bool isRevertingOnPartialFills, bytes[] signatures) returns((uint256,uint256,uint256,uint256) results) -func (f *FuturesTransactorSession) ClosePosition(subAccountID [32]byte, marketID [32]byte, orders []Order, quantity *big.Int, isRevertingOnPartialFills bool, signatures [][]byte) (*types.Transaction, error) { - return f.Contract.ClosePosition(&f.TransactOpts, subAccountID, marketID, orders, quantity, isRevertingOnPartialFills, signatures) -} - -// CreateDefaultSubAccountAndDeposit is a paid mutator transaction binding the contract method 0xcaa5cf87. -// -// Solidity: function createDefaultSubAccountAndDeposit(address baseCurrency, uint256 amount) returns(bytes32) -func (f *FuturesTransactor) CreateDefaultSubAccountAndDeposit(opts *bind.TransactOpts, baseCurrency common.Address, amount *big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "createDefaultSubAccountAndDeposit", baseCurrency, amount) -} - -// CreateDefaultSubAccountAndDeposit is a paid mutator transaction binding the contract method 0xcaa5cf87. -// -// Solidity: function createDefaultSubAccountAndDeposit(address baseCurrency, uint256 amount) returns(bytes32) -func (f *FuturesSession) CreateDefaultSubAccountAndDeposit(baseCurrency common.Address, amount *big.Int) (*types.Transaction, error) { - return f.Contract.CreateDefaultSubAccountAndDeposit(&f.TransactOpts, baseCurrency, amount) -} - -// CreateDefaultSubAccountAndDeposit is a paid mutator transaction binding the contract method 0xcaa5cf87. -// -// Solidity: function createDefaultSubAccountAndDeposit(address baseCurrency, uint256 amount) returns(bytes32) -func (f *FuturesTransactorSession) CreateDefaultSubAccountAndDeposit(baseCurrency common.Address, amount *big.Int) (*types.Transaction, error) { - return f.Contract.CreateDefaultSubAccountAndDeposit(&f.TransactOpts, baseCurrency, amount) -} - -// CreateFuturesMarket is a paid mutator transaction binding the contract method 0xc47e094b. -// -// Solidity: function createFuturesMarket(string ticker, address baseCurrency, address oracle, (uint256) initialMarginRatio, (uint256) maintenanceMarginRatio, uint256 fundingInterval, uint256 expirationTime, (uint256) makerTxFee, (uint256) takerTxFee, (uint256) relayerFeePercentage) returns() -func (f *FuturesTransactor) CreateFuturesMarket(opts *bind.TransactOpts, ticker string, baseCurrency common.Address, oracle common.Address, initialMarginRatio PermyriadMathPermyriad, maintenanceMarginRatio PermyriadMathPermyriad, fundingInterval *big.Int, expirationTime *big.Int, makerTxFee PermyriadMathPermyriad, takerTxFee PermyriadMathPermyriad, relayerFeePercentage PermyriadMathPermyriad) (*types.Transaction, error) { - return f.contract.Transact(opts, "createFuturesMarket", ticker, baseCurrency, oracle, initialMarginRatio, maintenanceMarginRatio, fundingInterval, expirationTime, makerTxFee, takerTxFee, relayerFeePercentage) -} - -// CreateFuturesMarket is a paid mutator transaction binding the contract method 0xc47e094b. -// -// Solidity: function createFuturesMarket(string ticker, address baseCurrency, address oracle, (uint256) initialMarginRatio, (uint256) maintenanceMarginRatio, uint256 fundingInterval, uint256 expirationTime, (uint256) makerTxFee, (uint256) takerTxFee, (uint256) relayerFeePercentage) returns() -func (f *FuturesSession) CreateFuturesMarket(ticker string, baseCurrency common.Address, oracle common.Address, initialMarginRatio PermyriadMathPermyriad, maintenanceMarginRatio PermyriadMathPermyriad, fundingInterval *big.Int, expirationTime *big.Int, makerTxFee PermyriadMathPermyriad, takerTxFee PermyriadMathPermyriad, relayerFeePercentage PermyriadMathPermyriad) (*types.Transaction, error) { - return f.Contract.CreateFuturesMarket(&f.TransactOpts, ticker, baseCurrency, oracle, initialMarginRatio, maintenanceMarginRatio, fundingInterval, expirationTime, makerTxFee, takerTxFee, relayerFeePercentage) -} - -// CreateFuturesMarket is a paid mutator transaction binding the contract method 0xc47e094b. -// -// Solidity: function createFuturesMarket(string ticker, address baseCurrency, address oracle, (uint256) initialMarginRatio, (uint256) maintenanceMarginRatio, uint256 fundingInterval, uint256 expirationTime, (uint256) makerTxFee, (uint256) takerTxFee, (uint256) relayerFeePercentage) returns() -func (f *FuturesTransactorSession) CreateFuturesMarket(ticker string, baseCurrency common.Address, oracle common.Address, initialMarginRatio PermyriadMathPermyriad, maintenanceMarginRatio PermyriadMathPermyriad, fundingInterval *big.Int, expirationTime *big.Int, makerTxFee PermyriadMathPermyriad, takerTxFee PermyriadMathPermyriad, relayerFeePercentage PermyriadMathPermyriad) (*types.Transaction, error) { - return f.Contract.CreateFuturesMarket(&f.TransactOpts, ticker, baseCurrency, oracle, initialMarginRatio, maintenanceMarginRatio, fundingInterval, expirationTime, makerTxFee, takerTxFee, relayerFeePercentage) -} - -// CreateFuturesMarketWithFixedMarketId is a paid mutator transaction binding the contract method 0x28f9d7a5. -// -// Solidity: function createFuturesMarketWithFixedMarketId(string ticker, address baseCurrency, address oracle, (uint256) initialMarginRatio, (uint256) maintenanceMarginRatio, uint256 fundingInterval, uint256 expirationTime, (uint256) makerTxFee, (uint256) takerTxFee, (uint256) relayerFeePercentage, bytes32 marketID) returns() -func (f *FuturesTransactor) CreateFuturesMarketWithFixedMarketId(opts *bind.TransactOpts, ticker string, baseCurrency common.Address, oracle common.Address, initialMarginRatio PermyriadMathPermyriad, maintenanceMarginRatio PermyriadMathPermyriad, fundingInterval *big.Int, expirationTime *big.Int, makerTxFee PermyriadMathPermyriad, takerTxFee PermyriadMathPermyriad, relayerFeePercentage PermyriadMathPermyriad, marketID [32]byte) (*types.Transaction, error) { - return f.contract.Transact(opts, "createFuturesMarketWithFixedMarketId", ticker, baseCurrency, oracle, initialMarginRatio, maintenanceMarginRatio, fundingInterval, expirationTime, makerTxFee, takerTxFee, relayerFeePercentage, marketID) -} - -// CreateFuturesMarketWithFixedMarketId is a paid mutator transaction binding the contract method 0x28f9d7a5. -// -// Solidity: function createFuturesMarketWithFixedMarketId(string ticker, address baseCurrency, address oracle, (uint256) initialMarginRatio, (uint256) maintenanceMarginRatio, uint256 fundingInterval, uint256 expirationTime, (uint256) makerTxFee, (uint256) takerTxFee, (uint256) relayerFeePercentage, bytes32 marketID) returns() -func (f *FuturesSession) CreateFuturesMarketWithFixedMarketId(ticker string, baseCurrency common.Address, oracle common.Address, initialMarginRatio PermyriadMathPermyriad, maintenanceMarginRatio PermyriadMathPermyriad, fundingInterval *big.Int, expirationTime *big.Int, makerTxFee PermyriadMathPermyriad, takerTxFee PermyriadMathPermyriad, relayerFeePercentage PermyriadMathPermyriad, marketID [32]byte) (*types.Transaction, error) { - return f.Contract.CreateFuturesMarketWithFixedMarketId(&f.TransactOpts, ticker, baseCurrency, oracle, initialMarginRatio, maintenanceMarginRatio, fundingInterval, expirationTime, makerTxFee, takerTxFee, relayerFeePercentage, marketID) -} - -// CreateFuturesMarketWithFixedMarketId is a paid mutator transaction binding the contract method 0x28f9d7a5. -// -// Solidity: function createFuturesMarketWithFixedMarketId(string ticker, address baseCurrency, address oracle, (uint256) initialMarginRatio, (uint256) maintenanceMarginRatio, uint256 fundingInterval, uint256 expirationTime, (uint256) makerTxFee, (uint256) takerTxFee, (uint256) relayerFeePercentage, bytes32 marketID) returns() -func (f *FuturesTransactorSession) CreateFuturesMarketWithFixedMarketId(ticker string, baseCurrency common.Address, oracle common.Address, initialMarginRatio PermyriadMathPermyriad, maintenanceMarginRatio PermyriadMathPermyriad, fundingInterval *big.Int, expirationTime *big.Int, makerTxFee PermyriadMathPermyriad, takerTxFee PermyriadMathPermyriad, relayerFeePercentage PermyriadMathPermyriad, marketID [32]byte) (*types.Transaction, error) { - return f.Contract.CreateFuturesMarketWithFixedMarketId(&f.TransactOpts, ticker, baseCurrency, oracle, initialMarginRatio, maintenanceMarginRatio, fundingInterval, expirationTime, makerTxFee, takerTxFee, relayerFeePercentage, marketID) -} - -// CreateSpotMarket is a paid mutator transaction binding the contract method 0xadb44540. -// -// Solidity: function createSpotMarket(string ticker, address baseToken, address quoteToken, (uint256) makerTxFee, (uint256) takerTxFee, (uint256) relayerFeePercentage) returns() -func (f *FuturesTransactor) CreateSpotMarket(opts *bind.TransactOpts, ticker string, baseToken common.Address, quoteToken common.Address, makerTxFee PermyriadMathPermyriad, takerTxFee PermyriadMathPermyriad, relayerFeePercentage PermyriadMathPermyriad) (*types.Transaction, error) { - return f.contract.Transact(opts, "createSpotMarket", ticker, baseToken, quoteToken, makerTxFee, takerTxFee, relayerFeePercentage) -} - -// CreateSpotMarket is a paid mutator transaction binding the contract method 0xadb44540. -// -// Solidity: function createSpotMarket(string ticker, address baseToken, address quoteToken, (uint256) makerTxFee, (uint256) takerTxFee, (uint256) relayerFeePercentage) returns() -func (f *FuturesSession) CreateSpotMarket(ticker string, baseToken common.Address, quoteToken common.Address, makerTxFee PermyriadMathPermyriad, takerTxFee PermyriadMathPermyriad, relayerFeePercentage PermyriadMathPermyriad) (*types.Transaction, error) { - return f.Contract.CreateSpotMarket(&f.TransactOpts, ticker, baseToken, quoteToken, makerTxFee, takerTxFee, relayerFeePercentage) -} - -// CreateSpotMarket is a paid mutator transaction binding the contract method 0xadb44540. -// -// Solidity: function createSpotMarket(string ticker, address baseToken, address quoteToken, (uint256) makerTxFee, (uint256) takerTxFee, (uint256) relayerFeePercentage) returns() -func (f *FuturesTransactorSession) CreateSpotMarket(ticker string, baseToken common.Address, quoteToken common.Address, makerTxFee PermyriadMathPermyriad, takerTxFee PermyriadMathPermyriad, relayerFeePercentage PermyriadMathPermyriad) (*types.Transaction, error) { - return f.Contract.CreateSpotMarket(&f.TransactOpts, ticker, baseToken, quoteToken, makerTxFee, takerTxFee, relayerFeePercentage) -} - -// CreateSubAccountAndDeposit is a paid mutator transaction binding the contract method 0x06bc2e72. -// -// Solidity: function createSubAccountAndDeposit(address baseCurrency, uint96 subAccountNonce, uint256 amount) returns(bytes32) -func (f *FuturesTransactor) CreateSubAccountAndDeposit(opts *bind.TransactOpts, baseCurrency common.Address, subAccountNonce *big.Int, amount *big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "createSubAccountAndDeposit", baseCurrency, subAccountNonce, amount) -} - -// CreateSubAccountAndDeposit is a paid mutator transaction binding the contract method 0x06bc2e72. -// -// Solidity: function createSubAccountAndDeposit(address baseCurrency, uint96 subAccountNonce, uint256 amount) returns(bytes32) -func (f *FuturesSession) CreateSubAccountAndDeposit(baseCurrency common.Address, subAccountNonce *big.Int, amount *big.Int) (*types.Transaction, error) { - return f.Contract.CreateSubAccountAndDeposit(&f.TransactOpts, baseCurrency, subAccountNonce, amount) -} - -// CreateSubAccountAndDeposit is a paid mutator transaction binding the contract method 0x06bc2e72. -// -// Solidity: function createSubAccountAndDeposit(address baseCurrency, uint96 subAccountNonce, uint256 amount) returns(bytes32) -func (f *FuturesTransactorSession) CreateSubAccountAndDeposit(baseCurrency common.Address, subAccountNonce *big.Int, amount *big.Int) (*types.Transaction, error) { - return f.Contract.CreateSubAccountAndDeposit(&f.TransactOpts, baseCurrency, subAccountNonce, amount) -} - -// CreateSubAccountForTraderWithNonce is a paid mutator transaction binding the contract method 0x510d4093. -// -// Solidity: function createSubAccountForTraderWithNonce(address trader, uint96 subAccountNonce) returns(bytes32) -func (f *FuturesTransactor) CreateSubAccountForTraderWithNonce(opts *bind.TransactOpts, trader common.Address, subAccountNonce *big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "createSubAccountForTraderWithNonce", trader, subAccountNonce) -} - -// CreateSubAccountForTraderWithNonce is a paid mutator transaction binding the contract method 0x510d4093. -// -// Solidity: function createSubAccountForTraderWithNonce(address trader, uint96 subAccountNonce) returns(bytes32) -func (f *FuturesSession) CreateSubAccountForTraderWithNonce(trader common.Address, subAccountNonce *big.Int) (*types.Transaction, error) { - return f.Contract.CreateSubAccountForTraderWithNonce(&f.TransactOpts, trader, subAccountNonce) -} - -// CreateSubAccountForTraderWithNonce is a paid mutator transaction binding the contract method 0x510d4093. -// -// Solidity: function createSubAccountForTraderWithNonce(address trader, uint96 subAccountNonce) returns(bytes32) -func (f *FuturesTransactorSession) CreateSubAccountForTraderWithNonce(trader common.Address, subAccountNonce *big.Int) (*types.Transaction, error) { - return f.Contract.CreateSubAccountForTraderWithNonce(&f.TransactOpts, trader, subAccountNonce) -} - -// Deposit is a paid mutator transaction binding the contract method 0x47e7ef24. -// -// Solidity: function deposit(address baseCurrency, uint256 amount) returns() -func (f *FuturesTransactor) Deposit(opts *bind.TransactOpts, baseCurrency common.Address, amount *big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "deposit", baseCurrency, amount) -} - -// Deposit is a paid mutator transaction binding the contract method 0x47e7ef24. -// -// Solidity: function deposit(address baseCurrency, uint256 amount) returns() -func (f *FuturesSession) Deposit(baseCurrency common.Address, amount *big.Int) (*types.Transaction, error) { - return f.Contract.Deposit(&f.TransactOpts, baseCurrency, amount) -} - -// Deposit is a paid mutator transaction binding the contract method 0x47e7ef24. -// -// Solidity: function deposit(address baseCurrency, uint256 amount) returns() -func (f *FuturesTransactorSession) Deposit(baseCurrency common.Address, amount *big.Int) (*types.Transaction, error) { - return f.Contract.Deposit(&f.TransactOpts, baseCurrency, amount) -} - -// DepositFor is a paid mutator transaction binding the contract method 0xb3db428b. -// -// Solidity: function depositFor(address baseCurrency, address trader, uint256 amount) returns() -func (f *FuturesTransactor) DepositFor(opts *bind.TransactOpts, baseCurrency common.Address, trader common.Address, amount *big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "depositFor", baseCurrency, trader, amount) -} - -// DepositFor is a paid mutator transaction binding the contract method 0xb3db428b. -// -// Solidity: function depositFor(address baseCurrency, address trader, uint256 amount) returns() -func (f *FuturesSession) DepositFor(baseCurrency common.Address, trader common.Address, amount *big.Int) (*types.Transaction, error) { - return f.Contract.DepositFor(&f.TransactOpts, baseCurrency, trader, amount) -} - -// DepositFor is a paid mutator transaction binding the contract method 0xb3db428b. -// -// Solidity: function depositFor(address baseCurrency, address trader, uint256 amount) returns() -func (f *FuturesTransactorSession) DepositFor(baseCurrency common.Address, trader common.Address, amount *big.Int) (*types.Transaction, error) { - return f.Contract.DepositFor(&f.TransactOpts, baseCurrency, trader, amount) -} - -// DepositForSubaccount is a paid mutator transaction binding the contract method 0x9d44c2b1. -// -// Solidity: function depositForSubaccount(address baseCurrency, bytes32 subAccountID, uint256 amount) returns() -func (f *FuturesTransactor) DepositForSubaccount(opts *bind.TransactOpts, baseCurrency common.Address, subAccountID [32]byte, amount *big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "depositForSubaccount", baseCurrency, subAccountID, amount) -} - -// DepositForSubaccount is a paid mutator transaction binding the contract method 0x9d44c2b1. -// -// Solidity: function depositForSubaccount(address baseCurrency, bytes32 subAccountID, uint256 amount) returns() -func (f *FuturesSession) DepositForSubaccount(baseCurrency common.Address, subAccountID [32]byte, amount *big.Int) (*types.Transaction, error) { - return f.Contract.DepositForSubaccount(&f.TransactOpts, baseCurrency, subAccountID, amount) -} - -// DepositForSubaccount is a paid mutator transaction binding the contract method 0x9d44c2b1. -// -// Solidity: function depositForSubaccount(address baseCurrency, bytes32 subAccountID, uint256 amount) returns() -func (f *FuturesTransactorSession) DepositForSubaccount(baseCurrency common.Address, subAccountID [32]byte, amount *big.Int) (*types.Transaction, error) { - return f.Contract.DepositForSubaccount(&f.TransactOpts, baseCurrency, subAccountID, amount) -} - -// DepositIntoSubAccount is a paid mutator transaction binding the contract method 0xf2848b01. -// -// Solidity: function depositIntoSubAccount(address baseCurrency, bytes32 subAccountID, uint256 amount) returns() -func (f *FuturesTransactor) DepositIntoSubAccount(opts *bind.TransactOpts, baseCurrency common.Address, subAccountID [32]byte, amount *big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "depositIntoSubAccount", baseCurrency, subAccountID, amount) -} - -// DepositIntoSubAccount is a paid mutator transaction binding the contract method 0xf2848b01. -// -// Solidity: function depositIntoSubAccount(address baseCurrency, bytes32 subAccountID, uint256 amount) returns() -func (f *FuturesSession) DepositIntoSubAccount(baseCurrency common.Address, subAccountID [32]byte, amount *big.Int) (*types.Transaction, error) { - return f.Contract.DepositIntoSubAccount(&f.TransactOpts, baseCurrency, subAccountID, amount) -} - -// DepositIntoSubAccount is a paid mutator transaction binding the contract method 0xf2848b01. -// -// Solidity: function depositIntoSubAccount(address baseCurrency, bytes32 subAccountID, uint256 amount) returns() -func (f *FuturesTransactorSession) DepositIntoSubAccount(baseCurrency common.Address, subAccountID [32]byte, amount *big.Int) (*types.Transaction, error) { - return f.Contract.DepositIntoSubAccount(&f.TransactOpts, baseCurrency, subAccountID, amount) -} - -// EmergencyStopFutures is a paid mutator transaction binding the contract method 0x0d64dc42. -// -// Solidity: function emergencyStopFutures() returns() -func (f *FuturesTransactor) EmergencyStopFutures(opts *bind.TransactOpts) (*types.Transaction, error) { - return f.contract.Transact(opts, "emergencyStopFutures") -} - -// EmergencyStopFutures is a paid mutator transaction binding the contract method 0x0d64dc42. -// -// Solidity: function emergencyStopFutures() returns() -func (f *FuturesSession) EmergencyStopFutures() (*types.Transaction, error) { - return f.Contract.EmergencyStopFutures(&f.TransactOpts) -} - -// EmergencyStopFutures is a paid mutator transaction binding the contract method 0x0d64dc42. -// -// Solidity: function emergencyStopFutures() returns() -func (f *FuturesTransactorSession) EmergencyStopFutures() (*types.Transaction, error) { - return f.Contract.EmergencyStopFutures(&f.TransactOpts) -} - -// EmergencyStopMarket is a paid mutator transaction binding the contract method 0xd135eeb3. -// -// Solidity: function emergencyStopMarket(bytes32 marketID) returns() -func (f *FuturesTransactor) EmergencyStopMarket(opts *bind.TransactOpts, marketID [32]byte) (*types.Transaction, error) { - return f.contract.Transact(opts, "emergencyStopMarket", marketID) -} - -// EmergencyStopMarket is a paid mutator transaction binding the contract method 0xd135eeb3. -// -// Solidity: function emergencyStopMarket(bytes32 marketID) returns() -func (f *FuturesSession) EmergencyStopMarket(marketID [32]byte) (*types.Transaction, error) { - return f.Contract.EmergencyStopMarket(&f.TransactOpts, marketID) -} - -// EmergencyStopMarket is a paid mutator transaction binding the contract method 0xd135eeb3. -// -// Solidity: function emergencyStopMarket(bytes32 marketID) returns() -func (f *FuturesTransactorSession) EmergencyStopMarket(marketID [32]byte) (*types.Transaction, error) { - return f.Contract.EmergencyStopMarket(&f.TransactOpts, marketID) -} - -// ExecuteTransaction is a paid mutator transaction binding the contract method 0x2280c910. -// -// Solidity: function executeTransaction((uint256,uint256,uint256,address,bytes) transaction, bytes signature) payable returns(bytes) -func (f *FuturesTransactor) ExecuteTransaction(opts *bind.TransactOpts, transaction LibZeroExTransactionZeroExTransaction, signature []byte) (*types.Transaction, error) { - return f.contract.Transact(opts, "executeTransaction", transaction, signature) -} - -// ExecuteTransaction is a paid mutator transaction binding the contract method 0x2280c910. -// -// Solidity: function executeTransaction((uint256,uint256,uint256,address,bytes) transaction, bytes signature) payable returns(bytes) -func (f *FuturesSession) ExecuteTransaction(transaction LibZeroExTransactionZeroExTransaction, signature []byte) (*types.Transaction, error) { - return f.Contract.ExecuteTransaction(&f.TransactOpts, transaction, signature) -} - -// ExecuteTransaction is a paid mutator transaction binding the contract method 0x2280c910. -// -// Solidity: function executeTransaction((uint256,uint256,uint256,address,bytes) transaction, bytes signature) payable returns(bytes) -func (f *FuturesTransactorSession) ExecuteTransaction(transaction LibZeroExTransactionZeroExTransaction, signature []byte) (*types.Transaction, error) { - return f.Contract.ExecuteTransaction(&f.TransactOpts, transaction, signature) -} - -// LiquidatePosition is a paid mutator transaction binding the contract method 0xd6128693. -// -// Solidity: function liquidatePosition(bytes32 subAccountID, bytes32 marketID, address liquidationCaller, (address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[] orders, uint256 quantity, bytes[] signatures) returns((uint256,uint256,uint256,uint256) results) -func (f *FuturesTransactor) LiquidatePosition(opts *bind.TransactOpts, subAccountID [32]byte, marketID [32]byte, liquidationCaller common.Address, orders []Order, quantity *big.Int, signatures [][]byte) (*types.Transaction, error) { - return f.contract.Transact(opts, "liquidatePosition", subAccountID, marketID, liquidationCaller, orders, quantity, signatures) -} - -// LiquidatePosition is a paid mutator transaction binding the contract method 0xd6128693. -// -// Solidity: function liquidatePosition(bytes32 subAccountID, bytes32 marketID, address liquidationCaller, (address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[] orders, uint256 quantity, bytes[] signatures) returns((uint256,uint256,uint256,uint256) results) -func (f *FuturesSession) LiquidatePosition(subAccountID [32]byte, marketID [32]byte, liquidationCaller common.Address, orders []Order, quantity *big.Int, signatures [][]byte) (*types.Transaction, error) { - return f.Contract.LiquidatePosition(&f.TransactOpts, subAccountID, marketID, liquidationCaller, orders, quantity, signatures) -} - -// LiquidatePosition is a paid mutator transaction binding the contract method 0xd6128693. -// -// Solidity: function liquidatePosition(bytes32 subAccountID, bytes32 marketID, address liquidationCaller, (address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[] orders, uint256 quantity, bytes[] signatures) returns((uint256,uint256,uint256,uint256) results) -func (f *FuturesTransactorSession) LiquidatePosition(subAccountID [32]byte, marketID [32]byte, liquidationCaller common.Address, orders []Order, quantity *big.Int, signatures [][]byte) (*types.Transaction, error) { - return f.Contract.LiquidatePosition(&f.TransactOpts, subAccountID, marketID, liquidationCaller, orders, quantity, signatures) -} - -// MarketOrders is a paid mutator transaction binding the contract method 0xfd7d3b8a. -// -// Solidity: function marketOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[] orders, uint256 quantity, uint256 margin, bytes32 subAccountID, bool isRevertingOnPartialFills, bytes[] signatures, address feeRecipientAddress) returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256)[] results) -func (f *FuturesTransactor) MarketOrders(opts *bind.TransactOpts, orders []Order, quantity *big.Int, margin *big.Int, subAccountID [32]byte, isRevertingOnPartialFills bool, signatures [][]byte, feeRecipientAddress common.Address) (*types.Transaction, error) { - return f.contract.Transact(opts, "marketOrders", orders, quantity, margin, subAccountID, isRevertingOnPartialFills, signatures, feeRecipientAddress) -} - -// MarketOrders is a paid mutator transaction binding the contract method 0xfd7d3b8a. -// -// Solidity: function marketOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[] orders, uint256 quantity, uint256 margin, bytes32 subAccountID, bool isRevertingOnPartialFills, bytes[] signatures, address feeRecipientAddress) returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256)[] results) -func (f *FuturesSession) MarketOrders(orders []Order, quantity *big.Int, margin *big.Int, subAccountID [32]byte, isRevertingOnPartialFills bool, signatures [][]byte, feeRecipientAddress common.Address) (*types.Transaction, error) { - return f.Contract.MarketOrders(&f.TransactOpts, orders, quantity, margin, subAccountID, isRevertingOnPartialFills, signatures, feeRecipientAddress) -} - -// MarketOrders is a paid mutator transaction binding the contract method 0xfd7d3b8a. -// -// Solidity: function marketOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[] orders, uint256 quantity, uint256 margin, bytes32 subAccountID, bool isRevertingOnPartialFills, bytes[] signatures, address feeRecipientAddress) returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256)[] results) -func (f *FuturesTransactorSession) MarketOrders(orders []Order, quantity *big.Int, margin *big.Int, subAccountID [32]byte, isRevertingOnPartialFills bool, signatures [][]byte, feeRecipientAddress common.Address) (*types.Transaction, error) { - return f.Contract.MarketOrders(&f.TransactOpts, orders, quantity, margin, subAccountID, isRevertingOnPartialFills, signatures, feeRecipientAddress) -} - -// MatchSpotOrders is a paid mutator transaction binding the contract method 0xc7e34978. -// -// Solidity: function matchSpotOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes) leftOrder, (address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes) rightOrder, bytes leftSignature, bytes rightSignature) returns(((uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256)) matchedFillResults) -func (f *FuturesTransactor) MatchSpotOrders(opts *bind.TransactOpts, leftOrder Order, rightOrder Order, leftSignature []byte, rightSignature []byte) (*types.Transaction, error) { - return f.contract.Transact(opts, "matchSpotOrders", leftOrder, rightOrder, leftSignature, rightSignature) -} - -// MatchSpotOrders is a paid mutator transaction binding the contract method 0xc7e34978. -// -// Solidity: function matchSpotOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes) leftOrder, (address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes) rightOrder, bytes leftSignature, bytes rightSignature) returns(((uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256)) matchedFillResults) -func (f *FuturesSession) MatchSpotOrders(leftOrder Order, rightOrder Order, leftSignature []byte, rightSignature []byte) (*types.Transaction, error) { - return f.Contract.MatchSpotOrders(&f.TransactOpts, leftOrder, rightOrder, leftSignature, rightSignature) -} - -// MatchSpotOrders is a paid mutator transaction binding the contract method 0xc7e34978. -// -// Solidity: function matchSpotOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes) leftOrder, (address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes) rightOrder, bytes leftSignature, bytes rightSignature) returns(((uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256)) matchedFillResults) -func (f *FuturesTransactorSession) MatchSpotOrders(leftOrder Order, rightOrder Order, leftSignature []byte, rightSignature []byte) (*types.Transaction, error) { - return f.Contract.MatchSpotOrders(&f.TransactOpts, leftOrder, rightOrder, leftSignature, rightSignature) -} - -// MultiMatchOrders is a paid mutator transaction binding the contract method 0x86d7729c. -// -// Solidity: function multiMatchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[] leftOrders, (address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes) rightOrder, bytes[] leftSignatures, bytes rightSignature) returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256)[] results) -func (f *FuturesTransactor) MultiMatchOrders(opts *bind.TransactOpts, leftOrders []Order, rightOrder Order, leftSignatures [][]byte, rightSignature []byte) (*types.Transaction, error) { - return f.contract.Transact(opts, "multiMatchOrders", leftOrders, rightOrder, leftSignatures, rightSignature) -} - -// MultiMatchOrders is a paid mutator transaction binding the contract method 0x86d7729c. -// -// Solidity: function multiMatchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[] leftOrders, (address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes) rightOrder, bytes[] leftSignatures, bytes rightSignature) returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256)[] results) -func (f *FuturesSession) MultiMatchOrders(leftOrders []Order, rightOrder Order, leftSignatures [][]byte, rightSignature []byte) (*types.Transaction, error) { - return f.Contract.MultiMatchOrders(&f.TransactOpts, leftOrders, rightOrder, leftSignatures, rightSignature) -} - -// MultiMatchOrders is a paid mutator transaction binding the contract method 0x86d7729c. -// -// Solidity: function multiMatchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[] leftOrders, (address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes) rightOrder, bytes[] leftSignatures, bytes rightSignature) returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256)[] results) -func (f *FuturesTransactorSession) MultiMatchOrders(leftOrders []Order, rightOrder Order, leftSignatures [][]byte, rightSignature []byte) (*types.Transaction, error) { - return f.Contract.MultiMatchOrders(&f.TransactOpts, leftOrders, rightOrder, leftSignatures, rightSignature) -} - -// MultiMatchSpotOrders is a paid mutator transaction binding the contract method 0xd8e2259c. -// -// Solidity: function multiMatchSpotOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[] leftOrders, (address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[] rightOrders, bytes[] leftSignatures, bytes[] rightSignatures) returns(((uint256,uint256,uint256,uint256)[],(uint256,uint256,uint256,uint256)[]) batchMatchedFillResults) -func (f *FuturesTransactor) MultiMatchSpotOrders(opts *bind.TransactOpts, leftOrders []Order, rightOrders []Order, leftSignatures [][]byte, rightSignatures [][]byte) (*types.Transaction, error) { - return f.contract.Transact(opts, "multiMatchSpotOrders", leftOrders, rightOrders, leftSignatures, rightSignatures) -} - -// MultiMatchSpotOrders is a paid mutator transaction binding the contract method 0xd8e2259c. -// -// Solidity: function multiMatchSpotOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[] leftOrders, (address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[] rightOrders, bytes[] leftSignatures, bytes[] rightSignatures) returns(((uint256,uint256,uint256,uint256)[],(uint256,uint256,uint256,uint256)[]) batchMatchedFillResults) -func (f *FuturesSession) MultiMatchSpotOrders(leftOrders []Order, rightOrders []Order, leftSignatures [][]byte, rightSignatures [][]byte) (*types.Transaction, error) { - return f.Contract.MultiMatchSpotOrders(&f.TransactOpts, leftOrders, rightOrders, leftSignatures, rightSignatures) -} - -// MultiMatchSpotOrders is a paid mutator transaction binding the contract method 0xd8e2259c. -// -// Solidity: function multiMatchSpotOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[] leftOrders, (address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[] rightOrders, bytes[] leftSignatures, bytes[] rightSignatures) returns(((uint256,uint256,uint256,uint256)[],(uint256,uint256,uint256,uint256)[]) batchMatchedFillResults) -func (f *FuturesTransactorSession) MultiMatchSpotOrders(leftOrders []Order, rightOrders []Order, leftSignatures [][]byte, rightSignatures [][]byte) (*types.Transaction, error) { - return f.Contract.MultiMatchSpotOrders(&f.TransactOpts, leftOrders, rightOrders, leftSignatures, rightSignatures) -} - -// PayIntoInsurancePool is a paid mutator transaction binding the contract method 0x95563906. -// -// Solidity: function payIntoInsurancePool(bytes32 marketID, uint256 amount) returns() -func (f *FuturesTransactor) PayIntoInsurancePool(opts *bind.TransactOpts, marketID [32]byte, amount *big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "payIntoInsurancePool", marketID, amount) -} - -// PayIntoInsurancePool is a paid mutator transaction binding the contract method 0x95563906. -// -// Solidity: function payIntoInsurancePool(bytes32 marketID, uint256 amount) returns() -func (f *FuturesSession) PayIntoInsurancePool(marketID [32]byte, amount *big.Int) (*types.Transaction, error) { - return f.Contract.PayIntoInsurancePool(&f.TransactOpts, marketID, amount) -} - -// PayIntoInsurancePool is a paid mutator transaction binding the contract method 0x95563906. -// -// Solidity: function payIntoInsurancePool(bytes32 marketID, uint256 amount) returns() -func (f *FuturesTransactorSession) PayIntoInsurancePool(marketID [32]byte, amount *big.Int) (*types.Transaction, error) { - return f.Contract.PayIntoInsurancePool(&f.TransactOpts, marketID, amount) -} - -// PreSign is a paid mutator transaction binding the contract method 0x46c02d7a. -// -// Solidity: function preSign(bytes32 hash) payable returns() -func (f *FuturesTransactor) PreSign(opts *bind.TransactOpts, hash [32]byte) (*types.Transaction, error) { - return f.contract.Transact(opts, "preSign", hash) -} - -// PreSign is a paid mutator transaction binding the contract method 0x46c02d7a. -// -// Solidity: function preSign(bytes32 hash) payable returns() -func (f *FuturesSession) PreSign(hash [32]byte) (*types.Transaction, error) { - return f.Contract.PreSign(&f.TransactOpts, hash) -} - -// PreSign is a paid mutator transaction binding the contract method 0x46c02d7a. -// -// Solidity: function preSign(bytes32 hash) payable returns() -func (f *FuturesTransactorSession) PreSign(hash [32]byte) (*types.Transaction, error) { - return f.Contract.PreSign(&f.TransactOpts, hash) -} - -// RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. -// -// Solidity: function renounceOwnership() returns() -func (f *FuturesTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { - return f.contract.Transact(opts, "renounceOwnership") -} - -// RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. -// -// Solidity: function renounceOwnership() returns() -func (f *FuturesSession) RenounceOwnership() (*types.Transaction, error) { - return f.Contract.RenounceOwnership(&f.TransactOpts) -} - -// RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. -// -// Solidity: function renounceOwnership() returns() -func (f *FuturesTransactorSession) RenounceOwnership() (*types.Transaction, error) { - return f.Contract.RenounceOwnership(&f.TransactOpts) -} - -// ResumeFutures is a paid mutator transaction binding the contract method 0x55585bce. -// -// Solidity: function resumeFutures() returns() -func (f *FuturesTransactor) ResumeFutures(opts *bind.TransactOpts) (*types.Transaction, error) { - return f.contract.Transact(opts, "resumeFutures") -} - -// ResumeFutures is a paid mutator transaction binding the contract method 0x55585bce. -// -// Solidity: function resumeFutures() returns() -func (f *FuturesSession) ResumeFutures() (*types.Transaction, error) { - return f.Contract.ResumeFutures(&f.TransactOpts) -} - -// ResumeFutures is a paid mutator transaction binding the contract method 0x55585bce. -// -// Solidity: function resumeFutures() returns() -func (f *FuturesTransactorSession) ResumeFutures() (*types.Transaction, error) { - return f.Contract.ResumeFutures(&f.TransactOpts) -} - -// SetApprovalForAll is a paid mutator transaction binding the contract method 0xbc053e73. -// -// Solidity: function setApprovalForAll(bytes32 fromSubAccountID, address operator, bool isApproved) returns() -func (f *FuturesTransactor) SetApprovalForAll(opts *bind.TransactOpts, fromSubAccountID [32]byte, operator common.Address, isApproved bool) (*types.Transaction, error) { - return f.contract.Transact(opts, "setApprovalForAll", fromSubAccountID, operator, isApproved) -} - -// SetApprovalForAll is a paid mutator transaction binding the contract method 0xbc053e73. -// -// Solidity: function setApprovalForAll(bytes32 fromSubAccountID, address operator, bool isApproved) returns() -func (f *FuturesSession) SetApprovalForAll(fromSubAccountID [32]byte, operator common.Address, isApproved bool) (*types.Transaction, error) { - return f.Contract.SetApprovalForAll(&f.TransactOpts, fromSubAccountID, operator, isApproved) -} - -// SetApprovalForAll is a paid mutator transaction binding the contract method 0xbc053e73. -// -// Solidity: function setApprovalForAll(bytes32 fromSubAccountID, address operator, bool isApproved) returns() -func (f *FuturesTransactorSession) SetApprovalForAll(fromSubAccountID [32]byte, operator common.Address, isApproved bool) (*types.Transaction, error) { - return f.Contract.SetApprovalForAll(&f.TransactOpts, fromSubAccountID, operator, isApproved) -} - -// SetApprovalForMarket is a paid mutator transaction binding the contract method 0xa01856c1. -// -// Solidity: function setApprovalForMarket(bytes32 fromSubAccountID, address operator, bytes32 marketID, bool isApproved) returns() -func (f *FuturesTransactor) SetApprovalForMarket(opts *bind.TransactOpts, fromSubAccountID [32]byte, operator common.Address, marketID [32]byte, isApproved bool) (*types.Transaction, error) { - return f.contract.Transact(opts, "setApprovalForMarket", fromSubAccountID, operator, marketID, isApproved) -} - -// SetApprovalForMarket is a paid mutator transaction binding the contract method 0xa01856c1. -// -// Solidity: function setApprovalForMarket(bytes32 fromSubAccountID, address operator, bytes32 marketID, bool isApproved) returns() -func (f *FuturesSession) SetApprovalForMarket(fromSubAccountID [32]byte, operator common.Address, marketID [32]byte, isApproved bool) (*types.Transaction, error) { - return f.Contract.SetApprovalForMarket(&f.TransactOpts, fromSubAccountID, operator, marketID, isApproved) -} - -// SetApprovalForMarket is a paid mutator transaction binding the contract method 0xa01856c1. -// -// Solidity: function setApprovalForMarket(bytes32 fromSubAccountID, address operator, bytes32 marketID, bool isApproved) returns() -func (f *FuturesTransactorSession) SetApprovalForMarket(fromSubAccountID [32]byte, operator common.Address, marketID [32]byte, isApproved bool) (*types.Transaction, error) { - return f.Contract.SetApprovalForMarket(&f.TransactOpts, fromSubAccountID, operator, marketID, isApproved) -} - -// SetFundingRate is a paid mutator transaction binding the contract method 0x33db9b03. -// -// Solidity: function setFundingRate(bytes32 marketID) returns() -func (f *FuturesTransactor) SetFundingRate(opts *bind.TransactOpts, marketID [32]byte) (*types.Transaction, error) { - return f.contract.Transact(opts, "setFundingRate", marketID) -} - -// SetFundingRate is a paid mutator transaction binding the contract method 0x33db9b03. -// -// Solidity: function setFundingRate(bytes32 marketID) returns() -func (f *FuturesSession) SetFundingRate(marketID [32]byte) (*types.Transaction, error) { - return f.Contract.SetFundingRate(&f.TransactOpts, marketID) -} - -// SetFundingRate is a paid mutator transaction binding the contract method 0x33db9b03. -// -// Solidity: function setFundingRate(bytes32 marketID) returns() -func (f *FuturesTransactorSession) SetFundingRate(marketID [32]byte) (*types.Transaction, error) { - return f.Contract.SetFundingRate(&f.TransactOpts, marketID) -} - -// SetReceiptApprovalForAll is a paid mutator transaction binding the contract method 0xaec3d88a. -// -// Solidity: function setReceiptApprovalForAll(bytes32 receiverSubAccountID, address operator, bool isApproved) returns() -func (f *FuturesTransactor) SetReceiptApprovalForAll(opts *bind.TransactOpts, receiverSubAccountID [32]byte, operator common.Address, isApproved bool) (*types.Transaction, error) { - return f.contract.Transact(opts, "setReceiptApprovalForAll", receiverSubAccountID, operator, isApproved) -} - -// SetReceiptApprovalForAll is a paid mutator transaction binding the contract method 0xaec3d88a. -// -// Solidity: function setReceiptApprovalForAll(bytes32 receiverSubAccountID, address operator, bool isApproved) returns() -func (f *FuturesSession) SetReceiptApprovalForAll(receiverSubAccountID [32]byte, operator common.Address, isApproved bool) (*types.Transaction, error) { - return f.Contract.SetReceiptApprovalForAll(&f.TransactOpts, receiverSubAccountID, operator, isApproved) -} - -// SetReceiptApprovalForAll is a paid mutator transaction binding the contract method 0xaec3d88a. -// -// Solidity: function setReceiptApprovalForAll(bytes32 receiverSubAccountID, address operator, bool isApproved) returns() -func (f *FuturesTransactorSession) SetReceiptApprovalForAll(receiverSubAccountID [32]byte, operator common.Address, isApproved bool) (*types.Transaction, error) { - return f.Contract.SetReceiptApprovalForAll(&f.TransactOpts, receiverSubAccountID, operator, isApproved) -} - -// SetReceiptApprovalForMarket is a paid mutator transaction binding the contract method 0x14229a3f. -// -// Solidity: function setReceiptApprovalForMarket(bytes32 receiverSubAccountID, address operator, bytes32 marketID, bool isApproved) returns() -func (f *FuturesTransactor) SetReceiptApprovalForMarket(opts *bind.TransactOpts, receiverSubAccountID [32]byte, operator common.Address, marketID [32]byte, isApproved bool) (*types.Transaction, error) { - return f.contract.Transact(opts, "setReceiptApprovalForMarket", receiverSubAccountID, operator, marketID, isApproved) -} - -// SetReceiptApprovalForMarket is a paid mutator transaction binding the contract method 0x14229a3f. -// -// Solidity: function setReceiptApprovalForMarket(bytes32 receiverSubAccountID, address operator, bytes32 marketID, bool isApproved) returns() -func (f *FuturesSession) SetReceiptApprovalForMarket(receiverSubAccountID [32]byte, operator common.Address, marketID [32]byte, isApproved bool) (*types.Transaction, error) { - return f.Contract.SetReceiptApprovalForMarket(&f.TransactOpts, receiverSubAccountID, operator, marketID, isApproved) -} - -// SetReceiptApprovalForMarket is a paid mutator transaction binding the contract method 0x14229a3f. -// -// Solidity: function setReceiptApprovalForMarket(bytes32 receiverSubAccountID, address operator, bytes32 marketID, bool isApproved) returns() -func (f *FuturesTransactorSession) SetReceiptApprovalForMarket(receiverSubAccountID [32]byte, operator common.Address, marketID [32]byte, isApproved bool) (*types.Transaction, error) { - return f.Contract.SetReceiptApprovalForMarket(&f.TransactOpts, receiverSubAccountID, operator, marketID, isApproved) -} - -// SetSignatureValidatorApproval is a paid mutator transaction binding the contract method 0x77fcce68. -// -// Solidity: function setSignatureValidatorApproval(address validatorAddress, bool approval) payable returns() -func (f *FuturesTransactor) SetSignatureValidatorApproval(opts *bind.TransactOpts, validatorAddress common.Address, approval bool) (*types.Transaction, error) { - return f.contract.Transact(opts, "setSignatureValidatorApproval", validatorAddress, approval) -} - -// SetSignatureValidatorApproval is a paid mutator transaction binding the contract method 0x77fcce68. -// -// Solidity: function setSignatureValidatorApproval(address validatorAddress, bool approval) payable returns() -func (f *FuturesSession) SetSignatureValidatorApproval(validatorAddress common.Address, approval bool) (*types.Transaction, error) { - return f.Contract.SetSignatureValidatorApproval(&f.TransactOpts, validatorAddress, approval) -} - -// SetSignatureValidatorApproval is a paid mutator transaction binding the contract method 0x77fcce68. -// -// Solidity: function setSignatureValidatorApproval(address validatorAddress, bool approval) payable returns() -func (f *FuturesTransactorSession) SetSignatureValidatorApproval(validatorAddress common.Address, approval bool) (*types.Transaction, error) { - return f.Contract.SetSignatureValidatorApproval(&f.TransactOpts, validatorAddress, approval) -} - -// SettleExpiryFuturesPosition is a paid mutator transaction binding the contract method 0xa30b87ad. -// -// Solidity: function settleExpiryFuturesPosition(bytes32 marketID, bytes32 subAccountID) returns((uint256,uint256,uint256,uint256) results) -func (f *FuturesTransactor) SettleExpiryFuturesPosition(opts *bind.TransactOpts, marketID [32]byte, subAccountID [32]byte) (*types.Transaction, error) { - return f.contract.Transact(opts, "settleExpiryFuturesPosition", marketID, subAccountID) -} - -// SettleExpiryFuturesPosition is a paid mutator transaction binding the contract method 0xa30b87ad. -// -// Solidity: function settleExpiryFuturesPosition(bytes32 marketID, bytes32 subAccountID) returns((uint256,uint256,uint256,uint256) results) -func (f *FuturesSession) SettleExpiryFuturesPosition(marketID [32]byte, subAccountID [32]byte) (*types.Transaction, error) { - return f.Contract.SettleExpiryFuturesPosition(&f.TransactOpts, marketID, subAccountID) -} - -// SettleExpiryFuturesPosition is a paid mutator transaction binding the contract method 0xa30b87ad. -// -// Solidity: function settleExpiryFuturesPosition(bytes32 marketID, bytes32 subAccountID) returns((uint256,uint256,uint256,uint256) results) -func (f *FuturesTransactorSession) SettleExpiryFuturesPosition(marketID [32]byte, subAccountID [32]byte) (*types.Transaction, error) { - return f.Contract.SettleExpiryFuturesPosition(&f.TransactOpts, marketID, subAccountID) -} - -// SettleMarket is a paid mutator transaction binding the contract method 0xe039c00e. -// -// Solidity: function settleMarket(bytes32 marketID) returns(bool) -func (f *FuturesTransactor) SettleMarket(opts *bind.TransactOpts, marketID [32]byte) (*types.Transaction, error) { - return f.contract.Transact(opts, "settleMarket", marketID) -} - -// SettleMarket is a paid mutator transaction binding the contract method 0xe039c00e. -// -// Solidity: function settleMarket(bytes32 marketID) returns(bool) -func (f *FuturesSession) SettleMarket(marketID [32]byte) (*types.Transaction, error) { - return f.Contract.SettleMarket(&f.TransactOpts, marketID) -} - -// SettleMarket is a paid mutator transaction binding the contract method 0xe039c00e. -// -// Solidity: function settleMarket(bytes32 marketID) returns(bool) -func (f *FuturesTransactorSession) SettleMarket(marketID [32]byte) (*types.Transaction, error) { - return f.Contract.SettleMarket(&f.TransactOpts, marketID) -} - -// TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. -// -// Solidity: function transferOwnership(address newOwner) returns() -func (f *FuturesTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { - return f.contract.Transact(opts, "transferOwnership", newOwner) -} - -// TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. -// -// Solidity: function transferOwnership(address newOwner) returns() -func (f *FuturesSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { - return f.Contract.TransferOwnership(&f.TransactOpts, newOwner) -} - -// TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. -// -// Solidity: function transferOwnership(address newOwner) returns() -func (f *FuturesTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { - return f.Contract.TransferOwnership(&f.TransactOpts, newOwner) -} - -// TransferPosition is a paid mutator transaction binding the contract method 0x9380ba16. -// -// Solidity: function transferPosition(uint256 positionID, bytes32 receiverSubAccountID, uint256 transferQuantity) returns() -func (f *FuturesTransactor) TransferPosition(opts *bind.TransactOpts, positionID *big.Int, receiverSubAccountID [32]byte, transferQuantity *big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "transferPosition", positionID, receiverSubAccountID, transferQuantity) -} - -// TransferPosition is a paid mutator transaction binding the contract method 0x9380ba16. -// -// Solidity: function transferPosition(uint256 positionID, bytes32 receiverSubAccountID, uint256 transferQuantity) returns() -func (f *FuturesSession) TransferPosition(positionID *big.Int, receiverSubAccountID [32]byte, transferQuantity *big.Int) (*types.Transaction, error) { - return f.Contract.TransferPosition(&f.TransactOpts, positionID, receiverSubAccountID, transferQuantity) -} - -// TransferPosition is a paid mutator transaction binding the contract method 0x9380ba16. -// -// Solidity: function transferPosition(uint256 positionID, bytes32 receiverSubAccountID, uint256 transferQuantity) returns() -func (f *FuturesTransactorSession) TransferPosition(positionID *big.Int, receiverSubAccountID [32]byte, transferQuantity *big.Int) (*types.Transaction, error) { - return f.Contract.TransferPosition(&f.TransactOpts, positionID, receiverSubAccountID, transferQuantity) -} - -// TransferToSubAccount is a paid mutator transaction binding the contract method 0xddf84a44. -// -// Solidity: function transferToSubAccount(address baseCurrency, bytes32 fromSubAccountID, bytes32 toSubAccountID, uint256 amount) returns() -func (f *FuturesTransactor) TransferToSubAccount(opts *bind.TransactOpts, baseCurrency common.Address, fromSubAccountID [32]byte, toSubAccountID [32]byte, amount *big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "transferToSubAccount", baseCurrency, fromSubAccountID, toSubAccountID, amount) -} - -// TransferToSubAccount is a paid mutator transaction binding the contract method 0xddf84a44. -// -// Solidity: function transferToSubAccount(address baseCurrency, bytes32 fromSubAccountID, bytes32 toSubAccountID, uint256 amount) returns() -func (f *FuturesSession) TransferToSubAccount(baseCurrency common.Address, fromSubAccountID [32]byte, toSubAccountID [32]byte, amount *big.Int) (*types.Transaction, error) { - return f.Contract.TransferToSubAccount(&f.TransactOpts, baseCurrency, fromSubAccountID, toSubAccountID, amount) -} - -// TransferToSubAccount is a paid mutator transaction binding the contract method 0xddf84a44. -// -// Solidity: function transferToSubAccount(address baseCurrency, bytes32 fromSubAccountID, bytes32 toSubAccountID, uint256 amount) returns() -func (f *FuturesTransactorSession) TransferToSubAccount(baseCurrency common.Address, fromSubAccountID [32]byte, toSubAccountID [32]byte, amount *big.Int) (*types.Transaction, error) { - return f.Contract.TransferToSubAccount(&f.TransactOpts, baseCurrency, fromSubAccountID, toSubAccountID, amount) -} - -// VaporizePosition is a paid mutator transaction binding the contract method 0xcaa065b9. -// -// Solidity: function vaporizePosition(bytes32 subAccountID, bytes32 marketID, (address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[] orders, uint256 quantity, bytes[] signatures) returns((uint256,uint256,uint256,uint256) results) -func (f *FuturesTransactor) VaporizePosition(opts *bind.TransactOpts, subAccountID [32]byte, marketID [32]byte, orders []Order, quantity *big.Int, signatures [][]byte) (*types.Transaction, error) { - return f.contract.Transact(opts, "vaporizePosition", subAccountID, marketID, orders, quantity, signatures) -} - -// VaporizePosition is a paid mutator transaction binding the contract method 0xcaa065b9. -// -// Solidity: function vaporizePosition(bytes32 subAccountID, bytes32 marketID, (address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[] orders, uint256 quantity, bytes[] signatures) returns((uint256,uint256,uint256,uint256) results) -func (f *FuturesSession) VaporizePosition(subAccountID [32]byte, marketID [32]byte, orders []Order, quantity *big.Int, signatures [][]byte) (*types.Transaction, error) { - return f.Contract.VaporizePosition(&f.TransactOpts, subAccountID, marketID, orders, quantity, signatures) -} - -// VaporizePosition is a paid mutator transaction binding the contract method 0xcaa065b9. -// -// Solidity: function vaporizePosition(bytes32 subAccountID, bytes32 marketID, (address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[] orders, uint256 quantity, bytes[] signatures) returns((uint256,uint256,uint256,uint256) results) -func (f *FuturesTransactorSession) VaporizePosition(subAccountID [32]byte, marketID [32]byte, orders []Order, quantity *big.Int, signatures [][]byte) (*types.Transaction, error) { - return f.Contract.VaporizePosition(&f.TransactOpts, subAccountID, marketID, orders, quantity, signatures) -} - -// WithdrawForSubAccount is a paid mutator transaction binding the contract method 0x803a90d8. -// -// Solidity: function withdrawForSubAccount(address baseCurrency, bytes32 subAccountID, uint256 amount) returns() -func (f *FuturesTransactor) WithdrawForSubAccount(opts *bind.TransactOpts, baseCurrency common.Address, subAccountID [32]byte, amount *big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "withdrawForSubAccount", baseCurrency, subAccountID, amount) -} - -// WithdrawForSubAccount is a paid mutator transaction binding the contract method 0x803a90d8. -// -// Solidity: function withdrawForSubAccount(address baseCurrency, bytes32 subAccountID, uint256 amount) returns() -func (f *FuturesSession) WithdrawForSubAccount(baseCurrency common.Address, subAccountID [32]byte, amount *big.Int) (*types.Transaction, error) { - return f.Contract.WithdrawForSubAccount(&f.TransactOpts, baseCurrency, subAccountID, amount) -} - -// WithdrawForSubAccount is a paid mutator transaction binding the contract method 0x803a90d8. -// -// Solidity: function withdrawForSubAccount(address baseCurrency, bytes32 subAccountID, uint256 amount) returns() -func (f *FuturesTransactorSession) WithdrawForSubAccount(baseCurrency common.Address, subAccountID [32]byte, amount *big.Int) (*types.Transaction, error) { - return f.Contract.WithdrawForSubAccount(&f.TransactOpts, baseCurrency, subAccountID, amount) -} - -// WithdrawFromInsurancePool is a paid mutator transaction binding the contract method 0xb7d4078d. -// -// Solidity: function withdrawFromInsurancePool(address receiver, bytes32 marketID, uint256 amount) returns() -func (f *FuturesTransactor) WithdrawFromInsurancePool(opts *bind.TransactOpts, receiver common.Address, marketID [32]byte, amount *big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "withdrawFromInsurancePool", receiver, marketID, amount) -} - -// WithdrawFromInsurancePool is a paid mutator transaction binding the contract method 0xb7d4078d. -// -// Solidity: function withdrawFromInsurancePool(address receiver, bytes32 marketID, uint256 amount) returns() -func (f *FuturesSession) WithdrawFromInsurancePool(receiver common.Address, marketID [32]byte, amount *big.Int) (*types.Transaction, error) { - return f.Contract.WithdrawFromInsurancePool(&f.TransactOpts, receiver, marketID, amount) -} - -// WithdrawFromInsurancePool is a paid mutator transaction binding the contract method 0xb7d4078d. -// -// Solidity: function withdrawFromInsurancePool(address receiver, bytes32 marketID, uint256 amount) returns() -func (f *FuturesTransactorSession) WithdrawFromInsurancePool(receiver common.Address, marketID [32]byte, amount *big.Int) (*types.Transaction, error) { - return f.Contract.WithdrawFromInsurancePool(&f.TransactOpts, receiver, marketID, amount) -} - -// FuturesAccountCreationIterator is returned from FilterAccountCreation and is used to iterate over the raw logs and unpacked data for AccountCreation events raised by the Futures contract. -type FuturesAccountCreationIterator struct { - Event *FuturesAccountCreation // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *FuturesAccountCreationIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(FuturesAccountCreation) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(FuturesAccountCreation) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *FuturesAccountCreationIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *FuturesAccountCreationIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// FuturesAccountCreation represents a AccountCreation event raised by the Futures contract. -type FuturesAccountCreation struct { - Creator common.Address - SubAccountID [32]byte - SubAccountNonce *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterAccountCreation is a free log retrieval operation binding the contract event 0x6da62924036c396387aa0340b6df622a60ea3f2dcd19bd4a7d77df13013f3043. -// -// Solidity: event AccountCreation(address indexed creator, bytes32 subAccountID, uint96 subAccountNonce) -func (f *FuturesFilterer) FilterAccountCreation(opts *bind.FilterOpts, creator []common.Address) (*FuturesAccountCreationIterator, error) { - - var creatorRule []interface{} - for _, creatorItem := range creator { - creatorRule = append(creatorRule, creatorItem) - } - - logs, sub, err := f.contract.FilterLogs(opts, "AccountCreation", creatorRule) - if err != nil { - return nil, err - } - return &FuturesAccountCreationIterator{contract: f.contract, event: "AccountCreation", logs: logs, sub: sub}, nil -} - -// WatchAccountCreation is a free log subscription operation binding the contract event 0x6da62924036c396387aa0340b6df622a60ea3f2dcd19bd4a7d77df13013f3043. -// -// Solidity: event AccountCreation(address indexed creator, bytes32 subAccountID, uint96 subAccountNonce) -func (f *FuturesFilterer) WatchAccountCreation(opts *bind.WatchOpts, sink chan<- *FuturesAccountCreation, creator []common.Address) (event.Subscription, error) { - - var creatorRule []interface{} - for _, creatorItem := range creator { - creatorRule = append(creatorRule, creatorItem) - } - - logs, sub, err := f.contract.WatchLogs(opts, "AccountCreation", creatorRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(FuturesAccountCreation) - if err := f.contract.UnpackLog(event, "AccountCreation", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseAccountCreation is a log parse operation binding the contract event 0x6da62924036c396387aa0340b6df622a60ea3f2dcd19bd4a7d77df13013f3043. -// -// Solidity: event AccountCreation(address indexed creator, bytes32 subAccountID, uint96 subAccountNonce) -func (f *FuturesFilterer) ParseAccountCreation(log types.Log) (*FuturesAccountCreation, error) { - event := new(FuturesAccountCreation) - if err := f.contract.UnpackLog(event, "AccountCreation", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// FuturesCancelIterator is returned from FilterFuturesCancel and is used to iterate over the raw logs and unpacked data for FuturesCancel events raised by the Futures contract. -type FuturesCancelIterator struct { - Event *FuturesCancel // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *FuturesCancelIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(FuturesCancel) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(FuturesCancel) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *FuturesCancelIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *FuturesCancelIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// FuturesCancel represents a FuturesCancel event raised by the Futures contract. -type FuturesCancel struct { - SubAccountID [32]byte - OrderHash [32]byte - MarketID [32]byte - BaseCurrency common.Address - ContractPrice *big.Int - QuantityFilled *big.Int - IsLong bool - Raw types.Log // Blockchain specific contextual infos -} - -// FilterFuturesCancel is a free log retrieval operation binding the contract event 0x7197f6513c22ccffd678f7d190c7c57116b046d6ea34e83c1ba7fd841f966ec4. -// -// Solidity: event FuturesCancel(bytes32 indexed subAccountID, bytes32 indexed orderHash, bytes32 indexed marketID, address baseCurrency, uint256 contractPrice, uint256 quantityFilled, bool isLong) -func (f *FuturesFilterer) FilterFuturesCancel(opts *bind.FilterOpts, subAccountID [][32]byte, orderHash [][32]byte, marketID [][32]byte) (*FuturesCancelIterator, error) { - - var subAccountIDRule []interface{} - for _, subAccountIDItem := range subAccountID { - subAccountIDRule = append(subAccountIDRule, subAccountIDItem) - } - var orderHashRule []interface{} - for _, orderHashItem := range orderHash { - orderHashRule = append(orderHashRule, orderHashItem) - } - var marketIDRule []interface{} - for _, marketIDItem := range marketID { - marketIDRule = append(marketIDRule, marketIDItem) - } - - logs, sub, err := f.contract.FilterLogs(opts, "FuturesCancel", subAccountIDRule, orderHashRule, marketIDRule) - if err != nil { - return nil, err - } - return &FuturesCancelIterator{contract: f.contract, event: "FuturesCancel", logs: logs, sub: sub}, nil -} - -// WatchFuturesCancel is a free log subscription operation binding the contract event 0x7197f6513c22ccffd678f7d190c7c57116b046d6ea34e83c1ba7fd841f966ec4. -// -// Solidity: event FuturesCancel(bytes32 indexed subAccountID, bytes32 indexed orderHash, bytes32 indexed marketID, address baseCurrency, uint256 contractPrice, uint256 quantityFilled, bool isLong) -func (f *FuturesFilterer) WatchFuturesCancel(opts *bind.WatchOpts, sink chan<- *FuturesCancel, subAccountID [][32]byte, orderHash [][32]byte, marketID [][32]byte) (event.Subscription, error) { - - var subAccountIDRule []interface{} - for _, subAccountIDItem := range subAccountID { - subAccountIDRule = append(subAccountIDRule, subAccountIDItem) - } - var orderHashRule []interface{} - for _, orderHashItem := range orderHash { - orderHashRule = append(orderHashRule, orderHashItem) - } - var marketIDRule []interface{} - for _, marketIDItem := range marketID { - marketIDRule = append(marketIDRule, marketIDItem) - } - - logs, sub, err := f.contract.WatchLogs(opts, "FuturesCancel", subAccountIDRule, orderHashRule, marketIDRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(FuturesCancel) - if err := f.contract.UnpackLog(event, "FuturesCancel", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseFuturesCancel is a log parse operation binding the contract event 0x7197f6513c22ccffd678f7d190c7c57116b046d6ea34e83c1ba7fd841f966ec4. -// -// Solidity: event FuturesCancel(bytes32 indexed subAccountID, bytes32 indexed orderHash, bytes32 indexed marketID, address baseCurrency, uint256 contractPrice, uint256 quantityFilled, bool isLong) -func (f *FuturesFilterer) ParseFuturesCancel(log types.Log) (*FuturesCancel, error) { - event := new(FuturesCancel) - if err := f.contract.UnpackLog(event, "FuturesCancel", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// FuturesMarketCreationIterator is returned from FilterFuturesMarketCreation and is used to iterate over the raw logs and unpacked data for FuturesMarketCreation events raised by the Futures contract. -type FuturesMarketCreationIterator struct { - Event *FuturesMarketCreation // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *FuturesMarketCreationIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(FuturesMarketCreation) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(FuturesMarketCreation) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *FuturesMarketCreationIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *FuturesMarketCreationIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// FuturesMarketCreation represents a FuturesMarketCreation event raised by the Futures contract. -type FuturesMarketCreation struct { - MarketID [32]byte - Ticker common.Hash - Oracle common.Address - BaseCurrency common.Address - MaintenanceMarginRatio *big.Int - InitialMarginRatio *big.Int - MakerTxFee *big.Int - TakerTxFee *big.Int - RelayerFeePercentage *big.Int - FundingInterval *big.Int - ExpirationTime *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterFuturesMarketCreation is a free log retrieval operation binding the contract event 0xec7604a06b6f1d53d9f93d29b6df434191db13fab896b33d7ac38c636a5923c2. -// -// Solidity: event FuturesMarketCreation(bytes32 indexed marketID, string indexed ticker, address indexed oracle, address baseCurrency, uint256 maintenanceMarginRatio, uint256 initialMarginRatio, uint256 makerTxFee, uint256 takerTxFee, uint256 relayerFeePercentage, uint256 fundingInterval, uint256 expirationTime) -func (f *FuturesFilterer) FilterFuturesMarketCreation(opts *bind.FilterOpts, marketID [][32]byte, ticker []string, oracle []common.Address) (*FuturesMarketCreationIterator, error) { - - var marketIDRule []interface{} - for _, marketIDItem := range marketID { - marketIDRule = append(marketIDRule, marketIDItem) - } - var tickerRule []interface{} - for _, tickerItem := range ticker { - tickerRule = append(tickerRule, tickerItem) - } - var oracleRule []interface{} - for _, oracleItem := range oracle { - oracleRule = append(oracleRule, oracleItem) - } - - logs, sub, err := f.contract.FilterLogs(opts, "FuturesMarketCreation", marketIDRule, tickerRule, oracleRule) - if err != nil { - return nil, err - } - return &FuturesMarketCreationIterator{contract: f.contract, event: "FuturesMarketCreation", logs: logs, sub: sub}, nil -} - -// WatchFuturesMarketCreation is a free log subscription operation binding the contract event 0xec7604a06b6f1d53d9f93d29b6df434191db13fab896b33d7ac38c636a5923c2. -// -// Solidity: event FuturesMarketCreation(bytes32 indexed marketID, string indexed ticker, address indexed oracle, address baseCurrency, uint256 maintenanceMarginRatio, uint256 initialMarginRatio, uint256 makerTxFee, uint256 takerTxFee, uint256 relayerFeePercentage, uint256 fundingInterval, uint256 expirationTime) -func (f *FuturesFilterer) WatchFuturesMarketCreation(opts *bind.WatchOpts, sink chan<- *FuturesMarketCreation, marketID [][32]byte, ticker []string, oracle []common.Address) (event.Subscription, error) { - - var marketIDRule []interface{} - for _, marketIDItem := range marketID { - marketIDRule = append(marketIDRule, marketIDItem) - } - var tickerRule []interface{} - for _, tickerItem := range ticker { - tickerRule = append(tickerRule, tickerItem) - } - var oracleRule []interface{} - for _, oracleItem := range oracle { - oracleRule = append(oracleRule, oracleItem) - } - - logs, sub, err := f.contract.WatchLogs(opts, "FuturesMarketCreation", marketIDRule, tickerRule, oracleRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(FuturesMarketCreation) - if err := f.contract.UnpackLog(event, "FuturesMarketCreation", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseFuturesMarketCreation is a log parse operation binding the contract event 0xec7604a06b6f1d53d9f93d29b6df434191db13fab896b33d7ac38c636a5923c2. -// -// Solidity: event FuturesMarketCreation(bytes32 indexed marketID, string indexed ticker, address indexed oracle, address baseCurrency, uint256 maintenanceMarginRatio, uint256 initialMarginRatio, uint256 makerTxFee, uint256 takerTxFee, uint256 relayerFeePercentage, uint256 fundingInterval, uint256 expirationTime) -func (f *FuturesFilterer) ParseFuturesMarketCreation(log types.Log) (*FuturesMarketCreation, error) { - event := new(FuturesMarketCreation) - if err := f.contract.UnpackLog(event, "FuturesMarketCreation", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// FuturesTradeIterator is returned from FilterFuturesTrade and is used to iterate over the raw logs and unpacked data for FuturesTrade events raised by the Futures contract. -type FuturesTradeIterator struct { - Event *FuturesTrade // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *FuturesTradeIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(FuturesTrade) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(FuturesTrade) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *FuturesTradeIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *FuturesTradeIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// FuturesTrade represents a FuturesTrade event raised by the Futures contract. -type FuturesTrade struct { - IsResultingPositionLong bool - PositionID *big.Int - MarketID [32]byte - SubAccountID [32]byte - ResultingMargin *big.Int - ResultingEntryPrice *big.Int - ResultingQuantity *big.Int - CumulativeFundingEntry *big.Int - IsTradeDirectionLong bool - OrderHash [32]byte - ExecutionPrice *big.Int - ExecutionQuantity *big.Int - TotalForOrderFilled *big.Int - TradeType uint8 - Raw types.Log // Blockchain specific contextual infos -} - -// FilterFuturesTrade is a free log retrieval operation binding the contract event 0x2ee27d89e8394df57c5c3e6c07c03c128cc28e35450ee92fcdb9990932ec564e. -// -// Solidity: event FuturesTrade(bool isResultingPositionLong, uint256 positionID, bytes32 indexed marketID, bytes32 indexed subAccountID, uint256 resultingMargin, uint256 resultingEntryPrice, uint256 resultingQuantity, int256 cumulativeFundingEntry, bool isTradeDirectionLong, bytes32 indexed orderHash, uint256 executionPrice, uint256 executionQuantity, uint256 totalForOrderFilled, uint8 tradeType) -func (f *FuturesFilterer) FilterFuturesTrade(opts *bind.FilterOpts, marketID [][32]byte, subAccountID [][32]byte, orderHash [][32]byte) (*FuturesTradeIterator, error) { - - var marketIDRule []interface{} - for _, marketIDItem := range marketID { - marketIDRule = append(marketIDRule, marketIDItem) - } - var subAccountIDRule []interface{} - for _, subAccountIDItem := range subAccountID { - subAccountIDRule = append(subAccountIDRule, subAccountIDItem) - } - - var orderHashRule []interface{} - for _, orderHashItem := range orderHash { - orderHashRule = append(orderHashRule, orderHashItem) - } - - logs, sub, err := f.contract.FilterLogs(opts, "FuturesTrade", marketIDRule, subAccountIDRule, orderHashRule) - if err != nil { - return nil, err - } - return &FuturesTradeIterator{contract: f.contract, event: "FuturesTrade", logs: logs, sub: sub}, nil -} - -// WatchFuturesTrade is a free log subscription operation binding the contract event 0x2ee27d89e8394df57c5c3e6c07c03c128cc28e35450ee92fcdb9990932ec564e. -// -// Solidity: event FuturesTrade(bool isResultingPositionLong, uint256 positionID, bytes32 indexed marketID, bytes32 indexed subAccountID, uint256 resultingMargin, uint256 resultingEntryPrice, uint256 resultingQuantity, int256 cumulativeFundingEntry, bool isTradeDirectionLong, bytes32 indexed orderHash, uint256 executionPrice, uint256 executionQuantity, uint256 totalForOrderFilled, uint8 tradeType) -func (f *FuturesFilterer) WatchFuturesTrade(opts *bind.WatchOpts, sink chan<- *FuturesTrade, marketID [][32]byte, subAccountID [][32]byte, orderHash [][32]byte) (event.Subscription, error) { - - var marketIDRule []interface{} - for _, marketIDItem := range marketID { - marketIDRule = append(marketIDRule, marketIDItem) - } - var subAccountIDRule []interface{} - for _, subAccountIDItem := range subAccountID { - subAccountIDRule = append(subAccountIDRule, subAccountIDItem) - } - - var orderHashRule []interface{} - for _, orderHashItem := range orderHash { - orderHashRule = append(orderHashRule, orderHashItem) - } - - logs, sub, err := f.contract.WatchLogs(opts, "FuturesTrade", marketIDRule, subAccountIDRule, orderHashRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(FuturesTrade) - if err := f.contract.UnpackLog(event, "FuturesTrade", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseFuturesTrade is a log parse operation binding the contract event 0x2ee27d89e8394df57c5c3e6c07c03c128cc28e35450ee92fcdb9990932ec564e. -// -// Solidity: event FuturesTrade(bool isResultingPositionLong, uint256 positionID, bytes32 indexed marketID, bytes32 indexed subAccountID, uint256 resultingMargin, uint256 resultingEntryPrice, uint256 resultingQuantity, int256 cumulativeFundingEntry, bool isTradeDirectionLong, bytes32 indexed orderHash, uint256 executionPrice, uint256 executionQuantity, uint256 totalForOrderFilled, uint8 tradeType) -func (f *FuturesFilterer) ParseFuturesTrade(log types.Log) (*FuturesTrade, error) { - event := new(FuturesTrade) - if err := f.contract.UnpackLog(event, "FuturesTrade", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// FuturesMarginChangedIterator is returned from FilterMarginChanged and is used to iterate over the raw logs and unpacked data for MarginChanged events raised by the Futures contract. -type FuturesMarginChangedIterator struct { - Event *FuturesMarginChanged // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *FuturesMarginChangedIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(FuturesMarginChanged) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(FuturesMarginChanged) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *FuturesMarginChangedIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *FuturesMarginChangedIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// FuturesMarginChanged represents a MarginChanged event raised by the Futures contract. -type FuturesMarginChanged struct { - PositionID *big.Int - ChangedMargin *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterMarginChanged is a free log retrieval operation binding the contract event 0x6bbd00a8b71e37b424550ee42f7d18af2790fc0a874cbd296c6705205b298d00. -// -// Solidity: event MarginChanged(uint256 indexed positionID, int256 changedMargin) -func (f *FuturesFilterer) FilterMarginChanged(opts *bind.FilterOpts, positionID []*big.Int) (*FuturesMarginChangedIterator, error) { - - var positionIDRule []interface{} - for _, positionIDItem := range positionID { - positionIDRule = append(positionIDRule, positionIDItem) - } - - logs, sub, err := f.contract.FilterLogs(opts, "MarginChanged", positionIDRule) - if err != nil { - return nil, err - } - return &FuturesMarginChangedIterator{contract: f.contract, event: "MarginChanged", logs: logs, sub: sub}, nil -} - -// WatchMarginChanged is a free log subscription operation binding the contract event 0x6bbd00a8b71e37b424550ee42f7d18af2790fc0a874cbd296c6705205b298d00. -// -// Solidity: event MarginChanged(uint256 indexed positionID, int256 changedMargin) -func (f *FuturesFilterer) WatchMarginChanged(opts *bind.WatchOpts, sink chan<- *FuturesMarginChanged, positionID []*big.Int) (event.Subscription, error) { - - var positionIDRule []interface{} - for _, positionIDItem := range positionID { - positionIDRule = append(positionIDRule, positionIDItem) - } - - logs, sub, err := f.contract.WatchLogs(opts, "MarginChanged", positionIDRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(FuturesMarginChanged) - if err := f.contract.UnpackLog(event, "MarginChanged", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseMarginChanged is a log parse operation binding the contract event 0x6bbd00a8b71e37b424550ee42f7d18af2790fc0a874cbd296c6705205b298d00. -// -// Solidity: event MarginChanged(uint256 indexed positionID, int256 changedMargin) -func (f *FuturesFilterer) ParseMarginChanged(log types.Log) (*FuturesMarginChanged, error) { - event := new(FuturesMarginChanged) - if err := f.contract.UnpackLog(event, "MarginChanged", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// FuturesOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the Futures contract. -type FuturesOwnershipTransferredIterator struct { - Event *FuturesOwnershipTransferred // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *FuturesOwnershipTransferredIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(FuturesOwnershipTransferred) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(FuturesOwnershipTransferred) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *FuturesOwnershipTransferredIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *FuturesOwnershipTransferredIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// FuturesOwnershipTransferred represents a OwnershipTransferred event raised by the Futures contract. -type FuturesOwnershipTransferred struct { - PreviousOwner common.Address - NewOwner common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. -// -// Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) -func (f *FuturesFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*FuturesOwnershipTransferredIterator, error) { - - var previousOwnerRule []interface{} - for _, previousOwnerItem := range previousOwner { - previousOwnerRule = append(previousOwnerRule, previousOwnerItem) - } - var newOwnerRule []interface{} - for _, newOwnerItem := range newOwner { - newOwnerRule = append(newOwnerRule, newOwnerItem) - } - - logs, sub, err := f.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) - if err != nil { - return nil, err - } - return &FuturesOwnershipTransferredIterator{contract: f.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil -} - -// WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. -// -// Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) -func (f *FuturesFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *FuturesOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { - - var previousOwnerRule []interface{} - for _, previousOwnerItem := range previousOwner { - previousOwnerRule = append(previousOwnerRule, previousOwnerItem) - } - var newOwnerRule []interface{} - for _, newOwnerItem := range newOwner { - newOwnerRule = append(newOwnerRule, newOwnerItem) - } - - logs, sub, err := f.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(FuturesOwnershipTransferred) - if err := f.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. -// -// Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) -func (f *FuturesFilterer) ParseOwnershipTransferred(log types.Log) (*FuturesOwnershipTransferred, error) { - event := new(FuturesOwnershipTransferred) - if err := f.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// FuturesPausedIterator is returned from FilterPaused and is used to iterate over the raw logs and unpacked data for Paused events raised by the Futures contract. -type FuturesPausedIterator struct { - Event *FuturesPaused // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *FuturesPausedIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(FuturesPaused) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(FuturesPaused) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *FuturesPausedIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *FuturesPausedIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// FuturesPaused represents a Paused event raised by the Futures contract. -type FuturesPaused struct { - Account common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterPaused is a free log retrieval operation binding the contract event 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258. -// -// Solidity: event Paused(address account) -func (f *FuturesFilterer) FilterPaused(opts *bind.FilterOpts) (*FuturesPausedIterator, error) { - - logs, sub, err := f.contract.FilterLogs(opts, "Paused") - if err != nil { - return nil, err - } - return &FuturesPausedIterator{contract: f.contract, event: "Paused", logs: logs, sub: sub}, nil -} - -// WatchPaused is a free log subscription operation binding the contract event 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258. -// -// Solidity: event Paused(address account) -func (f *FuturesFilterer) WatchPaused(opts *bind.WatchOpts, sink chan<- *FuturesPaused) (event.Subscription, error) { - - logs, sub, err := f.contract.WatchLogs(opts, "Paused") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(FuturesPaused) - if err := f.contract.UnpackLog(event, "Paused", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParsePaused is a log parse operation binding the contract event 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258. -// -// Solidity: event Paused(address account) -func (f *FuturesFilterer) ParsePaused(log types.Log) (*FuturesPaused, error) { - event := new(FuturesPaused) - if err := f.contract.UnpackLog(event, "Paused", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// FuturesPositionTransferIterator is returned from FilterPositionTransfer and is used to iterate over the raw logs and unpacked data for PositionTransfer events raised by the Futures contract. -type FuturesPositionTransferIterator struct { - Event *FuturesPositionTransfer // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *FuturesPositionTransferIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(FuturesPositionTransfer) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(FuturesPositionTransfer) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *FuturesPositionTransferIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *FuturesPositionTransferIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// FuturesPositionTransfer represents a PositionTransfer event raised by the Futures contract. -type FuturesPositionTransfer struct { - SenderPositionID *big.Int - ReceiverPositionID *big.Int - FromSubAccountID [32]byte - ToSubAccountID [32]byte - MarketID [32]byte - DirectionalStatus uint8 - SrcResultingPositionMargin *big.Int - SrcResultingPositionEntryPrice *big.Int - SrcResultingPositionQuantity *big.Int - SrcResultingPositionCumulativeFundingEntry *big.Int - DestResultingPositionMargin *big.Int - DestResultingPositionEntryPrice *big.Int - DestResultingPositionQuantity *big.Int - DestResultingPositionCumulativeFundingEntry *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterPositionTransfer is a free log retrieval operation binding the contract event 0xdea221d5d06ee8a5f9f089295d3292f2f89c054d223c4a3c452d4d90df510402. -// -// Solidity: event PositionTransfer(uint256 senderPositionID, uint256 receiverPositionID, bytes32 indexed fromSubAccountID, bytes32 indexed toSubAccountID, bytes32 marketID, uint8 directionalStatus, uint256 srcResultingPositionMargin, uint256 srcResultingPositionEntryPrice, uint256 srcResultingPositionQuantity, int256 srcResultingPositionCumulativeFundingEntry, uint256 destResultingPositionMargin, uint256 destResultingPositionEntryPrice, uint256 destResultingPositionQuantity, int256 destResultingPositionCumulativeFundingEntry) -func (f *FuturesFilterer) FilterPositionTransfer(opts *bind.FilterOpts, fromSubAccountID [][32]byte, toSubAccountID [][32]byte) (*FuturesPositionTransferIterator, error) { - - var fromSubAccountIDRule []interface{} - for _, fromSubAccountIDItem := range fromSubAccountID { - fromSubAccountIDRule = append(fromSubAccountIDRule, fromSubAccountIDItem) - } - var toSubAccountIDRule []interface{} - for _, toSubAccountIDItem := range toSubAccountID { - toSubAccountIDRule = append(toSubAccountIDRule, toSubAccountIDItem) - } - - logs, sub, err := f.contract.FilterLogs(opts, "PositionTransfer", fromSubAccountIDRule, toSubAccountIDRule) - if err != nil { - return nil, err - } - return &FuturesPositionTransferIterator{contract: f.contract, event: "PositionTransfer", logs: logs, sub: sub}, nil -} - -// WatchPositionTransfer is a free log subscription operation binding the contract event 0xdea221d5d06ee8a5f9f089295d3292f2f89c054d223c4a3c452d4d90df510402. -// -// Solidity: event PositionTransfer(uint256 senderPositionID, uint256 receiverPositionID, bytes32 indexed fromSubAccountID, bytes32 indexed toSubAccountID, bytes32 marketID, uint8 directionalStatus, uint256 srcResultingPositionMargin, uint256 srcResultingPositionEntryPrice, uint256 srcResultingPositionQuantity, int256 srcResultingPositionCumulativeFundingEntry, uint256 destResultingPositionMargin, uint256 destResultingPositionEntryPrice, uint256 destResultingPositionQuantity, int256 destResultingPositionCumulativeFundingEntry) -func (f *FuturesFilterer) WatchPositionTransfer(opts *bind.WatchOpts, sink chan<- *FuturesPositionTransfer, fromSubAccountID [][32]byte, toSubAccountID [][32]byte) (event.Subscription, error) { - - var fromSubAccountIDRule []interface{} - for _, fromSubAccountIDItem := range fromSubAccountID { - fromSubAccountIDRule = append(fromSubAccountIDRule, fromSubAccountIDItem) - } - var toSubAccountIDRule []interface{} - for _, toSubAccountIDItem := range toSubAccountID { - toSubAccountIDRule = append(toSubAccountIDRule, toSubAccountIDItem) - } - - logs, sub, err := f.contract.WatchLogs(opts, "PositionTransfer", fromSubAccountIDRule, toSubAccountIDRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(FuturesPositionTransfer) - if err := f.contract.UnpackLog(event, "PositionTransfer", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParsePositionTransfer is a log parse operation binding the contract event 0xdea221d5d06ee8a5f9f089295d3292f2f89c054d223c4a3c452d4d90df510402. -// -// Solidity: event PositionTransfer(uint256 senderPositionID, uint256 receiverPositionID, bytes32 indexed fromSubAccountID, bytes32 indexed toSubAccountID, bytes32 marketID, uint8 directionalStatus, uint256 srcResultingPositionMargin, uint256 srcResultingPositionEntryPrice, uint256 srcResultingPositionQuantity, int256 srcResultingPositionCumulativeFundingEntry, uint256 destResultingPositionMargin, uint256 destResultingPositionEntryPrice, uint256 destResultingPositionQuantity, int256 destResultingPositionCumulativeFundingEntry) -func (f *FuturesFilterer) ParsePositionTransfer(log types.Log) (*FuturesPositionTransfer, error) { - event := new(FuturesPositionTransfer) - if err := f.contract.UnpackLog(event, "PositionTransfer", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// FuturesSetFundingIterator is returned from FilterSetFunding and is used to iterate over the raw logs and unpacked data for SetFunding events raised by the Futures contract. -type FuturesSetFundingIterator struct { - Event *FuturesSetFunding // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *FuturesSetFundingIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(FuturesSetFunding) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(FuturesSetFunding) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *FuturesSetFundingIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *FuturesSetFundingIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// FuturesSetFunding represents a SetFunding event raised by the Futures contract. -type FuturesSetFunding struct { - MarketID [32]byte - FundingFee *big.Int - CumulativeFunding *big.Int - ExpiryOrNextFundingTimestamp *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterSetFunding is a free log retrieval operation binding the contract event 0x4f78e101b9f3e3fbc0cab373ac4f3bc7f68f50610c03844ec1293dd9cd78a35d. -// -// Solidity: event SetFunding(bytes32 indexed marketID, int256 fundingFee, int256 cumulativeFunding, uint256 expiryOrNextFundingTimestamp) -func (f *FuturesFilterer) FilterSetFunding(opts *bind.FilterOpts, marketID [][32]byte) (*FuturesSetFundingIterator, error) { - - var marketIDRule []interface{} - for _, marketIDItem := range marketID { - marketIDRule = append(marketIDRule, marketIDItem) - } - - logs, sub, err := f.contract.FilterLogs(opts, "SetFunding", marketIDRule) - if err != nil { - return nil, err - } - return &FuturesSetFundingIterator{contract: f.contract, event: "SetFunding", logs: logs, sub: sub}, nil -} - -// WatchSetFunding is a free log subscription operation binding the contract event 0x4f78e101b9f3e3fbc0cab373ac4f3bc7f68f50610c03844ec1293dd9cd78a35d. -// -// Solidity: event SetFunding(bytes32 indexed marketID, int256 fundingFee, int256 cumulativeFunding, uint256 expiryOrNextFundingTimestamp) -func (f *FuturesFilterer) WatchSetFunding(opts *bind.WatchOpts, sink chan<- *FuturesSetFunding, marketID [][32]byte) (event.Subscription, error) { - - var marketIDRule []interface{} - for _, marketIDItem := range marketID { - marketIDRule = append(marketIDRule, marketIDItem) - } - - logs, sub, err := f.contract.WatchLogs(opts, "SetFunding", marketIDRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(FuturesSetFunding) - if err := f.contract.UnpackLog(event, "SetFunding", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseSetFunding is a log parse operation binding the contract event 0x4f78e101b9f3e3fbc0cab373ac4f3bc7f68f50610c03844ec1293dd9cd78a35d. -// -// Solidity: event SetFunding(bytes32 indexed marketID, int256 fundingFee, int256 cumulativeFunding, uint256 expiryOrNextFundingTimestamp) -func (f *FuturesFilterer) ParseSetFunding(log types.Log) (*FuturesSetFunding, error) { - event := new(FuturesSetFunding) - if err := f.contract.UnpackLog(event, "SetFunding", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// FuturesSignatureValidatorApprovalIterator is returned from FilterSignatureValidatorApproval and is used to iterate over the raw logs and unpacked data for SignatureValidatorApproval events raised by the Futures contract. -type FuturesSignatureValidatorApprovalIterator struct { - Event *FuturesSignatureValidatorApproval // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *FuturesSignatureValidatorApprovalIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(FuturesSignatureValidatorApproval) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(FuturesSignatureValidatorApproval) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *FuturesSignatureValidatorApprovalIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *FuturesSignatureValidatorApprovalIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// FuturesSignatureValidatorApproval represents a SignatureValidatorApproval event raised by the Futures contract. -type FuturesSignatureValidatorApproval struct { - SignerAddress common.Address - ValidatorAddress common.Address - IsApproved bool - Raw types.Log // Blockchain specific contextual infos -} - -// FilterSignatureValidatorApproval is a free log retrieval operation binding the contract event 0xa8656e308026eeabce8f0bc18048433252318ab80ac79da0b3d3d8697dfba891. -// -// Solidity: event SignatureValidatorApproval(address indexed signerAddress, address indexed validatorAddress, bool isApproved) -func (f *FuturesFilterer) FilterSignatureValidatorApproval(opts *bind.FilterOpts, signerAddress []common.Address, validatorAddress []common.Address) (*FuturesSignatureValidatorApprovalIterator, error) { - - var signerAddressRule []interface{} - for _, signerAddressItem := range signerAddress { - signerAddressRule = append(signerAddressRule, signerAddressItem) - } - var validatorAddressRule []interface{} - for _, validatorAddressItem := range validatorAddress { - validatorAddressRule = append(validatorAddressRule, validatorAddressItem) - } - - logs, sub, err := f.contract.FilterLogs(opts, "SignatureValidatorApproval", signerAddressRule, validatorAddressRule) - if err != nil { - return nil, err - } - return &FuturesSignatureValidatorApprovalIterator{contract: f.contract, event: "SignatureValidatorApproval", logs: logs, sub: sub}, nil -} - -// WatchSignatureValidatorApproval is a free log subscription operation binding the contract event 0xa8656e308026eeabce8f0bc18048433252318ab80ac79da0b3d3d8697dfba891. -// -// Solidity: event SignatureValidatorApproval(address indexed signerAddress, address indexed validatorAddress, bool isApproved) -func (f *FuturesFilterer) WatchSignatureValidatorApproval(opts *bind.WatchOpts, sink chan<- *FuturesSignatureValidatorApproval, signerAddress []common.Address, validatorAddress []common.Address) (event.Subscription, error) { - - var signerAddressRule []interface{} - for _, signerAddressItem := range signerAddress { - signerAddressRule = append(signerAddressRule, signerAddressItem) - } - var validatorAddressRule []interface{} - for _, validatorAddressItem := range validatorAddress { - validatorAddressRule = append(validatorAddressRule, validatorAddressItem) - } - - logs, sub, err := f.contract.WatchLogs(opts, "SignatureValidatorApproval", signerAddressRule, validatorAddressRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(FuturesSignatureValidatorApproval) - if err := f.contract.UnpackLog(event, "SignatureValidatorApproval", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseSignatureValidatorApproval is a log parse operation binding the contract event 0xa8656e308026eeabce8f0bc18048433252318ab80ac79da0b3d3d8697dfba891. -// -// Solidity: event SignatureValidatorApproval(address indexed signerAddress, address indexed validatorAddress, bool isApproved) -func (f *FuturesFilterer) ParseSignatureValidatorApproval(log types.Log) (*FuturesSignatureValidatorApproval, error) { - event := new(FuturesSignatureValidatorApproval) - if err := f.contract.UnpackLog(event, "SignatureValidatorApproval", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// FuturesSpotMarketCreationIterator is returned from FilterSpotMarketCreation and is used to iterate over the raw logs and unpacked data for SpotMarketCreation events raised by the Futures contract. -type FuturesSpotMarketCreationIterator struct { - Event *FuturesSpotMarketCreation // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *FuturesSpotMarketCreationIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(FuturesSpotMarketCreation) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(FuturesSpotMarketCreation) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *FuturesSpotMarketCreationIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *FuturesSpotMarketCreationIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// FuturesSpotMarketCreation represents a SpotMarketCreation event raised by the Futures contract. -type FuturesSpotMarketCreation struct { - MarketID [32]byte - Ticker common.Hash - BaseToken common.Address - QuoteToken common.Address - MakerTxFee *big.Int - TakerTxFee *big.Int - RelayerFeePercentage *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterSpotMarketCreation is a free log retrieval operation binding the contract event 0x36e5492cb554023c13d9df48b0fa6b166ccd07ea459dd0098d89052bf0775f7a. -// -// Solidity: event SpotMarketCreation(bytes32 indexed marketID, string indexed ticker, address baseToken, address quoteToken, uint256 makerTxFee, uint256 takerTxFee, uint256 relayerFeePercentage) -func (f *FuturesFilterer) FilterSpotMarketCreation(opts *bind.FilterOpts, marketID [][32]byte, ticker []string) (*FuturesSpotMarketCreationIterator, error) { - - var marketIDRule []interface{} - for _, marketIDItem := range marketID { - marketIDRule = append(marketIDRule, marketIDItem) - } - var tickerRule []interface{} - for _, tickerItem := range ticker { - tickerRule = append(tickerRule, tickerItem) - } - - logs, sub, err := f.contract.FilterLogs(opts, "SpotMarketCreation", marketIDRule, tickerRule) - if err != nil { - return nil, err - } - return &FuturesSpotMarketCreationIterator{contract: f.contract, event: "SpotMarketCreation", logs: logs, sub: sub}, nil -} - -// WatchSpotMarketCreation is a free log subscription operation binding the contract event 0x36e5492cb554023c13d9df48b0fa6b166ccd07ea459dd0098d89052bf0775f7a. -// -// Solidity: event SpotMarketCreation(bytes32 indexed marketID, string indexed ticker, address baseToken, address quoteToken, uint256 makerTxFee, uint256 takerTxFee, uint256 relayerFeePercentage) -func (f *FuturesFilterer) WatchSpotMarketCreation(opts *bind.WatchOpts, sink chan<- *FuturesSpotMarketCreation, marketID [][32]byte, ticker []string) (event.Subscription, error) { - - var marketIDRule []interface{} - for _, marketIDItem := range marketID { - marketIDRule = append(marketIDRule, marketIDItem) - } - var tickerRule []interface{} - for _, tickerItem := range ticker { - tickerRule = append(tickerRule, tickerItem) - } - - logs, sub, err := f.contract.WatchLogs(opts, "SpotMarketCreation", marketIDRule, tickerRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(FuturesSpotMarketCreation) - if err := f.contract.UnpackLog(event, "SpotMarketCreation", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseSpotMarketCreation is a log parse operation binding the contract event 0x36e5492cb554023c13d9df48b0fa6b166ccd07ea459dd0098d89052bf0775f7a. -// -// Solidity: event SpotMarketCreation(bytes32 indexed marketID, string indexed ticker, address baseToken, address quoteToken, uint256 makerTxFee, uint256 takerTxFee, uint256 relayerFeePercentage) -func (f *FuturesFilterer) ParseSpotMarketCreation(log types.Log) (*FuturesSpotMarketCreation, error) { - event := new(FuturesSpotMarketCreation) - if err := f.contract.UnpackLog(event, "SpotMarketCreation", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// FuturesSpotTradeIterator is returned from FilterSpotTrade and is used to iterate over the raw logs and unpacked data for SpotTrade events raised by the Futures contract. -type FuturesSpotTradeIterator struct { - Event *FuturesSpotTrade // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *FuturesSpotTradeIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(FuturesSpotTrade) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(FuturesSpotTrade) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *FuturesSpotTradeIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *FuturesSpotTradeIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// FuturesSpotTrade represents a SpotTrade event raised by the Futures contract. -type FuturesSpotTrade struct { - MarketID [32]byte - SubAccountID [32]byte - OrderHash [32]byte - SentAsset common.Address - GainedAsset common.Address - SentAmount *big.Int - GainedAmount *big.Int - CurrentSentAssetDeposits *big.Int - CurrentGainedAssetDeposits *big.Int - TotalForOrderFilled *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterSpotTrade is a free log retrieval operation binding the contract event 0xf0283823dfd5d2cf09704eb9d26d1f5098a512c6d7a7b4a74ca0927230c27699. -// -// Solidity: event SpotTrade(bytes32 indexed marketID, bytes32 indexed subAccountID, bytes32 indexed orderHash, address sentAsset, address gainedAsset, uint256 sentAmount, uint256 gainedAmount, uint256 currentSentAssetDeposits, uint256 currentGainedAssetDeposits, uint256 totalForOrderFilled) -func (f *FuturesFilterer) FilterSpotTrade(opts *bind.FilterOpts, marketID [][32]byte, subAccountID [][32]byte, orderHash [][32]byte) (*FuturesSpotTradeIterator, error) { - - var marketIDRule []interface{} - for _, marketIDItem := range marketID { - marketIDRule = append(marketIDRule, marketIDItem) - } - var subAccountIDRule []interface{} - for _, subAccountIDItem := range subAccountID { - subAccountIDRule = append(subAccountIDRule, subAccountIDItem) - } - var orderHashRule []interface{} - for _, orderHashItem := range orderHash { - orderHashRule = append(orderHashRule, orderHashItem) - } - - logs, sub, err := f.contract.FilterLogs(opts, "SpotTrade", marketIDRule, subAccountIDRule, orderHashRule) - if err != nil { - return nil, err - } - return &FuturesSpotTradeIterator{contract: f.contract, event: "SpotTrade", logs: logs, sub: sub}, nil -} - -// WatchSpotTrade is a free log subscription operation binding the contract event 0xf0283823dfd5d2cf09704eb9d26d1f5098a512c6d7a7b4a74ca0927230c27699. -// -// Solidity: event SpotTrade(bytes32 indexed marketID, bytes32 indexed subAccountID, bytes32 indexed orderHash, address sentAsset, address gainedAsset, uint256 sentAmount, uint256 gainedAmount, uint256 currentSentAssetDeposits, uint256 currentGainedAssetDeposits, uint256 totalForOrderFilled) -func (f *FuturesFilterer) WatchSpotTrade(opts *bind.WatchOpts, sink chan<- *FuturesSpotTrade, marketID [][32]byte, subAccountID [][32]byte, orderHash [][32]byte) (event.Subscription, error) { - - var marketIDRule []interface{} - for _, marketIDItem := range marketID { - marketIDRule = append(marketIDRule, marketIDItem) - } - var subAccountIDRule []interface{} - for _, subAccountIDItem := range subAccountID { - subAccountIDRule = append(subAccountIDRule, subAccountIDItem) - } - var orderHashRule []interface{} - for _, orderHashItem := range orderHash { - orderHashRule = append(orderHashRule, orderHashItem) - } - - logs, sub, err := f.contract.WatchLogs(opts, "SpotTrade", marketIDRule, subAccountIDRule, orderHashRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(FuturesSpotTrade) - if err := f.contract.UnpackLog(event, "SpotTrade", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseSpotTrade is a log parse operation binding the contract event 0xf0283823dfd5d2cf09704eb9d26d1f5098a512c6d7a7b4a74ca0927230c27699. -// -// Solidity: event SpotTrade(bytes32 indexed marketID, bytes32 indexed subAccountID, bytes32 indexed orderHash, address sentAsset, address gainedAsset, uint256 sentAmount, uint256 gainedAmount, uint256 currentSentAssetDeposits, uint256 currentGainedAssetDeposits, uint256 totalForOrderFilled) -func (f *FuturesFilterer) ParseSpotTrade(log types.Log) (*FuturesSpotTrade, error) { - event := new(FuturesSpotTrade) - if err := f.contract.UnpackLog(event, "SpotTrade", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// FuturesSubaccountDepositsChangeIterator is returned from FilterSubaccountDepositsChange and is used to iterate over the raw logs and unpacked data for SubaccountDepositsChange events raised by the Futures contract. -type FuturesSubaccountDepositsChangeIterator struct { - Event *FuturesSubaccountDepositsChange // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *FuturesSubaccountDepositsChangeIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(FuturesSubaccountDepositsChange) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(FuturesSubaccountDepositsChange) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *FuturesSubaccountDepositsChangeIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *FuturesSubaccountDepositsChangeIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// FuturesSubaccountDepositsChange represents a SubaccountDepositsChange event raised by the Futures contract. -type FuturesSubaccountDepositsChange struct { - DepositChangeType uint8 - SubAccountID [32]byte - BaseCurrency common.Address - ChangeAmount *big.Int - CurrentAmount *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterSubaccountDepositsChange is a free log retrieval operation binding the contract event 0xdf3bc6fae0ce8484ef20d7d7c446de8b6aca50d03505e4ca06629917d8d1bde6. -// -// Solidity: event SubaccountDepositsChange(uint8 indexed depositChangeType, bytes32 indexed subAccountID, address indexed baseCurrency, int256 changeAmount, uint256 currentAmount) -func (f *FuturesFilterer) FilterSubaccountDepositsChange(opts *bind.FilterOpts, depositChangeType []uint8, subAccountID [][32]byte, baseCurrency []common.Address) (*FuturesSubaccountDepositsChangeIterator, error) { - - var depositChangeTypeRule []interface{} - for _, depositChangeTypeItem := range depositChangeType { - depositChangeTypeRule = append(depositChangeTypeRule, depositChangeTypeItem) - } - var subAccountIDRule []interface{} - for _, subAccountIDItem := range subAccountID { - subAccountIDRule = append(subAccountIDRule, subAccountIDItem) - } - var baseCurrencyRule []interface{} - for _, baseCurrencyItem := range baseCurrency { - baseCurrencyRule = append(baseCurrencyRule, baseCurrencyItem) - } - - logs, sub, err := f.contract.FilterLogs(opts, "SubaccountDepositsChange", depositChangeTypeRule, subAccountIDRule, baseCurrencyRule) - if err != nil { - return nil, err - } - return &FuturesSubaccountDepositsChangeIterator{contract: f.contract, event: "SubaccountDepositsChange", logs: logs, sub: sub}, nil -} - -// WatchSubaccountDepositsChange is a free log subscription operation binding the contract event 0xdf3bc6fae0ce8484ef20d7d7c446de8b6aca50d03505e4ca06629917d8d1bde6. -// -// Solidity: event SubaccountDepositsChange(uint8 indexed depositChangeType, bytes32 indexed subAccountID, address indexed baseCurrency, int256 changeAmount, uint256 currentAmount) -func (f *FuturesFilterer) WatchSubaccountDepositsChange(opts *bind.WatchOpts, sink chan<- *FuturesSubaccountDepositsChange, depositChangeType []uint8, subAccountID [][32]byte, baseCurrency []common.Address) (event.Subscription, error) { - - var depositChangeTypeRule []interface{} - for _, depositChangeTypeItem := range depositChangeType { - depositChangeTypeRule = append(depositChangeTypeRule, depositChangeTypeItem) - } - var subAccountIDRule []interface{} - for _, subAccountIDItem := range subAccountID { - subAccountIDRule = append(subAccountIDRule, subAccountIDItem) - } - var baseCurrencyRule []interface{} - for _, baseCurrencyItem := range baseCurrency { - baseCurrencyRule = append(baseCurrencyRule, baseCurrencyItem) - } - - logs, sub, err := f.contract.WatchLogs(opts, "SubaccountDepositsChange", depositChangeTypeRule, subAccountIDRule, baseCurrencyRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(FuturesSubaccountDepositsChange) - if err := f.contract.UnpackLog(event, "SubaccountDepositsChange", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseSubaccountDepositsChange is a log parse operation binding the contract event 0xdf3bc6fae0ce8484ef20d7d7c446de8b6aca50d03505e4ca06629917d8d1bde6. -// -// Solidity: event SubaccountDepositsChange(uint8 indexed depositChangeType, bytes32 indexed subAccountID, address indexed baseCurrency, int256 changeAmount, uint256 currentAmount) -func (f *FuturesFilterer) ParseSubaccountDepositsChange(log types.Log) (*FuturesSubaccountDepositsChange, error) { - event := new(FuturesSubaccountDepositsChange) - if err := f.contract.UnpackLog(event, "SubaccountDepositsChange", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// FuturesTransactionExecutionIterator is returned from FilterTransactionExecution and is used to iterate over the raw logs and unpacked data for TransactionExecution events raised by the Futures contract. -type FuturesTransactionExecutionIterator struct { - Event *FuturesTransactionExecution // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *FuturesTransactionExecutionIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(FuturesTransactionExecution) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(FuturesTransactionExecution) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *FuturesTransactionExecutionIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *FuturesTransactionExecutionIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// FuturesTransactionExecution represents a TransactionExecution event raised by the Futures contract. -type FuturesTransactionExecution struct { - TransactionHash [32]byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterTransactionExecution is a free log retrieval operation binding the contract event 0xa4a7329f1dd821363067e07d359e347b4af9b1efe4b6cccf13240228af3c800d. -// -// Solidity: event TransactionExecution(bytes32 indexed transactionHash) -func (f *FuturesFilterer) FilterTransactionExecution(opts *bind.FilterOpts, transactionHash [][32]byte) (*FuturesTransactionExecutionIterator, error) { - - var transactionHashRule []interface{} - for _, transactionHashItem := range transactionHash { - transactionHashRule = append(transactionHashRule, transactionHashItem) - } - - logs, sub, err := f.contract.FilterLogs(opts, "TransactionExecution", transactionHashRule) - if err != nil { - return nil, err - } - return &FuturesTransactionExecutionIterator{contract: f.contract, event: "TransactionExecution", logs: logs, sub: sub}, nil -} - -// WatchTransactionExecution is a free log subscription operation binding the contract event 0xa4a7329f1dd821363067e07d359e347b4af9b1efe4b6cccf13240228af3c800d. -// -// Solidity: event TransactionExecution(bytes32 indexed transactionHash) -func (f *FuturesFilterer) WatchTransactionExecution(opts *bind.WatchOpts, sink chan<- *FuturesTransactionExecution, transactionHash [][32]byte) (event.Subscription, error) { - - var transactionHashRule []interface{} - for _, transactionHashItem := range transactionHash { - transactionHashRule = append(transactionHashRule, transactionHashItem) - } - - logs, sub, err := f.contract.WatchLogs(opts, "TransactionExecution", transactionHashRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(FuturesTransactionExecution) - if err := f.contract.UnpackLog(event, "TransactionExecution", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseTransactionExecution is a log parse operation binding the contract event 0xa4a7329f1dd821363067e07d359e347b4af9b1efe4b6cccf13240228af3c800d. -// -// Solidity: event TransactionExecution(bytes32 indexed transactionHash) -func (f *FuturesFilterer) ParseTransactionExecution(log types.Log) (*FuturesTransactionExecution, error) { - event := new(FuturesTransactionExecution) - if err := f.contract.UnpackLog(event, "TransactionExecution", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// FuturesUnpausedIterator is returned from FilterUnpaused and is used to iterate over the raw logs and unpacked data for Unpaused events raised by the Futures contract. -type FuturesUnpausedIterator struct { - Event *FuturesUnpaused // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *FuturesUnpausedIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(FuturesUnpaused) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(FuturesUnpaused) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *FuturesUnpausedIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *FuturesUnpausedIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// FuturesUnpaused represents a Unpaused event raised by the Futures contract. -type FuturesUnpaused struct { - Account common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterUnpaused is a free log retrieval operation binding the contract event 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa. -// -// Solidity: event Unpaused(address account) -func (f *FuturesFilterer) FilterUnpaused(opts *bind.FilterOpts) (*FuturesUnpausedIterator, error) { - - logs, sub, err := f.contract.FilterLogs(opts, "Unpaused") - if err != nil { - return nil, err - } - return &FuturesUnpausedIterator{contract: f.contract, event: "Unpaused", logs: logs, sub: sub}, nil -} - -// WatchUnpaused is a free log subscription operation binding the contract event 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa. -// -// Solidity: event Unpaused(address account) -func (f *FuturesFilterer) WatchUnpaused(opts *bind.WatchOpts, sink chan<- *FuturesUnpaused) (event.Subscription, error) { - - logs, sub, err := f.contract.WatchLogs(opts, "Unpaused") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(FuturesUnpaused) - if err := f.contract.UnpackLog(event, "Unpaused", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseUnpaused is a log parse operation binding the contract event 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa. -// -// Solidity: event Unpaused(address account) -func (f *FuturesFilterer) ParseUnpaused(log types.Log) (*FuturesUnpaused, error) { - event := new(FuturesUnpaused) - if err := f.contract.UnpackLog(event, "Unpaused", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// FuturesUpdateValuesForVWAPIterator is returned from FilterUpdateValuesForVWAP and is used to iterate over the raw logs and unpacked data for UpdateValuesForVWAP events raised by the Futures contract. -type FuturesUpdateValuesForVWAPIterator struct { - Event *FuturesUpdateValuesForVWAP // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *FuturesUpdateValuesForVWAPIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(FuturesUpdateValuesForVWAP) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(FuturesUpdateValuesForVWAP) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *FuturesUpdateValuesForVWAPIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *FuturesUpdateValuesForVWAPIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// FuturesUpdateValuesForVWAP represents a UpdateValuesForVWAP event raised by the Futures contract. -type FuturesUpdateValuesForVWAP struct { - MarketID [32]byte - MostRecentEpochVolume *big.Int - MostRecentEpochQuantity *big.Int - MostRecentEpochScaledContractIndexDiff *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterUpdateValuesForVWAP is a free log retrieval operation binding the contract event 0x88459a5f4fa75a54716457659c83594066f178d0df407b402d59c5ed0d643351. -// -// Solidity: event UpdateValuesForVWAP(bytes32 indexed marketID, uint256 mostRecentEpochVolume, uint256 mostRecentEpochQuantity, int256 mostRecentEpochScaledContractIndexDiff) -func (f *FuturesFilterer) FilterUpdateValuesForVWAP(opts *bind.FilterOpts, marketID [][32]byte) (*FuturesUpdateValuesForVWAPIterator, error) { - - var marketIDRule []interface{} - for _, marketIDItem := range marketID { - marketIDRule = append(marketIDRule, marketIDItem) - } - - logs, sub, err := f.contract.FilterLogs(opts, "UpdateValuesForVWAP", marketIDRule) - if err != nil { - return nil, err - } - return &FuturesUpdateValuesForVWAPIterator{contract: f.contract, event: "UpdateValuesForVWAP", logs: logs, sub: sub}, nil -} - -// WatchUpdateValuesForVWAP is a free log subscription operation binding the contract event 0x88459a5f4fa75a54716457659c83594066f178d0df407b402d59c5ed0d643351. -// -// Solidity: event UpdateValuesForVWAP(bytes32 indexed marketID, uint256 mostRecentEpochVolume, uint256 mostRecentEpochQuantity, int256 mostRecentEpochScaledContractIndexDiff) -func (f *FuturesFilterer) WatchUpdateValuesForVWAP(opts *bind.WatchOpts, sink chan<- *FuturesUpdateValuesForVWAP, marketID [][32]byte) (event.Subscription, error) { - - var marketIDRule []interface{} - for _, marketIDItem := range marketID { - marketIDRule = append(marketIDRule, marketIDItem) - } - - logs, sub, err := f.contract.WatchLogs(opts, "UpdateValuesForVWAP", marketIDRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(FuturesUpdateValuesForVWAP) - if err := f.contract.UnpackLog(event, "UpdateValuesForVWAP", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseUpdateValuesForVWAP is a log parse operation binding the contract event 0x88459a5f4fa75a54716457659c83594066f178d0df407b402d59c5ed0d643351. -// -// Solidity: event UpdateValuesForVWAP(bytes32 indexed marketID, uint256 mostRecentEpochVolume, uint256 mostRecentEpochQuantity, int256 mostRecentEpochScaledContractIndexDiff) -func (f *FuturesFilterer) ParseUpdateValuesForVWAP(log types.Log) (*FuturesUpdateValuesForVWAP, error) { - event := new(FuturesUpdateValuesForVWAP) - if err := f.contract.UnpackLog(event, "UpdateValuesForVWAP", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} diff --git a/wrappers/hub.go b/wrappers/hub.go deleted file mode 100644 index e8abd702..00000000 --- a/wrappers/hub.go +++ /dev/null @@ -1,1056 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package wrappers - -import ( - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription -) - -// HubABI is the input ABI used to generate the binding from. -const HubABI = "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"iERC20TokenContract\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"recipientCosmosAddress\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"iERC20TokenContract\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"fromCosmosAddress\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"iERC20TokenContract\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"proposedCosmosCoin\",\"type\":\"string\"}],\"name\":\"TemplateCreation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"iERC20TokenContract\",\"type\":\"address\"}],\"name\":\"UnregisterChild\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"iERC20TokenContract\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"recipientCosmosAddress\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"childMapping\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"constant\":true},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"iERC20TokenContract\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"fromCosmosAddress\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"constant\":true},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"proposedCosmosCoin\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"spawnTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"child\",\"type\":\"address\"}],\"name\":\"unregisterChild\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" - -// Hub is an auto generated Go binding around an Ethereum contract. -type Hub struct { - HubCaller // Read-only binding to the contract - HubTransactor // Write-only binding to the contract - HubFilterer // Log filterer for contract events -} - -// HubCaller is an auto generated read-only Go binding around an Ethereum contract. -type HubCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// HubTransactor is an auto generated write-only Go binding around an Ethereum contract. -type HubTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// HubFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type HubFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// HubSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type HubSession struct { - Contract *Hub // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// HubCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type HubCallerSession struct { - Contract *HubCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// HubTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type HubTransactorSession struct { - Contract *HubTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// HubRaw is an auto generated low-level Go binding around an Ethereum contract. -type HubRaw struct { - Contract *Hub // Generic contract binding to access the raw methods on -} - -// HubCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type HubCallerRaw struct { - Contract *HubCaller // Generic read-only contract binding to access the raw methods on -} - -// HubTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type HubTransactorRaw struct { - Contract *HubTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewHub creates a new instance of Hub, bound to a specific deployed contract. -func NewHub(address common.Address, backend bind.ContractBackend) (*Hub, error) { - contract, err := bindHub(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &Hub{HubCaller: HubCaller{contract: contract}, HubTransactor: HubTransactor{contract: contract}, HubFilterer: HubFilterer{contract: contract}}, nil -} - -// NewHubCaller creates a new read-only instance of Hub, bound to a specific deployed contract. -func NewHubCaller(address common.Address, caller bind.ContractCaller) (*HubCaller, error) { - contract, err := bindHub(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &HubCaller{contract: contract}, nil -} - -// NewHubTransactor creates a new write-only instance of Hub, bound to a specific deployed contract. -func NewHubTransactor(address common.Address, transactor bind.ContractTransactor) (*HubTransactor, error) { - contract, err := bindHub(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &HubTransactor{contract: contract}, nil -} - -// NewHubFilterer creates a new log filterer instance of Hub, bound to a specific deployed contract. -func NewHubFilterer(address common.Address, filterer bind.ContractFilterer) (*HubFilterer, error) { - contract, err := bindHub(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &HubFilterer{contract: contract}, nil -} - -// bindHub binds a generic wrapper to an already deployed contract. -func bindHub(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := abi.JSON(strings.NewReader(HubABI)) - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (f *HubRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return f.Contract.HubCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (f *HubRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return f.Contract.HubTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (f *HubRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return f.Contract.HubTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (f *HubCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return f.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (f *HubTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return f.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (f *HubTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return f.Contract.contract.Transact(opts, method, params...) -} - -// ChildMapping is a free data retrieval call binding the contract method 0xea18b417. -// -// Solidity: function childMapping(address ) view returns(bool) -func (f *HubCaller) ChildMapping(opts *bind.CallOpts, arg0 common.Address) (bool, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "childMapping", arg0) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// ChildMapping is a free data retrieval call binding the contract method 0xea18b417. -// -// Solidity: function childMapping(address ) view returns(bool) -func (f *HubSession) ChildMapping(arg0 common.Address) (bool, error) { - return f.Contract.ChildMapping(&f.CallOpts, arg0) -} - -// ChildMapping is a free data retrieval call binding the contract method 0xea18b417. -// -// Solidity: function childMapping(address ) view returns(bool) -func (f *HubCallerSession) ChildMapping(arg0 common.Address) (bool, error) { - return f.Contract.ChildMapping(&f.CallOpts, arg0) -} - -// Owner is a free data retrieval call binding the contract method 0x8da5cb5b. -// -// Solidity: function owner() view returns(address) -func (f *HubCaller) Owner(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "owner") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// Owner is a free data retrieval call binding the contract method 0x8da5cb5b. -// -// Solidity: function owner() view returns(address) -func (f *HubSession) Owner() (common.Address, error) { - return f.Contract.Owner(&f.CallOpts) -} - -// Owner is a free data retrieval call binding the contract method 0x8da5cb5b. -// -// Solidity: function owner() view returns(address) -func (f *HubCallerSession) Owner() (common.Address, error) { - return f.Contract.Owner(&f.CallOpts) -} - -// Burn is a paid mutator transaction binding the contract method 0xc45b71de. -// -// Solidity: function burn(address iERC20TokenContract, string recipientCosmosAddress, uint256 amount) returns() -func (f *HubTransactor) Burn(opts *bind.TransactOpts, iERC20TokenContract common.Address, recipientCosmosAddress string, amount *big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "burn", iERC20TokenContract, recipientCosmosAddress, amount) -} - -// Burn is a paid mutator transaction binding the contract method 0xc45b71de. -// -// Solidity: function burn(address iERC20TokenContract, string recipientCosmosAddress, uint256 amount) returns() -func (f *HubSession) Burn(iERC20TokenContract common.Address, recipientCosmosAddress string, amount *big.Int) (*types.Transaction, error) { - return f.Contract.Burn(&f.TransactOpts, iERC20TokenContract, recipientCosmosAddress, amount) -} - -// Burn is a paid mutator transaction binding the contract method 0xc45b71de. -// -// Solidity: function burn(address iERC20TokenContract, string recipientCosmosAddress, uint256 amount) returns() -func (f *HubTransactorSession) Burn(iERC20TokenContract common.Address, recipientCosmosAddress string, amount *big.Int) (*types.Transaction, error) { - return f.Contract.Burn(&f.TransactOpts, iERC20TokenContract, recipientCosmosAddress, amount) -} - -// Mint is a paid mutator transaction binding the contract method 0xda14cbbc. -// -// Solidity: function mint(address iERC20TokenContract, string fromCosmosAddress, address recipient, uint256 amount) returns() -func (f *HubTransactor) Mint(opts *bind.TransactOpts, iERC20TokenContract common.Address, fromCosmosAddress string, recipient common.Address, amount *big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "mint", iERC20TokenContract, fromCosmosAddress, recipient, amount) -} - -// Mint is a paid mutator transaction binding the contract method 0xda14cbbc. -// -// Solidity: function mint(address iERC20TokenContract, string fromCosmosAddress, address recipient, uint256 amount) returns() -func (f *HubSession) Mint(iERC20TokenContract common.Address, fromCosmosAddress string, recipient common.Address, amount *big.Int) (*types.Transaction, error) { - return f.Contract.Mint(&f.TransactOpts, iERC20TokenContract, fromCosmosAddress, recipient, amount) -} - -// Mint is a paid mutator transaction binding the contract method 0xda14cbbc. -// -// Solidity: function mint(address iERC20TokenContract, string fromCosmosAddress, address recipient, uint256 amount) returns() -func (f *HubTransactorSession) Mint(iERC20TokenContract common.Address, fromCosmosAddress string, recipient common.Address, amount *big.Int) (*types.Transaction, error) { - return f.Contract.Mint(&f.TransactOpts, iERC20TokenContract, fromCosmosAddress, recipient, amount) -} - -// RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. -// -// Solidity: function renounceOwnership() returns() -func (f *HubTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { - return f.contract.Transact(opts, "renounceOwnership") -} - -// RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. -// -// Solidity: function renounceOwnership() returns() -func (f *HubSession) RenounceOwnership() (*types.Transaction, error) { - return f.Contract.RenounceOwnership(&f.TransactOpts) -} - -// RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. -// -// Solidity: function renounceOwnership() returns() -func (f *HubTransactorSession) RenounceOwnership() (*types.Transaction, error) { - return f.Contract.RenounceOwnership(&f.TransactOpts) -} - -// SpawnTemplate is a paid mutator transaction binding the contract method 0xef688fb9. -// -// Solidity: function spawnTemplate(string proposedCosmosCoin, string name, string symbol, uint256 decimals) returns() -func (f *HubTransactor) SpawnTemplate(opts *bind.TransactOpts, proposedCosmosCoin string, name string, symbol string, decimals *big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "spawnTemplate", proposedCosmosCoin, name, symbol, decimals) -} - -// SpawnTemplate is a paid mutator transaction binding the contract method 0xef688fb9. -// -// Solidity: function spawnTemplate(string proposedCosmosCoin, string name, string symbol, uint256 decimals) returns() -func (f *HubSession) SpawnTemplate(proposedCosmosCoin string, name string, symbol string, decimals *big.Int) (*types.Transaction, error) { - return f.Contract.SpawnTemplate(&f.TransactOpts, proposedCosmosCoin, name, symbol, decimals) -} - -// SpawnTemplate is a paid mutator transaction binding the contract method 0xef688fb9. -// -// Solidity: function spawnTemplate(string proposedCosmosCoin, string name, string symbol, uint256 decimals) returns() -func (f *HubTransactorSession) SpawnTemplate(proposedCosmosCoin string, name string, symbol string, decimals *big.Int) (*types.Transaction, error) { - return f.Contract.SpawnTemplate(&f.TransactOpts, proposedCosmosCoin, name, symbol, decimals) -} - -// TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. -// -// Solidity: function transferOwnership(address newOwner) returns() -func (f *HubTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { - return f.contract.Transact(opts, "transferOwnership", newOwner) -} - -// TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. -// -// Solidity: function transferOwnership(address newOwner) returns() -func (f *HubSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { - return f.Contract.TransferOwnership(&f.TransactOpts, newOwner) -} - -// TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. -// -// Solidity: function transferOwnership(address newOwner) returns() -func (f *HubTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { - return f.Contract.TransferOwnership(&f.TransactOpts, newOwner) -} - -// UnregisterChild is a paid mutator transaction binding the contract method 0xe3db630c. -// -// Solidity: function unregisterChild(address child) returns() -func (f *HubTransactor) UnregisterChild(opts *bind.TransactOpts, child common.Address) (*types.Transaction, error) { - return f.contract.Transact(opts, "unregisterChild", child) -} - -// UnregisterChild is a paid mutator transaction binding the contract method 0xe3db630c. -// -// Solidity: function unregisterChild(address child) returns() -func (f *HubSession) UnregisterChild(child common.Address) (*types.Transaction, error) { - return f.Contract.UnregisterChild(&f.TransactOpts, child) -} - -// UnregisterChild is a paid mutator transaction binding the contract method 0xe3db630c. -// -// Solidity: function unregisterChild(address child) returns() -func (f *HubTransactorSession) UnregisterChild(child common.Address) (*types.Transaction, error) { - return f.Contract.UnregisterChild(&f.TransactOpts, child) -} - -// HubBurnIterator is returned from FilterBurn and is used to iterate over the raw logs and unpacked data for Burn events raised by the Hub contract. -type HubBurnIterator struct { - Event *HubBurn // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *HubBurnIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(HubBurn) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(HubBurn) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *HubBurnIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *HubBurnIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// HubBurn represents a Burn event raised by the Hub contract. -type HubBurn struct { - IERC20TokenContract common.Address - Target common.Address - RecipientCosmosAddress string - Amount *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterBurn is a free log retrieval operation binding the contract event 0x2d1cbee916b310b4f96bc080243ebebf4daa27a66b334773cf5d77d12226f4cd. -// -// Solidity: event Burn(address iERC20TokenContract, address target, string recipientCosmosAddress, uint256 amount) -func (f *HubFilterer) FilterBurn(opts *bind.FilterOpts) (*HubBurnIterator, error) { - - logs, sub, err := f.contract.FilterLogs(opts, "Burn") - if err != nil { - return nil, err - } - return &HubBurnIterator{contract: f.contract, event: "Burn", logs: logs, sub: sub}, nil -} - -// WatchBurn is a free log subscription operation binding the contract event 0x2d1cbee916b310b4f96bc080243ebebf4daa27a66b334773cf5d77d12226f4cd. -// -// Solidity: event Burn(address iERC20TokenContract, address target, string recipientCosmosAddress, uint256 amount) -func (f *HubFilterer) WatchBurn(opts *bind.WatchOpts, sink chan<- *HubBurn) (event.Subscription, error) { - - logs, sub, err := f.contract.WatchLogs(opts, "Burn") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(HubBurn) - if err := f.contract.UnpackLog(event, "Burn", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseBurn is a log parse operation binding the contract event 0x2d1cbee916b310b4f96bc080243ebebf4daa27a66b334773cf5d77d12226f4cd. -// -// Solidity: event Burn(address iERC20TokenContract, address target, string recipientCosmosAddress, uint256 amount) -func (f *HubFilterer) ParseBurn(log types.Log) (*HubBurn, error) { - event := new(HubBurn) - if err := f.contract.UnpackLog(event, "Burn", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// HubMintIterator is returned from FilterMint and is used to iterate over the raw logs and unpacked data for Mint events raised by the Hub contract. -type HubMintIterator struct { - Event *HubMint // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *HubMintIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(HubMint) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(HubMint) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *HubMintIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *HubMintIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// HubMint represents a Mint event raised by the Hub contract. -type HubMint struct { - IERC20TokenContract common.Address - FromCosmosAddress string - Recipient common.Address - Amount *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterMint is a free log retrieval operation binding the contract event 0x85e1b778603e7ba009b4b23a5909ddb0ba4e73f01838cb2029e066158fd62f74. -// -// Solidity: event Mint(address iERC20TokenContract, string fromCosmosAddress, address recipient, uint256 amount) -func (f *HubFilterer) FilterMint(opts *bind.FilterOpts) (*HubMintIterator, error) { - - logs, sub, err := f.contract.FilterLogs(opts, "Mint") - if err != nil { - return nil, err - } - return &HubMintIterator{contract: f.contract, event: "Mint", logs: logs, sub: sub}, nil -} - -// WatchMint is a free log subscription operation binding the contract event 0x85e1b778603e7ba009b4b23a5909ddb0ba4e73f01838cb2029e066158fd62f74. -// -// Solidity: event Mint(address iERC20TokenContract, string fromCosmosAddress, address recipient, uint256 amount) -func (f *HubFilterer) WatchMint(opts *bind.WatchOpts, sink chan<- *HubMint) (event.Subscription, error) { - - logs, sub, err := f.contract.WatchLogs(opts, "Mint") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(HubMint) - if err := f.contract.UnpackLog(event, "Mint", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseMint is a log parse operation binding the contract event 0x85e1b778603e7ba009b4b23a5909ddb0ba4e73f01838cb2029e066158fd62f74. -// -// Solidity: event Mint(address iERC20TokenContract, string fromCosmosAddress, address recipient, uint256 amount) -func (f *HubFilterer) ParseMint(log types.Log) (*HubMint, error) { - event := new(HubMint) - if err := f.contract.UnpackLog(event, "Mint", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// HubOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the Hub contract. -type HubOwnershipTransferredIterator struct { - Event *HubOwnershipTransferred // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *HubOwnershipTransferredIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(HubOwnershipTransferred) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(HubOwnershipTransferred) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *HubOwnershipTransferredIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *HubOwnershipTransferredIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// HubOwnershipTransferred represents a OwnershipTransferred event raised by the Hub contract. -type HubOwnershipTransferred struct { - PreviousOwner common.Address - NewOwner common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. -// -// Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) -func (f *HubFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*HubOwnershipTransferredIterator, error) { - - var previousOwnerRule []interface{} - for _, previousOwnerItem := range previousOwner { - previousOwnerRule = append(previousOwnerRule, previousOwnerItem) - } - var newOwnerRule []interface{} - for _, newOwnerItem := range newOwner { - newOwnerRule = append(newOwnerRule, newOwnerItem) - } - - logs, sub, err := f.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) - if err != nil { - return nil, err - } - return &HubOwnershipTransferredIterator{contract: f.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil -} - -// WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. -// -// Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) -func (f *HubFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *HubOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { - - var previousOwnerRule []interface{} - for _, previousOwnerItem := range previousOwner { - previousOwnerRule = append(previousOwnerRule, previousOwnerItem) - } - var newOwnerRule []interface{} - for _, newOwnerItem := range newOwner { - newOwnerRule = append(newOwnerRule, newOwnerItem) - } - - logs, sub, err := f.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(HubOwnershipTransferred) - if err := f.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. -// -// Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) -func (f *HubFilterer) ParseOwnershipTransferred(log types.Log) (*HubOwnershipTransferred, error) { - event := new(HubOwnershipTransferred) - if err := f.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// HubTemplateCreationIterator is returned from FilterTemplateCreation and is used to iterate over the raw logs and unpacked data for TemplateCreation events raised by the Hub contract. -type HubTemplateCreationIterator struct { - Event *HubTemplateCreation // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *HubTemplateCreationIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(HubTemplateCreation) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(HubTemplateCreation) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *HubTemplateCreationIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *HubTemplateCreationIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// HubTemplateCreation represents a TemplateCreation event raised by the Hub contract. -type HubTemplateCreation struct { - IERC20TokenContract common.Address - ProposedCosmosCoin string - Raw types.Log // Blockchain specific contextual infos -} - -// FilterTemplateCreation is a free log retrieval operation binding the contract event 0xa2c3e18d8cd0d905a1f440e7daccb30a2c440da0f9bc44f81a69b6f21933f4fc. -// -// Solidity: event TemplateCreation(address iERC20TokenContract, string proposedCosmosCoin) -func (f *HubFilterer) FilterTemplateCreation(opts *bind.FilterOpts) (*HubTemplateCreationIterator, error) { - - logs, sub, err := f.contract.FilterLogs(opts, "TemplateCreation") - if err != nil { - return nil, err - } - return &HubTemplateCreationIterator{contract: f.contract, event: "TemplateCreation", logs: logs, sub: sub}, nil -} - -// WatchTemplateCreation is a free log subscription operation binding the contract event 0xa2c3e18d8cd0d905a1f440e7daccb30a2c440da0f9bc44f81a69b6f21933f4fc. -// -// Solidity: event TemplateCreation(address iERC20TokenContract, string proposedCosmosCoin) -func (f *HubFilterer) WatchTemplateCreation(opts *bind.WatchOpts, sink chan<- *HubTemplateCreation) (event.Subscription, error) { - - logs, sub, err := f.contract.WatchLogs(opts, "TemplateCreation") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(HubTemplateCreation) - if err := f.contract.UnpackLog(event, "TemplateCreation", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseTemplateCreation is a log parse operation binding the contract event 0xa2c3e18d8cd0d905a1f440e7daccb30a2c440da0f9bc44f81a69b6f21933f4fc. -// -// Solidity: event TemplateCreation(address iERC20TokenContract, string proposedCosmosCoin) -func (f *HubFilterer) ParseTemplateCreation(log types.Log) (*HubTemplateCreation, error) { - event := new(HubTemplateCreation) - if err := f.contract.UnpackLog(event, "TemplateCreation", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// HubUnregisterChildIterator is returned from FilterUnregisterChild and is used to iterate over the raw logs and unpacked data for UnregisterChild events raised by the Hub contract. -type HubUnregisterChildIterator struct { - Event *HubUnregisterChild // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *HubUnregisterChildIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(HubUnregisterChild) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(HubUnregisterChild) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *HubUnregisterChildIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *HubUnregisterChildIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// HubUnregisterChild represents a UnregisterChild event raised by the Hub contract. -type HubUnregisterChild struct { - IERC20TokenContract common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterUnregisterChild is a free log retrieval operation binding the contract event 0x9a0579b1a8a2e82095ed4ab2e299c227ab4fcd5fa467d94a576012e39cd4925a. -// -// Solidity: event UnregisterChild(address iERC20TokenContract) -func (f *HubFilterer) FilterUnregisterChild(opts *bind.FilterOpts) (*HubUnregisterChildIterator, error) { - - logs, sub, err := f.contract.FilterLogs(opts, "UnregisterChild") - if err != nil { - return nil, err - } - return &HubUnregisterChildIterator{contract: f.contract, event: "UnregisterChild", logs: logs, sub: sub}, nil -} - -// WatchUnregisterChild is a free log subscription operation binding the contract event 0x9a0579b1a8a2e82095ed4ab2e299c227ab4fcd5fa467d94a576012e39cd4925a. -// -// Solidity: event UnregisterChild(address iERC20TokenContract) -func (f *HubFilterer) WatchUnregisterChild(opts *bind.WatchOpts, sink chan<- *HubUnregisterChild) (event.Subscription, error) { - - logs, sub, err := f.contract.WatchLogs(opts, "UnregisterChild") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(HubUnregisterChild) - if err := f.contract.UnpackLog(event, "UnregisterChild", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseUnregisterChild is a log parse operation binding the contract event 0x9a0579b1a8a2e82095ed4ab2e299c227ab4fcd5fa467d94a576012e39cd4925a. -// -// Solidity: event UnregisterChild(address iERC20TokenContract) -func (f *HubFilterer) ParseUnregisterChild(log types.Log) (*HubUnregisterChild, error) { - event := new(HubUnregisterChild) - if err := f.contract.UnpackLog(event, "UnregisterChild", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} diff --git a/wrappers/order.go b/wrappers/order.go deleted file mode 100644 index cb5d8233..00000000 --- a/wrappers/order.go +++ /dev/null @@ -1,31 +0,0 @@ -package wrappers - -import ( - "github.com/ethereum/go-ethereum/common" - "math/big" -) - -// Order is an auto generated low-level Go binding around an user-defined struct. -type Order struct { - MakerAddress common.Address - TakerAddress common.Address - FeeRecipientAddress common.Address - SenderAddress common.Address - MakerAssetAmount *big.Int - TakerAssetAmount *big.Int - MakerFee *big.Int - TakerFee *big.Int - ExpirationTimeSeconds *big.Int - Salt *big.Int - MakerAssetData []byte - TakerAssetData []byte - MakerFeeAssetData []byte - TakerFeeAssetData []byte -} - -// OrderInfo is an auto generated low-level Go binding around an user-defined struct. -type OrderInfo struct { - OrderStatus uint8 - OrderHash [32]byte - OrderTakerAssetFilledAmount *big.Int -} diff --git a/wrappers/price_feeder.go b/wrappers/price_feeder.go deleted file mode 100644 index a401fe7f..00000000 --- a/wrappers/price_feeder.go +++ /dev/null @@ -1,1857 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package wrappers - -import ( - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription -) - -// PriceFeederABI is the input ABI used to generate the binding from. -const PriceFeederABI = "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"oraclePriceFeeder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"liquidatorTester\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expirationTime\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"initialPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"RegisterFuturesMarket\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fundingInterval\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"initialPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"RegisterPerpetualMarket\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"SetPrice\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"marketExpirationTimestamp\",\"type\":\"uint256\"}],\"name\":\"SetSettlementPrice\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PRICE_FEEDER\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"currentPrices\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"futuresSettlementPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"futuresSettlementTimes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"isRegisteredMarket\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"marketCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"marketFundingIntervals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"fundingInterval\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"registerPerpetualMarket\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"expirationTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"registerFuturesMarket\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"}],\"name\":\"getFundingInterval\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"setPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"}],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"setExpiryFuturesSettlementPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"marketID\",\"type\":\"bytes32\"}],\"name\":\"getExpiryFuturesSettlementPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]" - -// PriceFeeder is an auto generated Go binding around an Ethereum contract. -type PriceFeeder struct { - PriceFeederCaller // Read-only binding to the contract - PriceFeederTransactor // Write-only binding to the contract - PriceFeederFilterer // Log filterer for contract events -} - -// PriceFeederCaller is an auto generated read-only Go binding around an Ethereum contract. -type PriceFeederCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// PriceFeederTransactor is an auto generated write-only Go binding around an Ethereum contract. -type PriceFeederTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// PriceFeederFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type PriceFeederFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// PriceFeederSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type PriceFeederSession struct { - Contract *PriceFeeder // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// PriceFeederCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type PriceFeederCallerSession struct { - Contract *PriceFeederCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// PriceFeederTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type PriceFeederTransactorSession struct { - Contract *PriceFeederTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// PriceFeederRaw is an auto generated low-level Go binding around an Ethereum contract. -type PriceFeederRaw struct { - Contract *PriceFeeder // Generic contract binding to access the raw methods on -} - -// PriceFeederCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type PriceFeederCallerRaw struct { - Contract *PriceFeederCaller // Generic read-only contract binding to access the raw methods on -} - -// PriceFeederTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type PriceFeederTransactorRaw struct { - Contract *PriceFeederTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewPriceFeeder creates a new instance of PriceFeeder, bound to a specific deployed contract. -func NewPriceFeeder(address common.Address, backend bind.ContractBackend) (*PriceFeeder, error) { - contract, err := bindPriceFeeder(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &PriceFeeder{PriceFeederCaller: PriceFeederCaller{contract: contract}, PriceFeederTransactor: PriceFeederTransactor{contract: contract}, PriceFeederFilterer: PriceFeederFilterer{contract: contract}}, nil -} - -// NewPriceFeederCaller creates a new read-only instance of PriceFeeder, bound to a specific deployed contract. -func NewPriceFeederCaller(address common.Address, caller bind.ContractCaller) (*PriceFeederCaller, error) { - contract, err := bindPriceFeeder(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &PriceFeederCaller{contract: contract}, nil -} - -// NewPriceFeederTransactor creates a new write-only instance of PriceFeeder, bound to a specific deployed contract. -func NewPriceFeederTransactor(address common.Address, transactor bind.ContractTransactor) (*PriceFeederTransactor, error) { - contract, err := bindPriceFeeder(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &PriceFeederTransactor{contract: contract}, nil -} - -// NewPriceFeederFilterer creates a new log filterer instance of PriceFeeder, bound to a specific deployed contract. -func NewPriceFeederFilterer(address common.Address, filterer bind.ContractFilterer) (*PriceFeederFilterer, error) { - contract, err := bindPriceFeeder(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &PriceFeederFilterer{contract: contract}, nil -} - -// bindPriceFeeder binds a generic wrapper to an already deployed contract. -func bindPriceFeeder(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := abi.JSON(strings.NewReader(PriceFeederABI)) - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (f *PriceFeederRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return f.Contract.PriceFeederCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (f *PriceFeederRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return f.Contract.PriceFeederTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (f *PriceFeederRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return f.Contract.PriceFeederTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (f *PriceFeederCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return f.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (f *PriceFeederTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return f.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (f *PriceFeederTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return f.Contract.contract.Transact(opts, method, params...) -} - -// DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. -// -// Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) -func (f *PriceFeederCaller) DEFAULTADMINROLE(opts *bind.CallOpts) ([32]byte, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "DEFAULT_ADMIN_ROLE") - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. -// -// Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) -func (f *PriceFeederSession) DEFAULTADMINROLE() ([32]byte, error) { - return f.Contract.DEFAULTADMINROLE(&f.CallOpts) -} - -// DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. -// -// Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) -func (f *PriceFeederCallerSession) DEFAULTADMINROLE() ([32]byte, error) { - return f.Contract.DEFAULTADMINROLE(&f.CallOpts) -} - -// PRICEFEEDER is a free data retrieval call binding the contract method 0x882ed671. -// -// Solidity: function PRICE_FEEDER() view returns(bytes32) -func (f *PriceFeederCaller) PRICEFEEDER(opts *bind.CallOpts) ([32]byte, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "PRICE_FEEDER") - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// PRICEFEEDER is a free data retrieval call binding the contract method 0x882ed671. -// -// Solidity: function PRICE_FEEDER() view returns(bytes32) -func (f *PriceFeederSession) PRICEFEEDER() ([32]byte, error) { - return f.Contract.PRICEFEEDER(&f.CallOpts) -} - -// PRICEFEEDER is a free data retrieval call binding the contract method 0x882ed671. -// -// Solidity: function PRICE_FEEDER() view returns(bytes32) -func (f *PriceFeederCallerSession) PRICEFEEDER() ([32]byte, error) { - return f.Contract.PRICEFEEDER(&f.CallOpts) -} - -// CurrentPrices is a free data retrieval call binding the contract method 0xacd0ecaf. -// -// Solidity: function currentPrices(bytes32 ) view returns(uint256) -func (f *PriceFeederCaller) CurrentPrices(opts *bind.CallOpts, arg0 [32]byte) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "currentPrices", arg0) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// CurrentPrices is a free data retrieval call binding the contract method 0xacd0ecaf. -// -// Solidity: function currentPrices(bytes32 ) view returns(uint256) -func (f *PriceFeederSession) CurrentPrices(arg0 [32]byte) (*big.Int, error) { - return f.Contract.CurrentPrices(&f.CallOpts, arg0) -} - -// CurrentPrices is a free data retrieval call binding the contract method 0xacd0ecaf. -// -// Solidity: function currentPrices(bytes32 ) view returns(uint256) -func (f *PriceFeederCallerSession) CurrentPrices(arg0 [32]byte) (*big.Int, error) { - return f.Contract.CurrentPrices(&f.CallOpts, arg0) -} - -// FuturesSettlementPrice is a free data retrieval call binding the contract method 0xc60f6ef5. -// -// Solidity: function futuresSettlementPrice(bytes32 ) view returns(uint256) -func (f *PriceFeederCaller) FuturesSettlementPrice(opts *bind.CallOpts, arg0 [32]byte) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "futuresSettlementPrice", arg0) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// FuturesSettlementPrice is a free data retrieval call binding the contract method 0xc60f6ef5. -// -// Solidity: function futuresSettlementPrice(bytes32 ) view returns(uint256) -func (f *PriceFeederSession) FuturesSettlementPrice(arg0 [32]byte) (*big.Int, error) { - return f.Contract.FuturesSettlementPrice(&f.CallOpts, arg0) -} - -// FuturesSettlementPrice is a free data retrieval call binding the contract method 0xc60f6ef5. -// -// Solidity: function futuresSettlementPrice(bytes32 ) view returns(uint256) -func (f *PriceFeederCallerSession) FuturesSettlementPrice(arg0 [32]byte) (*big.Int, error) { - return f.Contract.FuturesSettlementPrice(&f.CallOpts, arg0) -} - -// FuturesSettlementTimes is a free data retrieval call binding the contract method 0x470b2d0e. -// -// Solidity: function futuresSettlementTimes(bytes32 ) view returns(uint256) -func (f *PriceFeederCaller) FuturesSettlementTimes(opts *bind.CallOpts, arg0 [32]byte) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "futuresSettlementTimes", arg0) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// FuturesSettlementTimes is a free data retrieval call binding the contract method 0x470b2d0e. -// -// Solidity: function futuresSettlementTimes(bytes32 ) view returns(uint256) -func (f *PriceFeederSession) FuturesSettlementTimes(arg0 [32]byte) (*big.Int, error) { - return f.Contract.FuturesSettlementTimes(&f.CallOpts, arg0) -} - -// FuturesSettlementTimes is a free data retrieval call binding the contract method 0x470b2d0e. -// -// Solidity: function futuresSettlementTimes(bytes32 ) view returns(uint256) -func (f *PriceFeederCallerSession) FuturesSettlementTimes(arg0 [32]byte) (*big.Int, error) { - return f.Contract.FuturesSettlementTimes(&f.CallOpts, arg0) -} - -// GetExpiryFuturesSettlementPrice is a free data retrieval call binding the contract method 0x57ab828a. -// -// Solidity: function getExpiryFuturesSettlementPrice(bytes32 marketID) view returns(uint256) -func (f *PriceFeederCaller) GetExpiryFuturesSettlementPrice(opts *bind.CallOpts, marketID [32]byte) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "getExpiryFuturesSettlementPrice", marketID) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetExpiryFuturesSettlementPrice is a free data retrieval call binding the contract method 0x57ab828a. -// -// Solidity: function getExpiryFuturesSettlementPrice(bytes32 marketID) view returns(uint256) -func (f *PriceFeederSession) GetExpiryFuturesSettlementPrice(marketID [32]byte) (*big.Int, error) { - return f.Contract.GetExpiryFuturesSettlementPrice(&f.CallOpts, marketID) -} - -// GetExpiryFuturesSettlementPrice is a free data retrieval call binding the contract method 0x57ab828a. -// -// Solidity: function getExpiryFuturesSettlementPrice(bytes32 marketID) view returns(uint256) -func (f *PriceFeederCallerSession) GetExpiryFuturesSettlementPrice(marketID [32]byte) (*big.Int, error) { - return f.Contract.GetExpiryFuturesSettlementPrice(&f.CallOpts, marketID) -} - -// GetFundingInterval is a free data retrieval call binding the contract method 0xaa7566de. -// -// Solidity: function getFundingInterval(bytes32 marketID) view returns(uint256) -func (f *PriceFeederCaller) GetFundingInterval(opts *bind.CallOpts, marketID [32]byte) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "getFundingInterval", marketID) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetFundingInterval is a free data retrieval call binding the contract method 0xaa7566de. -// -// Solidity: function getFundingInterval(bytes32 marketID) view returns(uint256) -func (f *PriceFeederSession) GetFundingInterval(marketID [32]byte) (*big.Int, error) { - return f.Contract.GetFundingInterval(&f.CallOpts, marketID) -} - -// GetFundingInterval is a free data retrieval call binding the contract method 0xaa7566de. -// -// Solidity: function getFundingInterval(bytes32 marketID) view returns(uint256) -func (f *PriceFeederCallerSession) GetFundingInterval(marketID [32]byte) (*big.Int, error) { - return f.Contract.GetFundingInterval(&f.CallOpts, marketID) -} - -// GetPrice is a free data retrieval call binding the contract method 0x31d98b3f. -// -// Solidity: function getPrice(bytes32 marketID) view returns(uint256) -func (f *PriceFeederCaller) GetPrice(opts *bind.CallOpts, marketID [32]byte) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "getPrice", marketID) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetPrice is a free data retrieval call binding the contract method 0x31d98b3f. -// -// Solidity: function getPrice(bytes32 marketID) view returns(uint256) -func (f *PriceFeederSession) GetPrice(marketID [32]byte) (*big.Int, error) { - return f.Contract.GetPrice(&f.CallOpts, marketID) -} - -// GetPrice is a free data retrieval call binding the contract method 0x31d98b3f. -// -// Solidity: function getPrice(bytes32 marketID) view returns(uint256) -func (f *PriceFeederCallerSession) GetPrice(marketID [32]byte) (*big.Int, error) { - return f.Contract.GetPrice(&f.CallOpts, marketID) -} - -// GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. -// -// Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) -func (f *PriceFeederCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "getRoleAdmin", role) - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. -// -// Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) -func (f *PriceFeederSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { - return f.Contract.GetRoleAdmin(&f.CallOpts, role) -} - -// GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. -// -// Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) -func (f *PriceFeederCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { - return f.Contract.GetRoleAdmin(&f.CallOpts, role) -} - -// GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. -// -// Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) -func (f *PriceFeederCaller) GetRoleMember(opts *bind.CallOpts, role [32]byte, index *big.Int) (common.Address, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "getRoleMember", role, index) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. -// -// Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) -func (f *PriceFeederSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) { - return f.Contract.GetRoleMember(&f.CallOpts, role, index) -} - -// GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. -// -// Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) -func (f *PriceFeederCallerSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) { - return f.Contract.GetRoleMember(&f.CallOpts, role, index) -} - -// GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. -// -// Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) -func (f *PriceFeederCaller) GetRoleMemberCount(opts *bind.CallOpts, role [32]byte) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "getRoleMemberCount", role) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. -// -// Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) -func (f *PriceFeederSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) { - return f.Contract.GetRoleMemberCount(&f.CallOpts, role) -} - -// GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. -// -// Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) -func (f *PriceFeederCallerSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) { - return f.Contract.GetRoleMemberCount(&f.CallOpts, role) -} - -// HasRole is a free data retrieval call binding the contract method 0x91d14854. -// -// Solidity: function hasRole(bytes32 role, address account) view returns(bool) -func (f *PriceFeederCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "hasRole", role, account) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// HasRole is a free data retrieval call binding the contract method 0x91d14854. -// -// Solidity: function hasRole(bytes32 role, address account) view returns(bool) -func (f *PriceFeederSession) HasRole(role [32]byte, account common.Address) (bool, error) { - return f.Contract.HasRole(&f.CallOpts, role, account) -} - -// HasRole is a free data retrieval call binding the contract method 0x91d14854. -// -// Solidity: function hasRole(bytes32 role, address account) view returns(bool) -func (f *PriceFeederCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) { - return f.Contract.HasRole(&f.CallOpts, role, account) -} - -// IsRegisteredMarket is a free data retrieval call binding the contract method 0x17eab5d6. -// -// Solidity: function isRegisteredMarket(bytes32 ) view returns(bool) -func (f *PriceFeederCaller) IsRegisteredMarket(opts *bind.CallOpts, arg0 [32]byte) (bool, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "isRegisteredMarket", arg0) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// IsRegisteredMarket is a free data retrieval call binding the contract method 0x17eab5d6. -// -// Solidity: function isRegisteredMarket(bytes32 ) view returns(bool) -func (f *PriceFeederSession) IsRegisteredMarket(arg0 [32]byte) (bool, error) { - return f.Contract.IsRegisteredMarket(&f.CallOpts, arg0) -} - -// IsRegisteredMarket is a free data retrieval call binding the contract method 0x17eab5d6. -// -// Solidity: function isRegisteredMarket(bytes32 ) view returns(bool) -func (f *PriceFeederCallerSession) IsRegisteredMarket(arg0 [32]byte) (bool, error) { - return f.Contract.IsRegisteredMarket(&f.CallOpts, arg0) -} - -// MarketCount is a free data retrieval call binding the contract method 0xec979082. -// -// Solidity: function marketCount() view returns(uint256) -func (f *PriceFeederCaller) MarketCount(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "marketCount") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// MarketCount is a free data retrieval call binding the contract method 0xec979082. -// -// Solidity: function marketCount() view returns(uint256) -func (f *PriceFeederSession) MarketCount() (*big.Int, error) { - return f.Contract.MarketCount(&f.CallOpts) -} - -// MarketCount is a free data retrieval call binding the contract method 0xec979082. -// -// Solidity: function marketCount() view returns(uint256) -func (f *PriceFeederCallerSession) MarketCount() (*big.Int, error) { - return f.Contract.MarketCount(&f.CallOpts) -} - -// MarketFundingIntervals is a free data retrieval call binding the contract method 0x19cb625c. -// -// Solidity: function marketFundingIntervals(bytes32 ) view returns(uint256) -func (f *PriceFeederCaller) MarketFundingIntervals(opts *bind.CallOpts, arg0 [32]byte) (*big.Int, error) { - var out []interface{} - err := f.contract.Call(opts, &out, "marketFundingIntervals", arg0) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// MarketFundingIntervals is a free data retrieval call binding the contract method 0x19cb625c. -// -// Solidity: function marketFundingIntervals(bytes32 ) view returns(uint256) -func (f *PriceFeederSession) MarketFundingIntervals(arg0 [32]byte) (*big.Int, error) { - return f.Contract.MarketFundingIntervals(&f.CallOpts, arg0) -} - -// MarketFundingIntervals is a free data retrieval call binding the contract method 0x19cb625c. -// -// Solidity: function marketFundingIntervals(bytes32 ) view returns(uint256) -func (f *PriceFeederCallerSession) MarketFundingIntervals(arg0 [32]byte) (*big.Int, error) { - return f.Contract.MarketFundingIntervals(&f.CallOpts, arg0) -} - -// GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. -// -// Solidity: function grantRole(bytes32 role, address account) returns() -func (f *PriceFeederTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { - return f.contract.Transact(opts, "grantRole", role, account) -} - -// GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. -// -// Solidity: function grantRole(bytes32 role, address account) returns() -func (f *PriceFeederSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { - return f.Contract.GrantRole(&f.TransactOpts, role, account) -} - -// GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. -// -// Solidity: function grantRole(bytes32 role, address account) returns() -func (f *PriceFeederTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { - return f.Contract.GrantRole(&f.TransactOpts, role, account) -} - -// RegisterFuturesMarket is a paid mutator transaction binding the contract method 0xa4716060. -// -// Solidity: function registerFuturesMarket(bytes32 marketID, uint256 expirationTime, uint256 price) returns() -func (f *PriceFeederTransactor) RegisterFuturesMarket(opts *bind.TransactOpts, marketID [32]byte, expirationTime *big.Int, price *big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "registerFuturesMarket", marketID, expirationTime, price) -} - -// RegisterFuturesMarket is a paid mutator transaction binding the contract method 0xa4716060. -// -// Solidity: function registerFuturesMarket(bytes32 marketID, uint256 expirationTime, uint256 price) returns() -func (f *PriceFeederSession) RegisterFuturesMarket(marketID [32]byte, expirationTime *big.Int, price *big.Int) (*types.Transaction, error) { - return f.Contract.RegisterFuturesMarket(&f.TransactOpts, marketID, expirationTime, price) -} - -// RegisterFuturesMarket is a paid mutator transaction binding the contract method 0xa4716060. -// -// Solidity: function registerFuturesMarket(bytes32 marketID, uint256 expirationTime, uint256 price) returns() -func (f *PriceFeederTransactorSession) RegisterFuturesMarket(marketID [32]byte, expirationTime *big.Int, price *big.Int) (*types.Transaction, error) { - return f.Contract.RegisterFuturesMarket(&f.TransactOpts, marketID, expirationTime, price) -} - -// RegisterPerpetualMarket is a paid mutator transaction binding the contract method 0x2be3ccd9. -// -// Solidity: function registerPerpetualMarket(bytes32 marketID, uint256 fundingInterval, uint256 price) returns() -func (f *PriceFeederTransactor) RegisterPerpetualMarket(opts *bind.TransactOpts, marketID [32]byte, fundingInterval *big.Int, price *big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "registerPerpetualMarket", marketID, fundingInterval, price) -} - -// RegisterPerpetualMarket is a paid mutator transaction binding the contract method 0x2be3ccd9. -// -// Solidity: function registerPerpetualMarket(bytes32 marketID, uint256 fundingInterval, uint256 price) returns() -func (f *PriceFeederSession) RegisterPerpetualMarket(marketID [32]byte, fundingInterval *big.Int, price *big.Int) (*types.Transaction, error) { - return f.Contract.RegisterPerpetualMarket(&f.TransactOpts, marketID, fundingInterval, price) -} - -// RegisterPerpetualMarket is a paid mutator transaction binding the contract method 0x2be3ccd9. -// -// Solidity: function registerPerpetualMarket(bytes32 marketID, uint256 fundingInterval, uint256 price) returns() -func (f *PriceFeederTransactorSession) RegisterPerpetualMarket(marketID [32]byte, fundingInterval *big.Int, price *big.Int) (*types.Transaction, error) { - return f.Contract.RegisterPerpetualMarket(&f.TransactOpts, marketID, fundingInterval, price) -} - -// RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. -// -// Solidity: function renounceRole(bytes32 role, address account) returns() -func (f *PriceFeederTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { - return f.contract.Transact(opts, "renounceRole", role, account) -} - -// RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. -// -// Solidity: function renounceRole(bytes32 role, address account) returns() -func (f *PriceFeederSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { - return f.Contract.RenounceRole(&f.TransactOpts, role, account) -} - -// RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. -// -// Solidity: function renounceRole(bytes32 role, address account) returns() -func (f *PriceFeederTransactorSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { - return f.Contract.RenounceRole(&f.TransactOpts, role, account) -} - -// RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. -// -// Solidity: function revokeRole(bytes32 role, address account) returns() -func (f *PriceFeederTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { - return f.contract.Transact(opts, "revokeRole", role, account) -} - -// RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. -// -// Solidity: function revokeRole(bytes32 role, address account) returns() -func (f *PriceFeederSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { - return f.Contract.RevokeRole(&f.TransactOpts, role, account) -} - -// RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. -// -// Solidity: function revokeRole(bytes32 role, address account) returns() -func (f *PriceFeederTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { - return f.Contract.RevokeRole(&f.TransactOpts, role, account) -} - -// SetExpiryFuturesSettlementPrice is a paid mutator transaction binding the contract method 0xec6def6a. -// -// Solidity: function setExpiryFuturesSettlementPrice(bytes32 marketID, uint256 price) returns() -func (f *PriceFeederTransactor) SetExpiryFuturesSettlementPrice(opts *bind.TransactOpts, marketID [32]byte, price *big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "setExpiryFuturesSettlementPrice", marketID, price) -} - -// SetExpiryFuturesSettlementPrice is a paid mutator transaction binding the contract method 0xec6def6a. -// -// Solidity: function setExpiryFuturesSettlementPrice(bytes32 marketID, uint256 price) returns() -func (f *PriceFeederSession) SetExpiryFuturesSettlementPrice(marketID [32]byte, price *big.Int) (*types.Transaction, error) { - return f.Contract.SetExpiryFuturesSettlementPrice(&f.TransactOpts, marketID, price) -} - -// SetExpiryFuturesSettlementPrice is a paid mutator transaction binding the contract method 0xec6def6a. -// -// Solidity: function setExpiryFuturesSettlementPrice(bytes32 marketID, uint256 price) returns() -func (f *PriceFeederTransactorSession) SetExpiryFuturesSettlementPrice(marketID [32]byte, price *big.Int) (*types.Transaction, error) { - return f.Contract.SetExpiryFuturesSettlementPrice(&f.TransactOpts, marketID, price) -} - -// SetPrice is a paid mutator transaction binding the contract method 0x10d8d74d. -// -// Solidity: function setPrice(bytes32 marketID, uint256 price) returns() -func (f *PriceFeederTransactor) SetPrice(opts *bind.TransactOpts, marketID [32]byte, price *big.Int) (*types.Transaction, error) { - return f.contract.Transact(opts, "setPrice", marketID, price) -} - -// SetPrice is a paid mutator transaction binding the contract method 0x10d8d74d. -// -// Solidity: function setPrice(bytes32 marketID, uint256 price) returns() -func (f *PriceFeederSession) SetPrice(marketID [32]byte, price *big.Int) (*types.Transaction, error) { - return f.Contract.SetPrice(&f.TransactOpts, marketID, price) -} - -// SetPrice is a paid mutator transaction binding the contract method 0x10d8d74d. -// -// Solidity: function setPrice(bytes32 marketID, uint256 price) returns() -func (f *PriceFeederTransactorSession) SetPrice(marketID [32]byte, price *big.Int) (*types.Transaction, error) { - return f.Contract.SetPrice(&f.TransactOpts, marketID, price) -} - -// PriceFeederRegisterFuturesMarketIterator is returned from FilterRegisterFuturesMarket and is used to iterate over the raw logs and unpacked data for RegisterFuturesMarket events raised by the PriceFeeder contract. -type PriceFeederRegisterFuturesMarketIterator struct { - Event *PriceFeederRegisterFuturesMarket // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *PriceFeederRegisterFuturesMarketIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(PriceFeederRegisterFuturesMarket) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(PriceFeederRegisterFuturesMarket) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *PriceFeederRegisterFuturesMarketIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *PriceFeederRegisterFuturesMarketIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// PriceFeederRegisterFuturesMarket represents a RegisterFuturesMarket event raised by the PriceFeeder contract. -type PriceFeederRegisterFuturesMarket struct { - MarketID [32]byte - ExpirationTime *big.Int - InitialPrice *big.Int - Timestamp *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterRegisterFuturesMarket is a free log retrieval operation binding the contract event 0x658829bdba490af5d973a4e5cd6a98ec9eccc538d005c267a710a7eb62602c5f. -// -// Solidity: event RegisterFuturesMarket(bytes32 indexed marketID, uint256 expirationTime, uint256 initialPrice, uint256 timestamp) -func (f *PriceFeederFilterer) FilterRegisterFuturesMarket(opts *bind.FilterOpts, marketID [][32]byte) (*PriceFeederRegisterFuturesMarketIterator, error) { - - var marketIDRule []interface{} - for _, marketIDItem := range marketID { - marketIDRule = append(marketIDRule, marketIDItem) - } - - logs, sub, err := f.contract.FilterLogs(opts, "RegisterFuturesMarket", marketIDRule) - if err != nil { - return nil, err - } - return &PriceFeederRegisterFuturesMarketIterator{contract: f.contract, event: "RegisterFuturesMarket", logs: logs, sub: sub}, nil -} - -// WatchRegisterFuturesMarket is a free log subscription operation binding the contract event 0x658829bdba490af5d973a4e5cd6a98ec9eccc538d005c267a710a7eb62602c5f. -// -// Solidity: event RegisterFuturesMarket(bytes32 indexed marketID, uint256 expirationTime, uint256 initialPrice, uint256 timestamp) -func (f *PriceFeederFilterer) WatchRegisterFuturesMarket(opts *bind.WatchOpts, sink chan<- *PriceFeederRegisterFuturesMarket, marketID [][32]byte) (event.Subscription, error) { - - var marketIDRule []interface{} - for _, marketIDItem := range marketID { - marketIDRule = append(marketIDRule, marketIDItem) - } - - logs, sub, err := f.contract.WatchLogs(opts, "RegisterFuturesMarket", marketIDRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(PriceFeederRegisterFuturesMarket) - if err := f.contract.UnpackLog(event, "RegisterFuturesMarket", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseRegisterFuturesMarket is a log parse operation binding the contract event 0x658829bdba490af5d973a4e5cd6a98ec9eccc538d005c267a710a7eb62602c5f. -// -// Solidity: event RegisterFuturesMarket(bytes32 indexed marketID, uint256 expirationTime, uint256 initialPrice, uint256 timestamp) -func (f *PriceFeederFilterer) ParseRegisterFuturesMarket(log types.Log) (*PriceFeederRegisterFuturesMarket, error) { - event := new(PriceFeederRegisterFuturesMarket) - if err := f.contract.UnpackLog(event, "RegisterFuturesMarket", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// PriceFeederRegisterPerpetualMarketIterator is returned from FilterRegisterPerpetualMarket and is used to iterate over the raw logs and unpacked data for RegisterPerpetualMarket events raised by the PriceFeeder contract. -type PriceFeederRegisterPerpetualMarketIterator struct { - Event *PriceFeederRegisterPerpetualMarket // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *PriceFeederRegisterPerpetualMarketIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(PriceFeederRegisterPerpetualMarket) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(PriceFeederRegisterPerpetualMarket) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *PriceFeederRegisterPerpetualMarketIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *PriceFeederRegisterPerpetualMarketIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// PriceFeederRegisterPerpetualMarket represents a RegisterPerpetualMarket event raised by the PriceFeeder contract. -type PriceFeederRegisterPerpetualMarket struct { - MarketID [32]byte - FundingInterval *big.Int - InitialPrice *big.Int - Timestamp *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterRegisterPerpetualMarket is a free log retrieval operation binding the contract event 0xf4a892d94307acfa4ef3f684cd3bdabf189017b03f42210f4937a4ba2a4edf8c. -// -// Solidity: event RegisterPerpetualMarket(bytes32 indexed marketID, uint256 fundingInterval, uint256 initialPrice, uint256 timestamp) -func (f *PriceFeederFilterer) FilterRegisterPerpetualMarket(opts *bind.FilterOpts, marketID [][32]byte) (*PriceFeederRegisterPerpetualMarketIterator, error) { - - var marketIDRule []interface{} - for _, marketIDItem := range marketID { - marketIDRule = append(marketIDRule, marketIDItem) - } - - logs, sub, err := f.contract.FilterLogs(opts, "RegisterPerpetualMarket", marketIDRule) - if err != nil { - return nil, err - } - return &PriceFeederRegisterPerpetualMarketIterator{contract: f.contract, event: "RegisterPerpetualMarket", logs: logs, sub: sub}, nil -} - -// WatchRegisterPerpetualMarket is a free log subscription operation binding the contract event 0xf4a892d94307acfa4ef3f684cd3bdabf189017b03f42210f4937a4ba2a4edf8c. -// -// Solidity: event RegisterPerpetualMarket(bytes32 indexed marketID, uint256 fundingInterval, uint256 initialPrice, uint256 timestamp) -func (f *PriceFeederFilterer) WatchRegisterPerpetualMarket(opts *bind.WatchOpts, sink chan<- *PriceFeederRegisterPerpetualMarket, marketID [][32]byte) (event.Subscription, error) { - - var marketIDRule []interface{} - for _, marketIDItem := range marketID { - marketIDRule = append(marketIDRule, marketIDItem) - } - - logs, sub, err := f.contract.WatchLogs(opts, "RegisterPerpetualMarket", marketIDRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(PriceFeederRegisterPerpetualMarket) - if err := f.contract.UnpackLog(event, "RegisterPerpetualMarket", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseRegisterPerpetualMarket is a log parse operation binding the contract event 0xf4a892d94307acfa4ef3f684cd3bdabf189017b03f42210f4937a4ba2a4edf8c. -// -// Solidity: event RegisterPerpetualMarket(bytes32 indexed marketID, uint256 fundingInterval, uint256 initialPrice, uint256 timestamp) -func (f *PriceFeederFilterer) ParseRegisterPerpetualMarket(log types.Log) (*PriceFeederRegisterPerpetualMarket, error) { - event := new(PriceFeederRegisterPerpetualMarket) - if err := f.contract.UnpackLog(event, "RegisterPerpetualMarket", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// PriceFeederRoleAdminChangedIterator is returned from FilterRoleAdminChanged and is used to iterate over the raw logs and unpacked data for RoleAdminChanged events raised by the PriceFeeder contract. -type PriceFeederRoleAdminChangedIterator struct { - Event *PriceFeederRoleAdminChanged // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *PriceFeederRoleAdminChangedIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(PriceFeederRoleAdminChanged) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(PriceFeederRoleAdminChanged) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *PriceFeederRoleAdminChangedIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *PriceFeederRoleAdminChangedIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// PriceFeederRoleAdminChanged represents a RoleAdminChanged event raised by the PriceFeeder contract. -type PriceFeederRoleAdminChanged struct { - Role [32]byte - PreviousAdminRole [32]byte - NewAdminRole [32]byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterRoleAdminChanged is a free log retrieval operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. -// -// Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) -func (f *PriceFeederFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*PriceFeederRoleAdminChangedIterator, error) { - - var roleRule []interface{} - for _, roleItem := range role { - roleRule = append(roleRule, roleItem) - } - var previousAdminRoleRule []interface{} - for _, previousAdminRoleItem := range previousAdminRole { - previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) - } - var newAdminRoleRule []interface{} - for _, newAdminRoleItem := range newAdminRole { - newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) - } - - logs, sub, err := f.contract.FilterLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) - if err != nil { - return nil, err - } - return &PriceFeederRoleAdminChangedIterator{contract: f.contract, event: "RoleAdminChanged", logs: logs, sub: sub}, nil -} - -// WatchRoleAdminChanged is a free log subscription operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. -// -// Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) -func (f *PriceFeederFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *PriceFeederRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) { - - var roleRule []interface{} - for _, roleItem := range role { - roleRule = append(roleRule, roleItem) - } - var previousAdminRoleRule []interface{} - for _, previousAdminRoleItem := range previousAdminRole { - previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) - } - var newAdminRoleRule []interface{} - for _, newAdminRoleItem := range newAdminRole { - newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) - } - - logs, sub, err := f.contract.WatchLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(PriceFeederRoleAdminChanged) - if err := f.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseRoleAdminChanged is a log parse operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. -// -// Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) -func (f *PriceFeederFilterer) ParseRoleAdminChanged(log types.Log) (*PriceFeederRoleAdminChanged, error) { - event := new(PriceFeederRoleAdminChanged) - if err := f.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// PriceFeederRoleGrantedIterator is returned from FilterRoleGranted and is used to iterate over the raw logs and unpacked data for RoleGranted events raised by the PriceFeeder contract. -type PriceFeederRoleGrantedIterator struct { - Event *PriceFeederRoleGranted // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *PriceFeederRoleGrantedIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(PriceFeederRoleGranted) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(PriceFeederRoleGranted) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *PriceFeederRoleGrantedIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *PriceFeederRoleGrantedIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// PriceFeederRoleGranted represents a RoleGranted event raised by the PriceFeeder contract. -type PriceFeederRoleGranted struct { - Role [32]byte - Account common.Address - Sender common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. -// -// Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) -func (f *PriceFeederFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*PriceFeederRoleGrantedIterator, error) { - - var roleRule []interface{} - for _, roleItem := range role { - roleRule = append(roleRule, roleItem) - } - var accountRule []interface{} - for _, accountItem := range account { - accountRule = append(accountRule, accountItem) - } - var senderRule []interface{} - for _, senderItem := range sender { - senderRule = append(senderRule, senderItem) - } - - logs, sub, err := f.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) - if err != nil { - return nil, err - } - return &PriceFeederRoleGrantedIterator{contract: f.contract, event: "RoleGranted", logs: logs, sub: sub}, nil -} - -// WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. -// -// Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) -func (f *PriceFeederFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *PriceFeederRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { - - var roleRule []interface{} - for _, roleItem := range role { - roleRule = append(roleRule, roleItem) - } - var accountRule []interface{} - for _, accountItem := range account { - accountRule = append(accountRule, accountItem) - } - var senderRule []interface{} - for _, senderItem := range sender { - senderRule = append(senderRule, senderItem) - } - - logs, sub, err := f.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(PriceFeederRoleGranted) - if err := f.contract.UnpackLog(event, "RoleGranted", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. -// -// Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) -func (f *PriceFeederFilterer) ParseRoleGranted(log types.Log) (*PriceFeederRoleGranted, error) { - event := new(PriceFeederRoleGranted) - if err := f.contract.UnpackLog(event, "RoleGranted", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// PriceFeederRoleRevokedIterator is returned from FilterRoleRevoked and is used to iterate over the raw logs and unpacked data for RoleRevoked events raised by the PriceFeeder contract. -type PriceFeederRoleRevokedIterator struct { - Event *PriceFeederRoleRevoked // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *PriceFeederRoleRevokedIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(PriceFeederRoleRevoked) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(PriceFeederRoleRevoked) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *PriceFeederRoleRevokedIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *PriceFeederRoleRevokedIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// PriceFeederRoleRevoked represents a RoleRevoked event raised by the PriceFeeder contract. -type PriceFeederRoleRevoked struct { - Role [32]byte - Account common.Address - Sender common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. -// -// Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) -func (f *PriceFeederFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*PriceFeederRoleRevokedIterator, error) { - - var roleRule []interface{} - for _, roleItem := range role { - roleRule = append(roleRule, roleItem) - } - var accountRule []interface{} - for _, accountItem := range account { - accountRule = append(accountRule, accountItem) - } - var senderRule []interface{} - for _, senderItem := range sender { - senderRule = append(senderRule, senderItem) - } - - logs, sub, err := f.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) - if err != nil { - return nil, err - } - return &PriceFeederRoleRevokedIterator{contract: f.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil -} - -// WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. -// -// Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) -func (f *PriceFeederFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *PriceFeederRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { - - var roleRule []interface{} - for _, roleItem := range role { - roleRule = append(roleRule, roleItem) - } - var accountRule []interface{} - for _, accountItem := range account { - accountRule = append(accountRule, accountItem) - } - var senderRule []interface{} - for _, senderItem := range sender { - senderRule = append(senderRule, senderItem) - } - - logs, sub, err := f.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(PriceFeederRoleRevoked) - if err := f.contract.UnpackLog(event, "RoleRevoked", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. -// -// Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) -func (f *PriceFeederFilterer) ParseRoleRevoked(log types.Log) (*PriceFeederRoleRevoked, error) { - event := new(PriceFeederRoleRevoked) - if err := f.contract.UnpackLog(event, "RoleRevoked", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// PriceFeederSetPriceIterator is returned from FilterSetPrice and is used to iterate over the raw logs and unpacked data for SetPrice events raised by the PriceFeeder contract. -type PriceFeederSetPriceIterator struct { - Event *PriceFeederSetPrice // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *PriceFeederSetPriceIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(PriceFeederSetPrice) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(PriceFeederSetPrice) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *PriceFeederSetPriceIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *PriceFeederSetPriceIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// PriceFeederSetPrice represents a SetPrice event raised by the PriceFeeder contract. -type PriceFeederSetPrice struct { - MarketID [32]byte - Price *big.Int - Timestamp *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterSetPrice is a free log retrieval operation binding the contract event 0xabe0d897903d7a41d97b5dfbbb279a7175e68631bb9862bc4b3a1a209a855ac6. -// -// Solidity: event SetPrice(bytes32 indexed marketID, uint256 price, uint256 timestamp) -func (f *PriceFeederFilterer) FilterSetPrice(opts *bind.FilterOpts, marketID [][32]byte) (*PriceFeederSetPriceIterator, error) { - - var marketIDRule []interface{} - for _, marketIDItem := range marketID { - marketIDRule = append(marketIDRule, marketIDItem) - } - - logs, sub, err := f.contract.FilterLogs(opts, "SetPrice", marketIDRule) - if err != nil { - return nil, err - } - return &PriceFeederSetPriceIterator{contract: f.contract, event: "SetPrice", logs: logs, sub: sub}, nil -} - -// WatchSetPrice is a free log subscription operation binding the contract event 0xabe0d897903d7a41d97b5dfbbb279a7175e68631bb9862bc4b3a1a209a855ac6. -// -// Solidity: event SetPrice(bytes32 indexed marketID, uint256 price, uint256 timestamp) -func (f *PriceFeederFilterer) WatchSetPrice(opts *bind.WatchOpts, sink chan<- *PriceFeederSetPrice, marketID [][32]byte) (event.Subscription, error) { - - var marketIDRule []interface{} - for _, marketIDItem := range marketID { - marketIDRule = append(marketIDRule, marketIDItem) - } - - logs, sub, err := f.contract.WatchLogs(opts, "SetPrice", marketIDRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(PriceFeederSetPrice) - if err := f.contract.UnpackLog(event, "SetPrice", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseSetPrice is a log parse operation binding the contract event 0xabe0d897903d7a41d97b5dfbbb279a7175e68631bb9862bc4b3a1a209a855ac6. -// -// Solidity: event SetPrice(bytes32 indexed marketID, uint256 price, uint256 timestamp) -func (f *PriceFeederFilterer) ParseSetPrice(log types.Log) (*PriceFeederSetPrice, error) { - event := new(PriceFeederSetPrice) - if err := f.contract.UnpackLog(event, "SetPrice", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// PriceFeederSetSettlementPriceIterator is returned from FilterSetSettlementPrice and is used to iterate over the raw logs and unpacked data for SetSettlementPrice events raised by the PriceFeeder contract. -type PriceFeederSetSettlementPriceIterator struct { - Event *PriceFeederSetSettlementPrice // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *PriceFeederSetSettlementPriceIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(PriceFeederSetSettlementPrice) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(PriceFeederSetSettlementPrice) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *PriceFeederSetSettlementPriceIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *PriceFeederSetSettlementPriceIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// PriceFeederSetSettlementPrice represents a SetSettlementPrice event raised by the PriceFeeder contract. -type PriceFeederSetSettlementPrice struct { - MarketID [32]byte - Price *big.Int - Timestamp *big.Int - MarketExpirationTimestamp *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterSetSettlementPrice is a free log retrieval operation binding the contract event 0x4d1e7bc440f21abae9f84f1f4b5f1721205dd6fbd01100ffdd0e4b7d1e9be62c. -// -// Solidity: event SetSettlementPrice(bytes32 indexed marketID, uint256 price, uint256 timestamp, uint256 marketExpirationTimestamp) -func (f *PriceFeederFilterer) FilterSetSettlementPrice(opts *bind.FilterOpts, marketID [][32]byte) (*PriceFeederSetSettlementPriceIterator, error) { - - var marketIDRule []interface{} - for _, marketIDItem := range marketID { - marketIDRule = append(marketIDRule, marketIDItem) - } - - logs, sub, err := f.contract.FilterLogs(opts, "SetSettlementPrice", marketIDRule) - if err != nil { - return nil, err - } - return &PriceFeederSetSettlementPriceIterator{contract: f.contract, event: "SetSettlementPrice", logs: logs, sub: sub}, nil -} - -// WatchSetSettlementPrice is a free log subscription operation binding the contract event 0x4d1e7bc440f21abae9f84f1f4b5f1721205dd6fbd01100ffdd0e4b7d1e9be62c. -// -// Solidity: event SetSettlementPrice(bytes32 indexed marketID, uint256 price, uint256 timestamp, uint256 marketExpirationTimestamp) -func (f *PriceFeederFilterer) WatchSetSettlementPrice(opts *bind.WatchOpts, sink chan<- *PriceFeederSetSettlementPrice, marketID [][32]byte) (event.Subscription, error) { - - var marketIDRule []interface{} - for _, marketIDItem := range marketID { - marketIDRule = append(marketIDRule, marketIDItem) - } - - logs, sub, err := f.contract.WatchLogs(opts, "SetSettlementPrice", marketIDRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(PriceFeederSetSettlementPrice) - if err := f.contract.UnpackLog(event, "SetSettlementPrice", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseSetSettlementPrice is a log parse operation binding the contract event 0x4d1e7bc440f21abae9f84f1f4b5f1721205dd6fbd01100ffdd0e4b7d1e9be62c. -// -// Solidity: event SetSettlementPrice(bytes32 indexed marketID, uint256 price, uint256 timestamp, uint256 marketExpirationTimestamp) -func (f *PriceFeederFilterer) ParseSetSettlementPrice(log types.Log) (*PriceFeederSetSettlementPrice, error) { - event := new(PriceFeederSetSettlementPrice) - if err := f.contract.UnpackLog(event, "SetSettlementPrice", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -}