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>
* Don't put NONCE_TOO_LOW transactions into the invalid nonce cache
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Update unit tests
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Use list of errors to ignore
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
---------
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matt Whitehead <matthew1001@gmail.com>
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Switch from using a List to a HashSet for transaction hashes in GetPooledTransactionsFromPeerTask to improve performance.
Signed-off-by: Suyash Nayan <suyashnyn1@gmail.com>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
change Transaction Validation and Selection Plugin to make them more useful
Signed-off-by: Stefan <stefan.pingel@consensys.net>
Signed-off-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
Co-authored-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
* re-ordering error reporting priority
* fixes fork checking on getPayload
* adds acceptance test reproducing an issue where built blocks have proofs > txs
* test coverage and fix for subtle re-org bug prior to proposals
---------
Signed-off-by: Justin Florentine <justin+github@florentine.us>
* add plugin API to enable plugins to validate transaction before they are added to the transaction pool
Signed-off-by: Stefan <stefan.pingel@consensys.net>
* updated plugin version
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
---------
Signed-off-by: Stefan <stefan.pingel@consensys.net>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>