Data Structure

1. Pool

struct Pool has key {
    extend_ref: ExtendRef,

    coin_a_store: Object<FungibleStore>,
    coin_b_store: Object<FungibleStore>,

    /// The tick spacing
    tick_spacing: u32,

    /// The numerator of fee rate, the denominator is 1_000_000.
    fee_rate: u64,

    /// The liquidity of current tick index
    liquidity: u128,

    /// The current sqrt price
    current_sqrt_price: u128,

    /// The current tick index
    current_tick_index: I32,

    /// The global fee growth of coin a,b as Q64.64
    fee_growth_global_a: u128,
    fee_growth_global_b: u128,

    /// The amounts of coin a,b owned to protocol
    fee_protocol_coin_a: u64,
    fee_protocol_coin_b: u64,

    /// The tick manager
    tick_manager: TickManager,

    /// The rewarder manager
    rewarder_manager: RewarderManager,

    /// The position collection
    position_collection: Object<PositionNftCollection>,

    /// is the pool pause
    is_pause: bool,
}

2. Rewarder

3. Position

4. AddLiquidityReceipt

5. FlashSwapReceipt

Last updated