UNPKG

@mercurial-finance/dynamic-amm-sdk

Version:

Mercurial Vaults SDK is a typescript library that allows you to interact with Mercurial v2's AMM.

1,415 lines (1,414 loc) 149 kB
export type Amm = { "version": "0.5.2"; "name": "amm"; "docs": [ "Program for AMM" ]; "instructions": [ { "name": "initializePermissionedPool"; "docs": [ "Initialize a new permissioned pool." ]; "accounts": [ { "name": "pool"; "isMut": true; "isSigner": true; "docs": [ "Pool account (arbitrary address)" ]; }, { "name": "lpMint"; "isMut": true; "isSigner": false; "docs": [ "LP token mint of the pool" ]; }, { "name": "tokenAMint"; "isMut": false; "isSigner": false; "docs": [ "Token A mint of the pool. Eg: USDT" ]; }, { "name": "tokenBMint"; "isMut": false; "isSigner": false; "docs": [ "Token B mint of the pool. Eg: USDC" ]; }, { "name": "aVault"; "isMut": true; "isSigner": false; "docs": [ "Vault account for token A. Token A of the pool will be deposit / withdraw from this vault account." ]; }, { "name": "bVault"; "isMut": true; "isSigner": false; "docs": [ "Vault account for token B. Token B of the pool will be deposit / withdraw from this vault account." ]; }, { "name": "aVaultLpMint"; "isMut": true; "isSigner": false; "docs": [ "LP token mint of vault A" ]; }, { "name": "bVaultLpMint"; "isMut": true; "isSigner": false; "docs": [ "LP token mint of vault B" ]; }, { "name": "aVaultLp"; "isMut": true; "isSigner": false; "docs": [ "LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault." ]; }, { "name": "bVaultLp"; "isMut": true; "isSigner": false; "docs": [ "LP token account of vault B. Used to receive/burn vault LP upon deposit/withdraw from the vault." ]; }, { "name": "adminTokenA"; "isMut": true; "isSigner": false; "docs": [ "Admin token account for pool token A mint. Used to bootstrap the pool with initial liquidity." ]; }, { "name": "adminTokenB"; "isMut": true; "isSigner": false; "docs": [ "Admin token account for pool token B mint. Used to bootstrap the pool with initial liquidity." ]; }, { "name": "adminPoolLp"; "isMut": true; "isSigner": false; "docs": [ "Admin pool LP token account. Used to receive LP during first deposit (initialize pool)", "Admin pool LP token account. Used to receive LP during first deposit (initialize pool)" ]; }, { "name": "protocolTokenAFee"; "isMut": true; "isSigner": false; "docs": [ "Protocol fee token account for token A. Used to receive trading fee." ]; }, { "name": "protocolTokenBFee"; "isMut": true; "isSigner": false; "docs": [ "Protocol fee token account for token B. Used to receive trading fee." ]; }, { "name": "admin"; "isMut": true; "isSigner": true; "docs": [ "Admin account. This account will be the admin of the pool, and the payer for PDA during initialize pool." ]; }, { "name": "feeOwner"; "isMut": false; "isSigner": false; }, { "name": "rent"; "isMut": false; "isSigner": false; "docs": [ "Rent account." ]; }, { "name": "mintMetadata"; "isMut": true; "isSigner": false; }, { "name": "metadataProgram"; "isMut": false; "isSigner": false; }, { "name": "vaultProgram"; "isMut": false; "isSigner": false; "docs": [ "Vault program. The pool will deposit/withdraw liquidity from the vault." ]; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; "docs": [ "Token program." ]; }, { "name": "associatedTokenProgram"; "isMut": false; "isSigner": false; "docs": [ "Associated token program." ]; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; "docs": [ "System program." ]; } ]; "args": [ { "name": "curveType"; "type": { "defined": "CurveType"; }; } ]; }, { "name": "initializePermissionlessPool"; "docs": [ "Initialize a new permissionless pool." ]; "accounts": [ { "name": "pool"; "isMut": true; "isSigner": false; "docs": [ "Pool account (PDA address)" ]; }, { "name": "lpMint"; "isMut": true; "isSigner": false; "docs": [ "LP token mint of the pool" ]; }, { "name": "tokenAMint"; "isMut": false; "isSigner": false; "docs": [ "Token A mint of the pool. Eg: USDT" ]; }, { "name": "tokenBMint"; "isMut": false; "isSigner": false; "docs": [ "Token B mint of the pool. Eg: USDC" ]; }, { "name": "aVault"; "isMut": true; "isSigner": false; "docs": [ "Vault account for token A. Token A of the pool will be deposit / withdraw from this vault account." ]; }, { "name": "bVault"; "isMut": true; "isSigner": false; "docs": [ "Vault account for token B. Token B of the pool will be deposit / withdraw from this vault account." ]; }, { "name": "aTokenVault"; "isMut": true; "isSigner": false; "docs": [ "Token vault account of vault A" ]; }, { "name": "bTokenVault"; "isMut": true; "isSigner": false; "docs": [ "Token vault account of vault B" ]; }, { "name": "aVaultLpMint"; "isMut": true; "isSigner": false; "docs": [ "LP token mint of vault A" ]; }, { "name": "bVaultLpMint"; "isMut": true; "isSigner": false; "docs": [ "LP token mint of vault B" ]; }, { "name": "aVaultLp"; "isMut": true; "isSigner": false; "docs": [ "LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault." ]; }, { "name": "bVaultLp"; "isMut": true; "isSigner": false; "docs": [ "LP token account of vault B. Used to receive/burn vault LP upon deposit/withdraw from the vault." ]; }, { "name": "payerTokenA"; "isMut": true; "isSigner": false; "docs": [ "Payer token account for pool token A mint. Used to bootstrap the pool with initial liquidity." ]; }, { "name": "payerTokenB"; "isMut": true; "isSigner": false; "docs": [ "Admin token account for pool token B mint. Used to bootstrap the pool with initial liquidity." ]; }, { "name": "payerPoolLp"; "isMut": true; "isSigner": false; }, { "name": "protocolTokenAFee"; "isMut": true; "isSigner": false; "docs": [ "Protocol fee token account for token A. Used to receive trading fee." ]; }, { "name": "protocolTokenBFee"; "isMut": true; "isSigner": false; "docs": [ "Protocol fee token account for token B. Used to receive trading fee." ]; }, { "name": "payer"; "isMut": true; "isSigner": true; "docs": [ "Admin account. This account will be the admin of the pool, and the payer for PDA during initialize pool." ]; }, { "name": "feeOwner"; "isMut": false; "isSigner": false; }, { "name": "rent"; "isMut": false; "isSigner": false; "docs": [ "Rent account." ]; }, { "name": "mintMetadata"; "isMut": true; "isSigner": false; }, { "name": "metadataProgram"; "isMut": false; "isSigner": false; }, { "name": "vaultProgram"; "isMut": false; "isSigner": false; "docs": [ "Vault program. The pool will deposit/withdraw liquidity from the vault." ]; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; "docs": [ "Token program." ]; }, { "name": "associatedTokenProgram"; "isMut": false; "isSigner": false; "docs": [ "Associated token program." ]; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; "docs": [ "System program." ]; } ]; "args": [ { "name": "curveType"; "type": { "defined": "CurveType"; }; }, { "name": "tokenAAmount"; "type": "u64"; }, { "name": "tokenBAmount"; "type": "u64"; } ]; }, { "name": "initializePermissionlessPoolWithFeeTier"; "docs": [ "Initialize a new permissionless pool with customized fee tier" ]; "accounts": [ { "name": "pool"; "isMut": true; "isSigner": false; "docs": [ "Pool account (PDA address)" ]; }, { "name": "lpMint"; "isMut": true; "isSigner": false; "docs": [ "LP token mint of the pool" ]; }, { "name": "tokenAMint"; "isMut": false; "isSigner": false; "docs": [ "Token A mint of the pool. Eg: USDT" ]; }, { "name": "tokenBMint"; "isMut": false; "isSigner": false; "docs": [ "Token B mint of the pool. Eg: USDC" ]; }, { "name": "aVault"; "isMut": true; "isSigner": false; "docs": [ "Vault account for token A. Token A of the pool will be deposit / withdraw from this vault account." ]; }, { "name": "bVault"; "isMut": true; "isSigner": false; "docs": [ "Vault account for token B. Token B of the pool will be deposit / withdraw from this vault account." ]; }, { "name": "aTokenVault"; "isMut": true; "isSigner": false; "docs": [ "Token vault account of vault A" ]; }, { "name": "bTokenVault"; "isMut": true; "isSigner": false; "docs": [ "Token vault account of vault B" ]; }, { "name": "aVaultLpMint"; "isMut": true; "isSigner": false; "docs": [ "LP token mint of vault A" ]; }, { "name": "bVaultLpMint"; "isMut": true; "isSigner": false; "docs": [ "LP token mint of vault B" ]; }, { "name": "aVaultLp"; "isMut": true; "isSigner": false; "docs": [ "LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault." ]; }, { "name": "bVaultLp"; "isMut": true; "isSigner": false; "docs": [ "LP token account of vault B. Used to receive/burn vault LP upon deposit/withdraw from the vault." ]; }, { "name": "payerTokenA"; "isMut": true; "isSigner": false; "docs": [ "Payer token account for pool token A mint. Used to bootstrap the pool with initial liquidity." ]; }, { "name": "payerTokenB"; "isMut": true; "isSigner": false; "docs": [ "Admin token account for pool token B mint. Used to bootstrap the pool with initial liquidity." ]; }, { "name": "payerPoolLp"; "isMut": true; "isSigner": false; }, { "name": "protocolTokenAFee"; "isMut": true; "isSigner": false; "docs": [ "Protocol fee token account for token A. Used to receive trading fee." ]; }, { "name": "protocolTokenBFee"; "isMut": true; "isSigner": false; "docs": [ "Protocol fee token account for token B. Used to receive trading fee." ]; }, { "name": "payer"; "isMut": true; "isSigner": true; "docs": [ "Admin account. This account will be the admin of the pool, and the payer for PDA during initialize pool." ]; }, { "name": "feeOwner"; "isMut": false; "isSigner": false; }, { "name": "rent"; "isMut": false; "isSigner": false; "docs": [ "Rent account." ]; }, { "name": "mintMetadata"; "isMut": true; "isSigner": false; }, { "name": "metadataProgram"; "isMut": false; "isSigner": false; }, { "name": "vaultProgram"; "isMut": false; "isSigner": false; "docs": [ "Vault program. The pool will deposit/withdraw liquidity from the vault." ]; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; "docs": [ "Token program." ]; }, { "name": "associatedTokenProgram"; "isMut": false; "isSigner": false; "docs": [ "Associated token program." ]; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; "docs": [ "System program." ]; } ]; "args": [ { "name": "curveType"; "type": { "defined": "CurveType"; }; }, { "name": "tradeFeeBps"; "type": "u64"; }, { "name": "tokenAAmount"; "type": "u64"; }, { "name": "tokenBAmount"; "type": "u64"; } ]; }, { "name": "enableOrDisablePool"; "docs": [ "Enable or disable a pool. A disabled pool allow only remove balanced liquidity operation." ]; "accounts": [ { "name": "pool"; "isMut": true; "isSigner": false; "docs": [ "Pool account (PDA)" ]; }, { "name": "admin"; "isMut": false; "isSigner": true; "docs": [ "Admin account. Must be owner of the pool." ]; } ]; "args": [ { "name": "enable"; "type": "bool"; } ]; }, { "name": "swap"; "docs": [ "Swap token A to B, or vice versa. An amount of trading fee will be charged for liquidity provider, and the admin of the pool." ]; "accounts": [ { "name": "pool"; "isMut": true; "isSigner": false; "docs": [ "Pool account (PDA)" ]; }, { "name": "userSourceToken"; "isMut": true; "isSigner": false; "docs": [ "User token account. Token from this account will be transfer into the vault by the pool in exchange for another token of the pool." ]; }, { "name": "userDestinationToken"; "isMut": true; "isSigner": false; "docs": [ "User token account. The exchanged token will be transfer into this account from the pool." ]; }, { "name": "aVault"; "isMut": true; "isSigner": false; "docs": [ "Vault account for token a. token a of the pool will be deposit / withdraw from this vault account." ]; }, { "name": "bVault"; "isMut": true; "isSigner": false; "docs": [ "Vault account for token b. token b of the pool will be deposit / withdraw from this vault account." ]; }, { "name": "aTokenVault"; "isMut": true; "isSigner": false; "docs": [ "Token vault account of vault A" ]; }, { "name": "bTokenVault"; "isMut": true; "isSigner": false; "docs": [ "Token vault account of vault B" ]; }, { "name": "aVaultLpMint"; "isMut": true; "isSigner": false; "docs": [ "Lp token mint of vault a" ]; }, { "name": "bVaultLpMint"; "isMut": true; "isSigner": false; "docs": [ "Lp token mint of vault b" ]; }, { "name": "aVaultLp"; "isMut": true; "isSigner": false; "docs": [ "LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault." ]; }, { "name": "bVaultLp"; "isMut": true; "isSigner": false; "docs": [ "LP token account of vault B. Used to receive/burn the vault LP upon deposit/withdraw from the vault." ]; }, { "name": "protocolTokenFee"; "isMut": true; "isSigner": false; "docs": [ "Protocol fee token account. Used to receive trading fee. It's mint field must matched with user_source_token mint field." ]; }, { "name": "user"; "isMut": false; "isSigner": true; "docs": [ "User account. Must be owner of user_source_token." ]; }, { "name": "vaultProgram"; "isMut": false; "isSigner": false; "docs": [ "Vault program. the pool will deposit/withdraw liquidity from the vault." ]; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; "docs": [ "Token program." ]; } ]; "args": [ { "name": "inAmount"; "type": "u64"; }, { "name": "minimumOutAmount"; "type": "u64"; } ]; }, { "name": "removeLiquiditySingleSide"; "docs": [ "Withdraw only single token from the pool. Only supported by pool with stable swap curve." ]; "accounts": [ { "name": "pool"; "isMut": true; "isSigner": false; "docs": [ "Pool account (PDA)" ]; }, { "name": "lpMint"; "isMut": true; "isSigner": false; "docs": [ "LP token mint of the pool" ]; }, { "name": "userPoolLp"; "isMut": true; "isSigner": false; "docs": [ "User pool lp token account. LP will be burned from this account upon success liquidity removal." ]; }, { "name": "aVaultLp"; "isMut": true; "isSigner": false; "docs": [ "LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault." ]; }, { "name": "bVaultLp"; "isMut": true; "isSigner": false; "docs": [ "LP token account of vault B. Used to receive/burn the vault LP upon deposit/withdraw from the vault." ]; }, { "name": "aVault"; "isMut": true; "isSigner": false; "docs": [ "Vault account for token A. Token A of the pool will be deposit / withdraw from this vault account." ]; }, { "name": "bVault"; "isMut": true; "isSigner": false; "docs": [ "Vault account for token B. Token B of the pool will be deposit / withdraw from this vault account." ]; }, { "name": "aVaultLpMint"; "isMut": true; "isSigner": false; "docs": [ "LP token mint of vault A" ]; }, { "name": "bVaultLpMint"; "isMut": true; "isSigner": false; "docs": [ "LP token mint of vault B" ]; }, { "name": "aTokenVault"; "isMut": true; "isSigner": false; "docs": [ "Token vault account of vault A" ]; }, { "name": "bTokenVault"; "isMut": true; "isSigner": false; "docs": [ "Token vault account of vault B" ]; }, { "name": "userDestinationToken"; "isMut": true; "isSigner": false; "docs": [ "User token account to receive token upon success liquidity removal." ]; }, { "name": "user"; "isMut": false; "isSigner": true; "docs": [ "User account. Must be owner of the user_pool_lp account." ]; }, { "name": "vaultProgram"; "isMut": false; "isSigner": false; "docs": [ "Vault program. The pool will deposit/withdraw liquidity from the vault." ]; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; "docs": [ "Token program." ]; } ]; "args": [ { "name": "poolTokenAmount"; "type": "u64"; }, { "name": "minimumOutAmount"; "type": "u64"; } ]; }, { "name": "addImbalanceLiquidity"; "docs": [ "Deposit tokens to the pool in an imbalance ratio. Only supported by pool with stable swap curve." ]; "accounts": [ { "name": "pool"; "isMut": true; "isSigner": false; "docs": [ "Pool account (PDA)" ]; }, { "name": "lpMint"; "isMut": true; "isSigner": false; "docs": [ "LP token mint of the pool" ]; }, { "name": "userPoolLp"; "isMut": true; "isSigner": false; "docs": [ "user pool lp token account. lp will be burned from this account upon success liquidity removal." ]; }, { "name": "aVaultLp"; "isMut": true; "isSigner": false; "docs": [ "LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault." ]; }, { "name": "bVaultLp"; "isMut": true; "isSigner": false; "docs": [ "LP token account of vault B. Used to receive/burn the vault LP upon deposit/withdraw from the vault." ]; }, { "name": "aVault"; "isMut": true; "isSigner": false; "docs": [ "Vault account for token a. token a of the pool will be deposit / withdraw from this vault account." ]; }, { "name": "bVault"; "isMut": true; "isSigner": false; "docs": [ "Vault account for token b. token b of the pool will be deposit / withdraw from this vault account." ]; }, { "name": "aVaultLpMint"; "isMut": true; "isSigner": false; "docs": [ "LP token mint of vault a" ]; }, { "name": "bVaultLpMint"; "isMut": true; "isSigner": false; "docs": [ "LP token mint of vault b" ]; }, { "name": "aTokenVault"; "isMut": true; "isSigner": false; "docs": [ "Token vault account of vault A" ]; }, { "name": "bTokenVault"; "isMut": true; "isSigner": false; "docs": [ "Token vault account of vault B" ]; }, { "name": "userAToken"; "isMut": true; "isSigner": false; "docs": [ "User token A account. Token will be transfer from this account if it is add liquidity operation. Else, token will be transfer into this account." ]; }, { "name": "userBToken"; "isMut": true; "isSigner": false; "docs": [ "User token B account. Token will be transfer from this account if it is add liquidity operation. Else, token will be transfer into this account." ]; }, { "name": "user"; "isMut": false; "isSigner": true; "docs": [ "User account. Must be owner of user_a_token, and user_b_token." ]; }, { "name": "vaultProgram"; "isMut": false; "isSigner": false; "docs": [ "Vault program. the pool will deposit/withdraw liquidity from the vault." ]; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; "docs": [ "Token program." ]; } ]; "args": [ { "name": "minimumPoolTokenAmount"; "type": "u64"; }, { "name": "tokenAAmount"; "type": "u64"; }, { "name": "tokenBAmount"; "type": "u64"; } ]; }, { "name": "removeBalanceLiquidity"; "docs": [ "Withdraw tokens from the pool in a balanced ratio. User will still able to withdraw from pool even the pool is disabled. This allow user to exit their liquidity when there's some unforeseen event happen." ]; "accounts": [ { "name": "pool"; "isMut": true; "isSigner": false; "docs": [ "Pool account (PDA)" ]; }, { "name": "lpMint"; "isMut": true; "isSigner": false; "docs": [ "LP token mint of the pool" ]; }, { "name": "userPoolLp"; "isMut": true; "isSigner": false; "docs": [ "user pool lp token account. lp will be burned from this account upon success liquidity removal." ]; }, { "name": "aVaultLp"; "isMut": true; "isSigner": false; "docs": [ "LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault." ]; }, { "name": "bVaultLp"; "isMut": true; "isSigner": false; "docs": [ "LP token account of vault B. Used to receive/burn the vault LP upon deposit/withdraw from the vault." ]; }, { "name": "aVault"; "isMut": true; "isSigner": false; "docs": [ "Vault account for token a. token a of the pool will be deposit / withdraw from this vault account." ]; }, { "name": "bVault"; "isMut": true; "isSigner": false; "docs": [ "Vault account for token b. token b of the pool will be deposit / withdraw from this vault account." ]; }, { "name": "aVaultLpMint"; "isMut": true; "isSigner": false; "docs": [ "LP token mint of vault a" ]; }, { "name": "bVaultLpMint"; "isMut": true; "isSigner": false; "docs": [ "LP token mint of vault b" ]; }, { "name": "aTokenVault"; "isMut": true; "isSigner": false; "docs": [ "Token vault account of vault A" ]; }, { "name": "bTokenVault"; "isMut": true; "isSigner": false; "docs": [ "Token vault account of vault B" ]; }, { "name": "userAToken"; "isMut": true; "isSigner": false; "docs": [ "User token A account. Token will be transfer from this account if it is add liquidity operation. Else, token will be transfer into this account." ]; }, { "name": "userBToken"; "isMut": true; "isSigner": false; "docs": [ "User token B account. Token will be transfer from this account if it is add liquidity operation. Else, token will be transfer into this account." ]; }, { "name": "user"; "isMut": false; "isSigner": true; "docs": [ "User account. Must be owner of user_a_token, and user_b_token." ]; }, { "name": "vaultProgram"; "isMut": false; "isSigner": false; "docs": [ "Vault program. the pool will deposit/withdraw liquidity from the vault." ]; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; "docs": [ "Token program." ]; } ]; "args": [ { "name": "poolTokenAmount"; "type": "u64"; }, { "name": "minimumATokenOut"; "type": "u64"; }, { "name": "minimumBTokenOut"; "type": "u64"; } ]; }, { "name": "addBalanceLiquidity"; "docs": [ "Deposit tokens to the pool in a balanced ratio." ]; "accounts": [ { "name": "pool"; "isMut": true; "isSigner": false; "docs": [ "Pool account (PDA)" ]; }, { "name": "lpMint"; "isMut": true; "isSigner": false; "docs": [ "LP token mint of the pool" ]; }, { "name": "userPoolLp"; "isMut": true; "isSigner": false; "docs": [ "user pool lp token account. lp will be burned from this account upon success liquidity removal." ]; }, { "name": "aVaultLp"; "isMut": true; "isSigner": false; "docs": [ "LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault." ]; }, { "name": "bVaultLp"; "isMut": true; "isSigner": false; "docs": [ "LP token account of vault B. Used to receive/burn the vault LP upon deposit/withdraw from the vault." ]; }, { "name": "aVault"; "isMut": true; "isSigner": false; "docs": [ "Vault account for token a. token a of the pool will be deposit / withdraw from this vault account." ]; }, { "name": "bVault"; "isMut": true; "isSigner": false; "docs": [ "Vault account for token b. token b of the pool will be deposit / withdraw from this vault account." ]; }, { "name": "aVaultLpMint"; "isMut": true; "isSigner": false; "docs": [ "LP token mint of vault a" ]; }, { "name": "bVaultLpMint"; "isMut": true; "isSigner": false; "docs": [ "LP token mint of vault b" ]; }, { "name": "aTokenVault"; "isMut": true; "isSigner": false; "docs": [ "Token vault account of vault A" ]; }, { "name": "bTokenVault"; "isMut": true; "isSigner": false; "docs": [ "Token vault account of vault B" ]; }, { "name": "userAToken"; "isMut": true; "isSigner": false; "docs": [ "User token A account. Token will be transfer from this account if it is add liquidity operation. Else, token will be transfer into this account." ]; }, { "name": "userBToken"; "isMut": true; "isSigner": false; "docs": [ "User token B account. Token will be transfer from this account if it is add liquidity operation. Else, token will be transfer into this account." ]; }, { "name": "user"; "isMut": false; "isSigner": true; "docs": [ "User account. Must be owner of user_a_token, and user_b_token." ]; }, { "name": "vaultProgram"; "isMut": false; "isSigner": false; "docs": [ "Vault program. the pool will deposit/withdraw liquidity from the vault." ]; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; "docs": [ "Token program." ]; } ]; "args": [ { "name": "poolTokenAmount"; "type": "u64"; }, { "name": "maximumTokenAAmount"; "type": "u64"; }, { "name": "maximumTokenBAmount"; "type": "u64"; } ]; }, { "name": "setPoolFees"; "docs": [ "Update trading fee charged for liquidity provider, and admin." ]; "accounts": [ {