* re-emits correct block added event when reminding
* uprevs version of log bloom cache metadata to force regeneration on startup
Signed-off-by: Justin Florentine <justin+github@florentine.us>
modified flexibleutil so it works with dynamic byte arrays, some logs to remove
smart contracts adapted, changed bytecodes
solidity contracts changed so they use bytes instead of bytes32
modified flexibleutil to support ec keys
flexible privacy tests adapted
Signed-off-by: Miguel Rojo <miguelangel.rojofernandez@mastercard.com>
Signed-off-by: Miguel Angel Rojo <miguelangel.rojofernandez@mastercard.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
* Refactor to optimize pivot block selector on PoS networks
On PoS network we use a pivot block sent by the Consensus Layer, so we do
not need peers, and so all the logic for selecting the pivot block from peers
has been moved from FastSyncActions to PivotSelectorFromPeers.
We do not need anymore the TransictionPeerSelector, and the --fast-sync-min-peers
applies only to PoW networks.
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Refactor unverified forkchoice event
Renaming to make clear everywhere that the forkchoice is not verified, so
it will be clear in case there will be a future event for a verified forkchoice.
Finalized block hash no more optional.
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* RequestManager: Lessen penalty for late responses with request ID
If the communication with a peer uses the eth/66 protocol, requests have
an accompanying request ID. If the response to any of these requests was
late, we would disconnect and ban the peer mmediately. This is too
excessive a punishment.
A late response is typically already punished with a timeout before (too
many of which and we disconnect). This commit changes the immediate
banning of the peer to just considering the late response useless
(again, too many of which and we disconnect).
Note that in eth/65, the lack of a request ID would mean we would just
consider the late response to be useless (or process it anyway). This
commit therefore brings the punishment of late responses more in line
with what it used to be before request IDs were introduced.
Closes#4320
Signed-off-by: Pietje Puk <pietje@pietjepuk.net>
* PeerDenylistManager: Do not ban static/maintained peers
These types of peers are added manually by the user, and have a certain
trusted status. We should therefore not ban them.
Note that we will still disconnect from these peers when they exhibit
undesirable behavior (e.g. repeated timeouts). We will however continue
to reconnect to them.
Signed-off-by: Pietje Puk <pietje@pietjepuk.net>
Signed-off-by: Pietje Puk <pietje@pietjepuk.net>
Co-authored-by: Pietje Puk <pietje@pietjepuk.net>
Update the graphQL to be closer to the execution-api specs.
This is a departure from EIP-1767 but the core devs have made it clear
that the execution-apis repo is considered canonical, not the EIP.
Major changes:
* Add support for EIP-2930 access lists
* Add support for EIP-1559 fees
* Add transaction, block, receipt, and header raw rlp fields
* Add chainID as base level query
Some items are still fake (fee estimate, estimated tip).
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
* Log index is counted per block, not per transaction
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: mark-terry <mark.terry@consensys.net>
* Replace boolean return with BlockImportResult object
Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@consensys.net>
Co-authored-by: Gabriel Trintinalia <gabriel.trintinalia@consensys.net>
* Add Rpc method name when logging IOException
Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@consensys.net>
* Simplify syntax of the logged message
Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@consensys.net>
Co-authored-by: Gabriel Trintinalia <gabriel.trintinalia@consensys.net>
Add java module info to the manifests of the following libraries used by the Besu EVM
./crypto - org.hyperledger.besu.internal.Crypto
./ethereum/rlp - org.hyperledger.besu.internal.Rlp
./util - org.hyperledger.besu.internal.Util
./datatypes - org.hyperledger.besu.Datatypes
./evm - org.hyperledger.besu.Evm
./plugin-api - org.hyperledger.besu.PluginApi
Signed-off-by: Mustafa Uzun <mustafa.uzun@limechain.tech>
Change the "minimum" gas in the TangerineWhistleGasCalculator to use an
unsigned comparison, to ensure a larger signed value is not selected.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
* make transaction pool limits for sender based on pool size. default by sender is 5
move config into TransactionPoolOptions class
Signed-off-by: garyschulte <garyschulte@gmail.com>
* Create a new flag on RocksDB (--Xplugin-rocksdb-high-spec-enabled) for high spec hardware to boost performance.
Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net>
* Add more tracing logs to transaction pool
* Prevent adding non executable transactions and evict based on age
* Move sender account in TransactionsForSenderInfo
* Implement a size expiration cache for lowest invalid nonce for sender
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Justin Florentine <justin+github@florentine.us>
Co-authored-by: Justin Florentine <justin+github@florentine.us>
* reset engine QoS timer with every call to the engine API, ExchangeTransitionConfiguration mismatch will only submit a debug log not a warning anymore
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* Retry mechanism for block creation
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Update CHANGELOG
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Always keep 1 thread active in the computation executors
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Surface StorageException when building a block for finer filtering
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Log successful block created at info
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Reformat block proposal logs
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Remove test code
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Inject vertx dependency into EngineJsonRpcMethods instead of creating a new one.
Improves testability, before some tests failed with too many files open because vertx inside EngineJsonRpcMethods was not being closed on test's afterEach hook
Signed-off-by: Pedro Novais <jpvnovais@gmail.com>
* Quieter logging on wire-RLP Errors
When handling a top level RLP encoding error received over the wire we
shouldn't loudly complain about it but instead log it debug.
This particular wrapping handles the case where the top level response
is truncated or otherwise corrupt.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
* evict transactions from tail of senderAndNonce rather than just lowest price
* make pendingTransactions secondary sort based on timestamp rather than sequence id (to better prevent collisions for same gas price and sequence id)
Signed-off-by: garyschulte <garyschulte@gmail.com>
* adds a failure handler to all routes that will log failure exceptions with their message only. stacks can be printed by turning debug on.
Signed-off-by: Justin Florentine <justin+github@florentine.us>
* Add zeroBaseFee config for all consensus types
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
* Use ZeroBaseFeeMarket when zeroBaseFee is set
Introduce ZeroBaseFeeMarket overriding computeBaseFee with 0
Wire ZeroBaseFeeMarket into MainnetProtocolSpecs.londonDefinition when zeroBaseFee set
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
* Fix BaseFeeMarketBlockHeaderGasPriceValidationRule to allow syncing to work
Without this, rule would fail if syncing a chain with a non-zero baseFee
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
* Fix fast sync invalid block error
Occurred while testing clique in scenario where londonFork had a non-zero base fee, but zeroBaseFee flag was used to sync
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
* Update changelog
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
* Address review comments: Remove startup log
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
* Address review comments: replace isForkBlock with validationMode
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
* Address review comments: replace ZeroBaseFeeMarket instance check with validationMode
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
* Fix changelog
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
* Split validationMode into baseFeeValidationMode and gasLimitValidationMode
Since behaviour needs to differ between BaseFeeMarketBlockHeaderGasPriceValidationRule and GasLimitRangeAndDeltaValidationRule
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
* Update changelog
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Stacktrace can be retrieved by increasing the log level
Signed-off-by: Jiri Peinlich <jiri.peinlich@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>