Danno Ferrin
8d68a86bf0
remove println on bad opcode
...
Fixes fill of opcode validiiy tests
2024-09-11 17:30:13 -06:00
Marius van der Wijden
6a6d049815
core: fix rebase
2024-09-08 13:13:14 +02:00
Marius van der Wijden
cd7f772ab9
core/vm: move fix for JUMPF
2024-09-08 12:39:16 +02:00
Danno Ferrin
658e4e5559
Fix EOF Validation issues
...
Fixes a few EOF validation issues in EEST and found by fuzzing.
* subcontainers header with zero subcontainers is invalid
* returning code sections require at least one RETF or qualified JUMPF
* RETF stack must have stack enough for outputs
* JUMPF must not jump into a section with more outputs
* Check stack minimums on RJIMPI and RJUMPV
2024-09-08 12:39:16 +02:00
Marius van der Wijden
5a1acc4a07
core/vm: no more recursive errors
2024-09-08 12:39:16 +02:00
Marius van der Wijden
ddb9907a7a
core/vm: apply suggestions, make ReturnStack an object
2024-09-08 12:39:15 +02:00
Marius van der Wijden
6549a87202
core/vm: rebase
2024-09-08 12:39:15 +02:00
Marius van der Wijden
5d8df7b5a1
core/vm: add comments
2024-09-08 12:39:15 +02:00
Marius van der Wijden
34d2744aaf
core/vm: typo
2024-09-08 12:39:15 +02:00
Marius van der Wijden
e4af62e5f2
core/vm: correctly validate container types
2024-09-08 12:39:15 +02:00
Marius van der Wijden
ee8d477b88
core/vm: fix backward jump validation
2024-09-08 12:39:15 +02:00
Marius van der Wijden
f314ec0847
core/vm: fix RJUMPV jump analysis overflow
2024-09-08 12:39:15 +02:00
Marius van der Wijden
a7953691df
core/vm: fix fuzzing found error, where RJUMP overwrites stack bounds
2024-09-08 12:39:15 +02:00
Marius van der Wijden
2537d43008
core: fix rebasing issues
2024-09-08 12:39:14 +02:00
Marius van der Wijden
a17f843f8f
core: fix rebasing issues
2024-09-08 12:38:50 +02:00
Danno Ferrin
24c56f2a4f
Fix std.out issues with eofparse
...
* In stdin mode ack good code with OK
* remove or feature flag stray printlns.
* use reader to accept potentially larget contracts
2024-09-08 12:38:50 +02:00
Danno Ferrin
9edd35cefe
Apply new container mode validations
...
Apply new rules
prohibiting STOP/RETURN in initcode and RETURNCONTRACT in runtime mode.
For fuzzing, consider all input data to be runtime code.
2024-09-08 12:38:50 +02:00
Danno Ferrin
28db438a8e
CALLF Stack validation height
...
CALLF should use the target function data when checking stack overflow.
2024-09-08 12:38:50 +02:00
Danno Ferrin
71528b30a4
Remove TXCREATE
...
TXCREATE was removed from mega-eof
and now causes validation tests to fail.
Remove it from go-ethereum.
2024-09-08 12:38:50 +02:00
Marius van der Wijden
a484bfacf0
core/vm: updated to v1.0.6, fix bugs
2024-09-08 12:38:50 +02:00
Danno Ferrin
e61f11a7a3
Fix EXTCALL Order
...
For EXTCALL, value trails offset and length.
2024-09-08 12:38:50 +02:00
Marius van der Wijden
1a9855486f
core/vm: fix create, reject EOF deployment from legacy contracts
2024-09-08 12:38:50 +02:00
Marius van der Wijden
3f038776b6
core/vm: fix opCreate, reject eof contracts
2024-09-08 12:38:50 +02:00
Marius van der Wijden
f6d4997820
core/vm: fix opEOFCreate, forward calldata
2024-09-08 12:38:50 +02:00
Marius van der Wijden
e9ad878b90
core/vm: fix opEOFCreate, correct initcode stuff
2024-09-08 12:38:50 +02:00
Marius van der Wijden
abe9f28845
core/vm: fix opReturnContract, don't pay for mem copy
2024-09-08 12:38:50 +02:00
Marius van der Wijden
fbec4dca55
core/vm: fix opEOFCreate hashing charge
2024-09-08 12:38:50 +02:00
Marius van der Wijden
80da4fd2bb
core/vm: fix opDataCopy
2024-09-08 12:38:49 +02:00
Marius van der Wijden
218c887878
core/vm: fix opExt{*}Call address space extension
2024-09-08 12:38:49 +02:00
Marius van der Wijden
03b75144b9
core/vm: fix opExt{*}Call return values
2024-09-08 12:38:49 +02:00
Marius van der Wijden
e0c3db0de4
core/vm: mark the correct address as touched
2024-09-08 12:38:49 +02:00
Marius van der Wijden
dc4d53b83c
core/vm: turn return values around
2024-09-08 12:38:49 +02:00
Marius van der Wijden
dff080904b
core/vm: added comments
2024-09-08 12:38:49 +02:00
Marius van der Wijden
6c97819d94
core/vm: fix opExtCode{Size,Hash,Copy}
2024-09-08 12:38:49 +02:00
Marius van der Wijden
b2ae97892d
core/vm: check for returnStack overflow in opCallf
2024-09-08 12:38:49 +02:00
Marius van der Wijden
3d8ca3c526
core/vm: check for returnStack overflow in opCallf
2024-09-08 12:38:49 +02:00
Marius van der Wijden
e1b9f4a6f5
core/vm: only allow eof calls from opExtCall
2024-09-08 12:38:49 +02:00
Marius van der Wijden
aa8e431183
core/vm: fix opExtStaticCall
2024-09-08 12:38:49 +02:00
Marius van der Wijden
a1b359f310
core/vm: fix opReturnDataLoad
2024-09-08 12:38:49 +02:00
Marius van der Wijden
fa6b1b9fa1
core/vm: fix opRJumpV
2024-09-08 12:38:49 +02:00
Marius van der Wijden
19e296506a
core/vm: fix opSwapN
2024-09-08 12:38:49 +02:00
Marius van der Wijden
b5af91a5c9
core/vm: fix opExchange
2024-09-08 12:38:49 +02:00
Marius van der Wijden
d1317f2f76
core/vm: fixed bugs, made basic blockchain tests pass
2024-09-08 12:38:48 +02:00
Marius van der Wijden
07db5b86b1
core/types: implement mega-eof spec
2024-09-08 12:37:14 +02:00
Marius van der Wijden
1dccd90224
core/vm: add optional containerSections
2024-09-08 12:37:14 +02:00
lightclient@protonmail.com
9354ef082b
core/vm: add eof container
2024-09-08 12:37:12 +02:00
lightclient
183e7b702a
core: force add new delegation to accesslist
2024-09-07 09:50:54 -06:00
lightclient
75a43aed6c
add delegation designator to witness
2024-09-07 09:12:20 -06:00
lightclient
9db178c799
all: impl eip-7702
...
Co-authored-by: lightclient <lightclient@protonmail.com>
Co-authored-by: Mario Vega <marioevz@gmail.com>
2024-09-06 19:25:25 +02:00
Mario Vega
9d87ac7c12
all: implement eip-7251 consolidation requests
...
Co-authored-by: Mario Vega <marioevz@gmail.com>
Co-authored-by: lightclient <lightclient@protonmail.com>
2024-09-06 19:23:32 +02:00