Skip to content

Comments

feat(cfg): add EIP-7708 configuration options#3395

Merged
rakita merged 2 commits intomainfrom
eip7708-cfg-options
Feb 9, 2026
Merged

feat(cfg): add EIP-7708 configuration options#3395
rakita merged 2 commits intomainfrom
eip7708-cfg-options

Conversation

@rakita
Copy link
Member

@rakita rakita commented Feb 3, 2026

Summary

  • Add amsterdam_eip7708_disabled config to completely disable EIP-7708 ETH transfer logs
  • Add amsterdam_eip7708_delayed_burn_disabled config to disable delayed burn logging for self-destructed accounts (can be disabled for performance reasons as it requires storing and iterating over all self-destructed accounts)
  • Bundle spec and EIP-7708 config fields into JournalCfg struct for better organization

Test plan

  • Existing EIP-7708 tests pass
  • Run cargo nextest run --workspace
  • Run cargo clippy --workspace --all-targets --all-features

@codspeed-hq
Copy link

codspeed-hq bot commented Feb 3, 2026

Merging this PR will degrade performance by 4.32%

❌ 2 regressed benchmarks
✅ 171 untouched benchmarks

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Benchmark BASE HEAD Efficiency
MSTORE_COLD_50 22.7 µs 23.5 µs -3.07%
MSTORE_50 18.4 µs 19.3 µs -4.32%

Comparing eip7708-cfg-options (7c7e7cf) with main (389cf5d)

Open in CodSpeed

Add two configuration options to CfgEnv:
- `amsterdam_eip7708_disabled`: Completely disables EIP-7708 ETH transfer logs
- `amsterdam_eip7708_delayed_burn_disabled`: Disables delayed burn logging for
  self-destructed accounts. This can be disabled for performance reasons as it
  requires storing and iterating over all self-destructed accounts. When disabled,
  the logging can be done outside of revm when applying accounts to database state.

Also adds corresponding trait methods to `Cfg` and `JournalTr` traits.
Extract `spec`, `eip7708_disabled`, and `eip7708_delayed_burn_disabled`
fields from `JournalInner` into a new `JournalCfg` struct. This groups
related configuration together and makes the code more organized.
@rakita rakita force-pushed the eip7708-cfg-options branch from c8dcf0d to 7c7e7cf Compare February 3, 2026 11:19
@rakita rakita changed the base branch from fix-selfd-log to main February 3, 2026 11:19
@rakita rakita merged commit b73b7f9 into main Feb 9, 2026
1 of 2 checks passed
@github-actions github-actions bot mentioned this pull request Feb 9, 2026
@rakita rakita deleted the eip7708-cfg-options branch February 16, 2026 10:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant