Skip to content

Commit 32019bc

Browse files
authored
Merge pull request #346 from scroll-tech/chore-merge-upstream-e9598ba5a
chore: merge upstream e9598ba
2 parents 61d5c38 + 2d9fb76 commit 32019bc

File tree

584 files changed

+11438
-6581
lines changed

Some content is hidden

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

584 files changed

+11438
-6581
lines changed

.github/CODEOWNERS

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ crates/chainspec/ @Rjected @joshieDo @mattsse
66
crates/cli/ @mattsse
77
crates/consensus/ @rkrasiuk @mattsse @Rjected
88
crates/e2e-test-utils/ @mattsse @Rjected @klkvr @fgimenez
9-
crates/engine @rkrasiuk @mattsse @Rjected
10-
crates/engine/ @rkrasiuk @mattsse @Rjected @fgimenez
9+
crates/engine/ @rkrasiuk @mattsse @Rjected @fgimenez @mediocregopher @yongkangc
1110
crates/era/ @mattsse @RomanHodulak
1211
crates/errors/ @mattsse
1312
crates/ethereum-forks/ @mattsse @Rjected
@@ -26,7 +25,7 @@ crates/prune/ @shekhirin @joshieDo
2625
crates/ress @rkrasiuk
2726
crates/revm/ @mattsse @rakita
2827
crates/rpc/ @mattsse @Rjected @RomanHodulak
29-
crates/stages/ @rkrasiuk @shekhirin
28+
crates/stages/ @rkrasiuk @shekhirin @mediocregopher
3029
crates/static-file/ @joshieDo @shekhirin
3130
crates/storage/codecs/ @joshieDo
3231
crates/storage/db-api/ @joshieDo @rakita
@@ -39,7 +38,7 @@ crates/storage/provider/ @rakita @joshieDo @shekhirin
3938
crates/storage/storage-api/ @joshieDo @rkrasiuk
4039
crates/tasks/ @mattsse
4140
crates/tokio-util/ @fgimenez
42-
crates/transaction-pool/ @mattsse
41+
crates/transaction-pool/ @mattsse @yongkangc
4342
crates/trie/ @rkrasiuk @Rjected @shekhirin @mediocregopher
4443
etc/ @Rjected @shekhirin
4544
.github/ @gakonst @DaniPopes

.github/assets/hive/build_simulators.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ go build .
1111

1212
# Run each hive command in the background for each simulator and wait
1313
echo "Building images"
14-
./hive -client reth --sim "ethereum/eest" --sim.buildarg fixtures=https://github.com/ethereum/execution-spec-tests/releases/download/v5.0.0/fixtures_develop.tar.gz --sim.buildarg branch=v5.0.0 -sim.timelimit 1s || true &
14+
./hive -client reth --sim "ethereum/eest" --sim.buildarg fixtures=https://github.com/ethereum/execution-spec-tests/releases/download/v5.1.0/fixtures_develop.tar.gz --sim.buildarg branch=v5.1.0 -sim.timelimit 1s || true &
1515
./hive -client reth --sim "ethereum/engine" -sim.timelimit 1s || true &
1616
./hive -client reth --sim "devp2p" -sim.timelimit 1s || true &
1717
./hive -client reth --sim "ethereum/rpc-compat" -sim.timelimit 1s || true &

.github/assets/hive/expected_failures.yaml

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,14 @@ engine-withdrawals:
2828
- Withdraw zero amount (Paris) (reth)
2929
- Empty Withdrawals (Paris) (reth)
3030
- Corrupted Block Hash Payload (INVALID) (Paris) (reth)
31-
- Withdrawals Fork on Block 1 - 8 Block Re-Org NewPayload (Paris) (reth)
3231
- Withdrawals Fork on Canonical Block 8 / Side Block 7 - 10 Block Re-Org (Paris) (reth)
3332

3433
engine-api: []
3534

3635
# no fix due to https://github.com/paradigmxyz/reth/issues/8732
3736
engine-cancun:
3837
- Invalid PayloadAttributes, Missing BeaconRoot, Syncing=True (Cancun) (reth)
39-
# the test fails with older verions of the code for which it passed before, probably related to changes
38+
# the test fails with older versions of the code for which it passed before, probably related to changes
4039
# in hive or its dependencies
4140
- Blob Transaction Ordering, Multiple Clients (Cancun) (reth)
4241

@@ -53,6 +52,7 @@ engine-auth:
5352
# 7002 related tests - post-fork test, should fix for spec compliance but not
5453
# realistic on mainnet
5554
# 7251 related tests - modified contract, not necessarily practical on mainnet,
55+
# 7594: https://github.com/paradigmxyz/reth/issues/18471
5656
# worth re-visiting when more of these related tests are passing
5757
eest/consume-engine:
5858
- tests/prague/eip7702_set_code_tx/test_set_code_txs.py::test_set_code_to_non_empty_storage[fork_Prague-blockchain_test_engine-zero_nonce]-reth
@@ -72,6 +72,18 @@ eest/consume-engine:
7272
- tests/prague/eip7002_el_triggerable_withdrawals/test_contract_deployment.py::test_system_contract_deployment[fork_CancunToPragueAtTime15k-blockchain_test_engine-deploy_after_fork-zero_balance]-reth
7373
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_log_length[fork_Prague-blockchain_test_engine-slice_bytes_False]-reth
7474
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_log_length[fork_Prague-blockchain_test_engine-slice_bytes_True]-reth
75+
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Osaka-blockchain_test_engine-log_argument_amount_offset-value_zero]-reth
76+
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Osaka-blockchain_test_engine-log_argument_amount_size-value_zero]-reth
77+
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Osaka-blockchain_test_engine-log_argument_index_offset-value_zero]-reth
78+
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Osaka-blockchain_test_engine-log_argument_index_size-value_zero]-reth
79+
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Osaka-blockchain_test_engine-log_argument_pubkey_offset-value_zero]-reth
80+
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Osaka-blockchain_test_engine-log_argument_pubkey_size-value_zero]-reth
81+
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Osaka-blockchain_test_engine-log_argument_signature_offset-value_zero]-reth
82+
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Osaka-blockchain_test_engine-log_argument_signature_size-value_zero]-reth
83+
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Osaka-blockchain_test_engine-log_argument_withdrawal_credentials_offset-value_zero]-reth
84+
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Osaka-blockchain_test_engine-log_argument_withdrawal_credentials_size-value_zero]-reth
85+
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_log_length[fork_Osaka-blockchain_test_engine-slice_bytes_False]-reth
86+
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_log_length[fork_Osaka-blockchain_test_engine-slice_bytes_True]-reth
7587
eest/consume-rlp:
7688
- tests/prague/eip7702_set_code_tx/test_set_code_txs.py::test_set_code_to_non_empty_storage[fork_Prague-blockchain_test-zero_nonce]-reth
7789
- tests/prague/eip7251_consolidations/test_modified_consolidation_contract.py::test_system_contract_errors[fork_Prague-blockchain_test_engine-system_contract_reaches_gas_limit-system_contract_0x0000bbddc7ce488642fb579f8b00f3a590007251]-reth
@@ -88,10 +100,23 @@ eest/consume-rlp:
88100
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Prague-blockchain_test_engine-log_argument_signature_size-value_zero]-reth
89101
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Prague-blockchain_test_engine-log_argument_withdrawal_credentials_offset-value_zero]-reth
90102
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Prague-blockchain_test_engine-log_argument_withdrawal_credentials_size-value_zero]-reth
103+
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Osaka-blockchain_test_engine-log_argument_amount_offset-value_zero]-reth
104+
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Osaka-blockchain_test_engine-log_argument_amount_size-value_zero]-reth
105+
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Osaka-blockchain_test_engine-log_argument_index_offset-value_zero]-reth
106+
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Osaka-blockchain_test_engine-log_argument_index_size-value_zero]-reth
107+
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Osaka-blockchain_test_engine-log_argument_pubkey_offset-value_zero]-reth
108+
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Osaka-blockchain_test_engine-log_argument_pubkey_size-value_zero]-reth
109+
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Osaka-blockchain_test_engine-log_argument_signature_offset-value_zero]-reth
110+
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Osaka-blockchain_test_engine-log_argument_signature_size-value_zero]-reth
111+
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Osaka-blockchain_test_engine-log_argument_withdrawal_credentials_offset-value_zero]-reth
112+
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Osaka-blockchain_test_engine-log_argument_withdrawal_credentials_size-value_zero]-reth
91113
- tests/prague/eip7002_el_triggerable_withdrawals/test_contract_deployment.py::test_system_contract_deployment[fork_CancunToPragueAtTime15k-blockchain_test_engine-deploy_after_fork-nonzero_balance]-reth
92114
- tests/prague/eip7002_el_triggerable_withdrawals/test_contract_deployment.py::test_system_contract_deployment[fork_CancunToPragueAtTime15k-blockchain_test_engine-deploy_after_fork-zero_balance]-reth
93115
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_log_length[fork_Prague-blockchain_test_engine-slice_bytes_False]-reth
94116
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_log_length[fork_Prague-blockchain_test_engine-slice_bytes_True]-reth
117+
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_log_length[fork_Osaka-blockchain_test_engine-slice_bytes_False]-reth
118+
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_log_length[fork_Osaka-blockchain_test_engine-slice_bytes_True]-reth
119+
- tests/osaka/eip7594_peerdas/test_max_blob_per_tx.py::test_max_blobs_per_tx_fork_transition[fork_PragueToOsakaAtTime15k-blob_count_7-blockchain_test]-reth
95120
- tests/prague/eip7251_consolidations/test_contract_deployment.py::test_system_contract_deployment[fork_CancunToPragueAtTime15k-blockchain_test-deploy_after_fork-nonzero_balance]-reth
96121
- tests/prague/eip7251_consolidations/test_contract_deployment.py::test_system_contract_deployment[fork_CancunToPragueAtTime15k-blockchain_test-deploy_after_fork-zero_balance]-reth
97122
- tests/prague/eip7002_el_triggerable_withdrawals/test_contract_deployment.py::test_system_contract_deployment[fork_CancunToPragueAtTime15k-blockchain_test-deploy_after_fork-nonzero_balance]-reth

.github/assets/hive/ignored_tests.yaml

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,23 @@
1414
# flaky
1515
engine-withdrawals:
1616
- Withdrawals Fork on Block 1 - 8 Block Re-Org NewPayload (Paris) (reth)
17+
- Withdrawals Fork on Block 8 - 10 Block Re-Org NewPayload (Paris) (reth)
1718
- Withdrawals Fork on Canonical Block 8 / Side Block 7 - 10 Block Re-Org (Paris) (reth)
19+
- Sync after 128 blocks - Withdrawals on Block 2 - Multiple Withdrawal Accounts (Paris) (reth)
1820
engine-cancun:
1921
- Transaction Re-Org, New Payload on Revert Back (Cancun) (reth)
20-
- Transaction Re-Org, Re-Org to Different Block
21-
- Transaction Re-Org, Re-Org Out
22+
- Transaction Re-Org, Re-Org to Different Block (Cancun) (reth)
23+
- Transaction Re-Org, Re-Org Out (Cancun) (reth)
24+
- Invalid Missing Ancestor ReOrg, StateRoot, EmptyTxs=False, Invalid P9 (Cancun) (reth)
25+
- Multiple New Payloads Extending Canonical Chain, Wait for Canonical Payload (Cancun) (reth)
2226
engine-api:
2327
- Transaction Re-Org, Re-Org Out (Paris) (reth)
2428
- Transaction Re-Org, Re-Org to Different Block (Paris) (reth)
2529
- Transaction Re-Org, New Payload on Revert Back (Paris) (reth)
2630
- Transaction Re-Org, Re-Org to Different Block (Paris) (reth)
2731
- Invalid Missing Ancestor Syncing ReOrg, Transaction Nonce, EmptyTxs=False, CanonicalReOrg=False, Invalid P9 (Paris) (reth)
32+
- Invalid Missing Ancestor Syncing ReOrg, Transaction Signature, EmptyTxs=False, CanonicalReOrg=True, Invalid P9 (Paris) (reth)
33+
- Invalid Missing Ancestor Syncing ReOrg, Transaction Signature, EmptyTxs=False, CanonicalReOrg=False, Invalid P9 (Paris) (reth)
34+
- Invalid Missing Ancestor ReOrg, StateRoot, EmptyTxs=True, Invalid P10 (Paris) (reth)
2835
- Multiple New Payloads Extending Canonical Chain, Wait for Canonical Payload (Paris) (reth)
29-
36+
- Multiple New Payloads Extending Canonical Chain, Set Head to First Payload Received (Paris) (reth)

.github/assets/kurtosis_op_network_params.yaml

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ ethereum_package:
44
el_extra_params:
55
- "--rpc.eth-proof-window=100"
66
cl_type: teku
7-
cl_image: "consensys/teku:25.7"
87
network_params:
98
preset: minimal
109
genesis_delay: 5
@@ -19,12 +18,19 @@ ethereum_package:
1918
}'
2019
optimism_package:
2120
chains:
22-
- participants:
23-
- el_type: op-geth
24-
cl_type: op-node
25-
- el_type: op-reth
26-
cl_type: op-node
27-
el_image: "ghcr.io/paradigmxyz/op-reth:kurtosis-ci"
21+
chain0:
22+
participants:
23+
node0:
24+
el:
25+
type: op-geth
26+
cl:
27+
type: op-node
28+
node1:
29+
el:
30+
type: op-reth
31+
image: "ghcr.io/paradigmxyz/op-reth:kurtosis-ci"
32+
cl:
33+
type: op-node
2834
network_params:
2935
holocene_time_offset: 0
3036
isthmus_time_offset: 0

.github/workflows/bench.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ jobs:
3232
- name: Build the benchmark target(s)
3333
run: ./.github/scripts/codspeed-build.sh
3434
- name: Run the benchmarks
35-
uses: CodSpeedHQ/action@v3
35+
uses: CodSpeedHQ/action@v4
3636
with:
3737
run: cargo codspeed run --workspace
38+
mode: instrumentation
39+
token: ${{ secrets.CODSPEED_TOKEN }}

.github/workflows/hive.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
name: hive_assets
4848
path: ./hive_assets
4949
test:
50-
timeout-minutes: 60
50+
timeout-minutes: 120
5151
strategy:
5252
fail-fast: false
5353
matrix:
@@ -111,6 +111,8 @@ jobs:
111111
- debug_
112112

113113
# consume-engine
114+
- sim: ethereum/eest/consume-engine
115+
limit: .*tests/osaka.*
114116
- sim: ethereum/eest/consume-engine
115117
limit: .*tests/prague.*
116118
- sim: ethereum/eest/consume-engine
@@ -127,6 +129,8 @@ jobs:
127129
limit: .*tests/frontier.*
128130

129131
# consume-rlp
132+
- sim: ethereum/eest/consume-rlp
133+
limit: .*tests/osaka.*
130134
- sim: ethereum/eest/consume-rlp
131135
limit: .*tests/prague.*
132136
- sim: ethereum/eest/consume-rlp

.github/workflows/kurtosis-op.yml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,10 @@ jobs:
6262
sudo apt update
6363
sudo apt install kurtosis-cli
6464
kurtosis engine start
65-
# TODO: unpin optimism-package when https://github.com/ethpandaops/optimism-package/issues/340 is fixed
66-
# kurtosis run --enclave op-devnet github.com/ethpandaops/optimism-package --args-file .github/assets/kurtosis_op_network_params.yaml
67-
kurtosis run --enclave op-devnet github.com/ethpandaops/optimism-package@452133367b693e3ba22214a6615c86c60a1efd5e --args-file .github/assets/kurtosis_op_network_params.yaml
65+
kurtosis run --enclave op-devnet github.com/ethpandaops/optimism-package --args-file .github/assets/kurtosis_op_network_params.yaml
6866
ENCLAVE_ID=$(curl http://127.0.0.1:9779/api/enclaves | jq --raw-output 'keys[0]')
69-
GETH_PORT=$(curl "http://127.0.0.1:9779/api/enclaves/$ENCLAVE_ID/services" | jq '."op-el-2151908-1-op-geth-op-node-op-kurtosis".public_ports.rpc.number')
70-
RETH_PORT=$(curl "http://127.0.0.1:9779/api/enclaves/$ENCLAVE_ID/services" | jq '."op-el-2151908-2-op-reth-op-node-op-kurtosis".public_ports.rpc.number')
67+
GETH_PORT=$(curl "http://127.0.0.1:9779/api/enclaves/$ENCLAVE_ID/services" | jq '."op-el-2151908-node0-op-geth".public_ports.rpc.number')
68+
RETH_PORT=$(curl "http://127.0.0.1:9779/api/enclaves/$ENCLAVE_ID/services" | jq '."op-el-2151908-node1-op-reth".public_ports.rpc.number')
7169
echo "GETH_RPC=http://127.0.0.1:$GETH_PORT" >> $GITHUB_ENV
7270
echo "RETH_RPC=http://127.0.0.1:$RETH_PORT" >> $GITHUB_ENV
7371

.github/workflows/lint.yml

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -254,15 +254,14 @@ jobs:
254254
timeout-minutes: 20
255255
steps:
256256
- uses: actions/checkout@v5
257-
- name: fetch deps
258-
run: |
259-
# Eagerly pull dependencies
260-
time cargo metadata --format-version=1 --locked > /dev/null
261-
- name: run zepter
262-
run: |
263-
cargo install zepter -f --locked
264-
zepter --version
265-
time zepter run check
257+
- uses: dtolnay/rust-toolchain@stable
258+
- uses: rui314/setup-mold@v1
259+
- uses: taiki-e/cache-cargo-install-action@v2
260+
with:
261+
tool: zepter
262+
- name: Eagerly pull dependencies
263+
run: cargo metadata --format-version=1 --locked > /dev/null
264+
- run: zepter run check
266265

267266
deny:
268267
uses: ithacaxyz/ci/.github/workflows/deny.yml@main

.github/workflows/release-reproducible.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,20 @@ jobs:
4040
username: ${{ github.actor }}
4141
password: ${{ secrets.GITHUB_TOKEN }}
4242

43+
- name: Extract Rust version from Cargo.toml
44+
id: rust_version
45+
run: |
46+
RUST_VERSION=$(cargo metadata --format-version 1 | jq -r '.packages[] | select(.name == "reth") | .rust_version' || echo "1")
47+
echo "RUST_VERSION=$RUST_VERSION" >> $GITHUB_OUTPUT
48+
4349
- name: Build and push reproducible image
4450
uses: docker/build-push-action@v6
4551
with:
4652
context: .
4753
file: ./Dockerfile.reproducible
4854
push: true
55+
build-args: |
56+
RUST_VERSION=${{ steps.rust_version.outputs.RUST_VERSION }}
4957
tags: |
5058
${{ env.DOCKER_REPRODUCIBLE_IMAGE_NAME }}:${{ needs.extract-version.outputs.VERSION }}
5159
${{ env.DOCKER_REPRODUCIBLE_IMAGE_NAME }}:latest

0 commit comments

Comments
 (0)