Motivation
The mempool's transaction_intrinsic_gas (crates/blockchain/mempool.rs) computes Berlin-era intrinsic gas and does not match what LEVM enforces at execution. Transactions that LEVM will reject at inclusion are therefore admitted to the pool, wasting payload-builder cycles and able to crowd out valid txs. geth rejects both cases at admission.
This is not a consensus issue — LEVM rejects these txs at inclusion — it's purely a mempool-fidelity / cross-client parity gap.
Description
Two gaps, both in mempool admission only:
- EIP-7702 auth-list cost —
transaction_intrinsic_gas never reads tx.authorization_list(), so it omits PER_EMPTY_ACCOUNT_COST per tuple. validate_transaction also never rejects an empty type-4 auth list. LEVM enforces both (get_intrinsic_gas / validate_type_4_tx).
- EIP-7623 calldata floor — intrinsic gas omits the Prague calldata floor (10 gas/token), so an under-floor Prague tx is admitted that LEVM rejects with
IntrinsicGasBelowFloorGasCost.
Proposed work
- Add auth-list cost + empty-auth-list rejection to mempool intrinsic-gas validation.
- Apply the EIP-7623 calldata floor (Prague+) in the same helper.
- Tests: admit/reject parity with LEVM for type-4 and high-calldata txs.
Checklist
Motivation
The mempool's
transaction_intrinsic_gas(crates/blockchain/mempool.rs) computes Berlin-era intrinsic gas and does not match what LEVM enforces at execution. Transactions that LEVM will reject at inclusion are therefore admitted to the pool, wasting payload-builder cycles and able to crowd out valid txs. geth rejects both cases at admission.This is not a consensus issue — LEVM rejects these txs at inclusion — it's purely a mempool-fidelity / cross-client parity gap.
Description
Two gaps, both in mempool admission only:
transaction_intrinsic_gasnever readstx.authorization_list(), so it omitsPER_EMPTY_ACCOUNT_COSTper tuple.validate_transactionalso never rejects an empty type-4 auth list. LEVM enforces both (get_intrinsic_gas/validate_type_4_tx).IntrinsicGasBelowFloorGasCost.Proposed work
Checklist
transaction_intrinsic_gas