UNPKG

@symmetry-hq/liquidity-sdk

Version:

Exchange functionality using symmetry funds liquidity

1,724 lines 96.9 kB
export type FundsIDL = { "version": "0.1.0"; "name": "funds"; "instructions": [ { "name": "createFund"; "accounts": [ { "name": "manager"; "isMut": true; "isSigner": true; }, { "name": "tokenList"; "isMut": false; "isSigner": false; }, { "name": "fundState"; "isMut": true; "isSigner": false; }, { "name": "pdaAccount"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "fundToken"; "isMut": true; "isSigner": true; }, { "name": "createFeeSweeper"; "isMut": true; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; }, { "name": "rent"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "messageDigestFive"; "type": { "array": [ "u8", 16 ]; }; }, { "name": "managerFee"; "type": "u64"; }, { "name": "hostPubkey"; "type": "publicKey"; }, { "name": "hostFee"; "type": "u64"; }, { "name": "activelyManaged"; "type": "u64"; }, { "name": "assetPool"; "type": { "array": [ "u8", 256 ]; }; }, { "name": "refilterInterval"; "type": "u64"; }, { "name": "reweightInterval"; "type": "u64"; }, { "name": "rebalanceInterval"; "type": "u64"; }, { "name": "rebalanceThreshold"; "type": "u64"; }, { "name": "rebalanceSlippage"; "type": "u64"; }, { "name": "lpOffsetThreshold"; "type": "u64"; }, { "name": "rebalanceAndLp"; "type": { "array": [ "u8", 2 ]; }; } ]; }, { "name": "closeFund"; "accounts": [ { "name": "manager"; "isMut": true; "isSigner": true; }, { "name": "fundToken"; "isMut": true; "isSigner": false; }, { "name": "fundState"; "isMut": true; "isSigner": false; }, { "name": "pdaAccount"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; } ]; "args": []; }, { "name": "setRules"; "accounts": [ { "name": "manager"; "isMut": true; "isSigner": true; }, { "name": "fundState"; "isMut": true; "isSigner": false; } ]; "args": [ { "name": "numOfRules"; "type": "u64"; }, { "name": "rulesData"; "type": { "array": [ "u8", 512 ]; }; }, { "name": "ruleWeights"; "type": { "array": [ "u64", 20 ]; }; }, { "name": "ruleExpos"; "type": { "array": [ "i64", 20 ]; }; } ]; }, { "name": "fundEdit"; "accounts": [ { "name": "manager"; "isMut": true; "isSigner": true; }, { "name": "tokenList"; "isMut": false; "isSigner": false; }, { "name": "fundState"; "isMut": true; "isSigner": false; } ]; "args": [ { "name": "messageDigestFive"; "type": { "array": [ "u8", 16 ]; }; }, { "name": "managerFee"; "type": "u64"; }, { "name": "activelyManaged"; "type": "u64"; }, { "name": "assetPool"; "type": { "array": [ "u8", 256 ]; }; }, { "name": "refilterInterval"; "type": "u64"; }, { "name": "reweightInterval"; "type": "u64"; }, { "name": "rebalanceInterval"; "type": "u64"; }, { "name": "rebalanceThreshold"; "type": "u64"; }, { "name": "rebalanceSlippage"; "type": "u64"; }, { "name": "lpOffsetThreshold"; "type": "u64"; }, { "name": "rebalanceAndLp"; "type": { "array": [ "u8", 2 ]; }; } ]; }, { "name": "swapFundTokens"; "accounts": [ { "name": "buyer"; "isMut": false; "isSigner": true; }, { "name": "fundState"; "isMut": true; "isSigner": false; }, { "name": "pdaAccount"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "pdaFromTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "buyerFromTokenAccount"; "isMut": true; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "pdaToTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "buyerToTokenAccount"; "isMut": true; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "swapFeeAccount"; "isMut": true; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "hostFeeAccount"; "isMut": true; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "managerFeeAccount"; "isMut": true; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "tokenInfo"; "isMut": false; "isSigner": false; }, { "name": "curveData"; "isMut": false; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "fromTokenId"; "type": "u64"; }, { "name": "toTokenId"; "type": "u64"; }, { "name": "fromAmount"; "type": "u64"; }, { "name": "minimumToAmount"; "type": "u64"; } ]; }, { "name": "liquidityProvision"; "accounts": [ { "name": "buyer"; "isMut": false; "isSigner": true; }, { "name": "fundState"; "isMut": true; "isSigner": false; }, { "name": "pdaAccount"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "pdaFromTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "buyerFromTokenAccount"; "isMut": true; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "pdaToTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "buyerToTokenAccount"; "isMut": true; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "swapFeeAccount"; "isMut": true; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "hostFeeAccount"; "isMut": true; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "managerFeeAccount"; "isMut": true; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "tokenList"; "isMut": false; "isSigner": false; }, { "name": "curveData"; "isMut": false; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "fromTokenId"; "type": "u64"; }, { "name": "toTokenId"; "type": "u64"; }, { "name": "fromAmount"; "type": "u64"; }, { "name": "minimumToAmount"; "type": "u64"; } ]; }, { "name": "buyFund"; "accounts": [ { "name": "buyer"; "isMut": true; "isSigner": true; }, { "name": "fundState"; "isMut": true; "isSigner": false; }, { "name": "tokenList"; "isMut": false; "isSigner": false; }, { "name": "pdaAccount"; "isMut": false; "isSigner": false; }, { "name": "pdaUsdcAccount"; "isMut": true; "isSigner": false; }, { "name": "buyerUsdcAccount"; "isMut": true; "isSigner": false; }, { "name": "managerUsdcAccount"; "isMut": true; "isSigner": false; }, { "name": "smfFeeAccount"; "isMut": true; "isSigner": false; }, { "name": "hostUsdcAccount"; "isMut": true; "isSigner": false; }, { "name": "buyerFundTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "buyState"; "isMut": true; "isSigner": true; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "amount"; "type": "u64"; } ]; }, { "name": "mintFund"; "accounts": [ { "name": "signer"; "isMut": true; "isSigner": true; }, { "name": "buyer"; "isMut": true; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "fundState"; "isMut": true; "isSigner": false; }, { "name": "tokenList"; "isMut": false; "isSigner": false; }, { "name": "buyState"; "isMut": true; "isSigner": false; }, { "name": "pdaAccount"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "buyerFundTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "fundToken"; "isMut": true; "isSigner": false; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; } ]; "args": []; }, { "name": "instantMint"; "accounts": [ { "name": "authority"; "isMut": true; "isSigner": true; }, { "name": "buyerFundTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "fundToken"; "isMut": true; "isSigner": false; }, { "name": "fundState"; "isMut": true; "isSigner": false; }, { "name": "tokenList"; "isMut": false; "isSigner": false; }, { "name": "pdaAccount"; "isMut": false; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "amounts"; "type": { "array": [ "u64", 20 ]; }; } ]; }, { "name": "sellFund"; "accounts": [ { "name": "seller"; "isMut": true; "isSigner": true; }, { "name": "fundState"; "isMut": true; "isSigner": false; }, { "name": "pdaAccount"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "newFundState"; "isMut": true; "isSigner": false; }, { "name": "sellerFundTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "fundToken"; "isMut": true; "isSigner": false; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; }, { "name": "rent"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "amount"; "type": "u64"; }, { "name": "rebalance"; "type": "u64"; } ]; }, { "name": "claimToken"; "accounts": [ { "name": "manager"; "isMut": true; "isSigner": true; }, { "name": "fundState"; "isMut": true; "isSigner": false; }, { "name": "tokenList"; "isMut": false; "isSigner": false; }, { "name": "sellerTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "pdaTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "pdaAccount"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "tokenId"; "type": "u64"; } ]; }, { "name": "claimTokenFromBuyState"; "accounts": [ { "name": "signer"; "isMut": true; "isSigner": true; }, { "name": "buyer"; "isMut": true; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "fundState"; "isMut": true; "isSigner": false; }, { "name": "buyState"; "isMut": true; "isSigner": false; }, { "name": "tokenList"; "isMut": false; "isSigner": false; }, { "name": "buyerTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "pdaTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "pdaAccount"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "tokenId"; "type": "u64"; } ]; }, { "name": "updateCurrentWeights"; "accounts": [ { "name": "fundState"; "isMut": true; "isSigner": false; }, { "name": "tokenList"; "isMut": false; "isSigner": false; } ]; "args": []; }, { "name": "buyStateRebalance"; "accounts": [ { "name": "fundState"; "isMut": true; "isSigner": false; }, { "name": "buyState"; "isMut": true; "isSigner": false; }, { "name": "tokenList"; "isMut": false; "isSigner": false; }, { "name": "oracleToken"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "oracleUsdc"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "pdaAccount"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "pdaTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "pdaUsdcAccount"; "isMut": true; "isSigner": false; }, { "name": "rebalanceFeeAccount"; "isMut": true; "isSigner": false; }, { "name": "prismProgram"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "tokenId"; "type": "u8"; }, { "name": "instructionId"; "type": { "array": [ "u8", 8 ]; }; }, { "name": "instructionSize"; "type": "u8"; }, { "name": "instructionData"; "type": { "array": [ "u8", 28 ]; }; } ]; }, { "name": "rebalanceToUsdc"; "accounts": [ { "name": "signer"; "isMut": true; "isSigner": true; }, { "name": "fundState"; "isMut": true; "isSigner": false; }, { "name": "tokenList"; "isMut": false; "isSigner": false; }, { "name": "oracleToken"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "oracleUsdc"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "pdaAccount"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "pdaTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "pdaUsdcAccount"; "isMut": true; "isSigner": false; }, { "name": "rebalanceFeeAccount"; "isMut": true; "isSigner": false; }, { "name": "prismProgram"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "tokenId"; "type": "u8"; }, { "name": "maxAmountToSell"; "type": "u64"; }, { "name": "instructionId"; "type": { "array": [ "u8", 8 ]; }; }, { "name": "instructionSize"; "type": "u8"; }, { "name": "instructionData"; "type": { "array": [ "u8", 28 ]; }; } ]; }, { "name": "rebalanceFromUsdc"; "accounts": [ { "name": "signer"; "isMut": true; "isSigner": true; }, { "name": "fundState"; "isMut": true; "isSigner": false; }, { "name": "tokenList"; "isMut": false; "isSigner": false; }, { "name": "oracleToken"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "oracleUsdc"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "pdaAccount"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "pdaTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "pdaUsdcAccount"; "isMut": true; "isSigner": false; }, { "name": "rebalanceFeeAccount"; "isMut": true; "isSigner": false; }, { "name": "prismProgram"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "tokenId"; "type": "u8"; }, { "name": "maxAmountToSpend"; "type": "u64"; }, { "name": "instructionId"; "type": { "array": [ "u8", 8 ]; }; }, { "name": "instructionSize"; "type": "u8"; }, { "name": "instructionData"; "type": { "array": [ "u8", 28 ]; }; } ]; }, { "name": "rebalanceBuyState"; "accounts": [ { "name": "fundState"; "isMut": true; "isSigner": false; }, { "name": "buyState"; "isMut": true; "isSigner": false; }, { "name": "tokenList"; "isMut": false; "isSigner": false; }, { "name": "oracleToken"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "oracleUsdc"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "pdaAccount"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "pdaTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "pdaUsdcAccount"; "isMut": true; "isSigner": false; }, { "name": "rebalanceFeeAccount"; "isMut": true; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "tokenId"; "type": "u8"; }, { "name": "instructionSize"; "type": "u8"; }, { "name": "instructionData"; "type": { "array": [ "u8", 128 ]; }; } ]; }, { "name": "rebalanceSell"; "accounts": [ { "name": "signer"; "isMut": true; "isSigner": true; }, { "name": "fundState"; "isMut": true; "isSigner": false; }, { "name": "tokenList"; "isMut": false; "isSigner": false; }, { "name": "oracleToken"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "oracleUsdc"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "pdaAccount"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "pdaTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "pdaUsdcAccount"; "isMut": true; "isSigner": false; }, { "name": "rebalanceFeeAccount"; "isMut": true; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "tokenId"; "type": "u8"; }, { "name": "maxAmountToSell"; "type": "u64"; }, { "name": "instructionSize"; "type": "u8"; }, { "name": "instructionData"; "type": { "array": [ "u8", 128 ]; }; } ]; }, { "name": "rebalanceBuy"; "accounts": [ { "name": "signer"; "isMut": true; "isSigner": true; }, { "name": "fundState"; "isMut": true; "isSigner": false; }, { "name": "tokenList"; "isMut": false; "isSigner": false; }, { "name": "oracleToken"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "oracleUsdc"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "pdaAccount"; "isMut": false; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "pdaTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "pdaUsdcAccount"; "isMut": true; "isSigner": false; }, { "name": "rebalanceFeeAccount"; "isMut": true; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "tokenId"; "type": "u8"; }, { "name": "maxAmountToSpend"; "type": "u64"; }, { "name": "instructionSize"; "type": "u8"; }, { "name": "instructionData"; "type": { "array": [ "u8", 128 ]; }; } ]; }, { "name": "reweight"; "accounts": [ { "name": "signer"; "isMut": true; "isSigner": true; }, { "name": "fundState"; "isMut": true; "isSigner": false; }, { "name": "tokenStats"; "isMut": false; "isSigner": false; } ]; "args": []; }, { "name": "refilter"; "accounts": [ { "name": "signer"; "isMut": true; "isSigner": true; }, { "name": "fundState"; "isMut": true; "isSigner": false; }, { "name": "tokenStats"; "isMut": false; "isSigner": false; } ]; "args": []; }, { "name": "updateTokenList"; "accounts": [ { "name": "owner"; "isMut": true; "isSigner": true; }, { "name": "tokenList"; "isMut": true; "isSigner": false; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "index"; "type": "u8"; }, { "name": "tokenMint"; "type": "publicKey"; }, { "name": "decimals"; "type": "u8"; }, { "name": "coingeckoId"; "type": { "array": [ "u8", 30 ]; }; }, { "name": "pdaTokenAccount"; "type": "publicKey"; }, { "name": "oracleType"; "type": "u8"; }, { "name": "oracleAccount"; "type": "publicKey"; }, { "name": "oracleIndex"; "type": "u8"; }, { "name": "oracleConfidencePct"; "type": "u8"; }, { "name": "fixedConfidenceBps"; "type": "u8"; }, { "name": "tokenSwapFeeBeforeTwBps"; "type": "u8"; }, { "name": "tokenSwapFeeAfterTwBps"; "type": "u8"; }, { "name": "isLive"; "type": "u8"; }, { "name": "lpOn"; "type": "u8"; }, { "name": "useCurveData"; "type": "u8"; } ]; }, { "name": "modifyFeeStructure"; "accounts": [ { "name": "owner"; "isMut": true; "isSigner": true; }, { "name": "tokenList"; "isMut": true; "isSigner": false; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "symmetryFee"; "type": "u8"; }, { "name": "hostFee"; "type": "u8"; }, { "name": "managerFee"; "type": "u8"; } ]; }, { "name": "addToken"; "accounts": [ { "name": "owner"; "isMut": true; "isSigner": true; }, { "name": "tokenInfo"; "isMut": true; "isSigner": false; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "tokenMint"; "type": "publicKey"; }, { "name": "pdaTokenAccount"; "type": "publicKey"; }, { "name": "coingeckoId"; "type": { "array": [ "u8", 30 ]; }; }, { "name": "pyth"; "type": "publicKey"; }, { "name": "decimals"; "type": "u8"; }, { "name": "index"; "type": "u8"; } ]; }, { "name": "updateDatabase"; "accounts": [ { "name": "owner"; "isMut": true; "isSigner": true; }, { "name": "database"; "isMut": true; "isSigner": false; } ]; "args": [ { "name": "tokenId"; "type": "u64"; }, { "name": "price"; "type": "u64"; }, { "name": "circulatingSupply"; "type": "u64"; }, { "name": "volume"; "type": "u64"; }, { "name": "timestamp"; "type": "u64"; } ]; }, { "name": "clearDatabase"; "accounts": [ { "name": "owner"; "isMut": true; "isSigner": true; }, { "name": "database"