Created
April 1, 2025 09:42
-
-
Save yongkangc/d8a41007dcf4a82bb3feff94f12fbd2c to your computer and use it in GitHub Desktop.
drift idl
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"version": "2.114.0", | |
"name": "drift", | |
"instructions": [ | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "payer" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "rent" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "systemProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "subAccountId", | |
"type": "u16" | |
}, | |
{ | |
"name": "name", | |
"type": { | |
"array": [ | |
"u8", | |
32 | |
] | |
} | |
} | |
], | |
"name": "initializeUser" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "payer" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "rent" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "systemProgram" | |
} | |
], | |
"args": [], | |
"name": "initializeUserStats" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "signedMsgUserOrders" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "payer" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "rent" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "systemProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "numOrders", | |
"type": "u16" | |
} | |
], | |
"name": "initializeSignedMsgUserOrders" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "signedMsgUserOrders" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "authority" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "payer" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "systemProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "numOrders", | |
"type": "u16" | |
} | |
], | |
"name": "resizeSignedMsgUserOrders" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "signedMsgWsDelegates" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "rent" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "systemProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "delegates", | |
"type": { | |
"vec": "publicKey" | |
} | |
} | |
], | |
"name": "initializeSignedMsgWsDelegates" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "signedMsgWsDelegates" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "systemProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "delegate", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "add", | |
"type": "bool" | |
} | |
], | |
"name": "changeSignedMsgWsDelegateStatus" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "fuelOverflow" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "payer" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "rent" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "systemProgram" | |
} | |
], | |
"args": [], | |
"name": "initializeFuelOverflow" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "fuelOverflow" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "authority" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "signer" | |
} | |
], | |
"args": [], | |
"name": "sweepFuel" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "authority" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
} | |
], | |
"args": [], | |
"name": "resetFuelSeason" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "referrerName" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "payer" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "rent" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "systemProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "name", | |
"type": { | |
"array": [ | |
"u8", | |
32 | |
] | |
} | |
} | |
], | |
"name": "initializeReferrerName" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarketVault" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userTokenAccount" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "tokenProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "amount", | |
"type": "u64" | |
}, | |
{ | |
"name": "reduceOnly", | |
"type": "bool" | |
} | |
], | |
"name": "deposit" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarketVault" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "driftSigner" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userTokenAccount" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "tokenProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "amount", | |
"type": "u64" | |
}, | |
{ | |
"name": "reduceOnly", | |
"type": "bool" | |
} | |
], | |
"name": "withdraw" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "fromUser" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "toUser" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "spotMarketVault" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "amount", | |
"type": "u64" | |
} | |
], | |
"name": "transferDeposit" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "fromUser" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "toUser" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "depositFromSpotMarketVault" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "depositToSpotMarketVault" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "borrowFromSpotMarketVault" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "borrowToSpotMarketVault" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "driftSigner" | |
} | |
], | |
"args": [ | |
{ | |
"name": "depositFromMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "depositToMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "borrowFromMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "borrowToMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "depositAmount", | |
"type": { | |
"option": "u64" | |
} | |
}, | |
{ | |
"name": "borrowAmount", | |
"type": { | |
"option": "u64" | |
} | |
} | |
], | |
"name": "transferPools" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "fromUser" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "toUser" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "amount", | |
"type": { | |
"option": "i64" | |
} | |
} | |
], | |
"name": "transferPerpPosition" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [ | |
{ | |
"name": "params", | |
"type": { | |
"defined": "OrderParams" | |
} | |
} | |
], | |
"name": "placePerpOrder" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [ | |
{ | |
"name": "orderId", | |
"type": { | |
"option": "u32" | |
} | |
} | |
], | |
"name": "cancelOrder" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [ | |
{ | |
"name": "userOrderId", | |
"type": "u8" | |
} | |
], | |
"name": "cancelOrderByUserId" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marketType", | |
"type": { | |
"option": { | |
"defined": "MarketType" | |
} | |
} | |
}, | |
{ | |
"name": "marketIndex", | |
"type": { | |
"option": "u16" | |
} | |
}, | |
{ | |
"name": "direction", | |
"type": { | |
"option": { | |
"defined": "PositionDirection" | |
} | |
} | |
} | |
], | |
"name": "cancelOrders" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [ | |
{ | |
"name": "orderIds", | |
"type": { | |
"vec": "u32" | |
} | |
} | |
], | |
"name": "cancelOrdersByIds" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [ | |
{ | |
"name": "orderId", | |
"type": { | |
"option": "u32" | |
} | |
}, | |
{ | |
"name": "modifyOrderParams", | |
"type": { | |
"defined": "ModifyOrderParams" | |
} | |
} | |
], | |
"name": "modifyOrder" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [ | |
{ | |
"name": "userOrderId", | |
"type": "u8" | |
}, | |
{ | |
"name": "modifyOrderParams", | |
"type": { | |
"defined": "ModifyOrderParams" | |
} | |
} | |
], | |
"name": "modifyOrderByUserId" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [ | |
{ | |
"name": "params", | |
"type": { | |
"defined": "OrderParams" | |
} | |
}, | |
{ | |
"name": "successCondition", | |
"type": { | |
"option": "u32" | |
} | |
} | |
], | |
"name": "placeAndTakePerpOrder" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "taker" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "takerStats" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [ | |
{ | |
"name": "params", | |
"type": { | |
"defined": "OrderParams" | |
} | |
}, | |
{ | |
"name": "takerOrderId", | |
"type": "u32" | |
} | |
], | |
"name": "placeAndMakePerpOrder" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "taker" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "takerStats" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "takerSignedMsgUserOrders" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [ | |
{ | |
"name": "params", | |
"type": { | |
"defined": "OrderParams" | |
} | |
}, | |
{ | |
"name": "signedMsgOrderUuid", | |
"type": { | |
"array": [ | |
"u8", | |
8 | |
] | |
} | |
} | |
], | |
"name": "placeAndMakeSignedMsgPerpOrder" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "signedMsgUserOrders" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"docs": [ | |
"the supplied Sysvar could be anything else.", | |
"The Instruction Sysvar has not been implemented", | |
"in the Anchor framework yet, so this is the safe approach." | |
], | |
"isMut": false, | |
"isSigner": false, | |
"name": "ixSysvar" | |
} | |
], | |
"args": [ | |
{ | |
"name": "signedMsgOrderParamsMessageBytes", | |
"type": "bytes" | |
}, | |
{ | |
"name": "isDelegateSigner", | |
"type": "bool" | |
} | |
], | |
"name": "placeSignedMsgTakerOrder" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [ | |
{ | |
"name": "params", | |
"type": { | |
"defined": "OrderParams" | |
} | |
} | |
], | |
"name": "placeSpotOrder" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [ | |
{ | |
"name": "params", | |
"type": { | |
"defined": "OrderParams" | |
} | |
}, | |
{ | |
"name": "fulfillmentType", | |
"type": { | |
"option": { | |
"defined": "SpotFulfillmentType" | |
} | |
} | |
}, | |
{ | |
"name": "makerOrderId", | |
"type": { | |
"option": "u32" | |
} | |
} | |
], | |
"name": "placeAndTakeSpotOrder" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "taker" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "takerStats" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [ | |
{ | |
"name": "params", | |
"type": { | |
"defined": "OrderParams" | |
} | |
}, | |
{ | |
"name": "takerOrderId", | |
"type": "u32" | |
}, | |
{ | |
"name": "fulfillmentType", | |
"type": { | |
"option": { | |
"defined": "SpotFulfillmentType" | |
} | |
} | |
} | |
], | |
"name": "placeAndMakeSpotOrder" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [ | |
{ | |
"name": "params", | |
"type": { | |
"vec": { | |
"defined": "OrderParams" | |
} | |
} | |
} | |
], | |
"name": "placeOrders" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "outSpotMarketVault" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "inSpotMarketVault" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "outTokenAccount" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "inTokenAccount" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "tokenProgram" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "driftSigner" | |
}, | |
{ | |
"docs": [ | |
"Instructions Sysvar for instruction introspection" | |
], | |
"isMut": false, | |
"isSigner": false, | |
"name": "instructions" | |
} | |
], | |
"args": [ | |
{ | |
"name": "inMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "outMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "amountIn", | |
"type": "u64" | |
} | |
], | |
"name": "beginSwap" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "outSpotMarketVault" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "inSpotMarketVault" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "outTokenAccount" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "inTokenAccount" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "tokenProgram" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "driftSigner" | |
}, | |
{ | |
"docs": [ | |
"Instructions Sysvar for instruction introspection" | |
], | |
"isMut": false, | |
"isSigner": false, | |
"name": "instructions" | |
} | |
], | |
"args": [ | |
{ | |
"name": "inMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "outMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "limitPrice", | |
"type": { | |
"option": "u64" | |
} | |
}, | |
{ | |
"name": "reduceOnly", | |
"type": { | |
"option": { | |
"defined": "SwapReduceOnly" | |
} | |
} | |
} | |
], | |
"name": "endSwap" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [ | |
{ | |
"name": "nShares", | |
"type": "u64" | |
}, | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
} | |
], | |
"name": "addPerpLpShares" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [ | |
{ | |
"name": "sharesToBurn", | |
"type": "u64" | |
}, | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
} | |
], | |
"name": "removePerpLpShares" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
} | |
], | |
"args": [ | |
{ | |
"name": "sharesToBurn", | |
"type": "u64" | |
}, | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
} | |
], | |
"name": "removePerpLpSharesInExpiringMarket" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [ | |
{ | |
"name": "subAccountId", | |
"type": "u16" | |
}, | |
{ | |
"name": "name", | |
"type": { | |
"array": [ | |
"u8", | |
32 | |
] | |
} | |
} | |
], | |
"name": "updateUserName" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [ | |
{ | |
"name": "subAccountId", | |
"type": "u16" | |
}, | |
{ | |
"name": "marginRatio", | |
"type": "u32" | |
} | |
], | |
"name": "updateUserCustomMarginRatio" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [ | |
{ | |
"name": "subAccountId", | |
"type": "u16" | |
}, | |
{ | |
"name": "marginTradingEnabled", | |
"type": "bool" | |
} | |
], | |
"name": "updateUserMarginTradingEnabled" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [ | |
{ | |
"name": "subAccountId", | |
"type": "u16" | |
}, | |
{ | |
"name": "poolId", | |
"type": "u8" | |
} | |
], | |
"name": "updateUserPoolId" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [ | |
{ | |
"name": "subAccountId", | |
"type": "u16" | |
}, | |
{ | |
"name": "delegate", | |
"type": "publicKey" | |
} | |
], | |
"name": "updateUserDelegate" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [ | |
{ | |
"name": "subAccountId", | |
"type": "u16" | |
}, | |
{ | |
"name": "reduceOnly", | |
"type": "bool" | |
} | |
], | |
"name": "updateUserReduceOnly" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [ | |
{ | |
"name": "subAccountId", | |
"type": "u16" | |
}, | |
{ | |
"name": "advancedLp", | |
"type": "bool" | |
} | |
], | |
"name": "updateUserAdvancedLp" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "protectedMakerModeConfig" | |
} | |
], | |
"args": [ | |
{ | |
"name": "subAccountId", | |
"type": "u16" | |
}, | |
{ | |
"name": "protectedMakerOrders", | |
"type": "bool" | |
} | |
], | |
"name": "updateUserProtectedMakerOrders" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [], | |
"name": "deleteUser" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "keeper" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "driftSigner" | |
} | |
], | |
"args": [], | |
"name": "forceDeleteUser" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "signedMsgUserOrders" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [], | |
"name": "deleteSignedMsgUserOrders" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "rent" | |
} | |
], | |
"args": [], | |
"name": "reclaimRent" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "highLeverageModeConfig" | |
} | |
], | |
"args": [ | |
{ | |
"name": "subAccountId", | |
"type": "u16" | |
} | |
], | |
"name": "enableUserHighLeverageMode" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "filler" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "fillerStats" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
} | |
], | |
"args": [ | |
{ | |
"name": "orderId", | |
"type": { | |
"option": "u32" | |
} | |
}, | |
{ | |
"name": "makerOrderId", | |
"type": { | |
"option": "u32" | |
} | |
} | |
], | |
"name": "fillPerpOrder" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "filler" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "fillerStats" | |
} | |
], | |
"args": [], | |
"name": "revertFill" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "filler" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "fillerStats" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
} | |
], | |
"args": [ | |
{ | |
"name": "orderId", | |
"type": { | |
"option": "u32" | |
} | |
}, | |
{ | |
"name": "fulfillmentType", | |
"type": { | |
"option": { | |
"defined": "SpotFulfillmentType" | |
} | |
} | |
}, | |
{ | |
"name": "makerOrderId", | |
"type": { | |
"option": "u32" | |
} | |
} | |
], | |
"name": "fillSpotOrder" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "filler" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
} | |
], | |
"args": [ | |
{ | |
"name": "orderId", | |
"type": "u32" | |
} | |
], | |
"name": "triggerOrder" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "filler" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
} | |
], | |
"args": [], | |
"name": "forceCancelOrders" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "filler" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
} | |
], | |
"args": [], | |
"name": "updateUserIdle" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
} | |
], | |
"args": [], | |
"name": "logUserBalances" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "highLeverageModeConfig" | |
} | |
], | |
"args": [], | |
"name": "disableUserHighLeverageMode" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
} | |
], | |
"args": [], | |
"name": "updateUserFuelBonus" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
} | |
], | |
"args": [], | |
"name": "updateUserStatsReferrerStatus" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "filler" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
} | |
], | |
"args": [], | |
"name": "updateUserOpenOrdersCount" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
} | |
], | |
"args": [ | |
{ | |
"name": "disable", | |
"type": "bool" | |
} | |
], | |
"name": "adminDisableUpdatePerpBidAskTwap" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "spotMarketVault" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
} | |
], | |
"name": "settlePnl" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "spotMarketVault" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marketIndexes", | |
"type": { | |
"vec": "u16" | |
} | |
}, | |
{ | |
"name": "mode", | |
"type": { | |
"defined": "SettlePnlMode" | |
} | |
} | |
], | |
"name": "settleMultiplePnls" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
} | |
], | |
"args": [], | |
"name": "settleFundingPayment" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
} | |
], | |
"name": "settleLp" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
} | |
], | |
"name": "settleExpiredMarket" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "liquidator" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "liquidatorStats" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "liquidatorMaxBaseAssetAmount", | |
"type": "u64" | |
}, | |
{ | |
"name": "limitPrice", | |
"type": { | |
"option": "u64" | |
} | |
} | |
], | |
"name": "liquidatePerp" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "liquidator" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "liquidatorStats" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
} | |
], | |
"name": "liquidatePerpWithFill" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "liquidator" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "liquidatorStats" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
} | |
], | |
"args": [ | |
{ | |
"name": "assetMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "liabilityMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "liquidatorMaxLiabilityTransfer", | |
"type": "u128" | |
}, | |
{ | |
"name": "limitPrice", | |
"type": { | |
"option": "u64" | |
} | |
} | |
], | |
"name": "liquidateSpot" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "liquidator" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "liquidatorStats" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "liabilitySpotMarketVault" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "assetSpotMarketVault" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "liabilityTokenAccount" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "assetTokenAccount" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "tokenProgram" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "driftSigner" | |
}, | |
{ | |
"docs": [ | |
"Instructions Sysvar for instruction introspection" | |
], | |
"isMut": false, | |
"isSigner": false, | |
"name": "instructions" | |
} | |
], | |
"args": [ | |
{ | |
"name": "assetMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "liabilityMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "swapAmount", | |
"type": "u64" | |
} | |
], | |
"name": "liquidateSpotWithSwapBegin" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "liquidator" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "liquidatorStats" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "liabilitySpotMarketVault" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "assetSpotMarketVault" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "liabilityTokenAccount" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "assetTokenAccount" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "tokenProgram" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "driftSigner" | |
}, | |
{ | |
"docs": [ | |
"Instructions Sysvar for instruction introspection" | |
], | |
"isMut": false, | |
"isSigner": false, | |
"name": "instructions" | |
} | |
], | |
"args": [ | |
{ | |
"name": "assetMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "liabilityMarketIndex", | |
"type": "u16" | |
} | |
], | |
"name": "liquidateSpotWithSwapEnd" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "liquidator" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "liquidatorStats" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
} | |
], | |
"args": [ | |
{ | |
"name": "perpMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "spotMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "liquidatorMaxLiabilityTransfer", | |
"type": "u128" | |
}, | |
{ | |
"name": "limitPrice", | |
"type": { | |
"option": "u64" | |
} | |
} | |
], | |
"name": "liquidateBorrowForPerpPnl" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "liquidator" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "liquidatorStats" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
} | |
], | |
"args": [ | |
{ | |
"name": "perpMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "spotMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "liquidatorMaxPnlTransfer", | |
"type": "u128" | |
}, | |
{ | |
"name": "limitPrice", | |
"type": { | |
"option": "u64" | |
} | |
} | |
], | |
"name": "liquidatePerpPnlForDeposit" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [], | |
"name": "setUserStatusToBeingLiquidated" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarketVault" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "insuranceFundVault" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "driftSigner" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "tokenProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "spotMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "perpMarketIndex", | |
"type": "u16" | |
} | |
], | |
"name": "resolvePerpPnlDeficit" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "liquidator" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "liquidatorStats" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarketVault" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "insuranceFundVault" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "driftSigner" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "tokenProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "quoteSpotMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
} | |
], | |
"name": "resolvePerpBankruptcy" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "liquidator" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "liquidatorStats" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarketVault" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "insuranceFundVault" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "driftSigner" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "tokenProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
} | |
], | |
"name": "resolveSpotBankruptcy" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarketVault" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "driftSigner" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "insuranceFundVault" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "tokenProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "spotMarketIndex", | |
"type": "u16" | |
} | |
], | |
"name": "settleRevenueToInsuranceFund" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "oracle" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
} | |
], | |
"name": "updateFundingRate" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "perpMarket" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "oracle" | |
} | |
], | |
"args": [], | |
"name": "updatePrelaunchOracle" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "oracle" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "keeperStats" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [], | |
"name": "updatePerpBidAskTwap" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "oracle" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "spotMarketVault" | |
} | |
], | |
"args": [], | |
"name": "updateSpotMarketCumulativeInterest" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marketIndexes", | |
"type": { | |
"array": [ | |
"u16", | |
5 | |
] | |
} | |
} | |
], | |
"name": "updateAmms" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "expiryTs", | |
"type": "i64" | |
} | |
], | |
"name": "updateSpotMarketExpiry" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "insuranceFundStake" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "signer" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "insuranceFundVault" | |
} | |
], | |
"args": [], | |
"name": "updateUserQuoteAssetInsuranceStake" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "insuranceFundStake" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "signer" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "insuranceFundVault" | |
} | |
], | |
"args": [], | |
"name": "updateUserGovTokenInsuranceStake" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "signer" | |
} | |
], | |
"args": [ | |
{ | |
"name": "govStakeAmount", | |
"type": "u64" | |
} | |
], | |
"name": "updateUserGovTokenInsuranceStakeDevnet" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "spotMarket" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "insuranceFundStake" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "payer" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "rent" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "systemProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
} | |
], | |
"name": "initializeInsuranceFundStake" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "insuranceFundStake" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarketVault" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "insuranceFundVault" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "driftSigner" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userTokenAccount" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "tokenProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "amount", | |
"type": "u64" | |
} | |
], | |
"name": "addInsuranceFundStake" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "insuranceFundStake" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "insuranceFundVault" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "amount", | |
"type": "u64" | |
} | |
], | |
"name": "requestRemoveInsuranceFundStake" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "insuranceFundStake" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "insuranceFundVault" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
} | |
], | |
"name": "cancelRequestRemoveInsuranceFundStake" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "insuranceFundStake" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "insuranceFundVault" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "driftSigner" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userTokenAccount" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "tokenProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
} | |
], | |
"name": "removeInsuranceFundStake" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "signer" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "transferConfig" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "insuranceFundStake" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "insuranceFundVault" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "shares", | |
"type": "u128" | |
} | |
], | |
"name": "transferProtocolIfShares" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "keeper" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "pythSolanaReceiver" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "encodedVaa" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "priceFeed" | |
} | |
], | |
"args": [ | |
{ | |
"name": "feedId", | |
"type": { | |
"array": [ | |
"u8", | |
32 | |
] | |
} | |
}, | |
{ | |
"name": "params", | |
"type": "bytes" | |
} | |
], | |
"name": "updatePythPullOracle" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "keeper" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "pythSolanaReceiver" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "guardianSet" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "priceFeed" | |
} | |
], | |
"args": [ | |
{ | |
"name": "feedId", | |
"type": { | |
"array": [ | |
"u8", | |
32 | |
] | |
} | |
}, | |
{ | |
"name": "params", | |
"type": "bytes" | |
} | |
], | |
"name": "postPythPullOracleUpdateAtomic" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "keeper" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "pythSolanaReceiver" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "guardianSet" | |
} | |
], | |
"args": [ | |
{ | |
"name": "params", | |
"type": "bytes" | |
} | |
], | |
"name": "postMultiPythPullOracleUpdatesAtomic" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "keeper" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "spotMarketVault" | |
} | |
], | |
"args": [], | |
"name": "pauseSpotMarketDepositWithdraw" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "quoteAssetMint" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "driftSigner" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "rent" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "systemProgram" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "tokenProgram" | |
} | |
], | |
"args": [], | |
"name": "initialize" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "spotMarketMint" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarketVault" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "insuranceFundVault" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "driftSigner" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "oracle" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "rent" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "systemProgram" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "tokenProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "optimalUtilization", | |
"type": "u32" | |
}, | |
{ | |
"name": "optimalBorrowRate", | |
"type": "u32" | |
}, | |
{ | |
"name": "maxBorrowRate", | |
"type": "u32" | |
}, | |
{ | |
"name": "oracleSource", | |
"type": { | |
"defined": "OracleSource" | |
} | |
}, | |
{ | |
"name": "initialAssetWeight", | |
"type": "u32" | |
}, | |
{ | |
"name": "maintenanceAssetWeight", | |
"type": "u32" | |
}, | |
{ | |
"name": "initialLiabilityWeight", | |
"type": "u32" | |
}, | |
{ | |
"name": "maintenanceLiabilityWeight", | |
"type": "u32" | |
}, | |
{ | |
"name": "imfFactor", | |
"type": "u32" | |
}, | |
{ | |
"name": "liquidatorFee", | |
"type": "u32" | |
}, | |
{ | |
"name": "ifLiquidationFee", | |
"type": "u32" | |
}, | |
{ | |
"name": "activeStatus", | |
"type": "bool" | |
}, | |
{ | |
"name": "assetTier", | |
"type": { | |
"defined": "AssetTier" | |
} | |
}, | |
{ | |
"name": "scaleInitialAssetWeightStart", | |
"type": "u64" | |
}, | |
{ | |
"name": "withdrawGuardThreshold", | |
"type": "u64" | |
}, | |
{ | |
"name": "orderTickSize", | |
"type": "u64" | |
}, | |
{ | |
"name": "orderStepSize", | |
"type": "u64" | |
}, | |
{ | |
"name": "ifTotalFactor", | |
"type": "u32" | |
}, | |
{ | |
"name": "name", | |
"type": { | |
"array": [ | |
"u8", | |
32 | |
] | |
} | |
} | |
], | |
"name": "initializeSpotMarket" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarketVault" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "insuranceFundVault" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "driftSigner" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "tokenProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
} | |
], | |
"name": "deleteInitializedSpotMarket" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "baseSpotMarket" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "quoteSpotMarket" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "serumProgram" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "serumMarket" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "serumOpenOrders" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "driftSigner" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "serumFulfillmentConfig" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "rent" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "systemProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
} | |
], | |
"name": "initializeSerumFulfillmentConfig" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "serumFulfillmentConfig" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "admin" | |
} | |
], | |
"args": [ | |
{ | |
"name": "status", | |
"type": { | |
"defined": "SpotFulfillmentConfigStatus" | |
} | |
} | |
], | |
"name": "updateSerumFulfillmentConfigStatus" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "baseSpotMarket" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "quoteSpotMarket" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "openbookV2Program" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "openbookV2Market" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "driftSigner" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "openbookV2FulfillmentConfig" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "rent" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "systemProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
} | |
], | |
"name": "initializeOpenbookV2FulfillmentConfig" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "openbookV2FulfillmentConfig" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "admin" | |
} | |
], | |
"args": [ | |
{ | |
"name": "status", | |
"type": { | |
"defined": "SpotFulfillmentConfigStatus" | |
} | |
} | |
], | |
"name": "openbookV2FulfillmentConfigStatus" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "baseSpotMarket" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "quoteSpotMarket" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "phoenixProgram" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "phoenixMarket" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "driftSigner" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "phoenixFulfillmentConfig" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "rent" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "systemProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
} | |
], | |
"name": "initializePhoenixFulfillmentConfig" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "phoenixFulfillmentConfig" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "admin" | |
} | |
], | |
"args": [ | |
{ | |
"name": "status", | |
"type": { | |
"defined": "SpotFulfillmentConfigStatus" | |
} | |
} | |
], | |
"name": "phoenixFulfillmentConfigStatus" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "srmVault" | |
} | |
], | |
"args": [], | |
"name": "updateSerumVault" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "oracle" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "rent" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "systemProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "ammBaseAssetReserve", | |
"type": "u128" | |
}, | |
{ | |
"name": "ammQuoteAssetReserve", | |
"type": "u128" | |
}, | |
{ | |
"name": "ammPeriodicity", | |
"type": "i64" | |
}, | |
{ | |
"name": "ammPegMultiplier", | |
"type": "u128" | |
}, | |
{ | |
"name": "oracleSource", | |
"type": { | |
"defined": "OracleSource" | |
} | |
}, | |
{ | |
"name": "contractTier", | |
"type": { | |
"defined": "ContractTier" | |
} | |
}, | |
{ | |
"name": "marginRatioInitial", | |
"type": "u32" | |
}, | |
{ | |
"name": "marginRatioMaintenance", | |
"type": "u32" | |
}, | |
{ | |
"name": "liquidatorFee", | |
"type": "u32" | |
}, | |
{ | |
"name": "ifLiquidationFee", | |
"type": "u32" | |
}, | |
{ | |
"name": "imfFactor", | |
"type": "u32" | |
}, | |
{ | |
"name": "activeStatus", | |
"type": "bool" | |
}, | |
{ | |
"name": "baseSpread", | |
"type": "u32" | |
}, | |
{ | |
"name": "maxSpread", | |
"type": "u32" | |
}, | |
{ | |
"name": "maxOpenInterest", | |
"type": "u128" | |
}, | |
{ | |
"name": "maxRevenueWithdrawPerPeriod", | |
"type": "u64" | |
}, | |
{ | |
"name": "quoteMaxInsurance", | |
"type": "u64" | |
}, | |
{ | |
"name": "orderStepSize", | |
"type": "u64" | |
}, | |
{ | |
"name": "orderTickSize", | |
"type": "u64" | |
}, | |
{ | |
"name": "minOrderSize", | |
"type": "u64" | |
}, | |
{ | |
"name": "concentrationCoefScale", | |
"type": "u128" | |
}, | |
{ | |
"name": "curveUpdateIntensity", | |
"type": "u8" | |
}, | |
{ | |
"name": "ammJitIntensity", | |
"type": "u8" | |
}, | |
{ | |
"name": "name", | |
"type": { | |
"array": [ | |
"u8", | |
32 | |
] | |
} | |
} | |
], | |
"name": "initializePerpMarket" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [], | |
"name": "initializePredictionMarket" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
} | |
], | |
"name": "deleteInitializedPerpMarket" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "baseAssetReserve", | |
"type": "u128" | |
}, | |
{ | |
"name": "quoteAssetReserve", | |
"type": "u128" | |
}, | |
{ | |
"name": "sqrtK", | |
"type": "u128" | |
} | |
], | |
"name": "moveAmmPrice" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "pegMultiplier", | |
"type": "u128" | |
}, | |
{ | |
"name": "sqrtK", | |
"type": "u128" | |
} | |
], | |
"name": "recenterPerpMarketAmm" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "spotMarket" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "oracle" | |
} | |
], | |
"args": [ | |
{ | |
"name": "params", | |
"type": { | |
"defined": "UpdatePerpMarketSummaryStatsParams" | |
} | |
} | |
], | |
"name": "updatePerpMarketAmmSummaryStats" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "expiryTs", | |
"type": "i64" | |
} | |
], | |
"name": "updatePerpMarketExpiry" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [], | |
"name": "settleExpiredMarketPoolsToRevenuePool" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "sourceVault" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "driftSigner" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "quoteSpotMarket" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarketVault" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "tokenProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "amount", | |
"type": "u64" | |
} | |
], | |
"name": "depositIntoPerpMarketFeePool" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "sourceVault" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarketVault" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "tokenProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "amount", | |
"type": "u64" | |
} | |
], | |
"name": "depositIntoSpotMarketVault" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "authority" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarketVault" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userTokenAccount" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "tokenProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "amount", | |
"type": "u64" | |
} | |
], | |
"name": "depositIntoSpotMarketRevenuePool" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "oracle" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
} | |
], | |
"args": [ | |
{ | |
"name": "newPegCandidate", | |
"type": "u128" | |
} | |
], | |
"name": "repegAmmCurve" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "oracle" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
} | |
], | |
"args": [], | |
"name": "updatePerpMarketAmmOracleTwap" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "oracle" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
} | |
], | |
"args": [], | |
"name": "resetPerpMarketAmmOracleTwap" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "oracle" | |
} | |
], | |
"args": [ | |
{ | |
"name": "sqrtK", | |
"type": "u128" | |
} | |
], | |
"name": "updateK" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marginRatioInitial", | |
"type": "u32" | |
}, | |
{ | |
"name": "marginRatioMaintenance", | |
"type": "u32" | |
} | |
], | |
"name": "updatePerpMarketMarginRatio" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "marginRatioInitial", | |
"type": "u16" | |
}, | |
{ | |
"name": "marginRatioMaintenance", | |
"type": "u16" | |
} | |
], | |
"name": "updatePerpMarketHighLeverageMarginRatio" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "fundingPeriod", | |
"type": "i64" | |
} | |
], | |
"name": "updatePerpMarketFundingPeriod" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "unrealizedMaxImbalance", | |
"type": "u64" | |
}, | |
{ | |
"name": "maxRevenueWithdrawPerPeriod", | |
"type": "u64" | |
}, | |
{ | |
"name": "quoteMaxInsurance", | |
"type": "u64" | |
} | |
], | |
"name": "updatePerpMarketMaxImbalances" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "liquidatorFee", | |
"type": "u32" | |
}, | |
{ | |
"name": "ifLiquidationFee", | |
"type": "u32" | |
} | |
], | |
"name": "updatePerpMarketLiquidationFee" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "insuranceFundUnstakingPeriod", | |
"type": "i64" | |
} | |
], | |
"name": "updateInsuranceFundUnstakingPeriod" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "poolId", | |
"type": "u8" | |
} | |
], | |
"name": "updateSpotMarketPoolId" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "liquidatorFee", | |
"type": "u32" | |
}, | |
{ | |
"name": "ifLiquidationFee", | |
"type": "u32" | |
} | |
], | |
"name": "updateSpotMarketLiquidationFee" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "withdrawGuardThreshold", | |
"type": "u64" | |
} | |
], | |
"name": "updateWithdrawGuardThreshold" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "spotMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "userIfFactor", | |
"type": "u32" | |
}, | |
{ | |
"name": "totalIfFactor", | |
"type": "u32" | |
} | |
], | |
"name": "updateSpotMarketIfFactor" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "revenueSettlePeriod", | |
"type": "i64" | |
} | |
], | |
"name": "updateSpotMarketRevenueSettlePeriod" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "status", | |
"type": { | |
"defined": "MarketStatus" | |
} | |
} | |
], | |
"name": "updateSpotMarketStatus" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "pausedOperations", | |
"type": "u8" | |
} | |
], | |
"name": "updateSpotMarketPausedOperations" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "assetTier", | |
"type": { | |
"defined": "AssetTier" | |
} | |
} | |
], | |
"name": "updateSpotMarketAssetTier" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "initialAssetWeight", | |
"type": "u32" | |
}, | |
{ | |
"name": "maintenanceAssetWeight", | |
"type": "u32" | |
}, | |
{ | |
"name": "initialLiabilityWeight", | |
"type": "u32" | |
}, | |
{ | |
"name": "maintenanceLiabilityWeight", | |
"type": "u32" | |
}, | |
{ | |
"name": "imfFactor", | |
"type": "u32" | |
} | |
], | |
"name": "updateSpotMarketMarginWeights" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "optimalUtilization", | |
"type": "u32" | |
}, | |
{ | |
"name": "optimalBorrowRate", | |
"type": "u32" | |
}, | |
{ | |
"name": "maxBorrowRate", | |
"type": "u32" | |
}, | |
{ | |
"name": "minBorrowRate", | |
"type": { | |
"option": "u8" | |
} | |
} | |
], | |
"name": "updateSpotMarketBorrowRate" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "maxTokenDeposits", | |
"type": "u64" | |
} | |
], | |
"name": "updateSpotMarketMaxTokenDeposits" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "maxTokenBorrowsFraction", | |
"type": "u16" | |
} | |
], | |
"name": "updateSpotMarketMaxTokenBorrows" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "scaleInitialAssetWeightStart", | |
"type": "u64" | |
} | |
], | |
"name": "updateSpotMarketScaleInitialAssetWeightStart" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "oracle" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "oldOracle" | |
} | |
], | |
"args": [ | |
{ | |
"name": "oracle", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "oracleSource", | |
"type": { | |
"defined": "OracleSource" | |
} | |
}, | |
{ | |
"name": "skipInvariantCheck", | |
"type": "bool" | |
} | |
], | |
"name": "updateSpotMarketOracle" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "stepSize", | |
"type": "u64" | |
}, | |
{ | |
"name": "tickSize", | |
"type": "u64" | |
} | |
], | |
"name": "updateSpotMarketStepSizeAndTickSize" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "orderSize", | |
"type": "u64" | |
} | |
], | |
"name": "updateSpotMarketMinOrderSize" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "ordersEnabled", | |
"type": "bool" | |
} | |
], | |
"name": "updateSpotMarketOrdersEnabled" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "pausedOperations", | |
"type": "u8" | |
} | |
], | |
"name": "updateSpotMarketIfPausedOperations" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "name", | |
"type": { | |
"array": [ | |
"u8", | |
32 | |
] | |
} | |
} | |
], | |
"name": "updateSpotMarketName" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "status", | |
"type": { | |
"defined": "MarketStatus" | |
} | |
} | |
], | |
"name": "updatePerpMarketStatus" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "pausedOperations", | |
"type": "u8" | |
} | |
], | |
"name": "updatePerpMarketPausedOperations" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "contractTier", | |
"type": { | |
"defined": "ContractTier" | |
} | |
} | |
], | |
"name": "updatePerpMarketContractTier" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "imfFactor", | |
"type": "u32" | |
}, | |
{ | |
"name": "unrealizedPnlImfFactor", | |
"type": "u32" | |
} | |
], | |
"name": "updatePerpMarketImfFactor" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "unrealizedInitialAssetWeight", | |
"type": "u32" | |
}, | |
{ | |
"name": "unrealizedMaintenanceAssetWeight", | |
"type": "u32" | |
} | |
], | |
"name": "updatePerpMarketUnrealizedAssetWeight" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "concentrationScale", | |
"type": "u128" | |
} | |
], | |
"name": "updatePerpMarketConcentrationCoef" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "curveUpdateIntensity", | |
"type": "u8" | |
} | |
], | |
"name": "updatePerpMarketCurveUpdateIntensity" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "targetBaseAssetAmountPerLp", | |
"type": "i32" | |
} | |
], | |
"name": "updatePerpMarketTargetBaseAssetAmountPerLp" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "perLpBase", | |
"type": "i8" | |
} | |
], | |
"name": "updatePerpMarketPerLpBase" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
} | |
], | |
"args": [ | |
{ | |
"name": "lpCooldownTime", | |
"type": "u64" | |
} | |
], | |
"name": "updateLpCooldownTime" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
} | |
], | |
"args": [ | |
{ | |
"name": "feeStructure", | |
"type": { | |
"defined": "FeeStructure" | |
} | |
} | |
], | |
"name": "updatePerpFeeStructure" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
} | |
], | |
"args": [ | |
{ | |
"name": "feeStructure", | |
"type": { | |
"defined": "FeeStructure" | |
} | |
} | |
], | |
"name": "updateSpotFeeStructure" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
} | |
], | |
"args": [ | |
{ | |
"name": "initialPctToLiquidate", | |
"type": "u16" | |
} | |
], | |
"name": "updateInitialPctToLiquidate" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
} | |
], | |
"args": [ | |
{ | |
"name": "liquidationDuration", | |
"type": "u8" | |
} | |
], | |
"name": "updateLiquidationDuration" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
} | |
], | |
"args": [ | |
{ | |
"name": "liquidationMarginBufferRatio", | |
"type": "u32" | |
} | |
], | |
"name": "updateLiquidationMarginBufferRatio" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
} | |
], | |
"args": [ | |
{ | |
"name": "oracleGuardRails", | |
"type": { | |
"defined": "OracleGuardRails" | |
} | |
} | |
], | |
"name": "updateOracleGuardRails" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
} | |
], | |
"args": [ | |
{ | |
"name": "settlementDuration", | |
"type": "u16" | |
} | |
], | |
"name": "updateStateSettlementDuration" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
} | |
], | |
"args": [ | |
{ | |
"name": "maxNumberOfSubAccounts", | |
"type": "u16" | |
} | |
], | |
"name": "updateStateMaxNumberOfSubAccounts" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
} | |
], | |
"args": [ | |
{ | |
"name": "maxInitializeUserFee", | |
"type": "u16" | |
} | |
], | |
"name": "updateStateMaxInitializeUserFee" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "oracle" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "oldOracle" | |
} | |
], | |
"args": [ | |
{ | |
"name": "oracle", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "oracleSource", | |
"type": { | |
"defined": "OracleSource" | |
} | |
}, | |
{ | |
"name": "skipInvariantCheck", | |
"type": "bool" | |
} | |
], | |
"name": "updatePerpMarketOracle" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "baseSpread", | |
"type": "u32" | |
} | |
], | |
"name": "updatePerpMarketBaseSpread" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "ammJitIntensity", | |
"type": "u8" | |
} | |
], | |
"name": "updateAmmJitIntensity" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "maxSpread", | |
"type": "u32" | |
} | |
], | |
"name": "updatePerpMarketMaxSpread" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "stepSize", | |
"type": "u64" | |
}, | |
{ | |
"name": "tickSize", | |
"type": "u64" | |
} | |
], | |
"name": "updatePerpMarketStepSizeAndTickSize" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "name", | |
"type": { | |
"array": [ | |
"u8", | |
32 | |
] | |
} | |
} | |
], | |
"name": "updatePerpMarketName" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "orderSize", | |
"type": "u64" | |
} | |
], | |
"name": "updatePerpMarketMinOrderSize" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "maxSlippageRatio", | |
"type": "u16" | |
} | |
], | |
"name": "updatePerpMarketMaxSlippageRatio" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "maxFillReserveFraction", | |
"type": "u16" | |
} | |
], | |
"name": "updatePerpMarketMaxFillReserveFraction" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "maxOpenInterest", | |
"type": "u128" | |
} | |
], | |
"name": "updatePerpMarketMaxOpenInterest" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "numberOfUsers", | |
"type": { | |
"option": "u32" | |
} | |
}, | |
{ | |
"name": "numberOfUsersWithBase", | |
"type": { | |
"option": "u32" | |
} | |
} | |
], | |
"name": "updatePerpMarketNumberOfUsers" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "feeAdjustment", | |
"type": "i16" | |
} | |
], | |
"name": "updatePerpMarketFeeAdjustment" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "feeAdjustment", | |
"type": "i16" | |
} | |
], | |
"name": "updateSpotMarketFeeAdjustment" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "fuelBoostTaker", | |
"type": { | |
"option": "u8" | |
} | |
}, | |
{ | |
"name": "fuelBoostMaker", | |
"type": { | |
"option": "u8" | |
} | |
}, | |
{ | |
"name": "fuelBoostPosition", | |
"type": { | |
"option": "u8" | |
} | |
} | |
], | |
"name": "updatePerpMarketFuel" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "spotMarket" | |
} | |
], | |
"args": [ | |
{ | |
"name": "fuelBoostDeposits", | |
"type": { | |
"option": "u8" | |
} | |
}, | |
{ | |
"name": "fuelBoostBorrows", | |
"type": { | |
"option": "u8" | |
} | |
}, | |
{ | |
"name": "fuelBoostTaker", | |
"type": { | |
"option": "u8" | |
} | |
}, | |
{ | |
"name": "fuelBoostMaker", | |
"type": { | |
"option": "u8" | |
} | |
}, | |
{ | |
"name": "fuelBoostInsurance", | |
"type": { | |
"option": "u8" | |
} | |
} | |
], | |
"name": "updateSpotMarketFuel" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "user" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "userStats" | |
} | |
], | |
"args": [ | |
{ | |
"name": "fuelBoostDeposits", | |
"type": { | |
"option": "i32" | |
} | |
}, | |
{ | |
"name": "fuelBoostBorrows", | |
"type": { | |
"option": "u32" | |
} | |
}, | |
{ | |
"name": "fuelBoostTaker", | |
"type": { | |
"option": "u32" | |
} | |
}, | |
{ | |
"name": "fuelBoostMaker", | |
"type": { | |
"option": "u32" | |
} | |
}, | |
{ | |
"name": "fuelBoostInsurance", | |
"type": { | |
"option": "u32" | |
} | |
} | |
], | |
"name": "initUserFuel" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
} | |
], | |
"args": [ | |
{ | |
"name": "admin", | |
"type": "publicKey" | |
} | |
], | |
"name": "updateAdmin" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
} | |
], | |
"args": [ | |
{ | |
"name": "whitelistMint", | |
"type": "publicKey" | |
} | |
], | |
"name": "updateWhitelistMint" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
} | |
], | |
"args": [ | |
{ | |
"name": "discountMint", | |
"type": "publicKey" | |
} | |
], | |
"name": "updateDiscountMint" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
} | |
], | |
"args": [ | |
{ | |
"name": "exchangeStatus", | |
"type": "u8" | |
} | |
], | |
"name": "updateExchangeStatus" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
} | |
], | |
"args": [ | |
{ | |
"name": "minPerpAuctionDuration", | |
"type": "u8" | |
} | |
], | |
"name": "updatePerpAuctionDuration" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": false, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "state" | |
} | |
], | |
"args": [ | |
{ | |
"name": "defaultSpotAuctionDuration", | |
"type": "u8" | |
} | |
], | |
"name": "updateSpotAuctionDuration" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "protocolIfSharesTransferConfig" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "rent" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "systemProgram" | |
} | |
], | |
"args": [], | |
"name": "initializeProtocolIfSharesTransferConfig" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "protocolIfSharesTransferConfig" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
} | |
], | |
"args": [ | |
{ | |
"name": "whitelistedSigners", | |
"type": { | |
"option": { | |
"array": [ | |
"publicKey", | |
4 | |
] | |
} | |
} | |
}, | |
{ | |
"name": "maxTransferPerEpoch", | |
"type": { | |
"option": "u128" | |
} | |
} | |
], | |
"name": "updateProtocolIfSharesTransferConfig" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "prelaunchOracle" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "rent" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "systemProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "params", | |
"type": { | |
"defined": "PrelaunchOracleParams" | |
} | |
} | |
], | |
"name": "initializePrelaunchOracle" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "prelaunchOracle" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "perpMarket" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
} | |
], | |
"args": [ | |
{ | |
"name": "params", | |
"type": { | |
"defined": "PrelaunchOracleParams" | |
} | |
} | |
], | |
"name": "updatePrelaunchOracleParams" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "prelaunchOracle" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "perpMarket" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
} | |
], | |
"args": [ | |
{ | |
"name": "perpMarketIndex", | |
"type": "u16" | |
} | |
], | |
"name": "deletePrelaunchOracle" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "pythSolanaReceiver" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "priceFeed" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "systemProgram" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
} | |
], | |
"args": [ | |
{ | |
"name": "feedId", | |
"type": { | |
"array": [ | |
"u8", | |
32 | |
] | |
} | |
} | |
], | |
"name": "initializePythPullOracle" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "lazerOracle" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "rent" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "systemProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "feedId", | |
"type": "u32" | |
} | |
], | |
"name": "initializePythLazerOracle" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "keeper" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "pythLazerStorage" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "ixSysvar" | |
} | |
], | |
"args": [ | |
{ | |
"name": "pythMessage", | |
"type": "bytes" | |
} | |
], | |
"name": "postPythLazerOracleUpdate" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "highLeverageModeConfig" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "rent" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "systemProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "maxUsers", | |
"type": "u32" | |
} | |
], | |
"name": "initializeHighLeverageModeConfig" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "highLeverageModeConfig" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
} | |
], | |
"args": [ | |
{ | |
"name": "maxUsers", | |
"type": "u32" | |
}, | |
{ | |
"name": "reduceOnly", | |
"type": "bool" | |
} | |
], | |
"name": "updateHighLeverageModeConfig" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "protectedMakerModeConfig" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "rent" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "systemProgram" | |
} | |
], | |
"args": [ | |
{ | |
"name": "maxUsers", | |
"type": "u32" | |
} | |
], | |
"name": "initializeProtectedMakerModeConfig" | |
}, | |
{ | |
"accounts": [ | |
{ | |
"isMut": true, | |
"isSigner": true, | |
"name": "admin" | |
}, | |
{ | |
"isMut": true, | |
"isSigner": false, | |
"name": "protectedMakerModeConfig" | |
}, | |
{ | |
"isMut": false, | |
"isSigner": false, | |
"name": "state" | |
} | |
], | |
"args": [ | |
{ | |
"name": "maxUsers", | |
"type": "u32" | |
}, | |
{ | |
"name": "reduceOnly", | |
"type": "bool" | |
}, | |
{ | |
"name": "currentUsers", | |
"type": { | |
"option": "u32" | |
} | |
} | |
], | |
"name": "updateProtectedMakerModeConfig" | |
} | |
], | |
"accounts": [ | |
{ | |
"name": "OpenbookV2FulfillmentConfig", | |
"type": { | |
"fields": [ | |
{ | |
"name": "pubkey", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "openbookV2ProgramId", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "openbookV2Market", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "openbookV2MarketAuthority", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "openbookV2EventHeap", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "openbookV2Bids", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "openbookV2Asks", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "openbookV2BaseVault", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "openbookV2QuoteVault", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "fulfillmentType", | |
"type": { | |
"defined": "SpotFulfillmentType" | |
} | |
}, | |
{ | |
"name": "status", | |
"type": { | |
"defined": "SpotFulfillmentConfigStatus" | |
} | |
}, | |
{ | |
"name": "padding", | |
"type": { | |
"array": [ | |
"u8", | |
4 | |
] | |
} | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "PhoenixV1FulfillmentConfig", | |
"type": { | |
"fields": [ | |
{ | |
"name": "pubkey", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "phoenixProgramId", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "phoenixLogAuthority", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "phoenixMarket", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "phoenixBaseVault", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "phoenixQuoteVault", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "fulfillmentType", | |
"type": { | |
"defined": "SpotFulfillmentType" | |
} | |
}, | |
{ | |
"name": "status", | |
"type": { | |
"defined": "SpotFulfillmentConfigStatus" | |
} | |
}, | |
{ | |
"name": "padding", | |
"type": { | |
"array": [ | |
"u8", | |
4 | |
] | |
} | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "SerumV3FulfillmentConfig", | |
"type": { | |
"fields": [ | |
{ | |
"name": "pubkey", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "serumProgramId", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "serumMarket", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "serumRequestQueue", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "serumEventQueue", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "serumBids", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "serumAsks", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "serumBaseVault", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "serumQuoteVault", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "serumOpenOrders", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "serumSignerNonce", | |
"type": "u64" | |
}, | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "fulfillmentType", | |
"type": { | |
"defined": "SpotFulfillmentType" | |
} | |
}, | |
{ | |
"name": "status", | |
"type": { | |
"defined": "SpotFulfillmentConfigStatus" | |
} | |
}, | |
{ | |
"name": "padding", | |
"type": { | |
"array": [ | |
"u8", | |
4 | |
] | |
} | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "HighLeverageModeConfig", | |
"type": { | |
"fields": [ | |
{ | |
"name": "maxUsers", | |
"type": "u32" | |
}, | |
{ | |
"name": "currentUsers", | |
"type": "u32" | |
}, | |
{ | |
"name": "reduceOnly", | |
"type": "u8" | |
}, | |
{ | |
"name": "padding", | |
"type": { | |
"array": [ | |
"u8", | |
31 | |
] | |
} | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "InsuranceFundStake", | |
"type": { | |
"fields": [ | |
{ | |
"name": "authority", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "ifShares", | |
"type": "u128" | |
}, | |
{ | |
"name": "lastWithdrawRequestShares", | |
"type": "u128" | |
}, | |
{ | |
"name": "ifBase", | |
"type": "u128" | |
}, | |
{ | |
"name": "lastValidTs", | |
"type": "i64" | |
}, | |
{ | |
"name": "lastWithdrawRequestValue", | |
"type": "u64" | |
}, | |
{ | |
"name": "lastWithdrawRequestTs", | |
"type": "i64" | |
}, | |
{ | |
"name": "costBasis", | |
"type": "i64" | |
}, | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "padding", | |
"type": { | |
"array": [ | |
"u8", | |
14 | |
] | |
} | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "ProtocolIfSharesTransferConfig", | |
"type": { | |
"fields": [ | |
{ | |
"name": "whitelistedSigners", | |
"type": { | |
"array": [ | |
"publicKey", | |
4 | |
] | |
} | |
}, | |
{ | |
"name": "maxTransferPerEpoch", | |
"type": "u128" | |
}, | |
{ | |
"name": "currentEpochTransfer", | |
"type": "u128" | |
}, | |
{ | |
"name": "nextEpochTs", | |
"type": "i64" | |
}, | |
{ | |
"name": "padding", | |
"type": { | |
"array": [ | |
"u128", | |
8 | |
] | |
} | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "PrelaunchOracle", | |
"type": { | |
"fields": [ | |
{ | |
"name": "price", | |
"type": "i64" | |
}, | |
{ | |
"name": "maxPrice", | |
"type": "i64" | |
}, | |
{ | |
"name": "confidence", | |
"type": "u64" | |
}, | |
{ | |
"name": "lastUpdateSlot", | |
"type": "u64" | |
}, | |
{ | |
"name": "ammLastUpdateSlot", | |
"type": "u64" | |
}, | |
{ | |
"name": "perpMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "padding", | |
"type": { | |
"array": [ | |
"u8", | |
70 | |
] | |
} | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "PerpMarket", | |
"type": { | |
"fields": [ | |
{ | |
"docs": [ | |
"The perp market's address. It is a pda of the market index" | |
], | |
"name": "pubkey", | |
"type": "publicKey" | |
}, | |
{ | |
"docs": [ | |
"The automated market maker" | |
], | |
"name": "amm", | |
"type": { | |
"defined": "AMM" | |
} | |
}, | |
{ | |
"docs": [ | |
"The market's pnl pool. When users settle negative pnl, the balance increases.", | |
"When users settle positive pnl, the balance decreases. Can not go negative." | |
], | |
"name": "pnlPool", | |
"type": { | |
"defined": "PoolBalance" | |
} | |
}, | |
{ | |
"docs": [ | |
"Encoded display name for the perp market e.g. SOL-PERP" | |
], | |
"name": "name", | |
"type": { | |
"array": [ | |
"u8", | |
32 | |
] | |
} | |
}, | |
{ | |
"docs": [ | |
"The perp market's claim on the insurance fund" | |
], | |
"name": "insuranceClaim", | |
"type": { | |
"defined": "InsuranceClaim" | |
} | |
}, | |
{ | |
"docs": [ | |
"The max pnl imbalance before positive pnl asset weight is discounted", | |
"pnl imbalance is the difference between long and short pnl. When it's greater than 0,", | |
"the amm has negative pnl and the initial asset weight for positive pnl is discounted", | |
"precision = QUOTE_PRECISION" | |
], | |
"name": "unrealizedPnlMaxImbalance", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"The ts when the market will be expired. Only set if market is in reduce only mode" | |
], | |
"name": "expiryTs", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"The price at which positions will be settled. Only set if market is expired", | |
"precision = PRICE_PRECISION" | |
], | |
"name": "expiryPrice", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"Every trade has a fill record id. This is the next id to be used" | |
], | |
"name": "nextFillRecordId", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"Every funding rate update has a record id. This is the next id to be used" | |
], | |
"name": "nextFundingRateRecordId", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"Every amm k updated has a record id. This is the next id to be used" | |
], | |
"name": "nextCurveRecordId", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"The initial margin fraction factor. Used to increase margin ratio for large positions", | |
"precision: MARGIN_PRECISION" | |
], | |
"name": "imfFactor", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"The imf factor for unrealized pnl. Used to discount asset weight for large positive pnl", | |
"precision: MARGIN_PRECISION" | |
], | |
"name": "unrealizedPnlImfFactor", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"The fee the liquidator is paid for taking over perp position", | |
"precision: LIQUIDATOR_FEE_PRECISION" | |
], | |
"name": "liquidatorFee", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"The fee the insurance fund receives from liquidation", | |
"precision: LIQUIDATOR_FEE_PRECISION" | |
], | |
"name": "ifLiquidationFee", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"The margin ratio which determines how much collateral is required to open a position", | |
"e.g. margin ratio of .1 means a user must have $100 of total collateral to open a $1000 position", | |
"precision: MARGIN_PRECISION" | |
], | |
"name": "marginRatioInitial", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"The margin ratio which determines when a user will be liquidated", | |
"e.g. margin ratio of .05 means a user must have $50 of total collateral to maintain a $1000 position", | |
"else they will be liquidated", | |
"precision: MARGIN_PRECISION" | |
], | |
"name": "marginRatioMaintenance", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"The initial asset weight for positive pnl. Negative pnl always has an asset weight of 1", | |
"precision: SPOT_WEIGHT_PRECISION" | |
], | |
"name": "unrealizedPnlInitialAssetWeight", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"The maintenance asset weight for positive pnl. Negative pnl always has an asset weight of 1", | |
"precision: SPOT_WEIGHT_PRECISION" | |
], | |
"name": "unrealizedPnlMaintenanceAssetWeight", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"number of users in a position (base)" | |
], | |
"name": "numberOfUsersWithBase", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"number of users in a position (pnl) or pnl (quote)" | |
], | |
"name": "numberOfUsers", | |
"type": "u32" | |
}, | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"docs": [ | |
"Whether a market is active, reduce only, expired, etc", | |
"Affects whether users can open/close positions" | |
], | |
"name": "status", | |
"type": { | |
"defined": "MarketStatus" | |
} | |
}, | |
{ | |
"docs": [ | |
"Currently only Perpetual markets are supported" | |
], | |
"name": "contractType", | |
"type": { | |
"defined": "ContractType" | |
} | |
}, | |
{ | |
"docs": [ | |
"The contract tier determines how much insurance a market can receive, with more speculative markets receiving less insurance", | |
"It also influences the order perp markets can be liquidated, with less speculative markets being liquidated first" | |
], | |
"name": "contractTier", | |
"type": { | |
"defined": "ContractTier" | |
} | |
}, | |
{ | |
"name": "pausedOperations", | |
"type": "u8" | |
}, | |
{ | |
"docs": [ | |
"The spot market that pnl is settled in" | |
], | |
"name": "quoteSpotMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"docs": [ | |
"Between -100 and 100, represents what % to increase/decrease the fee by", | |
"E.g. if this is -50 and the fee is 5bps, the new fee will be 2.5bps", | |
"if this is 50 and the fee is 5bps, the new fee will be 7.5bps" | |
], | |
"name": "feeAdjustment", | |
"type": "i16" | |
}, | |
{ | |
"docs": [ | |
"fuel multiplier for perp funding", | |
"precision: 10" | |
], | |
"name": "fuelBoostPosition", | |
"type": "u8" | |
}, | |
{ | |
"docs": [ | |
"fuel multiplier for perp taker", | |
"precision: 10" | |
], | |
"name": "fuelBoostTaker", | |
"type": "u8" | |
}, | |
{ | |
"docs": [ | |
"fuel multiplier for perp maker", | |
"precision: 10" | |
], | |
"name": "fuelBoostMaker", | |
"type": "u8" | |
}, | |
{ | |
"name": "poolId", | |
"type": "u8" | |
}, | |
{ | |
"name": "highLeverageMarginRatioInitial", | |
"type": "u16" | |
}, | |
{ | |
"name": "highLeverageMarginRatioMaintenance", | |
"type": "u16" | |
}, | |
{ | |
"name": "padding", | |
"type": { | |
"array": [ | |
"u8", | |
38 | |
] | |
} | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "ProtectedMakerModeConfig", | |
"type": { | |
"fields": [ | |
{ | |
"name": "maxUsers", | |
"type": "u32" | |
}, | |
{ | |
"name": "currentUsers", | |
"type": "u32" | |
}, | |
{ | |
"name": "reduceOnly", | |
"type": "u8" | |
}, | |
{ | |
"name": "padding", | |
"type": { | |
"array": [ | |
"u8", | |
31 | |
] | |
} | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "PythLazerOracle", | |
"type": { | |
"fields": [ | |
{ | |
"name": "price", | |
"type": "i64" | |
}, | |
{ | |
"name": "publishTime", | |
"type": "u64" | |
}, | |
{ | |
"name": "postedSlot", | |
"type": "u64" | |
}, | |
{ | |
"name": "exponent", | |
"type": "i32" | |
}, | |
{ | |
"name": "padding", | |
"type": { | |
"array": [ | |
"u8", | |
4 | |
] | |
} | |
}, | |
{ | |
"name": "conf", | |
"type": "u64" | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"docs": [ | |
"* This struct is a duplicate of SignedMsgUserOrdersZeroCopy\n * It is used to give anchor an struct to generate the idl for clients\n * The struct SignedMsgUserOrdersZeroCopy is used to load the data in efficiently" | |
], | |
"name": "SignedMsgUserOrders", | |
"type": { | |
"fields": [ | |
{ | |
"name": "authorityPubkey", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "padding", | |
"type": "u32" | |
}, | |
{ | |
"name": "signedMsgOrderData", | |
"type": { | |
"vec": { | |
"defined": "SignedMsgOrderId" | |
} | |
} | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"docs": [ | |
"* Used to store authenticated delegates for swift-like ws connections" | |
], | |
"name": "SignedMsgWsDelegates", | |
"type": { | |
"fields": [ | |
{ | |
"name": "delegates", | |
"type": { | |
"vec": "publicKey" | |
} | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "SpotMarket", | |
"type": { | |
"fields": [ | |
{ | |
"docs": [ | |
"The address of the spot market. It is a pda of the market index" | |
], | |
"name": "pubkey", | |
"type": "publicKey" | |
}, | |
{ | |
"docs": [ | |
"The oracle used to price the markets deposits/borrows" | |
], | |
"name": "oracle", | |
"type": "publicKey" | |
}, | |
{ | |
"docs": [ | |
"The token mint of the market" | |
], | |
"name": "mint", | |
"type": "publicKey" | |
}, | |
{ | |
"docs": [ | |
"The vault used to store the market's deposits", | |
"The amount in the vault should be equal to or greater than deposits - borrows" | |
], | |
"name": "vault", | |
"type": "publicKey" | |
}, | |
{ | |
"docs": [ | |
"The encoded display name for the market e.g. SOL" | |
], | |
"name": "name", | |
"type": { | |
"array": [ | |
"u8", | |
32 | |
] | |
} | |
}, | |
{ | |
"name": "historicalOracleData", | |
"type": { | |
"defined": "HistoricalOracleData" | |
} | |
}, | |
{ | |
"name": "historicalIndexData", | |
"type": { | |
"defined": "HistoricalIndexData" | |
} | |
}, | |
{ | |
"docs": [ | |
"Revenue the protocol has collected in this markets token", | |
"e.g. for SOL-PERP, funds can be settled in usdc and will flow into the USDC revenue pool" | |
], | |
"name": "revenuePool", | |
"type": { | |
"defined": "PoolBalance" | |
} | |
}, | |
{ | |
"docs": [ | |
"The fees collected from swaps between this market and the quote market", | |
"Is settled to the quote markets revenue pool" | |
], | |
"name": "spotFeePool", | |
"type": { | |
"defined": "PoolBalance" | |
} | |
}, | |
{ | |
"docs": [ | |
"Details on the insurance fund covering bankruptcies in this markets token", | |
"Covers bankruptcies for borrows with this markets token and perps settling in this markets token" | |
], | |
"name": "insuranceFund", | |
"type": { | |
"defined": "InsuranceFund" | |
} | |
}, | |
{ | |
"docs": [ | |
"The total spot fees collected for this market", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "totalSpotFee", | |
"type": "u128" | |
}, | |
{ | |
"docs": [ | |
"The sum of the scaled balances for deposits across users and pool balances", | |
"To convert to the deposit token amount, multiply by the cumulative deposit interest", | |
"precision: SPOT_BALANCE_PRECISION" | |
], | |
"name": "depositBalance", | |
"type": "u128" | |
}, | |
{ | |
"docs": [ | |
"The sum of the scaled balances for borrows across users and pool balances", | |
"To convert to the borrow token amount, multiply by the cumulative borrow interest", | |
"precision: SPOT_BALANCE_PRECISION" | |
], | |
"name": "borrowBalance", | |
"type": "u128" | |
}, | |
{ | |
"docs": [ | |
"The cumulative interest earned by depositors", | |
"Used to calculate the deposit token amount from the deposit balance", | |
"precision: SPOT_CUMULATIVE_INTEREST_PRECISION" | |
], | |
"name": "cumulativeDepositInterest", | |
"type": "u128" | |
}, | |
{ | |
"docs": [ | |
"The cumulative interest earned by borrowers", | |
"Used to calculate the borrow token amount from the borrow balance", | |
"precision: SPOT_CUMULATIVE_INTEREST_PRECISION" | |
], | |
"name": "cumulativeBorrowInterest", | |
"type": "u128" | |
}, | |
{ | |
"docs": [ | |
"The total socialized loss from borrows, in the mint's token", | |
"precision: token mint precision" | |
], | |
"name": "totalSocialLoss", | |
"type": "u128" | |
}, | |
{ | |
"docs": [ | |
"The total socialized loss from borrows, in the quote market's token", | |
"preicision: QUOTE_PRECISION" | |
], | |
"name": "totalQuoteSocialLoss", | |
"type": "u128" | |
}, | |
{ | |
"docs": [ | |
"no withdraw limits/guards when deposits below this threshold", | |
"precision: token mint precision" | |
], | |
"name": "withdrawGuardThreshold", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"The max amount of token deposits in this market", | |
"0 if there is no limit", | |
"precision: token mint precision" | |
], | |
"name": "maxTokenDeposits", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"24hr average of deposit token amount", | |
"precision: token mint precision" | |
], | |
"name": "depositTokenTwap", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"24hr average of borrow token amount", | |
"precision: token mint precision" | |
], | |
"name": "borrowTokenTwap", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"24hr average of utilization", | |
"which is borrow amount over token amount", | |
"precision: SPOT_UTILIZATION_PRECISION" | |
], | |
"name": "utilizationTwap", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"Last time the cumulative deposit and borrow interest was updated" | |
], | |
"name": "lastInterestTs", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"Last time the deposit/borrow/utilization averages were updated" | |
], | |
"name": "lastTwapTs", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"The time the market is set to expire. Only set if market is in reduce only mode" | |
], | |
"name": "expiryTs", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"Spot orders must be a multiple of the step size", | |
"precision: token mint precision" | |
], | |
"name": "orderStepSize", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"Spot orders must be a multiple of the tick size", | |
"precision: PRICE_PRECISION" | |
], | |
"name": "orderTickSize", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"The minimum order size", | |
"precision: token mint precision" | |
], | |
"name": "minOrderSize", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"The maximum spot position size", | |
"if the limit is 0, there is no limit", | |
"precision: token mint precision" | |
], | |
"name": "maxPositionSize", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"Every spot trade has a fill record id. This is the next id to use" | |
], | |
"name": "nextFillRecordId", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"Every deposit has a deposit record id. This is the next id to use" | |
], | |
"name": "nextDepositRecordId", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"The initial asset weight used to calculate a deposits contribution to a users initial total collateral", | |
"e.g. if the asset weight is .8, $100 of deposits contributes $80 to the users initial total collateral", | |
"precision: SPOT_WEIGHT_PRECISION" | |
], | |
"name": "initialAssetWeight", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"The maintenance asset weight used to calculate a deposits contribution to a users maintenance total collateral", | |
"e.g. if the asset weight is .9, $100 of deposits contributes $90 to the users maintenance total collateral", | |
"precision: SPOT_WEIGHT_PRECISION" | |
], | |
"name": "maintenanceAssetWeight", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"The initial liability weight used to calculate a borrows contribution to a users initial margin requirement", | |
"e.g. if the liability weight is .9, $100 of borrows contributes $90 to the users initial margin requirement", | |
"precision: SPOT_WEIGHT_PRECISION" | |
], | |
"name": "initialLiabilityWeight", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"The maintenance liability weight used to calculate a borrows contribution to a users maintenance margin requirement", | |
"e.g. if the liability weight is .8, $100 of borrows contributes $80 to the users maintenance margin requirement", | |
"precision: SPOT_WEIGHT_PRECISION" | |
], | |
"name": "maintenanceLiabilityWeight", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"The initial margin fraction factor. Used to increase liability weight/decrease asset weight for large positions", | |
"precision: MARGIN_PRECISION" | |
], | |
"name": "imfFactor", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"The fee the liquidator is paid for taking over borrow/deposit", | |
"precision: LIQUIDATOR_FEE_PRECISION" | |
], | |
"name": "liquidatorFee", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"The fee the insurance fund receives from liquidation", | |
"precision: LIQUIDATOR_FEE_PRECISION" | |
], | |
"name": "ifLiquidationFee", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"The optimal utilization rate for this market.", | |
"Used to determine the markets borrow rate", | |
"precision: SPOT_UTILIZATION_PRECISION" | |
], | |
"name": "optimalUtilization", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"The borrow rate for this market when the market has optimal utilization", | |
"precision: SPOT_RATE_PRECISION" | |
], | |
"name": "optimalBorrowRate", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"The borrow rate for this market when the market has 1000 utilization", | |
"precision: SPOT_RATE_PRECISION" | |
], | |
"name": "maxBorrowRate", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"The market's token mint's decimals. To from decimals to a precision, 10^decimals" | |
], | |
"name": "decimals", | |
"type": "u32" | |
}, | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"docs": [ | |
"Whether or not spot trading is enabled" | |
], | |
"name": "ordersEnabled", | |
"type": "bool" | |
}, | |
{ | |
"name": "oracleSource", | |
"type": { | |
"defined": "OracleSource" | |
} | |
}, | |
{ | |
"name": "status", | |
"type": { | |
"defined": "MarketStatus" | |
} | |
}, | |
{ | |
"docs": [ | |
"The asset tier affects how a deposit can be used as collateral and the priority for a borrow being liquidated" | |
], | |
"name": "assetTier", | |
"type": { | |
"defined": "AssetTier" | |
} | |
}, | |
{ | |
"name": "pausedOperations", | |
"type": "u8" | |
}, | |
{ | |
"name": "ifPausedOperations", | |
"type": "u8" | |
}, | |
{ | |
"name": "feeAdjustment", | |
"type": "i16" | |
}, | |
{ | |
"docs": [ | |
"What fraction of max_token_deposits", | |
"disabled when 0, 1 => 1/10000 => .01% of max_token_deposits", | |
"precision: X/10000" | |
], | |
"name": "maxTokenBorrowsFraction", | |
"type": "u16" | |
}, | |
{ | |
"docs": [ | |
"For swaps, the amount of token loaned out in the begin_swap ix", | |
"precision: token mint precision" | |
], | |
"name": "flashLoanAmount", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"For swaps, the amount in the users token account in the begin_swap ix", | |
"Used to calculate how much of the token left the system in end_swap ix", | |
"precision: token mint precision" | |
], | |
"name": "flashLoanInitialTokenAmount", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"The total fees received from swaps", | |
"precision: token mint precision" | |
], | |
"name": "totalSwapFee", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"When to begin scaling down the initial asset weight", | |
"disabled when 0", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "scaleInitialAssetWeightStart", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"The min borrow rate for this market when the market regardless of utilization", | |
"1 => 1/200 => .5%", | |
"precision: X/200" | |
], | |
"name": "minBorrowRate", | |
"type": "u8" | |
}, | |
{ | |
"docs": [ | |
"fuel multiplier for spot deposits", | |
"precision: 10" | |
], | |
"name": "fuelBoostDeposits", | |
"type": "u8" | |
}, | |
{ | |
"docs": [ | |
"fuel multiplier for spot borrows", | |
"precision: 10" | |
], | |
"name": "fuelBoostBorrows", | |
"type": "u8" | |
}, | |
{ | |
"docs": [ | |
"fuel multiplier for spot taker", | |
"precision: 10" | |
], | |
"name": "fuelBoostTaker", | |
"type": "u8" | |
}, | |
{ | |
"docs": [ | |
"fuel multiplier for spot maker", | |
"precision: 10" | |
], | |
"name": "fuelBoostMaker", | |
"type": "u8" | |
}, | |
{ | |
"docs": [ | |
"fuel multiplier for spot insurance stake", | |
"precision: 10" | |
], | |
"name": "fuelBoostInsurance", | |
"type": "u8" | |
}, | |
{ | |
"name": "tokenProgram", | |
"type": "u8" | |
}, | |
{ | |
"name": "poolId", | |
"type": "u8" | |
}, | |
{ | |
"name": "padding", | |
"type": { | |
"array": [ | |
"u8", | |
40 | |
] | |
} | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "State", | |
"type": { | |
"fields": [ | |
{ | |
"name": "admin", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "whitelistMint", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "discountMint", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "signer", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "srmVault", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "perpFeeStructure", | |
"type": { | |
"defined": "FeeStructure" | |
} | |
}, | |
{ | |
"name": "spotFeeStructure", | |
"type": { | |
"defined": "FeeStructure" | |
} | |
}, | |
{ | |
"name": "oracleGuardRails", | |
"type": { | |
"defined": "OracleGuardRails" | |
} | |
}, | |
{ | |
"name": "numberOfAuthorities", | |
"type": "u64" | |
}, | |
{ | |
"name": "numberOfSubAccounts", | |
"type": "u64" | |
}, | |
{ | |
"name": "lpCooldownTime", | |
"type": "u64" | |
}, | |
{ | |
"name": "liquidationMarginBufferRatio", | |
"type": "u32" | |
}, | |
{ | |
"name": "settlementDuration", | |
"type": "u16" | |
}, | |
{ | |
"name": "numberOfMarkets", | |
"type": "u16" | |
}, | |
{ | |
"name": "numberOfSpotMarkets", | |
"type": "u16" | |
}, | |
{ | |
"name": "signerNonce", | |
"type": "u8" | |
}, | |
{ | |
"name": "minPerpAuctionDuration", | |
"type": "u8" | |
}, | |
{ | |
"name": "defaultMarketOrderTimeInForce", | |
"type": "u8" | |
}, | |
{ | |
"name": "defaultSpotAuctionDuration", | |
"type": "u8" | |
}, | |
{ | |
"name": "exchangeStatus", | |
"type": "u8" | |
}, | |
{ | |
"name": "liquidationDuration", | |
"type": "u8" | |
}, | |
{ | |
"name": "initialPctToLiquidate", | |
"type": "u16" | |
}, | |
{ | |
"name": "maxNumberOfSubAccounts", | |
"type": "u16" | |
}, | |
{ | |
"name": "maxInitializeUserFee", | |
"type": "u16" | |
}, | |
{ | |
"name": "padding", | |
"type": { | |
"array": [ | |
"u8", | |
10 | |
] | |
} | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "User", | |
"type": { | |
"fields": [ | |
{ | |
"docs": [ | |
"The owner/authority of the account" | |
], | |
"name": "authority", | |
"type": "publicKey" | |
}, | |
{ | |
"docs": [ | |
"An addresses that can control the account on the authority's behalf. Has limited power, cant withdraw" | |
], | |
"name": "delegate", | |
"type": "publicKey" | |
}, | |
{ | |
"docs": [ | |
"Encoded display name e.g. \"toly\"" | |
], | |
"name": "name", | |
"type": { | |
"array": [ | |
"u8", | |
32 | |
] | |
} | |
}, | |
{ | |
"docs": [ | |
"The user's spot positions" | |
], | |
"name": "spotPositions", | |
"type": { | |
"array": [ | |
{ | |
"defined": "SpotPosition" | |
}, | |
8 | |
] | |
} | |
}, | |
{ | |
"docs": [ | |
"The user's perp positions" | |
], | |
"name": "perpPositions", | |
"type": { | |
"array": [ | |
{ | |
"defined": "PerpPosition" | |
}, | |
8 | |
] | |
} | |
}, | |
{ | |
"docs": [ | |
"The user's orders" | |
], | |
"name": "orders", | |
"type": { | |
"array": [ | |
{ | |
"defined": "Order" | |
}, | |
32 | |
] | |
} | |
}, | |
{ | |
"docs": [ | |
"The last time the user added perp lp positions" | |
], | |
"name": "lastAddPerpLpSharesTs", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"The total values of deposits the user has made", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "totalDeposits", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"The total values of withdrawals the user has made", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "totalWithdraws", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"The total socialized loss the users has incurred upon the protocol", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "totalSocialLoss", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"Fees (taker fees, maker rebate, referrer reward, filler reward) and pnl for perps", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "settledPerpPnl", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"Fees (taker fees, maker rebate, filler reward) for spot", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "cumulativeSpotFees", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"Cumulative funding paid/received for perps", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "cumulativePerpFunding", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"The amount of margin freed during liquidation. Used to force the liquidation to occur over a period of time", | |
"Defaults to zero when not being liquidated", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "liquidationMarginFreed", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"The last slot a user was active. Used to determine if a user is idle" | |
], | |
"name": "lastActiveSlot", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"Every user order has an order id. This is the next order id to be used" | |
], | |
"name": "nextOrderId", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"Custom max initial margin ratio for the user" | |
], | |
"name": "maxMarginRatio", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"The next liquidation id to be used for user" | |
], | |
"name": "nextLiquidationId", | |
"type": "u16" | |
}, | |
{ | |
"docs": [ | |
"The sub account id for this user" | |
], | |
"name": "subAccountId", | |
"type": "u16" | |
}, | |
{ | |
"docs": [ | |
"Whether the user is active, being liquidated or bankrupt" | |
], | |
"name": "status", | |
"type": "u8" | |
}, | |
{ | |
"docs": [ | |
"Whether the user has enabled margin trading" | |
], | |
"name": "isMarginTradingEnabled", | |
"type": "bool" | |
}, | |
{ | |
"docs": [ | |
"User is idle if they haven't interacted with the protocol in 1 week and they have no orders, perp positions or borrows", | |
"Off-chain keeper bots can ignore users that are idle" | |
], | |
"name": "idle", | |
"type": "bool" | |
}, | |
{ | |
"docs": [ | |
"number of open orders" | |
], | |
"name": "openOrders", | |
"type": "u8" | |
}, | |
{ | |
"docs": [ | |
"Whether or not user has open order" | |
], | |
"name": "hasOpenOrder", | |
"type": "bool" | |
}, | |
{ | |
"docs": [ | |
"number of open orders with auction" | |
], | |
"name": "openAuctions", | |
"type": "u8" | |
}, | |
{ | |
"docs": [ | |
"Whether or not user has open order with auction" | |
], | |
"name": "hasOpenAuction", | |
"type": "bool" | |
}, | |
{ | |
"name": "marginMode", | |
"type": { | |
"defined": "MarginMode" | |
} | |
}, | |
{ | |
"name": "poolId", | |
"type": "u8" | |
}, | |
{ | |
"name": "padding1", | |
"type": { | |
"array": [ | |
"u8", | |
3 | |
] | |
} | |
}, | |
{ | |
"name": "lastFuelBonusUpdateTs", | |
"type": "u32" | |
}, | |
{ | |
"name": "padding", | |
"type": { | |
"array": [ | |
"u8", | |
12 | |
] | |
} | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "UserStats", | |
"type": { | |
"fields": [ | |
{ | |
"docs": [ | |
"The authority for all of a users sub accounts" | |
], | |
"name": "authority", | |
"type": "publicKey" | |
}, | |
{ | |
"docs": [ | |
"The address that referred this user" | |
], | |
"name": "referrer", | |
"type": "publicKey" | |
}, | |
{ | |
"docs": [ | |
"Stats on the fees paid by the user" | |
], | |
"name": "fees", | |
"type": { | |
"defined": "UserFees" | |
} | |
}, | |
{ | |
"docs": [ | |
"The timestamp of the next epoch", | |
"Epoch is used to limit referrer rewards earned in single epoch" | |
], | |
"name": "nextEpochTs", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"Rolling 30day maker volume for user", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "makerVolume30d", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"Rolling 30day taker volume for user", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "takerVolume30d", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"Rolling 30day filler volume for user", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "fillerVolume30d", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"last time the maker volume was updated" | |
], | |
"name": "lastMakerVolume30dTs", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"last time the taker volume was updated" | |
], | |
"name": "lastTakerVolume30dTs", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"last time the filler volume was updated" | |
], | |
"name": "lastFillerVolume30dTs", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"The amount of tokens staked in the quote spot markets if" | |
], | |
"name": "ifStakedQuoteAssetAmount", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"The current number of sub accounts" | |
], | |
"name": "numberOfSubAccounts", | |
"type": "u16" | |
}, | |
{ | |
"docs": [ | |
"The number of sub accounts created. Can be greater than the number of sub accounts if user", | |
"has deleted sub accounts" | |
], | |
"name": "numberOfSubAccountsCreated", | |
"type": "u16" | |
}, | |
{ | |
"docs": [ | |
"Flags for referrer status:", | |
"First bit (LSB): 1 if user is a referrer, 0 otherwise", | |
"Second bit: 1 if user was referred, 0 otherwise" | |
], | |
"name": "referrerStatus", | |
"type": "u8" | |
}, | |
{ | |
"name": "disableUpdatePerpBidAskTwap", | |
"type": "bool" | |
}, | |
{ | |
"name": "padding1", | |
"type": { | |
"array": [ | |
"u8", | |
1 | |
] | |
} | |
}, | |
{ | |
"docs": [ | |
"whether the user has a FuelOverflow account" | |
], | |
"name": "fuelOverflowStatus", | |
"type": "u8" | |
}, | |
{ | |
"docs": [ | |
"accumulated fuel for token amounts of insurance" | |
], | |
"name": "fuelInsurance", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"accumulated fuel for notional of deposits" | |
], | |
"name": "fuelDeposits", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"accumulate fuel bonus for notional of borrows" | |
], | |
"name": "fuelBorrows", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"accumulated fuel for perp open interest" | |
], | |
"name": "fuelPositions", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"accumulate fuel bonus for taker volume" | |
], | |
"name": "fuelTaker", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"accumulate fuel bonus for maker volume" | |
], | |
"name": "fuelMaker", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"The amount of tokens staked in the governance spot markets if" | |
], | |
"name": "ifStakedGovTokenAmount", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"last unix ts user stats data was used to update if fuel (u32 to save space)" | |
], | |
"name": "lastFuelIfBonusUpdateTs", | |
"type": "u32" | |
}, | |
{ | |
"name": "padding", | |
"type": { | |
"array": [ | |
"u8", | |
12 | |
] | |
} | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "ReferrerName", | |
"type": { | |
"fields": [ | |
{ | |
"name": "authority", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "user", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "userStats", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "name", | |
"type": { | |
"array": [ | |
"u8", | |
32 | |
] | |
} | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "FuelOverflow", | |
"type": { | |
"fields": [ | |
{ | |
"docs": [ | |
"The authority of this overflow account" | |
], | |
"name": "authority", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "fuelInsurance", | |
"type": "u128" | |
}, | |
{ | |
"name": "fuelDeposits", | |
"type": "u128" | |
}, | |
{ | |
"name": "fuelBorrows", | |
"type": "u128" | |
}, | |
{ | |
"name": "fuelPositions", | |
"type": "u128" | |
}, | |
{ | |
"name": "fuelTaker", | |
"type": "u128" | |
}, | |
{ | |
"name": "fuelMaker", | |
"type": "u128" | |
}, | |
{ | |
"name": "lastFuelSweepTs", | |
"type": "u32" | |
}, | |
{ | |
"name": "lastResetTs", | |
"type": "u32" | |
}, | |
{ | |
"name": "padding", | |
"type": { | |
"array": [ | |
"u128", | |
6 | |
] | |
} | |
} | |
], | |
"kind": "struct" | |
} | |
} | |
], | |
"types": [ | |
{ | |
"name": "UpdatePerpMarketSummaryStatsParams", | |
"type": { | |
"fields": [ | |
{ | |
"name": "quoteAssetAmountWithUnsettledLp", | |
"type": { | |
"option": "i64" | |
} | |
}, | |
{ | |
"name": "netUnsettledFundingPnl", | |
"type": { | |
"option": "i64" | |
} | |
}, | |
{ | |
"name": "updateAmmSummaryStats", | |
"type": { | |
"option": "bool" | |
} | |
}, | |
{ | |
"name": "excludeTotalLiqFee", | |
"type": { | |
"option": "bool" | |
} | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "LiquidatePerpRecord", | |
"type": { | |
"fields": [ | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "oraclePrice", | |
"type": "i64" | |
}, | |
{ | |
"name": "baseAssetAmount", | |
"type": "i64" | |
}, | |
{ | |
"name": "quoteAssetAmount", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"precision: AMM_RESERVE_PRECISION" | |
], | |
"name": "lpShares", | |
"type": "u64" | |
}, | |
{ | |
"name": "fillRecordId", | |
"type": "u64" | |
}, | |
{ | |
"name": "userOrderId", | |
"type": "u32" | |
}, | |
{ | |
"name": "liquidatorOrderId", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "liquidatorFee", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "ifFee", | |
"type": "u64" | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "LiquidateSpotRecord", | |
"type": { | |
"fields": [ | |
{ | |
"name": "assetMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "assetPrice", | |
"type": "i64" | |
}, | |
{ | |
"name": "assetTransfer", | |
"type": "u128" | |
}, | |
{ | |
"name": "liabilityMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "liabilityPrice", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"precision: token mint precision" | |
], | |
"name": "liabilityTransfer", | |
"type": "u128" | |
}, | |
{ | |
"docs": [ | |
"precision: token mint precision" | |
], | |
"name": "ifFee", | |
"type": "u64" | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "LiquidateBorrowForPerpPnlRecord", | |
"type": { | |
"fields": [ | |
{ | |
"name": "perpMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "marketOraclePrice", | |
"type": "i64" | |
}, | |
{ | |
"name": "pnlTransfer", | |
"type": "u128" | |
}, | |
{ | |
"name": "liabilityMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "liabilityPrice", | |
"type": "i64" | |
}, | |
{ | |
"name": "liabilityTransfer", | |
"type": "u128" | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "LiquidatePerpPnlForDepositRecord", | |
"type": { | |
"fields": [ | |
{ | |
"name": "perpMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "marketOraclePrice", | |
"type": "i64" | |
}, | |
{ | |
"name": "pnlTransfer", | |
"type": "u128" | |
}, | |
{ | |
"name": "assetMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "assetPrice", | |
"type": "i64" | |
}, | |
{ | |
"name": "assetTransfer", | |
"type": "u128" | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "PerpBankruptcyRecord", | |
"type": { | |
"fields": [ | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "pnl", | |
"type": "i128" | |
}, | |
{ | |
"name": "ifPayment", | |
"type": "u128" | |
}, | |
{ | |
"name": "clawbackUser", | |
"type": { | |
"option": "publicKey" | |
} | |
}, | |
{ | |
"name": "clawbackUserPayment", | |
"type": { | |
"option": "u128" | |
} | |
}, | |
{ | |
"name": "cumulativeFundingRateDelta", | |
"type": "i128" | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "SpotBankruptcyRecord", | |
"type": { | |
"fields": [ | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "borrowAmount", | |
"type": "u128" | |
}, | |
{ | |
"name": "ifPayment", | |
"type": "u128" | |
}, | |
{ | |
"name": "cumulativeDepositInterestDelta", | |
"type": "u128" | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "MarketIdentifier", | |
"type": { | |
"fields": [ | |
{ | |
"name": "marketType", | |
"type": { | |
"defined": "MarketType" | |
} | |
}, | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "HistoricalOracleData", | |
"type": { | |
"fields": [ | |
{ | |
"docs": [ | |
"precision: PRICE_PRECISION" | |
], | |
"name": "lastOraclePrice", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"precision: PRICE_PRECISION" | |
], | |
"name": "lastOracleConf", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"number of slots since last update" | |
], | |
"name": "lastOracleDelay", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"precision: PRICE_PRECISION" | |
], | |
"name": "lastOraclePriceTwap", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"precision: PRICE_PRECISION" | |
], | |
"name": "lastOraclePriceTwap5min", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"unix_timestamp of last snapshot" | |
], | |
"name": "lastOraclePriceTwapTs", | |
"type": "i64" | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "HistoricalIndexData", | |
"type": { | |
"fields": [ | |
{ | |
"docs": [ | |
"precision: PRICE_PRECISION" | |
], | |
"name": "lastIndexBidPrice", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"precision: PRICE_PRECISION" | |
], | |
"name": "lastIndexAskPrice", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"precision: PRICE_PRECISION" | |
], | |
"name": "lastIndexPriceTwap", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"precision: PRICE_PRECISION" | |
], | |
"name": "lastIndexPriceTwap5min", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"unix_timestamp of last snapshot" | |
], | |
"name": "lastIndexPriceTwapTs", | |
"type": "i64" | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "PrelaunchOracleParams", | |
"type": { | |
"fields": [ | |
{ | |
"name": "perpMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "price", | |
"type": { | |
"option": "i64" | |
} | |
}, | |
{ | |
"name": "maxPrice", | |
"type": { | |
"option": "i64" | |
} | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "OrderParams", | |
"type": { | |
"fields": [ | |
{ | |
"name": "orderType", | |
"type": { | |
"defined": "OrderType" | |
} | |
}, | |
{ | |
"name": "marketType", | |
"type": { | |
"defined": "MarketType" | |
} | |
}, | |
{ | |
"name": "direction", | |
"type": { | |
"defined": "PositionDirection" | |
} | |
}, | |
{ | |
"name": "userOrderId", | |
"type": "u8" | |
}, | |
{ | |
"name": "baseAssetAmount", | |
"type": "u64" | |
}, | |
{ | |
"name": "price", | |
"type": "u64" | |
}, | |
{ | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "reduceOnly", | |
"type": "bool" | |
}, | |
{ | |
"name": "postOnly", | |
"type": { | |
"defined": "PostOnlyParam" | |
} | |
}, | |
{ | |
"name": "immediateOrCancel", | |
"type": "bool" | |
}, | |
{ | |
"name": "maxTs", | |
"type": { | |
"option": "i64" | |
} | |
}, | |
{ | |
"name": "triggerPrice", | |
"type": { | |
"option": "u64" | |
} | |
}, | |
{ | |
"name": "triggerCondition", | |
"type": { | |
"defined": "OrderTriggerCondition" | |
} | |
}, | |
{ | |
"name": "oraclePriceOffset", | |
"type": { | |
"option": "i32" | |
} | |
}, | |
{ | |
"name": "auctionDuration", | |
"type": { | |
"option": "u8" | |
} | |
}, | |
{ | |
"name": "auctionStartPrice", | |
"type": { | |
"option": "i64" | |
} | |
}, | |
{ | |
"name": "auctionEndPrice", | |
"type": { | |
"option": "i64" | |
} | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "SignedMsgOrderParamsMessage", | |
"type": { | |
"fields": [ | |
{ | |
"name": "signedMsgOrderParams", | |
"type": { | |
"defined": "OrderParams" | |
} | |
}, | |
{ | |
"name": "subAccountId", | |
"type": "u16" | |
}, | |
{ | |
"name": "slot", | |
"type": "u64" | |
}, | |
{ | |
"name": "uuid", | |
"type": { | |
"array": [ | |
"u8", | |
8 | |
] | |
} | |
}, | |
{ | |
"name": "takeProfitOrderParams", | |
"type": { | |
"option": { | |
"defined": "SignedMsgTriggerOrderParams" | |
} | |
} | |
}, | |
{ | |
"name": "stopLossOrderParams", | |
"type": { | |
"option": { | |
"defined": "SignedMsgTriggerOrderParams" | |
} | |
} | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "SignedMsgTriggerOrderParams", | |
"type": { | |
"fields": [ | |
{ | |
"name": "triggerPrice", | |
"type": "u64" | |
}, | |
{ | |
"name": "baseAssetAmount", | |
"type": "u64" | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "ModifyOrderParams", | |
"type": { | |
"fields": [ | |
{ | |
"name": "direction", | |
"type": { | |
"option": { | |
"defined": "PositionDirection" | |
} | |
} | |
}, | |
{ | |
"name": "baseAssetAmount", | |
"type": { | |
"option": "u64" | |
} | |
}, | |
{ | |
"name": "price", | |
"type": { | |
"option": "u64" | |
} | |
}, | |
{ | |
"name": "reduceOnly", | |
"type": { | |
"option": "bool" | |
} | |
}, | |
{ | |
"name": "postOnly", | |
"type": { | |
"option": { | |
"defined": "PostOnlyParam" | |
} | |
} | |
}, | |
{ | |
"name": "immediateOrCancel", | |
"type": { | |
"option": "bool" | |
} | |
}, | |
{ | |
"name": "maxTs", | |
"type": { | |
"option": "i64" | |
} | |
}, | |
{ | |
"name": "triggerPrice", | |
"type": { | |
"option": "u64" | |
} | |
}, | |
{ | |
"name": "triggerCondition", | |
"type": { | |
"option": { | |
"defined": "OrderTriggerCondition" | |
} | |
} | |
}, | |
{ | |
"name": "oraclePriceOffset", | |
"type": { | |
"option": "i32" | |
} | |
}, | |
{ | |
"name": "auctionDuration", | |
"type": { | |
"option": "u8" | |
} | |
}, | |
{ | |
"name": "auctionStartPrice", | |
"type": { | |
"option": "i64" | |
} | |
}, | |
{ | |
"name": "auctionEndPrice", | |
"type": { | |
"option": "i64" | |
} | |
}, | |
{ | |
"name": "policy", | |
"type": { | |
"option": "u8" | |
} | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "InsuranceClaim", | |
"type": { | |
"fields": [ | |
{ | |
"docs": [ | |
"The amount of revenue last settled", | |
"Positive if funds left the perp market,", | |
"negative if funds were pulled into the perp market", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "revenueWithdrawSinceLastSettle", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"The max amount of revenue that can be withdrawn per period", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "maxRevenueWithdrawPerPeriod", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"The max amount of insurance that perp market can use to resolve bankruptcy and pnl deficits", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "quoteMaxInsurance", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"The amount of insurance that has been used to resolve bankruptcy and pnl deficits", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "quoteSettledInsurance", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"The last time revenue was settled in/out of market" | |
], | |
"name": "lastRevenueWithdrawTs", | |
"type": "i64" | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "PoolBalance", | |
"type": { | |
"fields": [ | |
{ | |
"docs": [ | |
"To get the pool's token amount, you must multiply the scaled balance by the market's cumulative", | |
"deposit interest", | |
"precision: SPOT_BALANCE_PRECISION" | |
], | |
"name": "scaledBalance", | |
"type": "u128" | |
}, | |
{ | |
"docs": [ | |
"The spot market the pool is for" | |
], | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"name": "padding", | |
"type": { | |
"array": [ | |
"u8", | |
6 | |
] | |
} | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "AMM", | |
"type": { | |
"fields": [ | |
{ | |
"docs": [ | |
"oracle price data public key" | |
], | |
"name": "oracle", | |
"type": "publicKey" | |
}, | |
{ | |
"docs": [ | |
"stores historically witnessed oracle data" | |
], | |
"name": "historicalOracleData", | |
"type": { | |
"defined": "HistoricalOracleData" | |
} | |
}, | |
{ | |
"docs": [ | |
"accumulated base asset amount since inception per lp share", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "baseAssetAmountPerLp", | |
"type": "i128" | |
}, | |
{ | |
"docs": [ | |
"accumulated quote asset amount since inception per lp share", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "quoteAssetAmountPerLp", | |
"type": "i128" | |
}, | |
{ | |
"docs": [ | |
"partition of fees from perp market trading moved from pnl settlements" | |
], | |
"name": "feePool", | |
"type": { | |
"defined": "PoolBalance" | |
} | |
}, | |
{ | |
"docs": [ | |
"`x` reserves for constant product mm formula (x * y = k)", | |
"precision: AMM_RESERVE_PRECISION" | |
], | |
"name": "baseAssetReserve", | |
"type": "u128" | |
}, | |
{ | |
"docs": [ | |
"`y` reserves for constant product mm formula (x * y = k)", | |
"precision: AMM_RESERVE_PRECISION" | |
], | |
"name": "quoteAssetReserve", | |
"type": "u128" | |
}, | |
{ | |
"docs": [ | |
"determines how close the min/max base asset reserve sit vs base reserves", | |
"allow for decreasing slippage without increasing liquidity and v.v.", | |
"precision: PERCENTAGE_PRECISION" | |
], | |
"name": "concentrationCoef", | |
"type": "u128" | |
}, | |
{ | |
"docs": [ | |
"minimum base_asset_reserve allowed before AMM is unavailable", | |
"precision: AMM_RESERVE_PRECISION" | |
], | |
"name": "minBaseAssetReserve", | |
"type": "u128" | |
}, | |
{ | |
"docs": [ | |
"maximum base_asset_reserve allowed before AMM is unavailable", | |
"precision: AMM_RESERVE_PRECISION" | |
], | |
"name": "maxBaseAssetReserve", | |
"type": "u128" | |
}, | |
{ | |
"docs": [ | |
"`sqrt(k)` in constant product mm formula (x * y = k). stored to avoid drift caused by integer math issues", | |
"precision: AMM_RESERVE_PRECISION" | |
], | |
"name": "sqrtK", | |
"type": "u128" | |
}, | |
{ | |
"docs": [ | |
"normalizing numerical factor for y, its use offers lowest slippage in cp-curve when market is balanced", | |
"precision: PEG_PRECISION" | |
], | |
"name": "pegMultiplier", | |
"type": "u128" | |
}, | |
{ | |
"docs": [ | |
"y when market is balanced. stored to save computation", | |
"precision: AMM_RESERVE_PRECISION" | |
], | |
"name": "terminalQuoteAssetReserve", | |
"type": "u128" | |
}, | |
{ | |
"docs": [ | |
"always non-negative. tracks number of total longs in market (regardless of counterparty)", | |
"precision: BASE_PRECISION" | |
], | |
"name": "baseAssetAmountLong", | |
"type": "i128" | |
}, | |
{ | |
"docs": [ | |
"always non-positive. tracks number of total shorts in market (regardless of counterparty)", | |
"precision: BASE_PRECISION" | |
], | |
"name": "baseAssetAmountShort", | |
"type": "i128" | |
}, | |
{ | |
"docs": [ | |
"tracks net position (longs-shorts) in market with AMM as counterparty", | |
"precision: BASE_PRECISION" | |
], | |
"name": "baseAssetAmountWithAmm", | |
"type": "i128" | |
}, | |
{ | |
"docs": [ | |
"tracks net position (longs-shorts) in market with LPs as counterparty", | |
"precision: BASE_PRECISION" | |
], | |
"name": "baseAssetAmountWithUnsettledLp", | |
"type": "i128" | |
}, | |
{ | |
"docs": [ | |
"max allowed open interest, blocks trades that breach this value", | |
"precision: BASE_PRECISION" | |
], | |
"name": "maxOpenInterest", | |
"type": "u128" | |
}, | |
{ | |
"docs": [ | |
"sum of all user's perp quote_asset_amount in market", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "quoteAssetAmount", | |
"type": "i128" | |
}, | |
{ | |
"docs": [ | |
"sum of all long user's quote_entry_amount in market", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "quoteEntryAmountLong", | |
"type": "i128" | |
}, | |
{ | |
"docs": [ | |
"sum of all short user's quote_entry_amount in market", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "quoteEntryAmountShort", | |
"type": "i128" | |
}, | |
{ | |
"docs": [ | |
"sum of all long user's quote_break_even_amount in market", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "quoteBreakEvenAmountLong", | |
"type": "i128" | |
}, | |
{ | |
"docs": [ | |
"sum of all short user's quote_break_even_amount in market", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "quoteBreakEvenAmountShort", | |
"type": "i128" | |
}, | |
{ | |
"docs": [ | |
"total user lp shares of sqrt_k (protocol owned liquidity = sqrt_k - last_funding_rate)", | |
"precision: AMM_RESERVE_PRECISION" | |
], | |
"name": "userLpShares", | |
"type": "u128" | |
}, | |
{ | |
"docs": [ | |
"last funding rate in this perp market (unit is quote per base)", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "lastFundingRate", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"last funding rate for longs in this perp market (unit is quote per base)", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "lastFundingRateLong", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"last funding rate for shorts in this perp market (unit is quote per base)", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "lastFundingRateShort", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"estimate of last 24h of funding rate perp market (unit is quote per base)", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "last24hAvgFundingRate", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"total fees collected by this perp market", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "totalFee", | |
"type": "i128" | |
}, | |
{ | |
"docs": [ | |
"total fees collected by the vAMM's bid/ask spread", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "totalMmFee", | |
"type": "i128" | |
}, | |
{ | |
"docs": [ | |
"total fees collected by exchange fee schedule", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "totalExchangeFee", | |
"type": "u128" | |
}, | |
{ | |
"docs": [ | |
"total fees minus any recognized upnl and pool withdraws", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "totalFeeMinusDistributions", | |
"type": "i128" | |
}, | |
{ | |
"docs": [ | |
"sum of all fees from fee pool withdrawn to revenue pool", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "totalFeeWithdrawn", | |
"type": "u128" | |
}, | |
{ | |
"docs": [ | |
"all fees collected by market for liquidations", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "totalLiquidationFee", | |
"type": "u128" | |
}, | |
{ | |
"docs": [ | |
"accumulated funding rate for longs since inception in market" | |
], | |
"name": "cumulativeFundingRateLong", | |
"type": "i128" | |
}, | |
{ | |
"docs": [ | |
"accumulated funding rate for shorts since inception in market" | |
], | |
"name": "cumulativeFundingRateShort", | |
"type": "i128" | |
}, | |
{ | |
"docs": [ | |
"accumulated social loss paid by users since inception in market" | |
], | |
"name": "totalSocialLoss", | |
"type": "u128" | |
}, | |
{ | |
"docs": [ | |
"transformed base_asset_reserve for users going long", | |
"precision: AMM_RESERVE_PRECISION" | |
], | |
"name": "askBaseAssetReserve", | |
"type": "u128" | |
}, | |
{ | |
"docs": [ | |
"transformed quote_asset_reserve for users going long", | |
"precision: AMM_RESERVE_PRECISION" | |
], | |
"name": "askQuoteAssetReserve", | |
"type": "u128" | |
}, | |
{ | |
"docs": [ | |
"transformed base_asset_reserve for users going short", | |
"precision: AMM_RESERVE_PRECISION" | |
], | |
"name": "bidBaseAssetReserve", | |
"type": "u128" | |
}, | |
{ | |
"docs": [ | |
"transformed quote_asset_reserve for users going short", | |
"precision: AMM_RESERVE_PRECISION" | |
], | |
"name": "bidQuoteAssetReserve", | |
"type": "u128" | |
}, | |
{ | |
"docs": [ | |
"the last seen oracle price partially shrunk toward the amm reserve price", | |
"precision: PRICE_PRECISION" | |
], | |
"name": "lastOracleNormalisedPrice", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"the gap between the oracle price and the reserve price = y * peg_multiplier / x" | |
], | |
"name": "lastOracleReservePriceSpreadPct", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"average estimate of bid price over funding_period", | |
"precision: PRICE_PRECISION" | |
], | |
"name": "lastBidPriceTwap", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"average estimate of ask price over funding_period", | |
"precision: PRICE_PRECISION" | |
], | |
"name": "lastAskPriceTwap", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"average estimate of (bid+ask)/2 price over funding_period", | |
"precision: PRICE_PRECISION" | |
], | |
"name": "lastMarkPriceTwap", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"average estimate of (bid+ask)/2 price over FIVE_MINUTES" | |
], | |
"name": "lastMarkPriceTwap5min", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"the last blockchain slot the amm was updated" | |
], | |
"name": "lastUpdateSlot", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"the pct size of the oracle confidence interval", | |
"precision: PERCENTAGE_PRECISION" | |
], | |
"name": "lastOracleConfPct", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"the total_fee_minus_distribution change since the last funding update", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "netRevenueSinceLastFunding", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"the last funding rate update unix_timestamp" | |
], | |
"name": "lastFundingRateTs", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"the peridocity of the funding rate updates" | |
], | |
"name": "fundingPeriod", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"the base step size (increment) of orders", | |
"precision: BASE_PRECISION" | |
], | |
"name": "orderStepSize", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"the price tick size of orders", | |
"precision: PRICE_PRECISION" | |
], | |
"name": "orderTickSize", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"the minimum base size of an order", | |
"precision: BASE_PRECISION" | |
], | |
"name": "minOrderSize", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"the max base size a single user can have", | |
"precision: BASE_PRECISION" | |
], | |
"name": "maxPositionSize", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"estimated total of volume in market", | |
"QUOTE_PRECISION" | |
], | |
"name": "volume24h", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"the volume intensity of long fills against AMM" | |
], | |
"name": "longIntensityVolume", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"the volume intensity of short fills against AMM" | |
], | |
"name": "shortIntensityVolume", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"the blockchain unix timestamp at the time of the last trade" | |
], | |
"name": "lastTradeTs", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"estimate of standard deviation of the fill (mark) prices", | |
"precision: PRICE_PRECISION" | |
], | |
"name": "markStd", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"estimate of standard deviation of the oracle price at each update", | |
"precision: PRICE_PRECISION" | |
], | |
"name": "oracleStd", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"the last unix_timestamp the mark twap was updated" | |
], | |
"name": "lastMarkPriceTwapTs", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"the minimum spread the AMM can quote. also used as step size for some spread logic increases." | |
], | |
"name": "baseSpread", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"the maximum spread the AMM can quote" | |
], | |
"name": "maxSpread", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"the spread for asks vs the reserve price" | |
], | |
"name": "longSpread", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"the spread for bids vs the reserve price" | |
], | |
"name": "shortSpread", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"the count intensity of long fills against AMM" | |
], | |
"name": "longIntensityCount", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"the count intensity of short fills against AMM" | |
], | |
"name": "shortIntensityCount", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"the fraction of total available liquidity a single fill on the AMM can consume" | |
], | |
"name": "maxFillReserveFraction", | |
"type": "u16" | |
}, | |
{ | |
"docs": [ | |
"the maximum slippage a single fill on the AMM can push" | |
], | |
"name": "maxSlippageRatio", | |
"type": "u16" | |
}, | |
{ | |
"docs": [ | |
"the update intensity of AMM formulaic updates (adjusting k). 0-100" | |
], | |
"name": "curveUpdateIntensity", | |
"type": "u8" | |
}, | |
{ | |
"docs": [ | |
"the jit intensity of AMM. larger intensity means larger participation in jit. 0 means no jit participation.", | |
"(0, 100] is intensity for protocol-owned AMM. (100, 200] is intensity for user LP-owned AMM." | |
], | |
"name": "ammJitIntensity", | |
"type": "u8" | |
}, | |
{ | |
"docs": [ | |
"the oracle provider information. used to decode/scale the oracle public key" | |
], | |
"name": "oracleSource", | |
"type": { | |
"defined": "OracleSource" | |
} | |
}, | |
{ | |
"docs": [ | |
"tracks whether the oracle was considered valid at the last AMM update" | |
], | |
"name": "lastOracleValid", | |
"type": "bool" | |
}, | |
{ | |
"docs": [ | |
"the target value for `base_asset_amount_per_lp`, used during AMM JIT with LP split", | |
"precision: BASE_PRECISION" | |
], | |
"name": "targetBaseAssetAmountPerLp", | |
"type": "i32" | |
}, | |
{ | |
"docs": [ | |
"expo for unit of per_lp, base 10 (if per_lp_base=X, then per_lp unit is 10^X)" | |
], | |
"name": "perLpBase", | |
"type": "i8" | |
}, | |
{ | |
"name": "padding1", | |
"type": "u8" | |
}, | |
{ | |
"name": "padding2", | |
"type": "u16" | |
}, | |
{ | |
"name": "totalFeeEarnedPerLp", | |
"type": "u64" | |
}, | |
{ | |
"name": "netUnsettledFundingPnl", | |
"type": "i64" | |
}, | |
{ | |
"name": "quoteAssetAmountWithUnsettledLp", | |
"type": "i64" | |
}, | |
{ | |
"name": "referencePriceOffset", | |
"type": "i32" | |
}, | |
{ | |
"name": "padding", | |
"type": { | |
"array": [ | |
"u8", | |
12 | |
] | |
} | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "SignedMsgOrderId", | |
"type": { | |
"fields": [ | |
{ | |
"name": "uuid", | |
"type": { | |
"array": [ | |
"u8", | |
8 | |
] | |
} | |
}, | |
{ | |
"name": "maxSlot", | |
"type": "u64" | |
}, | |
{ | |
"name": "orderId", | |
"type": "u32" | |
}, | |
{ | |
"name": "padding", | |
"type": "u32" | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "SignedMsgUserOrdersFixed", | |
"type": { | |
"fields": [ | |
{ | |
"name": "userPubkey", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "padding", | |
"type": "u32" | |
}, | |
{ | |
"name": "len", | |
"type": "u32" | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "InsuranceFund", | |
"type": { | |
"fields": [ | |
{ | |
"name": "vault", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "totalShares", | |
"type": "u128" | |
}, | |
{ | |
"name": "userShares", | |
"type": "u128" | |
}, | |
{ | |
"name": "sharesBase", | |
"type": "u128" | |
}, | |
{ | |
"name": "unstakingPeriod", | |
"type": "i64" | |
}, | |
{ | |
"name": "lastRevenueSettleTs", | |
"type": "i64" | |
}, | |
{ | |
"name": "revenueSettlePeriod", | |
"type": "i64" | |
}, | |
{ | |
"name": "totalFactor", | |
"type": "u32" | |
}, | |
{ | |
"name": "userFactor", | |
"type": "u32" | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "OracleGuardRails", | |
"type": { | |
"fields": [ | |
{ | |
"name": "priceDivergence", | |
"type": { | |
"defined": "PriceDivergenceGuardRails" | |
} | |
}, | |
{ | |
"name": "validity", | |
"type": { | |
"defined": "ValidityGuardRails" | |
} | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "PriceDivergenceGuardRails", | |
"type": { | |
"fields": [ | |
{ | |
"name": "markOraclePercentDivergence", | |
"type": "u64" | |
}, | |
{ | |
"name": "oracleTwap5minPercentDivergence", | |
"type": "u64" | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "ValidityGuardRails", | |
"type": { | |
"fields": [ | |
{ | |
"name": "slotsBeforeStaleForAmm", | |
"type": "i64" | |
}, | |
{ | |
"name": "slotsBeforeStaleForMargin", | |
"type": "i64" | |
}, | |
{ | |
"name": "confidenceIntervalMaxSize", | |
"type": "u64" | |
}, | |
{ | |
"name": "tooVolatileRatio", | |
"type": "i64" | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "FeeStructure", | |
"type": { | |
"fields": [ | |
{ | |
"name": "feeTiers", | |
"type": { | |
"array": [ | |
{ | |
"defined": "FeeTier" | |
}, | |
10 | |
] | |
} | |
}, | |
{ | |
"name": "fillerRewardStructure", | |
"type": { | |
"defined": "OrderFillerRewardStructure" | |
} | |
}, | |
{ | |
"name": "referrerRewardEpochUpperBound", | |
"type": "u64" | |
}, | |
{ | |
"name": "flatFillerFee", | |
"type": "u64" | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "FeeTier", | |
"type": { | |
"fields": [ | |
{ | |
"name": "feeNumerator", | |
"type": "u32" | |
}, | |
{ | |
"name": "feeDenominator", | |
"type": "u32" | |
}, | |
{ | |
"name": "makerRebateNumerator", | |
"type": "u32" | |
}, | |
{ | |
"name": "makerRebateDenominator", | |
"type": "u32" | |
}, | |
{ | |
"name": "referrerRewardNumerator", | |
"type": "u32" | |
}, | |
{ | |
"name": "referrerRewardDenominator", | |
"type": "u32" | |
}, | |
{ | |
"name": "refereeFeeNumerator", | |
"type": "u32" | |
}, | |
{ | |
"name": "refereeFeeDenominator", | |
"type": "u32" | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "OrderFillerRewardStructure", | |
"type": { | |
"fields": [ | |
{ | |
"name": "rewardNumerator", | |
"type": "u32" | |
}, | |
{ | |
"name": "rewardDenominator", | |
"type": "u32" | |
}, | |
{ | |
"name": "timeBasedRewardLowerBound", | |
"type": "u128" | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "UserFees", | |
"type": { | |
"fields": [ | |
{ | |
"docs": [ | |
"Total taker fee paid", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "totalFeePaid", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"Total maker fee rebate", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "totalFeeRebate", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"Total discount from holding token", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "totalTokenDiscount", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"Total discount from being referred", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "totalRefereeDiscount", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"Total reward to referrer", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "totalReferrerReward", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"Total reward to referrer this epoch", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "currentEpochReferrerReward", | |
"type": "u64" | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "SpotPosition", | |
"type": { | |
"fields": [ | |
{ | |
"docs": [ | |
"The scaled balance of the position. To get the token amount, multiply by the cumulative deposit/borrow", | |
"interest of corresponding market.", | |
"precision: SPOT_BALANCE_PRECISION" | |
], | |
"name": "scaledBalance", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"How many spot bids the user has open", | |
"precision: token mint precision" | |
], | |
"name": "openBids", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"How many spot asks the user has open", | |
"precision: token mint precision" | |
], | |
"name": "openAsks", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"The cumulative deposits/borrows a user has made into a market", | |
"precision: token mint precision" | |
], | |
"name": "cumulativeDeposits", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"The market index of the corresponding spot market" | |
], | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"docs": [ | |
"Whether the position is deposit or borrow" | |
], | |
"name": "balanceType", | |
"type": { | |
"defined": "SpotBalanceType" | |
} | |
}, | |
{ | |
"docs": [ | |
"Number of open orders" | |
], | |
"name": "openOrders", | |
"type": "u8" | |
}, | |
{ | |
"name": "padding", | |
"type": { | |
"array": [ | |
"u8", | |
4 | |
] | |
} | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "PerpPosition", | |
"type": { | |
"fields": [ | |
{ | |
"docs": [ | |
"The perp market's last cumulative funding rate. Used to calculate the funding payment owed to user", | |
"precision: FUNDING_RATE_PRECISION" | |
], | |
"name": "lastCumulativeFundingRate", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"the size of the users perp position", | |
"precision: BASE_PRECISION" | |
], | |
"name": "baseAssetAmount", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"Used to calculate the users pnl. Upon entry, is equal to base_asset_amount * avg entry price - fees", | |
"Updated when the user open/closes position or settles pnl. Includes fees/funding", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "quoteAssetAmount", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"The amount of quote the user would need to exit their position at to break even", | |
"Updated when the user open/closes position or settles pnl. Includes fees/funding", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "quoteBreakEvenAmount", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"The amount quote the user entered the position with. Equal to base asset amount * avg entry price", | |
"Updated when the user open/closes position. Excludes fees/funding", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "quoteEntryAmount", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"The amount of open bids the user has in this perp market", | |
"precision: BASE_PRECISION" | |
], | |
"name": "openBids", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"The amount of open asks the user has in this perp market", | |
"precision: BASE_PRECISION" | |
], | |
"name": "openAsks", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"The amount of pnl settled in this market since opening the position", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "settledPnl", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"The number of lp (liquidity provider) shares the user has in this perp market", | |
"LP shares allow users to provide liquidity via the AMM", | |
"precision: BASE_PRECISION" | |
], | |
"name": "lpShares", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"The last base asset amount per lp the amm had", | |
"Used to settle the users lp position", | |
"precision: BASE_PRECISION" | |
], | |
"name": "lastBaseAssetAmountPerLp", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"The last quote asset amount per lp the amm had", | |
"Used to settle the users lp position", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "lastQuoteAssetAmountPerLp", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"Settling LP position can lead to a small amount of base asset being left over smaller than step size", | |
"This records that remainder so it can be settled later on", | |
"precision: BASE_PRECISION" | |
], | |
"name": "remainderBaseAssetAmount", | |
"type": "i32" | |
}, | |
{ | |
"docs": [ | |
"The market index for the perp market" | |
], | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"docs": [ | |
"The number of open orders" | |
], | |
"name": "openOrders", | |
"type": "u8" | |
}, | |
{ | |
"name": "perLpBase", | |
"type": "i8" | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "Order", | |
"type": { | |
"fields": [ | |
{ | |
"docs": [ | |
"The slot the order was placed" | |
], | |
"name": "slot", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"The limit price for the order (can be 0 for market orders)", | |
"For orders with an auction, this price isn't used until the auction is complete", | |
"precision: PRICE_PRECISION" | |
], | |
"name": "price", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"The size of the order", | |
"precision for perps: BASE_PRECISION", | |
"precision for spot: token mint precision" | |
], | |
"name": "baseAssetAmount", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"The amount of the order filled", | |
"precision for perps: BASE_PRECISION", | |
"precision for spot: token mint precision" | |
], | |
"name": "baseAssetAmountFilled", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"The amount of quote filled for the order", | |
"precision: QUOTE_PRECISION" | |
], | |
"name": "quoteAssetAmountFilled", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"At what price the order will be triggered. Only relevant for trigger orders", | |
"precision: PRICE_PRECISION" | |
], | |
"name": "triggerPrice", | |
"type": "u64" | |
}, | |
{ | |
"docs": [ | |
"The start price for the auction. Only relevant for market/oracle orders", | |
"precision: PRICE_PRECISION" | |
], | |
"name": "auctionStartPrice", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"The end price for the auction. Only relevant for market/oracle orders", | |
"precision: PRICE_PRECISION" | |
], | |
"name": "auctionEndPrice", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"The time when the order will expire" | |
], | |
"name": "maxTs", | |
"type": "i64" | |
}, | |
{ | |
"docs": [ | |
"If set, the order limit price is the oracle price + this offset", | |
"precision: PRICE_PRECISION" | |
], | |
"name": "oraclePriceOffset", | |
"type": "i32" | |
}, | |
{ | |
"docs": [ | |
"The id for the order. Each users has their own order id space" | |
], | |
"name": "orderId", | |
"type": "u32" | |
}, | |
{ | |
"docs": [ | |
"The perp/spot market index" | |
], | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"docs": [ | |
"Whether the order is open or unused" | |
], | |
"name": "status", | |
"type": { | |
"defined": "OrderStatus" | |
} | |
}, | |
{ | |
"docs": [ | |
"The type of order" | |
], | |
"name": "orderType", | |
"type": { | |
"defined": "OrderType" | |
} | |
}, | |
{ | |
"docs": [ | |
"Whether market is spot or perp" | |
], | |
"name": "marketType", | |
"type": { | |
"defined": "MarketType" | |
} | |
}, | |
{ | |
"docs": [ | |
"User generated order id. Can make it easier to place/cancel orders" | |
], | |
"name": "userOrderId", | |
"type": "u8" | |
}, | |
{ | |
"docs": [ | |
"What the users position was when the order was placed" | |
], | |
"name": "existingPositionDirection", | |
"type": { | |
"defined": "PositionDirection" | |
} | |
}, | |
{ | |
"docs": [ | |
"Whether the user is going long or short. LONG = bid, SHORT = ask" | |
], | |
"name": "direction", | |
"type": { | |
"defined": "PositionDirection" | |
} | |
}, | |
{ | |
"docs": [ | |
"Whether the order is allowed to only reduce position size" | |
], | |
"name": "reduceOnly", | |
"type": "bool" | |
}, | |
{ | |
"docs": [ | |
"Whether the order must be a maker" | |
], | |
"name": "postOnly", | |
"type": "bool" | |
}, | |
{ | |
"docs": [ | |
"Whether the order must be canceled the same slot it is placed" | |
], | |
"name": "immediateOrCancel", | |
"type": "bool" | |
}, | |
{ | |
"docs": [ | |
"Whether the order is triggered above or below the trigger price. Only relevant for trigger orders" | |
], | |
"name": "triggerCondition", | |
"type": { | |
"defined": "OrderTriggerCondition" | |
} | |
}, | |
{ | |
"docs": [ | |
"How many slots the auction lasts" | |
], | |
"name": "auctionDuration", | |
"type": "u8" | |
}, | |
{ | |
"docs": [ | |
"Last 8 bits of the slot the order was posted on-chain (not order slot for signed msg orders)" | |
], | |
"name": "postedSlotTail", | |
"type": "u8" | |
}, | |
{ | |
"docs": [ | |
"Bitflags for further classification", | |
"0: is_signed_message" | |
], | |
"name": "bitFlags", | |
"type": "u8" | |
}, | |
{ | |
"name": "padding", | |
"type": { | |
"array": [ | |
"u8", | |
1 | |
] | |
} | |
} | |
], | |
"kind": "struct" | |
} | |
}, | |
{ | |
"name": "SwapDirection", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "Add" | |
}, | |
{ | |
"name": "Remove" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "ModifyOrderId", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"fields": [ | |
"u8" | |
], | |
"name": "UserOrderId" | |
}, | |
{ | |
"fields": [ | |
"u32" | |
], | |
"name": "OrderId" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "PositionDirection", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "Long" | |
}, | |
{ | |
"name": "Short" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "SpotFulfillmentType", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "SerumV3" | |
}, | |
{ | |
"name": "Match" | |
}, | |
{ | |
"name": "PhoenixV1" | |
}, | |
{ | |
"name": "OpenbookV2" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "SwapReduceOnly", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "In" | |
}, | |
{ | |
"name": "Out" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "TwapPeriod", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "FundingPeriod" | |
}, | |
{ | |
"name": "FiveMin" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "LiquidationMultiplierType", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "Discount" | |
}, | |
{ | |
"name": "Premium" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "MarginRequirementType", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "Initial" | |
}, | |
{ | |
"name": "Fill" | |
}, | |
{ | |
"name": "Maintenance" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "OracleValidity", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "NonPositive" | |
}, | |
{ | |
"name": "TooVolatile" | |
}, | |
{ | |
"name": "TooUncertain" | |
}, | |
{ | |
"name": "StaleForMargin" | |
}, | |
{ | |
"name": "InsufficientDataPoints" | |
}, | |
{ | |
"name": "StaleForAMM" | |
}, | |
{ | |
"name": "Valid" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "DriftAction", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "UpdateFunding" | |
}, | |
{ | |
"name": "SettlePnl" | |
}, | |
{ | |
"name": "TriggerOrder" | |
}, | |
{ | |
"name": "FillOrderMatch" | |
}, | |
{ | |
"name": "FillOrderAmm" | |
}, | |
{ | |
"name": "Liquidate" | |
}, | |
{ | |
"name": "MarginCalc" | |
}, | |
{ | |
"name": "UpdateTwap" | |
}, | |
{ | |
"name": "UpdateAMMCurve" | |
}, | |
{ | |
"name": "OracleOrderPrice" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "PositionUpdateType", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "Open" | |
}, | |
{ | |
"name": "Increase" | |
}, | |
{ | |
"name": "Reduce" | |
}, | |
{ | |
"name": "Close" | |
}, | |
{ | |
"name": "Flip" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "DepositExplanation", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "None" | |
}, | |
{ | |
"name": "Transfer" | |
}, | |
{ | |
"name": "Borrow" | |
}, | |
{ | |
"name": "RepayBorrow" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "DepositDirection", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "Deposit" | |
}, | |
{ | |
"name": "Withdraw" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "OrderAction", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "Place" | |
}, | |
{ | |
"name": "Cancel" | |
}, | |
{ | |
"name": "Fill" | |
}, | |
{ | |
"name": "Trigger" | |
}, | |
{ | |
"name": "Expire" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "OrderActionExplanation", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "None" | |
}, | |
{ | |
"name": "InsufficientFreeCollateral" | |
}, | |
{ | |
"name": "OraclePriceBreachedLimitPrice" | |
}, | |
{ | |
"name": "MarketOrderFilledToLimitPrice" | |
}, | |
{ | |
"name": "OrderExpired" | |
}, | |
{ | |
"name": "Liquidation" | |
}, | |
{ | |
"name": "OrderFilledWithAMM" | |
}, | |
{ | |
"name": "OrderFilledWithAMMJit" | |
}, | |
{ | |
"name": "OrderFilledWithMatch" | |
}, | |
{ | |
"name": "OrderFilledWithMatchJit" | |
}, | |
{ | |
"name": "MarketExpired" | |
}, | |
{ | |
"name": "RiskingIncreasingOrder" | |
}, | |
{ | |
"name": "ReduceOnlyOrderIncreasedPosition" | |
}, | |
{ | |
"name": "OrderFillWithSerum" | |
}, | |
{ | |
"name": "NoBorrowLiquidity" | |
}, | |
{ | |
"name": "OrderFillWithPhoenix" | |
}, | |
{ | |
"name": "OrderFilledWithAMMJitLPSplit" | |
}, | |
{ | |
"name": "OrderFilledWithLPJit" | |
}, | |
{ | |
"name": "DeriskLp" | |
}, | |
{ | |
"name": "OrderFilledWithOpenbookV2" | |
}, | |
{ | |
"name": "TransferPerpPosition" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "LPAction", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "AddLiquidity" | |
}, | |
{ | |
"name": "RemoveLiquidity" | |
}, | |
{ | |
"name": "SettleLiquidity" | |
}, | |
{ | |
"name": "RemoveLiquidityDerisk" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "LiquidationType", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "LiquidatePerp" | |
}, | |
{ | |
"name": "LiquidateSpot" | |
}, | |
{ | |
"name": "LiquidateBorrowForPerpPnl" | |
}, | |
{ | |
"name": "LiquidatePerpPnlForDeposit" | |
}, | |
{ | |
"name": "PerpBankruptcy" | |
}, | |
{ | |
"name": "SpotBankruptcy" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "SettlePnlExplanation", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "None" | |
}, | |
{ | |
"name": "ExpiredPosition" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "StakeAction", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "Stake" | |
}, | |
{ | |
"name": "UnstakeRequest" | |
}, | |
{ | |
"name": "UnstakeCancelRequest" | |
}, | |
{ | |
"name": "Unstake" | |
}, | |
{ | |
"name": "UnstakeTransfer" | |
}, | |
{ | |
"name": "StakeTransfer" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "FillMode", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "Fill" | |
}, | |
{ | |
"name": "PlaceAndMake" | |
}, | |
{ | |
"fields": [ | |
"bool", | |
"u8" | |
], | |
"name": "PlaceAndTake" | |
}, | |
{ | |
"name": "Liquidation" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "PerpFulfillmentMethod", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"fields": [ | |
{ | |
"option": "u64" | |
} | |
], | |
"name": "AMM" | |
}, | |
{ | |
"fields": [ | |
"publicKey", | |
"u16", | |
"u64" | |
], | |
"name": "Match" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "SpotFulfillmentMethod", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "ExternalMarket" | |
}, | |
{ | |
"fields": [ | |
"publicKey", | |
"u16" | |
], | |
"name": "Match" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "MarginCalculationMode", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"fields": [ | |
{ | |
"name": "trackOpenOrdersFraction", | |
"type": "bool" | |
} | |
], | |
"name": "Standard" | |
}, | |
{ | |
"fields": [ | |
{ | |
"name": "marketToTrackMarginRequirement", | |
"type": { | |
"option": { | |
"defined": "MarketIdentifier" | |
} | |
} | |
} | |
], | |
"name": "Liquidation" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "OracleSource", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "Pyth" | |
}, | |
{ | |
"name": "Switchboard" | |
}, | |
{ | |
"name": "QuoteAsset" | |
}, | |
{ | |
"name": "Pyth1K" | |
}, | |
{ | |
"name": "Pyth1M" | |
}, | |
{ | |
"name": "PythStableCoin" | |
}, | |
{ | |
"name": "Prelaunch" | |
}, | |
{ | |
"name": "PythPull" | |
}, | |
{ | |
"name": "Pyth1KPull" | |
}, | |
{ | |
"name": "Pyth1MPull" | |
}, | |
{ | |
"name": "PythStableCoinPull" | |
}, | |
{ | |
"name": "SwitchboardOnDemand" | |
}, | |
{ | |
"name": "PythLazer" | |
}, | |
{ | |
"name": "PythLazer1K" | |
}, | |
{ | |
"name": "PythLazer1M" | |
}, | |
{ | |
"name": "PythLazerStableCoin" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "PostOnlyParam", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "None" | |
}, | |
{ | |
"name": "MustPostOnly" | |
}, | |
{ | |
"name": "TryPostOnly" | |
}, | |
{ | |
"name": "Slide" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "ModifyOrderPolicy", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "MustModify" | |
}, | |
{ | |
"name": "ExcludePreviousFill" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "PlaceAndTakeOrderSuccessCondition", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "PartialFill" | |
}, | |
{ | |
"name": "FullFill" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "PerpOperation", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "UpdateFunding" | |
}, | |
{ | |
"name": "AmmFill" | |
}, | |
{ | |
"name": "Fill" | |
}, | |
{ | |
"name": "SettlePnl" | |
}, | |
{ | |
"name": "SettlePnlWithPosition" | |
}, | |
{ | |
"name": "Liquidation" | |
}, | |
{ | |
"name": "AmmImmediateFill" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "SpotOperation", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "UpdateCumulativeInterest" | |
}, | |
{ | |
"name": "Fill" | |
}, | |
{ | |
"name": "Deposit" | |
}, | |
{ | |
"name": "Withdraw" | |
}, | |
{ | |
"name": "Liquidation" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "InsuranceFundOperation", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "Init" | |
}, | |
{ | |
"name": "Add" | |
}, | |
{ | |
"name": "RequestRemove" | |
}, | |
{ | |
"name": "Remove" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "MarketStatus", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "Initialized" | |
}, | |
{ | |
"name": "Active" | |
}, | |
{ | |
"name": "FundingPaused" | |
}, | |
{ | |
"name": "AmmPaused" | |
}, | |
{ | |
"name": "FillPaused" | |
}, | |
{ | |
"name": "WithdrawPaused" | |
}, | |
{ | |
"name": "ReduceOnly" | |
}, | |
{ | |
"name": "Settlement" | |
}, | |
{ | |
"name": "Delisted" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "ContractType", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "Perpetual" | |
}, | |
{ | |
"name": "Future" | |
}, | |
{ | |
"name": "Prediction" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "ContractTier", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "A" | |
}, | |
{ | |
"name": "B" | |
}, | |
{ | |
"name": "C" | |
}, | |
{ | |
"name": "Speculative" | |
}, | |
{ | |
"name": "HighlySpeculative" | |
}, | |
{ | |
"name": "Isolated" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "AMMLiquiditySplit", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "ProtocolOwned" | |
}, | |
{ | |
"name": "LPOwned" | |
}, | |
{ | |
"name": "Shared" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "AMMAvailability", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "Immediate" | |
}, | |
{ | |
"name": "AfterMinDuration" | |
}, | |
{ | |
"name": "Unavailable" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "SettlePnlMode", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "MustSettle" | |
}, | |
{ | |
"name": "TrySettle" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "SpotBalanceType", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "Deposit" | |
}, | |
{ | |
"name": "Borrow" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "SpotFulfillmentConfigStatus", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "Enabled" | |
}, | |
{ | |
"name": "Disabled" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "AssetTier", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "Collateral" | |
}, | |
{ | |
"name": "Protected" | |
}, | |
{ | |
"name": "Cross" | |
}, | |
{ | |
"name": "Isolated" | |
}, | |
{ | |
"name": "Unlisted" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "ExchangeStatus", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "DepositPaused" | |
}, | |
{ | |
"name": "WithdrawPaused" | |
}, | |
{ | |
"name": "AmmPaused" | |
}, | |
{ | |
"name": "FillPaused" | |
}, | |
{ | |
"name": "LiqPaused" | |
}, | |
{ | |
"name": "FundingPaused" | |
}, | |
{ | |
"name": "SettlePnlPaused" | |
}, | |
{ | |
"name": "AmmImmediateFillPaused" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "UserStatus", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "BeingLiquidated" | |
}, | |
{ | |
"name": "Bankrupt" | |
}, | |
{ | |
"name": "ReduceOnly" | |
}, | |
{ | |
"name": "AdvancedLp" | |
}, | |
{ | |
"name": "ProtectedMakerOrders" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "AssetType", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "Base" | |
}, | |
{ | |
"name": "Quote" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "OrderStatus", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "Init" | |
}, | |
{ | |
"name": "Open" | |
}, | |
{ | |
"name": "Filled" | |
}, | |
{ | |
"name": "Canceled" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "OrderType", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "Market" | |
}, | |
{ | |
"name": "Limit" | |
}, | |
{ | |
"name": "TriggerMarket" | |
}, | |
{ | |
"name": "TriggerLimit" | |
}, | |
{ | |
"name": "Oracle" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "OrderTriggerCondition", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "Above" | |
}, | |
{ | |
"name": "Below" | |
}, | |
{ | |
"name": "TriggeredAbove" | |
}, | |
{ | |
"name": "TriggeredBelow" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "MarketType", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "Spot" | |
}, | |
{ | |
"name": "Perp" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "ReferrerStatus", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "IsReferrer" | |
}, | |
{ | |
"name": "IsReferred" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "MarginMode", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "Default" | |
}, | |
{ | |
"name": "HighLeverage" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "FuelOverflowStatus", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "Exists" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "SignatureVerificationError", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "InvalidEd25519InstructionProgramId" | |
}, | |
{ | |
"name": "InvalidEd25519InstructionDataLength" | |
}, | |
{ | |
"name": "InvalidSignatureIndex" | |
}, | |
{ | |
"name": "InvalidSignatureOffset" | |
}, | |
{ | |
"name": "InvalidPublicKeyOffset" | |
}, | |
{ | |
"name": "InvalidMessageOffset" | |
}, | |
{ | |
"name": "InvalidMessageDataSize" | |
}, | |
{ | |
"name": "InvalidInstructionIndex" | |
}, | |
{ | |
"name": "MessageOffsetOverflow" | |
}, | |
{ | |
"name": "InvalidMessageHex" | |
}, | |
{ | |
"name": "InvalidMessageData" | |
}, | |
{ | |
"name": "LoadInstructionAtFailed" | |
} | |
] | |
} | |
} | |
], | |
"events": [ | |
{ | |
"fields": [ | |
{ | |
"index": false, | |
"name": "ts", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "userAuthority", | |
"type": "publicKey" | |
}, | |
{ | |
"index": false, | |
"name": "user", | |
"type": "publicKey" | |
}, | |
{ | |
"index": false, | |
"name": "subAccountId", | |
"type": "u16" | |
}, | |
{ | |
"index": false, | |
"name": "name", | |
"type": { | |
"array": [ | |
"u8", | |
32 | |
] | |
} | |
}, | |
{ | |
"index": false, | |
"name": "referrer", | |
"type": "publicKey" | |
} | |
], | |
"name": "NewUserRecord" | |
}, | |
{ | |
"fields": [ | |
{ | |
"index": false, | |
"name": "ts", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "userAuthority", | |
"type": "publicKey" | |
}, | |
{ | |
"index": false, | |
"name": "user", | |
"type": "publicKey" | |
}, | |
{ | |
"index": false, | |
"name": "direction", | |
"type": { | |
"defined": "DepositDirection" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "depositRecordId", | |
"type": "u64" | |
}, | |
{ | |
"index": false, | |
"name": "amount", | |
"type": "u64" | |
}, | |
{ | |
"index": false, | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"index": false, | |
"name": "oraclePrice", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "marketDepositBalance", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "marketWithdrawBalance", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "marketCumulativeDepositInterest", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "marketCumulativeBorrowInterest", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "totalDepositsAfter", | |
"type": "u64" | |
}, | |
{ | |
"index": false, | |
"name": "totalWithdrawsAfter", | |
"type": "u64" | |
}, | |
{ | |
"index": false, | |
"name": "explanation", | |
"type": { | |
"defined": "DepositExplanation" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "transferUser", | |
"type": { | |
"option": "publicKey" | |
} | |
} | |
], | |
"name": "DepositRecord" | |
}, | |
{ | |
"fields": [ | |
{ | |
"index": false, | |
"name": "ts", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"index": false, | |
"name": "depositBalance", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "cumulativeDepositInterest", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "borrowBalance", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "cumulativeBorrowInterest", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "optimalUtilization", | |
"type": "u32" | |
}, | |
{ | |
"index": false, | |
"name": "optimalBorrowRate", | |
"type": "u32" | |
}, | |
{ | |
"index": false, | |
"name": "maxBorrowRate", | |
"type": "u32" | |
} | |
], | |
"name": "SpotInterestRecord" | |
}, | |
{ | |
"fields": [ | |
{ | |
"index": false, | |
"name": "ts", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "userAuthority", | |
"type": "publicKey" | |
}, | |
{ | |
"index": false, | |
"name": "user", | |
"type": "publicKey" | |
}, | |
{ | |
"index": false, | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"index": false, | |
"name": "fundingPayment", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "baseAssetAmount", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "userLastCumulativeFunding", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "ammCumulativeFundingLong", | |
"type": "i128" | |
}, | |
{ | |
"index": false, | |
"name": "ammCumulativeFundingShort", | |
"type": "i128" | |
} | |
], | |
"name": "FundingPaymentRecord" | |
}, | |
{ | |
"fields": [ | |
{ | |
"index": false, | |
"name": "ts", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "recordId", | |
"type": "u64" | |
}, | |
{ | |
"index": false, | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"index": false, | |
"name": "fundingRate", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "fundingRateLong", | |
"type": "i128" | |
}, | |
{ | |
"index": false, | |
"name": "fundingRateShort", | |
"type": "i128" | |
}, | |
{ | |
"index": false, | |
"name": "cumulativeFundingRateLong", | |
"type": "i128" | |
}, | |
{ | |
"index": false, | |
"name": "cumulativeFundingRateShort", | |
"type": "i128" | |
}, | |
{ | |
"index": false, | |
"name": "oraclePriceTwap", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "markPriceTwap", | |
"type": "u64" | |
}, | |
{ | |
"index": false, | |
"name": "periodRevenue", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "baseAssetAmountWithAmm", | |
"type": "i128" | |
}, | |
{ | |
"index": false, | |
"name": "baseAssetAmountWithUnsettledLp", | |
"type": "i128" | |
} | |
], | |
"name": "FundingRateRecord" | |
}, | |
{ | |
"fields": [ | |
{ | |
"index": false, | |
"name": "ts", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "recordId", | |
"type": "u64" | |
}, | |
{ | |
"index": false, | |
"name": "pegMultiplierBefore", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "baseAssetReserveBefore", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "quoteAssetReserveBefore", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "sqrtKBefore", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "pegMultiplierAfter", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "baseAssetReserveAfter", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "quoteAssetReserveAfter", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "sqrtKAfter", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "baseAssetAmountLong", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "baseAssetAmountShort", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "baseAssetAmountWithAmm", | |
"type": "i128" | |
}, | |
{ | |
"index": false, | |
"name": "totalFee", | |
"type": "i128" | |
}, | |
{ | |
"index": false, | |
"name": "totalFeeMinusDistributions", | |
"type": "i128" | |
}, | |
{ | |
"index": false, | |
"name": "adjustmentCost", | |
"type": "i128" | |
}, | |
{ | |
"index": false, | |
"name": "oraclePrice", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "fillRecord", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "numberOfUsers", | |
"type": "u32" | |
}, | |
{ | |
"index": false, | |
"name": "marketIndex", | |
"type": "u16" | |
} | |
], | |
"name": "CurveRecord" | |
}, | |
{ | |
"fields": [ | |
{ | |
"index": false, | |
"name": "user", | |
"type": "publicKey" | |
}, | |
{ | |
"index": false, | |
"name": "hash", | |
"type": "string" | |
}, | |
{ | |
"index": false, | |
"name": "matchingOrderParams", | |
"type": { | |
"defined": "OrderParams" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "userOrderId", | |
"type": "u32" | |
}, | |
{ | |
"index": false, | |
"name": "signedMsgOrderMaxSlot", | |
"type": "u64" | |
}, | |
{ | |
"index": false, | |
"name": "signedMsgOrderUuid", | |
"type": { | |
"array": [ | |
"u8", | |
8 | |
] | |
} | |
}, | |
{ | |
"index": false, | |
"name": "ts", | |
"type": "i64" | |
} | |
], | |
"name": "SignedMsgOrderRecord" | |
}, | |
{ | |
"fields": [ | |
{ | |
"index": false, | |
"name": "ts", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "user", | |
"type": "publicKey" | |
}, | |
{ | |
"index": false, | |
"name": "order", | |
"type": { | |
"defined": "Order" | |
} | |
} | |
], | |
"name": "OrderRecord" | |
}, | |
{ | |
"fields": [ | |
{ | |
"index": false, | |
"name": "ts", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "action", | |
"type": { | |
"defined": "OrderAction" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "actionExplanation", | |
"type": { | |
"defined": "OrderActionExplanation" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"index": false, | |
"name": "marketType", | |
"type": { | |
"defined": "MarketType" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "filler", | |
"type": { | |
"option": "publicKey" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "fillerReward", | |
"type": { | |
"option": "u64" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "fillRecordId", | |
"type": { | |
"option": "u64" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "baseAssetAmountFilled", | |
"type": { | |
"option": "u64" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "quoteAssetAmountFilled", | |
"type": { | |
"option": "u64" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "takerFee", | |
"type": { | |
"option": "u64" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "makerFee", | |
"type": { | |
"option": "i64" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "referrerReward", | |
"type": { | |
"option": "u32" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "quoteAssetAmountSurplus", | |
"type": { | |
"option": "i64" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "spotFulfillmentMethodFee", | |
"type": { | |
"option": "u64" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "taker", | |
"type": { | |
"option": "publicKey" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "takerOrderId", | |
"type": { | |
"option": "u32" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "takerOrderDirection", | |
"type": { | |
"option": { | |
"defined": "PositionDirection" | |
} | |
} | |
}, | |
{ | |
"index": false, | |
"name": "takerOrderBaseAssetAmount", | |
"type": { | |
"option": "u64" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "takerOrderCumulativeBaseAssetAmountFilled", | |
"type": { | |
"option": "u64" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "takerOrderCumulativeQuoteAssetAmountFilled", | |
"type": { | |
"option": "u64" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "maker", | |
"type": { | |
"option": "publicKey" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "makerOrderId", | |
"type": { | |
"option": "u32" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "makerOrderDirection", | |
"type": { | |
"option": { | |
"defined": "PositionDirection" | |
} | |
} | |
}, | |
{ | |
"index": false, | |
"name": "makerOrderBaseAssetAmount", | |
"type": { | |
"option": "u64" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "makerOrderCumulativeBaseAssetAmountFilled", | |
"type": { | |
"option": "u64" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "makerOrderCumulativeQuoteAssetAmountFilled", | |
"type": { | |
"option": "u64" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "oraclePrice", | |
"type": "i64" | |
} | |
], | |
"name": "OrderActionRecord" | |
}, | |
{ | |
"fields": [ | |
{ | |
"index": false, | |
"name": "ts", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "user", | |
"type": "publicKey" | |
}, | |
{ | |
"index": false, | |
"name": "action", | |
"type": { | |
"defined": "LPAction" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "nShares", | |
"type": "u64" | |
}, | |
{ | |
"index": false, | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"index": false, | |
"name": "deltaBaseAssetAmount", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "deltaQuoteAssetAmount", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "pnl", | |
"type": "i64" | |
} | |
], | |
"name": "LPRecord" | |
}, | |
{ | |
"fields": [ | |
{ | |
"index": false, | |
"name": "ts", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "liquidationType", | |
"type": { | |
"defined": "LiquidationType" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "user", | |
"type": "publicKey" | |
}, | |
{ | |
"index": false, | |
"name": "liquidator", | |
"type": "publicKey" | |
}, | |
{ | |
"index": false, | |
"name": "marginRequirement", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "totalCollateral", | |
"type": "i128" | |
}, | |
{ | |
"index": false, | |
"name": "marginFreed", | |
"type": "u64" | |
}, | |
{ | |
"index": false, | |
"name": "liquidationId", | |
"type": "u16" | |
}, | |
{ | |
"index": false, | |
"name": "bankrupt", | |
"type": "bool" | |
}, | |
{ | |
"index": false, | |
"name": "canceledOrderIds", | |
"type": { | |
"vec": "u32" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "liquidatePerp", | |
"type": { | |
"defined": "LiquidatePerpRecord" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "liquidateSpot", | |
"type": { | |
"defined": "LiquidateSpotRecord" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "liquidateBorrowForPerpPnl", | |
"type": { | |
"defined": "LiquidateBorrowForPerpPnlRecord" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "liquidatePerpPnlForDeposit", | |
"type": { | |
"defined": "LiquidatePerpPnlForDepositRecord" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "perpBankruptcy", | |
"type": { | |
"defined": "PerpBankruptcyRecord" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "spotBankruptcy", | |
"type": { | |
"defined": "SpotBankruptcyRecord" | |
} | |
} | |
], | |
"name": "LiquidationRecord" | |
}, | |
{ | |
"fields": [ | |
{ | |
"index": false, | |
"name": "ts", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "user", | |
"type": "publicKey" | |
}, | |
{ | |
"index": false, | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"index": false, | |
"name": "pnl", | |
"type": "i128" | |
}, | |
{ | |
"index": false, | |
"name": "baseAssetAmount", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "quoteAssetAmountAfter", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "quoteEntryAmount", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "settlePrice", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "explanation", | |
"type": { | |
"defined": "SettlePnlExplanation" | |
} | |
} | |
], | |
"name": "SettlePnlRecord" | |
}, | |
{ | |
"fields": [ | |
{ | |
"index": false, | |
"name": "ts", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "spotMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"index": false, | |
"name": "perpMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"index": false, | |
"name": "userIfFactor", | |
"type": "u32" | |
}, | |
{ | |
"index": false, | |
"name": "totalIfFactor", | |
"type": "u32" | |
}, | |
{ | |
"index": false, | |
"name": "vaultAmountBefore", | |
"type": "u64" | |
}, | |
{ | |
"index": false, | |
"name": "insuranceVaultAmountBefore", | |
"type": "u64" | |
}, | |
{ | |
"index": false, | |
"name": "totalIfSharesBefore", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "totalIfSharesAfter", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "amount", | |
"type": "i64" | |
} | |
], | |
"name": "InsuranceFundRecord" | |
}, | |
{ | |
"fields": [ | |
{ | |
"index": false, | |
"name": "ts", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "userAuthority", | |
"type": "publicKey" | |
}, | |
{ | |
"index": false, | |
"name": "action", | |
"type": { | |
"defined": "StakeAction" | |
} | |
}, | |
{ | |
"index": false, | |
"name": "amount", | |
"type": "u64" | |
}, | |
{ | |
"index": false, | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"index": false, | |
"name": "insuranceVaultAmountBefore", | |
"type": "u64" | |
}, | |
{ | |
"index": false, | |
"name": "ifSharesBefore", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "userIfSharesBefore", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "totalIfSharesBefore", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "ifSharesAfter", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "userIfSharesAfter", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "totalIfSharesAfter", | |
"type": "u128" | |
} | |
], | |
"name": "InsuranceFundStakeRecord" | |
}, | |
{ | |
"fields": [ | |
{ | |
"index": false, | |
"name": "ts", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "user", | |
"type": "publicKey" | |
}, | |
{ | |
"index": false, | |
"name": "amountOut", | |
"type": "u64" | |
}, | |
{ | |
"index": false, | |
"name": "amountIn", | |
"type": "u64" | |
}, | |
{ | |
"index": false, | |
"name": "outMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"index": false, | |
"name": "inMarketIndex", | |
"type": "u16" | |
}, | |
{ | |
"index": false, | |
"name": "outOraclePrice", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "inOraclePrice", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "fee", | |
"type": "u64" | |
} | |
], | |
"name": "SwapRecord" | |
}, | |
{ | |
"fields": [ | |
{ | |
"index": false, | |
"name": "ts", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "marketIndex", | |
"type": "u16" | |
}, | |
{ | |
"index": false, | |
"name": "depositBalance", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "cumulativeDepositInterestBefore", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "cumulativeDepositInterestAfter", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "depositTokenAmountBefore", | |
"type": "u64" | |
}, | |
{ | |
"index": false, | |
"name": "amount", | |
"type": "u64" | |
} | |
], | |
"name": "SpotMarketVaultDepositRecord" | |
}, | |
{ | |
"fields": [ | |
{ | |
"index": false, | |
"name": "ts", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "userAuthority", | |
"type": "publicKey" | |
}, | |
{ | |
"index": false, | |
"name": "user", | |
"type": "publicKey" | |
}, | |
{ | |
"index": false, | |
"name": "subAccountId", | |
"type": "u16" | |
}, | |
{ | |
"index": false, | |
"name": "keeper", | |
"type": { | |
"option": "publicKey" | |
} | |
} | |
], | |
"name": "DeleteUserRecord" | |
}, | |
{ | |
"fields": [ | |
{ | |
"index": false, | |
"name": "ts", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "authority", | |
"type": "publicKey" | |
}, | |
{ | |
"index": false, | |
"name": "userStatsFuelInsurance", | |
"type": "u32" | |
}, | |
{ | |
"index": false, | |
"name": "userStatsFuelDeposits", | |
"type": "u32" | |
}, | |
{ | |
"index": false, | |
"name": "userStatsFuelBorrows", | |
"type": "u32" | |
}, | |
{ | |
"index": false, | |
"name": "userStatsFuelPositions", | |
"type": "u32" | |
}, | |
{ | |
"index": false, | |
"name": "userStatsFuelTaker", | |
"type": "u32" | |
}, | |
{ | |
"index": false, | |
"name": "userStatsFuelMaker", | |
"type": "u32" | |
}, | |
{ | |
"index": false, | |
"name": "fuelOverflowFuelInsurance", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "fuelOverflowFuelDeposits", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "fuelOverflowFuelBorrows", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "fuelOverflowFuelPositions", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "fuelOverflowFuelTaker", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "fuelOverflowFuelMaker", | |
"type": "u128" | |
} | |
], | |
"name": "FuelSweepRecord" | |
}, | |
{ | |
"fields": [ | |
{ | |
"index": false, | |
"name": "ts", | |
"type": "i64" | |
}, | |
{ | |
"index": false, | |
"name": "authority", | |
"type": "publicKey" | |
}, | |
{ | |
"index": false, | |
"name": "fuelInsurance", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "fuelDeposits", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "fuelBorrows", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "fuelPositions", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "fuelTaker", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "fuelMaker", | |
"type": "u128" | |
}, | |
{ | |
"index": false, | |
"name": "fuelTotal", | |
"type": "u128" | |
} | |
], | |
"name": "FuelSeasonRecord" | |
} | |
], | |
"errors": [ | |
{ | |
"code": 6000, | |
"msg": "Invalid Spot Market Authority", | |
"name": "InvalidSpotMarketAuthority" | |
}, | |
{ | |
"code": 6001, | |
"msg": "Clearing house not insurance fund authority", | |
"name": "InvalidInsuranceFundAuthority" | |
}, | |
{ | |
"code": 6002, | |
"msg": "Insufficient deposit", | |
"name": "InsufficientDeposit" | |
}, | |
{ | |
"code": 6003, | |
"msg": "Insufficient collateral", | |
"name": "InsufficientCollateral" | |
}, | |
{ | |
"code": 6004, | |
"msg": "Sufficient collateral", | |
"name": "SufficientCollateral" | |
}, | |
{ | |
"code": 6005, | |
"msg": "Max number of positions taken", | |
"name": "MaxNumberOfPositions" | |
}, | |
{ | |
"code": 6006, | |
"msg": "Admin Controls Prices Disabled", | |
"name": "AdminControlsPricesDisabled" | |
}, | |
{ | |
"code": 6007, | |
"msg": "Market Delisted", | |
"name": "MarketDelisted" | |
}, | |
{ | |
"code": 6008, | |
"msg": "Market Index Already Initialized", | |
"name": "MarketIndexAlreadyInitialized" | |
}, | |
{ | |
"code": 6009, | |
"msg": "User Account And User Positions Account Mismatch", | |
"name": "UserAccountAndUserPositionsAccountMismatch" | |
}, | |
{ | |
"code": 6010, | |
"msg": "User Has No Position In Market", | |
"name": "UserHasNoPositionInMarket" | |
}, | |
{ | |
"code": 6011, | |
"msg": "Invalid Initial Peg", | |
"name": "InvalidInitialPeg" | |
}, | |
{ | |
"code": 6012, | |
"msg": "AMM repeg already configured with amt given", | |
"name": "InvalidRepegRedundant" | |
}, | |
{ | |
"code": 6013, | |
"msg": "AMM repeg incorrect repeg direction", | |
"name": "InvalidRepegDirection" | |
}, | |
{ | |
"code": 6014, | |
"msg": "AMM repeg out of bounds pnl", | |
"name": "InvalidRepegProfitability" | |
}, | |
{ | |
"code": 6015, | |
"msg": "Slippage Outside Limit Price", | |
"name": "SlippageOutsideLimit" | |
}, | |
{ | |
"code": 6016, | |
"msg": "Order Size Too Small", | |
"name": "OrderSizeTooSmall" | |
}, | |
{ | |
"code": 6017, | |
"msg": "Price change too large when updating K", | |
"name": "InvalidUpdateK" | |
}, | |
{ | |
"code": 6018, | |
"msg": "Admin tried to withdraw amount larger than fees collected", | |
"name": "AdminWithdrawTooLarge" | |
}, | |
{ | |
"code": 6019, | |
"msg": "Math Error", | |
"name": "MathError" | |
}, | |
{ | |
"code": 6020, | |
"msg": "Conversion to u128/u64 failed with an overflow or underflow", | |
"name": "BnConversionError" | |
}, | |
{ | |
"code": 6021, | |
"msg": "Clock unavailable", | |
"name": "ClockUnavailable" | |
}, | |
{ | |
"code": 6022, | |
"msg": "Unable To Load Oracles", | |
"name": "UnableToLoadOracle" | |
}, | |
{ | |
"code": 6023, | |
"msg": "Price Bands Breached", | |
"name": "PriceBandsBreached" | |
}, | |
{ | |
"code": 6024, | |
"msg": "Exchange is paused", | |
"name": "ExchangePaused" | |
}, | |
{ | |
"code": 6025, | |
"msg": "Invalid whitelist token", | |
"name": "InvalidWhitelistToken" | |
}, | |
{ | |
"code": 6026, | |
"msg": "Whitelist token not found", | |
"name": "WhitelistTokenNotFound" | |
}, | |
{ | |
"code": 6027, | |
"msg": "Invalid discount token", | |
"name": "InvalidDiscountToken" | |
}, | |
{ | |
"code": 6028, | |
"msg": "Discount token not found", | |
"name": "DiscountTokenNotFound" | |
}, | |
{ | |
"code": 6029, | |
"msg": "Referrer not found", | |
"name": "ReferrerNotFound" | |
}, | |
{ | |
"code": 6030, | |
"msg": "ReferrerNotFound", | |
"name": "ReferrerStatsNotFound" | |
}, | |
{ | |
"code": 6031, | |
"msg": "ReferrerMustBeWritable", | |
"name": "ReferrerMustBeWritable" | |
}, | |
{ | |
"code": 6032, | |
"msg": "ReferrerMustBeWritable", | |
"name": "ReferrerStatsMustBeWritable" | |
}, | |
{ | |
"code": 6033, | |
"msg": "ReferrerAndReferrerStatsAuthorityUnequal", | |
"name": "ReferrerAndReferrerStatsAuthorityUnequal" | |
}, | |
{ | |
"code": 6034, | |
"msg": "InvalidReferrer", | |
"name": "InvalidReferrer" | |
}, | |
{ | |
"code": 6035, | |
"msg": "InvalidOracle", | |
"name": "InvalidOracle" | |
}, | |
{ | |
"code": 6036, | |
"msg": "OracleNotFound", | |
"name": "OracleNotFound" | |
}, | |
{ | |
"code": 6037, | |
"msg": "Liquidations Blocked By Oracle", | |
"name": "LiquidationsBlockedByOracle" | |
}, | |
{ | |
"code": 6038, | |
"msg": "Can not deposit more than max deposit", | |
"name": "MaxDeposit" | |
}, | |
{ | |
"code": 6039, | |
"msg": "Can not delete user that still has collateral", | |
"name": "CantDeleteUserWithCollateral" | |
}, | |
{ | |
"code": 6040, | |
"msg": "AMM funding out of bounds pnl", | |
"name": "InvalidFundingProfitability" | |
}, | |
{ | |
"code": 6041, | |
"msg": "Casting Failure", | |
"name": "CastingFailure" | |
}, | |
{ | |
"code": 6042, | |
"msg": "InvalidOrder", | |
"name": "InvalidOrder" | |
}, | |
{ | |
"code": 6043, | |
"msg": "InvalidOrderMaxTs", | |
"name": "InvalidOrderMaxTs" | |
}, | |
{ | |
"code": 6044, | |
"msg": "InvalidOrderMarketType", | |
"name": "InvalidOrderMarketType" | |
}, | |
{ | |
"code": 6045, | |
"msg": "InvalidOrderForInitialMarginReq", | |
"name": "InvalidOrderForInitialMarginReq" | |
}, | |
{ | |
"code": 6046, | |
"msg": "InvalidOrderNotRiskReducing", | |
"name": "InvalidOrderNotRiskReducing" | |
}, | |
{ | |
"code": 6047, | |
"msg": "InvalidOrderSizeTooSmall", | |
"name": "InvalidOrderSizeTooSmall" | |
}, | |
{ | |
"code": 6048, | |
"msg": "InvalidOrderNotStepSizeMultiple", | |
"name": "InvalidOrderNotStepSizeMultiple" | |
}, | |
{ | |
"code": 6049, | |
"msg": "InvalidOrderBaseQuoteAsset", | |
"name": "InvalidOrderBaseQuoteAsset" | |
}, | |
{ | |
"code": 6050, | |
"msg": "InvalidOrderIOC", | |
"name": "InvalidOrderIOC" | |
}, | |
{ | |
"code": 6051, | |
"msg": "InvalidOrderPostOnly", | |
"name": "InvalidOrderPostOnly" | |
}, | |
{ | |
"code": 6052, | |
"msg": "InvalidOrderIOCPostOnly", | |
"name": "InvalidOrderIOCPostOnly" | |
}, | |
{ | |
"code": 6053, | |
"msg": "InvalidOrderTrigger", | |
"name": "InvalidOrderTrigger" | |
}, | |
{ | |
"code": 6054, | |
"msg": "InvalidOrderAuction", | |
"name": "InvalidOrderAuction" | |
}, | |
{ | |
"code": 6055, | |
"msg": "InvalidOrderOracleOffset", | |
"name": "InvalidOrderOracleOffset" | |
}, | |
{ | |
"code": 6056, | |
"msg": "InvalidOrderMinOrderSize", | |
"name": "InvalidOrderMinOrderSize" | |
}, | |
{ | |
"code": 6057, | |
"msg": "Failed to Place Post-Only Limit Order", | |
"name": "PlacePostOnlyLimitFailure" | |
}, | |
{ | |
"code": 6058, | |
"msg": "User has no order", | |
"name": "UserHasNoOrder" | |
}, | |
{ | |
"code": 6059, | |
"msg": "Order Amount Too Small", | |
"name": "OrderAmountTooSmall" | |
}, | |
{ | |
"code": 6060, | |
"msg": "Max number of orders taken", | |
"name": "MaxNumberOfOrders" | |
}, | |
{ | |
"code": 6061, | |
"msg": "Order does not exist", | |
"name": "OrderDoesNotExist" | |
}, | |
{ | |
"code": 6062, | |
"msg": "Order not open", | |
"name": "OrderNotOpen" | |
}, | |
{ | |
"code": 6063, | |
"msg": "FillOrderDidNotUpdateState", | |
"name": "FillOrderDidNotUpdateState" | |
}, | |
{ | |
"code": 6064, | |
"msg": "Reduce only order increased risk", | |
"name": "ReduceOnlyOrderIncreasedRisk" | |
}, | |
{ | |
"code": 6065, | |
"msg": "Unable to load AccountLoader", | |
"name": "UnableToLoadAccountLoader" | |
}, | |
{ | |
"code": 6066, | |
"msg": "Trade Size Too Large", | |
"name": "TradeSizeTooLarge" | |
}, | |
{ | |
"code": 6067, | |
"msg": "User cant refer themselves", | |
"name": "UserCantReferThemselves" | |
}, | |
{ | |
"code": 6068, | |
"msg": "Did not receive expected referrer", | |
"name": "DidNotReceiveExpectedReferrer" | |
}, | |
{ | |
"code": 6069, | |
"msg": "Could not deserialize referrer", | |
"name": "CouldNotDeserializeReferrer" | |
}, | |
{ | |
"code": 6070, | |
"msg": "Could not deserialize referrer stats", | |
"name": "CouldNotDeserializeReferrerStats" | |
}, | |
{ | |
"code": 6071, | |
"msg": "User Order Id Already In Use", | |
"name": "UserOrderIdAlreadyInUse" | |
}, | |
{ | |
"code": 6072, | |
"msg": "No positions liquidatable", | |
"name": "NoPositionsLiquidatable" | |
}, | |
{ | |
"code": 6073, | |
"msg": "Invalid Margin Ratio", | |
"name": "InvalidMarginRatio" | |
}, | |
{ | |
"code": 6074, | |
"msg": "Cant Cancel Post Only Order", | |
"name": "CantCancelPostOnlyOrder" | |
}, | |
{ | |
"code": 6075, | |
"msg": "InvalidOracleOffset", | |
"name": "InvalidOracleOffset" | |
}, | |
{ | |
"code": 6076, | |
"msg": "CantExpireOrders", | |
"name": "CantExpireOrders" | |
}, | |
{ | |
"code": 6077, | |
"msg": "CouldNotLoadMarketData", | |
"name": "CouldNotLoadMarketData" | |
}, | |
{ | |
"code": 6078, | |
"msg": "PerpMarketNotFound", | |
"name": "PerpMarketNotFound" | |
}, | |
{ | |
"code": 6079, | |
"msg": "InvalidMarketAccount", | |
"name": "InvalidMarketAccount" | |
}, | |
{ | |
"code": 6080, | |
"msg": "UnableToLoadMarketAccount", | |
"name": "UnableToLoadPerpMarketAccount" | |
}, | |
{ | |
"code": 6081, | |
"msg": "MarketWrongMutability", | |
"name": "MarketWrongMutability" | |
}, | |
{ | |
"code": 6082, | |
"msg": "UnableToCastUnixTime", | |
"name": "UnableToCastUnixTime" | |
}, | |
{ | |
"code": 6083, | |
"msg": "CouldNotFindSpotPosition", | |
"name": "CouldNotFindSpotPosition" | |
}, | |
{ | |
"code": 6084, | |
"msg": "NoSpotPositionAvailable", | |
"name": "NoSpotPositionAvailable" | |
}, | |
{ | |
"code": 6085, | |
"msg": "InvalidSpotMarketInitialization", | |
"name": "InvalidSpotMarketInitialization" | |
}, | |
{ | |
"code": 6086, | |
"msg": "CouldNotLoadSpotMarketData", | |
"name": "CouldNotLoadSpotMarketData" | |
}, | |
{ | |
"code": 6087, | |
"msg": "SpotMarketNotFound", | |
"name": "SpotMarketNotFound" | |
}, | |
{ | |
"code": 6088, | |
"msg": "InvalidSpotMarketAccount", | |
"name": "InvalidSpotMarketAccount" | |
}, | |
{ | |
"code": 6089, | |
"msg": "UnableToLoadSpotMarketAccount", | |
"name": "UnableToLoadSpotMarketAccount" | |
}, | |
{ | |
"code": 6090, | |
"msg": "SpotMarketWrongMutability", | |
"name": "SpotMarketWrongMutability" | |
}, | |
{ | |
"code": 6091, | |
"msg": "SpotInterestNotUpToDate", | |
"name": "SpotMarketInterestNotUpToDate" | |
}, | |
{ | |
"code": 6092, | |
"msg": "SpotMarketInsufficientDeposits", | |
"name": "SpotMarketInsufficientDeposits" | |
}, | |
{ | |
"code": 6093, | |
"msg": "UserMustSettleTheirOwnPositiveUnsettledPNL", | |
"name": "UserMustSettleTheirOwnPositiveUnsettledPNL" | |
}, | |
{ | |
"code": 6094, | |
"msg": "CantUpdatePoolBalanceType", | |
"name": "CantUpdatePoolBalanceType" | |
}, | |
{ | |
"code": 6095, | |
"msg": "InsufficientCollateralForSettlingPNL", | |
"name": "InsufficientCollateralForSettlingPNL" | |
}, | |
{ | |
"code": 6096, | |
"msg": "AMMNotUpdatedInSameSlot", | |
"name": "AMMNotUpdatedInSameSlot" | |
}, | |
{ | |
"code": 6097, | |
"msg": "AuctionNotComplete", | |
"name": "AuctionNotComplete" | |
}, | |
{ | |
"code": 6098, | |
"msg": "MakerNotFound", | |
"name": "MakerNotFound" | |
}, | |
{ | |
"code": 6099, | |
"msg": "MakerNotFound", | |
"name": "MakerStatsNotFound" | |
}, | |
{ | |
"code": 6100, | |
"msg": "MakerMustBeWritable", | |
"name": "MakerMustBeWritable" | |
}, | |
{ | |
"code": 6101, | |
"msg": "MakerMustBeWritable", | |
"name": "MakerStatsMustBeWritable" | |
}, | |
{ | |
"code": 6102, | |
"msg": "MakerOrderNotFound", | |
"name": "MakerOrderNotFound" | |
}, | |
{ | |
"code": 6103, | |
"msg": "CouldNotDeserializeMaker", | |
"name": "CouldNotDeserializeMaker" | |
}, | |
{ | |
"code": 6104, | |
"msg": "CouldNotDeserializeMaker", | |
"name": "CouldNotDeserializeMakerStats" | |
}, | |
{ | |
"code": 6105, | |
"msg": "AuctionPriceDoesNotSatisfyMaker", | |
"name": "AuctionPriceDoesNotSatisfyMaker" | |
}, | |
{ | |
"code": 6106, | |
"msg": "MakerCantFulfillOwnOrder", | |
"name": "MakerCantFulfillOwnOrder" | |
}, | |
{ | |
"code": 6107, | |
"msg": "MakerOrderMustBePostOnly", | |
"name": "MakerOrderMustBePostOnly" | |
}, | |
{ | |
"code": 6108, | |
"msg": "CantMatchTwoPostOnlys", | |
"name": "CantMatchTwoPostOnlys" | |
}, | |
{ | |
"code": 6109, | |
"msg": "OrderBreachesOraclePriceLimits", | |
"name": "OrderBreachesOraclePriceLimits" | |
}, | |
{ | |
"code": 6110, | |
"msg": "OrderMustBeTriggeredFirst", | |
"name": "OrderMustBeTriggeredFirst" | |
}, | |
{ | |
"code": 6111, | |
"msg": "OrderNotTriggerable", | |
"name": "OrderNotTriggerable" | |
}, | |
{ | |
"code": 6112, | |
"msg": "OrderDidNotSatisfyTriggerCondition", | |
"name": "OrderDidNotSatisfyTriggerCondition" | |
}, | |
{ | |
"code": 6113, | |
"msg": "PositionAlreadyBeingLiquidated", | |
"name": "PositionAlreadyBeingLiquidated" | |
}, | |
{ | |
"code": 6114, | |
"msg": "PositionDoesntHaveOpenPositionOrOrders", | |
"name": "PositionDoesntHaveOpenPositionOrOrders" | |
}, | |
{ | |
"code": 6115, | |
"msg": "AllOrdersAreAlreadyLiquidations", | |
"name": "AllOrdersAreAlreadyLiquidations" | |
}, | |
{ | |
"code": 6116, | |
"msg": "CantCancelLiquidationOrder", | |
"name": "CantCancelLiquidationOrder" | |
}, | |
{ | |
"code": 6117, | |
"msg": "UserIsBeingLiquidated", | |
"name": "UserIsBeingLiquidated" | |
}, | |
{ | |
"code": 6118, | |
"msg": "LiquidationsOngoing", | |
"name": "LiquidationsOngoing" | |
}, | |
{ | |
"code": 6119, | |
"msg": "WrongSpotBalanceType", | |
"name": "WrongSpotBalanceType" | |
}, | |
{ | |
"code": 6120, | |
"msg": "UserCantLiquidateThemself", | |
"name": "UserCantLiquidateThemself" | |
}, | |
{ | |
"code": 6121, | |
"msg": "InvalidPerpPositionToLiquidate", | |
"name": "InvalidPerpPositionToLiquidate" | |
}, | |
{ | |
"code": 6122, | |
"msg": "InvalidBaseAssetAmountForLiquidatePerp", | |
"name": "InvalidBaseAssetAmountForLiquidatePerp" | |
}, | |
{ | |
"code": 6123, | |
"msg": "InvalidPositionLastFundingRate", | |
"name": "InvalidPositionLastFundingRate" | |
}, | |
{ | |
"code": 6124, | |
"msg": "InvalidPositionDelta", | |
"name": "InvalidPositionDelta" | |
}, | |
{ | |
"code": 6125, | |
"msg": "UserBankrupt", | |
"name": "UserBankrupt" | |
}, | |
{ | |
"code": 6126, | |
"msg": "UserNotBankrupt", | |
"name": "UserNotBankrupt" | |
}, | |
{ | |
"code": 6127, | |
"msg": "UserHasInvalidBorrow", | |
"name": "UserHasInvalidBorrow" | |
}, | |
{ | |
"code": 6128, | |
"msg": "DailyWithdrawLimit", | |
"name": "DailyWithdrawLimit" | |
}, | |
{ | |
"code": 6129, | |
"msg": "DefaultError", | |
"name": "DefaultError" | |
}, | |
{ | |
"code": 6130, | |
"msg": "Insufficient LP tokens", | |
"name": "InsufficientLPTokens" | |
}, | |
{ | |
"code": 6131, | |
"msg": "Cant LP with a market position", | |
"name": "CantLPWithPerpPosition" | |
}, | |
{ | |
"code": 6132, | |
"msg": "Unable to burn LP tokens", | |
"name": "UnableToBurnLPTokens" | |
}, | |
{ | |
"code": 6133, | |
"msg": "Trying to remove liqudity too fast after adding it", | |
"name": "TryingToRemoveLiquidityTooFast" | |
}, | |
{ | |
"code": 6134, | |
"msg": "Invalid Spot Market Vault", | |
"name": "InvalidSpotMarketVault" | |
}, | |
{ | |
"code": 6135, | |
"msg": "Invalid Spot Market State", | |
"name": "InvalidSpotMarketState" | |
}, | |
{ | |
"code": 6136, | |
"msg": "InvalidSerumProgram", | |
"name": "InvalidSerumProgram" | |
}, | |
{ | |
"code": 6137, | |
"msg": "InvalidSerumMarket", | |
"name": "InvalidSerumMarket" | |
}, | |
{ | |
"code": 6138, | |
"msg": "InvalidSerumBids", | |
"name": "InvalidSerumBids" | |
}, | |
{ | |
"code": 6139, | |
"msg": "InvalidSerumAsks", | |
"name": "InvalidSerumAsks" | |
}, | |
{ | |
"code": 6140, | |
"msg": "InvalidSerumOpenOrders", | |
"name": "InvalidSerumOpenOrders" | |
}, | |
{ | |
"code": 6141, | |
"msg": "FailedSerumCPI", | |
"name": "FailedSerumCPI" | |
}, | |
{ | |
"code": 6142, | |
"msg": "FailedToFillOnExternalMarket", | |
"name": "FailedToFillOnExternalMarket" | |
}, | |
{ | |
"code": 6143, | |
"msg": "InvalidFulfillmentConfig", | |
"name": "InvalidFulfillmentConfig" | |
}, | |
{ | |
"code": 6144, | |
"msg": "InvalidFeeStructure", | |
"name": "InvalidFeeStructure" | |
}, | |
{ | |
"code": 6145, | |
"msg": "Insufficient IF shares", | |
"name": "InsufficientIFShares" | |
}, | |
{ | |
"code": 6146, | |
"msg": "the Market has paused this action", | |
"name": "MarketActionPaused" | |
}, | |
{ | |
"code": 6147, | |
"msg": "the Market status doesnt allow placing orders", | |
"name": "MarketPlaceOrderPaused" | |
}, | |
{ | |
"code": 6148, | |
"msg": "the Market status doesnt allow filling orders", | |
"name": "MarketFillOrderPaused" | |
}, | |
{ | |
"code": 6149, | |
"msg": "the Market status doesnt allow withdraws", | |
"name": "MarketWithdrawPaused" | |
}, | |
{ | |
"code": 6150, | |
"msg": "Action violates the Protected Asset Tier rules", | |
"name": "ProtectedAssetTierViolation" | |
}, | |
{ | |
"code": 6151, | |
"msg": "Action violates the Isolated Asset Tier rules", | |
"name": "IsolatedAssetTierViolation" | |
}, | |
{ | |
"code": 6152, | |
"msg": "User Cant Be Deleted", | |
"name": "UserCantBeDeleted" | |
}, | |
{ | |
"code": 6153, | |
"msg": "Reduce Only Withdraw Increased Risk", | |
"name": "ReduceOnlyWithdrawIncreasedRisk" | |
}, | |
{ | |
"code": 6154, | |
"msg": "Max Open Interest", | |
"name": "MaxOpenInterest" | |
}, | |
{ | |
"code": 6155, | |
"msg": "Cant Resolve Perp Bankruptcy", | |
"name": "CantResolvePerpBankruptcy" | |
}, | |
{ | |
"code": 6156, | |
"msg": "Liquidation Doesnt Satisfy Limit Price", | |
"name": "LiquidationDoesntSatisfyLimitPrice" | |
}, | |
{ | |
"code": 6157, | |
"msg": "Margin Trading Disabled", | |
"name": "MarginTradingDisabled" | |
}, | |
{ | |
"code": 6158, | |
"msg": "Invalid Market Status to Settle Perp Pnl", | |
"name": "InvalidMarketStatusToSettlePnl" | |
}, | |
{ | |
"code": 6159, | |
"msg": "PerpMarketNotInSettlement", | |
"name": "PerpMarketNotInSettlement" | |
}, | |
{ | |
"code": 6160, | |
"msg": "PerpMarketNotInReduceOnly", | |
"name": "PerpMarketNotInReduceOnly" | |
}, | |
{ | |
"code": 6161, | |
"msg": "PerpMarketSettlementBufferNotReached", | |
"name": "PerpMarketSettlementBufferNotReached" | |
}, | |
{ | |
"code": 6162, | |
"msg": "PerpMarketSettlementUserHasOpenOrders", | |
"name": "PerpMarketSettlementUserHasOpenOrders" | |
}, | |
{ | |
"code": 6163, | |
"msg": "PerpMarketSettlementUserHasActiveLP", | |
"name": "PerpMarketSettlementUserHasActiveLP" | |
}, | |
{ | |
"code": 6164, | |
"msg": "UnableToSettleExpiredUserPosition", | |
"name": "UnableToSettleExpiredUserPosition" | |
}, | |
{ | |
"code": 6165, | |
"msg": "UnequalMarketIndexForSpotTransfer", | |
"name": "UnequalMarketIndexForSpotTransfer" | |
}, | |
{ | |
"code": 6166, | |
"msg": "InvalidPerpPositionDetected", | |
"name": "InvalidPerpPositionDetected" | |
}, | |
{ | |
"code": 6167, | |
"msg": "InvalidSpotPositionDetected", | |
"name": "InvalidSpotPositionDetected" | |
}, | |
{ | |
"code": 6168, | |
"msg": "InvalidAmmDetected", | |
"name": "InvalidAmmDetected" | |
}, | |
{ | |
"code": 6169, | |
"msg": "InvalidAmmForFillDetected", | |
"name": "InvalidAmmForFillDetected" | |
}, | |
{ | |
"code": 6170, | |
"msg": "InvalidAmmLimitPriceOverride", | |
"name": "InvalidAmmLimitPriceOverride" | |
}, | |
{ | |
"code": 6171, | |
"msg": "InvalidOrderFillPrice", | |
"name": "InvalidOrderFillPrice" | |
}, | |
{ | |
"code": 6172, | |
"msg": "SpotMarketBalanceInvariantViolated", | |
"name": "SpotMarketBalanceInvariantViolated" | |
}, | |
{ | |
"code": 6173, | |
"msg": "SpotMarketVaultInvariantViolated", | |
"name": "SpotMarketVaultInvariantViolated" | |
}, | |
{ | |
"code": 6174, | |
"msg": "InvalidPDA", | |
"name": "InvalidPDA" | |
}, | |
{ | |
"code": 6175, | |
"msg": "InvalidPDASigner", | |
"name": "InvalidPDASigner" | |
}, | |
{ | |
"code": 6176, | |
"msg": "RevenueSettingsCannotSettleToIF", | |
"name": "RevenueSettingsCannotSettleToIF" | |
}, | |
{ | |
"code": 6177, | |
"msg": "NoRevenueToSettleToIF", | |
"name": "NoRevenueToSettleToIF" | |
}, | |
{ | |
"code": 6178, | |
"msg": "NoAmmPerpPnlDeficit", | |
"name": "NoAmmPerpPnlDeficit" | |
}, | |
{ | |
"code": 6179, | |
"msg": "SufficientPerpPnlPool", | |
"name": "SufficientPerpPnlPool" | |
}, | |
{ | |
"code": 6180, | |
"msg": "InsufficientPerpPnlPool", | |
"name": "InsufficientPerpPnlPool" | |
}, | |
{ | |
"code": 6181, | |
"msg": "PerpPnlDeficitBelowThreshold", | |
"name": "PerpPnlDeficitBelowThreshold" | |
}, | |
{ | |
"code": 6182, | |
"msg": "MaxRevenueWithdrawPerPeriodReached", | |
"name": "MaxRevenueWithdrawPerPeriodReached" | |
}, | |
{ | |
"code": 6183, | |
"msg": "InvalidSpotPositionDetected", | |
"name": "MaxIFWithdrawReached" | |
}, | |
{ | |
"code": 6184, | |
"msg": "NoIFWithdrawAvailable", | |
"name": "NoIFWithdrawAvailable" | |
}, | |
{ | |
"code": 6185, | |
"msg": "InvalidIFUnstake", | |
"name": "InvalidIFUnstake" | |
}, | |
{ | |
"code": 6186, | |
"msg": "InvalidIFUnstakeSize", | |
"name": "InvalidIFUnstakeSize" | |
}, | |
{ | |
"code": 6187, | |
"msg": "InvalidIFUnstakeCancel", | |
"name": "InvalidIFUnstakeCancel" | |
}, | |
{ | |
"code": 6188, | |
"msg": "InvalidIFForNewStakes", | |
"name": "InvalidIFForNewStakes" | |
}, | |
{ | |
"code": 6189, | |
"msg": "InvalidIFRebase", | |
"name": "InvalidIFRebase" | |
}, | |
{ | |
"code": 6190, | |
"msg": "InvalidInsuranceUnstakeSize", | |
"name": "InvalidInsuranceUnstakeSize" | |
}, | |
{ | |
"code": 6191, | |
"msg": "InvalidOrderLimitPrice", | |
"name": "InvalidOrderLimitPrice" | |
}, | |
{ | |
"code": 6192, | |
"msg": "InvalidIFDetected", | |
"name": "InvalidIFDetected" | |
}, | |
{ | |
"code": 6193, | |
"msg": "InvalidAmmMaxSpreadDetected", | |
"name": "InvalidAmmMaxSpreadDetected" | |
}, | |
{ | |
"code": 6194, | |
"msg": "InvalidConcentrationCoef", | |
"name": "InvalidConcentrationCoef" | |
}, | |
{ | |
"code": 6195, | |
"msg": "InvalidSrmVault", | |
"name": "InvalidSrmVault" | |
}, | |
{ | |
"code": 6196, | |
"msg": "InvalidVaultOwner", | |
"name": "InvalidVaultOwner" | |
}, | |
{ | |
"code": 6197, | |
"msg": "InvalidMarketStatusForFills", | |
"name": "InvalidMarketStatusForFills" | |
}, | |
{ | |
"code": 6198, | |
"msg": "IFWithdrawRequestInProgress", | |
"name": "IFWithdrawRequestInProgress" | |
}, | |
{ | |
"code": 6199, | |
"msg": "NoIFWithdrawRequestInProgress", | |
"name": "NoIFWithdrawRequestInProgress" | |
}, | |
{ | |
"code": 6200, | |
"msg": "IFWithdrawRequestTooSmall", | |
"name": "IFWithdrawRequestTooSmall" | |
}, | |
{ | |
"code": 6201, | |
"msg": "IncorrectSpotMarketAccountPassed", | |
"name": "IncorrectSpotMarketAccountPassed" | |
}, | |
{ | |
"code": 6202, | |
"msg": "BlockchainClockInconsistency", | |
"name": "BlockchainClockInconsistency" | |
}, | |
{ | |
"code": 6203, | |
"msg": "InvalidIFSharesDetected", | |
"name": "InvalidIFSharesDetected" | |
}, | |
{ | |
"code": 6204, | |
"msg": "NewLPSizeTooSmall", | |
"name": "NewLPSizeTooSmall" | |
}, | |
{ | |
"code": 6205, | |
"msg": "MarketStatusInvalidForNewLP", | |
"name": "MarketStatusInvalidForNewLP" | |
}, | |
{ | |
"code": 6206, | |
"msg": "InvalidMarkTwapUpdateDetected", | |
"name": "InvalidMarkTwapUpdateDetected" | |
}, | |
{ | |
"code": 6207, | |
"msg": "MarketSettlementAttemptOnActiveMarket", | |
"name": "MarketSettlementAttemptOnActiveMarket" | |
}, | |
{ | |
"code": 6208, | |
"msg": "MarketSettlementRequiresSettledLP", | |
"name": "MarketSettlementRequiresSettledLP" | |
}, | |
{ | |
"code": 6209, | |
"msg": "MarketSettlementAttemptTooEarly", | |
"name": "MarketSettlementAttemptTooEarly" | |
}, | |
{ | |
"code": 6210, | |
"msg": "MarketSettlementTargetPriceInvalid", | |
"name": "MarketSettlementTargetPriceInvalid" | |
}, | |
{ | |
"code": 6211, | |
"msg": "UnsupportedSpotMarket", | |
"name": "UnsupportedSpotMarket" | |
}, | |
{ | |
"code": 6212, | |
"msg": "SpotOrdersDisabled", | |
"name": "SpotOrdersDisabled" | |
}, | |
{ | |
"code": 6213, | |
"msg": "Market Being Initialized", | |
"name": "MarketBeingInitialized" | |
}, | |
{ | |
"code": 6214, | |
"msg": "Invalid Sub Account Id", | |
"name": "InvalidUserSubAccountId" | |
}, | |
{ | |
"code": 6215, | |
"msg": "Invalid Trigger Order Condition", | |
"name": "InvalidTriggerOrderCondition" | |
}, | |
{ | |
"code": 6216, | |
"msg": "Invalid Spot Position", | |
"name": "InvalidSpotPosition" | |
}, | |
{ | |
"code": 6217, | |
"msg": "Cant transfer between same user account", | |
"name": "CantTransferBetweenSameUserAccount" | |
}, | |
{ | |
"code": 6218, | |
"msg": "Invalid Perp Position", | |
"name": "InvalidPerpPosition" | |
}, | |
{ | |
"code": 6219, | |
"msg": "Unable To Get Limit Price", | |
"name": "UnableToGetLimitPrice" | |
}, | |
{ | |
"code": 6220, | |
"msg": "Invalid Liquidation", | |
"name": "InvalidLiquidation" | |
}, | |
{ | |
"code": 6221, | |
"msg": "Spot Fulfillment Config Disabled", | |
"name": "SpotFulfillmentConfigDisabled" | |
}, | |
{ | |
"code": 6222, | |
"msg": "Invalid Maker", | |
"name": "InvalidMaker" | |
}, | |
{ | |
"code": 6223, | |
"msg": "Failed Unwrap", | |
"name": "FailedUnwrap" | |
}, | |
{ | |
"code": 6224, | |
"msg": "Max Number Of Users", | |
"name": "MaxNumberOfUsers" | |
}, | |
{ | |
"code": 6225, | |
"msg": "InvalidOracleForSettlePnl", | |
"name": "InvalidOracleForSettlePnl" | |
}, | |
{ | |
"code": 6226, | |
"msg": "MarginOrdersOpen", | |
"name": "MarginOrdersOpen" | |
}, | |
{ | |
"code": 6227, | |
"msg": "TierViolationLiquidatingPerpPnl", | |
"name": "TierViolationLiquidatingPerpPnl" | |
}, | |
{ | |
"code": 6228, | |
"msg": "CouldNotLoadUserData", | |
"name": "CouldNotLoadUserData" | |
}, | |
{ | |
"code": 6229, | |
"msg": "UserWrongMutability", | |
"name": "UserWrongMutability" | |
}, | |
{ | |
"code": 6230, | |
"msg": "InvalidUserAccount", | |
"name": "InvalidUserAccount" | |
}, | |
{ | |
"code": 6231, | |
"msg": "CouldNotLoadUserData", | |
"name": "CouldNotLoadUserStatsData" | |
}, | |
{ | |
"code": 6232, | |
"msg": "UserWrongMutability", | |
"name": "UserStatsWrongMutability" | |
}, | |
{ | |
"code": 6233, | |
"msg": "InvalidUserAccount", | |
"name": "InvalidUserStatsAccount" | |
}, | |
{ | |
"code": 6234, | |
"msg": "UserNotFound", | |
"name": "UserNotFound" | |
}, | |
{ | |
"code": 6235, | |
"msg": "UnableToLoadUserAccount", | |
"name": "UnableToLoadUserAccount" | |
}, | |
{ | |
"code": 6236, | |
"msg": "UserStatsNotFound", | |
"name": "UserStatsNotFound" | |
}, | |
{ | |
"code": 6237, | |
"msg": "UnableToLoadUserStatsAccount", | |
"name": "UnableToLoadUserStatsAccount" | |
}, | |
{ | |
"code": 6238, | |
"msg": "User Not Inactive", | |
"name": "UserNotInactive" | |
}, | |
{ | |
"code": 6239, | |
"msg": "RevertFill", | |
"name": "RevertFill" | |
}, | |
{ | |
"code": 6240, | |
"msg": "Invalid MarketAccount for Deletion", | |
"name": "InvalidMarketAccountforDeletion" | |
}, | |
{ | |
"code": 6241, | |
"msg": "Invalid Spot Fulfillment Params", | |
"name": "InvalidSpotFulfillmentParams" | |
}, | |
{ | |
"code": 6242, | |
"msg": "Failed to Get Mint", | |
"name": "FailedToGetMint" | |
}, | |
{ | |
"code": 6243, | |
"msg": "FailedPhoenixCPI", | |
"name": "FailedPhoenixCPI" | |
}, | |
{ | |
"code": 6244, | |
"msg": "FailedToDeserializePhoenixMarket", | |
"name": "FailedToDeserializePhoenixMarket" | |
}, | |
{ | |
"code": 6245, | |
"msg": "InvalidPricePrecision", | |
"name": "InvalidPricePrecision" | |
}, | |
{ | |
"code": 6246, | |
"msg": "InvalidPhoenixProgram", | |
"name": "InvalidPhoenixProgram" | |
}, | |
{ | |
"code": 6247, | |
"msg": "InvalidPhoenixMarket", | |
"name": "InvalidPhoenixMarket" | |
}, | |
{ | |
"code": 6248, | |
"msg": "InvalidSwap", | |
"name": "InvalidSwap" | |
}, | |
{ | |
"code": 6249, | |
"msg": "SwapLimitPriceBreached", | |
"name": "SwapLimitPriceBreached" | |
}, | |
{ | |
"code": 6250, | |
"msg": "SpotMarketReduceOnly", | |
"name": "SpotMarketReduceOnly" | |
}, | |
{ | |
"code": 6251, | |
"msg": "FundingWasNotUpdated", | |
"name": "FundingWasNotUpdated" | |
}, | |
{ | |
"code": 6252, | |
"msg": "ImpossibleFill", | |
"name": "ImpossibleFill" | |
}, | |
{ | |
"code": 6253, | |
"msg": "CantUpdatePerpBidAskTwap", | |
"name": "CantUpdatePerpBidAskTwap" | |
}, | |
{ | |
"code": 6254, | |
"msg": "UserReduceOnly", | |
"name": "UserReduceOnly" | |
}, | |
{ | |
"code": 6255, | |
"msg": "InvalidMarginCalculation", | |
"name": "InvalidMarginCalculation" | |
}, | |
{ | |
"code": 6256, | |
"msg": "CantPayUserInitFee", | |
"name": "CantPayUserInitFee" | |
}, | |
{ | |
"code": 6257, | |
"msg": "CantReclaimRent", | |
"name": "CantReclaimRent" | |
}, | |
{ | |
"code": 6258, | |
"msg": "InsuranceFundOperationPaused", | |
"name": "InsuranceFundOperationPaused" | |
}, | |
{ | |
"code": 6259, | |
"msg": "NoUnsettledPnl", | |
"name": "NoUnsettledPnl" | |
}, | |
{ | |
"code": 6260, | |
"msg": "PnlPoolCantSettleUser", | |
"name": "PnlPoolCantSettleUser" | |
}, | |
{ | |
"code": 6261, | |
"msg": "OracleInvalid", | |
"name": "OracleNonPositive" | |
}, | |
{ | |
"code": 6262, | |
"msg": "OracleTooVolatile", | |
"name": "OracleTooVolatile" | |
}, | |
{ | |
"code": 6263, | |
"msg": "OracleTooUncertain", | |
"name": "OracleTooUncertain" | |
}, | |
{ | |
"code": 6264, | |
"msg": "OracleStaleForMargin", | |
"name": "OracleStaleForMargin" | |
}, | |
{ | |
"code": 6265, | |
"msg": "OracleInsufficientDataPoints", | |
"name": "OracleInsufficientDataPoints" | |
}, | |
{ | |
"code": 6266, | |
"msg": "OracleStaleForAMM", | |
"name": "OracleStaleForAMM" | |
}, | |
{ | |
"code": 6267, | |
"msg": "Unable to parse pull oracle message", | |
"name": "UnableToParsePullOracleMessage" | |
}, | |
{ | |
"code": 6268, | |
"msg": "Can not borow more than max borrows", | |
"name": "MaxBorrows" | |
}, | |
{ | |
"code": 6269, | |
"msg": "Updates must be monotonically increasing", | |
"name": "OracleUpdatesNotMonotonic" | |
}, | |
{ | |
"code": 6270, | |
"msg": "Trying to update price feed with the wrong feed id", | |
"name": "OraclePriceFeedMessageMismatch" | |
}, | |
{ | |
"code": 6271, | |
"msg": "The message in the update must be a PriceFeedMessage", | |
"name": "OracleUnsupportedMessageType" | |
}, | |
{ | |
"code": 6272, | |
"msg": "Could not deserialize the message in the update", | |
"name": "OracleDeserializeMessageFailed" | |
}, | |
{ | |
"code": 6273, | |
"msg": "Wrong guardian set owner in update price atomic", | |
"name": "OracleWrongGuardianSetOwner" | |
}, | |
{ | |
"code": 6274, | |
"msg": "Oracle post update atomic price feed account must be drift program", | |
"name": "OracleWrongWriteAuthority" | |
}, | |
{ | |
"code": 6275, | |
"msg": "Oracle vaa owner must be wormhole program", | |
"name": "OracleWrongVaaOwner" | |
}, | |
{ | |
"code": 6276, | |
"msg": "Multi updates must have 2 or fewer accounts passed in remaining accounts", | |
"name": "OracleTooManyPriceAccountUpdates" | |
}, | |
{ | |
"code": 6277, | |
"msg": "Don't have the same remaining accounts number and pyth updates left", | |
"name": "OracleMismatchedVaaAndPriceUpdates" | |
}, | |
{ | |
"code": 6278, | |
"msg": "Remaining account passed does not match oracle update derived pda", | |
"name": "OracleBadRemainingAccountPublicKey" | |
}, | |
{ | |
"code": 6279, | |
"msg": "FailedOpenbookV2CPI", | |
"name": "FailedOpenbookV2CPI" | |
}, | |
{ | |
"code": 6280, | |
"msg": "InvalidOpenbookV2Program", | |
"name": "InvalidOpenbookV2Program" | |
}, | |
{ | |
"code": 6281, | |
"msg": "InvalidOpenbookV2Market", | |
"name": "InvalidOpenbookV2Market" | |
}, | |
{ | |
"code": 6282, | |
"msg": "Non zero transfer fee", | |
"name": "NonZeroTransferFee" | |
}, | |
{ | |
"code": 6283, | |
"msg": "Liquidation order failed to fill", | |
"name": "LiquidationOrderFailedToFill" | |
}, | |
{ | |
"code": 6284, | |
"msg": "Invalid prediction market order", | |
"name": "InvalidPredictionMarketOrder" | |
}, | |
{ | |
"code": 6285, | |
"msg": "Ed25519 Ix must be before place and make SignedMsg order ix", | |
"name": "InvalidVerificationIxIndex" | |
}, | |
{ | |
"code": 6286, | |
"msg": "SignedMsg message verificaiton failed", | |
"name": "SigVerificationFailed" | |
}, | |
{ | |
"code": 6287, | |
"msg": "Market index mismatched b/w taker and maker SignedMsg order params", | |
"name": "MismatchedSignedMsgOrderParamsMarketIndex" | |
}, | |
{ | |
"code": 6288, | |
"msg": "Invalid SignedMsg order param", | |
"name": "InvalidSignedMsgOrderParam" | |
}, | |
{ | |
"code": 6289, | |
"msg": "Place and take order success condition failed", | |
"name": "PlaceAndTakeOrderSuccessConditionFailed" | |
}, | |
{ | |
"code": 6290, | |
"msg": "Invalid High Leverage Mode Config", | |
"name": "InvalidHighLeverageModeConfig" | |
}, | |
{ | |
"code": 6291, | |
"msg": "Invalid RFQ User Account", | |
"name": "InvalidRFQUserAccount" | |
}, | |
{ | |
"code": 6292, | |
"msg": "RFQUserAccount should be mutable", | |
"name": "RFQUserAccountWrongMutability" | |
}, | |
{ | |
"code": 6293, | |
"msg": "RFQUserAccount has too many active RFQs", | |
"name": "RFQUserAccountFull" | |
}, | |
{ | |
"code": 6294, | |
"msg": "RFQ order not filled as expected", | |
"name": "RFQOrderNotFilled" | |
}, | |
{ | |
"code": 6295, | |
"msg": "RFQ orders must be jit makers", | |
"name": "InvalidRFQOrder" | |
}, | |
{ | |
"code": 6296, | |
"msg": "RFQ matches must be valid", | |
"name": "InvalidRFQMatch" | |
}, | |
{ | |
"code": 6297, | |
"msg": "Invalid SignedMsg user account", | |
"name": "InvalidSignedMsgUserAccount" | |
}, | |
{ | |
"code": 6298, | |
"msg": "SignedMsg account wrong mutability", | |
"name": "SignedMsgUserAccountWrongMutability" | |
}, | |
{ | |
"code": 6299, | |
"msg": "SignedMsgUserAccount has too many active orders", | |
"name": "SignedMsgUserOrdersAccountFull" | |
}, | |
{ | |
"code": 6300, | |
"msg": "Order with SignedMsg uuid does not exist", | |
"name": "SignedMsgOrderDoesNotExist" | |
}, | |
{ | |
"code": 6301, | |
"msg": "SignedMsg order id cannot be 0s", | |
"name": "InvalidSignedMsgOrderId" | |
}, | |
{ | |
"code": 6302, | |
"msg": "Invalid pool id", | |
"name": "InvalidPoolId" | |
}, | |
{ | |
"code": 6303, | |
"msg": "Invalid Protected Maker Mode Config", | |
"name": "InvalidProtectedMakerModeConfig" | |
}, | |
{ | |
"code": 6304, | |
"msg": "Invalid pyth lazer storage owner", | |
"name": "InvalidPythLazerStorageOwner" | |
}, | |
{ | |
"code": 6305, | |
"msg": "Verification of pyth lazer message failed", | |
"name": "UnverifiedPythLazerMessage" | |
}, | |
{ | |
"code": 6306, | |
"msg": "Invalid pyth lazer message", | |
"name": "InvalidPythLazerMessage" | |
}, | |
{ | |
"code": 6307, | |
"msg": "Pyth lazer message does not correspond to correct fed id", | |
"name": "PythLazerMessagePriceFeedMismatch" | |
}, | |
{ | |
"code": 6308, | |
"msg": "InvalidLiquidateSpotWithSwap", | |
"name": "InvalidLiquidateSpotWithSwap" | |
}, | |
{ | |
"code": 6309, | |
"msg": "User in SignedMsg message does not match user in ix context", | |
"name": "SignedMsgUserContextUserMismatch" | |
}, | |
{ | |
"code": 6310, | |
"msg": "User fuel overflow threshold not met", | |
"name": "UserFuelOverflowThresholdNotMet" | |
}, | |
{ | |
"code": 6311, | |
"msg": "FuelOverflow account not found", | |
"name": "FuelOverflowAccountNotFound" | |
}, | |
{ | |
"code": 6312, | |
"msg": "Invalid Transfer Perp Position", | |
"name": "InvalidTransferPerpPosition" | |
}, | |
{ | |
"code": 6313, | |
"msg": "Invalid SignedMsgUserOrders resize", | |
"name": "InvalidSignedMsgUserOrdersResize" | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment