{ "address": "swapNyd8XiQwJ6ianp9snpu4brUqFxadzvHebnAXjJZ", "metadata": { "name": "stable_swap", "version": "1.5.0", "spec": "0.1.0", "description": "Created with Anchor" }, "instructions": [ { "name": "accept_owner", "discriminator": [ 176, 23, 41, 28, 23, 111, 8, 4 ], "accounts": [ { "name": "pending_owner", "signer": true }, { "name": "pool", "writable": true } ], "args": [] }, { "name": "approve_strategy", "discriminator": [ 7, 141, 162, 60, 71, 115, 26, 146 ], "accounts": [ { "name": "admin_only", "accounts": [ { "name": "pool", "writable": true }, { "name": "vault" }, { "name": "admin", "signer": true } ] }, { "name": "strategy", "writable": true } ], "args": [] }, { "name": "change_amp_factor", "discriminator": [ 56, 238, 189, 35, 200, 157, 42, 66 ], "accounts": [ { "name": "pool", "writable": true }, { "name": "vault" }, { "name": "admin", "signer": true } ], "args": [ { "name": "new_amp_factor", "type": "u16" }, { "name": "ramp_duration", "type": "u32" } ] }, { "name": "change_max_supply", "discriminator": [ 93, 176, 0, 205, 69, 63, 87, 80 ], "accounts": [ { "name": "owner", "signer": true }, { "name": "pool", "writable": true } ], "args": [ { "name": "new_max_supply", "type": "u64" } ] }, { "name": "change_swap_fee", "discriminator": [ 231, 15, 132, 51, 132, 165, 64, 170 ], "accounts": [ { "name": "owner", "signer": true }, { "name": "pool", "writable": true } ], "args": [ { "name": "new_swap_fee", "type": "u64" } ] }, { "name": "change_swap_fee_privileged", "discriminator": [ 155, 200, 14, 91, 105, 38, 220, 119 ], "accounts": [ { "name": "pool", "writable": true }, { "name": "vault" }, { "name": "admin", "signer": true } ], "args": [ { "name": "new_swap_fee", "type": "u64" } ] }, { "name": "close_strategy", "discriminator": [ 56, 247, 170, 246, 89, 221, 134, 200 ], "accounts": [ { "name": "owner_only", "accounts": [ { "name": "owner", "signer": true }, { "name": "pool", "writable": true } ] }, { "name": "strategy", "writable": true }, { "name": "rent_collector", "writable": true } ], "args": [] }, { "name": "create_strategy", "discriminator": [ 152, 160, 107, 148, 245, 190, 127, 224 ], "accounts": [ { "name": "owner_only", "accounts": [ { "name": "owner", "signer": true }, { "name": "pool", "writable": true } ] }, { "name": "strategy", "writable": true } ], "args": [ { "name": "amp_min_factor", "type": "u16" }, { "name": "amp_max_factor", "type": "u16" }, { "name": "ramp_min_step", "type": "u16" }, { "name": "ramp_max_step", "type": "u16" }, { "name": "ramp_min_duration", "type": "u32" }, { "name": "ramp_max_duration", "type": "u32" } ] }, { "name": "deposit", "docs": [ "add liquidity" ], "discriminator": [ 242, 35, 198, 137, 82, 225, 242, 182 ], "accounts": [ { "name": "user", "signer": true }, { "name": "user_pool_token", "writable": true }, { "name": "mint", "writable": true }, { "name": "pool", "writable": true }, { "name": "pool_authority" }, { "name": "vault" }, { "name": "vault_authority" }, { "name": "token_program" }, { "name": "token_program_2022" } ], "args": [ { "name": "amounts", "type": { "vec": "u64" } }, { "name": "minimum_amount_out", "type": "u64" } ] }, { "name": "exec_strategy", "discriminator": [ 249, 46, 55, 57, 31, 38, 61, 27 ], "accounts": [ { "name": "strategy" }, { "name": "pool", "writable": true } ], "args": [ { "name": "ramp_step", "type": "u16" }, { "name": "ramp_duration", "type": "u32" } ] }, { "name": "initialize", "docs": [ "initialize a pool" ], "discriminator": [ 175, 175, 109, 31, 13, 152, 155, 237 ], "accounts": [ { "name": "owner", "signer": true }, { "name": "mint" }, { "name": "pool", "writable": true }, { "name": "pool_authority" }, { "name": "withdraw_authority" }, { "name": "vault" } ], "args": [ { "name": "amp_factor", "type": "u16" }, { "name": "swap_fee", "type": "u64" }, { "name": "max_caps", "type": { "vec": "u64" } } ] }, { "name": "pause", "discriminator": [ 211, 22, 221, 251, 74, 121, 193, 47 ], "accounts": [ { "name": "owner", "signer": true }, { "name": "pool", "writable": true } ], "args": [] }, { "name": "reject_owner", "discriminator": [ 238, 206, 198, 215, 51, 178, 133, 228 ], "accounts": [ { "name": "pending_owner", "signer": true }, { "name": "pool", "writable": true } ], "args": [] }, { "name": "shutdown", "docs": [ "shutdown the zero-liquidity pool" ], "discriminator": [ 146, 204, 241, 213, 86, 21, 253, 211 ], "accounts": [ { "name": "owner", "writable": true }, { "name": "pool", "writable": true } ], "args": [] }, { "name": "swap", "docs": [ "swap" ], "discriminator": [ 248, 198, 158, 145, 225, 117, 135, 200 ], "accounts": [ { "name": "user", "signer": true }, { "name": "user_token_in", "writable": true }, { "name": "user_token_out", "writable": true }, { "name": "vault_token_in", "writable": true }, { "name": "vault_token_out", "writable": true }, { "name": "beneficiary_token_out", "writable": true }, { "name": "pool", "writable": true }, { "name": "withdraw_authority" }, { "name": "vault" }, { "name": "vault_authority" }, { "name": "vault_program" }, { "name": "token_program" } ], "args": [ { "name": "amount_in", "type": { "option": "u64" } }, { "name": "minimum_amount_out", "type": "u64" } ] }, { "name": "swap_v2", "discriminator": [ 43, 4, 237, 11, 26, 201, 30, 98 ], "accounts": [ { "name": "user", "signer": true }, { "name": "mint_in" }, { "name": "mint_out" }, { "name": "user_token_in", "writable": true }, { "name": "user_token_out", "writable": true }, { "name": "vault_token_in", "writable": true }, { "name": "vault_token_out", "writable": true }, { "name": "beneficiary_token_out", "writable": true }, { "name": "pool", "writable": true }, { "name": "withdraw_authority" }, { "name": "vault" }, { "name": "vault_authority" }, { "name": "vault_program" }, { "name": "token_program" }, { "name": "token_2022_program" } ], "args": [ { "name": "amount_in", "type": { "option": "u64" } }, { "name": "minimum_amount_out", "type": "u64" } ] }, { "name": "transfer_owner", "discriminator": [ 245, 25, 221, 175, 106, 229, 225, 45 ], "accounts": [ { "name": "owner", "signer": true }, { "name": "pool", "writable": true } ], "args": [ { "name": "new_owner", "type": "pubkey" } ] }, { "name": "unpause", "discriminator": [ 169, 144, 4, 38, 10, 141, 188, 255 ], "accounts": [ { "name": "owner", "signer": true }, { "name": "pool", "writable": true } ], "args": [] }, { "name": "withdraw", "docs": [ "remove liquidity" ], "discriminator": [ 183, 18, 70, 156, 148, 109, 161, 34 ], "accounts": [ { "name": "user", "signer": true }, { "name": "user_pool_token", "writable": true }, { "name": "mint", "writable": true }, { "name": "pool", "writable": true }, { "name": "withdraw_authority" }, { "name": "vault" }, { "name": "vault_authority" }, { "name": "vault_program" }, { "name": "token_program" }, { "name": "token_program_2022" } ], "args": [ { "name": "amount", "type": "u64" }, { "name": "minimum_amounts_out", "type": { "vec": "u64" } } ] } ], "accounts": [ { "name": "Pool", "discriminator": [ 241, 154, 109, 4, 17, 177, 109, 188 ] }, { "name": "Strategy", "discriminator": [ 174, 110, 39, 119, 82, 106, 169, 102 ] }, { "name": "Vault", "discriminator": [ 211, 8, 232, 43, 2, 152, 117, 119 ] } ], "events": [ { "name": "PoolBalanceUpdatedEvent", "discriminator": [ 172, 82, 114, 207, 27, 103, 211, 4 ] }, { "name": "PoolUpdatedEvent", "discriminator": [ 128, 39, 94, 221, 230, 222, 127, 141 ] } ], "types": [ { "name": "Pool", "type": { "kind": "struct", "fields": [ { "name": "owner", "type": "pubkey" }, { "name": "vault", "type": "pubkey" }, { "name": "mint", "type": "pubkey" }, { "name": "authority_bump", "type": "u8" }, { "name": "is_active", "type": "bool" }, { "name": "amp_initial_factor", "type": "u16" }, { "name": "amp_target_factor", "type": "u16" }, { "name": "ramp_start_ts", "type": "i64" }, { "name": "ramp_stop_ts", "type": "i64" }, { "name": "swap_fee", "type": "u64" }, { "name": "tokens", "type": { "vec": { "defined": { "name": "PoolToken" } } } }, { "name": "pending_owner", "type": { "option": "pubkey" } }, { "name": "max_supply", "type": "u64" } ] } }, { "name": "PoolBalanceUpdatedData", "type": { "kind": "struct", "fields": [ { "name": "balances", "type": { "vec": "u64" } } ] } }, { "name": "PoolBalanceUpdatedEvent", "type": { "kind": "struct", "fields": [ { "name": "pubkey", "type": "pubkey" }, { "name": "data", "type": { "defined": { "name": "PoolBalanceUpdatedData" } } } ] } }, { "name": "PoolToken", "type": { "kind": "struct", "fields": [ { "name": "mint", "type": "pubkey" }, { "name": "decimals", "type": "u8" }, { "name": "scaling_up", "type": "bool" }, { "name": "scaling_factor", "type": "u64" }, { "name": "balance", "type": "u64" } ] } }, { "name": "PoolUpdatedData", "type": { "kind": "struct", "fields": [ { "name": "is_active", "type": "bool" }, { "name": "amp_initial_factor", "type": "u16" }, { "name": "amp_target_factor", "type": "u16" }, { "name": "ramp_start_ts", "type": "i64" }, { "name": "ramp_stop_ts", "type": "i64" }, { "name": "swap_fee", "type": "u64" }, { "name": "max_supply", "type": "u64" } ] } }, { "name": "PoolUpdatedEvent", "type": { "kind": "struct", "fields": [ { "name": "pubkey", "type": "pubkey" }, { "name": "data", "type": { "defined": { "name": "PoolUpdatedData" } } } ] } }, { "name": "Strategy", "type": { "kind": "struct", "fields": [ { "name": "pool", "type": "pubkey" }, { "name": "is_active", "type": "bool" }, { "name": "amp_min_factor", "type": "u16" }, { "name": "amp_max_factor", "type": "u16" }, { "name": "ramp_min_step", "type": "u16" }, { "name": "ramp_max_step", "type": "u16" }, { "name": "ramp_min_duration", "type": "u32" }, { "name": "ramp_max_duration", "type": "u32" } ] } }, { "name": "Vault", "type": { "kind": "struct", "fields": [ { "name": "admin", "type": "pubkey" }, { "name": "withdraw_authority", "docs": [ "PDA of pool programs seeded by vault address" ], "type": "pubkey" }, { "name": "withdraw_authority_bump", "docs": [ "bump seed of withdraw_authority PDA" ], "type": "u8" }, { "name": "authority_bump", "docs": [ "bump seed of vault_authority PDA" ], "type": "u8" }, { "name": "is_active", "type": "bool" }, { "name": "beneficiary", "type": "pubkey" }, { "name": "beneficiary_fee", "type": "u64" }, { "name": "pending_admin", "type": { "option": "pubkey" } } ] } } ] }