Skip to content

Commit b774513

Browse files
authored
Merge branch 'main' into adjust-bal-for-spec-tests
2 parents 6853842 + 10f13af commit b774513

File tree

190 files changed

+4831
-913
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

190 files changed

+4831
-913
lines changed

.github/workflows/reference-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ concurrency:
1919

2020
jobs:
2121
referenceTestEthereum:
22-
runs-on: ubuntu-22.04
22+
runs-on: besu-research-ubuntu-8 # since eest-v5.1.0 this job needs more disk space
2323
permissions:
2424
statuses: write
2525
checks: write

CHANGELOG.md

Lines changed: 59 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,60 @@
1515
- Fast Sync
1616

1717
### Additions and Improvements
18+
19+
### Bug fixes
20+
- Fix loss of colored output in terminal when using `--color-enabled=true` option [#8908](https://github.com/hyperledger/besu/issues/8908)
21+
22+
## 25.10.0-RC2
23+
This RC is a pre-release, recommended update for Holesky and Sepolia users for the Fusaka hardfork.
24+
This updates a dependency used for PeerDAS.
25+
This RC is still pending burn in for mainnet.
26+
27+
### Breaking Changes
28+
29+
### Upcoming Breaking Changes
30+
- Deprecated CLI options
31+
- `--Xbonsai-parallel-tx-processing-enabled` is deprecated since 25.7.0. Use `--bonsai-parallel-tx-processing-enabled` instead.
32+
- `--Xsnapsync-server-enabled` is deprecated since 25.7.0. Use `--snapsync-server-enabled` instead.
33+
- `--Xsnapsync-synchronizer-pre-merge-headers-only-enabled` is deprecated since 25.7.0. Use `--snapsync-synchronizer-pre-checkpoint-headers-only-enabled` instead.
34+
- `--Xhistory-expiry-prune` is deprecated since 25.7.0. Use `--history-expiry-prune` instead.
35+
- Sunsetting features - for more context on the reasoning behind the deprecation of these features, including alternative options, read [this blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu)
36+
- Proof of Work consensus (PoW)
37+
- Fast Sync
38+
39+
### Additions and Improvements
40+
- Performance improvements to EQ opcode [#9229](https://github.com/hyperledger/besu/pull/9229)
41+
- Update jc-kzg dependency [#9261](https://github.com/hyperledger/besu/pull/9261)
42+
43+
### Bug fixes
44+
45+
## 25.10.0-RC1
46+
This RC is a pre-release for Holesky and Sepolia users.
47+
Only upgrade to this release if you're experiencing the eth_subscribe or ethstats known issue from 25.9.0.
48+
- fixes and more info [#9212](https://github.com/hyperledger/besu/pull/9212) and [#9220](https://github.com/hyperledger/besu/pull/9220)
49+
This RC is still pending burn in for mainnet.
50+
51+
### Breaking Changes
52+
53+
### Upcoming Breaking Changes
54+
- Deprecated CLI options
55+
- `--Xbonsai-parallel-tx-processing-enabled` is deprecated since 25.7.0. Use `--bonsai-parallel-tx-processing-enabled` instead.
56+
- `--Xsnapsync-server-enabled` is deprecated since 25.7.0. Use `--snapsync-server-enabled` instead.
57+
- `--Xsnapsync-synchronizer-pre-merge-headers-only-enabled` is deprecated since 25.7.0. Use `--snapsync-synchronizer-pre-checkpoint-headers-only-enabled` instead.
58+
- `--Xhistory-expiry-prune` is deprecated since 25.7.0. Use `--history-expiry-prune` instead.
59+
- Sunsetting features - for more context on the reasoning behind the deprecation of these features, including alternative options, read [this blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu)
60+
- Proof of Work consensus (PoW)
61+
- Fast Sync
62+
63+
### Additions and Improvements
64+
- Update spring security framework (toml parsing) [#9153](https://github.com/hyperledger/besu/pull/9153)
65+
- Update grpc and guava [#9150](https://github.com/hyperledger/besu/pull/9150)
1866
- Implement optional sender balance checks in the layered txpool [#9176](https://github.com/hyperledger/besu/pull/9176)
1967
- Add `--cache-last-block-headers` flag to cache the last n block headers persisted to the blockchain [#9223](https://github.com/hyperledger/besu/pull/9223)
2068
- Manage unexpected exceptions during block creation [#9208](https://github.com/hyperledger/besu/pull/9208)
69+
- Upgrade to execution-spec-tests v5.1.0 [#9226](https://github.com/hyperledger/besu/pull/9226)
70+
- Add `--cache-last-block-headers-preload-enabled` flag to enable preloading the block headers cache during startup time [#9248](https://github.com/hyperledger/besu/pull/9248)
71+
- Upgrade to execution-spec-tests v5.2.0 [#9226](https://github.com/hyperledger/besu/pull/9226), [#9242](https://github.com/hyperledger/besu/pull/9242)
2172

2273
### Bug fixes
2374
- Fix eth_subscribe RPC failing returning a block response [#9212](https://github.com/hyperledger/besu/pull/9212)
@@ -28,6 +79,12 @@
2879
### Breaking Changes
2980
- Remove deprecated option `--bonsai-maximum-back-layers-to-load` (deprecated since 23.4.0). Use `--bonsai-historical-block-limit` instead
3081

82+
### Known issue
83+
Affects users of eth_subscribe (WebSocket) eg SSV, and ethstats integration
84+
- symptom: `io.vertx.core.json.EncodeException: Failed to encode as JSON: Java 8 optional type`
85+
- fixes and more info [#9212](https://github.com/hyperledger/besu/pull/9212) and [#9220](https://github.com/hyperledger/besu/pull/9220)
86+
- if you experience this issue, you can downgrade to the previous released version of Besu, or build off main if that is an option for your environment.
87+
3188
### Upcoming Breaking Changes
3289
- Deprecated CLI options
3390
- `--Xbonsai-parallel-tx-processing-enabled` is deprecated since 25.7.0. Use `--bonsai-parallel-tx-processing-enabled` instead.
@@ -43,8 +100,8 @@
43100
- Update netty [#9156](https://github.com/hyperledger/besu/pull/9156)
44101
- Expose new method to query hardfork by block number Plugin API [#9115](https://github.com/hyperledger/besu/pull/9115)
45102
- Support loading multiple transaction selector plugins [#8743](https://github.com/hyperledger/besu/pull/9139)
46-
- Configurable limit for how much time plugins are allowed take, to propose transactions, during block creation [#9184](https://github.com/hyperledger/besu/pull/9184)
47-
- Add Osaka, BPO1 and BPO2 fork times for holesky, hoodi and sepolia [#9196](https://github.com/hyperledger/besu/pull/9196/files)
103+
- Configurable limit for how much time plugins are allowed to take, to propose transactions, during block creation [#9184](https://github.com/hyperledger/besu/pull/9184)
104+
- Add Osaka, BPO1 and BPO2 fork times for holesky, hoodi and sepolia [#9196](https://github.com/hyperledger/besu/pull/9196)
48105

49106
#### Performance
50107
- Add jmh benchmarks for some compute-related opcodes [#9069](https://github.com/hyperledger/besu/pull/9069)
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
/*
2+
* Copyright contributors to Hyperledger Besu.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
5+
* the License. You may obtain a copy of the License at
6+
*
7+
* http://www.apache.org/licenses/LICENSE-2.0
8+
*
9+
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
10+
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
11+
* specific language governing permissions and limitations under the License.
12+
*
13+
* SPDX-License-Identifier: Apache-2.0
14+
*/
15+
package org.hyperledger.besu.tests.acceptance.jsonrpc;
16+
17+
import java.io.IOException;
18+
import java.net.URISyntaxException;
19+
import java.util.stream.Stream;
20+
21+
import org.junit.jupiter.api.AfterAll;
22+
import org.junit.jupiter.api.BeforeAll;
23+
import org.junit.jupiter.params.provider.Arguments;
24+
25+
public class ExecutionEngineOsakaAcceptanceTest extends AbstractJsonRpcTest {
26+
private static final String GENESIS_FILE = "/jsonrpc/engine/osaka/genesis.json";
27+
private static final String TEST_CASE_PATH = "/jsonrpc/engine/osaka/test-cases/";
28+
29+
private static JsonRpcTestsContext testsContext;
30+
31+
public ExecutionEngineOsakaAcceptanceTest() {
32+
super(testsContext);
33+
}
34+
35+
@BeforeAll
36+
public static void init() throws IOException {
37+
testsContext = new JsonRpcTestsContext(GENESIS_FILE);
38+
}
39+
40+
public static Stream<Arguments> testCases() throws URISyntaxException {
41+
return testCasesFromPath(TEST_CASE_PATH);
42+
}
43+
44+
@AfterAll
45+
public static void tearDown() {
46+
testsContext.cluster.close();
47+
}
48+
}

acceptance-tests/tests/src/test/resources/jsonrpc/engine/osaka/genesis.json

Lines changed: 138 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{
2+
"request": {
3+
"jsonrpc": "2.0",
4+
"method": "eth_getBlockByNumber",
5+
"params": [
6+
"0x00",
7+
true
8+
],
9+
"id": 67
10+
},
11+
"response": {
12+
"jsonrpc" : "2.0",
13+
"id" : 67,
14+
"result" : {
15+
"number" : "0x0",
16+
"hash" : "0x0d16454be2446b1f8e013562833b84da2e76536bef3d529cf2f8976ac1eb5905",
17+
"mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
18+
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
19+
"nonce" : "0x0000000000000042",
20+
"sha3Uncles" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
21+
"logsBloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
22+
"transactionsRoot" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
23+
"stateRoot" : "0x1a4b82e6ca6153aeb948dcf6f4e8c061c3c86a77106a865821d00062c9c749e3",
24+
"receiptsRoot" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
25+
"miner" : "0x0000000000000000000000000000000000000000",
26+
"difficulty" : "0x400000000",
27+
"totalDifficulty" : "0x400000000",
28+
"extraData" : "0x0000000000000000000000000000000000000000000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
29+
"baseFeePerGas" : "0x7",
30+
"size" : "0x2db",
31+
"gasLimit" : "0x1c9c380",
32+
"gasUsed" : "0x0",
33+
"timestamp" : "0x0",
34+
"uncles" : [ ],
35+
"transactions" : [ ],
36+
"withdrawalsRoot" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
37+
"withdrawals" : [ ],
38+
"requestsHash" : "0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
39+
"blobGasUsed" : "0x0",
40+
"excessBlobGas" : "0x0",
41+
"parentBeaconBlockRoot" : "0x0000000000000000000000000000000000000000000000000000000000000000"
42+
}
43+
},
44+
"statusCode": 200
45+
}

acceptance-tests/tests/src/test/resources/jsonrpc/engine/osaka/test-cases/02_prague_send_raw_blob-v0.json

Lines changed: 16 additions & 0 deletions
Large diffs are not rendered by default.

acceptance-tests/tests/src/test/resources/jsonrpc/engine/osaka/test-cases/03_prague_send_raw_blob-v1.json

Lines changed: 19 additions & 0 deletions
Large diffs are not rendered by default.

acceptance-tests/tests/src/test/resources/jsonrpc/engine/osaka/test-cases/04_prague_getBlobsV1.json

Lines changed: 23 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"request": {
3+
"jsonrpc": "2.0",
4+
"method": "engine_getBlobsV2",
5+
"params": [
6+
[
7+
"0x01ce3ae35678dd496bce46fd00a11180ebf30169d4fc3517eef3b753425b013c"
8+
]
9+
],
10+
"id": 67
11+
},
12+
"response": {
13+
"jsonrpc" : "2.0",
14+
"id" : 67,
15+
"error" : {
16+
"code" : -38005,
17+
"message" : "Unsupported fork",
18+
"data" : "OSAKA configured to start at timestamp: 32"
19+
}
20+
},
21+
"statusCode": 200
22+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{
2+
"request": {
3+
"jsonrpc": "2.0",
4+
"method": "engine_forkchoiceUpdatedV3",
5+
"params": [
6+
{
7+
"headBlockHash": "0x0d16454be2446b1f8e013562833b84da2e76536bef3d529cf2f8976ac1eb5905",
8+
"safeBlockHash": "0x0d16454be2446b1f8e013562833b84da2e76536bef3d529cf2f8976ac1eb5905",
9+
"finalizedBlockHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
10+
},
11+
{
12+
"timestamp": "0x10",
13+
"prevRandao": "0x0000000000000000000000000000000000000000000000000000000000000000",
14+
"suggestedFeeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
15+
"withdrawals": [],
16+
"parentBeaconBlockRoot": "0x0000000000000000000000000000000000000000000000000000000000000000"
17+
}
18+
],
19+
"id": 67
20+
},
21+
"response": {
22+
"jsonrpc": "2.0",
23+
"id": 67,
24+
"result": {
25+
"payloadStatus": {
26+
"status": "VALID",
27+
"latestValidHash": "0x0d16454be2446b1f8e013562833b84da2e76536bef3d529cf2f8976ac1eb5905",
28+
"validationError": null
29+
},
30+
"payloadId": "0x282643d69a019d11"
31+
}
32+
},
33+
"statusCode": 200
34+
}

0 commit comments

Comments
 (0)