@ox-fun/drift-sdk
Version:
SDK for Drift Protocol
2,542 lines • 250 kB
JSON
{
"version": "2.59.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": "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": "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": "makerOrderId",
"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": "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": "addPerpLpShares",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "nShares",
"type": "u64"
},
{
"name": "marketIndex",
"type": "u16"
}
]
},
{
"name": "removePerpLpShares",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "sharesToBurn",
"type": "u64"
},
{
"name": "marketIndex",
"type": "u16"
}
]
},
{
"name": "removePerpLpSharesInExpiringMarket",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
}
],
"args": [
{
"name": "sharesToBurn",
"type": "u64"
},
{
"name": "marketIndex",
"type": "u16"
}
]
},
{
"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": "updateUserMarginTradingEnabled",
"accounts": [
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "subAccountId",
"type": "u16"
},
{
"name": "marginTradingEnabled",
"type": "bool"
}
]
},
{
"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": "deleteUser",
"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
}
],
"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": "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": "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": "settleFundingPayment",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
}
],
"args": []
},
{
"name": "settleLp",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": false
}
],
"args": [
{
"name": "marketIndex",
"type": "u16"
}
]
},
{
"name": "settleExpiredMarket",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"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": "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": "liquidateBorrowForPerpPnl",
"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": "perpMarketIndex",
"type": "u16"
},
{
"name": "spotMarketIndex",
"type": "u16"
},
{
"name": "liquidatorMaxLiabilityTransfer",
"type": "u128"
},
{
"name": "limitPrice",
"type": {
"option": "u64"
}
}
]
},
{
"name": "liquidatePerpPnlForDeposit",
"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": "perpMarketIndex",
"type": "u16"
},
{
"name": "spotMarketIndex",
"type": "u16"
},
{
"name": "liquidatorMaxPnlTransfer",
"type": "u128"
},
{
"name": "limitPrice",
"type": {
"option": "u64"
}
}
]
},
{
"name": "resolvePerpPnlDeficit",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "spotMarketVault",
"isMut": true,
"isSigner": false
},
{
"name": "insuranceFundVault",
"isMut": true,
"isSigner": false
},
{
"name": "driftSigner",
"isMut": false,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "spotMarketIndex",
"type": "u16"
},
{
"name": "perpMarketIndex",
"type": "u16"
}
]
},
{
"name": "resolvePerpBankruptcy",
"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": "spotMarketVault",
"isMut": true,
"isSigner": false
},
{
"name": "insuranceFundVault",
"isMut": true,
"isSigner": false
},
{
"name": "driftSigner",
"isMut": false,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "quoteSpotMarketIndex",
"type": "u16"
},
{
"name": "marketIndex",
"type": "u16"
}
]
},
{
"name": "resolveSpotBankruptcy",
"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": "spotMarketVault",
"isMut": true,
"isSigner": false
},
{
"name": "insuranceFundVault",
"isMut": true,
"isSigner": false
},
{
"name": "driftSigner",
"isMut": false,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "marketIndex",
"type": "u16"
}
]
},
{
"name": "settleRevenueToInsuranceFund",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "spotMarket",
"isMut": true,
"isSigner": false
},
{
"name": "spotMarketVault",
"isMut": true,
"isSigner": false
},
{
"name": "driftSigner",
"isMut": false,
"isSigner": false
},
{
"name": "insuranceFundVault",
"isMut": true,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "spotMarketIndex",
"type": "u16"
}
]
},
{
"name": "updateFundingRate",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "perpMarket",
"isMut": true,
"isSigner": false
},
{
"name": "oracle",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "marketIndex",
"type": "u16"
}
]
},
{
"name": "updatePerpBidAskTwap",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "perpMarket",
"isMut": true,
"isSigner": false
},
{
"name": "oracle",
"isMut": false,
"isSigner": false
},
{
"name": "keeperStats",
"isMut": false,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": []
},
{
"name": "updateSpotMarketCumulativeInterest",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "spotMarket",
"isMut": true,
"isSigner": false
},
{
"name": "oracle",
"isMut": false,
"isSigner": false
},
{
"name": "spotMarketVault",
"isMut": false,
"isSigner": false
}
],
"args": []
},
{
"name": "updateAmms",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "marketIndexes",
"type": {
"array": [
"u16",
5
]
}
}
]
},
{
"name": "updateSpotMarketExpiry",
"accounts": [
{
"name": "admin",
"isMut": false,
"isSigner": true
},
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "spotMarket",
"isMut": true,
"isSigner": false
}
],
"args": [
{
"name": "expiryTs",
"type": "i64"
}
]
},
{
"name": "updateUserQuoteAssetInsuranceStake",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "spotMarket",
"isMut": false,
"isSigner": false
},
{
"name": "insuranceFundStake",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "insuranceFundVault",
"isMut": true,
"isSigner": false
}
],
"args": []
},
{
"name": "initializeInsuranceFundStake",
"accounts": [
{
"name": "spotMarket",
"isMut": false,
"isSigner": false
},
{
"name": "insuranceFundStake",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "state",
"isMut": false,
"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": "marketIndex",
"type": "u16"
}
]
},
{
"name": "addInsuranceFundStake",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "spotMarket",
"isMut": false,
"isSigner": false
},
{
"name": "insuranceFundStake",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "spotMarketVault",
"isMut": true,
"isSigner": false
},
{
"name": "insuranceFundVault",
"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": "requestRemoveInsuranceFundStake",
"accounts": [
{
"name": "spotMarket",
"isMut": false,
"isSigner": false
},
{
"name": "insuranceFundStake",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "insuranceFundVault",
"isMut": true,
"isSigner": false
}
],
"args": [
{
"name": "marketIndex",
"type": "u16"
},
{
"name": "amount",
"type": "u64"
}
]
},
{
"name": "cancelRequestRemoveInsuranceFundStake",
"accounts": [
{
"name": "spotMarket",
"isMut": false,
"isSigner": false
},
{
"name": "insuranceFundStake",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "insuranceFundVault",
"isMut": true,
"isSigner": false
}
],
"args": [
{
"name": "marketIndex",
"type": "u16"
}
]
},
{
"name": "removeInsuranceFundStake",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "spotMarket",
"isMut": false,
"isSigner": false
},
{
"name": "insuranceFundStake",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "insuranceFundVault",
"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": "transferProtocolIfShares",
"accounts": [
{
"name": "signer",
"isMut": false,
"isSigner": true
},
{
"name": "transferConfig",
"isMut": true,
"isSigner": false
},
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "spotMarket",
"isMut": true,
"isSigner": false
},
{
"name": "insuranceFundStake",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "insuranceFundVault",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "marketIndex",
"type": "u16"
},
{
"name": "shares",
"type": "u128"
}
]
},
{
"name": "initialize",
"accounts": [
{
"name": "admin",
"isMut": true,
"isSigner": true
},
{
"name": "state",
"isMut": true,
"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",
"isMut": false,
"isSigner": false
}
],
"args": []
},
{
"name": "initializeSpotMarket",
"accounts": [
{
"name": "spotMarket",
"isMut": true,
"isSigner": false
},
{
"name": "spotMarketMint",
"isMut": false,
"isSigner": false
},
{
"name": "spotMarketVault",
"isMut": true,
"isSigner": false
},
{
"name": "insuranceFundVault",
"isMut": true,
"isSigner": false
},
{
"name": "driftSigner",
"isMut": false,
"isSigner": false
},
{
"name": "state",
"isMut": true,
"isSigner": false
},
{
"name": "oracle",
"isMut": false,
"isSigner": fa