Skip to content

feat: Amsterdam devnet3 EIP updates#3438

Open
rakita wants to merge 4 commits intomainfrom
devnet3
Open

feat: Amsterdam devnet3 EIP updates#3438
rakita wants to merge 4 commits intomainfrom
devnet3

Conversation

@rakita
Copy link
Member

@rakita rakita commented Feb 24, 2026

Summary

Updates for Amsterdam devnet3 spec changes:

  • EIP-8024: Update DUPN/SWAPN/EXCHANGE encoding to branchless normalization using modular arithmetic and XOR instead of branching range checks
  • EIP-7708: Rename Selfdestruct event to Burn — updates the log topic hash to keccak256("Burn(address,uint256)") and renames all related functions/variables
  • EIP-7954: Add new contract size limits for Amsterdam — increases MAX_CODE_SIZE to 0x8000 (32KB) and MAX_INITCODE_SIZE to 0x10000 (64KB), replacing the previous EIP-7907 limits

Test plan

  • Existing EIP-7708 tests updated to use BURN_LOG_TOPIC
  • EIP-7954 validation tests added (initcode size limit success/failure, boundary between old and new limits, code size limit)
  • EIP-8024 stack instruction tests updated with new encoding values

Update decode_single/decode_pair to use branchless arithmetic per
ethereum/EIPs#11306: modular add for single values, XOR for pairs.
Extends EXCHANGE to support 2 additional swappable pairs (n up to 14).
Rename the EIP-7708 selfdestruct log event from
`Selfdestruct(address,uint256)` to `Burn(address,uint256)` per
EIP PR #11311. This updates the topic hash and makes the event
name more generic for any future ETH burn mechanism.
Add spec-aware max_code_size (0x8000) and max_initcode_size (0x10000)
defaults for AMSTERDAM+, falling back to EIP-170/EIP-3860 for earlier specs.
@codspeed-hq
Copy link

codspeed-hq bot commented Feb 24, 2026

Merging this PR will not alter performance

✅ 176 untouched benchmarks


Comparing devnet3 (4866ac6) with main (9756496)

Open in CodSpeed

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