@marinade.finance/kamino-sdk
Version:
2,314 lines • 131 kB
JSON
{
"version": "0.1.0",
"name": "yvaults",
"instructions": [
{
"name": "initializeStrategy",
"accounts": [
{
"name": "adminAuthority",
"isMut": true,
"isSigner": true
},
{
"name": "strategy",
"isMut": true,
"isSigner": false
},
{
"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": "scopePriceId",
"isMut": false,
"isSigner": false
},
{
"name": "scopeProgramId",
"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": "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": "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": true
},
{
"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": "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": "poolTokenVaultA",
"isMut": true,
"isSigner": false
},
{
"name": "poolTokenVaultB",
"isMut": true,
"isSigner": false
},
{
"name": "scopePrices",
"isMut": false,
"isSigner": false
},
{
"name": "tokenInfos",
"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": "tokenAVault",
"isMut": true,
"isSigner": false
},
{
"name": "tokenBVault",
"isMut": true,
"isSigner": false
},
{
"name": "userTokenAAta",
"isMut": true,
"isSigner": false
},
{
"name": "userTokenBAta",
"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": "system",
"isMut": false,
"isSigner": false
}
],
"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": "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": "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": "baseVaultAuthority",
"isMut": true,
"isSigner": false
},
{
"name": "pool",
"isMut": true,
"isSigner": false
},
{
"name": "tokenProgram",
"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
}
],
"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": true,
"isSigner": false
},
{
"name": "tokenBMint",
"isMut": true,
"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": "poolProgram",
"isMut": false,
"isSigner": false
},
{
"name": "instructionSysvarAccount",
"isMut": false,
"isSigner": false
}
],
"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": "raydiumProtocolPositionOrBaseVaultAuthority",
"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": "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": "positionTokenAccount",
"isMut": true,
"isSigner": false
},
{
"name": "poolProgram",
"isMut": false,
"isSigner": false
},
{
"name": "instructionSysvarAccount",
"isMut": false,
"isSigner": false
}
],
"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": true,
"isSigner": false
},
{
"name": "tokenBMint",
"isMut": true,
"isSigner": false
},
{
"name": "scopePrices",
"isMut": false,
"isSigner": false
},
{
"name": "tokenInfos",
"isMut": false,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "poolProgram",
"isMut": false,
"isSigner": false
}
],
"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": "tokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "poolProgram",
"isMut": false,
"isSigner": false
},
{
"name": "instructionSysvarAccount",
"isMut": false,
"isSigner": false
}
],
"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": "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": "tokenProgram",
"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": "swapUnevenVaults",
"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": "baseVaultAuthority",
"isMut": true,
"isSigner": false
},
{
"name": "pool",
"isMut": true,
"isSigner": false
},
{
"name": "position",
"isMut": true,
"isSigner": false
},
{
"name": "raydiumPoolConfigOrBaseVaultAuthority",
"isMut": false,
"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": false,
"isSigner": false
},
{
"name": "poolProgram",
"isMut": false,
"isSigner": false
},
{
"name": "scopePrices",
"isMut": false,
"isSigner": false
},
{
"name": "tokenInfos",
"isMut": false,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "targetLimitBps",
"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": true,
"isSigner": false
},
{
"name": "tokenBMint",
"isMut": true,
"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": "poolProgram",
"isMut": false,
"isSigner": false
},
{
"name": "instructionSysvarAccount",
"isMut": false,
"isSigner": false
}
],
"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": "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": "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":