717 Commits

Author SHA1 Message Date
Stefan Pingel
b97c9350b4 Revert the revert of the tx selection commit (#5507)
* Revert "Revert "Add plugin API to select Transactions (#5396)" (#5499)"

This reverts commit a0c6052778.

* fix receipt root bug

Signed-off-by: Stefan <stefan.pingel@consensys.net>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Usman Saleem <usman@usmans.info>
Signed-off-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Usman Saleem <usman@usmans.info>
2023-06-02 15:06:03 +10:00
Simon Dudley
df5599172e Acceptance Test for Shanghai EVM changes (push0) (#5424)
Add a new version of engine Shanghai ATs with a modified genesis that allows for calling a push0 contract

Remove shanghai test cases from Paris and rename to ExecutionEngineParisAcceptanceTest

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
2023-05-26 17:10:16 +10:00
Sally MacFarlane
21992b7a5c run non-mainnet ATs on PRs, split into sub groups (#5502)
* run non-mainnet ATs on PRs, split into sets

* split privacy and permissioning

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

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-05-26 15:36:19 +10:00
Simon Dudley
a0c6052778 Revert "Add plugin API to select Transactions (#5396)" (#5499)
* Revert "Add plugin API to select Transactions (#5396)"

This reverts commit 65bcc557e4.

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
2023-05-26 10:21:44 +10:00
Stefan Pingel
65bcc557e4 Add plugin API to select Transactions (#5396)
This API fulfils the basic requirements, but will probably be extended in the near future. 

Signed-off-by: Stefan <stefan.pingel@consensys.net>
Signed-off-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-05-23 13:24:22 +10:00
Sally MacFarlane
19f07b937a invalid transaction type pass through to user (#5473)
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-05-19 20:02:57 +10:00
Stefan Pingel
969202790c fix certs fornon mainnet acc tests (#5432)
Signed-off-by: Stefan <stefan.pingel@consensys.net>
2023-05-05 09:23:34 +10:00
Antony Denyer
a30f7cdea4 Use binary search to eth_estimateGas more accurately (#5142)
* Use binary search to eth_estimateGas more accurately

eth_estimateGas currently conservatively estimates gas this change
will take that estimate and use it as a hi bound and will use
gasUsed as lo bound to hone in on the most true gas limit required


Signed-off-by: Antony Denyer <git@antonydenyer.co.uk>
2023-04-21 10:10:47 +01:00
Diego López León
031101603b Retire ECIP-1049 network (#5371)
* Remove ECIP1049 network

Signed-off-by: Diego López León <dieguitoll@gmail.com>
2023-04-20 13:57:37 -07:00
Nischal Sharma
839bddcd48 Show correct revert reason data in priv_call (#5369)
* added revert reason in priv_call

---------

Signed-off-by: Nischal Sharma <nischal@web3labs.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-04-21 04:39:29 +10:00
Justin Florentine
25ab21128e Metrics via dagger (#5244)
* dagger component
* pushed up MetricsSystemModule
* passes around the BesuComponent as an interim application context till more things are managed by Dagger

---------

Signed-off-by: Justin Florentine <justin+github@florentine.us>
2023-04-20 10:37:39 -04:00
Gabriel Fukushima
9978cb48a3 Remove RocksDb deprecated option maxBackgroundCompactions (#5339)
* Removing RocksDB option MaxBackgroundCompactions deprecated in version 8.0

Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>

---------

Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
2023-04-18 09:37:12 +10:00
Stefan Pingel
534a369574 Move connect decision into protocol layer (#4759)
Move the decision making for connecting or not connecting to peers into the eth layer. Future changes will take advantage if this to improve peering.

Signed-off-by: Stefan <stefan.pingel@consensys.net>

---------

Signed-off-by: Stefan <stefan.pingel@consensys.net>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-04-14 09:28:29 +10:00
Sally MacFarlane
795b7c4dfb [23.4] Remove IBFT1 consensus mechanism (#5302)
* remove controller and config

* remove ibftlegacy module

* remove further config options

* run non-mainnet ATs just to be sure

* remove temp change to circle config

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-04-11 14:55:50 +10:00
Simon Dudley
ef54beeb6c Add withdrawals to PayloadIdentifier to avoid collisions (#5321)
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
2023-04-11 10:42:55 +10:00
Justin Florentine
89cf6b829d Env var to debug child processes. (#5305)
* adds env var to specify a port to wait for a debugger to connect to so child processes can be debugged in acceptance tests

---------

Signed-off-by: Justin Florentine <justin+github@florentine.us>
2023-04-06 11:44:31 -04:00
Jason Frame
1665eb709c Configure gradle AT tasks to run junit5 tests (#5312)
Signed-off-by: Jason Frame <jason.frame@consensys.net>
2023-04-05 16:15:04 +10:00
Jason Frame
e1da8ee6c0 BFT acceptance tests for Berlin and London (#5294)
Signed-off-by: Jason Frame <jason.frame@consensys.net>
2023-04-05 12:08:32 +10: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
naviechan
3aef587e78 EIP-6110: Add deposits in EL (Part 1) (#5055)
Add deposits to the Execution Layer block structure: EIP-6110. The scope of this commit is to add Deposit related info into BlockHeader and BlockBody. The rest of the EIP including RPC API and validating Deposit with be included in future PRs.

---------

Signed-off-by: Navie Chan <naviechan@gmail.com>
Signed-off-by: navie <naviechan@gmail.com>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
2023-03-28 17:30:23 +10:00
Sally MacFarlane
147e94a6d3 [MINOR] junit5 for RPC ATs (#5208)
Updated to junit 5 for non-parameterized tests

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-03-16 07:06:02 +00:00
Danno Ferrin
4a5debd026 Verify default logging is INFO (#5202)
Add an acceptance test to verify that default logging is at least INFO.

---------

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
2023-03-15 03:46:45 +00:00
Sally MacFarlane
958813e29b use junit 5 for plugin and some other ATs (#5205)
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-03-13 04:52:02 +00:00
Sally MacFarlane
056e911f8f constants for namespace values (#5203)
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-03-13 13:59:58 +10:00
Danno Ferrin
3e35dba092 Reduce Log4J API Exposures (#5189)
Reduce the number of places that expose Log4J classes as a part of the
interfaces for methods and classes. While Log4j remains the default we
still need to be able to function when the Log4J jars are removed from
the classpath.

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
2023-03-11 15:12:10 -06:00
Simon Dudley
4bd2599d18 Fix flaky engine api acceptance test (#5187)
Assert on objects but use prettyString for failure message
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
2023-03-08 14:10:55 +10:00
Simon Dudley
d04d35b2c1 eth_getBlockByNumber and eth_getBlockByHash Shanghai Acceptance Test (#5146)
Add an acceptance test to ensure eth_getBlockByNumber and eth_getBlockByHash return withdrawals correctly for shanghai

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
2023-03-03 18:21:10 +10:00
Simon Dudley
81e7d5d9aa Add slf4j api so that acceptance tests work with using acctests.runBesuAsProcess = false (#5145)
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
2023-03-02 14:37:24 +10:00
Jason Frame
6a14d72c30 Withdrawals engine API ATs (#5141)
Signed-off-by: Jason Frame <jason.frame@consensys.net>
2023-03-01 15:05:44 +10:00
Sally MacFarlane
c75016324b add more context to exception messages and debug logging (#5066)
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-02-16 12:57:31 +10:00
Usman Saleem
e18e407c4e Use Java 17 to build and run Besu (#4977)
Update following sections:
Gradle build, CircleCI, GitHub Actions, Docker

The devp2p TLS mutual authentication unit tests dealing with PKCS11+nss and QBFT+PKCS11+nss ATs were failing on Java 17 when dealing with RSA keys. The unit tests and AT are updated to use EC keys instead. The keystores, truststores, CRL etc. involved in those ATs are regenerated and detailed instructions are provided on how they are created.

Signed-off-by: Usman Saleem <usman@usmans.info>
2023-02-03 10:17:54 +10:00
Sally MacFarlane
c9de473a3c kubernetes and errorprone - update versions (#5013)
* update errorprone and kubernetes versions
* fixed errorprone issues in prod cod
* fixed errorprone issues in test code

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-02-01 10:42:36 +10:00
Sally MacFarlane
37ffa1f8bf remove container tests (#4999)
* remove container tests

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

* print error message in event of AT failure

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

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
2023-01-27 10:35:37 +10:00
Sally MacFarlane
0503407c22 split ATs into privacy/permissioning/etc and the rest (#4989)
* split ATs into privacy/permissioning/etc and the rest

* don't run non-mainnet ATs on PR builds

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-01-25 11:06:26 +10:00
Fabio Di Fabio
6e8e24874f New excess_data_gas block header field (#4958)
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
2023-01-20 10:31:44 +01:00
Gabriel Fukushima
857db71e8b Change JSON RPC Error-32602 (Invalid Params) to return with http status code 200 (#4967)
* Handle INVALID_PARAMS with a 200 http status code

* Change tests to expect INVALID_PARAMS with a 200 http status code

* Add change log entry

* Change test to handle jsonRPC result rather than raised exception

Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
2023-01-20 15:41:24 +11:00
Jason Frame
1165f6a94d Add withdrawals root to block header (#4962)
Signed-off-by: Jason Frame <jason.frame@consensys.net>
2023-01-19 15:44:50 +10:00
Sally MacFarlane
c516829674 changed RequestBody.create to put content type arg second - fixes deprecation warning (#4936)
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-01-16 17:43:17 +10:00
Gabriel Fukushima
7d5988d4b5 PoS checkpoint sync (#4844)
Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
2022-12-21 15:04:08 +11:00
Sally MacFarlane
4fbca8dc1b Fix some flaky tests (#4843)
* override port conflict check

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

* add enum for special test type

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

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2022-12-20 14:49:58 +10:00
Gabriel-Trintinalia
67f38bf690 Possible optimization (#4701) 2022-12-01 11:18:32 +10:00
Stefan Pingel
e02cc04e41 use fork id to filter out non matching peers (#4459)
* use fork id to filter out non matching peers

Signed-off-by: Stefan <stefan.pingel@consensys.net>
2022-11-17 15:26:40 +10:00
Antoine Toulme
5b462af0a7 Otel take 2 (#4075)
* Revert "Revert "Upgrade OpenTelemetry (#3675)" (#4031)"

This reverts commit 17de636fe2.

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

* Make sure we don't initialize the OpenTelemetry global singleton by mistake

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

* disable global otel singleton explicitly

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

* make sure to set GlobalOpenTelemetry at most once to avoid test failures

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

* reset for tests

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

* fix changelog

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

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
2022-11-14 19:01:43 +10:00
Daniel Lehrner
6a3d4528bd Add new RPC endpoints debug_setHead & debug_replayBlock (#4580)
* add debug_setHead & debug_replayBlock endpoint

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
2022-11-12 11:41:34 -08:00
Danno Ferrin
6f20060182 Rollback #4578 and #44562 (#4583)
Due to subtle differences between Bytes32 and UInt256 the changes failed
burn-in testing and are being reverted.

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

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
2022-11-01 14:53:01 +10:00
Danno Ferrin
aff38f414d Remove Bytes32.ZERO (#4578)
Replace the use of the Bytes32.ZERO constant with a byte array variant.

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
2022-10-30 22:07:36 -05:00
Danno Ferrin
b322ef6ae1 Migrate storage APIs to Bytes32 (#4562)
The current internal storage APIs implement UInt256 rather than Bytes32,
which is an accident of prior EVM design.  This migrates all internal
handling of storage addresses and values to Bytes32.

The main performance gain is reduced GC pressure, in that UInt256 
stores the data as an array of ints, whereas Bytes32 keeps a sliced or
wrapped array of bytes. Since database APIs are all byte array based 
this should remove unneeded conversions when going to/from the DB.

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
2022-10-28 11:35:09 -05:00
Miguel Angel Rojo
2bcd2a7eec Flexible Privacy Groups feature - Support to Tessera's EC encryptor (#4282)
modified flexibleutil so it works with dynamic byte arrays, some logs to remove
    smart contracts adapted, changed bytecodes
    solidity contracts changed so they use bytes instead of bytes32
    modified flexibleutil to support ec keys
    flexible privacy tests adapted

Signed-off-by: Miguel Rojo <miguelangel.rojofernandez@mastercard.com>
Signed-off-by: Miguel Angel Rojo <miguelangel.rojofernandez@mastercard.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2022-10-07 13:22:58 +10:00
Fabio Di Fabio
64bf83cfeb Keep the best block built until now instead of the last one (#4455)
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
2022-09-30 10:55:32 +02:00
ahamlat
8718fa61e0 Create a new flag on RocksDB for high spec hardware to boost performance (#4423)
* Create a new flag on RocksDB (--Xplugin-rocksdb-high-spec-enabled) for high spec hardware to boost performance.
Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net>
2022-09-23 14:09:45 +10:00