pub(crate) fn swap( from: Address, pool_address: Address, target: Address, amount_out: U256, is_token0: bool, cache_db: &mut CacheDB<WrapDatabaseAsync<AlloyDB<Ethereum, DynProvider>>>, ) -> Result<()>