| Crates.io | pinocchio-raydium-locking-program |
| lib.rs | pinocchio-raydium-locking-program |
| version | 0.1.4 |
| created_at | 2025-07-12 05:12:37.127422+00 |
| updated_at | 2025-07-15 00:52:41.095226+00 |
| description | Pinocchio helpers to invoke Raydium Locking IXs |
| homepage | https://github.com/belivenn/pinocchio-raydium-locking-cpi |
| repository | https://github.com/belivenn/pinocchio-raydium-locking-cpi |
| max_upload_size | |
| id | 1748995 |
| size | 30,876 |
Pinocchio helpers to invoke Raydium Locking Instructions (IXs) for both CP (Constant Product) and CLMM (Concentrated Liquidity) pools.
Add this to your Cargo.toml:
[dependencies]
pinocchio-raydium-locking-program = "0.1.4"
use pinocchio_raydium_locking_program::instructions::LockCpLiquidity;
let lock_ix = LockCpLiquidity {
authority: &authority_account,
payer: &payer_account,
liquidity_owner: &liquidity_owner_account,
fee_nft_owner: &fee_nft_owner_account,
fee_nft_mint: &fee_nft_mint_account,
fee_nft_account: &fee_nft_account,
pool_state: &pool_state_account,
locked_liquidity: &locked_liquidity_account,
lp_mint: &lp_mint_account,
liquidity_owner_lp: &liquidity_owner_lp_account,
locked_lp_vault: &locked_lp_vault_account,
token_0_vault: &token_0_vault_account,
token_1_vault: &token_1_vault_account,
metadata_account: &metadata_account,
rent: &rent_account,
system_program: &system_program_account,
token_program: &token_program_account,
associated_token_program: &associated_token_program_account,
metadata_program: &metadata_program_account,
lp_amount: 1000000,
with_metadata: true,
};
lock_ix.invoke()?;
use pinocchio_raydium_locking_program::instructions::CollectCpFee;
let collect_ix = CollectCpFee {
authority: &authority_account,
fee_nft_owner: &fee_nft_owner_account,
fee_nft_account: &fee_nft_account,
locked_liquidity: &locked_liquidity_account,
cpmm_program: &cpmm_program_account,
cp_authority: &cp_authority_account,
pool_state: &pool_state_account,
lp_mint: &lp_mint_account,
recipient_token_0_account: &recipient_token_0_account,
recipient_token_1_account: &recipient_token_1_account,
token_0_vault: &token_0_vault_account,
token_1_vault: &token_1_vault_account,
vault_0_mint: &vault_0_mint_account,
vault_1_mint: &vault_1_mint_account,
locked_lp_vault: &locked_lp_vault_account,
token_program: &token_program_account,
token_program_2022: &token_program_2022_account,
memo_program: &memo_program_account,
fee_lp_amount: 500000,
};
collect_ix.invoke()?;
use pinocchio_raydium_locking_program::instructions::LockClmmPosition;
let lock_ix = LockClmmPosition {
authority: &authority_account,
payer: &payer_account,
position_nft_owner: &position_nft_owner_account,
fee_nft_owner: &fee_nft_owner_account,
position_nft_account: &position_nft_account,
personal_position: &personal_position_account,
position_nft_mint: &position_nft_mint_account,
locked_nft_account: &locked_nft_account,
locked_position: &locked_position_account,
fee_nft_mint: &fee_nft_mint_account,
fee_nft_account: &fee_nft_account,
metadata_account: &metadata_account,
metadata_program: &metadata_program_account,
associated_token_program: &associated_token_program_account,
rent: &rent_account,
fee_nft_token_program: &fee_nft_token_program_account,
locked_nft_token_program: &locked_nft_token_program_account,
system_program: &system_program_account,
with_metadata: true,
};
lock_ix.invoke()?;
use pinocchio_raydium_locking_program::instructions::CollectClmmFeeAndReward;
let collect_ix = CollectClmmFeeAndReward {
authority: &authority_account,
fee_nft_owner: &fee_nft_owner_account,
fee_nft_account: &fee_nft_account,
locked_position: &locked_position_account,
clmm_program: &clmm_program_account,
locked_nft_account: &locked_nft_account,
personal_position: &personal_position_account,
pool_state: &pool_state_account,
protocol_position: &protocol_position_account,
token_0_vault: &token_0_vault_account,
token_1_vault: &token_1_vault_account,
tick_array_lower: &tick_array_lower_account,
tick_array_upper: &tick_array_upper_account,
recipient_token_0_account: &recipient_token_0_account,
recipient_token_1_account: &recipient_token_1_account,
token_program: &token_program_account,
token_program_2022: &token_program_2022_account,
memo_program: &memo_program_account,
vault_0_mint: &vault_0_mint_account,
vault_1_mint: &vault_1_mint_account,
};
collect_ix.invoke()?;
pinocchio = "0.8.4" - Pinocchio framework for Solana programspinocchio-system = "0.2.3" - Pinocchio system program helpersLicensed under the Apache License, Version 2.0.