feat(spec-specs): (EIP-7778) revert to post refund gas in receipts#2073
Conversation
87e2b2c to
7157947
Compare
|
@nerolation draft implementation of the discussed changes so we have something ready to go once a decision is made |
7157947 to
3813ca6
Compare
3813ca6 to
5879a7d
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. 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
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
| """ | ||
| 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. |
There was a problem hiding this comment.
Just to clarify, this field now contains this:
sum(tx.gas_used_before_refunds for tx in txs[:i]) + txs[i].gas_used_after_refundsThere was a problem hiding this comment.
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)
80b55b0
into
ethereum:eips/amsterdam/eip-7778
…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>
🗒️ 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
toxchecks to avoid unnecessary CI fails, see also Code Standards and Enabling Pre-commit Checks:uvx tox -e statictype(scope):.Cute Animal Picture
TBD