{ "version": "0.9.0", "name": "mango_v4", "instructions": [ { "name": "groupCreate", "accounts": [ { "name": "group", "isMut": true, "isSigner": false, "pda": { "seeds": [ { "kind": "const", "type": "string", "value": "Group" }, { "kind": "account", "type": "publicKey", "path": "creator" }, { "kind": "arg", "type": "u32", "path": "group_num" } ] } }, { "name": "creator", "isMut": false, "isSigner": true }, { "name": "insuranceMint", "isMut": false, "isSigner": false }, { "name": "insuranceVault", "isMut": true, "isSigner": false, "pda": { "seeds": [ { "kind": "const", "type": "string", "value": "InsuranceVault" }, { "kind": "account", "type": "publicKey", "path": "group" } ] } }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false } ], "args": [ { "name": "groupNum", "type": "u32" }, { "name": "testing", "type": "u8" }, { "name": "version", "type": "u8" } ] }, { "name": "groupEdit", "accounts": [ { "name": "group", "isMut": true, "isSigner": false }, { "name": "admin", "isMut": false, "isSigner": true } ], "args": [ { "name": "adminOpt", "type": { "option": "publicKey" } }, { "name": "fastListingAdminOpt", "type": { "option": "publicKey" } }, { "name": "securityAdminOpt", "type": { "option": "publicKey" } }, { "name": "testingOpt", "type": { "option": "u8" } }, { "name": "versionOpt", "type": { "option": "u8" } }, { "name": "depositLimitQuoteOpt", "type": { "option": "u64" } }, { "name": "buybackFeesOpt", "type": { "option": "bool" } }, { "name": "buybackFeesBonusFactorOpt", "type": { "option": "f32" } }, { "name": "buybackFeesSwapMangoAccountOpt", "type": { "option": "publicKey" } }, { "name": "mngoTokenIndexOpt", "type": { "option": "u16" } }, { "name": "buybackFeesExpiryIntervalOpt", "type": { "option": "u64" } } ] }, { "name": "ixGateSet", "accounts": [ { "name": "group", "isMut": true, "isSigner": false }, { "name": "admin", "isMut": false, "isSigner": true } ], "args": [ { "name": "ixGate", "type": "u128" } ] }, { "name": "groupClose", "accounts": [ { "name": "group", "isMut": true, "isSigner": false }, { "name": "admin", "isMut": false, "isSigner": true }, { "name": "insuranceVault", "isMut": true, "isSigner": false }, { "name": "solDestination", "isMut": true, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "tokenRegister", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "admin", "isMut": false, "isSigner": true }, { "name": "mint", "isMut": false, "isSigner": false }, { "name": "bank", "isMut": true, "isSigner": false, "pda": { "seeds": [ { "kind": "const", "type": "string", "value": "Bank" }, { "kind": "account", "type": "publicKey", "path": "group" }, { "kind": "arg", "type": "u16", "path": "token_index" }, { "kind": "const", "type": "u32", "value": 0 } ] } }, { "name": "vault", "isMut": true, "isSigner": false, "pda": { "seeds": [ { "kind": "const", "type": "string", "value": "Vault" }, { "kind": "account", "type": "publicKey", "path": "group" }, { "kind": "arg", "type": "u16", "path": "token_index" }, { "kind": "const", "type": "u32", "value": 0 } ] } }, { "name": "mintInfo", "isMut": true, "isSigner": false, "pda": { "seeds": [ { "kind": "const", "type": "string", "value": "MintInfo" }, { "kind": "account", "type": "publicKey", "path": "group" }, { "kind": "account", "type": "publicKey", "account": "Mint", "path": "mint" } ] } }, { "name": "oracle", "isMut": false, "isSigner": false }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false } ], "args": [ { "name": "tokenIndex", "type": "u16" }, { "name": "name", "type": "string" }, { "name": "oracleConfig", "type": { "defined": "OracleConfigParams" } }, { "name": "interestRateParams", "type": { "defined": "InterestRateParams" } }, { "name": "loanFeeRate", "type": "f32" }, { "name": "loanOriginationFeeRate", "type": "f32" }, { "name": "maintAssetWeight", "type": "f32" }, { "name": "initAssetWeight", "type": "f32" }, { "name": "maintLiabWeight", "type": "f32" }, { "name": "initLiabWeight", "type": "f32" }, { "name": "liquidationFee", "type": "f32" }, { "name": "minVaultToDepositsRatio", "type": "f64" }, { "name": "netBorrowLimitWindowSizeTs", "type": "u64" }, { "name": "netBorrowLimitPerWindowQuote", "type": "i64" } ] }, { "name": "tokenRegisterTrustless", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "admin", "isMut": false, "isSigner": true }, { "name": "mint", "isMut": false, "isSigner": false }, { "name": "bank", "isMut": true, "isSigner": false, "pda": { "seeds": [ { "kind": "const", "type": "string", "value": "Bank" }, { "kind": "account", "type": "publicKey", "path": "group" }, { "kind": "arg", "type": "u16", "path": "token_index" }, { "kind": "const", "type": "u32", "value": 0 } ] } }, { "name": "vault", "isMut": true, "isSigner": false, "pda": { "seeds": [ { "kind": "const", "type": "string", "value": "Vault" }, { "kind": "account", "type": "publicKey", "path": "group" }, { "kind": "arg", "type": "u16", "path": "token_index" }, { "kind": "const", "type": "u32", "value": 0 } ] } }, { "name": "mintInfo", "isMut": true, "isSigner": false, "pda": { "seeds": [ { "kind": "const", "type": "string", "value": "MintInfo" }, { "kind": "account", "type": "publicKey", "path": "group" }, { "kind": "account", "type": "publicKey", "account": "Mint", "path": "mint" } ] } }, { "name": "oracle", "isMut": false, "isSigner": false }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false } ], "args": [ { "name": "tokenIndex", "type": "u16" }, { "name": "name", "type": "string" } ] }, { "name": "tokenEdit", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "admin", "isMut": false, "isSigner": true }, { "name": "mintInfo", "isMut": true, "isSigner": false }, { "name": "oracle", "isMut": false, "isSigner": false } ], "args": [ { "name": "oracleOpt", "type": { "option": "publicKey" } }, { "name": "oracleConfigOpt", "type": { "option": { "defined": "OracleConfigParams" } } }, { "name": "groupInsuranceFundOpt", "type": { "option": "bool" } }, { "name": "interestRateParamsOpt", "type": { "option": { "defined": "InterestRateParams" } } }, { "name": "loanFeeRateOpt", "type": { "option": "f32" } }, { "name": "loanOriginationFeeRateOpt", "type": { "option": "f32" } }, { "name": "maintAssetWeightOpt", "type": { "option": "f32" } }, { "name": "initAssetWeightOpt", "type": { "option": "f32" } }, { "name": "maintLiabWeightOpt", "type": { "option": "f32" } }, { "name": "initLiabWeightOpt", "type": { "option": "f32" } }, { "name": "liquidationFeeOpt", "type": { "option": "f32" } }, { "name": "stablePriceDelayIntervalSecondsOpt", "type": { "option": "u32" } }, { "name": "stablePriceDelayGrowthLimitOpt", "type": { "option": "f32" } }, { "name": "stablePriceGrowthLimitOpt", "type": { "option": "f32" } }, { "name": "minVaultToDepositsRatioOpt", "type": { "option": "f64" } }, { "name": "netBorrowLimitPerWindowQuoteOpt", "type": { "option": "i64" } }, { "name": "netBorrowLimitWindowSizeTsOpt", "type": { "option": "u64" } }, { "name": "borrowWeightScaleStartQuoteOpt", "type": { "option": "f64" } }, { "name": "depositWeightScaleStartQuoteOpt", "type": { "option": "f64" } }, { "name": "resetStablePrice", "type": "bool" }, { "name": "resetNetBorrowLimit", "type": "bool" }, { "name": "reduceOnlyOpt", "type": { "option": "bool" } }, { "name": "nameOpt", "type": { "option": "string" } } ] }, { "name": "tokenAddBank", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "admin", "isMut": false, "isSigner": true }, { "name": "mint", "isMut": false, "isSigner": false }, { "name": "existingBank", "isMut": false, "isSigner": false }, { "name": "bank", "isMut": true, "isSigner": false, "pda": { "seeds": [ { "kind": "const", "type": "string", "value": "Bank" }, { "kind": "account", "type": "publicKey", "path": "group" }, { "kind": "arg", "type": "u16", "path": "token_index" }, { "kind": "arg", "type": "u32", "path": "bank_num" } ] } }, { "name": "vault", "isMut": true, "isSigner": false, "pda": { "seeds": [ { "kind": "const", "type": "string", "value": "Vault" }, { "kind": "account", "type": "publicKey", "path": "group" }, { "kind": "arg", "type": "u16", "path": "token_index" }, { "kind": "arg", "type": "u32", "path": "bank_num" } ] } }, { "name": "mintInfo", "isMut": true, "isSigner": false }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false } ], "args": [ { "name": "tokenIndex", "type": "u16" }, { "name": "bankNum", "type": "u32" } ] }, { "name": "tokenDeregister", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "admin", "isMut": false, "isSigner": true }, { "name": "mintInfo", "isMut": true, "isSigner": false }, { "name": "dustVault", "isMut": true, "isSigner": false }, { "name": "solDestination", "isMut": true, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "tokenUpdateIndexAndRate", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "mintInfo", "isMut": false, "isSigner": false }, { "name": "oracle", "isMut": false, "isSigner": false }, { "name": "instructions", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "accountCreate", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "account", "isMut": true, "isSigner": false, "pda": { "seeds": [ { "kind": "const", "type": "string", "value": "MangoAccount" }, { "kind": "account", "type": "publicKey", "path": "group" }, { "kind": "account", "type": "publicKey", "path": "owner" }, { "kind": "arg", "type": "u32", "path": "account_num" } ] } }, { "name": "owner", "isMut": false, "isSigner": true }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "accountNum", "type": "u32" }, { "name": "tokenCount", "type": "u8" }, { "name": "serum3Count", "type": "u8" }, { "name": "perpCount", "type": "u8" }, { "name": "perpOoCount", "type": "u8" }, { "name": "name", "type": "string" } ] }, { "name": "accountExpand", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "account", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": false, "isSigner": true }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "tokenCount", "type": "u8" }, { "name": "serum3Count", "type": "u8" }, { "name": "perpCount", "type": "u8" }, { "name": "perpOoCount", "type": "u8" } ] }, { "name": "accountEdit", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "account", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": false, "isSigner": true } ], "args": [ { "name": "nameOpt", "type": { "option": "string" } }, { "name": "delegateOpt", "type": { "option": "publicKey" } } ] }, { "name": "accountToggleFreeze", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "account", "isMut": true, "isSigner": false }, { "name": "admin", "isMut": false, "isSigner": true } ], "args": [ { "name": "freeze", "type": "bool" } ] }, { "name": "accountClose", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "account", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": false, "isSigner": true }, { "name": "solDestination", "isMut": true, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "forceClose", "type": "bool" } ] }, { "name": "accountBuybackFeesWithMngo", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "account", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": false, "isSigner": true }, { "name": "daoAccount", "isMut": true, "isSigner": false }, { "name": "mngoBank", "isMut": true, "isSigner": false }, { "name": "mngoOracle", "isMut": false, "isSigner": false }, { "name": "feesBank", "isMut": true, "isSigner": false }, { "name": "feesOracle", "isMut": false, "isSigner": false } ], "args": [ { "name": "maxBuyback", "type": "u64" } ] }, { "name": "stubOracleCreate", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "oracle", "isMut": true, "isSigner": false, "pda": { "seeds": [ { "kind": "const", "type": "string", "value": "StubOracle" }, { "kind": "account", "type": "publicKey", "path": "group" }, { "kind": "account", "type": "publicKey", "account": "Mint", "path": "mint" } ] } }, { "name": "admin", "isMut": false, "isSigner": true }, { "name": "mint", "isMut": false, "isSigner": false }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "price", "type": { "defined": "I80F48" } } ] }, { "name": "stubOracleClose", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "admin", "isMut": false, "isSigner": true }, { "name": "oracle", "isMut": true, "isSigner": false }, { "name": "solDestination", "isMut": true, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "stubOracleSet", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "admin", "isMut": false, "isSigner": true }, { "name": "oracle", "isMut": true, "isSigner": false } ], "args": [ { "name": "price", "type": { "defined": "I80F48" } } ] }, { "name": "tokenDeposit", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "account", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": false, "isSigner": true }, { "name": "bank", "isMut": true, "isSigner": false }, { "name": "vault", "isMut": true, "isSigner": false }, { "name": "oracle", "isMut": false, "isSigner": false }, { "name": "tokenAccount", "isMut": true, "isSigner": false }, { "name": "tokenAuthority", "isMut": false, "isSigner": true }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "amount", "type": "u64" }, { "name": "reduceOnly", "type": "bool" } ] }, { "name": "tokenDepositIntoExisting", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "account", "isMut": true, "isSigner": false }, { "name": "bank", "isMut": true, "isSigner": false }, { "name": "vault", "isMut": true, "isSigner": false }, { "name": "oracle", "isMut": false, "isSigner": false }, { "name": "tokenAccount", "isMut": true, "isSigner": false }, { "name": "tokenAuthority", "isMut": false, "isSigner": true }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "amount", "type": "u64" }, { "name": "reduceOnly", "type": "bool" } ] }, { "name": "tokenWithdraw", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "account", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": false, "isSigner": true }, { "name": "bank", "isMut": true, "isSigner": false }, { "name": "vault", "isMut": true, "isSigner": false }, { "name": "oracle", "isMut": false, "isSigner": false }, { "name": "tokenAccount", "isMut": true, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "amount", "type": "u64" }, { "name": "allowBorrow", "type": "bool" } ] }, { "name": "flashLoanBegin", "accounts": [ { "name": "account", "isMut": false, "isSigner": false }, { "name": "owner", "isMut": false, "isSigner": true }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "instructions", "isMut": false, "isSigner": false } ], "args": [ { "name": "loanAmounts", "type": { "vec": "u64" } } ] }, { "name": "flashLoanEnd", "accounts": [ { "name": "account", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": false, "isSigner": true }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "flashLoanType", "type": { "defined": "FlashLoanType" } } ] }, { "name": "healthRegionBegin", "accounts": [ { "name": "instructions", "isMut": false, "isSigner": false }, { "name": "group", "isMut": false, "isSigner": false }, { "name": "account", "isMut": true, "isSigner": false } ], "args": [] }, { "name": "healthRegionEnd", "accounts": [ { "name": "account", "isMut": true, "isSigner": false } ], "args": [] }, { "name": "serum3RegisterMarket", "accounts": [ { "name": "group", "isMut": true, "isSigner": false }, { "name": "admin", "isMut": false, "isSigner": true }, { "name": "serumProgram", "isMut": false, "isSigner": false }, { "name": "serumMarketExternal", "isMut": false, "isSigner": false }, { "name": "serumMarket", "isMut": true, "isSigner": false, "pda": { "seeds": [ { "kind": "const", "type": "string", "value": "Serum3Market" }, { "kind": "account", "type": "publicKey", "path": "group" }, { "kind": "account", "type": "publicKey", "path": "serum_market_external" } ] } }, { "name": "indexReservation", "isMut": true, "isSigner": false, "pda": { "seeds": [ { "kind": "const", "type": "string", "value": "Serum3Index" }, { "kind": "account", "type": "publicKey", "path": "group" }, { "kind": "arg", "type": "u16", "path": "market_index" } ] } }, { "name": "quoteBank", "isMut": false, "isSigner": false }, { "name": "baseBank", "isMut": false, "isSigner": false }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "marketIndex", "type": "u16" }, { "name": "name", "type": "string" } ] }, { "name": "serum3EditMarket", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "admin", "isMut": false, "isSigner": true }, { "name": "market", "isMut": true, "isSigner": false } ], "args": [ { "name": "reduceOnlyOpt", "type": { "option": "bool" } } ] }, { "name": "serum3DeregisterMarket", "accounts": [ { "name": "group", "isMut": true, "isSigner": false }, { "name": "admin", "isMut": false, "isSigner": true }, { "name": "serumMarket", "isMut": true, "isSigner": false }, { "name": "indexReservation", "isMut": true, "isSigner": false }, { "name": "solDestination", "isMut": true, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "serum3CreateOpenOrders", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "account", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": false, "isSigner": true }, { "name": "serumMarket", "isMut": false, "isSigner": false }, { "name": "serumProgram", "isMut": false, "isSigner": false }, { "name": "serumMarketExternal", "isMut": false, "isSigner": false }, { "name": "openOrders", "isMut": true, "isSigner": false, "pda": { "seeds": [ { "kind": "const", "type": "string", "value": "Serum3OO" }, { "kind": "account", "type": "publicKey", "path": "account" }, { "kind": "account", "type": "publicKey", "path": "serum_market" } ] } }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "serum3CloseOpenOrders", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "account", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": false, "isSigner": true }, { "name": "serumMarket", "isMut": false, "isSigner": false }, { "name": "serumProgram", "isMut": false, "isSigner": false }, { "name": "serumMarketExternal", "isMut": false, "isSigner": false }, { "name": "openOrders", "isMut": true, "isSigner": false }, { "name": "solDestination", "isMut": true, "isSigner": false } ], "args": [] }, { "name": "serum3PlaceOrder", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "account", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": false, "isSigner": true }, { "name": "openOrders", "isMut": true, "isSigner": false }, { "name": "serumMarket", "isMut": false, "isSigner": false }, { "name": "serumProgram", "isMut": false, "isSigner": false }, { "name": "serumMarketExternal", "isMut": true, "isSigner": false }, { "name": "marketBids", "isMut": true, "isSigner": false }, { "name": "marketAsks", "isMut": true, "isSigner": false }, { "name": "marketEventQueue", "isMut": true, "isSigner": false }, { "name": "marketRequestQueue", "isMut": true, "isSigner": false }, { "name": "marketBaseVault", "isMut": true, "isSigner": false }, { "name": "marketQuoteVault", "isMut": true, "isSigner": false }, { "name": "marketVaultSigner", "isMut": false, "isSigner": false }, { "name": "payerBank", "isMut": true, "isSigner": false }, { "name": "payerVault", "isMut": true, "isSigner": false }, { "name": "payerOracle", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "side", "type": { "defined": "Serum3Side" } }, { "name": "limitPrice", "type": "u64" }, { "name": "maxBaseQty", "type": "u64" }, { "name": "maxNativeQuoteQtyIncludingFees", "type": "u64" }, { "name": "selfTradeBehavior", "type": { "defined": "Serum3SelfTradeBehavior" } }, { "name": "orderType", "type": { "defined": "Serum3OrderType" } }, { "name": "clientOrderId", "type": "u64" }, { "name": "limit", "type": "u16" } ] }, { "name": "serum3CancelOrder", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "account", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": false, "isSigner": true }, { "name": "openOrders", "isMut": true, "isSigner": false }, { "name": "serumMarket", "isMut": false, "isSigner": false }, { "name": "serumProgram", "isMut": false, "isSigner": false }, { "name": "serumMarketExternal", "isMut": true, "isSigner": false }, { "name": "marketBids", "isMut": true, "isSigner": false }, { "name": "marketAsks", "isMut": true, "isSigner": false }, { "name": "marketEventQueue", "isMut": true, "isSigner": false } ], "args": [ { "name": "side", "type": { "defined": "Serum3Side" } }, { "name": "orderId", "type": "u128" } ] }, { "name": "serum3CancelAllOrders", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "account", "isMut": false, "isSigner": false }, { "name": "owner", "isMut": false, "isSigner": true }, { "name": "openOrders", "isMut": true, "isSigner": false }, { "name": "serumMarket", "isMut": false, "isSigner": false }, { "name": "serumProgram", "isMut": false, "isSigner": false }, { "name": "serumMarketExternal", "isMut": true, "isSigner": false }, { "name": "marketBids", "isMut": true, "isSigner": false }, { "name": "marketAsks", "isMut": true, "isSigner": false }, { "name": "marketEventQueue", "isMut": true, "isSigner": false } ], "args": [ { "name": "limit", "type": "u8" } ] }, { "name": "serum3SettleFunds", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "account", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": false, "isSigner": true }, { "name": "openOrders", "isMut": true, "isSigner": false }, { "name": "serumMarket", "isMut": false, "isSigner": false }, { "name": "serumProgram", "isMut": false, "isSigner": false }, { "name": "serumMarketExternal", "isMut": true, "isSigner": false }, { "name": "marketBaseVault", "isMut": true, "isSigner": false }, { "name": "marketQuoteVault", "isMut": true, "isSigner": false }, { "name": "marketVaultSigner", "isMut": false, "isSigner": false }, { "name": "quoteBank", "isMut": true, "isSigner": false }, { "name": "quoteVault", "isMut": true, "isSigner": false }, { "name": "baseBank", "isMut": true, "isSigner": false }, { "name": "baseVault", "isMut": true, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "serum3SettleFundsV2", "accounts": [ { "name": "v1", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "account", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": false, "isSigner": true }, { "name": "openOrders", "isMut": true, "isSigner": false }, { "name": "serumMarket", "isMut": false, "isSigner": false }, { "name": "serumProgram", "isMut": false, "isSigner": false }, { "name": "serumMarketExternal", "isMut": true, "isSigner": false }, { "name": "marketBaseVault", "isMut": true, "isSigner": false }, { "name": "marketQuoteVault", "isMut": true, "isSigner": false }, { "name": "marketVaultSigner", "isMut": false, "isSigner": false, "docs": [ "needed for the automatic settle_funds call" ] }, { "name": "quoteBank", "isMut": true, "isSigner": false }, { "name": "quoteVault", "isMut": true, "isSigner": false }, { "name": "baseBank", "isMut": true, "isSigner": false }, { "name": "baseVault", "isMut": true, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ] }, { "name": "v2", "accounts": [ { "name": "quoteOracle", "isMut": false, "isSigner": false }, { "name": "baseOracle", "isMut": false, "isSigner": false } ] } ], "args": [ { "name": "feesToDao", "type": "bool" } ] }, { "name": "serum3LiqForceCancelOrders", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "account", "isMut": true, "isSigner": false }, { "name": "openOrders", "isMut": true, "isSigner": false }, { "name": "serumMarket", "isMut": false, "isSigner": false }, { "name": "serumProgram", "isMut": false, "isSigner": false }, { "name": "serumMarketExternal", "isMut": true, "isSigner": false }, { "name": "marketBids", "isMut": true, "isSigner": false }, { "name": "marketAsks", "isMut": true, "isSigner": false }, { "name": "marketEventQueue", "isMut": true, "isSigner": false }, { "name": "marketBaseVault", "isMut": true, "isSigner": false }, { "name": "marketQuoteVault", "isMut": true, "isSigner": false }, { "name": "marketVaultSigner", "isMut": false, "isSigner": false }, { "name": "quoteBank", "isMut": true, "isSigner": false }, { "name": "quoteVault", "isMut": true, "isSigner": false }, { "name": "baseBank", "isMut": true, "isSigner": false }, { "name": "baseVault", "isMut": true, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "limit", "type": "u8" } ] }, { "name": "liqTokenWithToken", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "liqor", "isMut": true, "isSigner": false }, { "name": "liqorOwner", "isMut": false, "isSigner": true }, { "name": "liqee", "isMut": true, "isSigner": false } ], "args": [ { "name": "assetTokenIndex", "type": "u16" }, { "name": "liabTokenIndex", "type": "u16" }, { "name": "maxLiabTransfer", "type": { "defined": "I80F48" } } ] }, { "name": "liqTokenBankruptcy", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "liqor", "isMut": true, "isSigner": false }, { "name": "liqorOwner", "isMut": false, "isSigner": true }, { "name": "liqee", "isMut": true, "isSigner": false }, { "name": "liabMintInfo", "isMut": false, "isSigner": false }, { "name": "quoteVault", "isMut": true, "isSigner": false }, { "name": "insuranceVault", "isMut": true, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "maxLiabTransfer", "type": { "defined": "I80F48" } } ] }, { "name": "tokenLiqWithToken", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "liqor", "isMut": true, "isSigner": false }, { "name": "liqorOwner", "isMut": false, "isSigner": true }, { "name": "liqee", "isMut": true, "isSigner": false } ], "args": [ { "name": "assetTokenIndex", "type": "u16" }, { "name": "liabTokenIndex", "type": "u16" }, { "name": "maxLiabTransfer", "type": { "defined": "I80F48" } } ] }, { "name": "tokenLiqBankruptcy", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "liqor", "isMut": true, "isSigner": false }, { "name": "liqorOwner", "isMut": false, "isSigner": true }, { "name": "liqee", "isMut": true, "isSigner": false }, { "name": "liabMintInfo", "isMut": false, "isSigner": false }, { "name": "quoteVault", "isMut": true, "isSigner": false }, { "name": "insuranceVault", "isMut": true, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "maxLiabTransfer", "type": { "defined": "I80F48" } } ] }, { "name": "perpCreateMarket", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "admin", "isMut": false, "isSigner": true }, { "name": "oracle", "isMut": false, "isSigner": false }, { "name": "perpMarket", "isMut": true, "isSigner": false, "pda": { "seeds": [ { "kind": "const", "type": "string", "value": "PerpMarket" }, { "kind": "account", "type": "publicKey", "path": "group" }, { "kind": "arg", "type": "u16", "path": "perp_market_index" } ] } }, { "name": "bids", "isMut": true, "isSigner": false }, { "name": "asks", "isMut": true, "isSigner": false }, { "name": "eventQueue", "isMut": true, "isSigner": false }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "perpMarketIndex", "type": "u16" }, { "name": "name", "type": "string" }, { "name": "oracleConfig", "type": { "defined": "OracleConfigParams" } }, { "name": "baseDecimals", "type": "u8" }, { "name": "quoteLotSize", "type": "i64" }, { "name": "baseLotSize", "type": "i64" }, { "name": "maintBaseAssetWeight", "type": "f32" }, { "name": "initBaseAssetWeight", "type": "f32" }, { "name": "maintBaseLiabWeight", "type": "f32" }, { "name": "initBaseLiabWeight", "type": "f32" }, { "name": "maintOverallAssetWeight", "type": "f32" }, { "name": "initOverallAssetWeight", "type": "f32" }, { "name": "baseLiquidationFee", "type": "f32" }, { "name": "makerFee", "type": "f32" }, { "name": "takerFee", "type": "f32" }, { "name": "minFunding", "type": "f32" }, { "name": "maxFunding", "type": "f32" }, { "name": "impactQuantity", "type": "i64" }, { "name": "groupInsuranceFund", "type": "bool" }, { "name": "feePenalty", "type": "f32" }, { "name": "settleFeeFlat", "type": "f32" }, { "name": "settleFeeAmountThreshold", "type": "f32" }, { "name": "settleFeeFractionLowHealth", "type": "f32" }, { "name": "settleTokenIndex", "type": "u16" }, { "name": "settlePnlLimitFactor", "type": "f32" }, { "name": "settlePnlLimitWindowSizeTs", "type": "u64" }, { "name": "positivePnlLiquidationFee", "type": "f32" } ] }, { "name": "perpEditMarket", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "admin", "isMut": false, "isSigner": true }, { "name": "perpMarket", "isMut": true, "isSigner": false }, { "name": "oracle", "isMut": false, "isSigner": false } ], "args": [ { "name": "oracleOpt", "type": { "option": "publicKey" } }, { "name": "oracleConfigOpt", "type": { "option": { "defined": "OracleConfigParams" } } }, { "name": "baseDecimalsOpt", "type": { "option": "u8" } }, { "name": "maintBaseAssetWeightOpt", "type": { "option": "f32" } }, { "name": "initBaseAssetWeightOpt", "type": { "option": "f32" } }, { "name": "maintBaseLiabWeightOpt", "type": { "option": "f32" } }, { "name": "initBaseLiabWeightOpt", "type": { "option": "f32" } }, { "name": "maintOverallAssetWeightOpt", "type": { "option": "f32" } }, { "name": "initOverallAssetWeightOpt", "type": { "option": "f32" } }, { "name": "baseLiquidationFeeOpt", "type": { "option": "f32" } }, { "name": "makerFeeOpt", "type": { "option": "f32" } }, { "name": "takerFeeOpt", "type": { "option": "f32" } }, { "name": "minFundingOpt", "type": { "option": "f32" } }, { "name": "maxFundingOpt", "type": { "option": "f32" } }, { "name": "impactQuantityOpt", "type": { "option": "i64" } }, { "name": "groupInsuranceFundOpt", "type": { "option": "bool" } }, { "name": "feePenaltyOpt", "type": { "option": "f32" } }, { "name": "settleFeeFlatOpt", "type": { "option": "f32" } }, { "name": "settleFeeAmountThresholdOpt", "type": { "option": "f32" } }, { "name": "settleFeeFractionLowHealthOpt", "type": { "option": "f32" } }, { "name": "stablePriceDelayIntervalSecondsOpt", "type": { "option": "u32" } }, { "name": "stablePriceDelayGrowthLimitOpt", "type": { "option": "f32" } }, { "name": "stablePriceGrowthLimitOpt", "type": { "option": "f32" } }, { "name": "settlePnlLimitFactorOpt", "type": { "option": "f32" } }, { "name": "settlePnlLimitWindowSizeTsOpt", "type": { "option": "u64" } }, { "name": "reduceOnlyOpt", "type": { "option": "bool" } }, { "name": "resetStablePrice", "type": "bool" }, { "name": "positivePnlLiquidationFeeOpt", "type": { "option": "f32" } }, { "name": "nameOpt", "type": { "option": "string" } } ] }, { "name": "perpCloseMarket", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "admin", "isMut": false, "isSigner": true }, { "name": "perpMarket", "isMut": true, "isSigner": false }, { "name": "bids", "isMut": true, "isSigner": false }, { "name": "asks", "isMut": true, "isSigner": false }, { "name": "eventQueue", "isMut": true, "isSigner": false }, { "name": "solDestination", "isMut": true, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "perpDeactivatePosition", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "account", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": false, "isSigner": true }, { "name": "perpMarket", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "perpPlaceOrder", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "account", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": false, "isSigner": true }, { "name": "perpMarket", "isMut": true, "isSigner": false }, { "name": "bids", "isMut": true, "isSigner": false }, { "name": "asks", "isMut": true, "isSigner": false }, { "name": "eventQueue", "isMut": true, "isSigner": false }, { "name": "oracle", "isMut": false, "isSigner": false } ], "args": [ { "name": "side", "type": { "defined": "Side" } }, { "name": "priceLots", "type": "i64" }, { "name": "maxBaseLots", "type": "i64" }, { "name": "maxQuoteLots", "type": "i64" }, { "name": "clientOrderId", "type": "u64" }, { "name": "orderType", "type": { "defined": "PlaceOrderType" } }, { "name": "reduceOnly", "type": "bool" }, { "name": "expiryTimestamp", "type": "u64" }, { "name": "limit", "type": "u8" } ], "returns": { "option": "u128" } }, { "name": "perpPlaceOrderPegged", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "account", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": false, "isSigner": true }, { "name": "perpMarket", "isMut": true, "isSigner": false }, { "name": "bids", "isMut": true, "isSigner": false }, { "name": "asks", "isMut": true, "isSigner": false }, { "name": "eventQueue", "isMut": true, "isSigner": false }, { "name": "oracle", "isMut": false, "isSigner": false } ], "args": [ { "name": "side", "type": { "defined": "Side" } }, { "name": "priceOffsetLots", "type": "i64" }, { "name": "pegLimit", "type": "i64" }, { "name": "maxBaseLots", "type": "i64" }, { "name": "maxQuoteLots", "type": "i64" }, { "name": "clientOrderId", "type": "u64" }, { "name": "orderType", "type": { "defined": "PlaceOrderType" } }, { "name": "reduceOnly", "type": "bool" }, { "name": "expiryTimestamp", "type": "u64" }, { "name": "limit", "type": "u8" }, { "name": "maxOracleStalenessSlots", "type": "i32" } ], "returns": { "option": "u128" } }, { "name": "perpCancelOrder", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "account", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": false, "isSigner": true }, { "name": "perpMarket", "isMut": true, "isSigner": false }, { "name": "bids", "isMut": true, "isSigner": false }, { "name": "asks", "isMut": true, "isSigner": false } ], "args": [ { "name": "orderId", "type": "u128" } ] }, { "name": "perpCancelOrderByClientOrderId", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "account", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": false, "isSigner": true }, { "name": "perpMarket", "isMut": true, "isSigner": false }, { "name": "bids", "isMut": true, "isSigner": false }, { "name": "asks", "isMut": true, "isSigner": false } ], "args": [ { "name": "clientOrderId", "type": "u64" } ] }, { "name": "perpCancelAllOrders", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "account", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": false, "isSigner": true }, { "name": "perpMarket", "isMut": true, "isSigner": false }, { "name": "bids", "isMut": true, "isSigner": false }, { "name": "asks", "isMut": true, "isSigner": false } ], "args": [ { "name": "limit", "type": "u8" } ] }, { "name": "perpCancelAllOrdersBySide", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "account", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": false, "isSigner": true }, { "name": "perpMarket", "isMut": true, "isSigner": false }, { "name": "bids", "isMut": true, "isSigner": false }, { "name": "asks", "isMut": true, "isSigner": false } ], "args": [ { "name": "sideOption", "type": { "option": { "defined": "Side" } } }, { "name": "limit", "type": "u8" } ] }, { "name": "perpConsumeEvents", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "perpMarket", "isMut": true, "isSigner": false }, { "name": "eventQueue", "isMut": true, "isSigner": false } ], "args": [ { "name": "limit", "type": "u64" } ] }, { "name": "perpUpdateFunding", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "perpMarket", "isMut": true, "isSigner": false }, { "name": "bids", "isMut": true, "isSigner": false }, { "name": "asks", "isMut": true, "isSigner": false }, { "name": "oracle", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "perpSettlePnl", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "settler", "isMut": true, "isSigner": false }, { "name": "settlerOwner", "isMut": false, "isSigner": true }, { "name": "perpMarket", "isMut": false, "isSigner": false }, { "name": "accountA", "isMut": true, "isSigner": false }, { "name": "accountB", "isMut": true, "isSigner": false }, { "name": "oracle", "isMut": false, "isSigner": false }, { "name": "settleBank", "isMut": true, "isSigner": false }, { "name": "settleOracle", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "perpSettleFees", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "perpMarket", "isMut": true, "isSigner": false }, { "name": "account", "isMut": true, "isSigner": false }, { "name": "oracle", "isMut": false, "isSigner": false }, { "name": "settleBank", "isMut": true, "isSigner": false }, { "name": "settleOracle", "isMut": false, "isSigner": false } ], "args": [ { "name": "maxSettleAmount", "type": "u64" } ] }, { "name": "perpLiqBaseOrPositivePnl", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "perpMarket", "isMut": true, "isSigner": false }, { "name": "oracle", "isMut": false, "isSigner": false }, { "name": "liqor", "isMut": true, "isSigner": false }, { "name": "liqorOwner", "isMut": false, "isSigner": true }, { "name": "liqee", "isMut": true, "isSigner": false }, { "name": "settleBank", "isMut": true, "isSigner": false }, { "name": "settleVault", "isMut": true, "isSigner": false }, { "name": "settleOracle", "isMut": false, "isSigner": false } ], "args": [ { "name": "maxBaseTransfer", "type": "i64" }, { "name": "maxPnlTransfer", "type": "u64" } ] }, { "name": "perpLiqForceCancelOrders", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "account", "isMut": true, "isSigner": false }, { "name": "perpMarket", "isMut": true, "isSigner": false }, { "name": "bids", "isMut": true, "isSigner": false }, { "name": "asks", "isMut": true, "isSigner": false } ], "args": [ { "name": "limit", "type": "u8" } ] }, { "name": "perpLiqNegativePnlOrBankruptcy", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "liqor", "isMut": true, "isSigner": false }, { "name": "liqorOwner", "isMut": false, "isSigner": true }, { "name": "liqee", "isMut": true, "isSigner": false }, { "name": "perpMarket", "isMut": true, "isSigner": false }, { "name": "oracle", "isMut": false, "isSigner": false }, { "name": "settleBank", "isMut": true, "isSigner": false }, { "name": "settleVault", "isMut": true, "isSigner": false }, { "name": "settleOracle", "isMut": false, "isSigner": false }, { "name": "insuranceVault", "isMut": true, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "maxLiabTransfer", "type": "u64" } ] }, { "name": "altSet", "accounts": [ { "name": "group", "isMut": true, "isSigner": false }, { "name": "admin", "isMut": false, "isSigner": true }, { "name": "addressLookupTable", "isMut": true, "isSigner": false } ], "args": [ { "name": "index", "type": "u8" } ] }, { "name": "altExtend", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "admin", "isMut": false, "isSigner": true }, { "name": "payer", "isMut": false, "isSigner": true }, { "name": "addressLookupTable", "isMut": true, "isSigner": false } ], "args": [ { "name": "index", "type": "u8" }, { "name": "newAddresses", "type": { "vec": "publicKey" } } ] }, { "name": "computeAccountData", "accounts": [ { "name": "group", "isMut": false, "isSigner": false }, { "name": "account", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "benchmark", "accounts": [], "args": [] } ], "accounts": [ { "name": "Bank", "type": { "kind": "struct", "fields": [ { "name": "group", "type": "publicKey" }, { "name": "name", "type": { "array": [ "u8", 16 ] } }, { "name": "mint", "type": "publicKey" }, { "name": "vault", "type": "publicKey" }, { "name": "oracle", "type": "publicKey" }, { "name": "oracleConfig", "type": { "defined": "OracleConfig" } }, { "name": "stablePriceModel", "type": { "defined": "StablePriceModel" } }, { "name": "depositIndex", "type": { "defined": "I80F48" } }, { "name": "borrowIndex", "type": { "defined": "I80F48" } }, { "name": "indexedDeposits", "type": { "defined": "I80F48" } }, { "name": "indexedBorrows", "type": { "defined": "I80F48" } }, { "name": "indexLastUpdated", "type": "u64" }, { "name": "bankRateLastUpdated", "type": "u64" }, { "name": "avgUtilization", "type": { "defined": "I80F48" } }, { "name": "adjustmentFactor", "type": { "defined": "I80F48" } }, { "name": "util0", "type": { "defined": "I80F48" } }, { "name": "rate0", "type": { "defined": "I80F48" } }, { "name": "util1", "type": { "defined": "I80F48" } }, { "name": "rate1", "type": { "defined": "I80F48" } }, { "name": "maxRate", "type": { "defined": "I80F48" } }, { "name": "collectedFeesNative", "type": { "defined": "I80F48" } }, { "name": "loanOriginationFeeRate", "type": { "defined": "I80F48" } }, { "name": "loanFeeRate", "type": { "defined": "I80F48" } }, { "name": "maintAssetWeight", "type": { "defined": "I80F48" } }, { "name": "initAssetWeight", "type": { "defined": "I80F48" } }, { "name": "maintLiabWeight", "type": { "defined": "I80F48" } }, { "name": "initLiabWeight", "type": { "defined": "I80F48" } }, { "name": "liquidationFee", "type": { "defined": "I80F48" } }, { "name": "dust", "type": { "defined": "I80F48" } }, { "name": "flashLoanTokenAccountInitial", "type": "u64" }, { "name": "flashLoanApprovedAmount", "type": "u64" }, { "name": "tokenIndex", "type": "u16" }, { "name": "bump", "type": "u8" }, { "name": "mintDecimals", "type": "u8" }, { "name": "bankNum", "type": "u32" }, { "name": "minVaultToDepositsRatio", "type": "f64" }, { "name": "netBorrowLimitWindowSizeTs", "type": "u64" }, { "name": "lastNetBorrowsWindowStartTs", "type": "u64" }, { "name": "netBorrowLimitPerWindowQuote", "type": "i64" }, { "name": "netBorrowsInWindow", "type": "i64" }, { "name": "borrowWeightScaleStartQuote", "type": "f64" }, { "name": "depositWeightScaleStartQuote", "type": "f64" }, { "name": "reduceOnly", "type": "u8" }, { "name": "reserved", "type": { "array": [ "u8", 2119 ] } } ] } }, { "name": "Group", "type": { "kind": "struct", "fields": [ { "name": "creator", "type": "publicKey" }, { "name": "groupNum", "type": "u32" }, { "name": "admin", "type": "publicKey" }, { "name": "fastListingAdmin", "type": "publicKey" }, { "name": "mngoTokenIndex", "type": "u16" }, { "name": "padding", "type": { "array": [ "u8", 2 ] } }, { "name": "insuranceVault", "type": "publicKey" }, { "name": "insuranceMint", "type": "publicKey" }, { "name": "bump", "type": "u8" }, { "name": "testing", "type": "u8" }, { "name": "version", "type": "u8" }, { "name": "buybackFees", "type": "u8" }, { "name": "buybackFeesMngoBonusFactor", "type": "f32" }, { "name": "addressLookupTables", "type": { "array": [ "publicKey", 20 ] } }, { "name": "securityAdmin", "type": "publicKey" }, { "name": "depositLimitQuote", "type": "u64" }, { "name": "ixGate", "type": "u128" }, { "name": "buybackFeesSwapMangoAccount", "type": "publicKey" }, { "name": "buybackFeesExpiryInterval", "type": "u64" }, { "name": "reserved", "type": { "array": [ "u8", 1824 ] } } ] } }, { "name": "MangoAccount", "type": { "kind": "struct", "fields": [ { "name": "group", "type": "publicKey" }, { "name": "owner", "type": "publicKey" }, { "name": "name", "type": { "array": [ "u8", 32 ] } }, { "name": "delegate", "type": "publicKey" }, { "name": "accountNum", "type": "u32" }, { "name": "beingLiquidated", "type": "u8" }, { "name": "inHealthRegion", "type": "u8" }, { "name": "bump", "type": "u8" }, { "name": "padding", "type": { "array": [ "u8", 1 ] } }, { "name": "netDeposits", "type": "i64" }, { "name": "perpSpotTransfers", "type": "i64" }, { "name": "healthRegionBeginInitHealth", "type": "i64" }, { "name": "frozenUntil", "type": "u64" }, { "name": "buybackFeesAccruedCurrent", "type": "u64" }, { "name": "buybackFeesAccruedPrevious", "type": "u64" }, { "name": "buybackFeesExpiryTimestamp", "type": "u64" }, { "name": "reserved", "type": { "array": [ "u8", 208 ] } }, { "name": "headerVersion", "type": "u8" }, { "name": "padding3", "type": { "array": [ "u8", 7 ] } }, { "name": "padding4", "type": "u32" }, { "name": "tokens", "type": { "vec": { "defined": "TokenPosition" } } }, { "name": "padding5", "type": "u32" }, { "name": "serum3", "type": { "vec": { "defined": "Serum3Orders" } } }, { "name": "padding6", "type": "u32" }, { "name": "perps", "type": { "vec": { "defined": "PerpPosition" } } }, { "name": "padding7", "type": "u32" }, { "name": "perpOpenOrders", "type": { "vec": { "defined": "PerpOpenOrder" } } } ] } }, { "name": "MintInfo", "type": { "kind": "struct", "fields": [ { "name": "group", "type": "publicKey" }, { "name": "tokenIndex", "type": "u16" }, { "name": "groupInsuranceFund", "type": "u8" }, { "name": "padding1", "type": { "array": [ "u8", 5 ] } }, { "name": "mint", "type": "publicKey" }, { "name": "banks", "type": { "array": [ "publicKey", 6 ] } }, { "name": "vaults", "type": { "array": [ "publicKey", 6 ] } }, { "name": "oracle", "type": "publicKey" }, { "name": "registrationTime", "type": "u64" }, { "name": "reserved", "type": { "array": [ "u8", 2560 ] } } ] } }, { "name": "StubOracle", "type": { "kind": "struct", "fields": [ { "name": "group", "type": "publicKey" }, { "name": "mint", "type": "publicKey" }, { "name": "price", "type": { "defined": "I80F48" } }, { "name": "lastUpdated", "type": "i64" }, { "name": "reserved", "type": { "array": [ "u8", 128 ] } } ] } }, { "name": "BookSide", "type": { "kind": "struct", "fields": [ { "name": "roots", "type": { "array": [ { "defined": "OrderTreeRoot" }, 2 ] } }, { "name": "reservedRoots", "type": { "array": [ { "defined": "OrderTreeRoot" }, 4 ] } }, { "name": "reserved", "type": { "array": [ "u8", 256 ] } }, { "name": "nodes", "type": { "defined": "OrderTreeNodes" } } ] } }, { "name": "EventQueue", "type": { "kind": "struct", "fields": [ { "name": "header", "type": { "defined": "EventQueueHeader" } }, { "name": "buf", "type": { "array": [ { "defined": "AnyEvent" }, 488 ] } }, { "name": "reserved", "type": { "array": [ "u8", 64 ] } } ] } }, { "name": "PerpMarket", "type": { "kind": "struct", "fields": [ { "name": "group", "type": "publicKey" }, { "name": "settleTokenIndex", "type": "u16" }, { "name": "perpMarketIndex", "type": "u16" }, { "name": "blocked1", "type": "u8" }, { "name": "groupInsuranceFund", "type": "u8" }, { "name": "bump", "type": "u8" }, { "name": "baseDecimals", "type": "u8" }, { "name": "name", "type": { "array": [ "u8", 16 ] } }, { "name": "bids", "type": "publicKey" }, { "name": "asks", "type": "publicKey" }, { "name": "eventQueue", "type": "publicKey" }, { "name": "oracle", "type": "publicKey" }, { "name": "oracleConfig", "type": { "defined": "OracleConfig" } }, { "name": "stablePriceModel", "type": { "defined": "StablePriceModel" } }, { "name": "quoteLotSize", "type": "i64" }, { "name": "baseLotSize", "type": "i64" }, { "name": "maintBaseAssetWeight", "type": { "defined": "I80F48" } }, { "name": "initBaseAssetWeight", "type": { "defined": "I80F48" } }, { "name": "maintBaseLiabWeight", "type": { "defined": "I80F48" } }, { "name": "initBaseLiabWeight", "type": { "defined": "I80F48" } }, { "name": "openInterest", "type": "i64" }, { "name": "seqNum", "type": "u64" }, { "name": "registrationTime", "type": "u64" }, { "name": "minFunding", "type": { "defined": "I80F48" } }, { "name": "maxFunding", "type": { "defined": "I80F48" } }, { "name": "impactQuantity", "type": "i64" }, { "name": "longFunding", "type": { "defined": "I80F48" } }, { "name": "shortFunding", "type": { "defined": "I80F48" } }, { "name": "fundingLastUpdated", "type": "u64" }, { "name": "baseLiquidationFee", "type": { "defined": "I80F48" } }, { "name": "makerFee", "type": { "defined": "I80F48" } }, { "name": "takerFee", "type": { "defined": "I80F48" } }, { "name": "feesAccrued", "type": { "defined": "I80F48" } }, { "name": "feesSettled", "type": { "defined": "I80F48" } }, { "name": "feePenalty", "type": "f32" }, { "name": "settleFeeFlat", "type": "f32" }, { "name": "settleFeeAmountThreshold", "type": "f32" }, { "name": "settleFeeFractionLowHealth", "type": "f32" }, { "name": "settlePnlLimitFactor", "type": "f32" }, { "name": "padding3", "type": { "array": [ "u8", 4 ] } }, { "name": "settlePnlLimitWindowSizeTs", "type": "u64" }, { "name": "reduceOnly", "type": "u8" }, { "name": "padding4", "type": { "array": [ "u8", 7 ] } }, { "name": "maintOverallAssetWeight", "type": { "defined": "I80F48" } }, { "name": "initOverallAssetWeight", "type": { "defined": "I80F48" } }, { "name": "positivePnlLiquidationFee", "type": { "defined": "I80F48" } }, { "name": "reserved", "type": { "array": [ "u8", 1888 ] } } ] } }, { "name": "Serum3Market", "type": { "kind": "struct", "fields": [ { "name": "group", "type": "publicKey" }, { "name": "baseTokenIndex", "type": "u16" }, { "name": "quoteTokenIndex", "type": "u16" }, { "name": "reduceOnly", "type": "u8" }, { "name": "padding1", "type": { "array": [ "u8", 3 ] } }, { "name": "name", "type": { "array": [ "u8", 16 ] } }, { "name": "serumProgram", "type": "publicKey" }, { "name": "serumMarketExternal", "type": "publicKey" }, { "name": "marketIndex", "type": "u16" }, { "name": "bump", "type": "u8" }, { "name": "padding2", "type": { "array": [ "u8", 5 ] } }, { "name": "registrationTime", "type": "u64" }, { "name": "reserved", "type": { "array": [ "u8", 128 ] } } ] } }, { "name": "Serum3MarketIndexReservation", "type": { "kind": "struct", "fields": [ { "name": "group", "type": "publicKey" }, { "name": "marketIndex", "type": "u16" }, { "name": "reserved", "type": { "array": [ "u8", 38 ] } } ] } } ], "types": [ { "name": "InterestRateParams", "type": { "kind": "struct", "fields": [ { "name": "util0", "type": "f32" }, { "name": "rate0", "type": "f32" }, { "name": "util1", "type": "f32" }, { "name": "rate1", "type": "f32" }, { "name": "maxRate", "type": "f32" }, { "name": "adjustmentFactor", "type": "f32" } ] } }, { "name": "Equity", "type": { "kind": "struct", "fields": [ { "name": "tokens", "type": { "vec": { "defined": "TokenEquity" } } }, { "name": "perps", "type": { "vec": { "defined": "PerpEquity" } } } ] } }, { "name": "TokenEquity", "type": { "kind": "struct", "fields": [ { "name": "tokenIndex", "type": "u16" }, { "name": "value", "type": { "defined": "I80F48" } } ] } }, { "name": "PerpEquity", "type": { "kind": "struct", "fields": [ { "name": "perpMarketIndex", "type": "u16" }, { "name": "value", "type": { "defined": "I80F48" } } ] } }, { "name": "Prices", "type": { "kind": "struct", "fields": [ { "name": "oracle", "type": { "defined": "I80F48" } }, { "name": "stable", "type": { "defined": "I80F48" } } ] } }, { "name": "TokenInfo", "type": { "kind": "struct", "fields": [ { "name": "tokenIndex", "type": "u16" }, { "name": "maintAssetWeight", "type": { "defined": "I80F48" } }, { "name": "initAssetWeight", "type": { "defined": "I80F48" } }, { "name": "initScaledAssetWeight", "type": { "defined": "I80F48" } }, { "name": "maintLiabWeight", "type": { "defined": "I80F48" } }, { "name": "initLiabWeight", "type": { "defined": "I80F48" } }, { "name": "initScaledLiabWeight", "type": { "defined": "I80F48" } }, { "name": "prices", "type": { "defined": "Prices" } }, { "name": "balanceNative", "type": { "defined": "I80F48" } } ] } }, { "name": "Serum3Info", "type": { "kind": "struct", "fields": [ { "name": "reservedBase", "type": { "defined": "I80F48" } }, { "name": "reservedQuote", "type": { "defined": "I80F48" } }, { "name": "baseIndex", "type": "u64" }, { "name": "quoteIndex", "type": "u64" }, { "name": "marketIndex", "type": "u16" }, { "name": "hasZeroFunds", "type": "bool" } ] } }, { "name": "PerpInfo", "type": { "kind": "struct", "fields": [ { "name": "perpMarketIndex", "type": "u16" }, { "name": "maintBaseAssetWeight", "type": { "defined": "I80F48" } }, { "name": "initBaseAssetWeight", "type": { "defined": "I80F48" } }, { "name": "maintBaseLiabWeight", "type": { "defined": "I80F48" } }, { "name": "initBaseLiabWeight", "type": { "defined": "I80F48" } }, { "name": "maintOverallAssetWeight", "type": { "defined": "I80F48" } }, { "name": "initOverallAssetWeight", "type": { "defined": "I80F48" } }, { "name": "baseLotSize", "type": "i64" }, { "name": "baseLots", "type": "i64" }, { "name": "bidsBaseLots", "type": "i64" }, { "name": "asksBaseLots", "type": "i64" }, { "name": "quote", "type": { "defined": "I80F48" } }, { "name": "prices", "type": { "defined": "Prices" } }, { "name": "hasOpenOrders", "type": "bool" }, { "name": "hasOpenFills", "type": "bool" } ] } }, { "name": "HealthCache", "type": { "kind": "struct", "fields": [ { "name": "tokenInfos", "type": { "vec": { "defined": "TokenInfo" } } }, { "name": "serum3Infos", "type": { "vec": { "defined": "Serum3Info" } } }, { "name": "perpInfos", "type": { "vec": { "defined": "PerpInfo" } } }, { "name": "beingLiquidated", "type": "bool" } ] } }, { "name": "FlashLoanTokenDetail", "type": { "kind": "struct", "fields": [ { "name": "tokenIndex", "type": "u16" }, { "name": "changeAmount", "type": "i128" }, { "name": "loan", "type": "i128" }, { "name": "loanOriginationFee", "type": "i128" }, { "name": "depositIndex", "type": "i128" }, { "name": "borrowIndex", "type": "i128" }, { "name": "price", "type": "i128" } ] } }, { "name": "TokenPosition", "type": { "kind": "struct", "fields": [ { "name": "indexedPosition", "type": { "defined": "I80F48" } }, { "name": "tokenIndex", "type": "u16" }, { "name": "inUseCount", "type": "u8" }, { "name": "padding", "type": { "array": [ "u8", 5 ] } }, { "name": "previousIndex", "type": { "defined": "I80F48" } }, { "name": "cumulativeDepositInterest", "type": "f64" }, { "name": "cumulativeBorrowInterest", "type": "f64" }, { "name": "reserved", "type": { "array": [ "u8", 128 ] } } ] } }, { "name": "Serum3Orders", "type": { "kind": "struct", "fields": [ { "name": "openOrders", "type": "publicKey" }, { "name": "baseBorrowsWithoutFee", "type": "u64" }, { "name": "quoteBorrowsWithoutFee", "type": "u64" }, { "name": "marketIndex", "type": "u16" }, { "name": "baseTokenIndex", "type": "u16" }, { "name": "quoteTokenIndex", "type": "u16" }, { "name": "padding", "type": { "array": [ "u8", 2 ] } }, { "name": "reserved", "type": { "array": [ "u8", 64 ] } } ] } }, { "name": "PerpPosition", "type": { "kind": "struct", "fields": [ { "name": "marketIndex", "type": "u16" }, { "name": "padding", "type": { "array": [ "u8", 2 ] } }, { "name": "settlePnlLimitWindow", "type": "u32" }, { "name": "settlePnlLimitSettledInCurrentWindowNative", "type": "i64" }, { "name": "basePositionLots", "type": "i64" }, { "name": "quotePositionNative", "type": { "defined": "I80F48" } }, { "name": "quoteRunningNative", "type": "i64" }, { "name": "longSettledFunding", "type": { "defined": "I80F48" } }, { "name": "shortSettledFunding", "type": { "defined": "I80F48" } }, { "name": "bidsBaseLots", "type": "i64" }, { "name": "asksBaseLots", "type": "i64" }, { "name": "takerBaseLots", "type": "i64" }, { "name": "takerQuoteLots", "type": "i64" }, { "name": "cumulativeLongFunding", "type": "f64" }, { "name": "cumulativeShortFunding", "type": "f64" }, { "name": "makerVolume", "type": "u64" }, { "name": "takerVolume", "type": "u64" }, { "name": "perpSpotTransfers", "type": "i64" }, { "name": "avgEntryPricePerBaseLot", "type": "f64" }, { "name": "realizedTradePnlNative", "type": { "defined": "I80F48" } }, { "name": "realizedOtherPnlNative", "type": { "defined": "I80F48" } }, { "name": "settlePnlLimitRealizedTrade", "type": "i64" }, { "name": "realizedPnlForPositionNative", "type": { "defined": "I80F48" } }, { "name": "reserved", "type": { "array": [ "u8", 88 ] } } ] } }, { "name": "PerpOpenOrder", "type": { "kind": "struct", "fields": [ { "name": "sideAndTree", "type": "u8" }, { "name": "padding1", "type": { "array": [ "u8", 1 ] } }, { "name": "market", "type": "u16" }, { "name": "padding2", "type": { "array": [ "u8", 4 ] } }, { "name": "clientId", "type": "u64" }, { "name": "id", "type": "u128" }, { "name": "reserved", "type": { "array": [ "u8", 64 ] } } ] } }, { "name": "MangoAccountFixed", "type": { "kind": "struct", "fields": [ { "name": "group", "type": "publicKey" }, { "name": "owner", "type": "publicKey" }, { "name": "name", "type": { "array": [ "u8", 32 ] } }, { "name": "delegate", "type": "publicKey" }, { "name": "accountNum", "type": "u32" }, { "name": "beingLiquidated", "type": "u8" }, { "name": "inHealthRegion", "type": "u8" }, { "name": "bump", "type": "u8" }, { "name": "padding", "type": { "array": [ "u8", 1 ] } }, { "name": "netDeposits", "type": "i64" }, { "name": "perpSpotTransfers", "type": "i64" }, { "name": "healthRegionBeginInitHealth", "type": "i64" }, { "name": "frozenUntil", "type": "u64" }, { "name": "buybackFeesAccruedCurrent", "type": "u64" }, { "name": "buybackFeesAccruedPrevious", "type": "u64" }, { "name": "buybackFeesExpiryTimestamp", "type": "u64" }, { "name": "reserved", "type": { "array": [ "u8", 208 ] } } ] } }, { "name": "OracleConfig", "type": { "kind": "struct", "fields": [ { "name": "confFilter", "type": { "defined": "I80F48" } }, { "name": "maxStalenessSlots", "type": "i64" }, { "name": "reserved", "type": { "array": [ "u8", 72 ] } } ] } }, { "name": "OracleConfigParams", "type": { "kind": "struct", "fields": [ { "name": "confFilter", "type": "f32" }, { "name": "maxStalenessSlots", "type": { "option": "u32" } } ] } }, { "name": "InnerNode", "type": { "kind": "struct", "fields": [ { "name": "tag", "type": "u8" }, { "name": "padding", "type": { "array": [ "u8", 3 ] } }, { "name": "prefixLen", "type": "u32" }, { "name": "key", "type": "u128" }, { "name": "children", "type": { "array": [ "u32", 2 ] } }, { "name": "childEarliestExpiry", "type": { "array": [ "u64", 2 ] } }, { "name": "reserved", "type": { "array": [ "u8", 72 ] } } ] } }, { "name": "LeafNode", "type": { "kind": "struct", "fields": [ { "name": "tag", "type": "u8" }, { "name": "ownerSlot", "type": "u8" }, { "name": "orderType", "type": "u8" }, { "name": "padding", "type": { "array": [ "u8", 1 ] } }, { "name": "timeInForce", "type": "u16" }, { "name": "padding2", "type": { "array": [ "u8", 2 ] } }, { "name": "key", "type": "u128" }, { "name": "owner", "type": "publicKey" }, { "name": "quantity", "type": "i64" }, { "name": "timestamp", "type": "u64" }, { "name": "pegLimit", "type": "i64" }, { "name": "clientOrderId", "type": "u64" }, { "name": "reserved", "type": { "array": [ "u8", 32 ] } } ] } }, { "name": "AnyNode", "type": { "kind": "struct", "fields": [ { "name": "tag", "type": "u8" }, { "name": "data", "type": { "array": [ "u8", 119 ] } } ] } }, { "name": "OrderTreeRoot", "type": { "kind": "struct", "fields": [ { "name": "maybeNode", "type": "u32" }, { "name": "leafCount", "type": "u32" } ] } }, { "name": "OrderTreeNodes", "type": { "kind": "struct", "fields": [ { "name": "orderTreeType", "type": "u8" }, { "name": "padding", "type": { "array": [ "u8", 3 ] } }, { "name": "bumpIndex", "type": "u32" }, { "name": "freeListLen", "type": "u32" }, { "name": "freeListHead", "type": "u32" }, { "name": "reserved", "type": { "array": [ "u8", 512 ] } }, { "name": "nodes", "type": { "array": [ { "defined": "AnyNode" }, 1024 ] } } ] } }, { "name": "EventQueueHeader", "type": { "kind": "struct", "fields": [ { "name": "head", "type": "u32" }, { "name": "count", "type": "u32" }, { "name": "seqNum", "type": "u64" } ] } }, { "name": "AnyEvent", "type": { "kind": "struct", "fields": [ { "name": "eventType", "type": "u8" }, { "name": "padding", "type": { "array": [ "u8", 207 ] } } ] } }, { "name": "FillEvent", "type": { "kind": "struct", "fields": [ { "name": "eventType", "type": "u8" }, { "name": "takerSide", "type": "u8" }, { "name": "makerOut", "type": "u8" }, { "name": "makerSlot", "type": "u8" }, { "name": "padding", "type": { "array": [ "u8", 4 ] } }, { "name": "timestamp", "type": "u64" }, { "name": "seqNum", "type": "u64" }, { "name": "maker", "type": "publicKey" }, { "name": "padding2", "type": { "array": [ "u8", 32 ] } }, { "name": "makerTimestamp", "type": "u64" }, { "name": "taker", "type": "publicKey" }, { "name": "padding3", "type": { "array": [ "u8", 16 ] } }, { "name": "takerClientOrderId", "type": "u64" }, { "name": "padding4", "type": { "array": [ "u8", 16 ] } }, { "name": "price", "type": "i64" }, { "name": "quantity", "type": "i64" }, { "name": "makerClientOrderId", "type": "u64" }, { "name": "makerFee", "type": "f32" }, { "name": "takerFee", "type": "f32" }, { "name": "reserved", "type": { "array": [ "u8", 8 ] } } ] } }, { "name": "OutEvent", "type": { "kind": "struct", "fields": [ { "name": "eventType", "type": "u8" }, { "name": "side", "type": "u8" }, { "name": "ownerSlot", "type": "u8" }, { "name": "padding0", "type": { "array": [ "u8", 5 ] } }, { "name": "timestamp", "type": "u64" }, { "name": "seqNum", "type": "u64" }, { "name": "owner", "type": "publicKey" }, { "name": "quantity", "type": "i64" }, { "name": "padding1", "type": { "array": [ "u8", 144 ] } } ] } }, { "name": "StablePriceModel", "type": { "kind": "struct", "fields": [ { "name": "stablePrice", "type": "f64" }, { "name": "lastUpdateTimestamp", "type": "u64" }, { "name": "delayPrices", "type": { "array": [ "f64", 24 ] } }, { "name": "delayAccumulatorPrice", "type": "f64" }, { "name": "delayAccumulatorTime", "type": "u32" }, { "name": "delayIntervalSeconds", "type": "u32" }, { "name": "delayGrowthLimit", "type": "f32" }, { "name": "stableGrowthLimit", "type": "f32" }, { "name": "lastDelayIntervalIndex", "type": "u8" }, { "name": "padding", "type": { "array": [ "u8", 7 ] } }, { "name": "reserved", "type": { "array": [ "u8", 48 ] } } ] } }, { "name": "TokenIndex", "type": { "kind": "struct", "fields": [ { "name": "val", "type": "u16" } ] } }, { "name": "Serum3MarketIndex", "type": { "kind": "struct", "fields": [ { "name": "val", "type": "u16" } ] } }, { "name": "PerpMarketIndex", "type": { "kind": "struct", "fields": [ { "name": "val", "type": "u16" } ] } }, { "name": "I80F48", "type": { "kind": "struct", "fields": [ { "name": "val", "type": "i128" } ] } }, { "name": "FlashLoanType", "type": { "kind": "enum", "variants": [ { "name": "Unknown" }, { "name": "Swap" } ] } }, { "name": "Serum3SelfTradeBehavior", "type": { "kind": "enum", "variants": [ { "name": "DecrementTake" }, { "name": "CancelProvide" }, { "name": "AbortTransaction" } ] } }, { "name": "Serum3OrderType", "type": { "kind": "enum", "variants": [ { "name": "Limit" }, { "name": "ImmediateOrCancel" }, { "name": "PostOnly" } ] } }, { "name": "Serum3Side", "type": { "kind": "enum", "variants": [ { "name": "Bid" }, { "name": "Ask" } ] } }, { "name": "HealthType", "type": { "kind": "enum", "variants": [ { "name": "Init" }, { "name": "Maint" }, { "name": "LiquidationEnd" } ] } }, { "name": "LoanOriginationFeeInstruction", "type": { "kind": "enum", "variants": [ { "name": "Unknown" }, { "name": "LiqTokenBankruptcy" }, { "name": "LiqTokenWithToken" }, { "name": "Serum3LiqForceCancelOrders" }, { "name": "Serum3PlaceOrder" }, { "name": "Serum3SettleFunds" }, { "name": "TokenWithdraw" } ] } }, { "name": "IxGate", "type": { "kind": "enum", "variants": [ { "name": "AccountClose" }, { "name": "AccountCreate" }, { "name": "AccountEdit" }, { "name": "AccountExpand" }, { "name": "AccountToggleFreeze" }, { "name": "AltExtend" }, { "name": "AltSet" }, { "name": "FlashLoan" }, { "name": "GroupClose" }, { "name": "GroupCreate" }, { "name": "HealthRegion" }, { "name": "PerpCancelAllOrders" }, { "name": "PerpCancelAllOrdersBySide" }, { "name": "PerpCancelOrder" }, { "name": "PerpCancelOrderByClientOrderId" }, { "name": "PerpCloseMarket" }, { "name": "PerpConsumeEvents" }, { "name": "PerpCreateMarket" }, { "name": "PerpDeactivatePosition" }, { "name": "PerpLiqBaseOrPositivePnl" }, { "name": "PerpLiqForceCancelOrders" }, { "name": "PerpLiqNegativePnlOrBankruptcy" }, { "name": "PerpPlaceOrder" }, { "name": "PerpSettleFees" }, { "name": "PerpSettlePnl" }, { "name": "PerpUpdateFunding" }, { "name": "Serum3CancelAllOrders" }, { "name": "Serum3CancelOrder" }, { "name": "Serum3CloseOpenOrders" }, { "name": "Serum3CreateOpenOrders" }, { "name": "Serum3DeregisterMarket" }, { "name": "Serum3EditMarket" }, { "name": "Serum3LiqForceCancelOrders" }, { "name": "Serum3PlaceOrder" }, { "name": "Serum3RegisterMarket" }, { "name": "Serum3SettleFunds" }, { "name": "StubOracleClose" }, { "name": "StubOracleCreate" }, { "name": "StubOracleSet" }, { "name": "TokenAddBank" }, { "name": "TokenDeposit" }, { "name": "TokenDeregister" }, { "name": "TokenLiqBankruptcy" }, { "name": "TokenLiqWithToken" }, { "name": "TokenRegister" }, { "name": "TokenRegisterTrustless" }, { "name": "TokenUpdateIndexAndRate" }, { "name": "TokenWithdraw" }, { "name": "AccountBuybackFeesWithMngo" } ] } }, { "name": "OracleType", "type": { "kind": "enum", "variants": [ { "name": "Pyth" }, { "name": "Stub" }, { "name": "SwitchboardV1" }, { "name": "SwitchboardV2" } ] } }, { "name": "OrderState", "type": { "kind": "enum", "variants": [ { "name": "Valid" }, { "name": "Invalid" }, { "name": "Skipped" } ] } }, { "name": "BookSideOrderTree", "type": { "kind": "enum", "variants": [ { "name": "Fixed" }, { "name": "OraclePegged" } ] } }, { "name": "NodeTag", "type": { "kind": "enum", "variants": [ { "name": "Uninitialized" }, { "name": "InnerNode" }, { "name": "LeafNode" }, { "name": "FreeNode" }, { "name": "LastFreeNode" } ] } }, { "name": "PlaceOrderType", "type": { "kind": "enum", "variants": [ { "name": "Limit" }, { "name": "ImmediateOrCancel" }, { "name": "PostOnly" }, { "name": "Market" }, { "name": "PostOnlySlide" } ] } }, { "name": "PostOrderType", "type": { "kind": "enum", "variants": [ { "name": "Limit" }, { "name": "PostOnly" }, { "name": "PostOnlySlide" } ] } }, { "name": "Side", "type": { "kind": "enum", "variants": [ { "name": "Bid" }, { "name": "Ask" } ] } }, { "name": "SideAndOrderTree", "type": { "kind": "enum", "variants": [ { "name": "BidFixed" }, { "name": "AskFixed" }, { "name": "BidOraclePegged" }, { "name": "AskOraclePegged" } ] } }, { "name": "OrderParams", "type": { "kind": "enum", "variants": [ { "name": "Market" }, { "name": "ImmediateOrCancel", "fields": [ { "name": "price_lots", "type": "i64" } ] }, { "name": "Fixed", "fields": [ { "name": "price_lots", "type": "i64" }, { "name": "order_type", "type": { "defined": "PostOrderType" } } ] }, { "name": "OraclePegged", "fields": [ { "name": "price_offset_lots", "type": "i64" }, { "name": "order_type", "type": { "defined": "PostOrderType" } }, { "name": "peg_limit", "type": "i64" }, { "name": "max_oracle_staleness_slots", "type": "i32" } ] } ] } }, { "name": "OrderTreeType", "type": { "kind": "enum", "variants": [ { "name": "Bids" }, { "name": "Asks" } ] } }, { "name": "EventType", "type": { "kind": "enum", "variants": [ { "name": "Fill" }, { "name": "Out" }, { "name": "Liquidate" } ] } } ], "events": [ { "name": "MangoAccountData", "fields": [ { "name": "healthCache", "type": { "defined": "HealthCache" }, "index": false }, { "name": "initHealth", "type": { "defined": "I80F48" }, "index": false }, { "name": "maintHealth", "type": { "defined": "I80F48" }, "index": false }, { "name": "equity", "type": { "defined": "Equity" }, "index": false } ] }, { "name": "PerpBalanceLog", "fields": [ { "name": "mangoGroup", "type": "publicKey", "index": false }, { "name": "mangoAccount", "type": "publicKey", "index": false }, { "name": "marketIndex", "type": "u16", "index": false }, { "name": "basePosition", "type": "i64", "index": false }, { "name": "quotePosition", "type": "i128", "index": false }, { "name": "longSettledFunding", "type": "i128", "index": false }, { "name": "shortSettledFunding", "type": "i128", "index": false }, { "name": "longFunding", "type": "i128", "index": false }, { "name": "shortFunding", "type": "i128", "index": false } ] }, { "name": "TokenBalanceLog", "fields": [ { "name": "mangoGroup", "type": "publicKey", "index": false }, { "name": "mangoAccount", "type": "publicKey", "index": false }, { "name": "tokenIndex", "type": "u16", "index": false }, { "name": "indexedPosition", "type": "i128", "index": false }, { "name": "depositIndex", "type": "i128", "index": false }, { "name": "borrowIndex", "type": "i128", "index": false } ] }, { "name": "FlashLoanLog", "fields": [ { "name": "mangoGroup", "type": "publicKey", "index": false }, { "name": "mangoAccount", "type": "publicKey", "index": false }, { "name": "tokenLoanDetails", "type": { "vec": { "defined": "FlashLoanTokenDetail" } }, "index": false }, { "name": "flashLoanType", "type": { "defined": "FlashLoanType" }, "index": false } ] }, { "name": "WithdrawLog", "fields": [ { "name": "mangoGroup", "type": "publicKey", "index": false }, { "name": "mangoAccount", "type": "publicKey", "index": false }, { "name": "signer", "type": "publicKey", "index": false }, { "name": "tokenIndex", "type": "u16", "index": false }, { "name": "quantity", "type": "u64", "index": false }, { "name": "price", "type": "i128", "index": false } ] }, { "name": "DepositLog", "fields": [ { "name": "mangoGroup", "type": "publicKey", "index": false }, { "name": "mangoAccount", "type": "publicKey", "index": false }, { "name": "signer", "type": "publicKey", "index": false }, { "name": "tokenIndex", "type": "u16", "index": false }, { "name": "quantity", "type": "u64", "index": false }, { "name": "price", "type": "i128", "index": false } ] }, { "name": "FillLog", "fields": [ { "name": "mangoGroup", "type": "publicKey", "index": false }, { "name": "marketIndex", "type": "u16", "index": false }, { "name": "takerSide", "type": "u8", "index": false }, { "name": "makerSlot", "type": "u8", "index": false }, { "name": "makerOut", "type": "bool", "index": false }, { "name": "timestamp", "type": "u64", "index": false }, { "name": "seqNum", "type": "u64", "index": false }, { "name": "maker", "type": "publicKey", "index": false }, { "name": "makerOrderId", "type": "u128", "index": false }, { "name": "makerFee", "type": "i128", "index": false }, { "name": "makerTimestamp", "type": "u64", "index": false }, { "name": "taker", "type": "publicKey", "index": false }, { "name": "takerOrderId", "type": "u128", "index": false }, { "name": "takerClientOrderId", "type": "u64", "index": false }, { "name": "takerFee", "type": "i128", "index": false }, { "name": "price", "type": "i64", "index": false }, { "name": "quantity", "type": "i64", "index": false } ] }, { "name": "FillLogV2", "fields": [ { "name": "mangoGroup", "type": "publicKey", "index": false }, { "name": "marketIndex", "type": "u16", "index": false }, { "name": "takerSide", "type": "u8", "index": false }, { "name": "makerSlot", "type": "u8", "index": false }, { "name": "makerOut", "type": "bool", "index": false }, { "name": "timestamp", "type": "u64", "index": false }, { "name": "seqNum", "type": "u64", "index": false }, { "name": "maker", "type": "publicKey", "index": false }, { "name": "makerClientOrderId", "type": "u64", "index": false }, { "name": "makerFee", "type": "f32", "index": false }, { "name": "makerTimestamp", "type": "u64", "index": false }, { "name": "taker", "type": "publicKey", "index": false }, { "name": "takerClientOrderId", "type": "u64", "index": false }, { "name": "takerFee", "type": "f32", "index": false }, { "name": "price", "type": "i64", "index": false }, { "name": "quantity", "type": "i64", "index": false } ] }, { "name": "PerpUpdateFundingLog", "fields": [ { "name": "mangoGroup", "type": "publicKey", "index": false }, { "name": "marketIndex", "type": "u16", "index": false }, { "name": "longFunding", "type": "i128", "index": false }, { "name": "shortFunding", "type": "i128", "index": false }, { "name": "price", "type": "i128", "index": false }, { "name": "stablePrice", "type": "i128", "index": false }, { "name": "feesAccrued", "type": "i128", "index": false }, { "name": "openInterest", "type": "i64", "index": false }, { "name": "instantaneousFundingRate", "type": "i128", "index": false } ] }, { "name": "UpdateIndexLog", "fields": [ { "name": "mangoGroup", "type": "publicKey", "index": false }, { "name": "tokenIndex", "type": "u16", "index": false }, { "name": "depositIndex", "type": "i128", "index": false }, { "name": "borrowIndex", "type": "i128", "index": false }, { "name": "avgUtilization", "type": "i128", "index": false }, { "name": "price", "type": "i128", "index": false }, { "name": "stablePrice", "type": "i128", "index": false }, { "name": "collectedFees", "type": "i128", "index": false }, { "name": "loanFeeRate", "type": "i128", "index": false }, { "name": "totalBorrows", "type": "i128", "index": false }, { "name": "totalDeposits", "type": "i128", "index": false }, { "name": "borrowRate", "type": "i128", "index": false }, { "name": "depositRate", "type": "i128", "index": false } ] }, { "name": "UpdateRateLog", "fields": [ { "name": "mangoGroup", "type": "publicKey", "index": false }, { "name": "tokenIndex", "type": "u16", "index": false }, { "name": "rate0", "type": "i128", "index": false }, { "name": "rate1", "type": "i128", "index": false }, { "name": "maxRate", "type": "i128", "index": false } ] }, { "name": "TokenLiqWithTokenLog", "fields": [ { "name": "mangoGroup", "type": "publicKey", "index": false }, { "name": "liqee", "type": "publicKey", "index": false }, { "name": "liqor", "type": "publicKey", "index": false }, { "name": "assetTokenIndex", "type": "u16", "index": false }, { "name": "liabTokenIndex", "type": "u16", "index": false }, { "name": "assetTransfer", "type": "i128", "index": false }, { "name": "liabTransfer", "type": "i128", "index": false }, { "name": "assetPrice", "type": "i128", "index": false }, { "name": "liabPrice", "type": "i128", "index": false }, { "name": "bankruptcy", "type": "bool", "index": false } ] }, { "name": "Serum3OpenOrdersBalanceLog", "fields": [ { "name": "mangoGroup", "type": "publicKey", "index": false }, { "name": "mangoAccount", "type": "publicKey", "index": false }, { "name": "baseTokenIndex", "type": "u16", "index": false }, { "name": "quoteTokenIndex", "type": "u16", "index": false }, { "name": "baseTotal", "type": "u64", "index": false }, { "name": "baseFree", "type": "u64", "index": false }, { "name": "quoteTotal", "type": "u64", "index": false }, { "name": "quoteFree", "type": "u64", "index": false }, { "name": "referrerRebatesAccrued", "type": "u64", "index": false } ] }, { "name": "Serum3OpenOrdersBalanceLogV2", "fields": [ { "name": "mangoGroup", "type": "publicKey", "index": false }, { "name": "mangoAccount", "type": "publicKey", "index": false }, { "name": "marketIndex", "type": "u16", "index": false }, { "name": "baseTokenIndex", "type": "u16", "index": false }, { "name": "quoteTokenIndex", "type": "u16", "index": false }, { "name": "baseTotal", "type": "u64", "index": false }, { "name": "baseFree", "type": "u64", "index": false }, { "name": "quoteTotal", "type": "u64", "index": false }, { "name": "quoteFree", "type": "u64", "index": false }, { "name": "referrerRebatesAccrued", "type": "u64", "index": false } ] }, { "name": "WithdrawLoanOriginationFeeLog", "fields": [ { "name": "mangoGroup", "type": "publicKey", "index": false }, { "name": "mangoAccount", "type": "publicKey", "index": false }, { "name": "tokenIndex", "type": "u16", "index": false }, { "name": "loanOriginationFee", "type": "i128", "index": false }, { "name": "instruction", "type": { "defined": "LoanOriginationFeeInstruction" }, "index": false } ] }, { "name": "TokenLiqBankruptcyLog", "fields": [ { "name": "mangoGroup", "type": "publicKey", "index": false }, { "name": "liqee", "type": "publicKey", "index": false }, { "name": "liqor", "type": "publicKey", "index": false }, { "name": "liabTokenIndex", "type": "u16", "index": false }, { "name": "initialLiabNative", "type": "i128", "index": false }, { "name": "liabPrice", "type": "i128", "index": false }, { "name": "insuranceTokenIndex", "type": "u16", "index": false }, { "name": "insuranceTransfer", "type": "i128", "index": false }, { "name": "socializedLoss", "type": "i128", "index": false }, { "name": "startingLiabDepositIndex", "type": "i128", "index": false }, { "name": "endingLiabDepositIndex", "type": "i128", "index": false } ] }, { "name": "DeactivateTokenPositionLog", "fields": [ { "name": "mangoGroup", "type": "publicKey", "index": false }, { "name": "mangoAccount", "type": "publicKey", "index": false }, { "name": "tokenIndex", "type": "u16", "index": false }, { "name": "cumulativeDepositInterest", "type": "f64", "index": false }, { "name": "cumulativeBorrowInterest", "type": "f64", "index": false } ] }, { "name": "DeactivatePerpPositionLog", "fields": [ { "name": "mangoGroup", "type": "publicKey", "index": false }, { "name": "mangoAccount", "type": "publicKey", "index": false }, { "name": "marketIndex", "type": "u16", "index": false }, { "name": "cumulativeLongFunding", "type": "f64", "index": false }, { "name": "cumulativeShortFunding", "type": "f64", "index": false }, { "name": "makerVolume", "type": "u64", "index": false }, { "name": "takerVolume", "type": "u64", "index": false }, { "name": "perpSpotTransfers", "type": "i64", "index": false } ] }, { "name": "TokenMetaDataLog", "fields": [ { "name": "mangoGroup", "type": "publicKey", "index": false }, { "name": "mint", "type": "publicKey", "index": false }, { "name": "tokenIndex", "type": "u16", "index": false }, { "name": "mintDecimals", "type": "u8", "index": false }, { "name": "oracle", "type": "publicKey", "index": false }, { "name": "mintInfo", "type": "publicKey", "index": false } ] }, { "name": "PerpMarketMetaDataLog", "fields": [ { "name": "mangoGroup", "type": "publicKey", "index": false }, { "name": "perpMarket", "type": "publicKey", "index": false }, { "name": "perpMarketIndex", "type": "u16", "index": false }, { "name": "baseDecimals", "type": "u8", "index": false }, { "name": "baseLotSize", "type": "i64", "index": false }, { "name": "quoteLotSize", "type": "i64", "index": false }, { "name": "oracle", "type": "publicKey", "index": false } ] }, { "name": "Serum3RegisterMarketLog", "fields": [ { "name": "mangoGroup", "type": "publicKey", "index": false }, { "name": "serumMarket", "type": "publicKey", "index": false }, { "name": "marketIndex", "type": "u16", "index": false }, { "name": "baseTokenIndex", "type": "u16", "index": false }, { "name": "quoteTokenIndex", "type": "u16", "index": false }, { "name": "serumProgram", "type": "publicKey", "index": false }, { "name": "serumProgramExternal", "type": "publicKey", "index": false } ] }, { "name": "PerpLiqBaseOrPositivePnlLog", "fields": [ { "name": "mangoGroup", "type": "publicKey", "index": false }, { "name": "perpMarketIndex", "type": "u16", "index": false }, { "name": "liqor", "type": "publicKey", "index": false }, { "name": "liqee", "type": "publicKey", "index": false }, { "name": "baseTransfer", "type": "i64", "index": false }, { "name": "quoteTransfer", "type": "i128", "index": false }, { "name": "pnlTransfer", "type": "i128", "index": false }, { "name": "pnlSettleLimitTransfer", "type": "i128", "index": false }, { "name": "price", "type": "i128", "index": false } ] }, { "name": "PerpLiqBankruptcyLog", "fields": [ { "name": "mangoGroup", "type": "publicKey", "index": false }, { "name": "liqee", "type": "publicKey", "index": false }, { "name": "liqor", "type": "publicKey", "index": false }, { "name": "perpMarketIndex", "type": "u16", "index": false }, { "name": "insuranceTransfer", "type": "i128", "index": false }, { "name": "socializedLoss", "type": "i128", "index": false }, { "name": "startingLongFunding", "type": "i128", "index": false }, { "name": "startingShortFunding", "type": "i128", "index": false }, { "name": "endingLongFunding", "type": "i128", "index": false }, { "name": "endingShortFunding", "type": "i128", "index": false } ] }, { "name": "PerpLiqNegativePnlOrBankruptcyLog", "fields": [ { "name": "mangoGroup", "type": "publicKey", "index": false }, { "name": "liqee", "type": "publicKey", "index": false }, { "name": "liqor", "type": "publicKey", "index": false }, { "name": "perpMarketIndex", "type": "u16", "index": false }, { "name": "settlement", "type": "i128", "index": false } ] }, { "name": "PerpSettlePnlLog", "fields": [ { "name": "mangoGroup", "type": "publicKey", "index": false }, { "name": "mangoAccountA", "type": "publicKey", "index": false }, { "name": "mangoAccountB", "type": "publicKey", "index": false }, { "name": "perpMarketIndex", "type": "u16", "index": false }, { "name": "settlement", "type": "i128", "index": false }, { "name": "settler", "type": "publicKey", "index": false }, { "name": "fee", "type": "i128", "index": false } ] }, { "name": "PerpSettleFeesLog", "fields": [ { "name": "mangoGroup", "type": "publicKey", "index": false }, { "name": "mangoAccount", "type": "publicKey", "index": false }, { "name": "perpMarketIndex", "type": "u16", "index": false }, { "name": "settlement", "type": "i128", "index": false } ] }, { "name": "AccountBuybackFeesWithMngoLog", "fields": [ { "name": "mangoGroup", "type": "publicKey", "index": false }, { "name": "mangoAccount", "type": "publicKey", "index": false }, { "name": "buybackFees", "type": "i128", "index": false }, { "name": "buybackMngo", "type": "i128", "index": false }, { "name": "mngoBuybackPrice", "type": "i128", "index": false }, { "name": "oraclePrice", "type": "i128", "index": false } ] } ], "errors": [ { "code": 6000, "name": "SomeError", "msg": "" }, { "code": 6001, "name": "NotImplementedError", "msg": "" }, { "code": 6002, "name": "MathError", "msg": "checked math error" }, { "code": 6003, "name": "UnexpectedOracle", "msg": "" }, { "code": 6004, "name": "UnknownOracleType", "msg": "oracle type cannot be determined" }, { "code": 6005, "name": "InvalidFlashLoanTargetCpiProgram", "msg": "" }, { "code": 6006, "name": "HealthMustBePositive", "msg": "health must be positive" }, { "code": 6007, "name": "HealthMustBePositiveOrIncrease", "msg": "health must be positive or increase" }, { "code": 6008, "name": "HealthMustBeNegative", "msg": "health must be negative" }, { "code": 6009, "name": "IsBankrupt", "msg": "the account is bankrupt" }, { "code": 6010, "name": "IsNotBankrupt", "msg": "the account is not bankrupt" }, { "code": 6011, "name": "NoFreeTokenPositionIndex", "msg": "no free token position index" }, { "code": 6012, "name": "NoFreeSerum3OpenOrdersIndex", "msg": "no free serum3 open orders index" }, { "code": 6013, "name": "NoFreePerpPositionIndex", "msg": "no free perp position index" }, { "code": 6014, "name": "Serum3OpenOrdersExistAlready", "msg": "serum3 open orders exist already" }, { "code": 6015, "name": "InsufficentBankVaultFunds", "msg": "bank vault has insufficent funds" }, { "code": 6016, "name": "BeingLiquidated", "msg": "account is currently being liquidated" }, { "code": 6017, "name": "InvalidBank", "msg": "invalid bank" }, { "code": 6018, "name": "ProfitabilityMismatch", "msg": "account profitability is mismatched" }, { "code": 6019, "name": "CannotSettleWithSelf", "msg": "cannot settle with self" }, { "code": 6020, "name": "PerpPositionDoesNotExist", "msg": "perp position does not exist" }, { "code": 6021, "name": "MaxSettleAmountMustBeGreaterThanZero", "msg": "max settle amount must be greater than zero" }, { "code": 6022, "name": "HasOpenPerpOrders", "msg": "the perp position has open orders or unprocessed fill events" }, { "code": 6023, "name": "OracleConfidence", "msg": "an oracle does not reach the confidence threshold" }, { "code": 6024, "name": "OracleStale", "msg": "an oracle is stale" }, { "code": 6025, "name": "SettlementAmountMustBePositive", "msg": "settlement amount must always be positive" }, { "code": 6026, "name": "BankBorrowLimitReached", "msg": "bank utilization has reached limit" }, { "code": 6027, "name": "BankNetBorrowsLimitReached", "msg": "bank net borrows has reached limit - this is an intermittent error - the limit will reset regularly" }, { "code": 6028, "name": "TokenPositionDoesNotExist", "msg": "token position does not exist" }, { "code": 6029, "name": "DepositsIntoLiquidatingMustRecover", "msg": "token deposits into accounts that are being liquidated must bring their health above the init threshold" }, { "code": 6030, "name": "TokenInReduceOnlyMode", "msg": "token is in reduce only mode" }, { "code": 6031, "name": "MarketInReduceOnlyMode", "msg": "market is in reduce only mode" }, { "code": 6032, "name": "GroupIsHalted", "msg": "group is halted" }, { "code": 6033, "name": "PerpHasBaseLots", "msg": "the perp position has non-zero base lots" }, { "code": 6034, "name": "HasOpenOrUnsettledSerum3Orders", "msg": "there are open or unsettled serum3 orders" }, { "code": 6035, "name": "HasLiquidatableTokenPosition", "msg": "has liquidatable token position" }, { "code": 6036, "name": "HasLiquidatablePerpBasePosition", "msg": "has liquidatable perp base position" }, { "code": 6037, "name": "HasLiquidatablePositivePerpPnl", "msg": "has liquidatable positive perp pnl" }, { "code": 6038, "name": "AccountIsFrozen", "msg": "account is frozen" }, { "code": 6039, "name": "InitAssetWeightCantBeNegative", "msg": "Init Asset Weight can't be negative" }, { "code": 6040, "name": "HasOpenPerpTakerFills", "msg": "has open perp taker fills" }, { "code": 6041, "name": "DepositLimit", "msg": "deposit crosses the current group deposit limit" }, { "code": 6042, "name": "IxIsDisabled", "msg": "instruction is disabled" }, { "code": 6043, "name": "NoLiquidatablePerpBasePosition", "msg": "no liquidatable perp base position" }, { "code": 6044, "name": "PerpOrderIdNotFound", "msg": "perp order id not found on the orderbook" } ] }