struct Pool<phantom T0, phantom T1> has store, key {
id: UID,
coin_a: Balance<T0>,
coin_b: Balance<T1>,
tick_spacing: u32,
fee_rate: u64,
liquidity: u128,
current_sqrt_price: u128,
fee_growth_global_a: u128,
fee_growth_global_b: u128,
fee_protocol_coin_a: u64,
fee_protocol_coin_b: u64,
is_pause: bool,
index: u64,
url: String,
unstaked_liquidity_fee_rate: u64,
fullsail_distribution_gauger_id: Option<ID>,
fullsail_distribution_growth_global: u128,
fullsail_distribution_rate: u128,
fullsail_distribution_reserve: u64,
fullsail_distribution_period_finish: u64,
fullsail_distribution_rollover: u64,
fullsail_distribution_last_updated: u64,
fullsail_distribution_staked_liquidity: u128,
fullsail_distribution_gauger_fee:
PoolFee,
auto_calculation_volumes: bool,
}