Documentation ¶
Index ¶
- Constants
- Variables
- func BigNegMaxUint64() *big.Int
- func FundingSamples_Constant_0_001_Percent_Length_60_With_Noises() (result []int32)
- func GenerateConstantFundingPremiums(value int32, count uint32) (result []int32)
- func GenerateEpochGenesisStateWithoutFunding() types.GenesisState
- func GenerateFundingSamplesWithValues(values []int32, counts []uint32) (result []int32)
- func GetConsAddressFromStringValidatorAddress(validatorAddr string) sdk.ConsAddress
- func GetConsAddressFromValidatorAddress(validatorAddr sdk.ValAddress) sdk.ConsAddress
- func GetEddsaPrivKeyFromValidatorAddressString(validatorAddrString string) cometbfted25519.PrivKey
- func GetPrivKeyFromConsAddress(consAddr sdk.ConsAddress) cometbfted25519.PrivKey
- func GetPrivKeyFromValidatorAddress(validatorAddr sdk.ValAddress) cryptotypes.PrivKey
- func GetPrivKeyFromValidatorAddressString(validatorAddrString string) cryptotypes.PrivKey
- func GetPrivateKeyFromAddress(accAddress string) cryptotypes.PrivKey
- func GetPublicKeyFromAddress(accAddress string) cryptotypes.PubKey
Constants ¶
const ( // TestFee is the gas fee offered for test transactions. TestFee = "50000" + asstypes.TDaiDenom // 5 cents // TestFeeNativeTokens is the gas fee offered for test transactions specified in native tokens. // Value is .05 of native token in adv4tnt denom. TestFeeNativeTokens = "50000000000000000" + lib.DefaultBaseDenom // TestGasLimit is the gas limit used for test transactions. // It's set to a larger amount such that the transaction never runs out of gas. TestGasLimit = 1_000_000 // TestNativeTokenDenom is the denom of the native token used for testing. TestNativeTokenDenom = "adv4tnt" )
const ( AliceMnenomic = "merge panther lobster crazy road hollow amused security before critic about cliff exhibit " + "cause coyote talent happy where lion river tobacco option coconut small" BobMnenomic = "color habit donor nurse dinosaur stable wonder process post perfect raven gold census inside " + "worth inquiry mammal panic olive toss shadow strong name drum" CarlMnenomic = "school artefact ghost shop exchange slender letter debris dose window alarm hurt whale tiger " + "find found island what engine ketchup globe obtain glory manage" DaveMnenomic = "switch boring kiss cash lizard coconut romance hurry sniff bus accident zone chest height " + "merit elevator furnace eagle fetch quit toward steak mystery nest" )
const ( BtcUsdPair = "BTC-USD" EthUsdPair = "ETH-USD" MaticUsdPair = "MATIC-USD" SolUsdPair = "SOL-USD" LtcUsdPair = "LTC-USD" IsoUsdPair = "ISO-USD" Iso2UsdPair = "ISO2-USD" IsoBtcPair = "ISO-BTC" Iso2BtcPair = "ISO2-BTC" DefaultMarketIdNotUsedInGenesis = 9999 LastMarketIdInGenesis = 6 BtcUsdExponent = -5 EthUsdExponent = -6 LinkUsdExponent = -8 MaticUsdExponent = -9 CrvUsdExponent = -10 SolUsdExponent = -8 LtcUsdExponent = -7 IsoUsdExponent = -8 Iso2UsdExponent = -7 IsoBtcExponent = -8 Iso2BtcExponent = -8 LinkBtcExponent = -8 CoinbaseExchangeName = "Coinbase" BinanceExchangeName = "Binance" BinanceUSExchangeName = "BinanceUS" BitfinexExchangeName = "Bitfinex" KrakenExchangeName = "Kraken" FiveHundredBillion = uint64(500_000_000_000) ThirtyBillion = uint64(30_000_000_000) FiveBillion = uint64(5_000_000_000) ThreeBillion = uint64(3_000_000_000) FiveMillion = uint64(5_000_000) ThreeMillion = uint64(3_000_000) OneMillion = uint64(1_000_000) // Market param validation errors. ErrorMsgMarketPairCannotBeEmpty = "Pair cannot be empty" ErrorMsgInvalidMinPriceChange = "Min price change in parts-per-million must be greater than 0 and less than 10000" )
const GenesisState = `` /* 62486-byte string literal not displayed */
This is a copy of the localnet genesis.json. This can be retrieved from the localnet docker container path: /klyraprotocol/chain/.alice/config/genesis.json Disable linter for exchange config.
const GenesisStateNoVe = `` /* 59750-byte string literal not displayed */
This is a copy of the localnet genesis.json. This can be retrieved from the localnet docker container path: /klyraprotocol/chain/.alice/config/genesis.json. This genesis has Vote Extension disabled until a very high height. Disable linter for exchange config.
const GenesisStateNoVeIBC1 = `` /* 67700-byte string literal not displayed */
This is a copy of the localnet genesis.json. This can be retrieved from the localnet docker container path: /klyraprotocol/chain/.alice/config/genesis.json. This genesis has Vote Extension disabled until a very high height. Disable linter for exchange config.
const GenesisStateNoVeIBC2 = `` /* 59719-byte string literal not displayed */
This is a copy of the localnet genesis.json. This can be retrieved from the localnet docker container path: /klyraprotocol/chain/.alice/config/genesis.json. This genesis has Vote Extension disabled until a very high height. Disable linter for exchange config.
const GenesisStateNoVeIBC3 = `` /* 59719-byte string literal not displayed */
This is a copy of the localnet genesis.json. This can be retrieved from the localnet docker container path: /klyraprotocol/chain/.alice/config/genesis.json. This genesis has Vote Extension disabled until a very high height. Disable linter for exchange config.
const TestFundingRateClampFactorPpm = 6_000_000
Perpetual genesis parameters.
const TestMinNumVotesPerSample = 15
const TestPremiumVoteClampFactorPpm = 60_000_000
Variables ¶
var ( AliceAccAddress = sdk.AccAddress(AlicePrivateKey.PubKey().Address()) BobAccAddress = sdk.AccAddress(BobPrivateKey.PubKey().Address()) CarlAccAddress = sdk.AccAddress(CarlPrivateKey.PubKey().Address()) DaveAccAddress = sdk.AccAddress(DavePrivateKey.PubKey().Address()) AliceValAddress = sdk.ValAddress(AlicePrivateKey.PubKey().Address()) BobValAddress = sdk.ValAddress(BobPrivateKey.PubKey().Address()) CarlValAddress = sdk.ValAddress(CarlPrivateKey.PubKey().Address()) DaveValAddress = sdk.ValAddress(DavePrivateKey.PubKey().Address()) AliceConsAddress, _ = sdk.ConsAddressFromBech32("klyravalcons1zf9csp5ygq95cqyxh48w3qkuckmpealrhxq0ye") BobConsAddress, _ = sdk.ConsAddressFromBech32("klyravalcons1s7wykslt83kayxuaktep9fw8qxe5n73up9h3xp") CarlConsAddress, _ = sdk.ConsAddressFromBech32("klyravalcons1vy0nrh7l4rtezrsakaadz4mngwlpdmhyretgwy") DaveConsAddress, _ = sdk.ConsAddressFromBech32("klyravalcons1stjspktkshgcsv8sneqk2vs2ws0nw2wrnjkt6l") AliceValidatorAddress = sdk.ValAddress(AlicePrivateKey.PubKey().Address()) BobValidatorAddress = sdk.ValAddress(BobPrivateKey.PubKey().Address()) CarlValidatorAddress = sdk.ValAddress(CarlPrivateKey.PubKey().Address()) DaveValidatorAddress = sdk.ValAddress(DavePrivateKey.PubKey().Address()) AliceAddressBz = AlicePrivateKey.PubKey().Address().Bytes() BobAddressBz = BobPrivateKey.PubKey().Address().Bytes() CarlAddressBz = CarlPrivateKey.PubKey().Address().Bytes() DaveAddressBz = DavePrivateKey.PubKey().Address().Bytes() // Collateral pool addresses for isolated perpetuals. DummyCollateralPoolAddress = authtypes.NewModuleAddress(satypes.ModuleName) CollateralPoolAddress0 = authtypes.NewModuleAddress(satypes.ModuleName + ":0") CollateralPoolAddress1 = authtypes.NewModuleAddress(satypes.ModuleName + ":1") CollateralPoolAddress2 = authtypes.NewModuleAddress(satypes.ModuleName + ":2") IsoCollateralPoolAddress = authtypes.NewModuleAddress(satypes.ModuleName + ":3") Iso2CollateralPoolAddress = authtypes.NewModuleAddress(satypes.ModuleName + ":4") )
var ( // TestFeeCoins_5Cents is the gas fee offered for test transactions. TestFeeCoins_5Cents = lib.MustParseCoinsNormalized(TestFee) // TestFeeCoins_5Cents_NativeToken is the gas fee offered for test transactions specified in native tokens. TestFeeCoins_5Cents_NativeToken = lib.MustParseCoinsNormalized(TestFeeNativeTokens) )
var ( BtcUsd = &asstypes.Asset{ Id: 1, Symbol: "BTC", Denom: "btc-denom", DenomExponent: int32(-8), HasMarket: false, MarketId: uint32(0), AtomicResolution: int32(-8), MaxSlippagePpm: uint32(0), } TDai = &asstypes.Asset{ Id: 0, Symbol: "TDAI", Denom: asstypes.AssetTDai.Denom, DenomExponent: int32(-6), HasMarket: false, MarketId: uint32(0), AtomicResolution: int32(-6), MaxSlippagePpm: uint32(0), } Assets_DefaultGenesisState = asstypes.GenesisState{ Assets: []asstypes.Asset{ { Id: TDai.Id, Symbol: TDai.Symbol, Denom: TDai.Denom, DenomExponent: TDai.DenomExponent, HasMarket: TDai.HasMarket, MarketId: TDai.MarketId, AtomicResolution: TDai.AtomicResolution, MaxSlippagePpm: TDai.MaxSlippagePpm, }, { Id: BtcUsd.Id, Symbol: BtcUsd.Symbol, Denom: BtcUsd.Denom, DenomExponent: BtcUsd.DenomExponent, HasMarket: BtcUsd.HasMarket, MarketId: BtcUsd.MarketId, AtomicResolution: BtcUsd.AtomicResolution, MaxSlippagePpm: BtcUsd.MaxSlippagePpm, }, }, } )
var ( ClobPair_Spot_Btc = clobtypes.ClobPair{ Id: 1000, Metadata: &clobtypes.ClobPair_SpotClobMetadata{ SpotClobMetadata: &clobtypes.SpotClobMetadata{ BaseAssetId: 0, QuoteAssetId: 0, }, }, StepBaseQuantums: 10, SubticksPerTick: 100, QuantumConversionExponent: -8, Status: clobtypes.ClobPair_STATUS_ACTIVE, } ClobPair_Btc = clobtypes.ClobPair{ Id: 0, Metadata: &clobtypes.ClobPair_PerpetualClobMetadata{ PerpetualClobMetadata: &clobtypes.PerpetualClobMetadata{ PerpetualId: 0, }, }, StepBaseQuantums: 5, SubticksPerTick: 5, QuantumConversionExponent: -8, Status: clobtypes.ClobPair_STATUS_ACTIVE, } ClobPair_Eth = clobtypes.ClobPair{ Id: 1, Metadata: &clobtypes.ClobPair_PerpetualClobMetadata{ PerpetualClobMetadata: &clobtypes.PerpetualClobMetadata{ PerpetualId: 1, }, }, StepBaseQuantums: 1000, SubticksPerTick: 1000, QuantumConversionExponent: -9, Status: clobtypes.ClobPair_STATUS_ACTIVE, } ClobPair_Eth_No_Fee = clobtypes.ClobPair{ Id: 1, Metadata: &clobtypes.ClobPair_PerpetualClobMetadata{ PerpetualClobMetadata: &clobtypes.PerpetualClobMetadata{ PerpetualId: 1, }, }, StepBaseQuantums: 1000, SubticksPerTick: 1000, QuantumConversionExponent: -9, Status: clobtypes.ClobPair_STATUS_ACTIVE, } ClobPair_Asset = clobtypes.ClobPair{ Id: 100, Metadata: &clobtypes.ClobPair_SpotClobMetadata{ SpotClobMetadata: &clobtypes.SpotClobMetadata{ BaseAssetId: 0, QuoteAssetId: 1, }, }, StepBaseQuantums: 1000, SubticksPerTick: 100, QuantumConversionExponent: 10, Status: clobtypes.ClobPair_STATUS_ACTIVE, } ClobPair_Btc2 = clobtypes.ClobPair{ Id: 101, Metadata: &clobtypes.ClobPair_PerpetualClobMetadata{ PerpetualClobMetadata: &clobtypes.PerpetualClobMetadata{ PerpetualId: 0, }, }, StepBaseQuantums: 100, SubticksPerTick: 1000, QuantumConversionExponent: -8, Status: clobtypes.ClobPair_STATUS_ACTIVE, } ClobPair_Btc3 = clobtypes.ClobPair{ Id: 0, Metadata: &clobtypes.ClobPair_PerpetualClobMetadata{ PerpetualClobMetadata: &clobtypes.PerpetualClobMetadata{ PerpetualId: 0, }, }, StepBaseQuantums: 10, SubticksPerTick: 100, QuantumConversionExponent: -8, Status: clobtypes.ClobPair_STATUS_ACTIVE, } ClobPair_Btc_Initializing = clobtypes.ClobPair{ Id: 0, Metadata: &clobtypes.ClobPair_PerpetualClobMetadata{ PerpetualClobMetadata: &clobtypes.PerpetualClobMetadata{ PerpetualId: 0, }, }, StepBaseQuantums: 5, SubticksPerTick: 5, QuantumConversionExponent: -8, Status: clobtypes.ClobPair_STATUS_INITIALIZING, } ClobPair_Btc_Final_Settlement = clobtypes.ClobPair{ Id: 0, Metadata: &clobtypes.ClobPair_PerpetualClobMetadata{ PerpetualClobMetadata: &clobtypes.PerpetualClobMetadata{ PerpetualId: 0, }, }, StepBaseQuantums: 5, SubticksPerTick: 5, QuantumConversionExponent: -8, Status: clobtypes.ClobPair_STATUS_FINAL_SETTLEMENT, } ClobPair_Btc_Paused = clobtypes.ClobPair{ Id: 0, Metadata: &clobtypes.ClobPair_PerpetualClobMetadata{ PerpetualClobMetadata: &clobtypes.PerpetualClobMetadata{ PerpetualId: 0, }, }, StepBaseQuantums: 5, SubticksPerTick: 5, QuantumConversionExponent: -8, Status: clobtypes.ClobPair_STATUS_PAUSED, } ClobPair_2_Sol = clobtypes.ClobPair{ Id: 2, Metadata: &clobtypes.ClobPair_PerpetualClobMetadata{ PerpetualClobMetadata: &clobtypes.PerpetualClobMetadata{ PerpetualId: 2, }, }, StepBaseQuantums: 5, SubticksPerTick: 5, QuantumConversionExponent: -8, Status: clobtypes.ClobPair_STATUS_ACTIVE, } ClobPair_3_Iso = clobtypes.ClobPair{ Id: 3, Metadata: &clobtypes.ClobPair_PerpetualClobMetadata{ PerpetualClobMetadata: &clobtypes.PerpetualClobMetadata{ PerpetualId: 3, }, }, StepBaseQuantums: 5, SubticksPerTick: 5, QuantumConversionExponent: -8, Status: clobtypes.ClobPair_STATUS_ACTIVE, } ClobPair_3_Iso_Final_Settlement = clobtypes.ClobPair{ Id: 3, Metadata: &clobtypes.ClobPair_PerpetualClobMetadata{ PerpetualClobMetadata: &clobtypes.PerpetualClobMetadata{ PerpetualId: 3, }, }, StepBaseQuantums: 5, SubticksPerTick: 5, QuantumConversionExponent: -8, Status: clobtypes.ClobPair_STATUS_FINAL_SETTLEMENT, } ClobPair_4_Iso2 = clobtypes.ClobPair{ Id: 4, Metadata: &clobtypes.ClobPair_PerpetualClobMetadata{ PerpetualClobMetadata: &clobtypes.PerpetualClobMetadata{ PerpetualId: 4, }, }, StepBaseQuantums: 5, SubticksPerTick: 5, QuantumConversionExponent: -8, Status: clobtypes.ClobPair_STATUS_ACTIVE, } ClobPair_5_IsoBtc = clobtypes.ClobPair{ Id: 5, Metadata: &clobtypes.ClobPair_PerpetualClobMetadata{ PerpetualClobMetadata: &clobtypes.PerpetualClobMetadata{ PerpetualId: 5, }, }, StepBaseQuantums: 5, SubticksPerTick: 5, QuantumConversionExponent: -8, Status: clobtypes.ClobPair_STATUS_ACTIVE, } ClobPair_6_IsoBtc_CollatPool4 = clobtypes.ClobPair{ Id: 6, Metadata: &clobtypes.ClobPair_PerpetualClobMetadata{ PerpetualClobMetadata: &clobtypes.PerpetualClobMetadata{ PerpetualId: 6, }, }, StepBaseQuantums: 5, SubticksPerTick: 5, QuantumConversionExponent: -8, Status: clobtypes.ClobPair_STATUS_ACTIVE, } ClobPair_5_Iso2Btc = clobtypes.ClobPair{ Id: 7, Metadata: &clobtypes.ClobPair_PerpetualClobMetadata{ PerpetualClobMetadata: &clobtypes.PerpetualClobMetadata{ PerpetualId: 7, }, }, StepBaseQuantums: 5, SubticksPerTick: 5, QuantumConversionExponent: -8, Status: clobtypes.ClobPair_STATUS_ACTIVE, } ClobPair_BtcBtc = clobtypes.ClobPair{ Id: 9, Metadata: &clobtypes.ClobPair_PerpetualClobMetadata{ PerpetualClobMetadata: &clobtypes.PerpetualClobMetadata{ PerpetualId: 10, }, }, StepBaseQuantums: 5, SubticksPerTick: 5, QuantumConversionExponent: -8, Status: clobtypes.ClobPair_STATUS_ACTIVE, } ClobPair_LinkBtc = clobtypes.ClobPair{ Id: 10, Metadata: &clobtypes.ClobPair_PerpetualClobMetadata{ PerpetualClobMetadata: &clobtypes.PerpetualClobMetadata{ PerpetualId: 11, }, }, StepBaseQuantums: 1, SubticksPerTick: 1, QuantumConversionExponent: -8, Status: clobtypes.ClobPair_STATUS_ACTIVE, } )
var ( // Collateralization check functions. CollatCheck_EmptyUpdateResults_Success = func( subaccountMatchedOrders map[satypes.SubaccountId][]clobtypes.PendingOpenOrder, ) ( success bool, successPerUpdate map[satypes.SubaccountId]satypes.UpdateResult, ) { return true, make(map[satypes.SubaccountId]satypes.UpdateResult) } CollatCheck_EmptyUpdateResults_Failure = func( subaccountMatchedOrders map[satypes.SubaccountId][]clobtypes.PendingOpenOrder, ) ( success bool, successPerUpdate map[satypes.SubaccountId]satypes.UpdateResult, ) { saMap := make(map[satypes.SubaccountId]satypes.UpdateResult) for a := range subaccountMatchedOrders { saMap[a] = satypes.NewlyUndercollateralized } return false, saMap } )
var ( // MsgUpdateParams replaces MsgCompleteBridge, since we delete the bridge module // Note: the crucial component here is that Authority is set to the module address // of the delaymsg module TestMsg1 = &perpetualstypes.MsgUpdateParams{ Authority: types.ModuleAddress.String(), Params: PerpetualsGenesisParams, } TestMsg2 = &perpetualstypes.MsgUpdateParams{ Authority: types.ModuleAddress.String(), Params: perpetualstypes.Params{ FundingRateClampFactorPpm: TestFundingRateClampFactorPpm + 1, PremiumVoteClampFactorPpm: TestPremiumVoteClampFactorPpm, MinNumVotesPerSample: TestMinNumVotesPerSample, }, } TestMsg3 = &perpetualstypes.MsgUpdateParams{ Authority: types.ModuleAddress.String(), Params: perpetualstypes.Params{ FundingRateClampFactorPpm: TestFundingRateClampFactorPpm + 2, PremiumVoteClampFactorPpm: TestPremiumVoteClampFactorPpm, MinNumVotesPerSample: TestMinNumVotesPerSample, }, } NoHandlerMsg = &testdata.TestMsg{Signers: []string{types.ModuleAddress.String()}} AllMsgs = []sdk.Msg{TestMsg1, TestMsg2, TestMsg3} )
var ( TestEncodingCfg = encoding.GetTestEncodingCfg() TestTxBuilder = TestEncodingCfg.TxConfig.NewTxBuilder() )
var ( // Order hashes. OrderHash_Empty = [32]byte{ 0x06, 0xd9, 0x36, 0x73, 0x41, 0x3b, 0xa3, 0x29, 0x4a, 0xbc, 0x0e, 0x33, 0x97, 0x38, 0x1a, 0x44, 0x15, 0xed, 0x37, 0x9c, 0xe6, 0x21, 0xfe, 0x91, 0x6b, 0xaf, 0xf7, 0x45, 0x98, 0x3d, 0x1b, 0x8c, } OrderHash_Alice_Number0_Id0 = [32]uint8{ 0xc5, 0xb5, 0xc0, 0x77, 0x3f, 0xfa, 0x4f, 0x7, 0x39, 0x61, 0x4f, 0x55, 0x87, 0xcd, 0x80, 0x96, 0xa3, 0x2d, 0x6c, 0xa7, 0x28, 0x53, 0xe7, 0x2b, 0x20, 0xad, 0x86, 0x75, 0xeb, 0x10, 0x46, 0x15, } // Liquidation order hashes. LiquidationOrderHash_Empty = [32]byte{ 0x10, 0x2b, 0x51, 0xb9, 0x76, 0x5a, 0x56, 0xa3, 0xe8, 0x99, 0xf7, 0xcf, 0x0e, 0xe3, 0x8e, 0x52, 0x51, 0xf9, 0xc5, 0x03, 0xb3, 0x57, 0xb3, 0x30, 0xa4, 0x91, 0x83, 0xeb, 0x7b, 0x15, 0x56, 0x04, } LiquidationOrderHash_Alice_Number0_Perpetual0 = [32]byte{ 0x82, 0xba, 0x4e, 0xbd, 0x7b, 0x36, 0x58, 0x3c, 0x30, 0x37, 0x5b, 0x88, 0xb5, 0x9a, 0x8f, 0x34, 0x9b, 0x7a, 0x4e, 0xfa, 0x6e, 0xe3, 0x67, 0x65, 0x3c, 0xdf, 0x50, 0x40, 0x7e, 0xa3, 0x26, 0x27, } LiquidationOrderHash_Alice_Number0_Perpetual1 = [32]byte{ 0x92, 0x15, 0xab, 0xb0, 0xa5, 0xd5, 0x64, 0x79, 0x96, 0x39, 0xe9, 0x23, 0xcb, 0x1e, 0x67, 0x29, 0xbb, 0xc9, 0x56, 0x76, 0x82, 0xa4, 0x21, 0x8e, 0x58, 0xa6, 0xcd, 0xee, 0xbc, 0x3, 0xc2, 0xf9, } LiquidationOrderHash_Alice_Number1_Perpetual0 = [32]byte{ 0x97, 0xd7, 0x5a, 0x43, 0x53, 0x9c, 0x8d, 0x16, 0xcf, 0xa1, 0x24, 0xb9, 0x35, 0x2b, 0xa8, 0xdb, 0x95, 0x16, 0x8e, 0xf8, 0xd, 0xdd, 0x9d, 0x5e, 0x2f, 0xe, 0x42, 0x8c, 0xb7, 0x69, 0xdc, 0xfd, } // OrderId hashes OrderIdHash_Empty = []byte{ 0x10, 0x2b, 0x51, 0xb9, 0x76, 0x5a, 0x56, 0xa3, 0xe8, 0x99, 0xf7, 0xcf, 0x0e, 0xe3, 0x8e, 0x52, 0x51, 0xf9, 0xc5, 0x03, 0xb3, 0x57, 0xb3, 0x30, 0xa4, 0x91, 0x83, 0xeb, 0x7b, 0x15, 0x56, 0x04, } OrderIdHash_Alice_Number0_Id0 = []byte{ 0x82, 0xba, 0x4e, 0xbd, 0x7b, 0x36, 0x58, 0x3c, 0x30, 0x37, 0x5b, 0x88, 0xb5, 0x9a, 0x8f, 0x34, 0x9b, 0x7a, 0x4e, 0xfa, 0x6e, 0xe3, 0x67, 0x65, 0x3c, 0xdf, 0x50, 0x40, 0x7e, 0xa3, 0x26, 0x27, } )
SHA256 hashes.
var ( TestTxBytes = []byte{0x1, 0x2, 0x3} TestTxHashBytes = tmhash.Sum(TestTxBytes) TestTxHashString = lib.TxHash(fmt.Sprintf("%X", TestTxHashBytes)) TestTxHashHeader = msgsender.MessageHeader{ Key: msgsender.TransactionHashHeaderKey, Value: TestTxHashBytes, } TestTxBytes1 = []byte{0x4, 0x5, 0x6} TestTxHashBytes1 = tmhash.Sum(TestTxBytes1) TestTxHashString1 = lib.TxHash(fmt.Sprintf("%X", TestTxHashBytes1)) TestOffchainUpdates = &clobtypes.OffchainUpdates{ Messages: []clobtypes.OffchainUpdateMessage{ {Type: clobtypes.PlaceMessageType, OrderId: testOrderId, Message: testMessage}, {Type: clobtypes.UpdateMessageType, OrderId: testOrderId, Message: testMessage}, {Type: clobtypes.RemoveMessageType, OrderId: testOrderId, Message: testMessage}, }, } TestOffchainMessages = TestOffchainUpdates.GetMessages() )
var ( // Block limits. FillablePriceConfig_Default = clobtypes.FillablePriceConfig{ BankruptcyAdjustmentPpm: lib.OneMillion, SpreadToMaintenanceMarginRatioPpm: 100_000, } FillablePriceConfig_Max_Smmr = clobtypes.FillablePriceConfig{ BankruptcyAdjustmentPpm: lib.OneMillion, SpreadToMaintenanceMarginRatioPpm: lib.OneMillion, } // Liquidation Configs. LiquidationsConfig_No_Limit = clobtypes.LiquidationsConfig{ InsuranceFundFeePpm: 5_000, ValidatorFeePpm: 0, LiquidityFeePpm: 0, FillablePriceConfig: FillablePriceConfig_Default, } LiquidationsConfig_FillablePrice_Max_Smmr = clobtypes.LiquidationsConfig{ InsuranceFundFeePpm: 5_000, ValidatorFeePpm: 0, LiquidityFeePpm: 0, FillablePriceConfig: FillablePriceConfig_Max_Smmr, } LiquidationsConfig_FillablePrice_Max_Smmr_With_Fees = clobtypes.LiquidationsConfig{ InsuranceFundFeePpm: 5_000, ValidatorFeePpm: 100_000, LiquidityFeePpm: 400_000, FillablePriceConfig: FillablePriceConfig_Max_Smmr, } LiquidationsConfig_Position_Min10m_Max05mPpm = clobtypes.LiquidationsConfig{ InsuranceFundFeePpm: 5_000, ValidatorFeePpm: 200_000, LiquidityFeePpm: 800_000, FillablePriceConfig: FillablePriceConfig_Default, } LiquidationsConfig_Subaccount_Max10bNotionalLiquidated_Max10bInsuranceLost = clobtypes.LiquidationsConfig{ InsuranceFundFeePpm: 5_000, ValidatorFeePpm: 200_000, LiquidityFeePpm: 800_000, FillablePriceConfig: FillablePriceConfig_Default, } )
var ( // Liquidation Orders. LiquidationOrder_Carl_Num0_Clob0_Buy3_Price50_BTC = *clobtypes.NewLiquidationOrder( Carl_Num0, ClobPair_Btc, true, 3, 50, ) LiquidationOrder_Bob_Num0_Clob0_Buy100_Price20_BTC = *clobtypes.NewLiquidationOrder( Bob_Num0, ClobPair_Btc, true, 100, 20, ) LiquidationOrder_Bob_Num0_Clob0_Buy25_Price30_BTC = *clobtypes.NewLiquidationOrder( Bob_Num0, ClobPair_Btc, true, 25, 30, ) LiquidationOrder_Alice_Num0_Clob0_Sell20_Price25_BTC = *clobtypes.NewLiquidationOrder( Alice_Num0, ClobPair_Btc, false, 20, 25, ) LiquidationOrder_Bob_Num0_Clob1_Sell70_Price10_ETH = *clobtypes.NewLiquidationOrder( Bob_Num0, ClobPair_Eth, false, 70, 10, ) LiquidationOrder_Carl_Num0_Clob0_Buy100BTC_Price101 = *clobtypes.NewLiquidationOrder( Carl_Num0, ClobPair_Btc, true, 10_000_000_000, 101_000_000, ) LiquidationOrder_Carl_Num0_Clob0_Buy01BTC_Price50000 = *clobtypes.NewLiquidationOrder( Carl_Num0, ClobPair_Btc, true, 10_000_000, 50_000_000_000, ) LiquidationOrder_Carl_Num0_Clob0_Buy1BTC_Price50000 = *clobtypes.NewLiquidationOrder( Carl_Num0, ClobPair_Btc, true, 100_000_000, 50_000_000_000, ) LiquidationOrder_Carl_Num0_Clob0_Buy1BTC_Price50500 = *clobtypes.NewLiquidationOrder( Carl_Num0, ClobPair_Btc, true, 100_000_000, 50_500_000_000, ) LiquidationOrder_Carl_Num0_Clob0_Buy1BTC_Price50501_01 = *clobtypes.NewLiquidationOrder( Carl_Num0, ClobPair_Btc, true, 100_000_000, 50_501_010_000, ) LiquidationOrder_Carl_Num0_Clob0_Buy1BTC_Price60000 = *clobtypes.NewLiquidationOrder( Carl_Num0, ClobPair_Btc, true, 100_000_000, 60_000_000_000, ) LiquidationOrder_Carl_Num0_Clob1_Buy1ETH_Price3000 = *clobtypes.NewLiquidationOrder( Carl_Num0, ClobPair_Eth, true, 1_000_000_000, 3_000_000_000, ) LiquidationOrder_Carl_Num0_Clob1_Buy1ETH_Price3030 = *clobtypes.NewLiquidationOrder( Carl_Num0, ClobPair_Eth, true, 1_000_000_000, 3_030_000_000, ) LiquidationOrder_Dave_Num0_Clob0_Buy100BTC_Price102 = *clobtypes.NewLiquidationOrder( Dave_Num0, ClobPair_Btc, true, 10_000_000_000, 102_000_000, ) LiquidationOrder_Dave_Num0_Clob0_Sell100BTC_Price98 = *clobtypes.NewLiquidationOrder( Dave_Num0, ClobPair_Btc, false, 10_000_000_000, 98_000_000, ) LiquidationOrder_Dave_Num0_Clob0_Sell1BTC_Price49500 = *clobtypes.NewLiquidationOrder( Dave_Num0, ClobPair_Btc, false, 100_000_000, 49_500_000_000, ) LiquidationOrder_Dave_Num0_Clob0_Sell1BTC_Price50000 = *clobtypes.NewLiquidationOrder( Dave_Num0, ClobPair_Btc, false, 100_000_000, 50_000_000_000, ) LiquidationOrder_Dave_Num1_Clob0_Buy100BTC_Price101 = *clobtypes.NewLiquidationOrder( Dave_Num1, ClobPair_Btc, true, 10_000_000_000, 101_000_000, ) LiquidationOrder_Dave_Num1_Clob0_Buy100BTC_Price102 = *clobtypes.NewLiquidationOrder( Dave_Num1, ClobPair_Btc, true, 10_000_000_000, 102_000_000, ) LiquidationOrder_Dave_Num1_Clob0_Sell01BTC_Price50000 = *clobtypes.NewLiquidationOrder( Dave_Num1, ClobPair_Btc, false, 10_000_000, 50_000_000_000, ) )
var ( Msg_CancelOrder = &clobtypes.MsgCancelOrder{ OrderId: clobtypes.OrderId{ ClientId: 0, SubaccountId: Alice_Num0, }, GoodTilOneof: &clobtypes.MsgCancelOrder_GoodTilBlock{GoodTilBlock: 10}, } Msg_CancelOrder_TxBtyes []byte Msg_CancelOrder_LongTerm = &clobtypes.MsgCancelOrder{ OrderId: LongTermOrder_Alice_Num0_Id0_Clob0_Buy5_Price10_GTBT15.GetOrderId(), GoodTilOneof: &clobtypes.MsgCancelOrder_GoodTilBlockTime{GoodTilBlockTime: 20}, } Msg_CancelOrder_Conditional = &clobtypes.MsgCancelOrder{ OrderId: ConditionalOrder_Alice_Num0_Id0_Clob0_Buy5_Price10_GTBT15_StopLoss20.GetOrderId(), GoodTilOneof: &clobtypes.MsgCancelOrder_GoodTilBlockTime{GoodTilBlockTime: 20}, } Msg_BatchCancel = &clobtypes.MsgBatchCancel{ SubaccountId: Alice_Num0, ShortTermCancels: []clobtypes.OrderBatch{ { ClobPairId: 0, ClientIds: []uint32{0}, }, }, GoodTilBlock: 5, } Msg_BatchCancel_TxBtyes []byte Msg_PlaceOrder = &clobtypes.MsgPlaceOrder{ Order: Order_Alice_Num0_Id0_Clob0_Buy5_Price10_GTB15, } Msg_PlaceOrder_TxBtyes []byte Msg_PlaceOrder_LongTerm = &clobtypes.MsgPlaceOrder{ Order: LongTermOrder_Alice_Num0_Id0_Clob0_Buy5_Price10_GTBT15, } Msg_PlaceOrder_Conditional = &clobtypes.MsgPlaceOrder{ Order: ConditionalOrder_Alice_Num0_Id0_Clob0_Buy5_Price10_GTBT15_StopLoss20, } Msg_Transfer = &sendingtypes.MsgCreateTransfer{ Transfer: &sendingtypes.Transfer{ Sender: Carl_Num0, Recipient: Dave_Num0, AssetId: assettypes.AssetTDai.Id, Amount: 500_000_000, }, } Msg_Transfer_Invalid_SameSenderAndRecipient = &sendingtypes.MsgCreateTransfer{ Transfer: &sendingtypes.Transfer{ Sender: Alice_Num0, Recipient: Alice_Num0, AssetId: assettypes.AssetTDai.Id, Amount: 500_000_000, }, } Msg_Transfer_Invalid_SameSenderAndRecipient_TxBytes []byte Msg_Send = &banktypes.MsgSend{ FromAddress: AliceAccAddress.String(), ToAddress: BobAccAddress.String(), Amount: sdk.Coins{sdk.Coin{ Denom: "foo", Amount: sdkmath.OneInt(), }}, } Msg_Send_TxBytes []byte Msg_SendAndTransfer_TxBytes []byte )
var ( ValidEmptyMsgProposedOperations = &types.MsgProposedOperations{} ValidEmptyMsgProposedOperationsTxBytes []byte // InvalidProposedOperationsUnspecifiedOrderRemovalReason is invalid because the order removal reason is // unspecified. InvalidProposedOperationsUnspecifiedOrderRemovalReason = &types.MsgProposedOperations{ OperationsQueue: []types.OperationRaw{ { Operation: &types.OperationRaw_OrderRemoval{ OrderRemoval: &types.OrderRemoval{ OrderId: LongTermOrder_Alice_Num0_Id0_Clob0_Buy100_Price10_GTBT15.OrderId, RemovalReason: types.OrderRemoval_REMOVAL_REASON_UNSPECIFIED, }, }, }, }, } InvalidProposedOperationsUnspecifiedOrderRemovalReasonTxBytes []byte )
var ( CancelOrder_Alice_Num0_Id12_Clob0_GTB5 = clobtypes.MsgCancelOrder{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 12, OrderFlags: clobtypes.OrderIdFlags_ShortTerm, ClobPairId: 0, }, GoodTilOneof: &clobtypes.MsgCancelOrder_GoodTilBlock{GoodTilBlock: 5}, } CancelOrder_Alice_Num1_Id13_Clob0_GTB25 = clobtypes.MsgCancelOrder{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num1, ClientId: 13, OrderFlags: clobtypes.OrderIdFlags_ShortTerm, ClobPairId: 0, }, GoodTilOneof: &clobtypes.MsgCancelOrder_GoodTilBlock{GoodTilBlock: 25}, } CancelOrder_Alice_Num1_Id13_Clob0_GTB30 = clobtypes.MsgCancelOrder{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num1, ClientId: 13, OrderFlags: clobtypes.OrderIdFlags_ShortTerm, ClobPairId: 0, }, GoodTilOneof: &clobtypes.MsgCancelOrder_GoodTilBlock{GoodTilBlock: 30}, } CancelOrder_Alice_Num1_Id13_Clob0_GTB35 = clobtypes.MsgCancelOrder{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num1, ClientId: 13, OrderFlags: clobtypes.OrderIdFlags_ShortTerm, ClobPairId: 0, }, GoodTilOneof: &clobtypes.MsgCancelOrder_GoodTilBlock{GoodTilBlock: 35}, } CancelOrder_Bob_Num0_Id2_Clob1_GTB5 = clobtypes.MsgCancelOrder{ OrderId: clobtypes.OrderId{ SubaccountId: Bob_Num0, ClientId: 2, OrderFlags: clobtypes.OrderIdFlags_ShortTerm, ClobPairId: 1, }, GoodTilOneof: &clobtypes.MsgCancelOrder_GoodTilBlock{GoodTilBlock: 5}, } CancelOrder_Alice_Num0_Id10_Clob0_GTB20 = clobtypes.MsgCancelOrder{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 10, OrderFlags: clobtypes.OrderIdFlags_ShortTerm, ClobPairId: 0, }, GoodTilOneof: &clobtypes.MsgCancelOrder_GoodTilBlock{GoodTilBlock: 20}, } CancelOrder_Alice_Num1_Id11_Clob1_GTB20 = clobtypes.MsgCancelOrder{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num1, ClientId: 11, OrderFlags: clobtypes.OrderIdFlags_ShortTerm, ClobPairId: 1, }, GoodTilOneof: &clobtypes.MsgCancelOrder_GoodTilBlock{GoodTilBlock: 20}, } CancelOrder_Bob_Num1_Id11_Clob1_GTB20 = clobtypes.MsgCancelOrder{ OrderId: clobtypes.OrderId{ SubaccountId: Bob_Num1, ClientId: 11, OrderFlags: clobtypes.OrderIdFlags_ShortTerm, ClobPairId: 1, }, GoodTilOneof: &clobtypes.MsgCancelOrder_GoodTilBlock{GoodTilBlock: 20}, } // Long Term Order Cancellations CancelLongTermOrder_Alice_Num1_Id1_Clob0_GTBT_20 = clobtypes.MsgCancelOrder{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num1, ClientId: 1, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, GoodTilOneof: &clobtypes.MsgCancelOrder_GoodTilBlockTime{GoodTilBlockTime: 25}, } CancelLongTermOrder_Alice_Num0_Id0_Clob0_GTBT5 = clobtypes.MsgCancelOrder{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, GoodTilOneof: &clobtypes.MsgCancelOrder_GoodTilBlockTime{GoodTilBlockTime: 5}, } CancelLongTermOrder_Alice_Num0_Id0_Clob0_GTBT15 = clobtypes.MsgCancelOrder{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, GoodTilOneof: &clobtypes.MsgCancelOrder_GoodTilBlockTime{GoodTilBlockTime: 15}, } CancelLongTermOrder_Alice_Num11_Id0_Clob2_GTBT15 = clobtypes.MsgCancelOrder{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num11, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 2, }, GoodTilOneof: &clobtypes.MsgCancelOrder_GoodTilBlockTime{GoodTilBlockTime: 15}, } CancelLongTermOrder_Bob_Num0_Id0_Clob0_GTBT5 = clobtypes.MsgCancelOrder{ OrderId: clobtypes.OrderId{ SubaccountId: Bob_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, GoodTilOneof: &clobtypes.MsgCancelOrder_GoodTilBlockTime{GoodTilBlockTime: 5}, } // Conditional Order Cancellations CancelConditionalOrder_Alice_Num1_Id0_Clob0_GTBT15 = clobtypes.MsgCancelOrder{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num1, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, GoodTilOneof: &clobtypes.MsgCancelOrder_GoodTilBlockTime{GoodTilBlockTime: 15}, } CancelConditionalOrder_Alice_Num1_Id0_Clob1_GTBT15 = clobtypes.MsgCancelOrder{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num1, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 1, }, GoodTilOneof: &clobtypes.MsgCancelOrder_GoodTilBlockTime{GoodTilBlockTime: 15}, } )
var ( OrderId_Alice_Num0_ClientId0_Clob0 = clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 0, ClobPairId: 0} OrderId_Alice_Num0_ClientId1_Clob0 = clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 1, ClobPairId: 0} OrderId_Alice_Num0_ClientId2_Clob0 = clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 2, ClobPairId: 0} OrderId_Bob_Num0_ClientId0_Clob0 = clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 0, ClobPairId: 0} LongTermOrderId_Alice_Num0_ClientId0_Clob0 = clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, ClobPairId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, } LongTermOrderId_Alice_Num1_ClientId3_Clob1 = clobtypes.OrderId{ SubaccountId: Alice_Num1, ClientId: 3, ClobPairId: 1, OrderFlags: clobtypes.OrderIdFlags_LongTerm, } // Invalid clobPairId InvalidClobPairId_Long_Term_Order = clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 99999, } // Invalid order ids InvalidSubaccountIdOwner_OrderId = clobtypes.OrderId{ SubaccountId: InvalidSubaccountIdOwner, ClientId: 0, ClobPairId: 0, } InvalidSubaccountIdNumber_OrderId = clobtypes.OrderId{ SubaccountId: InvalidSubaccountIdNumber, ClientId: 0, ClobPairId: 0, } )
var ( // Short-term orders. Order_Alice_Num0_Id0_Clob0_Buy5_Price10_GTB15 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 15}, } Order_Alice_Num0_Id0_Clob7_Buy5_Price10_GTB15 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 0, ClobPairId: 7}, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 15}, } Order_Alice_Num0_Id0_Clob0_Buy10_Price10_GTB16 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 16}, } Order_Alice_Num0_Id0_Clob1_Buy5_Price10_GTB15 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 0, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 15}, } Order_Alice_Num0_Id0_Clob2_Buy5_Price10_GTB15 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 0, ClobPairId: 2}, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 15}, } Order_Alice_Num0_Id0_Clob0_Buy5_Price10_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num0_Id0_Clob0_Sell5_Price10_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num0_Id0_Clob0_Buy5_Price5_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 5, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num0_Id0_Clob0_Buy6_Price10_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 6, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num0_Id0_Clob0_Buy35_Price10_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 35, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num0_Id1_Clob0_Sell5_Price15_GTB15 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 5, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 15}, } Order_Alice_Num0_Id1_Clob0_Sell10_Price15_GTB15 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 15}, } Order_Alice_Num0_Id1_Clob7_Sell10_Price15_GTB15 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 1, ClobPairId: 7}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 15}, } Order_Alice_Num0_Id2_Clob1_Sell5_Price10_GTB15 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 2, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 15}, } Order_Alice_Num0_Id3_Clob1_Sell5_Price10_GTB15 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 3, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 15}, } Order_Alice_Num0_Id4_Clob1_Buy25_Price5_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 4, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 25, Subticks: 5, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num0_Id4_Clob2_Buy25_Price5_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 4, ClobPairId: 2}, Side: clobtypes.Order_SIDE_BUY, Quantums: 25, Subticks: 5, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num0_Id5_Clob1_Sell25_Price15_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 5, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 25, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num0_Id6_Clob0_Buy25_Price5_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 6, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 25, Subticks: 5, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num0_Id7_Clob0_Sell25_Price15_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 7, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 25, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num0_Id8_Clob1_Sell25_PriceMax_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 8, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 25, Subticks: math.MaxUint64, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num0_Id9_Clob1_Buy15_Price45_GTB19 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 9, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 15, Subticks: 45, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 19}, } Order_Alice_Num0_Id10_Clob0_Sell25_Price15_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 10, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 25, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num0_Id10_Clob0_Sell35_Price15_GTB25 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 10, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 35, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 25}, } Order_Alice_Num0_Id0_Clob0_Sell200BTC_Price101_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 20_000_000_000, Subticks: 101_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num0_Id0_Clob0_Sell100BTC_Price102_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10_000_000_000, Subticks: 102_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num0_Id0_Clob0_Sell100BTC_Price106_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10_000_000_000, Subticks: 106_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num1_Id0_Clob0_Sell10_Price10_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num11_Id0_Clob2_Sell10_Price10_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num11, ClientId: 0, ClobPairId: 2}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num1_Id0_Clob0_Sell10_Price10_GTB30 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 30}, } Order_Alice_Num11_Id0_Clob2_Sell10_Price10_GTB30 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num11, ClientId: 0, ClobPairId: 2}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 30}, } Order_Alice_Num1_Id0_Clob0_Sell10_Price15_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num1_Id2_Clob1_Buy10_Price10_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 2, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num11_Id2_Clob2_Buy10_Price10_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num11, ClientId: 2, ClobPairId: 2}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num1_Id2_Clob1_Buy10_Price10_GTB26 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 2, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 26}, } Order_Alice_Num11_Id2_Clob2_Buy10_Price10_GTB26 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num11, ClientId: 2, ClobPairId: 2}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 26}, } Order_Alice_Num1_Id1_Clob1_Sell10_Price15_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 1, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num11_Id1_Clob2_Sell10_Price15_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num11, ClientId: 1, ClobPairId: 2}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num1_Id2_Clob1_Buy67_Price5_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 2, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 67, Subticks: 5, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num1_Id3_Clob1_Buy7_Price5 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 3, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 7, Subticks: 5, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num1_Clob0_Id4_Buy10_Price45_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 4, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 45, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num1_Id5_Clob1_Sell50_Price40_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 5, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 50, Subticks: 40, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num1_Id6_Clob1_Sell15_Price22_GTB30 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 6, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 15, Subticks: 22, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 30}, } Order_Alice_Num1_Id7_Clob1_Buy35_PriceMax_GTB30 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 7, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 35, Subticks: math.MaxUint64, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 30}, } Order_Alice_Num1_Id8_Clob0_Buy15_Price25_GTB31 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 8, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 15, Subticks: 25, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 31}, } Order_Alice_Num1_Id9_Clob0_Sell10_Price10_GTB31 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 9, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 31}, } Order_Alice_Num1_Id10_Clob0_Buy5_Price30_GTB31 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 10, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 30, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 31}, } Order_Alice_Num1_Id10_Clob0_Buy5_Price30_GTB32 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 10, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 30, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 32}, } Order_Alice_Num1_Id10_Clob0_Buy6_Price30_GTB32 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 10, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 6, Subticks: 30, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 32}, } Order_Alice_Num1_Id10_Clob0_Buy7_Price30_GTB33 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 10, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 7, Subticks: 30, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 33}, } Order_Alice_Num1_Id10_Clob0_Buy10_Price30_GTB33 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 10, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 30, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 33}, } Order_Alice_Num1_Id10_Clob0_Buy15_Price30_GTB33 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 10, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 15, Subticks: 30, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 33}, } Order_Alice_Num1_Id10_Clob0_Buy10_Price30_GTB34 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 10, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 30, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 34}, } Order_Alice_Num1_Id10_Clob0_Buy5_Price30_GTB34 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 10, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 30, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 34}, } Order_Alice_Num1_Id11_Clob1_Buy10_Price45_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 11, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 45, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num1_Id12_Clob0_Sell20_Price5_GTB25 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 12, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 20, Subticks: 5, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 25}, } Order_Alice_Num1_Id13_Clob0_Buy30_Price50_GTB25 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 13, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 30, Subticks: 50, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 25}, } Order_Alice_Num1_Id13_Clob0_Buy50_Price50_GTB30 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 13, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 50, Subticks: 50, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 30}, } Order_Alice_Num1_Id0_Clob0_Sell100_Price500000_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 100, Subticks: 500_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num1_Id0_Clob0_Sell100_Price51000_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 100, Subticks: 51_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num1_Id0_Clob0_Sell100_Price100000_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 100, Subticks: 1_000_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num1_Id3_Clob0_Sell100_Price100000_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 3, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 100, Subticks: 1_000_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num11_Id3_Clob2_Sell100_Price100000_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num11, ClientId: 3, ClobPairId: 2}, Side: clobtypes.Order_SIDE_SELL, Quantums: 100, Subticks: 1_000_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Alice_Num1_Id5_Clob1_Buy10_Price15_GTB23 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 5, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 23}, } Order_Alice_Num11_Id5_Clob2_Buy10_Price15_GTB23 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num11, ClientId: 5, ClobPairId: 2}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 23}, } Order_Bob_Num0_Id0_Clob1_Sell10_Price15_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 0, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Bob_Num0_Id0_Clob2_Sell10_Price15_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 0, ClobPairId: 2}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Bob_Num0_Id1_Clob1_Sell11_Price16_GTB18 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 1, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 11, Subticks: 16, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 18}, } Order_Bob_Num0_Id1_Clob1_Sell11_Price16_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 1, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 11, Subticks: 16, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Bob_Num0_Id2_Clob1_Sell12_Price13_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 2, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 12, Subticks: 13, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Bob_Num0_Id0_Clob0_Sell1BTC_Price50000_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Bob_Num0_Id3_Clob1_Buy10_Price10_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 3, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Bob_Num0_Id4_Clob1_Buy20_Price35_GTB22 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 4, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 20, Subticks: 35, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 22}, } Order_Bob_Num11_Id4_Clob2_Buy20_Price35_GTB22 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num11, ClientId: 4, ClobPairId: 2}, Side: clobtypes.Order_SIDE_BUY, Quantums: 20, Subticks: 35, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 22}, } Order_Bob_Num0_Id4_Clob1_Buy20_Price35_GTB22_RouterFee = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 4, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 20, Subticks: 35, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 22}, RouterFeePpm: 1_000, RouterFeeOwner: authtypes.NewModuleAddress("NULL_ROUTER_ADDRESS").String(), } Order_Bob_Num0_Id5_Clob0_Buy20_Price10_GTB22 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 5, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 20, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 22}, } Order_Bob_Num0_Id6_Clob0_Buy20_Price1000_GTB22 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 6, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 20, Subticks: 1000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 22}, } Order_Bob_Num0_Id7_Clob0_Buy20_Price10000_GTB22 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 7, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 20, Subticks: 10000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 22}, } Order_Bob_Num0_Id8_Clob1_Sell5_Price10_GTB22 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 8, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 22}, } Order_Bob_Num11_Id8_Clob2_Sell5_Price10_GTB22 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num11, ClientId: 8, ClobPairId: 2}, Side: clobtypes.Order_SIDE_SELL, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 22}, } Order_Bob_Num0_Id8_Clob1_Sell20_Price10_GTB22 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 8, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 20, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 22}, } Order_Bob_Num11_Id8_Clob2_Sell20_Price10_GTB22 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num11, ClientId: 8, ClobPairId: 2}, Side: clobtypes.Order_SIDE_SELL, Quantums: 20, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 22}, } Order_Bob_Num0_Id8_Clob0_Sell20_Price10_GTB22 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 8, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 20, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 22}, } Order_Bob_Num0_Id9_Clob0_Sell20_Price1000 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 9, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 20, Subticks: 1000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 22}, } Order_Bob_Num0_Id10_Clob0_Sell20_Price10000 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 10, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 20, Subticks: 10000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 22}, } Order_Bob_Num0_Id11_Clob1_Sell5_Price15_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 11, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 5, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Bob_Num11_Id11_Clob2_Sell5_Price15_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num11, ClientId: 11, ClobPairId: 2}, Side: clobtypes.Order_SIDE_SELL, Quantums: 5, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Bob_Num0_Id11_Clob1_Buy5_Price40_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 11, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 40, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Bob_Num11_Id11_Clob2_Buy5_Price40_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num11, ClientId: 11, ClobPairId: 2}, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 40, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Bob_Num0_Id12_Clob0_Buy5_Price5_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 12, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 5, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Bob_Num11_Id12_Clob2_Buy5_Price5_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num11, ClientId: 12, ClobPairId: 2}, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 5, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Bob_Num0_Id12_Clob0_Buy5_Price40_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 12, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 40, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Bob_Num11_Id12_Clob2_Buy5_Price40_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num11, ClientId: 12, ClobPairId: 2}, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 40, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Bob_Num0_Id12_Clob1_Buy5_Price40_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 12, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 40, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Bob_Num0_Id11_Clob1_Buy5_Price40_GTB32 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 11, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 40, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 32}, } Order_Bob_Num0_Id12_Clob0_Sell20_Price5_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 12, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 20, Subticks: 5, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Bob_Num11_Id12_Clob2_Sell20_Price5_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num11, ClientId: 12, ClobPairId: 2}, Side: clobtypes.Order_SIDE_SELL, Quantums: 20, Subticks: 5, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Bob_Num0_Id12_Clob0_Sell20_Price15_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 12, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 20, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Bob_Num11_Id12_Clob2_Sell20_Price15_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num11, ClientId: 12, ClobPairId: 2}, Side: clobtypes.Order_SIDE_SELL, Quantums: 20, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Bob_Num0_Id12_Clob0_Sell20_Price35_GTB32 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 12, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 20, Subticks: 35, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 32}, } Order_Bob_Num0_Id13_Clob0_Sell35_Price35_GTB30 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 13, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 35, Subticks: 35, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 30}, } Order_Bob_Num0_Id14_Clob0_Sell10_Price10_GTB25 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 14, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 25}, } Order_Bob_Num0_Id1_Clob0_Buy35_Price55_GTB32 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 35, Subticks: 55, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 32}, } Order_Bob_Num0_Id2_Clob0_Sell25_Price95_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 2, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 25, Subticks: 95, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Bob_Num0_Id1_Clob0_Buy100BTC_Price98_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10_000_000_000, Subticks: 98_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Bob_Num0_Id1_Clob0_Buy100BTC_Price99_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10_000_000_000, Subticks: 99_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Bob_Num0_Id0_Clob0_Sell100BTC_Price101_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10_000_000_000, Subticks: 101_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Bob_Num0_Id0_Clob0_Sell200BTC_Price101_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 20_000_000_000, Subticks: 101_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Bob_Num1_Id1_Clob1_Sell25_Price85_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num1, ClientId: 1, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 25, Subticks: 85, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id0_Clob0_Buy1BTC_Price5subticks_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 5, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id0_Clob0_Sell1BTC_Price5000_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 5_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id0_Clob0_Buy1BTC_Price500000_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 500_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id0_Clob0_Buy025BTC_Price500000_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 25_000_000, Subticks: 500_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id0_Clob0_Sell1BTC_Price500000_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 500_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id0_Clob0_Buy70_Price500000_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 70, Subticks: 500_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id0_Clob0_Buy110_Price500000_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 110, Subticks: 500_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id0_Clob0_Buy110_Price50000_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 110, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id0_Clob0_Buy10_Price500000_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 500_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Carl_Num0_Id0_Clob0_Buy80_Price500000_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 80, Subticks: 500_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Carl_Num0_Id0_Clob0_Buy10_Price50000_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 500_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Carl_Num0_Id0_Clob0_Buy110_Price50000_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 110, Subticks: 500_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Carl_Num0_Id2_Clob0_Sell5_Price10_GTB15 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 2, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 15}, } Order_Carl_Num0_Id1_Clob0_Buy01BTC_Price49500_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10_000_000, Subticks: 49_500_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id0_Clob0_Buy1BTC_Price45000_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 45_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id0_Clob0_Buy_SmallETH_Price3000_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 1_000, Subticks: 3_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id0_Clob0_Buy1BTC_Price49500_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 49_500_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id0_Clob0_BuySub1BTC_Price49500_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 90_000_000, Subticks: 49_500_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id0_Clob0_Buy2BTC_Price49500_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 200_000_000, Subticks: 49_500_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id0_Clob0_Buy1BTC_Price49800_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 49_800_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id0_Clob0_Buy1BTC_Price50000_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id2_Clob0_Buy1BTC_Price50500_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 2, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 50_500_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id1_Clob0_Buy1BTC_Price49999 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 49_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id2_Clob0_Buy05BTC_Price50000 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 2, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 50_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id3_Clob0_Buy025BTC_Price49500 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 3, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 25_000_000, Subticks: 49_500_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id3_Clob0_Buy025BTC_Price49800 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 3, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 25_000_000, Subticks: 49_800_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id3_Clob0_Buy025BTC_Price50000 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 3, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 25_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id4_Clob0_Buy05BTC_Price40000 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 4, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 50_000_000, Subticks: 40_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id5_Clob0_Buy2BTC_Price50000 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 5, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 200_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id2_Clob1_Buy10ETH_Price3000 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 2, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10_000_000_000, Subticks: 3_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id3_Clob1_Buy1ETH_Price3000 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 3, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 1_000_000_000, Subticks: 3_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id4_Clob1_Buy01ETH_Price3000 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 4, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 3_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id0_Clob0_Buy10QtBTC_Price100000QuoteQt = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 100_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Carl_Num0_Id0_Clob0_Buy10QtBTC_Price100001QuoteQt = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 100_001_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Carl_Num0_Id0_Clob0_Sell1kQtBTC_Price50000 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 1_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id1_Clob0_Sell1kQtBTC_Price50000 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 1_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num0_Id0_Clob0_Buy100BTC_Price99_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10_000_000_000, Subticks: 99_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Carl_Num0_Id1_Clob0_Buy100BTC_Price100_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10_000_000_000, Subticks: 100_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Carl_Num0_Id1_Clob0_Buy100BTC_Price101_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10_000_000_000, Subticks: 101_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Carl_Num1_Id0_Clob0_Buy1kQtBTC_Price50000 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num1, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 1_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num1_Id0_Clob0_Buy1kQtBTC_Price60000 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num1, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 1_000_000, Subticks: 60_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num1_Id1_Clob0_Buy1kQtBTC_Price50000 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num1, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 1_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num1_Id0_Clob0_Buy1BTC_Price50000 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num1, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 49_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num1_Id0_Clob0_Buy1BTC_Price50000_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num1, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num1_Id0_Clob0_Buy1BTC_Price50003_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num1, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 50_003_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num11_Id0_Clob10_Buy1Link_Price7_003_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num11, ClientId: 0, ClobPairId: 10}, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 700_300_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num1_Id0_Clob0_Buy1BTC_Price50500_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num1, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 50_500_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Carl_Num1_Id0_Clob0_Buy1BTC_Price51500_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num1, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 51_500_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Dave_Num0_Id2_Clob0_Sell1BTC_Price49500_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num0, ClientId: 2, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 49_500_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Dave_Num11_Id2_Clob10_Sell20Link_Price0_0495_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num11, ClientId: 2, ClobPairId: 10}, Side: clobtypes.Order_SIDE_SELL, Quantums: 2_000_000_000, Subticks: 4_950_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Dave_Num0_Id0_Clob0_Sell1BTC_Price49999_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 49_999_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Dave_Num0_Id0_Clob0_Sell1BTC_Price50000_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Dave_Num0_Id0_Clob0_Sell1BTC_Price50498_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 50_498_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Dave_Num0_Id1_Clob0_Sell01BTC_Price50500_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num0, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10_000_000, Subticks: 50_500_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Dave_Num11_Id1_Clob10_Sell2Link_Price0_0505_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num11, ClientId: 1, ClobPairId: 10}, Side: clobtypes.Order_SIDE_SELL, Quantums: 200_000_000, Subticks: 5_050_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Dave_Num0_Id0_Clob0_Sell1BTC_Price50500_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 50_500_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Dave_Num11_Id0_Clob10_Sell20Link_Price0_505_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num11, ClientId: 0, ClobPairId: 10}, Side: clobtypes.Order_SIDE_SELL, Quantums: 2_000_000_000, Subticks: 5_050_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Dave_Num0_Id0_Clob0_Sell1BTC_Price60000_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 60_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Dave_Num0_Id1_Clob0_Sell025BTC_Price50000_GTB11 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num0, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 25_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 11}, } Order_Dave_Num0_Id1_Clob0_Sell025BTC_Price50001_GTB11 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num0, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 25_000_000, Subticks: 50_001_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 11}, } Order_Dave_Num11_Id1_Clob10_Sell5Link_Price0_0501_GTB11 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num11, ClientId: 1, ClobPairId: 10}, Side: clobtypes.Order_SIDE_SELL, Quantums: 500_000_000, Subticks: 5_010_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 11}, } Order_Dave_Num0_Id1_Clob0_Sell025BTC_Price50498_GTB11 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num0, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 25_000_000, Subticks: 50_498_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 11}, } Order_Dave_Num0_Id1_Clob0_Sell025BTC_Price50500_GTB11 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num0, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 25_000_000, Subticks: 50_500_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 11}, } // Replacement for the above order Order_Dave_Num0_Id0_Clob0_Sell1BTC_Price50000 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Dave_Num0_Id1_Clob0_Sell025BTC_Price50000_GTB12 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num0, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 25_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 12}, } Order_Dave_Num0_Id2_Clob0_Sell025BTC_Price50000_GTB12 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num0, ClientId: 2, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 25_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 12}, } Order_Dave_Num0_Id2_Clob0_Sell025BTC_Price50500_GTB12 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num0, ClientId: 2, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 25_000_000, Subticks: 50_500_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 12}, } Order_Dave_Num0_Id0_Clob0_Buy100BTC_Price101_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10_000_000_000, Subticks: 101_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Dave_Num0_Id0_Clob0_Buy100BTC_Price102_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10_000_000_000, Subticks: 102_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Dave_Num0_Id1_Clob0_Buy100BTC_Price104_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num0, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10_000_000_000, Subticks: 104_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Dave_Num0_Id3_Clob1_Sell1ETH_Price3000 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num0, ClientId: 3, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 1_000_000_000, Subticks: 3_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Dave_Num0_Id4_Clob1_Sell1ETH_Price3000 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num0, ClientId: 4, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 1_000_000_000, Subticks: 3_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Dave_Num0_Id4_Clob1_Sell1ETH_Price3020 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num0, ClientId: 4, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 1_000_000_000, Subticks: 3_020_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Dave_Num0_Id4_Clob1_Sell1ETH_Price3030 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num0, ClientId: 4, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 1_000_000_000, Subticks: 3_030_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Dave_Num1_Id0_Clob0_Sell1BTC_Price48500_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num1, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 48_500_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Dave_Num1_Id1_Clob0_Sell025BTC_Price50500_GTB11 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num1, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 25_000_000, Subticks: 50_500_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 11}, } Order_Dave_Num11_Id1_Clob10_Sell5Link_Price0_0505_GTB11 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num11, ClientId: 1, ClobPairId: 10}, Side: clobtypes.Order_SIDE_SELL, Quantums: 500_000_000, Subticks: 5_050_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 11}, } Order_Dave_Num1_Id0_Clob0_Sell1BTC_Price49500_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num1, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 49_500_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Dave_Num1_Id0_Clob0_Sell1BTC_Price49997_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num1, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 49_997_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Dave_Num11_Id0_Clob10_Sell1Link_Price6_997_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num11, ClientId: 0, ClobPairId: 10}, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 699_700_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Dave_Num1_Id0_Clob0_Sell025BTC_Price49999_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num1, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 25_000_000, Subticks: 49_999_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Dave_Num1_Id0_Clob0_Sell025BTC_Price50000_GTB10 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num1, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 25_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, } Order_Dave_Num1_Id0_Clob0_Buy100BTC_Price101_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num1, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10_000_000_000, Subticks: 101_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Dave_Num1_Id0_Clob0_Sell100BTC_Price101_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num1, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10_000_000_000, Subticks: 101_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } Order_Dave_Num1_Id0_Clob0_Sell100BTC_Price102_GTB20 = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num1, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10_000_000_000, Subticks: 102_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, } // IOC orders. Order_Alice_Num0_Id1_Clob0_Buy5_Price15_GTB20_IOC = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_IOC, } Order_Alice_Num0_Id1_Clob1_Buy5_Price15_GTB20_IOC = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 1, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_IOC, } Order_Alice_Num11_Id1_Clob2_Buy5_Price15_GTB20_IOC = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num11, ClientId: 1, ClobPairId: 2}, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_IOC, } Order_Alice_Num0_Id1_Clob1_Sell5_Price15_GTB20_IOC = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 1, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 5, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_IOC, } Order_Alice_Num11_Id1_Clob2_Sell5_Price15_GTB20_IOC = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num11, ClientId: 1, ClobPairId: 2}, Side: clobtypes.Order_SIDE_SELL, Quantums: 5, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_IOC, } Order_Alice_Num0_Id1_Clob1_Buy10_Price15_GTB20_IOC = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 1, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_IOC, } Order_Alice_Num11_Id1_Clob2_Buy10_Price15_GTB20_IOC = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num11, ClientId: 1, ClobPairId: 2}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_IOC, } Order_Alice_Num0_Id1_Clob1_Sell10_Price15_GTB20_IOC = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 1, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_IOC, } Order_Alice_Num11_Id1_Clob2_Sell10_Price15_GTB20_IOC = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num11, ClientId: 1, ClobPairId: 2}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_IOC, } Order_Alice_Num1_Id1_Clob1_Sell10_Price15_GTB20_IOC = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 1, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_IOC, } Order_Alice_Num1_Id1_Clob1_Sell10_Price15_GTB21_IOC = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 1, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 21}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_IOC, } // Fill-or-kill orders. Order_Alice_Num0_Id0_Clob1_Sell10_Price15_GTB20_FOK = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 0, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, } Order_Alice_Num11_Id0_Clob2_Sell10_Price15_GTB20_FOK = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num11, ClientId: 0, ClobPairId: 2}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, } Order_Alice_Num0_Id0_Clob1_Buy10_Price15_GTB20_FOK = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 0, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, } Order_Alice_Num11_Id0_Clob2_Buy10_Price15_GTB20_FOK = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num11, ClientId: 0, ClobPairId: 2}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, } Order_Alice_Num0_Id0_Clob1_Buy20_Price15_GTB20_FOK = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 0, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 20, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, } Order_Alice_Num11_Id0_Clob2_Buy20_Price15_GTB20_FOK = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num11, ClientId: 0, ClobPairId: 2}, Side: clobtypes.Order_SIDE_BUY, Quantums: 20, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, } Order_Alice_Num1_Id1_Clob1_Sell10_Price15_GTB20_FOK = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 1, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, } Order_Alice_Num1_Id1_Clob1_Sell10_Price15_GTB21_FOK = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 1, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 21}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, } Order_Alice_Num0_Id0_Clob0_Buy1BTC_Price50000_GTB10_FOK = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, } Order_Bob_Num0_Id1_Clob1_Buy20_Price35_GTB22_FOK = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 1, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 20, Subticks: 35, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 22}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, } Order_Carl_Num0_Id0_Clob0_Buy05BTC_Price50000_GTB10_FOK = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 50_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, } Order_Carl_Num0_Id0_Clob0_Buy1BTC_Price50000_GTB10_FOK = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, } Order_Carl_Num0_Id0_Clob0_Buy1BTC_Price50000_GTB20_FOK = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, } Order_Carl_Num0_Id0_Clob0_Buy075BTC_Price50000_GTB11_FOK = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 75_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 11}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, } Order_Dave_Num0_Id0_Clob0_Sell1BTC_Price50000_GTB10_FOK = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, } // FOK + RO orders. Order_Alice_Num1_Id1_Clob1_Sell10_Price15_GTB20_FOK_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 1, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, ReduceOnly: true, } Order_Alice_Num1_Id1_Clob1_Buy10_Price15_GTB20_FOK_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 1, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, ReduceOnly: true, } Order_Alice_Num1_Id1_Clob0_Sell10_Price15_GTB20_FOK_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, ReduceOnly: true, } Order_Alice_Num1_Id1_Clob0_Buy10_Price15_GTB20_FOK_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, ReduceOnly: true, } Order_Alice_Num1_Id0_Clob0_Buy110_Price50000_GTB21_FOK_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 110, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 21}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, ReduceOnly: true, } Order_Alice_Num1_Id0_Clob0_Sell110_Price50000_GTB21_FOK_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 110, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 21}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, ReduceOnly: true, } Order_Alice_Num1_Id1_Clob0_Sell15_Price500000_GTB20_FOK_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 15, Subticks: 500_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, ReduceOnly: true, } // IOC + RO orders. Order_Alice_Num1_Id1_Clob1_Sell10_Price15_GTB20_IOC_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 1, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_IOC, ReduceOnly: true, } Order_Alice_Num1_Id1_Clob1_Buy10_Price15_GTB20_IOC_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 1, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_IOC, ReduceOnly: true, } Order_Alice_Num1_Id1_Clob0_Sell10_Price15_GTB20_IOC_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_IOC, ReduceOnly: true, } Order_Alice_Num1_Id1_Clob0_Buy10_Price15_GTB20_IOC_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_IOC, ReduceOnly: true, } Order_Alice_Num1_Id1_Clob0_Sell15_Price500000_GTB20_IOC_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 15, Subticks: 500_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_IOC, ReduceOnly: true, } Order_Alice_Num1_Id0_Clob0_Sell110_Price50000_GTB21_IOC_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 110, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 21}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_IOC, ReduceOnly: true, } Order_Alice_Num1_Id0_Clob0_Buy110_Price50000_GTB21_IOC_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 110, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 21}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_IOC, ReduceOnly: true, } // Reduce-only orders. Order_Alice_Num1_Id1_Clob0_Sell10_Price15_GTB20_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, ReduceOnly: true, } Order_Alice_Num1_Id2_Clob0_Buy20_Price30_GTB20_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 2, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 20, Subticks: 30, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, ReduceOnly: true, } Order_Alice_Num1_Id3_Clob1_Buy30_Price35_GTB25_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 3, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 30, Subticks: 35, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 25}, ReduceOnly: true, } Order_Alice_Num1_Id4_Clob0_Sell15_Price20_GTB20_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 4, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 15, Subticks: 20, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, ReduceOnly: true, } Order_Alice_Num1_Id5_Clob1_Sell10_Price15_GTB20_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 5, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, ReduceOnly: true, } Order_Alice_Num1_Id6_Clob0_Buy10_Price5_GTB20_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 6, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 5, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, ReduceOnly: true, } Order_Bob_Num0_Id1_Clob0_Sell15_Price50_GTB20_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 15, Subticks: 50, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, ReduceOnly: true, } Order_Bob_Num0_Id2_Clob0_Sell10_Price35_GTB20_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 2, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 35, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, ReduceOnly: true, } Order_Bob_Num0_Id3_Clob0_Sell20_Price10_GTB20_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 3, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 20, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, ReduceOnly: true, } Order_Carl_Num0_Id0_Clob0_Buy1BTC_Price50000_GTB10_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Carl_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, ReduceOnly: true, } Order_Dave_Num0_Id0_Clob0_Sell1BTC_Price50000_GTB10_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num0, ClientId: 0, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 10}, ReduceOnly: true, } Order_Dave_Num0_Id2_Clob0_Sell25BTC_Price50000_GTB12_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Dave_Num0, ClientId: 2, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 25_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 12}, ReduceOnly: true, } // Post-only orders. Order_Alice_Num0_Id1_Clob0_Sell15_Price10_GTB18_PO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_SELL, Quantums: 15, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 18}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_POST_ONLY, } Order_Alice_Num11_Id1_Clob2_Sell15_Price10_GTB18_PO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num11, ClientId: 1, ClobPairId: 2}, Side: clobtypes.Order_SIDE_SELL, Quantums: 15, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 18}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_POST_ONLY, } Order_Alice_Num0_Id1_Clob0_Buy15_Price10_GTB18_PO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num0, ClientId: 1, ClobPairId: 0}, Side: clobtypes.Order_SIDE_BUY, Quantums: 15, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 18}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_POST_ONLY, } Order_Alice_Num11_Id1_Clob2_Buy15_Price10_GTB18_PO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num11, ClientId: 1, ClobPairId: 2}, Side: clobtypes.Order_SIDE_BUY, Quantums: 15, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 18}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_POST_ONLY, } Order_Alice_Num11_Id1_Clob2_Buy15_Price20_GTB18_PO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num11, ClientId: 1, ClobPairId: 2}, Side: clobtypes.Order_SIDE_BUY, Quantums: 15, Subticks: 20, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 18}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_POST_ONLY, } Order_Alice_Num1_Id1_Clob1_Sell10_Price15_GTB20_PO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 1, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_POST_ONLY, } Order_Alice_Num1_Id4_Clob1_Sell10_Price15_GTB20_PO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num1, ClientId: 4, ClobPairId: 1}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_POST_ONLY, } Order_Alice_Num11_Id4_Clob2_Sell10_Price15_GTB20_PO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Alice_Num11, ClientId: 4, ClobPairId: 2}, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_POST_ONLY, } Order_Bob_Num0_Id4_Clob1_Buy20_Price35_GTB22_PO = clobtypes.Order{ OrderId: clobtypes.OrderId{SubaccountId: Bob_Num0, ClientId: 4, ClobPairId: 1}, Side: clobtypes.Order_SIDE_BUY, Quantums: 20, Subticks: 35, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 22}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_POST_ONLY, } )
var ( BtcUsd_OpenInterest1_AtomicRes8 = perptypes.OpenInterestDelta{ PerpetualId: 0, BaseQuantums: big.NewInt(100_000_000), } EthUsd_OpenInterest1_AtomicRes9 = perptypes.OpenInterestDelta{ PerpetualId: 1, BaseQuantums: big.NewInt(1_000_000_000), } DefaultTestPerpOIs = []perptypes.OpenInterestDelta{ BtcUsd_OpenInterest1_AtomicRes8, EthUsd_OpenInterest1_AtomicRes9, } )
Perpetual OI setup in tests
var ( BtcUsd_InvalidMarketId_Params = perptypes.PerpetualParams{ Id: 0, Ticker: "BTC-USD invalid market Id", MarketId: uint32(9999), AtomicResolution: int32(-10), DefaultFundingPpm: int32(0), LiquidityTier: uint32(0), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(0), } BtcUsd_InvalidMarketId = perptypes.Perpetual{ Params: BtcUsd_InvalidMarketId_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } BtcUsd_0DefaultFunding_0AtomicResolution_Params = perptypes.PerpetualParams{ Id: 0, Ticker: "BTC-USD 0 percent default funding, 0 atomic resolution", MarketId: uint32(0), AtomicResolution: int32(0), DefaultFundingPpm: int32(0), LiquidityTier: uint32(2), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(0), } BtcUsd_0DefaultFunding_0AtomicResolution = perptypes.Perpetual{ Params: BtcUsd_0DefaultFunding_0AtomicResolution_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } BtcUsd_0DefaultFunding_6AtomicResolution_Params = perptypes.PerpetualParams{ Id: 0, Ticker: "BTC-USD 0 percent default funding, -6 atomic resolution", MarketId: uint32(0), AtomicResolution: int32(-6), DefaultFundingPpm: int32(0), LiquidityTier: uint32(2), CollateralPoolId: uint32(0), } BtcUsd_0DefaultFunding_6AtomicResolution = perptypes.Perpetual{ Params: BtcUsd_0DefaultFunding_6AtomicResolution_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } BtcUsd_NegativeDefaultFunding_10AtomicResolution_Params = perptypes.PerpetualParams{ Id: 0, Ticker: "BTC-USD -0.001 percent percent default funding", MarketId: uint32(0), AtomicResolution: int32(-10), DefaultFundingPpm: int32(-1_000), LiquidityTier: uint32(1), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(0), } BtcUsd_NegativeDefaultFunding_10AtomicResolution = perptypes.Perpetual{ Params: BtcUsd_NegativeDefaultFunding_10AtomicResolution_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } BtcUsd_0DefaultFunding_10AtomicResolution_Params = perptypes.PerpetualParams{ Id: 0, Ticker: "BTC-USD 0 percent default funding", MarketId: uint32(0), AtomicResolution: int32(-10), DefaultFundingPpm: int32(0), LiquidityTier: uint32(1), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(0), } BtcUsd_0DefaultFunding_10AtomicResolution = perptypes.Perpetual{ Params: BtcUsd_0DefaultFunding_10AtomicResolution_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } BtcUsd_0DefaultFunding_10AtomicResolution_UniqueCollatPool_Params = perptypes.PerpetualParams{ Id: 0, Ticker: "BTC-USD 0 percent default funding", MarketId: uint32(0), AtomicResolution: int32(-10), DefaultFundingPpm: int32(0), LiquidityTier: uint32(1), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(1), } BtcUsd_0DefaultFunding_10AtomicResolution_UniqueCollatPool = perptypes.Perpetual{ Params: BtcUsd_0DefaultFunding_10AtomicResolution_UniqueCollatPool_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } BtcUsd_0DefaultFunding_10AtomicResolution_20IM_18MM_Params = perptypes.PerpetualParams{ Id: 0, Ticker: "BTC-USD 0 percent default funding, 20% IM, 18% MM", MarketId: uint32(0), AtomicResolution: int32(-10), DefaultFundingPpm: int32(0), LiquidityTier: uint32(6), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(0), } BtcUsd_0_001Percent_DefaultFunding_10AtomicResolution_Params = perptypes.PerpetualParams{ Id: 10000, Ticker: "BTC-USD 0.001 percent default funding", MarketId: uint32(0), AtomicResolution: int32(-10), DefaultFundingPpm: int32(1000), LiquidityTier: uint32(1), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(0), } BtcUsd_0DefaultFunding_10AtomicResolution_20IM_18MM = perptypes.Perpetual{ Params: BtcUsd_0DefaultFunding_10AtomicResolution_20IM_18MM_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } BtcUsd_0_001Percent_DefaultFunding_10AtomicResolution = perptypes.Perpetual{ Params: BtcUsd_0_001Percent_DefaultFunding_10AtomicResolution_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } BtcUsd_SmallMarginRequirement_Params = perptypes.PerpetualParams{ Id: 0, Ticker: "BTC-USD small margin requirement", MarketId: uint32(0), AtomicResolution: int32(-8), DefaultFundingPpm: int32(0), LiquidityTier: uint32(8), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(0), } BtcUsd_SmallMarginRequirement_DangerIndex_Params = perptypes.PerpetualParams{ Id: 0, Ticker: "BTC-USD small margin requirement", MarketId: uint32(0), AtomicResolution: int32(-8), DefaultFundingPpm: int32(0), LiquidityTier: uint32(8), DangerIndexPpm: uint32(1), CollateralPoolId: uint32(0), } BtcUsd_SmallMarginRequirement_Isolated_Params = perptypes.PerpetualParams{ Id: 0, Ticker: "BTC-USD small margin requirement", MarketId: uint32(0), AtomicResolution: int32(-8), DefaultFundingPpm: int32(0), LiquidityTier: uint32(8), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(2), } BtcUsd_SmallMarginRequirement = perptypes.Perpetual{ Params: BtcUsd_SmallMarginRequirement_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } EthUsd_SmallMarginRequirement_CollatPool1_Params = perptypes.PerpetualParams{ Id: 0, Ticker: "ETH-USD small margin requirement", MarketId: uint32(1), AtomicResolution: int32(-8), DefaultFundingPpm: int32(0), LiquidityTier: uint32(8), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(1), } EthUsd_SmallMarginRequirement_CollatPool1 = perptypes.Perpetual{ Params: EthUsd_SmallMarginRequirement_CollatPool1_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } BtcUsd_SmallMarginRequirement_DangerIndex = perptypes.Perpetual{ Params: BtcUsd_SmallMarginRequirement_DangerIndex_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } BtcUsd_SmallMarginRequirement_Isolated = perptypes.Perpetual{ Params: BtcUsd_SmallMarginRequirement_Isolated_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } BtcUsd_100PercentMarginRequirement_Params = perptypes.PerpetualParams{ Id: 0, Ticker: "BTC-USD 100% margin requirement", MarketId: uint32(0), AtomicResolution: int32(-8), DefaultFundingPpm: int32(0), LiquidityTier: uint32(0), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(0), } BtcUsd_100PercentMarginRequirement_Params_Danger_Index = perptypes.PerpetualParams{ Id: 0, Ticker: "BTC-USD 100% margin requirement", MarketId: uint32(0), AtomicResolution: int32(-8), DefaultFundingPpm: int32(0), LiquidityTier: uint32(0), DangerIndexPpm: uint32(1), CollateralPoolId: uint32(0), } BtcUsd_50PercentInitial_40PercentMaintenance_Params = perptypes.PerpetualParams{ Id: 0, Ticker: "BTC-USD 50/40 margin requirements", MarketId: uint32(0), AtomicResolution: int32(-8), DefaultFundingPpm: int32(0), LiquidityTier: uint32(4), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(0), } BtcUsd_100PercentMarginRequirement = perptypes.Perpetual{ Params: BtcUsd_100PercentMarginRequirement_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } BtcUsd_100PercentMarginRequirement_Danger_Index = perptypes.Perpetual{ Params: BtcUsd_100PercentMarginRequirement_Params_Danger_Index, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } BtcUsd_50PercentInitial_40PercentMaintenance = perptypes.Perpetual{ Params: BtcUsd_50PercentInitial_40PercentMaintenance_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } BtcUsd_20PercentInitial_10PercentMaintenance_Params = perptypes.PerpetualParams{ Id: 0, Ticker: "BTC-USD 20/10 margin requirements", MarketId: uint32(0), AtomicResolution: int32(-8), DefaultFundingPpm: int32(0), LiquidityTier: uint32(3), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(0), } BtcUsd_20PercentInitial_10PercentMaintenance_Params_Danger_Index = perptypes.PerpetualParams{ Id: 0, Ticker: "BTC-USD 20/10 margin requirements", MarketId: uint32(0), AtomicResolution: int32(-8), DefaultFundingPpm: int32(0), LiquidityTier: uint32(3), DangerIndexPpm: uint32(1), CollateralPoolId: uint32(0), } // Note: These share the same params BtcUsd_20PercentInitial_10PercentMaintenance_OpenInterest1_Params = perptypes.PerpetualParams{ Id: 0, Ticker: "BTC-USD 20/10 margin requirements", MarketId: uint32(0), AtomicResolution: int32(-8), DefaultFundingPpm: int32(0), LiquidityTier: uint32(3), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(0), } BtcUsd_20PercentInitial_10PercentMaintenance = perptypes.Perpetual{ Params: BtcUsd_20PercentInitial_10PercentMaintenance_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } BtcUsd_20PercentInitial_10PercentMaintenance_OpenInterest20 = perptypes.Perpetual{ Params: BtcUsd_20PercentInitial_10PercentMaintenance_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.NewInt(20_000_000_000), YieldIndex: big.NewRat(0, 1).String(), } BtcUsd_20PercentInitial_10PercentMaintenance_Danger_Index = perptypes.Perpetual{ Params: BtcUsd_20PercentInitial_10PercentMaintenance_Params_Danger_Index, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } BtcEth_20PercentInitial_10PercentMaintenance_OpenInterest1_Params = perptypes.PerpetualParams{ Id: 2, Ticker: "BTC-ETH 20/10 margin requirements", MarketId: uint32(1), AtomicResolution: int32(-8), DefaultFundingPpm: int32(0), LiquidityTier: uint32(3), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(1), } BtcEth_20PercentInitial_10PercentMaintenance = perptypes.Perpetual{ Params: BtcEth_20PercentInitial_10PercentMaintenance_OpenInterest1_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } BtcUsd_20PercentInitial_10PercentMaintenance_OpenInterest1 = perptypes.Perpetual{ Params: BtcUsd_20PercentInitial_10PercentMaintenance_OpenInterest1_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.NewInt(100_000_000), YieldIndex: big.NewRat(0, 1).String(), } BtcUsd_20PercentInitial_10PercentMaintenance_OpenInterest2_Params = perptypes.PerpetualParams{ Id: 0, Ticker: "BTC-USD 20/10 margin requirements", MarketId: uint32(0), AtomicResolution: int32(-8), DefaultFundingPpm: int32(0), LiquidityTier: uint32(3), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(0), } BtcUsd_20PercentInitial_10PercentMaintenance_25mmLowerCap_50mmUpperCap_Params = perptypes.PerpetualParams{ Id: 0, Ticker: "BTC-USD 20/10 margin requirements", MarketId: uint32(0), AtomicResolution: int32(-8), DefaultFundingPpm: int32(0), LiquidityTier: uint32(9), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(0), } BtcUsd_20PercentInitial_10PercentMaintenance_OpenInterest2 = perptypes.Perpetual{ Params: BtcUsd_20PercentInitial_10PercentMaintenance_OpenInterest2_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.NewInt(200_000_000), YieldIndex: big.NewRat(0, 1).String(), } BtcUsd_20PercentInitial_10PercentMaintenance_25mmLowerCap_50mmUpperCap = perptypes.Perpetual{ Params: BtcUsd_20PercentInitial_10PercentMaintenance_25mmLowerCap_50mmUpperCap_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } BtcUsd_NoMarginRequirement_Params = perptypes.PerpetualParams{ Id: 0, Ticker: "BTC-USD no margin requirement", MarketId: uint32(0), AtomicResolution: int32(-8), DefaultFundingPpm: int32(0), LiquidityTier: uint32(7), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(0), } EthUsd_0DefaultFunding_6AtomicResolution_Params = perptypes.PerpetualParams{ Id: 1, Ticker: "ETH-USD default fundingm, -9 atomic resolution", MarketId: uint32(1), AtomicResolution: int32(-6), DefaultFundingPpm: int32(0), LiquidityTier: uint32(5), CollateralPoolId: uint32(0), } BtcUsd_NoMarginRequirement = perptypes.Perpetual{ Params: BtcUsd_NoMarginRequirement_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } EthUsd_0DefaultFunding_6AtomicResolution = perptypes.Perpetual{ Params: EthUsd_0DefaultFunding_6AtomicResolution_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } EthUsd_0DefaultFunding_9AtomicResolution_Params = perptypes.PerpetualParams{ Id: 1, Ticker: "ETH-USD default fundingm, -9 atomic resolution", MarketId: uint32(1), AtomicResolution: int32(-9), DefaultFundingPpm: int32(0), LiquidityTier: uint32(5), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(0), } EthUsd_NoMarginRequirement_Params = perptypes.PerpetualParams{ Id: 1, Ticker: "ETH-USD no margin requirement", MarketId: uint32(1), AtomicResolution: int32(-9), DefaultFundingPpm: int32(0), LiquidityTier: uint32(7), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(0), } EthUsd_0DefaultFunding_9AtomicResolution = perptypes.Perpetual{ Params: EthUsd_0DefaultFunding_9AtomicResolution_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } EthUsd_NoMarginRequirement = perptypes.Perpetual{ Params: EthUsd_NoMarginRequirement_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } EthUsd_20PercentInitial_10PercentMaintenance_Params = perptypes.PerpetualParams{ Id: 1, Ticker: "ETH-USD 20/10 margin requirements", MarketId: uint32(1), AtomicResolution: int32(-9), DefaultFundingPpm: int32(0), LiquidityTier: uint32(3), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(0), } EthUsd_20PercentInitial_10PercentMaintenance_DangerIndex_Params = perptypes.PerpetualParams{ Id: 1, Ticker: "ETH-USD 20/10 margin requirements", MarketId: uint32(1), AtomicResolution: int32(-9), DefaultFundingPpm: int32(0), LiquidityTier: uint32(3), DangerIndexPpm: uint32(1), CollateralPoolId: uint32(0), } EthUsd_20PercentInitial_10PercentMaintenance = perptypes.Perpetual{ Params: EthUsd_20PercentInitial_10PercentMaintenance_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } EthUsd_20PercentInitial_10PercentMaintenance_DangerIndex = perptypes.Perpetual{ Params: EthUsd_20PercentInitial_10PercentMaintenance_DangerIndex_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } EthUsd_20PercentInitial_10PercentMaintenance_Isolated_Params = perptypes.PerpetualParams{ Id: 1, Ticker: "ETH-USD 20/10 margin requirements", MarketId: uint32(1), AtomicResolution: int32(-9), DefaultFundingPpm: int32(0), LiquidityTier: uint32(3), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(2), } EthUsd_100PercentMarginRequirement_Params = perptypes.PerpetualParams{ Id: 1, Ticker: "ETH-USD 100/100 margin requirements", MarketId: uint32(1), AtomicResolution: int32(-9), DefaultFundingPpm: int32(0), LiquidityTier: uint32(0), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(0), } EthUsd_100PercentMarginRequirement_Params_DangerIndex = perptypes.PerpetualParams{ Id: 1, Ticker: "ETH-USD 100/100 margin requirements", MarketId: uint32(1), AtomicResolution: int32(-9), DefaultFundingPpm: int32(0), LiquidityTier: uint32(0), DangerIndexPpm: uint32(1), CollateralPoolId: uint32(0), } EthUsd_20PercentInitial_10PercentMaintenance_Isolated = perptypes.Perpetual{ Params: EthUsd_20PercentInitial_10PercentMaintenance_Isolated_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } EthUsd_100PercentMarginRequirement = perptypes.Perpetual{ Params: EthUsd_100PercentMarginRequirement_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } EthUsd_100PercentMarginRequirement_DangerIndex = perptypes.Perpetual{ Params: EthUsd_100PercentMarginRequirement_Params_DangerIndex, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } SolUsd_20PercentInitial_10PercentMaintenance_Params = perptypes.PerpetualParams{ Id: 2, Ticker: "SOL-USD 20/10 margin requirements", MarketId: uint32(2), AtomicResolution: int32(-9), DefaultFundingPpm: int32(0), LiquidityTier: uint32(3), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(0), } SolUsd_20PercentInitial_10PercentMaintenance_Params_DangerIndex = perptypes.PerpetualParams{ Id: 2, Ticker: "SOL-USD 20/10 margin requirements", MarketId: uint32(2), AtomicResolution: int32(-9), DefaultFundingPpm: int32(0), LiquidityTier: uint32(3), DangerIndexPpm: uint32(1), CollateralPoolId: uint32(0), } SolUsd_20PercentInitial_10PercentMaintenance = perptypes.Perpetual{ Params: SolUsd_20PercentInitial_10PercentMaintenance_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } SolUsd_20PercentInitial_10PercentMaintenance_DangerIndex = perptypes.Perpetual{ Params: SolUsd_20PercentInitial_10PercentMaintenance_Params_DangerIndex, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } IsoUsd_IsolatedMarket_Params = perptypes.PerpetualParams{ Id: 3, Ticker: "ISO-USD", MarketId: uint32(3), AtomicResolution: int32(-9), DefaultFundingPpm: int32(0), LiquidityTier: uint32(3), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(2), } IsoUsd_IsolatedMarket = perptypes.Perpetual{ Params: IsoUsd_IsolatedMarket_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } Iso2Usd_IsolatedMarket_Params = perptypes.PerpetualParams{ Id: 4, Ticker: "ISO2-USD", MarketId: uint32(4), AtomicResolution: int32(-7), DefaultFundingPpm: int32(0), LiquidityTier: uint32(3), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(3), } Iso2Usd_IsolatedMarket = perptypes.Perpetual{ Params: Iso2Usd_IsolatedMarket_Params, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } IsoBtc_20PercentInitial_10PercentMaintenance_CollatPool1_Params_Id5 = perptypes.PerpetualParams{ Id: 5, Ticker: "ISO-BTC1", MarketId: uint32(5), AtomicResolution: int32(-8), DefaultFundingPpm: int32(0), LiquidityTier: uint32(3), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(1), } IsoBtc_20PercentInitial_10PercentMaintenance_CollatPool1_Params_Id5_DangerIndex1 = perptypes.PerpetualParams{ Id: 5, Ticker: "ISO-BTC1", MarketId: uint32(5), AtomicResolution: int32(-8), DefaultFundingPpm: int32(0), LiquidityTier: uint32(3), DangerIndexPpm: uint32(1), CollateralPoolId: uint32(1), } IsoBtc_20PercentInitial_10PercentMaintenance_CollatPool1_Id5 = perptypes.Perpetual{ Params: IsoBtc_20PercentInitial_10PercentMaintenance_CollatPool1_Params_Id5, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } IsoBtc_20PercentInitial_10PercentMaintenance_CollatPool1_Id5_DangerIndex1 = perptypes.Perpetual{ Params: IsoBtc_20PercentInitial_10PercentMaintenance_CollatPool1_Params_Id5_DangerIndex1, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } IsoBtc_20PercentInitial_10PercentMaintenance_CollatPool4_Params_Id6 = perptypes.PerpetualParams{ Id: 6, Ticker: "ISO-BTC4", MarketId: uint32(5), AtomicResolution: int32(-8), DefaultFundingPpm: int32(0), LiquidityTier: uint32(3), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(4), } IsoBtc_20PercentInitial_10PercentMaintenance_CollatPool4_Id6 = perptypes.Perpetual{ Params: IsoBtc_20PercentInitial_10PercentMaintenance_CollatPool4_Params_Id6, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } Iso2Btc_20PercentInitial_10PercentMaintenance_CollatPool1_Params_Id7 = perptypes.PerpetualParams{ Id: 7, Ticker: "ISO2-BTC1", MarketId: uint32(6), AtomicResolution: int32(-8), DefaultFundingPpm: int32(0), LiquidityTier: uint32(3), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(1), } Iso2Btc_20PercentInitial_10PercentMaintenance_CollatPool1_Params_Id7_DangerIndex1 = perptypes.PerpetualParams{ Id: 7, Ticker: "ISO2-BTC1", MarketId: uint32(6), AtomicResolution: int32(-8), DefaultFundingPpm: int32(0), LiquidityTier: uint32(3), DangerIndexPpm: uint32(1), CollateralPoolId: uint32(1), } Iso2Btc_20PercentInitial_10PercentMaintenance_CollatPool1_Id7 = perptypes.Perpetual{ Params: Iso2Btc_20PercentInitial_10PercentMaintenance_CollatPool1_Params_Id7, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } Iso2Btc_20PercentInitial_10PercentMaintenance_CollatPool1_Id7_DangerIndex1 = perptypes.Perpetual{ Params: Iso2Btc_20PercentInitial_10PercentMaintenance_CollatPool1_Params_Id7_DangerIndex1, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } BtcBtc_100PercentMarginRequirement_CollatPool1_Params_Id8 = perptypes.PerpetualParams{ Id: 8, Ticker: "BTC-BTC 100% margin requirement", MarketId: uint32(0), AtomicResolution: int32(-8), DefaultFundingPpm: int32(0), LiquidityTier: uint32(0), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(1), } BtcBtc_100PercentMarginRequirement_CollatPool1_Id8 = perptypes.Perpetual{ Params: BtcBtc_100PercentMarginRequirement_CollatPool1_Params_Id8, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } BtcBtc_100PercentMarginRequirement_CollatPool1_Params_Id8_DangerIndex1 = perptypes.PerpetualParams{ Id: 8, Ticker: "BTC-BTC 100% margin requirement", MarketId: uint32(0), AtomicResolution: int32(-8), DefaultFundingPpm: int32(0), LiquidityTier: uint32(0), DangerIndexPpm: uint32(1), CollateralPoolId: uint32(1), } BtcBtc_100PercentMarginRequirement_CollatPool1_Id8_DangerIndex1 = perptypes.Perpetual{ Params: BtcBtc_100PercentMarginRequirement_CollatPool1_Params_Id8_DangerIndex1, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } BtcBtc_SmallMarginRequirement_CollatPool1_Params_Id9 = perptypes.PerpetualParams{ Id: 9, Ticker: "BTC-BTC small margin requirement", MarketId: uint32(0), AtomicResolution: int32(-8), DefaultFundingPpm: int32(0), LiquidityTier: uint32(8), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(1), } BtcBtc_SmallMarginRequirement_CollatPool1_Id9 = perptypes.Perpetual{ Params: BtcBtc_SmallMarginRequirement_CollatPool1_Params_Id9, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } BtcBtc_10_20MarginRequirement_CollatPool1_Params_Id10 = perptypes.PerpetualParams{ Id: 10, Ticker: "BTC-BTC 10/20 margin requirement", MarketId: uint32(0), AtomicResolution: int32(-8), DefaultFundingPpm: int32(0), LiquidityTier: uint32(3), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(1), } BtcBtc_10_20MarginRequirement_CollatPool1_Id10 = perptypes.Perpetual{ Params: BtcBtc_10_20MarginRequirement_CollatPool1_Params_Id10, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } BtcBtc_10_20MarginRequirement_CollatPool1_Id10_OpenInterest20 = perptypes.Perpetual{ Params: BtcBtc_10_20MarginRequirement_CollatPool1_Params_Id10, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.NewInt(2_000_000_000), YieldIndex: big.NewRat(0, 1).String(), } BtcBtc_10_20MarginRequirement_CollatPool1_Params_Id10_DangerIndex1 = perptypes.PerpetualParams{ Id: 10, Ticker: "BTC-BTC 10/20 margin requirement", MarketId: uint32(0), AtomicResolution: int32(-8), DefaultFundingPpm: int32(0), LiquidityTier: uint32(3), DangerIndexPpm: uint32(1), CollateralPoolId: uint32(1), } BtcBtc_10_20MarginRequirement_CollatPool1_Id10_DangerIndex1 = perptypes.Perpetual{ Params: BtcBtc_10_20MarginRequirement_CollatPool1_Params_Id10_DangerIndex1, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), } LinkBtc_10_20MarginRequirement_CollatPool1_Params_Id11 = perptypes.PerpetualParams{ Id: 11, Ticker: "Link-BTC 10/20 margin requirement", MarketId: uint32(5), AtomicResolution: int32(-8), DefaultFundingPpm: int32(0), LiquidityTier: uint32(3), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(1), } LinkBtc_10_20MarginRequirement_CollatPool1_Id11_OpenInterest20 = perptypes.Perpetual{ Params: LinkBtc_10_20MarginRequirement_CollatPool1_Params_Id11, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.NewInt(2_000_000_000), YieldIndex: big.NewRat(0, 1).String(), } )
Perpetual objects.
var ( TestAddPremiumVotesMsg = &perptypes.MsgAddPremiumVotes{ Votes: []perptypes.FundingPremium{ { PerpetualId: 0, PremiumPpm: 1000, }, }, } EmptyMsgAddPremiumVotes = &perptypes.MsgAddPremiumVotes{} EmptyMsgAddPremiumVotesTxBytes []byte ValidMsgAddPremiumVotes = &perptypes.MsgAddPremiumVotes{ Votes: []perptypes.FundingPremium{ {PerpetualId: 1, PremiumPpm: 1_000}, {PerpetualId: 2, PremiumPpm: 2_000}, }, } ValidMsgAddPremiumVotesTxBytes []byte InvalidMsgAddPremiumVotes = &perptypes.MsgAddPremiumVotes{ Votes: []perptypes.FundingPremium{ {PerpetualId: 3, PremiumPpm: 3_000}, {PerpetualId: 2, PremiumPpm: 2_000}, }, } InvalidMsgAddPremiumVotesTxBytes []byte Perpetuals_DefaultGenesisState = perptypes.GenesisState{ CollateralPools: []perptypes.CollateralPool{ { CollateralPoolId: 0, MaxCumulativeInsuranceFundDeltaPerBlock: 1_000_000_000_000, MultiCollateralAssets: &perptypes.MultiCollateralAssetsArray{MultiCollateralAssets: []uint32{0}}, QuoteAssetId: 0, }, { CollateralPoolId: 1, MaxCumulativeInsuranceFundDeltaPerBlock: 1_000_000_000_000, MultiCollateralAssets: &perptypes.MultiCollateralAssetsArray{MultiCollateralAssets: []uint32{1}}, QuoteAssetId: 1, }, { CollateralPoolId: 2, MaxCumulativeInsuranceFundDeltaPerBlock: 1_000_000_000_000, MultiCollateralAssets: &perptypes.MultiCollateralAssetsArray{MultiCollateralAssets: []uint32{0}}, QuoteAssetId: 0, }, }, LiquidityTiers: []perptypes.LiquidityTier{ { Id: uint32(0), Name: "Large-Cap", InitialMarginPpm: 200_000, MaintenanceFractionPpm: 500_000, ImpactNotional: 2_500_000_000, OpenInterestLowerCap: 0, OpenInterestUpperCap: 0, }, { Id: uint32(1), Name: "Mid-Cap", InitialMarginPpm: 300_000, MaintenanceFractionPpm: 600_000, ImpactNotional: 1_667_000_000, OpenInterestLowerCap: 25_000_000_000_000, OpenInterestUpperCap: 50_000_000_000_000, }, { Id: uint32(2), Name: "Small-Cap", InitialMarginPpm: 400_000, MaintenanceFractionPpm: 700_000, ImpactNotional: 1_250_000_000, OpenInterestLowerCap: 10_000_000_000_000, OpenInterestUpperCap: 20_000_000_000_000, }, }, Params: PerpetualsGenesisParams, Perpetuals: []perptypes.Perpetual{ { Params: perptypes.PerpetualParams{ Id: uint32(0), Ticker: "genesis_test_ticker_0", LiquidityTier: 0, DangerIndexPpm: uint32(0), CollateralPoolId: 0, }, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), LastFundingRate: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), }, { Params: perptypes.PerpetualParams{ Id: uint32(1), Ticker: "genesis_test_ticker_1", LiquidityTier: 1, DangerIndexPpm: uint32(0), CollateralPoolId: 0, }, FundingIndex: dtypes.ZeroInt(), OpenInterest: dtypes.ZeroInt(), LastFundingRate: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), }, }, } )
AddPremiumVotes messages.
var ( // Perpetual Positions. Long_Perp_1BTC_PositiveFunding = satypes.PerpetualPosition{ PerpetualId: 0, Quantums: dtypes.NewInt(100_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), } Short_Perp_1ETH_NegativeFunding = satypes.PerpetualPosition{ PerpetualId: 1, Quantums: dtypes.NewInt(-100_000_000), FundingIndex: dtypes.NewInt(-1), YieldIndex: big.NewRat(0, 1).String(), } PerpetualPosition_OneBTCLong = satypes.PerpetualPosition{ PerpetualId: 0, Quantums: dtypes.NewInt(100_000_000), YieldIndex: big.NewRat(0, 1).String(), } PerpetualPosition_OneETHLong_BTCQuote = satypes.PerpetualPosition{ PerpetualId: 6, Quantums: dtypes.NewInt(100_000_000), YieldIndex: big.NewRat(0, 1).String(), } PerpetualPosition_OneETHLong_BTCQuote_CollatPool1_Id8 = satypes.PerpetualPosition{ PerpetualId: 8, Quantums: dtypes.NewInt(100_000_000), YieldIndex: big.NewRat(0, 1).String(), } PerpetualPosition_OneETHLong_BTCQuote_CollatPool4 = satypes.PerpetualPosition{ PerpetualId: 7, Quantums: dtypes.NewInt(100_000_000), YieldIndex: big.NewRat(0, 1).String(), } PerpetualPosition_OneBTCShort = satypes.PerpetualPosition{ PerpetualId: 0, Quantums: dtypes.NewInt(-100_000_000), YieldIndex: big.NewRat(0, 1).String(), } PerpetualPosition_OneTenthBTCLong = satypes.PerpetualPosition{ PerpetualId: 0, Quantums: dtypes.NewInt(10_000_000), YieldIndex: big.NewRat(0, 1).String(), } PerpetualPosition_OneTenthBTCShort = satypes.PerpetualPosition{ PerpetualId: 0, Quantums: dtypes.NewInt(-10_000_000), YieldIndex: big.NewRat(0, 1).String(), } PerpetualPosition_OneHundredthBTCLong = satypes.PerpetualPosition{ PerpetualId: 0, Quantums: dtypes.NewInt(1_000_000), YieldIndex: big.NewRat(0, 1).String(), } PerpetualPosition_OneAndHalfBTCLong = satypes.PerpetualPosition{ PerpetualId: 0, Quantums: dtypes.NewInt(150_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), } PerpetualPosition_FourThousandthsBTCLong = satypes.PerpetualPosition{ PerpetualId: 0, Quantums: dtypes.NewInt(400_000), YieldIndex: big.NewRat(0, 1).String(), } PerpetualPosition_FourThousandthsBTCShort = satypes.PerpetualPosition{ PerpetualId: 0, Quantums: dtypes.NewInt(-400_000), YieldIndex: big.NewRat(0, 1).String(), } PerpetualPosition_OneTenthEthLong = satypes.PerpetualPosition{ PerpetualId: 1, Quantums: dtypes.NewInt(100_000_000), YieldIndex: big.NewRat(0, 1).String(), } PerpetualPosition_OneTenthEthShort = satypes.PerpetualPosition{ PerpetualId: 1, Quantums: dtypes.NewInt(-100_000_000), YieldIndex: big.NewRat(0, 1).String(), } PerpetualPosition_MaxUint64EthLong = satypes.PerpetualPosition{ PerpetualId: 1, Quantums: dtypes.NewIntFromUint64(math.MaxUint64), YieldIndex: big.NewRat(0, 1).String(), } PerpetualPosition_MaxUint64EthShort = satypes.PerpetualPosition{ PerpetualId: 1, Quantums: dtypes.NewIntFromBigInt(BigNegMaxUint64()), YieldIndex: big.NewRat(0, 1).String(), } // Long position for arbitrary isolated market PerpetualPosition_OneISOLong = satypes.PerpetualPosition{ PerpetualId: 3, Quantums: dtypes.NewInt(1_000_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), } PerpetualPosition_OneISO2Long = satypes.PerpetualPosition{ PerpetualId: 4, Quantums: dtypes.NewInt(10_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), } PerpetualPosition_OneIsoBtcLong = satypes.PerpetualPosition{ PerpetualId: 5, Quantums: dtypes.NewInt(10_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), } PerpetualPosition_MaxUintIsoBtcLong = satypes.PerpetualPosition{ PerpetualId: 5, Quantums: dtypes.NewIntFromUint64(math.MaxUint64), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), } PerpetualPosition_MaxUintIsoBtcShort = satypes.PerpetualPosition{ PerpetualId: 5, Quantums: dtypes.NewIntFromBigInt(BigNegMaxUint64()), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), } PerpetualPosition_OneIsoBtcLong_CollatPool4 = satypes.PerpetualPosition{ PerpetualId: 6, Quantums: dtypes.NewInt(10_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), } // Short positions for isolated markets PerpetualPosition_OneISOShort = satypes.PerpetualPosition{ PerpetualId: 3, Quantums: dtypes.NewInt(-100_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), } PerpetualPosition_OneISO2Short = satypes.PerpetualPosition{ PerpetualId: 4, Quantums: dtypes.NewInt(-10_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), } PerpetualPosition_OneIsoBtcShort = satypes.PerpetualPosition{ PerpetualId: 5, Quantums: dtypes.NewInt(-10_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), } // Asset Positions TDai_Asset_0 = satypes.AssetPosition{ AssetId: 0, Quantums: dtypes.NewInt(0), } TDai_Asset_500 = satypes.AssetPosition{ AssetId: 0, Quantums: dtypes.NewInt(500_000_000), } Short_TDai_Asset_500 = satypes.AssetPosition{ AssetId: 0, Quantums: dtypes.NewInt(-500_000_000), } TDai_Asset_599 = satypes.AssetPosition{ AssetId: 0, Quantums: dtypes.NewInt(599_000_000), } TDai_Asset_660 = satypes.AssetPosition{ AssetId: 0, Quantums: dtypes.NewInt(660_000_000), } Short_TDai_Asset_4_600 = satypes.AssetPosition{ AssetId: 0, Quantums: dtypes.NewInt(-4_600_000_000), } Short_TDai_Asset_2_900 = satypes.AssetPosition{ AssetId: 0, Quantums: dtypes.NewInt(-2_900_000_000), } Short_TDai_Asset_46_000 = satypes.AssetPosition{ AssetId: 0, Quantums: dtypes.NewInt(-46_000_000_000), } Short_TDai_Asset_49_500 = satypes.AssetPosition{ AssetId: 0, Quantums: dtypes.NewInt(-49_500_000_000), } Short_TDai_Asset_9_900 = satypes.AssetPosition{ AssetId: 0, Quantums: dtypes.NewInt(-9_900_000_000), } TDai_Asset_1 = satypes.AssetPosition{ AssetId: 0, Quantums: dtypes.NewInt(1_000_000), } TDai_Asset_10_000 = satypes.AssetPosition{ AssetId: 0, Quantums: dtypes.NewInt(10_000_000_000), } Btc_Asset_10_000 = satypes.AssetPosition{ AssetId: 1, Quantums: dtypes.NewInt(10_000_000_000), } Btc_Asset_5 = satypes.AssetPosition{ AssetId: 1, Quantums: dtypes.NewInt(500_000_000), } Btc_Asset_500 = satypes.AssetPosition{ AssetId: 1, Quantums: dtypes.NewInt(50_000_000_000), } Btc_Asset_1 = satypes.AssetPosition{ AssetId: 1, Quantums: dtypes.NewInt(100_000_000), } Btc_Asset_0_1 = satypes.AssetPosition{ AssetId: 1, Quantums: dtypes.NewInt(10_000_000), } TDai_Asset_10_100 = satypes.AssetPosition{ AssetId: 0, Quantums: dtypes.NewInt(10_100_000_000), } TDai_Asset_10_200 = satypes.AssetPosition{ AssetId: 0, Quantums: dtypes.NewInt(10_200_000_000), } TDai_Asset_50_000 = satypes.AssetPosition{ AssetId: 0, Quantums: dtypes.NewInt(50_000_000_000), } TDai_Asset_99_999 = satypes.AssetPosition{ AssetId: 0, Quantums: dtypes.NewInt(99_999_000_000), } TDai_Asset_100_000 = satypes.AssetPosition{ AssetId: 0, Quantums: dtypes.NewInt(100_000_000_000), } TDai_Asset_100_499 = satypes.AssetPosition{ AssetId: 0, Quantums: dtypes.NewInt(100_499_000_000), } TDai_Asset_500_000 = satypes.AssetPosition{ AssetId: 0, Quantums: dtypes.NewInt(500_000_000_000), } Long_Asset_1BTC = satypes.AssetPosition{ AssetId: 1, Quantums: dtypes.NewInt(100_000_000), } Long_Asset_100000BTC = satypes.AssetPosition{ AssetId: 1, Quantums: dtypes.NewInt(10_000_000_000_000), } Short_Asset_1BTC = satypes.AssetPosition{ AssetId: 1, Quantums: dtypes.NewInt(-100_000_000), } Long_Asset_1ETH = satypes.AssetPosition{ AssetId: 2, Quantums: dtypes.NewInt(1_000_000_000), } Short_Asset_1ETH = satypes.AssetPosition{ AssetId: 2, Quantums: dtypes.NewInt(-1_000_000_000), } )
var ( // Markets MarketId0 = uint32(0) MarketId1 = uint32(1) MarketId2 = uint32(2) MarketId3 = uint32(3) MarketId4 = uint32(4) MarketId7 = uint32(7) MarketId8 = uint32(8) MarketId9 = uint32(9) MarketId10 = uint32(10) MarketId11 = uint32(11) // Exponents Exponent9 = int32(-9) Exponent8 = int32(-8) Exponent7 = int32(-7) // Exchanges ExchangeId0 = "Exchange0" ExchangeId1 = "Exchange1" ExchangeId2 = "Exchange2" ExchangeId3 = "Exchange3" // ExchangeArray Exchange1Exchange2Array = []string{ ExchangeId1, ExchangeId2, } // MarketPriceTimestamps Market8_TimeTMinusThreshold_Price1 = &daemonClientTypes.MarketPriceTimestamp{ MarketId: MarketId8, LastUpdatedAt: TimeTMinusThreshold, Price: Price1, } Market8_TimeTMinusThreshold_Price2 = &daemonClientTypes.MarketPriceTimestamp{ MarketId: MarketId8, LastUpdatedAt: TimeTMinusThreshold, Price: Price2, } Market8_TimeTMinusThreshold_Price3 = &daemonClientTypes.MarketPriceTimestamp{ MarketId: MarketId8, LastUpdatedAt: TimeTMinusThreshold, Price: Price3, } Market8_TimeT_Price2 = &daemonClientTypes.MarketPriceTimestamp{ MarketId: MarketId8, LastUpdatedAt: TimeT, Price: Price2, } Market8_TimeT_Price3 = &daemonClientTypes.MarketPriceTimestamp{ MarketId: MarketId8, LastUpdatedAt: TimeT, Price: Price3, } Market8_TimeT_Price1 = &daemonClientTypes.MarketPriceTimestamp{ MarketId: MarketId8, LastUpdatedAt: TimeT, Price: Price1, } Market9_TimeTMinusThreshold_Price1 = &daemonClientTypes.MarketPriceTimestamp{ MarketId: MarketId9, LastUpdatedAt: TimeTMinusThreshold, Price: Price1, } Market9_TimeTMinusThreshold_Price2 = &daemonClientTypes.MarketPriceTimestamp{ MarketId: MarketId9, LastUpdatedAt: TimeTMinusThreshold, Price: Price2, } Market9_TimeTMinusThreshold_Price3 = &daemonClientTypes.MarketPriceTimestamp{ MarketId: MarketId9, LastUpdatedAt: TimeTMinusThreshold, Price: Price3, } Market9_TimeT_Price1 = &daemonClientTypes.MarketPriceTimestamp{ MarketId: MarketId9, LastUpdatedAt: TimeT, Price: Price1, } Market9_TimeT_Price2 = &daemonClientTypes.MarketPriceTimestamp{ MarketId: MarketId9, LastUpdatedAt: TimeT, Price: Price2, } Market9_TimeT_Price3 = &daemonClientTypes.MarketPriceTimestamp{ MarketId: MarketId9, LastUpdatedAt: TimeT, Price: Price3, } Market9_TimeTPlusThreshold_Price1 = &daemonClientTypes.MarketPriceTimestamp{ MarketId: MarketId9, LastUpdatedAt: TimeTPlusThreshold, Price: Price1, } Market9_TimeTPlusThreshold_Price2 = &daemonClientTypes.MarketPriceTimestamp{ MarketId: MarketId9, LastUpdatedAt: TimeTPlusThreshold, Price: Price2, } Market9_TimeTPlusThreshold_Price3 = &daemonClientTypes.MarketPriceTimestamp{ MarketId: MarketId9, LastUpdatedAt: TimeTPlusThreshold, Price: Price3, } Market10_TimeT_Price4 = &daemonClientTypes.MarketPriceTimestamp{ MarketId: MarketId10, LastUpdatedAt: TimeT, Price: Price4, } Market11_TimeT_Price5 = &daemonClientTypes.MarketPriceTimestamp{ MarketId: MarketId11, LastUpdatedAt: TimeT, Price: Price5, } Market7_BeforeTimeT_Price1 = &daemonClientTypes.MarketPriceTimestamp{ MarketId: MarketId7, LastUpdatedAt: TimeTMinusThreshold, Price: Price1, } Market7_BeforeTimeT_Price3 = &daemonClientTypes.MarketPriceTimestamp{ MarketId: MarketId7, LastUpdatedAt: TimeTMinusThreshold, Price: Price3, } Market7_TimeT_Price1 = &daemonClientTypes.MarketPriceTimestamp{ MarketId: MarketId7, LastUpdatedAt: TimeT, Price: Price1, } Market7_TimeT_Price3 = &daemonClientTypes.MarketPriceTimestamp{ MarketId: MarketId7, LastUpdatedAt: TimeT, Price: Price3, } Market7_TimeTPlusThreshold_Price1 = &daemonClientTypes.MarketPriceTimestamp{ MarketId: MarketId7, LastUpdatedAt: TimeTPlusThreshold, Price: Price1, } Market7_TimeTPlusThreshold_Price3 = &daemonClientTypes.MarketPriceTimestamp{ MarketId: MarketId7, LastUpdatedAt: TimeTPlusThreshold, Price: Price3, } // Prices InvalidPrice uint64 = 0 Price1 uint64 = 1001 Price2 uint64 = 2002 Price3 uint64 = 3003 Price4 uint64 = 4004 Price5 uint64 = 500005 Price6 uint64 = 60006 Price7 uint64 = 7007 Price1In100_000SubticksPerTick = Price1 * 100_000 Price2In100_000SubticksPerTick = Price2 * 100_000 Price3In100_000SubticksPerTick = Price3 * 100_000 Price4In100_000SubticksPerTick = Price4 * 100_000 Price5In100_000SubticksPerTick = Price5 * 100_000 Price6In100_000SubticksPerTick = Price6 * 100_000 Price7In100_000SubticksPerTick = Price7 * 100_000 Price5Negative int64 = -500005 Price6Negative int64 = -60006 Price7Negative int64 = -7007 Price1Big = big.NewInt(int64(Price1)) Price2Big = big.NewInt(int64(Price2)) Price3Big = big.NewInt(int64(Price3)) Price4Big = big.NewInt(int64(Price4)) Price5Big = big.NewInt(int64(Price5)) Price6Big = big.NewInt(int64(Price6)) Price7Big = big.NewInt(int64(Price7)) Price5NegativeBig = big.NewInt(Price5Negative) Price6NegativeBig = big.NewInt(Price6Negative) Price7NegativeBig = big.NewInt(Price7Negative) Price1Bytes, _ = Price1Big.GobEncode() Price2Bytes, _ = Price2Big.GobEncode() Price3Bytes, _ = Price3Big.GobEncode() Price4Bytes, _ = Price4Big.GobEncode() Price5Bytes, _ = Price5Big.GobEncode() Price6Bytes, _ = Price6Big.GobEncode() Price7Bytes, _ = Price7Big.GobEncode() Price5NegativeBytes, _ = Price5NegativeBig.GobEncode() Price6NegativeBytes, _ = Price6NegativeBig.GobEncode() Price7NegativeBytes, _ = Price7NegativeBig.GobEncode() // Funding Rates FundingRate1 = int64(10000) // 0.01% (10000 ppm) FundingRate2 = int64(-5000) // -0.005% (-5000 ppm) FundingRate3 = int64(25000) // 0.025% (25000 ppm) // Exchange 0 prices Exchange0_Price4_TimeT = &api.ExchangePrice{ ExchangeId: ExchangeId1, Price: Price4, LastUpdateTime: &TimeT, } // Exchange 1 prices Exchange1_Price1_TimeT = &api.ExchangePrice{ ExchangeId: ExchangeId1, Price: Price1, LastUpdateTime: &TimeT, } Exchange1_Price2_AfterTimeT = &api.ExchangePrice{ ExchangeId: ExchangeId1, Price: Price2, LastUpdateTime: &TimeTPlusThreshold, } Exchange1_Price3_BeforeTimeT = &api.ExchangePrice{ ExchangeId: ExchangeId1, Price: Price3, LastUpdateTime: &TimeTMinusThreshold, } // Exchange 2 prices Exchange2_Price2_TimeT = &api.ExchangePrice{ ExchangeId: ExchangeId2, Price: Price2, LastUpdateTime: &TimeT, } Exchange2_Price3_AfterTimeT = &api.ExchangePrice{ ExchangeId: ExchangeId2, Price: Price3, LastUpdateTime: &TimeTPlusThreshold, } Exchange2_Price1_BeforeTimeT = &api.ExchangePrice{ ExchangeId: ExchangeId2, Price: Price1, LastUpdateTime: &TimeTMinusThreshold, } // Exchange 3 prices Exchange3_Price3_TimeT = &api.ExchangePrice{ ExchangeId: ExchangeId3, Price: Price3, LastUpdateTime: &TimeT, } Exchange3_Price4_AfterTimeT = &api.ExchangePrice{ ExchangeId: ExchangeId3, Price: Price4, LastUpdateTime: &TimeTPlusThreshold, } // Price Updates Market9_SingleExchange_AtTimeUpdate = []*api.MarketPriceUpdate{ { MarketId: MarketId9, ExchangePrices: []*api.ExchangePrice{ Exchange1_Price1_TimeT, }, }, } AtTimeTPriceUpdate = []*api.MarketPriceUpdate{ { MarketId: MarketId9, ExchangePrices: []*api.ExchangePrice{ Exchange1_Price1_TimeT, Exchange2_Price2_TimeT, }, }, { MarketId: MarketId8, ExchangePrices: []*api.ExchangePrice{ Exchange2_Price2_TimeT, Exchange3_Price3_TimeT, }, }, { MarketId: MarketId7, ExchangePrices: []*api.ExchangePrice{ Exchange1_Price1_TimeT, Exchange3_Price3_TimeT, }, }, } AtTimeTSingleExchangePriceUpdate = []*api.MarketPriceUpdate{ { MarketId: MarketId0, ExchangePrices: []*api.ExchangePrice{ Exchange0_Price4_TimeT, }, }, { MarketId: MarketId1, ExchangePrices: []*api.ExchangePrice{ Exchange1_Price1_TimeT, }, }, { MarketId: MarketId2, ExchangePrices: []*api.ExchangePrice{ Exchange2_Price2_TimeT, }, }, { MarketId: MarketId3, ExchangePrices: []*api.ExchangePrice{ Exchange3_Price3_TimeT, }, }, { MarketId: MarketId4, ExchangePrices: []*api.ExchangePrice{ Exchange3_Price3_TimeT, }, }, } AtTimeTSingleExchangeSmoothedPrices = map[uint32]uint64{ MarketId0: Exchange0_Price4_TimeT.Price, MarketId1: Exchange1_Price1_TimeT.Price, MarketId2: Exchange2_Price2_TimeT.Price, MarketId3: Exchange3_Price3_TimeT.Price, MarketId4: Exchange3_Price3_TimeT.Price, } AtTimeTSingleExchangeSmoothedPricesPlus10 = map[uint32]uint64{ MarketId0: Exchange0_Price4_TimeT.Price + 10, MarketId1: Exchange1_Price1_TimeT.Price + 10, MarketId2: Exchange2_Price2_TimeT.Price + 10, MarketId3: Exchange3_Price3_TimeT.Price + 10, MarketId4: Exchange3_Price3_TimeT.Price + 10, } AtTimeTSingleExchangeSmoothedPricesPlus7 = map[uint32]uint64{ MarketId0: Exchange0_Price4_TimeT.Price + 7, MarketId1: Exchange1_Price1_TimeT.Price + 7, MarketId2: Exchange2_Price2_TimeT.Price + 7, MarketId3: Exchange3_Price3_TimeT.Price + 7, MarketId4: Exchange3_Price3_TimeT.Price + 7, } MixedTimePriceUpdate = []*api.MarketPriceUpdate{ { MarketId: MarketId9, ExchangePrices: []*api.ExchangePrice{ Exchange1_Price1_TimeT, Exchange2_Price2_TimeT, Exchange3_Price3_TimeT, }, }, { MarketId: MarketId8, ExchangePrices: []*api.ExchangePrice{ Exchange1_Price3_BeforeTimeT, Exchange2_Price2_TimeT, Exchange3_Price3_TimeT, }, }, { MarketId: MarketId7, ExchangePrices: []*api.ExchangePrice{ Exchange1_Price3_BeforeTimeT, Exchange2_Price1_BeforeTimeT, Exchange3_Price3_TimeT, }, }, } // Markets AllMarketParamsMinExchanges2 = []types.MarketParam{ { Id: MarketId9, Exponent: Exponent9, MinExchanges: 2, }, { Id: MarketId8, Exponent: Exponent8, MinExchanges: 2, }, { Id: MarketId7, Exponent: Exponent7, MinExchanges: 2, }, } AllMarketParamsMinExchanges3 = []types.MarketParam{ { Id: MarketId9, MinExchanges: 3, }, { Id: MarketId8, MinExchanges: 3, }, { Id: MarketId7, MinExchanges: 3, }, } SingleMarketExchangeQueryDetails = daemonClientTypes.ExchangeQueryDetails{IsMultiMarket: false} MultiMarketExchangeQueryDetails = daemonClientTypes.ExchangeQueryDetails{IsMultiMarket: true} // ExchangeQueryConfigs. Exchange1_0MaxQueries_QueryConfig = daemonClientTypes.ExchangeQueryConfig{ ExchangeId: ExchangeId1, IntervalMs: 100, TimeoutMs: 3_000, MaxQueries: 0, } Exchange1_1MaxQueries_QueryConfig = daemonClientTypes.ExchangeQueryConfig{ ExchangeId: ExchangeId1, IntervalMs: 100, TimeoutMs: 3_000, MaxQueries: 1, } Exchange1_2MaxQueries_QueryConfig = daemonClientTypes.ExchangeQueryConfig{ ExchangeId: ExchangeId1, IntervalMs: 100, TimeoutMs: 3_000, MaxQueries: 2, } // MutableExchangeMarketConfigs for 0, 1, 2, 3, and 5 markets. Exchange1_NoMarkets_MutableExchangeMarketConfig = daemonClientTypes.MutableExchangeMarketConfig{ Id: ExchangeId1, MarketToMarketConfig: map[daemonClientTypes.MarketId]daemonClientTypes.MarketConfig{}, } Exchange1_1Markets_MutableExchangeMarketConfig = daemonClientTypes.MutableExchangeMarketConfig{ Id: ExchangeId1, MarketToMarketConfig: map[daemonClientTypes.MarketId]daemonClientTypes.MarketConfig{ MarketId7: { Ticker: "BTC-USD", }, }, } Exchange1_2Markets_MutableExchangeMarketConfig = daemonClientTypes.MutableExchangeMarketConfig{ Id: ExchangeId1, MarketToMarketConfig: map[daemonClientTypes.MarketId]daemonClientTypes.MarketConfig{ MarketId7: { Ticker: "BTC-USD", }, MarketId8: { Ticker: "ETH-USD", }, }, } Exchange1_3Markets_MutableExchangeMarketConfig = daemonClientTypes.MutableExchangeMarketConfig{ Id: ExchangeId1, MarketToMarketConfig: map[daemonClientTypes.MarketId]daemonClientTypes.MarketConfig{ MarketId7: { Ticker: "BTC-USD", }, MarketId8: { Ticker: "ETH-USD", }, MarketId9: { Ticker: "LTC-USD", }, }, } Exchange1_5Markets_MutableExchangeMarketConfig = daemonClientTypes.MutableExchangeMarketConfig{ Id: ExchangeId1, MarketToMarketConfig: map[daemonClientTypes.MarketId]daemonClientTypes.MarketConfig{ MarketId7: { Ticker: "BTC-USD", }, MarketId8: { Ticker: "ETH-USD", }, MarketId9: { Ticker: "LTC-USD", }, MarketId10: { Ticker: "XRP-USD", }, MarketId11: { Ticker: "BCH-USD", }, }, } CanonicalMarketExponents = map[daemonClientTypes.MarketId]daemonClientTypes.Exponent{ MarketId7: MutableMarketConfigs_5Markets[0].Exponent, MarketId8: MutableMarketConfigs_5Markets[1].Exponent, MarketId9: MutableMarketConfigs_5Markets[2].Exponent, MarketId10: MutableMarketConfigs_5Markets[3].Exponent, MarketId11: MutableMarketConfigs_5Markets[4].Exponent, } CanonicalMarketPriceTimestampResponses = map[uint32]*daemonClientTypes.MarketPriceTimestamp{ MarketId7: Market7_TimeTPlusThreshold_Price3, MarketId8: Market8_TimeTMinusThreshold_Price2, MarketId9: Market9_TimeT_Price1, MarketId10: Market10_TimeT_Price4, MarketId11: Market11_TimeT_Price5, } // ExchangeIdMarketPriceTimestamps ExchangeId1_Market9_TimeT_Price1 = &client.ExchangeIdMarketPriceTimestamp{ ExchangeId: ExchangeId1, MarketPriceTimestamp: Market9_TimeT_Price1, } ExchangeId2_Market9_TimeT_Price2 = &client.ExchangeIdMarketPriceTimestamp{ ExchangeId: ExchangeId2, MarketPriceTimestamp: Market9_TimeT_Price2, } ExchangeId3_Market9_TimeT_Price3 = &client.ExchangeIdMarketPriceTimestamp{ ExchangeId: ExchangeId3, MarketPriceTimestamp: Market9_TimeT_Price3, } ExchangeId1_Market8_BeforeTimeT_Price3 = &client.ExchangeIdMarketPriceTimestamp{ ExchangeId: ExchangeId1, MarketPriceTimestamp: Market8_TimeTMinusThreshold_Price3, } ExchangeId2_Market8_TimeT_Price2 = &client.ExchangeIdMarketPriceTimestamp{ ExchangeId: ExchangeId2, MarketPriceTimestamp: Market8_TimeT_Price2, } ExchangeId3_Market8_TimeT_Price3 = &client.ExchangeIdMarketPriceTimestamp{ ExchangeId: ExchangeId3, MarketPriceTimestamp: Market8_TimeT_Price3, } ExchangeId1_Market7_BeforeTimeT_Price3 = &client.ExchangeIdMarketPriceTimestamp{ ExchangeId: ExchangeId1, MarketPriceTimestamp: Market7_BeforeTimeT_Price3, } ExchangeId2_Market7_BeforeTimeT_Price1 = &client.ExchangeIdMarketPriceTimestamp{ ExchangeId: ExchangeId2, MarketPriceTimestamp: Market7_BeforeTimeT_Price1, } ExchangeId1_Market7_TimeT_Price1 = &client.ExchangeIdMarketPriceTimestamp{ ExchangeId: ExchangeId1, MarketPriceTimestamp: Market7_TimeT_Price1, } ExchangeId3_Market7_TimeT_Price3 = &client.ExchangeIdMarketPriceTimestamp{ ExchangeId: ExchangeId3, MarketPriceTimestamp: Market7_TimeT_Price3, } CoinbaseMutableMarketConfig = &daemonClientTypes.MutableExchangeMarketConfig{ Id: CoinbaseExchangeName, MarketToMarketConfig: map[daemonClientTypes.MarketId]daemonClientTypes.MarketConfig{ MarketId7: { Ticker: "BTC-USD", }, MarketId8: { Ticker: "ETH-USD", }, }, } BinanceMutableMarketConfig = &daemonClientTypes.MutableExchangeMarketConfig{ Id: BinanceExchangeName, MarketToMarketConfig: map[daemonClientTypes.MarketId]daemonClientTypes.MarketConfig{ MarketId7: { Ticker: "BTCUSDT", }, MarketId8: { Ticker: "ETHUSDT", }, }, } TestCanonicalExchangeIds = []string{ExchangeId1, ExchangeId2} // Test constants for starting the daemon client. TestMutableExchangeMarketConfigs = map[string]*daemonClientTypes.MutableExchangeMarketConfig{ CoinbaseExchangeName: CoinbaseMutableMarketConfig, BinanceExchangeName: BinanceMutableMarketConfig, } TestMarket7And8Params = []types.MarketParam{ { Id: 7, Pair: BtcUsdPair, Exponent: BtcUsdExponent, ExchangeConfigJson: `{"exchanges":[{"exchangeName":"Binance","ticker":"BTCUSDT"},` + `{"exchangeName":"Coinbase","ticker":"BTC-USD"}]}`, MinExchanges: 1, MinPriceChangePpm: 50, }, { Id: 8, Pair: EthUsdPair, Exponent: EthUsdExponent, MinExchanges: 1, ExchangeConfigJson: `{"exchanges":[{"exchangeName":"Binance","ticker":"ETHUSDT"},` + `{"exchangeName":"Coinbase","ticker":"ETH-USD"}]}`, MinPriceChangePpm: 50, }, } TestMutableMarketConfigs = map[daemonClientTypes.MarketId]*daemonClientTypes.MutableMarketConfig{ MarketId7: { Id: MarketId7, Pair: BtcUsdPair, Exponent: BtcUsdExponent, MinExchanges: 1, }, MarketId8: { Id: MarketId8, Pair: EthUsdPair, Exponent: EthUsdExponent, MinExchanges: 1, }, } // Pricefetcher MutableMarketConfigs for 0, 1, 2, 3 and 5 markets. MutableMarketConfigs_0Markets = []*daemonClientTypes.MutableMarketConfig{} MutableMarketConfigs_1Markets = []*daemonClientTypes.MutableMarketConfig{ { Id: MarketId7, Pair: BtcUsdPair, Exponent: BtcUsdExponent, MinExchanges: 1, }, } MutableMarketConfigs_2Markets = []*daemonClientTypes.MutableMarketConfig{ { Id: MarketId7, Pair: BtcUsdPair, Exponent: BtcUsdExponent, MinExchanges: 1, }, { Id: MarketId8, Pair: EthUsdPair, Exponent: EthUsdExponent, MinExchanges: 1, }, } MutableMarketConfigs_3Markets = []*daemonClientTypes.MutableMarketConfig{ { Id: MarketId7, Pair: BtcUsdPair, Exponent: BtcUsdExponent, MinExchanges: 1, }, { Id: MarketId8, Pair: EthUsdPair, Exponent: EthUsdExponent, MinExchanges: 1, }, { Id: MarketId9, Pair: LtcUsdPair, Exponent: LtcUsdExponent, MinExchanges: 1, }, } MutableMarketConfigs_5Markets = []*daemonClientTypes.MutableMarketConfig{ { Id: MarketId7, Pair: BtcUsdPair, Exponent: BtcUsdExponent, MinExchanges: 1, }, { Id: MarketId8, Pair: EthUsdPair, Exponent: EthUsdExponent, MinExchanges: 1, }, { Id: MarketId9, Pair: LtcUsdPair, Exponent: LtcUsdExponent, MinExchanges: 1, }, { Id: MarketId10, Pair: SolUsdPair, Exponent: SolUsdExponent, MinExchanges: 1, }, { Id: MarketId11, Pair: MaticUsdPair, Exponent: MaticUsdExponent, MinExchanges: 1, }, } MarketToMutableMarketConfigs_5Markets = map[daemonClientTypes.MarketId]*daemonClientTypes.MutableMarketConfig{ MarketId7: MutableMarketConfigs_5Markets[0], MarketId8: MutableMarketConfigs_5Markets[1], MarketId9: MutableMarketConfigs_5Markets[2], MarketId10: MutableMarketConfigs_5Markets[3], MarketId11: MutableMarketConfigs_5Markets[4], } // Expected exponents for above configs. MutableMarketConfigs_3Markets_ExpectedExponents = map[daemonClientTypes.MarketId]daemonClientTypes.Exponent{ MarketId7: BtcUsdExponent, MarketId8: EthUsdExponent, MarketId9: LtcUsdExponent, } MutableMarketConfigs_5Markets_ExpectedExponents = map[daemonClientTypes.MarketId]daemonClientTypes.Exponent{ MarketId7: BtcUsdExponent, MarketId8: EthUsdExponent, MarketId9: LtcUsdExponent, MarketId10: SolUsdExponent, MarketId11: MaticUsdExponent, } TestExchangeQueryConfigs = map[string]*daemonClientTypes.ExchangeQueryConfig{ ExchangeId1: { ExchangeId: ExchangeId1, IntervalMs: 100, TimeoutMs: 3_000, MaxQueries: 2, }, ExchangeId2: { ExchangeId: ExchangeId2, IntervalMs: 100, TimeoutMs: 3_000, MaxQueries: 2, }, } TestExchangeIdToExchangeQueryDetails = map[string]daemonClientTypes.ExchangeQueryDetails{ ExchangeId1: constants.StaticExchangeDetails[ExchangeId1], ExchangeId2: constants.StaticExchangeDetails[ExchangeId2], } )
var ( ValidMultiMarketSpotPriceUpdates = []*types.MarketSpotPriceUpdate{ { MarketId: MarketId0, SpotPrice: Price5, }, { MarketId: MarketId1, SpotPrice: Price6, }, { MarketId: MarketId2, SpotPrice: Price7, }, { MarketId: MarketId3, SpotPrice: Price4, }, { MarketId: MarketId4, SpotPrice: Price3, }, } ValidMarketPriceUpdates = []*types.MarketPriceUpdate{ { MarketId: MarketId0, SpotPrice: Price5, PnlPrice: Price5, }, { MarketId: MarketId1, SpotPrice: Price6, PnlPrice: Price6, }, { MarketId: MarketId2, SpotPrice: Price7, PnlPrice: Price7, }, { MarketId: MarketId3, SpotPrice: Price4, PnlPrice: Price4, }, { MarketId: MarketId4, SpotPrice: Price3, PnlPrice: Price3, }, } ValidSingleSpotMarketPriceUpdate = []*types.MarketSpotPriceUpdate{ { MarketId: MarketId0, SpotPrice: Price5, }, } ValidSingleMarketPriceUpdate = []*types.MarketPriceUpdate{ { MarketId: MarketId0, SpotPrice: Price5, PnlPrice: Price5, }, } ValidSingleVEPrice = []vetypes.PricePair{ { MarketId: MarketId0, SpotPrice: Price5Bytes, PnlPrice: Price5Bytes, }, } ValidVEPricesWithOneInvalid = []vetypes.PricePair{ { MarketId: MarketId0, SpotPrice: Price5Bytes, PnlPrice: Price5Bytes, }, { MarketId: MarketId1, SpotPrice: Price6Bytes, PnlPrice: Price6Bytes, }, { MarketId: MarketId2, SpotPrice: []byte("invalid"), PnlPrice: []byte("invalid"), }, } ValidVEPrices = []vetypes.PricePair{ { MarketId: MarketId0, SpotPrice: Price5Bytes, PnlPrice: Price5Bytes, }, { MarketId: MarketId1, SpotPrice: Price6Bytes, PnlPrice: Price6Bytes, }, { MarketId: MarketId2, SpotPrice: Price7Bytes, PnlPrice: Price7Bytes, }, } ValidVEPricesOnlySpot = []vetypes.PricePair{ { MarketId: MarketId0, SpotPrice: Price5Bytes, }, { MarketId: MarketId1, SpotPrice: Price6Bytes, }, { MarketId: MarketId2, SpotPrice: Price7Bytes, }, } ValidVEPricesWithNoMarkets = []vetypes.PricePair{ { MarketId: 99, SpotPrice: Price5Bytes, PnlPrice: Price5Bytes, }, } InvalidVEPriceBytes = []vetypes.PricePair{ { MarketId: MarketId0, SpotPrice: Price5NegativeBytes, PnlPrice: Price5NegativeBytes, }, { MarketId: MarketId1, SpotPrice: Price6NegativeBytes, PnlPrice: Price6NegativeBytes, }, { MarketId: MarketId2, SpotPrice: Price7NegativeBytes, PnlPrice: Price7NegativeBytes, }, } InvalidVePricesMarketIds = []vetypes.PricePair{ { MarketId: 99, SpotPrice: Price5Bytes, PnlPrice: Price5Bytes, }, { MarketId: 101, SpotPrice: Price6Bytes, PnlPrice: Price6Bytes, }, { MarketId: 102, SpotPrice: Price7Bytes, PnlPrice: Price7Bytes, }, } ValidEmptyMarketParams = []types.MarketParam{} EmptyUpdateMarketPrices = &types.MarketPriceUpdates{} EmptyUpdateMarketPricesTxBytes []byte ValidUpdateMarketPrices = &types.MarketPriceUpdates{ MarketPriceUpdates: ValidMarketPriceUpdates, } ValidUpdateMarketPricesTxBytes []byte InvalidUpdateMarketPricesStateless = &types.MarketPriceUpdates{ MarketPriceUpdates: []*types.MarketPriceUpdate{ { MarketId: MarketId0, SpotPrice: 0, PnlPrice: 0, }, }, } InvalidUpdateMarketPricesStatelessTxBytes []byte InvalidUpdateMarketPricesStateful = &types.MarketPriceUpdates{ MarketPriceUpdates: []*types.MarketPriceUpdate{ { MarketId: MarketId0, SpotPrice: Price5, PnlPrice: Price5, }, { MarketId: MarketId1, SpotPrice: Price6, PnlPrice: Price6, }, { MarketId: 99, SpotPrice: Price3, PnlPrice: Price3, }, }, } InvalidUpdateMarketPricesStatefulTxBytes []byte Prices_DefaultGenesisState = types.GenesisState{ MarketParams: []types.MarketParam{ { Id: uint32(0), Pair: BtcUsdPair, Exponent: BtcUsdExponent, MinExchanges: uint32(2), ExchangeConfigJson: TestMarketExchangeConfigs[exchange_config.MARKET_BTC_USD], MinPriceChangePpm: uint32(50), }, { Id: uint32(1), Pair: EthUsdPair, Exponent: EthUsdExponent, MinExchanges: uint32(1), ExchangeConfigJson: TestMarketExchangeConfigs[exchange_config.MARKET_ETH_USD], MinPriceChangePpm: uint32(50), }, { Id: uint32(2), Pair: SolUsdPair, Exponent: SolUsdExponent, MinExchanges: uint32(1), ExchangeConfigJson: TestMarketExchangeConfigs[exchange_config.MARKET_SOL_USD], MinPriceChangePpm: uint32(50), }, { Id: uint32(3), Pair: IsoUsdPair, Exponent: IsoUsdExponent, MinExchanges: uint32(1), ExchangeConfigJson: TestMarketExchangeConfigs[exchange_config.MARKET_ISO_USD], MinPriceChangePpm: uint32(50), }, { Id: uint32(4), Pair: Iso2UsdPair, Exponent: Iso2UsdExponent, MinExchanges: uint32(1), ExchangeConfigJson: TestMarketExchangeConfigs[exchange_config.MARKET_ISO2_USD], MinPriceChangePpm: uint32(50), }, { Id: uint32(5), Pair: IsoBtcPair, Exponent: IsoBtcExponent, MinExchanges: uint32(1), ExchangeConfigJson: TestMarketExchangeConfigs[exchange_config.MARKET_ISO_BTC], MinPriceChangePpm: uint32(50), }, { Id: uint32(6), Pair: Iso2BtcPair, Exponent: Iso2BtcExponent, MinExchanges: uint32(1), ExchangeConfigJson: TestMarketExchangeConfigs[exchange_config.MARKET_ISO2_BTC], MinPriceChangePpm: uint32(50), }, }, MarketPrices: []types.MarketPrice{ { Id: uint32(0), Exponent: BtcUsdExponent, SpotPrice: FiveBillion, PnlPrice: FiveBillion, }, { Id: uint32(1), Exponent: EthUsdExponent, SpotPrice: ThreeBillion, PnlPrice: ThreeBillion, }, { Id: uint32(2), Exponent: SolUsdExponent, SpotPrice: FiveBillion, PnlPrice: FiveBillion, }, { Id: uint32(3), Exponent: IsoUsdExponent, SpotPrice: FiveHundredBillion, PnlPrice: FiveHundredBillion, }, { Id: uint32(4), Exponent: Iso2UsdExponent, SpotPrice: ThirtyBillion, PnlPrice: ThirtyBillion, }, { Id: uint32(5), Exponent: IsoBtcExponent, SpotPrice: FiveMillion, PnlPrice: FiveMillion, }, { Id: uint32(6), Exponent: Iso2BtcExponent, SpotPrice: ThreeMillion, PnlPrice: ThreeMillion, }, }, } Prices_MultiExchangeMarketGenesisState = types.GenesisState{ MarketParams: []types.MarketParam{ { Id: uint32(0), Pair: BtcUsdPair, Exponent: BtcUsdExponent, ExchangeConfigJson: TestMarketExchangeConfigs[exchange_config.MARKET_BTC_USD], MinExchanges: uint32(2), MinPriceChangePpm: uint32(50), }, { Id: uint32(1), Pair: EthUsdPair, Exponent: EthUsdExponent, ExchangeConfigJson: TestMarketExchangeConfigs[exchange_config.MARKET_ETH_USD], MinExchanges: uint32(2), MinPriceChangePpm: uint32(50), }, }, MarketPrices: []types.MarketPrice{ { Id: uint32(0), Exponent: BtcUsdExponent, SpotPrice: FiveBillion, PnlPrice: FiveBillion, }, { Id: uint32(1), Exponent: EthUsdExponent, SpotPrice: ThreeBillion, PnlPrice: ThreeBillion, }, }, } )
var ( AlicePrivateKey = privateKeyFromMnenomic(AliceMnenomic) BobPrivateKey = privateKeyFromMnenomic(BobMnenomic) CarlPrivateKey = privateKeyFromMnenomic(CarlMnenomic) DavePrivateKey = privateKeyFromMnenomic(DaveMnenomic) AlicePrivateKeyEddsa = loadPrivKeyFromBase64("65frslxv5ig0KSNKlJOHT2FKTkOzkb/66eDPsiBaNUtiIBHHzbn1n58YVTFAuvP/kVTZFhFPp/nLO+3sPsKtAw==") BobPrivateKeyEddsa = loadPrivKeyFromBase64("QL39Lu2bfmgfea0SwI891fXqEqOsLWjdhtniTs9U0Wz4/xiKiCqpBj6IP3rIRr04nHoSCJ5T3m715HenPF8OnQ==") CarlPrivateKeyEddsa = loadPrivKeyFromBase64("E079rll4qMCWBRrHUw3IkGQBZCQQ921HaQl8m0HloSvK0t+zVboTYjjWK14oL9jCPJn/nX4IBgIdjGZEeIF5jg==") DavePrivateKeyEddsa = loadPrivKeyFromBase64("FaPbbz/gB/Id6GKYv9M/rwsUziScfbUiIObEWLeCpYrIbb2RF9n+GAATUju5aNspAkkvj+Bf/TlcGd8H6bX3oA==") AliceConsAddressEddsa, _ = sdk.ConsAddressFromBech32("klyravalcons1zf9csp5ygq95cqyxh48w3qkuckmpealrhxq0ye") BobConsAddressEddsa, _ = sdk.ConsAddressFromBech32("klyravalcons1s7wykslt83kayxuaktep9fw8qxe5n73up9h3xp") CarlConsAddressEddsa, _ = sdk.ConsAddressFromBech32("klyravalcons1vy0nrh7l4rtezrsakaadz4mngwlpdmhyretgwy") DaveConsAddressEddsa, _ = sdk.ConsAddressFromBech32("klyravalcons1stjspktkshgcsv8sneqk2vs2ws0nw2wrnjkt6l") AlicePubKey = AlicePrivateKey.PubKey() BobPubKey = BobPrivateKey.PubKey() CarlPubKey = CarlPrivateKey.PubKey() DavePubKey = DavePrivateKey.PubKey() )
var ( // Eth Chain ID. EthChainId = 1 // sDAI conversion rate SDAIRate = "123456" )
var ( // Long-term orders. LongTermOrder_Alice_Num0_Id0_Clob0_Buy5_Price10_GTB5 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 5}, } LongTermOrder_Alice_Num0_Id0_Clob0_Buy5_Price5_GTBT5 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 5, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 5}, } LongTermOrder_Alice_Num0_Id0_Clob0_Buy5_Price10_GTBT5 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 5}, } LongTermOrder_Alice_Num11_Id0_Clob2_Buy5_Price10_GTBT5 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num11, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 2, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 5}, } LongTermOrder_Alice_Num0_Id0_Clob1_Buy5_Price10_GTBT5 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 1, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 5}, } LongTermOrder_Alice_Num0_Id0_Clob0_Buy5_Price10_GTBT15 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, } LongTermOrder_Alice_Num1_Id0_Clob0_Buy5_Price10_GTBT5 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num1, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 5}, } LongTermOrder_Alice_Num1_Id1_Clob0_Buy02BTC_Price10_GTB15 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num1, ClientId: 1, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 20_000_000, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, } LongTermOrder_Alice_Num1_Id2_Clob0_Sell02BTC_Price10_GTB15 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num1, ClientId: 2, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 20_000_000, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, } LongTermOrder_Alice_Num0_Id0_Clob0_Buy100_Price10_GTBT15 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 100, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, } LongTermOrder_Alice_Num0_Id0_Clob0_Buy5_Price10_GTBT20 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 20}, } LongTermOrder_Alice_Num0_Id1_Clob1_Sell65_Price15_GTBT25 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 1, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 1, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 65, Subticks: 15, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 25}, } LongTermOrder_Alice_Num0_Id2_Clob0_Sell65_Price10_GTBT25 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 2, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 65, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 25}, } LongTermOrder_Alice_Num1_Id4_Clob0_Buy10_Price45_GTBT20 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num1, ClientId: 4, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 45, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 20}, } LongTermOrder_Alice_Num1_Id0_Clob0_Sell15_Price5_GTBT10 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num1, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 15, Subticks: 5, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, } LongTermOrder_Alice_Num1_Id1_Clob0_Sell25_Price30_GTBT10 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num1, ClientId: 1, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 25, Subticks: 30, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, } LongTermOrder_Alice_Num1_Id2_Clob0_Buy10_Price40_GTBT10 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num1, ClientId: 2, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 40, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, } LongTermOrder_Alice_Num0_Id1_Clob0_Sell20_Price10_GTBT10 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 1, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 20, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, } LongTermOrder_Alice_Num0_Id0_Clob0_Buy1BTC_Price50000_GTBT15 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, } LongTermOrder_Alice_Num0_Id1_Clob0_Buy1BTC_Price50000_GTBT15 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 1, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, } LongTermOrder_Bob_Num0_Id0_Clob0_Sell2_Price5_GTBT10 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Bob_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 2, Subticks: 5, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, } LongTermOrder_Bob_Num0_Id0_Clob0_Sell5_Price5_GTBT10 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Bob_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 5, Subticks: 5, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, } LongTermOrder_Bob_Num0_Id1_Clob0_Sell5_Price10_GTBT10 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Bob_Num0, ClientId: 1, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, } LongTermOrder_Bob_Num0_Id1_Clob0_Sell50_Price10_GTBT15 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Bob_Num0, ClientId: 1, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 50, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, } LongTermOrder_Bob_Num0_Id0_Clob0_Buy25_Price30_GTBT10 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Bob_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 25, Subticks: 30, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, } LongTermOrder_Bob_Num0_Id0_Clob0_Buy35_Price30_GTBT11 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Bob_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 35, Subticks: 30, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 11}, } LongTermOrder_Bob_Num0_Id1_Clob0_Buy45_Price10_GTBT10 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Bob_Num0, ClientId: 1, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 45, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, } LongTermOrder_Bob_Num0_Id2_Clob0_Buy15_Price5_GTBT10 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Bob_Num0, ClientId: 2, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 15, Subticks: 5, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, } LongTermOrder_Bob_Num1_Id3_Clob0_Buy10_Price40_GTBT10 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Bob_Num1, ClientId: 3, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 10, Subticks: 40, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, } LongTermOrder_Carl_Num0_Id0_Clob0_Sell1BTC_Price50000_GTBT10 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Carl_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, } LongTermOrder_Carl_Num0_Id0_Clob0_Buy1BTC_Price49500_GTBT10 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Carl_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 49_500_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, } LongTermOrder_Carl_Num0_Id0_Clob0_Buy1BTC_Price50000_GTBT10 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Carl_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, } LongTermOrder_Dave_Num0_Id0_Clob0_Sell025BTC_Price50000_GTBT10 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Dave_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 25_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, } LongTermOrder_Dave_Num0_Id1_Clob0_Sell025BTC_Price50001_GTBT10 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Dave_Num0, ClientId: 1, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 25_000_000, Subticks: 50_001_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, } LongTermOrder_Dave_Num11_Id1_Clob10_Sell0_25Link_Price7_001_GTBT10 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Dave_Num11, ClientId: 1, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 10, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 25_000_000, Subticks: 700_100_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, } LongTermOrder_Dave_Num0_Id0_Clob0_Sell1BTC_Price50000_GTBT10 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Dave_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, } LongTermOrder_Dave_Num11_Id0_Clob10_Sell1Link_Price7_GTBT10 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Dave_Num11, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 10, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 700_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, } LongTermOrder_Dave_Num0_Id0_Clob0_Buy1BTC_Price50000_GTBT10 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Dave_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, } // Conditional orders. ConditionalOrder_Alice_Num0_Id0_Clob0_Buy5_Price10_GTBT15_StopLoss20 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 20, } ConditionalOrder_Alice_Num0_Id0_Clob0_Buy5_Price20_GTBT15_StopLoss20 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 20, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 20, } ConditionalOrder_Alice_Num0_Id0_Clob0_Buy5_Price10_GTBT15_TakeProfit20 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 20, } ConditionalOrder_Alice_Num0_Id0_Clob0_Buy5_Price10_GTBT15_TakeProfit10 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 10, } ConditionalOrder_Alice_Num0_Id0_Clob0_Buy5_Price10_GTBT15_TakeProfit25 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 25, } ConditionalOrder_Alice_Num0_Id0_Clob0_Sell5_Price10_GTBT15_StopLoss20 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 20, } ConditionalOrder_Alice_Num0_Id0_Clob0_Sell5_Price10_GTBT15_TakeProfit20 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 20, } ConditionalOrder_Alice_Num0_Id1_Clob0_Buy15_Price10_GTBT15_StopLoss20 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 1, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 15, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 20, } ConditionalOrder_Alice_Num0_Id1_Clob0_Buy15_Price25_GTBT15_StopLoss25 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 1, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 15, Subticks: 25, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 25, } ConditionalOrder_Alice_Num0_Id1_Clob0_Buy15_Price10_GTBT15_TakeProfit20 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 1, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 15, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 20, } ConditionalOrder_Alice_Num0_Id1_Clob0_Buy15_Price10_GTBT15_TakeProfit5 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 1, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 15, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 5, } ConditionalOrder_Alice_Num0_Id2_Clob0_Buy20_Price10_GTBT15_StopLoss20 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 2, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 20, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 20, } ConditionalOrder_Alice_Num0_Id2_Clob0_Sell20_Price10_GTBT15_StopLoss20 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 2, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 20, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 20, } ConditionalOrder_Alice_Num0_Id2_Clob0_Sell20_Price20_GTBT15_TakeProfit20 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 2, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 20, Subticks: 20, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 20, } ConditionalOrder_Alice_Num0_Id2_Clob0_Buy20_Price10_GTBT15_TakeProfit10 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 2, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 20, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 10, } ConditionalOrder_Alice_Num0_Id3_Clob0_Buy25_Price10_GTBT15_StopLoss20 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 3, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 25, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 20, } ConditionalOrder_Alice_Num0_Id3_Clob0_Buy25_Price25_GTBT15_StopLoss25 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 3, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 25, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 25, } ConditionalOrder_Alice_Num0_Id3_Clob0_Buy25_Price10_GTBT15_TakeProfit20 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 3, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 25, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 20, } ConditionalOrder_Alice_Num0_Id3_Clob0_Sell25_Price10_GTBT15_StopLoss10 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 3, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 25, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 10, } ConditionalOrder_Alice_Num0_Id3_Clob1_Buy25_Price10_GTBT15_StopLoss20 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 3, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 1, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 25, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 20, } ConditionalOrder_Alice_Num0_Id0_Clob1_Buy5_Price10_GTBT15_StopLoss20 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 1, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 20, } ConditionalOrder_Alice_Num0_Id0_Clob1_Buy5_Price10_GTBT15_TakeProfit20 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 1, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 20, } ConditionalOrder_Alice_Num0_Id0_Clob1_Buy5_Price10_GTBT15_TakeProfit30 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 1, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 30, } ConditionalOrder_Alice_Num0_Id0_Clob1_Sell5_Price10_GTBT15_StopLoss20 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 1, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 20, } ConditionalOrder_Alice_Num0_Id0_Clob1_Sell5_Price10_GTBT15_TakeProfit20 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 1, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 20, } ConditionalOrder_Alice_Num0_Id0_Clob0_Buy5_Price50_GTBT10_StopLoss51_FOK = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 50, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 51, } ConditionalOrder_Alice_Num0_Id0_Clob0_Buy5_Price50_GTBT10_StopLoss51_IOC = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 50, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_IOC, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 51, } ConditionalOrder_Alice_Num0_Id0_Clob0_Buy5_Price10_GTBT20 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 20}, } ConditionalOrder_Alice_Num1_Id0_Clob0_Sell5_Price10_GTBT15_StopLoss15 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num1, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 15, } ConditionalOrder_Alice_Num1_Id1_Clob0_Sell50_Price5_GTBT30_TakeProfit10 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num1, ClientId: 1, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 50, Subticks: 5, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 30}, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 10, } ConditionalOrder_Alice_Num1_Id0_Clob0_Sell5_Price10_GTB15 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num1, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 15}, } ConditionalOrder_Alice_Num1_Id1_Clob0_Sell50_Price5_GTB30 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num1, ClientId: 1, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 50, Subticks: 5, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 30}, } ConditionalOrder_Alice_Num1_Id1_Clob0_Sell50_Price5_GTB30_TakeProfit20 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num1, ClientId: 1, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 50, Subticks: 5, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 30}, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 20, } ConditionalOrder_Alice_Num0_Id0_Clob0_Buy1BTC_Price50000_GTBT10_TP_48700 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 48_700_000_000, } ConditionalOrder_Alice_Num0_Id0_Clob0_Buy1BTC_Price50000_GTBT10_TP_49700 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 49_700_000_000, } ConditionalOrder_Alice_Num0_Id0_Clob0_Buy1BTC_Price50000_GTBT10_TP_49995 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 49_995_000_000, } ConditionalOrder_Alice_Num0_Id0_Clob0_Buy1BTC_Price50000_GTBT10_TP_49999 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 49_999_000_000, } ConditionalOrder_Alice_Num11_Id0_Clob10_Buy1Link_Price7_GTBT10_TP_6_99 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num11, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 10, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 700_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 699_000_000, } ConditionalOrder_Alice_Num11_Id0_Clob10_Buy1Link_Price7_GTBT10_TP_6_999 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num11, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 10, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 700_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 699_900_000, } ConditionalOrder_Alice_Num0_Id0_Clob0_Buy1BTC_Price50000_GTBT10_TP_49999_IOC = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 49_999_000_000, TimeInForce: clobtypes.Order_TIME_IN_FORCE_IOC, } ConditionalOrder_Alice_Num0_Id0_Clob0_Buy1BTC_Price50000_GTBT10_TP_49999_FOK = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 49_999_000_000, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, } ConditionalOrder_Alice_Num0_Id0_Clob0_Buy1BTC_Price50000_GTBT10_SL_50001 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 50_001_000_000, } ConditionalOrder_Alice_Num0_Id0_Clob0_Buy1BTC_Price50000_GTBT10_SL_50005 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 50_005_000_000, } ConditionalOrder_Alice_Num11_Id0_Clob10_Buy1Link_Price7_GTBT10_SL_7_01 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num11, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 10, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 700_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 701_000_000, } ConditionalOrder_Alice_Num0_Id0_Clob0_Buy1BTC_Price50000_GTBT10_SL_50300 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 50_300_000_000, } ConditionalOrder_Alice_Num0_Id0_Clob0_Buy1BTC_Price50000_GTBT10_SL_51300 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 51_300_000_000, } ConditionalOrder_Bob_Num0_Id0_Clob0_Sell1BTC_Price50000_GTBT10_TP_50001 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Bob_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 50_001_000_000, } ConditionalOrder_Bob_Num0_Id0_Clob0_Sell1BTC_Price50000_GTBT10_TP_50005 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Bob_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 50_005_000_000, } ConditionalOrder_Bob_Num0_Id0_Clob0_Sell1BTC_Price50000_GTBT10_TP_50300 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Bob_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 50_300_000_000, } ConditionalOrder_Bob_Num0_Id0_Clob0_Sell1BTC_Price50000_GTBT10_TP_51300 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Bob_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 51_300_000_000, } ConditionalOrder_Bob_Num0_Id0_Clob0_Sell1BTC_Price50000_GTBT10_SL_48700 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Bob_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 48_700_000_000, } ConditionalOrder_Bob_Num0_Id0_Clob0_Sell1BTC_Price50000_GTBT10_SL_49700 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Bob_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 49_700_000_000, } ConditionalOrder_Bob_Num0_Id0_Clob0_Sell1BTC_Price50000_GTBT10_SL_49995 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Bob_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 49_995_000_000, } ConditionalOrder_Bob_Num11_Id0_Clob10_Sell1Link_Price7_GTBT10_SL_6_99 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Bob_Num11, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 10, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 700_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 699_000_000, } ConditionalOrder_Bob_Num0_Id0_Clob0_Sell1BTC_Price50000_GTBT10_SL_49999 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Bob_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 49_999_000_000, } ConditionalOrder_Carl_Num0_Id0_Clob0_Sell1BTC_Price50000_GTBT10 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Carl_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, } ConditionalOrder_Carl_Num0_Id0_Clob0_Buy1BTC_Price50000_GTBT10 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Carl_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, } ConditionalOrder_Dave_Num0_Id0_Clob0_Sell1BTC_Price50000_GTBT10 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Dave_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, } ConditionalOrder_Bob_Num0_Id0_Clob0_Sell10_Price10_GTBT10_PO_SL_15 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Bob_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_POST_ONLY, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 15_000_000, } ConditionalOrder_Alice_Num0_Id1_Clob0_Sell20_Price10_GTBT10_SL_15 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 1, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 20, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 15_000_000, } ConditionalOrder_Bob_Num0_Id1_Clob0_Sell50_Price10_GTBT15_SL_15 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Bob_Num0, ClientId: 1, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 50, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 15_000_000, } ConditionalOrder_Alice_Num0_Id0_Clob0_Buy5_Price10_GTBT5_SL_15 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 5, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 5}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 15_000_000, } ConditionalOrder_Dave_Num0_Id0_Clob0_Sell1BTC_Price50000_GTBT10_SL_50003 = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Dave_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 50_003_000_000, } ConditionalOrder_Carl_Num0_Id0_Clob0_Buy05BTC_Price50000_GTBT10_SL_50003_FOK = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Carl_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 50_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 50_003_000_000, } ConditionalOrder_Carl_Num0_Id0_Clob0_Sell05BTC_Price50000_GTBT10_TP_50003_FOK = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Carl_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 50_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 50_003_000_000, } ConditionalOrder_Carl_Num0_Id0_Clob0_Buy05BTC_Price50000_GTBT10_SL_50003_IOC = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Carl_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 50_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_IOC, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 50_003_000_000, } ConditionalOrder_Carl_Num11_Id0_Clob10_Buy05Link_Price7_GTBT10_SL_7_003_IOC = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Carl_Num11, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 10, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 50_000_000, Subticks: 700_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_IOC, ConditionType: clobtypes.Order_CONDITION_TYPE_STOP_LOSS, ConditionalOrderTriggerSubticks: 700_300_000, } ConditionalOrder_Carl_Num0_Id0_Clob0_Buy05BTC_Price50000_GTBT10_TP_49999_PO = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Carl_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 50_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_POST_ONLY, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 49_999_000_000, } ConditionalOrder_Carl_Num11_Id0_Clob10_Buy05Link_Price7_GTBT10_TP_6_999_PO = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Carl_Num11, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, ClobPairId: 10, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 50_000_000, Subticks: 700_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_POST_ONLY, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 699_900_000, } // Conditional FOK/IOC RO orders. ConditionalOrder_Alice_Num1_Id1_Clob0_Sell05BTC_Price500000_GTBT20_TP_50001_IOC_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num1, ClientId: 1, ClobPairId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 50_000_000, Subticks: 500_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_IOC, ReduceOnly: true, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 50_001_000_000, } ConditionalOrder_Alice_Num1_Id1_Clob0_Sell05BTC_Price500000_GTBT20_TP_50001_FOK_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num1, ClientId: 1, ClobPairId: 0, OrderFlags: clobtypes.OrderIdFlags_Conditional, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 50_000_000, Subticks: 500_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 20}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, ReduceOnly: true, ConditionType: clobtypes.Order_CONDITION_TYPE_TAKE_PROFIT, ConditionalOrderTriggerSubticks: 50_001_000_000, } // Long-Term post-only orders. LongTermOrder_Alice_Num0_Id0_Clob0_Buy100_Price10_GTBT15_PO = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 100, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 15}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_POST_ONLY, } LongTermOrder_Alice_Num0_Id2_Clob0_Sell65_Price10_GTBT25_PO = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Alice_Num0, ClientId: 2, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 65, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 25}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_POST_ONLY, } LongTermOrder_Bob_Num0_Id0_Clob0_Sell10_Price10_GTBT10_PO = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Bob_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 10, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_POST_ONLY, } LongTermOrder_Dave_Num0_Id0_Clob0_Buy1BTC_Price50000_GTBT10_PO = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Dave_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_BUY, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_POST_ONLY, } // Long-Term reduce-only orders. LongTermOrder_Bob_Num0_Id2_Clob0_Sell10_Price35_GTB20_RO = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Bob_Num0, ClientId: 2, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 10, Subticks: 35, GoodTilOneof: &clobtypes.Order_GoodTilBlock{GoodTilBlock: 20}, ReduceOnly: true, } // Long-Term Fill Or Kill Orders. LongTermOrder_Carl_Num0_Id0_Clob0_Sell1BTC_Price50000_GTBT10_FOK = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Carl_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_FILL_OR_KILL, } // Long-Term Immediate Or Cancel Orders. LongTermOrder_Carl_Num0_Id0_Clob0_Sell1BTC_Price50000_GTBT10_IOC = clobtypes.Order{ OrderId: clobtypes.OrderId{ SubaccountId: Carl_Num0, ClientId: 0, OrderFlags: clobtypes.OrderIdFlags_LongTerm, ClobPairId: 0, }, Side: clobtypes.Order_SIDE_SELL, Quantums: 100_000_000, Subticks: 50_000_000_000, GoodTilOneof: &clobtypes.Order_GoodTilBlockTime{GoodTilBlockTime: 10}, TimeInForce: clobtypes.Order_TIME_IN_FORCE_IOC, } )
var ( Alice_Num0 = satypes.SubaccountId{ Owner: types.MustBech32ifyAddressBytes(config.Bech32PrefixAccAddr, AliceAccAddress), Number: 0, } Alice_Num1 = satypes.SubaccountId{ Owner: types.MustBech32ifyAddressBytes(config.Bech32PrefixAccAddr, AliceAccAddress), Number: 1, } Alice_Num11 = satypes.SubaccountId{ Owner: types.MustBech32ifyAddressBytes(config.Bech32PrefixAccAddr, AliceAccAddress), Number: 11, } Bob_Num0 = satypes.SubaccountId{ Owner: types.MustBech32ifyAddressBytes(config.Bech32PrefixAccAddr, BobAccAddress), Number: 0, } Bob_Num1 = satypes.SubaccountId{ Owner: types.MustBech32ifyAddressBytes(config.Bech32PrefixAccAddr, BobAccAddress), Number: 1, } Bob_Num11 = satypes.SubaccountId{ Owner: types.MustBech32ifyAddressBytes(config.Bech32PrefixAccAddr, BobAccAddress), Number: 11, } Bob_Num2 = satypes.SubaccountId{ Owner: types.MustBech32ifyAddressBytes(config.Bech32PrefixAccAddr, BobAccAddress), Number: 2, } Carl_Num0 = satypes.SubaccountId{ Owner: types.MustBech32ifyAddressBytes(config.Bech32PrefixAccAddr, CarlAccAddress), Number: 0, } Carl_Num1 = satypes.SubaccountId{ Owner: types.MustBech32ifyAddressBytes(config.Bech32PrefixAccAddr, CarlAccAddress), Number: 1, } Carl_BTC = satypes.SubaccountId{ Owner: types.MustBech32ifyAddressBytes(config.Bech32PrefixAccAddr, CarlAccAddress), Number: 11, } Carl_Num11 = satypes.SubaccountId{ Owner: types.MustBech32ifyAddressBytes(config.Bech32PrefixAccAddr, CarlAccAddress), Number: 11, } Dave_Num0 = satypes.SubaccountId{ Owner: types.MustBech32ifyAddressBytes(config.Bech32PrefixAccAddr, DaveAccAddress), Number: 0, } Dave_Num1 = satypes.SubaccountId{ Owner: types.MustBech32ifyAddressBytes(config.Bech32PrefixAccAddr, DaveAccAddress), Number: 1, } Dave_Num2 = satypes.SubaccountId{ Owner: types.MustBech32ifyAddressBytes(config.Bech32PrefixAccAddr, DaveAccAddress), Number: 2, } Dave_Num11 = satypes.SubaccountId{ Owner: types.MustBech32ifyAddressBytes(config.Bech32PrefixAccAddr, DaveAccAddress), Number: 11, } )
var ( // Subaccounts. Alice_Num0_1USD = satypes.Subaccount{ Id: &Alice_Num0, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_1, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Alice_Num0_10_000USD = satypes.Subaccount{ Id: &Alice_Num0, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_10_000, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Alice_Num0_100_000USD = satypes.Subaccount{ Id: &Alice_Num0, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_100_000, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Alice_Num1_10_000USD = satypes.Subaccount{ Id: &Alice_Num1, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_10_000, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Alice_Num11_10_000BTC = satypes.Subaccount{ Id: &Alice_Num11, AssetPositions: []*satypes.AssetPosition{ &Btc_Asset_10_000, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Alice_Num1_1BTC = satypes.Subaccount{ Id: &Alice_Num1, AssetPositions: []*satypes.AssetPosition{ &Long_Asset_1BTC, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(0, 1).String(), } Alice_Num11_1BTC = satypes.Subaccount{ Id: &Alice_Num11, AssetPositions: []*satypes.AssetPosition{ &Btc_Asset_1, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Alice_Num11_5BTC = satypes.Subaccount{ Id: &Alice_Num11, AssetPositions: []*satypes.AssetPosition{ &Btc_Asset_5, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Alice_Num11_500BTC = satypes.Subaccount{ Id: &Alice_Num11, AssetPositions: []*satypes.AssetPosition{ &Btc_Asset_500, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Alice_Num1_100_000USD = satypes.Subaccount{ Id: &Alice_Num1, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_100_000, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Alice_Num0_1ISO_LONG_10_000USD = satypes.Subaccount{ Id: &Alice_Num0, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_10_000, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 3, Quantums: dtypes.NewInt(1_000_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Alice_Num1_1BTC_Short_100_000USD = satypes.Subaccount{ Id: &Alice_Num1, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_100_000, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(-100_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Alice_Num0_1ISOBTC_LONG_10_000BTC = satypes.Subaccount{ Id: &Alice_Num0, AssetPositions: []*satypes.AssetPosition{ &Long_Asset_1BTC, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 5, Quantums: dtypes.NewInt(10_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(0, 1).String(), } Alice_Num1_1BTC_Long_500_000USD = satypes.Subaccount{ Id: &Alice_Num1, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_500_000, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(100_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Bob_Num0_10_000USD = satypes.Subaccount{ Id: &Bob_Num0, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_10_000, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Bob_Num11_10_000BTC = satypes.Subaccount{ Id: &Bob_Num11, AssetPositions: []*satypes.AssetPosition{ &Btc_Asset_10_000, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Bob_Num11_20Link_Short_10499BTC = satypes.Subaccount{ Id: &Bob_Num11, AssetPositions: []*satypes.AssetPosition{ { AssetId: 1, Quantums: dtypes.NewInt(104_990_000), }, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 11, Quantums: dtypes.NewInt(-2_000_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Bob_Num11_0_2BTC_With_Link = satypes.Subaccount{ Id: &Bob_Num11, AssetPositions: []*satypes.AssetPosition{ &Btc_Asset_0_1, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 11, Quantums: dtypes.NewInt(2_000_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Bob_Num0_100_000USD = satypes.Subaccount{ Id: &Bob_Num0, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_100_000, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Bob_Num11_1BTC = satypes.Subaccount{ Id: &Bob_Num11, AssetPositions: []*satypes.AssetPosition{ &Btc_Asset_1, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num0_100BTC_Short_10100USD = satypes.Subaccount{ Id: &Carl_Num0, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_10_100, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(-10_000_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num0_1BTC_Short = satypes.Subaccount{ Id: &Carl_Num0, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_100_000, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(-100_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num0_100000BTC_Asset_1BTC_Short = satypes.Subaccount{ Id: &Carl_Num0, AssetPositions: []*satypes.AssetPosition{ &Long_Asset_100000BTC, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 8, Quantums: dtypes.NewInt(-100_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num0_2BTC_Short = satypes.Subaccount{ Id: &Carl_Num0, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_500_000, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(-200_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num1_1BTC_Short = satypes.Subaccount{ Id: &Carl_Num1, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_100_000, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(-100_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num1_99999TDAI_Long_1BTC_Short = satypes.Subaccount{ Id: &Carl_Num1, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_99_999, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(-100_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num0_1BTC_Short_49999USD = satypes.Subaccount{ Id: &Carl_Num0, AssetPositions: []*satypes.AssetPosition{ { AssetId: 0, Quantums: dtypes.NewInt(49_999_000_000), }, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(-100_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num0_1BTC_Short_50000USD = satypes.Subaccount{ Id: &Carl_Num0, AssetPositions: []*satypes.AssetPosition{ { AssetId: 0, Quantums: dtypes.NewInt(50_000_000_000), }, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(-100_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num11_20Link_Short_1BTC = satypes.Subaccount{ Id: &Carl_Num11, AssetPositions: []*satypes.AssetPosition{ { AssetId: 1, Quantums: dtypes.NewInt(100_000_000), }, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 11, Quantums: dtypes.NewInt(-2_000_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num0_1BTC_short_50000_non_TDai = satypes.Subaccount{ Id: &Carl_Num0, AssetPositions: []*satypes.AssetPosition{ { AssetId: 1, Quantums: dtypes.NewInt(50_000_000_000), }, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(-100_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), }, }, } Carl_Num0_1BTC_Short_50499USD = satypes.Subaccount{ Id: &Carl_Num0, AssetPositions: []*satypes.AssetPosition{ { AssetId: 0, Quantums: dtypes.NewInt(50_499_000_000), }, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(-100_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num11_20Link_Short_10099BTC = satypes.Subaccount{ Id: &Carl_Num11, AssetPositions: []*satypes.AssetPosition{ { AssetId: 1, Quantums: dtypes.NewInt(100_990_000), }, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 11, Quantums: dtypes.NewInt(-2_000_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num0_1BTC_Short_54999USD = satypes.Subaccount{ Id: &Carl_Num0, AssetPositions: []*satypes.AssetPosition{ { AssetId: 0, Quantums: dtypes.NewInt(54_999_000_000), }, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(-100_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num0_1BTC_Long_54999USD = satypes.Subaccount{ Id: &Carl_Num0, AssetPositions: []*satypes.AssetPosition{ { AssetId: 0, Quantums: dtypes.NewInt(-54_999_000_000), }, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(100_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num0_1BTC_Short_55000USD = satypes.Subaccount{ Id: &Carl_Num0, AssetPositions: []*satypes.AssetPosition{ { AssetId: 0, Quantums: dtypes.NewInt(55_000_000_000), }, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(-100_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num0_1BTC_Short_100000USD = satypes.Subaccount{ Id: &Carl_Num0, AssetPositions: []*satypes.AssetPosition{ { AssetId: 0, Quantums: dtypes.NewInt(100_000_000_000), }, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(-100_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num0_1BTC_Short_1ETH_Long_47000USD = satypes.Subaccount{ Id: &Carl_Num0, AssetPositions: []*satypes.AssetPosition{ { AssetId: 0, Quantums: dtypes.NewInt(47_000_000_000), }, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(-100_000_000), YieldIndex: big.NewRat(0, 1).String(), }, { PerpetualId: 1, Quantums: dtypes.NewInt(1_000_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num0_599USD = satypes.Subaccount{ Id: &Carl_Num0, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_599, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num0_1BTC = satypes.Subaccount{ Id: &Carl_Num0, AssetPositions: []*satypes.AssetPosition{ &Long_Asset_1BTC, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num0_660USD = satypes.Subaccount{ Id: &Carl_Num0, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_660, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num0_10000USD = satypes.Subaccount{ Id: &Carl_Num0, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_10_000, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num0_50000USD = satypes.Subaccount{ Id: &Carl_Num0, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_50_000, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num0_100000USD = satypes.Subaccount{ Id: &Carl_Num0, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_100_000, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num0_500000USD = satypes.Subaccount{ Id: &Carl_Num0, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_500_000, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num0_0USD = satypes.Subaccount{ Id: &Carl_Num0, AssetPositions: []*satypes.AssetPosition{}, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num1_500USD = satypes.Subaccount{ Id: &Carl_Num1, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_500, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num1_100000USD = satypes.Subaccount{ Id: &Carl_Num1, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_100_000, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num11_1BTC = satypes.Subaccount{ Id: &Carl_Num11, AssetPositions: []*satypes.AssetPosition{ &Btc_Asset_1, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num11_5BTC = satypes.Subaccount{ Id: &Carl_Num11, AssetPositions: []*satypes.AssetPosition{ &Btc_Asset_5, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num11_500BTC = satypes.Subaccount{ Id: &Carl_Num11, AssetPositions: []*satypes.AssetPosition{ &Btc_Asset_500, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num1_Short_500USD = satypes.Subaccount{ Id: &Carl_Num1, AssetPositions: []*satypes.AssetPosition{ &Short_TDai_Asset_500, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num0_1ISO_Short_49USD = satypes.Subaccount{ Id: &Carl_Num0, AssetPositions: []*satypes.AssetPosition{ { AssetId: 0, Quantums: dtypes.NewInt(49_000_000), }, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 3, Quantums: dtypes.NewInt(-1_000_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num1_01BTC_Long_4600USD_Short = satypes.Subaccount{ Id: &Carl_Num1, AssetPositions: []*satypes.AssetPosition{ &Short_TDai_Asset_4_600, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(10_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Carl_Num1_1BTC_Short_50499USD = satypes.Subaccount{ Id: &Carl_Num1, AssetPositions: []*satypes.AssetPosition{ { AssetId: 0, Quantums: dtypes.NewInt(50_499_000_000), }, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(-100_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num0_01BTC_Long_50000USD = satypes.Subaccount{ Id: &Dave_Num0, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_50_000, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(10_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num0_1BTC_Long_50000USD = satypes.Subaccount{ Id: &Dave_Num0, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_50_000, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(100_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num11_20Link_Long_1BTC = satypes.Subaccount{ Id: &Dave_Num11, AssetPositions: []*satypes.AssetPosition{ &Btc_Asset_1, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 11, Quantums: dtypes.NewInt(2_000_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num0_1BTC_Long_50001USD = satypes.Subaccount{ Id: &Dave_Num0, AssetPositions: []*satypes.AssetPosition{ { AssetId: 0, Quantums: dtypes.NewInt(50_001_000_000), }, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(100_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num0_1BTC_Short_100000USD = satypes.Subaccount{ Id: &Dave_Num0, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_100_000, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(-100_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num0_1BTC_Long_45000USD_Short = satypes.Subaccount{ Id: &Dave_Num0, AssetPositions: []*satypes.AssetPosition{ { AssetId: 0, Quantums: dtypes.NewInt(-45_000_000_000), }, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(100_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num0_1BTC_Long_45001USD_Short = satypes.Subaccount{ Id: &Dave_Num0, AssetPositions: []*satypes.AssetPosition{ { AssetId: 0, Quantums: dtypes.NewInt(-45_001_000_000), }, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(100_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num0_1BTC_Long_49501USD_Short = satypes.Subaccount{ Id: &Dave_Num0, AssetPositions: []*satypes.AssetPosition{ { AssetId: 0, Quantums: dtypes.NewInt(-49_501_000_000), }, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(100_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num0_1BTC_Long_50000USD_Short = satypes.Subaccount{ Id: &Dave_Num0, AssetPositions: []*satypes.AssetPosition{ { AssetId: 0, Quantums: dtypes.NewInt(-50_000_000_000), }, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(100_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num0_1BTC_Long_49999USD_Short = satypes.Subaccount{ Id: &Dave_Num0, AssetPositions: []*satypes.AssetPosition{ { AssetId: 0, Quantums: dtypes.NewInt(-49_999_000_000), }, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(100_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num11_20Link_Long_0_99999BTC_Short = satypes.Subaccount{ Id: &Dave_Num0, AssetPositions: []*satypes.AssetPosition{ { AssetId: 1, Quantums: dtypes.NewInt(-99_999_000), }, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 11, Quantums: dtypes.NewInt(2_000_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num0_1BTC_Long_50001USD_Short = satypes.Subaccount{ Id: &Dave_Num0, AssetPositions: []*satypes.AssetPosition{ { AssetId: 0, Quantums: dtypes.NewInt(-50_001_000_000), }, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(100_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num0_599USD = satypes.Subaccount{ Id: &Dave_Num0, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_599, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num0_1BTC = satypes.Subaccount{ Id: &Dave_Num0, AssetPositions: []*satypes.AssetPosition{ &Long_Asset_1BTC, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num0_10000USD = satypes.Subaccount{ Id: &Dave_Num0, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_10_000, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num0_500000USD = satypes.Subaccount{ Id: &Dave_Num0, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_500_000, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num0_100BTC_Short_10200USD = satypes.Subaccount{ Id: &Dave_Num0, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_10_200, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(-10_000_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num0_100BTC_Long_9900USD_Short = satypes.Subaccount{ Id: &Dave_Num0, AssetPositions: []*satypes.AssetPosition{ &Short_TDai_Asset_9_900, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(10_000_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num0_1ISO2_Short_499USD = satypes.Subaccount{ Id: &Dave_Num0, AssetPositions: []*satypes.AssetPosition{ { AssetId: 0, Quantums: dtypes.NewInt(499_000_000), }, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 4, Quantums: dtypes.NewInt(-10_000_000), FundingIndex: dtypes.NewInt(0), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num0_1BTC_Long_46000USD_Short = satypes.Subaccount{ Id: &Dave_Num0, AssetPositions: []*satypes.AssetPosition{ &Short_TDai_Asset_46_000, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(100_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num0_1BTC_Long_49500USD_Short = satypes.Subaccount{ Id: &Dave_Num0, AssetPositions: []*satypes.AssetPosition{ &Short_TDai_Asset_49_500, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(100_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num0_1BTC_Long_1ETH_Long_46000USD_Short = satypes.Subaccount{ Id: &Dave_Num0, AssetPositions: []*satypes.AssetPosition{ &Short_TDai_Asset_46_000, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(100_000_000), YieldIndex: big.NewRat(0, 1).String(), }, { PerpetualId: 1, Quantums: dtypes.NewInt(1_000_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num0_TinyBTC_Long_1ETH_Long_2900USD_Short = satypes.Subaccount{ Id: &Dave_Num0, AssetPositions: []*satypes.AssetPosition{ &Short_TDai_Asset_2_900, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(1), YieldIndex: big.NewRat(0, 1).String(), }, { PerpetualId: 1, Quantums: dtypes.NewInt(1_000_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num0_TinyIso_Long_LargerIso2_Long_1BTC_Short = satypes.Subaccount{ Id: &Dave_Num0, AssetPositions: []*satypes.AssetPosition{ { AssetId: 1, Quantums: dtypes.NewInt(-100_000_000), }, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: IsoBtc_20PercentInitial_10PercentMaintenance_CollatPool1_Id5_DangerIndex1.Params.Id, Quantums: dtypes.NewInt(1_000), YieldIndex: big.NewRat(0, 1).String(), }, { PerpetualId: Iso2Btc_20PercentInitial_10PercentMaintenance_CollatPool1_Id7_DangerIndex1.Params.Id, Quantums: dtypes.NewInt(100_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num0_TinyIso_Long_SmallBTC_Short = satypes.Subaccount{ Id: &Dave_Num0, AssetPositions: []*satypes.AssetPosition{ { AssetId: 1, Quantums: dtypes.NewInt(-1_000), }, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: IsoBtc_20PercentInitial_10PercentMaintenance_CollatPool1_Id5_DangerIndex1.Params.Id, Quantums: dtypes.NewInt(1_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num1_1BTC_Long_46000USD_Short = satypes.Subaccount{ Id: &Dave_Num1, AssetPositions: []*satypes.AssetPosition{ &Short_TDai_Asset_46_000, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(100_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num1_1ETH_Long_2900USD_Short = satypes.Subaccount{ Id: &Dave_Num1, AssetPositions: []*satypes.AssetPosition{ &Short_TDai_Asset_2_900, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 1, Quantums: dtypes.NewInt(1_000_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num1_10_000USD = satypes.Subaccount{ Id: &Dave_Num1, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_10_000, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num1_10_000USD_With_BTC = satypes.Subaccount{ Id: &Dave_Num1, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_10_000, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(100_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num1_500000USD = satypes.Subaccount{ Id: &Dave_Num1, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_500_000, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num11_5Btc = satypes.Subaccount{ Id: &Dave_Num11, AssetPositions: []*satypes.AssetPosition{ &Btc_Asset_5, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num11_500BTC = satypes.Subaccount{ Id: &Dave_Num11, AssetPositions: []*satypes.AssetPosition{ &Btc_Asset_500, }, PerpetualPositions: []*satypes.PerpetualPosition{}, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num1_025BTC_Long_50000USD = satypes.Subaccount{ Id: &Dave_Num1, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_50_000, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(25_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num1_05BTC_Long_50000USD = satypes.Subaccount{ Id: &Dave_Num1, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_50_000, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(50_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num1_1BTC_Long_50000USD = satypes.Subaccount{ Id: &Dave_Num1, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_50_000, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(100_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num1_100BTC_Short_10100USD = satypes.Subaccount{ Id: &Dave_Num1, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_10_100, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(-10_000_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num1_1BTC_Long_49501USD_Short = satypes.Subaccount{ Id: &Dave_Num1, AssetPositions: []*satypes.AssetPosition{ { AssetId: 0, Quantums: dtypes.NewInt(-49_501_000_000), }, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(100_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num1_1ETH_Long_50000USD = satypes.Subaccount{ Id: &Dave_Num1, AssetPositions: []*satypes.AssetPosition{ &TDai_Asset_50_000, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 1, Quantums: dtypes.NewInt(1_000_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } Dave_Num2_1BTC_Long_46000USD_Short = satypes.Subaccount{ Id: &Dave_Num2, AssetPositions: []*satypes.AssetPosition{ &Short_TDai_Asset_46_000, }, PerpetualPositions: []*satypes.PerpetualPosition{ { PerpetualId: 0, Quantums: dtypes.NewInt(100_000_000), YieldIndex: big.NewRat(0, 1).String(), }, }, AssetYieldIndex: big.NewRat(1, 1).String(), } // Quote balances. QuoteBalance_OneDollar = int64(1_000_000) // $1. // Asset Yield Index AssetYieldIndex_Zero = big.NewRat(1, 1).String() InvalidSubaccountIdNumber = satypes.SubaccountId{ Owner: Alice_Num0.Owner, Number: satypes.MaxSubaccountIdNumber + 1, } InvalidSubaccountIdOwner = satypes.SubaccountId{ Owner: "This is not valid", Number: 0, } )
var ( // Time TimeZero = time.Date(1, time.Month(1), 1, 0, 0, 0, 0, time.UTC) TimeTen = time.Unix(10, 0) TimeFifteen = time.Unix(15, 0) TimeTwenty = time.Unix(20, 0) TimeTwentyFive = time.Unix(25, 0) TimeThirty = time.Unix(30, 0) TimeT = time.Unix(1650000000, 0) // 2022-04-14 22:20:00 -0700 PDT TimeTMinus1 = TimeT.Add(-time.Duration(1)) TimeTPlus1 = TimeT.Add(time.Duration(1)) TimeTMinusThreshold = TimeT.Add(-pricefeed.MaxPriceAge).Add(-time.Duration(1)) TimeTPlusThreshold = TimeT.Add(pricefeed.MaxPriceAge).Add(time.Duration(1)) Time_21st_Feb_2021 = time.Date(2021, time.Month(2), 21, 0, 0, 0, 0, time.UTC) )
var ( Transfer_Carl_Num0_Dave_Num0_Quote_500 = types.Transfer{ Sender: Carl_Num0, Recipient: Dave_Num0, AssetId: assettypes.AssetTDai.Id, Amount: 500_000_000, } Transfer_Carl_Num0_Dave_Num0_Quote_1Tenth_BTC = types.Transfer{ Sender: Carl_Num0, Recipient: Dave_Num0, AssetId: assettypes.AssetBtc.Id, Amount: 10_000_000, } Transfer_Carl_Num0_Dave_Num0_Quote_600 = types.Transfer{ Sender: Carl_Num0, Recipient: Dave_Num0, AssetId: assettypes.AssetTDai.Id, Amount: 600_000_000, } Transfer_Carl_Num0_Dave_Num0_Quote_2_BTC = types.Transfer{ Sender: Carl_Num0, Recipient: Dave_Num0, AssetId: assettypes.AssetBtc.Id, Amount: 200_000_000, } Transfer_Carl_Num0_Dave_Num0_Asset_600 = types.Transfer{ Sender: Carl_Num0, Recipient: Dave_Num0, AssetId: assettypes.AssetTDai.Id, Amount: 600_000_000, } Transfer_Dave_Num0_Carl_Num0_Asset_500 = types.Transfer{ Sender: Dave_Num0, Recipient: Carl_Num0, AssetId: assettypes.AssetTDai.Id, Amount: 500_000_000, } Transfer_Dave_Num0_Carl_Num0_Asset_500_GTB_20 = types.Transfer{ Sender: Dave_Num0, Recipient: Carl_Num0, AssetId: assettypes.AssetTDai.Id, Amount: 500_000_000, } )
var ( MsgDepositToSubaccount_Alice_To_Alice_Num0_500 = types.MsgDepositToSubaccount{ Sender: AliceAccAddress.String(), Recipient: Alice_Num0, AssetId: assettypes.AssetTDai.Id, Quantums: 500_000_000, } MsgDepositToSubaccount_Alice_To_Alice_Num0_1BTC = types.MsgDepositToSubaccount{ Sender: AliceAccAddress.String(), Recipient: Alice_Num0, AssetId: assettypes.AssetBtc.Id, Quantums: 100_000_000, } MsgDepositToSubaccount_Alice_To_Carl_Num0_750 = types.MsgDepositToSubaccount{ Sender: AliceAccAddress.String(), Recipient: Carl_Num0, AssetId: assettypes.AssetTDai.Id, Quantums: 750_000_000, } MsgDepositToSubaccount_Alice_To_Carl_Num0_halfBTC = types.MsgDepositToSubaccount{ Sender: AliceAccAddress.String(), Recipient: Carl_Num0, AssetId: assettypes.AssetTDai.Id, Quantums: 50_000_000, } )
Test constants for deposit-to-subaccount messages.
var ( MsgWithdrawFromSubaccount_Alice_Num0_To_Alice_500 = types.MsgWithdrawFromSubaccount{ Sender: Alice_Num0, Recipient: AliceAccAddress.String(), AssetId: assettypes.AssetTDai.Id, Quantums: 500_000_000, } MsgWithdrawFromSubaccount_Alice_Num0_To_Alice_1BTC = types.MsgWithdrawFromSubaccount{ Sender: Alice_Num0, Recipient: AliceAccAddress.String(), AssetId: assettypes.AssetBtc.Id, Quantums: 100_000_000, } MsgWithdrawFromSubaccount_Carl_Num0_To_Alice_750 = types.MsgWithdrawFromSubaccount{ Sender: Carl_Num0, Recipient: AliceAccAddress.String(), AssetId: assettypes.AssetTDai.Id, Quantums: 750_000_000, } MsgWithdrawFromSubaccount_Carl_Num0_To_Alice_halfBTC = types.MsgWithdrawFromSubaccount{ Sender: Carl_Num0, Recipient: AliceAccAddress.String(), AssetId: assettypes.AssetBtc.Id, Quantums: 50_000_000, } )
Test constants for withdraw-from-subaccount messages.
var ( ValidEmptyExtInfoBytes []byte = []byte{} Val1 = sdk.ConsAddress("val1") Val2 = sdk.ConsAddress("val2") Val3 = sdk.ConsAddress("val3") ValidSingleVoteExtInfoBytes []byte = []byte{}/* 150 elements not displayed */ // return value of the following function call // (empty prices vote extension from 4 validators with 500000 power and block height 3) // validators, err := tApp.App.StakingKeeper.GetBondedValidatorsByPower(tApp.App.NewContextLegacy(true, tApp.header)) // if err != nil { // tApp.builder.t.Fatalf("Failed to get bonded validators: %v", err) // } // localLastCommit := vetestutil.GetEmptyLocalLastCommit( // validators, // tApp.App.LastBlockHeight(), // 0, // "localklyraprotocol", // ) ValidMultiEmptyVoteExtInfoBytes []byte = []byte{} /* 392 elements not displayed */ )
var CollateralPools = []perptypes.CollateralPool{ { CollateralPoolId: 0, MaxCumulativeInsuranceFundDeltaPerBlock: 1_000_000_000_000, MultiCollateralAssets: &perptypes.MultiCollateralAssetsArray{ MultiCollateralAssets: []uint32{0}, }, QuoteAssetId: 0, }, { CollateralPoolId: 1, MaxCumulativeInsuranceFundDeltaPerBlock: 1_000_000_000_000, MultiCollateralAssets: &perptypes.MultiCollateralAssetsArray{ MultiCollateralAssets: []uint32{1}, }, QuoteAssetId: 1, }, { CollateralPoolId: 2, MaxCumulativeInsuranceFundDeltaPerBlock: 1_000_000_000_000, MultiCollateralAssets: &perptypes.MultiCollateralAssetsArray{ MultiCollateralAssets: []uint32{0}, }, QuoteAssetId: 0, }, { CollateralPoolId: 3, MaxCumulativeInsuranceFundDeltaPerBlock: 1_000_000_000_000, MultiCollateralAssets: &perptypes.MultiCollateralAssetsArray{ MultiCollateralAssets: []uint32{0}, }, QuoteAssetId: 0, }, { CollateralPoolId: 4, MaxCumulativeInsuranceFundDeltaPerBlock: 1_000_000_000_000, MultiCollateralAssets: &perptypes.MultiCollateralAssetsArray{ MultiCollateralAssets: []uint32{1}, }, QuoteAssetId: 1, }, }
Collateral Pool objects.
var (
Duration_OneYear = time.Hour * 24 * 365
)
var (
EmptyAnteHandler = func(c sdk.Context, t sdk.Tx, b bool) (sdk.Context, error) { return c, nil }
)
var ( // Get state position functions. GetStatePosition_ZeroPositionSize = func( subaccountId satypes.SubaccountId, clobPairId clobtypes.ClobPairId, ) ( statePositionSize *big.Int, ) { return big.NewInt(0) } )
var IdsToPairs = map[uint32]string{ 0: BtcUsdPair, 1: EthUsdPair, 2: SolUsdPair, 3: IsoUsdPair, 4: Iso2UsdPair, 5: IsoBtcPair, 6: Iso2BtcPair, }
var LiquidityTiers = []perptypes.LiquidityTier{
{
Id: 0,
Name: "0",
InitialMarginPpm: 1_000_000,
MaintenanceFractionPpm: 1_000_000,
ImpactNotional: 500_000_000,
},
{
Id: 1,
Name: "1",
InitialMarginPpm: 1_000_000,
MaintenanceFractionPpm: 750_000,
ImpactNotional: 500_000_000,
},
{
Id: 2,
Name: "2",
InitialMarginPpm: 1_000_000,
MaintenanceFractionPpm: 0,
ImpactNotional: 500_000_000,
},
{
Id: 3,
Name: "3",
InitialMarginPpm: 200_000,
MaintenanceFractionPpm: 500_000,
ImpactNotional: 2_500_000_000,
},
{
Id: 4,
Name: "4",
InitialMarginPpm: 500_000,
MaintenanceFractionPpm: 800_000,
ImpactNotional: 1_000_000_000,
},
{
Id: 5,
Name: "5",
InitialMarginPpm: 500_000,
MaintenanceFractionPpm: 600_000,
ImpactNotional: 1_000_000_000,
},
{
Id: 6,
Name: "6",
InitialMarginPpm: 200_000,
MaintenanceFractionPpm: 900_000,
ImpactNotional: 2_500_000_000,
},
{
Id: 7,
Name: "7",
InitialMarginPpm: 0,
MaintenanceFractionPpm: 0,
ImpactNotional: 1_000_000_000,
},
{
Id: 8,
Name: "8",
InitialMarginPpm: 9_910,
MaintenanceFractionPpm: 1_000_000,
ImpactNotional: 50_454_000_000,
},
{
Id: 9,
Name: "9",
InitialMarginPpm: 200_000,
MaintenanceFractionPpm: 500_000,
ImpactNotional: 2_500_000_000,
OpenInterestUpperCap: 50_000_000_000_000,
OpenInterestLowerCap: 25_000_000_000_000,
},
{
Id: 101,
Name: "101",
InitialMarginPpm: 200_000,
MaintenanceFractionPpm: 500_000,
ImpactNotional: 2_500_000_000,
},
}
LiquidityTier objects.
var PerpetualFeeParams = types.PerpetualFeeParams{ Tiers: []*types.PerpetualFeeTier{ { Name: "1", MakerFeePpm: 200, TakerFeePpm: 500, }, }, }
var PerpetualFeeParamsMakerRebate = types.PerpetualFeeParams{ Tiers: []*types.PerpetualFeeTier{ { Name: "1", MakerFeePpm: -200, TakerFeePpm: 500, }, }, }
var PerpetualFeeParamsNoFee = types.PerpetualFeeParams{ Tiers: []*types.PerpetualFeeTier{ { Name: "1", MakerFeePpm: 0, TakerFeePpm: 0, }, }, }
var PerpetualsGenesisParams = perptypes.Params{ FundingRateClampFactorPpm: TestFundingRateClampFactorPpm, PremiumVoteClampFactorPpm: TestPremiumVoteClampFactorPpm, MinNumVotesPerSample: TestMinNumVotesPerSample, }
var Perpetuals_GenesisState_ParamsOnly = perptypes.GenesisState{ Params: PerpetualsGenesisParams, }
var TestMarketExchangeConfigs = map[pricefeedclient.MarketId]string{ exchange_config.MARKET_BTC_USD: `{ "exchanges": [ { "exchangeName": "Binance", "ticker": "BTCUSDT", "adjustByMarket": "USDT-USD" }, { "exchangeName": "BinanceUS", "ticker": "BTCUSDT", "adjustByMarket": "USDT-USD" }, { "exchangeName": "Bitfinex", "ticker": "tBTCUSD" }, { "exchangeName": "Bitstamp", "ticker": "BTC/USD" }, { "exchangeName": "Bybit", "ticker": "BTCUSDT", "adjustByMarket": "USDT-USD" }, { "exchangeName": "CoinbasePro", "ticker": "BTC-USD" }, { "exchangeName": "CryptoCom", "ticker": "BTC_USD" }, { "exchangeName": "Kraken", "ticker": "XXBTZUSD" }, { "exchangeName": "Mexc", "ticker": "BTC_USDT", "adjustByMarket": "USDT-USD" }, { "exchangeName": "Okx", "ticker": "BTC-USDT", "adjustByMarket": "USDT-USD" } ] }`, exchange_config.MARKET_ETH_USD: `{ "exchanges": [ { "exchangeName": "Binance", "ticker": "ETHUSDT", "adjustByMarket": "USDT-USD" }, { "exchangeName": "BinanceUS", "ticker": "ETHUSDT", "adjustByMarket": "USDT-USD" }, { "exchangeName": "Bitfinex", "ticker": "tETHUSD" }, { "exchangeName": "Bitstamp", "ticker": "ETH/USD" }, { "exchangeName": "Bybit", "ticker": "ETHUSDT", "adjustByMarket": "USDT-USD" }, { "exchangeName": "CoinbasePro", "ticker": "ETH-USD" }, { "exchangeName": "CryptoCom", "ticker": "ETH_USD" }, { "exchangeName": "Kraken", "ticker": "XETHZUSD" }, { "exchangeName": "Mexc", "ticker": "ETH_USDT", "adjustByMarket": "USDT-USD" }, { "exchangeName": "Okx", "ticker": "ETH-USDT", "adjustByMarket": "USDT-USD" } ] }`, exchange_config.MARKET_SOL_USD: `{ "exchanges": [ { "exchangeName": "Binance", "ticker": "SOLUSDT", "adjustByMarket": "USDT-USD" }, { "exchangeName": "Bitfinex", "ticker": "tSOLUSD", "adjustByMarket": "USDT-USD" }, { "exchangeName": "Bybit", "ticker": "SOLUSDT", "adjustByMarket": "USDT-USD" }, { "exchangeName": "CoinbasePro", "ticker": "SOL-USD" }, { "exchangeName": "CryptoCom", "ticker": "SOL_USD" }, { "exchangeName": "Huobi", "ticker": "solusdt", "adjustByMarket": "USDT-USD" }, { "exchangeName": "Kraken", "ticker": "SOLUSD" }, { "exchangeName": "Kucoin", "ticker": "SOL-USDT", "adjustByMarket": "USDT-USD" }, { "exchangeName": "Mexc", "ticker": "SOL_USDT", "adjustByMarket": "USDT-USD" }, { "exchangeName": "Okx", "ticker": "SOL-USDT", "adjustByMarket": "USDT-USD" } ] }`, exchange_config.MARKET_ISO_USD: `{ "exchanges": [ { "exchangeName": "Binance", "ticker": "ISOUSDT", "adjustByMarket": "USDT-USD" } ] }`, exchange_config.MARKET_ISO2_USD: `{ "exchanges": [ { "exchangeName": "Binance", "ticker": "ISO2USDT", "adjustByMarket": "USDT-USD" } ] }`, exchange_config.MARKET_ISO_BTC: `{ "exchanges": [ { "exchangeName": "Binance", "ticker": "ISOBTC" } ] }`, exchange_config.MARKET_ISO2_BTC: `{ "exchanges": [ { "exchangeName": "Binance", "ticker": "ISO2BTC" } ] }`, }
var TestMarketIdsToExponents = map[uint32]int32{ 0: BtcUsdExponent, 1: EthUsdExponent, 2: SolUsdExponent, 5: LinkBtcExponent, }
var TestMarketParams = []types.MarketParam{ { Id: 0, Pair: BtcUsdPair, Exponent: BtcUsdExponent, MinExchanges: 1, MinPriceChangePpm: 50, ExchangeConfigJson: TestMarketExchangeConfigs[exchange_config.MARKET_BTC_USD], }, { Id: 1, Pair: EthUsdPair, Exponent: EthUsdExponent, MinExchanges: 1, MinPriceChangePpm: 50, ExchangeConfigJson: TestMarketExchangeConfigs[exchange_config.MARKET_ETH_USD], }, { Id: 2, Pair: SolUsdPair, Exponent: SolUsdExponent, MinExchanges: 1, MinPriceChangePpm: 50, ExchangeConfigJson: TestMarketExchangeConfigs[exchange_config.MARKET_SOL_USD], }, { Id: 3, Pair: IsoUsdPair, Exponent: IsoUsdExponent, MinExchanges: 1, MinPriceChangePpm: 50, ExchangeConfigJson: TestMarketExchangeConfigs[exchange_config.MARKET_ISO_USD], }, { Id: 4, Pair: Iso2UsdPair, Exponent: Iso2UsdExponent, MinExchanges: 1, MinPriceChangePpm: 50, ExchangeConfigJson: TestMarketExchangeConfigs[exchange_config.MARKET_ISO2_USD], }, { Id: 5, Pair: IsoBtcPair, Exponent: IsoBtcExponent, MinExchanges: 1, MinPriceChangePpm: 50, ExchangeConfigJson: TestMarketExchangeConfigs[exchange_config.MARKET_ISO_BTC], }, { Id: 6, Pair: Iso2BtcPair, Exponent: Iso2BtcExponent, MinExchanges: 1, MinPriceChangePpm: 50, ExchangeConfigJson: TestMarketExchangeConfigs[exchange_config.MARKET_ISO2_BTC], }, }
var TestMarketPerpetuals = []perptypes.Perpetual{ { Params: perptypes.PerpetualParams{ Id: 0, Ticker: "BTC-USD", MarketId: uint32(0), AtomicResolution: int32(-10), DefaultFundingPpm: int32(0), LiquidityTier: uint32(0), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(0), }, FundingIndex: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), }, { Params: perptypes.PerpetualParams{ Id: 1, Ticker: "ETH-USD", MarketId: uint32(1), AtomicResolution: int32(-9), DefaultFundingPpm: int32(0), LiquidityTier: uint32(0), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(0), }, FundingIndex: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), }, { Params: perptypes.PerpetualParams{ Id: 2, Ticker: "SOL-USD", MarketId: uint32(2), AtomicResolution: int32(-9), DefaultFundingPpm: int32(0), LiquidityTier: uint32(3), DangerIndexPpm: uint32(0), CollateralPoolId: uint32(0), }, FundingIndex: dtypes.ZeroInt(), YieldIndex: big.NewRat(0, 1).String(), }, IsoUsd_IsolatedMarket, Iso2Usd_IsolatedMarket, IsoBtc_20PercentInitial_10PercentMaintenance_CollatPool1_Id5, IsoBtc_20PercentInitial_10PercentMaintenance_CollatPool4_Id6, Iso2Btc_20PercentInitial_10PercentMaintenance_CollatPool1_Id7, BtcBtc_100PercentMarginRequirement_CollatPool1_Id8, }
var TestMarketPrices = []types.MarketPrice{ { Id: 0, Exponent: BtcUsdExponent, SpotPrice: FiveBillion, PnlPrice: FiveBillion, }, { Id: 1, Exponent: EthUsdExponent, SpotPrice: ThreeBillion, PnlPrice: ThreeBillion, }, { Id: 2, Exponent: SolUsdExponent, SpotPrice: FiveBillion, PnlPrice: FiveBillion, }, { Id: 3, Exponent: IsoUsdExponent, SpotPrice: FiveHundredBillion, PnlPrice: FiveHundredBillion, }, { Id: 4, Exponent: Iso2UsdExponent, SpotPrice: ThirtyBillion, PnlPrice: ThirtyBillion, }, { Id: 5, Exponent: IsoBtcExponent, SpotPrice: FiveMillion, PnlPrice: FiveMillion, }, { Id: 6, Exponent: Iso2BtcExponent, SpotPrice: ThreeMillion, PnlPrice: ThreeMillion, }, }
var TestPricesGenesisState = types.GenesisState{ MarketParams: TestMarketParams, MarketPrices: TestMarketPrices, }
var TestSingleMarketParam = types.MarketParam{ Id: 0, Pair: BtcUsdPair, Exponent: BtcUsdExponent, MinExchanges: 1, MinPriceChangePpm: 50, ExchangeConfigJson: TestMarketExchangeConfigs[exchange_config.MARKET_BTC_USD], }
Functions ¶
func BigNegMaxUint64 ¶
BigNegMaxUint64 returns a `big.Int` that is set to -math.MaxUint64.
func FundingSamples_Constant_0_001_Percent_Length_60_With_Noises ¶
func FundingSamples_Constant_0_001_Percent_Length_60_With_Noises() ( result []int32, )
Return a list of 60 funding premium samples, with 30 equal to 0.001% or 1000 in ppm, 15 equal to -0.1% and 15 equal to 0.1%.
func GenerateConstantFundingPremiums ¶
Return a list of `count` constant funding premiums equal to `value`.
func GenerateEpochGenesisStateWithoutFunding ¶
func GenerateEpochGenesisStateWithoutFunding() types.GenesisState
GenerateEpochGenesisStateWithoutFunding is a testutil function to generate genesis state for the epochs module where no new epochs will trigger for `funding-tick` and `funding-sample` within the next 365 days, meaning that there will be no funding payment for unit and end-to-end tests that use this genesis state.
func GenerateFundingSamplesWithValues ¶
Returns a funding sample list of length `n = sum(counts)`, where each `values[i]` appears `counts[i]` times.
func GetConsAddressFromStringValidatorAddress ¶
func GetConsAddressFromStringValidatorAddress(validatorAddr string) sdk.ConsAddress
func GetConsAddressFromValidatorAddress ¶
func GetConsAddressFromValidatorAddress(validatorAddr sdk.ValAddress) sdk.ConsAddress
func GetEddsaPrivKeyFromValidatorAddressString ¶
func GetEddsaPrivKeyFromValidatorAddressString(validatorAddrString string) cometbfted25519.PrivKey
func GetPrivKeyFromConsAddress ¶
func GetPrivKeyFromConsAddress(consAddr sdk.ConsAddress) cometbfted25519.PrivKey
func GetPrivKeyFromValidatorAddress ¶
func GetPrivKeyFromValidatorAddress(validatorAddr sdk.ValAddress) cryptotypes.PrivKey
func GetPrivKeyFromValidatorAddressString ¶
func GetPrivKeyFromValidatorAddressString(validatorAddrString string) cryptotypes.PrivKey
func GetPrivateKeyFromAddress ¶
func GetPrivateKeyFromAddress(accAddress string) cryptotypes.PrivKey
GetPrivateKeyFromAddress returns the private key for the specified account address. Note that this panics if the account address is not one of the well known accounts.
func GetPublicKeyFromAddress ¶
func GetPublicKeyFromAddress(accAddress string) cryptotypes.PubKey
Types ¶
This section is empty.
Source Files ¶
- addresses.go
- antehandler.go
- assets.go
- clob_pair.go
- collateralization.go
- delaymsg.go
- encoding.go
- epochs.go
- feetiers.go
- genesis-ibc-no-ve-1.go
- genesis-ibc-no-ve-2.go
- genesis-ibc-no-ve-3.go
- genesis-no-ve.go
- genesis.go
- get_state_position.go
- hashes.go
- indexer_messages.go
- liquidation_configs.go
- liquidation_orders.go
- messages.go
- mnemonics.go
- operations.go
- order_cancellations.go
- order_ids.go
- orders.go
- perpetuals.go
- positions.go
- pricefeed.go
- prices.go
- private_keys.go
- sdai.go
- stateful_orders.go
- subaccount_ids.go
- subaccounts.go
- time.go
- transfers.go
- ve.go