300 Commits

Author SHA1 Message Date
Danno Ferrin
b7c6ddf023 Upgrade Library Versions (#1092)
* Upgrade Library Versions

Upgrade library versions to most recent version

Exceptions:
* Errorprone - lots of new violations need fixing
  There will be a follow on PR for this.
* picocli - non-trivial conformance changes
* EthSigner&Orion - similar non-trivial API changes, plus it's only for
  integration testing
* Kubernetes - significant library revisions
* Web3j - Web3j changed some error semantics in 5.0 that broke 
  acceptance tests.  Expect an update in a follow on PR.

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2020-06-17 10:04:20 -06:00
Danno Ferrin
dc8215ef8f update spdx exclusions (#988)
SPDX checks shouldn't be done against jmh generated files.  Make it
generic so that the gradle/intellij favoured location of generated files
will never be a problem. These are also covered by `.gitignore` already.

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2020-05-28 10:43:49 +12:00
Usman Saleem
0b507475f4 Suppress netty warnings and exceptions in debug mode (#926)
- Add appropriate module options in the manifest file in gradle build. 

Signed-off-by: Usman Saleem <usman@usmans.info>
2020-05-18 11:55:18 +10:00
Danno Ferrin
272e35ca85 fix add-opens tpyo (#912)
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2020-05-12 16:05:49 -06:00
Danno Ferrin
4d1cf80d49 Reduce JPMS warnings (#909)
When deserializing some JSON-RPC requests jackson instantiates
OptionalLong in a way JPMS doesn't like.  Suppress that warning.

Fixes #798

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2020-05-12 10:15:09 -06:00
Danno Ferrin
0bbde72f47 Gradle 6.3 upgrade (#822)
* Change gradle version to 6.3
  * Enables Java 14
* clean up Gradle compatibility warnings
* fix stray dependency version

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2020-05-01 22:55:17 -06:00
Horacio Mijail Antón Quiles
823a0f2817 Store test logs in CI (#781)
* Capture test logs in CI

If test logs were saved, store them as CI artifacts

* Only keep logs for failed tests

* Catch tests who didn't define names into a generic filename

Signed-off-by: Horacio Mijail Anton Quiles <hmijail@gmail.com>

Co-authored-by: Sally MacFarlane <sally.macfarlane@consensys.net>
2020-05-01 08:24:20 +10:00
Danno Ferrin
912d125117 EvmTool - A CLI for ad hoc performance and fuzz testing (#786)
A standalone CLI that performs EVM execution with provided genesis
files and raw EVM bytecodes.

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2020-04-29 10:16:55 -06:00
Danno Ferrin
10d2c87647 Use native secp256k1 and altbn128 if present (#675)
Via JNA use native scep256k1 and altbn128 libraries. 

This is gated by two feature flags and is disabled by default.

* `--Xsecp256k1-native-enabled` enables native secp256k1 across all of besu
* `--Xaltbn128-native-enabled` enables native altbn128 in the precompiled contracts

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2020-04-22 12:43:47 -06:00
Antoine Toulme
ef5a465d71 Add splunk logging (#725)
* Add splunk logging

Co-Authored-By: Siegfried Puchbauer <siegfried.puchbauer@gmail.com>
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* Explicitly declare we rely on EPL 1.0 in our dependency to logback

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

Co-authored-by: Siegfried Puchbauer <siegfried.puchbauer@gmail.com>
2020-04-20 23:48:12 -07:00
Danno Ferrin
a4143dc410 Check to see if vertx response is closed before responding (#613)
Occasionally the other side of an HTTP connection will drop the
connection before we are done processing.  This results in a harmless
but annoying exception showing up in the log.  If we check before we
write we won't get that exception.

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2020-03-31 14:09:07 -06:00
Danno Ferrin
5e368dd7e6 Fix License Check (#568)
License reporting depends on the deprecated "compile" dependency in the
root project.  Restore that so that license checking can work.

Also clean out old unused license types and one unneeded dependency.

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2020-03-24 21:51:11 -06:00
Horacio Mijail Antón Quiles
93f54d0e37 Improving Acceptance Test logging (#399)
Signed-off-by: Horacio Mijail Anton Quiles <hmijail@gmail.com>
2020-03-24 17:19:17 +10:00
Lucas Saldanha
9fa9c858ea Private state update metadata and migration (#404)
(backport from release-1.4)
Private state update metadata and migration

Signed-off-by: Lucas Saldanha <lucas.saldanha@consensys.net>
2020-02-17 15:08:51 +13:00
Joshua Fernandes
21e02b12b7 adding the plugin-api javadoc jar at the root level (#378)
Signed-off-by: Joshua Fernandes <joshua.fernandes@consensys.net>
2020-02-12 10:49:16 -07:00
Sally MacFarlane
13b1ca6bae [MINOR] typo (#357)
* typo

Signed-off-by: Sally MacFarlane <sally.macfarlane@consensys.net>
2020-02-03 13:09:17 +10:00
Danno Ferrin
f224e9f5c0 Fix zip building (#327)
* Fix zip build

Currently building from a non-git checkout, such as a zip file, does not
work because of the way we calculate the git commit hash.  Add a catch
clause to return 8 "x"s in case the calculation fails.

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

* let the user know retrievial failed

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

* left in debugging code tripping the error

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2020-01-27 09:58:11 +01: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
e493b91742 Restore "FieldCanBeFinal" errorprone check (#287)
This was turned off a number of months ago because of long build times.
However it appears either because of code structure changes or fixed
errorprone that this finishes in a reasonable time now.

Code that violated this check is also fixed.

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2020-01-02 10:27:54 -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
9d33fda0d0 fixing the docker tags version (#248)
Signed-off-by: Joshua Fernandes <joshua.fernandes@consensys.net>
2019-12-11 10:26:32 +10:00
Edward
364834cdbd Remove last remnants of Jenkins tooling and configuration (#224)
Signed-off-by: Edward Evans <edward.joshua.evans@gmail.com>
2019-11-28 12:38:42 +10:00
Joshua Fernandes
1b24efa29f fix for docker login acr (#218)
Signed-off-by: Joshua Fernandes <joshua.fernandes@consensys.net>
2019-11-26 13:01:06 +10:00
Joshua Fernandes
9562c71db2 publish image to azure acr in addition to dockerhub (#217)
Signed-off-by: Joshua Fernandes <joshua.fernandes@consensys.net>
2019-11-26 11:25:28 +10:00
Joshua Fernandes
a6b2ec7460 updates to circle building acceptance tests (#184)
* updates to circle building acceptance tests
* added in a testDocker gradle target to test the docker image

Signed-off-by: Joshua Fernandes <joshua.fernandes@consensys.net>
2019-11-14 09:26:24 +10:00
Danno Ferrin
59096789ce Update Gradle to 6.0, support Java 13 (#180)
Upgrade Gradle to 6.0.
* This is needed as Gradle 5.x did not support Java 13
* Jacoco needed a version upgrade to support Java 13
* Upgrade Errorprone to fix some breaks
* Another Errorprone check is broken in 13
* The 'Finally' Errorprone check is only broken in Java 12
* JMH needed a version upgrade and a new build flag
* Switch to bin distribution for smaller builds

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2019-11-11 12:59:10 -07:00
Antoine Toulme
8b6cc6493a Move Apache Tuweni dependency to official release (#181)
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
2019-11-11 06:33:34 +10:00
Joshua Fernandes
2a72a3b51c adding in circle config (#143)
* adding in circle config to publish artifacts
* test results
* pr fixes

Signed-off-by: Joshua Fernandes <joshua.fernandes@consensys.net>
2019-10-31 15:48:30 +10:00
Danno Ferrin
e9b2dd24c9 Update dependencies (#112)
Upgrade dependencies except rocksdb (needs burn in testing),
picocli (reorders options), gradle (causes build server breakage), and
web3j (test failures).

* Awaitality removed a Duration object and instead uses java.time
* jackson stopped throwing a checked exception for one API
* spotless now enforces gradle formatting checks (yea!)

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2019-10-17 07:36:02 -06:00
Abdelhamid Bakhta
5e819febbd Add totalDiffculty to BlockPropagated events. (#97)
* Add totalDiffculty to BlockPropagated events.
The chain head block can be contentious with many fork blocks (ommers) propagating on the network.  We should add a totalDifficulty to make it easier to see which block is most likely the current head.
- added `BlockPropagated` interface in `plugin-api`.
- updated `BesuEvents.onBlockPropagated` method to take a `BlockPropagated` instead of a `BlockHeader`.
- created `BlockPropagatedSubscriber` in `BlockBroadcaster`.
- changed type of `BlockBroadcaster.blockPropagatedSubscribers` from `Consumer<Block>` to `BlockPropagatedSubscriber`.
- updated unit tests accordingly to all changes.
- updated known hash in `build.gradle` file of `plugin-api`: new value is `4SAeaZIJMsDvUK5Wp2RzU8TlHacslALnM/4yvVhsMtY=`

Signed-off-by: Abdelhamid Bakhta <abdelhamid.bakhta@consensys.net>
2019-10-10 17:10:24 +02:00
Danno Ferrin
8d7cd3bc08 Check for duplicate Maven coordinates (#75)
Add a build task that will enumerate all the maven publications and fail
the build if it detects that a duplicate maven coordinate would be used.

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

Signed-off-by: Lucas Saldanha <lucas.saldanha@consensys.net>
2019-10-02 21:40:52 +13:00
Joshua Fernandes
7f42a6e7ce removing azure artifacts and process (#66)
Signed-off-by: Joshua Fernandes <joshua.fernandes@consensys.net>
2019-09-30 18:11:34 +10:00
Abdelhamid Bakhta
aa264b3c0c Store db metadata file in the root data directory. (#46)
* Update version to 1.2.5-SNAPSHOT (#42)

Signed-off-by: Edward Evans <edward.joshua.evans@gmail.com>
Signed-off-by: Abdelhamid Bakhta <abdelhamid.bakhta@consensys.net>

* Store db metadata file in the root data directory
The database metadata file should be stored in the root data directory rather than the database subdirectory.
The database subdirectory is owned by the database itself and should not be directly manipulated by the node.
- first look in the data directory for the metadata file
- if the metadata file is found there, process it as normal
- if no metadata file is found in the root directory, look in the database subdirectory
- if the file is found here, copy it to the root directory, and run based on the root directory version

Signed-off-by: Abdelhamid Bakhta <abdelhamid.bakhta@consensys.net>

* add logs

Signed-off-by: Abdelhamid Bakhta <abdelhamid.bakhta@consensys.net>

* create database directory if database not detected

Signed-off-by: Abdelhamid Bakhta <abdelhamid.bakhta@consensys.net>

* change plugin API know hash

Signed-off-by: Abdelhamid Bakhta <abdelhamid.bakhta@consensys.net>
2019-09-24 18:38:36 +02:00
Edward Evans
8a95ff6e08 Re-enable Bintray publishing
Signed-off-by: Edward Evans <edward.joshua.evans@gmail.com>
2019-09-24 11:53:59 +10:00
Joshua Fernandes
0bd0df46ad fixing bintray repo name
Signed-off-by: Joshua Fernandes <joshua.fernandes@consensys.net>
2019-09-24 10:45:11 +10:00
Joshua Fernandes
bac5c673d3 Adding a spdx license check gradle task (#30)
* adding in spdx-license-identifier & updated check for the same; removing license check from spotless

Signed-off-by: Joshua Fernandes <joshua.fernandes@consensys.net>

* Change CheckSpdxHeader to a task.

Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-09-20 14:59:57 +10:00
Nicolas MASSART
829d865f3d update Cava library to Tuweni Library (#18)
Cava and Tuweni are the same thing but renamed when moved to Apache foundation

Signed-off-by: Nicolas <nicolas.massart@consensys.net>
2019-09-18 09:53:02 +02:00
Adrian Sutton
08fd8ddede Publish jars to Azure (#22)
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-09-18 14:52:09 +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
Trent Mohay
d5eeaced25 Split DSL out of Acceptance Tests, and into TestSupport (#1926)
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-09-13 12:11:09 +10:00
Edward
9856cd32b0 Ensure plugin-api module gets published at the correct maven path (#1905)
* Ensure `plugin-api` module gets published at the correct maven path
* Move `plugins` to `plugin-api`

Signed-off-by: Edward Evans <edward.evans@consensys.net>

Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-09-05 10:29:30 +10:00
Edward
9601f44ac8 Return the plugin-apis to this repo (#1900)
* Return plugin-api to the main repo
* Spotless
* Migrate all external plugin-api references to the project in this repo
* Add licence header
* Update repo reference for publish, even if commented
* Use real configuration for publishing plugin-api

This was tested with the
`:plugins:publishMavenJavaPublicationToMavenLocal` task and checking the
local Maven repo to make sure it was using the correct paths

Signed-off-by: Edward Evans <edward.evans@consensys.net>

Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-09-04 12:12:27 +10:00
Adrian Sutton
0a3785604e Stop autogenerating PantheonInfo.java (#1899)
The version is now read from a manifest file so there's nothing dynamic about the file.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-09-03 12:27:21 +10:00
Edward
911e674500 Update Jenkins build for docker publishing (#1841)
* Treat release branches the same as master

* Move docker-only variables into DockerImage block

* Change default docker image to pegasyseng/pantheon:$VERSION

* Push extra docker tags

Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-08-14 09:36:22 +10:00
Joshua Fernandes
9a16021a89 Removing the release plugin in favour of the new process with branches (#1843)
* removing the release plugin (& jenkinsfiles)and added a buildAlias


Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-08-12 22:04:16 -07:00
Joshua Fernandes
395a4b71b7 fixing the docker tags for releases (#1816)
use the release_version as the base tag for releases, then add 'latest' and 'develop'

Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-08-02 09:22:57 +10:00
Chris Mckay
6717c7c5dd Routine dependency updates (#1712)
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-07-17 17:31:21 +12:00
Danno Ferrin
ab6962b37f [PAN-2829] - add hooks for validation (#1671)
EIP-1602 specifies a new validation step.  Add hooks for those to occur.
Move contract size checking into the validation hooks.

Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-07-11 09:19:18 -06:00
Danno Ferrin
8ca333f2fe [PAN-2733] [PAN-2514] Java 11 updates (#1658)
* Update the build to require and target Java 11
* Add JVM flags to suppress specific illegal access warnings
* Remove Java 8 accommodations

Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-07-11 08:22:22 -06:00