diff --git a/crates/handler/src/validation.rs b/crates/handler/src/validation.rs index b672830c7e..cd6498f1a7 100644 --- a/crates/handler/src/validation.rs +++ b/crates/handler/src/validation.rs @@ -74,8 +74,7 @@ where context: &Self::Context, ) -> Result { let spec = context.cfg().spec().into(); - validate_initial_tx_gas::<&Self::Context, InvalidTransaction>(context, spec) - .map_err(Into::into) + validate_initial_tx_gas(context.tx(), spec).map_err(From::from) } } @@ -333,16 +332,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 +352,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)