Factory Module
The Factory module is responsible for creating and managing pools. It maintains a registry of all pools and ensures proper initialization.
Last updated
struct PoolSimpleInfo has copy, drop, store {
pool_id: ID,
pool_key: ID,
coin_type_a: TypeName,
coin_type_b: TypeName,
tick_spacing: u32,
}public fun create_pool<CoinTypeA, CoinTypeB>(
global_config: &GlobalConfig,
pools: &mut Pools,
tick_spacing: u32,
initialize_price: u128,
url: String,
tick_lower: u32,
tick_upper: u32,
coin_a: Coin<CoinTypeA>,
coin_b: Coin<CoinTypeB>,
lock_until: u64,
is_fixed_a: bool,
clock: &Clock,
ctx: &mut TxContext,
) -> (Position, Coin<CoinTypeA>, Coin<CoinTypeB>)public fun new_pool_key<CoinTypeA, CoinTypeB>(tick_spacing: u32): IDpublic fun fetch_pools(pools: &Pools, start: vector<ID>, limit: u64): vector<PoolSimpleInfo>struct InitFactoryEvent has copy, drop {
pools_id: ID,
}struct CreatePoolEvent has copy, drop {
pool_id: ID,
coin_type_a: String,
coin_type_b: String,
tick_spacing: u32,
initialize_price: u128,
}