* 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>
* 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>
* 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>
* ignore bws sync requests until initial sync is complete
* return failed Future when BWS is invoked but not ready
Signed-off-by: garyschulte <garyschulte@gmail.com>
use reference tests to validate trielog generation. Like that we will validate besu trielog generation for all of the tests we have in the references tests suite for past and future EIPs
---------
Signed-off-by: Karim Taam <karim.t2am@gmail.com>
* Change TrieLogPruner to implement a trieLogObserver
* Remove TrieLogPruner from TrieLogManager
* Remove NoOpTrieLogPruner now it is conditionally added as an observer
* Prune async using EthScheduler.servicesExecutor
---------
Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
* make the request for the ENR the default and try to recover the DiscoveryPeer for incoming connections from the PeerTable
Signed-off-by: Stefan <stefan.pingel@consensys.net>
Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
* add check for static peers to allow them to exceed the connection limit
* change logging disonnetction in EthPeers
* returning best peers only returns fully validated peers
Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
cleaning up the worldstate section, moving and renaming everything that is forest into a specific package in order to clarify the difference between Bonsai and Forest in the code.
---------
Signed-off-by: Karim Taam <karim.t2am@gmail.com>
Signed-off-by: matkt <karim.t2am@gmail.com>
* Sequenced pool synonym for legacy pool
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Class rename
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Spotless fixes
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Add SEQUENCED to config overview test
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Update CHANGELOG.md
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
* add a fix to load correctly the storage trie in the Bonsai WorldState (#6205)
revert some modification that was made to pass tests #5686 and fix this tests by loading the storage with EMPTY_TRIE_HASH if we detect that it has been cleared before pushing the new slots after recreation.
---------
Signed-off-by: Karim TAAM <karim.t2am@gmail.com>
---------
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
Signed-off-by: Karim TAAM <karim.t2am@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: matkt <karim.t2am@gmail.com>
Refactor some transaction calculations, including moving upfront
overflow checks from the constructor to the validator and optimizing
some RLP calculations. Also fix all lint errors.
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
* don't disconnect if peer has enough of a score increase to have been useful
* use threshold not increase
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
---------
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
* modifications to log messages for simplification
* for debug logs, only use the short ID not the full peer
* log timeouts and useless counts
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
---------
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
* basic test coverage
* blob caching on tx removal in legacy pool
* blob caching on tx removal in layered pool
* blob restoral in both legacy and layered implementations and test coverage of tx copy in builder
* refactors into reusable BlobCache, and rekeys on versioned hash
---------
Signed-off-by: Justin Florentine <justin+github@florentine.us>
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* updates static integration test so txs are committed to using mainnet trusted setup
* new static vectors for precompile checks
* moves trusted setup to main
---------
Signed-off-by: Justin Florentine <justin+github@florentine.us>
* Synchronize access to block header
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Add 'safe' version of getBlockHeader
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Move retry with lock into getChainHeadBlockHeader()
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Reinstate 'final' modifier
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
---------
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Add bool TX pool flag to allow TX selection to skip finding all TXs for the same sender
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Implement one approach to eliminating sender TX grouping. Note - this is WIP for discussion with others. Not sure this is the implementation we want.
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Make the no-sdr-grouping flag experimental, remove code no longer needed since https://github.com/hyperledger/besu/pull/6106 merged
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Update tests, tidy up empty lines
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Fix tests to be inline with recent sender-priority changes
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Address PR comments
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* More unit test updates
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Remove --Xtx-pool-disable-sender-grouping - the new legacy TX pool ordering removes the need for it
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Fix test merge error
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
---------
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Apply the same reverse sort order as https://github.com/hyperledger/besu/pull/6106 but to the base fee sorter
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Fix unit tests
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Update eviction unit tests to expect highest-sequence TXs be evicted first
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Update change log
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Spotless fixes
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
---------
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Reverse added order and sequence number
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Remove extraneous 'addedAt' check
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
---------
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Revert "Log missing chain head as warning, not trace (#6127)"
* leave chain head at warning, just revert the discard warning
Signed-off-by: garyschulte <garyschulte@gmail.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>