* create separate signature class for code delegations as they have different bound checks
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* test if increasing xmx let's failing acceptance test pass
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* javadoc
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
---------
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
* 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>
For tests that have a native/java switch ensure that the java path gets
the same tests native paths do.
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Danno Ferrin <danno@numisight.com>
Optimistic transaction parallelization execution during block processing to improve the performances. This feature can enabled with a flag --Xbonsai-parallel-tx-processing-enabled=true
Signed-off-by: Karim Taam <karim.t2am@gmail.com>
Co-authored-by: Ameziane H <ameziane.hamlat@consensys.net>
Co-authored-by: garyschulte <garyschulte@gmail.com>
Upgrade spotless to 1.22.0 and reformat.
This is required for Java21 support.
Signed-off-by: Danno Ferrin <danno@numisight.com>
Co-authored-by: Danno Ferrin <danno@numisight.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Move Besu custom error-prone checks into its own repository and use it as an external dependency. This allows to move to a newer version of Google errorprone checks as well while cleaning up build.gradle file.
Key changes resulted due to this change:
* String toLowerCase and toUpperCase to use Locale.ROOT as argument
* Use interface such as List,Map or NavigatableMap instead of concrete class where appropriate.
* Simplify StringBuilder to plain String
* Suppress warnings where appropriate.
-----
Signed-off-by: Usman Saleem <usman@usmans.info>
* Add RockDB Subcommand for printing usage per column family
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
* changed output to follow a MD table notation.
Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
---------
Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
Co-authored-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
* add new class to reflection config
* move CLI output to be system-err oriented
* make logger in evmtool nop
* exclude some problematic jars from compilation
- mixed versions of bouncy castle
- netty initializations of log4j
* Standardize JSON ObjectMapper Construction
* Add some manual mappings
* Directly instantiate crypto algorithms where appropriate
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Refactor crypto, datatypes, and plugin-api to reduce plugin APIs in the EVM.
Split crypto into crypto services and crypto algorithms
Reverse the dependency between datatyps and plugin-api.
Remove plugin Hash and Address types (use datatypes)
Move PublicKey and Quantity into datatypes.
Lots of changes to imports and build files, and some fromPlugin calls removed.
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Danno Ferrin <danno.ferrin@shemnon.com>
Co-authored-by: Justin Florentine <justin+github@florentine.us>