Commit Graph

33 Commits

Author SHA1 Message Date
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
Jason Frame
ea8579d63a Move the core of qbft into a qbft core module (#8043)
Move the core of QBFT into a qbft core module so it can be reused outside Besu

Signed-off-by: Jason Frame <jason.frame@consensys.net>
2024-12-20 13:12:06 +10:00
Jason Frame
a0fa599f95 remove unused dependencies from qbft (#7915)
Signed-off-by: Jason Frame <jason.frame@consensys.net>
2024-11-25 16:28:05 +10: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
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
ac449dd8d5 consensus/merge junit5 (#5632)
* junit5

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

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-06-23 08:13:47 +10: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
Sally MacFarlane
186d38b81d [MINOR] switch QBFT tests to Junit5 (#5525)
* junit5

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

* lenient mocking

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

* remove junit4

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

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-06-02 10:34:04 +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
Jason Frame
173da2a15d Remove qbft reference tests (#4893)
* Remove qbft reference tests submodule

* Remove snakeyml dependency

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

* Revert "Remove snakeyml dependency"

This reverts commit 4ae0dcd8e520e3674d56fb955f50fcdff0929d5f.

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

Signed-off-by: Jason Frame <jason.frame@consensys.net>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-01-10 08:52:33 +10:00
Danno Ferrin
755771d22c Dependency Version Updates for 22.7.0-RC1 (#4004)
Update dependency versions.

Dependencies skipped because they require compatibility work
 * vertx
 * JMH
 * Prometheus
 * RocksDB
 * Web3j
 * Gradle

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2022-06-23 11:03:07 -03:00
Diego López León
eb5e604bcd Migrate integrationTests to Junit5 (#3815)
Signed-off-by: Diego López León <dieguitoll@gmail.com>

Co-authored-by: Sally MacFarlane <sally.macfarlane@consensys.net>
2022-05-13 07:44:46 +10:00
Danno Ferrin
b4027d6e39 Use JUnit 5 for unit test execution (#3620)
Change the unit test execution to use the Junit5 JUnitPlatform. This
allows for a mix of junit 4 and junit 5 tests and for a gradual
migration to junit 5 instead of a big bang. One class depended on
junit 4 exceptions and was updated. Two tests depending on 
native libraries fail gracefully on mac (and only mac).

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2022-04-02 00:34:48 +10:00
Diego López León
7daa4f871f Vert.x upgrade (with tests) (#3135)
* compile issues sorted, some tests failing

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

* closing runnerBehind closes the vertx shared with runnerAhead, which now throws an exception

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

* checkpoint when 4/5 websocket login tests pass

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

* exp moved to attribute from principal

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

* fixed more tests

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

* fixed more tests

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

* exception handling test improvement

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

* exception handling test improvement

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

* static renamed

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

* We want old implementation of the host()

Newly vertex handles the forward headers and modifies host(). In the
process vert.x loses track of port from Host header in case the port was
not a string.

Signed-off-by: Jiri Peinlich <jiri.peinlich@gmail.com>

* adding dependency on jackson-databind for tests

Signed-off-by: Jiri Peinlich <jiri.peinlich@gmail.com>

* making sure changes are spotless

Signed-off-by: Jiri Peinlich <jiri.peinlich@gmail.com>

* Dealing with regression

Signed-off-by: Jiri Peinlich <jiri.peinlich@gmail.com>

* fixing last failing vert.x test hopefully

Signed-off-by: Jiri Peinlich <jiri.peinlich@gmail.com>

* removed commented out code

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

* reverts debugging adjustment

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

* removed commented out code

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

* minor whitespace cleanup

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

* (internal) Refactor 'onchain' to 'flexible' where applicable (#3075)

* CLI option name change

Signed-off-by: Frank Li <b439988l@gmail.com>

* refactor privacyparameters.java and add deprecation warning

Signed-off-by: Frank Li <b439988l@gmail.com>

* more refactoring

Signed-off-by: Frank Li <b439988l@gmail.com>

* add to everything.toml

Signed-off-by: Frank Li <b439988l@gmail.com>

* bugs

Signed-off-by: Frank Li <b439988l@gmail.com>

* more missing variable names

Signed-off-by: Frank Li <b439988l@gmail.com>

* more classes

Signed-off-by: Frank Li <b439988l@gmail.com>

* more classes

Signed-off-by: Frank Li <b439988l@gmail.com>

* fix compile error

Signed-off-by: Frank Li <b439988l@gmail.com>

* add new test to invalidate passing both commands

Signed-off-by: Frank Li <b439988l@gmail.com>

* more refactoring + more tests

Signed-off-by: Frank Li <b439988l@gmail.com>

* new batch

Signed-off-by: Frank Li <b439988l@gmail.com>

* final batch?

Signed-off-by: Frank Li <b439988l@gmail.com>

* failing unit test

Signed-off-by: Frank Li <b439988l@gmail.com>

* revert incorrect refactoring back to onchain

Signed-off-by: Frank Li <b439988l@gmail.com>

* fix unit test

Signed-off-by: Frank Li <b439988l@gmail.com>

* comment

Signed-off-by: Frank Li <b439988l@gmail.com>

* comment

Signed-off-by: Frank Li <b439988l@gmail.com>

* support both privx methods

Signed-off-by: Frank Li <b439988l@gmail.com>

* add to changelog

Signed-off-by: Frank Li <b439988l@gmail.com>

* address comment

Signed-off-by: Frank Li <b439988l@gmail.com>

* add plugin privacy

Signed-off-by: Frank Li <b439988l@gmail.com>
Signed-off-by: Justin Florentine <justin+github@florentine.us>

* checkpoint when 4/5 websocket login tests pass

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

* trying to figure out how to decouple this test

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

* spotless

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

* removes Orion from integration test

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

* spotless

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

* Add jackson dependency to merge module

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

* Migrate JWTAuthOptions creations for public keys

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

* Check http client response status

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

* Replace Orian with Tessera in tests

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

* Change Tessera expected error messages in tests

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

* Change executor of integrationTests to allow spanning Docker processes

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

Co-authored-by: Justin Florentine <justin+github@florentine.us>
Co-authored-by: Jiri Peinlich <jiri.peinlich@gmail.com>
Co-authored-by: Frank Li <39414003+frankisawesome@users.noreply.github.com>
Co-authored-by: Sally MacFarlane <sally.macfarlane@consensys.net>
2021-12-22 08:52:32 +10:00
Danno Ferrin
2415000caf Evm speedup (#2796)
Broad reaching optimizations to speed up EVM calculations

* Generally speaking, use int and long where it is more appropriate than UInt256 (memory indexes mostly)
* Move the internal stack to Bytes from UInt256
* Re-work the flow of many operations to account for the above

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2021-09-23 16:39:45 +10: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
Jason Frame
a2fd2147cd Allow QBFT to switch from the existing block header validator selection mechanism to using a smart contract (#2655)
Signed-off-by: Jason Frame <jasonwframe@gmail.com>
2021-09-13 14:03:17 +10:00
Antony Denyer
b0e57a450d Update web3j in acceptance tests to ~4.8.6 (#2616)
* Update web3j in acceptance tests to ~4.8.6

Signed-off-by: Antony Denyer <git@antonydenyer.co.uk>

* Acceptance tests updated as behaviour in web3j has changed

Signed-off-by: Antony Denyer <git@antonydenyer.co.uk>

* Increase timeout for transaction receipt polling

Signed-off-by: Antony Denyer <git@antonydenyer.co.uk>

* web3j can't seem to encode empty lists

Signed-off-by: Antony Denyer <git@antonydenyer.co.uk>

* Increase timeout again! to 60s

Signed-off-by: Antony Denyer <git@antonydenyer.co.uk>

* Make retries consistent.

Signed-off-by: Antony Denyer <git@antonydenyer.co.uk>

* Fix merge from main

Signed-off-by: Antony Denyer <git@antonydenyer.co.uk>

Co-authored-by: mark-terry <36909937+mark-terry@users.noreply.github.com>
Co-authored-by: Sally MacFarlane <sally.macfarlane@consensys.net>
2021-08-12 09:29:09 +10:00
Jason Frame
47a3941467 Qbft to use validator contract (#2574)
Signed-off-by: Jason Frame <jasonwframe@gmail.com>
2021-08-05 12:11:29 +10:00
Lucas Saldanha
e19df06c92 PKI QbftContext and QbftBesuControllerBuilder update (#2604)
* Added PkiQbftContext

Signed-off-by: Lucas Saldanha <lucascrsaldanha@gmail.com>
2021-08-03 15:43:16 +12:00
Antoine Toulme
11f5cfb022 Upgrade to Apache Tuweni 2.0 (#2376)
* Upgrade to Apache Tuweni 2.0

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

* Remove intermediate repository

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

* Remove all occurrences of toBytes

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

* Migrate to tuweni-bytes

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

* add changelog

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

* correct reference tests

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

* Initial API changes

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

* more changes

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

* Change APIs for VM ops

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

* Use constant UInt256.ONE

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

* Optimize a bit address <> word transformation

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

* spotless

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
2021-07-17 00:15:27 +02:00
Usman Saleem
76a5887e00 Update qbft reference test submodule with SPDX header (#2153)
* Update qbft reference test submodule with SPDX header
* exclude submodule qbft reference-test docker_interop directory from spotless check

Signed-off-by: Usman Saleem <usman@usmans.info>
2021-04-19 13:59:41 +10:00
Jason Frame
bb1ad364a2 qbft roundchange metadata message encoding to match quorum (#2144)
Signed-off-by: Jason Frame jasonwframe@gmail.com
2021-04-15 16:44:01 +10:00
Jason Frame
a030235e3a Update qbft extra data encoding to match GoQuorum qbft encoding (#2039)
Signed-off-by: Jason Frame jasonwframe@gmail.com
2021-03-18 10:26:40 +10:00
Trent Mohay
fd2d1d9c17 Use scalars for consensus round encoding (#2002)
Signed-off-by: Trent Mohay <trent.mohay@consensys.net>
2021-03-11 17:43:37 +11:00
Daniel Lehrner
8315ba6dc6 Replacing the static references of SECP256K1 by an interface (#1933)
* Replacing the static references of SECP256K1 by an interface

Signed-off-by: Daniel Lehrner <daniel@io.builders>
2021-03-01 13:43:14 +13: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
Jason Frame
c05b0999ee qbft message RLP reference tests (#1860)
Signed-off-by: Jason Frame jasonwframe@gmail.com
2021-02-12 13:19:24 +10:00
Jason Frame
e54b76a3c7 Basic QIBFT integration tests (#1763)
Signed-off-by: Jason Frame <jasonwframe@gmail.com>
2021-01-08 17:08:35 +10:00
Trent Mohay
16cc4d8ac0 Create Qbft Statemachine (#1761)
Qbft Statemachine classes copied over from ibft, and specialised.

Signed-off-by: Trent Mohay <trent.mohay@consensys.net>
2021-01-08 16:59:19 +11:00
Trent Mohay
6dd89a534a Create Qbft Prepare and Commit messages (#1691)
This adds the Prepare and Commit messages used in the QBFT protocol, this is an incremental movement toward QBFT - and does not offer new functionality.

Signed-off-by: Trent Mohay <trent.mohay@consensys.net>
2021-01-05 13:02:10 +11:00