Commit graph

2648 commits

Author SHA1 Message Date
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