* 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>
* build: Update jacoco version to 0.8.11
* build: Enforce Java 21 and above check for build
* CI: Use Java 21 in Github CI workflows
* CI: Use Java 21 in circleci workflows
* build: Update gradle verification metadata for jacoco 0.8.11
* refactor: Fix javadoc related warnings which are applicable to Java 21
* fix(test): BackwardSyncAlgSpec slightly increase timeout to pass it in CI
---------
Signed-off-by: Usman Saleem <usman@usmans.info>
grooyGradle to use greclipse 4.31 version. Refactor format properties files into gradle/spotless
---------
Signed-off-by: Usman Saleem <usman@usmans.info>
Publish to dockerhub on merge to the main branch
Signed-off-by: garyschulte <garyschulte@gmail.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Upgrade spotless to 1.22.0 and reformat.
This is required for Java21 support.
Signed-off-by: Danno Ferrin <danno@numisight.com>
Co-authored-by: Danno Ferrin <danno@numisight.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
* build: Remove incomplete artifactory task
The top level artifactory task was used to upload dists to artifactory which has been moved to GH
* build: Adding back top level publishing task
---------
Signed-off-by: Usman Saleem <usman@usmans.info>
Move Besu custom error-prone checks into its own repository and use it as an external dependency. This allows to move to a newer version of Google errorprone checks as well while cleaning up build.gradle file.
Key changes resulted due to this change:
* String toLowerCase and toUpperCase to use Locale.ROOT as argument
* Use interface such as List,Map or NavigatableMap instead of concrete class where appropriate.
* Simplify StringBuilder to plain String
* Suppress warnings where appropriate.
-----
Signed-off-by: Usman Saleem <usman@usmans.info>
* resumes publishing jars, but not distros to artifactory
* checkMavenCoordinateCollisions needs a publication with an explicitly set version, does not inherit project.version
---------
Signed-off-by: Justin Florentine <justin+github@florentine.us>
Co-authored-by: garyschulte <garyschulte@gmail.com>
* wildcard in place of task name in path, in case it gets changed.
* test splitting action is unreliable at these numbers of tests
* pin to new gradle action, increase runners
* found the missing tests, back to parity
* rename to avoid consolidation status collision with workflow name
* fixes javadoc checks at build time
* overrides project version on release, so embeds (startup info) will match release artifacts
---------
Signed-off-by: Justin Florentine <justin+github@florentine.us>
Co-authored-by: RoboCopsGoneSock <158174948+RoboCopsGoneSock@users.noreply.github.com>
Introduce a new Journaled World State Updater. Within a transaction it
keeps one copy of account and storage state, restoring previous
revisions on reverts and exceptional halts. This updater only supports
post-merge semantics with regard to empty accounts, namely that they do
not exist in world state.
Adds an EvmConfiguration option for stacked vs journaled updater, and
wire it in where needed. The staked updater is default mode, which is
the current behavior prior to this patch.
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
An omnibus of minor changes needed for t8n-server to work with the EFs
new execution-spec-tests framework
* Reduce logging output
* Fix json library mismatch between t8n and t8n-server
* Add hook to enumerate supported forks
* temporarily map Shanghai+6780 to Cancun
* add to main distro under 'evmtool' name
* No longer support the "protected" attribute in TXes
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
We need to replace previous release's latest tag. Might be broken due to a recent change in the docker command implementation
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
* add new class to reflection config
* move CLI output to be system-err oriented
* make logger in evmtool nop
* exclude some problematic jars from compilation
- mixed versions of bouncy castle
- netty initializations of log4j
* Standardize JSON ObjectMapper Construction
* Add some manual mappings
* Directly instantiate crypto algorithms where appropriate
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
- Print docker commands during upload and manifest creation
- Separate out docker push and docker manifest push commands for release
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
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>
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>
- Added missing javadocs so that javadoc doclint passes against JDK 17 (invoke by Besu gradle build).
- Exclude following packages from javadoc lint:
org.hyperledger.besu.privacy.contracts.generated
org.hyperledger.besu.tests.acceptance.*
- Temporarily exclude ethereum and evm submodule for doc lint checks.
- Run the javadoc task using GitHub actions (use Java 17) to report any javadoc errors during the PR builds
- Updating plugin-api build.gradle with new hash as javadoc comments caused it to change
Signed-off-by: Usman Saleem <usman@usmans.info>
As an example of usecase - this should make it easier to build linux/amd64 images on M1.
Signed-off-by: Jiri Peinlich <jiri.peinlich@gmail.com>
Signed-off-by: Jiri Peinlich <jiri.peinlich@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
When Integration tests were migrated to JUnit 5 the gradle configuration was not added.
Fix various tests that had broken in the meantime:
- NPEs when EnclaveEncryptorType was introduced
- Account for new future nonce restrictions in the txpool
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>