269 Commits

Author SHA1 Message Date
Fabio Di Fabio
8b5b40d21e Merge branch 'main' into zkbesu
# Conflicts:
#	.github/workflows/acceptance-tests.yml
#	.github/workflows/codeql.yml
#	.github/workflows/integration-tests.yml
#	.github/workflows/pre-review.yml
#	.github/workflows/reference-tests.yml
#	build.gradle
2025-03-18 11:23:20 +01:00
Karim Taam
552cb283f9 rename diffbased bonsai prefix (#8424)
Signed-off-by: Karim Taam <karim.t2am@gmail.com>
2025-03-17 14:08:35 +00:00
Sally MacFarlane
5215c953e0 remove Hyperledger from EVM tool logs/docs (#8405)
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2025-03-12 23:23:41 +00:00
Danno Ferrin
9bd3c166fc Add evmtool pretty-print support for legacy code. (#8398)
* Add pretty-print support for legacy code.

Add support for non-EOF contained code to `evmtool pretty-print`.

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

* Add junit test

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

* JUMPDEST hadling

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>
2025-03-12 22:54:42 +00:00
Bhanu Pulluri
2db46e964c Enable Quorum/IBFT1 to Besu migration (#8262)
* Enable Quorum/IBFT1 to Besu migration

Signed-off-by: Bhanu Pulluri <bhanu.pulluri@kaleido.io>

* Fix BftMining acceptance test

Signed-off-by: Bhanu Pulluri <bhanu.pulluri@kaleido.io>

* Introduce delay after London fork update in BFT mining test to prevent timing issues

Signed-off-by: Bhanu Pulluri <bhanu.pulluri@kaleido.io>

* Update besu/src/main/java/org/hyperledger/besu/controller/IbftLegacyBesuControllerBuilder.java

Co-authored-by: Matt Whitehead <matthew1001@hotmail.com>
Signed-off-by: Bhanu Pulluri <59369753+pullurib@users.noreply.github.com>

* Review changes

Signed-off-by: Bhanu Pulluri <bhanu.pulluri@kaleido.io>

* update creating additional JSON RPC methods for all controllerbuidlers in consensus schedule

Signed-off-by: Bhanu Pulluri <bhanu.pulluri@kaleido.io>

* Create ethprotocol manager and plugin factory for both consensus controllers in migration

Signed-off-by: Bhanu Pulluri <bhanu.pulluri@kaleido.io>

* Refactor resource files

Signed-off-by: Bhanu Pulluri <bhanu.pulluri@kaleido.io>

* fix verification metadata

Signed-off-by: Bhanu Pulluri <bhanu.pulluri@kaleido.io>

* fix regression

Signed-off-by: Bhanu Pulluri <bhanu.pulluri@kaleido.io>

* update changelog

Signed-off-by: Bhanu Pulluri <bhanu.pulluri@kaleido.io>

* Fix controller selection at the transition block

Signed-off-by: Bhanu Pulluri <bhanu.pulluri@kaleido.io>

* Review changes

Signed-off-by: Bhanu Pulluri <bhanu.pulluri@kaleido.io>

* Revert BftExtraData changes

Signed-off-by: Bhanu Pulluri <bhanu.pulluri@kaleido.io>

---------

Signed-off-by: Bhanu Pulluri <bhanu.pulluri@kaleido.io>
Signed-off-by: Bhanu Pulluri <59369753+pullurib@users.noreply.github.com>
Co-authored-by: Bhanu Pulluri <bhanu.pulluri@kaleido.io>
Co-authored-by: Matt Whitehead <matthew1001@hotmail.com>
Co-authored-by: Matt Whitehead <matthew.whitehead@kaleido.io>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2025-03-12 14:08:51 +00:00
Fabio Di Fabio
0e54416026 Update Spotless Gradle plugin (#8333)
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
2025-02-20 14:44:56 +10:00
Sally MacFarlane
1cbdcdb01d [build] evmtool Dockerfile - update apt-get packages (#8321)
* update ca-certificates-java version

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

* removed ca-certificates install; add adduser

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

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2025-02-18 11:30:02 +00:00
Sally MacFarlane
e8a4755996 update base image for evmtool Dockerfile (#8304)
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2025-02-18 01:05:09 +00:00
Sally MacFarlane
1508b5cba5 [build] update use of gradle deprecated features (#8295)
* gradle 8.11

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

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2025-02-17 06:17:41 +10:00
Fabio Di Fabio
bdc6423779 Merge branch 'main' into zkbesu
# Conflicts:
#	.github/workflows/pre-review.yml
#	.github/workflows/reference-tests.yml
2025-02-12 16:05:20 +01:00
Gabriel-Trintinalia
3638944a6c Make prague evm spec ready (#8277)
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
2025-02-12 00:48:10 +00:00
Fabio Di Fabio
271edbb97d Merge branch 'main' into zkbesu 2025-02-05 21:34:59 +01:00
Gabriel-Trintinalia
630a8f7d0f EIP2935 - Use system call instead of direct storage modification (#8243)
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
2025-02-05 17:18:37 +10:00
Fabio Di Fabio
1d875cfa0e Merge branch 'main' into zkbesu
# Conflicts:
#	.github/pull_request_template.md
#	.github/workflows/sonarcloud.yml
2025-02-03 14:15:40 +01:00
Sally MacFarlane
ac0265f3bd devnet-6 system contract addresses update (#8209)
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2025-01-31 13:57:03 +00:00
Gabriel-Trintinalia
97a69b03c8 Devnet5 Fix requests tests (#8201)
* Fix hive tests for eip7685
* Pass correct empty request hash

Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

---------

Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
2025-01-31 05:11:52 +00:00
Simon Dudley
ccd3582630 Prague t8n and referenceTests fixes for EEST (#8167)
Fix referenceTests bug with fallback EMPTY Address.
T8n support for excessBlobGas for both state tests and blockchain test. State tests should use the given excessBlobGas rather than computing from the parent header.

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
2025-01-30 07:08:08 +00:00
Fabio Di Fabio
921c726922 Merge branch 'main' into zkbesu 2025-01-28 19:04:58 +01:00
Karim Taam
b3192a5960 Refactor the methods for getting mutable states in the WorldState provider (#8113)
Refactor the methods for retrieving mutable states in the WorldState provider and make additional improvements to clean up the code.

---------

Signed-off-by: Karim Taam <karim.t2am@gmail.com>
2025-01-27 16:59:54 +00:00
Fabio Di Fabio
3485e296f3 Merge branch 'main' into zkbesu
# Conflicts:
#	.github/workflows/verify_artifacts.py
2025-01-27 15:29:49 +01:00
Karim Taam
846e4834b8 update eth_call error message (#8129)
Signed-off-by: Karim Taam <karim.t2am@gmail.com>
2025-01-24 10:00:07 +00:00
daniellehrner
e9a94f3682 Devnet-5: bug fixes for 7702 (#8148)
* * fix code hash for delegated accounts in ExtCodeHashOperation
* move common code to AbstractExtCodeOperation class

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

* * rename DelegatedCode -> CodeDelegation, for consistency

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

* * rename authorization -> CodeDelegation, for consistency

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

* rename method to start with lower case

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

---------

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
2025-01-22 21:59:27 +01:00
Karim Taam
6d05f8312c Improve error message for Invalid operation (#8141)
Signed-off-by: Karim Taam <karim.t2am@gmail.com>
2025-01-21 16:28:48 +00:00
Fabio Di Fabio
448d1a97ee Merge branch 'main' into zkbesu 2025-01-20 11:20:00 +01:00
daniellehrner
1e7f6f6bf3 EIP-7623 (#8093)
Implements EIP-7623 (increase calldata cost)

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
2025-01-16 10:09:04 +00:00
Fabio Di Fabio
1bb7624325 Merge branch 'main' into zkbesu
# Conflicts:
#	.github/workflows/draft-release.yml
2025-01-15 11:24:31 +01:00
daniellehrner
8308650ef9 Exclude empty requests from requests hash (#8036)
* exclude empty requests from requests hash

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

* Exclude empty requests and prepend request type byte in engine_getPayloadV4

Fixes https://github.com/ethereum/execution-apis/pull/599 change to EIP-7685

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

* fix test

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

* fix prague tests: change request hash, reorder json elements

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

* fix extracting of request for new payload

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

* fix test by fixing request object creation

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

* spotless

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

* set request type to only one byte, fixed creation of request list in T8nExecutor

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

* fix expected json output to exclude empty requests

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

---------

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
2025-01-14 19:45:10 +01:00
Sally MacFarlane
b797f2e346 log4j conf: replace status (deprecated) with level (#8087)
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2025-01-14 02:36:43 +00:00
Fabio Di Fabio
0b17320927 Merge branch 'main' into zkbesu 2025-01-13 17:28:36 +01:00
Danno Ferrin
0810b73ee3 Refactor BlockHashOperation block height check into Operation (#8091)
* Refactor BlockHashOperation block height check into Operation

Refactor the 4 different places block height is checked across Besu into
the BlockHashOperation. Add support to make the lookback range
configurable in the BlockHashLookup interface, but default it to 256.

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

* spotless

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

* javadoc

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

* Update Unit Tests to use the operation.

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

* Update Unit Tests to use the operation.

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

---------

Signed-off-by: Danno Ferrin <danno@numisight.com>
2025-01-13 15:51:11 +00:00
garyschulte
2aadbfcb0a implement the proposed gas changes for bls / eip-2537 (#8008)
* implement the proposed gas changes for bls / eip-2537 for pectra-devnet-5
* disable eip-2537 testing until we have new artifacts that reflect pectra gas costs

Signed-off-by: garyschulte <garyschulte@gmail.com>
2025-01-10 00:25:00 +00:00
Simon Dudley
fa9ca9c27f Update EIP-2935 (#8066)
* Update HISTORY_STORAGE_ADDRESS and HISTORY_SERVE_WINDOW for EIP-2935

https://github.com/hyperledger/besu/issues/8061

* Update HISTORY_STORAGE_ADDRESS and genesis code in tests.

Even for unrelated tests, this has a knock-on impact on the state root due to the history storage account being created when the BlockHashProcessor runs for block 1

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
2025-01-07 16:25:02 +10:00
Luis Pinto
b3b33da540 eip-7709 implement BLOCKHASH opcode from system contract state (#7971)
* eip-7709 implement BLOCKHASH opcode from system contract state

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

* fixup! eip-7709 implement BLOCKHASH opcode from system contract state

 reimplement blockhashlookup with MessageFrame instead of WorldUpdater

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

* fixup! eip-7709 implement BLOCKHASH opcode from system contract state

 address review comments

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

* fixup! eip-7709 implement BLOCKHASH opcode from system contract state

 add comment about unused BlockHashProcessor

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

---------

Signed-off-by: Luis Pinto <luis.pinto@consensys.net>
2024-12-20 10:29:25 +00:00
Gabriel-Trintinalia
1ddf1e2599 Merge branch 'main' into zkbesu
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
2024-12-19 18:18:00 +11:00
Justin Florentine
3b4136dac5 rename GenesisConfigFile because it's not a file at all (#8050)
Signed-off-by: jflo <justin+github@florentine.us>
2024-12-18 17:39:00 -05:00
daniellehrner
d3773d9e33 Pectra Devnet-5: 7702 & 7251: address & code changes (#8029)
* update 7251 address, update 7251 & 7702 code

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

* spotless

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

* Update EIP-7251: Set MAX_CONSOLIDATIONS=2

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

---------

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
2024-12-18 17:28:08 +00:00
Fabio Di Fabio
6e255ceb6c Merge branch 'main' into zkbesu
# Conflicts:
#	build.gradle
#	gradle/verification-metadata.xml
2024-12-13 12:23:25 +01:00
Sally MacFarlane
7e58f58e5d update withdrawal request address (#8016)
* rename file to match convention
* allow comments
* updated withdrawal request contract address

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

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2024-12-11 20:35:12 +10:00
Daniel Lehrner
a8c1c90176 Merge branch 'main' into zkbesu
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
2024-12-04 15:28:16 +01:00
daniellehrner
07637cfc12 EIP-7702: devnet-4 changes (#7809)
* warm up to address at tx start if account is delegated, restrict auth nonce to 2**64-1

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

* rename requestsRoot to requestsHash

Signed-off-by: Jason Frame <jason.frame@consensys.net>

* return no code if account has delegated code to precompile, treat precompile always as warm account when resolving code

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

* make accessListWarmAddresses generic again

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

* warm delegatee account if transaction destination has delegated code

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

* * verify auth nonce less than 2**64-1 during auth processing
* auth to zero address deletes delegation
* auth to precompile returns empty code
* auth nonce < 2**8
* increase auth base cost to 12500

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

* generalised requests flat encoding and engine api changes

Signed-off-by: Jason Frame <jason.frame@consensys.net>

* javadoc

Signed-off-by: Jason Frame <jason.frame@consensys.net>

* get tests passing

Signed-off-by: Jason Frame <jason.frame@consensys.net>

* get tests passing

Signed-off-by: Jason Frame <jason.frame@consensys.net>

* clean code

Signed-off-by: Jason Frame <jason.frame@consensys.net>

* change requests to single requestData for each requestType

Signed-off-by: Jason Frame <jason.frame@consensys.net>

* fix PoWBlockCreatorTest after requests data type change

Signed-off-by: Jason Frame <jason.frame@consensys.net>

* don't return request type in getPayload result

Signed-off-by: Jason Frame <jason.frame@consensys.net>

don't return request type in getPayload result

Signed-off-by: Jason Frame <jason.frame@consensys.net>

* include requests in t8n response

Signed-off-by: Jason Frame <jason.frame@consensys.net>

* update contract addresses for consolidation requests and withdrawal requests

Signed-off-by: Jason Frame <jason.frame@consensys.net>

* fix requestHash calculation

Signed-off-by: Jason Frame <jason.frame@consensys.net>

* Ensure that execution requests always return a response

Signed-off-by: Jason Frame <jason.frame@consensys.net>

* added and fixed bound checks, fixed some compilation errors after the rebase

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

* revert changes to evm tool spec tests

Signed-off-by: Jason Frame <jason.frame@consensys.net>

* clean up

Signed-off-by: Jason Frame <jason.frame@consensys.net>

* replace AbstractSystemCallRequestProcessor to concrete class and remove specific processors

Signed-off-by: Jason Frame <jason.frame@consensys.net>

* spotless

Signed-off-by: Jason Frame <jason.frame@consensys.net>

* update evmtool tests for 7685 changes

Signed-off-by: Jason Frame <jason.frame@consensys.net>

* use empty requests hash prague fork at genesis

Signed-off-by: Jason Frame <jason.frame@consensys.net>

* review suggestions

Signed-off-by: Jason Frame <jason.frame@consensys.net>

* temporarily comment out osakaTime from Prague

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

* engine API validation

Signed-off-by: Jason Frame <jason.frame@consensys.net>

* update plugin API hash

Signed-off-by: Jason Frame <jason.frame@consensys.net>

* fix GenesisStateTest

Signed-off-by: Jason Frame <jason.frame@consensys.net>

* comment out unused evmWorldUpdater.parentUpdater() check

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

* added CodeDelegationProcessorTest

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

* code clean up

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>
Signed-off-by: Jason Frame <jason.frame@consensys.net>
Co-authored-by: Jason Frame <jason.frame@consensys.net>
2024-12-03 10:51:43 +00:00
Fabio Di Fabio
3ed3e9adf7 Merge branch 'main' into zkbesu
# Conflicts:
#	.github/issue_template.md
2024-11-04 11:30:27 +01:00
Justin Florentine
8fce5aa6ff IntelliJ do not fail me (#7846)
Signed-off-by: jflo <justin+github@florentine.us>
2024-11-04 09:12:00 +10:00
Justin Florentine
7eb7b870c3 Refactoring around MiningParameters (#7798)
decoupled parent block header from block creators
optionalized some fields of ProtocolSchedule constructor, which will allow us to reduce number of constructors later.
Refactored JsonBlockImporterTest so it can provide a BesuComponent
ProtocolScheduleBuilder optionalizes the default chainid
Blocks SubCommand is now Dagger aware
Creates but rarely uses ProtocolSpec and ProtocolSchedule modules. Deeper adoption pending.
Adds a Coinbase module with fixed values for use in testing.
Introduces an EthereumCoreComponent, to be used as a subcomponent of BesuComponent in the future.
Introduces a MiningParameters module with common static values used by tests. Removes MiningParameters static constructor.

---------

Signed-off-by: Justin Florentine <justin+github@florentine.us>
Signed-off-by: jflo <justin+github@florentine.us>
2024-11-01 09:26:41 +10:00
Fabio Di Fabio
3cc694eb44 Merge branch 'main' into zkbesu 2024-10-28 17:17:41 +01: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
Fabio Di Fabio
0037615dc4 Merge branch 'main' into zkbesu
# Conflicts:
#	build.gradle
2024-10-24 12:01:44 +02:00
Jason Frame
f16d3526db Change execution requests to use flat encoding (#7771)
Signed-off-by: Jason Frame <jason.frame@consensys.net>
2024-10-24 09:02:43 +00:00
Fabio Di Fabio
30ef0ac24b Merge branch 'main' into zkbesu 2024-10-23 09:53:36 +02:00
Sally MacFarlane
76060a0416 [TESTING] remove junit4 dependency (#7793)
* migrate to junit5
* remove junit4 dep
* remove vintage dep

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

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2024-10-23 07:52:51 +10:00
Fabio Di Fabio
ce902dba43 Merge branch 'main' into zkbesu
# Conflicts:
#	.github/workflows/BesuContainerVerify.sh
#	.github/workflows/splitList.sh
#	.github/workflows/splitTestsByTime.sh
#	gradle.properties
2024-10-16 11:41:19 +02:00