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>
* removed parallelisation of ATs and use xl executor
* use machine executor for privacy ATs only
* removed small executor since it's not used
* moved privacy ATs to nightly
* restore parallelisation for ATs but reduce number
---------
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
* 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>
There was a slight problem on the bonsai side because all account reads did not go through a single method. One of the two add the account to the cache but the other did not. This had two consequences:
Less good performance because certain accounts had to be read several times and also all account reads were not marked in the trielog. This will fix both problems.
Signed-off-by: Karim TAAM <karim.t2am@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>