pub async fn pool_state<P: Provider<Ethereum>>( provider: &P, chain: Chain, pool: Address, ) -> Result<PoolState>