@symmetry-hq/liquidity-sdk
Version:
Exchange functionality using symmetry funds liquidity
1,736 lines • 96.3 kB
JavaScript
"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"
}