Files
khadhroony-bot3/idls/perpetuals.EtrnLzgbS7nMMy5fbD42kXiUzGg8XQzJ972Xtk1cjWih.phoenix_eternal.V0_2_0.from_solscan.json
2026-07-30 10:27:06 +02:00

23985 lines
797 KiB
JSON

{
"version": "0.2.0",
"address": "EtrnLzgbS7nMMy5fbD42kXiUzGg8XQzJ972Xtk1cjWih",
"metadata": {
"name": "Eternal",
"version": "0.2.0",
"spec": "0.1.0",
"description": "Phoenix Eternal: a perpetual futures exchange",
"address": "EtrnLzgbS7nMMy5fbD42kXiUzGg8XQzJ972Xtk1cjWih",
"origin": "anchor-compatible",
"codama": {
"nodesVersion": "1.6.0",
"nodesFromAnchorVersion": "1.4.1",
"renderersJsVersion": "2.2.0"
}
},
"docs": [
"Anchor-compatible IDL for the Phoenix Eternal program.",
"This IDL is maintained from the native Rust program surface and includes explicit instruction, account, and event discriminators for transaction and account decoding.",
"PDA metadata is included where the program defines a canonical derivation; accounts without PDA metadata are supplied as explicit accounts or are stored in GlobalConfiguration."
],
"instructions": [
{
"name": "PlaceMarketOrder",
"docs": [
"Places an immediate-or-cancel order that consumes resting liquidity on the specified market."
],
"discriminator": [
90,
118,
192,
252,
192,
99,
39,
145
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"writable": true,
"docs": [
"Global configuration PDA; enforces the market is registered and cross trading is enabled."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "traderWallet",
"signer": true,
"docs": [
"Trader authority placing the market order."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader state PDA (\"trader\" account) holding balances and open positions."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map governing risk limits and funding parameters for the market."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Market orderbook account that stores resting liquidity."
]
},
{
"name": "splines",
"writable": true,
"docs": [
"Spline collection PDA that tracks market-making programs for this market."
]
}
],
"args": [
{
"name": "orderPacket",
"type": {
"defined": {
"name": "OrderPacket"
}
}
}
]
},
{
"name": "PlaceLimitOrder",
"docs": [
"Places a limit order that may rest on the orderbook or take liquidity depending on matching conditions."
],
"discriminator": [
108,
176,
33,
186,
146,
229,
1,
197
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"writable": true,
"docs": [
"Global configuration PDA; enforces the market is registered and cross trading is enabled."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "traderWallet",
"signer": true,
"docs": [
"Trader authority placing the limit order."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader state PDA (\"trader\" account) holding balances and open positions."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map governing risk limits and funding parameters for the market."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Market orderbook account that stores resting liquidity."
]
},
{
"name": "splines",
"writable": true,
"docs": [
"Spline collection PDA that tracks market-making programs for this market."
]
}
],
"args": [
{
"name": "orderPacket",
"type": {
"defined": {
"name": "OrderPacket"
}
}
}
]
},
{
"name": "PlaceMultiLimitOrder",
"docs": [
"Places multiple post-only limit orders in a single transaction, allowing batch order placement for market making."
],
"discriminator": [
236,
208,
221,
172,
141,
226,
129,
84
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"writable": true,
"docs": [
"Global configuration PDA; enforces the market is registered and cross trading is enabled."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "traderWallet",
"signer": true,
"docs": [
"Trader authority placing the batch of limit orders."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader state PDA holding balances and open positions."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map governing risk limits and funding parameters for the market."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Market orderbook account that stores resting liquidity."
]
},
{
"name": "splines",
"writable": true,
"docs": [
"Spline collection PDA that tracks market-making programs for this market."
]
}
],
"args": [
{
"name": "orderPacket",
"type": {
"defined": {
"name": "MultipleOrderPacket"
}
}
}
]
},
{
"name": "CancelOrdersById",
"docs": [
"Cancels a specific set of resting orders identified by their FIFO order ids."
],
"discriminator": [
234,
204,
126,
94,
222,
22,
141,
24
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"writable": true,
"docs": [
"Global configuration PDA; enforces the market is registered and cross trading is enabled."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "traderWallet",
"signer": true,
"docs": [
"Trader authority requesting the cancellation."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader state PDA (\"trader\" account) holding balances and open positions."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map governing risk limits and funding parameters for the market."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Market orderbook account containing the resting orders to cancel."
]
},
{
"name": "splines",
"writable": true,
"docs": [
"Spline collection PDA that tracks market-making programs for this market."
]
}
],
"args": [
{
"name": "orderIds",
"type": {
"defined": {
"name": "OrderIds"
}
}
}
]
},
{
"name": "CancelUpTo",
"docs": [
"Cancels resting orders on the specified side up to an optional order or price threshold."
],
"discriminator": [
26,
209,
244,
253,
59,
175,
227,
54
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"writable": true,
"docs": [
"Global configuration PDA; enforces the market is registered and cross trading is enabled."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "traderWallet",
"signer": true,
"docs": [
"Trader authority requesting the cancellation."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader state PDA (\"trader\" account) holding balances and open positions."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map governing risk limits and funding parameters for the market."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Market orderbook account containing the resting orders to cancel."
]
},
{
"name": "splines",
"writable": true,
"docs": [
"Spline collection PDA that tracks market-making programs for this market."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "CancelUpToInstruction"
}
}
}
]
},
{
"name": "CancelAll",
"docs": [
"Cancels every resting order owned by the connected trader on the specified market."
],
"discriminator": [
98,
191,
75,
220,
115,
40,
71,
237
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"writable": true,
"docs": [
"Global configuration PDA; enforces the market is registered and cross trading is enabled."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "traderWallet",
"signer": true,
"docs": [
"Trader authority requesting the cancellation."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader state PDA (\"trader\" account) holding balances and open positions."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map governing risk limits and funding parameters for the market."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Market orderbook account containing the resting orders to cancel."
]
},
{
"name": "splines",
"writable": true,
"docs": [
"Spline collection PDA that tracks market-making programs for this market."
]
}
],
"args": []
},
{
"name": "UpdateOraclePricesWithOrdering",
"docs": [
"Updates oracle-provided spot and perp prices for one or more perpetual markets with monotonic timestamp ordering."
],
"discriminator": [
164,
0,
14,
250,
58,
198,
25,
24
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA; provides oracle authority and quote decimals for conversions."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Wallet authorised to submit oracle price updates (root oracle or delegated user)."
]
},
{
"name": "permissionAccount",
"writable": true,
"docs": [
"Permission account recording oracle capabilities and remaining allowances."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perpetual asset map storing mark price state and oracle metadata."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "UpdateOraclePricesWithOrderingInstruction"
}
}
}
]
},
{
"name": "UpdateSplinePrice",
"docs": [
"Updates the mid-price for a spline market-making program on the specified market."
],
"discriminator": [
45,
155,
200,
52,
37,
214,
187,
140
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "signerAccount",
"signer": true,
"docs": [
"Authority of the spline trader account authorised to update the spline price."
]
},
{
"name": "traderAccount",
"docs": [
"Spline trader account whose price is being updated."
]
},
{
"name": "splineAccount",
"writable": true,
"docs": [
"Spline collection PDA containing the spline configuration and pricing data."
]
},
{
"name": "orderbook",
"optional": true,
"docs": [
"Optional market orderbook account included by some clients as trailing metadata."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "UpdateSplinePriceParamsWithOrdering"
}
}
}
]
},
{
"name": "DepositFunds",
"docs": [
"Deposits collateral tokens from a trader's token account into the global vault, crediting the trader's account."
],
"discriminator": [
202,
39,
52,
211,
53,
20,
250,
88
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"writable": true,
"docs": [
"Global configuration PDA that tracks vault and system parameters."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "traderWallet",
"signer": true,
"docs": [
"Authority of the trader account making the deposit."
]
},
{
"name": "traderTokenAccount",
"writable": true,
"docs": [
"Trader's token account from which funds are transferred."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader state PDA that receives the collateral credit."
]
},
{
"name": "globalVault",
"writable": true,
"docs": [
"Global vault token account that receives the deposited tokens."
]
},
{
"name": "tokenProgram",
"docs": [
"SPL Token program for executing the transfer."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "DepositFundsInstruction"
}
}
}
]
},
{
"name": "RegisterTrader",
"docs": [
"Registers a new trader account with the specified configuration and position capacity."
],
"discriminator": [
75,
243,
224,
167,
1,
5,
51,
32
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA that validates the trader registration."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "payer",
"writable": true,
"signer": true,
"docs": [
"Account paying for the trader account creation and rent exemption."
]
},
{
"name": "traderWallet",
"docs": [
"Authority that will control the trader account; used to derive the trader PDA."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader state PDA to be created; derived from [\"trader\", trader_wallet, [trader_pda_index, trader_subaccount_index]]."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
116,
114,
97,
100,
101,
114
]
},
{
"kind": "account",
"path": "traderWallet"
},
{
"kind": "arg",
"path": "params.traderPdaIndex"
},
{
"kind": "arg",
"path": "params.traderSubaccountIndex"
}
]
}
},
{
"name": "systemProgram",
"docs": [
"System program for creating the trader account."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "RegisterTraderParams"
}
}
}
]
},
{
"name": "LiquidateViaMarketOrder",
"docs": [
"Liquidates a trader's position by executing an immediate-or-cancel market order to reduce their exposure."
],
"discriminator": [
251,
241,
184,
108,
70,
70,
127,
198
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"writable": true,
"docs": [
"Global configuration PDA; enforces the market is registered and liquidation is enabled."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "liquidatorWallet",
"signer": true,
"docs": [
"Liquidator authority executing the liquidation."
]
},
{
"name": "liquidatedTrader",
"writable": true,
"docs": [
"Trader account being liquidated (must be in liquidatable state)."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader state PDA (\"trader\" account) holding balances and open positions."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map governing risk limits and funding parameters for the market."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Market orderbook account that stores resting liquidity."
]
},
{
"name": "splines",
"writable": true,
"docs": [
"Spline collection PDA that tracks market-making programs for this market."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "LiquidationParams"
}
}
}
]
},
{
"name": "LiquidationTransfer",
"docs": [
"Transfers positions directly between a liquidator and liquidatee once the liquidatee is flagged as unhealthy."
],
"discriminator": [
57,
218,
215,
68,
174,
23,
204,
127
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"writable": true,
"docs": [
"Global configuration PDA that owns the global trader index, active trader buffer, and collateral controls."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map governing risk limits, pricing, and funding parameters for every listed market."
]
},
{
"name": "liquidator",
"signer": true,
"docs": [
"Authority of the liquidator who receives transferred positions."
]
},
{
"name": "liquidatorAccount",
"writable": true,
"docs": [
"Liquidator trader account whose balances are credited as transfers are applied."
]
},
{
"name": "liquidateeAccount",
"writable": true,
"docs": [
"Liquidatee trader account whose unhealthy positions are reduced."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "LiquidationTransferParams"
}
}
}
]
},
{
"name": "CloseMatchedPositions",
"docs": [
"Closes offsetting positions between an at-loss trader and an in-profit trader during ADL."
],
"discriminator": [
112,
174,
32,
120,
93,
113,
10,
161
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA that authorizes ADL operations and tracks trader index PDAs."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map account containing risk parameters used to validate the ADL transfer."
]
},
{
"name": "caller",
"signer": true,
"docs": [
"ADL authority invoking the matched close instruction."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
},
{
"name": "atLossAccount",
"writable": true,
"docs": [
"Trader account currently at a loss whose matched exposure will be closed."
]
},
{
"name": "inProfitAccount",
"writable": true,
"docs": [
"Trader account with offsetting profitable exposure to receive the transfer."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "ClosePositionsParams"
}
}
}
]
},
{
"name": "Log",
"docs": [
"Internal instruction used by the Phoenix log authority to emit events on-chain.",
"This instruction is called via CPI and should not be invoked directly."
],
"discriminator": [
141,
230,
214,
242,
9,
209,
207,
170
],
"accounts": [
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA that must sign via CPI."
],
"signer": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
}
],
"args": [
{
"name": "eventBatch",
"docs": [
"Borsh event batch containing the batch index and MarketEvent vector."
],
"type": {
"defined": {
"name": "OffChainMarketEvent"
}
}
}
]
},
{
"name": "LogEventLengths",
"docs": [
"Internal instruction used by the Phoenix log authority to emit per-event byte lengths on-chain.",
"This instruction is called via CPI and should not be invoked directly."
],
"discriminator": [
247,
7,
134,
203,
181,
71,
153,
71
],
"accounts": [
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA that must sign via CPI."
],
"signer": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
}
],
"args": [
{
"name": "eventLengths",
"docs": [
"Borsh event-length batch containing the batch index and serialized event lengths."
],
"type": {
"defined": {
"name": "OffChainMarketEventLengths"
}
}
}
]
},
{
"name": "WithdrawFunds",
"docs": [
"Withdraws collateral tokens from the global vault to a trader's token account, debiting the trader's account balance."
],
"discriminator": [
241,
36,
29,
111,
208,
31,
104,
217
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"writable": true,
"docs": [
"Global configuration PDA that tracks vault and system parameters."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "traderWallet",
"signer": true,
"docs": [
"Authority of the trader account initiating the withdrawal."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader state PDA from which collateral is debited."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map for margin and risk checks."
]
},
{
"name": "globalVault",
"writable": true,
"docs": [
"Global vault token account from which tokens are withdrawn."
]
},
{
"name": "destinationTokenAccount",
"writable": true,
"docs": [
"Trader's destination token account to receive the withdrawn tokens."
]
},
{
"name": "tokenProgram",
"docs": [
"SPL Token program for executing the transfer."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
},
{
"name": "withdrawQueue",
"writable": true,
"docs": [
"Withdraw queue PDA tracking pending withdrawal requests."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "WithdrawFundsInstruction"
}
}
}
]
},
{
"name": "UpdateSplineParameters",
"docs": [
"Updates spline curve parameters for automated market making on bid and ask sides."
],
"discriminator": [
241,
91,
139,
170,
18,
41,
203,
22
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "signerAccount",
"signer": true,
"docs": [
"Authority authorized to update spline parameters."
]
},
{
"name": "traderAccount",
"docs": [
"Trader account associated with the spline."
]
},
{
"name": "splineAccount",
"writable": true,
"docs": [
"Spline collection account holding bid and ask curve parameters."
]
},
{
"name": "orderbook",
"optional": true,
"docs": [
"Optional market orderbook account included by some clients as trailing metadata."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "UpdateSplineParametersParamsWithOrdering"
}
}
}
]
},
{
"name": "PlaceStopLoss",
"docs": [
"Places a stop-loss order that triggers when the market price reaches the specified trigger price."
],
"discriminator": [
236,
46,
164,
66,
235,
92,
162,
137
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA that tracks vault and system parameters."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "payer",
"writable": true,
"signer": true,
"docs": [
"Payer for creating the stop loss account."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader account PDA that holds position and order state."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map tracking positions and risk metrics."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Market orderbook account that stores resting liquidity."
]
},
{
"name": "splines",
"writable": true,
"docs": [
"Spline collection PDA that tracks market-making programs for this market."
]
},
{
"name": "traderWallet",
"signer": true,
"docs": [
"Trader wallet authority."
]
},
{
"name": "stopLossAccount",
"writable": true,
"docs": [
"Stop loss account PDA to be created or updated."
]
},
{
"name": "systemProgram",
"docs": [
"System program for creating the stop loss account."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "PlaceStopLossInstruction"
}
}
}
]
},
{
"name": "ExecuteStopLoss",
"docs": [
"Executes a stop-loss order when the trigger conditions are met."
],
"discriminator": [
38,
122,
90,
90,
182,
241,
7,
4
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "signer",
"signer": true,
"docs": [
"Signer authorized to execute stop loss orders."
]
},
{
"name": "permissionAccount",
"writable": true,
"docs": [
"Permission account verifying execution authority."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader account PDA that holds position and order state."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map tracking positions and risk metrics."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Market orderbook account that stores resting liquidity."
]
},
{
"name": "splines",
"writable": true,
"docs": [
"Spline collection PDA that tracks market-making programs for this market."
]
},
{
"name": "globalConfiguration",
"writable": true,
"docs": [
"Global configuration PDA that tracks vault and system parameters."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "funder",
"writable": true,
"docs": [
"Account to receive rent from closed stop loss account."
]
},
{
"name": "stopLossAccount",
"writable": true,
"docs": [
"Stop loss account to execute and close."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "ExecuteStopLossInstruction"
}
}
}
]
},
{
"name": "CancelStopLoss",
"docs": [
"Cancels a pending stop-loss order and closes the stop loss account."
],
"discriminator": [
120,
201,
10,
102,
12,
9,
111,
126
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"writable": true,
"docs": [
"Global configuration PDA that tracks vault and system parameters."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "funder",
"writable": true,
"docs": [
"Account to receive rent from closed stop loss account."
]
},
{
"name": "traderAccount",
"docs": [
"Trader account associated with the stop loss order."
]
},
{
"name": "traderWallet",
"signer": true,
"docs": [
"Trader wallet authority."
]
},
{
"name": "stopLossAccount",
"writable": true,
"docs": [
"Stop loss account to cancel and close."
]
},
{
"name": "systemProgram",
"docs": [
"System program for closing the account."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "CancelStopLossInstruction"
}
}
}
]
},
{
"name": "ForceCancelAll",
"docs": [
"Force cancels all open orders for a trader account. Requires authority authorization."
],
"discriminator": [
201,
0,
188,
127,
41,
55,
80,
48
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"writable": true,
"docs": [
"Global configuration PDA that tracks vault and system parameters."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Authority authorized to force cancel orders."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader account PDA that holds position and order state."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map tracking positions and risk metrics."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Market orderbook account that stores resting liquidity."
]
},
{
"name": "splines",
"writable": true,
"docs": [
"Spline collection PDA that tracks market-making programs for this market."
]
}
],
"args": []
},
{
"name": "ForceCancelRiskIncreasing",
"docs": [
"Force cancels risk-increasing orders for a trader to reduce margin exposure."
],
"discriminator": [
41,
55,
217,
35,
92,
72,
42,
238
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"writable": true,
"docs": [
"Global configuration PDA that tracks vault and system parameters."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader account PDA that holds position and order state."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map tracking positions and risk metrics."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Market orderbook account that stores resting liquidity."
]
},
{
"name": "splines",
"writable": true,
"docs": [
"Spline collection PDA that tracks market-making programs for this market."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "ForceCancelRiskIncreasingParams"
}
}
}
]
},
{
"name": "UpdateTraderState",
"docs": [
"Settles funding for a trader and evicts them from the active trader buffer when they no longer have resting orders."
],
"discriminator": [
249,
139,
82,
44,
126,
66,
133,
220
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Read-only global configuration PDA used to verify the perp asset map and buffer keys."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader state PDA whose funding snapshot and active status are updated."
]
},
{
"name": "perpAssetMap",
"docs": [
"Perp asset map providing funding parameters for settlement."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
}
],
"args": []
},
{
"name": "ConsumeWithdrawQueue",
"docs": [
"Processes pending withdrawals from the withdraw queue."
],
"discriminator": [
228,
40,
211,
139,
39,
212,
116,
113
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"writable": true,
"docs": [
"Global configuration PDA."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map account."
]
},
{
"name": "globalVault",
"writable": true,
"docs": [
"Global vault token account."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
},
{
"name": "withdrawQueue",
"writable": true,
"docs": [
"Withdraw queue account."
]
},
{
"name": "tokenProgram",
"docs": [
"SPL Token program."
]
},
{
"name": "traderWallet",
"docs": [
"Trader wallet receiving the withdrawal."
]
},
{
"name": "destinationTokenAccount",
"writable": true,
"docs": [
"Destination token account for withdrawn funds."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader state PDA."
]
}
],
"args": []
},
{
"name": "CreatePermission",
"docs": [
"Creates a new permission account PDA for delegating authority."
],
"discriminator": [
190,
182,
26,
164,
156,
221,
8,
0
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "payer",
"writable": true,
"signer": true,
"docs": [
"Payer for account creation rent."
]
},
{
"name": "permission",
"writable": true,
"docs": [
"Permission account PDA to create."
]
},
{
"name": "authority",
"docs": [
"Authority granting the permission."
]
},
{
"name": "user",
"docs": [
"User receiving the permission."
]
},
{
"name": "systemProgram",
"docs": [
"System program."
],
"address": "11111111111111111111111111111111"
}
],
"args": []
},
{
"name": "DelegateTrader",
"docs": [
"Delegates position authority of a trader account to another address."
],
"discriminator": [
3,
164,
192,
106,
119,
91,
122,
224
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "traderWallet",
"signer": true,
"docs": [
"Current trader authority."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader state PDA to delegate."
]
},
{
"name": "newPositionAuthority",
"docs": [
"New position authority address."
]
}
],
"args": []
},
{
"name": "RevokePermission",
"docs": [
"Revokes permission flags from a permission account."
],
"discriminator": [
116,
82,
33,
181,
121,
144,
249,
227
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Root authority revoking the permission."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Optional permission account for delegation."
]
},
{
"name": "targetPermission",
"writable": true,
"docs": [
"Permission account to revoke flags from."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "RevokePermissionParams"
}
}
}
]
},
{
"name": "SetPermission",
"docs": [
"Sets permission flags on a permission account."
],
"discriminator": [
70,
126,
41,
194,
245,
189,
128,
8
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "permission",
"writable": true,
"docs": [
"Permission account to modify."
]
},
{
"name": "authority",
"signer": true,
"docs": [
"Authority owning the permission."
]
},
{
"name": "user",
"docs": [
"User the permission applies to."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "SetPermissionInstruction"
}
}
}
]
},
{
"name": "SetTraderCapabilitiesDelegated",
"docs": [
"Sets trader capability flags via a delegated permission."
],
"discriminator": [
207,
170,
17,
21,
53,
35,
88,
151
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Authority with trader onboarding delegation."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account for delegation validation."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader state PDA."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "TraderCapabilityUpdate"
}
}
}
]
},
{
"name": "SetTraderCapability",
"docs": [
"Sets trader capability flags via risk authority."
],
"discriminator": [
191,
72,
45,
190,
214,
250,
182,
213
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Risk authority."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account for delegation validation."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader state PDA."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "TraderCapabilityUpdate"
}
}
}
]
},
{
"name": "SyncParentToChild",
"docs": [
"Syncs capabilities from a parent trader account to a child (isolated margin) account."
],
"discriminator": [
175,
137,
217,
11,
235,
39,
150,
19
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "traderWallet",
"docs": [
"Trader wallet owning both accounts."
]
},
{
"name": "parentTraderAccount",
"docs": [
"Parent (cross margin) trader account."
]
},
{
"name": "childTraderAccount",
"writable": true,
"docs": [
"Child (isolated margin) trader account to sync."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
}
],
"args": []
},
{
"name": "TransferCollateral",
"docs": [
"Transfers collateral between two trader accounts owned by the same wallet."
],
"discriminator": [
157,
163,
63,
27,
242,
72,
251,
97
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "traderWallet",
"signer": true,
"docs": [
"Trader wallet owning both accounts."
]
},
{
"name": "srcTraderAccount",
"writable": true,
"docs": [
"Source trader account."
]
},
{
"name": "dstTraderAccount",
"writable": true,
"docs": [
"Destination trader account."
]
},
{
"name": "perpAssetMap",
"docs": [
"Perp asset map for margin calculations."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "TransferCollateralInstruction"
}
}
}
]
},
{
"name": "TransferCollateralChildToParent",
"docs": [
"Transfers collateral from a child (isolated margin) account to its parent (cross margin) account."
],
"discriminator": [
51,
100,
177,
115,
139,
135,
247,
139
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "traderWallet",
"docs": [
"Trader wallet owning both accounts."
]
},
{
"name": "childTraderAccount",
"writable": true,
"docs": [
"Child (isolated margin) trader account."
]
},
{
"name": "parentTraderAccount",
"writable": true,
"docs": [
"Parent (cross margin) trader account."
]
},
{
"name": "perpAssetMap",
"docs": [
"Perp asset map for margin calculations."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
}
],
"args": []
},
{
"name": "UncrossCrank",
"docs": [
"Cranks the orderbook to uncross any crossed orders."
],
"discriminator": [
196,
121,
94,
253,
139,
42,
252,
147
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"writable": true,
"docs": [
"Global configuration PDA."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map account."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Market orderbook account."
]
},
{
"name": "splines",
"writable": true,
"docs": [
"Spline collection account."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "UncrossCrankParams"
}
}
}
]
},
{
"name": "ClearExpiredOrders",
"docs": [
"Clears expired orders from the orderbook as a maintenance crank operation."
],
"discriminator": [
128,
95,
102,
169,
146,
205,
248,
94
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"writable": true,
"docs": [
"Global configuration PDA."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map tracking positions and risk metrics."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Market orderbook account that stores resting liquidity."
]
},
{
"name": "splines",
"writable": true,
"docs": [
"Spline collection PDA that tracks market-making programs for this market."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "ClearExpiredOrdersParams"
}
}
}
]
},
{
"name": "CreateConditionalOrdersAccount",
"docs": [
"Allocates the trader's conditional-orders PDA so further conditional-order placements can store entries."
],
"discriminator": [
201,
6,
112,
61,
231,
15,
57,
248
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA holding exchange-wide parameters."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "payer",
"writable": true,
"signer": true,
"docs": [
"Funds the rent for the new conditional-orders PDA."
]
},
{
"name": "traderWallet",
"docs": [
"Trader authority wallet; not signed here so a sponsorship server may pay rent."
]
},
{
"name": "traderAccount",
"docs": [
"Trader state PDA whose key seeds the conditional-orders PDA."
]
},
{
"name": "traderConditionalOrders",
"writable": true,
"docs": [
"Empty account that will be initialised as the conditional-orders collection."
]
},
{
"name": "systemProgram",
"docs": [
"System program for PDA creation."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "CreateConditionalOrdersAccountInstruction"
}
}
}
]
},
{
"name": "PlacePositionConditionalOrder",
"docs": [
"Places a position-based conditional order that fires when mark price crosses the configured trigger."
],
"discriminator": [
65,
108,
83,
129,
76,
193,
92,
143
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA holding exchange-wide parameters."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "payer",
"writable": true,
"signer": true,
"docs": [
"Pays for any account growth required by the conditional-orders PDA."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader state PDA; updated as part of risk validation."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map account."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Market orderbook account."
]
},
{
"name": "splines",
"writable": true,
"docs": [
"Spline collection PDA for the market."
]
},
{
"name": "traderWallet",
"signer": true,
"docs": [
"Trader authority wallet authorising the conditional order."
]
},
{
"name": "traderConditionalOrders",
"writable": true,
"docs": [
"Trader's conditional-orders collection PDA."
]
},
{
"name": "systemProgram",
"docs": [
"System program (used for any required reallocations)."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "PlacePositionConditionalOrderInstruction"
}
}
}
]
},
{
"name": "CancelConditionalOrder",
"docs": [
"Cancels one or both trigger-order halves of a conditional-order entry."
],
"discriminator": [
82,
104,
25,
51,
248,
54,
66,
184
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA holding exchange-wide parameters."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader state PDA owning the conditional order."
]
},
{
"name": "traderWallet",
"signer": true,
"docs": [
"Trader authority wallet."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Market orderbook account."
]
},
{
"name": "traderConditionalOrders",
"writable": true,
"docs": [
"Trader's conditional-orders collection PDA."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "CancelConditionalOrderInstruction"
}
}
}
]
},
{
"name": "PlaceAttachedConditionalOrder",
"docs": [
"Attaches a conditional order to an existing resting limit order so it fires when that order is filled."
],
"discriminator": [
43,
117,
136,
128,
72,
150,
101,
122
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA holding exchange-wide parameters."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader state PDA owning the parent resting order."
]
},
{
"name": "traderWallet",
"signer": true,
"docs": [
"Trader authority wallet."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Market orderbook account containing the parent limit order."
]
},
{
"name": "traderConditionalOrders",
"writable": true,
"docs": [
"Trader's conditional-orders collection PDA."
]
},
{
"name": "payer",
"writable": true,
"signer": true,
"docs": [
"Pays for any conditional-orders PDA reallocation."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
},
{
"name": "systemProgram",
"docs": [
"System program for PDA reallocation."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "PlaceAttachedConditionalOrderInstruction"
}
}
}
]
},
{
"name": "PlaceLimitOrderWithConditionals",
"docs": [
"Places a limit order and atomically attaches greater/less-than trigger orders to the resulting resting order."
],
"discriminator": [
95,
45,
68,
168,
232,
218,
210,
92
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"writable": true,
"docs": [
"Global configuration PDA holding exchange-wide parameters."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "traderWallet",
"signer": true,
"docs": [
"Trader authority wallet."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader state PDA."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map account."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Market orderbook account."
]
},
{
"name": "splines",
"writable": true,
"docs": [
"Spline collection PDA."
]
},
{
"name": "payer",
"writable": true,
"signer": true,
"docs": [
"Pays for any conditional-orders PDA reallocation."
]
},
{
"name": "traderConditionalOrders",
"writable": true,
"docs": [
"Trader's conditional-orders collection PDA."
]
},
{
"name": "systemProgram",
"docs": [
"System program for PDA reallocation."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "PlaceLimitOrderWithConditionalsInstruction"
}
}
}
]
},
{
"name": "ExecuteConditionalOrders",
"docs": [
"Authority-driven execution of a triggered conditional order."
],
"discriminator": [
101,
214,
110,
0,
190,
226,
177,
236
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"writable": true,
"docs": [
"Global configuration PDA holding exchange-wide parameters."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Market authority (or delegate) authorised to execute conditional orders."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Optional permission/delegation PDA validated against the authority."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader state PDA."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map account."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Market orderbook account."
]
},
{
"name": "splines",
"writable": true,
"docs": [
"Spline collection PDA."
]
},
{
"name": "traderConditionalOrders",
"writable": true,
"docs": [
"Trader's conditional-orders collection PDA."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "ExecuteConditionalOrderInstruction"
}
}
}
]
},
{
"name": "PingConditionalOrders",
"docs": [
"Authority-driven sweep that activates or invalidates a trader's conditional orders based on current state."
],
"discriminator": [
135,
170,
166,
34,
208,
230,
91,
64
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"writable": true,
"docs": [
"Global configuration PDA holding exchange-wide parameters."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Market authority (or delegate) authorised to ping conditional orders."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Optional permission/delegation PDA."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Market orderbook account."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader state PDA."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
},
{
"name": "traderConditionalOrders",
"writable": true,
"docs": [
"Trader's conditional-orders collection PDA."
]
}
],
"args": []
},
{
"name": "CancelAllPlusConditional",
"docs": [
"Cancels every resting order for a trader on a market and clears the matching conditional orders."
],
"discriminator": [
142,
173,
238,
126,
79,
19,
53,
103
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"writable": true,
"docs": [
"Global configuration PDA holding exchange-wide parameters."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "traderWallet",
"signer": true,
"docs": [
"Trader authority wallet."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader state PDA."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map account."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer account."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Market orderbook account."
]
},
{
"name": "splines",
"writable": true,
"docs": [
"Spline collection PDA."
]
},
{
"name": "traderConditionalOrders",
"writable": true,
"docs": [
"Trader's conditional-orders collection PDA."
]
}
],
"args": []
},
{
"name": "MarketClosedForceCancelAll",
"docs": [
"Force cancels all open orders and conditional orders for a trader after a market has closed."
],
"discriminator": [
229,
101,
143,
249,
150,
175,
175,
219
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Market authority or market-management delegate."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader account PDA that holds position and order state."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map account used for risk and market metadata validation."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index header account; trailing arena accounts may follow in the transaction."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer header account; trailing arena accounts may follow in the transaction."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Market orderbook account that stores resting liquidity."
]
},
{
"name": "splines",
"writable": true,
"docs": [
"Spline collection account for this market."
]
},
{
"name": "traderConditionalOrders",
"writable": true,
"docs": [
"Optional conditional orders account for the trader; clears stop loss and trigger state when present."
]
}
],
"args": []
},
{
"name": "ForceCancelAfterHours",
"docs": [
"Force cancels orders that are invalid during commodity after-hours trading."
],
"discriminator": [
147,
13,
224,
61,
248,
234,
64,
164
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"writable": true,
"docs": [
"Global configuration PDA that stores mutable exchange-wide configuration."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader account PDA that holds position and order state."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map account used for risk and market metadata validation."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index header account; trailing arena accounts may follow in the transaction."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer header account; trailing arena accounts may follow in the transaction."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Market orderbook account that stores resting liquidity."
]
},
{
"name": "splines",
"writable": true,
"docs": [
"Spline collection account for this market."
]
}
],
"args": []
},
{
"name": "AuthorizedForceCancel",
"docs": [
"Force cancels orders under the configured cancel authority until the requested side sizes remain."
],
"discriminator": [
13,
22,
221,
234,
211,
165,
172,
2
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"writable": true,
"docs": [
"Global configuration PDA that stores mutable exchange-wide configuration."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "cancelAuthority",
"signer": true,
"docs": [
"Configured cancel authority signer."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader account PDA that holds position and order state."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map account used for risk and market metadata validation."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index header account; trailing arena accounts may follow in the transaction."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer header account; trailing arena accounts may follow in the transaction."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Market orderbook account that stores resting liquidity."
]
},
{
"name": "splines",
"writable": true,
"docs": [
"Spline collection account for this market."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "AuthorizedForceCancelParams"
}
}
}
]
},
{
"name": "AuthorizedForceCancelById",
"docs": [
"Force cancels specific bid and ask orders under the configured cancel authority."
],
"discriminator": [
122,
159,
12,
159,
144,
108,
225,
241
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"writable": true,
"docs": [
"Global configuration PDA that stores mutable exchange-wide configuration."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "cancelAuthority",
"signer": true,
"docs": [
"Configured cancel authority signer."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader account PDA that holds position and order state."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map account used for risk and market metadata validation."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index header account; trailing arena accounts may follow in the transaction."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer header account; trailing arena accounts may follow in the transaction."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Market orderbook account that stores resting liquidity."
]
},
{
"name": "splines",
"writable": true,
"docs": [
"Spline collection account for this market."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "AuthorizedForceCancelByIdParams"
}
}
}
]
},
{
"name": "ChangeMarketStatus",
"docs": [
"Changes an orderbook market status through the market authority path."
],
"discriminator": [
221,
127,
224,
41,
177,
145,
126,
8
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Market authority or market-management delegate."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Orderbook account whose market status is updated."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map used to validate and update market metadata."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "ChangeMarketStatusParams"
}
}
}
]
},
{
"name": "CreateEscrowAccount",
"docs": [
"Creates or initializes the escrow PDA for a trader wallet."
],
"discriminator": [
146,
147,
225,
47,
51,
64,
112,
1
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "payer",
"writable": true,
"signer": true,
"docs": [
"Payer funding escrow account creation."
]
},
{
"name": "traderWallet",
"docs": [
"Trader wallet that owns the escrow account."
]
},
{
"name": "traderEscrow",
"writable": true,
"docs": [
"Escrow account PDA for the trader wallet."
]
},
{
"name": "systemProgram",
"docs": [
"System program for creating the escrow account."
],
"address": "11111111111111111111111111111111"
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "CreateEscrowAccountParams"
}
}
}
]
},
{
"name": "CreateEscrowRequest",
"docs": [
"Creates an escrow request between sender and receiver trader accounts."
],
"discriminator": [
116,
164,
236,
204,
187,
132,
195,
219
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "senderWallet",
"signer": true,
"docs": [
"Sender wallet signing the escrow request."
]
},
{
"name": "senderTraderAccount",
"docs": [
"Sender trader account whose authority is validated."
]
},
{
"name": "permissionAccount",
"writable": true,
"docs": [
"Permission account authorizing delegated escrow request creation."
]
},
{
"name": "receiverWallet",
"docs": [
"Receiver wallet that owns the escrow account."
]
},
{
"name": "receiverTraderAccount",
"docs": [
"Receiver trader account whose authority is validated."
]
},
{
"name": "receiverEscrow",
"writable": true,
"docs": [
"Receiver escrow account holding pending requests."
]
},
{
"name": "perpAssetMap",
"docs": [
"Perp asset map used for margin validation."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index header account; trailing arena accounts may follow in the transaction."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer header account; trailing arena accounts may follow in the transaction."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "CreateEscrowRequestParams"
}
}
}
]
},
{
"name": "AcceptEscrowRequest",
"docs": [
"Accepts a pending escrow request and applies its transfer actions."
],
"discriminator": [
182,
41,
62,
227,
228,
175,
22,
137
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "senderWallet",
"docs": [
"Sender wallet for the pending escrow request."
]
},
{
"name": "senderTraderAccount",
"writable": true,
"docs": [
"Sender trader account affected by accepted escrow actions."
]
},
{
"name": "receiverWallet",
"signer": true,
"docs": [
"Receiver wallet accepting the escrow request."
]
},
{
"name": "receiverTraderAccount",
"writable": true,
"docs": [
"Receiver trader account affected by accepted escrow actions."
]
},
{
"name": "receiverEscrow",
"writable": true,
"docs": [
"Receiver escrow account containing the pending request."
]
},
{
"name": "perpAssetMap",
"docs": [
"Perp asset map used for margin validation."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index header account; trailing arena accounts may follow in the transaction."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer header account; trailing arena accounts may follow in the transaction."
]
}
],
"args": []
},
{
"name": "CancelEscrowRequest",
"docs": [
"Cancels a pending escrow request by sequence number."
],
"discriminator": [
202,
26,
163,
239,
32,
8,
85,
2
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "signerWallet",
"signer": true,
"docs": [
"Sender or receiver wallet authorized to cancel the escrow request."
]
},
{
"name": "receiverWallet",
"docs": [
"Receiver wallet that owns the escrow account."
]
},
{
"name": "receiverEscrow",
"writable": true,
"docs": [
"Receiver escrow account containing the request."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "CancelEscrowRequestParams"
}
}
}
]
},
{
"name": "UpsertEscrowRequest",
"docs": [
"Creates or increments a cash escrow request for a sender and receiver pair."
],
"discriminator": [
213,
56,
86,
93,
34,
103,
160,
99
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "senderWallet",
"signer": true,
"docs": [
"Sender wallet signing the escrow upsert."
]
},
{
"name": "senderTraderAccount",
"docs": [
"Sender trader account whose authority is validated."
]
},
{
"name": "permissionAccount",
"writable": true,
"docs": [
"Permission account authorizing delegated escrow request creation."
]
},
{
"name": "receiverWallet",
"docs": [
"Receiver wallet that owns the escrow account."
]
},
{
"name": "receiverTraderAccount",
"docs": [
"Receiver trader account whose authority is validated."
]
},
{
"name": "receiverEscrow",
"writable": true,
"docs": [
"Receiver escrow account holding pending requests."
]
},
{
"name": "perpAssetMap",
"docs": [
"Perp asset map used for margin validation."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index header account; trailing arena accounts may follow in the transaction."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer header account; trailing arena accounts may follow in the transaction."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "UpsertEscrowRequestParams"
}
}
}
]
},
{
"name": "RegisterSpline",
"docs": [
"Registers a trader as an active spline participant for a market."
],
"discriminator": [
30,
176,
160,
79,
252,
117,
241,
58
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Market authority or market-management delegate."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
},
{
"name": "payerAccount",
"writable": true,
"signer": true,
"docs": [
"Payer funding any required spline account growth."
]
},
{
"name": "splineAccount",
"writable": true,
"docs": [
"Spline collection account for the market."
]
},
{
"name": "marketAccount",
"docs": [
"Market orderbook account for the spline."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index header account; trailing arena accounts may follow in the transaction."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer header account; trailing arena accounts may follow in the transaction."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader account being registered as a spline participant."
]
},
{
"name": "perpAssetMap",
"docs": [
"Perp asset map used for isolated-only validation."
]
},
{
"name": "systemProgram",
"docs": [
"System program for rent transfers or account growth."
],
"address": "11111111111111111111111111111111"
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "RegisterSplineParams"
}
}
}
]
},
{
"name": "UpdateCommodityMarketState",
"docs": [
"Updates commodity market state and related mark price inputs."
],
"discriminator": [
45,
245,
97,
184,
200,
147,
142,
73
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Market authority or commodity-market-management delegate."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map account updated with commodity market state."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index header account; trailing arena accounts may follow in the transaction."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer header account; trailing arena accounts may follow in the transaction."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Orderbook account for the commodity market."
]
},
{
"name": "splines",
"writable": true,
"docs": [
"Spline collection account for the commodity market."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "UpdateCommodityMarketStateInstruction"
}
}
}
]
},
{
"name": "UpdatePerpIsolatedOnly",
"docs": [
"Updates the isolated-only flag for a perp asset."
],
"discriminator": [
101,
56,
163,
250,
73,
35,
115,
91
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Risk authority."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map account whose metadata is updated by this instruction."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "UpdatePerpIsolatedOnlyInstruction"
}
}
}
]
},
{
"name": "UpdatePerpLeverageTiers",
"docs": [
"Updates leverage tiers for a perp asset."
],
"discriminator": [
110,
223,
244,
99,
34,
83,
97,
121
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Risk authority."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map account whose metadata is updated by this instruction."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "UpdatePerpLeverageTiersInstruction"
}
}
}
]
},
{
"name": "UpdatePerpOpenInterestCap",
"docs": [
"Updates open interest cap for a perp asset."
],
"discriminator": [
75,
137,
116,
5,
80,
123,
107,
177
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Risk authority."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map account whose metadata is updated by this instruction."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "UpdatePerpOpenInterestCapInstruction"
}
}
}
]
},
{
"name": "UpdatePerpUPnlRiskFactor",
"docs": [
"Updates uPnL risk factor for a perp asset."
],
"discriminator": [
113,
214,
226,
254,
147,
9,
94,
220
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Risk authority."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map account whose metadata is updated by this instruction."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "UpdatePerpUPnlRiskFactorInstruction"
}
}
}
]
},
{
"name": "UpdatePerpUPnlRiskFactorForWithdrawals",
"docs": [
"Updates withdrawal uPnL risk factor for a perp asset."
],
"discriminator": [
252,
32,
10,
88,
238,
245,
104,
59
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Risk authority."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map account whose metadata is updated by this instruction."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "UpdatePerpUPnlRiskFactorForWithdrawalsInstruction"
}
}
}
]
},
{
"name": "UpdatePerpCancelRiskFactor",
"docs": [
"Updates cancel-order risk factor for a perp asset."
],
"discriminator": [
88,
6,
185,
205,
118,
28,
129,
242
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Risk authority."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map account whose metadata is updated by this instruction."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "UpdatePerpCancelRiskFactorInstruction"
}
}
}
]
},
{
"name": "UpdatePerpMarkPriceParameters",
"docs": [
"Updates mark price calculation parameters for a perp asset."
],
"discriminator": [
254,
86,
13,
94,
43,
224,
160,
226
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Risk authority."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map account whose metadata is updated by this instruction."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "UpdatePerpMarkPriceParametersInstruction"
}
}
}
]
},
{
"name": "UpdateTraderFees",
"docs": [
"Updates fee override multipliers for a trader."
],
"discriminator": [
182,
233,
57,
205,
174,
168,
73,
237
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Market authority or fee-update delegate."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader account whose fee overrides are updated."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index account; trailing arena accounts may follow in the transaction."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "UpdateTraderFeesParams"
}
}
}
]
},
{
"name": "UpdateMarketFees",
"docs": [
"Updates default fee parameters for a market orderbook."
],
"discriminator": [
187,
36,
121,
171,
131,
19,
243,
117
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Market authority."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
},
{
"name": "orderbookAccount",
"writable": true,
"docs": [
"Orderbook account whose default fee parameters are updated."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "UpdateMarketFeesParams"
}
}
}
]
},
{
"name": "UpdateWithdrawRateLimits",
"docs": [
"Updates withdrawal throttle budget and replenishment parameters."
],
"discriminator": [
187,
246,
146,
182,
141,
216,
36,
1
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Root authority or withdrawal-suspension delegate."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
},
{
"name": "withdrawQueueAccount",
"writable": true,
"docs": [
"Withdraw queue account whose throttle settings are updated."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "UpdateWithdrawRateLimitsParams"
}
}
}
]
},
{
"name": "UpdateWithdrawParameters",
"docs": [
"Updates withdraw cooldown and fee parameters."
],
"discriminator": [
87,
209,
225,
132,
91,
151,
249,
132
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"writable": true,
"docs": [
"Global configuration PDA that stores mutable exchange-wide configuration."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Risk authority."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
},
{
"name": "withdrawQueueAccount",
"writable": true,
"docs": [
"Withdraw queue account whose fee parameters are updated."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "UpdateWithdrawParametersParams"
}
}
}
]
},
{
"name": "UpdateAuthorities",
"docs": [
"Updates subordinate authorities stored in global configuration."
],
"discriminator": [
175,
228,
137,
18,
175,
70,
220,
165
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"writable": true,
"docs": [
"Global configuration PDA that stores mutable exchange-wide configuration."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Root authority or permitted delegate."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "UpdateAuthoritiesParams"
}
}
}
]
},
{
"name": "InitializeArena",
"docs": [
"Initializes a new global trader index or active trader buffer arena account."
],
"discriminator": [
11,
37,
221,
1,
205,
120,
25,
230
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Risk authority or arena-management delegate."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
},
{
"name": "headerAccount",
"writable": true,
"docs": [
"Arena family header account."
]
},
{
"name": "newArenaAccount",
"writable": true,
"docs": [
"New arena account to create and initialize."
]
},
{
"name": "systemProgram",
"docs": [
"System program for creating the arena account."
],
"address": "11111111111111111111111111111111"
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "InitializeArenaParams"
}
}
}
]
},
{
"name": "RemoveEmptyArena",
"docs": [
"Removes an empty active trader buffer arena account."
],
"discriminator": [
155,
65,
162,
79,
211,
221,
197,
168
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Risk authority or arena-management delegate."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
},
{
"name": "headerAccount",
"writable": true,
"docs": [
"Active trader buffer header account."
]
},
{
"name": "removedAccount",
"writable": true,
"docs": [
"Empty arena account to remove."
]
},
{
"name": "systemProgram",
"docs": [
"System program."
],
"address": "11111111111111111111111111111111"
}
],
"args": []
},
{
"name": "RemoveOracle",
"docs": [
"Removes one or more oracle public keys from the perp asset map."
],
"discriminator": [
60,
93,
51,
197,
182,
42,
170,
26
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Oracle authority or oracle-update delegate."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map account whose metadata is updated by this instruction."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "RemoveOracleInstruction"
}
}
}
]
},
{
"name": "RemoveAllOracles",
"docs": [
"Removes all oracle public keys for a perp asset."
],
"discriminator": [
164,
64,
91,
210,
137,
189,
135,
38
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Root authority."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map account whose metadata is updated by this instruction."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "RemoveAllOraclesInstruction"
}
}
}
]
},
{
"name": "SetPermissionDelegated",
"docs": [
"Sets a whitelisted permission on a target permission account through delegated authority."
],
"discriminator": [
35,
25,
57,
68,
255,
26,
161,
229
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Authority with permission to set delegated permissions."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
},
{
"name": "targetPermission",
"writable": true,
"docs": [
"Permission account whose flags are updated."
]
},
{
"name": "from",
"docs": [
"Authority seed of the target permission PDA."
]
},
{
"name": "to",
"docs": [
"User seed of the target permission PDA."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "SetPermissionInstruction"
}
}
}
]
},
{
"name": "DeactivateSpline",
"docs": [
"Deactivates a trader spline for a market."
],
"discriminator": [
0,
254,
22,
100,
238,
197,
118,
181
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Market authority or market-management delegate."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
},
{
"name": "splineAccount",
"writable": true,
"docs": [
"Spline collection account for the market."
]
},
{
"name": "marketAccount",
"docs": [
"Market orderbook account for the spline."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index header account; trailing arena accounts may follow in the transaction."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer header account; trailing arena accounts may follow in the transaction."
]
},
{
"name": "traderAccount",
"writable": true,
"docs": [
"Trader account being deactivated as a spline participant."
]
},
{
"name": "perpAssetMap",
"docs": [
"Perp asset map used while updating trader activity."
]
},
{
"name": "systemProgram",
"docs": [
"System program."
],
"address": "11111111111111111111111111111111"
}
],
"args": []
},
{
"name": "ForceCancelStopLoss",
"docs": [
"Force cancels stop loss state for a trader after market closure."
],
"discriminator": [
114,
230,
115,
170,
66,
79,
19,
172
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Market authority or market-management delegate."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
},
{
"name": "orderbook",
"docs": [
"Closed market orderbook associated with the stop loss."
]
},
{
"name": "funder",
"writable": true,
"docs": [
"Funder account receiving reclaimed stop loss rent."
]
},
{
"name": "traderAccount",
"docs": [
"Trader account that owns the stop loss."
]
},
{
"name": "stopLossAccount",
"writable": true,
"docs": [
"Stop loss account to close."
]
},
{
"name": "systemProgram",
"docs": [
"System program."
],
"address": "11111111111111111111111111111111"
}
],
"args": []
},
{
"name": "UpdateFundingParameters",
"docs": [
"Updates funding parameters for a perp asset."
],
"discriminator": [
101,
195,
104,
104,
116,
20,
223,
188
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Market authority."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map account whose metadata is updated by this instruction."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "UpdateFundingParametersInstruction"
}
}
}
]
},
{
"name": "CloseMarket",
"docs": [
"Closes a market and records its finalized mark price."
],
"discriminator": [
88,
154,
248,
186,
48,
14,
123,
244
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Market authority."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map account updated with finalized mark price."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Orderbook account whose status is moved to Closed."
]
}
],
"args": []
},
{
"name": "TombstoneMarket",
"docs": [
"Tombstones a closed market after open interest, orders, and splines are cleared."
],
"discriminator": [
90,
177,
17,
88,
85,
11,
177,
96
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Market authority."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Closed orderbook account to tombstone."
]
},
{
"name": "perpAssetMap",
"docs": [
"Perp asset map account used to verify open interest is zero."
]
},
{
"name": "splineCollection",
"docs": [
"Spline collection account used to verify no active splines remain."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index header account; trailing arena accounts may follow in the transaction."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer header account; trailing arena accounts may follow in the transaction."
]
}
],
"args": []
},
{
"name": "SettleClosedMarketPosition",
"docs": [
"Settles matching long and short trader positions in a closed market."
],
"discriminator": [
27,
222,
221,
233,
136,
15,
254,
210
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Market authority or market-management delegate."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map account containing finalized mark price."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Closed orderbook account for the market."
]
},
{
"name": "globalTraderIndex",
"writable": true,
"docs": [
"Global trader index header account; trailing arena accounts may follow in the transaction."
]
},
{
"name": "activeTraderBuffer",
"writable": true,
"docs": [
"Active trader buffer header account; trailing arena accounts may follow in the transaction."
]
},
{
"name": "longTrader",
"writable": true,
"docs": [
"Trader account with a long position to settle."
]
},
{
"name": "shortTrader",
"writable": true,
"docs": [
"Trader account with a short position to settle."
]
}
],
"args": []
},
{
"name": "DeleteTombstonedMarket",
"docs": [
"Deletes a tombstoned market and reclaims orderbook and spline rent."
],
"discriminator": [
146,
17,
252,
116,
222,
113,
52,
102
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "globalConfiguration",
"docs": [
"Global configuration PDA used to validate exchange-wide account relationships."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "authority",
"signer": true,
"docs": [
"Market authority."
]
},
{
"name": "maybePermissionAccount",
"writable": true,
"docs": [
"Permission account used for delegated authority validation."
]
},
{
"name": "lamportRecipient",
"writable": true,
"docs": [
"Account receiving reclaimed lamports."
]
},
{
"name": "perpAssetMap",
"writable": true,
"docs": [
"Perp asset map account from which the market metadata is removed."
]
},
{
"name": "orderbook",
"writable": true,
"docs": [
"Tombstoned orderbook account to delete."
]
},
{
"name": "splineCollection",
"writable": true,
"docs": [
"Spline collection account to delete."
]
}
],
"args": []
},
{
"name": "UpdateSplinePositionLimitsConfig",
"docs": [
"Updates position-size limits and leverage decrease configuration for a spline trader."
],
"discriminator": [
96,
60,
5,
112,
19,
144,
13,
107
],
"accounts": [
{
"name": "phoenixProgram",
"docs": [
"Phoenix Eternal program id; logged to assert the correct executable is invoked."
]
},
{
"name": "phoenixLogAuthority",
"docs": [
"Phoenix log authority PDA used for emitting on-chain market events."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
108,
111,
103
]
}
],
"program": {
"kind": "const",
"value": [
206,
112,
214,
251,
86,
142,
67,
235,
252,
150,
74,
144,
21,
108,
59,
233,
86,
59,
8,
23,
6,
124,
171,
105,
78,
188,
131,
239,
221,
179,
126,
134
]
}
}
},
{
"name": "signerAccount",
"signer": true,
"docs": [
"Trader or authority signer updating spline position limits."
]
},
{
"name": "traderAccount",
"docs": [
"Trader account associated with the spline."
]
},
{
"name": "splineAccount",
"writable": true,
"docs": [
"Spline collection account holding the trader spline."
]
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "UpdateSplinePositionLimitsConfigParams"
}
}
}
]
}
],
"accounts": [
{
"name": "GlobalConfiguration",
"discriminator": [
37,
146,
212,
210,
47,
136,
111,
20
],
"docs": [
"Global exchange configuration account derived from the \"global\" PDA seed.",
"Stores configured authorities, canonical collateral mint, global vault, PerpAssetMap, GlobalTraderIndex, ActiveTraderBuffer, and WithdrawQueue addresses."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
]
}
},
{
"name": "OrderbookHeader",
"discriminator": [
65,
1,
40,
241,
166,
14,
86,
188
],
"docs": [
"Market orderbook account header for a perpetual market.",
"Market orderbooks are explicit market accounts created during AddMarket and recorded in PerpAssetMap metadata; they are not PDAs."
]
},
{
"name": "SplineCollectionHeader",
"discriminator": [
192,
245,
182,
191,
88,
37,
79,
48
],
"docs": [
"Spline collection account header derived from [\"spline\", orderbook].",
"Stores spline market-making state for one market."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
115,
112,
108,
105,
110,
101
]
},
{
"kind": "account",
"path": "marketAccount",
"account": "OrderbookHeader"
}
]
}
},
{
"name": "Trader",
"discriminator": [
41,
97,
73,
105,
110,
214,
112,
9
],
"docs": [
"Trader account derived from [\"trader\", authority, trader_pda_index, trader_subaccount_index].",
"Stores collateral, positions, open orders, and per-trader risk state."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
116,
114,
97,
100,
101,
114
]
},
{
"kind": "account",
"path": "authority"
},
{
"kind": "arg",
"path": "traderPdaIndex"
},
{
"kind": "arg",
"path": "traderSubaccountIndex"
}
]
}
},
{
"name": "ActiveTraderBufferHeader",
"discriminator": [
192,
255,
205,
165,
80,
154,
131,
5
],
"docs": [
"Header arena for the active trader buffer derived from [\"active_trader_buffer\", 0u16]."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
97,
99,
116,
105,
118,
101,
95,
116,
114,
97,
100,
101,
114,
95,
98,
117,
102,
102,
101,
114
]
},
{
"kind": "const",
"value": [
0,
0
]
}
]
}
},
{
"name": "ActiveTraderBufferArenaHeader",
"discriminator": [
6,
249,
57,
137,
82,
121,
191,
107
],
"docs": [
"Additional active trader buffer arena derived from [\"active_trader_buffer\", arena_index]."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
97,
99,
116,
105,
118,
101,
95,
116,
114,
97,
100,
101,
114,
95,
98,
117,
102,
102,
101,
114
]
},
{
"kind": "arg",
"path": "arenaIndex"
}
]
}
},
{
"name": "GlobalTraderIndexHeader",
"discriminator": [
145,
92,
169,
6,
5,
144,
1,
205
],
"docs": [
"Header arena for the global trader index derived from [\"global_trader_index\", 0u16]."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108,
95,
116,
114,
97,
100,
101,
114,
95,
105,
110,
100,
101,
120
]
},
{
"kind": "const",
"value": [
0,
0
]
}
]
}
},
{
"name": "GlobalTraderIndexArenaHeader",
"discriminator": [
98,
110,
179,
71,
203,
120,
200,
235
],
"docs": [
"Additional global trader index arena derived from [\"global_trader_index\", arena_index]."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108,
95,
116,
114,
97,
100,
101,
114,
95,
105,
110,
100,
101,
120
]
},
{
"kind": "arg",
"path": "arenaIndex"
}
]
}
},
{
"name": "PerpAssetMap",
"discriminator": [
142,
54,
115,
223,
124,
239,
108,
38
],
"docs": [
"Perpetual asset map account storing market metadata, risk parameters, oracle metadata, and funding state.",
"The account pubkey is stored in GlobalConfiguration rather than derived from a fixed PDA seed; it is not a PDA."
]
},
{
"name": "WithdrawQueueHeader",
"discriminator": [
125,
59,
94,
108,
171,
16,
43,
228
],
"docs": [
"Withdraw queue account storing pending withdrawals and withdrawal throttle state.",
"The account pubkey is stored in GlobalConfiguration rather than derived from a fixed PDA seed; it is not a PDA."
]
},
{
"name": "PermissionAccount",
"discriminator": [
180,
172,
109,
215,
129,
165,
97,
38
],
"docs": [
"Permission delegation account derived from [\"permission\", authority, user].",
"Stores delegated capability bits and optional expiry/usage constraints."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
112,
101,
114,
109,
105,
115,
115,
105,
111,
110
]
},
{
"kind": "account",
"path": "authority"
},
{
"kind": "account",
"path": "user"
}
]
}
},
{
"name": "StopLosses",
"discriminator": [
127,
64,
139,
143,
70,
43,
167,
152
],
"docs": [
"Stop-loss account derived from [\"stoploss\", trader_account, asset_id].",
"Stores trigger orders for one trader and market."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
115,
116,
111,
112,
108,
111,
115,
115
]
},
{
"kind": "account",
"path": "traderAccount",
"account": "Trader"
},
{
"kind": "arg",
"path": "assetId"
}
]
}
},
{
"name": "EscrowHeader",
"discriminator": [
50,
4,
48,
59,
209,
138,
251,
204
],
"docs": [
"Escrow inbox account derived from [\"escrow\", authority].",
"Stores pending escrow requests for the authority."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
101,
115,
99,
114,
111,
119
]
},
{
"kind": "account",
"path": "authority"
}
]
}
},
{
"name": "ConditionalOrderHeader",
"discriminator": [
147,
116,
229,
177,
249,
200,
146,
49
],
"docs": [
"Conditional orders account derived from [\"conditional_orders\", trader_account].",
"Stores attached and position-scoped conditional orders for a trader account."
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
99,
111,
110,
100,
105,
116,
105,
111,
110,
97,
108,
95,
111,
114,
100,
101,
114,
115
]
},
{
"kind": "account",
"path": "traderAccount",
"account": "Trader"
}
]
}
}
],
"types": [
{
"name": "OrderPacket",
"docs": [
"Serialized parameters for Phoenix order placement instructions."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "kind",
"type": {
"defined": {
"name": "OrderPacketKind"
}
}
}
]
}
},
{
"name": "OrderPacketKind",
"docs": [
"Supported order variants accepted by the Phoenix matching engine."
],
"type": {
"kind": "enum",
"variants": [
{
"name": "PostOnly",
"fields": [
{
"name": "side",
"type": {
"defined": {
"name": "Side"
}
}
},
{
"name": "priceInTicks",
"type": {
"defined": {
"name": "Ticks"
}
}
},
{
"name": "numBaseLots",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "clientOrderId",
"type": {
"array": [
"u8",
16
]
}
},
{
"name": "slide",
"type": "bool"
},
{
"name": "lastValidSlot",
"type": {
"option": "u64"
}
},
{
"name": "orderFlags",
"type": {
"defined": {
"name": "OrderFlags"
}
}
},
{
"name": "cancelExisting",
"type": "bool"
}
]
},
{
"name": "Limit",
"fields": [
{
"name": "side",
"type": {
"defined": {
"name": "Side"
}
}
},
{
"name": "priceInTicks",
"type": {
"defined": {
"name": "Ticks"
}
}
},
{
"name": "numBaseLots",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "selfTradeBehavior",
"type": {
"defined": {
"name": "SelfTradeBehavior"
}
}
},
{
"name": "matchLimit",
"type": {
"option": "u64"
}
},
{
"name": "clientOrderId",
"type": {
"array": [
"u8",
16
]
}
},
{
"name": "lastValidSlot",
"type": {
"option": "u64"
}
},
{
"name": "orderFlags",
"type": {
"defined": {
"name": "OrderFlags"
}
}
},
{
"name": "cancelExisting",
"type": "bool"
}
]
},
{
"name": "ImmediateOrCancel",
"fields": [
{
"name": "side",
"type": {
"defined": {
"name": "Side"
}
}
},
{
"name": "priceInTicks",
"type": {
"option": {
"defined": {
"name": "Ticks"
}
}
}
},
{
"name": "numBaseLots",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "numQuoteLots",
"type": {
"option": {
"defined": {
"name": "QuoteLots"
}
}
}
},
{
"name": "minBaseLotsToFill",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "minQuoteLotsToFill",
"type": {
"defined": {
"name": "QuoteLots"
}
}
},
{
"name": "selfTradeBehavior",
"type": {
"defined": {
"name": "SelfTradeBehavior"
}
}
},
{
"name": "matchLimit",
"type": {
"option": "u64"
}
},
{
"name": "clientOrderId",
"type": {
"array": [
"u8",
16
]
}
},
{
"name": "lastValidSlot",
"type": {
"option": "u64"
}
},
{
"name": "orderFlags",
"type": {
"defined": {
"name": "OrderFlags"
}
}
},
{
"name": "cancelExisting",
"type": "bool"
}
]
}
]
}
},
{
"name": "Side",
"docs": [
"Trading direction for an order."
],
"type": {
"kind": "enum",
"variants": [
{
"name": "Bid"
},
{
"name": "Ask"
}
]
}
},
{
"name": "SelfTradeBehavior",
"docs": [
"Policy for handling matches against the submitting trader's resting orders."
],
"type": {
"kind": "enum",
"variants": [
{
"name": "Abort"
},
{
"name": "CancelProvide"
},
{
"name": "DecrementTake"
}
]
}
},
{
"name": "BaseLots",
"docs": [
"Quantity wrapper representing discrete base lots."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "inner",
"type": "u64"
}
]
}
},
{
"name": "QuoteLots",
"docs": [
"Quantity wrapper representing discrete quote lots."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "inner",
"type": "u64"
}
]
}
},
{
"name": "Ticks",
"docs": [
"Discrete price unit measured in quote lots per base lot."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "inner",
"type": "u64"
}
]
}
},
{
"name": "BaseLotsPerTick",
"docs": [
"Density of liquidity per tick for spline market making."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "inner",
"type": "u64"
}
]
}
},
{
"name": "OrderFlags",
"docs": [
"Bitmask flags applied to an order (currently only the reduce-only bit is used)."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "flags",
"type": "u8"
}
]
}
},
{
"name": "OrderIds",
"docs": [
"Collection of cancel identifiers used to target specific resting orders."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "orderIds",
"type": {
"vec": {
"defined": {
"name": "CancelId"
}
}
}
}
]
}
},
{
"name": "CancelUpToInstruction",
"docs": [
"Parameters controlling cancel-up-to behaviour."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "side",
"type": {
"defined": {
"name": "Side"
}
}
},
{
"name": "numOrdersToCancel",
"type": {
"option": "u64"
}
},
{
"name": "tickLimit",
"type": {
"option": "u64"
}
}
]
}
},
{
"name": "CancelId",
"docs": [
"Identifies a resting order along with an optional hint into the orderbook."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "nodePointer",
"type": {
"defined": {
"name": "NodePointer"
}
}
},
{
"name": "orderId",
"type": {
"defined": {
"name": "FIFOOrderId"
}
}
}
]
}
},
{
"name": "FIFOOrderId",
"docs": [
"Stable identifier for a resting order composed of price ticks and sequence number."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "priceInTicks",
"type": {
"defined": {
"name": "Ticks"
}
}
},
{
"name": "orderSequenceNumber",
"type": "u64"
}
]
}
},
{
"name": "NodePointer",
"docs": [
"Pointer hint into the orderbook linked list; zero represents a null pointer."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "value",
"type": "u32"
}
]
}
},
{
"name": "Symbol",
"docs": [
"Fixed-width (16 byte) asset symbol stored as UTF-8 with trailing zero padding."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "symbolBytes",
"type": {
"array": [
"u8",
16
]
}
}
]
}
},
{
"name": "Price",
"docs": [
"Price representation composed of a mantissa (`value`) and decimal exponent (`expo`)."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "value",
"type": "u64"
},
{
"name": "expo",
"type": "u8"
}
]
}
},
{
"name": "OraclePriceUpdate",
"docs": [
"Single oracle price update targeting a specific perpetual asset."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "perpAssetId",
"type": {
"defined": {
"name": "Symbol"
}
}
},
{
"name": "newExchangePerpPrice",
"type": {
"option": {
"defined": {
"name": "Price"
}
}
}
},
{
"name": "newExchangeSpotPrice",
"type": {
"defined": {
"name": "Price"
}
}
}
]
}
},
{
"name": "UpdateOraclePricesWithOrderingInstruction",
"docs": [
"Oracle instruction payload containing ordered price updates and timestamp reset policy."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "updateTimestamp",
"type": "u64"
},
{
"name": "updates",
"type": {
"vec": {
"defined": {
"name": "OraclePriceUpdate"
}
}
}
},
{
"name": "shouldResetTimestamp",
"type": "bool"
}
]
}
},
{
"name": "UpdateSplinePriceParams",
"docs": [
"Parameters for updating a spline's mid-price."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "newMidPrice",
"type": "u64"
},
{
"name": "userUpdateSlot",
"type": {
"option": "u64"
}
},
{
"name": "refreshRegions",
"type": "bool"
}
]
}
},
{
"name": "UpdateSplinePriceParamsWithOrdering",
"docs": [
"Parameters for updating a spline's mid-price with anti-reordering protection."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "newMidPrice",
"type": "u64"
},
{
"name": "userUpdateSlot",
"type": {
"option": "u64"
}
},
{
"name": "refreshRegions",
"type": "bool"
},
{
"name": "userSequenceNumber",
"type": "u64"
},
{
"name": "clientOrderId",
"type": {
"array": [
"u8",
16
]
}
},
{
"name": "overrideSequenceNumber",
"type": "bool"
}
]
}
},
{
"name": "DepositFundsInstruction",
"docs": [
"Parameters for depositing collateral into the global vault."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "amount",
"type": "u64"
}
]
}
},
{
"name": "RegisterTraderParams",
"docs": [
"Parameters for registering a new trader account."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "maxPositions",
"type": "u64"
},
{
"name": "traderPdaIndex",
"type": "u8"
},
{
"name": "traderSubaccountIndex",
"type": "u8"
}
]
}
},
{
"name": "LiquidationParams",
"docs": [
"Parameters for liquidating a trader's position via market order."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "assetMint",
"type": "pubkey"
},
{
"name": "liquidationSize",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "liquidationPrice",
"type": {
"defined": {
"name": "Ticks"
}
}
},
{
"name": "fillOrKill",
"type": "bool"
}
]
}
},
{
"name": "TransferRequest",
"docs": [
"Transfer payload describing how many base lots of an asset should move from the liquidatee to the liquidator."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "assetId",
"type": "u64"
},
{
"name": "amount",
"type": {
"defined": {
"name": "BaseLots"
}
}
}
]
}
},
{
"name": "LiquidationTransferParams",
"docs": [
"Parameters controlling liquidation transfers between traders."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "transferRequests",
"type": {
"vec": {
"defined": {
"name": "TransferRequest"
}
}
}
},
{
"name": "executeAllTransfers",
"type": "bool"
}
]
}
},
{
"name": "ClosePositionsParams",
"docs": [
"Parameters for closing matched positions between at-loss and in-profit traders."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "assetId",
"type": "u64"
},
{
"name": "amount",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "atLossCloseValue",
"type": {
"option": {
"defined": {
"name": "QuoteLots"
}
}
}
},
{
"name": "inProfitCloseValue",
"type": {
"option": {
"defined": {
"name": "QuoteLots"
}
}
}
}
]
}
},
{
"name": "MultipleOrderPacket",
"docs": [
"Batch order packet for placing multiple post-only limit orders in a single transaction."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "bids",
"type": {
"vec": {
"defined": {
"name": "CondensedOrder"
}
}
}
},
{
"name": "asks",
"type": {
"vec": {
"defined": {
"name": "CondensedOrder"
}
}
}
},
{
"name": "clientOrderId",
"type": {
"option": {
"array": [
"u8",
16
]
}
}
},
{
"name": "slide",
"type": "bool"
}
]
}
},
{
"name": "CondensedOrder",
"docs": [
"Condensed order representation for batch order placement (price, size, and optional TiF)."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "priceInTicks",
"type": "u64"
},
{
"name": "sizeInBaseLots",
"type": "u64"
},
{
"name": "lastValidSlot",
"type": {
"option": "u64"
}
}
]
}
},
{
"name": "WithdrawFundsInstruction",
"type": {
"kind": "struct",
"fields": [
{
"name": "amount",
"type": "u64",
"docs": [
"Amount in quote lots to withdraw."
]
}
]
}
},
{
"name": "UpdateSplineParametersParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "bidRegions",
"type": {
"vec": {
"defined": {
"name": "TickRegionParams"
}
}
}
},
{
"name": "askRegions",
"type": {
"vec": {
"defined": {
"name": "TickRegionParams"
}
}
}
},
{
"name": "refreshRegions",
"type": "bool"
}
]
}
},
{
"name": "UpdateSplineParametersParamsWithOrdering",
"type": {
"kind": "struct",
"fields": [
{
"name": "bidRegions",
"type": {
"vec": {
"defined": {
"name": "TickRegionParams"
}
}
}
},
{
"name": "askRegions",
"type": {
"vec": {
"defined": {
"name": "TickRegionParams"
}
}
}
},
{
"name": "refreshRegions",
"type": "bool"
},
{
"name": "userSequenceNumber",
"type": "u64"
},
{
"name": "clientOrderId",
"type": {
"array": [
"u8",
16
]
}
},
{
"name": "overrideSequenceNumber",
"type": "bool"
}
]
}
},
{
"name": "TickRegionParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "startOffset",
"type": {
"defined": {
"name": "Ticks"
}
}
},
{
"name": "endOffset",
"type": {
"defined": {
"name": "Ticks"
}
}
},
{
"name": "density",
"type": {
"defined": {
"name": "BaseLotsPerTick"
}
}
},
{
"name": "lifespan",
"type": "u64"
}
]
}
},
{
"name": "PlaceStopLossInstruction",
"type": {
"kind": "struct",
"fields": [
{
"name": "triggerPrice",
"type": "u64"
},
{
"name": "executionPrice",
"type": "u64"
},
{
"name": "tradeSize",
"type": "u64"
},
{
"name": "tradeSide",
"type": {
"defined": {
"name": "Side"
}
}
},
{
"name": "executionDirection",
"type": {
"defined": {
"name": "Direction"
}
}
},
{
"name": "orderKind",
"type": {
"defined": {
"name": "StopLossOrderKind"
}
}
}
]
}
},
{
"name": "ExecuteStopLossInstruction",
"type": {
"kind": "struct",
"fields": [
{
"name": "executionDirection",
"type": {
"defined": {
"name": "Direction"
}
}
}
]
}
},
{
"name": "CancelStopLossInstruction",
"type": {
"kind": "struct",
"fields": [
{
"name": "executionDirection",
"type": {
"defined": {
"name": "Direction"
}
}
}
]
}
},
{
"name": "ForceCancelRiskIncreasingParams",
"type": {
"kind": "struct",
"fields": []
}
},
{
"name": "Direction",
"type": {
"kind": "enum",
"variants": [
{
"name": "GreaterThan"
},
{
"name": "LessThan"
}
]
}
},
{
"name": "StopLossOrderKind",
"type": {
"kind": "enum",
"variants": [
{
"name": "IOC"
},
{
"name": "Limit"
}
]
}
},
{
"name": "LogHeader",
"type": {
"kind": "struct",
"fields": [
{
"name": "logBatchIndex",
"docs": [
"Index of this log batch for tracking event sequences."
],
"type": "u32"
},
{
"name": "totalEvents",
"docs": [
"Number of events serialized in this log batch."
],
"type": "u32"
}
]
}
},
{
"name": "OrderbookHeader",
"docs": [
"Fixed metadata prefix for a Phoenix Eternal orderbook account.",
"The large recent-trade buffer and dynamic orderbook bytes follow this prefix and are left as trailing account data by generic decoders."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "discriminant",
"type": "u64"
},
{
"name": "marketStatus",
"type": "u8"
},
{
"name": "baseLotsDecimals",
"type": "i8"
},
{
"name": "padding0",
"type": {
"array": [
"u8",
6
]
}
},
{
"name": "sequenceNumber",
"type": {
"defined": {
"name": "SequenceNumber"
}
}
},
{
"name": "assetId",
"type": "u32"
},
{
"name": "assetIdPadding",
"type": {
"array": [
"u8",
4
]
}
},
{
"name": "assetSymbol",
"type": {
"defined": {
"name": "Symbol"
}
}
},
{
"name": "tickSizeInQuoteLotsPerBaseLot",
"type": "u64"
},
{
"name": "orderSequenceNumber",
"type": {
"defined": {
"name": "SequenceNumber"
}
}
},
{
"name": "tradeSequenceNumber",
"type": {
"defined": {
"name": "SequenceNumber"
}
}
},
{
"name": "defaultTakerFeeMicro",
"type": "u32"
},
{
"name": "defaultMakerFeeMicro",
"type": "i32"
},
{
"name": "totalMakerQuoteLotFees",
"type": {
"defined": {
"name": "SignedQuoteLots"
}
}
},
{
"name": "totalTakerQuoteLotFees",
"type": {
"defined": {
"name": "QuoteLots"
}
}
}
]
}
},
{
"name": "SplineCollectionHeader",
"docs": [
"Fixed SplineCollectionHeader prefix for a Phoenix Eternal spline collection account.",
"Dynamic spline map bytes follow this header and are left as trailing account data by generic decoders."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "discriminant",
"type": "u64"
},
{
"name": "market",
"type": "pubkey"
},
{
"name": "assetSymbol",
"type": {
"defined": {
"name": "Symbol"
}
}
},
{
"name": "sequenceNumber",
"type": {
"defined": {
"name": "SequenceNumber"
}
}
},
{
"name": "numSplines",
"type": "u32"
},
{
"name": "numActive",
"type": "u32"
},
{
"name": "padding",
"type": {
"array": [
"u8",
32
]
}
}
]
}
},
{
"name": "TraderState",
"docs": [
"Fixed trader state embedded in the Phoenix Eternal DynamicTraderHeader."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "quoteLotCollateral",
"type": "i64"
},
{
"name": "flags",
"type": "u32"
},
{
"name": "padding",
"type": {
"array": [
"u8",
1
]
}
},
{
"name": "globalPositionSequenceNumber",
"type": "u8"
},
{
"name": "makerFeeOverrideMultiplier",
"type": "i8"
},
{
"name": "takerFeeOverrideMultiplier",
"type": "i8"
}
]
}
},
{
"name": "Trader",
"docs": [
"Fixed DynamicTraderHeader prefix for a Phoenix Eternal trader account.",
"Dynamic position map bytes follow this header and are left as trailing account data by generic decoders."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "discriminant",
"type": "u64"
},
{
"name": "sequenceNumber",
"type": {
"defined": {
"name": "SequenceNumber"
}
}
},
{
"name": "key",
"type": "pubkey"
},
{
"name": "authority",
"type": "pubkey"
},
{
"name": "traderState",
"type": {
"defined": {
"name": "TraderState"
}
}
},
{
"name": "padding0",
"type": {
"array": [
"u8",
4
]
}
},
{
"name": "withdrawQueueNode",
"type": "u32"
},
{
"name": "maxPositions",
"type": "u64"
},
{
"name": "positionAuthority",
"type": "pubkey"
},
{
"name": "numMarketsWithSplines",
"type": "u16"
},
{
"name": "traderPdaIndex",
"type": "u8"
},
{
"name": "traderSubaccountIndex",
"type": "u8"
},
{
"name": "fundingKey",
"type": "pubkey"
},
{
"name": "padding1",
"type": {
"array": [
"u8",
4
]
}
},
{
"name": "lastDepositSlot",
"type": "u64"
},
{
"name": "conditionalOrderBits",
"type": {
"array": [
"u8",
24
]
}
}
]
}
},
{
"name": "ActiveTraderBufferHeader",
"docs": [
"Discriminator-only account definition for viewer compatibility.",
"The full active trader buffer layout is not modeled in this IDL."
],
"type": {
"kind": "struct",
"fields": []
}
},
{
"name": "ActiveTraderBufferArenaHeader",
"docs": [
"Discriminator-only account definition for viewer compatibility.",
"The full active trader buffer arena layout is not modeled in this IDL."
],
"type": {
"kind": "struct",
"fields": []
}
},
{
"name": "GlobalTraderIndexHeader",
"docs": [
"Discriminator-only account definition for viewer compatibility.",
"The full global trader index layout is not modeled in this IDL."
],
"type": {
"kind": "struct",
"fields": []
}
},
{
"name": "GlobalTraderIndexArenaHeader",
"docs": [
"Discriminator-only account definition for viewer compatibility.",
"The full global trader index arena layout is not modeled in this IDL."
],
"type": {
"kind": "struct",
"fields": []
}
},
{
"name": "GlobalConfiguration",
"type": {
"kind": "struct",
"fields": [
{
"name": "discriminant",
"type": "u64"
},
{
"name": "accountKey",
"type": "pubkey"
},
{
"name": "rootAuthority",
"type": "pubkey"
},
{
"name": "riskAuthority",
"type": "pubkey"
},
{
"name": "marketAuthority",
"type": "pubkey"
},
{
"name": "oracleAuthority",
"type": "pubkey"
},
{
"name": "successorAuthority",
"type": "pubkey"
},
{
"name": "adlAuthority",
"type": "pubkey"
},
{
"name": "cancelAuthority",
"type": "pubkey"
},
{
"name": "backstopAuthority",
"type": "pubkey"
},
{
"name": "canonicalTokenMintKey",
"type": "pubkey"
},
{
"name": "globalVaultKey",
"type": "pubkey"
},
{
"name": "perpAssetMapKey",
"type": "pubkey"
},
{
"name": "globalTraderIndexHeaderKey",
"type": "pubkey"
},
{
"name": "activeTraderBufferHeaderKey",
"type": "pubkey"
},
{
"name": "totalQuoteLotFees",
"type": {
"defined": {
"name": "QuoteLots"
}
}
},
{
"name": "unclaimedQuoteLotFees",
"type": {
"defined": {
"name": "QuoteLots"
}
}
},
{
"name": "withdrawQueueKey",
"type": "pubkey"
},
{
"name": "exchangeStatus",
"type": "u8"
},
{
"name": "quoteDecimals",
"type": "u8"
},
{
"name": "withdrawalMarginFactorBps",
"type": "u16"
},
{
"name": "padding0",
"type": {
"array": [
"u8",
4
]
}
},
{
"name": "padding1",
"type": {
"array": [
"u64",
32
]
}
},
{
"name": "padding2",
"type": {
"array": [
"u64",
32
]
}
},
{
"name": "padding3",
"type": {
"array": [
"u64",
32
]
}
},
{
"name": "padding4",
"type": {
"array": [
"u64",
32
]
}
},
{
"name": "padding5",
"type": {
"array": [
"u64",
32
]
}
},
{
"name": "padding6",
"type": {
"array": [
"u64",
32
]
}
},
{
"name": "padding7",
"type": {
"array": [
"u64",
32
]
}
},
{
"name": "padding8",
"type": {
"array": [
"u64",
32
]
}
}
]
}
},
{
"name": "SequenceNumber",
"docs": [
"Pair of sequence number and last update slot."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "sequenceNumber",
"type": "u64"
},
{
"name": "lastUpdateSlot",
"type": "u64"
}
]
}
},
{
"name": "PerpAssetMetadata",
"docs": [
"Opaque fixed-size zero-copy PerpAssetMetadata payload stored inside PerpAssetMap."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "raw",
"type": {
"array": [
"u8",
1568
]
}
}
]
}
},
{
"name": "PerpAssetMapEntry",
"docs": [
"One fixed slot in the PerpAssetMap ShortMapV2 backing array."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "key",
"type": {
"defined": {
"name": "Symbol"
}
}
},
{
"name": "value",
"type": {
"defined": {
"name": "PerpAssetMetadata"
}
}
}
]
}
},
{
"name": "PerpAssetMetadataShortMapV2",
"docs": [
"Zero-copy ShortMapV2<Symbol, PerpAssetMetadata, 1024> layout."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "slotsUsed",
"type": "u32"
},
{
"name": "tombstones",
"type": "u32"
},
{
"name": "capacity",
"type": "u64"
},
{
"name": "data",
"type": {
"array": [
{
"defined": {
"name": "PerpAssetMapEntry"
}
},
1024
]
}
}
]
}
},
{
"name": "PerpAssetMap",
"docs": [
"Canonical Eternal perpetual asset map account."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "discriminant",
"type": "u64"
},
{
"name": "sequenceNumber",
"type": {
"defined": {
"name": "SequenceNumber"
}
}
},
{
"name": "numAssets",
"type": "u16"
},
{
"name": "padding0",
"type": {
"array": [
"u8",
6
]
}
},
{
"name": "metadatas",
"type": {
"defined": {
"name": "PerpAssetMetadataShortMapV2"
}
}
}
]
}
},
{
"name": "WithdrawThrottle",
"docs": [
"Fixed WithdrawThrottle payload embedded in WithdrawQueueHeader."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "maxBudget",
"type": {
"defined": {
"name": "QuoteLots"
}
}
},
{
"name": "remainingBudget",
"type": {
"defined": {
"name": "QuoteLots"
}
}
},
{
"name": "replenishAmountPerSlot",
"type": {
"defined": {
"name": "QuoteLots"
}
}
},
{
"name": "lastUpdateSlot",
"type": "u64"
}
]
}
},
{
"name": "WithdrawQueueHeader",
"docs": [
"Fixed WithdrawQueueHeader prefix for the Phoenix Eternal withdraw queue account.",
"The deque of pending withdrawal requests follows this header and is left as trailing account data by generic decoders."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "discriminant",
"type": "u64"
},
{
"name": "sequenceNumber",
"type": {
"defined": {
"name": "SequenceNumber"
}
}
},
{
"name": "withdrawThrottle",
"type": {
"defined": {
"name": "WithdrawThrottle"
}
}
},
{
"name": "totalQueuedAmount",
"type": {
"defined": {
"name": "QuoteLots"
}
}
},
{
"name": "withdrawalFee",
"type": {
"defined": {
"name": "QuoteLots"
}
}
},
{
"name": "enqueueingFee",
"type": {
"defined": {
"name": "QuoteLots"
}
}
},
{
"name": "reserved",
"type": {
"array": [
"u64",
5
]
}
}
]
}
},
{
"name": "PermissionAccount",
"docs": [
"Fixed Phoenix Eternal permission delegation account layout."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "discriminant",
"type": "u64"
},
{
"name": "authority",
"type": "pubkey"
},
{
"name": "user",
"type": "pubkey"
},
{
"name": "bump",
"type": "u8"
},
{
"name": "padding1",
"type": {
"array": [
"u8",
7
]
}
},
{
"name": "permission",
"type": "u64"
},
{
"name": "expiresAtTimestamp",
"type": "i64"
},
{
"name": "numSignerActionsRemaining",
"type": "i64"
},
{
"name": "padding2",
"type": {
"array": [
"u8",
64
]
}
}
]
}
},
{
"name": "StopLoss",
"docs": [
"One fixed trigger order slot stored inside the StopLosses account."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "sequenceNumber",
"type": "u64"
},
{
"name": "triggerPrice",
"type": {
"defined": {
"name": "Ticks"
}
}
},
{
"name": "executionPrice",
"type": {
"defined": {
"name": "Ticks"
}
}
},
{
"name": "tradeSize",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "slot",
"type": "u64"
},
{
"name": "positionSequenceNumber",
"type": "u8"
},
{
"name": "flags",
"type": "u8"
},
{
"name": "padding",
"type": {
"array": [
"u8",
6
]
}
},
{
"name": "padding2",
"type": {
"array": [
"u8",
32
]
}
}
]
}
},
{
"name": "StopLosses",
"docs": [
"Fixed Phoenix Eternal StopLosses account layout."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "discriminant",
"type": "u64"
},
{
"name": "stopLosses",
"type": {
"array": [
{
"defined": {
"name": "StopLoss"
}
},
2
]
}
},
{
"name": "initialized",
"type": "u64"
},
{
"name": "sequenceNumber",
"type": {
"defined": {
"name": "SequenceNumber"
}
}
},
{
"name": "fundingKey",
"type": "pubkey"
},
{
"name": "traderKey",
"type": "pubkey"
},
{
"name": "assetId",
"type": "u32"
},
{
"name": "assetIdPadding",
"type": {
"array": [
"u8",
4
]
}
},
{
"name": "padding",
"type": {
"array": [
"u64",
8
]
}
}
]
}
},
{
"name": "EscrowHeader",
"docs": [
"Fixed EscrowHeader prefix for a Phoenix Eternal escrow account.",
"The dynamic escrow request list follows this header and is left as trailing account data by generic decoders."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "discriminant",
"type": "u64"
},
{
"name": "authority",
"type": "pubkey"
},
{
"name": "funderKey",
"type": "pubkey"
},
{
"name": "sequenceNumber",
"type": {
"defined": {
"name": "SequenceNumber"
}
}
},
{
"name": "len",
"type": "u64"
},
{
"name": "capacity",
"type": "u64"
}
]
}
},
{
"name": "ConditionalOrderHeader",
"docs": [
"Fixed ConditionalOrderHeader prefix for a Phoenix Eternal conditional orders account.",
"The dynamic conditional order array follows this header and is left as trailing account data by generic decoders."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "discriminant",
"type": "u64"
},
{
"name": "traderKey",
"type": "pubkey"
},
{
"name": "fundingKey",
"type": "pubkey"
},
{
"name": "sequenceNumber",
"type": {
"defined": {
"name": "SequenceNumber"
}
}
},
{
"name": "len",
"type": "u8"
},
{
"name": "capacity",
"type": "u8"
},
{
"name": "padding",
"type": {
"array": [
"u8",
6
]
}
}
]
}
},
{
"name": "RevokePermissionParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "permissionFlagsToRevoke",
"type": "u64"
}
]
}
},
{
"name": "SetPermissionInstruction",
"type": {
"kind": "struct",
"fields": [
{
"name": "permission",
"type": "u64"
},
{
"name": "expiresAtTimestamp",
"type": {
"option": "i64"
}
},
{
"name": "allowedSignerActions",
"type": {
"option": "i64"
}
}
]
}
},
{
"name": "TraderCapabilityToggleTarget",
"type": {
"kind": "enum",
"variants": [
{
"name": "PlaceLimitOrder"
},
{
"name": "PlaceMarketOrder"
},
{
"name": "RiskIncreasingTrade"
},
{
"name": "RiskReducingTrade"
},
{
"name": "DepositCollateral"
},
{
"name": "WithdrawCollateral"
}
]
}
},
{
"name": "TraderCapabilityToggle",
"type": {
"kind": "struct",
"fields": [
{
"name": "target",
"type": {
"defined": {
"name": "TraderCapabilityToggleTarget"
}
}
},
{
"name": "enable",
"type": "bool"
}
]
}
},
{
"name": "TraderCapabilityUpdate",
"type": {
"kind": "struct",
"fields": [
{
"name": "toggles",
"type": {
"vec": {
"defined": {
"name": "TraderCapabilityToggle"
}
}
}
}
]
}
},
{
"name": "TransferCollateralInstruction",
"type": {
"kind": "struct",
"fields": [
{
"name": "amount",
"type": "u64"
}
]
}
},
{
"name": "TransferCollateralChildToParentInstruction",
"type": {
"kind": "struct",
"fields": [
{
"name": "amount",
"type": "u64"
}
]
}
},
{
"name": "UncrossCrankParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "matchLimit",
"type": "u64"
}
]
}
},
{
"name": "ClearExpiredOrdersParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "maxOrdersPerSide",
"type": {
"option": "u64"
}
}
]
}
},
{
"name": "TriggerOrderParams",
"docs": [
"Trigger and execution parameters for one half of a conditional order."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "triggerDirection",
"type": {
"defined": {
"name": "Direction"
}
}
},
{
"name": "tradeSide",
"type": {
"defined": {
"name": "Side"
}
}
},
{
"name": "orderKind",
"type": {
"defined": {
"name": "StopLossOrderKind"
}
}
},
{
"name": "triggerPrice",
"type": "u64"
},
{
"name": "executionPrice",
"type": "u64"
}
]
}
},
{
"name": "CreateConditionalOrdersAccountInstruction",
"type": {
"kind": "struct",
"fields": [
{
"name": "capacity",
"type": "u8"
}
]
}
},
{
"name": "PlacePositionConditionalOrderInstruction",
"type": {
"kind": "struct",
"fields": [
{
"name": "assetId",
"type": "u32"
},
{
"name": "greaterTriggerOrder",
"type": {
"option": {
"defined": {
"name": "TriggerOrderParams"
}
}
}
},
{
"name": "lessTriggerOrder",
"type": {
"option": {
"defined": {
"name": "TriggerOrderParams"
}
}
}
},
{
"name": "sizeBaseLots",
"type": {
"option": "u64"
}
},
{
"name": "sizePercent",
"type": {
"option": "u8"
}
}
]
}
},
{
"name": "CancelConditionalOrderInstruction",
"type": {
"kind": "struct",
"fields": [
{
"name": "index",
"type": "u8"
},
{
"name": "disableFirst",
"type": "bool"
},
{
"name": "disableSecond",
"type": "bool"
}
]
}
},
{
"name": "PlaceAttachedConditionalOrderInstruction",
"type": {
"kind": "struct",
"fields": [
{
"name": "orderId",
"type": {
"defined": {
"name": "FIFOOrderId"
}
}
},
{
"name": "assetId",
"type": "u32"
},
{
"name": "greaterTriggerOrder",
"type": {
"option": {
"defined": {
"name": "TriggerOrderParams"
}
}
}
},
{
"name": "lessTriggerOrder",
"type": {
"option": {
"defined": {
"name": "TriggerOrderParams"
}
}
}
}
]
}
},
{
"name": "PlaceLimitOrderWithConditionalsInstruction",
"type": {
"kind": "struct",
"fields": [
{
"name": "orderPacket",
"type": {
"defined": {
"name": "OrderPacket"
}
}
},
{
"name": "slot",
"type": "u64"
},
{
"name": "greaterTriggerOrder",
"type": {
"option": {
"defined": {
"name": "TriggerOrderParams"
}
}
}
},
{
"name": "lessTriggerOrder",
"type": {
"option": {
"defined": {
"name": "TriggerOrderParams"
}
}
}
}
]
}
},
{
"name": "ExecuteConditionalOrderInstruction",
"type": {
"kind": "struct",
"fields": [
{
"name": "index",
"type": "u8"
},
{
"name": "triggerDirection",
"type": {
"defined": {
"name": "Direction"
}
}
}
]
}
},
{
"name": "OffChainMarketEvent",
"docs": [
"Borsh payload of the Log instruction after the 8-byte instruction discriminator."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "batchIndex",
"type": "u32"
},
{
"name": "events",
"type": {
"vec": {
"defined": {
"name": "MarketEvent"
}
}
}
}
]
}
},
{
"name": "OffChainMarketEventLengths",
"docs": [
"Borsh payload of the LogEventLengths instruction after the 8-byte instruction discriminator."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "batchIndex",
"type": "u32"
},
{
"name": "lengths",
"type": {
"vec": "u16"
}
}
]
}
},
{
"name": "SignedBaseLots",
"docs": [
"Signed quantity wrapper representing discrete base lots."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "inner",
"type": "i64"
}
]
}
},
{
"name": "SignedQuoteLots",
"docs": [
"Signed quantity wrapper representing discrete quote lots."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "inner",
"type": "i64"
}
]
}
},
{
"name": "SignedFeeRateMicro",
"docs": [
"Signed fee rate in millionths."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "inner",
"type": "i32"
}
]
}
},
{
"name": "SignedQuoteLotsPerBaseLot",
"docs": [
"Signed quote lots per base lot wrapper."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "inner",
"type": "i64"
}
]
}
},
{
"name": "SignedQuoteLotsPerBaseLotUpcasted",
"docs": [
"Upcasted signed quote lots per base lot wrapper."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "inner",
"type": "i128"
}
]
}
},
{
"name": "SignedTicks",
"docs": [
"Signed discrete tick offset."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "inner",
"type": "i64"
}
]
}
},
{
"name": "FundingRateUnitInSeconds",
"docs": [
"Funding time unit measured in seconds."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "inner",
"type": "u64"
}
]
}
},
{
"name": "BaseLotsU32",
"docs": [
"u32-backed base lot wrapper."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "inner",
"type": "u32"
}
]
}
},
{
"name": "BaseLotsPerTickU32",
"docs": [
"u32-backed spline liquidity density wrapper."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "inner",
"type": "u32"
}
]
}
},
{
"name": "BasisPoints",
"docs": [
"Basis points wrapper."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "inner",
"type": "u64"
}
]
}
},
{
"name": "Constant",
"docs": [
"Dimensionless constant wrapper."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "inner",
"type": "u64"
}
]
}
},
{
"name": "OptionalNonZeroU64",
"docs": [
"Zero represents None; non-zero represents Some(value)."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "inner",
"type": "u64"
}
]
}
},
{
"name": "OptionalFIFOOrderId",
"type": {
"kind": "struct",
"fields": [
{
"name": "priceInTicks",
"type": {
"defined": {
"name": "Ticks"
}
}
},
{
"name": "orderSequenceNumber",
"type": "u64"
}
]
}
},
{
"name": "TraderCapabilityFlags",
"type": {
"kind": "struct",
"fields": [
{
"name": "bits",
"type": "u32"
}
]
}
},
{
"name": "MarketStatus",
"type": {
"kind": "enum",
"variants": [
{
"name": "Uninitialized"
},
{
"name": "Active"
},
{
"name": "PostOnly"
},
{
"name": "Paused"
},
{
"name": "Closed"
},
{
"name": "Tombstoned"
}
]
}
},
{
"name": "CommodityMarketState",
"type": {
"kind": "enum",
"variants": [
{
"name": "Active"
},
{
"name": "AfterHours"
},
{
"name": "Reopen"
}
]
}
},
{
"name": "AuthorityType",
"type": {
"kind": "enum",
"variants": [
{
"name": "Root"
},
{
"name": "Risk"
},
{
"name": "Market"
},
{
"name": "Oracle"
},
{
"name": "Cancel"
},
{
"name": "Backstop"
},
{
"name": "ADL"
}
]
}
},
{
"name": "ValidationRule",
"type": {
"kind": "enum",
"variants": [
{
"name": "Ignore"
},
{
"name": "Require"
},
{
"name": "Forbid"
}
]
}
},
{
"name": "LeverageTier",
"type": {
"kind": "struct",
"fields": [
{
"name": "upperBoundSize",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "maxLeverage",
"type": {
"defined": {
"name": "Constant"
}
}
},
{
"name": "limitOrderRiskFactor",
"type": {
"defined": {
"name": "BasisPoints"
}
}
}
]
}
},
{
"name": "LeverageTiers",
"type": {
"kind": "struct",
"fields": [
{
"name": "tiers",
"type": {
"array": [
{
"defined": {
"name": "LeverageTier"
}
},
4
]
}
}
]
}
},
{
"name": "PositionSizeLimits",
"type": {
"kind": "struct",
"fields": [
{
"name": "long",
"type": "u32"
},
{
"name": "short",
"type": "u32"
}
]
}
},
{
"name": "PositionSizeLimit",
"type": {
"kind": "enum",
"variants": [
{
"name": "Disabled"
},
{
"name": "Limit",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "PositionSizeLimits"
}
}
}
]
}
]
}
},
{
"name": "TickRegion",
"type": {
"kind": "struct",
"fields": [
{
"name": "startOffset",
"type": {
"defined": {
"name": "Ticks"
}
}
},
{
"name": "endOffset",
"type": {
"defined": {
"name": "Ticks"
}
}
},
{
"name": "density",
"type": {
"defined": {
"name": "BaseLotsPerTickU32"
}
}
},
{
"name": "topLevelHiddenTakeSize",
"type": {
"defined": {
"name": "BaseLotsPerTickU32"
}
}
},
{
"name": "totalSize",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "filledSize",
"type": {
"defined": {
"name": "BaseLotsU32"
}
}
},
{
"name": "hiddenFilledSize",
"type": {
"defined": {
"name": "BaseLotsU32"
}
}
},
{
"name": "lifespan",
"type": "u64"
}
]
}
},
{
"name": "OrderRejectionReason",
"type": {
"kind": "enum",
"variants": [
{
"name": "TooManyLimitOrders"
},
{
"name": "PostOnlyCross"
},
{
"name": "InvalidOrderPacket"
},
{
"name": "TiFInvalid"
},
{
"name": "OutsideExecutionPriceBand"
}
]
}
},
{
"name": "OrderResidualDiscardReason",
"type": {
"kind": "enum",
"variants": [
{
"name": "OutsideExecutionPriceBand"
}
]
}
},
{
"name": "OrderModificationReason",
"type": {
"kind": "enum",
"variants": [
{
"name": "UserRequested"
},
{
"name": "AuthorityForced"
},
{
"name": "SelfTradeCancelProvide"
},
{
"name": "SelfTradeDecrementTake"
},
{
"name": "Expired"
},
{
"name": "ReduceOnlyInvalidated"
},
{
"name": "RiskCapacityExceeded"
},
{
"name": "BookCapacityEvicted"
},
{
"name": "Tombstone"
},
{
"name": "TopOfBookOutOfBounds"
},
{
"name": "StopLossCascade"
}
]
}
},
{
"name": "ConditionalOrderPingStateSnapshot",
"type": {
"kind": "struct",
"fields": [
{
"name": "value",
"type": "u8"
}
]
}
},
{
"name": "ConditionalOrderPingSnapshot",
"type": {
"kind": "struct",
"fields": [
{
"name": "state",
"type": {
"defined": {
"name": "ConditionalOrderPingStateSnapshot"
}
}
},
{
"name": "attachedOrderId",
"type": {
"defined": {
"name": "OptionalFIFOOrderId"
}
}
},
{
"name": "maxSize",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "fillableSize",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "filledSize",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "coPositionSequenceNumber",
"type": {
"option": "u8"
}
}
]
}
},
{
"name": "MarkPriceConfig",
"type": {
"kind": "struct",
"fields": [
{
"name": "emaPeriodSlots",
"type": "u64"
},
{
"name": "emaDiffRadius",
"type": "u64"
},
{
"name": "bookPriceRadius",
"type": "u64"
},
{
"name": "commoditiesAfterHoursRadius",
"type": "u64"
},
{
"name": "spotPriceWeight",
"type": "u64"
},
{
"name": "bookPriceWeight",
"type": "u64"
},
{
"name": "perpPriceWeight",
"type": "u64"
},
{
"name": "spotPriceStaleThreshold",
"type": "u64"
},
{
"name": "bookPriceStaleThreshold",
"type": "u64"
},
{
"name": "perpPriceStaleThreshold",
"type": "u64"
},
{
"name": "riskActionPriceValidityRules",
"type": {
"array": [
{
"array": [
{
"array": [
{
"defined": {
"name": "ValidationRule"
}
},
8
]
},
4
]
},
8
]
}
},
{
"name": "oracleDivergenceRadius",
"type": "u16"
},
{
"name": "minOracleResponses",
"type": "u8"
},
{
"name": "commoditiesAfterHoursRadiusBps",
"type": "u64"
}
]
}
},
{
"name": "WithdrawConfig",
"type": {
"kind": "struct",
"fields": [
{
"name": "depositCooldownPeriodInSlots",
"type": "u64"
},
{
"name": "withdrawalFee",
"type": "u64"
},
{
"name": "enqueueingFee",
"type": "u64"
}
]
}
},
{
"name": "WithdrawRateLimitConfig",
"type": {
"kind": "struct",
"fields": [
{
"name": "maxBudget",
"type": "u64"
},
{
"name": "replenishAmountPerSlot",
"type": "u64"
}
]
}
},
{
"name": "FundingConfig",
"type": {
"kind": "struct",
"fields": [
{
"name": "fundingIntervalSeconds",
"type": "u64"
},
{
"name": "fundingPeriodSeconds",
"type": "u64"
},
{
"name": "maxFundingRate",
"type": "i64"
}
]
}
},
{
"name": "CommodityMarketStateConfig",
"type": {
"kind": "struct",
"fields": [
{
"name": "marketState",
"type": {
"defined": {
"name": "CommodityMarketState"
}
}
},
{
"name": "isCommodity",
"type": "bool"
},
{
"name": "lastKnownIndexPrice",
"type": {
"option": {
"defined": {
"name": "Ticks"
}
}
}
},
{
"name": "lastIndexExpiryTimestamp",
"type": "u64"
},
{
"name": "commoditiesAfterHoursRadius",
"type": {
"defined": {
"name": "Ticks"
}
}
}
]
}
},
{
"name": "MarketFeeConfig",
"type": {
"kind": "struct",
"fields": [
{
"name": "defaultTakerFeeMicro",
"type": "u32"
},
{
"name": "defaultMakerFeeMicro",
"type": "i32"
}
]
}
},
{
"name": "AdminParameterUpdateKind",
"type": {
"kind": "enum",
"variants": [
{
"name": "CancelRiskFactor",
"kind": "struct",
"fields": [
{
"name": "previous",
"type": "u16"
},
{
"name": "new",
"type": "u16"
}
]
},
{
"name": "IsolatedOnly",
"kind": "struct",
"fields": [
{
"name": "previous",
"type": "bool"
},
{
"name": "new",
"type": "bool"
}
]
},
{
"name": "LeverageTiers",
"kind": "struct",
"fields": [
{
"name": "previous",
"type": {
"defined": {
"name": "LeverageTiers"
}
}
},
{
"name": "new",
"type": {
"defined": {
"name": "LeverageTiers"
}
}
}
]
},
{
"name": "MarkPriceParameters",
"kind": "struct",
"fields": [
{
"name": "previous",
"type": {
"defined": {
"name": "MarkPriceConfig"
}
}
},
{
"name": "new",
"type": {
"defined": {
"name": "MarkPriceConfig"
}
}
}
]
},
{
"name": "OpenInterestCap",
"kind": "struct",
"fields": [
{
"name": "previous",
"type": "u64"
},
{
"name": "new",
"type": "u64"
}
]
},
{
"name": "UpnlRiskFactor",
"kind": "struct",
"fields": [
{
"name": "previous",
"type": "u16"
},
{
"name": "new",
"type": "u16"
}
]
},
{
"name": "UpnlRiskFactorForWithdrawals",
"kind": "struct",
"fields": [
{
"name": "previous",
"type": "u16"
},
{
"name": "new",
"type": "u16"
}
]
},
{
"name": "WithdrawParameters",
"kind": "struct",
"fields": [
{
"name": "previous",
"type": {
"defined": {
"name": "WithdrawConfig"
}
}
},
{
"name": "new",
"type": {
"defined": {
"name": "WithdrawConfig"
}
}
}
]
},
{
"name": "WithdrawRateLimits",
"kind": "struct",
"fields": [
{
"name": "previous",
"type": {
"defined": {
"name": "WithdrawRateLimitConfig"
}
}
},
{
"name": "new",
"type": {
"defined": {
"name": "WithdrawRateLimitConfig"
}
}
}
]
},
{
"name": "TraderCapability",
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "previousFlags",
"type": {
"defined": {
"name": "TraderCapabilityFlags"
}
}
},
{
"name": "newFlags",
"type": {
"defined": {
"name": "TraderCapabilityFlags"
}
}
}
]
},
{
"name": "FundingParameters",
"kind": "struct",
"fields": [
{
"name": "previous",
"type": {
"defined": {
"name": "FundingConfig"
}
}
},
{
"name": "new",
"type": {
"defined": {
"name": "FundingConfig"
}
}
}
]
},
{
"name": "MarketFees",
"kind": "struct",
"fields": [
{
"name": "previous",
"type": {
"defined": {
"name": "MarketFeeConfig"
}
}
},
{
"name": "new",
"type": {
"defined": {
"name": "MarketFeeConfig"
}
}
}
]
},
{
"name": "OpenInterestAdjustment",
"kind": "struct",
"fields": [
{
"name": "previousOpenInterest",
"type": "u64"
},
{
"name": "newOpenInterest",
"type": "u64"
}
]
},
{
"name": "CommodityMarketState",
"kind": "struct",
"fields": [
{
"name": "previous",
"type": {
"defined": {
"name": "CommodityMarketStateConfig"
}
}
},
{
"name": "new",
"type": {
"defined": {
"name": "CommodityMarketStateConfig"
}
}
}
]
}
]
}
},
{
"name": "EscrowAction",
"type": {
"kind": "enum",
"variants": [
{
"name": "Noop",
"kind": "struct",
"fields": [
{
"name": "padding0",
"type": {
"array": [
"u8",
8
]
}
},
{
"name": "padding1",
"type": {
"array": [
"u8",
128
]
}
}
]
},
{
"name": "Cash",
"kind": "struct",
"fields": [
{
"name": "amount",
"type": "u64"
},
{
"name": "padding0",
"type": {
"array": [
"u8",
128
]
}
}
]
}
]
}
},
{
"name": "EscrowRequestCancelReason",
"type": {
"kind": "enum",
"variants": [
{
"name": "Expiration"
},
{
"name": "CancelledBySender"
},
{
"name": "CancelledByReceiver"
}
]
}
},
{
"name": "MarketEvent",
"docs": [
"Borsh enum emitted by Eternal Log instructions. Variant discriminators are one-byte ordinals."
],
"type": {
"kind": "enum",
"variants": [
{
"name": "SlotContext",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "SlotContextEvent"
}
}
}
]
},
{
"name": "Header",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "MarketEventHeader"
}
}
}
]
},
{
"name": "OrderPlaced",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "OrderPlacedEvent"
}
}
}
]
},
{
"name": "OrderFilled",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "OrderFilledEvent"
}
}
}
]
},
{
"name": "OrderRejected",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "OrderRejectedEvent"
}
}
}
]
},
{
"name": "SplineFilled",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "SplineFilledEvent"
}
}
}
]
},
{
"name": "TradeSummary",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "TradeSummaryEvent"
}
}
}
]
},
{
"name": "OrderModified",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "OrderModifiedEvent"
}
}
}
]
},
{
"name": "MarketSummary",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "MarketSummaryEvent"
}
}
}
]
},
{
"name": "TraderRegistered",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "TraderRegisteredEvent"
}
}
}
]
},
{
"name": "TraderCollateralTransferred",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "TraderCollateralTransferredEvent"
}
}
}
]
},
{
"name": "TraderActivated",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "TraderActivatedEvent"
}
}
}
]
},
{
"name": "TraderDeactivated",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "TraderDeactivatedEvent"
}
}
}
]
},
{
"name": "TraderFundsDeposited",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "TraderFundsDepositedEvent"
}
}
}
]
},
{
"name": "TraderFundsWithdrawn",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "TraderFundsWithdrawnEvent"
}
}
}
]
},
{
"name": "TraderFundsWithdrawnEnqueued",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "TraderFundsWithdrawnEvent"
}
}
}
]
},
{
"name": "TraderFundsWithdrawnDropped",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "TraderFundsWithdrawnEvent"
}
}
}
]
},
{
"name": "TraderWithdrawCancelled",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "TraderWithdrawCancelledEvent"
}
}
}
]
},
{
"name": "TraderFundingSettled",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "TraderFundingSettledEvent"
}
}
}
]
},
{
"name": "SplineRegistered",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "SplineRegisteredEvent"
}
}
}
]
},
{
"name": "SplineActivated",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "SplineActivatedEvent"
}
}
}
]
},
{
"name": "SplineDeactivated",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "SplineDeactivatedEvent"
}
}
}
]
},
{
"name": "SplinePriceUpdated",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "SplinePriceUpdatedEvent"
}
}
}
]
},
{
"name": "SplineParametersUpdated",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "SplineParametersUpdatedEvent"
}
}
}
]
},
{
"name": "MarketAdded",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "MarketAddedEvent"
}
}
}
]
},
{
"name": "MarketStatusChanged",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "MarketStatusChangedEvent"
}
}
}
]
},
{
"name": "MarketParametersUpdated",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "MarketParametersUpdatedEvent"
}
}
}
]
},
{
"name": "FundingParametersUpdated",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "FundingParametersUpdatedEvent"
}
}
}
]
},
{
"name": "FeesClaimed",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "FeesClaimedEvent"
}
}
}
]
},
{
"name": "PricesUpdated",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "PricesUpdatedEvent"
}
}
}
]
},
{
"name": "LiquidationTransferSummary",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "LiquidationTransferSummaryEvent"
}
}
}
]
},
{
"name": "LiquidationTransfer",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "LiquidationTransferEvent"
}
}
}
]
},
{
"name": "Liquidation",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "LiquidationEvent"
}
}
}
]
},
{
"name": "CloseMatchedPositions",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "CloseMatchedPositionsEvent"
}
}
}
]
},
{
"name": "NameSuccessor",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "NameSuccessorEvent"
}
}
}
]
},
{
"name": "ClaimAuthority",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "ClaimAuthorityEvent"
}
}
}
]
},
{
"name": "WithdrawStateTransition",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "WithdrawStateTransitionEvent"
}
}
}
]
},
{
"name": "PnL",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "PnLEvent"
}
}
}
]
},
{
"name": "StopLossPlaced",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "StopLossPlacedEvent"
}
}
}
]
},
{
"name": "StopLossCancelled",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "StopLossCancelledEvent"
}
}
}
]
},
{
"name": "StopLossExecuted",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "StopLossExecutedEvent"
}
}
}
]
},
{
"name": "ExchangeStatusChanged",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "ExchangeStatusChangedEvent"
}
}
}
]
},
{
"name": "TraderCapabilitiesEnabled",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "TraderCapabilitiesEnabledEvent"
}
}
}
]
},
{
"name": "TraderFundsWithdrawnFeePayment",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "TraderFundsWithdrawnFeePaymentEvent"
}
}
}
]
},
{
"name": "OrderPacket",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "OrderPacketEvent"
}
}
}
]
},
{
"name": "SetPermission",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "SetPermissionEvent"
}
}
}
]
},
{
"name": "AuthorityChanged",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "AuthorityChangedEvent"
}
}
}
]
},
{
"name": "TraderDelegated",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "TraderDelegatedEvent"
}
}
}
]
},
{
"name": "AdminParameterUpdated",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "AdminParameterUpdatedEvent"
}
}
}
]
},
{
"name": "TraderFeesUpdated",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "TraderFeesUpdatedEvent"
}
}
}
]
},
{
"name": "MarketClosed",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "MarketClosedEvent"
}
}
}
]
},
{
"name": "MarketDeleted",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "MarketDeletedEvent"
}
}
}
]
},
{
"name": "EscrowAccountCreated",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "EscrowAccountCreatedEvent"
}
}
}
]
},
{
"name": "EscrowRequestCreated",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "EscrowRequestCreatedEvent"
}
}
}
]
},
{
"name": "EscrowRequestAccepted",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "EscrowRequestAcceptedEvent"
}
}
}
]
},
{
"name": "EscrowRequestCancelled",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "EscrowRequestCancelledEvent"
}
}
}
]
},
{
"name": "SplinePriceUpdatedWithOrdering",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "SplinePriceUpdatedWithOrderingEvent"
}
}
}
]
},
{
"name": "SplineParametersUpdatedWithOrdering",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "SplineParametersUpdatedWithOrderingEvent"
}
}
}
]
},
{
"name": "TriggerOrderPlaced",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "TriggerOrderPlacedEvent"
}
}
}
]
},
{
"name": "TriggerOrderCancelled",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "TriggerOrderCancelledEvent"
}
}
}
]
},
{
"name": "TriggerOrderExecuted",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "TriggerOrderExecutedEvent"
}
}
}
]
},
{
"name": "PingInvalidated",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "PingInvalidatedEvent"
}
}
}
]
},
{
"name": "PingActivated",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "PingActivatedEvent"
}
}
}
]
},
{
"name": "SplinePositionLimitsConfigUpdated",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "SplinePositionLimitsConfigUpdatedEvent"
}
}
}
]
},
{
"name": "MarketTombstoned",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "MarketTombstonedEvent"
}
}
}
]
},
{
"name": "ShutdownClosePositions",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "ShutdownClosePositionsEvent"
}
}
}
]
},
{
"name": "OrderResidualDiscarded",
"fields": [
{
"name": "value",
"type": {
"defined": {
"name": "OrderResidualDiscardedEvent"
}
}
}
]
}
]
}
},
{
"name": "SlotContextEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "timestamp",
"type": "u64"
},
{
"name": "slot",
"type": "u64"
}
]
}
},
{
"name": "MarketEventHeader",
"type": {
"kind": "struct",
"fields": [
{
"name": "sequenceNumber",
"type": "u64"
},
{
"name": "prevSequenceNumberSlot",
"type": "u64"
},
{
"name": "assetSymbol",
"type": {
"defined": {
"name": "Symbol"
}
}
},
{
"name": "assetId",
"type": "u32"
},
{
"name": "tickSize",
"type": "u32"
},
{
"name": "baseLotDecimals",
"type": "i8"
},
{
"name": "quoteLotDecimals",
"type": "u8"
},
{
"name": "signer",
"type": "pubkey"
},
{
"name": "traderAccount",
"type": "pubkey"
}
]
}
},
{
"name": "OrderPlacedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "orderId",
"type": "u32"
},
{
"name": "orderFlags",
"type": {
"defined": {
"name": "OrderFlags"
}
}
},
{
"name": "orderSequenceNumber",
"type": "u64"
},
{
"name": "prevOrderSequenceNumberSlot",
"type": "u64"
},
{
"name": "clientOrderId",
"type": {
"array": [
"u8",
16
]
}
},
{
"name": "price",
"type": {
"defined": {
"name": "Ticks"
}
}
},
{
"name": "quantity",
"type": {
"defined": {
"name": "SignedBaseLots"
}
}
},
{
"name": "lastValidSlot",
"type": {
"defined": {
"name": "OptionalNonZeroU64"
}
}
},
{
"name": "initialSlot",
"type": "u64"
}
]
}
},
{
"name": "OrderPacketEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "orderPacket",
"type": {
"defined": {
"name": "OrderPacket"
}
}
},
{
"name": "trader",
"type": "pubkey"
},
{
"name": "nextOrderSequenceNumber",
"type": "u64"
}
]
}
},
{
"name": "OrderRejectedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "orderIndex",
"type": "u32"
},
{
"name": "clientOrderId",
"type": {
"array": [
"u8",
16
]
}
},
{
"name": "price",
"type": {
"defined": {
"name": "Ticks"
}
}
},
{
"name": "side",
"type": {
"defined": {
"name": "Side"
}
}
},
{
"name": "numBaseLots",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "reason",
"type": {
"array": [
"u8",
32
]
}
}
]
}
},
{
"name": "OrderResidualDiscardedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "clientOrderId",
"type": {
"array": [
"u8",
16
]
}
},
{
"name": "price",
"type": {
"defined": {
"name": "Ticks"
}
}
},
{
"name": "side",
"type": {
"defined": {
"name": "Side"
}
}
},
{
"name": "baseLotsDiscarded",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "reason",
"type": {
"defined": {
"name": "OrderResidualDiscardReason"
}
}
}
]
}
},
{
"name": "OrderFilledEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "orderSequenceNumber",
"type": "u64"
},
{
"name": "side",
"type": {
"defined": {
"name": "Side"
}
}
},
{
"name": "price",
"type": {
"defined": {
"name": "Ticks"
}
}
},
{
"name": "baseLotsFilled",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "quoteLotsFilled",
"type": {
"defined": {
"name": "QuoteLots"
}
}
},
{
"name": "quantityRemaining",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "maker",
"type": "pubkey"
},
{
"name": "makerFeeRate",
"type": {
"defined": {
"name": "SignedFeeRateMicro"
}
}
},
{
"name": "makerBaseLotPosition",
"type": {
"defined": {
"name": "SignedBaseLots"
}
}
},
{
"name": "makerVirtualQuoteLotPosition",
"type": {
"defined": {
"name": "SignedQuoteLots"
}
}
},
{
"name": "makerQuoteLotCollateral",
"type": {
"defined": {
"name": "SignedQuoteLots"
}
}
},
{
"name": "makerCumulativeFundingSnapshot",
"type": {
"defined": {
"name": "SignedQuoteLotsPerBaseLot"
}
}
}
]
}
},
{
"name": "SplineFilledEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "splineSequenceNumber",
"type": "u64"
},
{
"name": "side",
"type": {
"defined": {
"name": "Side"
}
}
},
{
"name": "price",
"type": {
"defined": {
"name": "Ticks"
}
}
},
{
"name": "baseLotsFilled",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "quoteLotsFilled",
"type": {
"defined": {
"name": "QuoteLots"
}
}
},
{
"name": "maker",
"type": "pubkey"
},
{
"name": "makerFeeRate",
"type": {
"defined": {
"name": "SignedFeeRateMicro"
}
}
},
{
"name": "makerBaseLotPosition",
"type": {
"defined": {
"name": "SignedBaseLots"
}
}
},
{
"name": "makerVirtualQuoteLotPosition",
"type": {
"defined": {
"name": "SignedQuoteLots"
}
}
},
{
"name": "makerQuoteLotCollateral",
"type": {
"defined": {
"name": "SignedQuoteLots"
}
}
},
{
"name": "makerCumulativeFundingSnapshot",
"type": {
"defined": {
"name": "SignedQuoteLotsPerBaseLot"
}
}
}
]
}
},
{
"name": "OrderModifiedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "orderSequenceNumber",
"type": "u64"
},
{
"name": "price",
"type": {
"defined": {
"name": "Ticks"
}
}
},
{
"name": "baseLotsReleased",
"type": {
"defined": {
"name": "SignedBaseLots"
}
}
},
{
"name": "quoteLotsReleased",
"type": {
"defined": {
"name": "SignedQuoteLots"
}
}
},
{
"name": "baseLotsRemaining",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "reason",
"type": {
"defined": {
"name": "OrderModificationReason"
}
}
}
]
}
},
{
"name": "TradeSummaryEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "tradeSequenceNumber",
"type": "u64"
},
{
"name": "prevTradeSequenceNumberSlot",
"type": "u64"
},
{
"name": "side",
"type": {
"defined": {
"name": "Side"
}
}
},
{
"name": "baseLotsFilled",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "quoteLotsFilled",
"type": {
"defined": {
"name": "QuoteLots"
}
}
},
{
"name": "feeInQuoteLots",
"type": {
"defined": {
"name": "QuoteLots"
}
}
},
{
"name": "baseLotPosition",
"type": {
"defined": {
"name": "SignedBaseLots"
}
}
},
{
"name": "virtualQuoteLotPosition",
"type": {
"defined": {
"name": "SignedQuoteLots"
}
}
},
{
"name": "quoteLotCollateral",
"type": {
"defined": {
"name": "SignedQuoteLots"
}
}
},
{
"name": "cumulativeFundingSnapshot",
"type": {
"defined": {
"name": "SignedQuoteLotsPerBaseLot"
}
}
}
]
}
},
{
"name": "MarketSummaryEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "assetSymbol",
"type": {
"defined": {
"name": "Symbol"
}
}
},
{
"name": "assetId",
"type": "u32"
},
{
"name": "openInterest",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "totalMakerQuoteLotFees",
"type": {
"option": {
"defined": {
"name": "SignedQuoteLots"
}
}
}
},
{
"name": "totalTakerQuoteLotFees",
"type": {
"option": {
"defined": {
"name": "QuoteLots"
}
}
}
},
{
"name": "markPrice",
"type": {
"defined": {
"name": "Ticks"
}
}
},
{
"name": "spotPrice",
"type": {
"defined": {
"name": "Ticks"
}
}
}
]
}
},
{
"name": "TraderRegisteredEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "traderSequenceNumber",
"type": "u64"
},
{
"name": "trader",
"type": "pubkey"
},
{
"name": "authority",
"type": "pubkey"
},
{
"name": "maxPositions",
"type": "u64"
},
{
"name": "traderPdaIndex",
"type": "u8"
},
{
"name": "traderSubaccountIndex",
"type": "u8"
}
]
}
},
{
"name": "TraderDelegatedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "authority",
"type": "pubkey"
},
{
"name": "oldPositionAuthority",
"type": "pubkey"
},
{
"name": "newPositionAuthority",
"type": "pubkey"
}
]
}
},
{
"name": "TraderFeesUpdatedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "authority",
"type": "pubkey"
},
{
"name": "previousMakerFeeOverrideMultiplier",
"type": "i8"
},
{
"name": "newMakerFeeOverrideMultiplier",
"type": "i8"
},
{
"name": "previousTakerFeeOverrideMultiplier",
"type": "i8"
},
{
"name": "newTakerFeeOverrideMultiplier",
"type": "i8"
},
{
"name": "isHotTrader",
"type": "bool"
}
]
}
},
{
"name": "TraderCapabilitiesEnabledEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "authority",
"type": "pubkey"
},
{
"name": "previousFlags",
"type": {
"defined": {
"name": "TraderCapabilityFlags"
}
}
},
{
"name": "newFlags",
"type": {
"defined": {
"name": "TraderCapabilityFlags"
}
}
},
{
"name": "globalTraderIndex",
"type": "u32"
}
]
}
},
{
"name": "TraderActivatedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "globalTraderIndex",
"type": "u32"
},
{
"name": "authority",
"type": "pubkey"
}
]
}
},
{
"name": "TraderDeactivatedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "prevGlobalTraderIndex",
"type": "u32"
},
{
"name": "authority",
"type": "pubkey"
}
]
}
},
{
"name": "TraderFundsDepositedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "authority",
"type": "pubkey"
},
{
"name": "amount",
"type": {
"defined": {
"name": "QuoteLots"
}
}
},
{
"name": "traderFlags",
"type": {
"defined": {
"name": "TraderCapabilityFlags"
}
}
},
{
"name": "newCollateralBalance",
"type": {
"defined": {
"name": "SignedQuoteLots"
}
}
},
{
"name": "traderSequenceNumber",
"type": "u64"
},
{
"name": "prevSequenceNumberSlot",
"type": "u64"
}
]
}
},
{
"name": "TraderFundsWithdrawnEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "authority",
"type": "pubkey"
},
{
"name": "amount",
"type": "u64"
},
{
"name": "traderSequenceNumber",
"type": "u64"
},
{
"name": "traderPrevSequenceNumberSlot",
"type": "u64"
},
{
"name": "postWithdrawalBudget",
"type": "u64"
},
{
"name": "postQueueSize",
"type": "u64"
},
{
"name": "totalQueuedAmount",
"type": "u64"
},
{
"name": "withdrawQueueSequenceNumber",
"type": "u64"
},
{
"name": "withdrawQueuePrevSequenceNumberSlot",
"type": "u64"
}
]
}
},
{
"name": "TraderFundsWithdrawnFeePaymentEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "authority",
"type": "pubkey"
},
{
"name": "fee",
"type": "u64"
},
{
"name": "traderSequenceNumber",
"type": "u64"
},
{
"name": "traderPrevSequenceNumberSlot",
"type": "u64"
},
{
"name": "withdrawQueueSequenceNumber",
"type": "u64"
},
{
"name": "withdrawQueuePrevSequenceNumberSlot",
"type": "u64"
}
]
}
},
{
"name": "TraderWithdrawCancelledEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "authority",
"type": "pubkey"
},
{
"name": "amount",
"type": "u64"
},
{
"name": "traderSequenceNumber",
"type": "u64"
},
{
"name": "traderPrevSequenceNumberSlot",
"type": "u64"
},
{
"name": "withdrawQueueSequenceNumber",
"type": "u64"
},
{
"name": "withdrawQueuePrevSequenceNumberSlot",
"type": "u64"
}
]
}
},
{
"name": "TraderCollateralTransferredEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "authority",
"type": "pubkey"
},
{
"name": "amount",
"type": {
"defined": {
"name": "QuoteLots"
}
}
},
{
"name": "srcTrader",
"type": "pubkey"
},
{
"name": "srcTraderSequenceNumber",
"type": "u64"
},
{
"name": "srcTraderPrevSequenceNumberSlot",
"type": "u64"
},
{
"name": "srcTraderNewCollateralBalance",
"type": {
"defined": {
"name": "SignedQuoteLots"
}
}
},
{
"name": "dstTrader",
"type": "pubkey"
},
{
"name": "dstTraderSequenceNumber",
"type": "u64"
},
{
"name": "dstTraderPrevSequenceNumberSlot",
"type": "u64"
},
{
"name": "dstTraderNewCollateralBalance",
"type": {
"defined": {
"name": "SignedQuoteLots"
}
}
}
]
}
},
{
"name": "TraderFundingSettledEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "assetSymbol",
"type": {
"defined": {
"name": "Symbol"
}
}
},
{
"name": "assetId",
"type": "u32"
},
{
"name": "fundingPayment",
"type": {
"defined": {
"name": "SignedQuoteLots"
}
}
},
{
"name": "cumulativeFundingSnapshot",
"type": {
"defined": {
"name": "SignedQuoteLotsPerBaseLot"
}
}
},
{
"name": "newCollateralBalance",
"type": {
"defined": {
"name": "SignedQuoteLots"
}
}
}
]
}
},
{
"name": "SplineRegisteredEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "sequenceNumber",
"type": "u64"
},
{
"name": "prevSequenceNumberSlot",
"type": "u64"
},
{
"name": "market",
"type": "pubkey"
},
{
"name": "symbol",
"type": {
"defined": {
"name": "Symbol"
}
}
}
]
}
},
{
"name": "SplineActivatedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "sequenceNumber",
"type": "u64"
},
{
"name": "prevSequenceNumberSlot",
"type": "u64"
},
{
"name": "authority",
"type": "pubkey"
},
{
"name": "market",
"type": "pubkey"
},
{
"name": "symbol",
"type": {
"defined": {
"name": "Symbol"
}
}
},
{
"name": "midPrice",
"type": "u64"
}
]
}
},
{
"name": "SplineDeactivatedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "sequenceNumber",
"type": "u64"
},
{
"name": "prevSequenceNumberSlot",
"type": "u64"
},
{
"name": "authority",
"type": "pubkey"
},
{
"name": "market",
"type": "pubkey"
},
{
"name": "symbol",
"type": {
"defined": {
"name": "Symbol"
}
}
}
]
}
},
{
"name": "SplinePositionLimitsConfigUpdatedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "sequenceNumber",
"type": "u64"
},
{
"name": "prevSequenceNumberSlot",
"type": "u64"
},
{
"name": "authority",
"type": "pubkey"
},
{
"name": "market",
"type": "pubkey"
},
{
"name": "symbol",
"type": {
"defined": {
"name": "Symbol"
}
}
},
{
"name": "maxPositionSize",
"type": {
"option": {
"defined": {
"name": "PositionSizeLimit"
}
}
}
},
{
"name": "prevMaxPositionSize",
"type": {
"defined": {
"name": "PositionSizeLimit"
}
}
},
{
"name": "leverageDecreaseInBps",
"type": {
"option": "u32"
}
},
{
"name": "prevLeverageDecreaseInBps",
"type": "u32"
}
]
}
},
{
"name": "SplinePriceUpdatedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "sequenceNumber",
"type": "u64"
},
{
"name": "prevSequenceNumberSlot",
"type": "u64"
},
{
"name": "authority",
"type": "pubkey"
},
{
"name": "market",
"type": "pubkey"
},
{
"name": "symbol",
"type": {
"defined": {
"name": "Symbol"
}
}
},
{
"name": "priceInTicks",
"type": "u64"
},
{
"name": "userUpdateSlot",
"type": "u64"
},
{
"name": "refreshRegions",
"type": "bool"
}
]
}
},
{
"name": "SplineParametersUpdatedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "sequenceNumber",
"type": "u64"
},
{
"name": "prevSequenceNumberSlot",
"type": "u64"
},
{
"name": "authority",
"type": "pubkey"
},
{
"name": "market",
"type": "pubkey"
},
{
"name": "symbol",
"type": {
"defined": {
"name": "Symbol"
}
}
},
{
"name": "midPrice",
"type": "u64"
},
{
"name": "bidRegions",
"type": {
"array": [
{
"defined": {
"name": "TickRegion"
}
},
10
]
}
},
{
"name": "askRegions",
"type": {
"array": [
{
"defined": {
"name": "TickRegion"
}
},
10
]
}
}
]
}
},
{
"name": "SplinePriceUpdatedWithOrderingEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "sequenceNumber",
"type": "u64"
},
{
"name": "prevSequenceNumberSlot",
"type": "u64"
},
{
"name": "authority",
"type": "pubkey"
},
{
"name": "market",
"type": "pubkey"
},
{
"name": "symbol",
"type": {
"defined": {
"name": "Symbol"
}
}
},
{
"name": "priceInTicks",
"type": "u64"
},
{
"name": "userUpdateSlot",
"type": "u64"
},
{
"name": "refreshRegions",
"type": "bool"
},
{
"name": "userSequenceNumber",
"type": "u64"
},
{
"name": "clientOrderId",
"type": {
"array": [
"u8",
16
]
}
}
]
}
},
{
"name": "SplineParametersUpdatedWithOrderingEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "sequenceNumber",
"type": "u64"
},
{
"name": "prevSequenceNumberSlot",
"type": "u64"
},
{
"name": "authority",
"type": "pubkey"
},
{
"name": "market",
"type": "pubkey"
},
{
"name": "symbol",
"type": {
"defined": {
"name": "Symbol"
}
}
},
{
"name": "midPrice",
"type": "u64"
},
{
"name": "bidRegions",
"type": {
"array": [
{
"defined": {
"name": "TickRegion"
}
},
10
]
}
},
{
"name": "askRegions",
"type": {
"array": [
{
"defined": {
"name": "TickRegion"
}
},
10
]
}
},
{
"name": "userSequenceNumber",
"type": "u64"
},
{
"name": "clientOrderId",
"type": {
"array": [
"u8",
16
]
}
}
]
}
},
{
"name": "StopLossPlacedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "sequenceNumber",
"type": "u64"
},
{
"name": "prevSequenceNumberSlot",
"type": "u64"
},
{
"name": "assetId",
"type": "u64"
},
{
"name": "triggerPrice",
"type": {
"defined": {
"name": "Ticks"
}
}
},
{
"name": "executionPrice",
"type": {
"defined": {
"name": "Ticks"
}
}
},
{
"name": "tradeSize",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "tradeSide",
"type": {
"defined": {
"name": "Side"
}
}
},
{
"name": "executionDirection",
"type": {
"defined": {
"name": "Direction"
}
}
},
{
"name": "positionSequenceNumber",
"type": "u8"
},
{
"name": "placeSlot",
"type": "u64"
},
{
"name": "fundingKey",
"type": "pubkey"
},
{
"name": "orderKind",
"type": {
"defined": {
"name": "StopLossOrderKind"
}
}
}
]
}
},
{
"name": "StopLossCancelledEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "sequenceNumber",
"type": "u64"
},
{
"name": "prevSequenceNumberSlot",
"type": "u64"
},
{
"name": "assetId",
"type": "u64"
},
{
"name": "executionDirection",
"type": {
"defined": {
"name": "Direction"
}
}
}
]
}
},
{
"name": "StopLossExecutedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "sequenceNumber",
"type": "u64"
},
{
"name": "prevSequenceNumberSlot",
"type": "u64"
},
{
"name": "assetId",
"type": "u64"
},
{
"name": "executionDirection",
"type": {
"defined": {
"name": "Direction"
}
}
},
{
"name": "orderSequenceNumber",
"type": "u64"
}
]
}
},
{
"name": "TriggerOrderPlacedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "sequenceNumber",
"type": "u64"
},
{
"name": "prevSequenceNumberSlot",
"type": "u64"
},
{
"name": "assetId",
"type": "u64"
},
{
"name": "conditionalOrderIndex",
"type": "u8"
},
{
"name": "triggerPrice",
"type": {
"defined": {
"name": "Ticks"
}
}
},
{
"name": "executionPrice",
"type": {
"defined": {
"name": "Ticks"
}
}
},
{
"name": "tradeSide",
"type": {
"defined": {
"name": "Side"
}
}
},
{
"name": "triggerDirection",
"type": {
"defined": {
"name": "Direction"
}
}
},
{
"name": "orderKind",
"type": {
"defined": {
"name": "StopLossOrderKind"
}
}
},
{
"name": "maxSize",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "fillableSize",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "filledSize",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "usePercent",
"type": "bool"
},
{
"name": "percent",
"type": "u8"
},
{
"name": "positionSequenceNumber",
"type": "u8"
},
{
"name": "attachedOrderId",
"type": {
"defined": {
"name": "OptionalFIFOOrderId"
}
}
}
]
}
},
{
"name": "TriggerOrderCancelledEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "sequenceNumber",
"type": "u64"
},
{
"name": "prevSequenceNumberSlot",
"type": "u64"
},
{
"name": "assetId",
"type": "u64"
},
{
"name": "conditionalOrderIndex",
"type": "u8"
},
{
"name": "triggerDirection",
"type": {
"defined": {
"name": "Direction"
}
}
}
]
}
},
{
"name": "TriggerOrderExecutedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "sequenceNumber",
"type": "u64"
},
{
"name": "prevSequenceNumberSlot",
"type": "u64"
},
{
"name": "assetId",
"type": "u64"
},
{
"name": "conditionalOrderIndex",
"type": "u8"
},
{
"name": "triggerDirection",
"type": {
"defined": {
"name": "Direction"
}
}
},
{
"name": "orderSequenceNumber",
"type": "u64"
}
]
}
},
{
"name": "PingInvalidatedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "sequenceNumber",
"type": "u64"
},
{
"name": "prevSequenceNumberSlot",
"type": "u64"
},
{
"name": "assetId",
"type": "u64"
},
{
"name": "conditionalOrderIndex",
"type": "u8"
},
{
"name": "pre",
"type": {
"defined": {
"name": "ConditionalOrderPingSnapshot"
}
}
},
{
"name": "post",
"type": {
"defined": {
"name": "ConditionalOrderPingSnapshot"
}
}
},
{
"name": "currentPositionSequenceNumber",
"type": "u8"
}
]
}
},
{
"name": "PingActivatedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "sequenceNumber",
"type": "u64"
},
{
"name": "prevSequenceNumberSlot",
"type": "u64"
},
{
"name": "assetId",
"type": "u64"
},
{
"name": "conditionalOrderIndex",
"type": "u8"
},
{
"name": "pre",
"type": {
"defined": {
"name": "ConditionalOrderPingSnapshot"
}
}
},
{
"name": "post",
"type": {
"defined": {
"name": "ConditionalOrderPingSnapshot"
}
}
},
{
"name": "bookOrderRemainingBaseLots",
"type": {
"option": {
"defined": {
"name": "BaseLots"
}
}
}
}
]
}
},
{
"name": "MarketAddedEvent",
"type": {
"kind": "struct",
"fields": []
}
},
{
"name": "MarketStatusChangedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "previousMarketStatus",
"type": {
"defined": {
"name": "MarketStatus"
}
}
},
{
"name": "newMarketStatus",
"type": {
"defined": {
"name": "MarketStatus"
}
}
}
]
}
},
{
"name": "MarketClosedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "previousMarketStatus",
"type": {
"defined": {
"name": "MarketStatus"
}
}
},
{
"name": "finalizedMarkPrice",
"type": {
"defined": {
"name": "Ticks"
}
}
}
]
}
},
{
"name": "MarketTombstonedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "previousMarketStatus",
"type": {
"defined": {
"name": "MarketStatus"
}
}
},
{
"name": "finalSequenceNumber",
"type": "u64"
},
{
"name": "finalTradeSequenceNumber",
"type": "u64"
},
{
"name": "finalOrderSequenceNumber",
"type": "u64"
}
]
}
},
{
"name": "ShutdownClosePositionsEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "longTrader",
"type": "pubkey"
},
{
"name": "shortTrader",
"type": "pubkey"
},
{
"name": "assetId",
"type": "u32"
},
{
"name": "baseLotsClosed",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "settlementPrice",
"type": {
"defined": {
"name": "Ticks"
}
}
},
{
"name": "tradeSequenceNumber",
"type": "u64"
},
{
"name": "sequenceNumber",
"type": "u64"
}
]
}
},
{
"name": "MarketDeletedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "assetId",
"type": "u32"
},
{
"name": "lamportsReclaimed",
"type": "u64"
}
]
}
},
{
"name": "ExchangeStatusChangedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "previousBits",
"type": "u8"
},
{
"name": "newBits",
"type": "u8"
},
{
"name": "authority",
"type": "pubkey"
}
]
}
},
{
"name": "MarketParametersUpdatedEvent",
"type": {
"kind": "struct",
"fields": []
}
},
{
"name": "FundingParametersUpdatedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "symbol",
"type": {
"defined": {
"name": "Symbol"
}
}
},
{
"name": "newFundingIntervalSeconds",
"type": {
"option": {
"defined": {
"name": "FundingRateUnitInSeconds"
}
}
}
},
{
"name": "newFundingPeriodSeconds",
"type": {
"option": {
"defined": {
"name": "FundingRateUnitInSeconds"
}
}
}
},
{
"name": "newMaxFundingRate",
"type": {
"option": {
"defined": {
"name": "SignedQuoteLotsPerBaseLot"
}
}
}
}
]
}
},
{
"name": "FeesClaimedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "amount",
"type": "u64"
}
]
}
},
{
"name": "SetPermissionEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "authority",
"type": "pubkey"
},
{
"name": "user",
"type": "pubkey"
},
{
"name": "previousPermission",
"type": "u64"
},
{
"name": "newPermission",
"type": "u64"
},
{
"name": "previousExpiresAtTimestamp",
"type": "i64"
},
{
"name": "newExpiresAtTimestamp",
"type": "i64"
},
{
"name": "previousNumSignerActionsRemaining",
"type": "i64"
},
{
"name": "newNumSignerActionsRemaining",
"type": "i64"
},
{
"name": "created",
"type": "bool"
}
]
}
},
{
"name": "PricesUpdatedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "oracleSigner",
"type": {
"option": "pubkey"
}
},
{
"name": "assetSymbol",
"type": {
"defined": {
"name": "Symbol"
}
}
},
{
"name": "assetId",
"type": "u32"
},
{
"name": "newBestBid",
"type": {
"option": {
"defined": {
"name": "Ticks"
}
}
}
},
{
"name": "newBestAsk",
"type": {
"option": {
"defined": {
"name": "Ticks"
}
}
}
},
{
"name": "newLastTrade",
"type": {
"option": {
"defined": {
"name": "Ticks"
}
}
}
},
{
"name": "newExchangeSpotPrice",
"type": {
"option": {
"defined": {
"name": "Ticks"
}
}
}
},
{
"name": "newExchangePerpPrice",
"type": {
"option": {
"defined": {
"name": "Ticks"
}
}
}
},
{
"name": "newMidSpotDiffEmaTicks",
"type": {
"option": {
"defined": {
"name": "SignedTicks"
}
}
}
},
{
"name": "newMarkPrice",
"type": {
"defined": {
"name": "Ticks"
}
}
},
{
"name": "cumulativeFundingRate",
"type": {
"option": {
"defined": {
"name": "SignedQuoteLotsPerBaseLot"
}
}
}
},
{
"name": "settledContribution",
"type": {
"option": {
"defined": {
"name": "SignedQuoteLotsPerBaseLot"
}
}
}
},
{
"name": "intervalAccumulator",
"type": {
"option": {
"defined": {
"name": "SignedQuoteLotsPerBaseLotUpcasted"
}
}
}
},
{
"name": "assetSequenceNumber",
"type": "u64"
},
{
"name": "prevAssetSequenceNumberSlot",
"type": "u64"
}
]
}
},
{
"name": "LiquidationEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "liquidator",
"type": "pubkey"
},
{
"name": "liquidatedTrader",
"type": "pubkey"
},
{
"name": "assetId",
"type": "u32"
},
{
"name": "liquidationSize",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "markPrice",
"type": {
"defined": {
"name": "Ticks"
}
}
},
{
"name": "baseLotsFilled",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "quoteLotsFilled",
"type": {
"defined": {
"name": "QuoteLots"
}
}
},
{
"name": "positionClosed",
"type": "bool"
}
]
}
},
{
"name": "LiquidationTransferSummaryEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "liquidatee",
"type": "pubkey"
},
{
"name": "liquidator",
"type": "pubkey"
},
{
"name": "totalTransfers",
"type": "u32"
},
{
"name": "liquidateeCollateralChange",
"type": {
"defined": {
"name": "SignedQuoteLots"
}
}
},
{
"name": "liquidatorCollateralChange",
"type": {
"defined": {
"name": "SignedQuoteLots"
}
}
},
{
"name": "haircutCollected",
"type": {
"defined": {
"name": "QuoteLots"
}
}
}
]
}
},
{
"name": "LiquidationTransferEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "liquidatee",
"type": "pubkey"
},
{
"name": "liquidator",
"type": "pubkey"
},
{
"name": "assetId",
"type": "u64"
},
{
"name": "baseLotsTransferred",
"type": {
"defined": {
"name": "SignedBaseLots"
}
}
},
{
"name": "virtualQuoteLotsTransferred",
"type": {
"defined": {
"name": "SignedQuoteLots"
}
}
},
{
"name": "haircutRate",
"type": "u16"
},
{
"name": "liquidateeCollateralChange",
"type": {
"defined": {
"name": "SignedQuoteLots"
}
}
},
{
"name": "liquidatorCollateralChange",
"type": {
"defined": {
"name": "SignedQuoteLots"
}
}
}
]
}
},
{
"name": "CloseMatchedPositionsEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "caller",
"type": "pubkey"
},
{
"name": "closedShort",
"type": "pubkey"
},
{
"name": "closedLong",
"type": "pubkey"
},
{
"name": "inProfitAccount",
"type": "pubkey"
},
{
"name": "assetId",
"type": "u64"
},
{
"name": "baseLotsClosed",
"type": {
"defined": {
"name": "SignedBaseLots"
}
}
},
{
"name": "atLossCloseValue",
"type": {
"defined": {
"name": "SignedQuoteLots"
}
}
},
{
"name": "inProfitCloseValue",
"type": {
"defined": {
"name": "SignedQuoteLots"
}
}
},
{
"name": "atLossCollateralChange",
"type": {
"defined": {
"name": "SignedQuoteLots"
}
}
},
{
"name": "inProfitCollateralChange",
"type": {
"defined": {
"name": "SignedQuoteLots"
}
}
}
]
}
},
{
"name": "NameSuccessorEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "authority",
"type": "pubkey"
},
{
"name": "newAuthority",
"type": "pubkey"
}
]
}
},
{
"name": "ClaimAuthorityEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "previousAuthority",
"type": "pubkey"
},
{
"name": "newAuthority",
"type": "pubkey"
}
]
}
},
{
"name": "AuthorityChangedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "previousAuthority",
"type": "pubkey"
},
{
"name": "newAuthority",
"type": "pubkey"
},
{
"name": "authorityType",
"type": {
"defined": {
"name": "AuthorityType"
}
}
}
]
}
},
{
"name": "WithdrawStateTransitionEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "amount",
"type": {
"defined": {
"name": "QuoteLots"
}
}
},
{
"name": "fromState",
"type": "u8"
},
{
"name": "toState",
"type": "u8"
},
{
"name": "reason",
"type": "u8"
},
{
"name": "transitionCount",
"type": "u16"
},
{
"name": "nodeIndex",
"type": {
"defined": {
"name": "NodePointer"
}
}
}
]
}
},
{
"name": "PnLEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "assetId",
"type": "u32"
},
{
"name": "assetSymbol",
"type": {
"defined": {
"name": "Symbol"
}
}
},
{
"name": "realizedPnl",
"type": {
"defined": {
"name": "SignedQuoteLots"
}
}
},
{
"name": "fundingPayment",
"type": {
"defined": {
"name": "SignedQuoteLots"
}
}
},
{
"name": "baseLotsBefore",
"type": {
"defined": {
"name": "SignedBaseLots"
}
}
},
{
"name": "baseLotsAfter",
"type": {
"defined": {
"name": "SignedBaseLots"
}
}
},
{
"name": "virtualQuoteLotsBefore",
"type": {
"defined": {
"name": "SignedQuoteLots"
}
}
},
{
"name": "virtualQuoteLotsAfter",
"type": {
"defined": {
"name": "SignedQuoteLots"
}
}
}
]
}
},
{
"name": "AdminParameterUpdatedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "authority",
"type": "pubkey"
},
{
"name": "assetSymbol",
"type": {
"option": {
"defined": {
"name": "Symbol"
}
}
}
},
{
"name": "assetId",
"type": {
"option": "u32"
}
},
{
"name": "updateKind",
"type": {
"defined": {
"name": "AdminParameterUpdateKind"
}
}
}
]
}
},
{
"name": "EscrowAccountCreatedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "authority",
"type": "pubkey"
},
{
"name": "capacity",
"type": "u64"
}
]
}
},
{
"name": "EscrowRequestCreatedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "receiverAuthority",
"type": "pubkey"
},
{
"name": "senderAuthority",
"type": "pubkey"
},
{
"name": "sequenceNumber",
"type": "u64"
},
{
"name": "senderPdaIndex",
"type": "u8"
},
{
"name": "senderSubaccountIndex",
"type": "u8"
},
{
"name": "receiverPdaIndex",
"type": "u8"
},
{
"name": "receiverSubaccountIndex",
"type": "u8"
},
{
"name": "expirationOffset",
"type": "u32"
},
{
"name": "initialSlot",
"type": "u64"
},
{
"name": "actions",
"type": {
"array": [
{
"defined": {
"name": "EscrowAction"
}
},
4
]
}
}
]
}
},
{
"name": "EscrowRequestAcceptedEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "receiverAuthority",
"type": "pubkey"
},
{
"name": "sequenceNumber",
"type": "u64"
}
]
}
},
{
"name": "EscrowRequestCancelledEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "receiverAuthority",
"type": "pubkey"
},
{
"name": "sequenceNumber",
"type": "u64"
},
{
"name": "reason",
"type": {
"defined": {
"name": "EscrowRequestCancelReason"
}
}
}
]
}
},
{
"name": "ChangeMarketStatusParams",
"docs": [
"Borsh payload for changing an orderbook market status."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "nextMarketStatus",
"type": {
"defined": {
"name": "MarketStatus"
}
}
}
]
}
},
{
"name": "AuthorizedForceCancelParams",
"docs": [
"Borsh payload for authority-driven force cancellation by remaining side size."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "remainingBidBaseLots",
"type": {
"defined": {
"name": "BaseLots"
}
}
},
{
"name": "remainingAskBaseLots",
"type": {
"defined": {
"name": "BaseLots"
}
}
}
]
}
},
{
"name": "AuthorizedForceCancelByIdParams",
"docs": [
"Borsh payload for authority-driven force cancellation by order id."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "bidOrderIds",
"type": {
"vec": {
"defined": {
"name": "CancelId"
}
}
}
},
{
"name": "askOrderIds",
"type": {
"vec": {
"defined": {
"name": "CancelId"
}
}
}
}
]
}
},
{
"name": "CreateEscrowAccountParams",
"docs": [
"Borsh payload for creating an escrow account."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "capacity",
"type": "u64"
}
]
}
},
{
"name": "EscrowParticipantMetadata",
"docs": [
"Trader PDA/subaccount metadata stored with escrow requests."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "senderPdaIndex",
"type": "u8"
},
{
"name": "senderSubaccountIndex",
"type": "u8"
},
{
"name": "receiverPdaIndex",
"type": "u8"
},
{
"name": "receiverSubaccountIndex",
"type": "u8"
}
]
}
},
{
"name": "CreateEscrowRequestParams",
"docs": [
"Borsh payload for creating an escrow request."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "participantMetadata",
"type": {
"defined": {
"name": "EscrowParticipantMetadata"
}
}
},
{
"name": "lastValidSlot",
"type": {
"option": "u64"
}
},
{
"name": "actions",
"type": {
"vec": {
"defined": {
"name": "EscrowAction"
}
}
}
}
]
}
},
{
"name": "CancelEscrowRequestParams",
"docs": [
"Borsh payload for cancelling an escrow request by sequence number."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "sequenceNumber",
"type": "u64"
}
]
}
},
{
"name": "UpsertEscrowRequestParams",
"docs": [
"Borsh payload for upserting an escrow request."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "participantMetadata",
"type": {
"defined": {
"name": "EscrowParticipantMetadata"
}
}
},
{
"name": "action",
"type": {
"defined": {
"name": "EscrowAction"
}
}
}
]
}
},
{
"name": "RegisterSplineParams",
"docs": [
"Empty Borsh payload for registering a spline trader."
],
"type": {
"kind": "struct",
"fields": []
}
},
{
"name": "UpdateCommodityMarketStateInstruction",
"docs": [
"Borsh payload for updating commodity market state and mark price inputs."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "marketState",
"type": {
"defined": {
"name": "CommodityMarketState"
}
}
},
{
"name": "lastKnownIndexPrice",
"type": {
"option": {
"defined": {
"name": "Ticks"
}
}
}
},
{
"name": "lastIndexExpiryTimestamp",
"type": "u64"
},
{
"name": "emaPeriodSlots",
"type": {
"option": "u64"
}
}
]
}
},
{
"name": "UpdatePerpIsolatedOnlyInstruction",
"docs": [
"Borsh payload for updating isolated-only metadata for a perp asset."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "perpAssetSymbol",
"type": {
"defined": {
"name": "Symbol"
}
}
},
{
"name": "isolatedOnly",
"type": "u8"
}
]
}
},
{
"name": "UpdatePerpLeverageTiersInstruction",
"docs": [
"Borsh payload for updating leverage tiers for a perp asset."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "perpAssetSymbol",
"type": {
"defined": {
"name": "Symbol"
}
}
},
{
"name": "leverageTiers",
"type": {
"defined": {
"name": "LeverageTiers"
}
}
}
]
}
},
{
"name": "UpdatePerpOpenInterestCapInstruction",
"docs": [
"Borsh payload for updating open interest cap for a perp asset."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "perpAssetSymbol",
"type": {
"defined": {
"name": "Symbol"
}
}
},
{
"name": "openInterestCap",
"type": {
"defined": {
"name": "BaseLots"
}
}
}
]
}
},
{
"name": "UPnlRiskFactor",
"docs": [
"uPnL risk factor encoded as basis points."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "inner",
"type": "u64"
}
]
}
},
{
"name": "UpdatePerpUPnlRiskFactorInstruction",
"docs": [
"Borsh payload for updating uPnL risk factor for a perp asset."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "perpAssetSymbol",
"type": {
"defined": {
"name": "Symbol"
}
}
},
{
"name": "upnlRiskFactor",
"type": {
"defined": {
"name": "UPnlRiskFactor"
}
}
}
]
}
},
{
"name": "UpdatePerpUPnlRiskFactorForWithdrawalsInstruction",
"docs": [
"Borsh payload for updating withdrawal uPnL risk factor for a perp asset."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "perpAssetSymbol",
"type": {
"defined": {
"name": "Symbol"
}
}
},
{
"name": "upnlRiskFactorForWithdrawals",
"type": {
"defined": {
"name": "UPnlRiskFactor"
}
}
}
]
}
},
{
"name": "UpdatePerpCancelRiskFactorInstruction",
"docs": [
"Borsh payload for updating cancel-order risk factor for a perp asset."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "perpAssetSymbol",
"type": {
"defined": {
"name": "Symbol"
}
}
},
{
"name": "cancelOrderRiskFactor",
"type": "u16"
}
]
}
},
{
"name": "UpdatePerpMarkPriceParametersInstruction",
"docs": [
"Borsh payload for updating mark price calculation parameters for a perp asset."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "perpAssetSymbol",
"type": {
"defined": {
"name": "Symbol"
}
}
},
{
"name": "emaPeriodSlots",
"type": {
"option": "u64"
}
},
{
"name": "emaDiffRadius",
"type": {
"option": "u64"
}
},
{
"name": "bookPriceRadius",
"type": {
"option": "u64"
}
},
{
"name": "commoditiesAfterHoursRadiusBps",
"type": {
"option": "u64"
}
},
{
"name": "adjustedExchangeSpotPriceWeight",
"type": {
"option": "u64"
}
},
{
"name": "bookPriceWeight",
"type": {
"option": "u64"
}
},
{
"name": "exchangePerpPriceWeight",
"type": {
"option": "u64"
}
},
{
"name": "spotPriceStaleThreshold",
"type": {
"option": "u64"
}
},
{
"name": "bookPriceStaleThreshold",
"type": {
"option": "u64"
}
},
{
"name": "perpPriceStaleThreshold",
"type": {
"option": "u64"
}
},
{
"name": "riskActionPriceValidityRules",
"type": {
"option": {
"array": [
{
"array": [
{
"array": [
{
"defined": {
"name": "ValidationRule"
}
},
8
]
},
4
]
},
8
]
}
}
},
{
"name": "oracleDivergenceRadius",
"type": {
"option": "u16"
}
},
{
"name": "minOracleResponses",
"type": {
"option": "u8"
}
}
]
}
},
{
"name": "UpdateTraderFeesParams",
"docs": [
"Borsh payload for updating trader fee override multipliers."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "makerFeeOverrideMultiplier",
"type": "i8"
},
{
"name": "takerFeeOverrideMultiplier",
"type": "i8"
}
]
}
},
{
"name": "UpdateMarketFeesParams",
"docs": [
"Borsh payload for updating market default fees."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "defaultTakerFeeMicro",
"type": {
"option": "u32"
}
},
{
"name": "defaultMakerFeeMicro",
"type": {
"option": "i32"
}
}
]
}
},
{
"name": "UpdateWithdrawRateLimitsParams",
"docs": [
"Borsh payload for updating withdraw throttle rate limits."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "maxBudget",
"type": {
"option": "u64"
}
},
{
"name": "replenishAmountPerSlot",
"type": {
"option": "u64"
}
}
]
}
},
{
"name": "UpdateWithdrawParametersParams",
"docs": [
"Borsh payload for updating withdraw cooldown and fee parameters."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "depositCooldownPeriodInSlots",
"type": {
"option": "u64"
}
},
{
"name": "withdrawalFee",
"type": {
"option": "u64"
}
},
{
"name": "enqueueingFee",
"type": {
"option": "u64"
}
}
]
}
},
{
"name": "UpdateAuthoritiesParams",
"docs": [
"Borsh payload for root authority updates to subordinate authorities."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "newRiskAuthority",
"type": {
"option": "pubkey"
}
},
{
"name": "newMarketAuthority",
"type": {
"option": "pubkey"
}
},
{
"name": "newOracleAuthority",
"type": {
"option": "pubkey"
}
},
{
"name": "newCancelAuthority",
"type": {
"option": "pubkey"
}
},
{
"name": "newBackstopAuthority",
"type": {
"option": "pubkey"
}
},
{
"name": "newAdlAuthority",
"type": {
"option": "pubkey"
}
}
]
}
},
{
"name": "ArenaType",
"docs": [
"Arena account family to initialize."
],
"type": {
"kind": "enum",
"variants": [
{
"name": "GlobalTraderIndex"
},
{
"name": "ActiveTraderBuffer"
}
]
}
},
{
"name": "InitializeArenaParams",
"docs": [
"Borsh payload for initializing a new arena account."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "arenaType",
"type": {
"defined": {
"name": "ArenaType"
}
}
}
]
}
},
{
"name": "RemoveOracleInstruction",
"docs": [
"Borsh payload for removing oracle public keys from the perp asset map."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "oracleKeys",
"type": {
"vec": "pubkey"
}
}
]
}
},
{
"name": "RemoveAllOraclesInstruction",
"docs": [
"Borsh payload for removing all oracle keys for a perp asset."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "perpAssetSymbol",
"type": {
"defined": {
"name": "Symbol"
}
}
}
]
}
},
{
"name": "UpdateFundingParametersInstruction",
"docs": [
"Borsh payload for updating funding parameters for a perp asset."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "perpAssetSymbol",
"type": {
"defined": {
"name": "Symbol"
}
}
},
{
"name": "fundingIntervalSeconds",
"type": {
"option": {
"defined": {
"name": "FundingRateUnitInSeconds"
}
}
}
},
{
"name": "fundingPeriodSeconds",
"type": {
"option": {
"defined": {
"name": "FundingRateUnitInSeconds"
}
}
}
},
{
"name": "maxFundingRate",
"type": {
"option": {
"defined": {
"name": "SignedQuoteLotsPerBaseLot"
}
}
}
}
]
}
},
{
"name": "UpdateSplinePositionLimitsConfigParams",
"docs": [
"Borsh payload for updating spline position-size limits and leverage decrease configuration."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "maxPositionSize",
"type": {
"option": {
"defined": {
"name": "PositionSizeLimit"
}
}
}
},
{
"name": "leverageDecreaseInBps",
"type": {
"option": "u32"
}
}
]
}
},
{
"name": "TraderFundsWithdrawnEnqueuedEvent",
"docs": [
"Viewer-safe alias for MarketEvent::TraderFundsWithdrawnEnqueued.",
"Uses the same payload layout as TraderFundsWithdrawnEvent."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "authority",
"type": "pubkey"
},
{
"name": "amount",
"type": "u64"
},
{
"name": "traderSequenceNumber",
"type": "u64"
},
{
"name": "traderPrevSequenceNumberSlot",
"type": "u64"
},
{
"name": "postWithdrawalBudget",
"type": "u64"
},
{
"name": "postQueueSize",
"type": "u64"
},
{
"name": "totalQueuedAmount",
"type": "u64"
},
{
"name": "withdrawQueueSequenceNumber",
"type": "u64"
},
{
"name": "withdrawQueuePrevSequenceNumberSlot",
"type": "u64"
}
]
}
},
{
"name": "TraderFundsWithdrawnDroppedEvent",
"docs": [
"Viewer-safe alias for MarketEvent::TraderFundsWithdrawnDropped.",
"Uses the same payload layout as TraderFundsWithdrawnEvent."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "trader",
"type": "pubkey"
},
{
"name": "authority",
"type": "pubkey"
},
{
"name": "amount",
"type": "u64"
},
{
"name": "traderSequenceNumber",
"type": "u64"
},
{
"name": "traderPrevSequenceNumberSlot",
"type": "u64"
},
{
"name": "postWithdrawalBudget",
"type": "u64"
},
{
"name": "postQueueSize",
"type": "u64"
},
{
"name": "totalQueuedAmount",
"type": "u64"
},
{
"name": "withdrawQueueSequenceNumber",
"type": "u64"
},
{
"name": "withdrawQueuePrevSequenceNumberSlot",
"type": "u64"
}
]
}
}
],
"events": [
{
"name": "SlotContextEvent",
"docs": [
"MarketEvent::SlotContext Borsh variant 0.",
"Payload type: SlotContextEvent."
],
"discriminator": [
0
]
},
{
"name": "MarketEventHeader",
"docs": [
"MarketEvent::Header Borsh variant 1.",
"Payload type: MarketEventHeader."
],
"discriminator": [
1
]
},
{
"name": "OrderPlacedEvent",
"docs": [
"MarketEvent::OrderPlaced Borsh variant 2.",
"Payload type: OrderPlacedEvent."
],
"discriminator": [
2
]
},
{
"name": "OrderFilledEvent",
"docs": [
"MarketEvent::OrderFilled Borsh variant 3.",
"Payload type: OrderFilledEvent."
],
"discriminator": [
3
]
},
{
"name": "OrderRejectedEvent",
"docs": [
"MarketEvent::OrderRejected Borsh variant 4.",
"Payload type: OrderRejectedEvent."
],
"discriminator": [
4
]
},
{
"name": "SplineFilledEvent",
"docs": [
"MarketEvent::SplineFilled Borsh variant 5.",
"Payload type: SplineFilledEvent."
],
"discriminator": [
5
]
},
{
"name": "TradeSummaryEvent",
"docs": [
"MarketEvent::TradeSummary Borsh variant 6.",
"Payload type: TradeSummaryEvent."
],
"discriminator": [
6
]
},
{
"name": "OrderModifiedEvent",
"docs": [
"MarketEvent::OrderModified Borsh variant 7.",
"Payload type: OrderModifiedEvent."
],
"discriminator": [
7
]
},
{
"name": "MarketSummaryEvent",
"docs": [
"MarketEvent::MarketSummary Borsh variant 8.",
"Payload type: MarketSummaryEvent."
],
"discriminator": [
8
]
},
{
"name": "TraderRegisteredEvent",
"docs": [
"MarketEvent::TraderRegistered Borsh variant 9.",
"Payload type: TraderRegisteredEvent."
],
"discriminator": [
9
]
},
{
"name": "TraderCollateralTransferredEvent",
"docs": [
"MarketEvent::TraderCollateralTransferred Borsh variant 10.",
"Payload type: TraderCollateralTransferredEvent."
],
"discriminator": [
10
]
},
{
"name": "TraderActivatedEvent",
"docs": [
"MarketEvent::TraderActivated Borsh variant 11.",
"Payload type: TraderActivatedEvent."
],
"discriminator": [
11
]
},
{
"name": "TraderDeactivatedEvent",
"docs": [
"MarketEvent::TraderDeactivated Borsh variant 12.",
"Payload type: TraderDeactivatedEvent."
],
"discriminator": [
12
]
},
{
"name": "TraderFundsDepositedEvent",
"docs": [
"MarketEvent::TraderFundsDeposited Borsh variant 13.",
"Payload type: TraderFundsDepositedEvent."
],
"discriminator": [
13
]
},
{
"name": "TraderFundsWithdrawnEvent",
"docs": [
"MarketEvent::TraderFundsWithdrawn Borsh variant 14.",
"Payload type: TraderFundsWithdrawnEvent."
],
"discriminator": [
14
]
},
{
"name": "TraderFundsWithdrawnEnqueuedEvent",
"docs": [
"MarketEvent::TraderFundsWithdrawnEnqueued Borsh variant 15.",
"Payload type: TraderFundsWithdrawnEvent."
],
"discriminator": [
15
]
},
{
"name": "TraderFundsWithdrawnDroppedEvent",
"docs": [
"MarketEvent::TraderFundsWithdrawnDropped Borsh variant 16.",
"Payload type: TraderFundsWithdrawnEvent."
],
"discriminator": [
16
]
},
{
"name": "TraderWithdrawCancelledEvent",
"docs": [
"MarketEvent::TraderWithdrawCancelled Borsh variant 17.",
"Payload type: TraderWithdrawCancelledEvent."
],
"discriminator": [
17
]
},
{
"name": "TraderFundingSettledEvent",
"docs": [
"MarketEvent::TraderFundingSettled Borsh variant 18.",
"Payload type: TraderFundingSettledEvent."
],
"discriminator": [
18
]
},
{
"name": "SplineRegisteredEvent",
"docs": [
"MarketEvent::SplineRegistered Borsh variant 19.",
"Payload type: SplineRegisteredEvent."
],
"discriminator": [
19
]
},
{
"name": "SplineActivatedEvent",
"docs": [
"MarketEvent::SplineActivated Borsh variant 20.",
"Payload type: SplineActivatedEvent."
],
"discriminator": [
20
]
},
{
"name": "SplineDeactivatedEvent",
"docs": [
"MarketEvent::SplineDeactivated Borsh variant 21.",
"Payload type: SplineDeactivatedEvent."
],
"discriminator": [
21
]
},
{
"name": "SplinePriceUpdatedEvent",
"docs": [
"MarketEvent::SplinePriceUpdated Borsh variant 22.",
"Payload type: SplinePriceUpdatedEvent."
],
"discriminator": [
22
]
},
{
"name": "SplineParametersUpdatedEvent",
"docs": [
"MarketEvent::SplineParametersUpdated Borsh variant 23.",
"Payload type: SplineParametersUpdatedEvent."
],
"discriminator": [
23
]
},
{
"name": "MarketAddedEvent",
"docs": [
"MarketEvent::MarketAdded Borsh variant 24.",
"Payload type: MarketAddedEvent."
],
"discriminator": [
24
]
},
{
"name": "MarketStatusChangedEvent",
"docs": [
"MarketEvent::MarketStatusChanged Borsh variant 25.",
"Payload type: MarketStatusChangedEvent."
],
"discriminator": [
25
]
},
{
"name": "MarketParametersUpdatedEvent",
"docs": [
"MarketEvent::MarketParametersUpdated Borsh variant 26.",
"Payload type: MarketParametersUpdatedEvent."
],
"discriminator": [
26
]
},
{
"name": "FundingParametersUpdatedEvent",
"docs": [
"MarketEvent::FundingParametersUpdated Borsh variant 27.",
"Payload type: FundingParametersUpdatedEvent."
],
"discriminator": [
27
]
},
{
"name": "FeesClaimedEvent",
"docs": [
"MarketEvent::FeesClaimed Borsh variant 28.",
"Payload type: FeesClaimedEvent."
],
"discriminator": [
28
]
},
{
"name": "PricesUpdatedEvent",
"docs": [
"MarketEvent::PricesUpdated Borsh variant 29.",
"Payload type: PricesUpdatedEvent."
],
"discriminator": [
29
]
},
{
"name": "LiquidationTransferSummaryEvent",
"docs": [
"MarketEvent::LiquidationTransferSummary Borsh variant 30.",
"Payload type: LiquidationTransferSummaryEvent."
],
"discriminator": [
30
]
},
{
"name": "LiquidationTransferEvent",
"docs": [
"MarketEvent::LiquidationTransfer Borsh variant 31.",
"Payload type: LiquidationTransferEvent."
],
"discriminator": [
31
]
},
{
"name": "LiquidationEvent",
"docs": [
"MarketEvent::Liquidation Borsh variant 32.",
"Payload type: LiquidationEvent."
],
"discriminator": [
32
]
},
{
"name": "CloseMatchedPositionsEvent",
"docs": [
"MarketEvent::CloseMatchedPositions Borsh variant 33.",
"Payload type: CloseMatchedPositionsEvent."
],
"discriminator": [
33
]
},
{
"name": "NameSuccessorEvent",
"docs": [
"MarketEvent::NameSuccessor Borsh variant 34.",
"Payload type: NameSuccessorEvent."
],
"discriminator": [
34
]
},
{
"name": "ClaimAuthorityEvent",
"docs": [
"MarketEvent::ClaimAuthority Borsh variant 35.",
"Payload type: ClaimAuthorityEvent."
],
"discriminator": [
35
]
},
{
"name": "WithdrawStateTransitionEvent",
"docs": [
"MarketEvent::WithdrawStateTransition Borsh variant 36.",
"Payload type: WithdrawStateTransitionEvent."
],
"discriminator": [
36
]
},
{
"name": "PnLEvent",
"docs": [
"MarketEvent::PnL Borsh variant 37.",
"Payload type: PnLEvent."
],
"discriminator": [
37
]
},
{
"name": "StopLossPlacedEvent",
"docs": [
"MarketEvent::StopLossPlaced Borsh variant 38.",
"Payload type: StopLossPlacedEvent."
],
"discriminator": [
38
]
},
{
"name": "StopLossCancelledEvent",
"docs": [
"MarketEvent::StopLossCancelled Borsh variant 39.",
"Payload type: StopLossCancelledEvent."
],
"discriminator": [
39
]
},
{
"name": "StopLossExecutedEvent",
"docs": [
"MarketEvent::StopLossExecuted Borsh variant 40.",
"Payload type: StopLossExecutedEvent."
],
"discriminator": [
40
]
},
{
"name": "ExchangeStatusChangedEvent",
"docs": [
"MarketEvent::ExchangeStatusChanged Borsh variant 41.",
"Payload type: ExchangeStatusChangedEvent."
],
"discriminator": [
41
]
},
{
"name": "TraderCapabilitiesEnabledEvent",
"docs": [
"MarketEvent::TraderCapabilitiesEnabled Borsh variant 42.",
"Payload type: TraderCapabilitiesEnabledEvent."
],
"discriminator": [
42
]
},
{
"name": "TraderFundsWithdrawnFeePaymentEvent",
"docs": [
"MarketEvent::TraderFundsWithdrawnFeePayment Borsh variant 43.",
"Payload type: TraderFundsWithdrawnFeePaymentEvent."
],
"discriminator": [
43
]
},
{
"name": "OrderPacketEvent",
"docs": [
"MarketEvent::OrderPacket Borsh variant 44.",
"Payload type: OrderPacketEvent."
],
"discriminator": [
44
]
},
{
"name": "SetPermissionEvent",
"docs": [
"MarketEvent::SetPermission Borsh variant 45.",
"Payload type: SetPermissionEvent."
],
"discriminator": [
45
]
},
{
"name": "AuthorityChangedEvent",
"docs": [
"MarketEvent::AuthorityChanged Borsh variant 46.",
"Payload type: AuthorityChangedEvent."
],
"discriminator": [
46
]
},
{
"name": "TraderDelegatedEvent",
"docs": [
"MarketEvent::TraderDelegated Borsh variant 47.",
"Payload type: TraderDelegatedEvent."
],
"discriminator": [
47
]
},
{
"name": "AdminParameterUpdatedEvent",
"docs": [
"MarketEvent::AdminParameterUpdated Borsh variant 48.",
"Payload type: AdminParameterUpdatedEvent."
],
"discriminator": [
48
]
},
{
"name": "TraderFeesUpdatedEvent",
"docs": [
"MarketEvent::TraderFeesUpdated Borsh variant 49.",
"Payload type: TraderFeesUpdatedEvent."
],
"discriminator": [
49
]
},
{
"name": "MarketClosedEvent",
"docs": [
"MarketEvent::MarketClosed Borsh variant 50.",
"Payload type: MarketClosedEvent."
],
"discriminator": [
50
]
},
{
"name": "MarketDeletedEvent",
"docs": [
"MarketEvent::MarketDeleted Borsh variant 51.",
"Payload type: MarketDeletedEvent."
],
"discriminator": [
51
]
},
{
"name": "EscrowAccountCreatedEvent",
"docs": [
"MarketEvent::EscrowAccountCreated Borsh variant 52.",
"Payload type: EscrowAccountCreatedEvent."
],
"discriminator": [
52
]
},
{
"name": "EscrowRequestCreatedEvent",
"docs": [
"MarketEvent::EscrowRequestCreated Borsh variant 53.",
"Payload type: EscrowRequestCreatedEvent."
],
"discriminator": [
53
]
},
{
"name": "EscrowRequestAcceptedEvent",
"docs": [
"MarketEvent::EscrowRequestAccepted Borsh variant 54.",
"Payload type: EscrowRequestAcceptedEvent."
],
"discriminator": [
54
]
},
{
"name": "EscrowRequestCancelledEvent",
"docs": [
"MarketEvent::EscrowRequestCancelled Borsh variant 55.",
"Payload type: EscrowRequestCancelledEvent."
],
"discriminator": [
55
]
},
{
"name": "SplinePriceUpdatedWithOrderingEvent",
"docs": [
"MarketEvent::SplinePriceUpdatedWithOrdering Borsh variant 56.",
"Payload type: SplinePriceUpdatedWithOrderingEvent."
],
"discriminator": [
56
]
},
{
"name": "SplineParametersUpdatedWithOrderingEvent",
"docs": [
"MarketEvent::SplineParametersUpdatedWithOrdering Borsh variant 57.",
"Payload type: SplineParametersUpdatedWithOrderingEvent."
],
"discriminator": [
57
]
},
{
"name": "TriggerOrderPlacedEvent",
"docs": [
"MarketEvent::TriggerOrderPlaced Borsh variant 58.",
"Payload type: TriggerOrderPlacedEvent."
],
"discriminator": [
58
]
},
{
"name": "TriggerOrderCancelledEvent",
"docs": [
"MarketEvent::TriggerOrderCancelled Borsh variant 59.",
"Payload type: TriggerOrderCancelledEvent."
],
"discriminator": [
59
]
},
{
"name": "TriggerOrderExecutedEvent",
"docs": [
"MarketEvent::TriggerOrderExecuted Borsh variant 60.",
"Payload type: TriggerOrderExecutedEvent."
],
"discriminator": [
60
]
},
{
"name": "PingInvalidatedEvent",
"docs": [
"MarketEvent::PingInvalidated Borsh variant 61.",
"Payload type: PingInvalidatedEvent."
],
"discriminator": [
61
]
},
{
"name": "PingActivatedEvent",
"docs": [
"MarketEvent::PingActivated Borsh variant 62.",
"Payload type: PingActivatedEvent."
],
"discriminator": [
62
]
},
{
"name": "SplinePositionLimitsConfigUpdatedEvent",
"docs": [
"MarketEvent::SplinePositionLimitsConfigUpdated Borsh variant 63.",
"Payload type: SplinePositionLimitsConfigUpdatedEvent."
],
"discriminator": [
63
]
},
{
"name": "MarketTombstonedEvent",
"docs": [
"MarketEvent::MarketTombstoned Borsh variant 64.",
"Payload type: MarketTombstonedEvent."
],
"discriminator": [
64
]
},
{
"name": "ShutdownClosePositionsEvent",
"docs": [
"MarketEvent::ShutdownClosePositions Borsh variant 65.",
"Payload type: ShutdownClosePositionsEvent."
],
"discriminator": [
65
]
},
{
"name": "OrderResidualDiscardedEvent",
"docs": [
"MarketEvent::OrderResidualDiscarded Borsh variant 66.",
"Payload type: OrderResidualDiscardedEvent."
],
"discriminator": [
66
]
}
],
"errors": []
}