Repository navigation
Conversation
Sei adopts four Amsterdam EIPs without the rest of the fork (CON-528). SeiAmsterdamTime opts them in on top of Osaka; AmsterdamTime stays unset, so BAL, state gas, SLOTNUM and the other Amsterdam changes stay off. - EIP-7708: ETH transfer and SELFDESTRUCT transfer logs - EIP-7954: upstream 64 KiB code / 128 KiB initcode limits - EIP-8024: DUPN, SWAPN, EXCHANGE via an Osaka + 8024 jump table - EIP-8246: SELFDESTRUCT to self keeps the balance; Finalise uses the Amsterdam path, whose BAL recording stays off without IsAmsterdam - IsSeiAmsterdam requires Osaka; fork-order check enforces it
PR SummaryMedium Risk Overview Fork wiring: Behavior gated like Amsterdam where intended:
Tests cover rules/fork order, instruction set diff vs Osaka, code limits, transfer logs, and SELFDESTRUCT balance/logs. Reviewed by Cursor Bugbot for commit d7e9860. Bugbot is set up for automated code reviews on this repo. Configure here. |
There was a problem hiding this comment.
This PR gates EIP-7708, 7954, 8024 and 8246 behind the new IsSeiAmsterdam flag (Osaka plus the subset). Every gated site checks the flag consistently. The fork-order check makes Osaka a requirement. BAL recording stays off because Prepare still only allocates stateAccessList under IsAmsterdam. The tests cover rules, the jump table, code-size limits, the SELFDESTRUCT balance and the transfer logs. I found no issues introduced by the PR.
Findings: 0 blocking | 0 non-blocking | 0 posted inline
Blockers
- None at the file/PR level.
Non-blocking
- None at the file/PR level.
Stacked on #104: review only this PR's commit. GitHub retargets it to
mainonce #104 merges.Sei adopts four Amsterdam EIPs without the rest of the fork (CON-528).
SeiAmsterdamTimeopts them in on top of Osaka.AmsterdamTimestays unset, so BAL, state gas, SLOTNUM and the other Amsterdam changes stay off.IsAmsterdamIsSeiAmsterdamrequires Osaka; the fork-order check enforces itTests
core/vm/eips_sei_test.go: rules and fork order, the instruction set (Osaka plus 8024 only; SLOTNUM undefined), code size limits, SELFDESTRUCT balance and transfer logcore/evm_sei_test.go: transfer logs