feat: implement TIP-1010 mainnet gas parameters#2194
Merged
Conversation
Remove T1 (Tempo Protocol Version 1) hardfork as it's not needed yet.
Remove TempoGasParams trait and tx_tip1000_auth_account_creation_cost method as they are no longer needed.
Address PR review comments by reverting changes back to main's logic: - Revert is_t0() to use matches! macro - Remove TIP-1000 code block from validate_initial_tx_gas - Revert validate_initial_tx_gas to main's simpler logic - Revert calculate_aa_batch_intrinsic_gas to not use gas_params - Restore calculate_2d_nonce_gas function and 2D nonce gas validation - Add nonce_2d_gas field back to TempoEvm - Update tests to match main's behavior
- Remove `nonce_2d_gas` field from `TempoEvm` struct - Remove `calculate_2d_nonce_gas` function from handler - Add 2D nonce gas calculation to `validate_aa_initial_tx_gas` - Simplify execution method to not adjust gas for 2D nonce - Update tests to verify 2D nonce gas is included in intrinsic gas Gas logic: if nonce_key != 0 and tx.nonce == 0, charge NEW_NONCE_KEY_GAS, otherwise charge EXISTING_NONCE_KEY_GAS for non-zero nonce keys.
# Conflicts: # Cargo.lock # Cargo.toml # crates/chainspec/src/hardfork.rs # crates/consensus/src/lib.rs # crates/evm/src/error.rs # crates/precompiles/src/storage/evm.rs # crates/primitives/Cargo.toml # crates/revm/src/evm.rs # crates/revm/src/handler.rs # crates/transaction-pool/src/validator.rs
- revm-inspectors: git rev 3020ea8cdc → published 0.34.0 - alloy-evm: git rev 072c2482 → published 0.26.0 - reth: 7e8e1ccd6d → 86c414081a (latest main)
- Update reth from 86c414081a to latest main (5e178f6ac6) - Update alloy-evm from 0.26.0 to 0.26.3 - Pin vergen to 9.0.4 and vergen-git2 to 1.0.5 for compatibility - Add missing receipts() method to BlockExecutor impl
mattsse
approved these changes
Jan 22, 2026
rakita
reviewed
Jan 22, 2026
klkvr
reviewed
Jan 22, 2026
klkvr
approved these changes
Jan 22, 2026
mattsse
approved these changes
Jan 22, 2026
3de247c to
fba0579
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements TIP-1010 Mainnet Gas Parameters specification on top of TIP-1000.
Changes
Gas Parameters (TIP-1010 Spec)
Code Changes
TEMPO_BASE_FEEfrom 10 gwei to 20 gweiTEMPO_GENERAL_GAS_DIVISORwith fixedTEMPO_GENERAL_GAS_LIMIT(30M)TEMPO_TRANSACTION_GAS_CAPconstant (30M)TEMPO_GENERAL_GAS_LIMITinstead of divisor calculationTEMPO_TRANSACTION_GAS_CAPconstant for tx gas limit capShared Gas Pool Model
The payment lane is non-dedicated: general transactions consume from the same 500M total block gas limit, reducing the remaining capacity available for payment transactions. However, general transactions are capped at 30M (
TEMPO_GENERAL_GAS_LIMIT), guaranteeing that at least 470M gas remains available for payments even under maximum general transaction load.Testing
Related