@drift-labs/sdk
Version:
SDK for Drift Protocol
2,538 lines (2,537 loc) • 354 kB
JSON
{
"version": "2.137.0",
"name": "drift",
"instructions": [
{
"name": "initializeUser",
"accounts": [
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "state",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "payer",
"isMut": true,
"isSigner": true
},
{
"name": "rent",
"isMut": false,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "subAccountId",
"type": "u16"
},
{
"name": "name",
"type": {
"array": [
"u8",
32
]
}
}
]
},
{
"name": "initializeUserStats",
"accounts": [
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "state",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "payer",
"isMut": true,
"isSigner": true
},
{
"name": "rent",
"isMut": false,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
}
],
"args": []
},
{
"name": "initializeSignedMsgUserOrders",
"accounts": [
{
"name": "signedMsgUserOrders",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": false
},
{
"name": "payer",
"isMut": true,
"isSigner": true
},
{
"name": "rent",
"isMut": false,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "numOrders",
"type": "u16"
}
]
},
{
"name": "resizeSignedMsgUserOrders",
"accounts": [
{
"name": "signedMsgUserOrders",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": false,
"isSigner": false
},
{
"name": "payer",
"isMut": true,
"isSigner": true
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "numOrders",
"type": "u16"
}
]
},
{
"name": "initializeSignedMsgWsDelegates",
"accounts": [
{
"name": "signedMsgWsDelegates",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": true,
"isSigner": true
},
{
"name": "rent",
"isMut": false,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "delegates",
"type": {
"vec": "publicKey"
}
}
]
},
{
"name": "changeSignedMsgWsDelegateStatus",
"accounts": [
{
"name": "signedMsgWsDelegates",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": true,
"isSigner": true
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "delegate",
"type": "publicKey"
},
{
"name": "add",
"type": "bool"
}
]
},
{
"name": "initializeFuelOverflow",
"accounts": [
{
"name": "fuelOverflow",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": false
},
{
"name": "payer",
"isMut": true,
"isSigner": true
},
{
"name": "rent",
"isMut": false,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
}
],
"args": []
},
{
"name": "sweepFuel",
"accounts": [
{
"name": "fuelOverflow",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": false
},
{
"name": "signer",
"isMut": false,
"isSigner": true
}
],
"args": []
},
{
"name": "resetFuelSeason",
"accounts": [
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": false
},
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "admin",
"isMut": false,
"isSigner": true
}
],
"args": []
},
{
"name": "initializeReferrerName",
"accounts": [
{
"name": "referrerName",
"isMut": true,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "payer",
"isMut": true,
"isSigner": true
},
{
"name": "rent",
"isMut": false,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "name",
"type": {
"array": [
"u8",
32
]
}
}
]
},
{
"name": "deposit",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "spotMarketVault",
"isMut": true,
"isSigner": false
},
{
"name": "userTokenAccount",
"isMut": true,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "marketIndex",
"type": "u16"
},
{
"name": "amount",
"type": "u64"
},
{
"name": "reduceOnly",
"type": "bool"
}
]
},
{
"name": "withdraw",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "spotMarketVault",
"isMut": true,
"isSigner": false
},
{
"name": "driftSigner",
"isMut": false,
"isSigner": false
},
{
"name": "userTokenAccount",
"isMut": true,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "marketIndex",
"type": "u16"
},
{
"name": "amount",
"type": "u64"
},
{
"name": "reduceOnly",
"type": "bool"
}
]
},
{
"name": "transferDeposit",
"accounts": [
{
"name": "fromUser",
"isMut": true,
"isSigner": false
},
{
"name": "toUser",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "spotMarketVault",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "marketIndex",
"type": "u16"
},
{
"name": "amount",
"type": "u64"
}
]
},
{
"name": "transferPools",
"accounts": [
{
"name": "fromUser",
"isMut": true,
"isSigner": false
},
{
"name": "toUser",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "depositFromSpotMarketVault",
"isMut": true,
"isSigner": false
},
{
"name": "depositToSpotMarketVault",
"isMut": true,
"isSigner": false
},
{
"name": "borrowFromSpotMarketVault",
"isMut": true,
"isSigner": false
},
{
"name": "borrowToSpotMarketVault",
"isMut": true,
"isSigner": false
},
{
"name": "driftSigner",
"isMut": false,
"isSigner": false
}
],
"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": "transferPerpPosition",
"accounts": [
{
"name": "fromUser",
"isMut": true,
"isSigner": false
},
{
"name": "toUser",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "state",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "marketIndex",
"type": "u16"
},
{
"name": "amount",
"type": {
"option": "i64"
}
}
]
},
{
"name": "placePerpOrder",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "params",
"type": {
"defined": "OrderParams"
}
}
]
},
{
"name": "cancelOrder",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "orderId",
"type": {
"option": "u32"
}
}
]
},
{
"name": "cancelOrderByUserId",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "userOrderId",
"type": "u8"
}
]
},
{
"name": "cancelOrders",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "marketType",
"type": {
"option": {
"defined": "MarketType"
}
}
},
{
"name": "marketIndex",
"type": {
"option": "u16"
}
},
{
"name": "direction",
"type": {
"option": {
"defined": "PositionDirection"
}
}
}
]
},
{
"name": "cancelOrdersByIds",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "orderIds",
"type": {
"vec": "u32"
}
}
]
},
{
"name": "modifyOrder",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "orderId",
"type": {
"option": "u32"
}
},
{
"name": "modifyOrderParams",
"type": {
"defined": "ModifyOrderParams"
}
}
]
},
{
"name": "modifyOrderByUserId",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "userOrderId",
"type": "u8"
},
{
"name": "modifyOrderParams",
"type": {
"defined": "ModifyOrderParams"
}
}
]
},
{
"name": "placeAndTakePerpOrder",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "params",
"type": {
"defined": "OrderParams"
}
},
{
"name": "successCondition",
"type": {
"option": "u32"
}
}
]
},
{
"name": "placeAndMakePerpOrder",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "taker",
"isMut": true,
"isSigner": false
},
{
"name": "takerStats",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "params",
"type": {
"defined": "OrderParams"
}
},
{
"name": "takerOrderId",
"type": "u32"
}
]
},
{
"name": "placeAndMakeSignedMsgPerpOrder",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "taker",
"isMut": true,
"isSigner": false
},
{
"name": "takerStats",
"isMut": true,
"isSigner": false
},
{
"name": "takerSignedMsgUserOrders",
"isMut": false,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "params",
"type": {
"defined": "OrderParams"
}
},
{
"name": "signedMsgOrderUuid",
"type": {
"array": [
"u8",
8
]
}
}
]
},
{
"name": "placeSignedMsgTakerOrder",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "signedMsgUserOrders",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "ixSysvar",
"isMut": false,
"isSigner": false,
"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."
]
}
],
"args": [
{
"name": "signedMsgOrderParamsMessageBytes",
"type": "bytes"
},
{
"name": "isDelegateSigner",
"type": "bool"
}
]
},
{
"name": "placeSpotOrder",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "params",
"type": {
"defined": "OrderParams"
}
}
]
},
{
"name": "placeAndTakeSpotOrder",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "params",
"type": {
"defined": "OrderParams"
}
},
{
"name": "fulfillmentType",
"type": {
"option": {
"defined": "SpotFulfillmentType"
}
}
},
{
"name": "makerOrderId",
"type": {
"option": "u32"
}
}
]
},
{
"name": "placeAndMakeSpotOrder",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "taker",
"isMut": true,
"isSigner": false
},
{
"name": "takerStats",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "params",
"type": {
"defined": "OrderParams"
}
},
{
"name": "takerOrderId",
"type": "u32"
},
{
"name": "fulfillmentType",
"type": {
"option": {
"defined": "SpotFulfillmentType"
}
}
}
]
},
{
"name": "placeOrders",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "params",
"type": {
"vec": {
"defined": "OrderParams"
}
}
}
]
},
{
"name": "beginSwap",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "outSpotMarketVault",
"isMut": true,
"isSigner": false
},
{
"name": "inSpotMarketVault",
"isMut": true,
"isSigner": false
},
{
"name": "outTokenAccount",
"isMut": true,
"isSigner": false
},
{
"name": "inTokenAccount",
"isMut": true,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "driftSigner",
"isMut": false,
"isSigner": false
},
{
"name": "instructions",
"isMut": false,
"isSigner": false,
"docs": [
"Instructions Sysvar for instruction introspection"
]
}
],
"args": [
{
"name": "inMarketIndex",
"type": "u16"
},
{
"name": "outMarketIndex",
"type": "u16"
},
{
"name": "amountIn",
"type": "u64"
}
]
},
{
"name": "endSwap",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "outSpotMarketVault",
"isMut": true,
"isSigner": false
},
{
"name": "inSpotMarketVault",
"isMut": true,
"isSigner": false
},
{
"name": "outTokenAccount",
"isMut": true,
"isSigner": false
},
{
"name": "inTokenAccount",
"isMut": true,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "driftSigner",
"isMut": false,
"isSigner": false
},
{
"name": "instructions",
"isMut": false,
"isSigner": false,
"docs": [
"Instructions Sysvar for instruction introspection"
]
}
],
"args": [
{
"name": "inMarketIndex",
"type": "u16"
},
{
"name": "outMarketIndex",
"type": "u16"
},
{
"name": "limitPrice",
"type": {
"option": "u64"
}
},
{
"name": "reduceOnly",
"type": {
"option": {
"defined": "SwapReduceOnly"
}
}
}
]
},
{
"name": "updateUserName",
"accounts": [
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "subAccountId",
"type": "u16"
},
{
"name": "name",
"type": {
"array": [
"u8",
32
]
}
}
]
},
{
"name": "updateUserCustomMarginRatio",
"accounts": [
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "subAccountId",
"type": "u16"
},
{
"name": "marginRatio",
"type": "u32"
}
]
},
{
"name": "updateUserPerpPositionCustomMarginRatio",
"accounts": [
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "subAccountId",
"type": "u16"
},
{
"name": "perpMarketIndex",
"type": "u16"
},
{
"name": "marginRatio",
"type": "u16"
}
]
},
{
"name": "updateUserMarginTradingEnabled",
"accounts": [
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "subAccountId",
"type": "u16"
},
{
"name": "marginTradingEnabled",
"type": "bool"
}
]
},
{
"name": "updateUserPoolId",
"accounts": [
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "subAccountId",
"type": "u16"
},
{
"name": "poolId",
"type": "u8"
}
]
},
{
"name": "updateUserDelegate",
"accounts": [
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "subAccountId",
"type": "u16"
},
{
"name": "delegate",
"type": "publicKey"
}
]
},
{
"name": "updateUserReduceOnly",
"accounts": [
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "subAccountId",
"type": "u16"
},
{
"name": "reduceOnly",
"type": "bool"
}
]
},
{
"name": "updateUserAdvancedLp",
"accounts": [
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "subAccountId",
"type": "u16"
},
{
"name": "advancedLp",
"type": "bool"
}
]
},
{
"name": "updateUserProtectedMakerOrders",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "protectedMakerModeConfig",
"isMut": true,
"isSigner": false
}
],
"args": [
{
"name": "subAccountId",
"type": "u16"
},
{
"name": "protectedMakerOrders",
"type": "bool"
}
]
},
{
"name": "deleteUser",
"accounts": [
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "state",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": true,
"isSigner": true
}
],
"args": []
},
{
"name": "forceDeleteUser",
"accounts": [
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "state",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": true,
"isSigner": false
},
{
"name": "keeper",
"isMut": true,
"isSigner": true
},
{
"name": "driftSigner",
"isMut": false,
"isSigner": false
}
],
"args": []
},
{
"name": "deleteSignedMsgUserOrders",
"accounts": [
{
"name": "signedMsgUserOrders",
"isMut": true,
"isSigner": false
},
{
"name": "state",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": []
},
{
"name": "reclaimRent",
"accounts": [
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "rent",
"isMut": false,
"isSigner": false
}
],
"args": []
},
{
"name": "enableUserHighLeverageMode",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "highLeverageModeConfig",
"isMut": true,
"isSigner": false
}
],
"args": [
{
"name": "subAccountId",
"type": "u16"
}
]
},
{
"name": "fillPerpOrder",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "filler",
"isMut": true,
"isSigner": false
},
{
"name": "fillerStats",
"isMut": true,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
}
],
"args": [
{
"name": "orderId",
"type": {
"option": "u32"
}
},
{
"name": "makerOrderId",
"type": {
"option": "u32"
}
}
]
},
{
"name": "revertFill",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "filler",
"isMut": true,
"isSigner": false
},
{
"name": "fillerStats",
"isMut": true,
"isSigner": false
}
],
"args": []
},
{
"name": "fillSpotOrder",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "filler",
"isMut": true,
"isSigner": false
},
{
"name": "fillerStats",
"isMut": true,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
}
],
"args": [
{
"name": "orderId",
"type": {
"option": "u32"
}
},
{
"name": "fulfillmentType",
"type": {
"option": {
"defined": "SpotFulfillmentType"
}
}
},
{
"name": "makerOrderId",
"type": {
"option": "u32"
}
}
]
},
{
"name": "triggerOrder",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "filler",
"isMut": true,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
}
],
"args": [
{
"name": "orderId",
"type": "u32"
}
]
},
{
"name": "forceCancelOrders",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "filler",
"isMut": true,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
}
],
"args": []
},
{
"name": "updateUserIdle",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "filler",
"isMut": true,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
}
],
"args": []
},
{
"name": "logUserBalances",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "user",
"isMut": true,
"isSigner": false
}
],
"args": []
},
{
"name": "disableUserHighLeverageMode",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "highLeverageModeConfig",
"isMut": true,
"isSigner": false
}
],
"args": [
{
"name": "disableMaintenance",
"type": "bool"
}
]
},
{
"name": "updateUserFuelBonus",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
}
],
"args": []
},
{
"name": "updateUserStatsReferrerStatus",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
}
],
"args": []
},
{
"name": "updateUserOpenOrdersCount",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "filler",
"isMut": true,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
}
],
"args": []
},
{
"name": "adminDisableUpdatePerpBidAskTwap",
"accounts": [
{
"name": "admin",
"isMut": false,
"isSigner": true
},
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
}
],
"args": [
{
"name": "disable",
"type": "bool"
}
]
},
{
"name": "settlePnl",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "spotMarketVault",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "marketIndex",
"type": "u16"
}
]
},
{
"name": "settleMultiplePnls",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "spotMarketVault",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "marketIndexes",
"type": {
"vec": "u16"
}
},
{
"name": "mode",
"type": {
"defined": "SettlePnlMode"
}
}
]
},
{
"name": "settleFundingPayment",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
}
],
"args": []
},
{
"name": "settleExpiredMarket",
"accounts": [
{
"name": "admin",
"isMut": false,
"isSigner": true
},
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "perpMarket",
"isMut": true,
"isSigner": false
}
],
"args": [
{
"name": "marketIndex",
"type": "u16"
}
]
},
{
"name": "liquidatePerp",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "liquidator",
"isMut": true,
"isSigner": false
},
{
"name": "liquidatorStats",
"isMut": true,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
}
],
"args": [
{
"name": "marketIndex",
"type": "u16"
},
{
"name": "liquidatorMaxBaseAssetAmount",
"type": "u64"
},
{
"name": "limitPrice",
"type": {
"option": "u64"
}
}
]
},
{
"name": "liquidatePerpWithFill",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "liquidator",
"isMut": true,
"isSigner": false
},
{
"name": "liquidatorStats",
"isMut": true,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
}
],
"args": [
{
"name": "marketIndex",
"type": "u16"
}
]
},
{
"name": "liquidateSpot",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "liquidator",
"isMut": true,
"isSigner": false
},
{
"name": "liquidatorStats",
"isMut": true,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
}
],
"args": [
{
"name": "assetMarketIndex",
"type": "u16"
},
{
"name": "liabilityMarketIndex",
"type": "u16"
},
{
"name": "liquidatorMaxLiabilityTransfer",
"type": "u128"
},
{
"name": "limitPrice",
"type": {
"option": "u64"
}
}
]
},
{
"name": "liquidateSpotWithSwapBegin",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"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": true,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "driftSigner",
"isMut": false,
"isSigner": false
},
{
"name": "instructions",
"isMut": false,
"isSigner": false,
"docs": [
"Instructions Sysvar for instruction introspection"
]
}
],
"args": [
{
"name": "assetMarketIndex",
"type": "u16"
},
{
"name": "liabilityMarketIndex",
"type": "u16"
},
{
"name": "swapAmount",
"type": "u64"
}
]
},
{
"name": "liquidateSpotWithSwapEnd",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"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",