UNPKG

fbonds-core

Version:

Banx protocol sdk

1,385 lines (1,384 loc) • 37.6 kB
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"; } ]; }; } ]; };