Commit Graph

226 Commits

Author SHA1 Message Date
François Bojarski
ef9d1ab38e fix(push): right pad if push parameter + PC +1 exceeds code length (#7834)
* fix(push): right pad if push parameter exceeds code length
* test: add push operation padding tests
* better perf rightPadding thnks to Ameziane

Signed-off-by: F Bojarski <ceciestunepoubelle@protonmail.ch>
Co-authored-by: Ameziane H. <ameziane.hamlat@consensys.net>
2024-11-04 23:47:44 +00:00
7at
42b3cd4291 Fix evmtool JSON Error Field to Return Hex String Instead of Long Null String on REVERT (#7774)
Signed-off-by: 7at <itisfor@outlook.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2024-10-28 05:19:28 +00:00
Danno Ferrin
d583863225 CALLF and JUMPF rules validation updates (#7787)
* Check JUMPF stack

Rule 2 in EIP-6206 requires us to check stack prior to JUMPF

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

* CALLF rule 4 rollback

Rule 4 is about return stack, not operand stack

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

---------

Signed-off-by: Danno Ferrin <danno@numisight.com>
2024-10-23 19:04:11 +02:00
Sally MacFarlane
d8d1237252 [TESTING] remove junit4 assumeThat (#7788)
* use junit5 assumeTrue/false

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2024-10-22 00:11:28 +00:00
garyschulte
6c49c734ef Add eip-2537 functions to evmtool benchmark subcommand (#7708)
* add bls12 g1/g2 to evmtool benchmark subcommand

Signed-off-by: garyschulte <garyschulte@gmail.com>
2024-10-11 15:58:25 +00:00
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
Danno Ferrin
63b9ec9daa ReturnDataLoad is an EOF only operation (#7670)
Update ReturnDataLoadOperation to fail when called from legacy.

Signed-off-by: Danno Ferrin <danno@numisight.com>
2024-10-03 02:52:46 +00:00
daniellehrner
01fcc7fcfb Fix tx validation if sender has delegated it's code via 7702 transaction (#7593)
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
2024-09-10 11:37:47 +02:00
daniellehrner
8eee569887 7702 for devenet-3 (#7444)
* wrapped WorldUpdater into `EVMWorldupdater` to remove the authority code injection from the implementation of the actual world updaters

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* add CHANGELOG entry

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* first draft for 7702 v2

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* change return value of DelegatedCodeGasCostHelper

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fix upfront gas cost calculation, fix setting code multiple times in MutableDelegatedCodeAccount

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fix gas refund for delegated code when account already exists, added gas cost deduction for code delegation resolution to ExtCodeSizeOperation

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* allow accounts with delegated code to send transactions

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* add refund for already existing account after nonce check

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* resolve delegated code only the first time to avoid delegation loops

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* handle invalid authorization signatures properly

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* refactored CodeDelegationProcessor to compute authorizer of a code delegation after the chain id check

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fix canSetDelegatedCode method by checking code how it is in the trie and not the resolved code

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* optimize code hash calculation for empty code, fix check for empty code delegation list

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* check the all code delegation signatures hava a valid s value

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* rename encoder & decoder, handle invalid signature values in T8nExecutor

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* create the signatures for code delegation authorizations in T8nExecutor without checking if they are valid to test them later during the tx execution

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* check that recid is either 0 or 1

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fixed acceptance tests, renamed the the remaining instances of set code to code delegation

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fix delegate encoder & encoder unit tests

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* spotless

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* changed empty check for delegated accounts, fixed test

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fix hasDelegatedCode method when code is null

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* run acceptance tests without deamon

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* disable CodeDelegationTransactionAcceptanceTest to check if it is causing the stuck ci pipeline

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* check if shouldTransferAllEthOfAuthorizerToSponsor is causing pipeline to stall

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* check if shouldCheckNonceAfterNonceIncreaseOfSender is causing pipeline to stall

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* check if closing the cluster after every test is causing pipeline to stall

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* spotless

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

---------

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Co-authored-by: Danno Ferrin <danno@numisight.com>
2024-09-06 12:04:41 +02:00
Danno Ferrin
65240fdf46 Plumb maxCode overriddes into EVM (#7557)
* Plumb maxCode overriddes into EVM

Restore lost functionality: the maxcodesize and maxinitcodesize should
be plumed into the operations and validation rules when set.

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-09-02 22:06:19 +00:00
Luis Pinto
4c4f2f3362 refactor SimpleWorld to use Optional for storing accounts and extra null checks (#7532)
Signed-off-by: Luis Pinto <luis.pinto@consensys.net>
2024-09-02 13:16:44 +01:00
Danno Ferrin
ca8563ce2b Disable EOF CALL opcodes in legacy (#7544)
When the EOF call opcodes are added to the EVM, ensure legacy 
cannot execute it.

Signed-off-by: Danno Ferrin <danno@numisight.com>
2024-08-30 18:49:56 +00:00
Matilda-Clerke
da98fa5541 Reintroduce engine get client version v1 with commit in manifest (#7548)
* Include Commit-Hash in manifests
* Add commit method in BesuInfo
* Use 8 character hash in EngineGetClientVersionV1 and revert calculateVersion back to original spec

Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>
Co-authored-by: garyschulte <garyschulte@gmail.com>
2024-08-30 18:13:53 +00:00
garyschulte
8ae0db4b24 Check for infinity in eip-196 ecmul (#7509)
* check for infinity before calling out to jni for ecmul
* some changelog clean-up

Signed-off-by: garyschulte <garyschulte@gmail.com>
2024-08-28 19:43:23 +00:00
Danno Ferrin
078523df64 Refactor max code size (#7523)
* Refactor max code size

Refactor the max code size to no longer be a part of the operation but
instead is queried from the EVM version specification.

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-08-28 06:41:33 +00:00
Danno Ferrin
c0e0103b2b Add slow parsing detection to EOF layout fuzzing (#7516)
* Add slow parsing validation

Add CLI flags and fuzzing logic to enable "slow" parsing to be a
loggable error.

* picocli final field issue

* fix some array boundary issues in pretty print and testing

Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

---------

Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2024-08-28 04:59:51 +00:00
Danno Ferrin
b57310ffac EOF testing error codes for layout (#7522)
Update the eof layout error codes to match codes in reference tests.
This includes support for multiple possible errors for a specific test.

Signed-off-by: Danno Ferrin <danno@numisight.com>
2024-08-27 11:59:46 +10:00
Danno Ferrin
1598e6be67 EOF Differential Layout Fuzzer (#7488)
Differential EOF Layout Fuzzer guided by Besu's layout parser.

Signed-off-by: Danno Ferrin <danno@numisight.com>
2024-08-21 20:01:35 +00:00
Danno Ferrin
4c0d7b5dbb Update EOF validation error strings (#7487)
Update the EOF validation error strings so that they can validate
against expected exceptions in reference tests.

Signed-off-by: Danno Ferrin <danno@numisight.com>
2024-08-20 01:31:50 +00:00
Danno Ferrin
51335954c2 Reuse HardforkId in EvmSpecVersion (#7448)
* Reuse HardforkId in EvmSpecVersion

Move the HardforkId into datatypes and re-use the data in
EvmSpecVersion, keeping evm specific details in the evm and merging the
rest into datatypes.

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

* Update evm/src/main/java/org/hyperledger/besu/evm/EvmSpecVersion.java

Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Danno Ferrin <danno.ferrin@shemnon.com>

---------

Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Danno Ferrin <danno.ferrin@shemnon.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2024-08-16 04:02:26 +00:00
Luis Pinto
b99cdf6273 Precompile calls were not traced when insuficient gas (#7462)
* Precompile calls were not traced when insuficient gas

Signed-off-by: Luis Pinto <luis.pinto@consensys.net>

* fixup! Precompile calls were not traced when insuficient gas

 revert RuntimeException in StateDiffGenerator

Signed-off-by: Luis Pinto <luis.pinto@consensys.net>

---------

Signed-off-by: Luis Pinto <luis.pinto@consensys.net>
2024-08-14 16:54:13 +00:00
Danno Ferrin
94f7c7d24d EIP-3155 Last Call Nitpicks (#7455)
A lot of small nitpicks for standard tracing conformance
* Change evmtool run defaults to mirror go-ethereum's choices
* Add fields to run summary
* Make EOF PC zero to section
* Correct EXT*CALL min gas
* fix section depth 

Signed-off-by: Danno Ferrin <danno@numisight.com>
2024-08-14 00:00:04 +00:00
Danno Ferrin
a55c331e21 Add test coverage for java precompiles (#7446)
For tests that have a native/java switch ensure that the java path gets
the same tests native paths do.

Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Danno Ferrin <danno@numisight.com>
2024-08-13 18:21:49 +00:00
daniellehrner
b53db47dab Wrapped WorldUpdater into EVMWorldupdater (#7434)
* wrapped WorldUpdater into `EVMWorldupdater` to remove the authority code injection from the implementation of the actual world updaters

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* add CHANGELOG entry

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

---------

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Co-authored-by: Justin Florentine <justin+github@florentine.us>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2024-08-12 21:28:06 +00:00
Luis Pinto
6623b2d693 Move creator address warmup from targetContractAddress generation method to createe frame (#7415)
Signed-off-by: Luis Pinto <luis.pinto@consensys.net>
2024-08-12 21:23:20 +01:00
sirawt
8fc80ade8d chore: fix some typos (#7438)
Signed-off-by: MASDXI <sirawitt42@gmail.com>
2024-08-12 10:23:33 +10:00
Danno Ferrin
a6a0271ae2 EOF validation updates (#7419)
* Ensure forward calls stack height range is preserved.
* add subcontainer and top container size checks

Signed-off-by: Danno Ferrin <danno@numisight.com>
2024-08-02 04:32:32 +00:00
Guido Vranken
14d2809860 Small fuzzing fixes (#7418)
* Addresses an issue in the Fluent API where certain EVM bytecode could 
  lead to executions that mismatch canonical execution.
* Uses LOG.debug instead of System.out.println to prevent console spam 
  during fuzzing.

Signed-off-by: Guido Vranken <guidovranken@gmail.com>
2024-08-01 17:36:45 +00:00
François Bojarski
b5552e5137 fix(doc): tiny typo (#7388)
Signed-off-by: Francois Bojarski <francois.bojarski@consensys.net>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2024-08-01 04:37:45 +00:00
Danno Ferrin
6b1ae691e6 Change EOF Parsing to be non-recursive (#7396)
EOF subcontainer parsing was recursive, potentially opening up stack
attacks.
Replace subcontainer parsing with a flat iterative solution.

Signed-off-by: Danno Ferrin <danno@numisight.com>
2024-07-30 14:51:47 +00:00
Danno Ferrin
e57c811e47 Add EXTCODE* unit Tests (#7374)
Add unit tests to the EXTCODE* series operations.
Also, put all EVM operations tests in the proper package.

Signed-off-by: Danno Ferrin <danno@numisight.com>
2024-07-24 08:36:38 -06:00
Karim Taam
30c96c7a1d Optimistic parallelization of transactions to improve performance (#7296)
Optimistic transaction parallelization execution during block processing to improve the performances. This feature can enabled with a flag --Xbonsai-parallel-tx-processing-enabled=true

Signed-off-by: Karim Taam <karim.t2am@gmail.com>
Co-authored-by: Ameziane H <ameziane.hamlat@consensys.net>
Co-authored-by: garyschulte <garyschulte@gmail.com>
2024-07-19 09:11:30 -07:00
garyschulte
8eef2df494 Feature/use gnark-crypto for eip-196 precompiles (#7262)
* squash commit, use gnark-crypto for eip-196
* use besu-native 0.9.3

Signed-off-by: garyschulte <garyschulte@gmail.com>
2024-07-17 13:45:40 -07:00
daniellehrner
895c17d5d2 EIP 7702 (#7237)
* EIP 7702 first draft

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* added CHANGELOG.md entry

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* bug fixes, added first tests

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* container verify GitHub workflow (#7239)

Container verification step in release process automated with the container verify GitHub workflow. New workflow is triggered at the end of the release workflow which will check the release container images starts successfully. Verification test only checks container starts and reach the Ethereum main loop

Signed-off-by: Chaminda Divitotawela <cdivitotawela@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Investigate chain halts when syncing (#7162)

Fix some reasons for chain download halts when syncing

Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
Signed-off-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Check for EOFCreate subcontainer rules (#7232)

Check and test for the unused container rule, and only returncontract
targets can have truncated data rule.
Also test the other subcontainer rules in unit tests.

Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Remove deprecation message for `--Xp2p-peer-lower-bound` (#7247)

Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* less invasive code injection approach

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* added missing java doc & fixed test

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* added (currently non-working) acceptance test, some bug fixes in the transaction validation and tx pool logic

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fix spotless

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* updated acceptance test, still not working, newPayload request seems to be necessary before final fork choice update

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* use correct world state to inject temporary code, inject code in existing accounts as well

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* renamed test service to prague, because the engine versions used are only available in the prague hard fork

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fixed acceptance test, some bug fixes if authorized account does not yet exist

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add build version option to prefix git hash with custom version property (#7222)

* Add build version option to prefix git hash with custom version property
* Refactor to make appending the git hash a boolean property. Include a commented-out example of how to use the properties in the gradle file

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Handle invalid snap getTrieNode requests with empty paths gracefully (#7221)

Signed-off-by: Jason Frame <jason.frame@consensys.net>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fix typos in CHANGELOG (#7226)

Signed-off-by: Ties <71668189+TiesD@users.noreply.github.com>
Co-authored-by: Matt Nelson <85905982+non-fungible-nelson@users.noreply.github.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* feat: Add network option for LUKSO Mainnet (#7223)

* Add option for LUKSO network

Signed-off-by: Wolmin <lamonos123@gmail.com>

* Add tests for LUKSO

Signed-off-by: Wolmin <lamonos123@gmail.com>

* Apply spotless

Signed-off-by: Wolmin <lamonos123@gmail.com>

* Add changelog entry

Signed-off-by: Wolmin <lamonos123@gmail.com>

* Fix duplicate func

Signed-off-by: Wolmin <lamonos123@gmail.com>

* Fix changelog

Signed-off-by: Wolmin <lamonos123@gmail.com>

* Add bootnodes to genesis

Signed-off-by: Wolmin <lamonos123@gmail.com>

---------

Signed-off-by: Wolmin <lamonos123@gmail.com>
Signed-off-by: Wolmin <44748271+Wolmin@users.noreply.github.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update Docker base image to Ubuntu 24.04 (#7251)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Reconfigure how Protocol Specs are created WRT EVM condiguration (#7245)

Make the max code size and max initcode size a part of the EVM
configuration. As part of the change we need to move the tasks
CodeFactory once handled as a static class and move it into the EVM.
This has a nice follow on effect that we don't need to pass in max EOF
versions or max code sizes anymore.

Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Fix the wrong 'Identifier' and 'Synchronizer' usage (#7252)

* fix the synchronizer usage

Signed-off-by: Leni <leniram159@gmail.com>

* fix Identifier usage

Signed-off-by: Leni <leniram159@gmail.com>

---------

Signed-off-by: Leni <leniram159@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Fix flaky SECP256R1 test (#7249)

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* update to work with the new max retries value (#7253)

Signed-off-by: Justin Florentine <justin+github@florentine.us>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Temporary CancunEOF fork for EOF testing. (#7227)

Add Genesis ("CancunEOFTime") and reference test ("CancunEOF") support
for a temporary Cancun+EOF fork, in anticipation of potential devnets.

Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fixed bug introduced through merge of main, made acceptance test easier to understand

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* added missing java docs

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* removed unnecessary tag

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* make encodeSingleSetCode public again

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Snapserver responses to return at least one response (#7190)

Signed-off-by: Jason Frame <jason.frame@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* copy setCodeTransactionPayloads as well

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fixed bug during tests with forrest db

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Snapserver GetTrieNodes request to handle short hash for storage (#7264)

Signed-off-by: Jason Frame <jason.frame@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* javadoc: Adding javadoc for ethstats module (#7269)

* javadoc: Adding javadoc for ethstats module

---------

Signed-off-by: Usman Saleem <usman@usmans.info>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Fix javadoc for ethereum:core top level package (#7270)

* javadoc - Apply javadoc to ethereum core top level package

---------

Signed-off-by: Usman Saleem <usman@usmans.info>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Disable Flaky tests - permissioning (#7256)

* disable some flaky tests

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

* correct name for test

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

* formatting

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

* disable some flaky tests

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Usman Saleem <usman@usmans.info>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add bootnodes to the maintained peer list (#7257)

* Add bootnodes to the maintained peer list

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Update unit tests

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Add entry in changelog

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Tweak unit test

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Refactor to keep common steps the same for both cases

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Add debug log, call sanitizePeers() only once

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

---------

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Fix javadoc for ethereum api module, graphql package (#7272)

* javadoc - Adding missing javadocs ethereum:api graphql package

Signed-off-by: Usman Saleem <usman@usmans.info>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* T8n support for isStateTest and empty accounts (#7275)

Update t8n executor to support new isStateTest env flag that will
disable extra-transactional processing such as block rewards and beacon
root.
Also, make sure such extra-transactional commits don't create empty
accounts.

Signed-off-by: Danno Ferrin <danno@numisight.com>
Co-authored-by: Usman Saleem <usman@usmans.info>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Promote storage x-trie-log subcommand to trie-log (#7278)

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Evm tool readme update (#7274)

* update paths to binary. update docker build to use java 21
* updated suggested jdk

---------

Signed-off-by: Justin Florentine <justin+github@florentine.us>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* javadoc - Add missing javadoc for evmtool module (#7277)

Signed-off-by: Usman Saleem <usman@usmans.info>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Rename ValidatorPublicKey to ValidatorPubKey (#7280)

Adapt to EIP-7002 name change for validator public key in all places.

Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add info-level diagnostic logs to aid with resolving stalled BFT chains (#7271)

* Add info-level diagnostic logs to aid with resolving stalled BFT chains

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Add javadoc

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

---------

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matt Whitehead <matthew.whitehead@kaleido.io>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update EIP-2935 contract (#7281)

Use the updated contract and address for EIP-2539.

Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* add evmtool compability, fixing bugs related to sender recovery of 7702 txs and handling authorizations to empty accounts

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Deeper tracing of self-destructed accounts (#7284)

Consider previously self-destructed accounts when creating accounts.

Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* next release version after 24.7.0 (#7285)

Signed-off-by: garyschulte <garyschulte@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add experimental `--Xsnapsync-bft-enabled` which enables snap sync for BFT chains (#7140)

* Create a BFT-specific pivot block handler

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Change visibility

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Refactor sync-peer-count internal variable to match name, add experimental flag to enabled snap + BFT

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Merge with main

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Fix uppercase

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Address synchronization issue with trie pruning. Create BFT-specific account range handler. Add pipeline name and logs

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Remove debug log

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* fixing snapsync for empty state

Signed-off-by: Karim Taam <karim.t2am@gmail.com>

* Don't queue up events we can't handle

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Fix timing window where a validator with an empty data dir sometimes falls back to full sync if peer status isn't received quickly enough

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Remove BFT-specific account request class. Not needed

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Refactor some more 'fast' sync variables that are common to all pivot-based sync types

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* In FULL sync mode, disable bonsai-limit-trie-logs-enabled instead of failing to start

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Add javadoc comments, clarify overriding bonsai-limit-trie-logs-enabled

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Add BFT pivot block selector tests

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Fix failure error message

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Remove the unnamed Pipe constructor and update tests to set a pipe name

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Revert some info logs back to debug given the feedback on noise in the logs syncing with holesky

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Refactor fastSyncPivotDistance to syncPivotDistance

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Incomplete refactoring

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Update BFT event queueing tests

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Event queue test fixes

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Remove automatic setting of bonsai-limit-trie-logs-enabled to false if sync-mode = FULL (moving to another PR)

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

---------

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Karim Taam <karim.t2am@gmail.com>
Signed-off-by: Matt Whitehead <matthew.whitehead@kaleido.io>
Co-authored-by: Karim Taam <karim.t2am@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Turn off CicleCI for Besu (#7291)

All the CI jobs run in GitHub actions and Circle CI it no longer needed in Besu project

Signed-off-by: Chaminda Divitotawela <cdivitotawela@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Check for snap server (#6609)

* EthPeer add isServingSnap to be able to make sure that we have enough snap servers connected when we are snap syncing

Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Implement System Calls (#7263)

Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* wrap WorldUpdater inside a WorldUpdaterService to inject the authorized code whenever needed

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update limit trie logs validation message for sync-mode=FULL (#7279)

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>

Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Execute requests before block persist (#7295)

Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fixed MainnetTransactionProcessor retrieval of correctn `to` account with injected code, fixed code injection

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* only first authorization is accepted, all the following ones are ignored

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* don't cache account with empty code

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* revert wrapping of world updater, as its `updater()` method creates a type of nesting that is not compatible with wrapping it. Instead a service is injected in the world updater to inject the code into the authorized accounts

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Fixed outdated tech redirect link. (#7297)

* fix wiki link

Signed-off-by: Snazzy <snazzysam933@gmail.com>

* fix format

Signed-off-by: Snazzy <snazzysam933@gmail.com>

* change knownHash

Signed-off-by: Snazzy <snazzysam933@gmail.com>

---------

Signed-off-by: Snazzy <snazzysam933@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Increment private nonce even if transaction failed. (#6593)

Increment private nonce even if transaction failed

Signed-off-by: George Tebrean <george@web3labs.com>
Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
Co-authored-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
Co-authored-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* feat: Enhance --profile to load external profiles (#7292)

* feat: --profile can load external profiles
* fix external profile name method
* fix ProfilesCompletionCandidate
* test: Add unit tests
* changelog: Update changelog
* test: Fix TomlConfigurationDefaultProviderTest
* test: Fix BesuCommandTest

---------

Signed-off-by: Usman Saleem <usman@usmans.info>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Fix status badge for documentation (#7304)

Documentation has been moved to GitHub pages and no longer use readthedocs. Updated the README status badge for docs with correct link

Signed-off-by: Chaminda Divitotawela <cdivitotawela@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* [MINOR] Fixed some typos (#7299)

* typos

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* refactored to share one AuthorizedAccountService between the different instances of the world updater, renamed some classes

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* spotless

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* load code for authorization at the beginning of the transaction

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* ignore authorization if chain id doesn't match

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* cache authority address, evmtool: do not fail if sender address is wrong

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add evmtool block-test subcommand (#7293)

* Add evmtool block-test subcommand

Add an evmtool subcommand that will run non-hive blockchain tests.

Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Make the retrying snap tasks switching (#7307)

* make snap tasks switching

Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* 6612: Remove deprecated sync modes and related helper methods (#7309)

* 6612: Remove deprecated sync modes and related helper methods

Signed-off-by: Matilda-Clerke <matilda.shay.clerke@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* EOF Reference Test Fixes (#7306)

Fix a number of issues found in reference tests and evmone tests.

- Be tolerant of more nulls in json
- Support ContainerKind in reference tests
- re-order EXTCALL oeprands
- correct return value for REVERT in EXT*CALL
- re-order EOFCREATE code validation

Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* test template refactor, bump besu-native to 0.9.2 (#7315)

Signed-off-by: garyschulte <garyschulte@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Feature/use gnark-crypto for eip-2537 (#7316)

* use gnark-crypto for bls precompiles

Signed-off-by: garyschulte <garyschulte@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* 6612 update changelog with removed syncmodes (#7320)

* 6612: Update changelog with removal of deprecated sync modes

Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>

* 6612: Update changelog with removal of deprecated sync modes

Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>

* 6612: Update changelog with removal of deprecated sync modes

Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>

---------

Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update datacopy (#7319)

Check for OOG earlier in DataCopy.
Add unit tests to cover operation branches.

Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* disable flaky test (#7308)

* disable flaky test

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

* disable flaky test

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update unit test (#7317)

* Update parameterized unit tests so the enumerate with --dry-run
* Update the prague-withdrawal.json unit test to handle current code

Signed-off-by: Danno Ferrin <danno@numisight.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* persist accounts that have storage updates, but no nonce, balance nor code

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Revert "persist accounts that have storage updates, but no nonce, balance nor code"

This reverts commit 9c9121a115ecb09f1c3add1fff4da3b102f8b429.

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* removed PKI backed QBFT (#7310)

* removed PKI backed QBFT

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

* changelog

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* EIP-7251 add consolidation request type (#7266)

* add request type for consolidations, encoder, decoder and tests

* added raw tx for consolidation

* add consolidation reqs to EngineGetPayloadResultV4

* set storage slot value to 0 initially and value for tx

* updates plugin api

Signed-off-by: Justin Florentine <justin+github@florentine.us>

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Justin Florentine <justin+github@florentine.us>
Co-authored-by: Justin Florentine <justin+github@florentine.us>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fix: `eth_call` deserialization to correctly ignore unknown fields in the transaction object (#7323)

* fix: Use Builder for JsonCallParameter
* changelog
* add additional unit tests
* fix: Update builder to withGas to match the json eth_call
---------

Signed-off-by: Usman Saleem <usman@usmans.info>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Stop transaction selection on TX_EVALUATION_TOO_LONG (#7330)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* message frame buider will create AuthorizedCodeService by itsef if it isn't set

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* get correct nonce for authorization

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* nonce only returns a vaid nonce, new method nonceList returns all the nonces

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* plugs leaky abstraction

Signed-off-by: Justin Florentine <justin+github@florentine.us>

* some renaming, acceptance tests checks for exact balance of tx sponsor at the end.

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* inject the 7702 code into DiffBasedWorldStateUpdateAccumulator.createAccount

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* spotless

Signed-off-by: Justin Florentine <justin+github@florentine.us>

* spotless fix, removed todos

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* make AuthorityProcessor & chain id for it optional

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

---------

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Signed-off-by: Chaminda Divitotawela <cdivitotawela@gmail.com>
Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
Signed-off-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Jason Frame <jason.frame@consensys.net>
Signed-off-by: Ties <71668189+TiesD@users.noreply.github.com>
Signed-off-by: Wolmin <lamonos123@gmail.com>
Signed-off-by: Wolmin <44748271+Wolmin@users.noreply.github.com>
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Leni <leniram159@gmail.com>
Signed-off-by: Justin Florentine <justin+github@florentine.us>
Signed-off-by: Usman Saleem <usman@usmans.info>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Matt Whitehead <matthew.whitehead@kaleido.io>
Signed-off-by: garyschulte <garyschulte@gmail.com>
Signed-off-by: Karim Taam <karim.t2am@gmail.com>
Signed-off-by: Snazzy <snazzysam933@gmail.com>
Signed-off-by: George Tebrean <george@web3labs.com>
Signed-off-by: Matilda-Clerke <matilda.shay.clerke@gmail.com>
Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>
Co-authored-by: Chaminda Divitotawela <cdivitotawela@users.noreply.github.com>
Co-authored-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Danno Ferrin <danno@numisight.com>
Co-authored-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Co-authored-by: Matt Whitehead <matthew.whitehead@kaleido.io>
Co-authored-by: Jason Frame <jason.frame@consensys.net>
Co-authored-by: Ties <71668189+TiesD@users.noreply.github.com>
Co-authored-by: Matt Nelson <85905982+non-fungible-nelson@users.noreply.github.com>
Co-authored-by: Wolmin <44748271+Wolmin@users.noreply.github.com>
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-authored-by: leniram159 <leniram159@gmail.com>
Co-authored-by: Justin Florentine <justin+github@florentine.us>
Co-authored-by: Usman Saleem <usman@usmans.info>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: garyschulte <garyschulte@gmail.com>
Co-authored-by: Karim Taam <karim.t2am@gmail.com>
Co-authored-by: gringsam <snazzysam933@gmail.com>
Co-authored-by: George Tebrean <99179176+gtebrean@users.noreply.github.com>
Co-authored-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
Co-authored-by: Matilda-Clerke <matilda.shay.clerke@gmail.com>
2024-07-17 19:00:48 +00:00
Danno Ferrin
17f4dc9a8a Update unit test (#7317)
* Update parameterized unit tests so the enumerate with --dry-run
* Update the prague-withdrawal.json unit test to handle current code

Signed-off-by: Danno Ferrin <danno@numisight.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2024-07-15 04:31:18 +00:00
Danno Ferrin
51f10dcdd2 Update datacopy (#7319)
Check for OOG earlier in DataCopy.
Add unit tests to cover operation branches.

Signed-off-by: Danno Ferrin <danno@numisight.com>
2024-07-15 03:05:22 +00:00
garyschulte
45dbc8a9a3 Feature/use gnark-crypto for eip-2537 (#7316)
* use gnark-crypto for bls precompiles

Signed-off-by: garyschulte <garyschulte@gmail.com>
2024-07-14 15:46:44 -07:00
garyschulte
dfee65665d test template refactor, bump besu-native to 0.9.2 (#7315)
Signed-off-by: garyschulte <garyschulte@gmail.com>
2024-07-12 10:53:16 -07:00
Danno Ferrin
965e757d81 EOF Reference Test Fixes (#7306)
Fix a number of issues found in reference tests and evmone tests.

- Be tolerant of more nulls in json
- Support ContainerKind in reference tests
- re-order EXTCALL oeprands
- correct return value for REVERT in EXT*CALL
- re-order EOFCREATE code validation

Signed-off-by: Danno Ferrin <danno@numisight.com>
2024-07-12 14:43:44 +00:00
Danno Ferrin
264e7d9fac Deeper tracing of self-destructed accounts (#7284)
Consider previously self-destructed accounts when creating accounts.

Signed-off-by: Danno Ferrin <danno@numisight.com>
2024-07-01 22:32:12 +00:00
Danno Ferrin
0f2046d4b0 Temporary CancunEOF fork for EOF testing. (#7227)
Add Genesis ("CancunEOFTime") and reference test ("CancunEOF") support
for a temporary Cancun+EOF fork, in anticipation of potential devnets.

Signed-off-by: Danno Ferrin <danno@numisight.com>
2024-06-25 14:36:42 +00:00
Danno Ferrin
7e840ab640 Reconfigure how Protocol Specs are created WRT EVM condiguration (#7245)
Make the max code size and max initcode size a part of the EVM
configuration. As part of the change we need to move the tasks
CodeFactory once handled as a static class and move it into the EVM.
This has a nice follow on effect that we don't need to pass in max EOF
versions or max code sizes anymore.

Signed-off-by: Danno Ferrin <danno@numisight.com>
2024-06-24 14:41:27 -06:00
Danno Ferrin
3026268f15 Check for EOFCreate subcontainer rules (#7232)
Check and test for the unused container rule, and only returncontract
targets can have truncated data rule.
Also test the other subcontainer rules in unit tests.

Signed-off-by: Danno Ferrin <danno@numisight.com>
2024-06-20 10:20:40 -06:00
Danno Ferrin
db9710b2aa check initcode size earlier (#7233)
Fail earlier with the initcode size check

Signed-off-by: Danno Ferrin <danno@numisight.com>
2024-06-16 07:43:51 +00:00
cangqiaoyuzhuo
90d2db9736 chore: fix some comments (#7215)
Signed-off-by: cangqiaoyuzhuo <850072022@qq.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2024-06-13 14:06:08 +10:00
Danno Ferrin
85d286aa85 EIP-7692 "Mega" EOF Implementation (#7169)
A complete and up to date implementation of EIP-7692 EOF v.1. For genesis 
file activation use "PragueEOFTime", for references tests it activates as 
part of Prague.

Signed-off-by: Danno Ferrin <danno@numisight.com>
2024-06-12 21:09:18 +00:00
Danno Ferrin
365737c2eb Remove EIP-3074 code (#7208)
Remove all EIP-3074 code from Besu. Since EIP-3074 has been replaced
with EIP-7702 in Pectra, and there is no intent to schedule it for a
future fork there is no need to retain the code.

Signed-off-by: Danno Ferrin <danno@numisight.com>
2024-06-12 20:07:58 +00:00
Karim Taam
16c4f92c18 correctly checks the storage in ToyAccount (#7214)
Signed-off-by: Karim Taam <karim.t2am@gmail.com>
2024-06-12 18:02:03 +00:00
daniellehrner
04f304fbb5 move traceEndTransaction after coinbase refund, add self destruct set to the method (#7188)
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2024-06-11 08:25:17 +00:00
Usman Saleem
2d59f4dd7e feat!: Java 21 for build and runtime (#7177)
* build: Update jacoco version to 0.8.11
* build: Enforce Java 21 and above check for build
* CI: Use Java 21 in Github CI workflows
* CI: Use Java 21 in circleci workflows
* build: Update gradle verification metadata for jacoco 0.8.11
* refactor: Fix javadoc related warnings which are applicable to Java 21
* fix(test): BackwardSyncAlgSpec slightly increase timeout to pass it in CI

---------

Signed-off-by: Usman Saleem <usman@usmans.info>
2024-06-06 15:29:18 +10:00