UNPKG

@symmetry-hq/liquidity-sdk

Version:

Exchange functionality using symmetry funds liquidity

1,736 lines 96.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IDL = void 0; exports.IDL = { "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", "isMut": true, "isSigner": false } ], "args": [ { "name": "tokenId", "type": "u64" }