@kamino-finance/kliquidity-sdk
Version:
Typescript SDK for interacting with the Kamino Liquidity (kliquidity) protocol
7,039 lines • 220 kB
JSON
{
"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": true,
"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": "scopePrices",
"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": "scopePrices",
"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": "payer",
"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": "scopePrices",
"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": "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": "scopePrices",
"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": "scopePrices",
"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": "scopePrices",
"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": "scopePrices",
"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": "scopePrices",
"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": "scopePrices",
"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": "scopePrices",
"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": "scopePrices",
"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": []
}
],
"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": "scopePrices",
"type": "publicKey"
},
{
"name": "deprecated2",
"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": "padding1",
"type": {
"array": [
"u8",
6
]
}
},
{
"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": "swapUnevenAuthority",
"type": "publicKey"
},
{
"name": "tokenATokenProgram",
"type": "publicKey"
},
{
"name": "tokenBTokenProgram",
"type": "publicKey"
},
{
"name": "pendingAdmin",
"type": "publicKey"
},
{
"name": "padding3",
"type": "u64"
},
{
"name": "padding4",
"type": {
"array": [
"u128",
13
]
}
},
{
"name": "padding5",
"type": {
"array": [
"u128",
32
]
}
},
{
"name": "padding6",
"type": {
"array": [
"u128",
32
]
}
},
{
"name": "padding7",
"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": "scopePriceId",
"type": "publicKey"
},
{
"name": "swapRewardsDiscountBps",
"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": "padding",
"type": {
"array": [
"u64",
2035
]
}
}
]
}
},
{
"name": "CollateralInfos",
"type": {
"kind": "struct",
"fields": [
{
"name": "infos",
"type": {
"array": [
{
"defined": "CollateralInfo"
},
256
]
}
}
]
}
},
{
"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": "padding",
"type": {
"array": [
"u64",
8
]
}
}
]
}
},
{
"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": "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": "SwapDiscountBps"
},
{
"name": "ActionsAuthority"
},
{
"name": "DeprecatedTreasuryFeeVaults"
},
{
"name": "AdminAuthority"
},
{
"name": "BlockEmergencySwap"
},
{
"name": "BlockLocalAdmin"
},
{
"name": "UpdateTokenInfos"
},
{
"name": "ScopeProgramId"
},
{
"name": "ScopePriceId"
},
{
"name": "MinPerformanceFeeBps"
},
{
"name": "MinSwapUnevenSlippageToleranceBps"
},
{
"name": "MinReferencePriceSlippageToleranceBps"
},
{
"name": "ActionsAfterRebalanceDelaySeconds"
},
{
"name": "TreasuryFeeVaultReceiver"
}
]
}
},
{
"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": "UpdateSwapUnevenAuthority"
},
{
"name": "UpdatePendingStrategyAdmin"
}
]
}
},
{
"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": "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": "StrategyNotActiveWhenOpeningPosition",
"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"
}
]
}