go-ethereum/core/vm
Martin Holst Swende 2391fbc676
tests/fuzzers: move fuzzers into native packages (#28467)
This PR moves our fuzzers from tests/fuzzers into whatever their respective 'native' package is.

The historical reason why they were placed in an external location, is that when they were based on go-fuzz, they could not be "hidden" via the _test.go prefix. So in order to shove them away from the go-ethereum "production code", they were put aside.

But now we've rewritten them to be based on golang testing, and thus can be brought back. I've left (in tests/) the ones that are not production (bls128381), require non-standard imports (secp requires btcec, bn256 requires gnark/google/cloudflare deps).

This PR also adds a fuzzer for precompiled contracts, because why not.

This PR utilizes a newly rewritten replacement for go-118-fuzz-build, namely gofuzz-shim, which utilises the inputs from the fuzzing engine better.
2023-11-14 14:34:29 +01:00
..
runtime tests/fuzzers: move fuzzers into native packages (#28467) 2023-11-14 14:34:29 +01:00
testdata crypto/kzg4844: use the new trusted setup file and format (#28383) 2023-10-22 16:05:04 +02:00
analysis.go core/vm: clarify comment (#27045) 2023-04-04 02:59:40 -04:00
analysis_test.go core/vm: reverse bit order in bytes of code bitmap (#24120) 2021-12-17 10:32:00 +01:00
common.go core/vm: use uint256 in EVM implementation (#20787) 2020-06-08 15:24:40 +03:00
contract.go core: fix typos (#28255) 2023-10-10 10:22:03 +02:00
contracts.go core/vm: update 4844 - point evaluation precompile address (#27874) 2023-08-08 15:54:19 +03:00
contracts_fuzz_test.go tests/fuzzers: move fuzzers into native packages (#28467) 2023-11-14 14:34:29 +01:00
contracts_test.go core/vm: update 4844 - point evaluation precompile address (#27874) 2023-08-08 15:54:19 +03:00
doc.go core/vm: remove JIT VM codes (#16362) 2018-03-26 13:48:04 +03:00
eips.go core: implement BLOBBASEFEE opcode (0x4a) (#28098) 2023-10-02 05:49:29 -04:00
errors.go core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2023-01-11 04:05:47 -05:00
evm.go core/vm: set basefee to 0 internally on eth_call (#28470) 2023-11-08 11:22:08 +02:00
gas.go core/vm: use uint256 in EVM implementation (#20787) 2020-06-08 15:24:40 +03:00
gas_table.go core: fix typos (#28255) 2023-10-10 10:22:03 +02:00
gas_table_test.go all: new empty trie with types.EmptyRootHash instead of null (#27230) 2023-05-11 10:19:42 +03:00
instructions.go core/vm: minor code formatting (#28199) 2023-09-26 11:58:01 +03:00
instructions_test.go core/vm: use types.EmptyCodeHash (#27729) 2023-07-15 17:45:57 +02:00
interface.go core/state, core/vm: implement EIP 6780 (#27189) 2023-07-17 13:02:18 -04:00
interpreter.go core: fix typos (#28255) 2023-10-10 10:22:03 +02:00
interpreter_test.go all: new empty trie with types.EmptyRootHash instead of null (#27230) 2023-05-11 10:19:42 +03:00
jump_table.go core: implement BLOBBASEFEE opcode (0x4a) (#28098) 2023-10-02 05:49:29 -04:00
jump_table_export.go core: fix typos (#28255) 2023-10-10 10:22:03 +02:00
jump_table_test.go core/vm: deepcopy jumptable when enabling extra eips (#26137) 2022-11-09 07:52:13 +01:00
logger.go eth/tracers, core/vm: remove `time` from trace output and tracing interface (#26291) 2022-12-05 16:57:47 +01:00
memory.go core/vm: implement EIP-5656, mcopy instruction (#26181) 2023-07-11 03:55:34 -04:00
memory_table.go core/vm: implement EIP-5656, mcopy instruction (#26181) 2023-07-11 03:55:34 -04:00
memory_test.go core/vm: implement EIP-5656, mcopy instruction (#26181) 2023-07-11 03:55:34 -04:00
opcodes.go eth/tracers/js: fix isPush for push0 (#28520) 2023-11-14 13:14:38 +01:00
operations_acl.go core: replace instances of 'suicide' with 'selfdestruct' to improve code consistency. (#27716) 2023-07-15 10:35:30 -04:00
stack.go core/vm: clean up some dead functions (#24851) 2022-05-11 08:03:35 +03:00
stack_table.go core/vm: 64 bit memory and gas calculations (#19210) 2019-03-12 11:40:05 +02:00