Martin Holst Swende
aee85e3c6f
cmd/eofdump: new testvectors from execution-spec-tests eip7602@v1.1.1
2024-09-26 09:54:41 +02:00
Marius van der Wijden
2413e46d6c
Merge pull request #56 from shemnon/eof/extcall-fixes
...
Eof/extcall fixes
2024-09-25 07:21:29 +02:00
Danno Ferrin
740ad8cc98
don't do beacon chain updates in state tests
2024-09-17 17:22:59 -06:00
Danno Ferrin
995310c2a9
Update core/state_transition.go
...
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
2024-09-17 16:48:49 -06:00
Danno Ferrin
4392a1c4e6
Fix dangling data in container for initcode
2024-09-17 15:44:04 -06:00
Danno Ferrin
12bcb4929a
cleanup from review comments
2024-09-16 08:43:37 -06:00
Danno Ferrin
c7efbf466e
create transaction
...
Some corner cases for create
* Don't consume all gas with an invalid EOF contract
* don't allow CREATE/CREATE2 opcodes to create EOF
2024-09-14 16:00:46 -06:00
Danno Ferrin
810397f56d
formatting
2024-09-13 21:40:21 -06:00
Danno Ferrin
4a93fe9612
Create Transaction
...
Allow Create Transactions
2024-09-13 20:22:40 -06:00
Danno Ferrin
389edbdf22
EOFCREATE validation
...
Handle Aux Data in EOF Create w/o validation failures
2024-09-13 19:02:06 -06:00
Danno Ferrin
4a4d3b07e4
EXTCALL test fixes
...
* use corret stack heights for value and address in EXTCALL
* New extCallGas function that handles min retained and min callee gas
* Handle min gas failures via tempCallGas == 0
* remove stipend refund for EXT*CALL
* Call Stack too deep should return 1
2024-09-12 22:23:45 -06:00
Danno Ferrin
8d68a86bf0
remove println on bad opcode
...
Fixes fill of opcode validiiy tests
2024-09-11 17:30:13 -06:00
Martin Holst Swende
cb57738452
cmd/eofdump: more test vectors from fuzzing
2024-09-08 18:56:55 +02:00
Martin Holst Swende
190d8b475f
cmd/eofdump: update tests
2024-09-08 13:15:41 +02: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
Martin Holst Swende
71ffe6e6dd
cmd/eofdump: simplify tests
2024-09-08 12:39:16 +02:00
Martin Holst Swende
61d8f53934
cmd/eofdump: regenerate testdata
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
Martin Holst Swende
cdae48c452
cmd/eofdump: regular- and fuzz-testing of eof parsing
2024-09-08 12:39:15 +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
5475bc96ca
cmd/eofdump: correctly read container type
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
ec62e60c3b
cmd/eofdump: clear up error handling
2024-09-08 12:38:50 +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