{ "version": "0.1.0", "name": "carrot", "instructions": [ { "name": "initVault", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "shares", "isMut": false, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "InitVaultArgs" } } ] }, { "name": "transferVaultAuthority", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "newAuthority", "isMut": false, "isSigner": false }, { "name": "oldAuthority", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "pauseVault", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true } ], "args": [ { "name": "args", "type": { "defined": "PauseVaultArgs" } } ] }, { "name": "migrateVaultAccount", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "distributeVaultFees", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "shares", "isMut": true, "isSigner": false }, { "name": "sharesDestination", "isMut": true, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "logProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "updateFee", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true } ], "args": [ { "name": "args", "type": { "defined": "UpdateFeeArgs" } } ] }, { "name": "issue", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "shares", "isMut": true, "isSigner": false }, { "name": "userSharesAta", "isMut": true, "isSigner": false }, { "name": "asset", "isMut": false, "isSigner": false }, { "name": "vaultAssetAta", "isMut": true, "isSigner": false }, { "name": "userAssetAta", "isMut": true, "isSigner": false }, { "name": "user", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "assetTokenProgram", "isMut": false, "isSigner": false }, { "name": "sharesTokenProgram", "isMut": false, "isSigner": false }, { "name": "logProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "IssueArgs" } } ] }, { "name": "redeem", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "shares", "isMut": true, "isSigner": false }, { "name": "userSharesAta", "isMut": true, "isSigner": false }, { "name": "asset", "isMut": false, "isSigner": false }, { "name": "vaultAssetAta", "isMut": true, "isSigner": false }, { "name": "userAssetAta", "isMut": true, "isSigner": false }, { "name": "user", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "assetTokenProgram", "isMut": false, "isSigner": false }, { "name": "sharesTokenProgram", "isMut": false, "isSigner": false }, { "name": "logProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "RedeemArgs" } } ] }, { "name": "addAsset", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "vaultAssetAta", "isMut": true, "isSigner": false }, { "name": "assetMint", "isMut": false, "isSigner": false }, { "name": "assetOracle", "isMut": false, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "updateAsset", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true } ], "args": [ { "name": "args", "type": { "defined": "UpdateAssetArgs" } } ] }, { "name": "removeAsset", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "asset", "isMut": false, "isSigner": false }, { "name": "vaultAssetAta", "isMut": true, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "removeStrategy", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "updateStrategy", "accounts": [ { "name": "vault", "isMut": false, "isSigner": false }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "UpdateStrategyArgs" } } ] }, { "name": "marginfiSupplyStrategyInit", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "assetMint", "isMut": false, "isSigner": false }, { "name": "marginfiGroup", "isMut": false, "isSigner": false }, { "name": "marginfiAccount", "isMut": true, "isSigner": true }, { "name": "marginfiBank", "isMut": false, "isSigner": false }, { "name": "marginfiBankLiquidityVault", "isMut": false, "isSigner": false }, { "name": "marginfiBankLiquidityVaultAuthority", "isMut": false, "isSigner": false }, { "name": "marginfiOracle", "isMut": false, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "marginfiProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "MarginfiSupplyStrategyInitArgs" } } ] }, { "name": "marginfiSupplyStrategyDeposit", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "assetMint", "isMut": false, "isSigner": false }, { "name": "vaultAssetAta", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": false, "isSigner": false }, { "name": "marginfiGroup", "isMut": false, "isSigner": false }, { "name": "marginfiAccount", "isMut": true, "isSigner": false }, { "name": "marginfiBank", "isMut": true, "isSigner": false }, { "name": "marginfiBankLiquidityVault", "isMut": true, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "marginfiProgram", "isMut": false, "isSigner": false }, { "name": "logProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "MarginfiSupplyStrategyDepositArgs" } } ] }, { "name": "marginfiSupplyStrategyWithdraw", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "assetMint", "isMut": false, "isSigner": false }, { "name": "vaultAssetAta", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": false, "isSigner": false }, { "name": "marginfiGroup", "isMut": false, "isSigner": false }, { "name": "marginfiAccount", "isMut": true, "isSigner": false }, { "name": "marginfiBank", "isMut": true, "isSigner": false }, { "name": "marginfiBankLiquidityVault", "isMut": true, "isSigner": false }, { "name": "marginfiBankLiquidityVaultAuthority", "isMut": true, "isSigner": false }, { "name": "marginfiOracle", "isMut": false, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "marginfiProgram", "isMut": false, "isSigner": false }, { "name": "logProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "MarginfiSupplyStrategyWithdrawArgs" } } ] }, { "name": "marginfiSupplyStrategyClaimEmissions", "accounts": [ { "name": "vault", "isMut": false, "isSigner": false }, { "name": "assetMint", "isMut": false, "isSigner": false }, { "name": "vaultAssetAta", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": false, "isSigner": false }, { "name": "marginfiGroup", "isMut": false, "isSigner": false }, { "name": "marginfiAccount", "isMut": true, "isSigner": false }, { "name": "marginfiBank", "isMut": true, "isSigner": false }, { "name": "marginfiEmissionsVault", "isMut": true, "isSigner": false }, { "name": "marginfiEmissionsAuth", "isMut": false, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "marginfiProgram", "isMut": false, "isSigner": false }, { "name": "logProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "klendSupplyStrategyInit", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "assetMint", "isMut": false, "isSigner": false }, { "name": "assetPythOracle", "isMut": true, "isSigner": false }, { "name": "scopePrices", "isMut": true, "isSigner": false }, { "name": "userMetadata", "isMut": true, "isSigner": false }, { "name": "obligation", "isMut": true, "isSigner": false }, { "name": "obligationFarm", "isMut": true, "isSigner": false }, { "name": "lendingMarket", "isMut": true, "isSigner": false }, { "name": "lendingMarketAuthority", "isMut": true, "isSigner": false }, { "name": "reserve", "isMut": true, "isSigner": false }, { "name": "reserveCollateralMint", "isMut": false, "isSigner": false }, { "name": "reserveLiquiditySupply", "isMut": false, "isSigner": false }, { "name": "reserveDestinationDepositCollateral", "isMut": false, "isSigner": false }, { "name": "reserveFarmState", "isMut": true, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "klendProgram", "isMut": false, "isSigner": false }, { "name": "kfarmsProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "KlendSupplyStrategyInitArgs" } } ] }, { "name": "klendSupplyStrategyDeposit", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "assetMint", "isMut": true, "isSigner": false }, { "name": "vaultAssetAta", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": false, "isSigner": false }, { "name": "reserve", "isMut": true, "isSigner": false }, { "name": "reserveLiquiditySupply", "isMut": true, "isSigner": false }, { "name": "reserveCollateralMint", "isMut": true, "isSigner": false }, { "name": "reserveDestinationDepositCollateral", "isMut": true, "isSigner": false }, { "name": "vaultCollateralAta", "isMut": true, "isSigner": false }, { "name": "lendingMarket", "isMut": false, "isSigner": false }, { "name": "lendingMarketAuthority", "isMut": true, "isSigner": false }, { "name": "oracle", "isMut": false, "isSigner": false }, { "name": "scopePrices", "isMut": false, "isSigner": false }, { "name": "obligation", "isMut": true, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "instructionsSysvar", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "collateralTokenProgram", "isMut": false, "isSigner": false }, { "name": "assetTokenProgram", "isMut": false, "isSigner": false }, { "name": "klendProgram", "isMut": false, "isSigner": false }, { "name": "kfarmsProgram", "isMut": false, "isSigner": false }, { "name": "logProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "KlendSupplyStrategyDepositArgs" } } ] }, { "name": "klendSupplyStrategyWithdraw", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "assetMint", "isMut": true, "isSigner": false }, { "name": "vaultAssetAta", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": false, "isSigner": false }, { "name": "reserve", "isMut": true, "isSigner": false }, { "name": "reserveLiquiditySupply", "isMut": true, "isSigner": false }, { "name": "reserveCollateralMint", "isMut": true, "isSigner": false }, { "name": "reserveDestinationDepositCollateral", "isMut": true, "isSigner": false }, { "name": "vaultCollateralAta", "isMut": true, "isSigner": false }, { "name": "lendingMarket", "isMut": false, "isSigner": false }, { "name": "lendingMarketAuthority", "isMut": true, "isSigner": false }, { "name": "oracle", "isMut": false, "isSigner": false }, { "name": "scopePrices", "isMut": false, "isSigner": false }, { "name": "obligation", "isMut": true, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "instructionsSysvar", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "collateralTokenProgram", "isMut": false, "isSigner": false }, { "name": "assetTokenProgram", "isMut": false, "isSigner": false }, { "name": "klendProgram", "isMut": false, "isSigner": false }, { "name": "kfarmsProgram", "isMut": false, "isSigner": false }, { "name": "logProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "KlendSupplyStrategyWithdrawArgs" } } ] }, { "name": "klendSupplyStrategyClaimEmissions", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "assetMint", "isMut": false, "isSigner": false }, { "name": "vaultAssetAta", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": false, "isSigner": false }, { "name": "scopePrices", "isMut": false, "isSigner": false }, { "name": "userState", "isMut": true, "isSigner": false }, { "name": "farmState", "isMut": true, "isSigner": false }, { "name": "kfarmsGlobalConfig", "isMut": false, "isSigner": false }, { "name": "kfarmsVaultsAuthority", "isMut": false, "isSigner": false }, { "name": "kfarmsRewardsVault", "isMut": true, "isSigner": false }, { "name": "kfarmsRewardsTreasuryVault", "isMut": true, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "kfarmsProgram", "isMut": false, "isSigner": false }, { "name": "logProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "solendSupplyStrategyInit", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "assetMint", "isMut": false, "isSigner": false }, { "name": "assetPythOracle", "isMut": false, "isSigner": false }, { "name": "assetSwitchboardOracle", "isMut": false, "isSigner": false }, { "name": "obligation", "isMut": true, "isSigner": false }, { "name": "lendingMarket", "isMut": false, "isSigner": false }, { "name": "lendingMarketAuthority", "isMut": false, "isSigner": false }, { "name": "reserve", "isMut": false, "isSigner": false }, { "name": "reserveCollateralMint", "isMut": false, "isSigner": false }, { "name": "reserveLiquiditySupply", "isMut": false, "isSigner": false }, { "name": "reserveDepositCollateralAta", "isMut": false, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "solendProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "SolendSupplyStrategyInitArgs" } } ] }, { "name": "solendSupplyStrategyDeposit", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "assetMint", "isMut": false, "isSigner": false }, { "name": "vaultAssetAta", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": false, "isSigner": false }, { "name": "assetPythOracle", "isMut": false, "isSigner": false }, { "name": "assetSwitchboardOracle", "isMut": false, "isSigner": false }, { "name": "obligation", "isMut": true, "isSigner": false }, { "name": "lendingMarket", "isMut": true, "isSigner": false }, { "name": "lendingMarketAuthority", "isMut": false, "isSigner": false }, { "name": "reserve", "isMut": true, "isSigner": false }, { "name": "reserveLiquiditySupply", "isMut": true, "isSigner": false }, { "name": "reserveCollateralMint", "isMut": true, "isSigner": false }, { "name": "vaultCollateralAta", "isMut": true, "isSigner": false }, { "name": "depositCollateralAta", "isMut": true, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "solendProgram", "isMut": false, "isSigner": false }, { "name": "logProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "SolendSupplyStrategyDepositArgs" } } ] }, { "name": "solendSupplyStrategyWithdraw", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "assetMint", "isMut": false, "isSigner": false }, { "name": "vaultAssetAta", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": false, "isSigner": false }, { "name": "assetPythOracle", "isMut": false, "isSigner": false }, { "name": "assetSwitchboardOracle", "isMut": false, "isSigner": false }, { "name": "obligation", "isMut": true, "isSigner": false }, { "name": "lendingMarket", "isMut": true, "isSigner": false }, { "name": "lendingMarketAuthority", "isMut": false, "isSigner": false }, { "name": "reserve", "isMut": true, "isSigner": false }, { "name": "reserveLiquiditySupply", "isMut": true, "isSigner": false }, { "name": "reserveCollateralMint", "isMut": true, "isSigner": false }, { "name": "vaultCollateralAta", "isMut": true, "isSigner": false }, { "name": "withdrawCollateralAta", "isMut": true, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "solendProgram", "isMut": false, "isSigner": false }, { "name": "logProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "SolendSupplyStrategyWithdrawArgs" } } ] }, { "name": "mangoSupplyStrategyInit", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "assetMint", "isMut": false, "isSigner": false }, { "name": "mangoGroup", "isMut": false, "isSigner": false }, { "name": "mangoAccount", "isMut": true, "isSigner": false }, { "name": "mangoBank", "isMut": false, "isSigner": false }, { "name": "mangoVault", "isMut": false, "isSigner": false }, { "name": "pythOracle", "isMut": false, "isSigner": false }, { "name": "switchboardOracle", "isMut": false, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "mangoProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "MangoSupplyStrategyInitArgs" } } ] }, { "name": "mangoSupplyStrategyDeposit", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "assetMint", "isMut": false, "isSigner": false }, { "name": "vaultAssetAta", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": false, "isSigner": false }, { "name": "mangoGroup", "isMut": false, "isSigner": false }, { "name": "mangoAccount", "isMut": true, "isSigner": false }, { "name": "mangoBank", "isMut": true, "isSigner": false }, { "name": "mangoVault", "isMut": true, "isSigner": false }, { "name": "pythOracle", "isMut": false, "isSigner": false }, { "name": "switchboardOracle", "isMut": false, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "mangoProgram", "isMut": false, "isSigner": false }, { "name": "logProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "MangoSupplyStrategyDepositArgs" } } ] }, { "name": "mangoSupplyStrategyWithdraw", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "assetMint", "isMut": false, "isSigner": false }, { "name": "vaultAssetAta", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": false, "isSigner": false }, { "name": "mangoGroup", "isMut": false, "isSigner": false }, { "name": "mangoAccount", "isMut": true, "isSigner": false }, { "name": "mangoBank", "isMut": true, "isSigner": false }, { "name": "mangoVault", "isMut": true, "isSigner": false }, { "name": "pythOracle", "isMut": false, "isSigner": false }, { "name": "switchboardOracle", "isMut": false, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "mangoProgram", "isMut": false, "isSigner": false }, { "name": "logProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "MangoSupplyStrategyWithdrawArgs" } } ] }, { "name": "driftSupplyStrategyInit", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "assetMint", "isMut": false, "isSigner": false }, { "name": "driftUser", "isMut": true, "isSigner": false }, { "name": "driftUserStats", "isMut": true, "isSigner": false }, { "name": "driftState", "isMut": true, "isSigner": false }, { "name": "driftSigner", "isMut": false, "isSigner": false }, { "name": "driftSpotMarket", "isMut": false, "isSigner": false }, { "name": "driftPerpMarket", "isMut": false, "isSigner": false }, { "name": "driftSpotMarketVault", "isMut": false, "isSigner": false }, { "name": "spotPythOracle", "isMut": false, "isSigner": false }, { "name": "perpPythOracle", "isMut": false, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "driftProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "DriftSupplyStrategyInitArgs" } } ] }, { "name": "driftSupplyStrategyDeposit", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "assetMint", "isMut": false, "isSigner": false }, { "name": "vaultAssetAta", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": false, "isSigner": false }, { "name": "driftUser", "isMut": true, "isSigner": false }, { "name": "driftUserStats", "isMut": true, "isSigner": false }, { "name": "driftState", "isMut": true, "isSigner": false }, { "name": "driftSpotMarket", "isMut": true, "isSigner": false }, { "name": "driftSpotMarketVault", "isMut": true, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "driftProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "logProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "DriftSupplyStrategyDepositArgs" } } ] }, { "name": "driftSupplyStrategyWithdraw", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "assetMint", "isMut": false, "isSigner": false }, { "name": "vaultAssetAta", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": false, "isSigner": false }, { "name": "driftUser", "isMut": true, "isSigner": false }, { "name": "driftUserStats", "isMut": true, "isSigner": false }, { "name": "driftState", "isMut": true, "isSigner": false }, { "name": "driftSpotMarketVault", "isMut": true, "isSigner": false }, { "name": "driftSpotMarket", "isMut": true, "isSigner": false }, { "name": "driftSigner", "isMut": false, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "driftProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "logProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "DriftSupplyStrategyWithdrawArgs" } } ] }, { "name": "driftInsuranceFundStrategyInit", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "assetMint", "isMut": false, "isSigner": false }, { "name": "driftUserStats", "isMut": true, "isSigner": false }, { "name": "driftSpotMarket", "isMut": true, "isSigner": false }, { "name": "driftSpotMarketVault", "isMut": false, "isSigner": false }, { "name": "driftState", "isMut": true, "isSigner": false }, { "name": "driftInsuranceFundStake", "isMut": true, "isSigner": false }, { "name": "driftInsuranceFundVault", "isMut": false, "isSigner": false }, { "name": "driftSigner", "isMut": true, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "driftProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "DriftInsuranceFundStrategyInitArgs" } } ] }, { "name": "driftInsuranceFundStrategyStake", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "assetMint", "isMut": false, "isSigner": false }, { "name": "vaultAssetAta", "isMut": true, "isSigner": false }, { "name": "driftUserStats", "isMut": true, "isSigner": false }, { "name": "driftSpotMarket", "isMut": true, "isSigner": false }, { "name": "driftSpotMarketVault", "isMut": true, "isSigner": false }, { "name": "driftState", "isMut": false, "isSigner": false }, { "name": "driftInsuranceFundStake", "isMut": true, "isSigner": false }, { "name": "driftInsuranceFundVault", "isMut": true, "isSigner": false }, { "name": "driftSigner", "isMut": true, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "driftProgram", "isMut": false, "isSigner": false }, { "name": "logProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "DriftInsuranceFundStrategyStakeArgs" } } ] }, { "name": "driftInsuranceFundStrategyUnstake", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": false, "isSigner": false }, { "name": "driftUserStats", "isMut": true, "isSigner": false }, { "name": "driftSpotMarket", "isMut": true, "isSigner": false }, { "name": "driftInsuranceFundStake", "isMut": true, "isSigner": false }, { "name": "driftInsuranceFundVault", "isMut": true, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "driftProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "DriftInsuranceFundStrategyUnstakeArgs" } } ] }, { "name": "driftInsuranceFundStrategyWithdraw", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "assetMint", "isMut": false, "isSigner": false }, { "name": "vaultAssetAta", "isMut": true, "isSigner": false }, { "name": "driftUserStats", "isMut": true, "isSigner": false }, { "name": "driftSpotMarket", "isMut": true, "isSigner": false }, { "name": "driftState", "isMut": false, "isSigner": false }, { "name": "driftInsuranceFundStake", "isMut": true, "isSigner": false }, { "name": "driftInsuranceFundVault", "isMut": true, "isSigner": false }, { "name": "driftSigner", "isMut": true, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "driftProgram", "isMut": false, "isSigner": false }, { "name": "logProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "clendSupplyStrategyInit", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "assetMint", "isMut": false, "isSigner": false }, { "name": "clendGroup", "isMut": false, "isSigner": false }, { "name": "clendAccount", "isMut": true, "isSigner": true }, { "name": "clendBank", "isMut": false, "isSigner": false }, { "name": "clendBankLiquidityVault", "isMut": false, "isSigner": false }, { "name": "clendBankLiquidityVaultAuthority", "isMut": false, "isSigner": false }, { "name": "clendOracle", "isMut": false, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "clendProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "ClendSupplyStrategyInitArgs" } } ] }, { "name": "clendSupplyStrategyDeposit", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "assetMint", "isMut": false, "isSigner": false }, { "name": "vaultAssetAta", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": false, "isSigner": false }, { "name": "clendGroup", "isMut": false, "isSigner": false }, { "name": "clendAccount", "isMut": true, "isSigner": false }, { "name": "clendBank", "isMut": true, "isSigner": false }, { "name": "clendBankLiquidityVault", "isMut": true, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "clendProgram", "isMut": false, "isSigner": false }, { "name": "logProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "ClendSupplyStrategyDepositArgs" } } ] }, { "name": "clendSupplyStrategyWithdraw", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "assetMint", "isMut": false, "isSigner": false }, { "name": "vaultAssetAta", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": false, "isSigner": false }, { "name": "clendGroup", "isMut": false, "isSigner": false }, { "name": "clendAccount", "isMut": true, "isSigner": false }, { "name": "clendBank", "isMut": true, "isSigner": false }, { "name": "clendBankLiquidityVault", "isMut": true, "isSigner": false }, { "name": "clendBankLiquidityVaultAuthority", "isMut": true, "isSigner": false }, { "name": "clendOracle", "isMut": false, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "clendProgram", "isMut": false, "isSigner": false }, { "name": "logProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "ClendSupplyStrategyWithdrawArgs" } } ] }, { "name": "chestStrategyInit", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "assetMint", "isMut": false, "isSigner": false }, { "name": "assetTokenAccount", "isMut": false, "isSigner": false }, { "name": "chest", "isMut": false, "isSigner": false }, { "name": "coinTokenAccount", "isMut": false, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "ChestStrategyInitArgs" } } ] }, { "name": "chestStrategyDeposit", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "assetMint", "isMut": false, "isSigner": false }, { "name": "chest", "isMut": true, "isSigner": false }, { "name": "coin", "isMut": true, "isSigner": false }, { "name": "chestAssetReserve", "isMut": true, "isSigner": false }, { "name": "driftVault", "isMut": true, "isSigner": false }, { "name": "driftVaultDepositor", "isMut": true, "isSigner": false }, { "name": "driftVaultTokenAccount", "isMut": true, "isSigner": false }, { "name": "driftUser", "isMut": true, "isSigner": false }, { "name": "driftUserStats", "isMut": true, "isSigner": false }, { "name": "driftSpotMarket", "isMut": true, "isSigner": false }, { "name": "driftSpotMarketVault", "isMut": true, "isSigner": false }, { "name": "driftState", "isMut": true, "isSigner": false }, { "name": "vaultAssetTokenAccount", "isMut": true, "isSigner": false }, { "name": "vaultCoinTokenAccount", "isMut": true, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "chestProgram", "isMut": false, "isSigner": false }, { "name": "driftProgram", "isMut": false, "isSigner": false }, { "name": "driftVaultsProgram", "isMut": false, "isSigner": false }, { "name": "logProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "ChestStrategyDepositArgs" } } ] }, { "name": "chestStrategyRequestWithdraw", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "assetMint", "isMut": false, "isSigner": false }, { "name": "chest", "isMut": true, "isSigner": false }, { "name": "coin", "isMut": true, "isSigner": false }, { "name": "chestCoinReserve", "isMut": true, "isSigner": false }, { "name": "redemptionRequest", "isMut": true, "isSigner": false }, { "name": "driftVault", "isMut": true, "isSigner": false }, { "name": "driftVaultDepositor", "isMut": true, "isSigner": false }, { "name": "driftUser", "isMut": true, "isSigner": false }, { "name": "assetDestination", "isMut": false, "isSigner": false }, { "name": "vaultCoinTokenAccount", "isMut": true, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "chestProgram", "isMut": false, "isSigner": false }, { "name": "logProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "ChestStrategyRequestWithdrawArgs" } } ] }, { "name": "chestStrategyWithdraw", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "assetMint", "isMut": false, "isSigner": false }, { "name": "vaultAssetAta", "isMut": true, "isSigner": false }, { "name": "strategyAssetTokenAccount", "isMut": true, "isSigner": false }, { "name": "chest", "isMut": true, "isSigner": false }, { "name": "chestRedemptionRequest", "isMut": false, "isSigner": false }, { "name": "coin", "isMut": true, "isSigner": false }, { "name": "vaultCoinTokenAccount", "isMut": true, "isSigner": false }, { "name": "driftVault", "isMut": true, "isSigner": false }, { "name": "driftVaultDepositor", "isMut": true, "isSigner": false }, { "name": "driftUser", "isMut": true, "isSigner": false }, { "name": "authority", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "chestProgram", "isMut": false, "isSigner": false }, { "name": "logProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "ChestStrategyWithdrawArgs" } } ] }, { "name": "updateSwitchboardOraclePrice", "accounts": [ { "name": "vault", "isMut": true, "isSigner": false }, { "name": "shares", "isMut": false, "isSigner": false }, { "name": "feed", "isMut": true, "isSigner": false }, { "name": "queue", "isMut": false, "isSigner": false }, { "name": "programState", "isMut": false, "isSigner": false }, { "name": "recentSlothashes", "isMut": false, "isSigner": false }, { "name": "rewardVault", "isMut": true, "isSigner": false }, { "name": "tokenMint", "isMut": false, "isSigner": false }, { "name": "switchboardOnDemandProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "logProgram", "isMut": false, "isSigner": false } ], "args": [] } ], "accounts": [ { "name": "Vault", "type": { "kind": "struct", "fields": [ { "name": "authority", "type": "publicKey" }, { "name": "shares", "type": "publicKey" }, { "name": "fee", "type": { "defined": "Fee" } }, { "name": "paused", "type": "bool" }, { "name": "assetIndex", "type": "u16" }, { "name": "strategyIndex", "type": "u16" }, { "name": "assets", "type": { "vec": { "defined": "Asset" } } }, { "name": "strategies", "type": { "vec": { "defined": "StrategyRecord" } } } ] } }, { "name": "Strategy", "type": { "kind": "struct", "fields": [ { "name": "metadata", "type": { "defined": "StrategyMetadata" } }, { "name": "strategyType", "type": { "defined": "StrategyType" } } ] } } ], "types": [ { "name": "ChestStrategyDepositArgs", "type": { "kind": "struct", "fields": [ { "name": "amount", "type": "u64" }, { "name": "failOnLowBalance", "type": "bool" }, { "name": "preserveRecordedBalance", "type": "bool" } ] } }, { "name": "ChestStrategyInitArgs", "type": { "kind": "struct", "fields": [ { "name": "name", "type": "string" } ] } }, { "name": "ChestStrategyRequestWithdrawArgs", "type": { "kind": "struct", "fields": [ { "name": "assetAmount", "type": "u64" } ] } }, { "name": "ChestStrategyWithdrawArgs", "type": { "kind": "struct", "fields": [ { "name": "failOnLowBalance", "type": "bool" }, { "name": "preserveRecordedBalance", "type": "bool" } ] } }, { "name": "ClendSupplyStrategyDepositArgs", "type": { "kind": "struct", "fields": [ { "name": "amount", "type": "u64" } ] } }, { "name": "ClendSupplyStrategyInitArgs", "type": { "kind": "struct", "fields": [ { "name": "name", "type": "string" } ] } }, { "name": "ClendSupplyStrategyWithdrawArgs", "type": { "kind": "struct", "fields": [ { "name": "amount", "type": "u64" } ] } }, { "name": "DriftInsuranceFundStrategyInitArgs", "type": { "kind": "struct", "fields": [ { "name": "name", "type": "string" }, { "name": "driftMarketIndex", "type": "u16" } ] } }, { "name": "DriftInsuranceFundStrategyStakeArgs", "type": { "kind": "struct", "fields": [ { "name": "amount", "type": "u64" } ] } }, { "name": "DriftInsuranceFundStrategyUnstakeArgs", "type": { "kind": "struct", "fields": [ { "name": "amount", "type": "u64" } ] } }, { "name": "DriftSupplyStrategyDepositArgs", "type": { "kind": "struct", "fields": [ { "name": "amount", "type": "u64" } ] } }, { "name": "DriftSupplyStrategyInitArgs", "type": { "kind": "struct", "fields": [ { "name": "name", "type": "string" }, { "name": "driftSubAccountId", "type": "u16" }, { "name": "driftMarketIndex", "type": "u16" } ] } }, { "name": "DriftSupplyStrategyWithdrawArgs", "type": { "kind": "struct", "fields": [ { "name": "amount", "type": "u64" } ] } }, { "name": "InitVaultArgs", "type": { "kind": "struct", "fields": [ { "name": "redemptionFeeBps", "type": "u16" }, { "name": "managementFeeBps", "type": "u16" }, { "name": "performanceFeeBps", "type": "u16" } ] } }, { "name": "IssueArgs", "type": { "kind": "struct", "fields": [ { "name": "amount", "type": "u64" } ] } }, { "name": "KlendSupplyStrategyDepositArgs", "type": { "kind": "struct", "fields": [ { "name": "amount", "type": "u64" } ] } }, { "name": "KlendSupplyStrategyInitArgs", "type": { "kind": "struct", "fields": [ { "name": "name", "type": "string" } ] } }, { "name": "KlendSupplyStrategyWithdrawArgs", "type": { "kind": "struct", "fields": [ { "name": "amount", "type": "u64" } ] } }, { "name": "MangoSupplyStrategyDepositArgs", "type": { "kind": "struct", "fields": [ { "name": "amount", "type": "u64" } ] } }, { "name": "MangoSupplyStrategyInitArgs", "type": { "kind": "struct", "fields": [ { "name": "name", "type": "string" } ] } }, { "name": "MangoSupplyStrategyWithdrawArgs", "type": { "kind": "struct", "fields": [ { "name": "amount", "type": "u64" } ] } }, { "name": "MarginfiSupplyStrategyDepositArgs", "type": { "kind": "struct", "fields": [ { "name": "amount", "type": "u64" } ] } }, { "name": "MarginfiSupplyStrategyInitArgs", "type": { "kind": "struct", "fields": [ { "name": "name", "type": "string" } ] } }, { "name": "MarginfiSupplyStrategyWithdrawArgs", "type": { "kind": "struct", "fields": [ { "name": "amount", "type": "u64" } ] } }, { "name": "PauseVaultArgs", "type": { "kind": "struct", "fields": [ { "name": "paused", "type": "bool" } ] } }, { "name": "RedeemArgs", "type": { "kind": "struct", "fields": [ { "name": "amount", "type": "u64" } ] } }, { "name": "SolendSupplyStrategyDepositArgs", "type": { "kind": "struct", "fields": [ { "name": "amount", "type": "u64" } ] } }, { "name": "SolendSupplyStrategyInitArgs", "type": { "kind": "struct", "fields": [ { "name": "name", "type": "string" } ] } }, { "name": "SolendSupplyStrategyWithdrawArgs", "type": { "kind": "struct", "fields": [ { "name": "amount", "type": "u64" } ] } }, { "name": "UpdateAssetArgs", "type": { "kind": "struct", "fields": [ { "name": "assetId", "type": "u16" }, { "name": "assetNewOracle", "type": "publicKey" } ] } }, { "name": "UpdateFeeArgs", "type": { "kind": "struct", "fields": [ { "name": "newRedemptionFeeBps", "type": { "option": "u16" } }, { "name": "newManagementFeeBps", "type": { "option": "u16" } }, { "name": "newPerformanceFeeBps", "type": { "option": "u16" } } ] } }, { "name": "UpdateStrategyArgs", "type": { "kind": "struct", "fields": [ { "name": "newStrategyType", "type": { "defined": "StrategyType" } } ] } }, { "name": "Asset", "type": { "kind": "struct", "fields": [ { "name": "assetId", "type": "u16" }, { "name": "mint", "type": "publicKey" }, { "name": "decimals", "type": "u8" }, { "name": "ata", "type": "publicKey" }, { "name": "oracle", "type": "publicKey" } ] } }, { "name": "StrategyRecord", "type": { "kind": "struct", "fields": [ { "name": "strategyId", "type": "u16" }, { "name": "assetId", "type": "u16" }, { "name": "balance", "type": "u64" }, { "name": "netEarnings", "type": "i64" } ] } }, { "name": "StrategyMetadata", "type": { "kind": "struct", "fields": [ { "name": "name", "type": "string" }, { "name": "strategyId", "type": "u16" }, { "name": "assetMint", "type": "publicKey" }, { "name": "vault", "type": "publicKey" } ] } }, { "name": "Fee", "type": { "kind": "struct", "fields": [ { "name": "redemptionFeeBps", "type": "u16" }, { "name": "redemptionFeeAccumulated", "type": "u64" }, { "name": "managementFeeBps", "type": "u16" }, { "name": "managementFeeLastUpdate", "type": "i64" }, { "name": "managementFeeAccumulated", "type": "u64" }, { "name": "performanceFeeBps", "type": "u16" } ] } }, { "name": "IssueEvent", "type": { "kind": "struct", "fields": [ { "name": "depositor", "type": "publicKey" }, { "name": "mint", "type": "publicKey" }, { "name": "amount", "type": "u64" }, { "name": "sharesMinted", "type": "u64" }, { "name": "managementFee", "type": "u64" }, { "name": "tvl", "type": "u128" } ] } }, { "name": "RedeemEvent", "type": { "kind": "struct", "fields": [ { "name": "withdrawer", "type": "publicKey" }, { "name": "mint", "type": "publicKey" }, { "name": "amount", "type": "u64" }, { "name": "sharesBurned", "type": "u64" }, { "name": "redemptionFee", "type": "u64" }, { "name": "managementFee", "type": "u64" }, { "name": "tvl", "type": "u128" } ] } }, { "name": "StrategyDepositEvent", "type": { "kind": "struct", "fields": [ { "name": "strategy", "type": "publicKey" }, { "name": "mint", "type": "publicKey" }, { "name": "depositAmount", "type": "u64" }, { "name": "netEarnings", "type": "i64" }, { "name": "strategyBalance", "type": "u64" } ] } }, { "name": "StrategyWithdrawEvent", "type": { "kind": "struct", "fields": [ { "name": "strategy", "type": "publicKey" }, { "name": "mint", "type": "publicKey" }, { "name": "withdrawAmount", "type": "u64" }, { "name": "netEarnings", "type": "i64" }, { "name": "strategyBalance", "type": "u64" } ] } }, { "name": "StrategyClaimEmissionsEvent", "type": { "kind": "struct", "fields": [ { "name": "strategy", "type": "publicKey" }, { "name": "mint", "type": "publicKey" } ] } }, { "name": "DistributeVaultFeesEvent", "type": { "kind": "struct", "fields": [ { "name": "managementFeeAmountDistributed", "type": "u64" }, { "name": "performanceFeeAmountDistributed", "type": "u64" }, { "name": "redemptionFeeAmountDistributed", "type": "u64" } ] } }, { "name": "UpdateSwitchboardOraclePriceEvent", "type": { "kind": "struct", "fields": [ { "name": "vaultNav", "type": "i128" }, { "name": "vaultTvl", "type": "u128" }, { "name": "sharesSupply", "type": "u64" } ] } }, { "name": "StrategyType", "type": { "kind": "enum", "variants": [ { "name": "MarginfiSupply", "fields": [ { "name": "account", "type": "publicKey" }, { "name": "group", "type": "publicKey" }, { "name": "bank", "type": "publicKey" }, { "name": "bankLiquidityVault", "type": "publicKey" }, { "name": "bankLiquidityVaultAuthority", "type": "publicKey" }, { "name": "oracle", "type": "publicKey" } ] }, { "name": "KlendSupply", "fields": [ { "name": "reserve", "type": "publicKey" }, { "name": "reserveCollateralMint", "type": "publicKey" }, { "name": "reserveLiquiditySupply", "type": "publicKey" }, { "name": "reserveDestinationDepositCollateral", "type": "publicKey" }, { "name": "reserveFarmState", "type": "publicKey" }, { "name": "lendingMarket", "type": "publicKey" }, { "name": "oracle", "type": "publicKey" }, { "name": "scopePrices", "type": "publicKey" } ] }, { "name": "SolendSupply", "fields": [ { "name": "reserve", "type": "publicKey" }, { "name": "reserveCollateralMint", "type": "publicKey" }, { "name": "reserveLiquiditySupply", "type": "publicKey" }, { "name": "depositCollateralAta", "type": "publicKey" }, { "name": "lendingMarket", "type": "publicKey" }, { "name": "lendingMarketAuthority", "type": "publicKey" }, { "name": "pythOracle", "type": "publicKey" }, { "name": "switchboardOracle", "type": "publicKey" } ] }, { "name": "MangoSupply", "fields": [ { "name": "group", "type": "publicKey" }, { "name": "account", "type": "publicKey" }, { "name": "bank", "type": "publicKey" }, { "name": "vault", "type": "publicKey" }, { "name": "pythOracle", "type": "publicKey" }, { "name": "switchboardOracle", "type": "publicKey" } ] }, { "name": "DriftSupply", "fields": [ { "name": "state", "type": "publicKey" }, { "name": "signer", "type": "publicKey" }, { "name": "spotMarket", "type": "publicKey" }, { "name": "spotMarketVault", "type": "publicKey" }, { "name": "perpMarket", "type": "publicKey" }, { "name": "spotPythOracle", "type": "publicKey" }, { "name": "perpPythOracle", "type": "publicKey" }, { "name": "subAccountId", "type": "u16" }, { "name": "marketIndex", "type": "u16" } ] }, { "name": "DriftInsuranceFund", "fields": [ { "name": "state", "type": "publicKey" }, { "name": "spotMarket", "type": "publicKey" }, { "name": "spotMarketVault", "type": "publicKey" }, { "name": "marketIndex", "type": "u16" } ] }, { "name": "Chest", "fields": [ { "name": "chest", "type": "publicKey" }, { "name": "coin", "type": "publicKey" }, { "name": "driftVault", "type": "publicKey" }, { "name": "coinTokenAccount", "type": "publicKey" }, { "name": "assetDestination", "type": "publicKey" }, { "name": "redemptionRequest", "type": { "option": "publicKey" } }, { "name": "spotMarketIndex", "type": "u16" } ] }, { "name": "ClendSupply", "fields": [ { "name": "account", "type": "publicKey" }, { "name": "group", "type": "publicKey" }, { "name": "bank", "type": "publicKey" }, { "name": "bankLiquidityVault", "type": "publicKey" }, { "name": "bankLiquidityVaultAuthority", "type": "publicKey" }, { "name": "oracle", "type": "publicKey" } ] } ] } }, { "name": "StrategyTypeSelection", "type": { "kind": "enum", "variants": [ { "name": "MarginfiSupply" }, { "name": "KlendSupply" }, { "name": "SolendSupply" }, { "name": "MangoSupply" }, { "name": "DriftSupply" }, { "name": "DriftInsuranceFund" }, { "name": "Chest" }, { "name": "ClendSupply" } ] } }, { "name": "CarrotEvent", "type": { "kind": "enum", "variants": [ { "name": "Issue", "fields": [ { "defined": "IssueEvent" } ] }, { "name": "Redeem", "fields": [ { "defined": "RedeemEvent" } ] }, { "name": "StrategyDeposit", "fields": [ { "defined": "StrategyDepositEvent" } ] }, { "name": "StrategyWithdraw", "fields": [ { "defined": "StrategyWithdrawEvent" } ] }, { "name": "StrategyClaimEmissions", "fields": [ { "defined": "StrategyClaimEmissionsEvent" } ] }, { "name": "DistributeVaultFees", "fields": [ { "defined": "DistributeVaultFeesEvent" } ] }, { "name": "UpdateSwitchboardOraclePrice", "fields": [ { "defined": "UpdateSwitchboardOraclePriceEvent" } ] } ] } }, { "name": "RoundingMode", "type": { "kind": "enum", "variants": [ { "name": "RoundUp" }, { "name": "RoundDown" }, { "name": "Avg" } ] } } ], "errors": [ { "code": 6000, "name": "AssetAlreadyExists", "msg": "Asset Already Exists" }, { "code": 6001, "name": "AssetNotFound", "msg": "Asset Not Found" }, { "code": 6002, "name": "OracleNotFound", "msg": "Oracle Not Found" }, { "code": 6003, "name": "OracleStalePrice", "msg": "Oracle Returned Stale Price" }, { "code": 6004, "name": "StrategyNotFound", "msg": "Strategy Not Found" }, { "code": 6005, "name": "AtaNotFound", "msg": "Ata Not Found" }, { "code": 6006, "name": "StrategyAlreadyExists", "msg": "Strategy Already Exists" }, { "code": 6007, "name": "InvalidStrategyType", "msg": "Invalid Strategy Type" }, { "code": 6008, "name": "StrategyBalanceCalculationError", "msg": "Strategy Balance Calculation Error" }, { "code": 6009, "name": "VaultIsPaused", "msg": "Vault is Paused" }, { "code": 6010, "name": "InvalidVaultAuthority", "msg": "Invalid Vault Authority" }, { "code": 6011, "name": "MigrationError", "msg": "Account Migration Error" }, { "code": 6012, "name": "InvalidPriceConf", "msg": "Invalid Price Confidence Interval" }, { "code": 6013, "name": "InvalidStrategyAccounts", "msg": "Invalid Strategy Accounts" }, { "code": 6014, "name": "StrategyNotEmpty", "msg": "Strategy Not Empty" }, { "code": 6015, "name": "AssetNotEmpty", "msg": "Asset Not Empty" }, { "code": 6016, "name": "InvalidFeeBps", "msg": "Invalid Fee Bps" }, { "code": 6017, "name": "InvalidReturnData", "msg": "Invalid Return Data" }, { "code": 6018, "name": "InvalidCoinSupply", "msg": "Invalid Coin Supply" }, { "code": 6019, "name": "InvalidNav", "msg": "Invalid NAV" }, { "code": 6020, "name": "MathError", "msg": "Math Error" }, { "code": 6021, "name": "ChestLowBalance", "msg": "Chest Low Balance" } ] }