Skip to content

feat(tests): Update MONAD_NEXT and tests with selected G* EIPs - #29

Draft
pdobacz wants to merge 10 commits into
forks/monad_ninefrom
monamsterdam
Draft

feat(tests): Update MONAD_NEXT and tests with selected G* EIPs#29
pdobacz wants to merge 10 commits into
forks/monad_ninefrom
monamsterdam

Conversation

@pdobacz

@pdobacz pdobacz commented Jun 26, 2026

Copy link
Copy Markdown
Collaborator

Closes ENG-1133

  • EIP-7708 ETH transfer/burn logs
  • EIP-7843 SLOTNUM opcode
  • EIP-8024 SWAPN, DUPN, EXCHANGE

With some minor adaptations to handle the dual-parenthood of MONAD_NEXT and reserve balance quirks

@pdobacz
pdobacz force-pushed the monamsterdam branch 2 times, most recently from 090acaa to 1acbd92 Compare July 13, 2026 09:37
pdobacz added 10 commits August 19, 2026 16:44
Emit LOG3/LOG2 from SYSTEM_ADDRESS for value transfers, selfdestruct
beneficiary transfers/burns, and finalization burns of deleted accounts.
Co-Authored-By: Claude <claude-opus-4-8>
Add SLOTNUM (0x4b, gas BASE) pushing the block slot number, a slot_number
U64 field on the header and block environment, and fork.py plumbing.
Co-Authored-By: Claude <claude-opus-4-8>
Add DUPN (0xe6), SWAPN (0xe7), EXCHANGE (0xe8) stack instructions with a
1-byte immediate, gas VERY_LOW, plus immediate-aware jumpdest analysis.
Co-Authored-By: Claude <claude-opus-4-8>
Inherit MONAD_NEXT from Amsterdam, taking only EIP-7708/7843/8024 changes
(opcodes, slot number header) and pinning EIP-7928/7954/7976/7981 members
back to MONAD_TEN. Relocated after Amsterdam to resolve the base reference.
Co-Authored-By: Claude <claude-opus-4-8>
Single-fork (--fork MONAD_NEXT) feature covering only the adopted Amsterdam
EIP dirs (7708/7843/8024); released via tag tests-monad_amsterdam@v0.1.0.
Co-Authored-By: Claude <claude-opus-4-8>
Disable collection of non-adopted Amsterdam EIP tests on Monad forks.
Co-Authored-By: Claude <claude-fable-5>
Header field sits between requests_hash and slot_number and must be zero.
Co-Authored-By: Claude <claude-fable-5>
Inheriting Amsterdam routed its gas schedule and unadopted EIPs into MONAD_NEXT through the MRO; `follows` keeps the fork order without the behavior.

Co-Authored-By: Claude <claude-opus-5>
MONAD_NEXT follows Amsterdam, so its `valid_from` suites select the fork; the seven EIPs it does not adopt now exclude Monad like the rest.

Co-Authored-By: Claude <claude-opus-5>
A fork can enable EIP-7708 without EIP-8246 and still burn a swept or stranded balance, which the sweep helper now accounts for.

Co-Authored-By: Claude <claude-opus-5>
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