Skip to content

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

Merged
gurukamath merged 8 commits into
ethereum:eips/amsterdam/eip-7778from
nerolation:add-eip7778
Jan 20, 2026
Merged

feat(spec-specs): Implement EIP-7778 Block Gas Accounting without Refunds#1401
gurukamath merged 8 commits into
ethereum:eips/amsterdam/eip-7778from
nerolation:add-eip7778

Conversation

@nerolation

@nerolation nerolation commented Sep 3, 2025

Copy link
Copy Markdown
Contributor

This is the implementation of EIP-7778, which is proposed for Glamsterdam.

danceratopz pushed a commit to danceratopz/execution-specs that referenced this pull request Oct 22, 2025
@jochem-brouwer

Copy link
Copy Markdown
Member

I love one-liner EIPs 😍

@SamWilsn SamWilsn changed the base branch from forks/osaka to forks/amsterdam December 15, 2025 20:49
@SamWilsn SamWilsn added this to the amsterdam milestone Dec 15, 2025
@codecov

codecov Bot commented Dec 15, 2025

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.33%. Comparing base (9e161b6) to head (fb0f1f2).
⚠️ Report is 52 commits behind head on eips/amsterdam/eip-7778.

Additional details and impacted files
@@                     Coverage Diff                     @@
##           eips/amsterdam/eip-7778    #1401      +/-   ##
===========================================================
+ Coverage                    82.61%   86.33%   +3.71%     
===========================================================
  Files                          417      538     +121     
  Lines                        26862    34557    +7695     
  Branches                      2492     3222     +730     
===========================================================
+ Hits                         22193    29835    +7642     
+ Misses                        4230     4148      -82     
- Partials                       439      574     +135     
Flag Coverage Δ
unittests 86.33% <ø> (+3.71%) ⬆️

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.

Comment thread src/ethereum/forks/amsterdam/fork.py Outdated
@nerolation

Copy link
Copy Markdown
Contributor Author

I'm wondering how important having a 100% correct gas_used (after refuds) in the receipt is for users/devs.
Putting the gas_used before refunds into it would make it easier to validate that the block gas limit was obeyed - just by using receipts. This is useful for parallel execution. Otherwise clients would need to keep track of the refunds of each transactions and add them to the gas_used field in the receipt if they want to check that a block is valid after executing it in parallel.

@gurukamath

Copy link
Copy Markdown
Contributor

I'm wondering how important having a 100% correct gas_used (after refuds) in the receipt is for users/devs. Putting the gas_used before refunds into it would make it easier to validate that the block gas limit was obeyed - just by using receipts. This is useful for parallel execution. Otherwise clients would need to keep track of the refunds of each transactions and add them to the gas_used field in the receipt if they want to check that a block is valid after executing it in parallel.

Yeah, it makes sense in my mind to keep these two in sync. Unless there is some other use case here that I am overlooking.
@jochem-brouwer Is there any use case that you had in mind when you first raised this?

@jochem-brouwer

Copy link
Copy Markdown
Member

CC @nerolation since it's their quote 😉 @gurukamath

I'll nevertheless chime in here:

Otherwise clients would need to keep track of the refunds of each transactions and add them to the gas_used field in the receipt if they want to check that a block is valid after executing it in parallel.

Right, but this has to be done anyways, right? If we want to retrieve this from the receipts, we have to either get the receipts from other clients (IIRC this is only done in sync mode) or we have to re-run the block. In the later case, we quickly find out the block is invalid. In the sync phase, we can also invalidate the block, but this is a historical block, so our CL should not point us to that head.

However, we might think if we have EIP-7778 in combination with BALs EIP-7928 if it makes sense to change this field in the receipts. For instance, can we retrieve these fields from BALs? Or is this not what we want (since BALs have a limited (?) time to be queried?).
If we want to figure out how much the EOA paid vs how much gas was used (minus refunds) we could attempt to query the balance form the BAL which is burned, or what is sent to coinbase. However, the latter might not work in all cases, sine for 7702-accounts we could send "extra" ETH to coinbase, which yields extra transfers from the EOA to coinbase, and might look from an external point of view as extra gas spent 🤔

I think it might be beneficial to think of the combination of this EIP with BALs to see if we can improve both EIPs if those are shipped in the same fork.

@nerolation

Copy link
Copy Markdown
Contributor Author

yeah I agree. I was confusing the response of eth_getTransactionReceipt with the Receipt including the cumulative gas used.
In this case we may want to again move back to adding the gas_used before refunds to the cumulative gas used. Then we can use it for enforcing the block gas limit under BALs.

@gurukamath

Copy link
Copy Markdown
Contributor

Linking the EIPs PR

@danceratopz danceratopz added A-spec-specs Area: Specification—The Ethereum specification itself (eg. `src/ethereum/*`) C-feat Category: an improvement or new feature labels Jan 15, 2026
@danceratopz danceratopz changed the title Add EIP-7778 implementation feat(spec-specs): Implement EIP-7778 Block Gas Accounting without Refunds Jan 15, 2026
@danceratopz danceratopz changed the base branch from forks/amsterdam to eips/amsterdam/eip-7778 January 15, 2026 09:29
@danceratopz

Copy link
Copy Markdown
Member

@nerolation @gurukamath just a heads up, I just created a new target branch eips/amsterdam/eip-7778 for this EIP and changed the PR's target branch to point to that.

Comment thread src/ethereum/forks/amsterdam/fork.py Outdated
destroy_account(block_env.state, address)

block_output.block_gas_used += tx_gas_used_after_refund
block_output.block_gas_used += tx_gas_used_before_refund

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.

What happens if calldata_floor_gas_cost > tx_gas_used_before_refund?

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.

In that case the calldata_floor_cost must be used

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.

Let me investigate that further

@nerolation

Copy link
Copy Markdown
Contributor Author

@gurukamath @jochem-brouwer would love your review of the latest commit.

@gurukamath

gurukamath commented Jan 15, 2026

Copy link
Copy Markdown
Contributor

@gurukamath @jochem-brouwer would love your review of the latest commit.

The new commit handles the calldata_floor_gas_cost concern I had in my earlier comment. Needs to be clarified in the EIP text.

Edit: Please see my next comment

@gurukamath

gurukamath commented Jan 15, 2026

Copy link
Copy Markdown
Contributor

@gurukamath @jochem-brouwer would love your review of the latest commit.

The new commit handles the calldata_floor_gas_cost concern I had in my earlier comment. Needs to be clarified in the EIP text.

@nerolation Actually, on closer thought, if we have a case where tx_gas_used_after_refund < calldata_floor_gas_cost < tx_gas_used_before_refund, we will end up in a situation where the user has used calldata_floor_gas_cost gas but the block_gas_limit is reduced by tx_gas_used_before_refund. I think this is a disconnect

@nerolation

Copy link
Copy Markdown
Contributor Author

... we will end up in a situation where the user uses calldata_floor_gas_cost wheras the block_gas_limit is reduced by tx_gas_used_before_refund which I think is a disconnect

True but I'd say that's fine. We still won't allow users to use refunded gas of earlier transaction and users would still pay the floor cost in case it is larger than the regular gas cost. In case the floor is larger than the tx_gas_used_before_refund we may want to substract the higher floor cost from the available gas.

@@ -550,6 +550,7 @@ def make_receipt(
tx: Transaction,
error: Optional[EthereumException],

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Great

gurukamath added a commit that referenced this pull request Jan 22, 2026
…unds (#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>
github-actions Bot pushed a commit that referenced this pull request Jan 22, 2026
…unds (#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>
fselmo pushed a commit that referenced this pull request Jan 23, 2026
…unds (#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>
github-actions Bot pushed a commit that referenced this pull request Jan 23, 2026
…unds (#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>
github-actions Bot pushed a commit that referenced this pull request Jan 26, 2026
…unds (#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>
marioevz pushed a commit that referenced this pull request Jan 29, 2026
…unds (#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>
fselmo pushed a commit that referenced this pull request Feb 3, 2026
…unds (#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>
felix314159 pushed a commit to felix314159/execution-specs that referenced this pull request Feb 4, 2026
…unds (ethereum#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>
spencer-tb pushed a commit that referenced this pull request Feb 11, 2026
…unds (#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>
fselmo pushed a commit to fselmo/execution-specs that referenced this pull request Feb 12, 2026
…unds (ethereum#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>
fselmo pushed a commit that referenced this pull request Feb 12, 2026
…unds (#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>
fselmo pushed a commit that referenced this pull request Feb 13, 2026
…unds (#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>
gurukamath added a commit that referenced this pull request Feb 24, 2026
…unds (#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>
gurukamath added a commit that referenced this pull request Feb 25, 2026
…unds (#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>
github-actions Bot pushed a commit that referenced this pull request Feb 27, 2026
…unds (#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>
spencer-tb pushed a commit to spencer-tb/execution-specs that referenced this pull request Mar 3, 2026
…unds (ethereum#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>
spencer-tb pushed a commit to spencer-tb/execution-specs that referenced this pull request Mar 6, 2026
…unds (ethereum#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>
spencer-tb pushed a commit to spencer-tb/execution-specs that referenced this pull request Mar 10, 2026
…unds (ethereum#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>
fselmo pushed a commit to fselmo/execution-specs that referenced this pull request Mar 10, 2026
…unds (ethereum#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>
fselmo pushed a commit to fselmo/execution-specs that referenced this pull request Mar 10, 2026
…unds (ethereum#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>
fselmo pushed a commit to fselmo/execution-specs that referenced this pull request Mar 13, 2026
…unds (ethereum#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>
fselmo pushed a commit to fselmo/execution-specs that referenced this pull request Mar 17, 2026
…unds (ethereum#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>
fselmo pushed a commit to fselmo/execution-specs that referenced this pull request Mar 18, 2026
…unds (ethereum#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>
marioevz pushed a commit that referenced this pull request Mar 24, 2026
…unds (#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>
marioevz pushed a commit that referenced this pull request Apr 8, 2026
…unds (#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>
github-actions Bot pushed a commit that referenced this pull request Apr 10, 2026
…unds (#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>
spencer-tb pushed a commit to spencer-tb/execution-specs that referenced this pull request Apr 20, 2026
…unds (ethereum#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>
LouisTsai-Csie pushed a commit that referenced this pull request May 13, 2026
…unds (#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>
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

A-spec-specs Area: Specification—The Ethereum specification itself (eg. `src/ethereum/*`) C-feat Category: an improvement or new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants