Pool Module
The pool module is the core component of the CLMM protocol, defining trading pairs and handling all operations related to trading and liquidity management.
Data Structures
Pool Struct
struct Pool<phantom CoinTypeA, phantom CoinTypeB> has key, store {
id: UID,
coin_a: Balance<CoinTypeA>,
coin_b: Balance<CoinTypeB>,
tick_spacing: u32,
fee_rate: u64,
liquidity: u128,
current_sqrt_price: u128,
current_tick_index: I32,
fee_growth_global_a: u128,
fee_growth_global_b: u128,
fee_protocol_coin_a: u64,
fee_protocol_coin_b: u64,
tick_manager: TickManager,
rewarder_manager: RewarderManager,
position_manager: PositionManager,
is_pause: bool,
index: u64,
url: String,
}Receipt Structs
Core Functions
1. Position Management
2. Liquidity Management
3. Trading
4. Flash Loans
5. Fee and Reward Collection
Events
OpenPositionEvent
SwapEvent
AddLiquidityEvent
Utility Functions
Pool Information Queries
Position Information Queries
Rewarder Management
Initialize New Rewarder
Update Emission Rate
Pool Management
Pause Pool
Unpause Pool
Update Fee Rate
Important Notes
Security Considerations
Gas Optimization
Error Codes
Last updated