Skip to content

feat(spec-specs): (EIP-7778) revert to post refund gas in receipts#2073

Merged
gurukamath merged 1 commit into
ethereum:eips/amsterdam/eip-7778from
gurukamath:eip-7778/use-post-refund-in-receipt
Jan 26, 2026
Merged

feat(spec-specs): (EIP-7778) revert to post refund gas in receipts#2073
gurukamath merged 1 commit into
ethereum:eips/amsterdam/eip-7778from
gurukamath:eip-7778/use-post-refund-in-receipt

Conversation

@gurukamath

Copy link
Copy Markdown
Contributor

🗒️ Description

Based on recent discussions the receipt should go back to containing the cumulative gas post refunds (something that the users actually pay)

🔗 Related Issues or PRs

#1874

✅ 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 updating the online docs in the ./docs/ directory.

Cute Animal Picture

TBD

@gurukamath gurukamath force-pushed the eip-7778/use-post-refund-in-receipt branch from 87e2b2c to 7157947 Compare January 24, 2026 20:31
@gurukamath

Copy link
Copy Markdown
Contributor Author

@nerolation draft implementation of the discussed changes so we have something ready to go once a decision is made

@gurukamath gurukamath force-pushed the eip-7778/use-post-refund-in-receipt branch from 7157947 to 3813ca6 Compare January 24, 2026 20:36
@gurukamath gurukamath force-pushed the eip-7778/use-post-refund-in-receipt branch from 3813ca6 to 5879a7d Compare January 24, 2026 20:54
@codecov

codecov Bot commented Jan 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.14%. Comparing base (e958b62) to head (5879a7d).
⚠️ Report is 98 commits behind head on eips/amsterdam/eip-7778.

Additional details and impacted files
@@                     Coverage Diff                     @@
##           eips/amsterdam/eip-7778    #2073      +/-   ##
===========================================================
- Coverage                    86.33%   86.14%   -0.20%     
===========================================================
  Files                          538      599      +61     
  Lines                        34557    39475    +4918     
  Branches                      3222     3780     +558     
===========================================================
+ Hits                         29835    34005    +4170     
- Misses                        4148     4848     +700     
- Partials                       574      622      +48     
Flag Coverage Δ
unittests 86.14% <100.00%> (-0.20%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@nerolation nerolation 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.

lgtm

@LouisTsai-Csie LouisTsai-Csie self-requested a review January 26, 2026 07:23
@gurukamath gurukamath marked this pull request as ready for review January 26, 2026 14:20
@gurukamath gurukamath requested a review from marioevz January 26, 2026 14:20

@LouisTsai-Csie LouisTsai-Csie left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM!!

"""
Total gas used in the block up to and including this transaction.
This is the gas used before refunds, used for block gas accounting.
This is the gas used after refunds, paid by the user.

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.

Just to clarify, this field now contains this:

sum(tx.gas_used_before_refunds for tx in txs[:i]) + txs[i].gas_used_after_refunds

@gurukamath gurukamath Jan 26, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

No. This is going to be

sum(tx.gas_used_after_refunds for tx in txs[:i]))

This is exactly how it was before EIP-7778. So essentially, EIP-7778 does not change the receipts themselves. (except the fact that block gas accounting will no longer be possible using just receipts)

@gurukamath gurukamath merged commit 80b55b0 into ethereum:eips/amsterdam/eip-7778 Jan 26, 2026
17 of 20 checks passed
felix314159 pushed a commit to felix314159/execution-specs that referenced this pull request Feb 4, 2026
fselmo pushed a commit to fselmo/execution-specs that referenced this pull request Feb 12, 2026
spencer-tb pushed a commit to spencer-tb/execution-specs that referenced this pull request Mar 3, 2026
spencer-tb pushed a commit to spencer-tb/execution-specs that referenced this pull request Mar 6, 2026
spencer-tb pushed a commit to spencer-tb/execution-specs that referenced this pull request Mar 10, 2026
fselmo pushed a commit to fselmo/execution-specs that referenced this pull request Mar 10, 2026
fselmo pushed a commit to fselmo/execution-specs that referenced this pull request Mar 10, 2026
fselmo pushed a commit to fselmo/execution-specs that referenced this pull request Mar 13, 2026
fselmo pushed a commit to fselmo/execution-specs that referenced this pull request Mar 17, 2026
fselmo pushed a commit to fselmo/execution-specs that referenced this pull request Mar 18, 2026
spencer-tb pushed a commit to spencer-tb/execution-specs that referenced this pull request Apr 20, 2026
marioevz added a commit that referenced this pull request May 13, 2026
…ut refunds (#2840)

* feat(spec-specs): Implement EIP-7778 Block Gas Accounting without Refunds (#1401)

* feat(specs): add eip-7778 implementation

* fix(specs) spliting receipt gas from block gas

* revert receipt_gas_used

* make sure that the calldata floor cost overwrites the tx gas before refund

* receipt gas used after refunds

* clarify variable naming @gurukamath

* revert to using gas used after refunds for cumulative gas in receipt and add gasSpent to receipt

* spec(amsterdam): fix code formatting

---------

Co-authored-by: Guruprasad Kamath <guru241987@gmail.com>

* fix(tests): fix legacy tests to run with eip-7778 (#2048)

* fix(tests): fix legacy tests to run with eip-7778

* fix(tests): check gas_spent and gas_used after Amsterdam

* feat(spec-tests): add basic eip7778 test (#2045)

* feat(spec-tests): add eip-7778 tests for calldata checks (#2060)

* feat(spec-tests): add eip-7778 for calldata checks

* feat(spec-tests): post review - use code gas_cost function

Co-authored-by: Louis Tsai <72684086+LouisTsai-Csie@users.noreply.github.com>

* Apply suggestions from code review

---------

Co-authored-by: Louis Tsai <72684086+LouisTsai-Csie@users.noreply.github.com>
Co-authored-by: Mario Vega <marioevz@gmail.com>

* fix(tests): Fix gas used/spent in EIP-7702 tests (#2068)

* feat(spec-specs): use post refund gas in receipts in EIP-7778 (#2073)

* fix(test): Update refspec for EIP-7778 to match latest revision (#2093)

* feat(test-forks): Add EIP-7778

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

* fix(test): use deterministic iteration order for refund types

The set iteration in `build_refund_tx` is non-deterministic due to
Python's hash randomization, causing fixture output to vary between
runs. Sort by enum value to ensure reproducible fixtures.

* doc: remove changelog md

* fix: broken auth tx benchmark

* doc: add eip checklist

* fix: typo

* Update tests/benchmark/compute/scenario/test_transaction_types.py

* Apply suggestions from code review

Co-authored-by: Mario Vega <marioevz@gmail.com>

---------

Co-authored-by: Toni Wahrstätter <51536394+nerolation@users.noreply.github.com>
Co-authored-by: Guruprasad Kamath <guru241987@gmail.com>
Co-authored-by: Guruprasad Kamath <48196632+gurukamath@users.noreply.github.com>
Co-authored-by: Mario Vega <marioevz@gmail.com>
Co-authored-by: felipe <fselmo2@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