Expand description
§Orca Whirlpools Client SDK
§Overview
This package provides developers with low-level functionalities for interacting with the Whirlpool Program on Solana. It serves as a foundational tool that allows developers to manage and integrate detailed operations into their Rust projects, particularly those related to Orca’s Whirlpool Program. This package offers granular control for advanced use cases.
§Compatibiltiy
- Compatible with
anchorversions^0.26but<0.30. If you enable theanchorfeature oforca_whirlpools_clientincargo.tomlwhile using a version of anchor that’s^0.30in your project, you may need to apply a lockfile patch to switch to a lower version:cargo update anchor:<current-version> --precise 0.29 - Compatible with
solana-programversions^1.18.0but<3.0.0. By default, Cargo will install the latest version of Solana SDK^v2. This can cause dependcy issues when using older versions. To solve this you can apply a lockfile patch with the following command:cargo update solana-program:<current-version> --precise <required-version> - NOTE: if you are dealing with compatibility issues for both
anchorandsolana-program, the order of the patches matters. First patchanchor, then patchsolana-program.
§Key Features
- Codama Client: The package includes a set of generated client code based on the Whirlpool Program IDL. This ensures all the necessary program information is easily accessible in a structured format. It handles all decoding and encoding of instructions and account data, making it much easier to interact with the program.
- PDA (Program Derived Addresses) Utilities: This feature contains utility functions that help derive Program Derived Addresses (PDAs) for accounts within the Whirlpool Program, simplifying address derivation for developers.
§Installation
cargo add orca_whirlpools_client§Usage
Here are some basic examples of how to use the package:
§Deriving a PDA
To derive a PDA for a Whirlpool account, you can use the get_whirlpool_address PDA utility.
use orca_whirlpools_client::get_whirlpool_address;
use solana_sdk::pubkey::Pubkey;
use std::str::FromStr;
fn main() {
let whirlpool_config_address = Pubkey::from_str("FcrweFY1G9HJAHG5inkGB6pKg1HZ6x9UC2WioAfWrGkR").unwrap();
let token_mint_a = Pubkey::from_str("So11111111111111111111111111111111111111112").unwrap(); // wSOL
let token_mint_b = Pubkey::from_str("BRjpCHtyQLNCo8gqRUr8jtdAj5AjPYQaoqbvcZiHok1k").unwrap(); // DevUSDC
let tick_spacing = 64;
let (whirlpool_pda, _bump) = get_whirlpool_address(&whirlpool_config_address, &token_mint_a, &token_mint_b, tick_spacing).unwrap();
println!("{:?}", whirlpool_pda);
}§Example: Initialize Pool Instruction
The following example demonstrates how to create an InitializePool instruction:
use orca_whirlpools_client::{
instructions::InitializePoolV2Builder,
get_fee_tier_address,
get_token_badge_address,
get_whirlpool_address,
};
use solana_sdk::{
pubkey::Pubkey,
signer::{keypair::Keypair, Signer},
};
use std::str::FromStr;
fn main() {
let whirlpool_config_address = Pubkey::from_str("FcrweFY1G9HJAHG5inkGB6pKg1HZ6x9UC2WioAfWrGkR").unwrap();
let token_mint_a = Pubkey::from_str("So11111111111111111111111111111111111111112").unwrap(); // wSOL
let token_mint_b = Pubkey::from_str("BRjpCHtyQLNCo8gqRUr8jtdAj5AjPYQaoqbvcZiHok1k").unwrap(); // DevUSDC
let (token_badge_a, _bump) = get_token_badge_address(&whirlpool_config_address, &token_mint_a).unwrap();
let (token_badge_b, _bump) = get_token_badge_address(&whirlpool_config_address, &token_mint_b).unwrap();
let wallet = Keypair::new(); // CAUTION: this wallet is not persistent
let tick_spacing = 8;
let (whirlpool_pda, _bump) = get_whirlpool_address(&whirlpool_config_address, &token_mint_a, &token_mint_b, tick_spacing).unwrap();
let token_vault_a = Keypair::new();
let token_vault_b = Keypair::new();
let (fee_tier, _bump) = get_fee_tier_address(&whirlpool_config_address, tick_spacing).unwrap();
let token_program_a = Pubkey::from_str("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA").unwrap();
let token_program_b = Pubkey::from_str("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA").unwrap();
let initial_sqrt_price = 7459106261056563200u128;
let initialize_pool_v2_instruction = InitializePoolV2Builder::new()
.whirlpools_config(whirlpool_config_address)
.token_mint_a(token_mint_a)
.token_mint_b(token_mint_b)
.token_badge_a(token_badge_a)
.token_badge_b(token_badge_b)
.funder(wallet.pubkey())
.whirlpool(whirlpool_pda)
.token_vault_a(token_vault_a.pubkey())
.token_vault_b(token_vault_b.pubkey())
.fee_tier(fee_tier)
.token_program_a(token_program_a)
.token_program_b(token_program_b)
.tick_spacing(tick_spacing)
.initial_sqrt_price(initial_sqrt_price)
.instruction();
println!("{:?}", initialize_pool_v2_instruction);
}Structs§
- Adaptive
FeeConstants - Adaptive
FeeTier - Adaptive
FeeVariables - Close
Bundled Position - Accounts.
- Close
Bundled Position Builder - Instruction builder for
CloseBundledPosition. - Close
Bundled Position Cpi close_bundled_positionCPI instruction.- Close
Bundled Position CpiAccounts close_bundled_positionCPI accounts.- Close
Bundled Position CpiBuilder - Instruction builder for
CloseBundledPositionvia CPI. - Close
Bundled Position Instruction Args - Close
Bundled Position Instruction Data - Close
Position - Accounts.
- Close
Position Builder - Instruction builder for
ClosePosition. - Close
Position Cpi close_positionCPI instruction.- Close
Position CpiAccounts close_positionCPI accounts.- Close
Position CpiBuilder - Instruction builder for
ClosePositionvia CPI. - Close
Position Instruction Data - Close
Position With Token Extensions - Accounts.
- Close
Position With Token Extensions Builder - Instruction builder for
ClosePositionWithTokenExtensions. - Close
Position With Token Extensions Cpi close_position_with_token_extensionsCPI instruction.- Close
Position With Token Extensions CpiAccounts close_position_with_token_extensionsCPI accounts.- Close
Position With Token Extensions CpiBuilder - Instruction builder for
ClosePositionWithTokenExtensionsvia CPI. - Close
Position With Token Extensions Instruction Data - Collect
Fees - Accounts.
- Collect
Fees Builder - Instruction builder for
CollectFees. - Collect
Fees Cpi collect_feesCPI instruction.- Collect
Fees CpiAccounts collect_feesCPI accounts.- Collect
Fees CpiBuilder - Instruction builder for
CollectFeesvia CPI. - Collect
Fees Instruction Data - Collect
Fees V2 - Accounts.
- Collect
Fees V2Builder - Instruction builder for
CollectFeesV2. - Collect
Fees V2Cpi collect_fees_v2CPI instruction.- Collect
Fees V2Cpi Accounts collect_fees_v2CPI accounts.- Collect
Fees V2Cpi Builder - Instruction builder for
CollectFeesV2via CPI. - Collect
Fees V2Instruction Args - Collect
Fees V2Instruction Data - Collect
Protocol Fees - Accounts.
- Collect
Protocol Fees Builder - Instruction builder for
CollectProtocolFees. - Collect
Protocol Fees Cpi collect_protocol_feesCPI instruction.- Collect
Protocol Fees CpiAccounts collect_protocol_feesCPI accounts.- Collect
Protocol Fees CpiBuilder - Instruction builder for
CollectProtocolFeesvia CPI. - Collect
Protocol Fees Instruction Data - Collect
Protocol Fees V2 - Accounts.
- Collect
Protocol Fees V2Builder - Instruction builder for
CollectProtocolFeesV2. - Collect
Protocol Fees V2Cpi collect_protocol_fees_v2CPI instruction.- Collect
Protocol Fees V2Cpi Accounts collect_protocol_fees_v2CPI accounts.- Collect
Protocol Fees V2Cpi Builder - Instruction builder for
CollectProtocolFeesV2via CPI. - Collect
Protocol Fees V2Instruction Args - Collect
Protocol Fees V2Instruction Data - Collect
Reward - Accounts.
- Collect
Reward Builder - Instruction builder for
CollectReward. - Collect
Reward Cpi collect_rewardCPI instruction.- Collect
Reward CpiAccounts collect_rewardCPI accounts.- Collect
Reward CpiBuilder - Instruction builder for
CollectRewardvia CPI. - Collect
Reward Instruction Args - Collect
Reward Instruction Data - Collect
Reward V2 - Accounts.
- Collect
Reward V2Builder - Instruction builder for
CollectRewardV2. - Collect
Reward V2Cpi collect_reward_v2CPI instruction.- Collect
Reward V2Cpi Accounts collect_reward_v2CPI accounts.- Collect
Reward V2Cpi Builder - Instruction builder for
CollectRewardV2via CPI. - Collect
Reward V2Instruction Args - Collect
Reward V2Instruction Data - Decoded
Account - Decrease
Liquidity - Accounts.
- Decrease
Liquidity Builder - Instruction builder for
DecreaseLiquidity. - Decrease
Liquidity Cpi decrease_liquidityCPI instruction.- Decrease
Liquidity CpiAccounts decrease_liquidityCPI accounts.- Decrease
Liquidity CpiBuilder - Instruction builder for
DecreaseLiquidityvia CPI. - Decrease
Liquidity Instruction Args - Decrease
Liquidity Instruction Data - Decrease
Liquidity V2 - Accounts.
- Decrease
Liquidity V2Builder - Instruction builder for
DecreaseLiquidityV2. - Decrease
Liquidity V2Cpi decrease_liquidity_v2CPI instruction.- Decrease
Liquidity V2Cpi Accounts decrease_liquidity_v2CPI accounts.- Decrease
Liquidity V2Cpi Builder - Instruction builder for
DecreaseLiquidityV2via CPI. - Decrease
Liquidity V2Instruction Args - Decrease
Liquidity V2Instruction Data - Delete
Position Bundle - Accounts.
- Delete
Position Bundle Builder - Instruction builder for
DeletePositionBundle. - Delete
Position Bundle Cpi delete_position_bundleCPI instruction.- Delete
Position Bundle CpiAccounts delete_position_bundleCPI accounts.- Delete
Position Bundle CpiBuilder - Instruction builder for
DeletePositionBundlevia CPI. - Delete
Position Bundle Instruction Data - Delete
Token Badge - Accounts.
- Delete
Token Badge Builder - Instruction builder for
DeleteTokenBadge. - Delete
Token Badge Cpi delete_token_badgeCPI instruction.- Delete
Token Badge CpiAccounts delete_token_badgeCPI accounts.- Delete
Token Badge CpiBuilder - Instruction builder for
DeleteTokenBadgevia CPI. - Delete
Token Badge Instruction Data - Dynamic
Tick Array - Dynamic
Tick Data - FeeTier
- Fixed
Tick Array - IdlInclude
- Accounts.
- IdlInclude
Builder - Instruction builder for
IdlInclude. - IdlInclude
Cpi idl_includeCPI instruction.- IdlInclude
CpiAccounts idl_includeCPI accounts.- IdlInclude
CpiBuilder - Instruction builder for
IdlIncludevia CPI. - IdlInclude
Instruction Data - Increase
Liquidity - Accounts.
- Increase
Liquidity Builder - Instruction builder for
IncreaseLiquidity. - Increase
Liquidity ByToken Amounts V2 - Accounts.
- Increase
Liquidity ByToken Amounts V2Builder - Instruction builder for
IncreaseLiquidityByTokenAmountsV2. - Increase
Liquidity ByToken Amounts V2Cpi increase_liquidity_by_token_amounts_v2CPI instruction.- Increase
Liquidity ByToken Amounts V2Cpi Accounts increase_liquidity_by_token_amounts_v2CPI accounts.- Increase
Liquidity ByToken Amounts V2Cpi Builder - Instruction builder for
IncreaseLiquidityByTokenAmountsV2via CPI. - Increase
Liquidity ByToken Amounts V2Instruction Args - Increase
Liquidity ByToken Amounts V2Instruction Data - Increase
Liquidity Cpi increase_liquidityCPI instruction.- Increase
Liquidity CpiAccounts increase_liquidityCPI accounts.- Increase
Liquidity CpiBuilder - Instruction builder for
IncreaseLiquidityvia CPI. - Increase
Liquidity Instruction Args - Increase
Liquidity Instruction Data - Increase
Liquidity V2 - Accounts.
- Increase
Liquidity V2Builder - Instruction builder for
IncreaseLiquidityV2. - Increase
Liquidity V2Cpi increase_liquidity_v2CPI instruction.- Increase
Liquidity V2Cpi Accounts increase_liquidity_v2CPI accounts.- Increase
Liquidity V2Cpi Builder - Instruction builder for
IncreaseLiquidityV2via CPI. - Increase
Liquidity V2Instruction Args - Increase
Liquidity V2Instruction Data - Initialize
Adaptive FeeTier - Accounts.
- Initialize
Adaptive FeeTier Builder - Instruction builder for
InitializeAdaptiveFeeTier. - Initialize
Adaptive FeeTier Cpi initialize_adaptive_fee_tierCPI instruction.- Initialize
Adaptive FeeTier CpiAccounts initialize_adaptive_fee_tierCPI accounts.- Initialize
Adaptive FeeTier CpiBuilder - Instruction builder for
InitializeAdaptiveFeeTiervia CPI. - Initialize
Adaptive FeeTier Instruction Args - Initialize
Adaptive FeeTier Instruction Data - Initialize
Config - Accounts.
- Initialize
Config Builder - Instruction builder for
InitializeConfig. - Initialize
Config Cpi initialize_configCPI instruction.- Initialize
Config CpiAccounts initialize_configCPI accounts.- Initialize
Config CpiBuilder - Instruction builder for
InitializeConfigvia CPI. - Initialize
Config Extension - Accounts.
- Initialize
Config Extension Builder - Instruction builder for
InitializeConfigExtension. - Initialize
Config Extension Cpi initialize_config_extensionCPI instruction.- Initialize
Config Extension CpiAccounts initialize_config_extensionCPI accounts.- Initialize
Config Extension CpiBuilder - Instruction builder for
InitializeConfigExtensionvia CPI. - Initialize
Config Extension Instruction Data - Initialize
Config Instruction Args - Initialize
Config Instruction Data - Initialize
Dynamic Tick Array - Accounts.
- Initialize
Dynamic Tick Array Builder - Instruction builder for
InitializeDynamicTickArray. - Initialize
Dynamic Tick Array Cpi initialize_dynamic_tick_arrayCPI instruction.- Initialize
Dynamic Tick Array CpiAccounts initialize_dynamic_tick_arrayCPI accounts.- Initialize
Dynamic Tick Array CpiBuilder - Instruction builder for
InitializeDynamicTickArrayvia CPI. - Initialize
Dynamic Tick Array Instruction Args - Initialize
Dynamic Tick Array Instruction Data - Initialize
FeeTier - Accounts.
- Initialize
FeeTier Builder - Instruction builder for
InitializeFeeTier. - Initialize
FeeTier Cpi initialize_fee_tierCPI instruction.- Initialize
FeeTier CpiAccounts initialize_fee_tierCPI accounts.- Initialize
FeeTier CpiBuilder - Instruction builder for
InitializeFeeTiervia CPI. - Initialize
FeeTier Instruction Args - Initialize
FeeTier Instruction Data - Initialize
Pool - Accounts.
- Initialize
Pool Builder - Instruction builder for
InitializePool. - Initialize
Pool Cpi initialize_poolCPI instruction.- Initialize
Pool CpiAccounts initialize_poolCPI accounts.- Initialize
Pool CpiBuilder - Instruction builder for
InitializePoolvia CPI. - Initialize
Pool Instruction Args - Initialize
Pool Instruction Data - Initialize
Pool V2 - Accounts.
- Initialize
Pool V2Builder - Instruction builder for
InitializePoolV2. - Initialize
Pool V2Cpi initialize_pool_v2CPI instruction.- Initialize
Pool V2Cpi Accounts initialize_pool_v2CPI accounts.- Initialize
Pool V2Cpi Builder - Instruction builder for
InitializePoolV2via CPI. - Initialize
Pool V2Instruction Args - Initialize
Pool V2Instruction Data - Initialize
Pool With Adaptive Fee - Accounts.
- Initialize
Pool With Adaptive FeeBuilder - Instruction builder for
InitializePoolWithAdaptiveFee. - Initialize
Pool With Adaptive FeeCpi initialize_pool_with_adaptive_feeCPI instruction.- Initialize
Pool With Adaptive FeeCpi Accounts initialize_pool_with_adaptive_feeCPI accounts.- Initialize
Pool With Adaptive FeeCpi Builder - Instruction builder for
InitializePoolWithAdaptiveFeevia CPI. - Initialize
Pool With Adaptive FeeInstruction Args - Initialize
Pool With Adaptive FeeInstruction Data - Initialize
Position Bundle - Accounts.
- Initialize
Position Bundle Builder - Instruction builder for
InitializePositionBundle. - Initialize
Position Bundle Cpi initialize_position_bundleCPI instruction.- Initialize
Position Bundle CpiAccounts initialize_position_bundleCPI accounts.- Initialize
Position Bundle CpiBuilder - Instruction builder for
InitializePositionBundlevia CPI. - Initialize
Position Bundle Instruction Data - Initialize
Position Bundle With Metadata - Accounts.
- Initialize
Position Bundle With Metadata Builder - Instruction builder for
InitializePositionBundleWithMetadata. - Initialize
Position Bundle With Metadata Cpi initialize_position_bundle_with_metadataCPI instruction.- Initialize
Position Bundle With Metadata CpiAccounts initialize_position_bundle_with_metadataCPI accounts.- Initialize
Position Bundle With Metadata CpiBuilder - Instruction builder for
InitializePositionBundleWithMetadatavia CPI. - Initialize
Position Bundle With Metadata Instruction Data - Initialize
Reward - Accounts.
- Initialize
Reward Builder - Instruction builder for
InitializeReward. - Initialize
Reward Cpi initialize_rewardCPI instruction.- Initialize
Reward CpiAccounts initialize_rewardCPI accounts.- Initialize
Reward CpiBuilder - Instruction builder for
InitializeRewardvia CPI. - Initialize
Reward Instruction Args - Initialize
Reward Instruction Data - Initialize
Reward V2 - Accounts.
- Initialize
Reward V2Builder - Instruction builder for
InitializeRewardV2. - Initialize
Reward V2Cpi initialize_reward_v2CPI instruction.- Initialize
Reward V2Cpi Accounts initialize_reward_v2CPI accounts.- Initialize
Reward V2Cpi Builder - Instruction builder for
InitializeRewardV2via CPI. - Initialize
Reward V2Instruction Args - Initialize
Reward V2Instruction Data - Initialize
Tick Array - Accounts.
- Initialize
Tick Array Builder - Instruction builder for
InitializeTickArray. - Initialize
Tick Array Cpi initialize_tick_arrayCPI instruction.- Initialize
Tick Array CpiAccounts initialize_tick_arrayCPI accounts.- Initialize
Tick Array CpiBuilder - Instruction builder for
InitializeTickArrayvia CPI. - Initialize
Tick Array Instruction Args - Initialize
Tick Array Instruction Data - Initialize
Token Badge - Accounts.
- Initialize
Token Badge Builder - Instruction builder for
InitializeTokenBadge. - Initialize
Token Badge Cpi initialize_token_badgeCPI instruction.- Initialize
Token Badge CpiAccounts initialize_token_badgeCPI accounts.- Initialize
Token Badge CpiBuilder - Instruction builder for
InitializeTokenBadgevia CPI. - Initialize
Token Badge Instruction Data - Liquidity
Decreased - Liquidity
Increased - Liquidity
Repositioned - Lock
Config - Lock
Position - Accounts.
- Lock
Position Builder - Instruction builder for
LockPosition. - Lock
Position Cpi lock_positionCPI instruction.- Lock
Position CpiAccounts lock_positionCPI accounts.- Lock
Position CpiBuilder - Instruction builder for
LockPositionvia CPI. - Lock
Position Instruction Args - Lock
Position Instruction Data - Migrate
Repurpose Reward Authority Space - Accounts.
- Migrate
Repurpose Reward Authority Space Builder - Instruction builder for
MigrateRepurposeRewardAuthoritySpace. - Migrate
Repurpose Reward Authority Space Cpi migrate_repurpose_reward_authority_spaceCPI instruction.- Migrate
Repurpose Reward Authority Space CpiAccounts migrate_repurpose_reward_authority_spaceCPI accounts.- Migrate
Repurpose Reward Authority Space CpiBuilder - Instruction builder for
MigrateRepurposeRewardAuthoritySpacevia CPI. - Migrate
Repurpose Reward Authority Space Instruction Data - Open
Bundled Position - Accounts.
- Open
Bundled Position Builder - Instruction builder for
OpenBundledPosition. - Open
Bundled Position Cpi open_bundled_positionCPI instruction.- Open
Bundled Position CpiAccounts open_bundled_positionCPI accounts.- Open
Bundled Position CpiBuilder - Instruction builder for
OpenBundledPositionvia CPI. - Open
Bundled Position Instruction Args - Open
Bundled Position Instruction Data - Open
Position - Accounts.
- Open
Position Builder - Instruction builder for
OpenPosition. - Open
Position Cpi open_positionCPI instruction.- Open
Position CpiAccounts open_positionCPI accounts.- Open
Position CpiBuilder - Instruction builder for
OpenPositionvia CPI. - Open
Position Instruction Args - Open
Position Instruction Data - Open
Position With Metadata - Accounts.
- Open
Position With Metadata Builder - Instruction builder for
OpenPositionWithMetadata. - Open
Position With Metadata Cpi open_position_with_metadataCPI instruction.- Open
Position With Metadata CpiAccounts open_position_with_metadataCPI accounts.- Open
Position With Metadata CpiBuilder - Instruction builder for
OpenPositionWithMetadatavia CPI. - Open
Position With Metadata Instruction Args - Open
Position With Metadata Instruction Data - Open
Position With Token Extensions - Accounts.
- Open
Position With Token Extensions Builder - Instruction builder for
OpenPositionWithTokenExtensions. - Open
Position With Token Extensions Cpi open_position_with_token_extensionsCPI instruction.- Open
Position With Token Extensions CpiAccounts open_position_with_token_extensionsCPI accounts.- Open
Position With Token Extensions CpiBuilder - Instruction builder for
OpenPositionWithTokenExtensionsvia CPI. - Open
Position With Token Extensions Instruction Args - Open
Position With Token Extensions Instruction Data - Oracle
- Pool
Initialized - Position
- Position
Bundle - Position
Opened - Position
Reward Info - Remaining
Accounts Info - Remaining
Accounts Slice - Reposition
Liquidity V2 - Accounts.
- Reposition
Liquidity V2Builder - Instruction builder for
RepositionLiquidityV2. - Reposition
Liquidity V2Cpi reposition_liquidity_v2CPI instruction.- Reposition
Liquidity V2Cpi Accounts reposition_liquidity_v2CPI accounts.- Reposition
Liquidity V2Cpi Builder - Instruction builder for
RepositionLiquidityV2via CPI. - Reposition
Liquidity V2Instruction Args - Reposition
Liquidity V2Instruction Data - Reset
Position Range - Accounts.
- Reset
Position Range Builder - Instruction builder for
ResetPositionRange. - Reset
Position Range Cpi reset_position_rangeCPI instruction.- Reset
Position Range CpiAccounts reset_position_rangeCPI accounts.- Reset
Position Range CpiBuilder - Instruction builder for
ResetPositionRangevia CPI. - Reset
Position Range Instruction Args - Reset
Position Range Instruction Data - SetAdaptive
FeeConstants - Accounts.
- SetAdaptive
FeeConstants Builder - Instruction builder for
SetAdaptiveFeeConstants. - SetAdaptive
FeeConstants Cpi set_adaptive_fee_constantsCPI instruction.- SetAdaptive
FeeConstants CpiAccounts set_adaptive_fee_constantsCPI accounts.- SetAdaptive
FeeConstants CpiBuilder - Instruction builder for
SetAdaptiveFeeConstantsvia CPI. - SetAdaptive
FeeConstants Instruction Args - SetAdaptive
FeeConstants Instruction Data - SetCollect
Protocol Fees Authority - Accounts.
- SetCollect
Protocol Fees Authority Builder - Instruction builder for
SetCollectProtocolFeesAuthority. - SetCollect
Protocol Fees Authority Cpi set_collect_protocol_fees_authorityCPI instruction.- SetCollect
Protocol Fees Authority CpiAccounts set_collect_protocol_fees_authorityCPI accounts.- SetCollect
Protocol Fees Authority CpiBuilder - Instruction builder for
SetCollectProtocolFeesAuthorityvia CPI. - SetCollect
Protocol Fees Authority Instruction Data - SetConfig
Extension Authority - Accounts.
- SetConfig
Extension Authority Builder - Instruction builder for
SetConfigExtensionAuthority. - SetConfig
Extension Authority Cpi set_config_extension_authorityCPI instruction.- SetConfig
Extension Authority CpiAccounts set_config_extension_authorityCPI accounts.- SetConfig
Extension Authority CpiBuilder - Instruction builder for
SetConfigExtensionAuthorityvia CPI. - SetConfig
Extension Authority Instruction Data - SetConfig
Feature Flag - Accounts.
- SetConfig
Feature Flag Builder - Instruction builder for
SetConfigFeatureFlag. - SetConfig
Feature Flag Cpi set_config_feature_flagCPI instruction.- SetConfig
Feature Flag CpiAccounts set_config_feature_flagCPI accounts.- SetConfig
Feature Flag CpiBuilder - Instruction builder for
SetConfigFeatureFlagvia CPI. - SetConfig
Feature Flag Instruction Args - SetConfig
Feature Flag Instruction Data - SetDefault
Base FeeRate - Accounts.
- SetDefault
Base FeeRate Builder - Instruction builder for
SetDefaultBaseFeeRate. - SetDefault
Base FeeRate Cpi set_default_base_fee_rateCPI instruction.- SetDefault
Base FeeRate CpiAccounts set_default_base_fee_rateCPI accounts.- SetDefault
Base FeeRate CpiBuilder - Instruction builder for
SetDefaultBaseFeeRatevia CPI. - SetDefault
Base FeeRate Instruction Args - SetDefault
Base FeeRate Instruction Data - SetDefault
FeeRate - Accounts.
- SetDefault
FeeRate Builder - Instruction builder for
SetDefaultFeeRate. - SetDefault
FeeRate Cpi set_default_fee_rateCPI instruction.- SetDefault
FeeRate CpiAccounts set_default_fee_rateCPI accounts.- SetDefault
FeeRate CpiBuilder - Instruction builder for
SetDefaultFeeRatevia CPI. - SetDefault
FeeRate Instruction Args - SetDefault
FeeRate Instruction Data - SetDefault
Protocol FeeRate - Accounts.
- SetDefault
Protocol FeeRate Builder - Instruction builder for
SetDefaultProtocolFeeRate. - SetDefault
Protocol FeeRate Cpi set_default_protocol_fee_rateCPI instruction.- SetDefault
Protocol FeeRate CpiAccounts set_default_protocol_fee_rateCPI accounts.- SetDefault
Protocol FeeRate CpiBuilder - Instruction builder for
SetDefaultProtocolFeeRatevia CPI. - SetDefault
Protocol FeeRate Instruction Args - SetDefault
Protocol FeeRate Instruction Data - SetDelegated
FeeAuthority - Accounts.
- SetDelegated
FeeAuthority Builder - Instruction builder for
SetDelegatedFeeAuthority. - SetDelegated
FeeAuthority Cpi set_delegated_fee_authorityCPI instruction.- SetDelegated
FeeAuthority CpiAccounts set_delegated_fee_authorityCPI accounts.- SetDelegated
FeeAuthority CpiBuilder - Instruction builder for
SetDelegatedFeeAuthorityvia CPI. - SetDelegated
FeeAuthority Instruction Data - SetFee
Authority - Accounts.
- SetFee
Authority Builder - Instruction builder for
SetFeeAuthority. - SetFee
Authority Cpi set_fee_authorityCPI instruction.- SetFee
Authority CpiAccounts set_fee_authorityCPI accounts.- SetFee
Authority CpiBuilder - Instruction builder for
SetFeeAuthorityvia CPI. - SetFee
Authority Instruction Data - SetFee
Rate - Accounts.
- SetFee
Rate Builder - Instruction builder for
SetFeeRate. - SetFee
Rate ByDelegated FeeAuthority - Accounts.
- SetFee
Rate ByDelegated FeeAuthority Builder - Instruction builder for
SetFeeRateByDelegatedFeeAuthority. - SetFee
Rate ByDelegated FeeAuthority Cpi set_fee_rate_by_delegated_fee_authorityCPI instruction.- SetFee
Rate ByDelegated FeeAuthority CpiAccounts set_fee_rate_by_delegated_fee_authorityCPI accounts.- SetFee
Rate ByDelegated FeeAuthority CpiBuilder - Instruction builder for
SetFeeRateByDelegatedFeeAuthorityvia CPI. - SetFee
Rate ByDelegated FeeAuthority Instruction Args - SetFee
Rate ByDelegated FeeAuthority Instruction Data - SetFee
Rate Cpi set_fee_rateCPI instruction.- SetFee
Rate CpiAccounts set_fee_rateCPI accounts.- SetFee
Rate CpiBuilder - Instruction builder for
SetFeeRatevia CPI. - SetFee
Rate Instruction Args - SetFee
Rate Instruction Data - SetInitialize
Pool Authority - Accounts.
- SetInitialize
Pool Authority Builder - Instruction builder for
SetInitializePoolAuthority. - SetInitialize
Pool Authority Cpi set_initialize_pool_authorityCPI instruction.- SetInitialize
Pool Authority CpiAccounts set_initialize_pool_authorityCPI accounts.- SetInitialize
Pool Authority CpiBuilder - Instruction builder for
SetInitializePoolAuthorityvia CPI. - SetInitialize
Pool Authority Instruction Data - SetPreset
Adaptive FeeConstants - Accounts.
- SetPreset
Adaptive FeeConstants Builder - Instruction builder for
SetPresetAdaptiveFeeConstants. - SetPreset
Adaptive FeeConstants Cpi set_preset_adaptive_fee_constantsCPI instruction.- SetPreset
Adaptive FeeConstants CpiAccounts set_preset_adaptive_fee_constantsCPI accounts.- SetPreset
Adaptive FeeConstants CpiBuilder - Instruction builder for
SetPresetAdaptiveFeeConstantsvia CPI. - SetPreset
Adaptive FeeConstants Instruction Args - SetPreset
Adaptive FeeConstants Instruction Data - SetProtocol
FeeRate - Accounts.
- SetProtocol
FeeRate Builder - Instruction builder for
SetProtocolFeeRate. - SetProtocol
FeeRate Cpi set_protocol_fee_rateCPI instruction.- SetProtocol
FeeRate CpiAccounts set_protocol_fee_rateCPI accounts.- SetProtocol
FeeRate CpiBuilder - Instruction builder for
SetProtocolFeeRatevia CPI. - SetProtocol
FeeRate Instruction Args - SetProtocol
FeeRate Instruction Data - SetReward
Authority - Accounts.
- SetReward
Authority Builder - Instruction builder for
SetRewardAuthority. - SetReward
Authority BySuper Authority - Accounts.
- SetReward
Authority BySuper Authority Builder - Instruction builder for
SetRewardAuthorityBySuperAuthority. - SetReward
Authority BySuper Authority Cpi set_reward_authority_by_super_authorityCPI instruction.- SetReward
Authority BySuper Authority CpiAccounts set_reward_authority_by_super_authorityCPI accounts.- SetReward
Authority BySuper Authority CpiBuilder - Instruction builder for
SetRewardAuthorityBySuperAuthorityvia CPI. - SetReward
Authority BySuper Authority Instruction Args - SetReward
Authority BySuper Authority Instruction Data - SetReward
Authority Cpi set_reward_authorityCPI instruction.- SetReward
Authority CpiAccounts set_reward_authorityCPI accounts.- SetReward
Authority CpiBuilder - Instruction builder for
SetRewardAuthorityvia CPI. - SetReward
Authority Instruction Args - SetReward
Authority Instruction Data - SetReward
Emissions - Accounts.
- SetReward
Emissions Builder - Instruction builder for
SetRewardEmissions. - SetReward
Emissions Cpi set_reward_emissionsCPI instruction.- SetReward
Emissions CpiAccounts set_reward_emissionsCPI accounts.- SetReward
Emissions CpiBuilder - Instruction builder for
SetRewardEmissionsvia CPI. - SetReward
Emissions Instruction Args - SetReward
Emissions Instruction Data - SetReward
Emissions Super Authority - Accounts.
- SetReward
Emissions Super Authority Builder - Instruction builder for
SetRewardEmissionsSuperAuthority. - SetReward
Emissions Super Authority Cpi set_reward_emissions_super_authorityCPI instruction.- SetReward
Emissions Super Authority CpiAccounts set_reward_emissions_super_authorityCPI accounts.- SetReward
Emissions Super Authority CpiBuilder - Instruction builder for
SetRewardEmissionsSuperAuthorityvia CPI. - SetReward
Emissions Super Authority Instruction Data - SetReward
Emissions V2 - Accounts.
- SetReward
Emissions V2Builder - Instruction builder for
SetRewardEmissionsV2. - SetReward
Emissions V2Cpi set_reward_emissions_v2CPI instruction.- SetReward
Emissions V2Cpi Accounts set_reward_emissions_v2CPI accounts.- SetReward
Emissions V2Cpi Builder - Instruction builder for
SetRewardEmissionsV2via CPI. - SetReward
Emissions V2Instruction Args - SetReward
Emissions V2Instruction Data - SetToken
Badge Attribute - Accounts.
- SetToken
Badge Attribute Builder - Instruction builder for
SetTokenBadgeAttribute. - SetToken
Badge Attribute Cpi set_token_badge_attributeCPI instruction.- SetToken
Badge Attribute CpiAccounts set_token_badge_attributeCPI accounts.- SetToken
Badge Attribute CpiBuilder - Instruction builder for
SetTokenBadgeAttributevia CPI. - SetToken
Badge Attribute Instruction Args - SetToken
Badge Attribute Instruction Data - SetToken
Badge Authority - Accounts.
- SetToken
Badge Authority Builder - Instruction builder for
SetTokenBadgeAuthority. - SetToken
Badge Authority Cpi set_token_badge_authorityCPI instruction.- SetToken
Badge Authority CpiAccounts set_token_badge_authorityCPI accounts.- SetToken
Badge Authority CpiBuilder - Instruction builder for
SetTokenBadgeAuthorityvia CPI. - SetToken
Badge Authority Instruction Data - Swap
- Accounts.
- Swap
Builder - Instruction builder for
Swap. - SwapCpi
swapCPI instruction.- Swap
CpiAccounts swapCPI accounts.- Swap
CpiBuilder - Instruction builder for
Swapvia CPI. - Swap
Instruction Args - Swap
Instruction Data - SwapV2
- Accounts.
- Swap
V2Builder - Instruction builder for
SwapV2. - Swap
V2Cpi swap_v2CPI instruction.- Swap
V2Cpi Accounts swap_v2CPI accounts.- Swap
V2Cpi Builder - Instruction builder for
SwapV2via CPI. - Swap
V2Instruction Args - Swap
V2Instruction Data - Tick
- Token
Badge - Traded
- Transfer
Locked Position - Accounts.
- Transfer
Locked Position Builder - Instruction builder for
TransferLockedPosition. - Transfer
Locked Position Cpi transfer_locked_positionCPI instruction.- Transfer
Locked Position CpiAccounts transfer_locked_positionCPI accounts.- Transfer
Locked Position CpiBuilder - Instruction builder for
TransferLockedPositionvia CPI. - Transfer
Locked Position Instruction Data - TwoHop
Swap - Accounts.
- TwoHop
Swap Builder - Instruction builder for
TwoHopSwap. - TwoHop
Swap Cpi two_hop_swapCPI instruction.- TwoHop
Swap CpiAccounts two_hop_swapCPI accounts.- TwoHop
Swap CpiBuilder - Instruction builder for
TwoHopSwapvia CPI. - TwoHop
Swap Instruction Args - TwoHop
Swap Instruction Data - TwoHop
Swap V2 - Accounts.
- TwoHop
Swap V2Builder - Instruction builder for
TwoHopSwapV2. - TwoHop
Swap V2Cpi two_hop_swap_v2CPI instruction.- TwoHop
Swap V2Cpi Accounts two_hop_swap_v2CPI accounts.- TwoHop
Swap V2Cpi Builder - Instruction builder for
TwoHopSwapV2via CPI. - TwoHop
Swap V2Instruction Args - TwoHop
Swap V2Instruction Data - Update
Fees AndRewards - Accounts.
- Update
Fees AndRewards Builder - Instruction builder for
UpdateFeesAndRewards. - Update
Fees AndRewards Cpi update_fees_and_rewardsCPI instruction.- Update
Fees AndRewards CpiAccounts update_fees_and_rewardsCPI accounts.- Update
Fees AndRewards CpiBuilder - Instruction builder for
UpdateFeesAndRewardsvia CPI. - Update
Fees AndRewards Instruction Data - Whirlpool
- Whirlpool
Deployment - Identifies a deployed whirlpool program and the config account it operates against.
- Whirlpool
Reward Info - Stores the state relevant for tracking liquidity mining rewards at the
Whirlpoollevel. These values are used in conjunction withPositionRewardInfo,Tick.reward_growths_outside, andWhirlpool.reward_last_updated_timestampto determine how many rewards are earned by open positions. - Whirlpools
Config - Whirlpools
Config Extension
Enums§
- Accounts
Type - Adaptive
FeeTier Filter - Config
Feature Flag - Dynamic
Tick - Dynamic
Tick Array Filter - FeeTier
Filter - Fixed
Tick Array Filter - Increase
Liquidity Method - Lock
Config Filter - Lock
Type - Lock
Type Label - Maybe
Account - Oracle
Filter - Position
Bundle Filter - Position
Filter - Reposition
Liquidity Method - Tick
Array - Tick
Array Filter - Token
Badge Attribute - Token
Badge Filter - Whirlpool
Error - Whirlpool
Filter - Whirlpools
Config Extension Filter - Whirlpools
Config Filter
Constants§
- ADAPTIVE_
FEE_ TIER_ DISCRIMINATOR - CLOSE_
BUNDLED_ POSITION_ DISCRIMINATOR - CLOSE_
POSITION_ DISCRIMINATOR - CLOSE_
POSITION_ WITH_ TOKEN_ EXTENSIONS_ DISCRIMINATOR - COLLECT_
FEES_ DISCRIMINATOR - COLLECT_
FEES_ V2_ DISCRIMINATOR - COLLECT_
PROTOCOL_ FEES_ DISCRIMINATOR - COLLECT_
PROTOCOL_ FEES_ V2_ DISCRIMINATOR - COLLECT_
REWARD_ DISCRIMINATOR - COLLECT_
REWARD_ V2_ DISCRIMINATOR - DECREASE_
LIQUIDITY_ DISCRIMINATOR - DECREASE_
LIQUIDITY_ V2_ DISCRIMINATOR - DELETE_
POSITION_ BUNDLE_ DISCRIMINATOR - DELETE_
TOKEN_ BADGE_ DISCRIMINATOR - DYNAMIC_
TICK_ ARRAY_ DISCRIMINATOR - FEE_
TIER_ DISCRIMINATOR - FIXED_
TICK_ ARRAY_ DISCRIMINATOR - ID
whirlpoolprogram ID.- IDL_
INCLUDE_ DISCRIMINATOR - INCREASE_
LIQUIDITY_ BY_ TOKEN_ AMOUNTS_ V2_ DISCRIMINATOR - INCREASE_
LIQUIDITY_ DISCRIMINATOR - INCREASE_
LIQUIDITY_ V2_ DISCRIMINATOR - INITIALIZE_
ADAPTIVE_ FEE_ TIER_ DISCRIMINATOR - INITIALIZE_
CONFIG_ DISCRIMINATOR - INITIALIZE_
CONFIG_ EXTENSION_ DISCRIMINATOR - INITIALIZE_
DYNAMIC_ TICK_ ARRAY_ DISCRIMINATOR - INITIALIZE_
FEE_ TIER_ DISCRIMINATOR - INITIALIZE_
POOL_ DISCRIMINATOR - INITIALIZE_
POOL_ V2_ DISCRIMINATOR - INITIALIZE_
POOL_ WITH_ ADAPTIVE_ FEE_ DISCRIMINATOR - INITIALIZE_
POSITION_ BUNDLE_ DISCRIMINATOR - INITIALIZE_
POSITION_ BUNDLE_ WITH_ METADATA_ DISCRIMINATOR - INITIALIZE_
REWARD_ DISCRIMINATOR - INITIALIZE_
REWARD_ V2_ DISCRIMINATOR - INITIALIZE_
TICK_ ARRAY_ DISCRIMINATOR - INITIALIZE_
TOKEN_ BADGE_ DISCRIMINATOR - LOCK_
CONFIG_ DISCRIMINATOR - LOCK_
POSITION_ DISCRIMINATOR - MIGRATE_
REPURPOSE_ REWARD_ AUTHORITY_ SPACE_ DISCRIMINATOR - OPEN_
BUNDLED_ POSITION_ DISCRIMINATOR - OPEN_
POSITION_ DISCRIMINATOR - OPEN_
POSITION_ WITH_ METADATA_ DISCRIMINATOR - OPEN_
POSITION_ WITH_ TOKEN_ EXTENSIONS_ DISCRIMINATOR - ORACLE_
DISCRIMINATOR - POSITION_
BUNDLE_ DISCRIMINATOR - POSITION_
DISCRIMINATOR - REPOSITION_
LIQUIDITY_ V2_ DISCRIMINATOR - RESET_
POSITION_ RANGE_ DISCRIMINATOR - SET_
ADAPTIVE_ FEE_ CONSTANTS_ DISCRIMINATOR - SET_
COLLECT_ PROTOCOL_ FEES_ AUTHORITY_ DISCRIMINATOR - SET_
CONFIG_ EXTENSION_ AUTHORITY_ DISCRIMINATOR - SET_
CONFIG_ FEATURE_ FLAG_ DISCRIMINATOR - SET_
DEFAULT_ BASE_ FEE_ RATE_ DISCRIMINATOR - SET_
DEFAULT_ FEE_ RATE_ DISCRIMINATOR - SET_
DEFAULT_ PROTOCOL_ FEE_ RATE_ DISCRIMINATOR - SET_
DELEGATED_ FEE_ AUTHORITY_ DISCRIMINATOR - SET_
FEE_ AUTHORITY_ DISCRIMINATOR - SET_
FEE_ RATE_ BY_ DELEGATED_ FEE_ AUTHORITY_ DISCRIMINATOR - SET_
FEE_ RATE_ DISCRIMINATOR - SET_
INITIALIZE_ POOL_ AUTHORITY_ DISCRIMINATOR - SET_
PRESET_ ADAPTIVE_ FEE_ CONSTANTS_ DISCRIMINATOR - SET_
PROTOCOL_ FEE_ RATE_ DISCRIMINATOR - SET_
REWARD_ AUTHORITY_ BY_ SUPER_ AUTHORITY_ DISCRIMINATOR - SET_
REWARD_ AUTHORITY_ DISCRIMINATOR - SET_
REWARD_ EMISSIONS_ DISCRIMINATOR - SET_
REWARD_ EMISSIONS_ SUPER_ AUTHORITY_ DISCRIMINATOR - SET_
REWARD_ EMISSIONS_ V2_ DISCRIMINATOR - SET_
TOKEN_ BADGE_ ATTRIBUTE_ DISCRIMINATOR - SET_
TOKEN_ BADGE_ AUTHORITY_ DISCRIMINATOR - SWAP_
DISCRIMINATOR - SWAP_
V2_ DISCRIMINATOR - TOKEN_
BADGE_ DISCRIMINATOR - TRANSFER_
LOCKED_ POSITION_ DISCRIMINATOR - TWO_
HOP_ SWAP_ DISCRIMINATOR - TWO_
HOP_ SWAP_ V2_ DISCRIMINATOR - UPDATE_
FEES_ AND_ REWARDS_ DISCRIMINATOR - WHIRLPOOLS_
CONFIG_ DISCRIMINATOR - WHIRLPOOLS_
CONFIG_ EXTENSION_ DISCRIMINATOR - WHIRLPOOL_
DISCRIMINATOR - WHIRLPOOL_
ID whirlpoolprogram ID.
Functions§
- fetch_
adaptive_ fee_ tier - fetch_
all_ adaptive_ fee_ tier - fetch_
all_ adaptive_ fee_ tier_ with_ filter - fetch_
all_ dynamic_ tick_ array - fetch_
all_ dynamic_ tick_ array_ with_ filter - fetch_
all_ fee_ tier - fetch_
all_ fee_ tier_ with_ filter - fetch_
all_ fixed_ tick_ array - fetch_
all_ fixed_ tick_ array_ with_ filter - fetch_
all_ lock_ config - fetch_
all_ lock_ config_ with_ filter - fetch_
all_ maybe_ adaptive_ fee_ tier - fetch_
all_ maybe_ dynamic_ tick_ array - fetch_
all_ maybe_ fee_ tier - fetch_
all_ maybe_ fixed_ tick_ array - fetch_
all_ maybe_ lock_ config - fetch_
all_ maybe_ oracle - fetch_
all_ maybe_ position - fetch_
all_ maybe_ position_ bundle - fetch_
all_ maybe_ tick_ array - fetch_
all_ maybe_ token_ badge - fetch_
all_ maybe_ whirlpool - fetch_
all_ maybe_ whirlpools_ config - fetch_
all_ maybe_ whirlpools_ config_ extension - fetch_
all_ oracle - fetch_
all_ oracle_ with_ filter - fetch_
all_ position - fetch_
all_ position_ bundle - fetch_
all_ position_ bundle_ with_ filter - fetch_
all_ position_ with_ filter - fetch_
all_ tick_ array - fetch_
all_ tick_ array_ with_ filter - fetch_
all_ token_ badge - fetch_
all_ token_ badge_ with_ filter - fetch_
all_ whirlpool - fetch_
all_ whirlpool_ with_ filter - fetch_
all_ whirlpools_ config - fetch_
all_ whirlpools_ config_ extension - fetch_
all_ whirlpools_ config_ extension_ with_ filter - fetch_
all_ whirlpools_ config_ with_ filter - fetch_
dynamic_ tick_ array - fetch_
fee_ tier - fetch_
fixed_ tick_ array - fetch_
lock_ config - fetch_
maybe_ adaptive_ fee_ tier - fetch_
maybe_ dynamic_ tick_ array - fetch_
maybe_ fee_ tier - fetch_
maybe_ fixed_ tick_ array - fetch_
maybe_ lock_ config - fetch_
maybe_ oracle - fetch_
maybe_ position - fetch_
maybe_ position_ bundle - fetch_
maybe_ tick_ array - fetch_
maybe_ token_ badge - fetch_
maybe_ whirlpool - fetch_
maybe_ whirlpools_ config - fetch_
maybe_ whirlpools_ config_ extension - fetch_
oracle - fetch_
position - fetch_
position_ bundle - fetch_
tick_ array - fetch_
token_ badge - fetch_
whirlpool - fetch_
whirlpools_ config - fetch_
whirlpools_ config_ extension - get_
bundled_ position_ address - Derives the bundled position PDA for the given position bundle address and bundle index under the supplied target program.
- get_
fee_ tier_ address - Derives the fee tier PDA for the given fee tier index under the supplied target program.
- get_
lock_ config_ address - Derives the lock config PDA for the given position under the supplied target program.
- get_
oracle_ address - Derives the oracle PDA for the given whirlpool under the supplied target program.
- get_
position_ address - Derives the position PDA for the given position mint under the supplied target program.
- get_
position_ bundle_ address - Derives the position bundle PDA for the given position mint under the supplied target program.
- get_
tick_ array_ address - Derives the tick array PDA for the given whirlpool and start tick index under the supplied target program.
- get_
token_ badge_ address - Derives the token badge PDA for the given mint under the supplied target program.
- get_
whirlpool_ address - Derives the whirlpool PDA for the given mint pair and fee tier index under the supplied target program.
- get_
whirlpools_ config_ extension_ address - Derives the whirlpool config extension PDA under the supplied target program.