Commit Graph

27 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
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
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
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
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
f92cbdc389 Fix instanbul99 protocol messages being decoded as eth66 messages (#2697)
Signed-off-by: Jason Frame <jasonwframe@gmail.com>
2021-09-01 17:01:25 +10: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
Trent Mohay
108efb8b0b Move bft block header creation/validation to common (#1708)
Aspects of the consensus mechanism associated with block creation, and validation have been moved
from the IBFT package, into into consensus/common, such that they can be reused for the QBFT
implementation.

Signed-off-by: Trent Mohay <trent.mohay@consensys.net>
2021-01-05 15:36:39 +11: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
838f7aa5e0 Fix Gradle 7.0 compatibility issues and build warnings (#288)
Removes as many Gradle 7.0 compatibility issues as possible
* `baseName` -> `archiveBaseName`
* `extension` -> `archiveExtension`
* `destinationDir` -> `destinationDirectory`
* `runtime` -> `runtimeOnly`
* Change some log4j-api and log4j-core dependencies
* Remove an unneeded and outdated plugin (`net.ltgt.apt`)
* tweak the plugin-api change detector's property annotations.

Warnings still exist with one external plugin used for license file
checking that we do not control the source code for.

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2020-01-13 08:28:50 -07:00
Danno Ferrin
dfad8bff78 Update Dependencies (#281)
Update dependencies to most current version
 - except picocli which is a major version update
Alphabetize dependencies

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2020-01-01 20:42:13 +13:00
Antoine Toulme
ccefada736 Move to Apache Tuweni Bytes library (#215)
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2019-12-20 12:05:15 +10:00
Joshua Fernandes
d6a2394e2d Migrating Pantheon to Besu (#1945)
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-09-16 11:14:10 +10:00
Ratan Rai Sur
dedd6416ed [refactor] Make JSON-RPC and GraphQL share parent module (#1929)
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-09-13 16:00:18 +03:00
Danno Ferrin
cf2acc2a75 Refactor RocksDBStats (#1266)
Move RocksDBStats to it's own module.  This also brings metrics to
metrics:core since none of our other module have nested modules but
they have peer modules.


Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-04-12 21:15:33 -06:00
Rob Dawson
cdefb330be [PAN-2327] Notify of dropped messages (#1156)
* Added ability to subscribe to dropped transactions from the transaction pending pool.
Implemented subscription webservice to support this.
* Added metrics to the pending transactions, tracking the number of local and remote transactions in the pool.
* Converted listener management in pending transactions to use the Subscribers util object.

Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-03-28 20:25:15 +10:00
Rob Dawson
e107513069 Track added at in txpool (#1048)
* Store the instant that a pending transaction is added to the txpool, and expose this out through the api.
* Clock.systemUTC only used once.
* TestClock class added with a factory method for a fixed clock.

Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-03-07 19:22:00 +01:00
Adrian Sutton
bf710da941 Add metrics for EthScheduler executors (#878)
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-02-19 06:27:35 +10:00
Adrian Sutton
ccf0e0958e Revert "Add timer metrics for EVM operations (#551)" (#590)
Causes too much performance degredation. 

This reverts commit 525aa19d5075fa376341715c19a15152e1554642.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-01-17 16:46:15 +10:00
Adrian Sutton
aa9f4a0231 Add timer metrics for EVM operations (#551)
* Add timer metrics for EVM operations.

* Rename ProtocolScheduleBuilder to ProtocolScheduleFactory.

* Sort category names alphabetically.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-01-15 10:06:00 +10:00
Danno Ferrin
d4fff610c6 Dependencies Version upgrade (#303)
Upgrade dependency versions

* All version information is merged into one place
* Upgrade most version to their latest non-test version.
* dependencies are now sorted

Two dependencies were not upgraded:

errorprone - There are new checks that require build or source changes.
vertex - The license to eclipse 2.0 which is not in our current approved license list. 
    The change is trivial but for tracability it should be done alone.

Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2018-11-26 08:33:40 -07:00
Danno Ferrin
0716e6044b Update Client Version to be ethstats friendly (#258)
Update value returned by web3_clientVersion to be ethstats friendly

* Version part starts with a v
* SNAPSHOT builds report 32 bits of the git hash
* OS and architecture are sniffed out and reported
* JVM version and branding are sniffed out and reported

Example values (not all real):
pantheon/v0.9.0-dev-f800a0b1/osx-x86_64/oracle-java-1.8
pantheon/v0.9.0-dev-27960b57/osx-x86_64/zulu-java-11
pantheon/v0.9.0/linux-arm64/openjdk-java-12
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2018-11-14 08:08:45 -07:00
Adrian Sutton
0f364d4285 Add wrapper classes for config section of genesis file (#208)
* Introduce classes to wrap JSON config instead of accessing it directly in multiple places.

* Fix discrepancy in how CliqueProtocolSchedule and CliquePantheonController loaded the block period configuration.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2018-11-01 13:23:42 +10:00
Adrian Sutton
ce033eee55 [NC-1384] Disable mining while catching up to chain head (#125)
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2018-10-24 13:11:44 +10:00
Roberto Saltini
bb7b5423f6 [NC-1582] Moved all the legacy iBFT classes for block importing into the newly created ibftlegacy module (#96)
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2018-10-19 15:07:50 +11:00