From 78fd30a96c3d133a0d04d16a3e36bd3253b2217b Mon Sep 17 00:00:00 2001 From: 0xfourzerofour Date: Wed, 7 Aug 2024 11:36:53 -0400 Subject: [PATCH 1/3] feat(error): use unexpected error instead --- crates/pool/src/server/local.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/crates/pool/src/server/local.rs b/crates/pool/src/server/local.rs index 0733f9a78..f7413b2d6 100644 --- a/crates/pool/src/server/local.rs +++ b/crates/pool/src/server/local.rs @@ -106,9 +106,14 @@ impl LocalPoolHandle { response: send, }) .await - .map_err(|_| anyhow::anyhow!("LocalPoolServer closed"))?; - recv.await - .map_err(|_| anyhow::anyhow!("LocalPoolServer closed"))? + .map_err(|_| { + error!("LocalPoolServer sender closed"); + PoolError::UnexpectedResponse + })?; + recv.await.map_err(|_| { + error!("LocalPoolServer receiver closed"); + PoolError::UnexpectedResponse + })? } } From c782f405c33e9433963bce7092d850c3fb9772de Mon Sep 17 00:00:00 2001 From: 0xfourzerofour Date: Wed, 7 Aug 2024 11:47:24 -0400 Subject: [PATCH 2/3] feat(error): use 1.79.0 --- .github/workflows/unit.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/unit.yaml b/.github/workflows/unit.yaml index b709cd4b5..2ffed4e9c 100644 --- a/.github/workflows/unit.yaml +++ b/.github/workflows/unit.yaml @@ -21,7 +21,7 @@ jobs: submodules: 'recursive' - name: Install toolchain - uses: dtolnay/rust-toolchain@stable + uses: dtolnay/rust-toolchain@1.79.0 with: components: llvm-tools-preview From 1543057f71a1a7eb9c1acbcc015c2c8aca6d1572 Mon Sep 17 00:00:00 2001 From: 0xfourzerofour Date: Wed, 7 Aug 2024 13:03:32 -0400 Subject: [PATCH 3/3] feat(error): checlk that gas price is not equal to zero --- crates/sim/src/gas/gas.rs | 6 +++++- crates/sim/src/precheck.rs | 1 - 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/crates/sim/src/gas/gas.rs b/crates/sim/src/gas/gas.rs index a1a35d31b..c88cb3fe1 100644 --- a/crates/sim/src/gas/gas.rs +++ b/crates/sim/src/gas/gas.rs @@ -13,7 +13,7 @@ use std::{cmp, fmt::Debug, sync::Arc}; -use anyhow::Context; +use anyhow::{bail, Context}; use ethers::types::U256; use rundler_provider::{EntryPoint, L1GasProvider, Provider}; use rundler_types::{ @@ -84,6 +84,10 @@ pub async fn calc_required_pre_verification_gas< op.max_fee_per_gas(), ); + if gas_price.is_zero() { + bail!("Gas price cannot be zero") + } + let dynamic_gas = entry_point .calc_l1_gas(entry_point.address(), op.clone(), gas_price) .await?; diff --git a/crates/sim/src/precheck.rs b/crates/sim/src/precheck.rs index 0d73d724b..8b53afa47 100644 --- a/crates/sim/src/precheck.rs +++ b/crates/sim/src/precheck.rs @@ -408,7 +408,6 @@ where ) -> anyhow::Result { gas::calc_required_pre_verification_gas(&self.chain_spec, &self.entry_point, &op, base_fee) .await - .context("should calculate pre-verification gas") } }