Files
linea-besu/testfuzz
Danno Ferrin efb6906e13 Move EOF to the Osaka Fork (#7719)
* Move EOF to the Osaka Fork

* Ensure Osaka activations are working
* Remove CancunEOF and PragueEOF forks
* Move EOF tools to default to Osaka

Signed-off-by: Danno Ferrin <danno@numisight.com>

* remove eof tests that fail only because of fork

Signed-off-by: Danno Ferrin <danno@numisight.com>

* Restore CancunEOF


* Update unit tests to use "Cancun" as pre-eof fork
* Make PC in trace zeroed to start of code section 0
* Update extcall to consider precompiles warm
* Add stack checking to CALLF operation

Signed-off-by: Danno Ferrin <danno@numisight.com>
---------

Signed-off-by: Danno Ferrin <danno@numisight.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2024-10-11 09:43:17 +10:00
..

BesuFuzz

BesuFuzz is where all the besu guided fuzzing tools live.

eof-container

Performs differential fuzzing between Ethereum clients based on the txparse eofparse format. Note that only the inital OK and err values are used to determine if there is a difference.

Prototypical CLI Usage:

BesuFuzz eof-container \
  --tests-dir=~/git/ethereum/tests/EOFTests \
  --client=evm1=evmone-eofparse \
  --client=revm=revme bytecode

Prototypical Gradle usage:

./gradlew fuzzEvmone fuzzReth

There are pre-written Gradle targets for fuzzEthereumJS, fuzzEvmone, fuzzGeth, fuzzNethermind, and fuzzReth. Besu is always a fuzzing target. The fuzzAll target will fuzz all clients.