* Change test to tease NPEs during DefaultBlockchain.<init>() caused by initilization order
* fixup! Change test to tease NPEs during DefaultBlockchain.<init>() caused by initilization order
* move counters into their own method
Signed-off-by: Luis Pinto <luis.pinto@consensys.net>
* fix 7702 tx validation in tx pool
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* check that 7702 transactions always have a mandatory to field
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
---------
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
* feat: exported metrics for current finalized and safe block number
Signed-off-by: Jones Ho <jones.ho@consensys.net>
* Update ethereum/core/src/main/java/org/hyperledger/besu/ethereum/chain/DefaultBlockchain.java
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: jonesho <81145364+jonesho@users.noreply.github.com>
* Update ethereum/core/src/main/java/org/hyperledger/besu/ethereum/chain/DefaultBlockchain.java
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: jonesho <81145364+jonesho@users.noreply.github.com>
* fix: spotless issue
Signed-off-by: Jones Ho <jones.ho@consensys.net>
---------
Signed-off-by: Jones Ho <jones.ho@consensys.net>
Signed-off-by: jonesho <81145364+jonesho@users.noreply.github.com>
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* wrapped WorldUpdater into `EVMWorldupdater` to remove the authority code injection from the implementation of the actual world updaters
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* add CHANGELOG entry
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* first draft for 7702 v2
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* change return value of DelegatedCodeGasCostHelper
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* fix upfront gas cost calculation, fix setting code multiple times in MutableDelegatedCodeAccount
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* fix gas refund for delegated code when account already exists, added gas cost deduction for code delegation resolution to ExtCodeSizeOperation
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* allow accounts with delegated code to send transactions
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* add refund for already existing account after nonce check
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* resolve delegated code only the first time to avoid delegation loops
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* handle invalid authorization signatures properly
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* refactored CodeDelegationProcessor to compute authorizer of a code delegation after the chain id check
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* fix canSetDelegatedCode method by checking code how it is in the trie and not the resolved code
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* optimize code hash calculation for empty code, fix check for empty code delegation list
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* check the all code delegation signatures hava a valid s value
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* rename encoder & decoder, handle invalid signature values in T8nExecutor
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* create the signatures for code delegation authorizations in T8nExecutor without checking if they are valid to test them later during the tx execution
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* check that recid is either 0 or 1
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* fixed acceptance tests, renamed the the remaining instances of set code to code delegation
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* fix delegate encoder & encoder unit tests
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* spotless
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* changed empty check for delegated accounts, fixed test
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* fix hasDelegatedCode method when code is null
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* run acceptance tests without deamon
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* disable CodeDelegationTransactionAcceptanceTest to check if it is causing the stuck ci pipeline
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* check if shouldTransferAllEthOfAuthorizerToSponsor is causing pipeline to stall
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* check if shouldCheckNonceAfterNonceIncreaseOfSender is causing pipeline to stall
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* check if closing the cluster after every test is causing pipeline to stall
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* spotless
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
---------
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Co-authored-by: Danno Ferrin <danno@numisight.com>
* Remove tx from pool when its score is lower than a configured value
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Update besu/src/main/java/org/hyperledger/besu/cli/options/TransactionPoolOptions.java
Co-authored-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
* Check for below min score after the penalization
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
---------
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-authored-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
Updates the reference tests to 14.1, which mostly consists of removing
duplicate tests covered by execution-spec-tests or invalid tests from
EOF portions of the Prague tests.
Signed-off-by: Danno Ferrin <danno@numisight.com>
Separate out flex group privacy test since it requires differently configured dependencies.
test specific, inline module/component definitions
reusable module for providing mockable enclaves, besu commands, and genesis
dagger support for transaction simulation
dagger support for plugin setup
---------
Signed-off-by: jflo <justin+github@florentine.us>
Signed-off-by: Justin Florentine <justin+github@florentine.us>
* Plumb maxCode overriddes into EVM
Restore lost functionality: the maxcodesize and maxinitcodesize should
be plumed into the operations and validation rules when set.
Signed-off-by: Danno Ferrin <danno@numisight.com>
---------
Signed-off-by: Danno Ferrin <danno@numisight.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
* Include Commit-Hash in manifests
* Add commit method in BesuInfo
* Use 8 character hash in EngineGetClientVersionV1 and revert calculateVersion back to original spec
Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>
Co-authored-by: garyschulte <garyschulte@gmail.com>
* add metrics to measure the time for chain and world state sync
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: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Update the eof layout error codes to match codes in reference tests.
This includes support for multiple possible errors for a specific test.
Signed-off-by: Danno Ferrin <danno@numisight.com>
* EVMTool should respect --genesis option
Update the code so that the genesis file option will be respected when
set. Also, default --fork options should set a rational base fee.
Signed-off-by: Danno Ferrin <danno@numisight.com>
---------
Signed-off-by: Danno Ferrin <danno@numisight.com>
* Fix ClassCastException in DebugMetrics nested structures
This commit resolves an issue where Double values in nested metric
structures were incorrectly cast to Map objects, causing a
ClassCastException. The fix allows for proper handling of both
direct values and nested structures at the same level.
A comprehensive test case has been added to reproduce the bug and
verify the fix, ensuring that complex, dynamically nested metric
structures can be handled without errors.
Resolves: #7383
Signed-off-by: Ade Lucas <ade.lucas@consensys.net>
---------
Signed-off-by: Ade Lucas <ade.lucas@consensys.net>
Signed-off-by: garyschulte <garyschulte@gmail.com>
Signed-off-by: Snazzy <snazzysam933@gmail.com>
Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>
Signed-off-by: Matilda-Clerke <matilda.clerke@consensys.net>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: garyschulte <garyschulte@gmail.com>
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-authored-by: gringsam <snazzysam933@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Danno Ferrin <danno@numisight.com>
Co-authored-by: Matilda-Clerke <matilda.clerke@consensys.net>
Update the EOF validation error strings so that they can validate
against expected exceptions in reference tests.
Signed-off-by: Danno Ferrin <danno@numisight.com>
Add pending block header to TransactionEvaluationContext plugin API, so PluginTransactionSelector can access info of the pending block.
---
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-authored-by: Usman Saleem <usman@usmans.info>
* Reuse HardforkId in EvmSpecVersion
Move the HardforkId into datatypes and re-use the data in
EvmSpecVersion, keeping evm specific details in the evm and merging the
rest into datatypes.
Signed-off-by: Danno Ferrin <danno@numisight.com>
* Update evm/src/main/java/org/hyperledger/besu/evm/EvmSpecVersion.java
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Danno Ferrin <danno.ferrin@shemnon.com>
---------
Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Danno Ferrin <danno.ferrin@shemnon.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>