Add BFT-style transitions to Clique, modelled with ForksSchedule<CliqueConfigOptions>
Add ability to transition the blockperiodseconds config.
---------
Signed-off-by: Jason Frame <jason.frame@consensys.net>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Jason Frame <jason.frame@consensys.net>
* Add Besu version to DB metadata. Check for downgrades and reject if version < version recorded in DB metadata.
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Add --allow-downgrade CLI arg. If set it allows the downgrade and updates the Besu version in the metadata file to the downgraded version.
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Update gradle verification XML
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Add and update tests
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Refactoring
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Remove versioning from RocksDB, now in separate VERSION_DATADATA.json
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Tidy up and tests for the new class
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Move downgrade logic into VersionMetadata as BesuCommand is already very big
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Add more tests
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Refactor the naming of the option to version-compatibility-protection
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Remove remaining references to allow-downgrade
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Rename test
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Update comments
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Metadata verification update
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* gradle fix
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Enable version downgrade protection by default for non-named networks
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Fix default logic
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Update ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/VersionMetadata.java
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
* Update ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/VersionMetadata.java
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
* mock-maker-inline no longer needed
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
---------
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matt Whitehead <matthew.whitehead@kaleido.io>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Update tracing and evm tool
* Intrinsic gas is optional in EVMTool
* For call series, also charge the gas given to the next call level for debug_ series calls.
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
* Remove uses of org.jetbrains annotations
We have a mix of org.jetbrains.annotations.NotNull and
javax.annotations.Nonnull. Change all to the latter. Add an errorprone
check to enforce this.
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
* spotless
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
* spdx
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
---------
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Add a sender cache to Transaction.java, the senders and transactions' hashes are calculated when the transactions are decoded from the newPayload.
Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net>
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Change halt reason when contract creation fails due to collision or account already exists
Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
* Fix ATs
Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
* Add ILLEGAL_STATE_CHANGE to the list of hal reasons that must not be ignored when producing the vm trace
Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
* add changelog
Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
---------
Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
Store trielog as blobdb to improve performance.
* Store trie_log_storage as blob
* changelog
* Add gc flag for static data
* Updating plugin-api build.gradle with new hash as SegmentIdentifier interface has introduced new method
Signed-off-by: Usman Saleem <usman@usmans.info>
* When refreshing, only disconnect a peer if we have max peers
* If we are disconnecting a peer, disconnect the least useful peer
Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
Signed-off-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
* use existing NetworkUtility for PeerDiscoveryAgent pingpacket data filtering, add ipv6 check/fallback
* log at debug when we override pingpacket from
* use java native address parsing rather than lookup by host
Signed-off-by: garyschulte <garyschulte@gmail.com>
* add a method for the loggable id to standardise the length
* use same length as peer id for short enode method
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
---------
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
* not recompute hash if not needed
* Add memoize for the Supplier
* Modify hashcode to only process keccak when slotkey is not defined
* use single cache for keccak
Signed-off-by: Karim Taam <karim.t2am@gmail.com>
Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net>
Signed-off-by: ahamlat <ameziane.hamlat@consensys.net>
Signed-off-by: garyschulte <garyschulte@gmail.com>
Wire through configuration for the Prague fork, including speculative
PragueGasCalculator, precompiles, genesis options, and implied
forks in GenesisState.
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
* non-static logger for inheriting classes
* refactor to some classes and log messages to make snap sync logs make sense
* rename SnapsyncMetricsManage
* rename FastImportBlocksStep -> ImportBlocksStep
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
---------
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
* Enable limit on range of JSON-RPC API trace_filter method (#5971)
Enable a limit on the range of blocks that can be supplied to the
JSON-RPC trace_filter method.
The limit has a default value and can be overridden with a command
line option at start up.
Signed-off-by: alyokaz <alyoshakaz@live.co.uk>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
---------
Signed-off-by: alyokaz <alyoshakaz@live.co.uk>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>