forked from 0xPolygon/polygon-edge
-
Notifications
You must be signed in to change notification settings - Fork 7
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
London test fixes #111
Merged
Merged
London test fixes #111
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
goran-ethernal
force-pushed
the
london-tests-fix
branch
from
February 9, 2024 15:42
0ae17fb
to
4c84579
Compare
goran-ethernal
force-pushed
the
london-tests-fix
branch
from
February 9, 2024 19:46
842ef9e
to
859d073
Compare
goran-ethernal
force-pushed
the
london-tests-fix
branch
2 times, most recently
from
February 12, 2024 07:52
39dc35d
to
ec652f2
Compare
goran-ethernal
requested review from
Stefan-Ethernal and
dusannosovic-ethernal
February 12, 2024 08:09
goran-ethernal
force-pushed
the
london-tests-fix
branch
2 times, most recently
from
February 12, 2024 13:52
fb52f9e
to
281d1f6
Compare
dusannosovic-ethernal
approved these changes
Feb 12, 2024
Stefan-Ethernal
approved these changes
Feb 13, 2024
Stefan-Ethernal
force-pushed
the
london-tests-fix
branch
from
February 13, 2024 15:25
bbd1a17
to
add1d22
Compare
goran-ethernal
force-pushed
the
london-tests-fix
branch
3 times, most recently
from
February 14, 2024 12:32
cf64df6
to
2af2ab5
Compare
Stefan-Ethernal
force-pushed
the
feature/berlin
branch
from
February 15, 2024 11:37
bde3d2e
to
d635974
Compare
Stefan-Ethernal
force-pushed
the
london-tests-fix
branch
from
February 15, 2024 11:40
bf94ecd
to
9d72911
Compare
goran-ethernal
force-pushed
the
london-tests-fix
branch
from
February 16, 2024 16:27
91f44a2
to
24c4fe6
Compare
11 tasks
goran-ethernal
added a commit
that referenced
this pull request
Feb 19, 2024
* EIP-2565 Implementation (0xPolygon#1704) * implemented EIP-2565 * fixed linting error * fixed linting error * fixed TestModExpWithEIP2565 * resolved comments * resolved comments * resolved merge conflicts * Eip 2929 (0xPolygon#1748) * implemented changes for EIP-2929 (access list) * added missing files * fixed unit test Test_opCall * populate access_list with precompiles only if eip-2929 is activated * added address to access list for Balance opcode * added test cases and for EIP-2929 and also call stack output * changed structure of access list and removed some comments * fixed linting errors * fixed AddSlot method * added test cases for access list * removed call stack output for Test_Transition_EIP2929 * corrected indentation * fixed linting errors * fixed linting errors * fixed Test_opReturnDataCopy * removed ActivePrecompile Address slice * changed the const name * changed the const name in comments * change the AddAddress function to a variadic function * refactored * added test cases for SLOAD opcode * fixed linting errors * refactored code * resolved merge conflicts * fixed EIP-2929 test * Rebase fix * `Berlin` fork implementation (#81) * Berlin implementation * Fix tests * Lint fix * Lint fix part 2 * Bug fixes * Lint fix * Legacy e2e tests fix * Unmarshal fix * Tx signer fix * Use requires instead of Fatalf * Pass the TestLondonSignerSender * Cleanup precompile addresses * TxSigner fix * Fix precompiles addresses access in unit test * Order tx types * Address comments --------- Co-authored-by: Stefan Negovanović <stefan@ethernal.tech> * Rebase fix * Berlin fixes (#86) * Add journal to contract access list changes * small fix on journal * remove access list from state * Fix build * Remove commented code * Add access list to state_test_util * Include BerlinToLondon tests as well * Minor change --------- Co-authored-by: Stefan Negovanović <stefan@ethernal.tech> * Use `btcec v2` lib for `ECDSA` keys manipulation (#105) * Use btcec v2 lib for ECDSA keys manipulation * Fix test * Remove key from stake manager * Warning fix (loop variable capture) * Bump Ethereum tests version (#119) * Bump Ethereum tests version * Linter fixes * Skip loopMul and minor refactoring * Refactor Ethereum tests files resolution * Provide EIP 3607 to each fork config * Audit duration of each test * Add detailed logging and skip CREATEBlake2f_MaxRounds test * Remove -v flag * small fixes * fix * Lint fix --------- Co-authored-by: Goran Rojovic <goran.rojovic@ethernal.tech> * London test fixes (#111) * Tests fixes * SelfDestruct fix * Rebase fix * Journaling fix * Tests fix * e2e fix * subGasLimit fix * Fix * Skip CheckEIP1559 e2e test * Remove auxState field from Transition and use NewTransition function * increase timeout for UT * Suppress linting warnings * underflow test fix * Revert make file * Remove panic * Use %d in the error formatting --------- Co-authored-by: Stefan Negovanović <stefan@ethernal.tech> --------- Co-authored-by: Rachit Sonthalia <54906134+rachit77@users.noreply.github.com> Co-authored-by: Goran Rojovic <goran.rojovic@ethernal.tech> Co-authored-by: Goran Rojovic <100121253+goran-ethernal@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR fixes issues in regards to the London (
EIP-1559
) fork tests.Bug Fixes
access list
fromruntime.Contract
toTransition
. This way,access list
is only held by one object.journal
fromruntime.Contract
toTransition
. This way,journal
is only held by one object. This was necessary, because journals should be aware of the snapshot number as well (journalRevisions
). For example, a contract can call another contract, and that other contract can call a third contract, each call creates a new snapshot. If let's say a call to the third contract fails, any slot or address added to the access list in calls of the first two contracts should not be removed from the access list. That is wayjournal
must be aware of the snapshot id, so that it knows to remove only items from the snapshot that failed.Transition
object, and doing a pre-check of the transaction to see if some basic conditions are met, nonce check was not totally complete. Before this fix, it only checked if the passed nonce is equal from the one in state. Now the check is more granular (checks if nonce is lower, higher, or maxed out, and returns a proper error).Transition
object, and doing a pre-check of the transaction to see if account has enough funds to pay for the transaction, the check was not quite complete in case ofDynamic
(London
) transactions. This is now synced withgeth
.Transition
object. Refund quotient was the same forBerlin
andLondon
forks, which was not correct.0xEF
whenLondon
fork is enabled was missing in the case when deploying a new contract.opSelfDestruct
is executed, a check if London fork is enabled was missing when doing the refund. Only ifLondon
is not enabled, self destruct should do refund to the address that is being suicide.SIGNEXTEND
instruction did not have the correct stack size value.Changes include
Checklist
Testing