@perena/numeraire-sdk
Version:
Perena’s multi-asset stablecoin pool is a novel automated market maker (AMM) that enables seamless creation and swapping of stablecoins while optimizing liquidity and enhancing efficiency across markets
1 lines • 165 kB
Source Map (JSON)
{"version":3,"sources":["../src/idl/numeraire.json","../src/instructions/admin_ix.ts","../src/constant.ts","../src/utils.ts","../src/getters.ts","../src/instructions/user_ix.ts"],"sourcesContent":["{\n \"address\": \"NUMERUNsFCP3kuNmWZuXtm1AaQCPj9uw6Guv2Ekoi5P\",\n \"metadata\": {\n \"name\": \"numeraire\",\n \"version\": \"0.1.3\",\n \"spec\": \"0.1.0\",\n \"description\": \"Created with Anchor\"\n },\n \"instructions\": [\n {\n \"name\": \"add_liquidity\",\n \"docs\": [\"Pool Owner/Whitelist only functions\"],\n \"discriminator\": [181, 157, 89, 67, 143, 182, 52, 72],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n }\n ]\n }\n },\n {\n \"name\": \"lp_mint\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n },\n {\n \"kind\": \"const\",\n \"value\": [108, 105, 113, 117, 105, 100, 105, 116, 121]\n }\n ]\n }\n },\n {\n \"name\": \"payer_lp_account\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"payer\"\n },\n {\n \"kind\": \"account\",\n \"path\": \"token_program\"\n },\n {\n \"kind\": \"account\",\n \"path\": \"lp_mint\"\n }\n ],\n \"program\": {\n \"kind\": \"const\",\n \"value\": [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89\n ]\n }\n }\n },\n {\n \"name\": \"numeraire_config\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [99, 111, 110, 102, 105, 103]\n }\n ]\n }\n },\n {\n \"name\": \"payer\",\n \"signer\": true\n },\n {\n \"name\": \"token_program\",\n \"docs\": [\"Solana ecosystem accounts\"],\n \"address\": \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\"\n },\n {\n \"name\": \"token_2022_program\",\n \"address\": \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\"\n }\n ],\n \"args\": [\n {\n \"name\": \"data\",\n \"type\": {\n \"defined\": {\n \"name\": \"AddLiquidityData\"\n }\n }\n }\n ],\n \"returns\": \"u64\"\n },\n {\n \"name\": \"compound\",\n \"discriminator\": [165, 208, 251, 78, 242, 160, 141, 47],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n }\n ]\n }\n },\n {\n \"name\": \"lp_mint\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n },\n {\n \"kind\": \"const\",\n \"value\": [108, 105, 113, 117, 105, 100, 105, 116, 121]\n }\n ]\n }\n },\n {\n \"name\": \"payer_lp_account\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"payer\"\n },\n {\n \"kind\": \"account\",\n \"path\": \"token_program\"\n },\n {\n \"kind\": \"account\",\n \"path\": \"lp_mint\"\n }\n ],\n \"program\": {\n \"kind\": \"const\",\n \"value\": [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89\n ]\n }\n }\n },\n {\n \"name\": \"numeraire_config\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [99, 111, 110, 102, 105, 103]\n }\n ]\n }\n },\n {\n \"name\": \"payer\",\n \"signer\": true\n },\n {\n \"name\": \"token_program\",\n \"docs\": [\"Solana ecosystem accounts\"],\n \"address\": \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\"\n },\n {\n \"name\": \"token_2022_program\",\n \"address\": \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\"\n }\n ],\n \"args\": []\n },\n {\n \"name\": \"create_pool\",\n \"discriminator\": [233, 146, 209, 142, 207, 104, 64, 188],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"arg\",\n \"path\": \"data.pool_seed\"\n }\n ]\n }\n },\n {\n \"name\": \"lp_mint\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n },\n {\n \"kind\": \"const\",\n \"value\": [108, 105, 113, 117, 105, 100, 105, 116, 121]\n }\n ]\n }\n },\n {\n \"name\": \"creator_lp_account\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"payer\"\n },\n {\n \"kind\": \"account\",\n \"path\": \"token_program\"\n },\n {\n \"kind\": \"account\",\n \"path\": \"lp_mint\"\n }\n ],\n \"program\": {\n \"kind\": \"const\",\n \"value\": [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89\n ]\n }\n }\n },\n {\n \"name\": \"numeraire_config\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [99, 111, 110, 102, 105, 103]\n }\n ]\n }\n },\n {\n \"name\": \"payer\",\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"token_program\",\n \"docs\": [\"Solana ecosystem accounts\"],\n \"address\": \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\"\n },\n {\n \"name\": \"token_program_2022\",\n \"address\": \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\"\n },\n {\n \"name\": \"associated_token_program\",\n \"address\": \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\"\n },\n {\n \"name\": \"system_program\",\n \"address\": \"11111111111111111111111111111111\"\n }\n ],\n \"args\": [\n {\n \"name\": \"data\",\n \"type\": {\n \"defined\": {\n \"name\": \"CreateStablePoolData\"\n }\n }\n }\n ]\n },\n {\n \"name\": \"init_virtual_stable_pair\",\n \"discriminator\": [228, 18, 163, 161, 101, 204, 106, 172],\n \"accounts\": [\n {\n \"name\": \"x_mint\"\n },\n {\n \"name\": \"pair\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"x_mint\"\n },\n {\n \"kind\": \"arg\",\n \"path\": \"data.pair_seed\"\n }\n ]\n }\n },\n {\n \"name\": \"pair_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"pair\"\n },\n {\n \"kind\": \"const\",\n \"value\": [97, 117, 116, 104, 111, 114, 105, 116, 121]\n }\n ]\n }\n },\n {\n \"name\": \"x_vault\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"pair\"\n },\n {\n \"kind\": \"const\",\n \"value\": [108, 105, 113, 117, 105, 100, 105, 116, 121]\n }\n ]\n }\n },\n {\n \"name\": \"x_adder\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"payer\"\n },\n {\n \"kind\": \"account\",\n \"path\": \"token_program\"\n },\n {\n \"kind\": \"account\",\n \"path\": \"x_mint\"\n }\n ],\n \"program\": {\n \"kind\": \"const\",\n \"value\": [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89\n ]\n }\n }\n },\n {\n \"name\": \"numeraire_config\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [99, 111, 110, 102, 105, 103]\n }\n ]\n }\n },\n {\n \"name\": \"payer\",\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"token_program\",\n \"docs\": [\"Solana ecosystem accounts\"]\n },\n {\n \"name\": \"associated_token_program\",\n \"address\": \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\"\n },\n {\n \"name\": \"system_program\",\n \"address\": \"11111111111111111111111111111111\"\n }\n ],\n \"args\": [\n {\n \"name\": \"data\",\n \"type\": {\n \"defined\": {\n \"name\": \"InitVirtualStablePairData\"\n }\n }\n }\n ]\n },\n {\n \"name\": \"remove_all_liquidity\",\n \"discriminator\": [10, 51, 61, 35, 112, 105, 24, 85],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n }\n ]\n }\n },\n {\n \"name\": \"lp_mint\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n },\n {\n \"kind\": \"const\",\n \"value\": [108, 105, 113, 117, 105, 100, 105, 116, 121]\n }\n ]\n }\n },\n {\n \"name\": \"payer_lp_account\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"payer\"\n },\n {\n \"kind\": \"account\",\n \"path\": \"token_program\"\n },\n {\n \"kind\": \"account\",\n \"path\": \"lp_mint\"\n }\n ],\n \"program\": {\n \"kind\": \"const\",\n \"value\": [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89\n ]\n }\n }\n },\n {\n \"name\": \"numeraire_config\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [99, 111, 110, 102, 105, 103]\n }\n ]\n }\n },\n {\n \"name\": \"payer\",\n \"signer\": true\n },\n {\n \"name\": \"token_program\",\n \"docs\": [\"Solana ecosystem accounts\"],\n \"address\": \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\"\n },\n {\n \"name\": \"token_2022_program\",\n \"address\": \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\"\n }\n ],\n \"args\": []\n },\n {\n \"name\": \"remove_liquidity\",\n \"discriminator\": [80, 85, 209, 72, 24, 206, 177, 108],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n }\n ]\n }\n },\n {\n \"name\": \"lp_mint\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n },\n {\n \"kind\": \"const\",\n \"value\": [108, 105, 113, 117, 105, 100, 105, 116, 121]\n }\n ]\n }\n },\n {\n \"name\": \"payer_lp_account\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"payer\"\n },\n {\n \"kind\": \"account\",\n \"path\": \"token_program\"\n },\n {\n \"kind\": \"account\",\n \"path\": \"lp_mint\"\n }\n ],\n \"program\": {\n \"kind\": \"const\",\n \"value\": [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89\n ]\n }\n }\n },\n {\n \"name\": \"numeraire_config\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [99, 111, 110, 102, 105, 103]\n }\n ]\n }\n },\n {\n \"name\": \"payer\",\n \"signer\": true\n },\n {\n \"name\": \"token_program\",\n \"docs\": [\"Solana ecosystem accounts\"],\n \"address\": \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\"\n },\n {\n \"name\": \"token_2022_program\",\n \"address\": \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\"\n }\n ],\n \"args\": [\n {\n \"name\": \"data\",\n \"type\": {\n \"defined\": {\n \"name\": \"RemoveLiquidityData\"\n }\n }\n }\n ],\n \"returns\": \"u64\"\n },\n {\n \"name\": \"set_fee\",\n \"discriminator\": [18, 154, 24, 18, 237, 214, 19, 80],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n }\n ]\n }\n },\n {\n \"name\": \"payer\",\n \"signer\": true\n }\n ],\n \"args\": [\n {\n \"name\": \"data\",\n \"type\": {\n \"defined\": {\n \"name\": \"SetFeeData\"\n }\n }\n }\n ]\n },\n {\n \"name\": \"set_inv_t_max\",\n \"discriminator\": [218, 209, 244, 237, 211, 236, 98, 58],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n }\n ]\n }\n },\n {\n \"name\": \"payer\",\n \"signer\": true\n }\n ],\n \"args\": [\n {\n \"name\": \"data\",\n \"type\": {\n \"defined\": {\n \"name\": \"SetInvTMaxData\"\n }\n }\n }\n ]\n },\n {\n \"name\": \"set_lp_token_metadata\",\n \"discriminator\": [71, 73, 56, 155, 202, 142, 100, 150],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n }\n ]\n }\n },\n {\n \"name\": \"lp_mint\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n },\n {\n \"kind\": \"const\",\n \"value\": [108, 105, 113, 117, 105, 100, 105, 116, 121]\n }\n ]\n }\n },\n {\n \"name\": \"metadata_account\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [109, 101, 116, 97, 100, 97, 116, 97]\n },\n {\n \"kind\": \"account\",\n \"path\": \"token_metadata_program\"\n },\n {\n \"kind\": \"account\",\n \"path\": \"lp_mint\"\n }\n ],\n \"program\": {\n \"kind\": \"account\",\n \"path\": \"token_metadata_program\"\n }\n }\n },\n {\n \"name\": \"payer\",\n \"signer\": true\n },\n {\n \"name\": \"token_metadata_program\",\n \"docs\": [\"Solana ecosystem accounts\"],\n \"address\": \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\"\n },\n {\n \"name\": \"token_program\",\n \"address\": \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\"\n },\n {\n \"name\": \"system_program\",\n \"address\": \"11111111111111111111111111111111\"\n },\n {\n \"name\": \"instructions\",\n \"address\": \"Sysvar1nstructions1111111111111111111111111\"\n }\n ],\n \"args\": [\n {\n \"name\": \"data\",\n \"type\": {\n \"defined\": {\n \"name\": \"SetMetadataData\"\n }\n }\n }\n ]\n },\n {\n \"name\": \"set_numeraire_owner\",\n \"discriminator\": [6, 199, 177, 104, 86, 61, 93, 253],\n \"accounts\": [\n {\n \"name\": \"numeraire_config\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [99, 111, 110, 102, 105, 103]\n }\n ]\n }\n },\n {\n \"name\": \"pair_mint\",\n \"optional\": true\n },\n {\n \"name\": \"payer\",\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"system_program\",\n \"docs\": [\"Solana ecosystem accounts\"],\n \"address\": \"11111111111111111111111111111111\"\n }\n ],\n \"args\": [\n {\n \"name\": \"data\",\n \"type\": {\n \"defined\": {\n \"name\": \"SetOwnerData\"\n }\n }\n }\n ]\n },\n {\n \"name\": \"set_numeraire_status\",\n \"discriminator\": [10, 17, 5, 71, 204, 171, 126, 173],\n \"accounts\": [\n {\n \"name\": \"numeraire_config\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [99, 111, 110, 102, 105, 103]\n }\n ]\n }\n },\n {\n \"name\": \"pair_mint\",\n \"optional\": true\n },\n {\n \"name\": \"payer\",\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"system_program\",\n \"docs\": [\"Solana ecosystem accounts\"],\n \"address\": \"11111111111111111111111111111111\"\n }\n ],\n \"args\": [\n {\n \"name\": \"data\",\n \"type\": {\n \"defined\": {\n \"name\": \"SetStatusData\"\n }\n }\n }\n ]\n },\n {\n \"name\": \"set_numeraire_whitelisted_pool_creator\",\n \"discriminator\": [147, 51, 31, 255, 111, 2, 189, 173],\n \"accounts\": [\n {\n \"name\": \"numeraire_config\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [99, 111, 110, 102, 105, 103]\n }\n ]\n }\n },\n {\n \"name\": \"pair_mint\",\n \"optional\": true\n },\n {\n \"name\": \"payer\",\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"system_program\",\n \"docs\": [\"Solana ecosystem accounts\"],\n \"address\": \"11111111111111111111111111111111\"\n }\n ],\n \"args\": [\n {\n \"name\": \"data\",\n \"type\": {\n \"defined\": {\n \"name\": \"SetWhilelistedAddrData\"\n }\n }\n }\n ]\n },\n {\n \"name\": \"set_owner\",\n \"discriminator\": [72, 202, 120, 52, 77, 128, 96, 197],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n }\n ]\n }\n },\n {\n \"name\": \"payer\",\n \"signer\": true\n }\n ],\n \"args\": [\n {\n \"name\": \"data\",\n \"type\": {\n \"defined\": {\n \"name\": \"SetOwnerData\"\n }\n }\n }\n ]\n },\n {\n \"name\": \"set_rate\",\n \"discriminator\": [99, 58, 170, 238, 160, 120, 74, 11],\n \"accounts\": [\n {\n \"name\": \"numeraire_config\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [99, 111, 110, 102, 105, 103]\n }\n ]\n }\n },\n {\n \"name\": \"pair_mint\",\n \"optional\": true\n },\n {\n \"name\": \"payer\",\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"system_program\",\n \"docs\": [\"Solana ecosystem accounts\"],\n \"address\": \"11111111111111111111111111111111\"\n }\n ],\n \"args\": [\n {\n \"name\": \"data\",\n \"type\": {\n \"defined\": {\n \"name\": \"SetRateData\"\n }\n }\n }\n ]\n },\n {\n \"name\": \"set_status\",\n \"docs\": [\"Pool Owner only functions\"],\n \"discriminator\": [181, 184, 224, 203, 193, 29, 177, 224],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n }\n ]\n }\n },\n {\n \"name\": \"payer\",\n \"signer\": true\n }\n ],\n \"args\": [\n {\n \"name\": \"data\",\n \"type\": {\n \"defined\": {\n \"name\": \"SetStatusData\"\n }\n }\n }\n ]\n },\n {\n \"name\": \"set_whitelisted_adder\",\n \"discriminator\": [74, 38, 140, 129, 228, 73, 236, 105],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n }\n ]\n }\n },\n {\n \"name\": \"payer\",\n \"signer\": true\n }\n ],\n \"args\": [\n {\n \"name\": \"data\",\n \"type\": {\n \"defined\": {\n \"name\": \"SetWhilelistedAddrData\"\n }\n }\n }\n ]\n },\n {\n \"name\": \"skim\",\n \"discriminator\": [238, 120, 221, 138, 82, 60, 100, 218],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n }\n ]\n }\n },\n {\n \"name\": \"lp_mint\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n },\n {\n \"kind\": \"const\",\n \"value\": [108, 105, 113, 117, 105, 100, 105, 116, 121]\n }\n ]\n }\n },\n {\n \"name\": \"payer_lp_account\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"payer\"\n },\n {\n \"kind\": \"account\",\n \"path\": \"token_program\"\n },\n {\n \"kind\": \"account\",\n \"path\": \"lp_mint\"\n }\n ],\n \"program\": {\n \"kind\": \"const\",\n \"value\": [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89\n ]\n }\n }\n },\n {\n \"name\": \"numeraire_config\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [99, 111, 110, 102, 105, 103]\n }\n ]\n }\n },\n {\n \"name\": \"payer\",\n \"signer\": true\n },\n {\n \"name\": \"token_program\",\n \"docs\": [\"Solana ecosystem accounts\"],\n \"address\": \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\"\n },\n {\n \"name\": \"token_2022_program\",\n \"address\": \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\"\n }\n ],\n \"args\": []\n },\n {\n \"name\": \"swap_exact_in\",\n \"discriminator\": [104, 104, 131, 86, 161, 189, 180, 216],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n }\n ]\n }\n },\n {\n \"name\": \"in_mint\",\n \"writable\": true\n },\n {\n \"name\": \"out_mint\",\n \"writable\": true\n },\n {\n \"name\": \"in_trader\",\n \"writable\": true\n },\n {\n \"name\": \"out_trader\",\n \"writable\": true\n },\n {\n \"name\": \"in_vault\",\n \"writable\": true,\n \"optional\": true\n },\n {\n \"name\": \"out_vault\",\n \"writable\": true,\n \"optional\": true\n },\n {\n \"name\": \"numeraire_config\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [99, 111, 110, 102, 105, 103]\n }\n ]\n }\n },\n {\n \"name\": \"payer\",\n \"docs\": [\n \"The trader account (executing the swap, paying for all rents)\"\n ],\n \"signer\": true\n },\n {\n \"name\": \"token_program\",\n \"docs\": [\"Solana ecosystem accounts\"],\n \"address\": \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\"\n },\n {\n \"name\": \"token_2022_program\",\n \"address\": \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\"\n }\n ],\n \"args\": [\n {\n \"name\": \"data\",\n \"type\": {\n \"defined\": {\n \"name\": \"SwapExactInHintlessData\"\n }\n }\n }\n ],\n \"returns\": \"u64\"\n },\n {\n \"name\": \"swap_exact_in_hinted\",\n \"discriminator\": [98, 239, 244, 233, 16, 236, 40, 49],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n }\n ]\n }\n },\n {\n \"name\": \"in_mint\",\n \"writable\": true\n },\n {\n \"name\": \"out_mint\",\n \"writable\": true\n },\n {\n \"name\": \"in_trader\",\n \"writable\": true\n },\n {\n \"name\": \"out_trader\",\n \"writable\": true\n },\n {\n \"name\": \"in_vault\",\n \"writable\": true,\n \"optional\": true\n },\n {\n \"name\": \"out_vault\",\n \"writable\": true,\n \"optional\": true\n },\n {\n \"name\": \"numeraire_config\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [99, 111, 110, 102, 105, 103]\n }\n ]\n }\n },\n {\n \"name\": \"payer\",\n \"docs\": [\n \"The trader account (executing the swap, paying for all rents)\"\n ],\n \"signer\": true\n },\n {\n \"name\": \"token_program\",\n \"docs\": [\"Solana ecosystem accounts\"],\n \"address\": \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\"\n },\n {\n \"name\": \"token_2022_program\",\n \"address\": \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\"\n }\n ],\n \"args\": [\n {\n \"name\": \"data\",\n \"type\": {\n \"defined\": {\n \"name\": \"SwapExactInData\"\n }\n }\n }\n ],\n \"returns\": \"u64\"\n },\n {\n \"name\": \"swap_exact_in_quote\",\n \"discriminator\": [68, 209, 177, 170, 185, 100, 29, 191],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n }\n ]\n }\n },\n {\n \"name\": \"in_mint\",\n \"writable\": true\n },\n {\n \"name\": \"out_mint\",\n \"writable\": true\n },\n {\n \"name\": \"in_trader\",\n \"writable\": true\n },\n {\n \"name\": \"out_trader\",\n \"writable\": true\n },\n {\n \"name\": \"in_vault\",\n \"writable\": true,\n \"optional\": true\n },\n {\n \"name\": \"out_vault\",\n \"writable\": true,\n \"optional\": true\n },\n {\n \"name\": \"numeraire_config\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [99, 111, 110, 102, 105, 103]\n }\n ]\n }\n },\n {\n \"name\": \"payer\",\n \"docs\": [\n \"The trader account (executing the swap, paying for all rents)\"\n ],\n \"signer\": true\n },\n {\n \"name\": \"token_program\",\n \"docs\": [\"Solana ecosystem accounts\"],\n \"address\": \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\"\n },\n {\n \"name\": \"token_2022_program\",\n \"address\": \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\"\n }\n ],\n \"args\": [\n {\n \"name\": \"data\",\n \"type\": {\n \"defined\": {\n \"name\": \"SwapExactInData\"\n }\n }\n }\n ],\n \"returns\": \"u64\"\n },\n {\n \"name\": \"swap_exact_out\",\n \"discriminator\": [250, 73, 101, 33, 38, 207, 75, 184],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n }\n ]\n }\n },\n {\n \"name\": \"in_mint\",\n \"writable\": true\n },\n {\n \"name\": \"out_mint\",\n \"writable\": true\n },\n {\n \"name\": \"in_trader\",\n \"writable\": true\n },\n {\n \"name\": \"out_trader\",\n \"writable\": true\n },\n {\n \"name\": \"in_vault\",\n \"writable\": true,\n \"optional\": true\n },\n {\n \"name\": \"out_vault\",\n \"writable\": true,\n \"optional\": true\n },\n {\n \"name\": \"numeraire_config\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [99, 111, 110, 102, 105, 103]\n }\n ]\n }\n },\n {\n \"name\": \"payer\",\n \"docs\": [\n \"The trader account (executing the swap, paying for all rents)\"\n ],\n \"signer\": true\n },\n {\n \"name\": \"token_program\",\n \"docs\": [\"Solana ecosystem accounts\"],\n \"address\": \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\"\n },\n {\n \"name\": \"token_2022_program\",\n \"address\": \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\"\n }\n ],\n \"args\": [\n {\n \"name\": \"data\",\n \"type\": {\n \"defined\": {\n \"name\": \"SwapExactOutHintlessData\"\n }\n }\n }\n ],\n \"returns\": \"u64\"\n },\n {\n \"name\": \"swap_exact_out_hinted\",\n \"discriminator\": [153, 208, 206, 70, 62, 234, 98, 182],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n }\n ]\n }\n },\n {\n \"name\": \"in_mint\",\n \"writable\": true\n },\n {\n \"name\": \"out_mint\",\n \"writable\": true\n },\n {\n \"name\": \"in_trader\",\n \"writable\": true\n },\n {\n \"name\": \"out_trader\",\n \"writable\": true\n },\n {\n \"name\": \"in_vault\",\n \"writable\": true,\n \"optional\": true\n },\n {\n \"name\": \"out_vault\",\n \"writable\": true,\n \"optional\": true\n },\n {\n \"name\": \"numeraire_config\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [99, 111, 110, 102, 105, 103]\n }\n ]\n }\n },\n {\n \"name\": \"payer\",\n \"docs\": [\n \"The trader account (executing the swap, paying for all rents)\"\n ],\n \"signer\": true\n },\n {\n \"name\": \"token_program\",\n \"docs\": [\"Solana ecosystem accounts\"],\n \"address\": \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\"\n },\n {\n \"name\": \"token_2022_program\",\n \"address\": \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\"\n }\n ],\n \"args\": [\n {\n \"name\": \"data\",\n \"type\": {\n \"defined\": {\n \"name\": \"SwapExactOutData\"\n }\n }\n }\n ],\n \"returns\": \"u64\"\n }\n ],\n \"accounts\": [\n {\n \"name\": \"NumeraireConfig\",\n \"discriminator\": [230, 62, 124, 43, 102, 101, 88, 63]\n },\n {\n \"name\": \"StablePool\",\n \"discriminator\": [239, 91, 93, 162, 171, 14, 42, 66]\n },\n {\n \"name\": \"VirtualStablePair\",\n \"discriminator\": [112, 153, 135, 223, 53, 247, 129, 101]\n }\n ],\n \"events\": [\n {\n \"name\": \"AddLiquidity\",\n \"discriminator\": [31, 94, 125, 90, 227, 52, 61, 186]\n },\n {\n \"name\": \"Quote\",\n \"discriminator\": [133, 244, 92, 134, 193, 24, 187, 158]\n },\n {\n \"name\": \"RemoveLiquidity\",\n \"discriminator\": [116, 244, 97, 232, 103, 31, 152, 58]\n },\n {\n \"name\": \"SwapExactIn\",\n \"discriminator\": [147, 136, 213, 11, 150, 23, 141, 152]\n },\n {\n \"name\": \"SwapExactOut\",\n \"discriminator\": [71, 66, 127, 123, 231, 29, 227, 92]\n }\n ],\n \"errors\": [\n {\n \"code\": 6000,\n \"name\": \"OnlyOwner\",\n \"msg\": \"Attempt to call an owner only function not by the owner\"\n },\n {\n \"code\": 6001,\n \"name\": \"InvalidTokenAccountData\",\n \"msg\": \"Token account data is not as expected\"\n },\n {\n \"code\": 6002,\n \"name\": \"InvalidAccountData\",\n \"msg\": \"Account data is not as expected\"\n },\n {\n \"code\": 6003,\n \"name\": \"DecimalsMismatch\",\n \"msg\": \"Token pair decimals mismatch\"\n },\n {\n \"code\": 6004,\n \"name\": \"InvalidTokenExtension\",\n \"msg\": \"Token should not have this extension\"\n },\n {\n \"code\": 6005,\n \"name\": \"IncorrectAccounts\",\n \"msg\": \"Wrong account(s) passed as input\"\n },\n {\n \"code\": 6006,\n \"name\": \"IncorrectAuthority\",\n \"msg\": \"Wrong authority passed as input\"\n },\n {\n \"code\": 6007,\n \"name\": \"InvalidDelegate\",\n \"msg\": \"Delegate not allowed\"\n },\n {\n \"code\": 6008,\n \"name\": \"UnsupportedFeature\",\n \"msg\": \"This feature is currently unsupported or unenabled\"\n },\n {\n \"code\": 6009,\n \"name\": \"FunctionPaused\",\n \"msg\": \"This function is currently paused\"\n },\n {\n \"code\": 6010,\n \"name\": \"InvalidFee\",\n \"msg\": \"Fee must be less than 100 basis points\"\n },\n {\n \"code\": 6011,\n \"name\": \"InvalidPoolCreate\",\n \"msg\": \"Token mints must be ordered by pubkey\"\n },\n {\n \"code\": 6012,\n \"name\": \"InvalidCurveParams\",\n \"msg\": \"Curve params must be positive\"\n },\n {\n \"code\": 6013,\n \"name\": \"InsufficientLiquidity\",\n \"msg\": \"Pool has too little liquidity for action\"\n },\n {\n \"code\": 6014,\n \"name\": \"LiquidityAddUnbalanced\",\n \"msg\": \"Liquidity add does not make pool balanced (or curve params are asymmetric)\"\n },\n {\n \"code\": 6015,\n \"name\": \"InsufficientBalance\",\n \"msg\": \"Input is more than trader balance\"\n },\n {\n \"code\": 6016,\n \"name\": \"InputTooSmall\",\n \"msg\": \"Input is below the minimum expected\"\n },\n {\n \"code\": 6017,\n \"name\": \"InputTooBig\",\n \"msg\": \"Input is more than available liquidity\"\n },\n {\n \"code\": 6018,\n \"name\": \"OutputTooSmall\",\n \"msg\": \"Output is below the minimum expected\"\n },\n {\n \"code\": 6019,\n \"name\": \"InvariantOverflow\",\n \"msg\": \"Invariant computation overflowed\"\n },\n {\n \"code\": 6020,\n \"name\": \"InvariantViolated\",\n \"msg\": \"Invariant does not hold\"\n },\n {\n \"code\": 6021,\n \"name\": \"LiquidityAddTooSmall\",\n \"msg\": \"Depositing too little liquidity\"\n },\n {\n \"code\": 6022,\n \"name\": \"UnsupportedTokenProgram\",\n \"msg\": \"Only Token Program 2022 and/or Token Program are supported\"\n },\n {\n \"code\": 6023,\n \"name\": \"InvalidPoolWeights\",\n \"msg\": \"Some pool weights are zero or nonzero and shouldn't be\"\n },\n {\n \"code\": 6024,\n \"name\": \"SwapOverflowError\",\n \"msg\": \"A swap math operation overflowed\"\n },\n {\n \"code\": 6025,\n \"name\": \"LiquidityMathOverflow\",\n \"msg\": \"An add/remove liquidity math operation overflowed\"\n },\n {\n \"code\": 6026,\n \"name\": \"InvalidBalanceDeltas\",\n \"msg\": \"Some add/remove balance deltas are nonzero and shouldn't be\"\n },\n {\n \"code\": 6027,\n \"name\": \"InvalidPoolParams\",\n \"msg\": \"The provided pool params were not well formed\"\n },\n {\n \"code\": 6028,\n \"name\": \"InvalidHints\",\n \"msg\": \"The hints provided do not bound the swap amounts\"\n },\n {\n \"code\": 6029,\n \"name\": \"FeeError\",\n \"msg\": \"Unexpected fee result\"\n },\n {\n \"code\": 6030,\n \"name\": \"VaultOverflowError\",\n \"msg\": \"A vault math operation overflowed\"\n },\n {\n \"code\": 6031,\n \"name\": \"OutputTooBig\",\n \"msg\": \"Output is above the maximum expected\"\n },\n {\n \"code\": 6032,\n \"name\": \"Unreachable\",\n \"msg\": \"This cannot happen\"\n },\n {\n \"code\": 6033,\n \"name\": \"InvalidAction\",\n \"msg\": \"This action is not allowed\"\n }\n ],\n \"types\": [\n {\n \"name\": \"AddLiquidity\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"lp_token_mint_amount\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"x_reserve_deltas\",\n \"type\": {\n \"array\": [\"u64\", 10]\n }\n },\n {\n \"name\": \"y_reserve_deltas\",\n \"type\": {\n \"array\": [\"u64\", 10]\n }\n },\n {\n \"name\": \"inv_L_deltas\",\n \"type\": {\n \"array\": [\"u64\", 10]\n }\n },\n {\n \"name\": \"min_lp_token_mint_amount\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"trader\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n }\n ]\n }\n },\n {\n \"name\": \"AddLiquidityData\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"max_amounts_in\",\n \"type\": {\n \"array\": [\"u64\", 10]\n }\n },\n {\n \"name\": \"min_lp_token_mint_amount\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"take_swaps\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"swap_paths\",\n \"type\": {\n \"array\": [\"u8\", 10]\n }\n },\n {\n \"name\": \"swap_amounts\",\n \"type\": {\n \"array\": [\"u64\", 10]\n }\n }\n ]\n }\n },\n {\n \"name\": \"CreateStablePoolData\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"decimals\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"fee_num\",\n \"type\": \"u32\"\n },\n {\n \"name\": \"fee_denom\",\n \"type\": \"u32\"\n },\n {\n \"name\": \"pool_seed\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"weights\",\n \"type\": {\n \"array\": [\"u32\", 10]\n }\n },\n {\n \"name\": \"inv_T\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"inv_T_max\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"InitVirtualStablePairData\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"decimals\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"init_amount\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"curve_Amp\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"curve_a\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"curve_b\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"curve_alpha\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"curve_beta\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"pair_seed\",\n \"type\": \"pubkey\"\n }\n ]\n }\n },\n {\n \"name\": \"NumeraireConfig\",\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"owner\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"status\",\n \"type\": \"u32\"\n },\n {\n \"name\": \"rate_mints\",\n \"type\": {\n \"array\": [\"pubkey\", 10]\n }\n },\n {\n \"name\": \"rate_nums\",\n \"type\": {\n \"array\": [\"u32\", 10]\n }\n },\n {\n \"name\": \"rate_denoms\",\n \"type\": {\n \"array\": [\"u32\", 10]\n }\n },\n {\n \"name\": \"_padding\",\n \"type\": {\n \"array\": [\"u8\", 12]\n }\n },\n {\n \"name\": \"padding\",\n \"type\": {\n \"array\": [\"u8\", 1024]\n }\n }\n ]\n }\n },\n {\n \"name\": \"Quote\",\n \"type\": {\n \"k