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>
* [#6204] Fix log index in transaction receipt
Signed-off-by: Wetitpig <winsto003@hotmail.com>
* Update CHANGELOG.md
Add to bug fixes.
Signed-off-by: Wetitpig <winsto003@hotmail.com>
* Update tests
Signed-off-by: Wetitpig <winsto003@hotmail.com>
* Directly sum log size with known index
Signed-off-by: Wetitpig <winsto003@hotmail.com>
* Minor change to gasUsed
Signed-off-by: Wetitpig <winsto003@hotmail.com>
* Place hash and index first
Signed-off-by: Wetitpig <winsto003@hotmail.com>
* Test without parallel()
Signed-off-by: Wetitpig <winsto003@hotmail.com>
* Rewrite header hash as map chain
Signed-off-by: Wetitpig <winsto003@hotmail.com>
---------
Signed-off-by: Wetitpig <winsto003@hotmail.com>
When the world state is not retrievable, instead of returning java.lang.reflect.InvocationTargetException in the from field and null in the to field in GraphQL, return an empty account with the address only.
Signed-off-by: Wetitpig <winsto003@hotmail.com>
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
* Add `rpc-gas-cap` to enable user to cap gasLimit of certain RPC methods
Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
---------
Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.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>
- Toggled with --Xbonsai-trie-log-pruning-enabled
- Introduces TrieLogPruner which loads a limited number of trie logs on startup to preload the pruner queue, based on loadingLimit with a default value of 30,000 blocks (configured with --Xbonsai-trie-log-pruning-limit).
- Each time a trie log is persisted it is added to the pruner queue and then the pruner is run against the queue, which will prune trie logs associated with block numbers below the --Xbonsai-trie-log-retention-threshold (default 512).
- Once the retention threshold is reached, each prune run should just be a single trie log.
- Prune any orphaned trielogs that were created during block creation.
- Don't prune non-finalized blocks for PoS chains.
---------
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
* 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>
Fix the flakeiness in EthGetTransactionByHashTest as well as some other
sonar identified cleanup.
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
* Delete leftPad when capturing the stack before and after the execution
* Still use leftPad when displaying the stack in the output (ex. for debug_traceTransaction)
* Fix integration test
* Use StringBuilder to left pad the hex representation of a 32 bytes
Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net>
* 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>
Update the GraphQL and JSON-RPC endpoints to provide `yParity` instead
of `v` for non-legacy transactions.
Update the JSON-RPC tests to use the Hive data. Add tests for Shanghai
and Cancun Blocks.
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.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>
* Accept input or data as payload for RPC calls
Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
* Add json new rpc valid and invalid request to test the changes
Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
* Change JsonCallParameter signature to avoid duplicating constructor
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>
* feat: add a way to read memory without altering the word capacity
* add tests
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Signed-off-by: Franklin Delehelle <franklin.delehelle@odena.eu>
* Fix read-past-end
* Do not abuse method overload
* Update CHANGELOG.md
Signed-off-by: delehef <github@odena.eu>
Signed-off-by: Franklin Delehelle <franklin.delehelle@odena.eu>
* add tests for MessageFrame.shadowReadMemory
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Signed-off-by: Franklin Delehelle <franklin.delehelle@odena.eu>
* Straddled reads tests
Signed-off-by: Franklin Delehelle <franklin.delehelle@odena.eu>
---------
Signed-off-by: Franklin Delehelle <franklin.delehelle@odena.eu>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Signed-off-by: delehef <github@odena.eu>
Signed-off-by: delehef <franklin.delehelle@odena.eu>
Co-authored-by: Daniel Lehrner <daniel.lehrner@consensys.net>