Skip to content

Commit

Permalink
fix: fix the gas price check for opBNB
Browse files Browse the repository at this point in the history
  • Loading branch information
yutianwu committed Nov 12, 2024
1 parent 0978bcb commit e5c7806
Showing 1 changed file with 20 additions and 17 deletions.
37 changes: 20 additions & 17 deletions crates/revm/src/optimism/handler_register.rs
Original file line number Diff line number Diff line change
Expand Up @@ -234,19 +234,21 @@ pub fn deduct_caller<SPEC: Spec, EXT, DB: Database>(
));
};

let tx_l1_cost = if context.evm.inner.env.tx.gas_price.is_zero() && SPEC::enabled(WRIGHT) {
U256::ZERO
} else {
context
.evm
.inner
.l1_block_info
.as_ref()
.expect("L1BlockInfo should be loaded")
.calculate_tx_l1_cost(enveloped_tx, SPEC::SPEC_ID)
};
let tx_l1_cost =
if context.evm.inner.env.effective_gas_price().is_zero() && SPEC::enabled(WRIGHT) {
U256::ZERO
} else {
context
.evm
.inner
.l1_block_info
.as_ref()
.expect("L1BlockInfo should be loaded")
.calculate_tx_l1_cost(enveloped_tx, SPEC::SPEC_ID)
};


if tx_l1_cost.gt(&caller_account.info.balance) {
if tx_l1_cost.gt(&caller_account.info.balance) {
return Err(EVMError::Transaction(
InvalidTransaction::LackOfFundForMaxFee {
fee: tx_l1_cost.into(),
Expand Down Expand Up @@ -287,11 +289,12 @@ pub fn reward_beneficiary<SPEC: Spec, EXT, DB: Database>(
));
};

let l1_cost = if context.evm.inner.env.tx.gas_price.is_zero() && SPEC::enabled(WRIGHT) {
U256::ZERO
} else {
l1_block_info.calculate_tx_l1_cost(enveloped_tx, SPEC::SPEC_ID)
};
let l1_cost =
if context.evm.inner.env.effective_gas_price().is_zero() && SPEC::enabled(WRIGHT) {
U256::ZERO
} else {
l1_block_info.calculate_tx_l1_cost(enveloped_tx, SPEC::SPEC_ID)
};

// Send the L1 cost of the transaction to the L1 Fee Vault.
let mut l1_fee_vault_account = context
Expand Down

0 comments on commit e5c7806

Please sign in to comment.