Files
khadhroony-bot3/idls/vault.CarrotwivhMpDnm27EHmRLeQ683Z1PufuqEmBZvD282s.carrot_defi.V0_1_0.from_solscan.json
2026-07-30 10:27:06 +02:00

4336 lines
128 KiB
JSON

{
"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"
}
]
}