export type BasketsIDL = {
    "address": "2KehYt3KsEQR53jYcxjbQp2d2kCp4AkuQW68atufRwSr";
    "metadata": {
        "name": "funds";
        "version": "0.1.0";
        "spec": "0.1.0";
    };
    "instructions": [
        {
            "name": "withdrawBeforeRebalance";
            "discriminator": [
                195,
                202,
                37,
                147,
                148,
                78,
                45,
                145
            ];
            "accounts": [
                {
                    "name": "signer";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "basketState";
                    "writable": true;
                },
                {
                    "name": "tokenList";
                },
                {
                    "name": "oracleSol";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "oracleTokenFrom";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "oracleTokenTo";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "pdaAccount";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "pdaTokenFrom";
                    "writable": true;
                },
                {
                    "name": "pdaTokenTo";
                    "writable": true;
                },
                {
                    "name": "signerTokenFrom";
                    "writable": true;
                },
                {
                    "name": "signerTokenTo";
                    "writable": true;
                },
                {
                    "name": "fromTokenMint";
                },
                {
                    "name": "toTokenMint";
                },
                {
                    "name": "rebalanceState";
                    "writable": true;
                },
                {
                    "name": "tokenProgram";
                },
                {
                    "name": "associatedTokenProgram";
                },
                {
                    "name": "systemProgram";
                },
                {
                    "name": "rent";
                },
                {
                    "name": "instructionsSysvar";
                    "docs": [
                        "CHECK"
                    ];
                }
            ];
            "args": [
                {
                    "name": "tokenFrom";
                    "type": "u8";
                },
                {
                    "name": "tokenTo";
                    "type": "u8";
                },
                {
                    "name": "withdrawAmount";
                    "type": "u64";
                }
            ];
        },
        {
            "name": "depositAfterRebalance";
            "discriminator": [
                14,
                73,
                13,
                249,
                241,
                0,
                197,
                7
            ];
            "accounts": [
                {
                    "name": "signer";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "basketState";
                    "writable": true;
                },
                {
                    "name": "tokenList";
                },
                {
                    "name": "oracleSol";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "oracleTokenTo";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "pdaAccount";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "pdaTokenTo";
                    "writable": true;
                },
                {
                    "name": "signerTokenTo";
                    "writable": true;
                },
                {
                    "name": "rebalanceState";
                    "writable": true;
                },
                {
                    "name": "rebalanceFeeAccount";
                    "writable": true;
                },
                {
                    "name": "tokenProgram";
                },
                {
                    "name": "systemProgram";
                }
            ];
            "args": [];
        },
        {
            "name": "createBasket";
            "discriminator": [
                47,
                105,
                155,
                148,
                15,
                169,
                202,
                211
            ];
            "accounts": [
                {
                    "name": "manager";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "tokenList";
                },
                {
                    "name": "fundState";
                    "writable": true;
                },
                {
                    "name": "pdaAccount";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "fundToken";
                    "writable": true;
                },
                {
                    "name": "createFeeSweeper";
                    "docs": [
                        "CHECK"
                    ];
                    "writable": true;
                },
                {
                    "name": "metadataAccount";
                    "writable": true;
                },
                {
                    "name": "metadataProgram";
                },
                {
                    "name": "systemProgram";
                },
                {
                    "name": "tokenProgram";
                },
                {
                    "name": "rent";
                },
                {
                    "name": "host";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "feeDelegate";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "seedPubkey";
                    "docs": [
                        "CHECK"
                    ];
                }
            ];
            "args": [
                {
                    "name": "managerFee";
                    "type": "u16";
                },
                {
                    "name": "hostFee";
                    "type": "u16";
                },
                {
                    "name": "basketType";
                    "type": "u8";
                },
                {
                    "name": "rebalanceInterval";
                    "type": "u64";
                },
                {
                    "name": "rebalanceThreshold";
                    "type": "u16";
                },
                {
                    "name": "rebalanceSlippage";
                    "type": "u16";
                },
                {
                    "name": "lpOffsetThreshold";
                    "type": "u16";
                },
                {
                    "name": "rebalanceAndLp";
                    "type": {
                        "array": [
                            "u8",
                            2
                        ];
                    };
                },
                {
                    "name": "numOfTokens";
                    "type": "u8";
                },
                {
                    "name": "targetComposition";
                    "type": {
                        "array": [
                            "u8",
                            15
                        ];
                    };
                },
                {
                    "name": "targetWeights";
                    "type": {
                        "array": [
                            "u32",
                            15
                        ];
                    };
                },
                {
                    "name": "params";
                    "type": {
                        "defined": {
                            "name": "updateMetadataParams";
                        };
                    };
                }
            ];
        },
        {
            "name": "editBasket";
            "discriminator": [
                38,
                120,
                23,
                32,
                19,
                73,
                131,
                177
            ];
            "accounts": [
                {
                    "name": "manager";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "fundState";
                    "writable": true;
                },
                {
                    "name": "tokenList";
                },
                {
                    "name": "feeDelegate";
                    "docs": [
                        "CHECK"
                    ];
                }
            ];
            "args": [
                {
                    "name": "managerFee";
                    "type": "u16";
                },
                {
                    "name": "rebalanceInterval";
                    "type": "u64";
                },
                {
                    "name": "rebalanceThreshold";
                    "type": "u16";
                },
                {
                    "name": "rebalanceSlippage";
                    "type": "u16";
                },
                {
                    "name": "lpOffsetThreshold";
                    "type": "u16";
                },
                {
                    "name": "rebalanceAndLp";
                    "type": {
                        "array": [
                            "u8",
                            2
                        ];
                    };
                },
                {
                    "name": "numOfTokens";
                    "type": "u8";
                },
                {
                    "name": "targetComposition";
                    "type": {
                        "array": [
                            "u8",
                            15
                        ];
                    };
                },
                {
                    "name": "targetWeights";
                    "type": {
                        "array": [
                            "u32",
                            15
                        ];
                    };
                }
            ];
        },
        {
            "name": "editManager";
            "discriminator": [
                70,
                218,
                176,
                28,
                91,
                177,
                44,
                37
            ];
            "accounts": [
                {
                    "name": "manager";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "fundState";
                    "writable": true;
                }
            ];
            "args": [
                {
                    "name": "newManager";
                    "type": "pubkey";
                }
            ];
        },
        {
            "name": "closeBasket";
            "discriminator": [
                193,
                180,
                238,
                204,
                116,
                243,
                127,
                45
            ];
            "accounts": [
                {
                    "name": "manager";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "fundToken";
                    "writable": true;
                },
                {
                    "name": "fundState";
                    "writable": true;
                },
                {
                    "name": "pdaAccount";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "systemProgram";
                },
                {
                    "name": "tokenProgram";
                }
            ];
            "args": [];
        },
        {
            "name": "liquidityProvision";
            "discriminator": [
                130,
                113,
                21,
                240,
                202,
                190,
                11,
                3
            ];
            "accounts": [
                {
                    "name": "buyer";
                    "signer": true;
                },
                {
                    "name": "fundState";
                    "writable": true;
                },
                {
                    "name": "pdaAccount";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "pdaFromTokenAccount";
                    "writable": true;
                },
                {
                    "name": "buyerFromTokenAccount";
                    "docs": [
                        "CHECK"
                    ];
                    "writable": true;
                },
                {
                    "name": "pdaToTokenAccount";
                    "writable": true;
                },
                {
                    "name": "buyerToTokenAccount";
                    "docs": [
                        "CHECK"
                    ];
                    "writable": true;
                },
                {
                    "name": "oracleSol";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "swapFeeAccount";
                    "docs": [
                        "CHECK"
                    ];
                    "writable": true;
                },
                {
                    "name": "hostFeeAccount";
                    "docs": [
                        "CHECK"
                    ];
                    "writable": true;
                },
                {
                    "name": "managerFeeAccount";
                    "docs": [
                        "CHECK"
                    ];
                    "writable": true;
                },
                {
                    "name": "tokenList";
                },
                {
                    "name": "curveData";
                },
                {
                    "name": "tokenProgram";
                }
            ];
            "args": [
                {
                    "name": "fromTokenId";
                    "type": "u64";
                },
                {
                    "name": "toTokenId";
                    "type": "u64";
                },
                {
                    "name": "fromAmount";
                    "type": "u64";
                },
                {
                    "name": "minimumToAmount";
                    "type": "u64";
                }
            ];
        },
        {
            "name": "editBuyer";
            "discriminator": [
                103,
                148,
                71,
                105,
                43,
                63,
                117,
                241
            ];
            "accounts": [
                {
                    "name": "buyer";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "buyState";
                    "writable": true;
                },
                {
                    "name": "newOwner";
                    "writable": true;
                },
                {
                    "name": "buyerFundTokenAccount";
                    "writable": true;
                }
            ];
            "args": [];
        },
        {
            "name": "buyFund";
            "discriminator": [
                251,
                50,
                158,
                62,
                174,
                248,
                165,
                197
            ];
            "accounts": [
                {
                    "name": "buyer";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "fundState";
                    "writable": true;
                },
                {
                    "name": "fundToken";
                    "writable": true;
                },
                {
                    "name": "tokenList";
                },
                {
                    "name": "pdaAccount";
                },
                {
                    "name": "pdaUsdcAccount";
                    "writable": true;
                },
                {
                    "name": "buyerUsdcAccount";
                    "writable": true;
                },
                {
                    "name": "managerUsdcAccount";
                    "writable": true;
                },
                {
                    "name": "smfFeeAccount";
                    "writable": true;
                },
                {
                    "name": "hostUsdcAccount";
                    "writable": true;
                },
                {
                    "name": "buyerFundTokenAccount";
                    "writable": true;
                },
                {
                    "name": "buyState";
                    "writable": true;
                },
                {
                    "name": "systemProgram";
                },
                {
                    "name": "tokenProgram";
                },
                {
                    "name": "rent";
                },
                {
                    "name": "associatedTokenProgram";
                },
                {
                    "name": "seedPubkey";
                    "docs": [
                        "CHECK"
                    ];
                }
            ];
            "args": [
                {
                    "name": "amount";
                    "type": "u64";
                }
            ];
        },
        {
            "name": "mintFund";
            "discriminator": [
                239,
                150,
                109,
                73,
                55,
                160,
                38,
                162
            ];
            "accounts": [
                {
                    "name": "signer";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "buyer";
                    "docs": [
                        "CHECK"
                    ];
                    "writable": true;
                },
                {
                    "name": "fundState";
                    "writable": true;
                },
                {
                    "name": "tokenList";
                },
                {
                    "name": "buyState";
                    "writable": true;
                },
                {
                    "name": "oracleSol";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "pdaAccount";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "buyerFundTokenAccount";
                    "writable": true;
                },
                {
                    "name": "fundToken";
                    "writable": true;
                },
                {
                    "name": "systemProgram";
                },
                {
                    "name": "tokenProgram";
                }
            ];
            "args": [];
        },
        {
            "name": "instantMint";
            "discriminator": [
                70,
                132,
                88,
                215,
                74,
                8,
                209,
                236
            ];
            "accounts": [
                {
                    "name": "authority";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "buyerFundTokenAccount";
                    "writable": true;
                },
                {
                    "name": "fundToken";
                    "writable": true;
                },
                {
                    "name": "fundState";
                    "writable": true;
                },
                {
                    "name": "tokenList";
                },
                {
                    "name": "pdaAccount";
                },
                {
                    "name": "oracleSol";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "tokenProgram";
                }
            ];
            "args": [
                {
                    "name": "amounts";
                    "type": {
                        "array": [
                            "u64",
                            20
                        ];
                    };
                }
            ];
        },
        {
            "name": "singleTokenDeposit";
            "discriminator": [
                197,
                12,
                239,
                83,
                28,
                4,
                37,
                97
            ];
            "accounts": [
                {
                    "name": "authority";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "fundState";
                    "writable": true;
                },
                {
                    "name": "fundToken";
                    "writable": true;
                },
                {
                    "name": "buyerTokenAccount";
                    "writable": true;
                },
                {
                    "name": "buyerFundTokenAccount";
                    "writable": true;
                },
                {
                    "name": "pdaAccount";
                },
                {
                    "name": "pdaTokenAccount";
                    "writable": true;
                },
                {
                    "name": "symmetryFeeAccount";
                    "writable": true;
                },
                {
                    "name": "hostFeeAccount";
                    "writable": true;
                },
                {
                    "name": "managerFeeAccount";
                    "writable": true;
                },
                {
                    "name": "oracleAccount";
                },
                {
                    "name": "oracleSol";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "tokenList";
                },
                {
                    "name": "tokenProgram";
                }
            ];
            "args": [
                {
                    "name": "token";
                    "type": "u8";
                },
                {
                    "name": "amount";
                    "type": "u64";
                }
            ];
        },
        {
            "name": "sellFund";
            "discriminator": [
                78,
                253,
                22,
                133,
                38,
                176,
                110,
                5
            ];
            "accounts": [
                {
                    "name": "seller";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "fundState";
                    "writable": true;
                },
                {
                    "name": "pdaAccount";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "newFundState";
                    "writable": true;
                },
                {
                    "name": "sellerFundTokenAccount";
                    "writable": true;
                },
                {
                    "name": "fundToken";
                    "writable": true;
                },
                {
                    "name": "systemProgram";
                },
                {
                    "name": "tokenProgram";
                },
                {
                    "name": "rent";
                },
                {
                    "name": "seedPubkey";
                    "docs": [
                        "CHECK"
                    ];
                }
            ];
            "args": [
                {
                    "name": "amount";
                    "type": "u64";
                },
                {
                    "name": "rebalance";
                    "type": "u64";
                }
            ];
        },
        {
            "name": "instantBurn";
            "discriminator": [
                34,
                231,
                151,
                248,
                32,
                1,
                32,
                125
            ];
            "accounts": [
                {
                    "name": "seller";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "pdaAccount";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "fundState";
                    "writable": true;
                },
                {
                    "name": "fundToken";
                    "writable": true;
                },
                {
                    "name": "sellerFundTokenAccount";
                    "writable": true;
                },
                {
                    "name": "withdrawTokenMint";
                    "writable": true;
                },
                {
                    "name": "sellerTokenAccount";
                    "writable": true;
                },
                {
                    "name": "pdaTokenAccount";
                    "writable": true;
                },
                {
                    "name": "tokenList";
                },
                {
                    "name": "systemProgram";
                },
                {
                    "name": "tokenProgram";
                }
            ];
            "args": [
                {
                    "name": "burnAmount";
                    "type": "u64";
                },
                {
                    "name": "withdrawToken";
                    "type": "u8";
                }
            ];
        },
        {
            "name": "claimToken";
            "discriminator": [
                116,
                206,
                27,
                191,
                166,
                19,
                0,
                73
            ];
            "accounts": [
                {
                    "name": "signer";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "manager";
                    "docs": [
                        "CHECK"
                    ];
                    "writable": true;
                },
                {
                    "name": "fundState";
                    "writable": true;
                },
                {
                    "name": "tokenList";
                },
                {
                    "name": "sellerTokenAccount";
                    "writable": true;
                },
                {
                    "name": "pdaTokenAccount";
                    "writable": true;
                },
                {
                    "name": "pdaAccount";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "systemProgram";
                },
                {
                    "name": "tokenProgram";
                }
            ];
            "args": [
                {
                    "name": "tokenId";
                    "type": "u64";
                }
            ];
        },
        {
            "name": "claimTokenFromBuyState";
            "discriminator": [
                132,
                137,
                239,
                21,
                204,
                222,
                213,
                220
            ];
            "accounts": [
                {
                    "name": "signer";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "buyer";
                    "docs": [
                        "CHECK"
                    ];
                    "writable": true;
                },
                {
                    "name": "fundState";
                    "writable": true;
                },
                {
                    "name": "buyState";
                    "writable": true;
                },
                {
                    "name": "tokenList";
                },
                {
                    "name": "buyerTokenAccount";
                    "writable": true;
                },
                {
                    "name": "pdaTokenAccount";
                    "writable": true;
                },
                {
                    "name": "pdaAccount";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "systemProgram";
                },
                {
                    "name": "tokenProgram";
                }
            ];
            "args": [
                {
                    "name": "tokenId";
                    "type": "u64";
                }
            ];
        },
        {
            "name": "updateCurrentWeights";
            "discriminator": [
                237,
                108,
                97,
                157,
                0,
                221,
                11,
                81
            ];
            "accounts": [
                {
                    "name": "fundState";
                    "writable": true;
                },
                {
                    "name": "tokenList";
                },
                {
                    "name": "oracleSol";
                    "docs": [
                        "CHECK"
                    ];
                }
            ];
            "args": [];
        },
        {
            "name": "rebalanceBuyStateTransitive";
            "discriminator": [
                206,
                83,
                3,
                134,
                173,
                194,
                157,
                246
            ];
            "accounts": [
                {
                    "name": "fundState";
                    "writable": true;
                },
                {
                    "name": "buyState";
                    "writable": true;
                },
                {
                    "name": "tokenList";
                },
                {
                    "name": "oracleSol";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "oracleToken";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "oracleUsdc";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "pdaAccount";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "pdaTokenAccount";
                    "writable": true;
                },
                {
                    "name": "pdaMidAccount";
                    "writable": true;
                },
                {
                    "name": "pdaUsdcAccount";
                    "writable": true;
                },
                {
                    "name": "rebalanceFeeAccount";
                    "writable": true;
                },
                {
                    "name": "tokenProgram";
                }
            ];
            "args": [
                {
                    "name": "tokenId";
                    "type": "u8";
                },
                {
                    "name": "maxAmountToUse";
                    "type": "u64";
                },
                {
                    "name": "firstInstructionEnd";
                    "type": "u8";
                },
                {
                    "name": "secondInstructionEnd";
                    "type": "u8";
                },
                {
                    "name": "firstRemainingAccountsEnd";
                    "type": "u8";
                },
                {
                    "name": "instructionData";
                    "type": {
                        "array": [
                            "u8",
                            128
                        ];
                    };
                }
            ];
        },
        {
            "name": "rebalanceSellTransitive";
            "discriminator": [
                83,
                161,
                87,
                8,
                110,
                77,
                23,
                62
            ];
            "accounts": [
                {
                    "name": "signer";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "fundState";
                    "writable": true;
                },
                {
                    "name": "tokenList";
                },
                {
                    "name": "oracleSol";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "oracleToken";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "oracleUsdc";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "pdaAccount";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "pdaTokenAccount";
                    "writable": true;
                },
                {
                    "name": "pdaUsdcAccount";
                    "writable": true;
                },
                {
                    "name": "pdaMidAccount";
                    "writable": true;
                },
                {
                    "name": "rebalanceFeeAccount";
                    "writable": true;
                },
                {
                    "name": "tokenProgram";
                }
            ];
            "args": [
                {
                    "name": "tokenId";
                    "type": "u8";
                },
                {
                    "name": "maxAmountToSell";
                    "type": "u64";
                },
                {
                    "name": "firstInstructionEnd";
                    "type": "u8";
                },
                {
                    "name": "secondInstructionEnd";
                    "type": "u8";
                },
                {
                    "name": "firstRemainingAccountsEnd";
                    "type": "u8";
                },
                {
                    "name": "instructionData";
                    "type": {
                        "array": [
                            "u8",
                            128
                        ];
                    };
                }
            ];
        },
        {
            "name": "rebalanceBuyTransitive";
            "discriminator": [
                192,
                119,
                161,
                52,
                161,
                57,
                17,
                4
            ];
            "accounts": [
                {
                    "name": "signer";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "fundState";
                    "writable": true;
                },
                {
                    "name": "tokenList";
                },
                {
                    "name": "oracleSol";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "oracleToken";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "oracleUsdc";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "pdaAccount";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "pdaTokenAccount";
                    "writable": true;
                },
                {
                    "name": "pdaUsdcAccount";
                    "writable": true;
                },
                {
                    "name": "pdaMidAccount";
                    "writable": true;
                },
                {
                    "name": "rebalanceFeeAccount";
                    "writable": true;
                },
                {
                    "name": "tokenProgram";
                }
            ];
            "args": [
                {
                    "name": "tokenId";
                    "type": "u8";
                },
                {
                    "name": "maxAmountToSpend";
                    "type": "u64";
                },
                {
                    "name": "firstInstructionEnd";
                    "type": "u8";
                },
                {
                    "name": "secondInstructionEnd";
                    "type": "u8";
                },
                {
                    "name": "firstRemainingAccountsEnd";
                    "type": "u8";
                },
                {
                    "name": "instructionData";
                    "type": {
                        "array": [
                            "u8",
                            128
                        ];
                    };
                }
            ];
        },
        {
            "name": "rebalanceBuyState";
            "discriminator": [
                166,
                154,
                51,
                71,
                63,
                4,
                7,
                1
            ];
            "accounts": [
                {
                    "name": "fundState";
                    "writable": true;
                },
                {
                    "name": "buyState";
                    "writable": true;
                },
                {
                    "name": "tokenList";
                },
                {
                    "name": "oracleSol";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "oracleToken";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "oracleUsdc";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "pdaAccount";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "pdaTokenAccount";
                    "writable": true;
                },
                {
                    "name": "pdaUsdcAccount";
                    "writable": true;
                },
                {
                    "name": "rebalanceFeeAccount";
                    "writable": true;
                },
                {
                    "name": "tokenProgram";
                }
            ];
            "args": [
                {
                    "name": "tokenId";
                    "type": "u8";
                },
                {
                    "name": "maxAmountToUse";
                    "type": "u64";
                },
                {
                    "name": "instructionSize";
                    "type": "u8";
                },
                {
                    "name": "instructionData";
                    "type": {
                        "array": [
                            "u8",
                            128
                        ];
                    };
                }
            ];
        },
        {
            "name": "rebalanceSell";
            "discriminator": [
                53,
                35,
                128,
                189,
                197,
                148,
                81,
                28
            ];
            "accounts": [
                {
                    "name": "signer";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "fundState";
                    "writable": true;
                },
                {
                    "name": "tokenList";
                },
                {
                    "name": "oracleSol";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "oracleToken";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "oracleUsdc";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "pdaAccount";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "pdaTokenAccount";
                    "writable": true;
                },
                {
                    "name": "pdaUsdcAccount";
                    "writable": true;
                },
                {
                    "name": "rebalanceFeeAccount";
                    "writable": true;
                },
                {
                    "name": "tokenProgram";
                }
            ];
            "args": [
                {
                    "name": "tokenId";
                    "type": "u8";
                },
                {
                    "name": "maxAmountToSell";
                    "type": "u64";
                },
                {
                    "name": "instructionSize";
                    "type": "u8";
                },
                {
                    "name": "instructionData";
                    "type": {
                        "array": [
                            "u8",
                            128
                        ];
                    };
                }
            ];
        },
        {
            "name": "rebalanceBuy";
            "discriminator": [
                205,
                136,
                203,
                130,
                86,
                125,
                162,
                20
            ];
            "accounts": [
                {
                    "name": "signer";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "fundState";
                    "writable": true;
                },
                {
                    "name": "tokenList";
                },
                {
                    "name": "oracleSol";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "oracleToken";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "oracleUsdc";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "pdaAccount";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "pdaTokenAccount";
                    "writable": true;
                },
                {
                    "name": "pdaUsdcAccount";
                    "writable": true;
                },
                {
                    "name": "rebalanceFeeAccount";
                    "writable": true;
                },
                {
                    "name": "tokenProgram";
                }
            ];
            "args": [
                {
                    "name": "tokenId";
                    "type": "u8";
                },
                {
                    "name": "maxAmountToSpend";
                    "type": "u64";
                },
                {
                    "name": "instructionSize";
                    "type": "u8";
                },
                {
                    "name": "instructionData";
                    "type": {
                        "array": [
                            "u8",
                            128
                        ];
                    };
                }
            ];
        },
        {
            "name": "updateTokenList";
            "discriminator": [
                58,
                208,
                96,
                231,
                40,
                122,
                12,
                190
            ];
            "accounts": [
                {
                    "name": "owner";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "tokenList";
                    "writable": true;
                },
                {
                    "name": "systemProgram";
                }
            ];
            "args": [
                {
                    "name": "index";
                    "type": "u8";
                },
                {
                    "name": "tokenMint";
                    "type": "pubkey";
                },
                {
                    "name": "decimals";
                    "type": "u8";
                },
                {
                    "name": "coingeckoId";
                    "type": {
                        "array": [
                            "u8",
                            30
                        ];
                    };
                },
                {
                    "name": "pdaTokenAccount";
                    "type": "pubkey";
                },
                {
                    "name": "oracleType";
                    "type": "u8";
                },
                {
                    "name": "oracleAccount";
                    "type": "pubkey";
                },
                {
                    "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";
            "discriminator": [
                176,
                201,
                85,
                183,
                157,
                197,
                162,
                113
            ];
            "accounts": [
                {
                    "name": "owner";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "tokenList";
                    "writable": true;
                },
                {
                    "name": "systemProgram";
                }
            ];
            "args": [
                {
                    "name": "symmetryFee";
                    "type": "u8";
                },
                {
                    "name": "hostFee";
                    "type": "u8";
                },
                {
                    "name": "managerFee";
                    "type": "u8";
                }
            ];
        },
        {
            "name": "freezeProgram";
            "discriminator": [
                197,
                134,
                244,
                37,
                49,
                38,
                23,
                79
            ];
            "accounts": [
                {
                    "name": "owner";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "tokenList";
                    "writable": true;
                },
                {
                    "name": "systemProgram";
                }
            ];
            "args": [];
        },
        {
            "name": "unfreezeProgram";
            "discriminator": [
                132,
                209,
                212,
                32,
                49,
                219,
                52,
                33
            ];
            "accounts": [
                {
                    "name": "owner";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "tokenList";
                    "writable": true;
                },
                {
                    "name": "systemProgram";
                }
            ];
            "args": [];
        },
        {
            "name": "updateDatabase";
            "discriminator": [
                85,
                153,
                200,
                159,
                33,
                197,
                46,
                77
            ];
            "accounts": [
                {
                    "name": "owner";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "database";
                    "writable": true;
                }
            ];
            "args": [
                {
                    "name": "tokenId";
                    "type": "u64";
                },
                {
                    "name": "price";
                    "type": "u64";
                },
                {
                    "name": "circulatingSupply";
                    "type": "u64";
                },
                {
                    "name": "volume";
                    "type": "u64";
                },
                {
                    "name": "timestamp";
                    "type": "u64";
                }
            ];
        },
        {
            "name": "clearDatabase";
            "discriminator": [
                3,
                215,
                185,
                177,
                43,
                253,
                204,
                10
            ];
            "accounts": [
                {
                    "name": "owner";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "database";
                    "writable": true;
                }
            ];
            "args": [
                {
                    "name": "tokenId";
                    "type": "u64";
                }
            ];
        },
        {
            "name": "updateTokenStats";
            "discriminator": [
                204,
                141,
                43,
                8,
                99,
                142,
                205,
                101
            ];
            "accounts": [
                {
                    "name": "owner";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "tokenStats";
                    "writable": true;
                },
                {
                    "name": "database";
                }
            ];
            "args": [
                {
                    "name": "startIndex";
                    "type": "u8";
                },
                {
                    "name": "endIndex";
                    "type": "u8";
                }
            ];
        },
        {
            "name": "updateTokenStatsV2";
            "discriminator": [
                176,
                137,
                40,
                199,
                138,
                237,
                183,
                238
            ];
            "accounts": [
                {
                    "name": "owner";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "tokenStats";
                    "writable": true;
                },
                {
                    "name": "database";
                }
            ];
            "args": [
                {
                    "name": "token";
                    "type": "u8";
                },
                {
                    "name": "data";
                    "type": {
                        "array": [
                            {
                                "array": [
                                    "u64",
                                    3
                                ];
                            },
                            6
                        ];
                    };
                }
            ];
        },
        {
            "name": "updateCurveData";
            "discriminator": [
                159,
                128,
                18,
                180,
                18,
                190,
                166,
                46
            ];
            "accounts": [
                {
                    "name": "owner";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "curveData";
                    "writable": true;
                }
            ];
            "args": [
                {
                    "name": "startIndex";
                    "type": "u8";
                },
                {
                    "name": "endIndex";
                    "type": "u8";
                },
                {
                    "name": "priceData";
                    "type": {
                        "array": [
                            {
                                "array": [
                                    {
                                        "array": [
                                            {
                                                "array": [
                                                    "u64",
                                                    2
                                                ];
                                            },
                                            10
                                        ];
                                    },
                                    2
                                ];
                            },
                            3
                        ];
                    };
                }
            ];
        },
        {
            "name": "initializeTokenList";
            "discriminator": [
                177,
                254,
                236,
                199,
                227,
                201,
                142,
                179
            ];
            "accounts": [
                {
                    "name": "owner";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "tokenList";
                    "writable": true;
                },
                {
                    "name": "systemProgram";
                }
            ];
            "args": [];
        },
        {
            "name": "initializeDatabase";
            "discriminator": [
                210,
                169,
                3,
                198,
                98,
                238,
                23,
                40
            ];
            "accounts": [
                {
                    "name": "owner";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "database";
                    "writable": true;
                },
                {
                    "name": "systemProgram";
                }
            ];
            "args": [];
        },
        {
            "name": "initializeTokenStats";
            "discriminator": [
                234,
                129,
                212,
                97,
                174,
                172,
                212,
                102
            ];
            "accounts": [
                {
                    "name": "owner";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "tokenStats";
                    "writable": true;
                },
                {
                    "name": "systemProgram";
                }
            ];
            "args": [];
        },
        {
            "name": "initializeCurveData";
            "discriminator": [
                123,
                246,
                28,
                169,
                14,
                102,
                111,
                189
            ];
            "accounts": [
                {
                    "name": "owner";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "curveData";
                    "writable": true;
                },
                {
                    "name": "systemProgram";
                }
            ];
            "args": [];
        },
        {
            "name": "closeDatabase";
            "discriminator": [
                103,
                169,
                4,
                1,
                13,
                77,
                6,
                153
            ];
            "accounts": [
                {
                    "name": "owner";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "database";
                    "writable": true;
                },
                {
                    "name": "systemProgram";
                }
            ];
            "args": [];
        },
        {
            "name": "closeTokenStats";
            "discriminator": [
                59,
                235,
                178,
                110,
                116,
                224,
                231,
                75
            ];
            "accounts": [
                {
                    "name": "owner";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "tokenStats";
                    "writable": true;
                },
                {
                    "name": "systemProgram";
                }
            ];
            "args": [];
        },
        {
            "name": "closeTokenList";
            "discriminator": [
                57,
                90,
                77,
                95,
                117,
                161,
                100,
                222
            ];
            "accounts": [
                {
                    "name": "owner";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "tokenList";
                    "writable": true;
                },
                {
                    "name": "systemProgram";
                }
            ];
            "args": [];
        },
        {
            "name": "closeToken";
            "discriminator": [
                26,
                74,
                236,
                151,
                104,
                64,
                183,
                249
            ];
            "accounts": [
                {
                    "name": "owner";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "pdaAccount";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "tokenAccount";
                    "writable": true;
                },
                {
                    "name": "systemProgram";
                },
                {
                    "name": "tokenProgram";
                }
            ];
            "args": [];
        },
        {
            "name": "createFundTokenMintMetadata";
            "discriminator": [
                3,
                229,
                115,
                126,
                144,
                130,
                135,
                7
            ];
            "accounts": [
                {
                    "name": "manager";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "fundToken";
                },
                {
                    "name": "fundState";
                    "writable": true;
                },
                {
                    "name": "updateAuthority";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "metadataAccount";
                    "writable": true;
                },
                {
                    "name": "metadataProgram";
                },
                {
                    "name": "systemProgram";
                },
                {
                    "name": "rent";
                }
            ];
            "args": [
                {
                    "name": "params";
                    "type": {
                        "defined": {
                            "name": "updateMetadataParams";
                        };
                    };
                }
            ];
        },
        {
            "name": "updateFundTokenMintMetadata";
            "discriminator": [
                209,
                33,
                201,
                11,
                12,
                124,
                34,
                54
            ];
            "accounts": [
                {
                    "name": "manager";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "fundToken";
                },
                {
                    "name": "fundState";
                    "writable": true;
                },
                {
                    "name": "updateAuthority";
                    "docs": [
                        "CHECK"
                    ];
                },
                {
                    "name": "metadataAccount";
                    "writable": true;
                },
                {
                    "name": "metadataProgram";
                },
                {
                    "name": "systemProgram";
                },
                {
                    "name": "rent";
                }
            ];
            "args": [
                {
                    "name": "params";
                    "type": {
                        "defined": {
                            "name": "updateMetadataParams";
                        };
                    };
                }
            ];
        }
    ];
    "accounts": [
        {
            "name": "buyState";
            "discriminator": [
                37,
                16,
                214,
                100,
                229,
                251,
                20,
                36
            ];
        },
        {
            "name": "database";
            "discriminator": [
                235,
                53,
                109,
                35,
                184,
                30,
                81,
                213
            ];
        },
        {
            "name": "fundState";
            "discriminator": [
                3,
                254,
                145,
                43,
                146,
                96,
                162,
                104
            ];
        },
        {
            "name": "prismData";
            "discriminator": [
                126,
                79,
                160,
                183,
                77,
                115,
                246,
                38
            ];
        },
        {
            "name": "tokenList";
            "discriminator": [
                145,
                167,
                153,
                173,
                5,
                187,
                157,
                150
            ];
        },
        {
            "name": "tokenStats";
            "discriminator": [
                7,
                126,
                25,
                232,
                73,
                79,
                202,
                236
            ];
        },
        {
            "name": "rebalanceState";
            "discriminator": [
                181,
                223,
                84,
                225,
                180,
                157,
                72,
                210
            ];
        }
    ];
    "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": "Transaction should be executed by basket 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": "programFrozen";
            "msg": "Program is frozen. Contact developer support.";
        },
        {
            "code": 6037;
            "name": "programIsFrozen";
            "msg": "Program is frozen by authority.";
        },
        {
            "code": 6038;
            "name": "tvlLimitReached";
            "msg": "TVL Limit reached as symmetry funds are in beta mode.";
        },
        {
            "code": 6039;
            "name": "buyLimit";
            "msg": "Max allowed contribution is limited to 5000 USDC";
        },
        {
            "code": 6040;
            "name": "pythValidSlot";
            "msg": "Pyth invalid slot";
        },
        {
            "code": 6041;
            "name": "pythStatus";
            "msg": "Pyth status should be Trading";
        },
        {
            "code": 6042;
            "name": "pythConfidence";
            "msg": "Pyth low confidence";
        },
        {
            "code": 6043;
            "name": "negativePrice";
            "msg": "Price can not be negative";
        },
        {
            "code": 6044;
            "name": "priceOverflow";
            "msg": "Pyth low confidence";
        },
        {
            "code": 6045;
            "name": "oracleNotSupported";
            "msg": "Oracle not supported";
        },
        {
            "code": 6046;
            "name": "assetPool";
            "msg": "Asset Pool shouldn't contain repeating tokens and should contain USDC";
        },
        {
            "code": 6047;
            "name": "invalidInstructionData";
            "msg": "Invalid instruction data was provided";
        },
        {
            "code": 6048;
            "name": "notAssociatedTokenAccount";
            "msg": "Fee account is not associated";
        },
        {
            "code": 6049;
            "name": "couldNotSwap";
            "msg": "Could not swap enough amount";
        },
        {
            "code": 6050;
            "name": "incorrectTokenId";
            "msg": "Incorrect token Id";
        },
        {
            "code": 6051;
            "name": "fixedRule";
            "msg": "Fixed rule should contain only 1 asset";
        },
        {
            "code": 6052;
            "name": "fundIsActive";
            "msg": "Fund is still active";
        },
        {
            "code": 6053;
            "name": "buyStateIsBeingClaimed";
            "msg": "Buy state is being claimed";
        },
        {
            "code": 6054;
            "name": "assetPoolContainsOfflineOracleToken";
            "msg": "Asset pool contains token with offline oracle status";
        },
        {
            "code": 6055;
            "name": "lpOf";
            "msg": "Liquidity Provision is disabled for one of the tokens";
        },
        {
            "code": 6056;
            "name": "swbOracleTimestamp";
            "msg": "Swb Oracle not updated in last X seconds";
        },
        {
            "code": 6057;
            "name": "rebalanceDisabled";
            "msg": "Auto Rebalance has been disabled by fund manager";
        },
        {
            "code": 6058;
            "name": "privateFund";
            "msg": "This is a private fund. Only manager can contribute";
        },
        {
            "code": 6059;
            "name": "incorrectOwner";
            "msg": "Account not owned by the program";
        },
        {
            "code": 6060;
            "name": "noPermission";
            "msg": "Change not permitted";
        },
        {
            "code": 6061;
            "name": "wrongSymbolFormat";
            "msg": "Symbol should contain 3-10 letters";
        },
        {
            "code": 6062;
            "name": "wrongNameFormat";
            "msg": "Name should contain 5-60 characters";
        },
        {
            "code": 6063;
            "name": "wrongUriFormat";
            "msg": "Metadata URI should contain 0-300 characters";
        },
        {
            "code": 6064;
            "name": "incorrectFeeDelegateAccount";
            "msg": "Provided fee account should be owned by fee-delegate/manager";
        },
        {
            "code": 6065;
            "name": "wrongProgram";
            "msg": "Symmetry Engine Program mismatch";
        },
        {
            "code": 6066;
            "name": "wrongAccount";
            "msg": "Account(s) do not match";
        },
        {
            "code": 6067;
            "name": "cannotWithdrawBeforeDeposit";
            "msg": "Cannot have multiple withdraw instructions";
        },
        {
            "code": 6068;
            "name": "noDepositInstruction";
            "msg": "Deposit instruction is missing";
        },
        {
            "code": 6069;
            "name": "zeroPrice";
            "msg": "Oracle loaded zero price";
        },
        {
            "code": 6070;
            "name": "withdrawTooLarge";
            "msg": "Withdraw request amount too large";
        }
    ];
    "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": "stats";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "days";
                        "type": "u64";
                    },
                    {
                        "name": "performance";
                        "type": "u64";
                    },
                    {
                        "name": "volume";
                        "type": "u64";
                    },
                    {
                        "name": "mcap";
                        "type": "u64";
                    }
                ];
            };
        },
        {
            "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": "tokenPriceData";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "amount";
                        "type": {
                            "array": [
                                "u64",
                                10
                            ];
                        };
                    },
                    {
                        "name": "price";
                        "type": {
                            "array": [
                                "u64",
                                10
                            ];
                        };
                    }
                ];
            };
        },
        {
            "name": "tokenSettings";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "tokenMint";
                        "type": "pubkey";
                    },
                    {
                        "name": "decimals";
                        "type": "u8";
                    },
                    {
                        "name": "coingeckoId";
                        "type": {
                            "array": [
                                "u8",
                                30
                            ];
                        };
                    },
                    {
                        "name": "pdaTokenAccount";
                        "type": "pubkey";
                    },
                    {
                        "name": "oracleType";
                        "type": "u8";
                    },
                    {
                        "name": "oracleAccount";
                        "type": "pubkey";
                    },
                    {
                        "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": "updateMetadataParams";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "name";
                        "type": "string";
                    },
                    {
                        "name": "symbol";
                        "type": "string";
                    },
                    {
                        "name": "uri";
                        "type": "string";
                    }
                ];
            };
        },
        {
            "name": "buyState";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "fund";
                        "type": "pubkey";
                    },
                    {
                        "name": "buyer";
                        "type": "pubkey";
                    },
                    {
                        "name": "fundManager";
                        "type": "pubkey";
                    },
                    {
                        "name": "hostPlatform";
                        "type": "pubkey";
                    },
                    {
                        "name": "buyerFundTokenAccount";
                        "type": "pubkey";
                    },
                    {
                        "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": "database";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "data";
                        "type": {
                            "array": [
                                {
                                    "defined": {
                                        "name": "tokenData";
                                    };
                                },
                                200
                            ];
                        };
                    },
                    {
                        "name": "numberOfTokens";
                        "type": "u64";
                    }
                ];
            };
        },
        {
            "name": "fundState";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "version";
                        "type": "u64";
                    },
                    {
                        "name": "manager";
                        "type": "pubkey";
                    },
                    {
                        "name": "fundToken";
                        "type": "pubkey";
                    },
                    {
                        "name": "managerFee";
                        "type": "u64";
                    },
                    {
                        "name": "supplyOutstanding";
                        "type": "u64";
                    },
                    {
                        "name": "activelyManaged";
                        "type": "u64";
                    },
                    {
                        "name": "activeBuyStates";
                        "type": "u64";
                    },
                    {
                        "name": "sellState";
                        "type": "u64";
                    },
                    {
                        "name": "rebalanceSellState";
                        "type": "u64";
                    },
                    {
                        "name": "hostPubkey";
                        "type": "pubkey";
                    },
                    {
                        "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": {
                                        "name": "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": "symbolLength";
                        "type": "u8";
                    },
                    {
                        "name": "symbol";
                        "type": {
                            "array": [
                                "u8",
                                10
                            ];
                        };
                    },
                    {
                        "name": "nameLength";
                        "type": "u8";
                    },
                    {
                        "name": "name";
                        "type": {
                            "array": [
                                "u8",
                                60
                            ];
                        };
                    },
                    {
                        "name": "uriLength";
                        "type": "u8";
                    },
                    {
                        "name": "uri";
                        "type": {
                            "array": [
                                "u8",
                                300
                            ];
                        };
                    },
                    {
                        "name": "feeDelegate";
                        "type": "pubkey";
                    },
                    {
                        "name": "extraBytes";
                        "type": {
                            "array": [
                                "u8",
                                362
                            ];
                        };
                    }
                ];
            };
        },
        {
            "name": "prismData";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "buy";
                        "type": {
                            "array": [
                                {
                                    "defined": {
                                        "name": "tokenPriceData";
                                    };
                                },
                                200
                            ];
                        };
                    },
                    {
                        "name": "sell";
                        "type": {
                            "array": [
                                {
                                    "defined": {
                                        "name": "tokenPriceData";
                                    };
                                },
                                200
                            ];
                        };
                    }
                ];
            };
        },
        {
            "name": "tokenList";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "numTokens";
                        "type": "u64";
                    },
                    {
                        "name": "list";
                        "type": {
                            "array": [
                                {
                                    "defined": {
                                        "name": "tokenSettings";
                                    };
                                },
                                200
                            ];
                        };
                    }
                ];
            };
        },
        {
            "name": "tokenStats";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "stats";
                        "type": {
                            "array": [
                                {
                                    "array": [
                                        {
                                            "defined": {
                                                "name": "stats";
                                            };
                                        },
                                        6
                                    ];
                                },
                                200
                            ];
                        };
                    }
                ];
            };
        },
        {
            "name": "rebalanceState";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "basketState";
                        "type": "pubkey";
                    },
                    {
                        "name": "timestamp";
                        "type": "u64";
                    },
                    {
                        "name": "fromToken";
                        "type": "u8";
                    },
                    {
                        "name": "fromAmount";
                        "type": "u64";
                    },
                    {
                        "name": "fromValue";
                        "type": "u64";
                    },
                    {
                        "name": "toToken";
                        "type": "u8";
                    },
                    {
                        "name": "signerToTokenBalance";
                        "type": "u64";
                    }
                ];
            };
        }
    ];
};
export declare const IDL: BasketsIDL;
