-
Notifications
You must be signed in to change notification settings - Fork 103
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(tests): EIP-7691: Fork transition tests #1082
Conversation
f0c84de
to
3f4df0f
Compare
3f4df0f
to
c0c27f3
Compare
c0c27f3
to
791a6ae
Compare
Documenting here the drop in coverage when comparing the generated fixtures by this PR against main: The culprit is that we were originally sending the blob transactions to a hard-coded empty address at execution-spec-tests/tests/cancun/eip4844_blobs/test_excess_blob_gas_fork_transition.py Lines 72 to 74 in 607d1b6
And was changed in this PR to a new dynamically generated contract with a single execution-spec-tests/tests/cancun/eip4844_blobs/test_excess_blob_gas_fork_transition.py Lines 133 to 135 in 773e5c3
Since this test has nothing to do with empty accounts, I think this should be ok. Coverage check doing its job very nicely here because if it was something else that was a bit more serious, it would have been caught here 💯 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great!
These tests all pass consume direct
with s1na/go-ethereum@f24d6f6
Not particular to the changes here (the tests were already so): The tests include type2 tx before the transition and then type3 tx after (no type2). I wondered if we should include type2 after transition as well, in addtion to the new type3 txs?
One other comment below.
* feat(tests): more edge cases for blob gas at transitions * Apply suggestions from code review --------- Co-authored-by: Mario Vega <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
* refactor(tests): EIP-4844, EIP-7691: Fill fork transition blob tests in newer forks * fix(tests): Rebase fixes, add more checks to the test * chengelog * feat(tests): more blob gas tests for fork transitions (ethereum#1107) * feat(tests): more edge cases for blob gas at transitions * Apply suggestions from code review --------- Co-authored-by: Mario Vega <[email protected]> * fix(tests): Remove type-2 txs, destination account is empty * tox: typing --------- Co-authored-by: danceratopz <[email protected]>
* refactor(tests): EIP-4844, EIP-7691: Fill fork transition blob tests in newer forks * fix(tests): Rebase fixes, add more checks to the test * chengelog * feat(tests): more blob gas tests for fork transitions (ethereum#1107) * feat(tests): more edge cases for blob gas at transitions * Apply suggestions from code review --------- Co-authored-by: Mario Vega <[email protected]> * fix(tests): Remove type-2 txs, destination account is empty * tox: typing --------- Co-authored-by: danceratopz <[email protected]>
🗒️ Description
Implements fork transition tests for the blob target and max increment by EIP-7691 that occurs on the Prague activation.
Test expectation: At the first block of Prague, we use the
TARGET_BLOB_GAS_PER_BLOCK
,MAX_BLOB_GAS_PER_BLOCK
andBLOB_BASE_FEE_UPDATE_FRACTION_PRAGUE
constants in EIP-7691, just the same as we use for subsequent blocks for Prague:(output generated with
fill --until Prague -k test_fork_transition_excess_blob_gas --collect-only -q
)Requires #1081Merged🔗 Related Issues
None
✅ Checklist