From 6c6499bae954bfd9fa353a4eb1d28b993ea3fa28 Mon Sep 17 00:00:00 2001 From: Wodann Date: Tue, 14 Jan 2025 18:17:02 +0000 Subject: [PATCH 1/2] fix: deduplicate validate_initial_tx_gas API --- crates/handler/src/validation.rs | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/crates/handler/src/validation.rs b/crates/handler/src/validation.rs index b672830c7e..53c7be7f5a 100644 --- a/crates/handler/src/validation.rs +++ b/crates/handler/src/validation.rs @@ -74,8 +74,10 @@ where context: &Self::Context, ) -> Result { let spec = context.cfg().spec().into(); - validate_initial_tx_gas::<&Self::Context, InvalidTransaction>(context, spec) - .map_err(Into::into) + let initial_and_floor_gas = + validate_initial_tx_gas(context.tx(), spec).map_err(InvalidTransaction::from)?; + + Ok(initial_and_floor_gas) } } @@ -333,16 +335,13 @@ where } /// Validate initial transaction gas. -pub fn validate_initial_tx_gas( - context: CTX, +pub fn validate_initial_tx_gas( + tx: TransactionT, spec_id: SpecId, -) -> Result +) -> Result where - CTX: TransactionGetter + CfgGetter, - Error: From, + TransactionT: Transaction, { - let spec = context.cfg().spec().into(); - let tx = context.tx(); let (accounts, storages) = tx.access_list_nums().unwrap_or_default(); let gas = gas::calculate_initial_tx_gas( @@ -356,13 +355,13 @@ where // Additional check to see if limit is big enough to cover initial gas. if gas.initial_gas > tx.gas_limit() { - return Err(InvalidTransaction::CallGasCostMoreThanGasLimit.into()); + return Err(InvalidTransaction::CallGasCostMoreThanGasLimit); } // EIP-7623: Increase calldata cost // floor gas should be less than gas limit. - if spec.is_enabled_in(SpecId::PRAGUE) && gas.floor_gas > tx.gas_limit() { - return Err(InvalidTransaction::GasFloorMoreThanGasLimit.into()); + if spec_id.is_enabled_in(SpecId::PRAGUE) && gas.floor_gas > tx.gas_limit() { + return Err(InvalidTransaction::GasFloorMoreThanGasLimit); }; Ok(gas) From fee24bc012334a633e73f6fa0574eb0dd81c2445 Mon Sep 17 00:00:00 2001 From: Wodann Date: Mon, 20 Jan 2025 21:41:57 +0000 Subject: [PATCH 2/2] misc: apply review suggestions --- crates/handler/src/validation.rs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/crates/handler/src/validation.rs b/crates/handler/src/validation.rs index 53c7be7f5a..cd6498f1a7 100644 --- a/crates/handler/src/validation.rs +++ b/crates/handler/src/validation.rs @@ -74,10 +74,7 @@ where context: &Self::Context, ) -> Result { let spec = context.cfg().spec().into(); - let initial_and_floor_gas = - validate_initial_tx_gas(context.tx(), spec).map_err(InvalidTransaction::from)?; - - Ok(initial_and_floor_gas) + validate_initial_tx_gas(context.tx(), spec).map_err(From::from) } }