* exclude permissioning test from default ATs run on PRs
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
---------
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
* Add new acceptance test to soak test BFT chains
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Spotless
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Tidy up a little with re-usable start and stop functions with built in delays
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Add shanghai version of Simple Storage contract
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Put commented gradle code back in. Fix the web3j example commands in .sol files
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Spotless
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Set publication artifacts to avoid clash
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Exclude from regular acceptance tests
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Add shanghai fork to the test. Stall the chain for less time to reduce the time taken to mine new blocks
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Tidy up
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Update acceptance-tests/tests/shanghai/build.gradle
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
* Tidy up var names
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Fix ports for IBFT2 as well as QBFT
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Remove maven publish spec, disable jar building for shanghai contract project
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* web3j version
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Make fixed port optional when creating a BFT node
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Only check artifact coordinates for those starting 'org.*'
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
---------
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
Signed-off-by: Matt Whitehead <matthew.whitehead@kaleido.io>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
* Split unit tests by time
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Parallelize compile and unit tests since there is not shared cache
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* fix
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Reduce ATs runnes to 10
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Apply suggestions from code review
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
---------
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
* Update Web3j dependencies
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Force old version of the solidity compiler to pass AT
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
---------
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump com.github.oshi:oshi-core to 6.4.10
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump com.github.tomakehurst to org.wiremock 3.3.1
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump com.google.auto.service:auto-service to 1.1.1
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump com.google.dagger group to 2.50
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump com.graphql-java:graphql-java to 21.3
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump com.splunk.logging:splunk-library-javalogging to 1.11.8
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump com.squareup.okhttp3:okhttp to 4.12.0
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump commons-io:commons-io to 2.15.1
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump dnsjava:dnsjava to 3.5.3
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump info.picocli group to 4.7.5
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump io.grpc group to 1.60.1
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump io.kubernetes:client-java to 18.0.1
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump io.netty group to 4.1.104.Final
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump net.java.dev.jna:jna to 5.14.0
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump org.apache.commons:commons-compress to 1.25.0
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump org.apache.commons:commons-lang3 to 3.14.0
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump org.apache.commons:commons-text to 1.11.0
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump org.apache.logging.log4j group to 2.22.1
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Redorder io.tmio group
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump org.assertj:assertj-core to 3.25.1
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump org.bouncycastle group to 1.77
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump org.fusesource.jansi:jansi to 2.4.1
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump org.immutables group 2.10.0
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump org.java-websocket:Java-WebSocket to 1.5.5
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump org.jetbrains.kotlin:kotlin-stdlib to 1.9.22
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump org.junit.jupiter group to 5.10.1
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump org.jupnp group to 2.7.1
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump org.rocksdb:rocksdbjni to 8.9.1
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump org.slf4j group to 2.0.10
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump org.springframework.security:spring-security-crypto to 6.2.1
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump org.testcontainers:testcontainers to 1.19.3
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump org.web3j group to 4.10.3
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Bump org.xerial.snappy:snappy-java to 1.1.10.5
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Regenerate gradle verification metadata
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Update commons-codec:commons-codec to 1.16.0
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Update org.junit.vintage:junit-vintage-engine to 5.10.1
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Update CHANGELOG
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
---------
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* 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>
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>
* 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>
* 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>
Update the greclipse version in spotless as directed by build errors
to reduce random formatting errors.
Also, update formatting to new version
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
* Upgrade OpenTelemetry
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* remove a single sleep, poll with a for loop instead
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* use the new approach to send trace requests
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
Co-authored-by: Sally MacFarlane <sally.macfarlane@consensys.net>
* require 3.1.15 of jnr-posix
* cover more bases with epl license
Signed-off-by: Sally MacFarlane <sally.macfarlane@consensys.net>
Co-authored-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
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>
* lots of errorprone fixes
* some license updates
* some mockito updates
* upgrade the rocksdb version
* Prometheus left at 0.9.0 as 0.10.0+ introduces OpenMetrics
related changes that break unit tests.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
* 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>
* 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>
* Permissioning: Add plugin extension point
Added plugin extension point to allow developers to write their
own implementation of `NodePermissioningProvider::isPermitted`
This will allow developers to implement their own interpretations of
things like on-chain permissioning.
Signed-off-by: Antony Denyer <git@antonydenyer.co.uk>
* refactor: rename NodePermissioningProvider::isPermitted
Interface will be used for other pemissioning needs
Signed-off-by: Antony Denyer <git@antonydenyer.co.uk>
* Permissioning: added hook for NodeMessagePermissioning
All message sent to a peer will call into isMessagePermitted
if providers have been registered through the plugin api
Signed-off-by: Antony Denyer <git@antonydenyer.co.uk>
* AcceptanceTests: test node nodePermissioningProvider
4 node cluster with permissioning blocking a direct between two nodes
and permissioning blocking transaction messages for a single node
Signed-off-by: Antony Denyer <git@antonydenyer.co.uk>
* fix: unit tests for NodePermissioningControllerFactory
Signed-off-by: Antony Denyer <git@antonydenyer.co.uk>
* fix: fat finger typo
Signed-off-by: Antony Denyer <git@antonydenyer.co.uk>
* fix: reduce likely hood of flakey test
Signed-off-by: Antony Denyer <git@antonydenyer.co.uk>
* fix: remove comment
Signed-off-by: Antony Denyer <git@antonydenyer.co.uk>
* fix: typos
Signed-off-by: Antony Denyer <git@antonydenyer.co.uk>
* fix: remove jitpack references
Signed-off-by: Antony Denyer <git@antonydenyer.co.uk>
* fix: tidy up EthPeerTest args
Signed-off-by: Antony Denyer <git@antonydenyer.co.uk>
* fix: update plugin hash check
Signed-off-by: Antony Denyer <git@antonydenyer.co.uk>
* fix: improve test reliability
Signed-off-by: Antony Denyer <git@antonydenyer.co.uk>
* refactor: move test-plugins out from besu/main into acceptance-tests
Signed-off-by: Antony Denyer <git@antonydenyer.co.uk>
* Make some adjustments to OpenTelemetry usage and default configuration
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Remove additional empty line
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Remove extra test - no assertions in it providing value
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* remove extra dependency
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* use dev, not default
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Add tracing support for internals and JSON-RPC
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Remove rocksdb tracing as it slows down execution too much
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Add B3 headers extraction on JSON-RPC requests
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Remove traces around trie tree as they slow down syncing significantly
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Add tracing to fast sync pipeline
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Add tracing for all pipelines
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Address code review
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Add acceptance tests and break out the shaded dependency
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Fix tracer id
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Revert changes to trie
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Upgrade otel to latest, remove old tracing
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Code review comments
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
Experimental backup and restore via `operator x-backup-state` and `operator x-restore-state` CLI commands. Besu needs to be in a non-operational state for the backup and restore to occur. Restore has only been tested into an empty database, not on top of an existing database.
This feature is not advised for production use at the moment.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
* Use non-blocking randomness for acceptance tests
This addresses entropy draining during unit tests.
* wait 30 seconds instead of 2 when killing AT processes
* mark NodeSmartContractPermissioningIbftStallAcceptanceTest as @Ignore since it has become reliably and specifically flakey.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>