Commit Graph

56 Commits

Author SHA1 Message Date
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
Simon Dudley
b930bfeeea execution-spec-tests 4.1.0 including better EIP-2537 coverage for BLS (#8402)
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
2025-03-12 10:03:35 +10:00
Sally MacFarlane
7390519095 fix distDocker - revert gradle change to providers.exec (#8340)
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2025-02-21 19:20:41 +10:00
Simon Dudley
c1c371589b Upgrade to execution-spec-tests version 4.0.0 (#8325)
Use fixtures_develop which contains Pectra test fixtures.

Unignore the BLS execution-spec-tests, but keep ignoring the older reference tests version

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
2025-02-19 14:28:31 +10: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
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
9a7744763a Create and publish Besu BOM (Bill of Materials) (#7615)
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
2024-10-18 10:50:55 +00:00
Danno Ferrin
5d3b2708bc Update reference tests to 14.1 (#7568)
Updates the reference tests to 14.1, which mostly consists of removing
duplicate tests covered by execution-spec-tests or invalid tests from
EOF portions of the Prague tests.

Signed-off-by: Danno Ferrin <danno@numisight.com>
2024-09-03 17:33:16 +00:00
garyschulte
c182ba113a bump execution-spec-tests, account for new name for main stable artifact (#7380)
Signed-off-by: garyschulte <garyschulte@gmail.com>
2024-07-25 22:41:45 +00: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
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
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
9f11eba853 Reftests 13.3 / EIP-7610 implementation (#7055)
* Upgrade reftests to 13.3
* Implement retroactive EIP-7610

We need to do both of these at once as the reference tests needed to be
updated to reflect the changes in the retroactive EIP.

EIPTests for prague are disabled as they are still in flux

Signed-off-by: Danno Ferrin <danno@numisight.com>
2024-05-07 21:14:25 +00:00
garyschulte
5656c5555a Bump execution spec tests, reprise (#7056)
* execution-spec-tests generate state and blockchain tests separately

Signed-off-by: garyschulte <garyschulte@gmail.com>
2024-05-06 15:19:20 -07:00
garyschulte
ad3a227b57 Revert "bump execution-spec tests to 2.1.1 (#7050)" (#7051)
This reverts commit 71c9581b4f.

Signed-off-by: garyschulte <garyschulte@gmail.com>
2024-05-06 02:03:39 +00:00
garyschulte
71c9581b4f bump execution-spec tests to 2.1.1 (#7050)
Signed-off-by: garyschulte <garyschulte@gmail.com>
2024-05-04 18:12:34 +10:00
Danno Ferrin
36e914bf4e Upgrade reference tests to 13.2 (#6854)
New revision of Cancun era reference tests

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2024-04-01 20:56:27 -06:00
Danno Ferrin
9e2f471380 Apply Reference tests v13.1 (#6574)
Update to new reference tests for cancun.
* Init KZG as part of ReferenceTestProtocolSchedules
* fix unsigned long errors
* block validation on borked blobGasUsed

Signed-off-by: Justin Florentine <justin+github@florentine.us>
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Justin Florentine <justin+github@florentine.us>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2024-02-16 11:24:00 -07:00
Danno Ferrin
cea3d8a71a Reference Tests v13 (#6114)
v13 of the official Ethereum Reference Tests.

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
2023-11-03 12:09:11 -06:00
Danno Ferrin
909649f26c Update reference tests to Cancun (#6054)
* Update reference tests to Cancun

Update reference tests to cancun tests.

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

* update the subrepo

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

* update the EIP-6110 acceptance tests

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

* update to develop

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

---------

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-10-25 11:30:49 +10:00
Sally MacFarlane
8980835398 Update execution tests to 0.2.5 (#5952)
* 0.2.4

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

* 0.2.5

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

* removed older versions of execution-tests metadata

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

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-09-28 13:53:32 +10:00
Danno Ferrin
db8bd9d2af Update reference tests to 12.4 (#5899)
* Update reference tests to 12.4

Update reference tests to 12.4
* Some in-memory storage changed to ConcurrentMap
* exclude cancun from all EIP tests, EIP-4788 still in flux
* Add new fields to ReferenceTestEnv, and re-order the reflected
  constructor for clarity and ease of development.

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

* spotless

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

---------

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-09-21 14:35:31 +10:00
garyschulte
4b2ef689c1 Bonsai based reference test worldstate (#5686)
* create a bonsai based reference test worldstate
  -> getOrCreate in BonsaiWorldStateUpdateAccumulator - do not throw if we discover an empty account in a non-null BonsaiValue<Account>
  -> add curentStateRoot to t8n
  -> storageEntriesFrom and streamAccounts implemented in BonsaiWorldStateKeyValueStorage
  -> add endKey version of streamFromKey
* bonsai fix for self-destruct and create2 at the same address and same block

Signed-off-by: garyschulte <garyschulte@gmail.com>
Signed-off-by: Karim TAAM <karim.t2am@gmail.com>
Co-authored-by: Karim TAAM <karim.t2am@gmail.com>
2023-09-13 21:30:18 -07:00
Fabio Di Fabio
cd5998d131 Make referencetests build script Windows friendly (#5789)
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
2023-08-23 23:26:48 +00:00
Danno Ferrin
5a485ccb58 Add EIPTests to ReferenceTests (#5774)
* Add EIPTests to ReferenceTests

Add the EIPTests directory to the set of reference tests.

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

* fix datagas logic error

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

---------

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-08-22 10:35:05 +10:00
Danno Ferrin
3b04f5cd27 Migrate DataGas to BlobGas (#5759)
In all places move from DataGas to BlobGas when talking about 4844 gas.

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
2023-08-18 17:39:33 -05:00
Danno Ferrin
7738a6a2aa Reference tests 12.3 (#5733)
Update Reference Tests to 12.3
* fix decoding error
* add ignored field
* update module

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
2023-07-31 14:42:01 -05:00
Antoine Toulme
901661cb4f Update tuweni2.4.2 (#5684)
* Revert "Revert "Update Tuweni to 2.4.1 (#5513)" (#5585)"

This reverts commit 6111e1bbc3.

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* update Tuweni to 2.4.2

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

---------

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
2023-07-11 22:26:32 -07:00
Sally MacFarlane
6111e1bbc3 Revert "Update Tuweni to 2.4.1 (#5513)" (#5585)
This reverts commit b96418143c.

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-06-13 13:12:23 +10:00
Antoine Toulme
b96418143c Update Tuweni to 2.4.1 (#5513)
* update to 2.4.1

* update use of DNS daemon with Vertx

* fix issue with Bytes.repeat

* update antlr version

* fix dns tests

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

---------

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-06-09 12:31:20 +10:00
Danno Ferrin
c55571ffa2 Upgrade Reference Tests (#5343)
* Upgrade reference tests to v12.1
* Repair submodule validation check

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
2023-04-14 10:47:20 -06:00
Danno Ferrin
ebbc0df773 Reduce EVM module dependencies (#5285)
Refactor crypto, datatypes, and plugin-api to reduce plugin APIs in the EVM.

Split crypto into crypto services and crypto algorithms
Reverse the dependency between datatyps and plugin-api.
Remove plugin Hash and Address types (use datatypes)
Move PublicKey and Quantity into datatypes.

Lots of changes to imports and build files, and some fromPlugin calls removed.

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Danno Ferrin <danno.ferrin@shemnon.com>
Co-authored-by: Justin Florentine <justin+github@florentine.us>
2023-03-30 18:34:37 -05:00
Usman Saleem
b0daf14813 Add Withdrawls execution tests to reference test (#5143)
Added Ethereum execution spec test to be generated and executed by reference tests gradle task. Add `https://github.com/ethereum/execution-spec-tests/releases` as custom ivy repository to easily download and cache the test specs. Updated the reference test gradle file to generate the test Java classes.

Signed-off-by: Usman Saleem <usman@usmans.info>
2023-03-01 15:32:12 +10:00
Diego López León
02d389a19e Migrate referenceTests to Junit5 (#3850)
* Remove deprecated cleanup task
* Move util class into test-support
This is because this class can be used outside the scope of the junit tests but it'll not be part of main
* Move referenceTests into its own scope
* Migrate referenceTests to Junit5

I inlined `o.h.b.e.vm.AbstractRetryingTest` into `o.h.b.e.vm.VMReferenceTest` because there was a single usage of the abstraction and also because it wasn't portable to how Junit5 parameters work

Signed-off-by: Diego López León <dieguitoll@gmail.com>

Co-authored-by: Danno Ferrin <danno.ferrin@gmail.com>
Co-authored-by: Sally MacFarlane <sally.macfarlane@consensys.net>
2022-06-02 13:38:56 +12:00
Danno Ferrin
d88bb5867f Ref tests 10.4 (#3835)
10.4 revision of reference tests has notable changes

* Nonce can be up to 2^64-1, with some opcode and validity interactions specced in eip-2681
* Wei fields can be up to 2^256, tests check for rollover
* VM Tests were removed
* Legacy Tests were removed
* Reference tests make it clear that transactions with a maxPriorityFee of zero are valid. Perhaps useless, but still valid.
* Adding validation hooks in the out-of-chain test execution. These validations are caught in full-chain execution, just not in conveniently places for integration testing.
* This does not transaction tests support for the "merge" fork, as the release notes marked it as an "upcoming" feature.


Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Co-authored-by: Diego López León <dieguitoll@gmail.com>
Co-authored-by: Daniel Lehrner <daniel.lehrner@consensys.net>
2022-05-19 03:50:14 +02:00
Danno Ferrin
fd961d5296 Evm move (#2790)
Move EVM to a standalone module

Move the EVM classes to a standalone module. This is mostly moves but
some API re-resign to peel out some features not essential to the EVM,
such as privacy support and ties to the data storage subsystem.

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2021-09-22 17:59:48 -06:00
Danno Ferrin
2abc7074bb Create new datatypes module for Address, Hash, and Wei (#2779)
* Create new datatypes module

Create a new `datatypes` module to hold datatypes that are broadly used.
This will aid modularization by making sure the base types in the module
minimize the amount of unrelated support classes needed.

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

* Add Address, Hash, and Wei to datatypes

Move the Address, Hash, and Wei to datatypes in as they are needed for
EVM modularization.

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2021-09-20 14:08:09 -06:00
garyschulte
b5113e715f implement EIP-3607 (#2676)
* implement EIP-3607

Signed-off-by: Gary Schulte <gary.schulte@consensys.net>
2021-08-27 12:27:26 +12:00
garyschulte
d345e70245 fix baseFee config in genesis config file (#2457)
Signed-off-by: garyschulte <garyschulte@gmail.com>

Co-authored-by: matkt <karim.t2am@gmail.com>
2021-06-22 08:38:18 -06:00
garyschulte
1772f8b1f8 update to latest reference tests develop branch (#2399)
Signed-off-by: garyschulte <garyschulte@gmail.com>
2021-06-10 07:42:27 -07:00
garyschulte
e90cef0f6d 1559 blockchain reftests (#2374)
* allow transaction pool to accept transactions with maxFeePerGas less than base fee
* make 1559 fields return short hex format instead of 8 bytes zero padded
* update reference tests to latest

Signed-off-by: garyschulte <garyschulte@gmail.com>
2021-06-05 02:30:31 +10:00
garyschulte
922bff4b9a update referencetests to latest develop branch (#2335)
* update referencetests to latest develop branch
* update submodule reference
* get 1559 test cases passing
* fix transaction encoding of 2718 typed transactions

Signed-off-by: garyschulte <garyschulte@gmail.com>
2021-05-27 07:32:31 -07:00
matkt
72360f4cce Update reference tests (#2270)
Signed-off-by: Karim TAAM <karim.t2am@gmail.com>
2021-05-11 16:48:13 +02:00
Ratan (Rai) Sur
bcc53acd90 remove 2315 (#1983)
remove 2315, including backing implementation.

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2021-03-09 01:37:36 +10:00
Ratan (Rai) Sur
f25d458345 Access List State Test Support for evmtool (#1945)
Update reference test hash for access list tests.

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>
2021-03-01 15:55:21 -07:00
Usman Saleem
490ca8c863 Fix submodule path in gradle for commit hash check (#1935)
Fix submodule path in gradle for commit hash check

Signed-off-by: Usman Saleem <usman@usmans.info>
2021-02-22 18:36:47 +10:00
Danno Ferrin
3e6700e586 Update Reference Tests (#1928)
Upgrade to Berlin reference tests and activate Berlin in those tests.

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2021-02-19 12:50:23 -07:00
Antoine Toulme
b9364ed243 Upgrade to Apache Tuweni 1.2.0 (#1493)
* Upgrade to Apache Tuweni 1.2.0

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* no jsr305

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

Co-authored-by: Danno Ferrin <danno.ferrin@gmail.com>
2020-11-05 15:40:42 -08:00
Danno Ferrin
0bf8a06686 Refactor Reference Tests (#1310)
Move key referenceTest classes relating to reading the JSON data into a
"main" java package so that it can be included in other production
classes.  Some classes were renamed to make their intent clearer. Other
smaller changes that bring classes in line with current coding
standards were done.

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2020-08-14 12:51:18 -06:00
Danno Ferrin
6d75262d1e Add Reference Test checker (#1216)
Add Reference Test checker

Add a check test to fail the build if the reference test submodule is
accidentally updated without a deliberate change to the 
corresponding build.gradle.

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2020-07-14 13:16:25 -06:00