@symmetry-hq/liquidity-sdk
Version:
Exchange functionality using symmetry funds liquidity
1,724 lines • 96.9 kB
TypeScript
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"