Position Module
Manages liquidity position NFTs and their associated metadata. Each position is represented as a transferable NFT that tracks liquidity ownership, accumulated fees, rewards.
Overview
Data Structures
Position
struct Position has key, store {
id: UID, // Unique identifier
pool: ID, // Associated pool ID
index: u64, // Position index number
coin_type_a: TypeName, // First token type
coin_type_b: TypeName, // Second token type
name: String, // Display name
description: String, // Description
url: String, // Icon URL
tick_lower_index: I32, // Lower tick bound
tick_upper_index: I32, // Upper tick bound
liquidity: u128, // Current liquidity amount
lock_until: u64, // Lock expiration timestamp (0 = unlocked)
}PositionInfo
PositionManager
PositionReward
Core Functions
Position Creation
Parameter
Description
Liquidity Management
Parameter
Description
Fee Management
Points Management
Reward Management
Position Locking
Position Closure
Query Functions
Position Information
PositionInfo Queries
Manager Queries
Validation Functions
Position Lifecycle
1. Creation
2. Liquidity Addition
3. Fee Collection
4. Liquidity Removal
5. Position Closure
Fee and Reward Calculation
Fee Calculation
Multi-token Rewards
Reward Distribution
Position Locking
Lock Mechanism
Lock Validation
Error Codes
Code
Constant
Description
Examples
Complete Position Lifecycle
Batch Position Query
Locking Position for Vesting
Best Practices
Position Management
Error Handling
Gas Optimization
Security Considerations
Last updated