* 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>
Besu Ethereum Client
Besu is an Apache 2.0 licensed, MainNet compatible, Ethereum client written in Java.
Useful Links
Issues
Besu issues are tracked in the github issues tab. See our guidelines for more details on searching and creating issues.
If you have any questions, queries or comments, Besu channel on Hyperledger Discord is the place to find us.
Besu Users
To install the Besu binary, follow these instructions.
Besu Developers
- Contributing Guidelines
- Coding Conventions
- Command Line Interface (CLI) Style Guide
- Besu User Documentation for running and using Besu
Development
Instructions for how to get started with developing on the Besu codebase. Please also read the wiki for more details on how to submit a pull request (PR).
- Checking Out and Building
- Running Developer Builds
- Code Coverage
- Logging or the Documentation's Logging section
Release Notes
Special thanks
YourKit for providing us with a free profiler open source license.
YourKit supports open source projects with innovative and intelligent tools for monitoring and profiling Java and .NET applications. YourKit is the creator of YourKit Java Profiler, YourKit .NET Profiler, and YourKit YouMonitor.
