Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge upstream #4

Closed
wants to merge 79 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
cd828c0
feat: switch to composable executor for Ethereum (#11838)
fgimenez Oct 19, 2024
6c026da
docs: explain how to add metrics to grafana (#11875)
greged93 Oct 19, 2024
cf4a445
fix: feature propagation (#11888)
liamaharon Oct 19, 2024
422ab17
feat: use next free nonce in eth_sendTransaction (#11873)
caglaryucekaya Oct 19, 2024
453ba2d
feat: switch to composable executor for Optimism (#11846)
fgimenez Oct 20, 2024
de07436
chore(deps): weekly `cargo update` (#11902)
github-actions[bot] Oct 20, 2024
e9c0972
docs(blockchain-tree): rm comment (#11903)
nkysg Oct 20, 2024
5fca07c
fix: impl BlockExecutionStrategy for OpExecutionStrategy generic over…
fgimenez Oct 20, 2024
a188597
ci: merge sync jobs (#11909)
onbjerg Oct 20, 2024
0270128
refactor(txpool): small refactor in `DiskFileBlobStoreInner` `get_exa…
tcoratger Oct 20, 2024
2e8a8fe
doc(storage): add missing documentation for `nippy-jar` (#11913)
tcoratger Oct 20, 2024
ddc82e2
test(static-file): add unit tests for `HighestStaticFiles` implementa…
tcoratger Oct 21, 2024
fbb27eb
chore(ci): update excluded crates in wasm checker (#11915)
fgimenez Oct 21, 2024
bdad91b
docs: update grafana docs (#11908)
greged93 Oct 21, 2024
aba4991
docs: note about type changes (#11925)
mattsse Oct 21, 2024
f25cceb
perf: use Vec::with_capacity and reserve_exact (#11904)
nkysg Oct 21, 2024
7119bb1
chore: introduce ExecuteOutput (#11929)
fgimenez Oct 21, 2024
20dc0c7
some fmt (#11933)
tcoratger Oct 21, 2024
3f2a41b
chore: rm redundant trait bound (#11940)
mattsse Oct 21, 2024
d9d184d
feat: default impl for some BlockExecutionStrategy methods (#11941)
fgimenez Oct 21, 2024
bddd320
test(trie): narrow the range of keys for sparse trie fuzz (#11937)
shekhirin Oct 21, 2024
7f47ef0
chore: spawn eth_calls as blocking tasks (#11944)
mattsse Oct 21, 2024
1f4ca32
refactor(primitives-traits): rm useless trait bounds for `Receipt` (#…
tcoratger Oct 21, 2024
4d3b35d
test(tx-pool): add unit test for `remove_sender_count` (#11939)
tcoratger Oct 21, 2024
387b0f8
refactor(tx-pool): small refactor for `contains_conflicting_transacti…
tcoratger Oct 21, 2024
cc895e7
fix: always accept transactions with current nonce (#11931)
klkvr Oct 21, 2024
88a38de
chore(rpc): relax some types (#11946)
mattsse Oct 21, 2024
f2ac547
Add custom beacon withdrawals example (#9497)
dapplion Oct 21, 2024
51594c9
chore: relax payload traits (#11947)
mattsse Oct 21, 2024
2973f0c
chore(deps): bump dawidd6/action-homebrew-bump-formula from 3 to 4 (#…
dependabot[bot] Oct 22, 2024
e52f647
chore(primitives): use alloy eth conversion constants (#11892)
tcoratger Oct 22, 2024
1342747
fix: spawn network manager on test exex ctx (#11907)
loocapro Oct 22, 2024
4a68c5e
refactor(rpc): small refactor in `block_with_senders` (#11950)
tcoratger Oct 22, 2024
0df7f65
chore: serde 1.0.210 (#11963)
mattsse Oct 22, 2024
75b39bc
chore: run clippy locked (#11964)
mattsse Oct 22, 2024
e820593
primitive-traits: rm unused `SELECTOR_LEN` (#11959)
tcoratger Oct 22, 2024
cab76f2
fix(engine): run pruner after saving blocks (#11927)
joshieDo Oct 22, 2024
90aaad8
opt: reduce allocs for `parse_deposits_from_receipts` (#11949)
prestwich Oct 22, 2024
df57aed
chore: bump discv5 (#11966)
mattsse Oct 22, 2024
60337d9
feat(rpc): Add flags to disable read tx timeout (#11856)
0x00101010 Oct 22, 2024
b3015c7
fix(trie): removing a blinded leaf should result in an error (#11869)
shekhirin Oct 22, 2024
b20a271
chore(tree): improved debug logging for block insertion (#11958)
fgimenez Oct 22, 2024
8b1dfcc
test(trie): proptest <-> alloy maps integration (#11962)
shekhirin Oct 22, 2024
468ac0d
chore: log enode (#11974)
mattsse Oct 22, 2024
e70b112
feat(trie): update sparse trie hashes below level (#11969)
shekhirin Oct 22, 2024
3174bd5
chore: bump aquamarine (#11965)
mattsse Oct 22, 2024
28c61c1
fix: invoke prometheus recorder on op-reth Cli::run (#11982)
mattsse Oct 22, 2024
22171d2
chore: unpin serde (#11977)
tcoratger Oct 22, 2024
8bfbd97
feat(discv4): add soft_remove_node (#11970)
mattsse Oct 22, 2024
527d344
feat: Add reproducible build profile (#10459)
MoeMahhouk Oct 22, 2024
d68dca1
chore: fix cargo feature warning (#11900)
0xalpharush Oct 22, 2024
74eb375
fix: correctly poll `BasicBlockDownloader` (#11981)
klkvr Oct 22, 2024
6e51762
fix: ping oldest more often (#11988)
mattsse Oct 22, 2024
ee1260a
refactor(tx-pool): move `is_underpriced` to `ValidPoolTransaction` im…
tcoratger Oct 23, 2024
7fd28df
fix: re-establish bond on ping (#11989)
mattsse Oct 23, 2024
ff04de3
chore: bump alloy-eip7702 (#11986)
klkvr Oct 23, 2024
5e0ba41
tx-pool: migrate `ensure_max_init_code_size` to `PoolTransaction` tra…
tcoratger Oct 23, 2024
cf4e774
chore: `Ethereum` -> `Optimism` in comment of `optimism_payload` (#11…
hai-rise Oct 23, 2024
386379e
test(tokio-util): add unit tests for `EventSender` (#11980)
tcoratger Oct 23, 2024
252cdf7
storage: add unit tests for `StorageRevertsIter` (#11999)
tcoratger Oct 23, 2024
55d98bb
fix: check failed find nodes requests before sending new ones (#11997)
mattsse Oct 23, 2024
ab407e7
chore: bump alloy 054 (#12000)
mattsse Oct 23, 2024
8a40d5c
feat(providers): add `AtomicBlockchainProvider` (#11705)
joshieDo Oct 23, 2024
e98a050
fix(trie): account for existing nodes when revealing a node (#11836)
shekhirin Oct 23, 2024
fa30a4f
feat: add osaka hardfork (#11984)
onbjerg Oct 23, 2024
b7167a9
test(tx-pool): add unit test for `GetPooledTransactionLimit` (#11975)
tcoratger Oct 23, 2024
889a7e0
primitive-traits: use alloy `_DURATION` constants (#11960)
tcoratger Oct 23, 2024
89eb73f
refactor: replace extra fields with `ExecutionPayloadSidecar` in engi…
onbjerg Oct 23, 2024
bf612be
chore(hive): update expected failures (#12006)
fgimenez Oct 23, 2024
f3853e7
test(trie): get sparse trie nodes at depth (#12007)
shekhirin Oct 23, 2024
b732619
chore(trie): prefix set doc comment clarification (#12010)
shekhirin Oct 23, 2024
57a21fc
chore: increase max proof window (#12001)
meyer9 Oct 23, 2024
d6f5a89
test: tests for empty block bodies (#12013)
mattsse Oct 23, 2024
2fb63b0
chore: dont log if nothing to evict (#12015)
mattsse Oct 23, 2024
565e4b4
refactor(primitive-traits): use alloy `ETHEREUM_BLOCK_GAS_LIMIT` cons…
tcoratger Oct 23, 2024
044e2d6
refactor(primitive-traits): use alloy `EPOCH_SLOTS` constant (#12018)
tcoratger Oct 23, 2024
f219502
test: more unit tests for `TreeState` (#11687)
tcoratger Oct 24, 2024
4093532
chore(cli): engine cli options conflict with legacy (#11993)
rkrasiuk Oct 24, 2024
082f2cd
refactor: use op-alloy deposit signature (#12016)
caglaryucekaya Oct 24, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions .config/zepter.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
version:
format: 1
# Minimum zepter version that is expected to work. This is just for printing a nice error
# message when someone tries to use an older version.
binary: 0.13.2

# The examples in the following comments assume crate `A` to have a dependency on crate `B`.
workflows:
check:
- [
"lint",
# Check that `A` activates the features of `B`.
"propagate-feature",
# These are the features to check:
"--features=std,optimism,dev,asm-keccak,jemalloc,jemalloc-prof,tracy-allocator,serde-bincode-compat,serde,test-utils,arbitrary,bench",
# Do not try to add a new section into `[features]` of `A` only because `B` expose that feature. There are edge-cases where this is still needed, but we can add them manually.
"--left-side-feature-missing=ignore",
# Ignore the case that `A` it outside of the workspace. Otherwise it will report errors in external dependencies that we have no influence on.
"--left-side-outside-workspace=ignore",
# Auxillary flags:
"--offline",
"--locked",
"--show-path",
"--quiet",
]
default:
# Running `zepter` with no subcommand will check & fix.
- [$check.0, "--fix"]

# Will be displayed when any workflow fails:
help:
text: |
Reth uses the Zepter CLI to detect abnormalities in Cargo features, e.g. missing propagation.

It looks like one more more checks failed; please check the console output.

You can try to automatically address them by installing zepter (`cargo install zepter --locked`) and simply running `zepter` in the workspace root.
links:
- "https://github.com/paradigmxyz/reth/pull/11888"
- "https://github.com/ggwpez/zepter"
1 change: 0 additions & 1 deletion .github/assets/check_wasm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ exclude_crates=(
reth-ethereum-engine-primitives
reth-ethereum-payload-builder
reth-etl
reth-evm-ethereum
reth-exex
reth-exex-test-utils
reth-ipc
Expand Down
6 changes: 1 addition & 5 deletions .github/assets/hive/expected_failures.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,6 @@ engine-withdrawals:
- Withdrawals Fork on Canonical Block 8 / Side Block 9 - 10 Block Re-Org (Paris) (reth)
- Withdrawals Fork on Canonical Block 8 / Side Block 9 - 10 Block Re-Org Sync (Paris) (reth)

# https://github.com/paradigmxyz/reth/issues/8305
# https://github.com/paradigmxyz/reth/issues/6217
engine-api: []

# https://github.com/paradigmxyz/reth/issues/8305
Expand All @@ -58,6 +56,4 @@ engine-cancun:
- Invalid NewPayload, Incomplete VersionedHashes, Syncing=False, EmptyTxs=False, DynFeeTxs=False (Cancun) (reth)
- Invalid NewPayload, Extra VersionedHashes, Syncing=False, EmptyTxs=False, DynFeeTxs=False (Cancun) (reth)

# https://github.com/paradigmxyz/reth/issues/8579
sync:
- sync reth -> reth
sync: []
53 changes: 0 additions & 53 deletions .github/workflows/eth-sync.yml

This file was deleted.

21 changes: 19 additions & 2 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ jobs:
matrix:
include:
- type: ethereum
args: --bin reth --workspace
args: --bin reth --workspace --locked
features: "ethereum asm-keccak jemalloc jemalloc-prof min-error-logs min-warn-logs min-info-logs min-debug-logs min-trace-logs"
- type: optimism
args: --bin op-reth --workspace
args: --bin op-reth --workspace --locked
features: "optimism asm-keccak jemalloc jemalloc-prof min-error-logs min-warn-logs min-info-logs min-debug-logs min-trace-logs"
- type: book
args: --manifest-path book/sources/Cargo.toml --workspace --bins
Expand Down Expand Up @@ -219,6 +219,22 @@ jobs:
env:
RUSTFLAGS: -D warnings

# Check crates correctly propagate features
feature-propagation:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- name: fetch deps
run: |
# Eagerly pull dependencies
time cargo metadata --format-version=1 --locked > /dev/null
- name: run zepter
run: |
cargo install zepter -f --locked
zepter --version
time zepter run check

lint-success:
name: lint success
runs-on: ubuntu-latest
Expand All @@ -236,6 +252,7 @@ jobs:
- grafana
- no-test-deps
- features
- feature-propagation
timeout-minutes: 30
steps:
- name: Decide whether the needed jobs succeeded or failed
Expand Down
55 changes: 0 additions & 55 deletions .github/workflows/op-sync.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/release-dist.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Update Homebrew formula
uses: dawidd6/action-homebrew-bump-formula@v3
uses: dawidd6/action-homebrew-bump-formula@v4
with:
token: ${{ secrets.HOMEBREW }}
no_fork: true
Expand Down
63 changes: 63 additions & 0 deletions .github/workflows/sync.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Runs sync tests.

name: sync test

on:
merge_group:

env:
CARGO_TERM_COLOR: always

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
sync:
name: sync (${{ matrix.chain.bin }})
runs-on:
group: Reth
env:
RUST_LOG: info,sync=error
RUST_BACKTRACE: 1
timeout-minutes: 60
strategy:
matrix:
chain:
- build: install
bin: reth
chain: mainnet
tip: "0x91c90676cab257a59cd956d7cb0bceb9b1a71d79755c23c7277a0697ccfaf8c4"
block: 100000
unwind-target: "0x52e0509d33a988ef807058e2980099ee3070187f7333aae12b64d4d675f34c5a"
- build: install-op
bin: op-reth
chain: base
tip: "0xbb9b85352c7ebca6ba8efc63bd66cecd038c92ec8ebd02e153a3e0b197e672b7"
block: 10000
unwind-target: "0x118a6e922a8c6cab221fc5adfe5056d2b72d58c6580e9c5629de55299e2cf8de"
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- name: Build ${{ matrix.chain.bin }}
run: make ${{ matrix.chain.build }}
- name: Run sync
run: |
${{ matrix.chain.bin }} node \
--chain ${{ matrix.chain.chain }} \
--debug.tip ${{ matrix.chain.tip }} \
--debug.max-block ${{ matrix.chain.block }} \
--debug.terminate
- name: Verify the target block hash
run: |
${{ matrix.chain.bin }} db --chain ${{ matrix.chain.chain }} get static-file headers ${{ matrix.chain.block }} \
| grep ${{ matrix.chain.tip }}
- name: Run stage unwind for 100 blocks
run: |
${{ matrix.chain.bin }} stage --chain ${{ matrix.chain.chain }} unwind num-blocks 100
- name: Run stage unwind to block hash
run: |
${{ matrix.chain.bin }} stage --chain ${{ matrix.chain.chain }} unwind to-block ${{ matrix.chain.unwind-target }}
Loading