* EIP-2935: Serve historical block hashes from state
Refactor the BlockHashOperation to move hash lookup into the
ProtocolSpec, and combine logic with beacon root storage.
Update t8n test to use block hash list in new format
Signed-off-by: Danno Ferrin <danno@numisight.com>
Author: Gabriel-Trintinalia gabriel.trintinalia@consensys.net
Co-authored-by: Danno Ferrin danno@numisight.com
Co-authored-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
* Upgrade reftests to 13.3
* Implement retroactive EIP-7610
We need to do both of these at once as the reference tests needed to be
updated to reflect the changes in the retroactive EIP.
EIPTests for prague are disabled as they are still in flux
Signed-off-by: Danno Ferrin <danno@numisight.com>
* change to full flat db and code stored by code hash by default
* deprecate --Xsnapsync-synchronizer-flat-db-healing-enabled, add DataStorageOption for --Xbonsai-full-flat-db-enabled
Signed-off-by: garyschulte <garyschulte@gmail.com>
* allow gasLimit configuration for transaction simulation
* revise unit test to reflect new behavior of rpcGasCap
Signed-off-by: Karim Taam <karim.t2am@gmail.com>
Signed-off-by: garyschulte <garyschulte@gmail.com>
Co-authored-by: Karim Taam <karim.t2am@gmail.com>
Remove an unused parameter in MainnetTransactionProcessor, as well as
all code supporting sending that parameter.
Signed-off-by: Danno Ferrin <danno@numisight.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
* fix default disabled for downgrade protection on named networks
implement comparable for VersionMetadata, add explicit coverage
Signed-off-by: garyschulte <garyschulte@gmail.com>
* test method rename
Signed-off-by: garyschulte <garyschulte@gmail.com>
* remove errant comment
Signed-off-by: garyschulte <garyschulte@gmail.com>
* do not use static version metadata, to facilitate unit tests
Signed-off-by: garyschulte <garyschulte@gmail.com>
---------
Signed-off-by: garyschulte <garyschulte@gmail.com>
Preparatory for EOF. Refactor the gas calculation logic so that it does
not depend on specific stack entries, and break out the pieces of the
calculation for readability.
Signed-off-by: Danno Ferrin <danno@numisight.com>
Co-authored-by: Justin Florentine <justin+github@florentine.us>
Co-authored-by: Danno Ferrin <danno@numisight.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>
Splitting Bonsai code: This commit aims to divide Bonsai into two packages
- Common Classes with a Prefix: The common part will include classes prefixed with "DiffBased." These classes are designed to provide a base for both Bonsai and any future storage format that might use this diff-based approach.
- Bonsai's Specifics: Bonsai will retain its unique features in its own package. This means that while it shares the diff-based infrastructure with the common part, it also has its own specific functionalities that are not shared with other storage format.
- Extension to Verkle: this modification add the possibility of adding "Verkle" as a new storage format based on the diff-based architecture. Like Bonsai, Verkle would use the common diff-based classes but also have its own specific features.
---------
Signed-off-by: Karim TAAM <karim.t2am@gmail.com>
Signed-off-by: Karim Taam <karim.t2am@gmail.com>
* Expose `v` field in JSON-RPC in some transaction types
The execution API marks the `v` field as optional for EIP-2930 and
EIP-1559 transactions, preferring the `yParity` feld. However, some
tooling still depends on the presence of the `v` field. For those two
transaction types both `v` and `yParity` will be returned now.
Signed-off-by: Danno Ferrin <danno.ferrin@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>
* allow empty blob gas for eth_call
* handle empty maxFeePerBlobGas by setting to blobBaseFee if empty
* set allowExceedingBalance if blobGas not specified
* added a test case for strict with zero blob gas
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
---------
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Justin Florentine <justin+github@florentine.us>
* use accessList in hash and equals
* add blob fields to callParams
* blob fields from callParam used in transaction simulator
* don't zero maxFeePerBlobs if not present
* add roundtrip callParam verification
* added a failure case test
* error conversion
* added some spec tests
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
---------
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>