UNPKG

fbonds-core

Version:

Banx protocol sdk

1,525 lines • 51.5 kB
{ "version": "1.0.0", "name": "s_controller", "instructions": [ { "name": "SyncSolValue", "discriminant": { "type": "u8", "value": 0 }, "args": [ { "name": "lst_index", "type": "u32" } ], "accounts": [ { "name": "lst_mint", "isMut": false, "isSigner": false, "desc": "Mint of the LST to sync SOL value for" }, { "name": "pool_state", "isMut": true, "isSigner": false, "desc": "The pool's state singleton PDA" }, { "name": "lst_state_list", "isMut": true, "isSigner": false, "desc": "Dynamic list PDA of LstStates for each LST in the pool" }, { "name": "pool_reserves", "isMut": false, "isSigner": false, "desc": "LST reserves token account of the pool" } ] }, { "name": "SwapExactIn", "discriminant": { "type": "u8", "value": 1 }, "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" } ], "accounts": [ { "name": "signer", "isMut": false, "isSigner": true, "desc": "Authority of src_lst_acc. User making the swap." }, { "name": "src_lst_mint", "isMut": false, "isSigner": false, "desc": "Mint of the LST being swapped from" }, { "name": "dst_lst_mint", "isMut": false, "isSigner": false, "desc": "Mint of the LST being swapped to" }, { "name": "src_lst_acc", "isMut": true, "isSigner": false, "desc": "LST token account being swapped from" }, { "name": "dst_lst_acc", "isMut": true, "isSigner": false, "desc": "LST token account to swapped to" }, { "name": "protocol_fee_accumulator", "isMut": true, "isSigner": false, "desc": "Protocol fee accumulator token account" }, { "name": "src_lst_token_program", "isMut": false, "isSigner": false, "desc": "Source LST token program" }, { "name": "dst_lst_token_program", "isMut": false, "isSigner": false, "desc": "Destination LST token program" }, { "name": "pool_state", "isMut": true, "isSigner": false, "desc": "The pool's state singleton PDA" }, { "name": "lst_state_list", "isMut": true, "isSigner": false, "desc": "Dynamic list PDA of LstStates for each LST in the pool" }, { "name": "src_pool_reserves", "isMut": true, "isSigner": false, "desc": "Source LST reserves token account of the pool" }, { "name": "dst_pool_reserves", "isMut": true, "isSigner": false, "desc": "Destination LST reserves token account of the pool" } ] }, { "name": "SwapExactOut", "discriminant": { "type": "u8", "value": 2 }, "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" } ], "accounts": [ { "name": "signer", "isMut": false, "isSigner": true, "desc": "Authority of src_lst_acc. User making the swap." }, { "name": "src_lst_mint", "isMut": false, "isSigner": false, "desc": "Mint of the LST being swapped from" }, { "name": "dst_lst_mint", "isMut": false, "isSigner": false, "desc": "Mint of the LST being swapped to" }, { "name": "src_lst_acc", "isMut": true, "isSigner": false, "desc": "LST token account being swapped from" }, { "name": "dst_lst_acc", "isMut": true, "isSigner": false, "desc": "LST token account to swapped to" }, { "name": "protocol_fee_accumulator", "isMut": true, "isSigner": false, "desc": "Protocol fee accumulator token account" }, { "name": "src_lst_token_program", "isMut": false, "isSigner": false, "desc": "" }, { "name": "dst_lst_token_program", "isMut": false, "isSigner": false, "desc": "" }, { "name": "pool_state", "isMut": true, "isSigner": false, "desc": "The pool's state singleton PDA" }, { "name": "lst_state_list", "isMut": true, "isSigner": false, "desc": "Dynamic list PDA of LstStates for each LST in the pool" }, { "name": "src_pool_reserves", "isMut": true, "isSigner": false, "desc": "Source LST reserves token account of the pool" }, { "name": "dst_pool_reserves", "isMut": true, "isSigner": false, "desc": "Destination LST reserves token account of the pool" } ] }, { "name": "AddLiquidity", "discriminant": { "type": "u8", "value": 3 }, "args": [ { "name": "lst_value_calc_accs", "type": "u8" }, { "name": "lst_index", "type": "u32" }, { "name": "lst_amount", "type": "u64" }, { "name": "min_lp_out", "type": "u64" } ], "accounts": [ { "name": "signer", "isMut": false, "isSigner": true, "desc": "Authority of src_lst_acc. User who's adding liquidity." }, { "name": "lst_mint", "isMut": false, "isSigner": false, "desc": "Mint of the LST" }, { "name": "src_lst_acc", "isMut": true, "isSigner": false, "desc": "LST token account to add liquidity from" }, { "name": "dst_lp_acc", "isMut": true, "isSigner": false, "desc": "LP token account to mint new LP tokens to" }, { "name": "lp_token_mint", "isMut": true, "isSigner": false, "desc": "LP token mint" }, { "name": "protocol_fee_accumulator", "isMut": true, "isSigner": false, "desc": "Protocol fee accumulator token account" }, { "name": "lst_token_program", "isMut": false, "isSigner": false, "desc": "LST's token program" }, { "name": "lp_token_program", "isMut": false, "isSigner": false, "desc": "LP token mint's token program (Tokenkeg) for use with LP token mint" }, { "name": "pool_state", "isMut": true, "isSigner": false, "desc": "The pool's state singleton PDA" }, { "name": "lst_state_list", "isMut": true, "isSigner": false, "desc": "Dynamic list PDA of LstStates for each LST in the pool" }, { "name": "pool_reserves", "isMut": true, "isSigner": false, "desc": "LST reserves token account of the pool" } ] }, { "name": "RemoveLiquidity", "discriminant": { "type": "u8", "value": 4 }, "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" } ], "accounts": [ { "name": "signer", "isMut": false, "isSigner": true, "desc": "Authority of lp_acc. User who's removing liquidity." }, { "name": "lst_mint", "isMut": false, "isSigner": false, "desc": "Mint of the LST" }, { "name": "dst_lst_acc", "isMut": true, "isSigner": false, "desc": "LST token account to redeem to" }, { "name": "src_lp_acc", "isMut": true, "isSigner": false, "desc": "LP token account to burn LP tokens from" }, { "name": "lp_token_mint", "isMut": true, "isSigner": false, "desc": "LP token mint" }, { "name": "protocol_fee_accumulator", "isMut": true, "isSigner": false, "desc": "Protocol fee accumulator token account" }, { "name": "lst_token_program", "isMut": false, "isSigner": false, "desc": "LST's token program" }, { "name": "lp_token_program", "isMut": false, "isSigner": false, "desc": "LP token mint's token program (Tokenkeg) for use with LP token mint" }, { "name": "pool_state", "isMut": true, "isSigner": false, "desc": "The pool's state singleton PDA" }, { "name": "lst_state_list", "isMut": true, "isSigner": false, "desc": "Dynamic list PDA of LstStates for each LST in the pool" }, { "name": "pool_reserves", "isMut": true, "isSigner": false, "desc": "LST reserves token account of the pool" } ] }, { "name": "DisableLstInput", "discriminant": { "type": "u8", "value": 5 }, "args": [ { "name": "index", "type": "u32" } ], "accounts": [ { "name": "admin", "isMut": false, "isSigner": true, "desc": "The pool's admin" }, { "name": "lst_mint", "isMut": false, "isSigner": false, "desc": "Mint of the LST to disable input for" }, { "name": "pool_state", "isMut": true, "isSigner": false, "desc": "The pool's state singleton PDA" }, { "name": "lst_state_list", "isMut": true, "isSigner": false, "desc": "Dynamic list PDA of LstStates for each LST in the pool" } ] }, { "name": "EnableLstInput", "discriminant": { "type": "u8", "value": 6 }, "args": [ { "name": "index", "type": "u32" } ], "accounts": [ { "name": "admin", "isMut": false, "isSigner": true, "desc": "The pool's admin" }, { "name": "lst_mint", "isMut": false, "isSigner": false, "desc": "Mint of the LST to re-enable input for" }, { "name": "pool_state", "isMut": true, "isSigner": false, "desc": "The pool's state singleton PDA" }, { "name": "lst_state_list", "isMut": true, "isSigner": false, "desc": "Dynamic list PDA of LstStates for each LST in the pool" } ] }, { "name": "AddLst", "discriminant": { "type": "u8", "value": 7 }, "args": [], "accounts": [ { "name": "admin", "isMut": false, "isSigner": true, "desc": "The pool's admin" }, { "name": "payer", "isMut": true, "isSigner": true, "desc": "Account paying the SOL rent for the new space and accounts" }, { "name": "lst_mint", "isMut": false, "isSigner": false, "desc": "Mint of the new LST to add" }, { "name": "pool_reserves", "isMut": true, "isSigner": false, "desc": "LST reserves token account to create" }, { "name": "protocol_fee_accumulator", "isMut": true, "isSigner": false, "desc": "The LST protocol fee accumulator token account to create" }, { "name": "protocol_fee_accumulator_auth", "isMut": true, "isSigner": false, "desc": "The protocol fee accumulator token account authority PDA. PDA [\"protocol_fee\"]" }, { "name": "sol_value_calculator", "isMut": false, "isSigner": false, "desc": "The LST's SOL value calculator program" }, { "name": "pool_state", "isMut": false, "isSigner": false, "desc": "The pool's state singleton PDA" }, { "name": "lst_state_list", "isMut": true, "isSigner": false, "desc": "Dynamic list PDA of LstStates for each LST in the pool" }, { "name": "associated_token_program", "isMut": false, "isSigner": false, "desc": "Associated token account program" }, { "name": "system_program", "isMut": false, "isSigner": false, "desc": "System program" }, { "name": "lst_token_program", "isMut": false, "isSigner": false, "desc": "Token program of the new LST to add" } ] }, { "name": "RemoveLst", "discriminant": { "type": "u8", "value": 8 }, "args": [ { "name": "lst_index", "type": "u32" } ], "accounts": [ { "name": "admin", "isMut": false, "isSigner": true, "desc": "The pool's admin" }, { "name": "refund_rent_to", "isMut": true, "isSigner": false, "desc": "Account to refund SOL rent to" }, { "name": "lst_mint", "isMut": false, "isSigner": false, "desc": "Mint of the new LST to remove" }, { "name": "pool_reserves", "isMut": true, "isSigner": false, "desc": "LST reserves token account to destory" }, { "name": "protocol_fee_accumulator", "isMut": true, "isSigner": false, "desc": "The LST protocol fee accumulator token account to destroy" }, { "name": "protocol_fee_accumulator_auth", "isMut": true, "isSigner": false, "desc": "The protocol fee accumulator token account authority PDA. PDA [\"protocol_fee\"]" }, { "name": "pool_state", "isMut": false, "isSigner": false, "desc": "The pool's state singleton PDA" }, { "name": "lst_state_list", "isMut": true, "isSigner": false, "desc": "Dynamic list PDA of LstStates for each LST in the pool" }, { "name": "lst_token_program", "isMut": false, "isSigner": false, "desc": "Token program of the LST to remove" } ] }, { "name": "SetSolValueCalculator", "discriminant": { "type": "u8", "value": 9 }, "args": [ { "name": "lst_index", "type": "u32" } ], "accounts": [ { "name": "admin", "isMut": false, "isSigner": true, "desc": "The pool's admin" }, { "name": "lst_mint", "isMut": false, "isSigner": false, "desc": "Mint of the LST to set SOL value calculator for" }, { "name": "pool_state", "isMut": true, "isSigner": false, "desc": "The pool's state singleton PDA" }, { "name": "pool_reserves", "isMut": false, "isSigner": false, "desc": "LST reserves token account of the pool" }, { "name": "lst_state_list", "isMut": true, "isSigner": false, "desc": "Dynamic list PDA of LstStates for each LST in the pool" } ] }, { "name": "SetAdmin", "discriminant": { "type": "u8", "value": 10 }, "args": [], "accounts": [ { "name": "current_admin", "isMut": false, "isSigner": true, "desc": "The pool's current admin" }, { "name": "new_admin", "isMut": false, "isSigner": false, "desc": "The pool's new admin" }, { "name": "pool_state", "isMut": true, "isSigner": false, "desc": "The pool's state singleton PDA" } ] }, { "name": "SetProtocolFee", "discriminant": { "type": "u8", "value": 11 }, "args": [ { "name": "new_trading_protocol_fee_bps", "type": { "option": "u16" } }, { "name": "new_lp_protocol_fee_bps", "type": { "option": "u16" } } ], "accounts": [ { "name": "admin", "isMut": false, "isSigner": true, "desc": "The pool's admin" }, { "name": "pool_state", "isMut": true, "isSigner": false, "desc": "The pool's state singleton PDA" } ] }, { "name": "SetProtocolFeeBeneficiary", "discriminant": { "type": "u8", "value": 12 }, "args": [], "accounts": [ { "name": "current_beneficiary", "isMut": false, "isSigner": true, "desc": "The pool's current protocol fee beneficiary" }, { "name": "new_beneficiary", "isMut": false, "isSigner": false, "desc": "The pool's new protocol fee beneficiary" }, { "name": "pool_state", "isMut": true, "isSigner": false, "desc": "The pool's state singleton PDA" } ] }, { "name": "SetPricingProgram", "discriminant": { "type": "u8", "value": 13 }, "args": [], "accounts": [ { "name": "admin", "isMut": false, "isSigner": true, "desc": "The pool's admin" }, { "name": "new_pricing_program", "isMut": false, "isSigner": false, "desc": "The pool's new pricing program" }, { "name": "pool_state", "isMut": true, "isSigner": false, "desc": "The pool's state singleton PDA" } ] }, { "name": "WithdrawProtocolFees", "discriminant": { "type": "u8", "value": 14 }, "args": [ { "name": "amount", "type": "u64" } ], "accounts": [ { "name": "protocol_fee_beneficiary", "isMut": false, "isSigner": true, "desc": "The pool's protocol fee beneficiary" }, { "name": "withdraw_to", "isMut": true, "isSigner": false, "desc": "Token account to withdraw all accumulated protocol fees to" }, { "name": "protocol_fee_accumulator", "isMut": true, "isSigner": false, "desc": "The LST protocol fee accumulator token account to create" }, { "name": "protocol_fee_accumulator_auth", "isMut": true, "isSigner": false, "desc": "The protocol fee accumulator token account authority PDA. PDA [\"protocol_fee\"]" }, { "name": "token_program", "isMut": false, "isSigner": false, "desc": "Token program" }, { "name": "pool_state", "isMut": true, "isSigner": false, "desc": "The pool's state singleton PDA" }, { "name": "lst_mint", "isMut": false, "isSigner": false, "desc": "The LST mint" } ] }, { "name": "AddDisablePoolAuthority", "discriminant": { "type": "u8", "value": 15 }, "args": [], "accounts": [ { "name": "payer", "isMut": true, "isSigner": true, "desc": "Account paying for additional rent for realloc" }, { "name": "admin", "isMut": false, "isSigner": true, "desc": "The pool's admin" }, { "name": "pool_state", "isMut": false, "isSigner": false, "desc": "The pool's state singleton PDA" }, { "name": "new_authority", "isMut": false, "isSigner": false, "desc": "The new disable pool authority to add" }, { "name": "disable_pool_authority_list", "isMut": true, "isSigner": false, "desc": "The pool's disable pool authority list singleton PDA" }, { "name": "system_program", "isMut": false, "isSigner": false, "desc": "System program" } ] }, { "name": "RemoveDisablePoolAuthority", "discriminant": { "type": "u8", "value": 16 }, "args": [ { "name": "index", "type": "u32" } ], "accounts": [ { "name": "refund_rent_to", "isMut": true, "isSigner": false, "desc": "The account to refund SOL rent to after resizing" }, { "name": "signer", "isMut": false, "isSigner": true, "desc": "Either the pool's admin or the authority" }, { "name": "authority", "isMut": false, "isSigner": false, "desc": "The authority to remove" }, { "name": "pool_state", "isMut": false, "isSigner": false, "desc": "The pool's state singleton PDA" }, { "name": "disable_pool_authority_list", "isMut": true, "isSigner": false, "desc": "The pool's disable pool authority list singleton PDA" } ] }, { "name": "DisablePool", "discriminant": { "type": "u8", "value": 17 }, "args": [], "accounts": [ { "name": "signer", "isMut": false, "isSigner": true, "desc": "The pool's admin or a disable pool authority" }, { "name": "pool_state", "isMut": true, "isSigner": false, "desc": "The pool's state singleton PDA" }, { "name": "disable_pool_authority_list", "isMut": false, "isSigner": false, "desc": "The pool's disable pool authority list singleton PDA" } ] }, { "name": "EnablePool", "discriminant": { "type": "u8", "value": 18 }, "args": [], "accounts": [ { "name": "admin", "isMut": false, "isSigner": true, "desc": "The pool's admin" }, { "name": "pool_state", "isMut": true, "isSigner": false, "desc": "The pool's state singleton PDA" } ] }, { "name": "StartRebalance", "discriminant": { "type": "u8", "value": 19 }, "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" } ], "accounts": [ { "name": "rebalance_authority", "isMut": false, "isSigner": true, "desc": "The pool's rebalance authority" }, { "name": "pool_state", "isMut": true, "isSigner": false, "desc": "The pool's state singleton PDA" }, { "name": "lst_state_list", "isMut": true, "isSigner": false, "desc": "Dynamic list PDA of LstStates for each lst in the pool" }, { "name": "rebalance_record", "isMut": true, "isSigner": false, "desc": "The RebalanceRecord PDA" }, { "name": "src_lst_mint", "isMut": false, "isSigner": false, "desc": "Mint of the LST being swapped from" }, { "name": "dst_lst_mint", "isMut": false, "isSigner": false, "desc": "Mint of the LST being swapped to" }, { "name": "src_pool_reserves", "isMut": true, "isSigner": false, "desc": "Source LST reserves token account of the pool" }, { "name": "dst_pool_reserves", "isMut": true, "isSigner": false, "desc": "Destination LST reserves token account of the pool" }, { "name": "withdraw_to", "isMut": true, "isSigner": false, "desc": "Source LST token account to withdraw to" }, { "name": "instructions", "isMut": false, "isSigner": false, "desc": "Instructions sysvar" }, { "name": "system_program", "isMut": false, "isSigner": false, "desc": "System program" }, { "name": "src_lst_token_program", "isMut": false, "isSigner": false, "desc": "Source LST token program" } ] }, { "name": "EndRebalance", "discriminant": { "type": "u8", "value": 20 }, "args": [], "accounts": [ { "name": "rebalance_authority", "isMut": false, "isSigner": true, "desc": "The pool's rebalance authority" }, { "name": "pool_state", "isMut": true, "isSigner": false, "desc": "The pool's state singleton PDA" }, { "name": "lst_state_list", "isMut": true, "isSigner": false, "desc": "Dynamic list PDA of LstStates for each lst in the pool" }, { "name": "rebalance_record", "isMut": true, "isSigner": false, "desc": "The RebalanceRecord PDA" }, { "name": "dst_lst_mint", "isMut": false, "isSigner": false, "desc": "Mint of the LST being swapped to" }, { "name": "dst_pool_reserves", "isMut": false, "isSigner": false, "desc": "Destination LST reserves token account of the pool" } ] }, { "name": "SetRebalanceAuthority", "discriminant": { "type": "u8", "value": 21 }, "args": [], "accounts": [ { "name": "signer", "isMut": false, "isSigner": true, "desc": "Either the pool's rebalance authority or admin" }, { "name": "new_rebalance_authority", "isMut": false, "isSigner": false, "desc": "The new rebalance authority to set to" }, { "name": "pool_state", "isMut": true, "isSigner": false, "desc": "The pool's state singleton PDA" } ] }, { "name": "Initialize", "discriminant": { "type": "u8", "value": 22 }, "args": [], "accounts": [ { "name": "payer", "isMut": true, "isSigner": true, "desc": "Account paying for rent" }, { "name": "authority", "isMut": false, "isSigner": true, "desc": "The hardcoded pubkey allowed to initialize the pool" }, { "name": "pool_state", "isMut": true, "isSigner": false, "desc": "The pool's state singleton PDA" }, { "name": "lp_token_mint", "isMut": true, "isSigner": false, "desc": "The LP token mint to use" }, { "name": "lp_token_program", "isMut": false, "isSigner": false, "desc": "LP token mint's token program (Tokenkeg)" }, { "name": "system_program", "isMut": false, "isSigner": false, "desc": "System program" } ] } ], "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] }, "attrs": ["padding"] }, { "name": "admin", "type": "publicKey" }, { "name": "rebalance_authority", "type": "publicKey" }, { "name": "protocol_fee_beneficiary", "type": "publicKey" }, { "name": "pricing_program", "type": "publicKey" }, { "name": "lp_token_mint", "type": "publicKey" } ] } }, { "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] }, "attrs": ["padding"] }, { "name": "sol_value", "type": "u64" }, { "name": "mint", "type": "publicKey" }, { "name": "sol_value_calculator", "type": "publicKey" } ] } }, { "name": "RebalanceRecord", "type": { "kind": "struct", "fields": [ { "name": "old_total_sol_value", "type": "u64" }, { "name": "padding", "type": { "array": ["u8", 4] }, "attrs": ["padding"] }, { "name": "dst_lst_index", "type": "u32" } ] } } ], "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": "Inco