{ "address": "cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG", "metadata": { "name": "cp_amm", "version": "0.1.7", "spec": "0.1.0", "description": "Created with Anchor" }, "instructions": [ { "name": "add_liquidity", "discriminator": [ 181, 157, 89, 67, 143, 182, 52, 72 ], "accounts": [ { "name": "pool", "writable": true, "relations": [ "position" ] }, { "name": "position", "writable": true }, { "name": "token_a_account", "docs": [ "The user token a account" ], "writable": true }, { "name": "token_b_account", "docs": [ "The user token b account" ], "writable": true }, { "name": "token_a_vault", "docs": [ "The vault token account for input token" ], "writable": true, "relations": [ "pool" ] }, { "name": "token_b_vault", "docs": [ "The vault token account for output token" ], "writable": true, "relations": [ "pool" ] }, { "name": "token_a_mint", "docs": [ "The mint of token a" ], "relations": [ "pool" ] }, { "name": "token_b_mint", "docs": [ "The mint of token b" ], "relations": [ "pool" ] }, { "name": "position_nft_account", "docs": [ "The token account for nft" ] }, { "name": "owner", "docs": [ "owner of position" ], "signer": true }, { "name": "token_a_program", "docs": [ "Token a program" ] }, { "name": "token_b_program", "docs": [ "Token b program" ] }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [ { "name": "params", "type": { "defined": { "name": "AddLiquidityParameters" } } } ] }, { "name": "claim_partner_fee", "discriminator": [ 97, 206, 39, 105, 94, 94, 126, 148 ], "accounts": [ { "name": "pool_authority", "address": "HLnpSz9h2S4hiLQ43rnSD9XkcUThA7B8hQMKmDaiTLcC" }, { "name": "pool", "writable": true }, { "name": "token_a_account", "docs": [ "The treasury token a account" ], "writable": true }, { "name": "token_b_account", "docs": [ "The treasury token b account" ], "writable": true }, { "name": "token_a_vault", "docs": [ "The vault token account for input token" ], "writable": true, "relations": [ "pool" ] }, { "name": "token_b_vault", "docs": [ "The vault token account for output token" ], "writable": true, "relations": [ "pool" ] }, { "name": "token_a_mint", "docs": [ "The mint of token a" ], "relations": [ "pool" ] }, { "name": "token_b_mint", "docs": [ "The mint of token b" ], "relations": [ "pool" ] }, { "name": "partner", "signer": true, "relations": [ "pool" ] }, { "name": "token_a_program", "docs": [ "Token a program" ] }, { "name": "token_b_program", "docs": [ "Token b program" ] }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [ { "name": "max_amount_a", "type": "u64" }, { "name": "max_amount_b", "type": "u64" } ] }, { "name": "claim_position_fee", "discriminator": [ 180, 38, 154, 17, 133, 33, 162, 211 ], "accounts": [ { "name": "pool_authority", "address": "HLnpSz9h2S4hiLQ43rnSD9XkcUThA7B8hQMKmDaiTLcC" }, { "name": "pool", "relations": [ "position" ] }, { "name": "position", "writable": true }, { "name": "token_a_account", "docs": [ "The user token a account" ], "writable": true }, { "name": "token_b_account", "docs": [ "The user token b account" ], "writable": true }, { "name": "token_a_vault", "docs": [ "The vault token account for input token" ], "writable": true, "relations": [ "pool" ] }, { "name": "token_b_vault", "docs": [ "The vault token account for output token" ], "writable": true, "relations": [ "pool" ] }, { "name": "token_a_mint", "docs": [ "The mint of token a" ], "relations": [ "pool" ] }, { "name": "token_b_mint", "docs": [ "The mint of token b" ], "relations": [ "pool" ] }, { "name": "position_nft_account", "docs": [ "The token account for nft" ] }, { "name": "owner", "docs": [ "owner of position" ], "signer": true }, { "name": "token_a_program", "docs": [ "Token a program" ] }, { "name": "token_b_program", "docs": [ "Token b program" ] }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [] }, { "name": "claim_protocol_fee", "discriminator": [ 165, 228, 133, 48, 99, 249, 255, 33 ], "accounts": [ { "name": "pool_authority", "address": "HLnpSz9h2S4hiLQ43rnSD9XkcUThA7B8hQMKmDaiTLcC" }, { "name": "pool", "writable": true }, { "name": "token_a_vault", "docs": [ "The vault token account for input token" ], "writable": true, "relations": [ "pool" ] }, { "name": "token_b_vault", "docs": [ "The vault token account for output token" ], "writable": true, "relations": [ "pool" ] }, { "name": "token_a_mint", "docs": [ "The mint of token a" ], "relations": [ "pool" ] }, { "name": "token_b_mint", "docs": [ "The mint of token b" ], "relations": [ "pool" ] }, { "name": "token_a_account", "writable": true }, { "name": "token_b_account", "writable": true }, { "name": "operator", "docs": [ "Claim fee operator" ] }, { "name": "signer", "docs": [ "Operator" ], "signer": true }, { "name": "token_a_program", "docs": [ "Token a program" ] }, { "name": "token_b_program", "docs": [ "Token b program" ] }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [ { "name": "max_amount_a", "type": "u64" }, { "name": "max_amount_b", "type": "u64" } ] }, { "name": "claim_reward", "discriminator": [ 149, 95, 181, 242, 94, 90, 158, 162 ], "accounts": [ { "name": "pool_authority", "address": "HLnpSz9h2S4hiLQ43rnSD9XkcUThA7B8hQMKmDaiTLcC" }, { "name": "pool", "writable": true, "relations": [ "position" ] }, { "name": "position", "writable": true }, { "name": "reward_vault", "docs": [ "The vault token account for reward token" ], "writable": true }, { "name": "reward_mint" }, { "name": "user_token_account", "writable": true }, { "name": "position_nft_account", "docs": [ "The token account for nft" ] }, { "name": "owner", "docs": [ "owner of position" ], "signer": true }, { "name": "token_program" }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [ { "name": "reward_index", "type": "u8" }, { "name": "skip_reward", "type": "u8" } ] }, { "name": "close_config", "discriminator": [ 145, 9, 72, 157, 95, 125, 61, 85 ], "accounts": [ { "name": "config", "writable": true }, { "name": "operator" }, { "name": "signer", "signer": true }, { "name": "rent_receiver", "writable": true }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [] }, { "name": "close_operator_account", "discriminator": [ 171, 9, 213, 74, 120, 23, 3, 29 ], "accounts": [ { "name": "operator", "writable": true }, { "name": "signer", "signer": true }, { "name": "rent_receiver", "writable": true }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [] }, { "name": "close_position", "discriminator": [ 123, 134, 81, 0, 49, 68, 98, 98 ], "accounts": [ { "name": "position_nft_mint", "docs": [ "position_nft_mint" ], "writable": true }, { "name": "position_nft_account", "docs": [ "The token account for nft" ], "writable": true }, { "name": "pool", "writable": true, "relations": [ "position" ] }, { "name": "position", "writable": true }, { "name": "pool_authority", "address": "HLnpSz9h2S4hiLQ43rnSD9XkcUThA7B8hQMKmDaiTLcC" }, { "name": "rent_receiver", "writable": true }, { "name": "owner", "docs": [ "Owner of position" ], "signer": true }, { "name": "token_program", "docs": [ "Program to create NFT mint/token account and transfer for token22 account" ], "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [] }, { "name": "close_token_badge", "discriminator": [ 108, 146, 86, 110, 179, 254, 10, 104 ], "accounts": [ { "name": "token_badge", "writable": true }, { "name": "operator" }, { "name": "signer", "signer": true }, { "name": "rent_receiver", "writable": true }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [] }, { "name": "create_config", "docs": [ "OPERATOR FUNCTIONS /////" ], "discriminator": [ 201, 207, 243, 114, 75, 111, 47, 189 ], "accounts": [ { "name": "config", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 99, 111, 110, 102, 105, 103 ] }, { "kind": "arg", "path": "index" } ] } }, { "name": "operator" }, { "name": "signer", "signer": true }, { "name": "payer", "writable": true, "signer": true }, { "name": "system_program", "address": "11111111111111111111111111111111" }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [ { "name": "index", "type": "u64" }, { "name": "config_parameters", "type": { "defined": { "name": "StaticConfigParameters" } } } ] }, { "name": "create_dynamic_config", "discriminator": [ 81, 251, 122, 78, 66, 57, 208, 82 ], "accounts": [ { "name": "config", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 99, 111, 110, 102, 105, 103 ] }, { "kind": "arg", "path": "index" } ] } }, { "name": "operator" }, { "name": "signer", "signer": true }, { "name": "payer", "writable": true, "signer": true }, { "name": "system_program", "address": "11111111111111111111111111111111" }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [ { "name": "index", "type": "u64" }, { "name": "config_parameters", "type": { "defined": { "name": "DynamicConfigParameters" } } } ] }, { "name": "create_operator_account", "docs": [ "ADMIN FUNCTIONS /////" ], "discriminator": [ 221, 64, 246, 149, 240, 153, 229, 163 ], "accounts": [ { "name": "operator", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 111, 112, 101, 114, 97, 116, 111, 114 ] }, { "kind": "account", "path": "whitelisted_address" } ] } }, { "name": "whitelisted_address" }, { "name": "signer", "signer": true }, { "name": "payer", "writable": true, "signer": true }, { "name": "system_program", "address": "11111111111111111111111111111111" }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [ { "name": "permission", "type": "u128" } ] }, { "name": "create_position", "discriminator": [ 48, 215, 197, 153, 96, 203, 180, 133 ], "accounts": [ { "name": "owner" }, { "name": "position_nft_mint", "docs": [ "position_nft_mint" ], "writable": true, "signer": true }, { "name": "position_nft_account", "docs": [ "position nft account" ], "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 112, 111, 115, 105, 116, 105, 111, 110, 95, 110, 102, 116, 95, 97, 99, 99, 111, 117, 110, 116 ] }, { "kind": "account", "path": "position_nft_mint" } ] } }, { "name": "pool", "writable": true }, { "name": "position", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 112, 111, 115, 105, 116, 105, 111, 110 ] }, { "kind": "account", "path": "position_nft_mint" } ] } }, { "name": "pool_authority", "address": "HLnpSz9h2S4hiLQ43rnSD9XkcUThA7B8hQMKmDaiTLcC" }, { "name": "payer", "docs": [ "Address paying to create the position. Can be anyone" ], "writable": true, "signer": true }, { "name": "token_program", "docs": [ "Program to create NFT mint/token account and transfer for token22 account" ], "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" }, { "name": "system_program", "address": "11111111111111111111111111111111" }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [] }, { "name": "create_token_badge", "discriminator": [ 88, 206, 0, 91, 60, 175, 151, 118 ], "accounts": [ { "name": "token_badge", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 116, 111, 107, 101, 110, 95, 98, 97, 100, 103, 101 ] }, { "kind": "account", "path": "token_mint" } ] } }, { "name": "token_mint" }, { "name": "operator" }, { "name": "signer", "signer": true }, { "name": "payer", "writable": true, "signer": true }, { "name": "system_program", "address": "11111111111111111111111111111111" }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [] }, { "name": "dummy_ix", "discriminator": [ 234, 95, 176, 185, 7, 42, 35, 159 ], "accounts": [ { "name": "pod_aligned_fee_time_scheduler" }, { "name": "pod_aligned_fee_rate_limiter" }, { "name": "pod_aligned_fee_market_cap_scheduler" } ], "args": [ { "name": "_ixs", "type": { "defined": { "name": "DummyParams" } } } ] }, { "name": "fund_reward", "discriminator": [ 188, 50, 249, 165, 93, 151, 38, 63 ], "accounts": [ { "name": "pool", "writable": true }, { "name": "reward_vault", "writable": true }, { "name": "reward_mint" }, { "name": "funder_token_account", "writable": true }, { "name": "funder", "signer": true }, { "name": "token_program" }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [ { "name": "reward_index", "type": "u8" }, { "name": "amount", "type": "u64" }, { "name": "carry_forward", "type": "bool" } ] }, { "name": "initialize_customizable_pool", "discriminator": [ 20, 161, 241, 24, 189, 221, 180, 2 ], "accounts": [ { "name": "creator" }, { "name": "position_nft_mint", "docs": [ "position_nft_mint" ], "writable": true, "signer": true }, { "name": "position_nft_account", "docs": [ "position nft account" ], "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 112, 111, 115, 105, 116, 105, 111, 110, 95, 110, 102, 116, 95, 97, 99, 99, 111, 117, 110, 116 ] }, { "kind": "account", "path": "position_nft_mint" } ] } }, { "name": "payer", "docs": [ "Address paying to create the pool. Can be anyone" ], "writable": true, "signer": true }, { "name": "pool_authority", "address": "HLnpSz9h2S4hiLQ43rnSD9XkcUThA7B8hQMKmDaiTLcC" }, { "name": "pool", "docs": [ "Initialize an account to store the pool state" ], "writable": true }, { "name": "position", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 112, 111, 115, 105, 116, 105, 111, 110 ] }, { "kind": "account", "path": "position_nft_mint" } ] } }, { "name": "token_a_mint", "docs": [ "Token a mint" ] }, { "name": "token_b_mint", "docs": [ "Token b mint" ] }, { "name": "token_a_vault", "docs": [ "Token a vault for the pool" ], "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116 ] }, { "kind": "account", "path": "token_a_mint" }, { "kind": "account", "path": "pool" } ] } }, { "name": "token_b_vault", "docs": [ "Token b vault for the pool" ], "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116 ] }, { "kind": "account", "path": "token_b_mint" }, { "kind": "account", "path": "pool" } ] } }, { "name": "payer_token_a", "docs": [ "payer token a account" ], "writable": true }, { "name": "payer_token_b", "docs": [ "creator token b account" ], "writable": true }, { "name": "token_a_program", "docs": [ "Program to create mint account and mint tokens" ] }, { "name": "token_b_program", "docs": [ "Program to create mint account and mint tokens" ] }, { "name": "token_2022_program", "docs": [ "Program to create NFT mint/token account and transfer for token22 account" ], "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" }, { "name": "system_program", "address": "11111111111111111111111111111111" }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [ { "name": "params", "type": { "defined": { "name": "InitializeCustomizablePoolParameters" } } } ] }, { "name": "initialize_pool", "docs": [ "USER FUNCTIONS ////" ], "discriminator": [ 95, 180, 10, 172, 84, 174, 232, 40 ], "accounts": [ { "name": "creator" }, { "name": "position_nft_mint", "docs": [ "position_nft_mint" ], "writable": true, "signer": true }, { "name": "position_nft_account", "docs": [ "position nft account" ], "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 112, 111, 115, 105, 116, 105, 111, 110, 95, 110, 102, 116, 95, 97, 99, 99, 111, 117, 110, 116 ] }, { "kind": "account", "path": "position_nft_mint" } ] } }, { "name": "payer", "docs": [ "Address paying to create the pool. Can be anyone" ], "writable": true, "signer": true }, { "name": "config", "docs": [ "Which config the pool belongs to." ] }, { "name": "pool_authority", "address": "HLnpSz9h2S4hiLQ43rnSD9XkcUThA7B8hQMKmDaiTLcC" }, { "name": "pool", "docs": [ "Initialize an account to store the pool state" ], "writable": true }, { "name": "position", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 112, 111, 115, 105, 116, 105, 111, 110 ] }, { "kind": "account", "path": "position_nft_mint" } ] } }, { "name": "token_a_mint", "docs": [ "Token a mint" ] }, { "name": "token_b_mint", "docs": [ "Token b mint" ] }, { "name": "token_a_vault", "docs": [ "Token a vault for the pool" ], "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116 ] }, { "kind": "account", "path": "token_a_mint" }, { "kind": "account", "path": "pool" } ] } }, { "name": "token_b_vault", "docs": [ "Token b vault for the pool" ], "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116 ] }, { "kind": "account", "path": "token_b_mint" }, { "kind": "account", "path": "pool" } ] } }, { "name": "payer_token_a", "docs": [ "payer token a account" ], "writable": true }, { "name": "payer_token_b", "docs": [ "creator token b account" ], "writable": true }, { "name": "token_a_program", "docs": [ "Program to create mint account and mint tokens" ] }, { "name": "token_b_program", "docs": [ "Program to create mint account and mint tokens" ] }, { "name": "token_2022_program", "docs": [ "Program to create NFT mint/token account and transfer for token22 account" ], "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" }, { "name": "system_program", "address": "11111111111111111111111111111111" }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [ { "name": "params", "type": { "defined": { "name": "InitializePoolParameters" } } } ] }, { "name": "initialize_pool_with_dynamic_config", "discriminator": [ 149, 82, 72, 197, 253, 252, 68, 15 ], "accounts": [ { "name": "creator" }, { "name": "position_nft_mint", "docs": [ "position_nft_mint" ], "writable": true, "signer": true }, { "name": "position_nft_account", "docs": [ "position nft account" ], "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 112, 111, 115, 105, 116, 105, 111, 110, 95, 110, 102, 116, 95, 97, 99, 99, 111, 117, 110, 116 ] }, { "kind": "account", "path": "position_nft_mint" } ] } }, { "name": "payer", "docs": [ "Address paying to create the pool. Can be anyone" ], "writable": true, "signer": true }, { "name": "pool_creator_authority", "signer": true, "relations": [ "config" ] }, { "name": "config", "docs": [ "Which config the pool belongs to." ] }, { "name": "pool_authority", "address": "HLnpSz9h2S4hiLQ43rnSD9XkcUThA7B8hQMKmDaiTLcC" }, { "name": "pool", "docs": [ "Initialize an account to store the pool state" ], "writable": true }, { "name": "position", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 112, 111, 115, 105, 116, 105, 111, 110 ] }, { "kind": "account", "path": "position_nft_mint" } ] } }, { "name": "token_a_mint", "docs": [ "Token a mint" ] }, { "name": "token_b_mint", "docs": [ "Token b mint" ] }, { "name": "token_a_vault", "docs": [ "Token a vault for the pool" ], "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116 ] }, { "kind": "account", "path": "token_a_mint" }, { "kind": "account", "path": "pool" } ] } }, { "name": "token_b_vault", "docs": [ "Token b vault for the pool" ], "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116 ] }, { "kind": "account", "path": "token_b_mint" }, { "kind": "account", "path": "pool" } ] } }, { "name": "payer_token_a", "docs": [ "payer token a account" ], "writable": true }, { "name": "payer_token_b", "docs": [ "creator token b account" ], "writable": true }, { "name": "token_a_program", "docs": [ "Program to create mint account and mint tokens" ] }, { "name": "token_b_program", "docs": [ "Program to create mint account and mint tokens" ] }, { "name": "token_2022_program", "docs": [ "Program to create NFT mint/token account and transfer for token22 account" ], "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" }, { "name": "system_program", "address": "11111111111111111111111111111111" }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [ { "name": "params", "type": { "defined": { "name": "InitializeCustomizablePoolParameters" } } } ] }, { "name": "initialize_reward", "discriminator": [ 95, 135, 192, 196, 242, 129, 230, 68 ], "accounts": [ { "name": "pool_authority", "address": "HLnpSz9h2S4hiLQ43rnSD9XkcUThA7B8hQMKmDaiTLcC" }, { "name": "pool", "writable": true }, { "name": "reward_vault", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 114, 101, 119, 97, 114, 100, 95, 118, 97, 117, 108, 116 ] }, { "kind": "account", "path": "pool" }, { "kind": "arg", "path": "reward_index" } ] } }, { "name": "reward_mint" }, { "name": "signer", "signer": true }, { "name": "payer", "writable": true, "signer": true }, { "name": "token_program" }, { "name": "system_program", "address": "11111111111111111111111111111111" }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [ { "name": "reward_index", "type": "u8" }, { "name": "reward_duration", "type": "u64" }, { "name": "funder", "type": "pubkey" } ] }, { "name": "lock_position", "discriminator": [ 227, 62, 2, 252, 247, 10, 171, 185 ], "accounts": [ { "name": "pool", "relations": [ "position" ] }, { "name": "position", "writable": true }, { "name": "vesting", "writable": true, "signer": true }, { "name": "position_nft_account", "docs": [ "The token account for nft" ] }, { "name": "owner", "docs": [ "owner of position" ], "signer": true }, { "name": "payer", "writable": true, "signer": true }, { "name": "system_program", "address": "11111111111111111111111111111111" }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [ { "name": "params", "type": { "defined": { "name": "VestingParameters" } } } ] }, { "name": "permanent_lock_position", "discriminator": [ 165, 176, 125, 6, 231, 171, 186, 213 ], "accounts": [ { "name": "pool", "writable": true, "relations": [ "position" ] }, { "name": "position", "writable": true }, { "name": "position_nft_account", "docs": [ "The token account for nft" ] }, { "name": "owner", "docs": [ "owner of position" ], "signer": true }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [ { "name": "permanent_lock_liquidity", "type": "u128" } ] }, { "name": "refresh_vesting", "discriminator": [ 9, 94, 216, 14, 116, 204, 247, 0 ], "accounts": [ { "name": "pool", "relations": [ "position" ] }, { "name": "position", "writable": true }, { "name": "position_nft_account", "docs": [ "The token account for nft" ] }, { "name": "owner" } ], "args": [] }, { "name": "remove_all_liquidity", "discriminator": [ 10, 51, 61, 35, 112, 105, 24, 85 ], "accounts": [ { "name": "pool_authority", "address": "HLnpSz9h2S4hiLQ43rnSD9XkcUThA7B8hQMKmDaiTLcC" }, { "name": "pool", "writable": true, "relations": [ "position" ] }, { "name": "position", "writable": true }, { "name": "token_a_account", "docs": [ "The user token a account" ], "writable": true }, { "name": "token_b_account", "docs": [ "The user token b account" ], "writable": true }, { "name": "token_a_vault", "docs": [ "The vault token account for input token" ], "writable": true, "relations": [ "pool" ] }, { "name": "token_b_vault", "docs": [ "The vault token account for output token" ], "writable": true, "relations": [ "pool" ] }, { "name": "token_a_mint", "docs": [ "The mint of token a" ], "relations": [ "pool" ] }, { "name": "token_b_mint", "docs": [ "The mint of token b" ], "relations": [ "pool" ] }, { "name": "position_nft_account", "docs": [ "The token account for nft" ] }, { "name": "owner", "docs": [ "owner of position" ], "signer": true }, { "name": "token_a_program", "docs": [ "Token a program" ] }, { "name": "token_b_program", "docs": [ "Token b program" ] }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [ { "name": "token_a_amount_threshold", "type": "u64" }, { "name": "token_b_amount_threshold", "type": "u64" } ] }, { "name": "remove_liquidity", "discriminator": [ 80, 85, 209, 72, 24, 206, 177, 108 ], "accounts": [ { "name": "pool_authority", "address": "HLnpSz9h2S4hiLQ43rnSD9XkcUThA7B8hQMKmDaiTLcC" }, { "name": "pool", "writable": true, "relations": [ "position" ] }, { "name": "position", "writable": true }, { "name": "token_a_account", "docs": [ "The user token a account" ], "writable": true }, { "name": "token_b_account", "docs": [ "The user token b account" ], "writable": true }, { "name": "token_a_vault", "docs": [ "The vault token account for input token" ], "writable": true, "relations": [ "pool" ] }, { "name": "token_b_vault", "docs": [ "The vault token account for output token" ], "writable": true, "relations": [ "pool" ] }, { "name": "token_a_mint", "docs": [ "The mint of token a" ], "relations": [ "pool" ] }, { "name": "token_b_mint", "docs": [ "The mint of token b" ], "relations": [ "pool" ] }, { "name": "position_nft_account", "docs": [ "The token account for nft" ] }, { "name": "owner", "docs": [ "owner of position" ], "signer": true }, { "name": "token_a_program", "docs": [ "Token a program" ] }, { "name": "token_b_program", "docs": [ "Token b program" ] }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [ { "name": "params", "type": { "defined": { "name": "RemoveLiquidityParameters" } } } ] }, { "name": "set_pool_status", "discriminator": [ 112, 87, 135, 223, 83, 204, 132, 53 ], "accounts": [ { "name": "pool", "writable": true }, { "name": "operator" }, { "name": "signer", "signer": true }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [ { "name": "status", "type": "u8" } ] }, { "name": "split_position", "discriminator": [ 172, 241, 221, 138, 161, 29, 253, 42 ], "accounts": [ { "name": "pool", "writable": true, "relations": [ "first_position", "second_position" ] }, { "name": "first_position", "docs": [ "The first position" ], "writable": true }, { "name": "first_position_nft_account", "docs": [ "The token account for position nft" ] }, { "name": "second_position", "docs": [ "The second position" ], "writable": true }, { "name": "second_position_nft_account", "docs": [ "The token account for position nft" ] }, { "name": "first_owner", "docs": [ "Owner of first position" ], "signer": true }, { "name": "second_owner", "docs": [ "Owner of second position" ], "signer": true }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [ { "name": "params", "type": { "defined": { "name": "SplitPositionParameters" } } } ] }, { "name": "split_position2", "discriminator": [ 221, 147, 228, 207, 140, 212, 17, 119 ], "accounts": [ { "name": "pool", "writable": true, "relations": [ "first_position", "second_position" ] }, { "name": "first_position", "docs": [ "The first position" ], "writable": true }, { "name": "first_position_nft_account", "docs": [ "The token account for position nft" ] }, { "name": "second_position", "docs": [ "The second position" ], "writable": true }, { "name": "second_position_nft_account", "docs": [ "The token account for position nft" ] }, { "name": "first_owner", "docs": [ "Owner of first position" ], "signer": true }, { "name": "second_owner", "docs": [ "Owner of second position" ], "signer": true }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [ { "name": "numerator", "type": "u32" } ] }, { "name": "swap", "discriminator": [ 248, 198, 158, 145, 225, 117, 135, 200 ], "accounts": [ { "name": "pool_authority", "address": "HLnpSz9h2S4hiLQ43rnSD9XkcUThA7B8hQMKmDaiTLcC" }, { "name": "pool", "docs": [ "Pool account" ], "writable": true }, { "name": "input_token_account", "docs": [ "The user token account for input token" ], "writable": true }, { "name": "output_token_account", "docs": [ "The user token account for output token" ], "writable": true }, { "name": "token_a_vault", "docs": [ "The vault token account for input token" ], "writable": true, "relations": [ "pool" ] }, { "name": "token_b_vault", "docs": [ "The vault token account for output token" ], "writable": true, "relations": [ "pool" ] }, { "name": "token_a_mint", "docs": [ "The mint of token a" ] }, { "name": "token_b_mint", "docs": [ "The mint of token b" ] }, { "name": "payer", "docs": [ "The user performing the swap" ], "signer": true }, { "name": "token_a_program", "docs": [ "Token a program" ] }, { "name": "token_b_program", "docs": [ "Token b program" ] }, { "name": "referral_token_account", "docs": [ "referral token account" ], "writable": true, "optional": true }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [ { "name": "_params", "type": { "defined": { "name": "SwapParameters" } } } ] }, { "name": "swap2", "discriminator": [ 65, 75, 63, 76, 235, 91, 91, 136 ], "accounts": [ { "name": "pool_authority", "address": "HLnpSz9h2S4hiLQ43rnSD9XkcUThA7B8hQMKmDaiTLcC" }, { "name": "pool", "docs": [ "Pool account" ], "writable": true }, { "name": "input_token_account", "docs": [ "The user token account for input token" ], "writable": true }, { "name": "output_token_account", "docs": [ "The user token account for output token" ], "writable": true }, { "name": "token_a_vault", "docs": [ "The vault token account for input token" ], "writable": true, "relations": [ "pool" ] }, { "name": "token_b_vault", "docs": [ "The vault token account for output token" ], "writable": true, "relations": [ "pool" ] }, { "name": "token_a_mint", "docs": [ "The mint of token a" ] }, { "name": "token_b_mint", "docs": [ "The mint of token b" ] }, { "name": "payer", "docs": [ "The user performing the swap" ], "signer": true }, { "name": "token_a_program", "docs": [ "Token a program" ] }, { "name": "token_b_program", "docs": [ "Token b program" ] }, { "name": "referral_token_account", "docs": [ "referral token account" ], "writable": true, "optional": true }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [ { "name": "_params", "type": { "defined": { "name": "SwapParameters2" } } } ] }, { "name": "update_pool_fees", "discriminator": [ 118, 217, 203, 179, 60, 8, 70, 89 ], "accounts": [ { "name": "pool", "writable": true }, { "name": "operator" }, { "name": "signer", "signer": true }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [ { "name": "params", "type": { "defined": { "name": "UpdatePoolFeesParameters" } } } ] }, { "name": "update_reward_duration", "discriminator": [ 138, 174, 196, 169, 213, 235, 254, 107 ], "accounts": [ { "name": "pool", "writable": true }, { "name": "signer", "signer": true }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [ { "name": "reward_index", "type": "u8" }, { "name": "new_duration", "type": "u64" } ] }, { "name": "update_reward_funder", "discriminator": [ 211, 28, 48, 32, 215, 160, 35, 23 ], "accounts": [ { "name": "pool", "writable": true }, { "name": "signer", "signer": true }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [ { "name": "reward_index", "type": "u8" }, { "name": "new_funder", "type": "pubkey" } ] }, { "name": "withdraw_ineligible_reward", "discriminator": [ 148, 206, 42, 195, 247, 49, 103, 8 ], "accounts": [ { "name": "pool_authority", "address": "HLnpSz9h2S4hiLQ43rnSD9XkcUThA7B8hQMKmDaiTLcC" }, { "name": "pool", "writable": true }, { "name": "reward_vault", "writable": true }, { "name": "reward_mint" }, { "name": "funder_token_account", "writable": true }, { "name": "funder", "signer": true }, { "name": "token_program" }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [ { "name": "reward_index", "type": "u8" } ] }, { "name": "zap_protocol_fee", "discriminator": [ 213, 155, 187, 34, 56, 182, 91, 240 ], "accounts": [ { "name": "pool_authority", "address": "HLnpSz9h2S4hiLQ43rnSD9XkcUThA7B8hQMKmDaiTLcC" }, { "name": "pool", "writable": true }, { "name": "token_vault", "writable": true }, { "name": "token_mint" }, { "name": "receiver_token", "writable": true }, { "name": "operator", "docs": [ "zap claim fee operator" ] }, { "name": "signer", "docs": [ "Operator" ], "signer": true }, { "name": "token_program", "docs": [ "Token program" ] }, { "name": "sysvar_instructions", "address": "Sysvar1nstructions1111111111111111111111111" } ], "args": [ { "name": "max_amount", "type": "u64" } ] } ], "accounts": [ { "name": "Config", "discriminator": [ 155, 12, 170, 224, 30, 250, 204, 130 ] }, { "name": "Operator", "discriminator": [ 219, 31, 188, 145, 69, 139, 204, 117 ] }, { "name": "PodAlignedFeeMarketCapScheduler", "discriminator": [ 251, 130, 208, 253, 245, 27, 145, 203 ] }, { "name": "PodAlignedFeeRateLimiter", "discriminator": [ 160, 219, 8, 251, 179, 7, 16, 117 ] }, { "name": "PodAlignedFeeTimeScheduler", "discriminator": [ 239, 132, 138, 213, 67, 154, 130, 70 ] }, { "name": "Pool", "discriminator": [ 241, 154, 109, 4, 17, 177, 109, 188 ] }, { "name": "Position", "discriminator": [ 170, 188, 143, 228, 122, 64, 247, 208 ] }, { "name": "TokenBadge", "discriminator": [ 116, 219, 204, 229, 249, 116, 255, 150 ] }, { "name": "Vesting", "discriminator": [ 100, 149, 66, 138, 95, 200, 128, 241 ] } ], "events": [ { "name": "EvtClaimPartnerFee", "discriminator": [ 118, 99, 77, 10, 226, 1, 1, 87 ] }, { "name": "EvtClaimPositionFee", "discriminator": [ 198, 182, 183, 52, 97, 12, 49, 56 ] }, { "name": "EvtClaimProtocolFee", "discriminator": [ 186, 244, 75, 251, 188, 13, 25, 33 ] }, { "name": "EvtClaimReward", "discriminator": [ 218, 86, 147, 200, 235, 188, 215, 231 ] }, { "name": "EvtCloseConfig", "discriminator": [ 36, 30, 239, 45, 58, 132, 14, 5 ] }, { "name": "EvtClosePosition", "discriminator": [ 20, 145, 144, 68, 143, 142, 214, 178 ] }, { "name": "EvtCreateConfig", "discriminator": [ 131, 207, 180, 174, 180, 73, 165, 54 ] }, { "name": "EvtCreateDynamicConfig", "discriminator": [ 231, 197, 13, 164, 248, 213, 133, 152 ] }, { "name": "EvtCreatePosition", "discriminator": [ 156, 15, 119, 198, 29, 181, 221, 55 ] }, { "name": "EvtCreateTokenBadge", "discriminator": [ 141, 120, 134, 116, 34, 28, 114, 160 ] }, { "name": "EvtFundReward", "discriminator": [ 104, 233, 237, 122, 199, 191, 121, 85 ] }, { "name": "EvtInitializePool", "discriminator": [ 228, 50, 246, 85, 203, 66, 134, 37 ] }, { "name": "EvtInitializeReward", "discriminator": [ 129, 91, 188, 3, 246, 52, 185, 249 ] }, { "name": "EvtLiquidityChange", "discriminator": [ 197, 171, 78, 127, 224, 211, 87, 13 ] }, { "name": "EvtLockPosition", "discriminator": [ 168, 63, 108, 83, 219, 82, 2, 200 ] }, { "name": "EvtPermanentLockPosition", "discriminator": [ 145, 143, 162, 218, 218, 80, 67, 11 ] }, { "name": "EvtSetPoolStatus", "discriminator": [ 100, 213, 74, 3, 95, 91, 228, 146 ] }, { "name": "EvtSplitPosition2", "discriminator": [ 165, 32, 203, 174, 72, 100, 233, 103 ] }, { "name": "EvtSwap2", "discriminator": [ 189, 66, 51, 168, 38, 80, 117, 153 ] }, { "name": "EvtUpdatePoolFees", "discriminator": [ 76, 165, 246, 102, 102, 217, 156, 44 ] }, { "name": "EvtUpdateRewardDuration", "discriminator": [ 149, 135, 65, 231, 129, 153, 65, 57 ] }, { "name": "EvtUpdateRewardFunder", "discriminator": [ 76, 154, 208, 13, 40, 115, 246, 146 ] }, { "name": "EvtWithdrawIneligibleReward", "discriminator": [ 248, 215, 184, 78, 31, 180, 179, 168 ] } ], "errors": [ { "code": 6000, "name": "MathOverflow", "msg": "Math operation overflow" }, { "code": 6001, "name": "InvalidFee", "msg": "Invalid fee setup" }, { "code": 6002, "name": "ExceededSlippage", "msg": "Exceeded slippage tolerance" }, { "code": 6003, "name": "PoolDisabled", "msg": "Pool disabled" }, { "code": 6004, "name": "ExceedMaxFeeBps", "msg": "Exceeded max fee bps" }, { "code": 6005, "name": "InvalidAdmin", "msg": "Invalid admin" }, { "code": 6006, "name": "AmountIsZero", "msg": "Amount is zero" }, { "code": 6007, "name": "TypeCastFailed", "msg": "Type cast error" }, { "code": 6008, "name": "UnableToModifyActivationPoint", "msg": "Unable to modify activation point" }, { "code": 6009, "name": "InvalidAuthorityToCreateThePool", "msg": "Invalid authority to create the pool" }, { "code": 6010, "name": "InvalidActivationType", "msg": "Invalid activation type" }, { "code": 6011, "name": "InvalidActivationPoint", "msg": "Invalid activation point" }, { "code": 6012, "name": "InvalidQuoteMint", "msg": "Quote token must be SOL,USDC" }, { "code": 6013, "name": "InvalidFeeCurve", "msg": "Invalid fee curve" }, { "code": 6014, "name": "InvalidPriceRange", "msg": "Invalid Price Range" }, { "code": 6015, "name": "PriceRangeViolation", "msg": "Trade is over price range" }, { "code": 6016, "name": "InvalidParameters", "msg": "Invalid parameters" }, { "code": 6017, "name": "InvalidCollectFeeMode", "msg": "Invalid collect fee mode" }, { "code": 6018, "name": "InvalidInput", "msg": "Invalid input" }, { "code": 6019, "name": "CannotCreateTokenBadgeOnSupportedMint", "msg": "Cannot create token badge on supported mint" }, { "code": 6020, "name": "InvalidTokenBadge", "msg": "Invalid token badge" }, { "code": 6021, "name": "InvalidMinimumLiquidity", "msg": "Invalid minimum liquidity" }, { "code": 6022, "name": "InvalidVestingInfo", "msg": "Invalid vesting information" }, { "code": 6023, "name": "InsufficientLiquidity", "msg": "Insufficient liquidity" }, { "code": 6024, "name": "InvalidVestingAccount", "msg": "Invalid vesting account" }, { "code": 6025, "name": "InvalidPoolStatus", "msg": "Invalid pool status" }, { "code": 6026, "name": "UnsupportNativeMintToken2022", "msg": "Unsupported native mint token2022" }, { "code": 6027, "name": "InvalidRewardIndex", "msg": "Invalid reward index" }, { "code": 6028, "name": "InvalidRewardDuration", "msg": "Invalid reward duration" }, { "code": 6029, "name": "RewardInitialized", "msg": "Reward already initialized" }, { "code": 6030, "name": "RewardUninitialized", "msg": "Reward not initialized" }, { "code": 6031, "name": "InvalidRewardVault", "msg": "Invalid reward vault" }, { "code": 6032, "name": "MustWithdrawnIneligibleReward", "msg": "Must withdraw ineligible reward" }, { "code": 6033, "name": "IdenticalRewardDuration", "msg": "Reward duration is the same" }, { "code": 6034, "name": "RewardCampaignInProgress", "msg": "Reward campaign in progress" }, { "code": 6035, "name": "IdenticalFunder", "msg": "Identical funder" }, { "code": 6036, "name": "InvalidFunder", "msg": "Invalid funder" }, { "code": 6037, "name": "RewardNotEnded", "msg": "Reward not ended" }, { "code": 6038, "name": "FeeInverseIsIncorrect", "msg": "Fee inverse is incorrect" }, { "code": 6039, "name": "PositionIsNotEmpty", "msg": "Position is not empty" }, { "code": 6040, "name": "InvalidPoolCreatorAuthority", "msg": "Invalid pool creator authority" }, { "code": 6041, "name": "InvalidConfigType", "msg": "Invalid config type" }, { "code": 6042, "name": "InvalidPoolCreator", "msg": "Invalid pool creator" }, { "code": 6043, "name": "RewardVaultFrozenSkipRequired", "msg": "Reward vault is frozen, must skip reward to proceed" }, { "code": 6044, "name": "InvalidSplitPositionParameters", "msg": "Invalid parameters for split position" }, { "code": 6045, "name": "UnsupportPositionHasVestingLock", "msg": "Unsupported split position has vesting lock" }, { "code": 6046, "name": "SamePosition", "msg": "Same position" }, { "code": 6047, "name": "InvalidBaseFeeMode", "msg": "Invalid base fee mode" }, { "code": 6048, "name": "InvalidFeeRateLimiter", "msg": "Invalid fee rate limiter" }, { "code": 6049, "name": "FailToValidateSingleSwapInstruction", "msg": "Fail to validate single swap instruction in rate limiter" }, { "code": 6050, "name": "InvalidFeeTimeScheduler", "msg": "Invalid fee scheduler" }, { "code": 6051, "name": "UndeterminedError", "msg": "Undetermined error" }, { "code": 6052, "name": "InvalidPoolVersion", "msg": "Invalid pool version" }, { "code": 6053, "name": "InvalidAuthority", "msg": "Invalid authority to do that action" }, { "code": 6054, "name": "InvalidPermission", "msg": "Invalid permission" }, { "code": 6055, "name": "InvalidFeeMarketCapScheduler", "msg": "Invalid fee market cap scheduler" }, { "code": 6056, "name": "CannotUpdateBaseFee", "msg": "Cannot update base fee" }, { "code": 6057, "name": "InvalidDynamicFeeParameters", "msg": "Invalid dynamic fee parameters" }, { "code": 6058, "name": "InvalidUpdatePoolFeesParameters", "msg": "Invalid update pool fees parameters" }, { "code": 6059, "name": "MissingOperatorAccount", "msg": "Missing operator account" }, { "code": 6060, "name": "IncorrectATA", "msg": "Incorrect ATA" }, { "code": 6061, "name": "InvalidZapOutParameters", "msg": "Invalid zap out parameters" }, { "code": 6062, "name": "InvalidWithdrawProtocolFeeZapAccounts", "msg": "Invalid withdraw protocol fee zap accounts" }, { "code": 6063, "name": "MintRestrictedFromZap", "msg": "SOL,USDC protocol fee cannot be withdrawn via zap" }, { "code": 6064, "name": "CpiDisabled", "msg": "CPI disabled" }, { "code": 6065, "name": "MissingZapOutInstruction", "msg": "Missing zap out instruction" }, { "code": 6066, "name": "InvalidZapAccounts", "msg": "Invalid zap accounts" } ], "types": [ { "name": "AddLiquidityParameters", "type": { "kind": "struct", "fields": [ { "name": "liquidity_delta", "docs": [ "delta liquidity" ], "type": "u128" }, { "name": "token_a_amount_threshold", "docs": [ "maximum token a amount" ], "type": "u64" }, { "name": "token_b_amount_threshold", "docs": [ "maximum token b amount" ], "type": "u64" } ] } }, { "name": "BaseFeeInfo", "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "data", "type": { "array": [ "u8", 32 ] } } ] } }, { "name": "BaseFeeParameters", "type": { "kind": "struct", "fields": [ { "name": "data", "type": { "array": [ "u8", 30 ] } } ] } }, { "name": "BaseFeeStruct", "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "base_fee_info", "type": { "defined": { "name": "BaseFeeInfo" } } }, { "name": "padding_1", "type": "u64" } ] } }, { "name": "BorshFeeMarketCapScheduler", "type": { "kind": "struct", "fields": [ { "name": "cliff_fee_numerator", "type": "u64" }, { "name": "number_of_period", "type": "u16" }, { "name": "sqrt_price_step_bps", "type": "u32" }, { "name": "scheduler_expiration_duration", "type": "u32" }, { "name": "reduction_factor", "type": "u64" }, { "name": "base_fee_mode", "type": "u8" }, { "name": "padding", "type": { "array": [ "u8", 3 ] } } ] } }, { "name": "BorshFeeRateLimiter", "docs": [ "we denote reference_amount = x0, cliff_fee_numerator = c, fee_increment = i", "if input_amount <= x0, then fee = input_amount * c", "", "if input_amount > x0, then input_amount = x0 + (a * x0 + b)", "if a < max_index", "then fee = x0 * c + x0 * (c + i) + .... + x0 * (c + i*a) + b * (c + i * (a+1))", "then fee = x0 * (c + c*a + i*a*(a+1)/2) + b * (c + i * (a+1))", "", "if a >= max_index", "if a = max_index + d, input_amount = x0 + max_index * x0 + (d * x0 + b)", "then fee = x0 * (c + c*max_index + i*max_index*(max_index+1)/2) + (d * x0 + b) * MAX_FEE" ], "type": { "kind": "struct", "fields": [ { "name": "cliff_fee_numerator", "type": "u64" }, { "name": "fee_increment_bps", "type": "u16" }, { "name": "max_limiter_duration", "type": "u32" }, { "name": "max_fee_bps", "type": "u32" }, { "name": "reference_amount", "type": "u64" }, { "name": "base_fee_mode", "type": "u8" }, { "name": "padding", "type": { "array": [ "u8", 3 ] } } ] } }, { "name": "BorshFeeTimeScheduler", "type": { "kind": "struct", "fields": [ { "name": "cliff_fee_numerator", "type": "u64" }, { "name": "number_of_period", "type": "u16" }, { "name": "period_frequency", "type": "u64" }, { "name": "reduction_factor", "type": "u64" }, { "name": "base_fee_mode", "type": "u8" }, { "name": "padding", "type": { "array": [ "u8", 3 ] } } ] } }, { "name": "Config", "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "vault_config_key", "docs": [ "Vault config key" ], "type": "pubkey" }, { "name": "pool_creator_authority", "docs": [ "Only pool_creator_authority can use the current config to initialize new pool. When it's Pubkey::default, it's a public config." ], "type": "pubkey" }, { "name": "pool_fees", "docs": [ "Pool fee" ], "type": { "defined": { "name": "PoolFeesConfig" } } }, { "name": "activation_type", "docs": [ "Activation type" ], "type": "u8" }, { "name": "collect_fee_mode", "docs": [ "Collect fee mode" ], "type": "u8" }, { "name": "config_type", "docs": [ "Config type mode, 0 for static, 1 for dynamic" ], "type": "u8" }, { "name": "_padding_0", "docs": [ "padding 0" ], "type": { "array": [ "u8", 5 ] } }, { "name": "index", "docs": [ "config index" ], "type": "u64" }, { "name": "sqrt_min_price", "docs": [ "sqrt min price" ], "type": "u128" }, { "name": "sqrt_max_price", "docs": [ "sqrt max price" ], "type": "u128" }, { "name": "_padding_1", "docs": [ "Fee curve point", "Padding for further use" ], "type": { "array": [ "u64", 10 ] } } ] } }, { "name": "DummyParams", "type": { "kind": "struct", "fields": [ { "name": "borsh_fee_time_scheduler_params", "type": { "defined": { "name": "BorshFeeTimeScheduler" } } }, { "name": "borsh_fee_rate_limiter_params", "type": { "defined": { "name": "BorshFeeRateLimiter" } } }, { "name": "borsh_fee_market_cap_scheduler_params", "type": { "defined": { "name": "BorshFeeMarketCapScheduler" } } } ] } }, { "name": "DynamicConfigParameters", "type": { "kind": "struct", "fields": [ { "name": "pool_creator_authority", "type": "pubkey" } ] } }, { "name": "DynamicFeeConfig", "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "initialized", "type": "u8" }, { "name": "padding", "type": { "array": [ "u8", 7 ] } }, { "name": "max_volatility_accumulator", "type": "u32" }, { "name": "variable_fee_control", "type": "u32" }, { "name": "bin_step", "type": "u16" }, { "name": "filter_period", "type": "u16" }, { "name": "decay_period", "type": "u16" }, { "name": "reduction_factor", "type": "u16" }, { "name": "padding_1", "type": { "array": [ "u8", 8 ] } }, { "name": "bin_step_u128", "type": "u128" } ] } }, { "name": "DynamicFeeParameters", "type": { "kind": "struct", "fields": [ { "name": "bin_step", "type": "u16" }, { "name": "bin_step_u128", "type": "u128" }, { "name": "filter_period", "type": "u16" }, { "name": "decay_period", "type": "u16" }, { "name": "reduction_factor", "type": "u16" }, { "name": "max_volatility_accumulator", "type": "u32" }, { "name": "variable_fee_control", "type": "u32" } ] } }, { "name": "DynamicFeeStruct", "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "initialized", "type": "u8" }, { "name": "padding", "type": { "array": [ "u8", 7 ] } }, { "name": "max_volatility_accumulator", "type": "u32" }, { "name": "variable_fee_control", "type": "u32" }, { "name": "bin_step", "type": "u16" }, { "name": "filter_period", "type": "u16" }, { "name": "decay_period", "type": "u16" }, { "name": "reduction_factor", "type": "u16" }, { "name": "last_update_timestamp", "type": "u64" }, { "name": "bin_step_u128", "type": "u128" }, { "name": "sqrt_price_reference", "type": "u128" }, { "name": "volatility_accumulator", "type": "u128" }, { "name": "volatility_reference", "type": "u128" } ] } }, { "name": "EvtClaimPartnerFee", "type": { "kind": "struct", "fields": [ { "name": "pool", "type": "pubkey" }, { "name": "token_a_amount", "type": "u64" }, { "name": "token_b_amount", "type": "u64" } ] } }, { "name": "EvtClaimPositionFee", "type": { "kind": "struct", "fields": [ { "name": "pool", "type": "pubkey" }, { "name": "position", "type": "pubkey" }, { "name": "owner", "type": "pubkey" }, { "name": "fee_a_claimed", "type": "u64" }, { "name": "fee_b_claimed", "type": "u64" } ] } }, { "name": "EvtClaimProtocolFee", "type": { "kind": "struct", "fields": [ { "name": "pool", "type": "pubkey" }, { "name": "token_a_amount", "type": "u64" }, { "name": "token_b_amount", "type": "u64" } ] } }, { "name": "EvtClaimReward", "type": { "kind": "struct", "fields": [ { "name": "pool", "type": "pubkey" }, { "name": "position", "type": "pubkey" }, { "name": "owner", "type": "pubkey" }, { "name": "mint_reward", "type": "pubkey" }, { "name": "reward_index", "type": "u8" }, { "name": "total_reward", "type": "u64" } ] } }, { "name": "EvtCloseConfig", "docs": [ "Close config" ], "type": { "kind": "struct", "fields": [ { "name": "config", "docs": [ "Config pubkey" ], "type": "pubkey" }, { "name": "admin", "docs": [ "admin pk" ], "type": "pubkey" } ] } }, { "name": "EvtClosePosition", "type": { "kind": "struct", "fields": [ { "name": "pool", "type": "pubkey" }, { "name": "owner", "type": "pubkey" }, { "name": "position", "type": "pubkey" }, { "name": "position_nft_mint", "type": "pubkey" } ] } }, { "name": "EvtCreateConfig", "docs": [ "Create static config" ], "type": { "kind": "struct", "fields": [ { "name": "pool_fees", "type": { "defined": { "name": "PoolFeeParameters" } } }, { "name": "vault_config_key", "type": "pubkey" }, { "name": "pool_creator_authority", "type": "pubkey" }, { "name": "activation_type", "type": "u8" }, { "name": "sqrt_min_price", "type": "u128" }, { "name": "sqrt_max_price", "type": "u128" }, { "name": "collect_fee_mode", "type": "u8" }, { "name": "index", "type": "u64" }, { "name": "config", "type": "pubkey" } ] } }, { "name": "EvtCreateDynamicConfig", "docs": [ "Create dynamic config" ], "type": { "kind": "struct", "fields": [ { "name": "config", "type": "pubkey" }, { "name": "pool_creator_authority", "type": "pubkey" }, { "name": "index", "type": "u64" } ] } }, { "name": "EvtCreatePosition", "type": { "kind": "struct", "fields": [ { "name": "pool", "type": "pubkey" }, { "name": "owner", "type": "pubkey" }, { "name": "position", "type": "pubkey" }, { "name": "position_nft_mint", "type": "pubkey" } ] } }, { "name": "EvtCreateTokenBadge", "docs": [ "Create token badge" ], "type": { "kind": "struct", "fields": [ { "name": "token_mint", "type": "pubkey" } ] } }, { "name": "EvtFundReward", "type": { "kind": "struct", "fields": [ { "name": "pool", "type": "pubkey" }, { "name": "funder", "type": "pubkey" }, { "name": "mint_reward", "type": "pubkey" }, { "name": "reward_index", "type": "u8" }, { "name": "amount", "type": "u64" }, { "name": "transfer_fee_excluded_amount_in", "type": "u64" }, { "name": "reward_duration_end", "type": "u64" }, { "name": "pre_reward_rate", "type": "u128" }, { "name": "post_reward_rate", "type": "u128" } ] } }, { "name": "EvtInitializePool", "type": { "kind": "struct", "fields": [ { "name": "pool", "type": "pubkey" }, { "name": "token_a_mint", "type": "pubkey" }, { "name": "token_b_mint", "type": "pubkey" }, { "name": "creator", "type": "pubkey" }, { "name": "payer", "type": "pubkey" }, { "name": "alpha_vault", "type": "pubkey" }, { "name": "pool_fees", "type": { "defined": { "name": "PoolFeeParameters" } } }, { "name": "sqrt_min_price", "type": "u128" }, { "name": "sqrt_max_price", "type": "u128" }, { "name": "activation_type", "type": "u8" }, { "name": "collect_fee_mode", "type": "u8" }, { "name": "liquidity", "type": "u128" }, { "name": "sqrt_price", "type": "u128" }, { "name": "activation_point", "type": "u64" }, { "name": "token_a_flag", "type": "u8" }, { "name": "token_b_flag", "type": "u8" }, { "name": "token_a_amount", "type": "u64" }, { "name": "token_b_amount", "type": "u64" }, { "name": "total_amount_a", "type": "u64" }, { "name": "total_amount_b", "type": "u64" }, { "name": "pool_type", "type": "u8" } ] } }, { "name": "EvtInitializeReward", "type": { "kind": "struct", "fields": [ { "name": "pool", "type": "pubkey" }, { "name": "reward_mint", "type": "pubkey" }, { "name": "funder", "type": "pubkey" }, { "name": "creator", "type": "pubkey" }, { "name": "reward_index", "type": "u8" }, { "name": "reward_duration", "type": "u64" } ] } }, { "name": "EvtLiquidityChange", "type": { "kind": "struct", "fields": [ { "name": "pool", "type": "pubkey" }, { "name": "position", "type": "pubkey" }, { "name": "owner", "type": "pubkey" }, { "name": "token_a_amount", "type": "u64" }, { "name": "token_b_amount", "type": "u64" }, { "name": "transfer_fee_included_token_a_amount", "type": "u64" }, { "name": "transfer_fee_included_token_b_amount", "type": "u64" }, { "name": "reserve_a_amount", "type": "u64" }, { "name": "reserve_b_amount", "type": "u64" }, { "name": "liquidity_delta", "type": "u128" }, { "name": "token_a_amount_threshold", "type": "u64" }, { "name": "token_b_amount_threshold", "type": "u64" }, { "name": "change_type", "type": "u8" } ] } }, { "name": "EvtLockPosition", "type": { "kind": "struct", "fields": [ { "name": "pool", "type": "pubkey" }, { "name": "position", "type": "pubkey" }, { "name": "owner", "type": "pubkey" }, { "name": "vesting", "type": "pubkey" }, { "name": "cliff_point", "type": "u64" }, { "name": "period_frequency", "type": "u64" }, { "name": "cliff_unlock_liquidity", "type": "u128" }, { "name": "liquidity_per_period", "type": "u128" }, { "name": "number_of_period", "type": "u16" } ] } }, { "name": "EvtPermanentLockPosition", "type": { "kind": "struct", "fields": [ { "name": "pool", "type": "pubkey" }, { "name": "position", "type": "pubkey" }, { "name": "lock_liquidity_amount", "type": "u128" }, { "name": "total_permanent_locked_liquidity", "type": "u128" } ] } }, { "name": "EvtSetPoolStatus", "type": { "kind": "struct", "fields": [ { "name": "pool", "type": "pubkey" }, { "name": "status", "type": "u8" } ] } }, { "name": "EvtSplitPosition2", "type": { "kind": "struct", "fields": [ { "name": "pool", "type": "pubkey" }, { "name": "first_owner", "type": "pubkey" }, { "name": "second_owner", "type": "pubkey" }, { "name": "first_position", "type": "pubkey" }, { "name": "second_position", "type": "pubkey" }, { "name": "current_sqrt_price", "type": "u128" }, { "name": "amount_splits", "type": { "defined": { "name": "SplitAmountInfo" } } }, { "name": "first_position_info", "type": { "defined": { "name": "SplitPositionInfo" } } }, { "name": "second_position_info", "type": { "defined": { "name": "SplitPositionInfo" } } }, { "name": "split_position_parameters", "type": { "defined": { "name": "SplitPositionParameters2" } } } ] } }, { "name": "EvtSwap2", "type": { "kind": "struct", "fields": [ { "name": "pool", "type": "pubkey" }, { "name": "trade_direction", "type": "u8" }, { "name": "collect_fee_mode", "type": "u8" }, { "name": "has_referral", "type": "bool" }, { "name": "params", "type": { "defined": { "name": "SwapParameters2" } } }, { "name": "swap_result", "type": { "defined": { "name": "SwapResult2" } } }, { "name": "included_transfer_fee_amount_in", "type": "u64" }, { "name": "included_transfer_fee_amount_out", "type": "u64" }, { "name": "excluded_transfer_fee_amount_out", "type": "u64" }, { "name": "current_timestamp", "type": "u64" }, { "name": "reserve_a_amount", "type": "u64" }, { "name": "reserve_b_amount", "type": "u64" } ] } }, { "name": "EvtUpdatePoolFees", "type": { "kind": "struct", "fields": [ { "name": "pool", "type": "pubkey" }, { "name": "operator", "type": "pubkey" }, { "name": "params", "type": { "defined": { "name": "UpdatePoolFeesParameters" } } } ] } }, { "name": "EvtUpdateRewardDuration", "type": { "kind": "struct", "fields": [ { "name": "pool", "type": "pubkey" }, { "name": "reward_index", "type": "u8" }, { "name": "old_reward_duration", "type": "u64" }, { "name": "new_reward_duration", "type": "u64" } ] } }, { "name": "EvtUpdateRewardFunder", "type": { "kind": "struct", "fields": [ { "name": "pool", "type": "pubkey" }, { "name": "reward_index", "type": "u8" }, { "name": "old_funder", "type": "pubkey" }, { "name": "new_funder", "type": "pubkey" } ] } }, { "name": "EvtWithdrawIneligibleReward", "type": { "kind": "struct", "fields": [ { "name": "pool", "type": "pubkey" }, { "name": "reward_mint", "type": "pubkey" }, { "name": "amount", "type": "u64" } ] } }, { "name": "InitializeCustomizablePoolParameters", "type": { "kind": "struct", "fields": [ { "name": "pool_fees", "docs": [ "pool fees" ], "type": { "defined": { "name": "PoolFeeParameters" } } }, { "name": "sqrt_min_price", "docs": [ "sqrt min price" ], "type": "u128" }, { "name": "sqrt_max_price", "docs": [ "sqrt max price" ], "type": "u128" }, { "name": "has_alpha_vault", "docs": [ "has alpha vault" ], "type": "bool" }, { "name": "liquidity", "docs": [ "initialize liquidity" ], "type": "u128" }, { "name": "sqrt_price", "docs": [ "The init price of the pool as a sqrt(token_b/token_a) Q64.64 value. Market cap fee scheduler minimum price will be derived from this value" ], "type": "u128" }, { "name": "activation_type", "docs": [ "activation type" ], "type": "u8" }, { "name": "collect_fee_mode", "docs": [ "collect fee mode" ], "type": "u8" }, { "name": "activation_point", "docs": [ "activation point" ], "type": { "option": "u64" } } ] } }, { "name": "InitializePoolParameters", "type": { "kind": "struct", "fields": [ { "name": "liquidity", "docs": [ "initialize liquidity" ], "type": "u128" }, { "name": "sqrt_price", "docs": [ "The init price of the pool as a sqrt(token_b/token_a) Q64.64 value" ], "type": "u128" }, { "name": "activation_point", "docs": [ "activation point" ], "type": { "option": "u64" } } ] } }, { "name": "Operator", "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "whitelisted_address", "type": "pubkey" }, { "name": "permission", "type": "u128" }, { "name": "padding", "type": { "array": [ "u64", 2 ] } } ] } }, { "name": "PodAlignedFeeMarketCapScheduler", "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "cliff_fee_numerator", "type": "u64" }, { "name": "base_fee_mode", "type": "u8" }, { "name": "padding", "type": { "array": [ "u8", 5 ] } }, { "name": "number_of_period", "type": "u16" }, { "name": "sqrt_price_step_bps", "type": "u32" }, { "name": "scheduler_expiration_duration", "type": "u32" }, { "name": "reduction_factor", "type": "u64" } ] } }, { "name": "PodAlignedFeeRateLimiter", "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "cliff_fee_numerator", "type": "u64" }, { "name": "base_fee_mode", "type": "u8" }, { "name": "padding", "type": { "array": [ "u8", 5 ] } }, { "name": "fee_increment_bps", "type": "u16" }, { "name": "max_limiter_duration", "type": "u32" }, { "name": "max_fee_bps", "type": "u32" }, { "name": "reference_amount", "type": "u64" } ] } }, { "name": "PodAlignedFeeTimeScheduler", "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "cliff_fee_numerator", "type": "u64" }, { "name": "base_fee_mode", "type": "u8" }, { "name": "padding", "type": { "array": [ "u8", 5 ] } }, { "name": "number_of_period", "type": "u16" }, { "name": "period_frequency", "type": "u64" }, { "name": "reduction_factor", "type": "u64" } ] } }, { "name": "Pool", "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "pool_fees", "docs": [ "Pool fee" ], "type": { "defined": { "name": "PoolFeesStruct" } } }, { "name": "token_a_mint", "docs": [ "token a mint" ], "type": "pubkey" }, { "name": "token_b_mint", "docs": [ "token b mint" ], "type": "pubkey" }, { "name": "token_a_vault", "docs": [ "token a vault" ], "type": "pubkey" }, { "name": "token_b_vault", "docs": [ "token b vault" ], "type": "pubkey" }, { "name": "whitelisted_vault", "docs": [ "Whitelisted vault to be able to buy pool before activation_point" ], "type": "pubkey" }, { "name": "partner", "docs": [ "partner" ], "type": "pubkey" }, { "name": "liquidity", "docs": [ "liquidity share" ], "type": "u128" }, { "name": "_padding", "docs": [ "padding, previous reserve amount, be careful to use that field" ], "type": "u128" }, { "name": "protocol_a_fee", "docs": [ "protocol a fee" ], "type": "u64" }, { "name": "protocol_b_fee", "docs": [ "protocol b fee" ], "type": "u64" }, { "name": "partner_a_fee", "docs": [ "partner a fee" ], "type": "u64" }, { "name": "partner_b_fee", "docs": [ "partner b fee" ], "type": "u64" }, { "name": "sqrt_min_price", "docs": [ "min price" ], "type": "u128" }, { "name": "sqrt_max_price", "docs": [ "max price" ], "type": "u128" }, { "name": "sqrt_price", "docs": [ "current price" ], "type": "u128" }, { "name": "activation_point", "docs": [ "Activation point, can be slot or timestamp" ], "type": "u64" }, { "name": "activation_type", "docs": [ "Activation type, 0 means by slot, 1 means by timestamp" ], "type": "u8" }, { "name": "pool_status", "docs": [ "pool status, 0: enable, 1 disable" ], "type": "u8" }, { "name": "token_a_flag", "docs": [ "token a flag" ], "type": "u8" }, { "name": "token_b_flag", "docs": [ "token b flag" ], "type": "u8" }, { "name": "collect_fee_mode", "docs": [ "0 is collect fee in both token, 1 only collect fee only in token b" ], "type": "u8" }, { "name": "pool_type", "docs": [ "pool type" ], "type": "u8" }, { "name": "version", "docs": [ "pool version, 0: max_fee is still capped at 50%, 1: max_fee is capped at 99%" ], "type": "u8" }, { "name": "_padding_0", "docs": [ "padding" ], "type": "u8" }, { "name": "fee_a_per_liquidity", "docs": [ "cumulative" ], "type": { "array": [ "u8", 32 ] } }, { "name": "fee_b_per_liquidity", "docs": [ "cumulative" ], "type": { "array": [ "u8", 32 ] } }, { "name": "permanent_lock_liquidity", "type": "u128" }, { "name": "metrics", "docs": [ "metrics" ], "type": { "defined": { "name": "PoolMetrics" } } }, { "name": "creator", "docs": [ "pool creator" ], "type": "pubkey" }, { "name": "_padding_1", "docs": [ "Padding for further use" ], "type": { "array": [ "u64", 6 ] } }, { "name": "reward_infos", "docs": [ "Farming reward information" ], "type": { "array": [ { "defined": { "name": "RewardInfo" } }, 2 ] } } ] } }, { "name": "PoolFeeParameters", "docs": [ "Information regarding fee charges" ], "type": { "kind": "struct", "fields": [ { "name": "base_fee", "docs": [ "Base fee" ], "type": { "defined": { "name": "BaseFeeParameters" } } }, { "name": "dynamic_fee", "docs": [ "dynamic fee" ], "type": { "option": { "defined": { "name": "DynamicFeeParameters" } } } } ] } }, { "name": "PoolFeesConfig", "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "base_fee", "type": { "defined": { "name": "BaseFeeInfo" } } }, { "name": "dynamic_fee", "type": { "defined": { "name": "DynamicFeeConfig" } } }, { "name": "protocol_fee_percent", "type": "u8" }, { "name": "partner_fee_percent", "type": "u8" }, { "name": "referral_fee_percent", "type": "u8" }, { "name": "padding_0", "type": { "array": [ "u8", 5 ] } }, { "name": "padding_1", "type": { "array": [ "u64", 5 ] } } ] } }, { "name": "PoolFeesStruct", "docs": [ "Information regarding fee charges", "trading_fee = amount * trade_fee_numerator / denominator", "protocol_fee = trading_fee * protocol_fee_percentage / 100", "referral_fee = protocol_fee * referral_percentage / 100", "partner_fee = (protocol_fee - referral_fee) * partner_fee_percentage / denominator" ], "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "base_fee", "docs": [ "Trade fees are extra token amounts that are held inside the token", "accounts during a trade, making the value of liquidity tokens rise.", "Trade fee numerator" ], "type": { "defined": { "name": "BaseFeeStruct" } } }, { "name": "protocol_fee_percent", "docs": [ "Protocol trading fees are extra token amounts that are held inside the token", "accounts during a trade, with the equivalent in pool tokens minted to", "the protocol of the program.", "Protocol trade fee numerator" ], "type": "u8" }, { "name": "partner_fee_percent", "docs": [ "partner fee" ], "type": "u8" }, { "name": "referral_fee_percent", "docs": [ "referral fee" ], "type": "u8" }, { "name": "padding_0", "docs": [ "padding" ], "type": { "array": [ "u8", 5 ] } }, { "name": "dynamic_fee", "docs": [ "dynamic fee" ], "type": { "defined": { "name": "DynamicFeeStruct" } } }, { "name": "init_sqrt_price", "type": "u128" } ] } }, { "name": "PoolMetrics", "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "total_lp_a_fee", "type": "u128" }, { "name": "total_lp_b_fee", "type": "u128" }, { "name": "total_protocol_a_fee", "type": "u64" }, { "name": "total_protocol_b_fee", "type": "u64" }, { "name": "total_partner_a_fee", "type": "u64" }, { "name": "total_partner_b_fee", "type": "u64" }, { "name": "total_position", "type": "u64" }, { "name": "padding", "type": "u64" } ] } }, { "name": "Position", "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "pool", "type": "pubkey" }, { "name": "nft_mint", "docs": [ "nft mint" ], "type": "pubkey" }, { "name": "fee_a_per_token_checkpoint", "docs": [ "fee a checkpoint" ], "type": { "array": [ "u8", 32 ] } }, { "name": "fee_b_per_token_checkpoint", "docs": [ "fee b checkpoint" ], "type": { "array": [ "u8", 32 ] } }, { "name": "fee_a_pending", "docs": [ "fee a pending" ], "type": "u64" }, { "name": "fee_b_pending", "docs": [ "fee b pending" ], "type": "u64" }, { "name": "unlocked_liquidity", "docs": [ "unlock liquidity" ], "type": "u128" }, { "name": "vested_liquidity", "docs": [ "vesting liquidity" ], "type": "u128" }, { "name": "permanent_locked_liquidity", "docs": [ "permanent locked liquidity" ], "type": "u128" }, { "name": "metrics", "docs": [ "metrics" ], "type": { "defined": { "name": "PositionMetrics" } } }, { "name": "reward_infos", "docs": [ "Farming reward information" ], "type": { "array": [ { "defined": { "name": "UserRewardInfo" } }, 2 ] } }, { "name": "padding", "docs": [ "padding for future usage" ], "type": { "array": [ "u128", 6 ] } } ] } }, { "name": "PositionMetrics", "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "total_claimed_a_fee", "type": "u64" }, { "name": "total_claimed_b_fee", "type": "u64" } ] } }, { "name": "RemoveLiquidityParameters", "type": { "kind": "struct", "fields": [ { "name": "liquidity_delta", "docs": [ "delta liquidity" ], "type": "u128" }, { "name": "token_a_amount_threshold", "docs": [ "minimum token a amount" ], "type": "u64" }, { "name": "token_b_amount_threshold", "docs": [ "minimum token b amount" ], "type": "u64" } ] } }, { "name": "RewardInfo", "docs": [ "Stores the state relevant for tracking liquidity mining rewards" ], "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "initialized", "docs": [ "Indicates if the reward has been initialized" ], "type": "u8" }, { "name": "reward_token_flag", "docs": [ "reward token flag" ], "type": "u8" }, { "name": "_padding_0", "docs": [ "padding" ], "type": { "array": [ "u8", 6 ] } }, { "name": "_padding_1", "docs": [ "Padding to ensure `reward_rate: u128` is 16-byte aligned" ], "type": { "array": [ "u8", 8 ] } }, { "name": "mint", "docs": [ "Reward token mint." ], "type": "pubkey" }, { "name": "vault", "docs": [ "Reward vault token account." ], "type": "pubkey" }, { "name": "funder", "docs": [ "Authority account that allows to fund rewards" ], "type": "pubkey" }, { "name": "reward_duration", "docs": [ "reward duration" ], "type": "u64" }, { "name": "reward_duration_end", "docs": [ "reward duration end" ], "type": "u64" }, { "name": "reward_rate", "docs": [ "reward rate" ], "type": "u128" }, { "name": "reward_per_token_stored", "docs": [ "Reward per token stored" ], "type": { "array": [ "u8", 32 ] } }, { "name": "last_update_time", "docs": [ "The last time reward states were updated." ], "type": "u64" }, { "name": "cumulative_seconds_with_empty_liquidity_reward", "docs": [ "Accumulated seconds when the farm distributed rewards but the bin was empty.", "These rewards will be carried over to the next reward time window." ], "type": "u64" } ] } }, { "name": "SplitAmountInfo", "type": { "kind": "struct", "fields": [ { "name": "permanent_locked_liquidity", "type": "u128" }, { "name": "unlocked_liquidity", "type": "u128" }, { "name": "fee_a", "type": "u64" }, { "name": "fee_b", "type": "u64" }, { "name": "reward_0", "type": "u64" }, { "name": "reward_1", "type": "u64" } ] } }, { "name": "SplitPositionInfo", "type": { "kind": "struct", "fields": [ { "name": "liquidity", "type": "u128" }, { "name": "fee_a", "type": "u64" }, { "name": "fee_b", "type": "u64" }, { "name": "reward_0", "type": "u64" }, { "name": "reward_1", "type": "u64" } ] } }, { "name": "SplitPositionParameters", "type": { "kind": "struct", "fields": [ { "name": "unlocked_liquidity_percentage", "docs": [ "Percentage of unlocked liquidity to split to the second position" ], "type": "u8" }, { "name": "permanent_locked_liquidity_percentage", "docs": [ "Percentage of permanent locked liquidity to split to the second position" ], "type": "u8" }, { "name": "fee_a_percentage", "docs": [ "Percentage of fee A pending to split to the second position" ], "type": "u8" }, { "name": "fee_b_percentage", "docs": [ "Percentage of fee B pending to split to the second position" ], "type": "u8" }, { "name": "reward_0_percentage", "docs": [ "Percentage of reward 0 pending to split to the second position" ], "type": "u8" }, { "name": "reward_1_percentage", "docs": [ "Percentage of reward 1 pending to split to the second position" ], "type": "u8" }, { "name": "padding", "docs": [ "padding for future" ], "type": { "array": [ "u8", 16 ] } } ] } }, { "name": "SplitPositionParameters2", "type": { "kind": "struct", "fields": [ { "name": "unlocked_liquidity_numerator", "type": "u32" }, { "name": "permanent_locked_liquidity_numerator", "type": "u32" }, { "name": "fee_a_numerator", "type": "u32" }, { "name": "fee_b_numerator", "type": "u32" }, { "name": "reward_0_numerator", "type": "u32" }, { "name": "reward_1_numerator", "type": "u32" } ] } }, { "name": "StaticConfigParameters", "type": { "kind": "struct", "fields": [ { "name": "pool_fees", "type": { "defined": { "name": "PoolFeeParameters" } } }, { "name": "sqrt_min_price", "type": "u128" }, { "name": "sqrt_max_price", "type": "u128" }, { "name": "vault_config_key", "type": "pubkey" }, { "name": "pool_creator_authority", "type": "pubkey" }, { "name": "activation_type", "type": "u8" }, { "name": "collect_fee_mode", "type": "u8" } ] } }, { "name": "SwapParameters", "type": { "kind": "struct", "fields": [ { "name": "amount_in", "type": "u64" }, { "name": "minimum_amount_out", "type": "u64" } ] } }, { "name": "SwapParameters2", "type": { "kind": "struct", "fields": [ { "name": "amount_0", "docs": [ "When it's exact in, partial fill, this will be amount_in. When it's exact out, this will be amount_out" ], "type": "u64" }, { "name": "amount_1", "docs": [ "When it's exact in, partial fill, this will be minimum_amount_out. When it's exact out, this will be maximum_amount_in" ], "type": "u64" }, { "name": "swap_mode", "docs": [ "Swap mode, refer [SwapMode]" ], "type": "u8" } ] } }, { "name": "SwapResult2", "type": { "kind": "struct", "fields": [ { "name": "included_fee_input_amount", "type": "u64" }, { "name": "excluded_fee_input_amount", "type": "u64" }, { "name": "amount_left", "type": "u64" }, { "name": "output_amount", "type": "u64" }, { "name": "next_sqrt_price", "type": "u128" }, { "name": "trading_fee", "type": "u64" }, { "name": "protocol_fee", "type": "u64" }, { "name": "partner_fee", "type": "u64" }, { "name": "referral_fee", "type": "u64" } ] } }, { "name": "TokenBadge", "docs": [ "Parameter that set by the protocol" ], "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "token_mint", "docs": [ "token mint" ], "type": "pubkey" }, { "name": "_padding", "docs": [ "Reserve" ], "type": { "array": [ "u8", 128 ] } } ] } }, { "name": "UpdatePoolFeesParameters", "type": { "kind": "struct", "fields": [ { "name": "cliff_fee_numerator", "docs": [ "Base fee update mode:", "- None: skip base fee update", "- Some: update new cliff_fee_numerator if base fee is static" ], "type": { "option": "u64" } }, { "name": "dynamic_fee", "docs": [ "Dynamic fee update mode:", "- None: skip dynamic fee update", "- Some(with default value): disable dynamic fee", "- Some(with non default value): enable dynamic fee if disabled or update dynamic fee if enabled" ], "type": { "option": { "defined": { "name": "DynamicFeeParameters" } } } } ] } }, { "name": "UserRewardInfo", "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "reward_per_token_checkpoint", "docs": [ "The latest update reward checkpoint" ], "type": { "array": [ "u8", 32 ] } }, { "name": "reward_pendings", "docs": [ "Current pending rewards" ], "type": "u64" }, { "name": "total_claimed_rewards", "docs": [ "Total claimed rewards" ], "type": "u64" } ] } }, { "name": "Vesting", "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "position", "type": "pubkey" }, { "name": "cliff_point", "type": "u64" }, { "name": "period_frequency", "type": "u64" }, { "name": "cliff_unlock_liquidity", "type": "u128" }, { "name": "liquidity_per_period", "type": "u128" }, { "name": "total_released_liquidity", "type": "u128" }, { "name": "number_of_period", "type": "u16" }, { "name": "padding", "type": { "array": [ "u8", 14 ] } }, { "name": "padding2", "type": { "array": [ "u128", 4 ] } } ] } }, { "name": "VestingParameters", "type": { "kind": "struct", "fields": [ { "name": "cliff_point", "type": { "option": "u64" } }, { "name": "period_frequency", "type": "u64" }, { "name": "cliff_unlock_liquidity", "type": "u128" }, { "name": "liquidity_per_period", "type": "u128" }, { "name": "number_of_period", "type": "u16" } ] } } ], "constants": [ { "name": "BIN_STEP_BPS_DEFAULT", "type": "u16", "value": "1" }, { "name": "BIN_STEP_U128_DEFAULT_LE_BYTES", "type": { "array": [ "u8", 16 ] }, "value": "[203, 16, 199, 186, 184, 141, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0]" }, { "name": "CUSTOMIZABLE_POOL_PREFIX", "type": "bytes", "value": "[99, 112, 111, 111, 108]" }, { "name": "FEE_DENOMINATOR", "docs": [ "Default fee denominator. DO NOT simply update it as it will break logic that depends on it as default value." ], "type": "u64", "value": "1000000000" }, { "name": "MAX_BASIS_POINT", "docs": [ "Max basis point. 100% in pct" ], "type": "u64", "value": "10000" }, { "name": "MAX_SQRT_PRICE_LE_BYTES", "type": { "array": [ "u8", 16 ] }, "value": "[155, 87, 105, 78, 169, 26, 92, 132, 177, 196, 254, 255, 0, 0, 0, 0]" }, { "name": "MIN_SQRT_PRICE_LE_BYTES", "type": { "array": [ "u8", 16 ] }, "value": "[80, 59, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]" }, { "name": "POOL_AUTHORITY_PREFIX", "type": "bytes", "value": "[112, 111, 111, 108, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121]" }, { "name": "POOL_PREFIX", "type": "bytes", "value": "[112, 111, 111, 108]" }, { "name": "POSITION_NFT_ACCOUNT_PREFIX", "type": "bytes", "value": "[112, 111, 115, 105, 116, 105, 111, 110, 95, 110, 102, 116, 95, 97, 99, 99, 111, 117, 110, 116]" }, { "name": "POSITION_PREFIX", "type": "bytes", "value": "[112, 111, 115, 105, 116, 105, 111, 110]" }, { "name": "SPLIT_POSITION_DENOMINATOR", "type": "u32", "value": "1000000000" }, { "name": "TOKEN_VAULT_PREFIX", "type": "bytes", "value": "[116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116]" } ] }