This replaces io.tmio/tuweni with the Consensys fork.
Also Includes:
- reduce check argument args allocations - https://github.com/Consensys/tuweni/pull/10
which should reduce Integer and int[] and therefore gc pressure
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
* increase mainnet gas limit to 36M, remove unused gas limit calculator from BesuControllerBuilder
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* gas limit in SystemCallProcessor is independent of the block gas limit
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* update test to reflect gas limit increase from 30M -> 36M
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* remove unused gas limit check from previous commit
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* moved the target gas limit constant for testnets to the same class as the one for mainnet
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* fix tests
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
---------
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* add acceptance tests to verify that code delegations are persisted even if the tx itself fails
* set node to use bonsai, set correct nonce for code delegation, make sure revert in contract has the 2 necessary items on the stack
* Hive test fix: only add account if authority nonce is valid (0)
---------
Signed-off-by: Karim Taam <karim.t2am@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
* Add baseFeeUpdateFraction to blobSchedule genesis config
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* added genesis file for CodeDelegationTransactionAcceptanceTest
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* remove hard coded baseFeeUpdateFraction from CancunFeeMarket & PragueFeeMarket
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* make FeeMarket constructors package private
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
---------
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
* Update HISTORY_STORAGE_ADDRESS and HISTORY_SERVE_WINDOW for EIP-2935
https://github.com/hyperledger/besu/issues/8061
* Update HISTORY_STORAGE_ADDRESS and genesis code in tests.
Even for unrelated tests, this has a knock-on impact on the state root due to the history storage account being created when the BlockHashProcessor runs for block 1
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
This EIP was removed and equivalent functionality replaced by EIP-7840.
---
Revert "Rename targetBlobCount to targetBlobsPerBlock (#7981)"
This reverts commit 1671306749.
Revert "EIP-7742: Add target_blob_count to block header (#7808)"
This reverts commit f855d5b72f.
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Drive Cancun, Prague and Osaka target and max blobs per block from genesis config.
If blobSchedule is missing, use the mainnet default values.
Target is wired into appropriate *GasCalculator implementations.
Max is wired into appropriate *TargetingGasLimitCalculator implementations.
---------
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
decoupled parent block header from block creators
optionalized some fields of ProtocolSchedule constructor, which will allow us to reduce number of constructors later.
Refactored JsonBlockImporterTest so it can provide a BesuComponent
ProtocolScheduleBuilder optionalizes the default chainid
Blocks SubCommand is now Dagger aware
Creates but rarely uses ProtocolSpec and ProtocolSchedule modules. Deeper adoption pending.
Adds a Coinbase module with fixed values for use in testing.
Introduces an EthereumCoreComponent, to be used as a subcomponent of BesuComponent in the future.
Introduces a MiningParameters module with common static values used by tests. Removes MiningParameters static constructor.
---------
Signed-off-by: Justin Florentine <justin+github@florentine.us>
Signed-off-by: jflo <justin+github@florentine.us>
* 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>
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>
* For test node runners use provided data storage config
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
* Make the BFT soak mining tests use both Forest and Bonsai DBs
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
---------
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>