339 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
Simon Dudley
789542f76d Pull in Consensys/tuweni v2.7.0 (#8330)
This replaces io.tmio/tuweni with the Consensys fork.

Also Includes:
- reduce check argument args allocations - https://github.com/Consensys/tuweni/pull/10
which should reduce Integer and int[] and therefore gc pressure

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
2025-03-17 19:42:25 +10: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
garyschulte
a68b462ae5 add bls pairing tests from https://github.com/ethereum/bls12-381-tests/pull/14 (#8364)
Signed-off-by: garyschulte <garyschulte@gmail.com>
2025-03-03 08:19:17 +10:00
Sally MacFarlane
d454d1287a [CHANGELOG] tidy up changelog et al (#8360)
* tidy up changelog

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

* typo defaut

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

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2025-02-27 15:36:01 +10: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
Vaidik
65baa304d4 Update to new version of jc-kzg-4844 lib (#7849)
* Updating Dependencies
Signed-off-by: vaidikcode <vaidikbhardwaj00@gmail.com>

* Update CHANGELOG.md
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>

---------

Signed-off-by: Vaidik <vaidikbhardwaj00@gmail.com>
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
2025-02-19 17:00:37 +00:00
Sally MacFarlane
984173e134 update some deprecated references (#8314)
* update some deprecated references

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

* change order of params to eliminate deprecation warning

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

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2025-02-18 22:24:39 +00: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
1d875cfa0e Merge branch 'main' into zkbesu
# Conflicts:
#	.github/pull_request_template.md
#	.github/workflows/sonarcloud.yml
2025-02-03 14:15:40 +01:00
daniellehrner
cf7d054c14 devnet-6: 7702 changes for EXTCODE* (#8169)
change EXTCODE* operations to match spec for Pectra devnet-6

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
2025-01-31 22:17:04 +10:00
Karim Taam
68665db454 Fix code delegation issue found in pectra devnet (#8203)
* add acceptance tests to verify that code delegations are persisted even if the tx itself fails
* set node to use bonsai, set correct nonce for code delegation, make sure revert in contract has the 2 necessary items on the stack
* Hive test fix: only add account if authority nonce is valid (0)
---------

Signed-off-by: Karim Taam <karim.t2am@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
2025-01-31 05:42:13 +00:00
Brawn
57454cb7cf Fix: Remove System.out.println in BytesTrieSet… (#8172)
Signed-off-by: Brawn <nftdropped@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2025-01-31 04:06:33 +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
Danno Ferrin
6af23ea024 Improve BLOCKHASH Short Circuit (#8171)
* Improve BLOCKHASH Short Circuit
Signed-off-by: Danno Ferrin <danno@numisight.com>
Co-authored-by: Justin Florentine <justin+github@florentine.us>
2025-01-30 02:03:39 +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
daniellehrner
7840e8b4fb rename methods and variables, clarify comments (#8155)
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
2025-01-23 06:08:03 +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
daniellehrner
b5fdcc096f Pectra devnet 5: 7702 changes (#8118)
* first draft for 7702 changes for pectra-devnet5

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

* spotless, javadoc

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

* fixed get code in call operations

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

* allow code delegation chain id to be up to 2^256-1

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

* set code for delegated accounts correctly in the initialFrame of the tx processing

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

* delegated accounts return empty bytes for the code if the target does not exist

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-16 06:20:20 +00:00
Danno Ferrin
479bec0310 Update EXTCALL creation detection (#8038)
Update the EXTCALL account creation detection to match legacy call
detection.

Signed-off-by: Danno Ferrin <danno@numisight.com>
2025-01-16 15:47:50 +10:00
Fabio Di Fabio
1bb7624325 Merge branch 'main' into zkbesu
# Conflicts:
#	.github/workflows/draft-release.yml
2025-01-15 11:24:31 +01:00
Gabriel-Trintinalia
5cc309a26e Add support for movePrecompileToAddress in State Overrides (eth_call) (#8115)
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
2025-01-15 04:27:57 +00:00
daniellehrner
42b26a466d Move gas refund calculation from MainnetTransactionProcessor to GasCalculator (#8106)
* move gas refund calculation from MainnetTransactionProcessor to RefundCalculator

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

* fix MainnetTransactionProcessorTest

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

* add test for FrontierRefundCalculator

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

* add test for FrontierRefundCalculator

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

* add PragueRefundCalculator dummy

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

* move refund logic to gas calculator, delete RefundCalculator

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

---------

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
2025-01-14 22:58:35 +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
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
Simon Dudley
e830db7248 EIP-7840 Implementation (#8042)
Drive Cancun, Prague and Osaka target and max blobs per block from genesis config.
If blobSchedule is missing, use the mainnet default values.
Target is wired into appropriate *GasCalculator implementations.
Max is wired into appropriate *TargetingGasLimitCalculator implementations.

---------

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2024-12-20 00:14:35 +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
Sally MacFarlane
0448af8d24 [CHANGELOG] clarify breaking changes (#8052)
* clarify breaking changes in changelog

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

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2024-12-19 00:55:41 +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
garyschulte
c8ad1d12a0 Bump besu-native dep to 1.0.0 (#8019)
* remove evm dep on matter-labs bls12 lib

Signed-off-by: garyschulte <garyschulte@gmail.com>
2024-12-11 14:04:18 -08:00
Sally MacFarlane
8e3d51fa4f Merge branch 'main' into zkbesu 2024-12-09 12:41:28 +10:00
Danno Ferrin
1855836206 Update EOFCREATE memory code (#7979)
* Update EOFCREATE memory code

Switch to longs so EOFCREATE can handle gigagas sized transactions.

Signed-off-by: Danno Ferrin <danno@numisight.com>
2024-12-09 07:33:18 +10:00
Fabio Di Fabio
cf5047911e Merge branch 'main' into zkbesu 2024-12-06 13:51:27 +01:00
Fabio Di Fabio
f8e93bf544 Support rpc pending block tag when estimating gas (#7951)
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
2024-12-06 12:50:38 +00:00
Simon Dudley
472357f118 EIP-7742 - gas calculation using target_blobs_per_block (#7823)
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
2024-12-05 01:50:23 +00: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
607e48a19b Merge branch 'main' into zkbesu
# Conflicts:
#	metrics/core/src/main/java/org/hyperledger/besu/metrics/noop/NoOpMetricsSystem.java
#	metrics/core/src/main/java/org/hyperledger/besu/metrics/opentelemetry/OpenTelemetrySystem.java
#	metrics/core/src/main/java/org/hyperledger/besu/metrics/prometheus/PrometheusHistogram.java
#	metrics/core/src/main/java/org/hyperledger/besu/metrics/prometheus/PrometheusMetricsSystem.java
#	metrics/core/src/test-support/java/org/hyperledger/besu/metrics/StubMetricsSystem.java
#	plugin-api/build.gradle
#	plugin-api/src/main/java/org/hyperledger/besu/plugin/services/metrics/Histogram.java
2024-11-27 16:09:57 +01:00
Karim Taam
eb097ffbd4 fix sync issue (#7927)
Signed-off-by: Karim Taam <karim.t2am@gmail.com>
Signed-off-by: Gary Schulte <garyschulte@gmail.com>
2024-11-26 07:40:07 -08:00
Fabio Di Fabio
eb7bb53d3a Merge branch 'main' into zkbesu 2024-11-05 12:27:36 +01:00
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
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