v0.1.0-pre.062

This commit is contained in:
2026-07-30 10:27:06 +02:00
parent f40fb78817
commit 460671e19d
319 changed files with 392513 additions and 9507 deletions

View File

@@ -0,0 +1,864 @@
{
"version": "0.1.0",
"name": "raydium_liquidity_locking",
"instructions": [
{
"name": "lockClmmPosition",
"docs": [
"Lock an existing clmm's position",
"",
"# Arguments",
"",
"* `ctx` - The context of accounts",
"* `with_metadata` - Create NFT with metadata or not",
""
],
"accounts": [
{
"name": "authority",
"isMut": false,
"isSigner": false
},
{
"name": "payer",
"isMut": true,
"isSigner": true,
"docs": [
"Pay to create account lamports"
]
},
{
"name": "positionNftOwner",
"isMut": false,
"isSigner": true,
"docs": [
"The position NFT owner"
]
},
{
"name": "feeNftOwner",
"isMut": false,
"isSigner": false
},
{
"name": "positionNftAccount",
"isMut": true,
"isSigner": false,
"docs": [
"The token account for the tokenized position"
]
},
{
"name": "personalPosition",
"isMut": false,
"isSigner": false,
"docs": [
"Lock personal position associated with position_nft_account's mint"
]
},
{
"name": "positionNftMint",
"isMut": false,
"isSigner": false,
"docs": [
"Position NFT mint to create a ATA `locked_nft_account` belongs to program"
]
},
{
"name": "lockedNftAccount",
"isMut": true,
"isSigner": false,
"docs": [
"Program's token account where `position_nft_account` will transfer to"
]
},
{
"name": "lockedPosition",
"isMut": true,
"isSigner": false,
"docs": [
"Store the locked information of the personal position"
]
},
{
"name": "feeNftMint",
"isMut": true,
"isSigner": true,
"docs": [
"Create a unique fee nft mint"
]
},
{
"name": "feeNftAccount",
"isMut": true,
"isSigner": false,
"docs": [
"Token account where fee nft will be minted to"
]
},
{
"name": "metadataAccount",
"isMut": true,
"isSigner": false,
"docs": [
"To store metaplex metadata"
]
},
{
"name": "metadataProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Program to create NFT metadata account"
]
},
{
"name": "associatedTokenProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Program to create an ATA for receiving fee NFT"
]
},
{
"name": "rent",
"isMut": false,
"isSigner": false,
"docs": [
"Sysvar for token mint and ATA creation"
]
},
{
"name": "feeNftTokenProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Token program fee NFT mint/account belongs to"
]
},
{
"name": "lockedNftTokenProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Token program position NFT mint/account belongs to"
]
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Program to create new account"
]
}
],
"args": [
{
"name": "withMetadata",
"type": "bool"
}
]
},
{
"name": "collectClmmFeesAndRewards",
"docs": [
"collect clmm locked postion fees and rewards",
"# Arguments",
"",
"* `ctx` - The context of accounts",
""
],
"accounts": [
{
"name": "authority",
"isMut": false,
"isSigner": false
},
{
"name": "feeNftOwner",
"isMut": false,
"isSigner": true,
"docs": [
"The owner who has fee nft account"
]
},
{
"name": "feeNftAccount",
"isMut": false,
"isSigner": false,
"docs": [
"Fee token account"
]
},
{
"name": "lockedPosition",
"isMut": false,
"isSigner": false,
"docs": [
"Store the locked the information of position"
]
},
{
"name": "clmmProgram",
"isMut": false,
"isSigner": false,
"docs": [
"clmm program"
]
},
{
"name": "lockedNftAccount",
"isMut": true,
"isSigner": false,
"docs": [
"Program ATA locked NFT account or user ATA position NFT account"
]
},
{
"name": "personalPosition",
"isMut": true,
"isSigner": false,
"docs": [
"Decrease liquidity for this position"
]
},
{
"name": "poolState",
"isMut": true,
"isSigner": false
},
{
"name": "protocolPosition",
"isMut": true,
"isSigner": false
},
{
"name": "token0Vault",
"isMut": true,
"isSigner": false,
"docs": [
"The address that holds pool tokens for token_0"
]
},
{
"name": "token1Vault",
"isMut": true,
"isSigner": false,
"docs": [
"The address that holds pool tokens for token_1"
]
},
{
"name": "tickArrayLower",
"isMut": true,
"isSigner": false,
"docs": [
"Stores init state for the lower tick"
]
},
{
"name": "tickArrayUpper",
"isMut": true,
"isSigner": false,
"docs": [
"Stores init state for the upper tick"
]
},
{
"name": "recipientToken0Account",
"isMut": true,
"isSigner": false,
"docs": [
"The destination token account for receive amount_0"
]
},
{
"name": "recipientToken1Account",
"isMut": true,
"isSigner": false,
"docs": [
"The destination token account for receive amount_1"
]
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false,
"docs": [
"SPL program to transfer out tokens"
]
},
{
"name": "tokenProgram2022",
"isMut": false,
"isSigner": false,
"docs": [
"Token program 2022"
]
},
{
"name": "memoProgram",
"isMut": false,
"isSigner": false,
"docs": [
"memo program"
]
},
{
"name": "vault0Mint",
"isMut": false,
"isSigner": false,
"docs": [
"The mint of token vault 0"
]
},
{
"name": "vault1Mint",
"isMut": false,
"isSigner": false,
"docs": [
"The mint of token vault 1"
]
}
],
"args": []
},
{
"name": "lockCpLiquidity",
"docs": [
"Lock cpSwap liquidity and mint a nft to collect locked liquidity's fee.",
"",
"# Arguments",
"",
"* `ctx` - The context of accounts",
"* `lp_amount` - The lp amount to lock",
"* `with_metadata` - Create NFT with metadata or not",
""
],
"accounts": [
{
"name": "authority",
"isMut": false,
"isSigner": false
},
{
"name": "payer",
"isMut": true,
"isSigner": true,
"docs": [
"Pay to create account lamports"
]
},
{
"name": "liquidityOwner",
"isMut": false,
"isSigner": true,
"docs": [
"who want to lock liquidity"
]
},
{
"name": "feeNftOwner",
"isMut": false,
"isSigner": false
},
{
"name": "feeNftMint",
"isMut": true,
"isSigner": true,
"docs": [
"Create a unique fee nft mint"
]
},
{
"name": "feeNftAccount",
"isMut": true,
"isSigner": false,
"docs": [
"Token account where fee nft will be minted to"
]
},
{
"name": "poolState",
"isMut": false,
"isSigner": false,
"docs": [
"Indicates which pool the locked liquidity belong to"
]
},
{
"name": "lockedLiquidity",
"isMut": true,
"isSigner": false,
"docs": [
"Store the locked information of liquidity"
]
},
{
"name": "lpMint",
"isMut": false,
"isSigner": false,
"docs": [
"The mint of liquidity token"
]
},
{
"name": "liquidityOwnerLp",
"isMut": true,
"isSigner": false,
"docs": [
"liquidity owner lp token account"
]
},
{
"name": "lockedLpVault",
"isMut": true,
"isSigner": false,
"docs": [
"Locked lp token deposit to"
]
},
{
"name": "token0Vault",
"isMut": true,
"isSigner": false,
"docs": [
"The address that holds pool tokens for token_0"
]
},
{
"name": "token1Vault",
"isMut": true,
"isSigner": false,
"docs": [
"The address that holds pool tokens for token_1"
]
},
{
"name": "metadataAccount",
"isMut": true,
"isSigner": false,
"docs": [
"To store metaplex metadata"
]
},
{
"name": "rent",
"isMut": false,
"isSigner": false,
"docs": [
"Sysvar for token mint and ATA creation"
]
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Program to create the new account"
]
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Program to create/transfer mint/token account"
]
},
{
"name": "associatedTokenProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Program to create an ATA for receiving fee NFT"
]
},
{
"name": "metadataProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Program to create NFT metadata accunt"
]
}
],
"args": [
{
"name": "lpAmount",
"type": "u64"
},
{
"name": "withMetadata",
"type": "bool"
}
]
},
{
"name": "collectCpFees",
"docs": [
"collect cpSwap locked liquidity's fees",
"# Arguments",
"",
"* `ctx` - The context of accounts",
"* `fee_lp_amount` - The amount lp want to claim",
""
],
"accounts": [
{
"name": "authority",
"isMut": false,
"isSigner": false
},
{
"name": "feeNftOwner",
"isMut": false,
"isSigner": true,
"docs": [
"Fee nft owner who is allowed to receive fees"
]
},
{
"name": "feeNftAccount",
"isMut": false,
"isSigner": false,
"docs": [
"Fee token account"
]
},
{
"name": "lockedLiquidity",
"isMut": true,
"isSigner": false,
"docs": [
"Store the locked the information of liquidity"
]
},
{
"name": "cpSwapProgram",
"isMut": false,
"isSigner": false,
"docs": [
"cpswap program"
]
},
{
"name": "cpAuthority",
"isMut": false,
"isSigner": false
},
{
"name": "poolState",
"isMut": true,
"isSigner": false,
"docs": [
"Pool state account"
]
},
{
"name": "lpMint",
"isMut": true,
"isSigner": false,
"docs": [
"lp mint"
]
},
{
"name": "recipientToken0Account",
"isMut": true,
"isSigner": false,
"docs": [
"The token account for receive token_0"
]
},
{
"name": "recipientToken1Account",
"isMut": true,
"isSigner": false,
"docs": [
"The token account for receive token_1"
]
},
{
"name": "token0Vault",
"isMut": true,
"isSigner": false,
"docs": [
"The address that holds pool tokens for token_0"
]
},
{
"name": "token1Vault",
"isMut": true,
"isSigner": false,
"docs": [
"The address that holds pool tokens for token_1"
]
},
{
"name": "vault0Mint",
"isMut": false,
"isSigner": false,
"docs": [
"The mint of token_0 vault"
]
},
{
"name": "vault1Mint",
"isMut": false,
"isSigner": false,
"docs": [
"The mint of token_1 vault"
]
},
{
"name": "lockedLpVault",
"isMut": true,
"isSigner": false,
"docs": [
"locked lp token account"
]
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false,
"docs": [
"token Program"
]
},
{
"name": "tokenProgram2022",
"isMut": false,
"isSigner": false,
"docs": [
"Token program 2022"
]
},
{
"name": "memoProgram",
"isMut": false,
"isSigner": false,
"docs": [
"memo program"
]
}
],
"args": [
{
"name": "feeLpAmount",
"type": "u64"
}
]
}
],
"accounts": [
{
"name": "LockedCpLiquidityState",
"type": {
"kind": "struct",
"fields": [
{
"name": "lockedLpAmount",
"docs": [
"The Locked liquidity amount without claimed lp fee"
],
"type": "u64"
},
{
"name": "claimedLpAmount",
"docs": [
"Claimed lp fee amount"
],
"type": "u64"
},
{
"name": "unclaimedLpAmount",
"docs": [
"Unclaimed lp fee amount"
],
"type": "u64"
},
{
"name": "lastLp",
"docs": [
"Last updated cp pool lp total supply"
],
"type": "u64"
},
{
"name": "lastK",
"docs": [
"Last updated cp pool k"
],
"type": "u128"
},
{
"name": "recentEpoch",
"docs": [
"Account update recent epoch"
],
"type": "u64"
},
{
"name": "poolId",
"docs": [
"The ID of the pool with which this record is connected"
],
"type": "publicKey"
},
{
"name": "feeNftMint",
"docs": [
"nft mint to check who has authority to collect fee"
],
"type": "publicKey"
},
{
"name": "lockedOwner",
"docs": [
"The owner who has locked liquidity"
],
"type": "publicKey"
},
{
"name": "lockedLpMint",
"docs": [
"The mint of locked lp token"
],
"type": "publicKey"
},
{
"name": "padding",
"docs": [
"Unused bytes for future upgrades."
],
"type": {
"array": [
"u64",
8
]
}
}
]
}
},
{
"name": "LockedClmmPositionState",
"type": {
"kind": "struct",
"fields": [
{
"name": "bump",
"docs": [
"Bump to identify PDA"
],
"type": {
"array": [
"u8",
1
]
}
},
{
"name": "positionOwner",
"docs": [
"The owner who has locked clmm NFT"
],
"type": "publicKey"
},
{
"name": "poolId",
"docs": [
"The ID of the pool with which this record is connected"
],
"type": "publicKey"
},
{
"name": "positionId",
"docs": [
"The ID of the position with which this record is connected"
],
"type": "publicKey"
},
{
"name": "lockedNftAccount",
"docs": [
"Program ATA locked NFT account or user ATA position NFT account"
],
"type": "publicKey"
},
{
"name": "feeNftMint",
"docs": [
"nft mint to check who has authority to collect fee"
],
"type": "publicKey"
},
{
"name": "recentEpoch",
"docs": [
"account update recent epoch"
],
"type": "u64"
},
{
"name": "padding",
"docs": [
"Unused bytes for future upgrades."
],
"type": {
"array": [
"u64",
8
]
}
}
]
}
}
],
"events": [
{
"name": "SettleCpFeeEvent",
"fields": [
{
"name": "deltaAmount",
"type": "u64",
"index": false
},
{
"name": "unclaimedAmount",
"type": "u64",
"index": false
},
{
"name": "lockedAmount",
"type": "u64",
"index": false
},
{
"name": "currPoolLp",
"type": "u64",
"index": false
},
{
"name": "lastPoolLp",
"type": "u64",
"index": false
},
{
"name": "currK",
"type": "u128",
"index": false
},
{
"name": "lastK",
"type": "u128",
"index": false
}
]
}
]
}