go-ethereum/cmd/evm/testdata
Martin HS f9bed32236 core/vm, cmd/evm: implement eof validation (#30418)
The bulk of this PR is authored by @lightclient , in the original
EOF-work. More recently, the code has been picked up and reworked for the new EOF
specification, by @MariusVanDerWijden , in https://github.com/ethereum/go-ethereum/pull/29518, and also @shemnon has contributed with fixes.

This PR is an attempt to start eating the elephant one small bite at a
time, by selecting only the eof-validation as a standalone piece which
can be merged without interfering too much in the core stuff.

In this PR: 

- [x] Validation of eof containers, lifted from #29518, along with
test-vectors from consensus-tests and fuzzing, to ensure that the move
did not lose any functionality.
- [x] Definition of eof opcodes, which is a prerequisite for validation
- [x] Addition of `undefined` to a jumptable entry item. I'm not
super-happy with this, but for the moment it seems the least invasive
way to do it. A better way might be to go back and allowing nil-items or
nil execute-functions to denote "undefined".
- [x] benchmarks of eof validation speed 


---------

Co-authored-by: lightclient <lightclient@protonmail.com>
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
Co-authored-by: Danno Ferrin <danno.ferrin@shemnon.com>
2024-11-19 14:50:11 +01:00
..
1 core/types: fix discrepancy in receipt.EffectiveGasPrice json encoding tags (#27114) 2023-04-26 02:37:11 -04:00
2 cmd/evm: fix typos in documentation (#27501) 2023-06-19 08:44:54 +02:00
3 cmd/evm/testdata: fix typos in docs (#27742) 2023-07-18 14:07:25 +02:00
4 cmd/evm/testdata: fix typos in docs (#27742) 2023-07-18 14:07:25 +02:00
5 cmd/evm: fix typos in documentation (#27501) 2023-06-19 08:44:54 +02:00
7 cmd/evm: update readmes for the tests (#26841) 2023-03-09 07:06:47 -05:00
8 cmd: fix typos (#28323) 2023-10-17 15:53:10 +08:00
9 accounts, cmd: fix typos (#28300) 2023-10-11 11:29:10 +03:00
10 cmd/evm: update readmes for the tests (#26841) 2023-03-09 07:06:47 -05:00
11 all: implement EIP-1559 (#22837) 2021-05-17 15:13:22 +02:00
12 cmd/evm: update readmes for the tests (#26841) 2023-03-09 07:06:47 -05:00
13 cmd/evm: fix typos in documentation (#27501) 2023-06-19 08:44:54 +02:00
14 cmd/evm: update readmes for the tests (#26841) 2023-03-09 07:06:47 -05:00
15 core/types: improve error for too short transaction / receipt encoding (#24256) 2022-03-09 10:44:53 +01:00
16 cmd/evm: make t9n intrinsicGas output hex, fixes #23883 (#23889) 2021-11-19 10:53:20 +01:00
17 cmd/evm: make t9n intrinsicGas output hex, fixes #23883 (#23889) 2021-11-19 10:53:20 +01:00
18 cmd/evm: handle rlp errors in t9n (#23771) 2021-10-27 13:28:50 +02:00
19 cmd/evm: update readmes for the tests (#26841) 2023-03-09 07:06:47 -05:00
20 cmd/evm: add b11r tool (#23843) 2021-11-22 09:25:35 +01:00
21 cmd/evm: add b11r tool (#23843) 2021-11-22 09:25:35 +01:00
22 cmd/evm: add b11r tool (#23843) 2021-11-22 09:25:35 +01:00
23 cmd/evm: fix typos in documentation (#27501) 2023-06-19 08:44:54 +02:00
24 core/types: fix discrepancy in receipt.EffectiveGasPrice json encoding tags (#27114) 2023-04-26 02:37:11 -04:00
25 core/types: fix discrepancy in receipt.EffectiveGasPrice json encoding tags (#27114) 2023-04-26 02:37:11 -04:00
26 all: implement withdrawals (EIP-4895) (#26484) 2023-01-25 15:32:25 +01:00
27 all: implement withdrawals (EIP-4895) (#26484) 2023-01-25 15:32:25 +01:00
28 cmd/evm: cancun-updates for b11r and t8n -tools (#28195) 2023-10-03 03:26:33 -04:00
29 cmd/evm: cancun-updates for b11r and t8n -tools (#28195) 2023-10-03 03:26:33 -04:00
30 cmd/evm: make t8ntool handle transaction decoding errors better (#28397) 2023-10-25 14:08:52 +02:00
31 eth/tracers: live chain tracing with hooks (#29189) 2024-03-22 18:53:53 +01:00
32 t8ntool: add optional call frames to json logger (#29353) 2024-03-27 16:12:57 +01:00
eof core/vm, cmd/evm: implement eof validation (#30418) 2024-11-19 14:50:11 +01:00