{ "version": "0.1.0", "name": "yvaults", "instructions": [ { "name": "initializeStrategy", "accounts": [ { "name": "adminAuthority", "isMut": true, "isSigner": true }, { "name": "globalConfig", "isMut": false, "isSigner": false }, { "name": "pool", "isMut": false, "isSigner": false, "docs": [ "Program owner also checked." ] }, { "name": "tokenAMint", "isMut": false, "isSigner": false }, { "name": "tokenBMint", "isMut": false, "isSigner": false }, { "name": "tokenAVault", "isMut": true, "isSigner": false }, { "name": "tokenBVault", "isMut": true, "isSigner": false }, { "name": "baseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "sharesMint", "isMut": true, "isSigner": false }, { "name": "sharesMintAuthority", "isMut": true, "isSigner": false }, { "name": "tokenInfos", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenATokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenBTokenProgram", "isMut": false, "isSigner": false }, { "name": "strategy", "isMut": true, "isSigner": false } ], "args": [ { "name": "strategyType", "type": "u64" }, { "name": "tokenACollateralId", "type": "u64" }, { "name": "tokenBCollateralId", "type": "u64" } ] }, { "name": "initializeKaminoReward", "accounts": [ { "name": "adminAuthority", "isMut": true, "isSigner": true }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "globalConfig", "isMut": false, "isSigner": false }, { "name": "rewardMint", "isMut": false, "isSigner": false }, { "name": "rewardVault", "isMut": true, "isSigner": true }, { "name": "tokenInfos", "isMut": false, "isSigner": false }, { "name": "baseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "kaminoRewardIndex", "type": "u64" }, { "name": "collateralToken", "type": "u64" } ] }, { "name": "addKaminoRewards", "accounts": [ { "name": "adminAuthority", "isMut": true, "isSigner": true }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "rewardMint", "isMut": false, "isSigner": false }, { "name": "rewardVault", "isMut": true, "isSigner": false }, { "name": "baseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "rewardAta", "isMut": true, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "kaminoRewardIndex", "type": "u64" }, { "name": "amount", "type": "u64" } ] }, { "name": "initializeGlobalConfig", "accounts": [ { "name": "adminAuthority", "isMut": true, "isSigner": true }, { "name": "globalConfig", "isMut": true, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "initializeCollateralInfo", "accounts": [ { "name": "adminAuthority", "isMut": true, "isSigner": true }, { "name": "globalConfig", "isMut": true, "isSigner": false }, { "name": "collInfo", "isMut": true, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "updateCollateralInfo", "accounts": [ { "name": "adminAuthority", "isMut": true, "isSigner": true }, { "name": "globalConfig", "isMut": false, "isSigner": false }, { "name": "tokenInfos", "isMut": true, "isSigner": false } ], "args": [ { "name": "index", "type": "u64" }, { "name": "mode", "type": "u64" }, { "name": "value", "type": { "array": [ "u8", 32 ] } } ] }, { "name": "insertCollateralInfo", "accounts": [ { "name": "adminAuthority", "isMut": true, "isSigner": true }, { "name": "globalConfig", "isMut": false, "isSigner": false }, { "name": "tokenInfos", "isMut": true, "isSigner": false } ], "args": [ { "name": "index", "type": "u64" }, { "name": "params", "type": { "defined": "CollateralInfoParams" } } ] }, { "name": "initializeSharesMetadata", "accounts": [ { "name": "adminAuthority", "isMut": true, "isSigner": true }, { "name": "strategy", "isMut": false, "isSigner": false }, { "name": "globalConfig", "isMut": false, "isSigner": false }, { "name": "sharesMint", "isMut": false, "isSigner": false }, { "name": "sharesMetadata", "isMut": true, "isSigner": false }, { "name": "sharesMintAuthority", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "metadataProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "name", "type": "string" }, { "name": "symbol", "type": "string" }, { "name": "uri", "type": "string" } ] }, { "name": "updateSharesMetadata", "accounts": [ { "name": "adminAuthority", "isMut": true, "isSigner": true }, { "name": "strategy", "isMut": false, "isSigner": false }, { "name": "globalConfig", "isMut": false, "isSigner": false }, { "name": "sharesMint", "isMut": false, "isSigner": false }, { "name": "sharesMetadata", "isMut": true, "isSigner": false }, { "name": "sharesMintAuthority", "isMut": false, "isSigner": false }, { "name": "metadataProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "name", "type": "string" }, { "name": "symbol", "type": "string" }, { "name": "uri", "type": "string" } ] }, { "name": "updateGlobalConfig", "accounts": [ { "name": "adminAuthority", "isMut": false, "isSigner": true }, { "name": "globalConfig", "isMut": true, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "key", "type": "u16" }, { "name": "index", "type": "u16" }, { "name": "value", "type": { "array": [ "u8", 32 ] } } ] }, { "name": "updateTreasuryFeeVault", "accounts": [ { "name": "signer", "isMut": true, "isSigner": true }, { "name": "globalConfig", "isMut": false, "isSigner": false }, { "name": "feeMint", "isMut": false, "isSigner": false }, { "name": "treasuryFeeVault", "isMut": true, "isSigner": false }, { "name": "treasuryFeeVaultAuthority", "isMut": false, "isSigner": false }, { "name": "tokenInfos", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "collateralId", "type": "u16" } ] }, { "name": "updateStrategyConfig", "accounts": [ { "name": "adminAuthority", "isMut": false, "isSigner": true }, { "name": "newAccount", "isMut": false, "isSigner": false }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "globalConfig", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "mode", "type": "u16" }, { "name": "value", "type": { "array": [ "u8", 128 ] } } ] }, { "name": "updateRewardMapping", "accounts": [ { "name": "payer", "isMut": true, "isSigner": true }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "globalConfig", "isMut": false, "isSigner": false }, { "name": "pool", "isMut": false, "isSigner": false }, { "name": "rewardMint", "isMut": false, "isSigner": false }, { "name": "rewardVault", "isMut": true, "isSigner": true }, { "name": "baseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "tokenInfos", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "rewardIndex", "type": "u8" }, { "name": "collateralToken", "type": "u8" } ] }, { "name": "openLiquidityPosition", "accounts": [ { "name": "adminAuthority", "isMut": true, "isSigner": true }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "globalConfig", "isMut": false, "isSigner": false }, { "name": "pool", "isMut": true, "isSigner": false }, { "name": "tickArrayLower", "isMut": true, "isSigner": false }, { "name": "tickArrayUpper", "isMut": true, "isSigner": false }, { "name": "baseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "position", "isMut": true, "isSigner": false }, { "name": "positionMint", "isMut": true, "isSigner": false }, { "name": "positionMetadataAccount", "isMut": true, "isSigner": false }, { "name": "positionTokenAccount", "isMut": true, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "system", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram2022", "isMut": false, "isSigner": false }, { "name": "tokenATokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenBTokenProgram", "isMut": false, "isSigner": false }, { "name": "memoProgram", "isMut": false, "isSigner": false }, { "name": "associatedTokenProgram", "isMut": false, "isSigner": false }, { "name": "poolProgram", "isMut": false, "isSigner": false }, { "name": "oldTickArrayLowerOrBaseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "oldTickArrayUpperOrBaseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "oldPositionOrBaseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "oldPositionMintOrBaseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "oldPositionTokenAccountOrBaseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "tokenAVault", "isMut": true, "isSigner": false }, { "name": "tokenBVault", "isMut": true, "isSigner": false }, { "name": "tokenAMint", "isMut": false, "isSigner": false }, { "name": "tokenBMint", "isMut": false, "isSigner": false }, { "name": "poolTokenVaultA", "isMut": true, "isSigner": false }, { "name": "poolTokenVaultB", "isMut": true, "isSigner": false }, { "name": "scopePricesA", "isMut": false, "isSigner": false }, { "name": "scopePricesB", "isMut": false, "isSigner": false }, { "name": "tokenInfos", "isMut": false, "isSigner": false }, { "name": "eventAuthority", "isMut": false, "isSigner": false, "isOptional": true }, { "name": "consensusAccount", "isMut": false, "isSigner": false } ], "args": [ { "name": "tickLowerIndex", "type": "i64" }, { "name": "tickUpperIndex", "type": "i64" }, { "name": "bump", "type": "u8" } ] }, { "name": "closeStrategy", "accounts": [ { "name": "adminAuthority", "isMut": true, "isSigner": true }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "oldPositionOrBaseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "oldPositionMintOrBaseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "oldPositionTokenAccountOrBaseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "oldTickArrayLowerOrBaseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "oldTickArrayUpperOrBaseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "pool", "isMut": false, "isSigner": false }, { "name": "tokenAVault", "isMut": true, "isSigner": false }, { "name": "tokenBVault", "isMut": true, "isSigner": false }, { "name": "userTokenAAta", "isMut": true, "isSigner": false }, { "name": "userTokenBAta", "isMut": true, "isSigner": false }, { "name": "tokenAMint", "isMut": true, "isSigner": false }, { "name": "tokenBMint", "isMut": true, "isSigner": false }, { "name": "reward0Vault", "isMut": true, "isSigner": false, "docs": [ "If rewards are uninitialized, pass this as strategy." ] }, { "name": "reward1Vault", "isMut": true, "isSigner": false, "docs": [ "If rewards are uninitialized, pass this as strategy." ] }, { "name": "reward2Vault", "isMut": true, "isSigner": false, "docs": [ "If rewards are uninitialized, pass this as strategy." ] }, { "name": "kaminoReward0Vault", "isMut": true, "isSigner": false, "docs": [ "If rewards are uninitialized, pass this as strategy." ] }, { "name": "kaminoReward1Vault", "isMut": true, "isSigner": false, "docs": [ "If rewards are uninitialized, pass this as strategy." ] }, { "name": "kaminoReward2Vault", "isMut": true, "isSigner": false, "docs": [ "If rewards are uninitialized, pass this as strategy." ] }, { "name": "userReward0Ata", "isMut": true, "isSigner": false, "docs": [ "If rewards are uninitialized, pass this as strategy." ] }, { "name": "userReward1Ata", "isMut": true, "isSigner": false, "docs": [ "If rewards are uninitialized, pass this as strategy." ] }, { "name": "userReward2Ata", "isMut": true, "isSigner": false, "docs": [ "If rewards are uninitialized, pass this as strategy." ] }, { "name": "userKaminoReward0Ata", "isMut": true, "isSigner": false, "docs": [ "If rewards are uninitialized, pass this as strategy." ] }, { "name": "userKaminoReward1Ata", "isMut": true, "isSigner": false, "docs": [ "If rewards are uninitialized, pass this as strategy." ] }, { "name": "userKaminoReward2Ata", "isMut": true, "isSigner": false, "docs": [ "If rewards are uninitialized, pass this as strategy." ] }, { "name": "baseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "poolProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenATokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenBTokenProgram", "isMut": false, "isSigner": false }, { "name": "system", "isMut": false, "isSigner": false }, { "name": "eventAuthority", "isMut": false, "isSigner": false, "isOptional": true } ], "args": [] }, { "name": "deposit", "accounts": [ { "name": "user", "isMut": true, "isSigner": true }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "globalConfig", "isMut": false, "isSigner": false }, { "name": "pool", "isMut": false, "isSigner": false }, { "name": "position", "isMut": false, "isSigner": false }, { "name": "tickArrayLower", "isMut": false, "isSigner": false }, { "name": "tickArrayUpper", "isMut": false, "isSigner": false }, { "name": "tokenAVault", "isMut": true, "isSigner": false }, { "name": "tokenBVault", "isMut": true, "isSigner": false }, { "name": "baseVaultAuthority", "isMut": false, "isSigner": false }, { "name": "tokenAAta", "isMut": true, "isSigner": false }, { "name": "tokenBAta", "isMut": true, "isSigner": false }, { "name": "tokenAMint", "isMut": false, "isSigner": false }, { "name": "tokenBMint", "isMut": false, "isSigner": false }, { "name": "userSharesAta", "isMut": true, "isSigner": false }, { "name": "sharesMint", "isMut": true, "isSigner": false }, { "name": "sharesMintAuthority", "isMut": false, "isSigner": false }, { "name": "scopePricesA", "isMut": false, "isSigner": false }, { "name": "scopePricesB", "isMut": false, "isSigner": false }, { "name": "tokenInfos", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenATokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenBTokenProgram", "isMut": false, "isSigner": false }, { "name": "instructionSysvarAccount", "isMut": false, "isSigner": false } ], "args": [ { "name": "tokenMaxA", "type": "u64" }, { "name": "tokenMaxB", "type": "u64" } ] }, { "name": "invest", "accounts": [ { "name": "actionsAuthority", "isMut": true, "isSigner": true }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "globalConfig", "isMut": false, "isSigner": false }, { "name": "tokenAVault", "isMut": true, "isSigner": false }, { "name": "tokenBVault", "isMut": true, "isSigner": false }, { "name": "tokenAMint", "isMut": false, "isSigner": false }, { "name": "tokenBMint", "isMut": false, "isSigner": false }, { "name": "baseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "pool", "isMut": true, "isSigner": false }, { "name": "tokenATokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenBTokenProgram", "isMut": false, "isSigner": false }, { "name": "memoProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram2022", "isMut": false, "isSigner": false }, { "name": "position", "isMut": true, "isSigner": false }, { "name": "raydiumProtocolPositionOrBaseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "positionTokenAccount", "isMut": true, "isSigner": false }, { "name": "poolTokenVaultA", "isMut": true, "isSigner": false }, { "name": "poolTokenVaultB", "isMut": true, "isSigner": false }, { "name": "tickArrayLower", "isMut": true, "isSigner": false }, { "name": "tickArrayUpper", "isMut": true, "isSigner": false }, { "name": "scopePricesA", "isMut": false, "isSigner": false }, { "name": "scopePricesB", "isMut": false, "isSigner": false }, { "name": "tokenInfos", "isMut": false, "isSigner": false }, { "name": "poolProgram", "isMut": false, "isSigner": false }, { "name": "instructionSysvarAccount", "isMut": false, "isSigner": false }, { "name": "eventAuthority", "isMut": false, "isSigner": false, "isOptional": true } ], "args": [ { "name": "referencePriceTick", "type": "i32" } ] }, { "name": "depositAndInvest", "accounts": [ { "name": "user", "isMut": true, "isSigner": true }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "globalConfig", "isMut": false, "isSigner": false }, { "name": "pool", "isMut": true, "isSigner": false, "docs": [ "check that the pool is owned either by orca or by raydium" ] }, { "name": "position", "isMut": true, "isSigner": false }, { "name": "raydiumProtocolPositionOrBaseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "positionTokenAccount", "isMut": true, "isSigner": false }, { "name": "tokenAVault", "isMut": true, "isSigner": false }, { "name": "tokenBVault", "isMut": true, "isSigner": false }, { "name": "poolTokenVaultA", "isMut": true, "isSigner": false }, { "name": "poolTokenVaultB", "isMut": true, "isSigner": false }, { "name": "tickArrayLower", "isMut": true, "isSigner": false }, { "name": "tickArrayUpper", "isMut": true, "isSigner": false }, { "name": "baseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "tokenAAta", "isMut": true, "isSigner": false }, { "name": "tokenBAta", "isMut": true, "isSigner": false }, { "name": "tokenAMint", "isMut": false, "isSigner": false }, { "name": "tokenBMint", "isMut": false, "isSigner": false }, { "name": "userSharesAta", "isMut": true, "isSigner": false }, { "name": "sharesMint", "isMut": true, "isSigner": false }, { "name": "sharesMintAuthority", "isMut": false, "isSigner": false }, { "name": "scopePricesA", "isMut": false, "isSigner": false }, { "name": "scopePricesB", "isMut": false, "isSigner": false }, { "name": "tokenInfos", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram2022", "isMut": false, "isSigner": false }, { "name": "tokenATokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenBTokenProgram", "isMut": false, "isSigner": false }, { "name": "memoProgram", "isMut": false, "isSigner": false }, { "name": "poolProgram", "isMut": false, "isSigner": false }, { "name": "instructionSysvarAccount", "isMut": false, "isSigner": false }, { "name": "eventAuthority", "isMut": false, "isSigner": false, "isOptional": true } ], "args": [ { "name": "tokenMaxA", "type": "u64" }, { "name": "tokenMaxB", "type": "u64" } ] }, { "name": "withdraw", "accounts": [ { "name": "user", "isMut": true, "isSigner": true }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "globalConfig", "isMut": false, "isSigner": false }, { "name": "pool", "isMut": true, "isSigner": false }, { "name": "position", "isMut": true, "isSigner": false }, { "name": "tickArrayLower", "isMut": true, "isSigner": false }, { "name": "tickArrayUpper", "isMut": true, "isSigner": false }, { "name": "tokenAVault", "isMut": true, "isSigner": false }, { "name": "tokenBVault", "isMut": true, "isSigner": false }, { "name": "baseVaultAuthority", "isMut": false, "isSigner": false }, { "name": "poolTokenVaultA", "isMut": true, "isSigner": false }, { "name": "poolTokenVaultB", "isMut": true, "isSigner": false }, { "name": "tokenAAta", "isMut": true, "isSigner": false }, { "name": "tokenBAta", "isMut": true, "isSigner": false }, { "name": "tokenAMint", "isMut": false, "isSigner": false }, { "name": "tokenBMint", "isMut": false, "isSigner": false }, { "name": "userSharesAta", "isMut": true, "isSigner": false }, { "name": "sharesMint", "isMut": true, "isSigner": false }, { "name": "treasuryFeeTokenAVault", "isMut": true, "isSigner": false }, { "name": "treasuryFeeTokenBVault", "isMut": true, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram2022", "isMut": false, "isSigner": false }, { "name": "tokenATokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenBTokenProgram", "isMut": false, "isSigner": false }, { "name": "memoProgram", "isMut": false, "isSigner": false }, { "name": "positionTokenAccount", "isMut": true, "isSigner": false }, { "name": "poolProgram", "isMut": false, "isSigner": false }, { "name": "instructionSysvarAccount", "isMut": false, "isSigner": false }, { "name": "eventAuthority", "isMut": false, "isSigner": false, "isOptional": true } ], "args": [ { "name": "sharesAmount", "type": "u64" } ] }, { "name": "executiveWithdraw", "accounts": [ { "name": "adminAuthority", "isMut": true, "isSigner": true }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "globalConfig", "isMut": false, "isSigner": false }, { "name": "pool", "isMut": true, "isSigner": false }, { "name": "position", "isMut": true, "isSigner": false }, { "name": "raydiumProtocolPositionOrBaseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "positionTokenAccount", "isMut": false, "isSigner": false }, { "name": "tickArrayLower", "isMut": true, "isSigner": false }, { "name": "tickArrayUpper", "isMut": true, "isSigner": false }, { "name": "tokenAVault", "isMut": true, "isSigner": false }, { "name": "tokenBVault", "isMut": true, "isSigner": false }, { "name": "baseVaultAuthority", "isMut": false, "isSigner": false }, { "name": "poolTokenVaultA", "isMut": true, "isSigner": false }, { "name": "poolTokenVaultB", "isMut": true, "isSigner": false }, { "name": "tokenAMint", "isMut": false, "isSigner": false }, { "name": "tokenBMint", "isMut": false, "isSigner": false }, { "name": "scopePricesA", "isMut": false, "isSigner": false }, { "name": "scopePricesB", "isMut": false, "isSigner": false }, { "name": "tokenInfos", "isMut": false, "isSigner": false }, { "name": "tokenATokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenBTokenProgram", "isMut": false, "isSigner": false }, { "name": "memoProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram2022", "isMut": false, "isSigner": false }, { "name": "poolProgram", "isMut": false, "isSigner": false }, { "name": "eventAuthority", "isMut": false, "isSigner": false, "isOptional": true } ], "args": [ { "name": "action", "type": "u8" } ] }, { "name": "collectFeesAndRewards", "accounts": [ { "name": "user", "isMut": true, "isSigner": true }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "globalConfig", "isMut": false, "isSigner": false }, { "name": "baseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "pool", "isMut": true, "isSigner": false }, { "name": "tickArrayLower", "isMut": true, "isSigner": false }, { "name": "tickArrayUpper", "isMut": true, "isSigner": false }, { "name": "position", "isMut": true, "isSigner": false }, { "name": "raydiumProtocolPositionOrBaseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "positionTokenAccount", "isMut": false, "isSigner": false }, { "name": "tokenAVault", "isMut": true, "isSigner": false }, { "name": "poolTokenVaultA", "isMut": true, "isSigner": false }, { "name": "tokenBVault", "isMut": true, "isSigner": false }, { "name": "poolTokenVaultB", "isMut": true, "isSigner": false }, { "name": "treasuryFeeTokenAVault", "isMut": true, "isSigner": false }, { "name": "treasuryFeeTokenBVault", "isMut": true, "isSigner": false }, { "name": "treasuryFeeVaultAuthority", "isMut": false, "isSigner": false }, { "name": "reward0Vault", "isMut": true, "isSigner": false, "docs": [ "If rewards are uninitialized, pass this as strategy." ] }, { "name": "reward1Vault", "isMut": true, "isSigner": false, "docs": [ "If rewards are uninitialized, pass this as strategy." ] }, { "name": "reward2Vault", "isMut": true, "isSigner": false, "docs": [ "If rewards are uninitialized, pass this as strategy." ] }, { "name": "poolRewardVault0", "isMut": true, "isSigner": false, "docs": [ "If rewards are uninitialized, pass this as strategy." ] }, { "name": "poolRewardVault1", "isMut": true, "isSigner": false, "docs": [ "If rewards are uninitialized, pass this as strategy." ] }, { "name": "poolRewardVault2", "isMut": true, "isSigner": false, "docs": [ "If rewards are uninitialized, pass this as strategy." ] }, { "name": "tokenAMint", "isMut": false, "isSigner": false }, { "name": "tokenBMint", "isMut": false, "isSigner": false }, { "name": "tokenATokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenBTokenProgram", "isMut": false, "isSigner": false }, { "name": "memoProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram2022", "isMut": false, "isSigner": false }, { "name": "poolProgram", "isMut": false, "isSigner": false }, { "name": "instructionSysvarAccount", "isMut": false, "isSigner": false }, { "name": "eventAuthority", "isMut": false, "isSigner": false, "isOptional": true } ], "args": [] }, { "name": "swapRewards", "accounts": [ { "name": "user", "isMut": true, "isSigner": true }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "globalConfig", "isMut": false, "isSigner": false }, { "name": "pool", "isMut": false, "isSigner": false }, { "name": "tokenAVault", "isMut": true, "isSigner": false }, { "name": "tokenBVault", "isMut": true, "isSigner": false }, { "name": "rewardVault", "isMut": true, "isSigner": false }, { "name": "baseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "treasuryFeeTokenAVault", "isMut": true, "isSigner": false }, { "name": "treasuryFeeTokenBVault", "isMut": true, "isSigner": false }, { "name": "treasuryFeeVaultAuthority", "isMut": false, "isSigner": false }, { "name": "tokenAMint", "isMut": false, "isSigner": false }, { "name": "tokenBMint", "isMut": false, "isSigner": false }, { "name": "rewardMint", "isMut": false, "isSigner": false }, { "name": "userTokenAAta", "isMut": true, "isSigner": false }, { "name": "userTokenBAta", "isMut": true, "isSigner": false }, { "name": "userRewardTokenAccount", "isMut": true, "isSigner": false }, { "name": "scopePricesA", "isMut": false, "isSigner": false }, { "name": "scopePricesB", "isMut": false, "isSigner": false }, { "name": "scopePricesReward", "isMut": false, "isSigner": false }, { "name": "tokenInfos", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenATokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenBTokenProgram", "isMut": false, "isSigner": false }, { "name": "rewardTokenProgram", "isMut": false, "isSigner": false }, { "name": "instructionSysvarAccount", "isMut": false, "isSigner": false } ], "args": [ { "name": "tokenAIn", "type": "u64" }, { "name": "tokenBIn", "type": "u64" }, { "name": "rewardIndex", "type": "u64" }, { "name": "rewardCollateralId", "type": "u64" }, { "name": "minCollateralTokenOut", "type": "u64" } ] }, { "name": "checkExpectedVaultsBalances", "accounts": [ { "name": "user", "isMut": true, "isSigner": true }, { "name": "tokenAAta", "isMut": false, "isSigner": false }, { "name": "tokenBAta", "isMut": false, "isSigner": false } ], "args": [ { "name": "tokenAAtaBalance", "type": "u64" }, { "name": "tokenBAtaBalance", "type": "u64" } ] }, { "name": "singleTokenDepositAndInvestWithMin", "accounts": [ { "name": "user", "isMut": true, "isSigner": true }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "globalConfig", "isMut": false, "isSigner": false }, { "name": "pool", "isMut": true, "isSigner": false, "docs": [ "check that the pool is owned either by orca or by raydium" ] }, { "name": "position", "isMut": true, "isSigner": false }, { "name": "raydiumProtocolPositionOrBaseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "positionTokenAccount", "isMut": true, "isSigner": false }, { "name": "tokenAVault", "isMut": true, "isSigner": false }, { "name": "tokenBVault", "isMut": true, "isSigner": false }, { "name": "poolTokenVaultA", "isMut": true, "isSigner": false }, { "name": "poolTokenVaultB", "isMut": true, "isSigner": false }, { "name": "tickArrayLower", "isMut": true, "isSigner": false }, { "name": "tickArrayUpper", "isMut": true, "isSigner": false }, { "name": "baseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "tokenAAta", "isMut": true, "isSigner": false }, { "name": "tokenBAta", "isMut": true, "isSigner": false }, { "name": "tokenAMint", "isMut": false, "isSigner": false }, { "name": "tokenBMint", "isMut": false, "isSigner": false }, { "name": "userSharesAta", "isMut": true, "isSigner": false }, { "name": "sharesMint", "isMut": true, "isSigner": false }, { "name": "sharesMintAuthority", "isMut": false, "isSigner": false }, { "name": "scopePricesA", "isMut": false, "isSigner": false }, { "name": "scopePricesB", "isMut": false, "isSigner": false }, { "name": "tokenInfos", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram2022", "isMut": false, "isSigner": false }, { "name": "tokenATokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenBTokenProgram", "isMut": false, "isSigner": false }, { "name": "memoProgram", "isMut": false, "isSigner": false }, { "name": "poolProgram", "isMut": false, "isSigner": false }, { "name": "instructionSysvarAccount", "isMut": false, "isSigner": false }, { "name": "eventAuthority", "isMut": false, "isSigner": false, "isOptional": true } ], "args": [ { "name": "tokenAMinPostDepositBalance", "type": "u64" }, { "name": "tokenBMinPostDepositBalance", "type": "u64" } ] }, { "name": "singleTokenDepositWithMin", "accounts": [ { "name": "user", "isMut": true, "isSigner": true }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "globalConfig", "isMut": false, "isSigner": false }, { "name": "pool", "isMut": false, "isSigner": false }, { "name": "position", "isMut": false, "isSigner": false }, { "name": "tickArrayLower", "isMut": false, "isSigner": false }, { "name": "tickArrayUpper", "isMut": false, "isSigner": false }, { "name": "tokenAVault", "isMut": true, "isSigner": false }, { "name": "tokenBVault", "isMut": true, "isSigner": false }, { "name": "baseVaultAuthority", "isMut": false, "isSigner": false }, { "name": "tokenAAta", "isMut": true, "isSigner": false }, { "name": "tokenBAta", "isMut": true, "isSigner": false }, { "name": "tokenAMint", "isMut": false, "isSigner": false }, { "name": "tokenBMint", "isMut": false, "isSigner": false }, { "name": "userSharesAta", "isMut": true, "isSigner": false }, { "name": "sharesMint", "isMut": true, "isSigner": false }, { "name": "sharesMintAuthority", "isMut": false, "isSigner": false }, { "name": "scopePricesA", "isMut": false, "isSigner": false }, { "name": "scopePricesB", "isMut": false, "isSigner": false }, { "name": "tokenInfos", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenATokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenBTokenProgram", "isMut": false, "isSigner": false }, { "name": "instructionSysvarAccount", "isMut": false, "isSigner": false } ], "args": [ { "name": "tokenAMinPostDepositBalance", "type": "u64" }, { "name": "tokenBMinPostDepositBalance", "type": "u64" } ] }, { "name": "flashSwapUnevenVaultsStart", "docs": [ "Start of a Flash swap uneven vaults.", "", "This needs to be the first instruction of the transaction or preceded only by a", "ComputeBudget.", "", "This ix has to be paired with a `flash_swap_uneven_vaults_end` (`FlashSwapUnevenVaultsEnd`)", "as the last instruction of the transaction. No other instruction targeted the program is", "allowed.", "The instructions between the start and end instructions are expected to perform the swap." ], "accounts": [ { "name": "swapper", "isMut": true, "isSigner": true }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "globalConfig", "isMut": false, "isSigner": false }, { "name": "tokenAVault", "isMut": true, "isSigner": false }, { "name": "tokenBVault", "isMut": true, "isSigner": false }, { "name": "tokenAAta", "isMut": true, "isSigner": false }, { "name": "tokenBAta", "isMut": true, "isSigner": false }, { "name": "baseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "pool", "isMut": true, "isSigner": false }, { "name": "position", "isMut": true, "isSigner": false }, { "name": "scopePricesA", "isMut": false, "isSigner": false }, { "name": "scopePricesB", "isMut": false, "isSigner": false }, { "name": "tokenInfos", "isMut": false, "isSigner": false }, { "name": "tickArrayLower", "isMut": false, "isSigner": false }, { "name": "tickArrayUpper", "isMut": false, "isSigner": false }, { "name": "tokenAMint", "isMut": false, "isSigner": false }, { "name": "tokenBMint", "isMut": false, "isSigner": false }, { "name": "tokenATokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenBTokenProgram", "isMut": false, "isSigner": false }, { "name": "instructionSysvarAccount", "isMut": false, "isSigner": false }, { "name": "consensusAccount", "isMut": false, "isSigner": false } ], "args": [ { "name": "amount", "type": "u64" }, { "name": "aToB", "type": "bool" } ] }, { "name": "flashSwapUnevenVaultsEnd", "docs": [ "End of Flash swap uneven vaults.", "", "See [`flash_swap_uneven_vaults_start`] for details.", "", "Warning: This instruction is allowed to be used independently from", "`FlashSwapUnevenVaultsStart` and shall not perform any operation", "that can be exploited when used alone." ], "accounts": [ { "name": "swapper", "isMut": true, "isSigner": true }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "globalConfig", "isMut": false, "isSigner": false }, { "name": "tokenAVault", "isMut": true, "isSigner": false }, { "name": "tokenBVault", "isMut": true, "isSigner": false }, { "name": "tokenAAta", "isMut": true, "isSigner": false }, { "name": "tokenBAta", "isMut": true, "isSigner": false }, { "name": "baseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "pool", "isMut": true, "isSigner": false }, { "name": "position", "isMut": true, "isSigner": false }, { "name": "scopePricesA", "isMut": false, "isSigner": false }, { "name": "scopePricesB", "isMut": false, "isSigner": false }, { "name": "tokenInfos", "isMut": false, "isSigner": false }, { "name": "tickArrayLower", "isMut": false, "isSigner": false }, { "name": "tickArrayUpper", "isMut": false, "isSigner": false }, { "name": "tokenAMint", "isMut": false, "isSigner": false }, { "name": "tokenBMint", "isMut": false, "isSigner": false }, { "name": "tokenATokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenBTokenProgram", "isMut": false, "isSigner": false }, { "name": "instructionSysvarAccount", "isMut": false, "isSigner": false }, { "name": "consensusAccount", "isMut": false, "isSigner": false } ], "args": [ { "name": "minRepayAmount", "type": "u64" }, { "name": "amountToLeaveToUser", "type": "u64" }, { "name": "aToB", "type": "bool" } ] }, { "name": "emergencySwap", "accounts": [ { "name": "adminAuthority", "isMut": true, "isSigner": true }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "globalConfig", "isMut": false, "isSigner": false }, { "name": "tokenAMint", "isMut": false, "isSigner": false }, { "name": "tokenBMint", "isMut": false, "isSigner": false }, { "name": "tokenAVault", "isMut": true, "isSigner": false }, { "name": "tokenBVault", "isMut": true, "isSigner": false }, { "name": "baseVaultAuthority", "isMut": true, "isSigner": false }, { "name": "pool", "isMut": true, "isSigner": false }, { "name": "position", "isMut": true, "isSigner": false }, { "name": "poolTokenVaultA", "isMut": true, "isSigner": false }, { "name": "poolTokenVaultB", "isMut": true, "isSigner": false }, { "name": "tickArray0", "isMut": true, "isSigner": false, "docs": [ "Payer must send this correctly." ] }, { "name": "tickArray1", "isMut": true, "isSigner": false, "docs": [ "Payer must send this correctly." ] }, { "name": "tickArray2", "isMut": true, "isSigner": false, "docs": [ "Payer must send this correctly." ] }, { "name": "oracle", "isMut": true, "isSigner": false }, { "name": "poolProgram", "isMut": false, "isSigner": false }, { "name": "scopePricesA", "isMut": false, "isSigner": false }, { "name": "scopePricesB", "isMut": false, "isSigner": false }, { "name": "tokenInfos", "isMut": false, "isSigner": false }, { "name": "tokenATokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenBTokenProgram", "isMut": false, "isSigner": false }, { "name": "memoProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "aToB", "type": "bool" }, { "name": "targetLimitBps", "type": "u64" } ] }, { "name": "withdrawFromTreasury", "accounts": [ { "name": "adminAuthority", "isMut": true, "isSigner": true }, { "name": "globalConfig", "isMut": false, "isSigner": false }, { "name": "mint", "isMut": false, "isSigner": false }, { "name": "treasuryFeeVault", "isMut": true, "isSigner": false }, { "name": "treasuryFeeVaultAuthority", "isMut": true, "isSigner": false }, { "name": "tokenAccount", "isMut": true, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "amount", "type": "u64" } ] }, { "name": "permisionlessWithdrawFromTreasury", "accounts": [ { "name": "signer", "isMut": true, "isSigner": true }, { "name": "globalConfig", "isMut": false, "isSigner": false }, { "name": "mint", "isMut": false, "isSigner": false }, { "name": "treasuryFeeVault", "isMut": true, "isSigner": false }, { "name": "treasuryFeeVaultAuthority", "isMut": true, "isSigner": false }, { "name": "tokenAccount", "isMut": true, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "withdrawFromTopup", "accounts": [ { "name": "adminAuthority", "isMut": true, "isSigner": true }, { "name": "topupVault", "isMut": true, "isSigner": false }, { "name": "system", "isMut": false, "isSigner": false } ], "args": [ { "name": "amount", "type": "u64" } ] }, { "name": "changePool", "accounts": [ { "name": "adminAuthority", "isMut": true, "isSigner": true }, { "name": "strategy", "isMut": true, "isSigner": false }, { "name": "oldPosition", "isMut": false, "isSigner": false }, { "name": "baseVaultAuthority", "isMut": false, "isSigner": false }, { "name": "newPool", "isMut": false, "isSigner": false }, { "name": "strategyRewardVault0OrBaseVaultAuthority", "isMut": false, "isSigner": false }, { "name": "strategyRewardVault1OrBaseVaultAuthority", "isMut": false, "isSigner": false }, { "name": "strategyRewardVault2OrBaseVaultAuthority", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "closeProgramAccount", "accounts": [ { "name": "adminAuthority", "isMut": true, "isSigner": true }, { "name": "program", "isMut": false, "isSigner": false }, { "name": "programData", "isMut": false, "isSigner": false }, { "name": "closingAccount", "isMut": true, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "orcaSwap", "accounts": [ { "name": "funder", "isMut": true, "isSigner": true }, { "name": "tokenATokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenBTokenProgram", "isMut": false, "isSigner": false }, { "name": "memoProgram", "isMut": false, "isSigner": false }, { "name": "tokenAuthority", "isMut": false, "isSigner": false }, { "name": "whirlpool", "isMut": false, "isSigner": false }, { "name": "tokenOwnerAccountA", "isMut": false, "isSigner": false }, { "name": "tokenVaultA", "isMut": false, "isSigner": false }, { "name": "tokenOwnerAccountB", "isMut": false, "isSigner": false }, { "name": "tokenVaultB", "isMut": false, "isSigner": false }, { "name": "tokenMintA", "isMut": false, "isSigner": false }, { "name": "tokenMintB", "isMut": false, "isSigner": false }, { "name": "tickArray0", "isMut": false, "isSigner": false }, { "name": "tickArray1", "isMut": false, "isSigner": false }, { "name": "tickArray2", "isMut": false, "isSigner": false }, { "name": "oracle", "isMut": false, "isSigner": false }, { "name": "whirlpoolProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "amount", "type": "u64" }, { "name": "otherAmountThreshold", "type": "u64" }, { "name": "sqrtPriceLimit", "type": "u128" }, { "name": "amountSpecifiedIsInput", "type": "bool" }, { "name": "aToB", "type": "bool" } ] }, { "name": "signTerms", "accounts": [ { "name": "owner", "isMut": true, "isSigner": true }, { "name": "ownerSignatureState", "isMut": true, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false } ], "args": [ { "name": "signature", "type": { "array": [ "u8", 64 ] } } ] }, { "name": "updateStrategyAdmin", "accounts": [ { "name": "pendingAdmin", "isMut": true, "isSigner": true }, { "name": "strategy", "isMut": true, "isSigner": false } ], "args": [] }, { "name": "resizeTokenInfos", "accounts": [ { "name": "signer", "isMut": true, "isSigner": true }, { "name": "tokenInfos", "isMut": true, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "deprecateCollateralInfo", "accounts": [ { "name": "adminAuthority", "isMut": true, "isSigner": true }, { "name": "globalConfig", "isMut": false, "isSigner": false }, { "name": "tokenInfos", "isMut": true, "isSigner": false } ], "args": [ { "name": "index", "type": "u64" } ] } ], "accounts": [ { "name": "Whirlpool", "docs": [ "External types" ], "type": { "kind": "struct", "fields": [ { "name": "whirlpoolsConfig", "type": "publicKey" }, { "name": "whirlpoolBump", "type": { "array": [ "u8", 1 ] } }, { "name": "tickSpacing", "type": "u16" }, { "name": "tickSpacingSeed", "type": { "array": [ "u8", 2 ] } }, { "name": "feeRate", "type": "u16" }, { "name": "protocolFeeRate", "type": "u16" }, { "name": "liquidity", "type": "u128" }, { "name": "sqrtPrice", "type": "u128" }, { "name": "tickCurrentIndex", "type": "i32" }, { "name": "protocolFeeOwedA", "type": "u64" }, { "name": "protocolFeeOwedB", "type": "u64" }, { "name": "tokenMintA", "type": "publicKey" }, { "name": "tokenVaultA", "type": "publicKey" }, { "name": "feeGrowthGlobalA", "type": "u128" }, { "name": "tokenMintB", "type": "publicKey" }, { "name": "tokenVaultB", "type": "publicKey" }, { "name": "feeGrowthGlobalB", "type": "u128" }, { "name": "rewardLastUpdatedTimestamp", "type": "u64" }, { "name": "rewardInfos", "type": { "array": [ { "defined": "WhirlpoolRewardInfo" }, 3 ] } } ] } }, { "name": "Position", "type": { "kind": "struct", "fields": [ { "name": "whirlpool", "type": "publicKey" }, { "name": "positionMint", "type": "publicKey" }, { "name": "liquidity", "type": "u128" }, { "name": "tickLowerIndex", "type": "i32" }, { "name": "tickUpperIndex", "type": "i32" }, { "name": "feeGrowthCheckpointA", "type": "u128" }, { "name": "feeOwedA", "type": "u64" }, { "name": "feeGrowthCheckpointB", "type": "u128" }, { "name": "feeOwedB", "type": "u64" }, { "name": "rewardInfos", "type": { "array": [ { "defined": "PositionRewardInfo" }, 3 ] } } ] } }, { "name": "PoolState", "type": { "kind": "struct", "fields": [ { "name": "bump", "docs": [ "Bump to identify PDA" ], "type": "u8" }, { "name": "ammConfig", "type": "publicKey" }, { "name": "owner", "type": "publicKey" }, { "name": "tokenMint0", "docs": [ "Token pair of the pool, where token_mint_0 address < token_mint_1 address" ], "type": "publicKey" }, { "name": "tokenMint1", "type": "publicKey" }, { "name": "tokenVault0", "docs": [ "Token pair vault" ], "type": "publicKey" }, { "name": "tokenVault1", "type": "publicKey" }, { "name": "observationKey", "docs": [ "observation account key" ], "type": "publicKey" }, { "name": "mintDecimals0", "docs": [ "mint0 and mint1 decimals" ], "type": "u8" }, { "name": "mintDecimals1", "type": "u8" }, { "name": "tickSpacing", "docs": [ "The minimum number of ticks between initialized ticks" ], "type": "u16" }, { "name": "liquidity", "docs": [ "The currently in range liquidity available to the pool." ], "type": "u128" }, { "name": "sqrtPriceX64", "docs": [ "The current price of the pool as a sqrt(token_1/token_0) Q64.64 value" ], "type": "u128" }, { "name": "tickCurrent", "docs": [ "The current tick of the pool, i.e. according to the last tick transition that was run." ], "type": "i32" }, { "name": "observationIndex", "docs": [ "the most-recently updated index of the observations array" ], "type": "u16" }, { "name": "observationUpdateDuration", "type": "u16" }, { "name": "feeGrowthGlobal0X64", "docs": [ "The fee growth as a Q64.64 number, i.e. fees of token_0 and token_1 collected per", "unit of liquidity for the entire life of the pool." ], "type": "u128" }, { "name": "feeGrowthGlobal1X64", "type": "u128" }, { "name": "protocolFeesToken0", "docs": [ "The amounts of token_0 and token_1 that are owed to the protocol." ], "type": "u64" }, { "name": "protocolFeesToken1", "type": "u64" }, { "name": "swapInAmountToken0", "docs": [ "The amounts in and out of swap token_0 and token_1" ], "type": "u128" }, { "name": "swapOutAmountToken1", "type": "u128" }, { "name": "swapInAmountToken1", "type": "u128" }, { "name": "swapOutAmountToken0", "type": "u128" }, { "name": "status", "docs": [ "Bitwise representation of the state of the pool", "bit0, 1: disable open position and increase liquidity, 0: normal", "bit1, 1: disable decrease liquidity, 0: normal", "bit2, 1: disable collect fee, 0: normal", "bit3, 1: disable collect reward, 0: normal", "bit4, 1: disable swap, 0: normal" ], "type": "u8" }, { "name": "padding", "docs": [ "Leave blank for future use" ], "type": { "array": [ "u8", 7 ] } }, { "name": "rewardInfos", "type": { "array": [ { "defined": "RewardInfo" }, 3 ] } }, { "name": "tickArrayBitmap", "docs": [ "Packed initialized tick array state" ], "type": { "array": [ "u64", 16 ] } }, { "name": "totalFeesToken0", "docs": [ "except protocol_fee and fund_fee" ], "type": "u64" }, { "name": "totalFeesClaimedToken0", "docs": [ "except protocol_fee and fund_fee" ], "type": "u64" }, { "name": "totalFeesToken1", "type": "u64" }, { "name": "totalFeesClaimedToken1", "type": "u64" }, { "name": "fundFeesToken0", "type": "u64" }, { "name": "fundFeesToken1", "type": "u64" }, { "name": "openTime", "type": "u64" }, { "name": "padding1", "type": { "array": [ "u64", 25 ] } }, { "name": "padding2", "type": { "array": [ "u64", 32 ] } } ] } }, { "name": "PersonalPositionState", "type": { "kind": "struct", "fields": [ { "name": "bump", "docs": [ "Bump to identify PDA" ], "type": "u8" }, { "name": "nftMint", "docs": [ "Mint address of the tokenized position" ], "type": "publicKey" }, { "name": "poolId", "docs": [ "The ID of the pool with which this token is connected" ], "type": "publicKey" }, { "name": "tickLowerIndex", "docs": [ "The lower bound tick of the position" ], "type": "i32" }, { "name": "tickUpperIndex", "docs": [ "The upper bound tick of the position" ], "type": "i32" }, { "name": "liquidity", "docs": [ "The amount of liquidity owned by this position" ], "type": "u128" }, { "name": "feeGrowthInside0LastX64", "docs": [ "The token_0 fee growth of the aggregate position as of the last action on the individual position" ], "type": "u128" }, { "name": "feeGrowthInside1LastX64", "docs": [ "The token_1 fee growth of the aggregate position as of the last action on the individual position" ], "type": "u128" }, { "name": "tokenFeesOwed0", "docs": [ "The fees owed to the position owner in token_0, as of the last computation" ], "type": "u64" }, { "name": "tokenFeesOwed1", "docs": [ "The fees owed to the position owner in token_1, as of the last computation" ], "type": "u64" }, { "name": "rewardInfos", "type": { "array": [ { "defined": "PositionRewardInfo" }, 3 ] } }, { "name": "padding", "type": { "array": [ "u64", 8 ] } } ] } }, { "name": "ProtocolPositionState", "type": { "kind": "struct", "fields": [ { "name": "bump", "docs": [ "Bump to identify PDA" ], "type": "u8" }, { "name": "poolId", "docs": [ "The ID of the pool with which this token is connected" ], "type": "publicKey" }, { "name": "tickLowerIndex", "docs": [ "The lower bound tick of the position" ], "type": "i32" }, { "name": "tickUpperIndex", "docs": [ "The upper bound tick of the position" ], "type": "i32" }, { "name": "liquidity", "docs": [ "The amount of liquidity owned by this position" ], "type": "u128" }, { "name": "feeGrowthInside0LastX64", "docs": [ "The token_0 fee growth per unit of liquidity as of the last update to liquidity or fees owed" ], "type": "u128" }, { "name": "feeGrowthInside1LastX64", "docs": [ "The token_1 fee growth per unit of liquidity as of the last update to liquidity or fees owed" ], "type": "u128" }, { "name": "tokenFeesOwed0", "docs": [ "The fees owed to the position owner in token_0" ], "type": "u64" }, { "name": "tokenFeesOwed1", "docs": [ "The fees owed to the position owner in token_1" ], "type": "u64" }, { "name": "rewardGrowthInside", "docs": [ "The reward growth per unit of liquidity as of the last update to liquidity" ], "type": { "array": [ "u128", 3 ] } }, { "name": "padding", "type": { "array": [ "u64", 8 ] } } ] } }, { "name": "WhirlpoolStrategy", "type": { "kind": "struct", "fields": [ { "name": "adminAuthority", "type": "publicKey" }, { "name": "globalConfig", "type": "publicKey" }, { "name": "baseVaultAuthority", "type": "publicKey" }, { "name": "baseVaultAuthorityBump", "type": "u64" }, { "name": "pool", "type": "publicKey" }, { "name": "poolTokenVaultA", "type": "publicKey" }, { "name": "poolTokenVaultB", "type": "publicKey" }, { "name": "tickArrayLower", "type": "publicKey" }, { "name": "tickArrayUpper", "type": "publicKey" }, { "name": "position", "type": "publicKey" }, { "name": "positionMint", "type": "publicKey" }, { "name": "positionMetadata", "type": "publicKey" }, { "name": "positionTokenAccount", "type": "publicKey" }, { "name": "tokenAVault", "type": "publicKey" }, { "name": "tokenBVault", "type": "publicKey" }, { "name": "deprecated0", "type": { "array": [ "publicKey", 2 ] } }, { "name": "deprecated1", "type": { "array": [ "u64", 2 ] } }, { "name": "tokenAMint", "type": "publicKey" }, { "name": "tokenBMint", "type": "publicKey" }, { "name": "tokenAMintDecimals", "type": "u64" }, { "name": "tokenBMintDecimals", "type": "u64" }, { "name": "tokenAAmounts", "type": "u64" }, { "name": "tokenBAmounts", "type": "u64" }, { "name": "tokenACollateralId", "type": "u64" }, { "name": "tokenBCollateralId", "type": "u64" }, { "name": "deprecated2", "type": "publicKey" }, { "name": "deprecated3", "type": "publicKey" }, { "name": "sharesMint", "type": "publicKey" }, { "name": "sharesMintDecimals", "type": "u64" }, { "name": "sharesMintAuthority", "type": "publicKey" }, { "name": "sharesMintAuthorityBump", "type": "u64" }, { "name": "sharesIssued", "type": "u64" }, { "name": "status", "type": "u64" }, { "name": "reward0Amount", "type": "u64" }, { "name": "reward0Vault", "type": "publicKey" }, { "name": "reward0CollateralId", "type": "u64" }, { "name": "reward0Decimals", "type": "u64" }, { "name": "reward1Amount", "type": "u64" }, { "name": "reward1Vault", "type": "publicKey" }, { "name": "reward1CollateralId", "type": "u64" }, { "name": "reward1Decimals", "type": "u64" }, { "name": "reward2Amount", "type": "u64" }, { "name": "reward2Vault", "type": "publicKey" }, { "name": "reward2CollateralId", "type": "u64" }, { "name": "reward2Decimals", "type": "u64" }, { "name": "depositCapUsd", "type": "u64" }, { "name": "feesACumulative", "type": "u64" }, { "name": "feesBCumulative", "type": "u64" }, { "name": "reward0AmountCumulative", "type": "u64" }, { "name": "reward1AmountCumulative", "type": "u64" }, { "name": "reward2AmountCumulative", "type": "u64" }, { "name": "depositCapUsdPerIxn", "type": "u64" }, { "name": "withdrawalCapA", "type": { "defined": "WithdrawalCaps" } }, { "name": "withdrawalCapB", "type": { "defined": "WithdrawalCaps" } }, { "name": "maxPriceDeviationBps", "type": "u64" }, { "name": "swapVaultMaxSlippageBps", "type": "u32" }, { "name": "swapVaultMaxSlippageFromReferenceBps", "type": "u32" }, { "name": "strategyType", "type": "u64" }, { "name": "padding0", "type": "u64" }, { "name": "withdrawFee", "type": "u64" }, { "name": "feesFee", "type": "u64" }, { "name": "reward0Fee", "type": "u64" }, { "name": "reward1Fee", "type": "u64" }, { "name": "reward2Fee", "type": "u64" }, { "name": "positionTimestamp", "type": "u64" }, { "name": "kaminoRewards", "type": { "array": [ { "defined": "KaminoRewardInfo" }, 3 ] } }, { "name": "strategyDex", "type": "u64" }, { "name": "raydiumProtocolPositionOrBaseVaultAuthority", "type": "publicKey" }, { "name": "allowDepositWithoutInvest", "type": "u64" }, { "name": "raydiumPoolConfigOrBaseVaultAuthority", "type": "publicKey" }, { "name": "depositBlocked", "type": "u8" }, { "name": "creationStatus", "type": "u8" }, { "name": "investBlocked", "type": "u8" }, { "name": "shareCalculationMethod", "docs": [ "share_calculation_method can be either DOLAR_BASED=0 or PROPORTION_BASED=1" ], "type": "u8" }, { "name": "withdrawBlocked", "type": "u8" }, { "name": "reservedFlag2", "type": "u8" }, { "name": "localAdminBlocked", "type": "u8" }, { "name": "flashVaultSwapAllowed", "type": "u8" }, { "name": "referenceSwapPriceA", "type": { "defined": "Price" } }, { "name": "referenceSwapPriceB", "type": { "defined": "Price" } }, { "name": "isCommunity", "type": "u8" }, { "name": "rebalanceType", "type": "u8" }, { "name": "flashSwapInProgress", "type": "u8" }, { "name": "padding1", "type": { "array": [ "u8", 5 ] } }, { "name": "rebalanceRaw", "type": { "defined": "RebalanceRaw" } }, { "name": "padding2", "type": { "array": [ "u8", 7 ] } }, { "name": "tokenAFeesFromRewardsCumulative", "type": "u64" }, { "name": "tokenBFeesFromRewardsCumulative", "type": "u64" }, { "name": "strategyLookupTable", "type": "publicKey" }, { "name": "lastSwapUnevenStepTimestamp", "type": "u64" }, { "name": "farm", "type": "publicKey" }, { "name": "rebalancesCap", "type": { "defined": "WithdrawalCaps" } }, { "name": "padding3NonZeroed", "type": { "array": [ "u64", 4 ] } }, { "name": "tokenATokenProgram", "type": "publicKey" }, { "name": "tokenBTokenProgram", "type": "publicKey" }, { "name": "pendingAdmin", "type": "publicKey" }, { "name": "maxDeviationFromRefPriceOnInvestBps", "type": "u32" }, { "name": "padding3", "type": "u32" }, { "name": "lastInvestSlot", "type": "u64" }, { "name": "padding4", "type": "u64" }, { "name": "padding5", "type": { "array": [ "u128", 12 ] } }, { "name": "padding6", "type": { "array": [ "u128", 32 ] } }, { "name": "padding7", "type": { "array": [ "u128", 32 ] } }, { "name": "padding8", "type": { "array": [ "u128", 32 ] } } ] } }, { "name": "GlobalConfig", "type": { "kind": "struct", "fields": [ { "name": "emergencyMode", "type": "u64" }, { "name": "blockDeposit", "type": "u64" }, { "name": "blockInvest", "type": "u64" }, { "name": "blockWithdraw", "type": "u64" }, { "name": "blockCollectFees", "type": "u64" }, { "name": "blockCollectRewards", "type": "u64" }, { "name": "blockSwapRewards", "type": "u64" }, { "name": "blockSwapUnevenVaults", "type": "u32" }, { "name": "blockEmergencySwap", "type": "u32" }, { "name": "minWithdrawalFeeBps", "type": "u64" }, { "name": "scopeProgramId", "type": "publicKey" }, { "name": "deprecated", "type": "publicKey" }, { "name": "padding0NonZeroed", "type": { "array": [ "u64", 256 ] } }, { "name": "actionsAuthority", "type": "publicKey" }, { "name": "adminAuthority", "type": "publicKey" }, { "name": "treasuryFeeVaults", "type": { "array": [ "publicKey", 256 ] } }, { "name": "tokenInfos", "type": "publicKey" }, { "name": "blockLocalAdmin", "type": "u64" }, { "name": "minPerformanceFeeBps", "type": "u64" }, { "name": "minSwapUnevenSlippageToleranceBps", "type": "u64" }, { "name": "minReferencePriceSlippageToleranceBps", "type": "u64" }, { "name": "actionsAfterRebalanceDelaySeconds", "type": "u64" }, { "name": "treasuryFeeVaultReceiver", "type": "publicKey" }, { "name": "scopePriceIds", "type": { "array": [ "publicKey", 16 ] } }, { "name": "maxDeviationFromRefPriceOnInvestBps", "type": "u32" }, { "name": "padding1", "type": "u32" }, { "name": "investCooldownSlots", "type": "u64" }, { "name": "minInvestTriggerValueUsd", "type": "u64" }, { "name": "padding", "type": { "array": [ "u64", 1968 ] } } ] } }, { "name": "CollateralInfos", "type": { "kind": "struct", "fields": [ { "name": "infos", "type": { "array": [ { "defined": "CollateralInfo" }, 303 ] } } ] } }, { "name": "ScopeChainAccount", "type": { "kind": "struct", "fields": [ { "name": "chainArray", "type": { "array": [ { "array": [ "u16", 4 ] }, 512 ] } } ] } }, { "name": "TermsSignature", "type": { "kind": "struct", "fields": [ { "name": "signature", "type": { "array": [ "u8", 64 ] } } ] } } ], "types": [ { "name": "PositionRewardInfo", "type": { "kind": "struct", "fields": [ { "name": "growthInsideCheckpoint", "type": "u128" }, { "name": "amountOwed", "type": "u64" } ] } }, { "name": "WhirlpoolRewardInfo", "type": { "kind": "struct", "fields": [ { "name": "mint", "docs": [ "Reward token mint." ], "type": "publicKey" }, { "name": "vault", "docs": [ "Reward vault token account." ], "type": "publicKey" }, { "name": "authority", "docs": [ "Authority account that has permission to initialize the reward and set emissions." ], "type": "publicKey" }, { "name": "emissionsPerSecondX64", "docs": [ "Q64.64 number that indicates how many tokens per second are earned per unit of liquidity." ], "type": "u128" }, { "name": "growthGlobalX64", "docs": [ "Q64.64 number that tracks the total tokens earned per unit of liquidity since the reward", "emissions were turned on." ], "type": "u128" } ] } }, { "name": "RewardInfo", "type": { "kind": "struct", "fields": [ { "name": "rewardState", "docs": [ "Reward state" ], "type": "u8" }, { "name": "openTime", "docs": [ "Reward open time" ], "type": "u64" }, { "name": "endTime", "docs": [ "Reward end time" ], "type": "u64" }, { "name": "lastUpdateTime", "docs": [ "Reward last update time" ], "type": "u64" }, { "name": "emissionsPerSecondX64", "docs": [ "Q64.64 number indicates how many tokens per second are earned per unit of liquidity." ], "type": "u128" }, { "name": "rewardTotalEmissioned", "docs": [ "The total amount of reward emissioned" ], "type": "u64" }, { "name": "rewardClaimed", "docs": [ "The total amount of claimed reward" ], "type": "u64" }, { "name": "tokenMint", "docs": [ "Reward token mint." ], "type": "publicKey" }, { "name": "tokenVault", "docs": [ "Reward vault token account." ], "type": "publicKey" }, { "name": "authority", "docs": [ "The owner that has permission to set reward param" ], "type": "publicKey" }, { "name": "rewardGrowthGlobalX64", "docs": [ "Q64.64 number that tracks the total tokens earned per unit of liquidity since the reward", "emissions were turned on." ], "type": "u128" } ] } }, { "name": "RebalanceRaw", "type": { "kind": "struct", "fields": [ { "name": "params", "type": { "array": [ "u8", 128 ] } }, { "name": "state", "type": { "array": [ "u8", 256 ] } }, { "name": "referencePriceType", "type": "u8" } ] } }, { "name": "CollateralInfo", "type": { "kind": "struct", "fields": [ { "name": "mint", "type": "publicKey" }, { "name": "lowerHeuristic", "type": "u64" }, { "name": "upperHeuristic", "type": "u64" }, { "name": "expHeuristic", "type": "u64" }, { "name": "maxTwapDivergenceBps", "type": "u64" }, { "name": "scopeTwapPriceChain", "type": { "array": [ "u16", 4 ] } }, { "name": "scopePriceChain", "type": { "array": [ "u16", 4 ] } }, { "name": "name", "type": { "array": [ "u8", 32 ] } }, { "name": "maxAgePriceSeconds", "type": "u64" }, { "name": "maxAgeTwapSeconds", "type": "u64" }, { "name": "maxIgnorableAmountAsReward", "type": "u64" }, { "name": "disabled", "type": "u8" }, { "name": "padding0", "type": { "array": [ "u8", 7 ] } }, { "name": "scopeStakingRateChain", "type": { "array": [ "u16", 4 ] } }, { "name": "scopeFeed", "type": "publicKey" }, { "name": "padding", "type": { "array": [ "u64", 4 ] } } ] } }, { "name": "CollateralInfoParams", "type": { "kind": "struct", "fields": [ { "name": "mint", "type": "publicKey" }, { "name": "lowerHeuristic", "type": "u64" }, { "name": "upperHeuristic", "type": "u64" }, { "name": "expHeuristic", "type": "u64" }, { "name": "maxTwapDivergenceBps", "type": "u64" }, { "name": "scopeTwapPriceChain", "type": { "array": [ "u16", 4 ] } }, { "name": "scopePriceChain", "type": { "array": [ "u16", 4 ] } }, { "name": "name", "type": { "array": [ "u8", 32 ] } }, { "name": "maxAgePriceSeconds", "type": "u64" }, { "name": "maxAgeTwapSeconds", "type": "u64" }, { "name": "maxIgnorableAmountAsReward", "type": "u64" }, { "name": "disabled", "type": "u8" }, { "name": "scopeStakingRateChain", "type": { "array": [ "u16", 4 ] } }, { "name": "scopeFeed", "type": "publicKey" } ] } }, { "name": "KaminoRewardInfo", "type": { "kind": "struct", "fields": [ { "name": "decimals", "type": "u64" }, { "name": "rewardVault", "type": "publicKey" }, { "name": "rewardMint", "type": "publicKey" }, { "name": "rewardCollateralId", "type": "u64" }, { "name": "lastIssuanceTs", "type": "u64" }, { "name": "rewardPerSecond", "type": "u64" }, { "name": "amountUncollected", "type": "u64" }, { "name": "amountIssuedCumulative", "type": "u64" }, { "name": "amountAvailable", "type": "u64" } ] } }, { "name": "WithdrawalCaps", "type": { "kind": "struct", "fields": [ { "name": "configCapacity", "type": "i64" }, { "name": "currentTotal", "type": "i64" }, { "name": "lastIntervalStartTimestamp", "type": "u64" }, { "name": "configIntervalLengthSeconds", "type": "u64" } ] } }, { "name": "Price", "type": { "kind": "struct", "fields": [ { "name": "value", "type": "u64" }, { "name": "exp", "type": "u64" } ] } }, { "name": "RebalanceAutodriftParams", "type": { "kind": "struct", "fields": [ { "name": "initDriftTicksPerEpoch", "type": "u32" }, { "name": "ticksBelowMid", "type": "i32" }, { "name": "ticksAboveMid", "type": "i32" }, { "name": "frontrunMultiplierBps", "type": "u16" }, { "name": "stakingRateASource", "type": { "defined": "StakingRateSource" } }, { "name": "stakingRateBSource", "type": { "defined": "StakingRateSource" } }, { "name": "initDriftDirection", "type": { "defined": "DriftDirection" } } ] } }, { "name": "RebalanceAutodriftWindow", "type": { "kind": "struct", "fields": [ { "name": "stakingRateA", "type": { "option": { "defined": "Price" } } }, { "name": "stakingRateB", "type": { "option": { "defined": "Price" } } }, { "name": "epoch", "type": "u64" }, { "name": "theoreticalTick", "type": "i32" }, { "name": "stratMidTick", "type": "i32" } ] } }, { "name": "RebalanceAutodriftState", "type": { "kind": "struct", "fields": [ { "name": "lastWindow", "type": { "defined": "RebalanceAutodriftWindow" } }, { "name": "currentWindow", "type": { "defined": "RebalanceAutodriftWindow" } }, { "name": "step", "type": { "defined": "RebalanceAutodriftStep" } } ] } }, { "name": "RebalanceDriftParams", "type": { "kind": "struct", "fields": [ { "name": "startMidTick", "type": "i32" }, { "name": "ticksBelowMid", "type": "i32" }, { "name": "ticksAboveMid", "type": "i32" }, { "name": "secondsPerTick", "type": "u64" }, { "name": "direction", "type": { "defined": "DriftDirection" } } ] } }, { "name": "RebalanceDriftState", "type": { "kind": "struct", "fields": [ { "name": "step", "type": { "defined": "RebalanceDriftStep" } }, { "name": "lastDriftTimestamp", "type": "u64" }, { "name": "lastMidTick", "type": "i32" } ] } }, { "name": "RebalanceExpanderState", "type": { "kind": "struct", "fields": [ { "name": "initialPoolPrice", "type": "u128" }, { "name": "expansionCount", "type": "u16" } ] } }, { "name": "RebalanceManualState", "type": { "kind": "struct", "fields": [] } }, { "name": "PeriodicRebalanceState", "type": { "kind": "struct", "fields": [ { "name": "lastRebalanceTimestamp", "type": "u64" } ] } }, { "name": "RebalancePricePercentageWithResetState", "type": { "kind": "struct", "fields": [ { "name": "lastRebalanceLowerResetPoolPrice", "type": "u128" }, { "name": "lastRebalanceUpperResetPoolPrice", "type": "u128" } ] } }, { "name": "RebalancePricePercentageState", "type": { "kind": "struct", "fields": [ { "name": "lastRebalanceLowerPoolPrice", "type": "u128" }, { "name": "lastRebalanceUpperPoolPrice", "type": "u128" } ] } }, { "name": "RebalanceTakeProfitState", "type": { "kind": "struct", "fields": [ { "name": "step", "type": { "defined": "RebalanceTakeProfitStep" } } ] } }, { "name": "BinAddLiquidityStrategy", "type": { "kind": "enum", "variants": [ { "name": "Uniform", "fields": [ { "name": "currentBinIndex", "type": "i32" }, { "name": "lowerBinIndex", "type": "i32" }, { "name": "upperBinIndex", "type": "i32" }, { "name": "amountXToDeposit", "type": "u64" }, { "name": "amountYToDeposit", "type": "u64" }, { "name": "xCurrentBin", "type": "u64" }, { "name": "yCurrentBin", "type": "u64" } ] }, { "name": "CurrentTick", "fields": [ "i32" ] } ] } }, { "name": "SimulationPrice", "type": { "kind": "enum", "variants": [ { "name": "PoolPrice" }, { "name": "SqrtPrice", "fields": [ "u128" ] }, { "name": "TickIndex", "fields": [ "i32" ] } ] } }, { "name": "DexSpecificPrice", "type": { "kind": "enum", "variants": [ { "name": "SqrtPrice", "fields": [ "u128" ] }, { "name": "Q64_64", "fields": [ "u128" ] } ] } }, { "name": "RemoveLiquidityMode", "type": { "kind": "enum", "variants": [ { "name": "Liquidity", "fields": [ "u128" ] }, { "name": "Bps", "fields": [ "u16" ] }, { "name": "All" } ] } }, { "name": "WithdrawalCapAccumulatorAction", "type": { "kind": "enum", "variants": [ { "name": "KeepAccumulator" }, { "name": "ResetAccumulator" } ] } }, { "name": "RebalanceEffects", "type": { "kind": "enum", "variants": [ { "name": "NewRange", "fields": [ "i32", "i32" ] }, { "name": "WithdrawAndFreeze" } ] } }, { "name": "SwapLimit", "type": { "kind": "enum", "variants": [ { "name": "Bps", "fields": [ "u64" ] }, { "name": "Absolute", "fields": [ { "name": "srcAmountToSwap", "docs": [ "Amount of src token expected by the user to perform the swap" ], "type": "u64" }, { "name": "dstAmountToVault", "docs": [ "Amount of dst token the user provides in exchange" ], "type": "u64" }, { "name": "aToB", "type": "bool" } ] } ] } }, { "name": "MintingMethod", "type": { "kind": "enum", "variants": [ { "name": "PriceBased" }, { "name": "Proportional" } ] } }, { "name": "GlobalConfigOption", "type": { "kind": "enum", "variants": [ { "name": "EmergencyMode" }, { "name": "BlockDeposit" }, { "name": "BlockInvest" }, { "name": "BlockWithdraw" }, { "name": "BlockCollectFees" }, { "name": "BlockCollectRewards" }, { "name": "BlockSwapRewards" }, { "name": "BlockSwapUnevenVaults" }, { "name": "WithdrawalFeeBps" }, { "name": "DeprecatedSwapDiscountBps" }, { "name": "ActionsAuthority" }, { "name": "DeprecatedTreasuryFeeVaults" }, { "name": "AdminAuthority" }, { "name": "BlockEmergencySwap" }, { "name": "BlockLocalAdmin" }, { "name": "UpdateTokenInfos" }, { "name": "ScopeProgramId" }, { "name": "UpdateScopePriceId" }, { "name": "MinPerformanceFeeBps" }, { "name": "MinSwapUnevenSlippageToleranceBps" }, { "name": "MinReferencePriceSlippageToleranceBps" }, { "name": "ActionsAfterRebalanceDelaySeconds" }, { "name": "TreasuryFeeVaultReceiver" }, { "name": "AddScopePriceId" }, { "name": "MaxDeviationFromRefPriceOnInvestBps" }, { "name": "InvestCooldownSlots" }, { "name": "MinInvestTriggerValueUsd" } ] } }, { "name": "StrategyConfigOption", "type": { "kind": "enum", "variants": [ { "name": "UpdateDepositCap" }, { "name": "UpdateDepositCapIxn" }, { "name": "UpdateWithdrawalCapACapacity" }, { "name": "UpdateWithdrawalCapAInterval" }, { "name": "UpdateWithdrawalCapACurrentTotal" }, { "name": "UpdateWithdrawalCapBCapacity" }, { "name": "UpdateWithdrawalCapBInterval" }, { "name": "UpdateWithdrawalCapBCurrentTotal" }, { "name": "UpdateMaxDeviationBps" }, { "name": "UpdateSwapVaultMaxSlippage" }, { "name": "UpdateStrategyType" }, { "name": "UpdateDepositFee" }, { "name": "UpdateWithdrawFee" }, { "name": "UpdateCollectFeesFee" }, { "name": "UpdateReward0Fee" }, { "name": "UpdateReward1Fee" }, { "name": "UpdateReward2Fee" }, { "name": "UpdateAdminAuthority" }, { "name": "KaminoRewardIndex0TS" }, { "name": "KaminoRewardIndex1TS" }, { "name": "KaminoRewardIndex2TS" }, { "name": "KaminoRewardIndex0RewardPerSecond" }, { "name": "KaminoRewardIndex1RewardPerSecond" }, { "name": "KaminoRewardIndex2RewardPerSecond" }, { "name": "UpdateDepositBlocked" }, { "name": "UpdateRaydiumProtocolPositionOrBaseVaultAuthority" }, { "name": "UpdateRaydiumPoolConfigOrBaseVaultAuthority" }, { "name": "UpdateInvestBlocked" }, { "name": "UpdateWithdrawBlocked" }, { "name": "UpdateLocalAdminBlocked" }, { "name": "DeprecatedUpdateCollateralIdA" }, { "name": "DeprecatedUpdateCollateralIdB" }, { "name": "UpdateFlashVaultSwap" }, { "name": "AllowDepositWithoutInvest" }, { "name": "UpdateSwapVaultMaxSlippageFromRef" }, { "name": "ResetReferencePrices" }, { "name": "UpdateStrategyCreationState" }, { "name": "UpdateIsCommunity" }, { "name": "UpdateRebalanceType" }, { "name": "UpdateRebalanceParams" }, { "name": "UpdateDepositMintingMethod" }, { "name": "UpdateLookupTable" }, { "name": "UpdateReferencePriceType" }, { "name": "UpdateReward0Amount" }, { "name": "UpdateReward1Amount" }, { "name": "UpdateReward2Amount" }, { "name": "UpdateFarm" }, { "name": "UpdateRebalancesCapCapacity" }, { "name": "UpdateRebalancesCapInterval" }, { "name": "UpdateRebalancesCapCurrentTotal" }, { "name": "DeprecatedUpdateSwapUnevenAuthority" }, { "name": "UpdatePendingStrategyAdmin" }, { "name": "UpdateMaxDeviationFromRefPriceOnInvestBps" } ] } }, { "name": "StrategyStatus", "type": { "kind": "enum", "variants": [ { "name": "Uninitialized" }, { "name": "Active" }, { "name": "Frozen" }, { "name": "Rebalancing" }, { "name": "NoPosition" } ] } }, { "name": "StrategyType", "type": { "kind": "enum", "variants": [ { "name": "Stable" }, { "name": "Pegged" }, { "name": "Volatile" } ] } }, { "name": "CreationStatus", "type": { "kind": "enum", "variants": [ { "name": "IGNORED" }, { "name": "SHADOW" }, { "name": "LIVE" }, { "name": "DEPRECATED" }, { "name": "STAGING" } ] } }, { "name": "ExecutiveWithdrawAction", "type": { "kind": "enum", "variants": [ { "name": "Freeze" }, { "name": "Unfreeze" }, { "name": "Rebalance" } ] } }, { "name": "ReferencePriceType", "type": { "kind": "enum", "variants": [ { "name": "POOL" }, { "name": "TWAP" } ] } }, { "name": "LiquidityCalculationMode", "type": { "kind": "enum", "variants": [ { "name": "Deposit" }, { "name": "Withdraw" } ] } }, { "name": "UpdateCollateralInfoMode", "type": { "kind": "enum", "variants": [ { "name": "CollateralId" }, { "name": "LowerHeuristic" }, { "name": "UpperHeuristic" }, { "name": "ExpHeuristic" }, { "name": "TwapDivergence" }, { "name": "UpdateScopeTwap" }, { "name": "UpdateScopeChain" }, { "name": "UpdateName" }, { "name": "UpdatePriceMaxAge" }, { "name": "UpdateTwapMaxAge" }, { "name": "UpdateDisabled" }, { "name": "UpdateStakingRateChain" }, { "name": "UpdateMaxIgnorableAmountAsReward" }, { "name": "UpdateScopeFeed" } ] } }, { "name": "BalanceStatus", "type": { "kind": "enum", "variants": [ { "name": "Balanced" }, { "name": "Unbalanced" } ] } }, { "name": "RebalanceAutodriftStep", "type": { "kind": "enum", "variants": [ { "name": "Uninitialized" }, { "name": "Autodrifting" } ] } }, { "name": "StakingRateSource", "type": { "kind": "enum", "variants": [ { "name": "Constant" }, { "name": "Scope" } ] } }, { "name": "DriftDirection", "type": { "kind": "enum", "variants": [ { "name": "Increasing" }, { "name": "Decreasing" } ] } }, { "name": "RebalanceDriftStep", "type": { "kind": "enum", "variants": [ { "name": "Uninitialized" }, { "name": "Drifting" } ] } }, { "name": "ExpanderStep", "type": { "kind": "enum", "variants": [ { "name": "ExpandOrContract", "fields": [ "u16" ] }, { "name": "Recenter" } ] } }, { "name": "RebalanceTakeProfitToken", "type": { "kind": "enum", "variants": [ { "name": "A" }, { "name": "B" } ] } }, { "name": "RebalanceTakeProfitStep", "type": { "kind": "enum", "variants": [ { "name": "Uninitialized" }, { "name": "TakingProfit" }, { "name": "Finished" } ] } }, { "name": "RebalanceAction", "type": { "kind": "enum", "variants": [ { "name": "NewPriceRange", "fields": [ { "defined": "DexSpecificPrice" }, { "defined": "DexSpecificPrice" } ] }, { "name": "NewTickRange", "fields": [ "i32", "i32" ] }, { "name": "WithdrawAndFreeze" } ] } }, { "name": "RebalanceType", "type": { "kind": "enum", "variants": [ { "name": "Manual" }, { "name": "PricePercentage" }, { "name": "PricePercentageWithReset" }, { "name": "Drift" }, { "name": "TakeProfit" }, { "name": "PeriodicRebalance" }, { "name": "Expander" }, { "name": "Autodrift" } ] } }, { "name": "CollateralTestToken", "type": { "kind": "enum", "variants": [ { "name": "USDC" }, { "name": "USDH" }, { "name": "SOL" }, { "name": "ETH" }, { "name": "BTC" }, { "name": "MSOL" }, { "name": "STSOL" }, { "name": "USDT" }, { "name": "ORCA" }, { "name": "MNDE" }, { "name": "HBB" }, { "name": "JSOL" }, { "name": "USH" }, { "name": "DAI" }, { "name": "LDO" }, { "name": "SCNSOL" }, { "name": "UXD" }, { "name": "HDG" }, { "name": "DUST" }, { "name": "USDR" }, { "name": "RATIO" }, { "name": "UXP" }, { "name": "JITOSOL" }, { "name": "RAY" }, { "name": "BONK" }, { "name": "SAMO" }, { "name": "LaineSOL" }, { "name": "BSOL" } ] } }, { "name": "ScopePriceIdTest", "type": { "kind": "enum", "variants": [ { "name": "SOL" }, { "name": "ETH" }, { "name": "BTC" }, { "name": "SRM" }, { "name": "RAY" }, { "name": "FTT" }, { "name": "MSOL" }, { "name": "scnSOL_SOL" }, { "name": "BNB" }, { "name": "AVAX" }, { "name": "DaoSOL_SOL" }, { "name": "SaberMSOL_SOL" }, { "name": "USDH" }, { "name": "StSOL" }, { "name": "CSOL_SOL" }, { "name": "CETH_ETH" }, { "name": "CBTC_BTC" }, { "name": "CMSOL_SOL" }, { "name": "wstETH" }, { "name": "LDO" }, { "name": "USDC" }, { "name": "CUSDC_USDC" }, { "name": "USDT" }, { "name": "ORCA" }, { "name": "MNDE" }, { "name": "HBB" }, { "name": "CORCA_ORCA" }, { "name": "CSLND_SLND" }, { "name": "CSRM_SRM" }, { "name": "CRAY_RAY" }, { "name": "CFTT_FTT" }, { "name": "CSTSOL_STSOL" }, { "name": "SLND" }, { "name": "DAI" }, { "name": "JSOL_SOL" }, { "name": "USH" }, { "name": "UXD" }, { "name": "USDH_TWAP" }, { "name": "USH_TWAP" }, { "name": "UXD_TWAP" }, { "name": "HDG" }, { "name": "DUST" }, { "name": "USDR" }, { "name": "USDR_TWAP" }, { "name": "RATIO" }, { "name": "UXP" }, { "name": "KUXDUSDCORCA" }, { "name": "JITOSOL_SOL" }, { "name": "SOL_EMA" }, { "name": "ETH_EMA" }, { "name": "BTC_EMA" }, { "name": "SRM_EMA" }, { "name": "RAY_EMA" }, { "name": "FTT_EMA" }, { "name": "MSOL_EMA" }, { "name": "BNB_EMA" }, { "name": "AVAX_EMA" }, { "name": "STSOL_EMA" }, { "name": "USDC_EMA" }, { "name": "USDT_EMA" }, { "name": "SLND_EMA" }, { "name": "DAI_EMA" }, { "name": "wstETH_TWAP" }, { "name": "DUST_TWAP" }, { "name": "BONK" }, { "name": "BONK_TWAP" }, { "name": "SAMO" }, { "name": "SAMO_TWAP" }, { "name": "BSOL" }, { "name": "LaineSOL" } ] } }, { "name": "DEX", "type": { "kind": "enum", "variants": [ { "name": "Orca" }, { "name": "Raydium" }, { "name": "Meteora" } ] } } ], "errors": [ { "code": 6000, "name": "IntegerOverflow", "msg": "Integer overflow" }, { "code": 6001, "name": "OperationForbidden", "msg": "Operation Forbidden" }, { "code": 6002, "name": "ZeroAmount", "msg": "[DEPRECATED] Zero amount" }, { "code": 6003, "name": "UnableToDeserializeAccount", "msg": "Unable to deserialize account" }, { "code": 6004, "name": "VaultBalanceDoesNotMatchTokenA", "msg": "[DEPRECATED] Vault balance does not match for token A" }, { "code": 6005, "name": "VaultBalanceDoesNotMatchTokenB", "msg": "[DEPRECATED] Vault balance does not match for token B" }, { "code": 6006, "name": "SharesIssuedAmountDoesNotMatch", "msg": "[DEPRECATED] Shares issued amount does not match" }, { "code": 6007, "name": "GlobalConfigKeyError", "msg": "Key is not present in global config" }, { "code": 6008, "name": "SystemInEmergencyMode", "msg": "[DEPRECATED] System is in emergency mode" }, { "code": 6009, "name": "GlobalDepositBlocked", "msg": "Global deposit is currently blocked" }, { "code": 6010, "name": "GlobalWithdrawBlocked", "msg": "Global withdraw is currently blocked" }, { "code": 6011, "name": "GlobalInvestBlocked", "msg": "Global invest is currently blocked" }, { "code": 6012, "name": "OutOfRangeIntegralConversion", "msg": "Out of range integral conversion attempted" }, { "code": 6013, "name": "MathOverflow", "msg": "[DEPRECATED] Mathematical operation with overflow" }, { "code": 6014, "name": "TooMuchLiquidityToWithdraw", "msg": "Unable to withdraw more liquidity than available in position" }, { "code": 6015, "name": "DepositAmountsZero", "msg": "Deposit amounts must be greater than zero" }, { "code": 6016, "name": "SharesZero", "msg": "Number of shares to withdraw must be greater than zero" }, { "code": 6017, "name": "StrategyNotActive", "msg": "Strategy not active" }, { "code": 6018, "name": "UnharvestedAmounts", "msg": "There are unharvested gains" }, { "code": 6019, "name": "InvalidRewardMapping", "msg": "Reward mapping incorrect" }, { "code": 6020, "name": "InvalidRewardIndex", "msg": "Reward index incorrect" }, { "code": 6021, "name": "OwnRewardUninitialized", "msg": "Cannot use uninitialized reward vault" }, { "code": 6022, "name": "PriceNotValid", "msg": "Price is not valid" }, { "code": 6023, "name": "SwapRewardImbalanced", "msg": "Must provide almost equal amounts of tokens" }, { "code": 6024, "name": "SwapRewardTooSmall", "msg": "Swap reward is zero or less than requested" }, { "code": 6025, "name": "SwapRewardLessThanRequested", "msg": "Swap reward is less than what user requested as minimum" }, { "code": 6026, "name": "SwapRewardLessThanMinimum", "msg": "Swap reward is less than minimum acceptable" }, { "code": 6027, "name": "WrongDiscriminator", "msg": "Wrong discriminator" }, { "code": 6028, "name": "WrongMint", "msg": "Wrong mint" }, { "code": 6029, "name": "WrongVault", "msg": "Wrong vault" }, { "code": 6030, "name": "SwapAmountsZero", "msg": "Swap amounts must be greater than zero" }, { "code": 6031, "name": "PriceTooOld", "msg": "Price too old" }, { "code": 6032, "name": "CannotInvestZeroAmount", "msg": "Cannot invest zero amount" }, { "code": 6033, "name": "MaxInvestableZero", "msg": "Cannot have zero investable amount" }, { "code": 6034, "name": "CollectFeesBlocked", "msg": "Collect fees is blocked" }, { "code": 6035, "name": "CollectRewardsBlocked", "msg": "Collect rewards is blocked" }, { "code": 6036, "name": "SwapRewardsBlocked", "msg": "Swap rewards is blocked" }, { "code": 6037, "name": "WrongRewardCollateralID", "msg": "Reward collateral ID is incorrect for strategy" }, { "code": 6038, "name": "InvalidPositionAccount", "msg": "Position account doesn't match internal records" }, { "code": 6039, "name": "CouldNotDeserializeScope", "msg": "Scope account could not be deserialized" }, { "code": 6040, "name": "WrongCollateralID", "msg": "[DEPRECATED] Collateral ID invalid for strategy" }, { "code": 6041, "name": "CollateralTokensExceedDepositCap", "msg": "Collaterals exceed deposit cap" }, { "code": 6042, "name": "SwapUnevenVaultsBlocked", "msg": "Swap uneven vaults is blocked" }, { "code": 6043, "name": "VaultsAreAlreadyBalanced", "msg": "Cannot swap as vaults are already balanced" }, { "code": 6044, "name": "CannotSwapUnevenOutOfRange", "msg": "Cannot swap uneven vaults when position is out of range" }, { "code": 6045, "name": "DivideByZero", "msg": "Cannot divide by zero" }, { "code": 6046, "name": "DeltaATooLarge", "msg": "[DEPRECATED] Delta A too large" }, { "code": 6047, "name": "DeltaBTooLarge", "msg": "[DEPRECATED] Delta B too large" }, { "code": 6048, "name": "CannotExecutiveWithdrawZeroAmount", "msg": "[DEPRECATED] Cannot executive withdraw zero amount" }, { "code": 6049, "name": "CannotWithdrawZeroAmount", "msg": "Cannot withdraw zero amount" }, { "code": 6050, "name": "CannotCollectFeesOnZeroLiquidityPosition", "msg": "[DEPRECATED] Cannot collect fees on zero liquidity position" }, { "code": 6051, "name": "StrategyNotActiveWhenDepositing", "msg": "Cannot deposit inactive position" }, { "code": 6052, "name": "CannotOpenPositionWithExistingPosition", "msg": "Cannot open position with existing opened position" }, { "code": 6053, "name": "CollateralTokensExceedDepositCapPerIxn", "msg": "Collaterals exceed deposit ixn cap" }, { "code": 6054, "name": "CannotDepositOutOfRange", "msg": "Cannot deposit when strategy out of range" }, { "code": 6055, "name": "CannotInvestOutOfRange", "msg": "Cannot invest when strategy out of range" }, { "code": 6056, "name": "WithdrawalCapReached", "msg": "Withdrawal cap is reached" }, { "code": 6057, "name": "TimestampDecrease", "msg": "Timestamp decrease" }, { "code": 6058, "name": "CPINotAllowed", "msg": "CPI not allowed" }, { "code": 6059, "name": "OrcaPriceTooDifferentFromScope", "msg": "Cannot use orca price as it is too different from scope price" }, { "code": 6060, "name": "LowerTickLargerThanUpperTick", "msg": "Lower tick larger than upper tick" }, { "code": 6061, "name": "LowerTickTooLow", "msg": "Lower tick is lower than the minimal supported low tick" }, { "code": 6062, "name": "UpperTickTooLarge", "msg": "Upper tick is larger than the maximum supported tick" }, { "code": 6063, "name": "LowerTickNotMultipleOfTickSpacing", "msg": "Lower tick is not a multiple of tick spacing" }, { "code": 6064, "name": "UpperTickNotMultipleOfTickSpacing", "msg": "Upper tick is not a multiple of tick spacing" }, { "code": 6065, "name": "CannotChangeAdminAuthority", "msg": "Cannot change admin authority" }, { "code": 6066, "name": "CannotResizeAccount", "msg": "Cannot resize with smaller new size" }, { "code": 6067, "name": "ScopeChainUpdateFailed", "msg": "Scope chain update failed" }, { "code": 6068, "name": "PriceTooDivergentFromTwap", "msg": "Price too divergent from twap" }, { "code": 6069, "name": "ExistingRewardOverride", "msg": "[DEPRECATED] Can not override the existing reward" }, { "code": 6070, "name": "WrongKaminoRewardId", "msg": "Kamino reward id exceeds the available slots" }, { "code": 6071, "name": "KaminoRewardNotExist", "msg": "Kamino reward is not initialized" }, { "code": 6072, "name": "KaminoRewardAlreadyExists", "msg": "Kamino reward is already initialized" }, { "code": 6073, "name": "KaminoCollateralNotValid", "msg": "Kamino collateral is not valid" }, { "code": 6074, "name": "KaminoRewardExceedsAvailableAmount", "msg": "[DEPRECATED] Expected kamino reward is bigger then the available amount within the vault" }, { "code": 6075, "name": "SwapUnevenVaultsOvershoot", "msg": "Swap uneven vaults result in the opposite unbalance of the vaults" }, { "code": 6076, "name": "BpsNotInRange", "msg": "Bps parameter passed to instruction is not in range" }, { "code": 6077, "name": "EmergencySwapBlocked", "msg": "Emergency Swap is blocked" }, { "code": 6078, "name": "StrategyNotFrozen", "msg": "Strategy is expected to be frozen for this operation" }, { "code": 6079, "name": "UnexpectedTokenAmountsPostSwap", "msg": "Token left in vault post swap are lower than expected" }, { "code": 6080, "name": "AccountNotBelongToDEX", "msg": "Account doesn't belong to the DEX" }, { "code": 6081, "name": "WrongDEXProgramID", "msg": "Wrong DEX program ID" }, { "code": 6082, "name": "OrcaRewardUninitialized", "msg": "Cannot use uninitialized orca reward vault" }, { "code": 6083, "name": "InvalidAdminAuthority", "msg": "Invalid admin authority" }, { "code": 6084, "name": "PriceIsBiggerThanHeuristic", "msg": "Token price is bigger than heuristic" }, { "code": 6085, "name": "PriceIsLowerThanHeuristic", "msg": "Token price is lower than heuristic" }, { "code": 6086, "name": "AccountDifferentThanExpected", "msg": "Account different than expected" }, { "code": 6087, "name": "SwapAmountsTooSmall", "msg": "Swap amount below the minimum value" }, { "code": 6088, "name": "InvalidDexProgramId", "msg": "Invalid dex program id" }, { "code": 6089, "name": "StrategyDepositBlocked", "msg": "Strategy deposit is currently blocked" }, { "code": 6090, "name": "StrategyInvestBlocked", "msg": "Strategy invest is currently blocked" }, { "code": 6091, "name": "StrategyWithdrawBlocked", "msg": "Strategy withdraw is currently blocked" }, { "code": 6092, "name": "WrongSwapVaultDirection", "msg": "Vault swap can't be performed in the required direction" }, { "code": 6093, "name": "SwapVaultsTooBig", "msg": "Provided amount for vault swap is over the limit" }, { "code": 6094, "name": "SwapVaultsCashOutputBelowMinimum", "msg": "Token out for cash based vault swap is below minimum expected" }, { "code": 6095, "name": "FlashIxsNotEnded", "msg": "Flash ixs initiated without the closing ix in the transaction" }, { "code": 6096, "name": "FlashTxWithUnexpectedIxs", "msg": "Some unexpected instructions are present in the tx. Either before or after the flash ixs, or some ix target the same program between" }, { "code": 6097, "name": "FlashIxsAccountMismatch", "msg": "Some accounts differ between the two flash ixs" }, { "code": 6098, "name": "FlashIxsIncludeScope", "msg": "A scope ix is present in a flash tx" }, { "code": 6099, "name": "FlashVaultSwapBlocked", "msg": "Flash vault swap is blocked on this strategy" }, { "code": 6100, "name": "FlashVaultSwapWrongAmountToLeave", "msg": "Unexpected amount of tokens in ata prior flash vault swap (wrong amount_to_leave_to_user)" }, { "code": 6101, "name": "DepositLessThanMinimum", "msg": "Deposit amount less than minimal allowed" }, { "code": 6102, "name": "DepositWithoutInvestDisallowed", "msg": "Cannot deposit without invest" }, { "code": 6103, "name": "InvalidScopeChain", "msg": "Invalid Scope Chain" }, { "code": 6104, "name": "InvalidScopeTWAPChain", "msg": "Invalid Scope TWAP Chain" }, { "code": 6105, "name": "PositionHasRemainingLiquidity", "msg": "Existent position has liquidity, new position creation is forbidden" }, { "code": 6106, "name": "PoolRebalancing", "msg": "Deposit is not allowed as pool is rebalancing" }, { "code": 6107, "name": "PermissionlessRebalancingDisabled", "msg": "Permissionless rebalancing is disabled" }, { "code": 6108, "name": "ManualRebalanceInvalidOwner", "msg": "Only the owner of the strategy can manually rebalance it" }, { "code": 6109, "name": "InvalidRebalanceType", "msg": "Invalid rebalance type for the strategy" }, { "code": 6110, "name": "NoRebalanceNecessary", "msg": "No rebalance necessary based on current rebalance type/parameters" }, { "code": 6111, "name": "TickArraysDoNotMatchRebalance", "msg": "The given tick arrays do not match the rebalance result" }, { "code": 6112, "name": "StrategyPositionNotValid", "msg": "Expected strategy position to be initialized" }, { "code": 6113, "name": "CouldNotDeserializeRebalanceState", "msg": "Rebalance state could not be deserialized" }, { "code": 6114, "name": "CouldNotSerializeRebalanceState", "msg": "Rebalance state could not be serialized" }, { "code": 6115, "name": "CouldNotDeserializeRebalanceParams", "msg": "Rebalance params could not be deserialized" }, { "code": 6116, "name": "NotEnoughTokensForRatio", "msg": "Deposit is not allowed as token amounts are not enough to match our holdings ratio" }, { "code": 6117, "name": "AmountsRepresentZeroShares", "msg": "The provided amounts are too small" }, { "code": 6118, "name": "MaxLossExceeded", "msg": "Rouding errors exceed the maximal loss tolerance" }, { "code": 6119, "name": "RewardNotStrategyToken", "msg": "Reward does not match strategy token" }, { "code": 6120, "name": "DecimalToU64ConversionFailed", "msg": "Decimal to u64 conversion failed" }, { "code": 6121, "name": "DecimalOperationFailed", "msg": "Decimal operation failed" }, { "code": 6122, "name": "VaultBalancesCausesWrongSharesIssuance", "msg": "Deposit is not allowed as the strategy is not fully invested in the pool " }, { "code": 6123, "name": "TokenDisabled", "msg": "Token cannot be used in strategy creation" }, { "code": 6124, "name": "InvalidReferencePriceType", "msg": "Invalid reference price type" }, { "code": 6125, "name": "TokenToSwapNotEnough", "msg": "Token amount to be swapped is not enough" }, { "code": 6126, "name": "TokenAccountBalanceMismatch", "msg": "Token amount in ata is different than the expected amount" }, { "code": 6127, "name": "UnexpectedProgramIdForPrerequisiteIx", "msg": "Unexpected programID for prerequisite ix" }, { "code": 6128, "name": "ComputeFeesAndRewardsUpdateError", "msg": "Got an error from the dex specific function while computing the fees/rewards update" }, { "code": 6129, "name": "SharesNotZero", "msg": "There must be no shares issued when closing a strategy" }, { "code": 6130, "name": "InvalidScopeStakingRateChain", "msg": "Invalid Scope staking rate Chain" }, { "code": 6131, "name": "StakingRateNotValid", "msg": "Staking rate (provided by Scope) is not valid" }, { "code": 6132, "name": "DecimalToU128ConversionFailed", "msg": "Decimal to u128 conversion failed" }, { "code": 6133, "name": "DecimalNegativeSqrtRoot", "msg": "Decimal sqrt on negative number" }, { "code": 6134, "name": "DriftingOppositeDirection", "msg": "Drifting strategy is moving in the opposite direction" }, { "code": 6135, "name": "WrongRewardCollateralId", "msg": "Wrong reward collateral_id" }, { "code": 6136, "name": "CollateralInfoAlreadyExists", "msg": "Collateral info already exists for given index" }, { "code": 6137, "name": "InvestTooEarly", "msg": "Invest is too early after the position was opened" }, { "code": 6138, "name": "SwapUnevenTooEarly", "msg": "Swap uneven is too early after the position was opened" }, { "code": 6139, "name": "FlashSwapTooEarly", "msg": "Flash swap is too early after the position was opened" }, { "code": 6140, "name": "RebalancesCapReached", "msg": "Rebalance caps reached, no rebalances are allowed until the end of the current interval" }, { "code": 6141, "name": "SwapUnevenInvalidAuthority", "msg": "Cannot swap uneven because authority is set and the given signer does not correspond" }, { "code": 6142, "name": "InvalidTick", "msg": "Invalid tick requested" }, { "code": 6143, "name": "MeteoraMathOverflow", "msg": "Meteora math overflowed" }, { "code": 6144, "name": "StrategyTickArrayNotValid", "msg": "Expected strategy tick arrays to be initialized" }, { "code": 6145, "name": "WrongEventAuthority", "msg": "Wrong event authority" }, { "code": 6146, "name": "StrategyFieldUpdateNotAllowed", "msg": "Strategy field update is not allowed" }, { "code": 6147, "name": "UnsupportedDex", "msg": "DEX is not supported for this operation" }, { "code": 6148, "name": "InvalidBPSValue", "msg": "Invalid BPS value provided" }, { "code": 6149, "name": "RewardVaultOverrideNotAllowed", "msg": "Reward vault override not allowed" }, { "code": 6150, "name": "ComputeFeesAndRewardsInvalidReward", "msg": "Got invalid reward from the dex specific function while computing the fees/rewards update" }, { "code": 6151, "name": "EmptyTreasury", "msg": "No tokens to withdraw from treasury fee vault" }, { "code": 6152, "name": "ChangingPoolRewardMintMismatch", "msg": "New pool reward mint does not match the old pool reward mint" }, { "code": 6153, "name": "ProvidedRewardVaultMismatch", "msg": "The provided reward vault does not match the strategy state" }, { "code": 6154, "name": "RepeatedMint", "msg": "The provided reward vault does not match the strategy state" }, { "code": 6155, "name": "UnsupportedTokenExtension", "msg": "The token extension is not supported by the program" }, { "code": 6156, "name": "UnsupportedDexForToken22", "msg": "Cannot initialize strategy with this dex while having a mint with token22" }, { "code": 6157, "name": "GlobalConfigInvalidScopePriceIndex", "msg": "Scope price index is not present in global config" }, { "code": 6158, "name": "GlobalConfigScopePricesIdsFull", "msg": "Scope prices ids array in global config is full" }, { "code": 6159, "name": "GlobalConfigAlreadyContainsScopePriceId", "msg": "Scope prices ids array already contains given scope price id" }, { "code": 6160, "name": "GlobalConfigExpectedScopePricesAccount", "msg": "Expected scope prices account being passed in when adding or updating a scope prices feed" }, { "code": 6161, "name": "RewardScopePriceAccountNotPresent", "msg": "A reward scope price account should have been passed in, but it is missing" }, { "code": 6162, "name": "IncorrectScopePricesAccountID", "msg": "Incorrect scope prices account id passed in" }, { "code": 6163, "name": "CouldNotCalculatePriceTwap", "msg": "Could not calculate get_price_usd_unchecked()" }, { "code": 6164, "name": "ReferencePriceTooFarFromPoolPrice", "msg": "Reference price is too far from the current pool price" }, { "code": 6165, "name": "InvestCooldownNotElapsed", "msg": "Invest cooldown has not elapsed" }, { "code": 6166, "name": "InvestAmountBelowMinimum", "msg": "Uninvested value is below the minimum invest trigger" }, { "code": 6167, "name": "DepositAndInvestDisabled", "msg": "Deposit and invest is disabled on mainnet" } ] }