Skip to content

Commit

Permalink
Cherry-pick main into release 22.10.x (hyperledger#6064)
Browse files Browse the repository at this point in the history
* Expose getSize to transaction interface (hyperledger#5983)

Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* Add parameters to EVM library fluent API (hyperledger#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>

* Validation ordering (hyperledger#5986)

* re-ordering error reporting priority
* fixes fork checking on getPayload
* adds acceptance test reproducing an issue where built blocks have proofs > txs
* test coverage and fix for subtle re-org bug prior to proposals
---------

Signed-off-by: Justin Florentine <justin+github@florentine.us>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* [4844] EngineNewPayload - Add Blob Count validation (hyperledger#5973)

Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* Plugin Api - Add evaluateTransactionPostProcessing to TransactionSelector interface (hyperledger#5988)

Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* Only use the builder to create transactions (hyperledger#5980)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* Bump version to 23.10.1-SNAPSHOT (hyperledger#5990)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* hive tests explicitly attempt zero (hyperledger#5993)

Signed-off-by: Justin Florentine <justin+github@florentine.us>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* add plugins summary (hyperledger#5964)

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* Tests for GraphQL Cancun fields (hyperledger#5975)

* Tests for GraphQL Cancun fields

Add tests for GraphQL fields added to support cancun.
Also, re-work test case inclusion code and update tests impacted by
adding a new block to the chain.

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

* unneeded deltas in genesis file

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

---------

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* [Plugin API] - Simplify plugin transaction selector interface to return object instead of list (hyperledger#5995)

Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* Change Array Copying (hyperledger#5998)

* Change Array Copying

Change array copying by re-using arrays when safe.

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

* spotless

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

* different bigint API

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

* straddle case

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

* less stack traces

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

* spotless

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

---------

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* [Plugin API] - TransactionSelector - Notify plugins when transaction is selected/rejected (hyperledger#6005)

Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* Base EIP-6110 on top of Cancun (hyperledger#5752)

This is to base the existed implementation of EIP-6110 from Shanghai to Cancun. As well, it updates the implementation according to the latest Engine API specification.

Changes include:
-  Remove 6110 related changes from engine_newPayloadV2 and engine_getPayloadV2
-  Rename deposits to depositReceipts in EnginePayloadParameter
-  Introduce engine_newPayloadV6110 and engine_getPayloadV6110 that are based on engine_newPayloadV3 and engine_getPayloadV3
-  Revamp the existed 6110 acceptance test

---

Signed-off-by: Navie Chan <naviechan@gmail.com>
Signed-off-by: naviechan <adrninistrator1@protonmail.com>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* add method to disable root verification for T8n and not Reference tests (hyperledger#6013)

* add method to disable root verification for T8n and not Reference tests

Signed-off-by: Karim TAAM <karim.t2am@gmail.com>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* Transaction detachedCopy to optimize txpool memory usage (hyperledger#5985)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-authored-by: Justin Florentine <justin+github@florentine.us>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* Use existing Bytes48 for KZGCommitment and KZGProof (hyperledger#5997)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* [Plugin API] - TransactionSelector - Send TransactionSelectionResult to the plugin when not transaction is not selected (hyperledger#6010)

Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* Update 23.10.0 changelog (hyperledger#6017)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* Transaction Validation and Selection Plugin API update (hyperledger#6020)

change Transaction Validation and Selection Plugin to make them more useful

Signed-off-by: Stefan <stefan.pingel@consensys.net>
Signed-off-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
Co-authored-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* Force the use of jdk18 version of Bouncy Castle library (hyperledger#5748)

This avoid that any dependency can include the jdk15 version in the distribution.
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* remove code duplication (hyperledger#6028)

Signed-off-by: Stefan <stefan.pingel@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* docs: fix typo (hyperledger#6029)

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: vuittont60 <vuittontvuittont50@outlook.com>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* Standardize pubkey and public key naming in deposit (hyperledger#6012)

---------

Signed-off-by: naviechan <adrninistrator1@protonmail.com>
Signed-off-by: Navie Chan <naviechan@gmail.com>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* Optimize Eth_feeHistory RPC method (hyperledger#6011)

* Add a cache to EthFeeHistory and improve rewards algorithm
* cache the rewards by hash instead of block number
* Add final on some fields

Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* Cache last blocks data (block headers, block bodies, transactions' receipts and total difficulty) (hyperledger#6009)

* Add a flag --cache-last-blocks to cache last n blocks, The default value is 0

Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* Sort only once rewardPercentiles instead of doing it for each block header (hyperledger#6035)

Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* link to issue 5772 (hyperledger#6038)

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* fix incorrect argument passing in blockParameter of TraceCallMany class (hyperledger#6034)

Signed-off-by: seongmin <sungmin7465@gmail.com>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* Fix 23.10.0 Breaking Changes changelog entry (hyperledger#6040)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* Priority senders (hyperledger#5959)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* Fcu v2 defer fork validation (hyperledger#6037)

* more error handling

---------

Signed-off-by: Justin Florentine <justin+github@florentine.us>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* Fix typos (hyperledger#6036)

Signed-off-by: shuoer86 <129674997+shuoer86@users.noreply.github.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* Add X (Twitter) to README, Fix Roadmap Hyperlink (hyperledger#6047)

* Add X to README, Fix Roadmap Hyperlink

Signed-off-by: David Cardenas <47157243+davidcardenasus@users.noreply.github.com>

* Update README

Signed-off-by: David Cardenas <47157243+davidcardenasus@users.noreply.github.com>

* Update README

Signed-off-by: David Cardenas <47157243+davidcardenasus@users.noreply.github.com>

---------

Signed-off-by: David Cardenas <47157243+davidcardenasus@users.noreply.github.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* Unsigned timestamps and blob gas used (hyperledger#6046)

* lots of places an unsigned timestamp is a problem
* adds unchecked annotations to OptionalUnsignedLong rpc parameter type

---------

Signed-off-by: Justin Florentine <justin+github@florentine.us>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* [MINOR] ux improvements (hyperledger#6049)

* log command line option that is affected

* made plugins summary log part of config overview

* check for null plugin context

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

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* Update changelog release (hyperledger#6062)

Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* Dencun corner cases (hyperledger#6060)

* cherry pick changes from https://github.com/hyperledger/besu/pull/6054/files\#diff-22b78733e37a697fa8d1d8a02d2a87fe5ccea9cf67c34ce5e6311f024c14abd6L643-R738

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

* cherry pick changes from https://github.com/hyperledger/besu/pull/6054/files\#diff-61db834b59eae5ce5c438462505de1add8fa244deda830742060d15f668a9806R39-R44

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

* formatting

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

* update the EIP-6110 acceptance tests

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

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Co-authored-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

* Update changelog and gradle properties to next release

Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>

---------

Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Justin Florentine <justin+github@florentine.us>
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Navie Chan <naviechan@gmail.com>
Signed-off-by: naviechan <adrninistrator1@protonmail.com>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Karim TAAM <karim.t2am@gmail.com>
Signed-off-by: Stefan <stefan.pingel@consensys.net>
Signed-off-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net>
Signed-off-by: seongmin <sungmin7465@gmail.com>
Signed-off-by: shuoer86 <129674997+shuoer86@users.noreply.github.com>
Signed-off-by: David Cardenas <47157243+davidcardenasus@users.noreply.github.com>
Co-authored-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Co-authored-by: Justin Florentine <justin+github@florentine.us>
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: NC <adrninistrator1@protonmail.com>
Co-authored-by: matkt <karim.t2am@gmail.com>
Co-authored-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
Co-authored-by: vuittont60 <vuittontvuittont50@outlook.com>
Co-authored-by: ahamlat <ameziane.hamlat@consensys.net>
Co-authored-by: seongmin <sungmin7465@gmail.com>
Co-authored-by: shuoer86 <129674997+shuoer86@users.noreply.github.com>
Co-authored-by: David Cardenas <47157243+davidcardenasus@users.noreply.github.com>
Signed-off-by: Justin Florentine <justin+github@florentine.us>
  • Loading branch information
13 people committed Nov 10, 2023
1 parent 09150aa commit c81e86e
Show file tree
Hide file tree
Showing 149 changed files with 3,758 additions and 1,727 deletions.
27 changes: 22 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
# Changelog

## 23.10.1
- Cache last n blocks by using a new Besu flag --cache-last-blocks=n [#6009](https://github.com/hyperledger/besu/pull/6009)
- Optimize performances of RPC method Eth_feeHistory [#6011](https://github.com/hyperledger/besu/pull/6011)

### Breaking Changes

### Deprecations
- `--tx-pool-disable-locals` has been deprecated for removal in favor of `--tx-pool-no-local-priority`, no semantic change, only a renaming [#5959](https://github.com/hyperledger/besu/pull/5959)

### Additions and Improvements
- New option `--tx-pool-priority-senders` to specify a list of senders, that has the effect to prioritize any transactions sent by these senders from any source [#5959](https://github.com/hyperledger/besu/pull/5959)

### Bug Fixes

### Download Links

## 23.10.0
### Layered Transaction Pool: the new default transaction pool implementation
With this release the previously experimental Layered txpool is marked stable and enabled by default, so please read the following instructions if you used to tune txpool behaviour,
Expand All @@ -25,24 +41,25 @@ By default, the txpool is tuned for mainnet usage, but if you are using private

### Breaking Changes
- Removed support for Kotti network (ETC) [#5816](https://github.com/hyperledger/besu/pull/5816)
- Layered transaction pool implementation is now stable and enabled by default, so the following changes to experimental options have been done [#5772](https://github.com/hyperledger/besu):
- Layered transaction pool implementation is now stable and enabled by default, so the following changes to experimental options have been done [#5772](https://github.com/hyperledger/besu/pull/5772):
- `--Xlayered-tx-pool` is gone, to select the implementation use the new `--tx-pool` option with values `layered` (default) or `legacy`
- `--Xlayered-tx-pool-layer-max-capacity`, `--Xlayered-tx-pool-max-prioritized` and `--Xlayered-tx-pool-max-future-by-sender` just drop the `X` and keep the same behavior
- `--Xlayered-tx-pool-layer-max-capacity`, `--Xlayered-tx-pool-max-prioritized` and `--Xlayered-tx-pool-max-future-by-sender` just drop the `Xlayered-` and keep the same behavior

### Additions and Improvements
- Add access to an immutable world view to start/end transaction hooks in the tracing API[#5836](https://github.com/hyperledger/besu/pull/5836)
- Layered transaction pool implementation is now stable and enabled by default. If you want still to use the legacy implementation, use `--tx-pool=legacy`.
By default, the new transaction pool is capped at using 25MB of memory, this limit can be raised using `--layered-tx-pool-layer-max-capacity` options [#5772](https://github.com/hyperledger/besu)
By default, the new transaction pool is capped at using 25MB of memory, this limit can be raised using `--layered-tx-pool-layer-max-capacity` options [#5772](https://github.com/hyperledger/besu/pull/5772)
- Tune G1GC to reduce Besu memory footprint, and new `besu-untuned` start scripts to run without any specific G1GC flags [#5879](https://github.com/hyperledger/besu/pull/5879)
- Reduce `engine_forkchoiceUpdatedV?` response time by asynchronously process block added events in the transaction pool [#5909](https://github.com/hyperledger/besu/pull/5909)
- Reduce `engine_forkchoiceUpdatedV?` response time by asynchronously process block added events in the transaction pool [#5909](https://github.com/hyperledger/besu/pull/5909)

### Bug Fixes
- do not create ignorable storage on revert storage-variables subcommand [#5830](https://github.com/hyperledger/besu/pull/5830)
- fix duplicate key errors in EthScheduler-Transactions [#5857](https://github.com/hyperledger/besu/pull/5857)
- Don't put control characters, escaped or otherwise, in t8n stacktraces [#5910](https://github.com/hyperledger/besu/pull/5910)

### Download Links

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.10.0/besu-23.10.0.tar.gz / sha256: 3c75f3792bfdb0892705b378f0b8bfc14ef6cecf1d8afe711d8d8687ed6687cf
https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.10.0/besu-23.10.0.zip / sha256: d5dafff4c3cbf104bf75b34a9f108dcdd7b08d2759de75ec65cd997f38f52866

## 23.7.3

Expand Down
2 changes: 1 addition & 1 deletion KNOWN_ISSUES.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Known Issues

Details on previously identified known issues are provided below. Details on known issues identfied
Details on previously identified known issues are provided below. Details on known issues identified
in the current release are provided in the [Changelog](CHANGELOG.md).

Known issues are open issues categorized as [Very High or High impact](https://wiki.hyperledger.org/display/BESU/Defect+Prioritisation+Policy).
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3174/badge)](https://bestpractices.coreinfrastructure.org/projects/3174)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/hyperledger/besu/blob/main/LICENSE)
[![Discord](https://img.shields.io/discord/905194001349627914?logo=Hyperledger&style=plastic)](https://discord.gg/hyperledger)
[![Twitter Follow](https://img.shields.io/twitter/follow/HyperledgerBesu)](https://twitter.com/HyperledgerBesu)

[Download](https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/)

Expand All @@ -15,7 +16,7 @@ Besu is an Apache 2.0 licensed, MainNet compatible, Ethereum client written in J
* [Besu Issues]
* [Besu Wiki](https://wiki.hyperledger.org/display/BESU/Hyperledger+Besu)
* [How to Contribute to Besu](https://wiki.hyperledger.org/display/BESU/How+to+Contribute)
* [Besu Roadmap](https://wiki.hyperledger.org/display/BESU/Roadmap)
* [Besu Roadmap & Planning](https://wiki.hyperledger.org/pages/viewpage.action?pageId=24781786)


## Issues
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
import org.hyperledger.besu.plugin.services.StorageService;
import org.hyperledger.besu.plugin.services.TransactionSelectionService;
import org.hyperledger.besu.plugin.services.storage.rocksdb.RocksDBPlugin;
import org.hyperledger.besu.plugin.services.txselection.TransactionSelectorFactory;
import org.hyperledger.besu.plugin.services.txselection.PluginTransactionSelectorFactory;
import org.hyperledger.besu.plugin.services.txvalidator.PluginTransactionValidatorFactory;
import org.hyperledger.besu.services.BesuConfigurationImpl;
import org.hyperledger.besu.services.BesuEventsImpl;
Expand Down Expand Up @@ -185,7 +185,7 @@ public void startNode(final BesuNode node) {

final int maxPeers = 25;

final Optional<TransactionSelectorFactory> transactionSelectorFactory =
final Optional<PluginTransactionSelectorFactory> transactionSelectorFactory =
getTransactionSelectorFactory(besuPluginContext);

final PluginTransactionValidatorFactory pluginTransactionValidatorFactory =
Expand Down Expand Up @@ -323,7 +323,7 @@ public String getConsoleContents() {
throw new RuntimeException("Console contents can only be captured in process execution");
}

private Optional<TransactionSelectorFactory> getTransactionSelectorFactory(
private Optional<PluginTransactionSelectorFactory> getTransactionSelectorFactory(
final BesuPluginContextImpl besuPluginContext) {
final Optional<TransactionSelectionService> txSelectionService =
besuPluginContext.getService(TransactionSelectionService.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,10 @@

import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;

@RunWith(Parameterized.class)
@Ignore("EIP-6110 is not yet implemented")
public class ExecutionEngineEip6110AcceptanceTest extends AbstractJsonRpcTest {
private static final String GENESIS_FILE = "/jsonrpc/engine/eip6110/genesis.json";
private static final String TEST_CASE_PATH = "/jsonrpc/engine/eip6110/test-cases/";
Expand Down
Loading

0 comments on commit c81e86e

Please sign in to comment.