fbonds-core
Version:
Banx protocol sdk
1,385 lines (1,384 loc) • 37.6 kB
TypeScript
export type Sanctum = {
"address": "5ocnV1qiCgaQR8Jb8xWnVbApfaygJ8tNoZfgPwsgx9kx";
"metadata": {
"name": "s_controller";
"version": "1.0.0";
"spec": "0.1.0";
};
"instructions": [
{
"name": "sync_sol_value";
"discriminator": [
236,
136,
209,
207,
135,
214,
148,
235
];
"accounts": [
{
"name": "lst_mint";
},
{
"name": "pool_state";
"writable": true;
},
{
"name": "lst_state_list";
"writable": true;
},
{
"name": "pool_reserves";
}
];
"args": [
{
"name": "lst_index";
"type": "u32";
}
];
},
{
"name": "swap_exact_in";
"discriminator": [
104,
104,
131,
86,
161,
189,
180,
216
];
"accounts": [
{
"name": "signer";
"signer": true;
},
{
"name": "src_lst_mint";
},
{
"name": "dst_lst_mint";
},
{
"name": "src_lst_acc";
"writable": true;
},
{
"name": "dst_lst_acc";
"writable": true;
},
{
"name": "protocol_fee_accumulator";
"writable": true;
},
{
"name": "src_lst_token_program";
},
{
"name": "dst_lst_token_program";
},
{
"name": "pool_state";
"writable": true;
},
{
"name": "lst_state_list";
"writable": true;
},
{
"name": "src_pool_reserves";
"writable": true;
},
{
"name": "dst_pool_reserves";
"writable": true;
}
];
"args": [
{
"name": "src_lst_value_calc_accs";
"type": "u8";
},
{
"name": "dst_lst_value_calc_accs";
"type": "u8";
},
{
"name": "src_lst_index";
"type": "u32";
},
{
"name": "dst_lst_index";
"type": "u32";
},
{
"name": "min_amount_out";
"type": "u64";
},
{
"name": "amount";
"type": "u64";
}
];
},
{
"name": "swap_exact_out";
"discriminator": [
250,
73,
101,
33,
38,
207,
75,
184
];
"accounts": [
{
"name": "signer";
"signer": true;
},
{
"name": "src_lst_mint";
},
{
"name": "dst_lst_mint";
},
{
"name": "src_lst_acc";
"writable": true;
},
{
"name": "dst_lst_acc";
"writable": true;
},
{
"name": "protocol_fee_accumulator";
"writable": true;
},
{
"name": "src_lst_token_program";
},
{
"name": "dst_lst_token_program";
},
{
"name": "pool_state";
"writable": true;
},
{
"name": "lst_state_list";
"writable": true;
},
{
"name": "src_pool_reserves";
"writable": true;
},
{
"name": "dst_pool_reserves";
"writable": true;
}
];
"args": [
{
"name": "src_lst_value_calc_accs";
"type": "u8";
},
{
"name": "dst_lst_value_calc_accs";
"type": "u8";
},
{
"name": "src_lst_index";
"type": "u32";
},
{
"name": "dst_lst_index";
"type": "u32";
},
{
"name": "max_amount_in";
"type": "u64";
},
{
"name": "amount";
"type": "u64";
}
];
},
{
"name": "add_liquidity";
"discriminator": [
181,
157,
89,
67,
143,
182,
52,
72
];
"accounts": [
{
"name": "signer";
"signer": true;
},
{
"name": "lst_mint";
},
{
"name": "src_lst_acc";
"writable": true;
},
{
"name": "dst_lp_acc";
"writable": true;
},
{
"name": "lp_token_mint";
"writable": true;
},
{
"name": "protocol_fee_accumulator";
"writable": true;
},
{
"name": "lst_token_program";
},
{
"name": "lp_token_program";
},
{
"name": "pool_state";
"writable": true;
},
{
"name": "lst_state_list";
"writable": true;
},
{
"name": "pool_reserves";
"writable": true;
}
];
"args": [
{
"name": "lst_value_calc_accs";
"type": "u8";
},
{
"name": "lst_index";
"type": "u32";
},
{
"name": "lst_amount";
"type": "u64";
},
{
"name": "min_lp_out";
"type": "u64";
}
];
},
{
"name": "remove_liquidity";
"discriminator": [
80,
85,
209,
72,
24,
206,
177,
108
];
"accounts": [
{
"name": "signer";
"signer": true;
},
{
"name": "lst_mint";
},
{
"name": "dst_lst_acc";
"writable": true;
},
{
"name": "src_lp_acc";
"writable": true;
},
{
"name": "lp_token_mint";
"writable": true;
},
{
"name": "protocol_fee_accumulator";
"writable": true;
},
{
"name": "lst_token_program";
},
{
"name": "lp_token_program";
},
{
"name": "pool_state";
"writable": true;
},
{
"name": "lst_state_list";
"writable": true;
},
{
"name": "pool_reserves";
"writable": true;
}
];
"args": [
{
"name": "lst_value_calc_accs";
"type": "u8";
},
{
"name": "lst_index";
"type": "u32";
},
{
"name": "lp_token_amount";
"type": "u64";
},
{
"name": "min_lst_out";
"type": "u64";
}
];
},
{
"name": "disable_lst_input";
"discriminator": [
175,
149,
134,
239,
14,
114,
134,
32
];
"accounts": [
{
"name": "admin";
"signer": true;
},
{
"name": "lst_mint";
},
{
"name": "pool_state";
"writable": true;
},
{
"name": "lst_state_list";
"writable": true;
}
];
"args": [
{
"name": "index";
"type": "u32";
}
];
},
{
"name": "enable_lst_input";
"discriminator": [
171,
155,
70,
60,
234,
149,
220,
21
];
"accounts": [
{
"name": "admin";
"signer": true;
},
{
"name": "lst_mint";
},
{
"name": "pool_state";
"writable": true;
},
{
"name": "lst_state_list";
"writable": true;
}
];
"args": [
{
"name": "index";
"type": "u32";
}
];
},
{
"name": "add_lst";
"discriminator": [
224,
231,
28,
164,
108,
30,
89,
120
];
"accounts": [
{
"name": "admin";
"signer": true;
},
{
"name": "payer";
"writable": true;
"signer": true;
},
{
"name": "lst_mint";
},
{
"name": "pool_reserves";
"writable": true;
},
{
"name": "protocol_fee_accumulator";
"writable": true;
},
{
"name": "protocol_fee_accumulator_auth";
"writable": true;
},
{
"name": "sol_value_calculator";
},
{
"name": "pool_state";
},
{
"name": "lst_state_list";
"writable": true;
},
{
"name": "associated_token_program";
},
{
"name": "system_program";
},
{
"name": "lst_token_program";
}
];
"args": [];
},
{
"name": "remove_lst";
"discriminator": [
95,
222,
248,
198,
113,
213,
168,
226
];
"accounts": [
{
"name": "admin";
"signer": true;
},
{
"name": "refund_rent_to";
"writable": true;
},
{
"name": "lst_mint";
},
{
"name": "pool_reserves";
"writable": true;
},
{
"name": "protocol_fee_accumulator";
"writable": true;
},
{
"name": "protocol_fee_accumulator_auth";
"writable": true;
},
{
"name": "pool_state";
},
{
"name": "lst_state_list";
"writable": true;
},
{
"name": "lst_token_program";
}
];
"args": [
{
"name": "lst_index";
"type": "u32";
}
];
},
{
"name": "set_sol_value_calculator";
"discriminator": [
210,
250,
128,
153,
224,
210,
95,
166
];
"accounts": [
{
"name": "admin";
"signer": true;
},
{
"name": "lst_mint";
},
{
"name": "pool_state";
"writable": true;
},
{
"name": "pool_reserves";
},
{
"name": "lst_state_list";
"writable": true;
}
];
"args": [
{
"name": "lst_index";
"type": "u32";
}
];
},
{
"name": "set_admin";
"discriminator": [
251,
163,
0,
52,
91,
194,
187,
92
];
"accounts": [
{
"name": "current_admin";
"signer": true;
},
{
"name": "new_admin";
},
{
"name": "pool_state";
"writable": true;
}
];
"args": [];
},
{
"name": "set_protocol_fee";
"discriminator": [
173,
239,
83,
242,
136,
43,
144,
217
];
"accounts": [
{
"name": "admin";
"signer": true;
},
{
"name": "pool_state";
"writable": true;
}
];
"args": [
{
"name": "new_trading_protocol_fee_bps";
"type": {
"option": "u16";
};
},
{
"name": "new_lp_protocol_fee_bps";
"type": {
"option": "u16";
};
}
];
},
{
"name": "set_protocol_fee_beneficiary";
"discriminator": [
244,
245,
85,
116,
190,
55,
59,
88
];
"accounts": [
{
"name": "current_beneficiary";
"signer": true;
},
{
"name": "new_beneficiary";
},
{
"name": "pool_state";
"writable": true;
}
];
"args": [];
},
{
"name": "set_pricing_program";
"discriminator": [
173,
186,
55,
142,
40,
28,
135,
220
];
"accounts": [
{
"name": "admin";
"signer": true;
},
{
"name": "new_pricing_program";
},
{
"name": "pool_state";
"writable": true;
}
];
"args": [];
},
{
"name": "withdraw_protocol_fees";
"discriminator": [
11,
68,
165,
98,
18,
208,
134,
73
];
"accounts": [
{
"name": "protocol_fee_beneficiary";
"signer": true;
},
{
"name": "withdraw_to";
"writable": true;
},
{
"name": "protocol_fee_accumulator";
"writable": true;
},
{
"name": "protocol_fee_accumulator_auth";
"writable": true;
},
{
"name": "token_program";
},
{
"name": "pool_state";
"writable": true;
},
{
"name": "lst_mint";
}
];
"args": [
{
"name": "amount";
"type": "u64";
}
];
},
{
"name": "add_disable_pool_authority";
"discriminator": [
192,
111,
227,
129,
52,
37,
161,
152
];
"accounts": [
{
"name": "payer";
"writable": true;
"signer": true;
},
{
"name": "admin";
"signer": true;
},
{
"name": "pool_state";
},
{
"name": "new_authority";
},
{
"name": "disable_pool_authority_list";
"writable": true;
},
{
"name": "system_program";
}
];
"args": [];
},
{
"name": "remove_disable_pool_authority";
"discriminator": [
44,
103,
16,
4,
142,
253,
238,
147
];
"accounts": [
{
"name": "refund_rent_to";
"writable": true;
},
{
"name": "signer";
"signer": true;
},
{
"name": "authority";
},
{
"name": "pool_state";
},
{
"name": "disable_pool_authority_list";
"writable": true;
}
];
"args": [
{
"name": "index";
"type": "u32";
}
];
},
{
"name": "disable_pool";
"discriminator": [
248,
118,
211,
160,
149,
150,
135,
37
];
"accounts": [
{
"name": "signer";
"signer": true;
},
{
"name": "pool_state";
"writable": true;
},
{
"name": "disable_pool_authority_list";
}
];
"args": [];
},
{
"name": "enable_pool";
"discriminator": [
120,
47,
0,
69,
84,
74,
16,
177
];
"accounts": [
{
"name": "admin";
"signer": true;
},
{
"name": "pool_state";
"writable": true;
}
];
"args": [];
},
{
"name": "start_rebalance";
"discriminator": [
61,
251,
146,
164,
48,
29,
208,
170
];
"accounts": [
{
"name": "rebalance_authority";
"signer": true;
},
{
"name": "pool_state";
"writable": true;
},
{
"name": "lst_state_list";
"writable": true;
},
{
"name": "rebalance_record";
"writable": true;
},
{
"name": "src_lst_mint";
},
{
"name": "dst_lst_mint";
},
{
"name": "src_pool_reserves";
"writable": true;
},
{
"name": "dst_pool_reserves";
"writable": true;
},
{
"name": "withdraw_to";
"writable": true;
},
{
"name": "instructions";
},
{
"name": "system_program";
},
{
"name": "src_lst_token_program";
}
];
"args": [
{
"name": "src_lst_calc_accs";
"type": "u8";
},
{
"name": "src_lst_index";
"type": "u32";
},
{
"name": "dst_lst_index";
"type": "u32";
},
{
"name": "amount";
"type": "u64";
},
{
"name": "min_starting_src_lst";
"type": "u64";
},
{
"name": "max_starting_dst_lst";
"type": "u64";
}
];
},
{
"name": "end_rebalance";
"discriminator": [
25,
48,
248,
51,
168,
104,
93,
202
];
"accounts": [
{
"name": "rebalance_authority";
"signer": true;
},
{
"name": "pool_state";
"writable": true;
},
{
"name": "lst_state_list";
"writable": true;
},
{
"name": "rebalance_record";
"writable": true;
},
{
"name": "dst_lst_mint";
},
{
"name": "dst_pool_reserves";
}
];
"args": [];
},
{
"name": "set_rebalance_authority";
"discriminator": [
12,
123,
123,
99,
86,
243,
135,
41
];
"accounts": [
{
"name": "signer";
"signer": true;
},
{
"name": "new_rebalance_authority";
},
{
"name": "pool_state";
"writable": true;
}
];
"args": [];
},
{
"name": "initialize";
"discriminator": [
175,
175,
109,
31,
13,
152,
155,
237
];
"accounts": [
{
"name": "payer";
"writable": true;
"signer": true;
},
{
"name": "authority";
"signer": true;
},
{
"name": "pool_state";
"writable": true;
},
{
"name": "lp_token_mint";
"writable": true;
},
{
"name": "lp_token_program";
},
{
"name": "system_program";
}
];
"args": [];
}
];
"errors": [
{
"code": 0;
"name": "InvalidPoolStateData";
"msg": "Invalid pool state data";
},
{
"code": 1;
"name": "InvalidLstStateListData";
"msg": "Invalid lst state data";
},
{
"code": 2;
"name": "InvalidDisablePoolAuthorityListData";
"msg": "Invalid disable pool authority list data";
},
{
"code": 3;
"name": "InvalidRebalanceRecordData";
"msg": "Invalid rebalance record data";
},
{
"code": 4;
"name": "MathError";
"msg": "Math error";
},
{
"code": 5;
"name": "PoolRebalancing";
"msg": "Pool is currently rebalancing";
},
{
"code": 6;
"name": "PoolDisabled";
"msg": "Pool is currently disabled";
},
{
"code": 7;
"name": "PoolEnabled";
"msg": "Pool is currently enabled ";
},
{
"code": 8;
"name": "InvalidLstIndex";
"msg": "LST with given index does not exist";
},
{
"code": 9;
"name": "InvalidReserves";
"msg": "Invalid LST reserves account";
},
{
"code": 10;
"name": "IncorrectSolValueCalculator";
"msg": "Incorrect SOL value calculator program";
},
{
"code": 11;
"name": "FaultySolValueCalculator";
"msg": "Faulty SOL value calculator program";
},
{
"code": 12;
"name": "IncorrectLstStateList";
"msg": "Incorrect LST state list account";
},
{
"code": 13;
"name": "IncorrectPoolState";
"msg": "Incorrect pool state account";
},
{
"code": 14;
"name": "LstInputDisabled";
"msg": "Input is currently disabled for this LST";
},
{
"code": 15;
"name": "NoSucceedingEndRebalance";
"msg": "No succeeding EndRebalance instruction found";
},
{
"code": 16;
"name": "IncorrectRebalanceRecord";
"msg": "Incorrect rebalance record account";
},
{
"code": 17;
"name": "PoolNotRebalancing";
"msg": "Pool is not currently rebalancing";
},
{
"code": 18;
"name": "PoolWouldLoseSolValue";
"msg": "Cannot allow loss of SOL value for pool";
},
{
"code": 19;
"name": "LstStillHasValue";
"msg": "Cannot remove LST when reserves or protocol fee accumulator not empty or SOL value not synced";
},
{
"code": 20;
"name": "IncorrectPricingProgram";
"msg": "Incorrect pricing program";
},
{
"code": 21;
"name": "SlippageToleranceExceeded";
"msg": "Action would exceed slippage tolerance";
},
{
"code": 22;
"name": "NotEnoughLiquidity";
"msg": "Not enough liquidity to complete swap";
},
{
"code": 23;
"name": "IndexTooLarge";
"msg": "Provided list index argument is too large";
},
{
"code": 24;
"name": "InvalidDisablePoolAuthorityIndex";
"msg": "Disable Pool Authority with given index does not exist";
},
{
"code": 25;
"name": "UnauthorizedDisablePoolAuthoritySigner";
"msg": "Signer is not authorized to operate on given disable pool authority";
},
{
"code": 26;
"name": "InvalidDisablePoolAuthority";
"msg": "Given disable pool authority is not valid";
},
{
"code": 27;
"name": "UnauthorizedSetRebalanceAuthoritySigner";
"msg": "Signer is not authorized to set rebalance authority";
},
{
"code": 28;
"name": "IncorrectDisablePoolAuthorityList";
"msg": "Incorrect disable pool authority list account";
},
{
"code": 29;
"name": "FeeTooHigh";
"msg": "Attempting to set a fee over 100%";
},
{
"code": 30;
"name": "NotEnoughFees";
"msg": "Not enough fees to complete protocol fees withdrawal";
},
{
"code": 31;
"name": "ZeroValue";
"msg": "Input or output value is zero. Size likely too small.";
},
{
"code": 32;
"name": "FaultyPricingProgram";
"msg": "Faulty pricing program";
},
{
"code": 33;
"name": "IncorrectLpMintInitialization";
"msg": "LP token mint must be an initialized Tokenkeg mint with 0 supply and mint authority = initial authority";
},
{
"code": 34;
"name": "DuplicateLst";
"msg": "Cannot add a LST that's already part of the pool";
},
{
"code": 35;
"name": "SwapSameLst";
"msg": "Cannot swap from a LST to the same LST";
},
{
"code": 36;
"name": "DuplicateDisablePoolAuthority";
"msg": "Cannot add the same authority that has already been authorized";
}
];
"types": [
{
"name": "PoolState";
"type": {
"kind": "struct";
"fields": [
{
"name": "total_sol_value";
"type": "u64";
},
{
"name": "trading_protocol_fee_bps";
"type": "u16";
},
{
"name": "lp_protocol_fee_bps";
"type": "u16";
},
{
"name": "version";
"type": "u8";
},
{
"name": "is_disabled";
"type": "u8";
},
{
"name": "is_rebalancing";
"type": "u8";
},
{
"name": "padding";
"type": {
"array": [
"u8",
1
];
};
},
{
"name": "admin";
"type": "pubkey";
},
{
"name": "rebalance_authority";
"type": "pubkey";
},
{
"name": "protocol_fee_beneficiary";
"type": "pubkey";
},
{
"name": "pricing_program";
"type": "pubkey";
},
{
"name": "lp_token_mint";
"type": "pubkey";
}
];
};
},
{
"name": "LstState";
"type": {
"kind": "struct";
"fields": [
{
"name": "is_input_disabled";
"type": "u8";
},
{
"name": "pool_reserves_bump";
"type": "u8";
},
{
"name": "protocol_fee_accumulator_bump";
"type": "u8";
},
{
"name": "padding";
"type": {
"array": [
"u8",
5
];
};
},
{
"name": "sol_value";
"type": "u64";
},
{
"name": "mint";
"type": "pubkey";
},
{
"name": "sol_value_calculator";
"type": "pubkey";
}
];
};
},
{
"name": "RebalanceRecord";
"type": {
"kind": "struct";
"fields": [
{
"name": "old_total_sol_value";
"type": "u64";
},
{
"name": "padding";
"type": {
"array": [
"u8",
4
];
};
},
{
"name": "dst_lst_index";
"type": "u32";
}
];
};
}
];
};