Skip to content

feat(src): EIP-7843 (SLOTNUM) Draft#2007

Merged
fselmo merged 2 commits into
ethereum:eips/amsterdam/eip-7843from
felix314159:eip7843
Jan 21, 2026
Merged

feat(src): EIP-7843 (SLOTNUM) Draft#2007
fselmo merged 2 commits into
ethereum:eips/amsterdam/eip-7843from
felix314159:eip7843

Conversation

@felix314159

@felix314159 felix314159 commented Jan 12, 2026

Copy link
Copy Markdown
Contributor

🗒️ Description

uv run fill tests/amsterdam/eip7843_slotnum/test_slotnum.py -v --clean --until=Amsterdam.
successfully tested against geth's bal-devnet-2 branch after applying these fixes. btw in hive/clients/go-ethereum i used the genesis that ethpandaops provided for bal-devnet-1

🔗 Related Issues or PRs

Solves #1876

✅ Checklist

  • All: Ran fast tox checks to avoid unnecessary CI fails, see also Code Standards and Enabling Pre-commit Checks:
    uvx tox -e static
  • All: PR title adheres to the repo standard - it will be used as the squash commit message and should start type(scope):.
  • All: Considered adding an entry to CHANGELOG.md.
  • All: Considered updating the online docs in the ./docs/ directory.
  • All: Set appropriate labels for the changes (only maintainers can apply labels).
  • Tests: Ran mkdocs serve locally and verified the auto-generated docs for new tests in the Test Case Reference are correctly formatted.
  • Tests: For PRs implementing a missed test case, update the post-mortem document to add an entry the list.
  • Ported Tests: All converted JSON/YML tests from ethereum/tests or tests/static have been assigned @ported_from marker.

Cute Animal Picture

Description

@marioevz marioevz requested a review from danceratopz January 12, 2026 21:59
@felix314159 felix314159 changed the base branch from eips/amsterdam/eip-7843 to forks/amsterdam January 19, 2026 10:00
@felix314159 felix314159 changed the base branch from forks/amsterdam to eips/amsterdam/eip-7843 January 19, 2026 10:09
@felix314159

Copy link
Copy Markdown
Contributor Author

Rebased the remote eip7843 branch on forks/amsterdam (which now includes BAL) and then rebased this PR on it

@felix314159 felix314159 marked this pull request as ready for review January 19, 2026 16:25

@marioevz marioevz left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks fantastic! I added two small comments only. Thanks!

Comment thread tests/amsterdam/eip7843_slotnum/test_slotnum.py Outdated
Comment thread tests/amsterdam/eip7843_slotnum/test_slotnum.py Outdated
@marioevz marioevz added this to the bal devnet-2 milestone Jan 19, 2026
@felix314159 felix314159 changed the base branch from eips/amsterdam/eip-7843 to forks/amsterdam January 20, 2026 10:47
@felix314159

Copy link
Copy Markdown
Contributor Author

I rebased on top of forks/amsterdam. I think just like BAL there is value in merging this into forks/amsterdam instead of its own eip branch because it affects the block header. It is not SFI'd officially, but I think it could simplify our workflow when working on the other eips

jsign pushed a commit to jsign/execution-specs that referenced this pull request Jan 20, 2026
jsign pushed a commit to jsign/execution-specs that referenced this pull request Jan 20, 2026
jsign pushed a commit to jsign/execution-specs that referenced this pull request Jan 20, 2026
@felix314159 felix314159 changed the base branch from forks/amsterdam to eips/amsterdam/eip-7843 January 20, 2026 15:13
@felix314159

Copy link
Copy Markdown
Contributor Author

Ok the target EIP branch is now also rebased on forks/amsterdam

@spencer-tb spencer-tb left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some small comments.

Quick tests to include in another PR:

  • Fork transitions tests, verify invalid pre fork, valid on fork block and after.
  • Call context, verify slot_number is consistent in nested call.
  • Initcode context, verify slot_number in constructor via direct tx and via CREATE/CREATE2.

Comment thread tests/amsterdam/eip7843_slotnum/spec.py
Comment thread packages/testing/src/execution_testing/vm/opcodes.py
Comment thread src/ethereum/forks/amsterdam/vm/instructions/block.py

@fselmo fselmo left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I rebased this and it lgtm 👍🏼. I'm going to address a failing test for 7934 and Spencer's comments in a followup PR.

@fselmo fselmo merged commit 8682b5d into ethereum:eips/amsterdam/eip-7843 Jan 21, 2026
21 of 22 checks passed
fselmo added a commit to fselmo/execution-specs that referenced this pull request Jan 21, 2026
fselmo added a commit that referenced this pull request Jan 21, 2026
* fix(tests): minor updates to eip-7843 following #2007

* fix: account for slotnum in genesis creation

* fix: append slot_number in fixture_loader.py
github-actions Bot pushed a commit that referenced this pull request Jan 22, 2026
* feat(amsterdam): Implement EIP-7843 SLOTNUM opcode

* mario feedback
gurukamath pushed a commit that referenced this pull request Feb 24, 2026
* fix(tests): minor updates to eip-7843 following #2007

* fix: account for slotnum in genesis creation

* fix: append slot_number in fixture_loader.py
marioevz pushed a commit that referenced this pull request Feb 27, 2026
* feat(amsterdam): Implement EIP-7843 SLOTNUM opcode

* mario feedback

# Conflicts:
#	packages/testing/src/execution_testing/forks/base_fork.py
marioevz pushed a commit that referenced this pull request Feb 27, 2026
* fix(tests): minor updates to eip-7843 following #2007

* fix: account for slotnum in genesis creation

* fix: append slot_number in fixture_loader.py
spencer-tb pushed a commit to spencer-tb/execution-specs that referenced this pull request Mar 3, 2026
* feat(amsterdam): Implement EIP-7843 SLOTNUM opcode

* mario feedback

# Conflicts:
#	packages/testing/src/execution_testing/forks/base_fork.py
spencer-tb pushed a commit to spencer-tb/execution-specs that referenced this pull request Mar 3, 2026
* fix(tests): minor updates to eip-7843 following ethereum#2007

* fix: account for slotnum in genesis creation

* fix: append slot_number in fixture_loader.py
spencer-tb pushed a commit to spencer-tb/execution-specs that referenced this pull request Mar 6, 2026
* feat(amsterdam): Implement EIP-7843 SLOTNUM opcode

* mario feedback

# Conflicts:
#	packages/testing/src/execution_testing/forks/base_fork.py
spencer-tb pushed a commit to spencer-tb/execution-specs that referenced this pull request Mar 6, 2026
* fix(tests): minor updates to eip-7843 following ethereum#2007

* fix: account for slotnum in genesis creation

* fix: append slot_number in fixture_loader.py
spencer-tb pushed a commit to spencer-tb/execution-specs that referenced this pull request Mar 10, 2026
* feat(amsterdam): Implement EIP-7843 SLOTNUM opcode

* mario feedback

# Conflicts:
#	packages/testing/src/execution_testing/forks/base_fork.py
spencer-tb pushed a commit to spencer-tb/execution-specs that referenced this pull request Mar 10, 2026
* fix(tests): minor updates to eip-7843 following ethereum#2007

* fix: account for slotnum in genesis creation

* fix: append slot_number in fixture_loader.py
fselmo pushed a commit to fselmo/execution-specs that referenced this pull request Mar 10, 2026
* feat(amsterdam): Implement EIP-7843 SLOTNUM opcode

* mario feedback
fselmo added a commit to fselmo/execution-specs that referenced this pull request Mar 10, 2026
* fix(tests): minor updates to eip-7843 following ethereum#2007

* fix: account for slotnum in genesis creation

* fix: append slot_number in fixture_loader.py
fselmo pushed a commit to fselmo/execution-specs that referenced this pull request Mar 10, 2026
* feat(amsterdam): Implement EIP-7843 SLOTNUM opcode

* mario feedback
fselmo added a commit to fselmo/execution-specs that referenced this pull request Mar 10, 2026
* fix(tests): minor updates to eip-7843 following ethereum#2007

* fix: account for slotnum in genesis creation

* fix: append slot_number in fixture_loader.py
fselmo pushed a commit to fselmo/execution-specs that referenced this pull request Mar 13, 2026
* feat(amsterdam): Implement EIP-7843 SLOTNUM opcode

* mario feedback
fselmo added a commit to fselmo/execution-specs that referenced this pull request Mar 13, 2026
* fix(tests): minor updates to eip-7843 following ethereum#2007

* fix: account for slotnum in genesis creation

* fix: append slot_number in fixture_loader.py
fselmo pushed a commit to fselmo/execution-specs that referenced this pull request Mar 17, 2026
* feat(amsterdam): Implement EIP-7843 SLOTNUM opcode

* mario feedback
fselmo added a commit to fselmo/execution-specs that referenced this pull request Mar 17, 2026
* fix(tests): minor updates to eip-7843 following ethereum#2007

* fix: account for slotnum in genesis creation

* fix: append slot_number in fixture_loader.py
fselmo pushed a commit to fselmo/execution-specs that referenced this pull request Mar 18, 2026
* feat(amsterdam): Implement EIP-7843 SLOTNUM opcode

* mario feedback
fselmo added a commit to fselmo/execution-specs that referenced this pull request Mar 18, 2026
* fix(tests): minor updates to eip-7843 following ethereum#2007

* fix: account for slotnum in genesis creation

* fix: append slot_number in fixture_loader.py
marioevz pushed a commit that referenced this pull request Mar 24, 2026
* feat(amsterdam): Implement EIP-7843 SLOTNUM opcode

* mario feedback
marioevz pushed a commit that referenced this pull request Mar 24, 2026
* fix(tests): minor updates to eip-7843 following #2007

* fix: account for slotnum in genesis creation

* fix: append slot_number in fixture_loader.py
marioevz pushed a commit that referenced this pull request Apr 8, 2026
* feat(amsterdam): Implement EIP-7843 SLOTNUM opcode

* mario feedback
marioevz pushed a commit that referenced this pull request Apr 8, 2026
* fix(tests): minor updates to eip-7843 following #2007

* fix: account for slotnum in genesis creation

* fix: append slot_number in fixture_loader.py
github-actions Bot pushed a commit that referenced this pull request Apr 10, 2026
* feat(amsterdam): Implement EIP-7843 SLOTNUM opcode

* mario feedback
github-actions Bot pushed a commit that referenced this pull request Apr 10, 2026
* fix(tests): minor updates to eip-7843 following #2007

* fix: account for slotnum in genesis creation

* fix: append slot_number in fixture_loader.py
spencer-tb pushed a commit to spencer-tb/execution-specs that referenced this pull request Apr 20, 2026
* feat(amsterdam): Implement EIP-7843 SLOTNUM opcode

* mario feedback
spencer-tb pushed a commit to spencer-tb/execution-specs that referenced this pull request Apr 20, 2026
* fix(tests): minor updates to eip-7843 following ethereum#2007

* fix: account for slotnum in genesis creation

* fix: append slot_number in fixture_loader.py
LouisTsai-Csie pushed a commit that referenced this pull request Apr 27, 2026
* feat(amsterdam): Implement EIP-7843 SLOTNUM opcode

* mario feedback
LouisTsai-Csie pushed a commit that referenced this pull request Apr 27, 2026
* fix(tests): minor updates to eip-7843 following #2007

* fix: account for slotnum in genesis creation

* fix: append slot_number in fixture_loader.py
marioevz added a commit that referenced this pull request May 14, 2026
* feat(src): Initial EIP-7843 (SLOTNUM) Implementation (#2007)

* feat(amsterdam): Implement EIP-7843 SLOTNUM opcode

* mario feedback

* fix(tests): minor fixes and updates for eip7843 (#2057)

* fix(tests): minor updates to eip-7843 following #2007

* fix: account for slotnum in genesis creation

* fix: append slot_number in fixture_loader.py

* execution-api 7843 pr 731 implemented (#2101)

* src(fix): framework bug fix for slotnum (#2108)

* refactor(tests): Condition EIP-7843 tests to EIP inclusion

* fix(specs): align EIP-7843 SLOTNUM gas references with renamed constants

Replace stale GAS_BASE reference with GasCosts.OPCODE_SLOTNUM (= BASE)
to match the opcode gas naming convention used across block
instructions on forks/amsterdam. Also update the test-fork mixin to use
gas_costs.BASE instead of the retired gas_costs.GAS_BASE.

* Remove stray header_bal_hash_required checks

* Remove unneeded eip7843 spec.py

---------

Co-authored-by: felix <felix314159@users.noreply.github.com>
Co-authored-by: felipe <fselmo2@gmail.com>
Co-authored-by: marioevz <marioevz@gmail.com>
Co-authored-by: spencer-tb <spencer.tb@ethereum.org>
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.

5 participants