diff --git a/ts/client/src/mango_v4.ts b/ts/client/src/mango_v4.ts index ef10963c1..9e1baf983 100644 --- a/ts/client/src/mango_v4.ts +++ b/ts/client/src/mango_v4.ts @@ -1,9397 +1,9559 @@ export type MangoV4 = { - version: '0.1.0'; - name: 'mango_v4'; - instructions: [ + "version": "0.1.0", + "name": "mango_v4", + "instructions": [ { - name: 'groupCreate'; - accounts: [ + "name": "groupCreate", + "accounts": [ { - name: 'group'; - isMut: true; - isSigner: false; - pda: { - seeds: [ + "name": "group", + "isMut": true, + "isSigner": false, + "pda": { + "seeds": [ { - kind: 'const'; - type: 'string'; - value: 'Group'; + "kind": "const", + "type": "string", + "value": "Group" }, { - kind: 'account'; - type: 'publicKey'; - path: 'admin'; + "kind": "account", + "type": "publicKey", + "path": "admin" }, { - kind: 'arg'; - type: 'u32'; - path: 'group_num'; - }, - ]; - }; + "kind": "arg", + "type": "u32", + "path": "group_num" + } + ] + } }, { - name: 'admin'; - isMut: false; - isSigner: true; + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'insuranceMint'; - isMut: false; - isSigner: false; + "name": "insuranceMint", + "isMut": false, + "isSigner": false }, { - name: 'insuranceVault'; - isMut: true; - isSigner: false; - pda: { - seeds: [ + "name": "insuranceVault", + "isMut": true, + "isSigner": false, + "pda": { + "seeds": [ { - kind: 'account'; - type: 'publicKey'; - path: 'group'; + "kind": "account", + "type": "publicKey", + "path": "group" }, { - kind: 'const'; - type: 'string'; - value: 'InsuranceVault'; - }, - ]; - }; + "kind": "const", + "type": "string", + "value": "InsuranceVault" + } + ] + } }, { - name: 'payer'; - isMut: true; - isSigner: true; + "name": "payer", + "isMut": true, + "isSigner": true }, { - name: 'tokenProgram'; - isMut: false; - isSigner: false; + "name": "tokenProgram", + "isMut": false, + "isSigner": false }, { - name: 'systemProgram'; - isMut: false; - isSigner: false; + "name": "systemProgram", + "isMut": false, + "isSigner": false }, { - name: 'rent'; - isMut: false; - isSigner: false; - }, - ]; - args: [ + "name": "rent", + "isMut": false, + "isSigner": false + } + ], + "args": [ { - name: 'groupNum'; - type: 'u32'; + "name": "groupNum", + "type": "u32" }, { - name: 'testing'; - type: 'u8'; - }, - ]; + "name": "testing", + "type": "u8" + } + ] }, { - name: 'groupClose'; - accounts: [ + "name": "groupClose", + "accounts": [ { - name: 'group'; - isMut: true; - isSigner: false; + "name": "group", + "isMut": true, + "isSigner": false }, { - name: 'admin'; - isMut: false; - isSigner: true; + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'solDestination'; - isMut: true; - isSigner: false; + "name": "solDestination", + "isMut": true, + "isSigner": false }, { - name: 'tokenProgram'; - isMut: false; - isSigner: false; - }, - ]; - args: []; + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [] }, { - name: 'tokenRegister'; - accounts: [ + "name": "tokenRegister", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'admin'; - isMut: false; - isSigner: true; + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'mint'; - isMut: false; - isSigner: false; + "name": "mint", + "isMut": false, + "isSigner": false }, { - name: 'bank'; - isMut: true; - isSigner: false; - pda: { - seeds: [ + "name": "bank", + "isMut": true, + "isSigner": false, + "pda": { + "seeds": [ { - kind: 'account'; - type: 'publicKey'; - path: 'group'; + "kind": "account", + "type": "publicKey", + "path": "group" }, { - kind: 'const'; - type: 'string'; - value: 'Bank'; + "kind": "const", + "type": "string", + "value": "Bank" }, { - kind: 'arg'; - type: 'u16'; - path: 'token_index'; + "kind": "arg", + "type": "u16", + "path": "token_index" }, { - kind: 'arg'; - type: 'u64'; - path: 'bank_num'; - }, - ]; - }; + "kind": "arg", + "type": "u64", + "path": "bank_num" + } + ] + } }, { - name: 'vault'; - isMut: true; - isSigner: false; - pda: { - seeds: [ + "name": "vault", + "isMut": true, + "isSigner": false, + "pda": { + "seeds": [ { - kind: 'account'; - type: 'publicKey'; - path: 'group'; + "kind": "account", + "type": "publicKey", + "path": "group" }, { - kind: 'const'; - type: 'string'; - value: 'Vault'; + "kind": "const", + "type": "string", + "value": "Vault" }, { - kind: 'arg'; - type: 'u16'; - path: 'token_index'; + "kind": "arg", + "type": "u16", + "path": "token_index" }, { - kind: 'arg'; - type: 'u64'; - path: 'bank_num'; - }, - ]; - }; + "kind": "arg", + "type": "u64", + "path": "bank_num" + } + ] + } }, { - name: 'mintInfo'; - isMut: true; - isSigner: false; - pda: { - seeds: [ + "name": "mintInfo", + "isMut": true, + "isSigner": false, + "pda": { + "seeds": [ { - kind: 'account'; - type: 'publicKey'; - path: 'group'; + "kind": "account", + "type": "publicKey", + "path": "group" }, { - kind: 'const'; - type: 'string'; - value: 'MintInfo'; + "kind": "const", + "type": "string", + "value": "MintInfo" }, { - kind: 'account'; - type: 'publicKey'; - account: 'Mint'; - path: 'mint'; - }, - ]; - }; + "kind": "account", + "type": "publicKey", + "account": "Mint", + "path": "mint" + } + ] + } }, { - name: 'oracle'; - isMut: false; - isSigner: false; + "name": "oracle", + "isMut": false, + "isSigner": false }, { - name: 'payer'; - isMut: true; - isSigner: true; + "name": "payer", + "isMut": true, + "isSigner": true }, { - name: 'tokenProgram'; - isMut: false; - isSigner: false; + "name": "tokenProgram", + "isMut": false, + "isSigner": false }, { - name: 'systemProgram'; - isMut: false; - isSigner: false; + "name": "systemProgram", + "isMut": false, + "isSigner": false }, { - name: 'rent'; - isMut: false; - isSigner: false; - }, - ]; - args: [ + "name": "rent", + "isMut": false, + "isSigner": false + } + ], + "args": [ { - name: 'tokenIndex'; - type: 'u16'; + "name": "tokenIndex", + "type": "u16" }, { - name: 'bankNum'; - type: 'u64'; + "name": "bankNum", + "type": "u64" }, { - name: 'name'; - type: 'string'; + "name": "name", + "type": "string" }, { - name: 'oracleConfig'; - type: { - defined: 'OracleConfig'; - }; + "name": "oracleConfig", + "type": { + "defined": "OracleConfig" + } }, { - name: 'interestRateParams'; - type: { - defined: 'InterestRateParams'; - }; + "name": "interestRateParams", + "type": { + "defined": "InterestRateParams" + } }, { - name: 'loanFeeRate'; - type: 'f32'; + "name": "loanFeeRate", + "type": "f32" }, { - name: 'loanOriginationFeeRate'; - type: 'f32'; + "name": "loanOriginationFeeRate", + "type": "f32" }, { - name: 'maintAssetWeight'; - type: 'f32'; + "name": "maintAssetWeight", + "type": "f32" }, { - name: 'initAssetWeight'; - type: 'f32'; + "name": "initAssetWeight", + "type": "f32" }, { - name: 'maintLiabWeight'; - type: 'f32'; + "name": "maintLiabWeight", + "type": "f32" }, { - name: 'initLiabWeight'; - type: 'f32'; + "name": "initLiabWeight", + "type": "f32" }, { - name: 'liquidationFee'; - type: 'f32'; - }, - ]; + "name": "liquidationFee", + "type": "f32" + } + ] }, { - name: 'tokenEdit'; - accounts: [ + "name": "tokenEdit", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'admin'; - isMut: false; - isSigner: true; + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'mintInfo'; - isMut: false; - isSigner: false; - }, - ]; - args: [ + "name": "mintInfo", + "isMut": false, + "isSigner": false + } + ], + "args": [ { - name: 'bankNum'; - type: 'u64'; + "name": "bankNum", + "type": "u64" }, { - name: 'oracleOpt'; - type: { - option: 'publicKey'; - }; + "name": "oracleOpt", + "type": { + "option": "publicKey" + } }, { - name: 'oracleConfigOpt'; - type: { - option: { - defined: 'OracleConfig'; - }; - }; + "name": "oracleConfigOpt", + "type": { + "option": { + "defined": "OracleConfig" + } + } }, { - name: 'interestRateParamsOpt'; - type: { - option: { - defined: 'InterestRateParams'; - }; - }; + "name": "interestRateParamsOpt", + "type": { + "option": { + "defined": "InterestRateParams" + } + } }, { - name: 'loanFeeRateOpt'; - type: { - option: 'f32'; - }; + "name": "loanFeeRateOpt", + "type": { + "option": "f32" + } }, { - name: 'loanOriginationFeeRateOpt'; - type: { - option: 'f32'; - }; + "name": "loanOriginationFeeRateOpt", + "type": { + "option": "f32" + } }, { - name: 'maintAssetWeightOpt'; - type: { - option: 'f32'; - }; + "name": "maintAssetWeightOpt", + "type": { + "option": "f32" + } }, { - name: 'initAssetWeightOpt'; - type: { - option: 'f32'; - }; + "name": "initAssetWeightOpt", + "type": { + "option": "f32" + } }, { - name: 'maintLiabWeightOpt'; - type: { - option: 'f32'; - }; + "name": "maintLiabWeightOpt", + "type": { + "option": "f32" + } }, { - name: 'initLiabWeightOpt'; - type: { - option: 'f32'; - }; + "name": "initLiabWeightOpt", + "type": { + "option": "f32" + } }, { - name: 'liquidationFeeOpt'; - type: { - option: 'f32'; - }; - }, - ]; + "name": "liquidationFeeOpt", + "type": { + "option": "f32" + } + } + ] }, { - name: 'tokenAddBank'; - accounts: [ + "name": "tokenAddBank", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'admin'; - isMut: false; - isSigner: true; + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'mint'; - isMut: false; - isSigner: false; + "name": "mint", + "isMut": false, + "isSigner": false }, { - name: 'existingBank'; - isMut: false; - isSigner: false; + "name": "existingBank", + "isMut": false, + "isSigner": false }, { - name: 'bank'; - isMut: true; - isSigner: false; - pda: { - seeds: [ + "name": "bank", + "isMut": true, + "isSigner": false, + "pda": { + "seeds": [ { - kind: 'account'; - type: 'publicKey'; - path: 'group'; + "kind": "account", + "type": "publicKey", + "path": "group" }, { - kind: 'const'; - type: 'string'; - value: 'Bank'; + "kind": "const", + "type": "string", + "value": "Bank" }, { - kind: 'arg'; - type: 'u16'; - path: 'token_index'; + "kind": "arg", + "type": "u16", + "path": "token_index" }, { - kind: 'arg'; - type: 'u64'; - path: 'bank_num'; - }, - ]; - }; + "kind": "arg", + "type": "u64", + "path": "bank_num" + } + ] + } }, { - name: 'vault'; - isMut: true; - isSigner: false; - pda: { - seeds: [ + "name": "vault", + "isMut": true, + "isSigner": false, + "pda": { + "seeds": [ { - kind: 'account'; - type: 'publicKey'; - path: 'group'; + "kind": "account", + "type": "publicKey", + "path": "group" }, { - kind: 'const'; - type: 'string'; - value: 'Vault'; + "kind": "const", + "type": "string", + "value": "Vault" }, { - kind: 'arg'; - type: 'u16'; - path: 'token_index'; + "kind": "arg", + "type": "u16", + "path": "token_index" }, { - kind: 'arg'; - type: 'u64'; - path: 'bank_num'; - }, - ]; - }; + "kind": "arg", + "type": "u64", + "path": "bank_num" + } + ] + } }, { - name: 'mintInfo'; - isMut: true; - isSigner: false; - pda: { - seeds: [ + "name": "mintInfo", + "isMut": true, + "isSigner": false, + "pda": { + "seeds": [ { - kind: 'account'; - type: 'publicKey'; - path: 'group'; + "kind": "account", + "type": "publicKey", + "path": "group" }, { - kind: 'const'; - type: 'string'; - value: 'MintInfo'; + "kind": "const", + "type": "string", + "value": "MintInfo" }, { - kind: 'account'; - type: 'publicKey'; - account: 'Mint'; - path: 'mint'; - }, - ]; - }; + "kind": "account", + "type": "publicKey", + "account": "Mint", + "path": "mint" + } + ] + } }, { - name: 'payer'; - isMut: true; - isSigner: true; + "name": "payer", + "isMut": true, + "isSigner": true }, { - name: 'tokenProgram'; - isMut: false; - isSigner: false; + "name": "tokenProgram", + "isMut": false, + "isSigner": false }, { - name: 'systemProgram'; - isMut: false; - isSigner: false; + "name": "systemProgram", + "isMut": false, + "isSigner": false }, { - name: 'rent'; - isMut: false; - isSigner: false; - }, - ]; - args: [ + "name": "rent", + "isMut": false, + "isSigner": false + } + ], + "args": [ { - name: 'tokenIndex'; - type: 'u16'; + "name": "tokenIndex", + "type": "u16" }, { - name: 'bankNum'; - type: 'u64'; - }, - ]; + "name": "bankNum", + "type": "u64" + } + ] }, { - name: 'tokenDeregister'; - accounts: [ + "name": "tokenDeregister", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'admin'; - isMut: false; - isSigner: true; + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'mintInfo'; - isMut: true; - isSigner: false; + "name": "mintInfo", + "isMut": true, + "isSigner": false }, { - name: 'dustVault'; - isMut: true; - isSigner: false; + "name": "dustVault", + "isMut": true, + "isSigner": false }, { - name: 'solDestination'; - isMut: true; - isSigner: false; + "name": "solDestination", + "isMut": true, + "isSigner": false }, { - name: 'tokenProgram'; - isMut: false; - isSigner: false; - }, - ]; - args: [ + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ { - name: 'tokenIndex'; - type: 'u16'; - }, - ]; + "name": "tokenIndex", + "type": "u16" + } + ] }, { - name: 'tokenUpdateIndexAndRate'; - accounts: [ + "name": "tokenUpdateIndexAndRate", + "accounts": [ { - name: 'mintInfo'; - isMut: false; - isSigner: false; + "name": "mintInfo", + "isMut": false, + "isSigner": false }, { - name: 'oracle'; - isMut: false; - isSigner: false; + "name": "oracle", + "isMut": false, + "isSigner": false }, { - name: 'instructions'; - isMut: false; - isSigner: false; - }, - ]; - args: []; + "name": "instructions", + "isMut": false, + "isSigner": false + } + ], + "args": [] }, { - name: 'accountCreate'; - accounts: [ + "name": "accountCreate", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account'; - isMut: true; - isSigner: false; - pda: { - seeds: [ + "name": "account", + "isMut": true, + "isSigner": false, + "pda": { + "seeds": [ { - kind: 'account'; - type: 'publicKey'; - path: 'group'; + "kind": "account", + "type": "publicKey", + "path": "group" }, { - kind: 'const'; - type: 'string'; - value: 'MangoAccount'; + "kind": "const", + "type": "string", + "value": "MangoAccount" }, { - kind: 'account'; - type: 'publicKey'; - path: 'owner'; + "kind": "account", + "type": "publicKey", + "path": "owner" }, { - kind: 'arg'; - type: 'u8'; - path: 'account_num'; - }, - ]; - }; + "kind": "arg", + "type": "u8", + "path": "account_num" + } + ] + } }, { - name: 'owner'; - isMut: false; - isSigner: true; + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'payer'; - isMut: true; - isSigner: true; + "name": "payer", + "isMut": true, + "isSigner": true }, { - name: 'systemProgram'; - isMut: false; - isSigner: false; - }, - ]; - args: [ + "name": "systemProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ { - name: 'accountNum'; - type: 'u8'; + "name": "accountNum", + "type": "u8" }, { - name: 'name'; - type: 'string'; - }, - ]; + "name": "name", + "type": "string" + } + ] }, { - name: 'accountEdit'; - accounts: [ + "name": "accountEdit", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account'; - isMut: true; - isSigner: false; + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner'; - isMut: false; - isSigner: true; - }, - ]; - args: [ + "name": "owner", + "isMut": false, + "isSigner": true + } + ], + "args": [ { - name: 'nameOpt'; - type: { - option: 'string'; - }; + "name": "nameOpt", + "type": { + "option": "string" + } }, { - name: 'delegateOpt'; - type: { - option: 'publicKey'; - }; - }, - ]; + "name": "delegateOpt", + "type": { + "option": "publicKey" + } + } + ] }, { - name: 'accountClose'; - accounts: [ + "name": "accountClose", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account'; - isMut: true; - isSigner: false; + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner'; - isMut: false; - isSigner: true; + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'solDestination'; - isMut: true; - isSigner: false; + "name": "solDestination", + "isMut": true, + "isSigner": false }, { - name: 'tokenProgram'; - isMut: false; - isSigner: false; - }, - ]; - args: []; + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [] }, { - name: 'stubOracleCreate'; - accounts: [ + "name": "stubOracleCreate", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'oracle'; - isMut: true; - isSigner: false; - pda: { - seeds: [ + "name": "oracle", + "isMut": true, + "isSigner": false, + "pda": { + "seeds": [ { - kind: 'account'; - type: 'publicKey'; - path: 'group'; + "kind": "account", + "type": "publicKey", + "path": "group" }, { - kind: 'const'; - type: 'string'; - value: 'StubOracle'; + "kind": "const", + "type": "string", + "value": "StubOracle" }, { - kind: 'account'; - type: 'publicKey'; - account: 'Mint'; - path: 'token_mint'; - }, - ]; - }; + "kind": "account", + "type": "publicKey", + "account": "Mint", + "path": "token_mint" + } + ] + } }, { - name: 'admin'; - isMut: false; - isSigner: true; + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'tokenMint'; - isMut: false; - isSigner: false; + "name": "tokenMint", + "isMut": false, + "isSigner": false }, { - name: 'payer'; - isMut: true; - isSigner: true; + "name": "payer", + "isMut": true, + "isSigner": true }, { - name: 'systemProgram'; - isMut: false; - isSigner: false; - }, - ]; - args: [ + "name": "systemProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ { - name: 'price'; - type: { - defined: 'I80F48'; - }; - }, - ]; + "name": "price", + "type": { + "defined": "I80F48" + } + } + ] }, { - name: 'stubOracleClose'; - accounts: [ + "name": "stubOracleClose", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'admin'; - isMut: false; - isSigner: true; + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'oracle'; - isMut: true; - isSigner: false; + "name": "oracle", + "isMut": true, + "isSigner": false }, { - name: 'solDestination'; - isMut: true; - isSigner: false; + "name": "solDestination", + "isMut": true, + "isSigner": false }, { - name: 'tokenProgram'; - isMut: false; - isSigner: false; - }, - ]; - args: []; + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [] }, { - name: 'stubOracleSet'; - accounts: [ + "name": "stubOracleSet", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'admin'; - isMut: false; - isSigner: true; + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'oracle'; - isMut: true; - isSigner: false; + "name": "oracle", + "isMut": true, + "isSigner": false }, { - name: 'payer'; - isMut: true; - isSigner: true; - }, - ]; - args: [ + "name": "payer", + "isMut": true, + "isSigner": true + } + ], + "args": [ { - name: 'price'; - type: { - defined: 'I80F48'; - }; - }, - ]; + "name": "price", + "type": { + "defined": "I80F48" + } + } + ] }, { - name: 'tokenDeposit'; - accounts: [ + "name": "tokenDeposit", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account'; - isMut: true; - isSigner: false; + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'bank'; - isMut: true; - isSigner: false; + "name": "bank", + "isMut": true, + "isSigner": false }, { - name: 'vault'; - isMut: true; - isSigner: false; + "name": "vault", + "isMut": true, + "isSigner": false }, { - name: 'tokenAccount'; - isMut: true; - isSigner: false; + "name": "tokenAccount", + "isMut": true, + "isSigner": false }, { - name: 'tokenAuthority'; - isMut: false; - isSigner: true; + "name": "tokenAuthority", + "isMut": false, + "isSigner": true }, { - name: 'tokenProgram'; - isMut: false; - isSigner: false; - }, - ]; - args: [ + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ { - name: 'amount'; - type: 'u64'; - }, - ]; + "name": "amount", + "type": "u64" + } + ] }, { - name: 'tokenWithdraw'; - accounts: [ + "name": "tokenWithdraw", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account'; - isMut: true; - isSigner: false; + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner'; - isMut: false; - isSigner: true; + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'bank'; - isMut: true; - isSigner: false; + "name": "bank", + "isMut": true, + "isSigner": false }, { - name: 'vault'; - isMut: true; - isSigner: false; + "name": "vault", + "isMut": true, + "isSigner": false }, { - name: 'tokenAccount'; - isMut: true; - isSigner: false; + "name": "tokenAccount", + "isMut": true, + "isSigner": false }, { - name: 'tokenProgram'; - isMut: false; - isSigner: false; - }, - ]; - args: [ + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ { - name: 'amount'; - type: 'u64'; + "name": "amount", + "type": "u64" }, { - name: 'allowBorrow'; - type: 'bool'; - }, - ]; + "name": "allowBorrow", + "type": "bool" + } + ] }, { - name: 'flashLoan'; - accounts: [ + "name": "flashLoan", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account'; - isMut: true; - isSigner: false; + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner'; - isMut: false; - isSigner: true; + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'tokenProgram'; - isMut: false; - isSigner: false; - }, - ]; - args: [ + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ { - name: 'withdraws'; - type: { - vec: { - defined: 'FlashLoanWithdraw'; - }; - }; + "name": "withdraws", + "type": { + "vec": { + "defined": "FlashLoanWithdraw" + } + } }, { - name: 'cpiDatas'; - type: { - vec: { - defined: 'CpiData'; - }; - }; - }, - ]; + "name": "cpiDatas", + "type": { + "vec": { + "defined": "CpiData" + } + } + } + ] }, { - name: 'flashLoan2Begin'; - accounts: [ + "name": "flashLoan2Begin", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'temporaryVaultAuthority'; - isMut: false; - isSigner: true; + "name": "temporaryVaultAuthority", + "isMut": false, + "isSigner": true }, { - name: 'tokenProgram'; - isMut: false; - isSigner: false; + "name": "tokenProgram", + "isMut": false, + "isSigner": false }, { - name: 'instructions'; - isMut: false; - isSigner: false; - }, - ]; - args: [ + "name": "instructions", + "isMut": false, + "isSigner": false + } + ], + "args": [ { - name: 'loanAmounts'; - type: { - vec: 'u64'; - }; - }, - ]; + "name": "loanAmounts", + "type": { + "vec": "u64" + } + } + ] }, { - name: 'flashLoan2End'; - accounts: [ + "name": "flashLoan2End", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account'; - isMut: true; - isSigner: false; + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner'; - isMut: false; - isSigner: true; + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'tokenProgram'; - isMut: false; - isSigner: false; - }, - ]; - args: []; + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [] }, { - name: 'flashLoan3Begin'; - accounts: [ + "name": "flashLoan3Begin", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'tokenProgram'; - isMut: false; - isSigner: false; + "name": "tokenProgram", + "isMut": false, + "isSigner": false }, { - name: 'instructions'; - isMut: false; - isSigner: false; - }, - ]; - args: [ + "name": "instructions", + "isMut": false, + "isSigner": false + } + ], + "args": [ { - name: 'loanAmounts'; - type: { - vec: 'u64'; - }; - }, - ]; + "name": "loanAmounts", + "type": { + "vec": "u64" + } + } + ] }, { - name: 'flashLoan3End'; - accounts: [ + "name": "flashLoan3End", + "accounts": [ { - name: 'account'; - isMut: true; - isSigner: false; + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner'; - isMut: false; - isSigner: true; + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'tokenProgram'; - isMut: false; - isSigner: false; - }, - ]; - args: []; + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [] }, { - name: 'serum3RegisterMarket'; - accounts: [ + "name": "serum3RegisterMarket", + "accounts": [ { - name: 'group'; - isMut: true; - isSigner: false; + "name": "group", + "isMut": true, + "isSigner": false }, { - name: 'admin'; - isMut: false; - isSigner: true; + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'serumProgram'; - isMut: false; - isSigner: false; + "name": "serumProgram", + "isMut": false, + "isSigner": false }, { - name: 'serumMarketExternal'; - isMut: false; - isSigner: false; + "name": "serumMarketExternal", + "isMut": false, + "isSigner": false }, { - name: 'serumMarket'; - isMut: true; - isSigner: false; - pda: { - seeds: [ + "name": "serumMarket", + "isMut": true, + "isSigner": false, + "pda": { + "seeds": [ { - kind: 'account'; - type: 'publicKey'; - path: 'group'; + "kind": "account", + "type": "publicKey", + "path": "group" }, { - kind: 'const'; - type: 'string'; - value: 'Serum3Market'; + "kind": "const", + "type": "string", + "value": "Serum3Market" }, { - kind: 'account'; - type: 'publicKey'; - path: 'serum_market_external'; - }, - ]; - }; + "kind": "account", + "type": "publicKey", + "path": "serum_market_external" + } + ] + } }, { - name: 'quoteBank'; - isMut: false; - isSigner: false; + "name": "quoteBank", + "isMut": false, + "isSigner": false }, { - name: 'baseBank'; - isMut: false; - isSigner: false; + "name": "baseBank", + "isMut": false, + "isSigner": false }, { - name: 'payer'; - isMut: true; - isSigner: true; + "name": "payer", + "isMut": true, + "isSigner": true }, { - name: 'systemProgram'; - isMut: false; - isSigner: false; - }, - ]; - args: [ + "name": "systemProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ { - name: 'marketIndex'; - type: 'u16'; + "name": "marketIndex", + "type": "u16" }, { - name: 'name'; - type: 'string'; - }, - ]; + "name": "name", + "type": "string" + } + ] }, { - name: 'serum3DeregisterMarket'; - accounts: [ + "name": "serum3DeregisterMarket", + "accounts": [ { - name: 'group'; - isMut: true; - isSigner: false; + "name": "group", + "isMut": true, + "isSigner": false }, { - name: 'admin'; - isMut: false; - isSigner: true; + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'serumMarket'; - isMut: true; - isSigner: false; + "name": "serumMarket", + "isMut": true, + "isSigner": false }, { - name: 'solDestination'; - isMut: true; - isSigner: false; + "name": "solDestination", + "isMut": true, + "isSigner": false }, { - name: 'tokenProgram'; - isMut: false; - isSigner: false; - }, - ]; - args: []; + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [] }, { - name: 'serum3CreateOpenOrders'; - accounts: [ + "name": "serum3CreateOpenOrders", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account'; - isMut: true; - isSigner: false; + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner'; - isMut: false; - isSigner: true; + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'serumMarket'; - isMut: false; - isSigner: false; + "name": "serumMarket", + "isMut": false, + "isSigner": false }, { - name: 'serumProgram'; - isMut: false; - isSigner: false; + "name": "serumProgram", + "isMut": false, + "isSigner": false }, { - name: 'serumMarketExternal'; - isMut: false; - isSigner: false; + "name": "serumMarketExternal", + "isMut": false, + "isSigner": false }, { - name: 'openOrders'; - isMut: true; - isSigner: false; - pda: { - seeds: [ + "name": "openOrders", + "isMut": true, + "isSigner": false, + "pda": { + "seeds": [ { - kind: 'account'; - type: 'publicKey'; - path: 'account'; + "kind": "account", + "type": "publicKey", + "path": "account" }, { - kind: 'const'; - type: 'string'; - value: 'Serum3OO'; + "kind": "const", + "type": "string", + "value": "Serum3OO" }, { - kind: 'account'; - type: 'publicKey'; - path: 'serum_market'; - }, - ]; - }; + "kind": "account", + "type": "publicKey", + "path": "serum_market" + } + ] + } }, { - name: 'payer'; - isMut: true; - isSigner: true; + "name": "payer", + "isMut": true, + "isSigner": true }, { - name: 'systemProgram'; - isMut: false; - isSigner: false; + "name": "systemProgram", + "isMut": false, + "isSigner": false }, { - name: 'rent'; - isMut: false; - isSigner: false; - }, - ]; - args: []; + "name": "rent", + "isMut": false, + "isSigner": false + } + ], + "args": [] }, { - name: 'serum3CloseOpenOrders'; - accounts: [ + "name": "serum3CloseOpenOrders", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account'; - isMut: true; - isSigner: false; + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner'; - isMut: false; - isSigner: true; + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'serumMarket'; - isMut: false; - isSigner: false; + "name": "serumMarket", + "isMut": false, + "isSigner": false }, { - name: 'serumProgram'; - isMut: false; - isSigner: false; + "name": "serumProgram", + "isMut": false, + "isSigner": false }, { - name: 'serumMarketExternal'; - isMut: false; - isSigner: false; + "name": "serumMarketExternal", + "isMut": false, + "isSigner": false }, { - name: 'openOrders'; - isMut: true; - isSigner: false; + "name": "openOrders", + "isMut": true, + "isSigner": false }, { - name: 'solDestination'; - isMut: true; - isSigner: false; - }, - ]; - args: []; + "name": "solDestination", + "isMut": true, + "isSigner": false + } + ], + "args": [] }, { - name: 'serum3PlaceOrder'; - accounts: [ + "name": "serum3PlaceOrder", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account'; - isMut: true; - isSigner: false; + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner'; - isMut: false; - isSigner: true; + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'openOrders'; - isMut: true; - isSigner: false; + "name": "openOrders", + "isMut": true, + "isSigner": false }, { - name: 'serumMarket'; - isMut: false; - isSigner: false; + "name": "serumMarket", + "isMut": false, + "isSigner": false }, { - name: 'serumProgram'; - isMut: false; - isSigner: false; + "name": "serumProgram", + "isMut": false, + "isSigner": false }, { - name: 'serumMarketExternal'; - isMut: true; - isSigner: false; + "name": "serumMarketExternal", + "isMut": true, + "isSigner": false }, { - name: 'marketBids'; - isMut: true; - isSigner: false; + "name": "marketBids", + "isMut": true, + "isSigner": false }, { - name: 'marketAsks'; - isMut: true; - isSigner: false; + "name": "marketAsks", + "isMut": true, + "isSigner": false }, { - name: 'marketEventQueue'; - isMut: true; - isSigner: false; + "name": "marketEventQueue", + "isMut": true, + "isSigner": false }, { - name: 'marketRequestQueue'; - isMut: true; - isSigner: false; + "name": "marketRequestQueue", + "isMut": true, + "isSigner": false }, { - name: 'marketBaseVault'; - isMut: true; - isSigner: false; + "name": "marketBaseVault", + "isMut": true, + "isSigner": false }, { - name: 'marketQuoteVault'; - isMut: true; - isSigner: false; + "name": "marketQuoteVault", + "isMut": true, + "isSigner": false }, { - name: 'marketVaultSigner'; - isMut: false; - isSigner: false; + "name": "marketVaultSigner", + "isMut": false, + "isSigner": false }, { - name: 'quoteBank'; - isMut: true; - isSigner: false; + "name": "quoteBank", + "isMut": true, + "isSigner": false }, { - name: 'quoteVault'; - isMut: true; - isSigner: false; + "name": "quoteVault", + "isMut": true, + "isSigner": false }, { - name: 'baseBank'; - isMut: true; - isSigner: false; + "name": "baseBank", + "isMut": true, + "isSigner": false }, { - name: 'baseVault'; - isMut: true; - isSigner: false; + "name": "baseVault", + "isMut": true, + "isSigner": false }, { - name: 'tokenProgram'; - isMut: false; - isSigner: false; - }, - ]; - args: [ + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ { - name: 'side'; - type: { - defined: 'Serum3Side'; - }; + "name": "side", + "type": { + "defined": "Serum3Side" + } }, { - name: 'limitPrice'; - type: 'u64'; + "name": "limitPrice", + "type": "u64" }, { - name: 'maxBaseQty'; - type: 'u64'; + "name": "maxBaseQty", + "type": "u64" }, { - name: 'maxNativeQuoteQtyIncludingFees'; - type: 'u64'; + "name": "maxNativeQuoteQtyIncludingFees", + "type": "u64" }, { - name: 'selfTradeBehavior'; - type: { - defined: 'Serum3SelfTradeBehavior'; - }; + "name": "selfTradeBehavior", + "type": { + "defined": "Serum3SelfTradeBehavior" + } }, { - name: 'orderType'; - type: { - defined: 'Serum3OrderType'; - }; + "name": "orderType", + "type": { + "defined": "Serum3OrderType" + } }, { - name: 'clientOrderId'; - type: 'u64'; + "name": "clientOrderId", + "type": "u64" }, { - name: 'limit'; - type: 'u16'; - }, - ]; + "name": "limit", + "type": "u16" + } + ] }, { - name: 'serum3CancelOrder'; - accounts: [ + "name": "serum3CancelOrder", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account'; - isMut: true; - isSigner: false; + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner'; - isMut: false; - isSigner: true; + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'openOrders'; - isMut: true; - isSigner: false; + "name": "openOrders", + "isMut": true, + "isSigner": false }, { - name: 'serumMarket'; - isMut: false; - isSigner: false; + "name": "serumMarket", + "isMut": false, + "isSigner": false }, { - name: 'serumProgram'; - isMut: false; - isSigner: false; + "name": "serumProgram", + "isMut": false, + "isSigner": false }, { - name: 'serumMarketExternal'; - isMut: true; - isSigner: false; + "name": "serumMarketExternal", + "isMut": true, + "isSigner": false }, { - name: 'marketBids'; - isMut: true; - isSigner: false; + "name": "marketBids", + "isMut": true, + "isSigner": false }, { - name: 'marketAsks'; - isMut: true; - isSigner: false; + "name": "marketAsks", + "isMut": true, + "isSigner": false }, { - name: 'marketEventQueue'; - isMut: true; - isSigner: false; - }, - ]; - args: [ + "name": "marketEventQueue", + "isMut": true, + "isSigner": false + } + ], + "args": [ { - name: 'side'; - type: { - defined: 'Serum3Side'; - }; + "name": "side", + "type": { + "defined": "Serum3Side" + } }, { - name: 'orderId'; - type: 'u128'; - }, - ]; + "name": "orderId", + "type": "u128" + } + ] }, { - name: 'serum3CancelAllOrders'; - accounts: [ + "name": "serum3CancelAllOrders", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account'; - isMut: true; - isSigner: false; + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner'; - isMut: false; - isSigner: true; + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'openOrders'; - isMut: true; - isSigner: false; + "name": "openOrders", + "isMut": true, + "isSigner": false }, { - name: 'serumMarket'; - isMut: false; - isSigner: false; + "name": "serumMarket", + "isMut": false, + "isSigner": false }, { - name: 'serumProgram'; - isMut: false; - isSigner: false; + "name": "serumProgram", + "isMut": false, + "isSigner": false }, { - name: 'serumMarketExternal'; - isMut: true; - isSigner: false; + "name": "serumMarketExternal", + "isMut": true, + "isSigner": false }, { - name: 'marketBids'; - isMut: true; - isSigner: false; + "name": "marketBids", + "isMut": true, + "isSigner": false }, { - name: 'marketAsks'; - isMut: true; - isSigner: false; + "name": "marketAsks", + "isMut": true, + "isSigner": false }, { - name: 'marketEventQueue'; - isMut: true; - isSigner: false; - }, - ]; - args: [ + "name": "marketEventQueue", + "isMut": true, + "isSigner": false + } + ], + "args": [ { - name: 'limit'; - type: 'u8'; - }, - ]; + "name": "limit", + "type": "u8" + } + ] }, { - name: 'serum3SettleFunds'; - accounts: [ + "name": "serum3SettleFunds", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account'; - isMut: true; - isSigner: false; + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner'; - isMut: false; - isSigner: true; + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'openOrders'; - isMut: true; - isSigner: false; + "name": "openOrders", + "isMut": true, + "isSigner": false }, { - name: 'serumMarket'; - isMut: false; - isSigner: false; + "name": "serumMarket", + "isMut": false, + "isSigner": false }, { - name: 'serumProgram'; - isMut: false; - isSigner: false; + "name": "serumProgram", + "isMut": false, + "isSigner": false }, { - name: 'serumMarketExternal'; - isMut: true; - isSigner: false; + "name": "serumMarketExternal", + "isMut": true, + "isSigner": false }, { - name: 'marketBaseVault'; - isMut: true; - isSigner: false; + "name": "marketBaseVault", + "isMut": true, + "isSigner": false }, { - name: 'marketQuoteVault'; - isMut: true; - isSigner: false; + "name": "marketQuoteVault", + "isMut": true, + "isSigner": false }, { - name: 'marketVaultSigner'; - isMut: false; - isSigner: false; + "name": "marketVaultSigner", + "isMut": false, + "isSigner": false }, { - name: 'quoteBank'; - isMut: true; - isSigner: false; + "name": "quoteBank", + "isMut": true, + "isSigner": false }, { - name: 'quoteVault'; - isMut: true; - isSigner: false; + "name": "quoteVault", + "isMut": true, + "isSigner": false }, { - name: 'baseBank'; - isMut: true; - isSigner: false; + "name": "baseBank", + "isMut": true, + "isSigner": false }, { - name: 'baseVault'; - isMut: true; - isSigner: false; + "name": "baseVault", + "isMut": true, + "isSigner": false }, { - name: 'tokenProgram'; - isMut: false; - isSigner: false; - }, - ]; - args: []; + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [] }, { - name: 'serum3LiqForceCancelOrders'; - accounts: [ + "name": "serum3LiqForceCancelOrders", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account'; - isMut: true; - isSigner: false; + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'openOrders'; - isMut: true; - isSigner: false; + "name": "openOrders", + "isMut": true, + "isSigner": false }, { - name: 'serumMarket'; - isMut: false; - isSigner: false; + "name": "serumMarket", + "isMut": false, + "isSigner": false }, { - name: 'serumProgram'; - isMut: false; - isSigner: false; + "name": "serumProgram", + "isMut": false, + "isSigner": false }, { - name: 'serumMarketExternal'; - isMut: true; - isSigner: false; + "name": "serumMarketExternal", + "isMut": true, + "isSigner": false }, { - name: 'marketBids'; - isMut: true; - isSigner: false; + "name": "marketBids", + "isMut": true, + "isSigner": false }, { - name: 'marketAsks'; - isMut: true; - isSigner: false; + "name": "marketAsks", + "isMut": true, + "isSigner": false }, { - name: 'marketEventQueue'; - isMut: true; - isSigner: false; + "name": "marketEventQueue", + "isMut": true, + "isSigner": false }, { - name: 'marketBaseVault'; - isMut: true; - isSigner: false; + "name": "marketBaseVault", + "isMut": true, + "isSigner": false }, { - name: 'marketQuoteVault'; - isMut: true; - isSigner: false; + "name": "marketQuoteVault", + "isMut": true, + "isSigner": false }, { - name: 'marketVaultSigner'; - isMut: false; - isSigner: false; + "name": "marketVaultSigner", + "isMut": false, + "isSigner": false }, { - name: 'quoteBank'; - isMut: true; - isSigner: false; + "name": "quoteBank", + "isMut": true, + "isSigner": false }, { - name: 'quoteVault'; - isMut: true; - isSigner: false; + "name": "quoteVault", + "isMut": true, + "isSigner": false }, { - name: 'baseBank'; - isMut: true; - isSigner: false; + "name": "baseBank", + "isMut": true, + "isSigner": false }, { - name: 'baseVault'; - isMut: true; - isSigner: false; + "name": "baseVault", + "isMut": true, + "isSigner": false }, { - name: 'tokenProgram'; - isMut: false; - isSigner: false; - }, - ]; - args: [ + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ { - name: 'limit'; - type: 'u8'; - }, - ]; + "name": "limit", + "type": "u8" + } + ] }, { - name: 'liqTokenWithToken'; - accounts: [ + "name": "liqTokenWithToken", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'liqor'; - isMut: true; - isSigner: false; + "name": "liqor", + "isMut": true, + "isSigner": false }, { - name: 'liqorOwner'; - isMut: false; - isSigner: true; + "name": "liqorOwner", + "isMut": false, + "isSigner": true }, { - name: 'liqee'; - isMut: true; - isSigner: false; - }, - ]; - args: [ + "name": "liqee", + "isMut": true, + "isSigner": false + } + ], + "args": [ { - name: 'assetTokenIndex'; - type: 'u16'; + "name": "assetTokenIndex", + "type": "u16" }, { - name: 'liabTokenIndex'; - type: 'u16'; + "name": "liabTokenIndex", + "type": "u16" }, { - name: 'maxLiabTransfer'; - type: { - defined: 'I80F48'; - }; - }, - ]; + "name": "maxLiabTransfer", + "type": { + "defined": "I80F48" + } + } + ] }, { - name: 'liqTokenBankruptcy'; - accounts: [ + "name": "liqTokenBankruptcy", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'liqor'; - isMut: true; - isSigner: false; + "name": "liqor", + "isMut": true, + "isSigner": false }, { - name: 'liqorOwner'; - isMut: false; - isSigner: true; + "name": "liqorOwner", + "isMut": false, + "isSigner": true }, { - name: 'liqee'; - isMut: true; - isSigner: false; + "name": "liqee", + "isMut": true, + "isSigner": false }, { - name: 'liabMintInfo'; - isMut: false; - isSigner: false; + "name": "liabMintInfo", + "isMut": false, + "isSigner": false }, { - name: 'quoteVault'; - isMut: true; - isSigner: false; + "name": "quoteVault", + "isMut": true, + "isSigner": false }, { - name: 'insuranceVault'; - isMut: true; - isSigner: false; + "name": "insuranceVault", + "isMut": true, + "isSigner": false }, { - name: 'tokenProgram'; - isMut: false; - isSigner: false; - }, - ]; - args: [ + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ { - name: 'liabTokenIndex'; - type: 'u16'; + "name": "liabTokenIndex", + "type": "u16" }, { - name: 'maxLiabTransfer'; - type: { - defined: 'I80F48'; - }; - }, - ]; + "name": "maxLiabTransfer", + "type": { + "defined": "I80F48" + } + } + ] }, { - name: 'perpCreateMarket'; - accounts: [ + "name": "perpCreateMarket", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'admin'; - isMut: false; - isSigner: true; + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'oracle'; - isMut: false; - isSigner: false; + "name": "oracle", + "isMut": false, + "isSigner": false }, { - name: 'perpMarket'; - isMut: true; - isSigner: false; - pda: { - seeds: [ + "name": "perpMarket", + "isMut": true, + "isSigner": false, + "pda": { + "seeds": [ { - kind: 'account'; - type: 'publicKey'; - path: 'group'; + "kind": "account", + "type": "publicKey", + "path": "group" }, { - kind: 'const'; - type: 'string'; - value: 'PerpMarket'; + "kind": "const", + "type": "string", + "value": "PerpMarket" }, { - kind: 'arg'; - type: 'u16'; - path: 'perp_market_index'; - }, - ]; - }; + "kind": "arg", + "type": "u16", + "path": "perp_market_index" + } + ] + } }, { - name: 'bids'; - isMut: true; - isSigner: false; + "name": "bids", + "isMut": true, + "isSigner": false }, { - name: 'asks'; - isMut: true; - isSigner: false; + "name": "asks", + "isMut": true, + "isSigner": false }, { - name: 'eventQueue'; - isMut: true; - isSigner: false; + "name": "eventQueue", + "isMut": true, + "isSigner": false }, { - name: 'payer'; - isMut: true; - isSigner: true; + "name": "payer", + "isMut": true, + "isSigner": true }, { - name: 'systemProgram'; - isMut: false; - isSigner: false; - }, - ]; - args: [ + "name": "systemProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ { - name: 'perpMarketIndex'; - type: 'u16'; + "name": "perpMarketIndex", + "type": "u16" }, { - name: 'name'; - type: 'string'; + "name": "name", + "type": "string" }, { - name: 'oracleConfig'; - type: { - defined: 'OracleConfig'; - }; + "name": "oracleConfig", + "type": { + "defined": "OracleConfig" + } }, { - name: 'baseTokenIndexOpt'; - type: { - option: 'u16'; - }; + "name": "baseTokenIndexOpt", + "type": { + "option": "u16" + } }, { - name: 'baseTokenDecimals'; - type: 'u8'; + "name": "baseTokenDecimals", + "type": "u8" }, { - name: 'quoteLotSize'; - type: 'i64'; + "name": "quoteLotSize", + "type": "i64" }, { - name: 'baseLotSize'; - type: 'i64'; + "name": "baseLotSize", + "type": "i64" }, { - name: 'maintAssetWeight'; - type: 'f32'; + "name": "maintAssetWeight", + "type": "f32" }, { - name: 'initAssetWeight'; - type: 'f32'; + "name": "initAssetWeight", + "type": "f32" }, { - name: 'maintLiabWeight'; - type: 'f32'; + "name": "maintLiabWeight", + "type": "f32" }, { - name: 'initLiabWeight'; - type: 'f32'; + "name": "initLiabWeight", + "type": "f32" }, { - name: 'liquidationFee'; - type: 'f32'; + "name": "liquidationFee", + "type": "f32" }, { - name: 'makerFee'; - type: 'f32'; + "name": "makerFee", + "type": "f32" }, { - name: 'takerFee'; - type: 'f32'; + "name": "takerFee", + "type": "f32" }, { - name: 'minFunding'; - type: 'f32'; + "name": "minFunding", + "type": "f32" }, { - name: 'maxFunding'; - type: 'f32'; + "name": "maxFunding", + "type": "f32" }, { - name: 'impactQuantity'; - type: 'i64'; - }, - ]; + "name": "impactQuantity", + "type": "i64" + } + ] }, { - name: 'perpEditMarket'; - accounts: [ + "name": "perpEditMarket", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'admin'; - isMut: false; - isSigner: true; + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'perpMarket'; - isMut: true; - isSigner: false; - }, - ]; - args: [ + "name": "perpMarket", + "isMut": true, + "isSigner": false + } + ], + "args": [ { - name: 'oracleOpt'; - type: { - option: 'publicKey'; - }; + "name": "oracleOpt", + "type": { + "option": "publicKey" + } }, { - name: 'oracleConfigOpt'; - type: { - option: { - defined: 'OracleConfig'; - }; - }; + "name": "oracleConfigOpt", + "type": { + "option": { + "defined": "OracleConfig" + } + } }, { - name: 'baseTokenIndexOpt'; - type: { - option: 'u16'; - }; + "name": "baseTokenIndexOpt", + "type": { + "option": "u16" + } }, { - name: 'baseTokenDecimalsOpt'; - type: { - option: 'u8'; - }; + "name": "baseTokenDecimalsOpt", + "type": { + "option": "u8" + } }, { - name: 'maintAssetWeightOpt'; - type: { - option: 'f32'; - }; + "name": "maintAssetWeightOpt", + "type": { + "option": "f32" + } }, { - name: 'initAssetWeightOpt'; - type: { - option: 'f32'; - }; + "name": "initAssetWeightOpt", + "type": { + "option": "f32" + } }, { - name: 'maintLiabWeightOpt'; - type: { - option: 'f32'; - }; + "name": "maintLiabWeightOpt", + "type": { + "option": "f32" + } }, { - name: 'initLiabWeightOpt'; - type: { - option: 'f32'; - }; + "name": "initLiabWeightOpt", + "type": { + "option": "f32" + } }, { - name: 'liquidationFeeOpt'; - type: { - option: 'f32'; - }; + "name": "liquidationFeeOpt", + "type": { + "option": "f32" + } }, { - name: 'makerFeeOpt'; - type: { - option: 'f32'; - }; + "name": "makerFeeOpt", + "type": { + "option": "f32" + } }, { - name: 'takerFeeOpt'; - type: { - option: 'f32'; - }; + "name": "takerFeeOpt", + "type": { + "option": "f32" + } }, { - name: 'minFundingOpt'; - type: { - option: 'f32'; - }; + "name": "minFundingOpt", + "type": { + "option": "f32" + } }, { - name: 'maxFundingOpt'; - type: { - option: 'f32'; - }; + "name": "maxFundingOpt", + "type": { + "option": "f32" + } }, { - name: 'impactQuantityOpt'; - type: { - option: 'i64'; - }; - }, - ]; + "name": "impactQuantityOpt", + "type": { + "option": "i64" + } + } + ] }, { - name: 'perpCloseMarket'; - accounts: [ + "name": "perpCloseMarket", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'admin'; - isMut: false; - isSigner: true; + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'perpMarket'; - isMut: true; - isSigner: false; + "name": "perpMarket", + "isMut": true, + "isSigner": false }, { - name: 'bids'; - isMut: true; - isSigner: false; + "name": "bids", + "isMut": true, + "isSigner": false }, { - name: 'asks'; - isMut: true; - isSigner: false; + "name": "asks", + "isMut": true, + "isSigner": false }, { - name: 'eventQueue'; - isMut: true; - isSigner: false; + "name": "eventQueue", + "isMut": true, + "isSigner": false }, { - name: 'solDestination'; - isMut: true; - isSigner: false; + "name": "solDestination", + "isMut": true, + "isSigner": false }, { - name: 'tokenProgram'; - isMut: false; - isSigner: false; - }, - ]; - args: []; + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [] }, { - name: 'perpPlaceOrder'; - accounts: [ + "name": "perpPlaceOrder", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account'; - isMut: true; - isSigner: false; + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner'; - isMut: false; - isSigner: true; + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'perpMarket'; - isMut: true; - isSigner: false; + "name": "perpMarket", + "isMut": true, + "isSigner": false }, { - name: 'asks'; - isMut: true; - isSigner: false; + "name": "asks", + "isMut": true, + "isSigner": false }, { - name: 'bids'; - isMut: true; - isSigner: false; + "name": "bids", + "isMut": true, + "isSigner": false }, { - name: 'eventQueue'; - isMut: true; - isSigner: false; + "name": "eventQueue", + "isMut": true, + "isSigner": false }, { - name: 'oracle'; - isMut: false; - isSigner: false; - }, - ]; - args: [ + "name": "oracle", + "isMut": false, + "isSigner": false + } + ], + "args": [ { - name: 'side'; - type: { - defined: 'Side'; - }; + "name": "side", + "type": { + "defined": "Side" + } }, { - name: 'priceLots'; - type: 'i64'; + "name": "priceLots", + "type": "i64" }, { - name: 'maxBaseLots'; - type: 'i64'; + "name": "maxBaseLots", + "type": "i64" }, { - name: 'maxQuoteLots'; - type: 'i64'; + "name": "maxQuoteLots", + "type": "i64" }, { - name: 'clientOrderId'; - type: 'u64'; + "name": "clientOrderId", + "type": "u64" }, { - name: 'orderType'; - type: { - defined: 'OrderType'; - }; + "name": "orderType", + "type": { + "defined": "OrderType" + } }, { - name: 'expiryTimestamp'; - type: 'u64'; + "name": "expiryTimestamp", + "type": "u64" }, { - name: 'limit'; - type: 'u8'; - }, - ]; + "name": "limit", + "type": "u8" + } + ] }, { - name: 'perpCancelOrder'; - accounts: [ + "name": "perpCancelOrder", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account'; - isMut: true; - isSigner: false; + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner'; - isMut: false; - isSigner: true; + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'perpMarket'; - isMut: true; - isSigner: false; + "name": "perpMarket", + "isMut": true, + "isSigner": false }, { - name: 'asks'; - isMut: true; - isSigner: false; + "name": "asks", + "isMut": true, + "isSigner": false }, { - name: 'bids'; - isMut: true; - isSigner: false; - }, - ]; - args: [ + "name": "bids", + "isMut": true, + "isSigner": false + } + ], + "args": [ { - name: 'orderId'; - type: 'i128'; - }, - ]; + "name": "orderId", + "type": "i128" + } + ] }, { - name: 'perpCancelOrderByClientOrderId'; - accounts: [ + "name": "perpCancelOrderByClientOrderId", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account'; - isMut: true; - isSigner: false; + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner'; - isMut: false; - isSigner: true; + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'perpMarket'; - isMut: true; - isSigner: false; + "name": "perpMarket", + "isMut": true, + "isSigner": false }, { - name: 'asks'; - isMut: true; - isSigner: false; + "name": "asks", + "isMut": true, + "isSigner": false }, { - name: 'bids'; - isMut: true; - isSigner: false; - }, - ]; - args: [ + "name": "bids", + "isMut": true, + "isSigner": false + } + ], + "args": [ { - name: 'clientOrderId'; - type: 'u64'; - }, - ]; + "name": "clientOrderId", + "type": "u64" + } + ] }, { - name: 'perpCancelAllOrders'; - accounts: [ + "name": "perpCancelAllOrders", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account'; - isMut: true; - isSigner: false; + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner'; - isMut: false; - isSigner: true; + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'perpMarket'; - isMut: true; - isSigner: false; + "name": "perpMarket", + "isMut": true, + "isSigner": false }, { - name: 'asks'; - isMut: true; - isSigner: false; + "name": "asks", + "isMut": true, + "isSigner": false }, { - name: 'bids'; - isMut: true; - isSigner: false; - }, - ]; - args: [ + "name": "bids", + "isMut": true, + "isSigner": false + } + ], + "args": [ { - name: 'limit'; - type: 'u8'; - }, - ]; + "name": "limit", + "type": "u8" + } + ] }, { - name: 'perpCancelAllOrdersBySide'; - accounts: [ + "name": "perpCancelAllOrdersBySide", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account'; - isMut: true; - isSigner: false; + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner'; - isMut: false; - isSigner: true; + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'perpMarket'; - isMut: true; - isSigner: false; + "name": "perpMarket", + "isMut": true, + "isSigner": false }, { - name: 'asks'; - isMut: true; - isSigner: false; + "name": "asks", + "isMut": true, + "isSigner": false }, { - name: 'bids'; - isMut: true; - isSigner: false; - }, - ]; - args: [ + "name": "bids", + "isMut": true, + "isSigner": false + } + ], + "args": [ { - name: 'sideOption'; - type: { - option: { - defined: 'Side'; - }; - }; + "name": "sideOption", + "type": { + "option": { + "defined": "Side" + } + } }, { - name: 'limit'; - type: 'u8'; - }, - ]; + "name": "limit", + "type": "u8" + } + ] }, { - name: 'perpConsumeEvents'; - accounts: [ + "name": "perpConsumeEvents", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'perpMarket'; - isMut: true; - isSigner: false; + "name": "perpMarket", + "isMut": true, + "isSigner": false }, { - name: 'eventQueue'; - isMut: true; - isSigner: false; - }, - ]; - args: [ + "name": "eventQueue", + "isMut": true, + "isSigner": false + } + ], + "args": [ { - name: 'limit'; - type: 'u64'; - }, - ]; + "name": "limit", + "type": "u64" + } + ] }, { - name: 'perpUpdateFunding'; - accounts: [ + "name": "perpUpdateFunding", + "accounts": [ { - name: 'perpMarket'; - isMut: true; - isSigner: false; + "name": "perpMarket", + "isMut": true, + "isSigner": false }, { - name: 'asks'; - isMut: true; - isSigner: false; + "name": "asks", + "isMut": true, + "isSigner": false }, { - name: 'bids'; - isMut: true; - isSigner: false; + "name": "bids", + "isMut": true, + "isSigner": false }, { - name: 'oracle'; - isMut: false; - isSigner: false; - }, - ]; - args: []; + "name": "oracle", + "isMut": false, + "isSigner": false + } + ], + "args": [] }, { - name: 'computeAccountData'; - accounts: [ + "name": "computeAccountData", + "accounts": [ { - name: 'group'; - isMut: false; - isSigner: false; + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account'; - isMut: false; - isSigner: false; - }, - ]; - args: []; + "name": "account", + "isMut": false, + "isSigner": false + } + ], + "args": [] }, { - name: 'benchmark'; - accounts: []; - args: []; - }, - ]; - accounts: [ + "name": "benchmark", + "accounts": [], + "args": [] + } + ], + "accounts": [ { - name: 'bank'; - type: { - kind: 'struct'; - fields: [ + "name": "bank", + "type": { + "kind": "struct", + "fields": [ { - name: 'group'; - type: 'publicKey'; + "name": "group", + "type": "publicKey" }, { - name: 'name'; - type: { - array: ['u8', 16]; - }; + "name": "name", + "type": { + "array": [ + "u8", + 16 + ] + } }, { - name: 'mint'; - type: 'publicKey'; + "name": "mint", + "type": "publicKey" }, { - name: 'vault'; - type: 'publicKey'; + "name": "vault", + "type": "publicKey" }, { - name: 'oracle'; - type: 'publicKey'; + "name": "oracle", + "type": "publicKey" }, { - name: 'oracleConfig'; - type: { - defined: 'OracleConfig'; - }; + "name": "oracleConfig", + "type": { + "defined": "OracleConfig" + } }, { - name: 'depositIndex'; - type: { - defined: 'I80F48'; - }; + "name": "depositIndex", + "type": { + "defined": "I80F48" + } }, { - name: 'borrowIndex'; - type: { - defined: 'I80F48'; - }; + "name": "borrowIndex", + "type": { + "defined": "I80F48" + } }, { - name: 'cachedIndexedTotalDeposits'; - type: { - defined: 'I80F48'; - }; + "name": "cachedIndexedTotalDeposits", + "type": { + "defined": "I80F48" + } }, { - name: 'cachedIndexedTotalBorrows'; - type: { - defined: 'I80F48'; - }; + "name": "cachedIndexedTotalBorrows", + "type": { + "defined": "I80F48" + } }, { - name: 'indexedDeposits'; - type: { - defined: 'I80F48'; - }; + "name": "indexedDeposits", + "type": { + "defined": "I80F48" + } }, { - name: 'indexedBorrows'; - type: { - defined: 'I80F48'; - }; + "name": "indexedBorrows", + "type": { + "defined": "I80F48" + } }, { - name: 'indexLastUpdated'; - type: 'i64'; + "name": "indexLastUpdated", + "type": "i64" }, { - name: 'bankRateLastUpdated'; - type: 'i64'; + "name": "bankRateLastUpdated", + "type": "i64" }, { - name: 'avgUtilization'; - type: { - defined: 'I80F48'; - }; + "name": "avgUtilization", + "type": { + "defined": "I80F48" + } }, { - name: 'adjustmentFactor'; - type: { - defined: 'I80F48'; - }; + "name": "adjustmentFactor", + "type": { + "defined": "I80F48" + } }, { - name: 'util0'; - type: { - defined: 'I80F48'; - }; + "name": "util0", + "type": { + "defined": "I80F48" + } }, { - name: 'rate0'; - type: { - defined: 'I80F48'; - }; + "name": "rate0", + "type": { + "defined": "I80F48" + } }, { - name: 'util1'; - type: { - defined: 'I80F48'; - }; + "name": "util1", + "type": { + "defined": "I80F48" + } }, { - name: 'rate1'; - type: { - defined: 'I80F48'; - }; + "name": "rate1", + "type": { + "defined": "I80F48" + } }, { - name: 'maxRate'; - type: { - defined: 'I80F48'; - }; + "name": "maxRate", + "type": { + "defined": "I80F48" + } }, { - name: 'collectedFeesNative'; - type: { - defined: 'I80F48'; - }; + "name": "collectedFeesNative", + "type": { + "defined": "I80F48" + } }, { - name: 'loanOriginationFeeRate'; - type: { - defined: 'I80F48'; - }; + "name": "loanOriginationFeeRate", + "type": { + "defined": "I80F48" + } }, { - name: 'loanFeeRate'; - type: { - defined: 'I80F48'; - }; + "name": "loanFeeRate", + "type": { + "defined": "I80F48" + } }, { - name: 'maintAssetWeight'; - type: { - defined: 'I80F48'; - }; + "name": "maintAssetWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'initAssetWeight'; - type: { - defined: 'I80F48'; - }; + "name": "initAssetWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'maintLiabWeight'; - type: { - defined: 'I80F48'; - }; + "name": "maintLiabWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'initLiabWeight'; - type: { - defined: 'I80F48'; - }; + "name": "initLiabWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'liquidationFee'; - type: { - defined: 'I80F48'; - }; + "name": "liquidationFee", + "type": { + "defined": "I80F48" + } }, { - name: 'dust'; - type: { - defined: 'I80F48'; - }; + "name": "dust", + "type": { + "defined": "I80F48" + } }, { - name: 'flashLoanVaultInitial'; - type: 'u64'; + "name": "flashLoanVaultInitial", + "type": "u64" }, { - name: 'flashLoanApprovedAmount'; - type: 'u64'; + "name": "flashLoanApprovedAmount", + "type": "u64" }, { - name: 'tokenIndex'; - type: 'u16'; + "name": "tokenIndex", + "type": "u16" }, { - name: 'bump'; - type: 'u8'; + "name": "bump", + "type": "u8" }, { - name: 'mintDecimals'; - type: 'u8'; + "name": "mintDecimals", + "type": "u8" }, { - name: 'reserved'; - type: { - array: ['u8', 4]; - }; + "name": "reserved", + "type": { + "array": [ + "u8", + 4 + ] + } }, { - name: 'bankNum'; - type: 'u64'; - }, - ]; - }; + "name": "bankNum", + "type": "u64" + } + ] + } }, { - name: 'group'; - type: { - kind: 'struct'; - fields: [ + "name": "group", + "type": { + "kind": "struct", + "fields": [ { - name: 'admin'; - type: 'publicKey'; + "name": "admin", + "type": "publicKey" }, { - name: 'groupNum'; - type: 'u32'; + "name": "groupNum", + "type": "u32" }, { - name: 'padding'; - type: { - array: ['u8', 4]; - }; + "name": "padding", + "type": { + "array": [ + "u8", + 4 + ] + } }, { - name: 'insuranceVault'; - type: 'publicKey'; + "name": "insuranceVault", + "type": "publicKey" }, { - name: 'insuranceMint'; - type: 'publicKey'; + "name": "insuranceMint", + "type": "publicKey" }, { - name: 'bump'; - type: 'u8'; + "name": "bump", + "type": "u8" }, { - name: 'testing'; - type: 'u8'; + "name": "testing", + "type": "u8" }, { - name: 'padding2'; - type: { - array: ['u8', 6]; - }; + "name": "padding2", + "type": { + "array": [ + "u8", + 6 + ] + } }, { - name: 'reserved'; - type: { - array: ['u8', 8]; - }; - }, - ]; - }; + "name": "reserved", + "type": { + "array": [ + "u8", + 8 + ] + } + } + ] + } }, { - name: 'mangoAccount'; - type: { - kind: 'struct'; - fields: [ + "name": "mangoAccount", + "type": { + "kind": "struct", + "fields": [ { - name: 'group'; - type: 'publicKey'; + "name": "group", + "type": "publicKey" }, { - name: 'owner'; - type: 'publicKey'; + "name": "owner", + "type": "publicKey" }, { - name: 'name'; - type: { - array: ['u8', 32]; - }; + "name": "name", + "type": { + "array": [ + "u8", + 32 + ] + } }, { - name: 'delegate'; - type: 'publicKey'; + "name": "delegate", + "type": "publicKey" }, { - name: 'tokens'; - type: { - defined: 'MangoAccountTokenPositions'; - }; + "name": "tokens", + "type": { + "defined": "MangoAccountTokenPositions" + } }, { - name: 'serum3'; - type: { - defined: 'MangoAccountSerum3Orders'; - }; + "name": "serum3", + "type": { + "defined": "MangoAccountSerum3Orders" + } }, { - name: 'perps'; - type: { - defined: 'MangoAccountPerpPositions'; - }; + "name": "perps", + "type": { + "defined": "MangoAccountPerpPositions" + } }, { - name: 'beingLiquidated'; - type: 'u8'; + "name": "beingLiquidated", + "type": "u8" }, { - name: 'isBankrupt'; - type: 'u8'; + "name": "isBankrupt", + "type": "u8" }, { - name: 'accountNum'; - type: 'u8'; + "name": "accountNum", + "type": "u8" }, { - name: 'bump'; - type: 'u8'; + "name": "bump", + "type": "u8" }, { - name: 'reserved'; - type: { - array: ['u8', 4]; - }; + "name": "reserved", + "type": { + "array": [ + "u8", + 4 + ] + } }, { - name: 'netDeposits'; - type: 'f32'; + "name": "netDeposits", + "type": "f32" }, { - name: 'netSettled'; - type: 'f32'; - }, - ]; - }; + "name": "netSettled", + "type": "f32" + } + ] + } }, { - name: 'mintInfo'; - type: { - kind: 'struct'; - fields: [ + "name": "mintInfo", + "type": { + "kind": "struct", + "fields": [ { - name: 'group'; - type: 'publicKey'; + "name": "group", + "type": "publicKey" }, { - name: 'tokenIndex'; - type: 'u16'; + "name": "tokenIndex", + "type": "u16" }, { - name: 'padding'; - type: { - array: ['u8', 6]; - }; + "name": "padding", + "type": { + "array": [ + "u8", + 6 + ] + } }, { - name: 'mint'; - type: 'publicKey'; + "name": "mint", + "type": "publicKey" }, { - name: 'banks'; - type: { - array: ['publicKey', 6]; - }; + "name": "banks", + "type": { + "array": [ + "publicKey", + 6 + ] + } }, { - name: 'vaults'; - type: { - array: ['publicKey', 6]; - }; + "name": "vaults", + "type": { + "array": [ + "publicKey", + 6 + ] + } }, { - name: 'oracle'; - type: 'publicKey'; + "name": "oracle", + "type": "publicKey" }, { - name: 'addressLookupTable'; - type: 'publicKey'; + "name": "addressLookupTable", + "type": "publicKey" }, { - name: 'addressLookupTableBankIndex'; - type: 'u8'; + "name": "addressLookupTableBankIndex", + "type": "u8" }, { - name: 'addressLookupTableOracleIndex'; - type: 'u8'; + "name": "addressLookupTableOracleIndex", + "type": "u8" }, { - name: 'reserved'; - type: { - array: ['u8', 6]; - }; - }, - ]; - }; + "name": "reserved", + "type": { + "array": [ + "u8", + 6 + ] + } + } + ] + } }, { - name: 'stubOracle'; - type: { - kind: 'struct'; - fields: [ + "name": "stubOracle", + "type": { + "kind": "struct", + "fields": [ { - name: 'group'; - type: 'publicKey'; + "name": "group", + "type": "publicKey" }, { - name: 'mint'; - type: 'publicKey'; + "name": "mint", + "type": "publicKey" }, { - name: 'price'; - type: { - defined: 'I80F48'; - }; + "name": "price", + "type": { + "defined": "I80F48" + } }, { - name: 'lastUpdated'; - type: 'i64'; + "name": "lastUpdated", + "type": "i64" }, { - name: 'reserved'; - type: { - array: ['u8', 8]; - }; - }, - ]; - }; + "name": "reserved", + "type": { + "array": [ + "u8", + 8 + ] + } + } + ] + } }, { - name: 'bookSide'; - type: { - kind: 'struct'; - fields: [ + "name": "bookSide", + "type": { + "kind": "struct", + "fields": [ { - name: 'bookSideType'; - type: { - defined: 'BookSideType'; - }; + "name": "bookSideType", + "type": { + "defined": "BookSideType" + } }, { - name: 'padding'; - type: { - array: ['u8', 3]; - }; + "name": "padding", + "type": { + "array": [ + "u8", + 3 + ] + } }, { - name: 'bumpIndex'; - type: 'u32'; + "name": "bumpIndex", + "type": "u32" }, { - name: 'freeListLen'; - type: 'u32'; + "name": "freeListLen", + "type": "u32" }, { - name: 'freeListHead'; - type: 'u32'; + "name": "freeListHead", + "type": "u32" }, { - name: 'rootNode'; - type: 'u32'; + "name": "rootNode", + "type": "u32" }, { - name: 'leafCount'; - type: 'u32'; + "name": "leafCount", + "type": "u32" }, { - name: 'nodes'; - type: { - array: [ + "name": "nodes", + "type": { + "array": [ { - defined: 'AnyNode'; + "defined": "AnyNode" }, - 1024, - ]; - }; - }, - ]; - }; + 1024 + ] + } + } + ] + } }, { - name: 'eventQueue'; - type: { - kind: 'struct'; - fields: [ + "name": "eventQueue", + "type": { + "kind": "struct", + "fields": [ { - name: 'header'; - type: { - defined: 'EventQueueHeader'; - }; + "name": "header", + "type": { + "defined": "EventQueueHeader" + } }, { - name: 'buf'; - type: { - array: [ + "name": "buf", + "type": { + "array": [ { - defined: 'AnyEvent'; + "defined": "AnyEvent" }, - 512, - ]; - }; - }, - ]; - }; + 512 + ] + } + } + ] + } }, { - name: 'perpMarket'; - type: { - kind: 'struct'; - fields: [ + "name": "perpMarket", + "type": { + "kind": "struct", + "fields": [ { - name: 'group'; - type: 'publicKey'; + "name": "group", + "type": "publicKey" }, { - name: 'baseTokenIndex'; - type: 'u16'; + "name": "baseTokenIndex", + "type": "u16" }, { - name: 'perpMarketIndex'; - type: 'u16'; + "name": "perpMarketIndex", + "type": "u16" }, { - name: 'padding'; - type: { - array: ['u8', 4]; - }; + "name": "padding", + "type": { + "array": [ + "u8", + 4 + ] + } }, { - name: 'name'; - type: { - array: ['u8', 16]; - }; + "name": "name", + "type": { + "array": [ + "u8", + 16 + ] + } }, { - name: 'oracle'; - type: 'publicKey'; + "name": "oracle", + "type": "publicKey" }, { - name: 'oracleConfig'; - type: { - defined: 'OracleConfig'; - }; + "name": "oracleConfig", + "type": { + "defined": "OracleConfig" + } }, { - name: 'bids'; - type: 'publicKey'; + "name": "bids", + "type": "publicKey" }, { - name: 'asks'; - type: 'publicKey'; + "name": "asks", + "type": "publicKey" }, { - name: 'eventQueue'; - type: 'publicKey'; + "name": "eventQueue", + "type": "publicKey" }, { - name: 'quoteLotSize'; - type: 'i64'; + "name": "quoteLotSize", + "type": "i64" }, { - name: 'baseLotSize'; - type: 'i64'; + "name": "baseLotSize", + "type": "i64" }, { - name: 'maintAssetWeight'; - type: { - defined: 'I80F48'; - }; + "name": "maintAssetWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'initAssetWeight'; - type: { - defined: 'I80F48'; - }; + "name": "initAssetWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'maintLiabWeight'; - type: { - defined: 'I80F48'; - }; + "name": "maintLiabWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'initLiabWeight'; - type: { - defined: 'I80F48'; - }; + "name": "initLiabWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'liquidationFee'; - type: { - defined: 'I80F48'; - }; + "name": "liquidationFee", + "type": { + "defined": "I80F48" + } }, { - name: 'makerFee'; - type: { - defined: 'I80F48'; - }; + "name": "makerFee", + "type": { + "defined": "I80F48" + } }, { - name: 'takerFee'; - type: { - defined: 'I80F48'; - }; + "name": "takerFee", + "type": { + "defined": "I80F48" + } }, { - name: 'minFunding'; - type: { - defined: 'I80F48'; - }; + "name": "minFunding", + "type": { + "defined": "I80F48" + } }, { - name: 'maxFunding'; - type: { - defined: 'I80F48'; - }; + "name": "maxFunding", + "type": { + "defined": "I80F48" + } }, { - name: 'impactQuantity'; - type: 'i64'; + "name": "impactQuantity", + "type": "i64" }, { - name: 'longFunding'; - type: { - defined: 'I80F48'; - }; + "name": "longFunding", + "type": { + "defined": "I80F48" + } }, { - name: 'shortFunding'; - type: { - defined: 'I80F48'; - }; + "name": "shortFunding", + "type": { + "defined": "I80F48" + } }, { - name: 'fundingLastUpdated'; - type: 'i64'; + "name": "fundingLastUpdated", + "type": "i64" }, { - name: 'openInterest'; - type: 'i64'; + "name": "openInterest", + "type": "i64" }, { - name: 'seqNum'; - type: 'u64'; + "name": "seqNum", + "type": "u64" }, { - name: 'feesAccrued'; - type: { - defined: 'I80F48'; - }; + "name": "feesAccrued", + "type": { + "defined": "I80F48" + } }, { - name: 'bump'; - type: 'u8'; + "name": "bump", + "type": "u8" }, { - name: 'baseTokenDecimals'; - type: 'u8'; + "name": "baseTokenDecimals", + "type": "u8" }, { - name: 'reserved'; - type: { - array: ['u8', 6]; - }; - }, - ]; - }; + "name": "reserved", + "type": { + "array": [ + "u8", + 6 + ] + } + } + ] + } }, { - name: 'serum3Market'; - type: { - kind: 'struct'; - fields: [ + "name": "serum3Market", + "type": { + "kind": "struct", + "fields": [ { - name: 'group'; - type: 'publicKey'; + "name": "group", + "type": "publicKey" }, { - name: 'baseTokenIndex'; - type: 'u16'; + "name": "baseTokenIndex", + "type": "u16" }, { - name: 'quoteTokenIndex'; - type: 'u16'; + "name": "quoteTokenIndex", + "type": "u16" }, { - name: 'padding'; - type: { - array: ['u8', 4]; - }; + "name": "padding", + "type": { + "array": [ + "u8", + 4 + ] + } }, { - name: 'name'; - type: { - array: ['u8', 16]; - }; + "name": "name", + "type": { + "array": [ + "u8", + 16 + ] + } }, { - name: 'serumProgram'; - type: 'publicKey'; + "name": "serumProgram", + "type": "publicKey" }, { - name: 'serumMarketExternal'; - type: 'publicKey'; + "name": "serumMarketExternal", + "type": "publicKey" }, { - name: 'marketIndex'; - type: 'u16'; + "name": "marketIndex", + "type": "u16" }, { - name: 'bump'; - type: 'u8'; + "name": "bump", + "type": "u8" }, { - name: 'reserved'; - type: { - array: ['u8', 5]; - }; - }, - ]; - }; - }, - ]; - types: [ + "name": "reserved", + "type": { + "array": [ + "u8", + 5 + ] + } + } + ] + } + } + ], + "types": [ { - name: 'Equity'; - type: { - kind: 'struct'; - fields: [ + "name": "Equity", + "type": { + "kind": "struct", + "fields": [ { - name: 'tokens'; - type: { - vec: { - defined: 'TokenEquity'; - }; - }; + "name": "tokens", + "type": { + "vec": { + "defined": "TokenEquity" + } + } }, { - name: 'perps'; - type: { - vec: { - defined: 'PerpEquity'; - }; - }; - }, - ]; - }; + "name": "perps", + "type": { + "vec": { + "defined": "PerpEquity" + } + } + } + ] + } }, { - name: 'TokenEquity'; - type: { - kind: 'struct'; - fields: [ + "name": "TokenEquity", + "type": { + "kind": "struct", + "fields": [ { - name: 'tokenIndex'; - type: 'u16'; + "name": "tokenIndex", + "type": "u16" }, { - name: 'value'; - type: { - defined: 'I80F48'; - }; - }, - ]; - }; + "name": "value", + "type": { + "defined": "I80F48" + } + } + ] + } }, { - name: 'PerpEquity'; - type: { - kind: 'struct'; - fields: [ + "name": "PerpEquity", + "type": { + "kind": "struct", + "fields": [ { - name: 'perpMarketIndex'; - type: 'u16'; + "name": "perpMarketIndex", + "type": "u16" }, { - name: 'value'; - type: { - defined: 'I80F48'; - }; - }, - ]; - }; + "name": "value", + "type": { + "defined": "I80F48" + } + } + ] + } }, { - name: 'FlashLoanWithdraw'; - type: { - kind: 'struct'; - fields: [ + "name": "FlashLoanWithdraw", + "type": { + "kind": "struct", + "fields": [ { - name: 'index'; - type: 'u8'; + "name": "index", + "type": "u8" }, { - name: 'amount'; - type: 'u64'; - }, - ]; - }; + "name": "amount", + "type": "u64" + } + ] + } }, { - name: 'CpiData'; - type: { - kind: 'struct'; - fields: [ + "name": "CpiData", + "type": { + "kind": "struct", + "fields": [ { - name: 'accountStart'; - type: 'u8'; + "name": "accountStart", + "type": "u8" }, { - name: 'data'; - type: 'bytes'; - }, - ]; - }; + "name": "data", + "type": "bytes" + } + ] + } }, { - name: 'InterestRateParams'; - type: { - kind: 'struct'; - fields: [ + "name": "InterestRateParams", + "type": { + "kind": "struct", + "fields": [ { - name: 'util0'; - type: 'f32'; + "name": "util0", + "type": "f32" }, { - name: 'rate0'; - type: 'f32'; + "name": "rate0", + "type": "f32" }, { - name: 'util1'; - type: 'f32'; + "name": "util1", + "type": "f32" }, { - name: 'rate1'; - type: 'f32'; + "name": "rate1", + "type": "f32" }, { - name: 'maxRate'; - type: 'f32'; + "name": "maxRate", + "type": "f32" }, { - name: 'adjustmentFactor'; - type: 'f32'; - }, - ]; - }; + "name": "adjustmentFactor", + "type": "f32" + } + ] + } }, { - name: 'FlashLoanTokenDetail'; - type: { - kind: 'struct'; - fields: [ + "name": "FlashLoanTokenDetail", + "type": { + "kind": "struct", + "fields": [ { - name: 'tokenIndex'; - type: 'u16'; + "name": "tokenIndex", + "type": "u16" }, { - name: 'changeAmount'; - type: 'i128'; + "name": "changeAmount", + "type": "i128" }, { - name: 'loan'; - type: 'i128'; + "name": "loan", + "type": "i128" }, { - name: 'loanOriginationFee'; - type: 'i128'; + "name": "loanOriginationFee", + "type": "i128" }, { - name: 'depositIndex'; - type: 'i128'; + "name": "depositIndex", + "type": "i128" }, { - name: 'borrowIndex'; - type: 'i128'; + "name": "borrowIndex", + "type": "i128" }, { - name: 'price'; - type: 'i128'; - }, - ]; - }; + "name": "price", + "type": "i128" + } + ] + } }, { - name: 'TokenInfo'; - type: { - kind: 'struct'; - fields: [ + "name": "TokenInfo", + "type": { + "kind": "struct", + "fields": [ { - name: 'tokenIndex'; - type: 'u16'; + "name": "tokenIndex", + "type": "u16" }, { - name: 'maintAssetWeight'; - type: { - defined: 'I80F48'; - }; + "name": "maintAssetWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'initAssetWeight'; - type: { - defined: 'I80F48'; - }; + "name": "initAssetWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'maintLiabWeight'; - type: { - defined: 'I80F48'; - }; + "name": "maintLiabWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'initLiabWeight'; - type: { - defined: 'I80F48'; - }; + "name": "initLiabWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'oraclePrice'; - type: { - defined: 'I80F48'; - }; + "name": "oraclePrice", + "type": { + "defined": "I80F48" + } }, { - name: 'balance'; - type: { - defined: 'I80F48'; - }; + "name": "balance", + "type": { + "defined": "I80F48" + } }, { - name: 'serum3MaxReserved'; - type: { - defined: 'I80F48'; - }; - }, - ]; - }; + "name": "serum3MaxReserved", + "type": { + "defined": "I80F48" + } + } + ] + } }, { - name: 'Serum3Info'; - type: { - kind: 'struct'; - fields: [ + "name": "Serum3Info", + "type": { + "kind": "struct", + "fields": [ { - name: 'reserved'; - type: { - defined: 'I80F48'; - }; + "name": "reserved", + "type": { + "defined": "I80F48" + } }, { - name: 'baseIndex'; - type: 'u64'; + "name": "baseIndex", + "type": "u64" }, { - name: 'quoteIndex'; - type: 'u64'; - }, - ]; - }; + "name": "quoteIndex", + "type": "u64" + } + ] + } }, { - name: 'PerpInfo'; - type: { - kind: 'struct'; - fields: [ + "name": "PerpInfo", + "type": { + "kind": "struct", + "fields": [ { - name: 'maintAssetWeight'; - type: { - defined: 'I80F48'; - }; + "name": "maintAssetWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'initAssetWeight'; - type: { - defined: 'I80F48'; - }; + "name": "initAssetWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'maintLiabWeight'; - type: { - defined: 'I80F48'; - }; + "name": "maintLiabWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'initLiabWeight'; - type: { - defined: 'I80F48'; - }; + "name": "initLiabWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'base'; - type: { - defined: 'I80F48'; - }; + "name": "base", + "type": { + "defined": "I80F48" + } }, { - name: 'quote'; - type: { - defined: 'I80F48'; - }; - }, - ]; - }; + "name": "quote", + "type": { + "defined": "I80F48" + } + } + ] + } }, { - name: 'HealthCache'; - type: { - kind: 'struct'; - fields: [ + "name": "HealthCache", + "type": { + "kind": "struct", + "fields": [ { - name: 'tokenInfos'; - type: { - vec: { - defined: 'TokenInfo'; - }; - }; + "name": "tokenInfos", + "type": { + "vec": { + "defined": "TokenInfo" + } + } }, { - name: 'serum3Infos'; - type: { - vec: { - defined: 'Serum3Info'; - }; - }; + "name": "serum3Infos", + "type": { + "vec": { + "defined": "Serum3Info" + } + } }, { - name: 'perpInfos'; - type: { - vec: { - defined: 'PerpInfo'; - }; - }; - }, - ]; - }; + "name": "perpInfos", + "type": { + "vec": { + "defined": "PerpInfo" + } + } + } + ] + } }, { - name: 'TokenPosition'; - type: { - kind: 'struct'; - fields: [ + "name": "TokenPosition", + "type": { + "kind": "struct", + "fields": [ { - name: 'indexedPosition'; - type: { - defined: 'I80F48'; - }; + "name": "indexedPosition", + "type": { + "defined": "I80F48" + } }, { - name: 'tokenIndex'; - type: 'u16'; + "name": "tokenIndex", + "type": "u16" }, { - name: 'inUseCount'; - type: 'u8'; + "name": "inUseCount", + "type": "u8" }, { - name: 'reserved'; - type: { - array: ['u8', 5]; - }; - }, - ]; - }; + "name": "reserved", + "type": { + "array": [ + "u8", + 5 + ] + } + } + ] + } }, { - name: 'MangoAccountTokenPositions'; - type: { - kind: 'struct'; - fields: [ + "name": "MangoAccountTokenPositions", + "type": { + "kind": "struct", + "fields": [ { - name: 'values'; - type: { - array: [ + "name": "values", + "type": { + "array": [ { - defined: 'TokenPosition'; + "defined": "TokenPosition" }, - 16, - ]; - }; - }, - ]; - }; + 16 + ] + } + } + ] + } }, { - name: 'Serum3Orders'; - type: { - kind: 'struct'; - fields: [ + "name": "Serum3Orders", + "type": { + "kind": "struct", + "fields": [ { - name: 'openOrders'; - type: 'publicKey'; + "name": "openOrders", + "type": "publicKey" }, { - name: 'previousNativeCoinReserved'; - type: 'u64'; + "name": "previousNativeCoinReserved", + "type": "u64" }, { - name: 'previousNativePcReserved'; - type: 'u64'; + "name": "previousNativePcReserved", + "type": "u64" }, { - name: 'marketIndex'; - type: 'u16'; + "name": "marketIndex", + "type": "u16" }, { - name: 'baseTokenIndex'; - type: 'u16'; + "name": "baseTokenIndex", + "type": "u16" }, { - name: 'quoteTokenIndex'; - type: 'u16'; + "name": "quoteTokenIndex", + "type": "u16" }, { - name: 'reserved'; - type: { - array: ['u8', 2]; - }; - }, - ]; - }; + "name": "reserved", + "type": { + "array": [ + "u8", + 2 + ] + } + } + ] + } }, { - name: 'MangoAccountSerum3Orders'; - type: { - kind: 'struct'; - fields: [ + "name": "MangoAccountSerum3Orders", + "type": { + "kind": "struct", + "fields": [ { - name: 'values'; - type: { - array: [ + "name": "values", + "type": { + "array": [ { - defined: 'Serum3Orders'; + "defined": "Serum3Orders" }, - 8, - ]; - }; - }, - ]; - }; + 8 + ] + } + } + ] + } }, { - name: 'PerpPositions'; - type: { - kind: 'struct'; - fields: [ + "name": "PerpPositions", + "type": { + "kind": "struct", + "fields": [ { - name: 'marketIndex'; - type: 'u16'; + "name": "marketIndex", + "type": "u16" }, { - name: 'reserved'; - type: { - array: ['u8', 6]; - }; + "name": "reserved", + "type": { + "array": [ + "u8", + 6 + ] + } }, { - name: 'basePositionLots'; - type: 'i64'; + "name": "basePositionLots", + "type": "i64" }, { - name: 'quotePositionNative'; - type: { - defined: 'I80F48'; - }; + "name": "quotePositionNative", + "type": { + "defined": "I80F48" + } }, { - name: 'longSettledFunding'; - type: { - defined: 'I80F48'; - }; + "name": "longSettledFunding", + "type": { + "defined": "I80F48" + } }, { - name: 'shortSettledFunding'; - type: { - defined: 'I80F48'; - }; + "name": "shortSettledFunding", + "type": { + "defined": "I80F48" + } }, { - name: 'bidsBaseLots'; - type: 'i64'; + "name": "bidsBaseLots", + "type": "i64" }, { - name: 'asksBaseLots'; - type: 'i64'; + "name": "asksBaseLots", + "type": "i64" }, { - name: 'takerBaseLots'; - type: 'i64'; + "name": "takerBaseLots", + "type": "i64" }, { - name: 'takerQuoteLots'; - type: 'i64'; - }, - ]; - }; + "name": "takerQuoteLots", + "type": "i64" + } + ] + } }, { - name: 'MangoAccountPerpPositions'; - type: { - kind: 'struct'; - fields: [ + "name": "MangoAccountPerpPositions", + "type": { + "kind": "struct", + "fields": [ { - name: 'accounts'; - type: { - array: [ + "name": "accounts", + "type": { + "array": [ { - defined: 'PerpPositions'; + "defined": "PerpPositions" }, - 8, - ]; - }; + 8 + ] + } }, { - name: 'orderMarket'; - type: { - array: ['u16', 8]; - }; + "name": "orderMarket", + "type": { + "array": [ + "u16", + 8 + ] + } }, { - name: 'orderSide'; - type: { - array: [ + "name": "orderSide", + "type": { + "array": [ { - defined: 'Side'; + "defined": "Side" }, - 8, - ]; - }; + 8 + ] + } }, { - name: 'orderId'; - type: { - array: ['i128', 8]; - }; + "name": "orderId", + "type": { + "array": [ + "i128", + 8 + ] + } }, { - name: 'clientOrderId'; - type: { - array: ['u64', 8]; - }; - }, - ]; - }; + "name": "clientOrderId", + "type": { + "array": [ + "u64", + 8 + ] + } + } + ] + } }, { - name: 'OracleConfig'; - type: { - kind: 'struct'; - fields: [ + "name": "OracleConfig", + "type": { + "kind": "struct", + "fields": [ { - name: 'confFilter'; - type: { - defined: 'I80F48'; - }; - }, - ]; - }; + "name": "confFilter", + "type": { + "defined": "I80F48" + } + } + ] + } }, { - name: 'AnyNode'; - type: { - kind: 'struct'; - fields: [ + "name": "AnyNode", + "type": { + "kind": "struct", + "fields": [ { - name: 'tag'; - type: 'u32'; + "name": "tag", + "type": "u32" }, { - name: 'data'; - type: { - array: ['u8', 84]; - }; - }, - ]; - }; + "name": "data", + "type": { + "array": [ + "u8", + 84 + ] + } + } + ] + } }, { - name: 'EventQueueHeader'; - type: { - kind: 'struct'; - fields: [ + "name": "EventQueueHeader", + "type": { + "kind": "struct", + "fields": [ { - name: 'head'; - type: 'u32'; + "name": "head", + "type": "u32" }, { - name: 'count'; - type: 'u32'; + "name": "count", + "type": "u32" }, { - name: 'seqNum'; - type: 'u64'; - }, - ]; - }; + "name": "seqNum", + "type": "u64" + } + ] + } }, { - name: 'AnyEvent'; - type: { - kind: 'struct'; - fields: [ + "name": "AnyEvent", + "type": { + "kind": "struct", + "fields": [ { - name: 'eventType'; - type: 'u8'; + "name": "eventType", + "type": "u8" }, { - name: 'padding'; - type: { - array: ['u8', 199]; - }; - }, - ]; - }; + "name": "padding", + "type": { + "array": [ + "u8", + 199 + ] + } + } + ] + } }, { - name: 'TokenIndex'; - type: { - kind: 'struct'; - fields: [ + "name": "TokenIndex", + "type": { + "kind": "struct", + "fields": [ { - name: 'val'; - type: 'u16'; - }, - ]; - }; + "name": "val", + "type": "u16" + } + ] + } }, { - name: 'Serum3MarketIndex'; - type: { - kind: 'struct'; - fields: [ + "name": "Serum3MarketIndex", + "type": { + "kind": "struct", + "fields": [ { - name: 'val'; - type: 'u16'; - }, - ]; - }; + "name": "val", + "type": "u16" + } + ] + } }, { - name: 'PerpMarketIndex'; - type: { - kind: 'struct'; - fields: [ + "name": "PerpMarketIndex", + "type": { + "kind": "struct", + "fields": [ { - name: 'val'; - type: 'u16'; - }, - ]; - }; + "name": "val", + "type": "u16" + } + ] + } }, { - name: 'I80F48'; - type: { - kind: 'struct'; - fields: [ + "name": "I80F48", + "type": { + "kind": "struct", + "fields": [ { - name: 'val'; - type: 'i128'; - }, - ]; - }; + "name": "val", + "type": "i128" + } + ] + } }, { - name: 'ProgramInstruction'; - type: { - kind: 'enum'; - variants: [ + "name": "ProgramInstruction", + "type": { + "kind": "enum", + "variants": [ { - name: 'CreateLookupTable'; - fields: [ + "name": "CreateLookupTable", + "fields": [ { - name: 'recent_slot'; - type: { - defined: 'Slot'; - }; + "name": "recent_slot", + "type": { + "defined": "Slot" + } }, { - name: 'bump_seed'; - type: 'u8'; - }, - ]; + "name": "bump_seed", + "type": "u8" + } + ] }, { - name: 'FreezeLookupTable'; + "name": "FreezeLookupTable" }, { - name: 'ExtendLookupTable'; - fields: [ + "name": "ExtendLookupTable", + "fields": [ { - name: 'new_addresses'; - type: { - vec: 'publicKey'; - }; - }, - ]; + "name": "new_addresses", + "type": { + "vec": "publicKey" + } + } + ] }, { - name: 'DeactivateLookupTable'; + "name": "DeactivateLookupTable" }, { - name: 'CloseLookupTable'; - }, - ]; - }; + "name": "CloseLookupTable" + } + ] + } }, { - name: 'Serum3SelfTradeBehavior'; - type: { - kind: 'enum'; - variants: [ + "name": "Serum3SelfTradeBehavior", + "type": { + "kind": "enum", + "variants": [ { - name: 'DecrementTake'; + "name": "DecrementTake" }, { - name: 'CancelProvide'; + "name": "CancelProvide" }, { - name: 'AbortTransaction'; - }, - ]; - }; + "name": "AbortTransaction" + } + ] + } }, { - name: 'Serum3OrderType'; - type: { - kind: 'enum'; - variants: [ + "name": "Serum3OrderType", + "type": { + "kind": "enum", + "variants": [ { - name: 'Limit'; + "name": "Limit" }, { - name: 'ImmediateOrCancel'; + "name": "ImmediateOrCancel" }, { - name: 'PostOnly'; - }, - ]; - }; + "name": "PostOnly" + } + ] + } }, { - name: 'Serum3Side'; - type: { - kind: 'enum'; - variants: [ + "name": "Serum3Side", + "type": { + "kind": "enum", + "variants": [ { - name: 'Bid'; + "name": "Bid" }, { - name: 'Ask'; - }, - ]; - }; + "name": "Ask" + } + ] + } }, { - name: 'HealthType'; - type: { - kind: 'enum'; - variants: [ + "name": "HealthType", + "type": { + "kind": "enum", + "variants": [ { - name: 'Init'; + "name": "Init" }, { - name: 'Maint'; - }, - ]; - }; + "name": "Maint" + } + ] + } }, { - name: 'OracleType'; - type: { - kind: 'enum'; - variants: [ + "name": "OracleType", + "type": { + "kind": "enum", + "variants": [ { - name: 'Pyth'; + "name": "Pyth" }, { - name: 'Stub'; + "name": "Stub" }, { - name: 'SwitchboardV1'; + "name": "SwitchboardV1" }, { - name: 'SwitchboardV2'; - }, - ]; - }; + "name": "SwitchboardV2" + } + ] + } }, { - name: 'BookSideType'; - type: { - kind: 'enum'; - variants: [ + "name": "BookSideType", + "type": { + "kind": "enum", + "variants": [ { - name: 'Bids'; + "name": "Bids" }, { - name: 'Asks'; - }, - ]; - }; + "name": "Asks" + } + ] + } }, { - name: 'NodeTag'; - type: { - kind: 'enum'; - variants: [ + "name": "NodeTag", + "type": { + "kind": "enum", + "variants": [ { - name: 'Uninitialized'; + "name": "Uninitialized" }, { - name: 'InnerNode'; + "name": "InnerNode" }, { - name: 'LeafNode'; + "name": "LeafNode" }, { - name: 'FreeNode'; + "name": "FreeNode" }, { - name: 'LastFreeNode'; - }, - ]; - }; + "name": "LastFreeNode" + } + ] + } }, { - name: 'NodeRef'; - type: { - kind: 'enum'; - variants: [ + "name": "NodeRef", + "type": { + "kind": "enum", + "variants": [ { - name: 'Inner'; - fields: [ + "name": "Inner", + "fields": [ { - defined: "&'aInnerNode"; - }, - ]; + "defined": "&'aInnerNode" + } + ] }, { - name: 'Leaf'; - fields: [ + "name": "Leaf", + "fields": [ { - defined: "&'aLeafNode"; - }, - ]; - }, - ]; - }; + "defined": "&'aLeafNode" + } + ] + } + ] + } }, { - name: 'NodeRefMut'; - type: { - kind: 'enum'; - variants: [ + "name": "NodeRefMut", + "type": { + "kind": "enum", + "variants": [ { - name: 'Inner'; - fields: [ + "name": "Inner", + "fields": [ { - defined: "&'amutInnerNode"; - }, - ]; + "defined": "&'amutInnerNode" + } + ] }, { - name: 'Leaf'; - fields: [ + "name": "Leaf", + "fields": [ { - defined: "&'amutLeafNode"; - }, - ]; - }, - ]; - }; + "defined": "&'amutLeafNode" + } + ] + } + ] + } }, { - name: 'OrderType'; - type: { - kind: 'enum'; - variants: [ + "name": "OrderType", + "type": { + "kind": "enum", + "variants": [ { - name: 'Limit'; + "name": "Limit" }, { - name: 'ImmediateOrCancel'; + "name": "ImmediateOrCancel" }, { - name: 'PostOnly'; + "name": "PostOnly" }, { - name: 'Market'; + "name": "Market" }, { - name: 'PostOnlySlide'; - }, - ]; - }; + "name": "PostOnlySlide" + } + ] + } }, { - name: 'Side'; - type: { - kind: 'enum'; - variants: [ + "name": "Side", + "type": { + "kind": "enum", + "variants": [ { - name: 'Bid'; + "name": "Bid" }, { - name: 'Ask'; - }, - ]; - }; + "name": "Ask" + } + ] + } }, { - name: 'EventType'; - type: { - kind: 'enum'; - variants: [ + "name": "EventType", + "type": { + "kind": "enum", + "variants": [ { - name: 'Fill'; + "name": "Fill" }, { - name: 'Out'; + "name": "Out" }, { - name: 'Liquidate'; + "name": "Liquidate" + } + ] + } + } + ], + "events": [ + { + "name": "MangoAccountData", + "fields": [ + { + "name": "healthCache", + "type": { + "defined": "HealthCache" }, - ]; - }; - }, - ]; - events: [ - { - name: 'MangoAccountData'; - fields: [ - { - name: 'healthCache'; - type: { - defined: 'HealthCache'; - }; - index: false; + "index": false }, { - name: 'initHealth'; - type: { - defined: 'I80F48'; - }; - index: false; + "name": "initHealth", + "type": { + "defined": "I80F48" + }, + "index": false }, { - name: 'maintHealth'; - type: { - defined: 'I80F48'; - }; - index: false; + "name": "maintHealth", + "type": { + "defined": "I80F48" + }, + "index": false }, { - name: 'equity'; - type: { - defined: 'Equity'; - }; - index: false; - }, - ]; + "name": "equity", + "type": { + "defined": "Equity" + }, + "index": false + } + ] }, { - name: 'PerpBalanceLog'; - fields: [ + "name": "PerpBalanceLog", + "fields": [ { - name: 'mangoAccount'; - type: 'publicKey'; - index: false; + "name": "mangoAccount", + "type": "publicKey", + "index": false }, { - name: 'marketIndex'; - type: 'u64'; - index: false; + "name": "marketIndex", + "type": "u64", + "index": false }, { - name: 'basePosition'; - type: 'i64'; - index: false; + "name": "basePosition", + "type": "i64", + "index": false }, { - name: 'quotePosition'; - type: 'i128'; - index: false; + "name": "quotePosition", + "type": "i128", + "index": false }, { - name: 'longSettledFunding'; - type: 'i128'; - index: false; + "name": "longSettledFunding", + "type": "i128", + "index": false }, { - name: 'shortSettledFunding'; - type: 'i128'; - index: false; + "name": "shortSettledFunding", + "type": "i128", + "index": false }, { - name: 'price'; - type: 'i64'; - index: false; + "name": "price", + "type": "i64", + "index": false }, { - name: 'longFunding'; - type: 'i128'; - index: false; + "name": "longFunding", + "type": "i128", + "index": false }, { - name: 'shortFunding'; - type: 'i128'; - index: false; - }, - ]; + "name": "shortFunding", + "type": "i128", + "index": false + } + ] }, { - name: 'TokenBalanceLog'; - fields: [ + "name": "TokenBalanceLog", + "fields": [ { - name: 'mangoAccount'; - type: 'publicKey'; - index: false; + "name": "mangoAccount", + "type": "publicKey", + "index": false }, { - name: 'tokenIndex'; - type: 'u16'; - index: false; + "name": "tokenIndex", + "type": "u16", + "index": false }, { - name: 'indexedPosition'; - type: 'i128'; - index: false; + "name": "indexedPosition", + "type": "i128", + "index": false }, { - name: 'depositIndex'; - type: 'i128'; - index: false; + "name": "depositIndex", + "type": "i128", + "index": false }, { - name: 'borrowIndex'; - type: 'i128'; - index: false; + "name": "borrowIndex", + "type": "i128", + "index": false }, { - name: 'price'; - type: 'i128'; - index: false; - }, - ]; + "name": "price", + "type": "i128", + "index": false + } + ] }, { - name: 'MarginTradeLog'; - fields: [ + "name": "MarginTradeLog", + "fields": [ { - name: 'mangoAccount'; - type: 'publicKey'; - index: false; + "name": "mangoAccount", + "type": "publicKey", + "index": false }, { - name: 'tokenIndexes'; - type: { - vec: 'u16'; - }; - index: false; + "name": "tokenIndexes", + "type": { + "vec": "u16" + }, + "index": false }, { - name: 'preIndexedPositions'; - type: { - vec: 'i128'; - }; - index: false; + "name": "preIndexedPositions", + "type": { + "vec": "i128" + }, + "index": false }, { - name: 'postIndexedPositions'; - type: { - vec: 'i128'; - }; - index: false; - }, - ]; + "name": "postIndexedPositions", + "type": { + "vec": "i128" + }, + "index": false + } + ] }, { - name: 'FlashLoanLog'; - fields: [ + "name": "FlashLoanLog", + "fields": [ { - name: 'mangoAccount'; - type: 'publicKey'; - index: false; + "name": "mangoAccount", + "type": "publicKey", + "index": false }, { - name: 'tokenLoanDetails'; - type: { - vec: { - defined: 'FlashLoanTokenDetail'; - }; - }; - index: false; - }, - ]; + "name": "tokenLoanDetails", + "type": { + "vec": { + "defined": "FlashLoanTokenDetail" + } + }, + "index": false + } + ] }, { - name: 'WithdrawLog'; - fields: [ + "name": "WithdrawLog", + "fields": [ { - name: 'mangoAccount'; - type: 'publicKey'; - index: false; + "name": "mangoAccount", + "type": "publicKey", + "index": false }, { - name: 'signer'; - type: 'publicKey'; - index: false; + "name": "signer", + "type": "publicKey", + "index": false }, { - name: 'tokenIndex'; - type: 'u16'; - index: false; + "name": "tokenIndex", + "type": "u16", + "index": false }, { - name: 'quantity'; - type: 'u64'; - index: false; + "name": "quantity", + "type": "u64", + "index": false }, { - name: 'price'; - type: 'i128'; - index: false; - }, - ]; + "name": "price", + "type": "i128", + "index": false + } + ] }, { - name: 'DepositLog'; - fields: [ + "name": "DepositLog", + "fields": [ { - name: 'mangoAccount'; - type: 'publicKey'; - index: false; + "name": "mangoAccount", + "type": "publicKey", + "index": false }, { - name: 'signer'; - type: 'publicKey'; - index: false; + "name": "signer", + "type": "publicKey", + "index": false }, { - name: 'tokenIndex'; - type: 'u16'; - index: false; + "name": "tokenIndex", + "type": "u16", + "index": false }, { - name: 'quantity'; - type: 'u64'; - index: false; + "name": "quantity", + "type": "u64", + "index": false }, { - name: 'price'; - type: 'i128'; - index: false; - }, - ]; + "name": "price", + "type": "i128", + "index": false + } + ] }, { - name: 'FillLog'; - fields: [ + "name": "FillLog", + "fields": [ { - name: 'mangoGroup'; - type: 'publicKey'; - index: false; + "name": "mangoGroup", + "type": "publicKey", + "index": false }, { - name: 'marketIndex'; - type: 'u16'; - index: false; + "name": "marketIndex", + "type": "u16", + "index": false }, { - name: 'takerSide'; - type: 'u8'; - index: false; + "name": "takerSide", + "type": "u8", + "index": false }, { - name: 'makerSlot'; - type: 'u8'; - index: false; + "name": "makerSlot", + "type": "u8", + "index": false }, { - name: 'marketFeesApplied'; - type: 'bool'; - index: false; + "name": "marketFeesApplied", + "type": "bool", + "index": false }, { - name: 'makerOut'; - type: 'bool'; - index: false; + "name": "makerOut", + "type": "bool", + "index": false }, { - name: 'timestamp'; - type: 'u64'; - index: false; + "name": "timestamp", + "type": "u64", + "index": false }, { - name: 'seqNum'; - type: 'u64'; - index: false; + "name": "seqNum", + "type": "u64", + "index": false }, { - name: 'maker'; - type: 'publicKey'; - index: false; + "name": "maker", + "type": "publicKey", + "index": false }, { - name: 'makerOrderId'; - type: 'i128'; - index: false; + "name": "makerOrderId", + "type": "i128", + "index": false }, { - name: 'makerClientOrderId'; - type: 'u64'; - index: false; + "name": "makerClientOrderId", + "type": "u64", + "index": false }, { - name: 'makerFee'; - type: 'i128'; - index: false; + "name": "makerFee", + "type": "i128", + "index": false }, { - name: 'makerTimestamp'; - type: 'u64'; - index: false; + "name": "makerTimestamp", + "type": "u64", + "index": false }, { - name: 'taker'; - type: 'publicKey'; - index: false; + "name": "taker", + "type": "publicKey", + "index": false }, { - name: 'takerOrderId'; - type: 'i128'; - index: false; + "name": "takerOrderId", + "type": "i128", + "index": false }, { - name: 'takerClientOrderId'; - type: 'u64'; - index: false; + "name": "takerClientOrderId", + "type": "u64", + "index": false }, { - name: 'takerFee'; - type: 'i128'; - index: false; + "name": "takerFee", + "type": "i128", + "index": false }, { - name: 'price'; - type: 'i64'; - index: false; + "name": "price", + "type": "i64", + "index": false }, { - name: 'quantity'; - type: 'i64'; - index: false; - }, - ]; + "name": "quantity", + "type": "i64", + "index": false + } + ] }, { - name: 'UpdateFundingLog'; - fields: [ + "name": "UpdateFundingLog", + "fields": [ { - name: 'mangoGroup'; - type: 'publicKey'; - index: false; + "name": "mangoGroup", + "type": "publicKey", + "index": false }, { - name: 'marketIndex'; - type: 'u16'; - index: false; + "name": "marketIndex", + "type": "u16", + "index": false }, { - name: 'longFunding'; - type: 'i128'; - index: false; + "name": "longFunding", + "type": "i128", + "index": false }, { - name: 'shortFunding'; - type: 'i128'; - index: false; + "name": "shortFunding", + "type": "i128", + "index": false }, { - name: 'price'; - type: 'i128'; - index: false; - }, - ]; + "name": "price", + "type": "i128", + "index": false + } + ] }, { - name: 'UpdateIndexLog'; - fields: [ + "name": "UpdateIndexLog", + "fields": [ { - name: 'mangoGroup'; - type: 'publicKey'; - index: false; + "name": "mangoGroup", + "type": "publicKey", + "index": false }, { - name: 'tokenIndex'; - type: 'u16'; - index: false; + "name": "tokenIndex", + "type": "u16", + "index": false }, { - name: 'depositIndex'; - type: 'i128'; - index: false; + "name": "depositIndex", + "type": "i128", + "index": false }, { - name: 'borrowIndex'; - type: 'i128'; - index: false; + "name": "borrowIndex", + "type": "i128", + "index": false }, { - name: 'avgUtilization'; - type: 'i128'; - index: false; + "name": "avgUtilization", + "type": "i128", + "index": false }, { - name: 'price'; - type: 'i128'; - index: false; - }, - ]; + "name": "price", + "type": "i128", + "index": false + } + ] }, { - name: 'UpdateRateLog'; - fields: [ + "name": "UpdateRateLog", + "fields": [ { - name: 'mangoGroup'; - type: 'publicKey'; - index: false; + "name": "mangoGroup", + "type": "publicKey", + "index": false }, { - name: 'tokenIndex'; - type: 'u16'; - index: false; + "name": "tokenIndex", + "type": "u16", + "index": false }, { - name: 'rate0'; - type: 'i128'; - index: false; + "name": "rate0", + "type": "i128", + "index": false }, { - name: 'rate1'; - type: 'i128'; - index: false; + "name": "rate1", + "type": "i128", + "index": false }, { - name: 'maxRate'; - type: 'i128'; - index: false; - }, - ]; + "name": "maxRate", + "type": "i128", + "index": false + } + ] }, { - name: 'LiquidateTokenAndTokenLog'; - fields: [ + "name": "LiquidateTokenAndTokenLog", + "fields": [ { - name: 'liqee'; - type: 'publicKey'; - index: false; + "name": "liqee", + "type": "publicKey", + "index": false }, { - name: 'liqor'; - type: 'publicKey'; - index: false; + "name": "liqor", + "type": "publicKey", + "index": false }, { - name: 'assetTokenIndex'; - type: 'u16'; - index: false; + "name": "assetTokenIndex", + "type": "u16", + "index": false }, { - name: 'liabTokenIndex'; - type: 'u16'; - index: false; + "name": "liabTokenIndex", + "type": "u16", + "index": false }, { - name: 'assetTransfer'; - type: 'i128'; - index: false; + "name": "assetTransfer", + "type": "i128", + "index": false }, { - name: 'liabTransfer'; - type: 'i128'; - index: false; + "name": "liabTransfer", + "type": "i128", + "index": false }, { - name: 'assetPrice'; - type: 'i128'; - index: false; + "name": "assetPrice", + "type": "i128", + "index": false }, { - name: 'liabPrice'; - type: 'i128'; - index: false; - }, - ]; + "name": "liabPrice", + "type": "i128", + "index": false + } + ] }, { - name: 'OpenOrdersBalanceLog'; - fields: [ + "name": "OpenOrdersBalanceLog", + "fields": [ { - name: 'mangoGroup'; - type: 'publicKey'; - index: false; + "name": "mangoGroup", + "type": "publicKey", + "index": false }, { - name: 'mangoAccount'; - type: 'publicKey'; - index: false; + "name": "mangoAccount", + "type": "publicKey", + "index": false }, { - name: 'marketIndex'; - type: 'u16'; - index: false; + "name": "marketIndex", + "type": "u16", + "index": false }, { - name: 'baseTotal'; - type: 'u64'; - index: false; + "name": "baseTotal", + "type": "u64", + "index": false }, { - name: 'baseFree'; - type: 'u64'; - index: false; + "name": "baseFree", + "type": "u64", + "index": false }, { - name: 'quoteTotal'; - type: 'u64'; - index: false; + "name": "quoteTotal", + "type": "u64", + "index": false }, { - name: 'quoteFree'; - type: 'u64'; - index: false; + "name": "quoteFree", + "type": "u64", + "index": false }, { - name: 'referrerRebatesAccrued'; - type: 'u64'; - index: false; + "name": "referrerRebatesAccrued", + "type": "u64", + "index": false }, { - name: 'price'; - type: 'i128'; - index: false; - }, - ]; - }, - ]; - errors: [ + "name": "price", + "type": "i128", + "index": false + } + ] + } + ], + "errors": [ { - code: 6000; - name: 'SomeError'; - msg: ''; + "code": 6000, + "name": "SomeError", + "msg": "" }, { - code: 6001; - name: 'MathError'; - msg: 'checked math error'; + "code": 6001, + "name": "MathError", + "msg": "checked math error" }, { - code: 6002; - name: 'UnexpectedOracle'; - msg: ''; + "code": 6002, + "name": "UnexpectedOracle", + "msg": "" }, { - code: 6003; - name: 'UnknownOracleType'; - msg: 'oracle type cannot be determined'; + "code": 6003, + "name": "UnknownOracleType", + "msg": "oracle type cannot be determined" }, { - code: 6004; - name: 'InvalidFlashLoanTargetCpiProgram'; - msg: ''; + "code": 6004, + "name": "InvalidFlashLoanTargetCpiProgram", + "msg": "" }, { - code: 6005; - name: 'HealthMustBePositive'; - msg: 'health must be positive'; + "code": 6005, + "name": "HealthMustBePositive", + "msg": "health must be positive" }, { - code: 6006; - name: 'IsBankrupt'; - msg: 'the account is bankrupt'; + "code": 6006, + "name": "IsBankrupt", + "msg": "the account is bankrupt" }, { - code: 6007; - name: 'IsNotBankrupt'; - msg: 'the account is not bankrupt'; + "code": 6007, + "name": "IsNotBankrupt", + "msg": "the account is not bankrupt" }, { - code: 6008; - name: 'NoFreeTokenPositionIndex'; - msg: 'no free token position index'; + "code": 6008, + "name": "NoFreeTokenPositionIndex", + "msg": "no free token position index" }, { - code: 6009; - name: 'NoFreeSerum3OpenOrdersIndex'; - msg: 'no free serum3 open orders index'; + "code": 6009, + "name": "NoFreeSerum3OpenOrdersIndex", + "msg": "no free serum3 open orders index" }, { - code: 6010; - name: 'NoFreePerpPositionIndex'; - msg: 'no free perp position index'; + "code": 6010, + "name": "NoFreePerpPositionIndex", + "msg": "no free perp position index" }, { - code: 6011; - name: 'Serum3OpenOrdersExistAlready'; - msg: 'serum3 open orders exist already'; - }, - ]; + "code": 6011, + "name": "Serum3OpenOrdersExistAlready", + "msg": "serum3 open orders exist already" + } + ] }; export const IDL: MangoV4 = { - version: '0.1.0', - name: 'mango_v4', - instructions: [ + "version": "0.1.0", + "name": "mango_v4", + "instructions": [ { - name: 'groupCreate', - accounts: [ + "name": "groupCreate", + "accounts": [ { - name: 'group', - isMut: true, - isSigner: false, - pda: { - seeds: [ + "name": "group", + "isMut": true, + "isSigner": false, + "pda": { + "seeds": [ { - kind: 'const', - type: 'string', - value: 'Group', + "kind": "const", + "type": "string", + "value": "Group" }, { - kind: 'account', - type: 'publicKey', - path: 'admin', + "kind": "account", + "type": "publicKey", + "path": "admin" }, { - kind: 'arg', - type: 'u32', - path: 'group_num', - }, - ], - }, + "kind": "arg", + "type": "u32", + "path": "group_num" + } + ] + } }, { - name: 'admin', - isMut: false, - isSigner: true, + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'insuranceMint', - isMut: false, - isSigner: false, + "name": "insuranceMint", + "isMut": false, + "isSigner": false }, { - name: 'insuranceVault', - isMut: true, - isSigner: false, - pda: { - seeds: [ + "name": "insuranceVault", + "isMut": true, + "isSigner": false, + "pda": { + "seeds": [ { - kind: 'account', - type: 'publicKey', - path: 'group', + "kind": "account", + "type": "publicKey", + "path": "group" }, { - kind: 'const', - type: 'string', - value: 'InsuranceVault', - }, - ], - }, + "kind": "const", + "type": "string", + "value": "InsuranceVault" + } + ] + } }, { - name: 'payer', - isMut: true, - isSigner: true, + "name": "payer", + "isMut": true, + "isSigner": true }, { - name: 'tokenProgram', - isMut: false, - isSigner: false, + "name": "tokenProgram", + "isMut": false, + "isSigner": false }, { - name: 'systemProgram', - isMut: false, - isSigner: false, + "name": "systemProgram", + "isMut": false, + "isSigner": false }, { - name: 'rent', - isMut: false, - isSigner: false, - }, + "name": "rent", + "isMut": false, + "isSigner": false + } ], - args: [ + "args": [ { - name: 'groupNum', - type: 'u32', + "name": "groupNum", + "type": "u32" }, { - name: 'testing', - type: 'u8', - }, - ], + "name": "testing", + "type": "u8" + } + ] }, { - name: 'groupClose', - accounts: [ + "name": "groupClose", + "accounts": [ { - name: 'group', - isMut: true, - isSigner: false, + "name": "group", + "isMut": true, + "isSigner": false }, { - name: 'admin', - isMut: false, - isSigner: true, + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'solDestination', - isMut: true, - isSigner: false, + "name": "solDestination", + "isMut": true, + "isSigner": false }, { - name: 'tokenProgram', - isMut: false, - isSigner: false, - }, + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } ], - args: [], + "args": [] }, { - name: 'tokenRegister', - accounts: [ + "name": "tokenRegister", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'admin', - isMut: false, - isSigner: true, + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'mint', - isMut: false, - isSigner: false, + "name": "mint", + "isMut": false, + "isSigner": false }, { - name: 'bank', - isMut: true, - isSigner: false, - pda: { - seeds: [ + "name": "bank", + "isMut": true, + "isSigner": false, + "pda": { + "seeds": [ { - kind: 'account', - type: 'publicKey', - path: 'group', + "kind": "account", + "type": "publicKey", + "path": "group" }, { - kind: 'const', - type: 'string', - value: 'Bank', + "kind": "const", + "type": "string", + "value": "Bank" }, { - kind: 'arg', - type: 'u16', - path: 'token_index', + "kind": "arg", + "type": "u16", + "path": "token_index" }, { - kind: 'arg', - type: 'u64', - path: 'bank_num', - }, - ], - }, + "kind": "arg", + "type": "u64", + "path": "bank_num" + } + ] + } }, { - name: 'vault', - isMut: true, - isSigner: false, - pda: { - seeds: [ + "name": "vault", + "isMut": true, + "isSigner": false, + "pda": { + "seeds": [ { - kind: 'account', - type: 'publicKey', - path: 'group', + "kind": "account", + "type": "publicKey", + "path": "group" }, { - kind: 'const', - type: 'string', - value: 'Vault', + "kind": "const", + "type": "string", + "value": "Vault" }, { - kind: 'arg', - type: 'u16', - path: 'token_index', + "kind": "arg", + "type": "u16", + "path": "token_index" }, { - kind: 'arg', - type: 'u64', - path: 'bank_num', - }, - ], - }, + "kind": "arg", + "type": "u64", + "path": "bank_num" + } + ] + } }, { - name: 'mintInfo', - isMut: true, - isSigner: false, - pda: { - seeds: [ + "name": "mintInfo", + "isMut": true, + "isSigner": false, + "pda": { + "seeds": [ { - kind: 'account', - type: 'publicKey', - path: 'group', + "kind": "account", + "type": "publicKey", + "path": "group" }, { - kind: 'const', - type: 'string', - value: 'MintInfo', + "kind": "const", + "type": "string", + "value": "MintInfo" }, { - kind: 'account', - type: 'publicKey', - account: 'Mint', - path: 'mint', - }, - ], - }, + "kind": "account", + "type": "publicKey", + "account": "Mint", + "path": "mint" + } + ] + } }, { - name: 'oracle', - isMut: false, - isSigner: false, + "name": "oracle", + "isMut": false, + "isSigner": false }, { - name: 'payer', - isMut: true, - isSigner: true, + "name": "payer", + "isMut": true, + "isSigner": true }, { - name: 'tokenProgram', - isMut: false, - isSigner: false, + "name": "tokenProgram", + "isMut": false, + "isSigner": false }, { - name: 'systemProgram', - isMut: false, - isSigner: false, + "name": "systemProgram", + "isMut": false, + "isSigner": false }, { - name: 'rent', - isMut: false, - isSigner: false, - }, + "name": "rent", + "isMut": false, + "isSigner": false + } ], - args: [ + "args": [ { - name: 'tokenIndex', - type: 'u16', + "name": "tokenIndex", + "type": "u16" }, { - name: 'bankNum', - type: 'u64', + "name": "bankNum", + "type": "u64" }, { - name: 'name', - type: 'string', + "name": "name", + "type": "string" }, { - name: 'oracleConfig', - type: { - defined: 'OracleConfig', - }, + "name": "oracleConfig", + "type": { + "defined": "OracleConfig" + } }, { - name: 'interestRateParams', - type: { - defined: 'InterestRateParams', - }, + "name": "interestRateParams", + "type": { + "defined": "InterestRateParams" + } }, { - name: 'loanFeeRate', - type: 'f32', + "name": "loanFeeRate", + "type": "f32" }, { - name: 'loanOriginationFeeRate', - type: 'f32', + "name": "loanOriginationFeeRate", + "type": "f32" }, { - name: 'maintAssetWeight', - type: 'f32', + "name": "maintAssetWeight", + "type": "f32" }, { - name: 'initAssetWeight', - type: 'f32', + "name": "initAssetWeight", + "type": "f32" }, { - name: 'maintLiabWeight', - type: 'f32', + "name": "maintLiabWeight", + "type": "f32" }, { - name: 'initLiabWeight', - type: 'f32', + "name": "initLiabWeight", + "type": "f32" }, { - name: 'liquidationFee', - type: 'f32', - }, - ], + "name": "liquidationFee", + "type": "f32" + } + ] }, { - name: 'tokenEdit', - accounts: [ + "name": "tokenEdit", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'admin', - isMut: false, - isSigner: true, + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'mintInfo', - isMut: false, - isSigner: false, - }, + "name": "mintInfo", + "isMut": false, + "isSigner": false + } ], - args: [ + "args": [ { - name: 'bankNum', - type: 'u64', + "name": "bankNum", + "type": "u64" }, { - name: 'oracleOpt', - type: { - option: 'publicKey', - }, + "name": "oracleOpt", + "type": { + "option": "publicKey" + } }, { - name: 'oracleConfigOpt', - type: { - option: { - defined: 'OracleConfig', - }, - }, + "name": "oracleConfigOpt", + "type": { + "option": { + "defined": "OracleConfig" + } + } }, { - name: 'interestRateParamsOpt', - type: { - option: { - defined: 'InterestRateParams', - }, - }, + "name": "interestRateParamsOpt", + "type": { + "option": { + "defined": "InterestRateParams" + } + } }, { - name: 'loanFeeRateOpt', - type: { - option: 'f32', - }, + "name": "loanFeeRateOpt", + "type": { + "option": "f32" + } }, { - name: 'loanOriginationFeeRateOpt', - type: { - option: 'f32', - }, + "name": "loanOriginationFeeRateOpt", + "type": { + "option": "f32" + } }, { - name: 'maintAssetWeightOpt', - type: { - option: 'f32', - }, + "name": "maintAssetWeightOpt", + "type": { + "option": "f32" + } }, { - name: 'initAssetWeightOpt', - type: { - option: 'f32', - }, + "name": "initAssetWeightOpt", + "type": { + "option": "f32" + } }, { - name: 'maintLiabWeightOpt', - type: { - option: 'f32', - }, + "name": "maintLiabWeightOpt", + "type": { + "option": "f32" + } }, { - name: 'initLiabWeightOpt', - type: { - option: 'f32', - }, + "name": "initLiabWeightOpt", + "type": { + "option": "f32" + } }, { - name: 'liquidationFeeOpt', - type: { - option: 'f32', - }, - }, - ], + "name": "liquidationFeeOpt", + "type": { + "option": "f32" + } + } + ] }, { - name: 'tokenAddBank', - accounts: [ + "name": "tokenAddBank", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'admin', - isMut: false, - isSigner: true, + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'mint', - isMut: false, - isSigner: false, + "name": "mint", + "isMut": false, + "isSigner": false }, { - name: 'existingBank', - isMut: false, - isSigner: false, + "name": "existingBank", + "isMut": false, + "isSigner": false }, { - name: 'bank', - isMut: true, - isSigner: false, - pda: { - seeds: [ + "name": "bank", + "isMut": true, + "isSigner": false, + "pda": { + "seeds": [ { - kind: 'account', - type: 'publicKey', - path: 'group', + "kind": "account", + "type": "publicKey", + "path": "group" }, { - kind: 'const', - type: 'string', - value: 'Bank', + "kind": "const", + "type": "string", + "value": "Bank" }, { - kind: 'arg', - type: 'u16', - path: 'token_index', + "kind": "arg", + "type": "u16", + "path": "token_index" }, { - kind: 'arg', - type: 'u64', - path: 'bank_num', - }, - ], - }, + "kind": "arg", + "type": "u64", + "path": "bank_num" + } + ] + } }, { - name: 'vault', - isMut: true, - isSigner: false, - pda: { - seeds: [ + "name": "vault", + "isMut": true, + "isSigner": false, + "pda": { + "seeds": [ { - kind: 'account', - type: 'publicKey', - path: 'group', + "kind": "account", + "type": "publicKey", + "path": "group" }, { - kind: 'const', - type: 'string', - value: 'Vault', + "kind": "const", + "type": "string", + "value": "Vault" }, { - kind: 'arg', - type: 'u16', - path: 'token_index', + "kind": "arg", + "type": "u16", + "path": "token_index" }, { - kind: 'arg', - type: 'u64', - path: 'bank_num', - }, - ], - }, + "kind": "arg", + "type": "u64", + "path": "bank_num" + } + ] + } }, { - name: 'mintInfo', - isMut: true, - isSigner: false, - pda: { - seeds: [ + "name": "mintInfo", + "isMut": true, + "isSigner": false, + "pda": { + "seeds": [ { - kind: 'account', - type: 'publicKey', - path: 'group', + "kind": "account", + "type": "publicKey", + "path": "group" }, { - kind: 'const', - type: 'string', - value: 'MintInfo', + "kind": "const", + "type": "string", + "value": "MintInfo" }, { - kind: 'account', - type: 'publicKey', - account: 'Mint', - path: 'mint', - }, - ], - }, + "kind": "account", + "type": "publicKey", + "account": "Mint", + "path": "mint" + } + ] + } }, { - name: 'payer', - isMut: true, - isSigner: true, + "name": "payer", + "isMut": true, + "isSigner": true }, { - name: 'tokenProgram', - isMut: false, - isSigner: false, + "name": "tokenProgram", + "isMut": false, + "isSigner": false }, { - name: 'systemProgram', - isMut: false, - isSigner: false, + "name": "systemProgram", + "isMut": false, + "isSigner": false }, { - name: 'rent', - isMut: false, - isSigner: false, - }, + "name": "rent", + "isMut": false, + "isSigner": false + } ], - args: [ + "args": [ { - name: 'tokenIndex', - type: 'u16', + "name": "tokenIndex", + "type": "u16" }, { - name: 'bankNum', - type: 'u64', - }, - ], + "name": "bankNum", + "type": "u64" + } + ] }, { - name: 'tokenDeregister', - accounts: [ + "name": "tokenDeregister", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'admin', - isMut: false, - isSigner: true, + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'mintInfo', - isMut: true, - isSigner: false, + "name": "mintInfo", + "isMut": true, + "isSigner": false }, { - name: 'dustVault', - isMut: true, - isSigner: false, + "name": "dustVault", + "isMut": true, + "isSigner": false }, { - name: 'solDestination', - isMut: true, - isSigner: false, + "name": "solDestination", + "isMut": true, + "isSigner": false }, { - name: 'tokenProgram', - isMut: false, - isSigner: false, - }, + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } ], - args: [ + "args": [ { - name: 'tokenIndex', - type: 'u16', - }, - ], + "name": "tokenIndex", + "type": "u16" + } + ] }, { - name: 'tokenUpdateIndexAndRate', - accounts: [ + "name": "tokenUpdateIndexAndRate", + "accounts": [ { - name: 'mintInfo', - isMut: false, - isSigner: false, + "name": "mintInfo", + "isMut": false, + "isSigner": false }, { - name: 'oracle', - isMut: false, - isSigner: false, + "name": "oracle", + "isMut": false, + "isSigner": false }, { - name: 'instructions', - isMut: false, - isSigner: false, - }, + "name": "instructions", + "isMut": false, + "isSigner": false + } ], - args: [], + "args": [] }, { - name: 'accountCreate', - accounts: [ + "name": "accountCreate", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account', - isMut: true, - isSigner: false, - pda: { - seeds: [ + "name": "account", + "isMut": true, + "isSigner": false, + "pda": { + "seeds": [ { - kind: 'account', - type: 'publicKey', - path: 'group', + "kind": "account", + "type": "publicKey", + "path": "group" }, { - kind: 'const', - type: 'string', - value: 'MangoAccount', + "kind": "const", + "type": "string", + "value": "MangoAccount" }, { - kind: 'account', - type: 'publicKey', - path: 'owner', + "kind": "account", + "type": "publicKey", + "path": "owner" }, { - kind: 'arg', - type: 'u8', - path: 'account_num', - }, - ], - }, + "kind": "arg", + "type": "u8", + "path": "account_num" + } + ] + } }, { - name: 'owner', - isMut: false, - isSigner: true, + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'payer', - isMut: true, - isSigner: true, + "name": "payer", + "isMut": true, + "isSigner": true }, { - name: 'systemProgram', - isMut: false, - isSigner: false, - }, + "name": "systemProgram", + "isMut": false, + "isSigner": false + } ], - args: [ + "args": [ { - name: 'accountNum', - type: 'u8', + "name": "accountNum", + "type": "u8" }, { - name: 'name', - type: 'string', - }, - ], + "name": "name", + "type": "string" + } + ] }, { - name: 'accountEdit', - accounts: [ + "name": "accountEdit", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account', - isMut: true, - isSigner: false, + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner', - isMut: false, - isSigner: true, - }, + "name": "owner", + "isMut": false, + "isSigner": true + } ], - args: [ + "args": [ { - name: 'nameOpt', - type: { - option: 'string', - }, + "name": "nameOpt", + "type": { + "option": "string" + } }, { - name: 'delegateOpt', - type: { - option: 'publicKey', - }, - }, - ], + "name": "delegateOpt", + "type": { + "option": "publicKey" + } + } + ] }, { - name: 'accountClose', - accounts: [ + "name": "accountClose", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account', - isMut: true, - isSigner: false, + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner', - isMut: false, - isSigner: true, + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'solDestination', - isMut: true, - isSigner: false, + "name": "solDestination", + "isMut": true, + "isSigner": false }, { - name: 'tokenProgram', - isMut: false, - isSigner: false, - }, + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } ], - args: [], + "args": [] }, { - name: 'stubOracleCreate', - accounts: [ + "name": "stubOracleCreate", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'oracle', - isMut: true, - isSigner: false, - pda: { - seeds: [ + "name": "oracle", + "isMut": true, + "isSigner": false, + "pda": { + "seeds": [ { - kind: 'account', - type: 'publicKey', - path: 'group', + "kind": "account", + "type": "publicKey", + "path": "group" }, { - kind: 'const', - type: 'string', - value: 'StubOracle', + "kind": "const", + "type": "string", + "value": "StubOracle" }, { - kind: 'account', - type: 'publicKey', - account: 'Mint', - path: 'token_mint', - }, - ], - }, + "kind": "account", + "type": "publicKey", + "account": "Mint", + "path": "token_mint" + } + ] + } }, { - name: 'admin', - isMut: false, - isSigner: true, + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'tokenMint', - isMut: false, - isSigner: false, + "name": "tokenMint", + "isMut": false, + "isSigner": false }, { - name: 'payer', - isMut: true, - isSigner: true, + "name": "payer", + "isMut": true, + "isSigner": true }, { - name: 'systemProgram', - isMut: false, - isSigner: false, - }, + "name": "systemProgram", + "isMut": false, + "isSigner": false + } ], - args: [ + "args": [ { - name: 'price', - type: { - defined: 'I80F48', - }, - }, - ], + "name": "price", + "type": { + "defined": "I80F48" + } + } + ] }, { - name: 'stubOracleClose', - accounts: [ + "name": "stubOracleClose", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'admin', - isMut: false, - isSigner: true, + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'oracle', - isMut: true, - isSigner: false, + "name": "oracle", + "isMut": true, + "isSigner": false }, { - name: 'solDestination', - isMut: true, - isSigner: false, + "name": "solDestination", + "isMut": true, + "isSigner": false }, { - name: 'tokenProgram', - isMut: false, - isSigner: false, - }, + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } ], - args: [], + "args": [] }, { - name: 'stubOracleSet', - accounts: [ + "name": "stubOracleSet", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'admin', - isMut: false, - isSigner: true, + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'oracle', - isMut: true, - isSigner: false, + "name": "oracle", + "isMut": true, + "isSigner": false }, { - name: 'payer', - isMut: true, - isSigner: true, - }, + "name": "payer", + "isMut": true, + "isSigner": true + } ], - args: [ + "args": [ { - name: 'price', - type: { - defined: 'I80F48', - }, - }, - ], + "name": "price", + "type": { + "defined": "I80F48" + } + } + ] }, { - name: 'tokenDeposit', - accounts: [ + "name": "tokenDeposit", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account', - isMut: true, - isSigner: false, + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'bank', - isMut: true, - isSigner: false, + "name": "bank", + "isMut": true, + "isSigner": false }, { - name: 'vault', - isMut: true, - isSigner: false, + "name": "vault", + "isMut": true, + "isSigner": false }, { - name: 'tokenAccount', - isMut: true, - isSigner: false, + "name": "tokenAccount", + "isMut": true, + "isSigner": false }, { - name: 'tokenAuthority', - isMut: false, - isSigner: true, + "name": "tokenAuthority", + "isMut": false, + "isSigner": true }, { - name: 'tokenProgram', - isMut: false, - isSigner: false, - }, + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } ], - args: [ + "args": [ { - name: 'amount', - type: 'u64', - }, - ], + "name": "amount", + "type": "u64" + } + ] }, { - name: 'tokenWithdraw', - accounts: [ + "name": "tokenWithdraw", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account', - isMut: true, - isSigner: false, + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner', - isMut: false, - isSigner: true, + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'bank', - isMut: true, - isSigner: false, + "name": "bank", + "isMut": true, + "isSigner": false }, { - name: 'vault', - isMut: true, - isSigner: false, + "name": "vault", + "isMut": true, + "isSigner": false }, { - name: 'tokenAccount', - isMut: true, - isSigner: false, + "name": "tokenAccount", + "isMut": true, + "isSigner": false }, { - name: 'tokenProgram', - isMut: false, - isSigner: false, - }, + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } ], - args: [ + "args": [ { - name: 'amount', - type: 'u64', + "name": "amount", + "type": "u64" }, { - name: 'allowBorrow', - type: 'bool', - }, - ], + "name": "allowBorrow", + "type": "bool" + } + ] }, { - name: 'flashLoan', - accounts: [ + "name": "flashLoan", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account', - isMut: true, - isSigner: false, + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner', - isMut: false, - isSigner: true, + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'tokenProgram', - isMut: false, - isSigner: false, - }, + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } ], - args: [ + "args": [ { - name: 'withdraws', - type: { - vec: { - defined: 'FlashLoanWithdraw', - }, - }, + "name": "withdraws", + "type": { + "vec": { + "defined": "FlashLoanWithdraw" + } + } }, { - name: 'cpiDatas', - type: { - vec: { - defined: 'CpiData', - }, - }, - }, - ], + "name": "cpiDatas", + "type": { + "vec": { + "defined": "CpiData" + } + } + } + ] }, { - name: 'flashLoan2Begin', - accounts: [ + "name": "flashLoan2Begin", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'temporaryVaultAuthority', - isMut: false, - isSigner: true, + "name": "temporaryVaultAuthority", + "isMut": false, + "isSigner": true }, { - name: 'tokenProgram', - isMut: false, - isSigner: false, + "name": "tokenProgram", + "isMut": false, + "isSigner": false }, { - name: 'instructions', - isMut: false, - isSigner: false, - }, + "name": "instructions", + "isMut": false, + "isSigner": false + } ], - args: [ + "args": [ { - name: 'loanAmounts', - type: { - vec: 'u64', - }, - }, - ], + "name": "loanAmounts", + "type": { + "vec": "u64" + } + } + ] }, { - name: 'flashLoan2End', - accounts: [ + "name": "flashLoan2End", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account', - isMut: true, - isSigner: false, + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner', - isMut: false, - isSigner: true, + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'tokenProgram', - isMut: false, - isSigner: false, - }, + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } ], - args: [], + "args": [] }, { - name: 'flashLoan3Begin', - accounts: [ + "name": "flashLoan3Begin", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'tokenProgram', - isMut: false, - isSigner: false, + "name": "tokenProgram", + "isMut": false, + "isSigner": false }, { - name: 'instructions', - isMut: false, - isSigner: false, - }, + "name": "instructions", + "isMut": false, + "isSigner": false + } ], - args: [ + "args": [ { - name: 'loanAmounts', - type: { - vec: 'u64', - }, - }, - ], + "name": "loanAmounts", + "type": { + "vec": "u64" + } + } + ] }, { - name: 'flashLoan3End', - accounts: [ + "name": "flashLoan3End", + "accounts": [ { - name: 'account', - isMut: true, - isSigner: false, + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner', - isMut: false, - isSigner: true, + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'tokenProgram', - isMut: false, - isSigner: false, - }, + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } ], - args: [], + "args": [] }, { - name: 'serum3RegisterMarket', - accounts: [ + "name": "serum3RegisterMarket", + "accounts": [ { - name: 'group', - isMut: true, - isSigner: false, + "name": "group", + "isMut": true, + "isSigner": false }, { - name: 'admin', - isMut: false, - isSigner: true, + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'serumProgram', - isMut: false, - isSigner: false, + "name": "serumProgram", + "isMut": false, + "isSigner": false }, { - name: 'serumMarketExternal', - isMut: false, - isSigner: false, + "name": "serumMarketExternal", + "isMut": false, + "isSigner": false }, { - name: 'serumMarket', - isMut: true, - isSigner: false, - pda: { - seeds: [ + "name": "serumMarket", + "isMut": true, + "isSigner": false, + "pda": { + "seeds": [ { - kind: 'account', - type: 'publicKey', - path: 'group', + "kind": "account", + "type": "publicKey", + "path": "group" }, { - kind: 'const', - type: 'string', - value: 'Serum3Market', + "kind": "const", + "type": "string", + "value": "Serum3Market" }, { - kind: 'account', - type: 'publicKey', - path: 'serum_market_external', - }, - ], - }, + "kind": "account", + "type": "publicKey", + "path": "serum_market_external" + } + ] + } }, { - name: 'quoteBank', - isMut: false, - isSigner: false, + "name": "quoteBank", + "isMut": false, + "isSigner": false }, { - name: 'baseBank', - isMut: false, - isSigner: false, + "name": "baseBank", + "isMut": false, + "isSigner": false }, { - name: 'payer', - isMut: true, - isSigner: true, + "name": "payer", + "isMut": true, + "isSigner": true }, { - name: 'systemProgram', - isMut: false, - isSigner: false, - }, + "name": "systemProgram", + "isMut": false, + "isSigner": false + } ], - args: [ + "args": [ { - name: 'marketIndex', - type: 'u16', + "name": "marketIndex", + "type": "u16" }, { - name: 'name', - type: 'string', - }, - ], + "name": "name", + "type": "string" + } + ] }, { - name: 'serum3DeregisterMarket', - accounts: [ + "name": "serum3DeregisterMarket", + "accounts": [ { - name: 'group', - isMut: true, - isSigner: false, + "name": "group", + "isMut": true, + "isSigner": false }, { - name: 'admin', - isMut: false, - isSigner: true, + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'serumMarket', - isMut: true, - isSigner: false, + "name": "serumMarket", + "isMut": true, + "isSigner": false }, { - name: 'solDestination', - isMut: true, - isSigner: false, + "name": "solDestination", + "isMut": true, + "isSigner": false }, { - name: 'tokenProgram', - isMut: false, - isSigner: false, - }, + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } ], - args: [], + "args": [] }, { - name: 'serum3CreateOpenOrders', - accounts: [ + "name": "serum3CreateOpenOrders", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account', - isMut: true, - isSigner: false, + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner', - isMut: false, - isSigner: true, + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'serumMarket', - isMut: false, - isSigner: false, + "name": "serumMarket", + "isMut": false, + "isSigner": false }, { - name: 'serumProgram', - isMut: false, - isSigner: false, + "name": "serumProgram", + "isMut": false, + "isSigner": false }, { - name: 'serumMarketExternal', - isMut: false, - isSigner: false, + "name": "serumMarketExternal", + "isMut": false, + "isSigner": false }, { - name: 'openOrders', - isMut: true, - isSigner: false, - pda: { - seeds: [ + "name": "openOrders", + "isMut": true, + "isSigner": false, + "pda": { + "seeds": [ { - kind: 'account', - type: 'publicKey', - path: 'account', + "kind": "account", + "type": "publicKey", + "path": "account" }, { - kind: 'const', - type: 'string', - value: 'Serum3OO', + "kind": "const", + "type": "string", + "value": "Serum3OO" }, { - kind: 'account', - type: 'publicKey', - path: 'serum_market', - }, - ], - }, + "kind": "account", + "type": "publicKey", + "path": "serum_market" + } + ] + } }, { - name: 'payer', - isMut: true, - isSigner: true, + "name": "payer", + "isMut": true, + "isSigner": true }, { - name: 'systemProgram', - isMut: false, - isSigner: false, + "name": "systemProgram", + "isMut": false, + "isSigner": false }, { - name: 'rent', - isMut: false, - isSigner: false, - }, + "name": "rent", + "isMut": false, + "isSigner": false + } ], - args: [], + "args": [] }, { - name: 'serum3CloseOpenOrders', - accounts: [ + "name": "serum3CloseOpenOrders", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account', - isMut: true, - isSigner: false, + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner', - isMut: false, - isSigner: true, + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'serumMarket', - isMut: false, - isSigner: false, + "name": "serumMarket", + "isMut": false, + "isSigner": false }, { - name: 'serumProgram', - isMut: false, - isSigner: false, + "name": "serumProgram", + "isMut": false, + "isSigner": false }, { - name: 'serumMarketExternal', - isMut: false, - isSigner: false, + "name": "serumMarketExternal", + "isMut": false, + "isSigner": false }, { - name: 'openOrders', - isMut: true, - isSigner: false, + "name": "openOrders", + "isMut": true, + "isSigner": false }, { - name: 'solDestination', - isMut: true, - isSigner: false, - }, + "name": "solDestination", + "isMut": true, + "isSigner": false + } ], - args: [], + "args": [] }, { - name: 'serum3PlaceOrder', - accounts: [ + "name": "serum3PlaceOrder", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account', - isMut: true, - isSigner: false, + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner', - isMut: false, - isSigner: true, + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'openOrders', - isMut: true, - isSigner: false, + "name": "openOrders", + "isMut": true, + "isSigner": false }, { - name: 'serumMarket', - isMut: false, - isSigner: false, + "name": "serumMarket", + "isMut": false, + "isSigner": false }, { - name: 'serumProgram', - isMut: false, - isSigner: false, + "name": "serumProgram", + "isMut": false, + "isSigner": false }, { - name: 'serumMarketExternal', - isMut: true, - isSigner: false, + "name": "serumMarketExternal", + "isMut": true, + "isSigner": false }, { - name: 'marketBids', - isMut: true, - isSigner: false, + "name": "marketBids", + "isMut": true, + "isSigner": false }, { - name: 'marketAsks', - isMut: true, - isSigner: false, + "name": "marketAsks", + "isMut": true, + "isSigner": false }, { - name: 'marketEventQueue', - isMut: true, - isSigner: false, + "name": "marketEventQueue", + "isMut": true, + "isSigner": false }, { - name: 'marketRequestQueue', - isMut: true, - isSigner: false, + "name": "marketRequestQueue", + "isMut": true, + "isSigner": false }, { - name: 'marketBaseVault', - isMut: true, - isSigner: false, + "name": "marketBaseVault", + "isMut": true, + "isSigner": false }, { - name: 'marketQuoteVault', - isMut: true, - isSigner: false, + "name": "marketQuoteVault", + "isMut": true, + "isSigner": false }, { - name: 'marketVaultSigner', - isMut: false, - isSigner: false, + "name": "marketVaultSigner", + "isMut": false, + "isSigner": false }, { - name: 'quoteBank', - isMut: true, - isSigner: false, + "name": "quoteBank", + "isMut": true, + "isSigner": false }, { - name: 'quoteVault', - isMut: true, - isSigner: false, + "name": "quoteVault", + "isMut": true, + "isSigner": false }, { - name: 'baseBank', - isMut: true, - isSigner: false, + "name": "baseBank", + "isMut": true, + "isSigner": false }, { - name: 'baseVault', - isMut: true, - isSigner: false, + "name": "baseVault", + "isMut": true, + "isSigner": false }, { - name: 'tokenProgram', - isMut: false, - isSigner: false, - }, + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } ], - args: [ + "args": [ { - name: 'side', - type: { - defined: 'Serum3Side', - }, + "name": "side", + "type": { + "defined": "Serum3Side" + } }, { - name: 'limitPrice', - type: 'u64', + "name": "limitPrice", + "type": "u64" }, { - name: 'maxBaseQty', - type: 'u64', + "name": "maxBaseQty", + "type": "u64" }, { - name: 'maxNativeQuoteQtyIncludingFees', - type: 'u64', + "name": "maxNativeQuoteQtyIncludingFees", + "type": "u64" }, { - name: 'selfTradeBehavior', - type: { - defined: 'Serum3SelfTradeBehavior', - }, + "name": "selfTradeBehavior", + "type": { + "defined": "Serum3SelfTradeBehavior" + } }, { - name: 'orderType', - type: { - defined: 'Serum3OrderType', - }, + "name": "orderType", + "type": { + "defined": "Serum3OrderType" + } }, { - name: 'clientOrderId', - type: 'u64', + "name": "clientOrderId", + "type": "u64" }, { - name: 'limit', - type: 'u16', - }, - ], + "name": "limit", + "type": "u16" + } + ] }, { - name: 'serum3CancelOrder', - accounts: [ + "name": "serum3CancelOrder", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account', - isMut: true, - isSigner: false, + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner', - isMut: false, - isSigner: true, + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'openOrders', - isMut: true, - isSigner: false, + "name": "openOrders", + "isMut": true, + "isSigner": false }, { - name: 'serumMarket', - isMut: false, - isSigner: false, + "name": "serumMarket", + "isMut": false, + "isSigner": false }, { - name: 'serumProgram', - isMut: false, - isSigner: false, + "name": "serumProgram", + "isMut": false, + "isSigner": false }, { - name: 'serumMarketExternal', - isMut: true, - isSigner: false, + "name": "serumMarketExternal", + "isMut": true, + "isSigner": false }, { - name: 'marketBids', - isMut: true, - isSigner: false, + "name": "marketBids", + "isMut": true, + "isSigner": false }, { - name: 'marketAsks', - isMut: true, - isSigner: false, + "name": "marketAsks", + "isMut": true, + "isSigner": false }, { - name: 'marketEventQueue', - isMut: true, - isSigner: false, - }, + "name": "marketEventQueue", + "isMut": true, + "isSigner": false + } ], - args: [ + "args": [ { - name: 'side', - type: { - defined: 'Serum3Side', - }, + "name": "side", + "type": { + "defined": "Serum3Side" + } }, { - name: 'orderId', - type: 'u128', - }, - ], + "name": "orderId", + "type": "u128" + } + ] }, { - name: 'serum3CancelAllOrders', - accounts: [ + "name": "serum3CancelAllOrders", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account', - isMut: true, - isSigner: false, + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner', - isMut: false, - isSigner: true, + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'openOrders', - isMut: true, - isSigner: false, + "name": "openOrders", + "isMut": true, + "isSigner": false }, { - name: 'serumMarket', - isMut: false, - isSigner: false, + "name": "serumMarket", + "isMut": false, + "isSigner": false }, { - name: 'serumProgram', - isMut: false, - isSigner: false, + "name": "serumProgram", + "isMut": false, + "isSigner": false }, { - name: 'serumMarketExternal', - isMut: true, - isSigner: false, + "name": "serumMarketExternal", + "isMut": true, + "isSigner": false }, { - name: 'marketBids', - isMut: true, - isSigner: false, + "name": "marketBids", + "isMut": true, + "isSigner": false }, { - name: 'marketAsks', - isMut: true, - isSigner: false, + "name": "marketAsks", + "isMut": true, + "isSigner": false }, { - name: 'marketEventQueue', - isMut: true, - isSigner: false, - }, + "name": "marketEventQueue", + "isMut": true, + "isSigner": false + } ], - args: [ + "args": [ { - name: 'limit', - type: 'u8', - }, - ], + "name": "limit", + "type": "u8" + } + ] }, { - name: 'serum3SettleFunds', - accounts: [ + "name": "serum3SettleFunds", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account', - isMut: true, - isSigner: false, + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner', - isMut: false, - isSigner: true, + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'openOrders', - isMut: true, - isSigner: false, + "name": "openOrders", + "isMut": true, + "isSigner": false }, { - name: 'serumMarket', - isMut: false, - isSigner: false, + "name": "serumMarket", + "isMut": false, + "isSigner": false }, { - name: 'serumProgram', - isMut: false, - isSigner: false, + "name": "serumProgram", + "isMut": false, + "isSigner": false }, { - name: 'serumMarketExternal', - isMut: true, - isSigner: false, + "name": "serumMarketExternal", + "isMut": true, + "isSigner": false }, { - name: 'marketBaseVault', - isMut: true, - isSigner: false, + "name": "marketBaseVault", + "isMut": true, + "isSigner": false }, { - name: 'marketQuoteVault', - isMut: true, - isSigner: false, + "name": "marketQuoteVault", + "isMut": true, + "isSigner": false }, { - name: 'marketVaultSigner', - isMut: false, - isSigner: false, + "name": "marketVaultSigner", + "isMut": false, + "isSigner": false }, { - name: 'quoteBank', - isMut: true, - isSigner: false, + "name": "quoteBank", + "isMut": true, + "isSigner": false }, { - name: 'quoteVault', - isMut: true, - isSigner: false, + "name": "quoteVault", + "isMut": true, + "isSigner": false }, { - name: 'baseBank', - isMut: true, - isSigner: false, + "name": "baseBank", + "isMut": true, + "isSigner": false }, { - name: 'baseVault', - isMut: true, - isSigner: false, + "name": "baseVault", + "isMut": true, + "isSigner": false }, { - name: 'tokenProgram', - isMut: false, - isSigner: false, - }, + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } ], - args: [], + "args": [] }, { - name: 'serum3LiqForceCancelOrders', - accounts: [ + "name": "serum3LiqForceCancelOrders", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account', - isMut: true, - isSigner: false, + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'openOrders', - isMut: true, - isSigner: false, + "name": "openOrders", + "isMut": true, + "isSigner": false }, { - name: 'serumMarket', - isMut: false, - isSigner: false, + "name": "serumMarket", + "isMut": false, + "isSigner": false }, { - name: 'serumProgram', - isMut: false, - isSigner: false, + "name": "serumProgram", + "isMut": false, + "isSigner": false }, { - name: 'serumMarketExternal', - isMut: true, - isSigner: false, + "name": "serumMarketExternal", + "isMut": true, + "isSigner": false }, { - name: 'marketBids', - isMut: true, - isSigner: false, + "name": "marketBids", + "isMut": true, + "isSigner": false }, { - name: 'marketAsks', - isMut: true, - isSigner: false, + "name": "marketAsks", + "isMut": true, + "isSigner": false }, { - name: 'marketEventQueue', - isMut: true, - isSigner: false, + "name": "marketEventQueue", + "isMut": true, + "isSigner": false }, { - name: 'marketBaseVault', - isMut: true, - isSigner: false, + "name": "marketBaseVault", + "isMut": true, + "isSigner": false }, { - name: 'marketQuoteVault', - isMut: true, - isSigner: false, + "name": "marketQuoteVault", + "isMut": true, + "isSigner": false }, { - name: 'marketVaultSigner', - isMut: false, - isSigner: false, + "name": "marketVaultSigner", + "isMut": false, + "isSigner": false }, { - name: 'quoteBank', - isMut: true, - isSigner: false, + "name": "quoteBank", + "isMut": true, + "isSigner": false }, { - name: 'quoteVault', - isMut: true, - isSigner: false, + "name": "quoteVault", + "isMut": true, + "isSigner": false }, { - name: 'baseBank', - isMut: true, - isSigner: false, + "name": "baseBank", + "isMut": true, + "isSigner": false }, { - name: 'baseVault', - isMut: true, - isSigner: false, + "name": "baseVault", + "isMut": true, + "isSigner": false }, { - name: 'tokenProgram', - isMut: false, - isSigner: false, - }, + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } ], - args: [ + "args": [ { - name: 'limit', - type: 'u8', - }, - ], + "name": "limit", + "type": "u8" + } + ] }, { - name: 'liqTokenWithToken', - accounts: [ + "name": "liqTokenWithToken", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'liqor', - isMut: true, - isSigner: false, + "name": "liqor", + "isMut": true, + "isSigner": false }, { - name: 'liqorOwner', - isMut: false, - isSigner: true, + "name": "liqorOwner", + "isMut": false, + "isSigner": true }, { - name: 'liqee', - isMut: true, - isSigner: false, - }, + "name": "liqee", + "isMut": true, + "isSigner": false + } ], - args: [ + "args": [ { - name: 'assetTokenIndex', - type: 'u16', + "name": "assetTokenIndex", + "type": "u16" }, { - name: 'liabTokenIndex', - type: 'u16', + "name": "liabTokenIndex", + "type": "u16" }, { - name: 'maxLiabTransfer', - type: { - defined: 'I80F48', - }, - }, - ], + "name": "maxLiabTransfer", + "type": { + "defined": "I80F48" + } + } + ] }, { - name: 'liqTokenBankruptcy', - accounts: [ + "name": "liqTokenBankruptcy", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'liqor', - isMut: true, - isSigner: false, + "name": "liqor", + "isMut": true, + "isSigner": false }, { - name: 'liqorOwner', - isMut: false, - isSigner: true, + "name": "liqorOwner", + "isMut": false, + "isSigner": true }, { - name: 'liqee', - isMut: true, - isSigner: false, + "name": "liqee", + "isMut": true, + "isSigner": false }, { - name: 'liabMintInfo', - isMut: false, - isSigner: false, + "name": "liabMintInfo", + "isMut": false, + "isSigner": false }, { - name: 'quoteVault', - isMut: true, - isSigner: false, + "name": "quoteVault", + "isMut": true, + "isSigner": false }, { - name: 'insuranceVault', - isMut: true, - isSigner: false, + "name": "insuranceVault", + "isMut": true, + "isSigner": false }, { - name: 'tokenProgram', - isMut: false, - isSigner: false, - }, + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } ], - args: [ + "args": [ { - name: 'liabTokenIndex', - type: 'u16', + "name": "liabTokenIndex", + "type": "u16" }, { - name: 'maxLiabTransfer', - type: { - defined: 'I80F48', - }, - }, - ], + "name": "maxLiabTransfer", + "type": { + "defined": "I80F48" + } + } + ] }, { - name: 'perpCreateMarket', - accounts: [ + "name": "perpCreateMarket", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'admin', - isMut: false, - isSigner: true, + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'oracle', - isMut: false, - isSigner: false, + "name": "oracle", + "isMut": false, + "isSigner": false }, { - name: 'perpMarket', - isMut: true, - isSigner: false, - pda: { - seeds: [ + "name": "perpMarket", + "isMut": true, + "isSigner": false, + "pda": { + "seeds": [ { - kind: 'account', - type: 'publicKey', - path: 'group', + "kind": "account", + "type": "publicKey", + "path": "group" }, { - kind: 'const', - type: 'string', - value: 'PerpMarket', + "kind": "const", + "type": "string", + "value": "PerpMarket" }, { - kind: 'arg', - type: 'u16', - path: 'perp_market_index', - }, - ], - }, + "kind": "arg", + "type": "u16", + "path": "perp_market_index" + } + ] + } }, { - name: 'bids', - isMut: true, - isSigner: false, + "name": "bids", + "isMut": true, + "isSigner": false }, { - name: 'asks', - isMut: true, - isSigner: false, + "name": "asks", + "isMut": true, + "isSigner": false }, { - name: 'eventQueue', - isMut: true, - isSigner: false, + "name": "eventQueue", + "isMut": true, + "isSigner": false }, { - name: 'payer', - isMut: true, - isSigner: true, + "name": "payer", + "isMut": true, + "isSigner": true }, { - name: 'systemProgram', - isMut: false, - isSigner: false, - }, + "name": "systemProgram", + "isMut": false, + "isSigner": false + } ], - args: [ + "args": [ { - name: 'perpMarketIndex', - type: 'u16', + "name": "perpMarketIndex", + "type": "u16" }, { - name: 'name', - type: 'string', + "name": "name", + "type": "string" }, { - name: 'oracleConfig', - type: { - defined: 'OracleConfig', - }, + "name": "oracleConfig", + "type": { + "defined": "OracleConfig" + } }, { - name: 'baseTokenIndexOpt', - type: { - option: 'u16', - }, + "name": "baseTokenIndexOpt", + "type": { + "option": "u16" + } }, { - name: 'baseTokenDecimals', - type: 'u8', + "name": "baseTokenDecimals", + "type": "u8" }, { - name: 'quoteLotSize', - type: 'i64', + "name": "quoteLotSize", + "type": "i64" }, { - name: 'baseLotSize', - type: 'i64', + "name": "baseLotSize", + "type": "i64" }, { - name: 'maintAssetWeight', - type: 'f32', + "name": "maintAssetWeight", + "type": "f32" }, { - name: 'initAssetWeight', - type: 'f32', + "name": "initAssetWeight", + "type": "f32" }, { - name: 'maintLiabWeight', - type: 'f32', + "name": "maintLiabWeight", + "type": "f32" }, { - name: 'initLiabWeight', - type: 'f32', + "name": "initLiabWeight", + "type": "f32" }, { - name: 'liquidationFee', - type: 'f32', + "name": "liquidationFee", + "type": "f32" }, { - name: 'makerFee', - type: 'f32', + "name": "makerFee", + "type": "f32" }, { - name: 'takerFee', - type: 'f32', + "name": "takerFee", + "type": "f32" }, { - name: 'minFunding', - type: 'f32', + "name": "minFunding", + "type": "f32" }, { - name: 'maxFunding', - type: 'f32', + "name": "maxFunding", + "type": "f32" }, { - name: 'impactQuantity', - type: 'i64', - }, - ], + "name": "impactQuantity", + "type": "i64" + } + ] }, { - name: 'perpEditMarket', - accounts: [ + "name": "perpEditMarket", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'admin', - isMut: false, - isSigner: true, + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'perpMarket', - isMut: true, - isSigner: false, - }, + "name": "perpMarket", + "isMut": true, + "isSigner": false + } ], - args: [ + "args": [ { - name: 'oracleOpt', - type: { - option: 'publicKey', - }, + "name": "oracleOpt", + "type": { + "option": "publicKey" + } }, { - name: 'oracleConfigOpt', - type: { - option: { - defined: 'OracleConfig', - }, - }, + "name": "oracleConfigOpt", + "type": { + "option": { + "defined": "OracleConfig" + } + } }, { - name: 'baseTokenIndexOpt', - type: { - option: 'u16', - }, + "name": "baseTokenIndexOpt", + "type": { + "option": "u16" + } }, { - name: 'baseTokenDecimalsOpt', - type: { - option: 'u8', - }, + "name": "baseTokenDecimalsOpt", + "type": { + "option": "u8" + } }, { - name: 'maintAssetWeightOpt', - type: { - option: 'f32', - }, + "name": "maintAssetWeightOpt", + "type": { + "option": "f32" + } }, { - name: 'initAssetWeightOpt', - type: { - option: 'f32', - }, + "name": "initAssetWeightOpt", + "type": { + "option": "f32" + } }, { - name: 'maintLiabWeightOpt', - type: { - option: 'f32', - }, + "name": "maintLiabWeightOpt", + "type": { + "option": "f32" + } }, { - name: 'initLiabWeightOpt', - type: { - option: 'f32', - }, + "name": "initLiabWeightOpt", + "type": { + "option": "f32" + } }, { - name: 'liquidationFeeOpt', - type: { - option: 'f32', - }, + "name": "liquidationFeeOpt", + "type": { + "option": "f32" + } }, { - name: 'makerFeeOpt', - type: { - option: 'f32', - }, + "name": "makerFeeOpt", + "type": { + "option": "f32" + } }, { - name: 'takerFeeOpt', - type: { - option: 'f32', - }, + "name": "takerFeeOpt", + "type": { + "option": "f32" + } }, { - name: 'minFundingOpt', - type: { - option: 'f32', - }, + "name": "minFundingOpt", + "type": { + "option": "f32" + } }, { - name: 'maxFundingOpt', - type: { - option: 'f32', - }, + "name": "maxFundingOpt", + "type": { + "option": "f32" + } }, { - name: 'impactQuantityOpt', - type: { - option: 'i64', - }, - }, - ], + "name": "impactQuantityOpt", + "type": { + "option": "i64" + } + } + ] }, { - name: 'perpCloseMarket', - accounts: [ + "name": "perpCloseMarket", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'admin', - isMut: false, - isSigner: true, + "name": "admin", + "isMut": false, + "isSigner": true }, { - name: 'perpMarket', - isMut: true, - isSigner: false, + "name": "perpMarket", + "isMut": true, + "isSigner": false }, { - name: 'bids', - isMut: true, - isSigner: false, + "name": "bids", + "isMut": true, + "isSigner": false }, { - name: 'asks', - isMut: true, - isSigner: false, + "name": "asks", + "isMut": true, + "isSigner": false }, { - name: 'eventQueue', - isMut: true, - isSigner: false, + "name": "eventQueue", + "isMut": true, + "isSigner": false }, { - name: 'solDestination', - isMut: true, - isSigner: false, + "name": "solDestination", + "isMut": true, + "isSigner": false }, { - name: 'tokenProgram', - isMut: false, - isSigner: false, - }, + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } ], - args: [], + "args": [] }, { - name: 'perpPlaceOrder', - accounts: [ + "name": "perpPlaceOrder", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account', - isMut: true, - isSigner: false, + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner', - isMut: false, - isSigner: true, + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'perpMarket', - isMut: true, - isSigner: false, + "name": "perpMarket", + "isMut": true, + "isSigner": false }, { - name: 'asks', - isMut: true, - isSigner: false, + "name": "asks", + "isMut": true, + "isSigner": false }, { - name: 'bids', - isMut: true, - isSigner: false, + "name": "bids", + "isMut": true, + "isSigner": false }, { - name: 'eventQueue', - isMut: true, - isSigner: false, + "name": "eventQueue", + "isMut": true, + "isSigner": false }, { - name: 'oracle', - isMut: false, - isSigner: false, - }, + "name": "oracle", + "isMut": false, + "isSigner": false + } ], - args: [ + "args": [ { - name: 'side', - type: { - defined: 'Side', - }, + "name": "side", + "type": { + "defined": "Side" + } }, { - name: 'priceLots', - type: 'i64', + "name": "priceLots", + "type": "i64" }, { - name: 'maxBaseLots', - type: 'i64', + "name": "maxBaseLots", + "type": "i64" }, { - name: 'maxQuoteLots', - type: 'i64', + "name": "maxQuoteLots", + "type": "i64" }, { - name: 'clientOrderId', - type: 'u64', + "name": "clientOrderId", + "type": "u64" }, { - name: 'orderType', - type: { - defined: 'OrderType', - }, + "name": "orderType", + "type": { + "defined": "OrderType" + } }, { - name: 'expiryTimestamp', - type: 'u64', + "name": "expiryTimestamp", + "type": "u64" }, { - name: 'limit', - type: 'u8', - }, - ], + "name": "limit", + "type": "u8" + } + ] }, { - name: 'perpCancelOrder', - accounts: [ + "name": "perpCancelOrder", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account', - isMut: true, - isSigner: false, + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner', - isMut: false, - isSigner: true, + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'perpMarket', - isMut: true, - isSigner: false, + "name": "perpMarket", + "isMut": true, + "isSigner": false }, { - name: 'asks', - isMut: true, - isSigner: false, + "name": "asks", + "isMut": true, + "isSigner": false }, { - name: 'bids', - isMut: true, - isSigner: false, - }, + "name": "bids", + "isMut": true, + "isSigner": false + } ], - args: [ + "args": [ { - name: 'orderId', - type: 'i128', - }, - ], + "name": "orderId", + "type": "i128" + } + ] }, { - name: 'perpCancelOrderByClientOrderId', - accounts: [ + "name": "perpCancelOrderByClientOrderId", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account', - isMut: true, - isSigner: false, + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner', - isMut: false, - isSigner: true, + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'perpMarket', - isMut: true, - isSigner: false, + "name": "perpMarket", + "isMut": true, + "isSigner": false }, { - name: 'asks', - isMut: true, - isSigner: false, + "name": "asks", + "isMut": true, + "isSigner": false }, { - name: 'bids', - isMut: true, - isSigner: false, - }, + "name": "bids", + "isMut": true, + "isSigner": false + } ], - args: [ + "args": [ { - name: 'clientOrderId', - type: 'u64', - }, - ], + "name": "clientOrderId", + "type": "u64" + } + ] }, { - name: 'perpCancelAllOrders', - accounts: [ + "name": "perpCancelAllOrders", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account', - isMut: true, - isSigner: false, + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner', - isMut: false, - isSigner: true, + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'perpMarket', - isMut: true, - isSigner: false, + "name": "perpMarket", + "isMut": true, + "isSigner": false }, { - name: 'asks', - isMut: true, - isSigner: false, + "name": "asks", + "isMut": true, + "isSigner": false }, { - name: 'bids', - isMut: true, - isSigner: false, - }, + "name": "bids", + "isMut": true, + "isSigner": false + } ], - args: [ + "args": [ { - name: 'limit', - type: 'u8', - }, - ], + "name": "limit", + "type": "u8" + } + ] }, { - name: 'perpCancelAllOrdersBySide', - accounts: [ + "name": "perpCancelAllOrdersBySide", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account', - isMut: true, - isSigner: false, + "name": "account", + "isMut": true, + "isSigner": false }, { - name: 'owner', - isMut: false, - isSigner: true, + "name": "owner", + "isMut": false, + "isSigner": true }, { - name: 'perpMarket', - isMut: true, - isSigner: false, + "name": "perpMarket", + "isMut": true, + "isSigner": false }, { - name: 'asks', - isMut: true, - isSigner: false, + "name": "asks", + "isMut": true, + "isSigner": false }, { - name: 'bids', - isMut: true, - isSigner: false, - }, + "name": "bids", + "isMut": true, + "isSigner": false + } ], - args: [ + "args": [ { - name: 'sideOption', - type: { - option: { - defined: 'Side', - }, - }, + "name": "sideOption", + "type": { + "option": { + "defined": "Side" + } + } }, { - name: 'limit', - type: 'u8', - }, - ], + "name": "limit", + "type": "u8" + } + ] }, { - name: 'perpConsumeEvents', - accounts: [ + "name": "perpConsumeEvents", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'perpMarket', - isMut: true, - isSigner: false, + "name": "perpMarket", + "isMut": true, + "isSigner": false }, { - name: 'eventQueue', - isMut: true, - isSigner: false, - }, + "name": "eventQueue", + "isMut": true, + "isSigner": false + } ], - args: [ + "args": [ { - name: 'limit', - type: 'u64', - }, - ], + "name": "limit", + "type": "u64" + } + ] }, { - name: 'perpUpdateFunding', - accounts: [ + "name": "perpUpdateFunding", + "accounts": [ { - name: 'perpMarket', - isMut: true, - isSigner: false, + "name": "perpMarket", + "isMut": true, + "isSigner": false }, { - name: 'asks', - isMut: true, - isSigner: false, + "name": "asks", + "isMut": true, + "isSigner": false }, { - name: 'bids', - isMut: true, - isSigner: false, + "name": "bids", + "isMut": true, + "isSigner": false }, { - name: 'oracle', - isMut: false, - isSigner: false, - }, + "name": "oracle", + "isMut": false, + "isSigner": false + } ], - args: [], + "args": [] }, { - name: 'computeAccountData', - accounts: [ + "name": "computeAccountData", + "accounts": [ { - name: 'group', - isMut: false, - isSigner: false, + "name": "group", + "isMut": false, + "isSigner": false }, { - name: 'account', - isMut: false, - isSigner: false, - }, + "name": "account", + "isMut": false, + "isSigner": false + } ], - args: [], + "args": [] }, { - name: 'benchmark', - accounts: [], - args: [], - }, + "name": "benchmark", + "accounts": [], + "args": [] + } ], - accounts: [ + "accounts": [ { - name: 'bank', - type: { - kind: 'struct', - fields: [ + "name": "bank", + "type": { + "kind": "struct", + "fields": [ { - name: 'group', - type: 'publicKey', + "name": "group", + "type": "publicKey" }, { - name: 'name', - type: { - array: ['u8', 16], - }, + "name": "name", + "type": { + "array": [ + "u8", + 16 + ] + } }, { - name: 'mint', - type: 'publicKey', + "name": "mint", + "type": "publicKey" }, { - name: 'vault', - type: 'publicKey', + "name": "vault", + "type": "publicKey" }, { - name: 'oracle', - type: 'publicKey', + "name": "oracle", + "type": "publicKey" }, { - name: 'oracleConfig', - type: { - defined: 'OracleConfig', - }, + "name": "oracleConfig", + "type": { + "defined": "OracleConfig" + } }, { - name: 'depositIndex', - type: { - defined: 'I80F48', - }, + "name": "depositIndex", + "type": { + "defined": "I80F48" + } }, { - name: 'borrowIndex', - type: { - defined: 'I80F48', - }, + "name": "borrowIndex", + "type": { + "defined": "I80F48" + } }, { - name: 'cachedIndexedTotalDeposits', - type: { - defined: 'I80F48', - }, + "name": "cachedIndexedTotalDeposits", + "type": { + "defined": "I80F48" + } }, { - name: 'cachedIndexedTotalBorrows', - type: { - defined: 'I80F48', - }, + "name": "cachedIndexedTotalBorrows", + "type": { + "defined": "I80F48" + } }, { - name: 'indexedDeposits', - type: { - defined: 'I80F48', - }, + "name": "indexedDeposits", + "type": { + "defined": "I80F48" + } }, { - name: 'indexedBorrows', - type: { - defined: 'I80F48', - }, + "name": "indexedBorrows", + "type": { + "defined": "I80F48" + } }, { - name: 'indexLastUpdated', - type: 'i64', + "name": "indexLastUpdated", + "type": "i64" }, { - name: 'bankRateLastUpdated', - type: 'i64', + "name": "bankRateLastUpdated", + "type": "i64" }, { - name: 'avgUtilization', - type: { - defined: 'I80F48', - }, + "name": "avgUtilization", + "type": { + "defined": "I80F48" + } }, { - name: 'adjustmentFactor', - type: { - defined: 'I80F48', - }, + "name": "adjustmentFactor", + "type": { + "defined": "I80F48" + } }, { - name: 'util0', - type: { - defined: 'I80F48', - }, + "name": "util0", + "type": { + "defined": "I80F48" + } }, { - name: 'rate0', - type: { - defined: 'I80F48', - }, + "name": "rate0", + "type": { + "defined": "I80F48" + } }, { - name: 'util1', - type: { - defined: 'I80F48', - }, + "name": "util1", + "type": { + "defined": "I80F48" + } }, { - name: 'rate1', - type: { - defined: 'I80F48', - }, + "name": "rate1", + "type": { + "defined": "I80F48" + } }, { - name: 'maxRate', - type: { - defined: 'I80F48', - }, + "name": "maxRate", + "type": { + "defined": "I80F48" + } }, { - name: 'collectedFeesNative', - type: { - defined: 'I80F48', - }, + "name": "collectedFeesNative", + "type": { + "defined": "I80F48" + } }, { - name: 'loanOriginationFeeRate', - type: { - defined: 'I80F48', - }, + "name": "loanOriginationFeeRate", + "type": { + "defined": "I80F48" + } }, { - name: 'loanFeeRate', - type: { - defined: 'I80F48', - }, + "name": "loanFeeRate", + "type": { + "defined": "I80F48" + } }, { - name: 'maintAssetWeight', - type: { - defined: 'I80F48', - }, + "name": "maintAssetWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'initAssetWeight', - type: { - defined: 'I80F48', - }, + "name": "initAssetWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'maintLiabWeight', - type: { - defined: 'I80F48', - }, + "name": "maintLiabWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'initLiabWeight', - type: { - defined: 'I80F48', - }, + "name": "initLiabWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'liquidationFee', - type: { - defined: 'I80F48', - }, + "name": "liquidationFee", + "type": { + "defined": "I80F48" + } }, { - name: 'dust', - type: { - defined: 'I80F48', - }, + "name": "dust", + "type": { + "defined": "I80F48" + } }, { - name: 'flashLoanVaultInitial', - type: 'u64', + "name": "flashLoanVaultInitial", + "type": "u64" }, { - name: 'flashLoanApprovedAmount', - type: 'u64', + "name": "flashLoanApprovedAmount", + "type": "u64" }, { - name: 'tokenIndex', - type: 'u16', + "name": "tokenIndex", + "type": "u16" }, { - name: 'bump', - type: 'u8', + "name": "bump", + "type": "u8" }, { - name: 'mintDecimals', - type: 'u8', + "name": "mintDecimals", + "type": "u8" }, { - name: 'reserved', - type: { - array: ['u8', 4], - }, + "name": "reserved", + "type": { + "array": [ + "u8", + 4 + ] + } }, { - name: 'bankNum', - type: 'u64', - }, - ], - }, + "name": "bankNum", + "type": "u64" + } + ] + } }, { - name: 'group', - type: { - kind: 'struct', - fields: [ + "name": "group", + "type": { + "kind": "struct", + "fields": [ { - name: 'admin', - type: 'publicKey', + "name": "admin", + "type": "publicKey" }, { - name: 'groupNum', - type: 'u32', + "name": "groupNum", + "type": "u32" }, { - name: 'padding', - type: { - array: ['u8', 4], - }, + "name": "padding", + "type": { + "array": [ + "u8", + 4 + ] + } }, { - name: 'insuranceVault', - type: 'publicKey', + "name": "insuranceVault", + "type": "publicKey" }, { - name: 'insuranceMint', - type: 'publicKey', + "name": "insuranceMint", + "type": "publicKey" }, { - name: 'bump', - type: 'u8', + "name": "bump", + "type": "u8" }, { - name: 'testing', - type: 'u8', + "name": "testing", + "type": "u8" }, { - name: 'padding2', - type: { - array: ['u8', 6], - }, + "name": "padding2", + "type": { + "array": [ + "u8", + 6 + ] + } }, { - name: 'reserved', - type: { - array: ['u8', 8], - }, - }, - ], - }, + "name": "reserved", + "type": { + "array": [ + "u8", + 8 + ] + } + } + ] + } }, { - name: 'mangoAccount', - type: { - kind: 'struct', - fields: [ + "name": "mangoAccount", + "type": { + "kind": "struct", + "fields": [ { - name: 'group', - type: 'publicKey', + "name": "group", + "type": "publicKey" }, { - name: 'owner', - type: 'publicKey', + "name": "owner", + "type": "publicKey" }, { - name: 'name', - type: { - array: ['u8', 32], - }, + "name": "name", + "type": { + "array": [ + "u8", + 32 + ] + } }, { - name: 'delegate', - type: 'publicKey', + "name": "delegate", + "type": "publicKey" }, { - name: 'tokens', - type: { - defined: 'MangoAccountTokenPositions', - }, + "name": "tokens", + "type": { + "defined": "MangoAccountTokenPositions" + } }, { - name: 'serum3', - type: { - defined: 'MangoAccountSerum3Orders', - }, + "name": "serum3", + "type": { + "defined": "MangoAccountSerum3Orders" + } }, { - name: 'perps', - type: { - defined: 'MangoAccountPerpPositions', - }, + "name": "perps", + "type": { + "defined": "MangoAccountPerpPositions" + } }, { - name: 'beingLiquidated', - type: 'u8', + "name": "beingLiquidated", + "type": "u8" }, { - name: 'isBankrupt', - type: 'u8', + "name": "isBankrupt", + "type": "u8" }, { - name: 'accountNum', - type: 'u8', + "name": "accountNum", + "type": "u8" }, { - name: 'bump', - type: 'u8', + "name": "bump", + "type": "u8" }, { - name: 'reserved', - type: { - array: ['u8', 4], - }, + "name": "reserved", + "type": { + "array": [ + "u8", + 4 + ] + } }, { - name: 'netDeposits', - type: 'f32', + "name": "netDeposits", + "type": "f32" }, { - name: 'netSettled', - type: 'f32', - }, - ], - }, + "name": "netSettled", + "type": "f32" + } + ] + } }, { - name: 'mintInfo', - type: { - kind: 'struct', - fields: [ + "name": "mintInfo", + "type": { + "kind": "struct", + "fields": [ { - name: 'group', - type: 'publicKey', + "name": "group", + "type": "publicKey" }, { - name: 'tokenIndex', - type: 'u16', + "name": "tokenIndex", + "type": "u16" }, { - name: 'padding', - type: { - array: ['u8', 6], - }, + "name": "padding", + "type": { + "array": [ + "u8", + 6 + ] + } }, { - name: 'mint', - type: 'publicKey', + "name": "mint", + "type": "publicKey" }, { - name: 'banks', - type: { - array: ['publicKey', 6], - }, + "name": "banks", + "type": { + "array": [ + "publicKey", + 6 + ] + } }, { - name: 'vaults', - type: { - array: ['publicKey', 6], - }, + "name": "vaults", + "type": { + "array": [ + "publicKey", + 6 + ] + } }, { - name: 'oracle', - type: 'publicKey', + "name": "oracle", + "type": "publicKey" }, { - name: 'addressLookupTable', - type: 'publicKey', + "name": "addressLookupTable", + "type": "publicKey" }, { - name: 'addressLookupTableBankIndex', - type: 'u8', + "name": "addressLookupTableBankIndex", + "type": "u8" }, { - name: 'addressLookupTableOracleIndex', - type: 'u8', + "name": "addressLookupTableOracleIndex", + "type": "u8" }, { - name: 'reserved', - type: { - array: ['u8', 6], - }, - }, - ], - }, + "name": "reserved", + "type": { + "array": [ + "u8", + 6 + ] + } + } + ] + } }, { - name: 'stubOracle', - type: { - kind: 'struct', - fields: [ + "name": "stubOracle", + "type": { + "kind": "struct", + "fields": [ { - name: 'group', - type: 'publicKey', + "name": "group", + "type": "publicKey" }, { - name: 'mint', - type: 'publicKey', + "name": "mint", + "type": "publicKey" }, { - name: 'price', - type: { - defined: 'I80F48', - }, + "name": "price", + "type": { + "defined": "I80F48" + } }, { - name: 'lastUpdated', - type: 'i64', + "name": "lastUpdated", + "type": "i64" }, { - name: 'reserved', - type: { - array: ['u8', 8], - }, - }, - ], - }, + "name": "reserved", + "type": { + "array": [ + "u8", + 8 + ] + } + } + ] + } }, { - name: 'bookSide', - type: { - kind: 'struct', - fields: [ + "name": "bookSide", + "type": { + "kind": "struct", + "fields": [ { - name: 'bookSideType', - type: { - defined: 'BookSideType', - }, + "name": "bookSideType", + "type": { + "defined": "BookSideType" + } }, { - name: 'padding', - type: { - array: ['u8', 3], - }, + "name": "padding", + "type": { + "array": [ + "u8", + 3 + ] + } }, { - name: 'bumpIndex', - type: 'u32', + "name": "bumpIndex", + "type": "u32" }, { - name: 'freeListLen', - type: 'u32', + "name": "freeListLen", + "type": "u32" }, { - name: 'freeListHead', - type: 'u32', + "name": "freeListHead", + "type": "u32" }, { - name: 'rootNode', - type: 'u32', + "name": "rootNode", + "type": "u32" }, { - name: 'leafCount', - type: 'u32', + "name": "leafCount", + "type": "u32" }, { - name: 'nodes', - type: { - array: [ + "name": "nodes", + "type": { + "array": [ { - defined: 'AnyNode', + "defined": "AnyNode" }, - 1024, - ], - }, - }, - ], - }, + 1024 + ] + } + } + ] + } }, { - name: 'eventQueue', - type: { - kind: 'struct', - fields: [ + "name": "eventQueue", + "type": { + "kind": "struct", + "fields": [ { - name: 'header', - type: { - defined: 'EventQueueHeader', - }, + "name": "header", + "type": { + "defined": "EventQueueHeader" + } }, { - name: 'buf', - type: { - array: [ + "name": "buf", + "type": { + "array": [ { - defined: 'AnyEvent', + "defined": "AnyEvent" }, - 512, - ], - }, - }, - ], - }, + 512 + ] + } + } + ] + } }, { - name: 'perpMarket', - type: { - kind: 'struct', - fields: [ + "name": "perpMarket", + "type": { + "kind": "struct", + "fields": [ { - name: 'group', - type: 'publicKey', + "name": "group", + "type": "publicKey" }, { - name: 'baseTokenIndex', - type: 'u16', + "name": "baseTokenIndex", + "type": "u16" }, { - name: 'perpMarketIndex', - type: 'u16', + "name": "perpMarketIndex", + "type": "u16" }, { - name: 'padding', - type: { - array: ['u8', 4], - }, + "name": "padding", + "type": { + "array": [ + "u8", + 4 + ] + } }, { - name: 'name', - type: { - array: ['u8', 16], - }, + "name": "name", + "type": { + "array": [ + "u8", + 16 + ] + } }, { - name: 'oracle', - type: 'publicKey', + "name": "oracle", + "type": "publicKey" }, { - name: 'oracleConfig', - type: { - defined: 'OracleConfig', - }, + "name": "oracleConfig", + "type": { + "defined": "OracleConfig" + } }, { - name: 'bids', - type: 'publicKey', + "name": "bids", + "type": "publicKey" }, { - name: 'asks', - type: 'publicKey', + "name": "asks", + "type": "publicKey" }, { - name: 'eventQueue', - type: 'publicKey', + "name": "eventQueue", + "type": "publicKey" }, { - name: 'quoteLotSize', - type: 'i64', + "name": "quoteLotSize", + "type": "i64" }, { - name: 'baseLotSize', - type: 'i64', + "name": "baseLotSize", + "type": "i64" }, { - name: 'maintAssetWeight', - type: { - defined: 'I80F48', - }, + "name": "maintAssetWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'initAssetWeight', - type: { - defined: 'I80F48', - }, + "name": "initAssetWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'maintLiabWeight', - type: { - defined: 'I80F48', - }, + "name": "maintLiabWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'initLiabWeight', - type: { - defined: 'I80F48', - }, + "name": "initLiabWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'liquidationFee', - type: { - defined: 'I80F48', - }, + "name": "liquidationFee", + "type": { + "defined": "I80F48" + } }, { - name: 'makerFee', - type: { - defined: 'I80F48', - }, + "name": "makerFee", + "type": { + "defined": "I80F48" + } }, { - name: 'takerFee', - type: { - defined: 'I80F48', - }, + "name": "takerFee", + "type": { + "defined": "I80F48" + } }, { - name: 'minFunding', - type: { - defined: 'I80F48', - }, + "name": "minFunding", + "type": { + "defined": "I80F48" + } }, { - name: 'maxFunding', - type: { - defined: 'I80F48', - }, + "name": "maxFunding", + "type": { + "defined": "I80F48" + } }, { - name: 'impactQuantity', - type: 'i64', + "name": "impactQuantity", + "type": "i64" }, { - name: 'longFunding', - type: { - defined: 'I80F48', - }, + "name": "longFunding", + "type": { + "defined": "I80F48" + } }, { - name: 'shortFunding', - type: { - defined: 'I80F48', - }, + "name": "shortFunding", + "type": { + "defined": "I80F48" + } }, { - name: 'fundingLastUpdated', - type: 'i64', + "name": "fundingLastUpdated", + "type": "i64" }, { - name: 'openInterest', - type: 'i64', + "name": "openInterest", + "type": "i64" }, { - name: 'seqNum', - type: 'u64', + "name": "seqNum", + "type": "u64" }, { - name: 'feesAccrued', - type: { - defined: 'I80F48', - }, + "name": "feesAccrued", + "type": { + "defined": "I80F48" + } }, { - name: 'bump', - type: 'u8', + "name": "bump", + "type": "u8" }, { - name: 'baseTokenDecimals', - type: 'u8', + "name": "baseTokenDecimals", + "type": "u8" }, { - name: 'reserved', - type: { - array: ['u8', 6], - }, - }, - ], - }, + "name": "reserved", + "type": { + "array": [ + "u8", + 6 + ] + } + } + ] + } }, { - name: 'serum3Market', - type: { - kind: 'struct', - fields: [ + "name": "serum3Market", + "type": { + "kind": "struct", + "fields": [ { - name: 'group', - type: 'publicKey', + "name": "group", + "type": "publicKey" }, { - name: 'baseTokenIndex', - type: 'u16', + "name": "baseTokenIndex", + "type": "u16" }, { - name: 'quoteTokenIndex', - type: 'u16', + "name": "quoteTokenIndex", + "type": "u16" }, { - name: 'padding', - type: { - array: ['u8', 4], - }, + "name": "padding", + "type": { + "array": [ + "u8", + 4 + ] + } }, { - name: 'name', - type: { - array: ['u8', 16], - }, + "name": "name", + "type": { + "array": [ + "u8", + 16 + ] + } }, { - name: 'serumProgram', - type: 'publicKey', + "name": "serumProgram", + "type": "publicKey" }, { - name: 'serumMarketExternal', - type: 'publicKey', + "name": "serumMarketExternal", + "type": "publicKey" }, { - name: 'marketIndex', - type: 'u16', + "name": "marketIndex", + "type": "u16" }, { - name: 'bump', - type: 'u8', + "name": "bump", + "type": "u8" }, { - name: 'reserved', - type: { - array: ['u8', 5], - }, - }, - ], - }, - }, + "name": "reserved", + "type": { + "array": [ + "u8", + 5 + ] + } + } + ] + } + } ], - types: [ + "types": [ { - name: 'Equity', - type: { - kind: 'struct', - fields: [ + "name": "Equity", + "type": { + "kind": "struct", + "fields": [ { - name: 'tokens', - type: { - vec: { - defined: 'TokenEquity', - }, - }, + "name": "tokens", + "type": { + "vec": { + "defined": "TokenEquity" + } + } }, { - name: 'perps', - type: { - vec: { - defined: 'PerpEquity', - }, - }, - }, - ], - }, + "name": "perps", + "type": { + "vec": { + "defined": "PerpEquity" + } + } + } + ] + } }, { - name: 'TokenEquity', - type: { - kind: 'struct', - fields: [ + "name": "TokenEquity", + "type": { + "kind": "struct", + "fields": [ { - name: 'tokenIndex', - type: 'u16', + "name": "tokenIndex", + "type": "u16" }, { - name: 'value', - type: { - defined: 'I80F48', - }, - }, - ], - }, + "name": "value", + "type": { + "defined": "I80F48" + } + } + ] + } }, { - name: 'PerpEquity', - type: { - kind: 'struct', - fields: [ + "name": "PerpEquity", + "type": { + "kind": "struct", + "fields": [ { - name: 'perpMarketIndex', - type: 'u16', + "name": "perpMarketIndex", + "type": "u16" }, { - name: 'value', - type: { - defined: 'I80F48', - }, - }, - ], - }, + "name": "value", + "type": { + "defined": "I80F48" + } + } + ] + } }, { - name: 'FlashLoanWithdraw', - type: { - kind: 'struct', - fields: [ + "name": "FlashLoanWithdraw", + "type": { + "kind": "struct", + "fields": [ { - name: 'index', - type: 'u8', + "name": "index", + "type": "u8" }, { - name: 'amount', - type: 'u64', - }, - ], - }, + "name": "amount", + "type": "u64" + } + ] + } }, { - name: 'CpiData', - type: { - kind: 'struct', - fields: [ + "name": "CpiData", + "type": { + "kind": "struct", + "fields": [ { - name: 'accountStart', - type: 'u8', + "name": "accountStart", + "type": "u8" }, { - name: 'data', - type: 'bytes', - }, - ], - }, + "name": "data", + "type": "bytes" + } + ] + } }, { - name: 'InterestRateParams', - type: { - kind: 'struct', - fields: [ + "name": "InterestRateParams", + "type": { + "kind": "struct", + "fields": [ { - name: 'util0', - type: 'f32', + "name": "util0", + "type": "f32" }, { - name: 'rate0', - type: 'f32', + "name": "rate0", + "type": "f32" }, { - name: 'util1', - type: 'f32', + "name": "util1", + "type": "f32" }, { - name: 'rate1', - type: 'f32', + "name": "rate1", + "type": "f32" }, { - name: 'maxRate', - type: 'f32', + "name": "maxRate", + "type": "f32" }, { - name: 'adjustmentFactor', - type: 'f32', - }, - ], - }, + "name": "adjustmentFactor", + "type": "f32" + } + ] + } }, { - name: 'FlashLoanTokenDetail', - type: { - kind: 'struct', - fields: [ + "name": "FlashLoanTokenDetail", + "type": { + "kind": "struct", + "fields": [ { - name: 'tokenIndex', - type: 'u16', + "name": "tokenIndex", + "type": "u16" }, { - name: 'changeAmount', - type: 'i128', + "name": "changeAmount", + "type": "i128" }, { - name: 'loan', - type: 'i128', + "name": "loan", + "type": "i128" }, { - name: 'loanOriginationFee', - type: 'i128', + "name": "loanOriginationFee", + "type": "i128" }, { - name: 'depositIndex', - type: 'i128', + "name": "depositIndex", + "type": "i128" }, { - name: 'borrowIndex', - type: 'i128', + "name": "borrowIndex", + "type": "i128" }, { - name: 'price', - type: 'i128', - }, - ], - }, + "name": "price", + "type": "i128" + } + ] + } }, { - name: 'TokenInfo', - type: { - kind: 'struct', - fields: [ + "name": "TokenInfo", + "type": { + "kind": "struct", + "fields": [ { - name: 'tokenIndex', - type: 'u16', + "name": "tokenIndex", + "type": "u16" }, { - name: 'maintAssetWeight', - type: { - defined: 'I80F48', - }, + "name": "maintAssetWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'initAssetWeight', - type: { - defined: 'I80F48', - }, + "name": "initAssetWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'maintLiabWeight', - type: { - defined: 'I80F48', - }, + "name": "maintLiabWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'initLiabWeight', - type: { - defined: 'I80F48', - }, + "name": "initLiabWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'oraclePrice', - type: { - defined: 'I80F48', - }, + "name": "oraclePrice", + "type": { + "defined": "I80F48" + } }, { - name: 'balance', - type: { - defined: 'I80F48', - }, + "name": "balance", + "type": { + "defined": "I80F48" + } }, { - name: 'serum3MaxReserved', - type: { - defined: 'I80F48', - }, - }, - ], - }, + "name": "serum3MaxReserved", + "type": { + "defined": "I80F48" + } + } + ] + } }, { - name: 'Serum3Info', - type: { - kind: 'struct', - fields: [ + "name": "Serum3Info", + "type": { + "kind": "struct", + "fields": [ { - name: 'reserved', - type: { - defined: 'I80F48', - }, + "name": "reserved", + "type": { + "defined": "I80F48" + } }, { - name: 'baseIndex', - type: 'u64', + "name": "baseIndex", + "type": "u64" }, { - name: 'quoteIndex', - type: 'u64', - }, - ], - }, + "name": "quoteIndex", + "type": "u64" + } + ] + } }, { - name: 'PerpInfo', - type: { - kind: 'struct', - fields: [ + "name": "PerpInfo", + "type": { + "kind": "struct", + "fields": [ { - name: 'maintAssetWeight', - type: { - defined: 'I80F48', - }, + "name": "maintAssetWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'initAssetWeight', - type: { - defined: 'I80F48', - }, + "name": "initAssetWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'maintLiabWeight', - type: { - defined: 'I80F48', - }, + "name": "maintLiabWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'initLiabWeight', - type: { - defined: 'I80F48', - }, + "name": "initLiabWeight", + "type": { + "defined": "I80F48" + } }, { - name: 'base', - type: { - defined: 'I80F48', - }, + "name": "base", + "type": { + "defined": "I80F48" + } }, { - name: 'quote', - type: { - defined: 'I80F48', - }, - }, - ], - }, + "name": "quote", + "type": { + "defined": "I80F48" + } + } + ] + } }, { - name: 'HealthCache', - type: { - kind: 'struct', - fields: [ + "name": "HealthCache", + "type": { + "kind": "struct", + "fields": [ { - name: 'tokenInfos', - type: { - vec: { - defined: 'TokenInfo', - }, - }, + "name": "tokenInfos", + "type": { + "vec": { + "defined": "TokenInfo" + } + } }, { - name: 'serum3Infos', - type: { - vec: { - defined: 'Serum3Info', - }, - }, + "name": "serum3Infos", + "type": { + "vec": { + "defined": "Serum3Info" + } + } }, { - name: 'perpInfos', - type: { - vec: { - defined: 'PerpInfo', - }, - }, - }, - ], - }, + "name": "perpInfos", + "type": { + "vec": { + "defined": "PerpInfo" + } + } + } + ] + } }, { - name: 'TokenPosition', - type: { - kind: 'struct', - fields: [ + "name": "TokenPosition", + "type": { + "kind": "struct", + "fields": [ { - name: 'indexedPosition', - type: { - defined: 'I80F48', - }, + "name": "indexedPosition", + "type": { + "defined": "I80F48" + } }, { - name: 'tokenIndex', - type: 'u16', + "name": "tokenIndex", + "type": "u16" }, { - name: 'inUseCount', - type: 'u8', + "name": "inUseCount", + "type": "u8" }, { - name: 'reserved', - type: { - array: ['u8', 5], - }, - }, - ], - }, + "name": "reserved", + "type": { + "array": [ + "u8", + 5 + ] + } + } + ] + } }, { - name: 'MangoAccountTokenPositions', - type: { - kind: 'struct', - fields: [ + "name": "MangoAccountTokenPositions", + "type": { + "kind": "struct", + "fields": [ { - name: 'values', - type: { - array: [ + "name": "values", + "type": { + "array": [ { - defined: 'TokenPosition', + "defined": "TokenPosition" }, - 16, - ], - }, - }, - ], - }, + 16 + ] + } + } + ] + } }, { - name: 'Serum3Orders', - type: { - kind: 'struct', - fields: [ + "name": "Serum3Orders", + "type": { + "kind": "struct", + "fields": [ { - name: 'openOrders', - type: 'publicKey', + "name": "openOrders", + "type": "publicKey" }, { - name: 'previousNativeCoinReserved', - type: 'u64', + "name": "previousNativeCoinReserved", + "type": "u64" }, { - name: 'previousNativePcReserved', - type: 'u64', + "name": "previousNativePcReserved", + "type": "u64" }, { - name: 'marketIndex', - type: 'u16', + "name": "marketIndex", + "type": "u16" }, { - name: 'baseTokenIndex', - type: 'u16', + "name": "baseTokenIndex", + "type": "u16" }, { - name: 'quoteTokenIndex', - type: 'u16', + "name": "quoteTokenIndex", + "type": "u16" }, { - name: 'reserved', - type: { - array: ['u8', 2], - }, - }, - ], - }, + "name": "reserved", + "type": { + "array": [ + "u8", + 2 + ] + } + } + ] + } }, { - name: 'MangoAccountSerum3Orders', - type: { - kind: 'struct', - fields: [ + "name": "MangoAccountSerum3Orders", + "type": { + "kind": "struct", + "fields": [ { - name: 'values', - type: { - array: [ + "name": "values", + "type": { + "array": [ { - defined: 'Serum3Orders', + "defined": "Serum3Orders" }, - 8, - ], - }, - }, - ], - }, + 8 + ] + } + } + ] + } }, { - name: 'PerpPositions', - type: { - kind: 'struct', - fields: [ + "name": "PerpPositions", + "type": { + "kind": "struct", + "fields": [ { - name: 'marketIndex', - type: 'u16', + "name": "marketIndex", + "type": "u16" }, { - name: 'reserved', - type: { - array: ['u8', 6], - }, + "name": "reserved", + "type": { + "array": [ + "u8", + 6 + ] + } }, { - name: 'basePositionLots', - type: 'i64', + "name": "basePositionLots", + "type": "i64" }, { - name: 'quotePositionNative', - type: { - defined: 'I80F48', - }, + "name": "quotePositionNative", + "type": { + "defined": "I80F48" + } }, { - name: 'longSettledFunding', - type: { - defined: 'I80F48', - }, + "name": "longSettledFunding", + "type": { + "defined": "I80F48" + } }, { - name: 'shortSettledFunding', - type: { - defined: 'I80F48', - }, + "name": "shortSettledFunding", + "type": { + "defined": "I80F48" + } }, { - name: 'bidsBaseLots', - type: 'i64', + "name": "bidsBaseLots", + "type": "i64" }, { - name: 'asksBaseLots', - type: 'i64', + "name": "asksBaseLots", + "type": "i64" }, { - name: 'takerBaseLots', - type: 'i64', + "name": "takerBaseLots", + "type": "i64" }, { - name: 'takerQuoteLots', - type: 'i64', - }, - ], - }, + "name": "takerQuoteLots", + "type": "i64" + } + ] + } }, { - name: 'MangoAccountPerpPositions', - type: { - kind: 'struct', - fields: [ + "name": "MangoAccountPerpPositions", + "type": { + "kind": "struct", + "fields": [ { - name: 'accounts', - type: { - array: [ + "name": "accounts", + "type": { + "array": [ { - defined: 'PerpPositions', + "defined": "PerpPositions" }, - 8, - ], - }, + 8 + ] + } }, { - name: 'orderMarket', - type: { - array: ['u16', 8], - }, + "name": "orderMarket", + "type": { + "array": [ + "u16", + 8 + ] + } }, { - name: 'orderSide', - type: { - array: [ + "name": "orderSide", + "type": { + "array": [ { - defined: 'Side', + "defined": "Side" }, - 8, - ], - }, + 8 + ] + } }, { - name: 'orderId', - type: { - array: ['i128', 8], - }, + "name": "orderId", + "type": { + "array": [ + "i128", + 8 + ] + } }, { - name: 'clientOrderId', - type: { - array: ['u64', 8], - }, - }, - ], - }, + "name": "clientOrderId", + "type": { + "array": [ + "u64", + 8 + ] + } + } + ] + } }, { - name: 'OracleConfig', - type: { - kind: 'struct', - fields: [ + "name": "OracleConfig", + "type": { + "kind": "struct", + "fields": [ { - name: 'confFilter', - type: { - defined: 'I80F48', - }, - }, - ], - }, + "name": "confFilter", + "type": { + "defined": "I80F48" + } + } + ] + } }, { - name: 'AnyNode', - type: { - kind: 'struct', - fields: [ + "name": "AnyNode", + "type": { + "kind": "struct", + "fields": [ { - name: 'tag', - type: 'u32', + "name": "tag", + "type": "u32" }, { - name: 'data', - type: { - array: ['u8', 84], - }, - }, - ], - }, + "name": "data", + "type": { + "array": [ + "u8", + 84 + ] + } + } + ] + } }, { - name: 'EventQueueHeader', - type: { - kind: 'struct', - fields: [ + "name": "EventQueueHeader", + "type": { + "kind": "struct", + "fields": [ { - name: 'head', - type: 'u32', + "name": "head", + "type": "u32" }, { - name: 'count', - type: 'u32', + "name": "count", + "type": "u32" }, { - name: 'seqNum', - type: 'u64', - }, - ], - }, + "name": "seqNum", + "type": "u64" + } + ] + } }, { - name: 'AnyEvent', - type: { - kind: 'struct', - fields: [ + "name": "AnyEvent", + "type": { + "kind": "struct", + "fields": [ { - name: 'eventType', - type: 'u8', + "name": "eventType", + "type": "u8" }, { - name: 'padding', - type: { - array: ['u8', 199], - }, - }, - ], - }, + "name": "padding", + "type": { + "array": [ + "u8", + 199 + ] + } + } + ] + } }, { - name: 'TokenIndex', - type: { - kind: 'struct', - fields: [ + "name": "TokenIndex", + "type": { + "kind": "struct", + "fields": [ { - name: 'val', - type: 'u16', - }, - ], - }, + "name": "val", + "type": "u16" + } + ] + } }, { - name: 'Serum3MarketIndex', - type: { - kind: 'struct', - fields: [ + "name": "Serum3MarketIndex", + "type": { + "kind": "struct", + "fields": [ { - name: 'val', - type: 'u16', - }, - ], - }, + "name": "val", + "type": "u16" + } + ] + } }, { - name: 'PerpMarketIndex', - type: { - kind: 'struct', - fields: [ + "name": "PerpMarketIndex", + "type": { + "kind": "struct", + "fields": [ { - name: 'val', - type: 'u16', - }, - ], - }, + "name": "val", + "type": "u16" + } + ] + } }, { - name: 'I80F48', - type: { - kind: 'struct', - fields: [ + "name": "I80F48", + "type": { + "kind": "struct", + "fields": [ { - name: 'val', - type: 'i128', - }, - ], - }, + "name": "val", + "type": "i128" + } + ] + } }, { - name: 'ProgramInstruction', - type: { - kind: 'enum', - variants: [ + "name": "ProgramInstruction", + "type": { + "kind": "enum", + "variants": [ { - name: 'CreateLookupTable', - fields: [ + "name": "CreateLookupTable", + "fields": [ { - name: 'recent_slot', - type: { - defined: 'Slot', - }, + "name": "recent_slot", + "type": { + "defined": "Slot" + } }, { - name: 'bump_seed', - type: 'u8', - }, - ], + "name": "bump_seed", + "type": "u8" + } + ] }, { - name: 'FreezeLookupTable', + "name": "FreezeLookupTable" }, { - name: 'ExtendLookupTable', - fields: [ + "name": "ExtendLookupTable", + "fields": [ { - name: 'new_addresses', - type: { - vec: 'publicKey', - }, - }, - ], + "name": "new_addresses", + "type": { + "vec": "publicKey" + } + } + ] }, { - name: 'DeactivateLookupTable', + "name": "DeactivateLookupTable" }, { - name: 'CloseLookupTable', - }, - ], - }, + "name": "CloseLookupTable" + } + ] + } }, { - name: 'Serum3SelfTradeBehavior', - type: { - kind: 'enum', - variants: [ + "name": "Serum3SelfTradeBehavior", + "type": { + "kind": "enum", + "variants": [ { - name: 'DecrementTake', + "name": "DecrementTake" }, { - name: 'CancelProvide', + "name": "CancelProvide" }, { - name: 'AbortTransaction', - }, - ], - }, + "name": "AbortTransaction" + } + ] + } }, { - name: 'Serum3OrderType', - type: { - kind: 'enum', - variants: [ + "name": "Serum3OrderType", + "type": { + "kind": "enum", + "variants": [ { - name: 'Limit', + "name": "Limit" }, { - name: 'ImmediateOrCancel', + "name": "ImmediateOrCancel" }, { - name: 'PostOnly', - }, - ], - }, + "name": "PostOnly" + } + ] + } }, { - name: 'Serum3Side', - type: { - kind: 'enum', - variants: [ + "name": "Serum3Side", + "type": { + "kind": "enum", + "variants": [ { - name: 'Bid', + "name": "Bid" }, { - name: 'Ask', - }, - ], - }, + "name": "Ask" + } + ] + } }, { - name: 'HealthType', - type: { - kind: 'enum', - variants: [ + "name": "HealthType", + "type": { + "kind": "enum", + "variants": [ { - name: 'Init', + "name": "Init" }, { - name: 'Maint', - }, - ], - }, + "name": "Maint" + } + ] + } }, { - name: 'OracleType', - type: { - kind: 'enum', - variants: [ + "name": "OracleType", + "type": { + "kind": "enum", + "variants": [ { - name: 'Pyth', + "name": "Pyth" }, { - name: 'Stub', + "name": "Stub" }, { - name: 'SwitchboardV1', + "name": "SwitchboardV1" }, { - name: 'SwitchboardV2', - }, - ], - }, + "name": "SwitchboardV2" + } + ] + } }, { - name: 'BookSideType', - type: { - kind: 'enum', - variants: [ + "name": "BookSideType", + "type": { + "kind": "enum", + "variants": [ { - name: 'Bids', + "name": "Bids" }, { - name: 'Asks', - }, - ], - }, + "name": "Asks" + } + ] + } }, { - name: 'NodeTag', - type: { - kind: 'enum', - variants: [ + "name": "NodeTag", + "type": { + "kind": "enum", + "variants": [ { - name: 'Uninitialized', + "name": "Uninitialized" }, { - name: 'InnerNode', + "name": "InnerNode" }, { - name: 'LeafNode', + "name": "LeafNode" }, { - name: 'FreeNode', + "name": "FreeNode" }, { - name: 'LastFreeNode', - }, - ], - }, + "name": "LastFreeNode" + } + ] + } }, { - name: 'NodeRef', - type: { - kind: 'enum', - variants: [ + "name": "NodeRef", + "type": { + "kind": "enum", + "variants": [ { - name: 'Inner', - fields: [ + "name": "Inner", + "fields": [ { - defined: "&'aInnerNode", - }, - ], + "defined": "&'aInnerNode" + } + ] }, { - name: 'Leaf', - fields: [ + "name": "Leaf", + "fields": [ { - defined: "&'aLeafNode", - }, - ], - }, - ], - }, + "defined": "&'aLeafNode" + } + ] + } + ] + } }, { - name: 'NodeRefMut', - type: { - kind: 'enum', - variants: [ + "name": "NodeRefMut", + "type": { + "kind": "enum", + "variants": [ { - name: 'Inner', - fields: [ + "name": "Inner", + "fields": [ { - defined: "&'amutInnerNode", - }, - ], + "defined": "&'amutInnerNode" + } + ] }, { - name: 'Leaf', - fields: [ + "name": "Leaf", + "fields": [ { - defined: "&'amutLeafNode", - }, - ], - }, - ], - }, + "defined": "&'amutLeafNode" + } + ] + } + ] + } }, { - name: 'OrderType', - type: { - kind: 'enum', - variants: [ + "name": "OrderType", + "type": { + "kind": "enum", + "variants": [ { - name: 'Limit', + "name": "Limit" }, { - name: 'ImmediateOrCancel', + "name": "ImmediateOrCancel" }, { - name: 'PostOnly', + "name": "PostOnly" }, { - name: 'Market', + "name": "Market" }, { - name: 'PostOnlySlide', - }, - ], - }, + "name": "PostOnlySlide" + } + ] + } }, { - name: 'Side', - type: { - kind: 'enum', - variants: [ + "name": "Side", + "type": { + "kind": "enum", + "variants": [ { - name: 'Bid', + "name": "Bid" }, { - name: 'Ask', - }, - ], - }, + "name": "Ask" + } + ] + } }, { - name: 'EventType', - type: { - kind: 'enum', - variants: [ + "name": "EventType", + "type": { + "kind": "enum", + "variants": [ { - name: 'Fill', + "name": "Fill" }, { - name: 'Out', + "name": "Out" }, { - name: 'Liquidate', - }, - ], - }, - }, + "name": "Liquidate" + } + ] + } + } ], - events: [ + "events": [ { - name: 'MangoAccountData', - fields: [ + "name": "MangoAccountData", + "fields": [ { - name: 'healthCache', - type: { - defined: 'HealthCache', + "name": "healthCache", + "type": { + "defined": "HealthCache" }, - index: false, + "index": false }, { - name: 'initHealth', - type: { - defined: 'I80F48', + "name": "initHealth", + "type": { + "defined": "I80F48" }, - index: false, + "index": false }, { - name: 'maintHealth', - type: { - defined: 'I80F48', + "name": "maintHealth", + "type": { + "defined": "I80F48" }, - index: false, + "index": false }, { - name: 'equity', - type: { - defined: 'Equity', + "name": "equity", + "type": { + "defined": "Equity" }, - index: false, - }, - ], + "index": false + } + ] }, { - name: 'PerpBalanceLog', - fields: [ + "name": "PerpBalanceLog", + "fields": [ { - name: 'mangoAccount', - type: 'publicKey', - index: false, + "name": "mangoAccount", + "type": "publicKey", + "index": false }, { - name: 'marketIndex', - type: 'u64', - index: false, + "name": "marketIndex", + "type": "u64", + "index": false }, { - name: 'basePosition', - type: 'i64', - index: false, + "name": "basePosition", + "type": "i64", + "index": false }, { - name: 'quotePosition', - type: 'i128', - index: false, + "name": "quotePosition", + "type": "i128", + "index": false }, { - name: 'longSettledFunding', - type: 'i128', - index: false, + "name": "longSettledFunding", + "type": "i128", + "index": false }, { - name: 'shortSettledFunding', - type: 'i128', - index: false, + "name": "shortSettledFunding", + "type": "i128", + "index": false }, { - name: 'price', - type: 'i64', - index: false, + "name": "price", + "type": "i64", + "index": false }, { - name: 'longFunding', - type: 'i128', - index: false, + "name": "longFunding", + "type": "i128", + "index": false }, { - name: 'shortFunding', - type: 'i128', - index: false, - }, - ], + "name": "shortFunding", + "type": "i128", + "index": false + } + ] }, { - name: 'TokenBalanceLog', - fields: [ + "name": "TokenBalanceLog", + "fields": [ { - name: 'mangoAccount', - type: 'publicKey', - index: false, + "name": "mangoAccount", + "type": "publicKey", + "index": false }, { - name: 'tokenIndex', - type: 'u16', - index: false, + "name": "tokenIndex", + "type": "u16", + "index": false }, { - name: 'indexedPosition', - type: 'i128', - index: false, + "name": "indexedPosition", + "type": "i128", + "index": false }, { - name: 'depositIndex', - type: 'i128', - index: false, + "name": "depositIndex", + "type": "i128", + "index": false }, { - name: 'borrowIndex', - type: 'i128', - index: false, + "name": "borrowIndex", + "type": "i128", + "index": false }, { - name: 'price', - type: 'i128', - index: false, - }, - ], + "name": "price", + "type": "i128", + "index": false + } + ] }, { - name: 'MarginTradeLog', - fields: [ + "name": "MarginTradeLog", + "fields": [ { - name: 'mangoAccount', - type: 'publicKey', - index: false, + "name": "mangoAccount", + "type": "publicKey", + "index": false }, { - name: 'tokenIndexes', - type: { - vec: 'u16', + "name": "tokenIndexes", + "type": { + "vec": "u16" }, - index: false, + "index": false }, { - name: 'preIndexedPositions', - type: { - vec: 'i128', + "name": "preIndexedPositions", + "type": { + "vec": "i128" }, - index: false, + "index": false }, { - name: 'postIndexedPositions', - type: { - vec: 'i128', + "name": "postIndexedPositions", + "type": { + "vec": "i128" }, - index: false, - }, - ], + "index": false + } + ] }, { - name: 'FlashLoanLog', - fields: [ + "name": "FlashLoanLog", + "fields": [ { - name: 'mangoAccount', - type: 'publicKey', - index: false, + "name": "mangoAccount", + "type": "publicKey", + "index": false }, { - name: 'tokenLoanDetails', - type: { - vec: { - defined: 'FlashLoanTokenDetail', - }, + "name": "tokenLoanDetails", + "type": { + "vec": { + "defined": "FlashLoanTokenDetail" + } }, - index: false, - }, - ], + "index": false + } + ] }, { - name: 'WithdrawLog', - fields: [ + "name": "WithdrawLog", + "fields": [ { - name: 'mangoAccount', - type: 'publicKey', - index: false, + "name": "mangoAccount", + "type": "publicKey", + "index": false }, { - name: 'signer', - type: 'publicKey', - index: false, + "name": "signer", + "type": "publicKey", + "index": false }, { - name: 'tokenIndex', - type: 'u16', - index: false, + "name": "tokenIndex", + "type": "u16", + "index": false }, { - name: 'quantity', - type: 'u64', - index: false, + "name": "quantity", + "type": "u64", + "index": false }, { - name: 'price', - type: 'i128', - index: false, - }, - ], + "name": "price", + "type": "i128", + "index": false + } + ] }, { - name: 'DepositLog', - fields: [ + "name": "DepositLog", + "fields": [ { - name: 'mangoAccount', - type: 'publicKey', - index: false, + "name": "mangoAccount", + "type": "publicKey", + "index": false }, { - name: 'signer', - type: 'publicKey', - index: false, + "name": "signer", + "type": "publicKey", + "index": false }, { - name: 'tokenIndex', - type: 'u16', - index: false, + "name": "tokenIndex", + "type": "u16", + "index": false }, { - name: 'quantity', - type: 'u64', - index: false, + "name": "quantity", + "type": "u64", + "index": false }, { - name: 'price', - type: 'i128', - index: false, - }, - ], + "name": "price", + "type": "i128", + "index": false + } + ] }, { - name: 'FillLog', - fields: [ + "name": "FillLog", + "fields": [ { - name: 'mangoGroup', - type: 'publicKey', - index: false, + "name": "mangoGroup", + "type": "publicKey", + "index": false }, { - name: 'marketIndex', - type: 'u16', - index: false, + "name": "marketIndex", + "type": "u16", + "index": false }, { - name: 'takerSide', - type: 'u8', - index: false, + "name": "takerSide", + "type": "u8", + "index": false }, { - name: 'makerSlot', - type: 'u8', - index: false, + "name": "makerSlot", + "type": "u8", + "index": false }, { - name: 'marketFeesApplied', - type: 'bool', - index: false, + "name": "marketFeesApplied", + "type": "bool", + "index": false }, { - name: 'makerOut', - type: 'bool', - index: false, + "name": "makerOut", + "type": "bool", + "index": false }, { - name: 'timestamp', - type: 'u64', - index: false, + "name": "timestamp", + "type": "u64", + "index": false }, { - name: 'seqNum', - type: 'u64', - index: false, + "name": "seqNum", + "type": "u64", + "index": false }, { - name: 'maker', - type: 'publicKey', - index: false, + "name": "maker", + "type": "publicKey", + "index": false }, { - name: 'makerOrderId', - type: 'i128', - index: false, + "name": "makerOrderId", + "type": "i128", + "index": false }, { - name: 'makerClientOrderId', - type: 'u64', - index: false, + "name": "makerClientOrderId", + "type": "u64", + "index": false }, { - name: 'makerFee', - type: 'i128', - index: false, + "name": "makerFee", + "type": "i128", + "index": false }, { - name: 'makerTimestamp', - type: 'u64', - index: false, + "name": "makerTimestamp", + "type": "u64", + "index": false }, { - name: 'taker', - type: 'publicKey', - index: false, + "name": "taker", + "type": "publicKey", + "index": false }, { - name: 'takerOrderId', - type: 'i128', - index: false, + "name": "takerOrderId", + "type": "i128", + "index": false }, { - name: 'takerClientOrderId', - type: 'u64', - index: false, + "name": "takerClientOrderId", + "type": "u64", + "index": false }, { - name: 'takerFee', - type: 'i128', - index: false, + "name": "takerFee", + "type": "i128", + "index": false }, { - name: 'price', - type: 'i64', - index: false, + "name": "price", + "type": "i64", + "index": false }, { - name: 'quantity', - type: 'i64', - index: false, - }, - ], + "name": "quantity", + "type": "i64", + "index": false + } + ] }, { - name: 'UpdateFundingLog', - fields: [ + "name": "UpdateFundingLog", + "fields": [ { - name: 'mangoGroup', - type: 'publicKey', - index: false, + "name": "mangoGroup", + "type": "publicKey", + "index": false }, { - name: 'marketIndex', - type: 'u16', - index: false, + "name": "marketIndex", + "type": "u16", + "index": false }, { - name: 'longFunding', - type: 'i128', - index: false, + "name": "longFunding", + "type": "i128", + "index": false }, { - name: 'shortFunding', - type: 'i128', - index: false, + "name": "shortFunding", + "type": "i128", + "index": false }, { - name: 'price', - type: 'i128', - index: false, - }, - ], + "name": "price", + "type": "i128", + "index": false + } + ] }, { - name: 'UpdateIndexLog', - fields: [ + "name": "UpdateIndexLog", + "fields": [ { - name: 'mangoGroup', - type: 'publicKey', - index: false, + "name": "mangoGroup", + "type": "publicKey", + "index": false }, { - name: 'tokenIndex', - type: 'u16', - index: false, + "name": "tokenIndex", + "type": "u16", + "index": false }, { - name: 'depositIndex', - type: 'i128', - index: false, + "name": "depositIndex", + "type": "i128", + "index": false }, { - name: 'borrowIndex', - type: 'i128', - index: false, + "name": "borrowIndex", + "type": "i128", + "index": false }, { - name: 'avgUtilization', - type: 'i128', - index: false, + "name": "avgUtilization", + "type": "i128", + "index": false }, { - name: 'price', - type: 'i128', - index: false, - }, - ], + "name": "price", + "type": "i128", + "index": false + } + ] }, { - name: 'UpdateRateLog', - fields: [ + "name": "UpdateRateLog", + "fields": [ { - name: 'mangoGroup', - type: 'publicKey', - index: false, + "name": "mangoGroup", + "type": "publicKey", + "index": false }, { - name: 'tokenIndex', - type: 'u16', - index: false, + "name": "tokenIndex", + "type": "u16", + "index": false }, { - name: 'rate0', - type: 'i128', - index: false, + "name": "rate0", + "type": "i128", + "index": false }, { - name: 'rate1', - type: 'i128', - index: false, + "name": "rate1", + "type": "i128", + "index": false }, { - name: 'maxRate', - type: 'i128', - index: false, - }, - ], + "name": "maxRate", + "type": "i128", + "index": false + } + ] }, { - name: 'LiquidateTokenAndTokenLog', - fields: [ + "name": "LiquidateTokenAndTokenLog", + "fields": [ { - name: 'liqee', - type: 'publicKey', - index: false, + "name": "liqee", + "type": "publicKey", + "index": false }, { - name: 'liqor', - type: 'publicKey', - index: false, + "name": "liqor", + "type": "publicKey", + "index": false }, { - name: 'assetTokenIndex', - type: 'u16', - index: false, + "name": "assetTokenIndex", + "type": "u16", + "index": false }, { - name: 'liabTokenIndex', - type: 'u16', - index: false, + "name": "liabTokenIndex", + "type": "u16", + "index": false }, { - name: 'assetTransfer', - type: 'i128', - index: false, + "name": "assetTransfer", + "type": "i128", + "index": false }, { - name: 'liabTransfer', - type: 'i128', - index: false, + "name": "liabTransfer", + "type": "i128", + "index": false }, { - name: 'assetPrice', - type: 'i128', - index: false, + "name": "assetPrice", + "type": "i128", + "index": false }, { - name: 'liabPrice', - type: 'i128', - index: false, - }, - ], + "name": "liabPrice", + "type": "i128", + "index": false + } + ] }, { - name: 'OpenOrdersBalanceLog', - fields: [ + "name": "OpenOrdersBalanceLog", + "fields": [ { - name: 'mangoGroup', - type: 'publicKey', - index: false, + "name": "mangoGroup", + "type": "publicKey", + "index": false }, { - name: 'mangoAccount', - type: 'publicKey', - index: false, + "name": "mangoAccount", + "type": "publicKey", + "index": false }, { - name: 'marketIndex', - type: 'u16', - index: false, + "name": "marketIndex", + "type": "u16", + "index": false }, { - name: 'baseTotal', - type: 'u64', - index: false, + "name": "baseTotal", + "type": "u64", + "index": false }, { - name: 'baseFree', - type: 'u64', - index: false, + "name": "baseFree", + "type": "u64", + "index": false }, { - name: 'quoteTotal', - type: 'u64', - index: false, + "name": "quoteTotal", + "type": "u64", + "index": false }, { - name: 'quoteFree', - type: 'u64', - index: false, + "name": "quoteFree", + "type": "u64", + "index": false }, { - name: 'referrerRebatesAccrued', - type: 'u64', - index: false, + "name": "referrerRebatesAccrued", + "type": "u64", + "index": false }, { - name: 'price', - type: 'i128', - index: false, - }, - ], - }, + "name": "price", + "type": "i128", + "index": false + } + ] + } ], - errors: [ + "errors": [ { - code: 6000, - name: 'SomeError', - msg: '', + "code": 6000, + "name": "SomeError", + "msg": "" }, { - code: 6001, - name: 'MathError', - msg: 'checked math error', + "code": 6001, + "name": "MathError", + "msg": "checked math error" }, { - code: 6002, - name: 'UnexpectedOracle', - msg: '', + "code": 6002, + "name": "UnexpectedOracle", + "msg": "" }, { - code: 6003, - name: 'UnknownOracleType', - msg: 'oracle type cannot be determined', + "code": 6003, + "name": "UnknownOracleType", + "msg": "oracle type cannot be determined" }, { - code: 6004, - name: 'InvalidFlashLoanTargetCpiProgram', - msg: '', + "code": 6004, + "name": "InvalidFlashLoanTargetCpiProgram", + "msg": "" }, { - code: 6005, - name: 'HealthMustBePositive', - msg: 'health must be positive', + "code": 6005, + "name": "HealthMustBePositive", + "msg": "health must be positive" }, { - code: 6006, - name: 'IsBankrupt', - msg: 'the account is bankrupt', + "code": 6006, + "name": "IsBankrupt", + "msg": "the account is bankrupt" }, { - code: 6007, - name: 'IsNotBankrupt', - msg: 'the account is not bankrupt', + "code": 6007, + "name": "IsNotBankrupt", + "msg": "the account is not bankrupt" }, { - code: 6008, - name: 'NoFreeTokenPositionIndex', - msg: 'no free token position index', + "code": 6008, + "name": "NoFreeTokenPositionIndex", + "msg": "no free token position index" }, { - code: 6009, - name: 'NoFreeSerum3OpenOrdersIndex', - msg: 'no free serum3 open orders index', + "code": 6009, + "name": "NoFreeSerum3OpenOrdersIndex", + "msg": "no free serum3 open orders index" }, { - code: 6010, - name: 'NoFreePerpPositionIndex', - msg: 'no free perp position index', + "code": 6010, + "name": "NoFreePerpPositionIndex", + "msg": "no free perp position index" }, { - code: 6011, - name: 'Serum3OpenOrdersExistAlready', - msg: 'serum3 open orders exist already', - }, - ], + "code": 6011, + "name": "Serum3OpenOrdersExistAlready", + "msg": "serum3 open orders exist already" + } + ] };