-
Notifications
You must be signed in to change notification settings - Fork 756
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
Implement Mega EOF #3440
Merged
Merged
Implement Mega EOF #3440
Changes from 1 commit
Commits
Show all changes
106 commits
Select commit
Hold shift + click to select a range
4560b59
common: add EOF EIPs
jochem-brouwer 231ecb3
evm: implement eip3540
jochem-brouwer e451935
evm: eof fixes
jochem-brouwer 78c7c48
evm: add eip3540 tests
jochem-brouwer 6e950f2
evm/common: add EOF meta eip
jochem-brouwer c0bd77e
evm: setup eof in msg/env
jochem-brouwer d671026
evm: add placeholders for eof opcodes
jochem-brouwer 1063856
evm: add explicit eof flag for authcall
jochem-brouwer caacdd3
evm: rename eof msg type
jochem-brouwer 92c952f
evm: setup to run EOF
jochem-brouwer b82e424
evm: add eip4200
jochem-brouwer ce98aea
evm: refactor eof
jochem-brouwer 7d9b781
evm: add stack deltas
jochem-brouwer 4326262
evm: add stackDelta
jochem-brouwer 3db8b1e
evm: make verify use stackDelta
jochem-brouwer b4a88e8
evm: add eoftests
jochem-brouwer 1d5e202
evm: eip4200 validation
jochem-brouwer 84fd3c2
evm: add general eof container validation tests
jochem-brouwer e2f109a
evm: all header validator tests
jochem-brouwer f9531eb
evm: eip5450 tests
jochem-brouwer ee54398
evm: add reachable code/opcodes verification eof
jochem-brouwer 10e2a9c
evm: add dataloadn check eof
jochem-brouwer 3bdc6de
evm: add error [no ci]
jochem-brouwer 026a123
evm: add various eof stack checks [no ci]
jochem-brouwer e31632f
Merge branch 'master' into MEGA-EOF-V2
jochem-brouwer 5ebfce0
evm: implement callf/retf [no ci]
jochem-brouwer 4af54bd
evm: implement dataload*
jochem-brouwer e1d3c4c
evm: implement swap/dup/exchange
jochem-brouwer 9088baf
Merge branch 'master' into MEGA-EOF-V2
jochem-brouwer 403e70a
evm: add stack.exchange
jochem-brouwer 232eee3
evm: add extcall*opcodes EOF
jochem-brouwer fda73f0
common: add eof to prague
jochem-brouwer 908c513
Merge branch 'master' into MEGA-EOF-V2
jochem-brouwer adf91b8
evm: fix dupn
jochem-brouwer c0c7229
evm: mark non-async opcodes as non async
jochem-brouwer 2e90e01
evm: fix exchange
jochem-brouwer 3ae3ce0
evm: fix swap
jochem-brouwer dc79614
evm: fix rjumpv
jochem-brouwer 2f879d9
evm: partially fix callf
jochem-brouwer e4fa4e7
evm: fix eof opcode error handling
jochem-brouwer 3bf2286
evm: add jumpf [no ci]
jochem-brouwer 184d9a6
evm: implement extcall
jochem-brouwer 2822206
evm: add extdelegatecall / extstaticcall
jochem-brouwer ac0c565
evm: fix datacopy opcode [no ci]
jochem-brouwer c06333d
evm: add returndataload
jochem-brouwer 308cf39
evm: add dataload gas
jochem-brouwer 82b5cba
evm: fix returndatacopy for eof contracts [no ci]
jochem-brouwer e57487e
evm: extdelegatecall cannot call legacy contracts [no ci]
jochem-brouwer c798298
evm: add eof rules for legacy contracts [no ci]
jochem-brouwer ca8fca6
evm: clear return data buffer on ext*call data exotic cases
jochem-brouwer 429e649
evm: partial eofcreate implementation
jochem-brouwer 34d2a66
evm: add returncontract [no ci]
jochem-brouwer 348c87b
evm: fix eofcreate with no auxdata [no ci]
jochem-brouwer bca9f80
evm: first attempt to fix auxdata returncontract [no ci]
jochem-brouwer 3db89e6
evm: fix auxdata length write and return value on error
jochem-brouwer f37a644
evm: add initcontainer mode to eof container
jochem-brouwer 9afc6b5
evm: fix eofcreate gas calculation [no ci]
jochem-brouwer 28feb48
evm: charge correct ext*call gas
jochem-brouwer 4a622e9
evm: add comment
jochem-brouwer 8c46ade
evm: add container mode
jochem-brouwer 3f19694
evm: add support for txn eof creations
jochem-brouwer bd81fad
evm: fix return contract tests for EOF
jochem-brouwer 51a9ae0
evm: fix stackDelta RETURNCONTRACT for header validation
jochem-brouwer 647dfc2
eof: fix reachable code validation if rjump at end of code
jochem-brouwer 74d24e7
evm: eof container validation add support eofcreate / returncontract
jochem-brouwer fd5fe7a
evm: correct eofcreate / returncontract to only have 1 byte immediate…
jochem-brouwer 9c0ec01
evm: more header validation
jochem-brouwer acb2b51
evm: eof verify dupn exchange
jochem-brouwer 26dad2f
evm: add container size max
jochem-brouwer bc7676a
evm: verify rjumpv into self
jochem-brouwer 436ef52
evm: update max container sections
jochem-brouwer 201d880
evm: fix max header size constant
jochem-brouwer 77cd579
evm: implement EIP 5450 stack validation algorithm
jochem-brouwer 057272c
evm: fix RETURNCONTRACT stack delta
jochem-brouwer 1e97ba1
evm: updat eeof header validation for "initcode" containers
jochem-brouwer 4802aa7
Merge branch 'master' into MEGA-EOF-V2
jochem-brouwer 5d100fe
evm: fix eof dir
jochem-brouwer d3a8522
evm: delete old eof container tests
jochem-brouwer 56994f5
evm: remove more old tests
jochem-brouwer 8999f8f
evm: remove old eof test
jochem-brouwer 1792a23
evm: remove old eof test
jochem-brouwer 197c349
evm: fix EXCHANGE
jochem-brouwer fae74dd
evm: ensure eof put right value on stack on ext*call revert
jochem-brouwer 2ebb211
evm: ensure extcall argument order correct
jochem-brouwer 2e92f8e
evm: EXPERIMENTAL - eof initcode container validation on tx init
jochem-brouwer 86d0161
evm: ensure eof header parsing for init txs also fails
jochem-brouwer 042c1e1
evm: container: allow lower data sizes for deployment containers
jochem-brouwer ae225ff
evm: fix callf/jumpf stack overflow check
jochem-brouwer eaee14d
evm: implement swapn stack check for eof validation
jochem-brouwer 8e34a0c
Merge branch 'master' into MEGA-EOF-V2
jochem-brouwer 0d77b7a
evm: create stack delta generator script
jochem-brouwer 6e81d50
vm: remove outdated VM EOF API test
jochem-brouwer 1ba1906
vm: remove other outdated test
jochem-brouwer 6fcb016
evm: move and fix header tester to scripts dir
jochem-brouwer 6be0ce7
fix evm header validation test name
jochem-brouwer da0fbf5
fix hardfork: change to prague without EOF
jochem-brouwer 25ce620
evm: lint
jochem-brouwer 1a88b4b
Merge branch 'master' into MEGA-EOF-V2
jochem-brouwer 7e8c20b
common: fix build
jochem-brouwer dda0639
evm/eof: add comments
jochem-brouwer 2704a2a
eof: cleanup errors
jochem-brouwer da6146e
eof: add comment
jochem-brouwer e009f88
fix typo
jochem-brouwer f14d656
update eof-header-validation.ts such that it works
jochem-brouwer d9af095
Merge branch 'master' into MEGA-EOF-V2
holgerd77 bb326a0
Fixes
holgerd77 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
evm: add reachable code/opcodes verification eof
- Loading branch information
commit ee5439815cab2b5f987834bf6e93f463f3589ba8
There are no files selected for viewing
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
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
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
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.
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.
The naming of this variable is opposite of what is actually contained. Only non-returning functions have an outputs section of 0x80