We had two mostly idenitcal classes used for GraphQL and JsonRPC/WS.
This PR merges that to one class.
* Move from org.hyperledger.besu.ethereum.api.json.internal.queries to
org.hyperledger.besu.ethereum.api.query
* Add one method from the GraphQL version
(generateLogWithMetadataForTransaction)
* Remove graphql version and point graphql to the shared version.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
* 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>
Previously you could set an expectation for a balance with a decimal
string value, but not a hex string value. This was an error-prone
approach.
Signed-off-by: Meredith Baxter <meredith.baxter@consensys.net>
Marking can take longer than the time it takes to accumulate the blocks to satisfy these options. We make no guarantees that exactly the number of blocks in the options will be awaited/kept.
Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>
Fixes race condition between attaching the NodeAddedListener and some state from post marked block being persisted. We now prepare and cleanup the listener only once each, on start and stop respectively.
Other changes:
Start the Pruner before FullSyncDownloader. Luckily the downloader took enough time to start downloading that this wasn't an issue but it's safer this way.
Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>
Add a new CLI flag `--required-block` that takes a block number and a
block hash. Before using a peer for syncing we validate that the block
exists with the spcified hash at the peer.
For example `--required-block=6485846=0x43f0cd1e5b1f9c4d5cda26c240b59ee4f1b510d0a185aa8fd476d091b0097a80`
deals with the current Istanbul Ropsten chainsplit.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
Add an openjdk case to platform detector, changes client info from
`besu/v1.2.4/linux-x86_64/-ubuntu-openjdk64bitservervm-java-11`
to
`besu/v1.2.4/linux-x86_64/openjdk-java-11`
while preserving adoptopenjdk and oracle_openjdk cases.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
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>
We should not send a sync status for every forking block state update.
Yes, we send status updates for detected forks as well as new canonical
heads.
Instead we should send a synching message for status changes as well as
when we reorg the chain.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
* [PAN-3023] Add command line option for target gas limit
Signed-off-by: cfelde <cfelde@cfelde.com>
* [PAN-3023] Add command line option for target gas limit
Signed-off-by: Christian Felde <cfelde@cfelde.com>
* [PAN-3023] Add command line option for target gas limit
Signed-off-by: Christian Felde <cfelde@cfelde.com>
* [PAN-3023] Add command line option for target gas limit
Signed-off-by: Christian Felde <cfelde@cfelde.com>
[PIE-1858] Added functionality to register custom metrics categories and exposed some PoA data for metrics.
Signed-off-by: Mark Terry <mark.terry@consensys.net>
Adds integration tests to catch bug where the mark storage was being cleared before a mark began. Instead, the mark storage is now cleared upon preparing the mark sweep pruner
Fixes bug where the pending marks where not being checked while pruning was occurring. By removing the flush in sweepBefore, the existing tests catch the bug.
Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>
Default logging should be 'null' - which means that Besu will do nothing
to the Log4J2 logging levels and rely on the built in or user supplied
log4j2.xml configuration files to set up logging.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
* 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>
* introduce `VirtualOperation`
- add `isVirtualOperation` method to `Operation` interface: determines whether or not the operation has been virtually added to the contract code.
- default implementation of `isVirtualOperation` returns `false`
- create `VirtualOperation` that wraps a real `Operation` and returns `true` for `isVirtualOperation` method.
- change `constructor` of `EVM` to pass a `GasCalculator` used to create the `endOfScriptStop` and `invalidOperation` fields.
- change visibility of `EVM.operationAtOffset` to `package` for testing purpose. (add `VisibleForTesting` annotation)
- create `EVMTest` to test `operationAtOffset` method .
Signed-off-by: Abdelhamid Bakhta <abdelhamid.bakhta@consensys.net>