mango-explorer-v4/idl.json

8112 lines
162 KiB
JSON

{
"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"
}
]
}