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";
                    "isMut": true;
                    "isSigner": false;
                }
            ];
            "args": [
                {
                    "name": "tokenId";
                    "type": "u64";
                }
            ];
        },
        {
            "name": "updateTokenStats";
            "accounts": [
                {
                    "name": "owner";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "tokenStats";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "database";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [
                {
                    "name": "startIndex";
                    "type": "u8";
                },
                {
                    "name": "endIndex";
                    "type": "u8";
                }
            ];
        },
        {
            "name": "updateTokenStatsV2";
            "accounts": [
                {
                    "name": "owner";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "tokenStats";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "database";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [
                {
                    "name": "token";
                    "type": "u8";
                },
                {
                    "name": "data";
                    "type": {
                        "array": [
                            {
                                "array": [
                                    "u64",
                                    3
                                ];
                            },
                            6
                        ];
                    };
                }
            ];
        },
        {
            "name": "updateCurveData";
            "accounts": [
                {
                    "name": "owner";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "curveData";
                    "isMut": true;
                    "isSigner": false;
                }
            ];
            "args": [
                {
                    "name": "startIndex";
                    "type": "u8";
                },
                {
                    "name": "endIndex";
                    "type": "u8";
                },
                {
                    "name": "priceData";
                    "type": {
                        "array": [
                            {
                                "array": [
                                    {
                                        "array": [
                                            {
                                                "array": [
                                                    "u64",
                                                    2
                                                ];
                                            },
                                            10
                                        ];
                                    },
                                    2
                                ];
                            },
                            3
                        ];
                    };
                }
            ];
        },
        {
            "name": "initializeTokenList";
            "accounts": [
                {
                    "name": "owner";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "tokenList";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [];
        },
        {
            "name": "initializeDatabase";
            "accounts": [
                {
                    "name": "owner";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "database";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [];
        },
        {
            "name": "initializeTokenStats";
            "accounts": [
                {
                    "name": "owner";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "tokenStats";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [];
        },
        {
            "name": "initializeCurveData";
            "accounts": [
                {
                    "name": "owner";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "curveData";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [];
        },
        {
            "name": "closeDatabase";
            "accounts": [
                {
                    "name": "owner";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "database";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [];
        },
        {
            "name": "closeTokenStats";
            "accounts": [
                {
                    "name": "owner";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "tokenStats";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [];
        },
        {
            "name": "closeTokenInfo";
            "accounts": [
                {
                    "name": "owner";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "tokenInfo";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [];
        },
        {
            "name": "closeTokenList";
            "accounts": [
                {
                    "name": "owner";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "tokenList";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [];
        },
        {
            "name": "closeToken";
            "accounts": [
                {
                    "name": "owner";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "pdaAccount";
                    "isMut": false;
                    "isSigner": false;
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "tokenAccount";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "tokenProgram";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [];
        },
        {
            "name": "closeOpenOrders";
            "accounts": [
                {
                    "name": "owner";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "pdaAccount";
                    "isMut": true;
                    "isSigner": false;
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "openOrders";
                    "isMut": true;
                    "isSigner": false;
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "market";
                    "isMut": false;
                    "isSigner": false;
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "serumDex";
                    "isMut": false;
                    "isSigner": false;
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "serumSwapProgram";
                    "isMut": false;
                    "isSigner": false;
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [];
        },
        {
            "name": "createFundTokenMintMetadata";
            "accounts": [
                {
                    "name": "manager";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "fundToken";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "fundState";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "updateAuthority";
                    "isMut": false;
                    "isSigner": false;
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "metadataAccount";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "metadataProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [
                {
                    "name": "params";
                    "type": {
                        "defined": "UpdateMetadataParams";
                    };
                }
            ];
        },
        {
            "name": "updateFundTokenMintMetadata";
            "accounts": [
                {
                    "name": "manager";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "fundToken";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "fundState";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "updateAuthority";
                    "isMut": false;
                    "isSigner": false;
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "metadataAccount";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "metadataProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [
                {
                    "name": "params";
                    "type": {
                        "defined": "UpdateMetadataParams";
                    };
                }
            ];
        }
    ];
    "accounts": [
        {
            "name": "fundState";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "version";
                        "type": "u64";
                    },
                    {
                        "name": "manager";
                        "type": "publicKey";
                    },
                    {
                        "name": "fundToken";
                        "type": "publicKey";
                    },
                    {
                        "name": "managerFee";
                        "type": "u64";
                    },
                    {
                        "name": "supplyOutsanding";
                        "type": "u64";
                    },
                    {
                        "name": "activelyManaged";
                        "type": "u64";
                    },
                    {
                        "name": "activeBuyStates";
                        "type": "u64";
                    },
                    {
                        "name": "sellState";
                        "type": "u64";
                    },
                    {
                        "name": "rebalanceSellState";
                        "type": "u64";
                    },
                    {
                        "name": "hostPubkey";
                        "type": "publicKey";
                    },
                    {
                        "name": "hostFee";
                        "type": "u64";
                    },
                    {
                        "name": "numOfTokens";
                        "type": "u64";
                    },
                    {
                        "name": "currentCompToken";
                        "type": {
                            "array": [
                                "u64",
                                20
                            ];
                        };
                    },
                    {
                        "name": "currentCompAmount";
                        "type": {
                            "array": [
                                "u64",
                                20
                            ];
                        };
                    },
                    {
                        "name": "lastRebalanceTime";
                        "type": {
                            "array": [
                                "u64",
                                20
                            ];
                        };
                    },
                    {
                        "name": "targetWeight";
                        "type": {
                            "array": [
                                "u64",
                                20
                            ];
                        };
                    },
                    {
                        "name": "weightSum";
                        "type": "u64";
                    },
                    {
                        "name": "currentWeight";
                        "type": {
                            "array": [
                                "u64",
                                20
                            ];
                        };
                    },
                    {
                        "name": "fundWorth";
                        "type": "u64";
                    },
                    {
                        "name": "lastUpdateTime";
                        "type": "u64";
                    },
                    {
                        "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": "lastRefilterTime";
                        "type": "u64";
                    },
                    {
                        "name": "lastReweightTime";
                        "type": "u64";
                    },
                    {
                        "name": "rulesReady";
                        "type": "u64";
                    },
                    {
                        "name": "assetPool";
                        "type": {
                            "array": [
                                "u64",
                                200
                            ];
                        };
                    },
                    {
                        "name": "numOfRules";
                        "type": "u64";
                    },
                    {
                        "name": "rules";
                        "type": {
                            "array": [
                                {
                                    "defined": "Rule";
                                },
                                20
                            ];
                        };
                    },
                    {
                        "name": "numRuleTokens";
                        "type": "u64";
                    },
                    {
                        "name": "ruleTokens";
                        "type": {
                            "array": [
                                "u64",
                                20
                            ];
                        };
                    },
                    {
                        "name": "ruleTokenWeights";
                        "type": {
                            "array": [
                                "u64",
                                20
                            ];
                        };
                    },
                    {
                        "name": "messageDigestFive";
                        "type": {
                            "array": [
                                "u8",
                                16
                            ];
                        };
                    },
                    {
                        "name": "disableRebalance";
                        "type": "u64";
                    },
                    {
                        "name": "disableLp";
                        "type": "u64";
                    },
                    {
                        "name": "allowMultiAssetContribution";
                        "type": "u8";
                    },
                    {
                        "name": "extraBytes";
                        "type": {
                            "array": [
                                "u8",
                                767
                            ];
                        };
                    }
                ];
            };
        },
        {
            "name": "buyState";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "fund";
                        "type": "publicKey";
                    },
                    {
                        "name": "buyer";
                        "type": "publicKey";
                    },
                    {
                        "name": "fundManager";
                        "type": "publicKey";
                    },
                    {
                        "name": "hostPlatform";
                        "type": "publicKey";
                    },
                    {
                        "name": "buyerFundTokenAccount";
                        "type": "publicKey";
                    },
                    {
                        "name": "usdcContributed";
                        "type": "u64";
                    },
                    {
                        "name": "usdcLeft";
                        "type": "u64";
                    },
                    {
                        "name": "token";
                        "type": {
                            "array": [
                                "u64",
                                20
                            ];
                        };
                    },
                    {
                        "name": "amountToSpend";
                        "type": {
                            "array": [
                                "u64",
                                20
                            ];
                        };
                    },
                    {
                        "name": "amountBought";
                        "type": {
                            "array": [
                                "u64",
                                20
                            ];
                        };
                    },
                    {
                        "name": "creationTimestamp";
                        "type": "u64";
                    },
                    {
                        "name": "contributedValue";
                        "type": "u64";
                    }
                ];
            };
        },
        {
            "name": "tokenInfo";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "numTokens";
                        "type": "u64";
                    },
                    {
                        "name": "tokenMint";
                        "type": {
                            "array": [
                                "publicKey",
                                200
                            ];
                        };
                    },
                    {
                        "name": "pdaTokenAccount";
                        "type": {
                            "array": [
                                "publicKey",
                                200
                            ];
                        };
                    },
                    {
                        "name": "coingeckoIds";
                        "type": {
                            "array": [
                                {
                                    "array": [
                                        "u8",
                                        30
                                    ];
                                },
                                200
                            ];
                        };
                    },
                    {
                        "name": "pyth";
                        "type": {
                            "array": [
                                "publicKey",
                                200
                            ];
                        };
                    },
                    {
                        "name": "decimals";
                        "type": {
                            "array": [
                                "u8",
                                200
                            ];
                        };
                    }
                ];
            };
        },
        {
            "name": "tokenList";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "numTokens";
                        "type": "u64";
                    },
                    {
                        "name": "list";
                        "type": {
                            "array": [
                                {
                                    "defined": "TokenSettings";
                                },
                                200
                            ];
                        };
                    }
                ];
            };
        },
        {
            "name": "database";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "data";
                        "type": {
                            "array": [
                                {
                                    "defined": "TokenData";
                                },
                                200
                            ];
                        };
                    },
                    {
                        "name": "numberOfTokens";
                        "type": "u64";
                    }
                ];
            };
        },
        {
            "name": "tokenStats";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "stats";
                        "type": {
                            "array": [
                                {
                                    "array": [
                                        {
                                            "defined": "Stats";
                                        },
                                        6
                                    ];
                                },
                                200
                            ];
                        };
                    }
                ];
            };
        },
        {
            "name": "prismData";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "buy";
                        "type": {
                            "array": [
                                {
                                    "defined": "TokenPriceData";
                                },
                                200
                            ];
                        };
                    },
                    {
                        "name": "sell";
                        "type": {
                            "array": [
                                {
                                    "defined": "TokenPriceData";
                                },
                                200
                            ];
                        };
                    }
                ];
            };
        }
    ];
    "types": [
        {
            "name": "Rule";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "filterBy";
                        "type": "u64";
                    },
                    {
                        "name": "filterDays";
                        "type": "u64";
                    },
                    {
                        "name": "sortBy";
                        "type": "u64";
                    },
                    {
                        "name": "totalWeight";
                        "type": "u64";
                    },
                    {
                        "name": "fixedAsset";
                        "type": "u64";
                    },
                    {
                        "name": "numAssets";
                        "type": "u64";
                    },
                    {
                        "name": "weightBy";
                        "type": "u64";
                    },
                    {
                        "name": "weightDays";
                        "type": "u64";
                    },
                    {
                        "name": "weightExpo";
                        "type": "i64";
                    },
                    {
                        "name": "excludeNum";
                        "type": "u64";
                    },
                    {
                        "name": "excludeAssets";
                        "type": {
                            "array": [
                                "u64",
                                10
                            ];
                        };
                    },
                    {
                        "name": "ruleAssets";
                        "type": {
                            "array": [
                                "u64",
                                20
                            ];
                        };
                    }
                ];
            };
        },
        {
            "name": "TokenSettings";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "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": "tokenSwapFeeAfterTwBps";
                        "type": "u8";
                    },
                    {
                        "name": "tokenSwapFeeBeforeTwBps";
                        "type": "u8";
                    },
                    {
                        "name": "isLive";
                        "type": "u8";
                    },
                    {
                        "name": "lpOn";
                        "type": "u8";
                    },
                    {
                        "name": "useCurveData";
                        "type": "u8";
                    },
                    {
                        "name": "additionalData";
                        "type": {
                            "array": [
                                "u8",
                                63
                            ];
                        };
                    }
                ];
            };
        },
        {
            "name": "TokenData";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "price";
                        "type": {
                            "array": [
                                "u64",
                                460
                            ];
                        };
                    },
                    {
                        "name": "circulatingSupply";
                        "type": {
                            "array": [
                                "u64",
                                460
                            ];
                        };
                    },
                    {
                        "name": "volume";
                        "type": {
                            "array": [
                                "u64",
                                460
                            ];
                        };
                    },
                    {
                        "name": "timestamp";
                        "type": {
                            "array": [
                                "u64",
                                460
                            ];
                        };
                    },
                    {
                        "name": "index";
                        "type": "u64";
                    }
                ];
            };
        },
        {
            "name": "Stats";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "days";
                        "type": "u64";
                    },
                    {
                        "name": "performance";
                        "type": "u64";
                    },
                    {
                        "name": "volume";
                        "type": "u64";
                    },
                    {
                        "name": "mcap";
                        "type": "u64";
                    }
                ];
            };
        },
        {
            "name": "TokenPriceData";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "amount";
                        "type": {
                            "array": [
                                "u64",
                                10
                            ];
                        };
                    },
                    {
                        "name": "price";
                        "type": {
                            "array": [
                                "u64",
                                10
                            ];
                        };
                    }
                ];
            };
        },
        {
            "name": "UpdateMetadataParams";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "name";
                        "type": "string";
                    },
                    {
                        "name": "symbol";
                        "type": "string";
                    },
                    {
                        "name": "uri";
                        "type": "string";
                    }
                ];
            };
        },
        {
            "name": "PriceStatus";
            "type": {
                "kind": "enum";
                "variants": [
                    {
                        "name": "Unknown";
                    },
                    {
                        "name": "Trading";
                    },
                    {
                        "name": "Halted";
                    },
                    {
                        "name": "Auction";
                    }
                ];
            };
        },
        {
            "name": "CorpAction";
            "type": {
                "kind": "enum";
                "variants": [
                    {
                        "name": "NoCorpAct";
                    }
                ];
            };
        },
        {
            "name": "PriceType";
            "type": {
                "kind": "enum";
                "variants": [
                    {
                        "name": "Unknown";
                    },
                    {
                        "name": "Price";
                    },
                    {
                        "name": "TWAP";
                    },
                    {
                        "name": "Volatility";
                    }
                ];
            };
        }
    ];
    "errors": [
        {
            "code": 6000;
            "name": "AlreadySet";
            "msg": "Rules are already set";
        },
        {
            "code": 6001;
            "name": "IncorrectPdaUsdcAccount";
            "msg": "Incorrect pda_usdc_account";
        },
        {
            "code": 6002;
            "name": "IncorrectOracleAccount";
            "msg": "Incorrect Oracle account provided";
        },
        {
            "code": 6003;
            "name": "IncorrectSellState";
            "msg": "Fund_state is provided instead of sell_state";
        },
        {
            "code": 6004;
            "name": "IncorrectPdaTokenAccount";
            "msg": "Incorrect pda_token_account";
        },
        {
            "code": 6005;
            "name": "UpdateCurrentWeights";
            "msg": "Current weights need to be updated";
        },
        {
            "code": 6006;
            "name": "TimeHasntPassed";
            "msg": "Enough time hasn't passed yet";
        },
        {
            "code": 6007;
            "name": "InThreshold";
            "msg": "weight is in rebalance threshold";
        },
        {
            "code": 6008;
            "name": "MoreThan20Assets";
            "msg": "Number of Assets must be less or equal to 20";
        },
        {
            "code": 6009;
            "name": "ConstraintError";
            "msg": "Constraint error";
        },
        {
            "code": 6010;
            "name": "NotActivelyManaged";
            "msg": "Fund isn't actively managed";
        },
        {
            "code": 6011;
            "name": "IncorrectSmfFeeAccount";
            "msg": "Incorrect smf_fee_account";
        },
        {
            "code": 6012;
            "name": "ExpoRangeError";
            "msg": "Expo must be in [0;1] range";
        },
        {
            "code": 6013;
            "name": "NoRefilterAndReweightForSellState";
            "msg": "Refilter or Reweight shouldn't be called for sell_state";
        },
        {
            "code": 6014;
            "name": "IncorrectRebalanceFeeAccount";
            "msg": "Incorrect rebalance_fee_account";
        },
        {
            "code": 6015;
            "name": "TokenIsAlreadyBought";
            "msg": "Rebalance function already bought this token";
        },
        {
            "code": 6016;
            "name": "FundStateMustBeUpdated";
            "msg": "Fund state must be updated";
        },
        {
            "code": 6017;
            "name": "RuleWeightLimitError";
            "msg": "Rule weight is more than 1000";
        },
        {
            "code": 6018;
            "name": "IntervalLimitsAreIncorrect";
            "msg": "Refilter, Reweight or Rebalance interval limits are incorrect";
        },
        {
            "code": 6019;
            "name": "SlippageError";
            "msg": "Swap Exceeded FundState Rebalance Slippage";
        },
        {
            "code": 6020;
            "name": "TokenIsntPresentInState";
            "msg": "Passed token is not present in buy_state";
        },
        {
            "code": 6021;
            "name": "LessTokenInFund";
            "msg": "There are less free tokens Tokens in fund_state than buyer wants";
        },
        {
            "code": 6022;
            "name": "UsdcIsntEnough";
            "msg": "USDC worth is less than token worth";
        },
        {
            "code": 6023;
            "name": "ExceedsTargetWeight";
            "msg": "Token weight after swap exceeds target weight";
        },
        {
            "code": 6024;
            "name": "FundWorthDecreasing";
            "msg": "Fund worth fill decrease after swap";
        },
        {
            "code": 6025;
            "name": "SlippageExceeded";
            "msg": "Swap slippage exceeded";
        },
        {
            "code": 6026;
            "name": "IncorrectManagerAccount";
            "msg": "manager_usdc_account doesnt belong to manager";
        },
        {
            "code": 6027;
            "name": "WrongSigner";
            "msg": "Sell state rebalance should be executed by manager";
        },
        {
            "code": 6028;
            "name": "ClaimTokens";
            "msg": "Only ClaimTokens function is available on this sellState";
        },
        {
            "code": 6029;
            "name": "FilterOrWeightByError";
            "msg": "filter_by and weight_by should be in [0;3] range";
        },
        {
            "code": 6030;
            "name": "FilterOrWeightDaysError";
            "msg": "filter_days and weight_days should be in [0;5] range";
        },
        {
            "code": 6031;
            "name": "SortByError";
            "msg": "sort_by must be 0 or 1";
        },
        {
            "code": 6032;
            "name": "IncorrectRefferalFeeAccount";
            "msg": "Incorrect refferal USDC account";
        },
        {
            "code": 6033;
            "name": "IncorrectTokenAccount";
            "msg": "Incorrect Buyer Token account";
        },
        {
            "code": 6034;
            "name": "TokenStatsShouldBeUpdated";
            "msg": "To call refilter/reweight function token stats must be updated";
        },
        {
            "code": 6035;
            "name": "SellState";
            "msg": "Fund is a SellState";
        },
        {
            "code": 6036;
            "name": "ProgramFreezed";
            "msg": "Program is freezed. Contact developer support.";
        },
        {
            "code": 6037;
            "name": "TvlLimitReached";
            "msg": "TVL Limit reached as symmetry funds are in beta mode.";
        },
        {
            "code": 6038;
            "name": "BuyLimit";
            "msg": "Max allowed contribution is limited to 5000 USDC";
        },
        {
            "code": 6039;
            "name": "PythValidSlot";
            "msg": "Pyth invalid slot";
        },
        {
            "code": 6040;
            "name": "PythStatus";
            "msg": "Pyth status should be Trading";
        },
        {
            "code": 6041;
            "name": "PythConfidence";
            "msg": "Pyth low confidence";
        },
        {
            "code": 6042;
            "name": "PythNegativePrice";
            "msg": "Pyth price can not be negative";
        },
        {
            "code": 6043;
            "name": "AssetPool";
            "msg": "Asset Pool shouldn't contain repeating tokens and should contain USDC";
        },
        {
            "code": 6044;
            "name": "InvalidInstructionData";
            "msg": "Invalid instruction data was provided";
        },
        {
            "code": 6045;
            "name": "NotAssociatedTokenAccount";
            "msg": "Fee account is not associated";
        },
        {
            "code": 6046;
            "name": "CouldNotSwap";
            "msg": "Could not swap enough amount";
        },
        {
            "code": 6047;
            "name": "IncorrectTokenId";
            "msg": "Incorrect token Id";
        },
        {
            "code": 6048;
            "name": "FixedRule";
            "msg": "Fixed rule should contain only 1 asset";
        },
        {
            "code": 6049;
            "name": "FundIsActive";
            "msg": "Fund is still active";
        },
        {
            "code": 6050;
            "name": "BuyStateIsBeingClaimed";
            "msg": "Buy state is being claimed";
        },
        {
            "code": 6051;
            "name": "AssetPoolContainsOfflineOracleToken";
            "msg": "Asset pool contains token with offline oracle status";
        },
        {
            "code": 6052;
            "name": "LpOf";
            "msg": "Liquidity Provision is disabled for one of the tokens";
        },
        {
            "code": 6053;
            "name": "SvbOracleTimestamp";
            "msg": "Svb Oracle not updated in last X seconds";
        },
        {
            "code": 6054;
            "name": "RebalanceDisabled";
            "msg": "Auto Rebalance has been disabled by fund manager";
        },
        {
            "code": 6055;
            "name": "PrivateFund";
            "msg": "This is a private fund. Only manager can contribute";
        }
    ];
};
export declare const IDL: FundsIDL;
