Commit Graph

62 Commits

Author SHA1 Message Date
Matilda-Clerke
da98fa5541 Reintroduce engine get client version v1 with commit in manifest (#7548)
* 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>
2024-08-30 18:13:53 +00:00
Danno Ferrin
a851507cb3 evmtool was not respecting the --genesis option (#7518)
* 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>
2024-08-26 14:33:05 +10:00
Danno Ferrin
51335954c2 Reuse HardforkId in EvmSpecVersion (#7448)
* 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>
2024-08-16 04:02:26 +00:00
Karim Taam
30c96c7a1d Optimistic parallelization of transactions to improve performance (#7296)
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>
2024-07-19 09:11:30 -07:00
daniellehrner
895c17d5d2 EIP 7702 (#7237)
* EIP 7702 first draft

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* added CHANGELOG.md entry

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* bug fixes, added first tests

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* container verify GitHub workflow (#7239)

Container verification step in release process automated with the container verify GitHub workflow. New workflow is triggered at the end of the release workflow which will check the release container images starts successfully. Verification test only checks container starts and reach the Ethereum main loop

Signed-off-by: Chaminda Divitotawela <cdivitotawela@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Investigate chain halts when syncing (#7162)

Fix some reasons for chain download halts when syncing

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: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Check for EOFCreate subcontainer rules (#7232)

Check and test for the unused container rule, and only returncontract
targets can have truncated data rule.
Also test the other subcontainer rules in unit tests.

Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Remove deprecation message for `--Xp2p-peer-lower-bound` (#7247)

Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* less invasive code injection approach

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* added missing java doc & fixed test

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* added (currently non-working) acceptance test, some bug fixes in the transaction validation and tx pool logic

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fix spotless

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* updated acceptance test, still not working, newPayload request seems to be necessary before final fork choice update

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* use correct world state to inject temporary code, inject code in existing accounts as well

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* renamed test service to prague, because the engine versions used are only available in the prague hard fork

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fixed acceptance test, some bug fixes if authorized account does not yet exist

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add build version option to prefix git hash with custom version property (#7222)

* Add build version option to prefix git hash with custom version property
* Refactor to make appending the git hash a boolean property. Include a commented-out example of how to use the properties in the gradle file

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Handle invalid snap getTrieNode requests with empty paths gracefully (#7221)

Signed-off-by: Jason Frame <jason.frame@consensys.net>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fix typos in CHANGELOG (#7226)

Signed-off-by: Ties <71668189+TiesD@users.noreply.github.com>
Co-authored-by: Matt Nelson <85905982+non-fungible-nelson@users.noreply.github.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* feat: Add network option for LUKSO Mainnet (#7223)

* Add option for LUKSO network

Signed-off-by: Wolmin <lamonos123@gmail.com>

* Add tests for LUKSO

Signed-off-by: Wolmin <lamonos123@gmail.com>

* Apply spotless

Signed-off-by: Wolmin <lamonos123@gmail.com>

* Add changelog entry

Signed-off-by: Wolmin <lamonos123@gmail.com>

* Fix duplicate func

Signed-off-by: Wolmin <lamonos123@gmail.com>

* Fix changelog

Signed-off-by: Wolmin <lamonos123@gmail.com>

* Add bootnodes to genesis

Signed-off-by: Wolmin <lamonos123@gmail.com>

---------

Signed-off-by: Wolmin <lamonos123@gmail.com>
Signed-off-by: Wolmin <44748271+Wolmin@users.noreply.github.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update Docker base image to Ubuntu 24.04 (#7251)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Reconfigure how Protocol Specs are created WRT EVM condiguration (#7245)

Make the max code size and max initcode size a part of the EVM
configuration. As part of the change we need to move the tasks
CodeFactory once handled as a static class and move it into the EVM.
This has a nice follow on effect that we don't need to pass in max EOF
versions or max code sizes anymore.

Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Fix the wrong 'Identifier' and 'Synchronizer' usage (#7252)

* fix the synchronizer usage

Signed-off-by: Leni <leniram159@gmail.com>

* fix Identifier usage

Signed-off-by: Leni <leniram159@gmail.com>

---------

Signed-off-by: Leni <leniram159@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Fix flaky SECP256R1 test (#7249)

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* update to work with the new max retries value (#7253)

Signed-off-by: Justin Florentine <justin+github@florentine.us>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Temporary CancunEOF fork for EOF testing. (#7227)

Add Genesis ("CancunEOFTime") and reference test ("CancunEOF") support
for a temporary Cancun+EOF fork, in anticipation of potential devnets.

Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fixed bug introduced through merge of main, made acceptance test easier to understand

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* added missing java docs

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* removed unnecessary tag

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* make encodeSingleSetCode public again

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Snapserver responses to return at least one response (#7190)

Signed-off-by: Jason Frame <jason.frame@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* copy setCodeTransactionPayloads as well

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fixed bug during tests with forrest db

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Snapserver GetTrieNodes request to handle short hash for storage (#7264)

Signed-off-by: Jason Frame <jason.frame@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* javadoc: Adding javadoc for ethstats module (#7269)

* javadoc: Adding javadoc for ethstats module

---------

Signed-off-by: Usman Saleem <usman@usmans.info>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Fix javadoc for ethereum:core top level package (#7270)

* javadoc - Apply javadoc to ethereum core top level package

---------

Signed-off-by: Usman Saleem <usman@usmans.info>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Disable Flaky tests - permissioning (#7256)

* disable some flaky tests

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

* correct name for test

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

* formatting

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

* disable some flaky tests

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Usman Saleem <usman@usmans.info>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add bootnodes to the maintained peer list (#7257)

* Add bootnodes to the maintained peer list

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Update unit tests

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Add entry in changelog

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Tweak unit test

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Refactor to keep common steps the same for both cases

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Add debug log, call sanitizePeers() only once

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

---------

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Fix javadoc for ethereum api module, graphql package (#7272)

* javadoc - Adding missing javadocs ethereum:api graphql package

Signed-off-by: Usman Saleem <usman@usmans.info>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* T8n support for isStateTest and empty accounts (#7275)

Update t8n executor to support new isStateTest env flag that will
disable extra-transactional processing such as block rewards and beacon
root.
Also, make sure such extra-transactional commits don't create empty
accounts.

Signed-off-by: Danno Ferrin <danno@numisight.com>
Co-authored-by: Usman Saleem <usman@usmans.info>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Promote storage x-trie-log subcommand to trie-log (#7278)

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Evm tool readme update (#7274)

* update paths to binary. update docker build to use java 21
* updated suggested jdk

---------

Signed-off-by: Justin Florentine <justin+github@florentine.us>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* javadoc - Add missing javadoc for evmtool module (#7277)

Signed-off-by: Usman Saleem <usman@usmans.info>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Rename ValidatorPublicKey to ValidatorPubKey (#7280)

Adapt to EIP-7002 name change for validator public key in all places.

Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add info-level diagnostic logs to aid with resolving stalled BFT chains (#7271)

* Add info-level diagnostic logs to aid with resolving stalled BFT chains

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Add javadoc

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

---------

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matt Whitehead <matthew.whitehead@kaleido.io>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update EIP-2935 contract (#7281)

Use the updated contract and address for EIP-2539.

Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* add evmtool compability, fixing bugs related to sender recovery of 7702 txs and handling authorizations to empty accounts

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Deeper tracing of self-destructed accounts (#7284)

Consider previously self-destructed accounts when creating accounts.

Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* next release version after 24.7.0 (#7285)

Signed-off-by: garyschulte <garyschulte@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add experimental `--Xsnapsync-bft-enabled` which enables snap sync for BFT chains (#7140)

* Create a BFT-specific pivot block handler

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Change visibility

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Refactor sync-peer-count internal variable to match name, add experimental flag to enabled snap + BFT

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Merge with main

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Fix uppercase

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Address synchronization issue with trie pruning. Create BFT-specific account range handler. Add pipeline name and logs

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Remove debug log

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* fixing snapsync for empty state

Signed-off-by: Karim Taam <karim.t2am@gmail.com>

* Don't queue up events we can't handle

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Fix timing window where a validator with an empty data dir sometimes falls back to full sync if peer status isn't received quickly enough

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Remove BFT-specific account request class. Not needed

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Refactor some more 'fast' sync variables that are common to all pivot-based sync types

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* In FULL sync mode, disable bonsai-limit-trie-logs-enabled instead of failing to start

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Add javadoc comments, clarify overriding bonsai-limit-trie-logs-enabled

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Add BFT pivot block selector tests

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Fix failure error message

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Remove the unnamed Pipe constructor and update tests to set a pipe name

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Revert some info logs back to debug given the feedback on noise in the logs syncing with holesky

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Refactor fastSyncPivotDistance to syncPivotDistance

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Incomplete refactoring

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Update BFT event queueing tests

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Event queue test fixes

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Remove automatic setting of bonsai-limit-trie-logs-enabled to false if sync-mode = FULL (moving to another PR)

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

---------

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Karim Taam <karim.t2am@gmail.com>
Signed-off-by: Matt Whitehead <matthew.whitehead@kaleido.io>
Co-authored-by: Karim Taam <karim.t2am@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Turn off CicleCI for Besu (#7291)

All the CI jobs run in GitHub actions and Circle CI it no longer needed in Besu project

Signed-off-by: Chaminda Divitotawela <cdivitotawela@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Check for snap server (#6609)

* EthPeer add isServingSnap to be able to make sure that we have enough snap servers connected when we are snap syncing

Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Implement System Calls (#7263)

Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* wrap WorldUpdater inside a WorldUpdaterService to inject the authorized code whenever needed

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update limit trie logs validation message for sync-mode=FULL (#7279)

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>

Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Execute requests before block persist (#7295)

Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fixed MainnetTransactionProcessor retrieval of correctn `to` account with injected code, fixed code injection

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* only first authorization is accepted, all the following ones are ignored

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* don't cache account with empty code

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* revert wrapping of world updater, as its `updater()` method creates a type of nesting that is not compatible with wrapping it. Instead a service is injected in the world updater to inject the code into the authorized accounts

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Fixed outdated tech redirect link. (#7297)

* fix wiki link

Signed-off-by: Snazzy <snazzysam933@gmail.com>

* fix format

Signed-off-by: Snazzy <snazzysam933@gmail.com>

* change knownHash

Signed-off-by: Snazzy <snazzysam933@gmail.com>

---------

Signed-off-by: Snazzy <snazzysam933@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Increment private nonce even if transaction failed. (#6593)

Increment private nonce even if transaction failed

Signed-off-by: George Tebrean <george@web3labs.com>
Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
Co-authored-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
Co-authored-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* feat: Enhance --profile to load external profiles (#7292)

* feat: --profile can load external profiles
* fix external profile name method
* fix ProfilesCompletionCandidate
* test: Add unit tests
* changelog: Update changelog
* test: Fix TomlConfigurationDefaultProviderTest
* test: Fix BesuCommandTest

---------

Signed-off-by: Usman Saleem <usman@usmans.info>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Fix status badge for documentation (#7304)

Documentation has been moved to GitHub pages and no longer use readthedocs. Updated the README status badge for docs with correct link

Signed-off-by: Chaminda Divitotawela <cdivitotawela@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* [MINOR] Fixed some typos (#7299)

* typos

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* refactored to share one AuthorizedAccountService between the different instances of the world updater, renamed some classes

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* spotless

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* load code for authorization at the beginning of the transaction

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* ignore authorization if chain id doesn't match

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* cache authority address, evmtool: do not fail if sender address is wrong

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add evmtool block-test subcommand (#7293)

* Add evmtool block-test subcommand

Add an evmtool subcommand that will run non-hive blockchain tests.

Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Make the retrying snap tasks switching (#7307)

* make snap tasks switching

Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* 6612: Remove deprecated sync modes and related helper methods (#7309)

* 6612: Remove deprecated sync modes and related helper methods

Signed-off-by: Matilda-Clerke <matilda.shay.clerke@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* EOF Reference Test Fixes (#7306)

Fix a number of issues found in reference tests and evmone tests.

- Be tolerant of more nulls in json
- Support ContainerKind in reference tests
- re-order EXTCALL oeprands
- correct return value for REVERT in EXT*CALL
- re-order EOFCREATE code validation

Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* test template refactor, bump besu-native to 0.9.2 (#7315)

Signed-off-by: garyschulte <garyschulte@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Feature/use gnark-crypto for eip-2537 (#7316)

* use gnark-crypto for bls precompiles

Signed-off-by: garyschulte <garyschulte@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* 6612 update changelog with removed syncmodes (#7320)

* 6612: Update changelog with removal of deprecated sync modes

Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>

* 6612: Update changelog with removal of deprecated sync modes

Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>

* 6612: Update changelog with removal of deprecated sync modes

Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>

---------

Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update datacopy (#7319)

Check for OOG earlier in DataCopy.
Add unit tests to cover operation branches.

Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* disable flaky test (#7308)

* disable flaky test

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

* disable flaky test

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update unit test (#7317)

* Update parameterized unit tests so the enumerate with --dry-run
* Update the prague-withdrawal.json unit test to handle current code

Signed-off-by: Danno Ferrin <danno@numisight.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* persist accounts that have storage updates, but no nonce, balance nor code

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Revert "persist accounts that have storage updates, but no nonce, balance nor code"

This reverts commit 9c9121a115ecb09f1c3add1fff4da3b102f8b429.

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* removed PKI backed QBFT (#7310)

* removed PKI backed QBFT

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

* changelog

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* EIP-7251 add consolidation request type (#7266)

* add request type for consolidations, encoder, decoder and tests

* added raw tx for consolidation

* add consolidation reqs to EngineGetPayloadResultV4

* set storage slot value to 0 initially and value for tx

* updates plugin api

Signed-off-by: Justin Florentine <justin+github@florentine.us>

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Justin Florentine <justin+github@florentine.us>
Co-authored-by: Justin Florentine <justin+github@florentine.us>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fix: `eth_call` deserialization to correctly ignore unknown fields in the transaction object (#7323)

* fix: Use Builder for JsonCallParameter
* changelog
* add additional unit tests
* fix: Update builder to withGas to match the json eth_call
---------

Signed-off-by: Usman Saleem <usman@usmans.info>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Stop transaction selection on TX_EVALUATION_TOO_LONG (#7330)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* message frame buider will create AuthorizedCodeService by itsef if it isn't set

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* get correct nonce for authorization

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* nonce only returns a vaid nonce, new method nonceList returns all the nonces

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* plugs leaky abstraction

Signed-off-by: Justin Florentine <justin+github@florentine.us>

* some renaming, acceptance tests checks for exact balance of tx sponsor at the end.

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* inject the 7702 code into DiffBasedWorldStateUpdateAccumulator.createAccount

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* spotless

Signed-off-by: Justin Florentine <justin+github@florentine.us>

* spotless fix, removed todos

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* make AuthorityProcessor & chain id for it optional

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

---------

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Signed-off-by: Chaminda Divitotawela <cdivitotawela@gmail.com>
Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
Signed-off-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Jason Frame <jason.frame@consensys.net>
Signed-off-by: Ties <71668189+TiesD@users.noreply.github.com>
Signed-off-by: Wolmin <lamonos123@gmail.com>
Signed-off-by: Wolmin <44748271+Wolmin@users.noreply.github.com>
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Leni <leniram159@gmail.com>
Signed-off-by: Justin Florentine <justin+github@florentine.us>
Signed-off-by: Usman Saleem <usman@usmans.info>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Matt Whitehead <matthew.whitehead@kaleido.io>
Signed-off-by: garyschulte <garyschulte@gmail.com>
Signed-off-by: Karim Taam <karim.t2am@gmail.com>
Signed-off-by: Snazzy <snazzysam933@gmail.com>
Signed-off-by: George Tebrean <george@web3labs.com>
Signed-off-by: Matilda-Clerke <matilda.shay.clerke@gmail.com>
Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>
Co-authored-by: Chaminda Divitotawela <cdivitotawela@users.noreply.github.com>
Co-authored-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Danno Ferrin <danno@numisight.com>
Co-authored-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Co-authored-by: Matt Whitehead <matthew.whitehead@kaleido.io>
Co-authored-by: Jason Frame <jason.frame@consensys.net>
Co-authored-by: Ties <71668189+TiesD@users.noreply.github.com>
Co-authored-by: Matt Nelson <85905982+non-fungible-nelson@users.noreply.github.com>
Co-authored-by: Wolmin <44748271+Wolmin@users.noreply.github.com>
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-authored-by: leniram159 <leniram159@gmail.com>
Co-authored-by: Justin Florentine <justin+github@florentine.us>
Co-authored-by: Usman Saleem <usman@usmans.info>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: garyschulte <garyschulte@gmail.com>
Co-authored-by: Karim Taam <karim.t2am@gmail.com>
Co-authored-by: gringsam <snazzysam933@gmail.com>
Co-authored-by: George Tebrean <99179176+gtebrean@users.noreply.github.com>
Co-authored-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
Co-authored-by: Matilda-Clerke <matilda.shay.clerke@gmail.com>
2024-07-17 19:00:48 +00:00
Sally MacFarlane
223f1bc3bb EIP-7251 add consolidation request type (#7266)
* add request type for consolidations, encoder, decoder and tests

* added raw tx for consolidation

* add consolidation reqs to EngineGetPayloadResultV4

* set storage slot value to 0 initially and value for tx

* updates plugin api

Signed-off-by: Justin Florentine <justin+github@florentine.us>

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Justin Florentine <justin+github@florentine.us>
Co-authored-by: Justin Florentine <justin+github@florentine.us>
2024-07-16 00:44:06 +00:00
Gabriel-Trintinalia
7a5a3e0957 Minor improvements to EIP-7685 (#7142)
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
2024-05-28 07:55:38 +00:00
garyschulte
ebb883075f Feature/fleet mode rebase (#6641)
* fleet mode squash commit rebase

Signed-off-by: garyschulte <garyschulte@gmail.com>
2024-05-22 17:02:34 +00:00
Gabriel-Trintinalia
f9a61a0b83 EIP-7685 (#7068)
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Co-authored-by: Lucas Saldanha <lucascrsaldanha@gmail.com>
2024-05-15 10:47:43 +03:00
Usman Saleem
892fc5e3ae build: Add default constructor and javadoc for crypto, datatypes subprojects (#7069)
* javadoc - Adding default constructor and javadoc for :crypto
* javadoc - Adding default constructor and javadoc for :datatypes

---------

Signed-off-by: Usman Saleem <usman@usmans.info>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2024-05-08 01:15:30 +00:00
Usman Saleem
b121a5dd6d build - Fix gradle build for Java 21 (#7058)
* build - Fix gradle build for Java 21. Add compileOnly dependencies to allow gradle build to run against Java 21

---------

Signed-off-by: Usman Saleem <usman@usmans.info>
2024-05-07 11:48:03 +10:00
Usman Saleem
c8e80f701b build - Update license headers formatting (#7024)
Apply license header changes to following sub projects:
:datatypes :config

---------

Signed-off-by: Usman Saleem <usman@usmans.info>
2024-05-01 07:36:12 +00:00
Danno Ferrin
001080a72b Upgrade spotless to 1.22.0 (#6898)
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>
2024-04-09 04:12:56 +00:00
garyschulte
34fc5eed58 Snap server rebase (#6640)
* initial snap server implementation

Signed-off-by: garyschulte <garyschulte@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2024-03-29 19:27:33 -07:00
Usman Saleem
e954537fcc build - Refactor Besu custom error prone dependency (#6692)
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>
2024-03-27 06:17:40 +10:00
wellweek
2ce2a5546e chore: remove repetitive words (#6730)
Signed-off-by: wellweek <xiezitai@outlook.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2024-03-15 00:17:44 +00:00
Danno Ferrin
9ef48d4399 Remove uses of org.jetbrains annotations (#6558)
* Remove uses of org.jetbrains annotations

We have a mix of org.jetbrains.annotations.NotNull and
javax.annotations.Nonnull. Change all to the latter. Add an errorprone
check to enforce this.

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>

* spotless

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>

* spdx

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>

---------

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
2024-02-13 08:52:18 +10:00
Sally MacFarlane
0c122732c6 removed vintage junit dependency (#6296)
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-12-14 11:53:37 +01:00
Justin Florentine
488755a728 Cached blob txs (#6147)
* 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>
2023-11-15 08:56:42 -05:00
Danno Ferrin
228424215c Update RPCs for yParity (#6119)
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>
2023-11-06 17:47:12 -06:00
Fabio Di Fabio
6d100f30b7 Priority senders (#5959)
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-10-17 13:19:09 +02:00
Fabio Di Fabio
e946276d21 Use existing Bytes48 for KZGCommitment and KZGProof (#5997)
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
2023-10-10 21:39:32 +02:00
Danno Ferrin
13a934d6b8 Add parameters to EVM library fluent API (#5930)
Add the ability to configure more parameters in the fluent API.
Specifically contract address, coinbase, difficulty, mixHash/prevRandao,
baseFee, block number, timestamp, gas limit, previous block hashes, and
versioned hashes. Also create EVM forks parametrically instead of by 
a method name.

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
2023-10-04 19:35:36 -06:00
Gabriel-Trintinalia
10b956f75f Expose getSize to transaction interface (#5983)
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
2023-10-04 19:18:49 +11:00
Fabio Di Fabio
987d33c63a Use PendingTransaction in BlockTransactionSelector (#5966)
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
2023-10-02 10:41:21 +02:00
Stefan Pingel
cb82010868 set the beacon root address to the correct value (#5853)
Signed-off-by: Stefan <stefan.pingel@consensys.net>
2023-09-06 07:24:27 -04:00
Stefan Pingel
e3b01122f3 enforce that BlobTransactions have at least one blob (#5826)
* enforce that BlobTransactions have at least one blob

Signed-off-by: Stefan <stefan.pingel@consensys.net>
Signed-off-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
2023-08-31 09:42:32 +10:00
Matt Whitehead
9a0f35c1fe Add eth_getBlockReceipts() JSON/RPC method (#5771)
* Initial commit with new JSON/RPC method

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Update CHANGELOG.md

Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>

* Update unit tests to check receipts against generated blockchain transactions at runtime. Add getEthSerializedType() utility to TransactionType.

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Add spec JSON/RPC tests

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: Matt Whitehead <matthew1001@hotmail.com>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-08-24 11:59:40 +10:00
Daniel Lehrner
19c989a6d9 Add missing methods to transaction interface (#5732)
* added missing methods to transaction interface, created new AccessListEntry interface to add it to the transaction interface

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* CHANGELOG.md entry

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* added missing javadoc entry

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update datatypes/src/main/java/org/hyperledger/besu/datatypes/Transaction.java

Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update datatypes/src/main/java/org/hyperledger/besu/datatypes/Transaction.java

Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Make smart contract permissioning features work with london fork (#5727)

* Make smart contract permissioning features work with london fork

Override the transactionSimulator's default TransactionValidationParams with one that allows for exceeding the account balance (which effectively zeros the baseFee).
This mimics the way that eth_estimateGas and eth_call are implemented.
Similar change to #5277

Update ATs to use londonBlock (existing genesis allocs necessitate zeroBaseFee as well)

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>

* changelog
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>

---------

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Correctly cache the TransactionValidator instance on creation (#5726)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Reference tests 12.3 (#5733)

Update Reference Tests to 12.3
* fix decoding error
* add ignored field
* update module

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Return all not selected transactions, not only invalid ones. (#5711)

This way it is possible for the caller to have more data about the selection
process.

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Address import performance issues (#5734)

* ensure we are on a single tuweni version
* factor out an unneeded concatenate

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add type to PendingTransactionDetail (#5729)

* add type

* update changelog

---------

Signed-off-by: George Tebrean <george@web3labs.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Migrate to blobGas in execution-spec-tests (#5745)

Execution-spec-tests migrated from DataGas to BlobGas and checks for its
inclusion in tests now. Add needed support.

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* remove AccessListEntry interface and move its class to the datatypes module

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* add missing cost methods to interface, add method to get RLP of transaction

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* updating hash with updated reference tests

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* added missing javadocs

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fixed compiler errors in integration tests

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* retro blobGas name change into Transaction interface

Signed-off-by: garyschulte <garyschulte@gmail.com>

* removed methods from transaction interface which values can be derived through other means. Added new method encoded to return the encoded tx in Bytes instead of RLPOutput

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

---------

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: George Tebrean <george@web3labs.com>
Signed-off-by: garyschulte <garyschulte@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-authored-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Co-authored-by: George Tebrean <99179176+gtebrean@users.noreply.github.com>
Co-authored-by: garyschulte <garyschulte@gmail.com>
2023-08-23 00:19:52 +02:00
Stefan Pingel
47285a48f6 Eip4788 parentBeaconBlockRoot (#5758)
Implement EIP 4788
Unit tests need to be added
Implementation is working for test net 8, address of the contract will probably change
EIP 4788 is still not finalized. Some changes might be necessary.
 
Signed-off-by: Stefan <stefan.pingel@consensys.net>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-08-22 12:10:12 +10:00
Danno Ferrin
3b04f5cd27 Migrate DataGas to BlobGas (#5759)
In all places move from DataGas to BlobGas when talking about 4844 gas.

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
2023-08-18 17:39:33 -05:00
Danno Ferrin
fb3b262f1b Call operation performance optimizations (#5537)
* Call Operation performance improvements

- Move values that are the same or shared across the transaction to
  TxValues record
- Move warm and cold storage to undoable sets and tables.
- Move transient storage to undoable table.
- Move address hashing inside of address with a memoized field.
- lazy create EOF return stack

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
2023-08-08 16:58:28 -05:00
Danno Ferrin
403297b874 EIP-4844 testing support (#5702)
Add two new fields to reference tests (versionedHashes, maxFeePerDataGas)
Rename DataHash to BlobHash (to align with EIP4844 text)

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
2023-07-26 14:27:17 -04:00
Justin Florentine
1c099e8970 Consolidated EIP-4844 (#5724)
* Implements EIP-4844.

* introduces a Hardfork class to the protocol schedule system
* new Engine APIs required for CL to work on 4844
* new DataGas type for tracking block cost for 4844 data
* new VersionedHash type to reflect that a versioned hash is not quite a pure sha256
* incorporates wrapped jc-kzg library for KZG point evaluations
* New transaction type, and domain objects for constituent parts to represent the Blobs, KZGCommitments, and Proofs used for 4844
* RLP encoders and decoders to support new transaction type
* gas pricing calculators for the new type of gas
* plugin-api version was changed

Signed-off-by: Justin Florentine <justin+github@florentine.us>
Co-authored-by: Jiri Peinlich <jiri.peinlich@gmail.com>
Co-authored-by: Jason Frame <jason.frame@consensys.net>
Co-authored-by: garyschulte <garyschulte@gmail.com>
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
Co-authored-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Co-authored-by: Stefan <stefan.pingel@consensys.net>
Co-authored-by: spencer-tb <spencer@spencertaylorbrown.uk>

* junit5 updates

Signed-off-by: Justin Florentine <justin+github@florentine.us>

* update t8n test

Cancun gas claculator was inheriting from london, should have been shanghai.

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>

---------

Signed-off-by: Justin Florentine <justin+github@florentine.us>
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Co-authored-by: Jiri Peinlich <jiri.peinlich@gmail.com>
Co-authored-by: Jason Frame <jason.frame@consensys.net>
Co-authored-by: garyschulte <garyschulte@gmail.com>
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
Co-authored-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Co-authored-by: Stefan <stefan.pingel@consensys.net>
Co-authored-by: spencer-tb <spencer@spencertaylorbrown.uk>
Co-authored-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
2023-07-26 12:44:01 -04:00
Daniel Lehrner
1a087709ac Extend OperationTracer with new methods (#5662)
* Extend OperationTracer with new methods, create

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Rename ExtendedOperationTracer to BlockAwareOperationTracer

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fixed plugin api hash

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* added missing javadoc comments

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update evm/src/main/java/org/hyperledger/besu/evm/tracing/OperationTracer.java

Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Only update peer with the first and last block (#5659)

* only update peer with the first and last block

Signed-off-by: Stefan <stefan.pingel@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Put download links into CHANGELOG and do some clean up (#5660)

* put the download links for 23.4.4 into the CHANGELOG.md
* clean up CHANGELOG

Signed-off-by: Stefan <stefan.pingel@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add --amend to docker manifest create to fix docker latest tag (#5661)

We need to replace previous release's latest tag. Might be broken due to a recent change in the docker command implementation
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add Xlayered-tx-pool to the config log printout (#5665)

Unrelated: clarify epoch length in javadoc

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add hooks to AbstractCreateOperation for library users (#5656)

Add hooks for a successful contract create, a failed contract create,
and an invalid contact create. Users of the library will be able to
customize create responses without having to replace core logic.

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Test updates for cancun execution-spec-tests (#5670)

- support legacy V values (larger V value) and type 1+ (v is recId only)
- new fields
- shared transaction extraction
- rejection detection

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Upgrade BouncyCastle libraries (#5675)

Upgrade bouncy castle to v1.75.  This involved a change in maven
coordinates for other modules.

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Introduce transaction validator interface (phase 1) (#5673)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Only validate `--miner-enabled` option for ethash networks (#5669)

* Modify the min-gas-price option validation
* Check for whether ethash is in use, either from genesis or network config, and use that for miner checks
* Add genesis configuration isPoa() convenience function

---------

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by:  Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update tuweni2.4.2 (#5684)

* Revert "Revert "Update Tuweni to 2.4.1 (#5513)" (#5585)"

This reverts commit 6111e1bbc3.

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* update Tuweni to 2.4.2

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

---------

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Do not leak references to PendingTransactions (#5693)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* remove v0 version of the database (#5698)

Signed-off-by: Karim TAAM <karim.t2am@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* updated plugin api hash

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* spotless

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* updating plugin api hash

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* moved transcation interface to datatypes to use it in the OperationTracer.traceStartTransaction method

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fix import

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

---------

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Signed-off-by: Stefan <stefan.pingel@consensys.net>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
Signed-off-by: Karim TAAM <karim.t2am@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
Co-authored-by: Danno Ferrin <danno.ferrin@gmail.com>
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-authored-by: Matt Whitehead <matthew1001@gmail.com>
Co-authored-by: Antoine Toulme <antoine@lunar-ocean.com>
Co-authored-by: matkt <karim.t2am@gmail.com>
2023-07-20 13:17:24 +02:00
Antoine Toulme
901661cb4f Update tuweni2.4.2 (#5684)
* Revert "Revert "Update Tuweni to 2.4.1 (#5513)" (#5585)"

This reverts commit 6111e1bbc3.

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* update Tuweni to 2.4.2

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

---------

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
2023-07-11 22:26:32 -07:00
Sally MacFarlane
6111e1bbc3 Revert "Update Tuweni to 2.4.1 (#5513)" (#5585)
This reverts commit b96418143c.

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-06-13 13:12:23 +10:00
Sally MacFarlane
46009213b1 migrate to junit5 (#5572)
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-06-09 15:01:47 +10:00
Antoine Toulme
b96418143c Update Tuweni to 2.4.1 (#5513)
* update to 2.4.1

* update use of DNS daemon with Vertx

* fix issue with Bytes.repeat

* update antlr version

* fix dns tests

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

---------

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-06-09 12:31:20 +10:00
garyschulte
c85841d308 TrieLogFactory plugin support (#5440)
* TrieLogs in plugin data
* adds dagger-wired plugincontext and TrieLogService
* add getTrieLogByRange, TrieLogRangeTuple composition
---------

Signed-off-by: garyschulte <garyschulte@gmail.com>
2023-05-15 10:59:46 -07:00
Fabio Di Fabio
557c568c18 Update most dependecies to latest version (#5269)
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
2023-04-04 16:52:25 +02:00
Danno Ferrin
ebbc0df773 Reduce EVM module dependencies (#5285)
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>
2023-03-30 18:34:37 -05:00
naviechan
3aef587e78 EIP-6110: Add deposits in EL (Part 1) (#5055)
Add deposits to the Execution Layer block structure: EIP-6110. The scope of this commit is to add Deposit related info into BlockHeader and BlockBody. The rest of the EIP including RPC API and validating Deposit with be included in future PRs.

---------

Signed-off-by: Navie Chan <naviechan@gmail.com>
Signed-off-by: navie <naviechan@gmail.com>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
2023-03-28 17:30:23 +10:00
ahamlat
cdfc5796e2 Improve withdrawals processing performance (#5026)
* Improve withdrawals processing performance
* Add a changelog entry
* refactoring + remove the changelog entry as we have not change logs for the withdrawals

Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net>
2023-02-02 11:28:19 +01:00
Sally MacFarlane
7d04ed2e13 [MINOR] javadoc for kzg precompile (#4988)
* javadoc for kzg precompile

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
2023-01-24 13:21:22 +10:00
Justin Florentine
f8a0f87405 KZG point eval precompile (#4860)
* KZG implementation

Signed-off-by: Justin Florentine <justin+github@florentine.us>
2023-01-23 09:01:39 -05:00
Justin Florentine
42d67de5b7 Datahash opcode (#4933)
Implements new DATAHASH opcode in EVM

Signed-off-by: Justin Florentine <justin+github@florentine.us>
2023-01-20 08:12:29 -05:00
Fabio Di Fabio
6e8e24874f New excess_data_gas block header field (#4958)
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
2023-01-20 10:31:44 +01:00
Usman Saleem
9eb32836b7 Fix javadocs to allow build to pass in JDK 17 (#4834)
- Added missing javadocs so that javadoc doclint passes against JDK 17 (invoke by Besu gradle build).
- Exclude following packages from javadoc lint:
org.hyperledger.besu.privacy.contracts.generated
org.hyperledger.besu.tests.acceptance.*
- Temporarily exclude ethereum and evm submodule for doc lint checks.
- Run the javadoc task using GitHub actions (use Java 17) to report any javadoc errors during the PR builds
- Updating plugin-api build.gradle with new hash as javadoc comments caused it to change

Signed-off-by: Usman Saleem <usman@usmans.info>
2023-01-18 22:51:00 +10:00
Usman Saleem
1889b1b143 Withdrawals - Change amount type to GWei instead of Wei (#4935)
* Withdrawals - Change amount type to GWei instead of Wei
* Adding missing copyright header
* Fixing Unit tests

Signed-off-by: Usman Saleem <usman@usmans.info>
2023-01-17 13:16:24 +10:00