Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
662 changes: 650 additions & 12 deletions .github/assets/revive-dev-node-polkavm-resolc.json

Large diffs are not rendered by default.

14 changes: 13 additions & 1 deletion .github/assets/revive-dev-node-revm-solc.json
Original file line number Diff line number Diff line change
@@ -1 +1,13 @@
{}
{
"fixtures/solidity/complex/create/create2_many/test.json::1::E M3 S+": "Failed",
"fixtures/solidity/complex/create/create2_many/test.json::1::Y M3 S+": "Failed",
"fixtures/solidity/complex/create/create_many/test.json::1::E M3 S+": "Failed",
"fixtures/solidity/complex/create/create_many/test.json::1::Y M3 S+": "Failed",
"fixtures/solidity/translated_semantic_tests/array/array_storage_index_boundary_test/test.json::0::E M0 S-": "Failed",
"fixtures/solidity/translated_semantic_tests/array/array_storage_push_empty/test.json::0::E M0 S-": "Failed",
"fixtures/solidity/translated_semantic_tests/array/copying/bytes_storage_to_storage/test.json::0::E M0 S-": "Failed",
"fixtures/solidity/translated_semantic_tests/array/copying/nested_array_element_storage_to_memory/test.json::0::E M0 S-": "Failed",
"fixtures/solidity/translated_semantic_tests/array/copying/nested_array_element_storage_to_storage/test.json::0::E M0 S-": "Failed",
"fixtures/solidity/translated_semantic_tests/events/event_indexed_string/test.json::0::E M0 S-": "Failed",
"fixtures/solidity/translated_semantic_tests/storageLayoutSpecifier/mapping_storage_end/test.json::0::E M0 S-": "Failed"
}
4 changes: 2 additions & 2 deletions .github/workflows/tests-evm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,11 @@ jobs:
id: download
uses: ./.github/actions/get-resolc
- name: Run revive differential tests
uses: paritytech/revive-differential-tests/.github/actions/run-differential-tests@004a36f4e88228ee1331cb598c8873ab7315e3f0
uses: paritytech/revive-differential-tests/.github/actions/run-differential-tests@b9cff329db2c981f706297150c6cb1f4a5d490c3
with:
platform: ${{ matrix.platform }}
cargo-command: "forklift cargo"
revive-differential-tests-ref: "004a36f4e88228ee1331cb598c8873ab7315e3f0"
revive-differential-tests-ref: "b9cff329db2c981f706297150c6cb1f4a5d490c3"
resolc-path: ${{ steps.download.outputs.resolc-path }}
expectations-file-path: ./.github/assets/${{ matrix.platform }}.json

Expand Down
2 changes: 2 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 17 additions & 0 deletions prdoc/pr_11153.prdoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
title: '[eth-rpc]: add resumable block sync and improve CLI arguments'
doc:
- audience: Runtime Dev
description: |
### Resumable block sync
- New block_sync module syncs backward from the latest finalized block to the first EVM block, with restart-safe checkpoint tracking via a sync_state SQLite table.
- On restart, fills only the top gap (new blocks) and bottom gap (remaining backfill) without re-syncing completed ranges.
- Auto-discovers and persists `first_evm_block` — the lowest block with EVM support on the chain.
- Chain identity verification: validates stored genesis hash on startup to detect database reuse across different chains; verifies sync boundary hashes to detect pruned blocks on the connected node.

### CLI rework
New `--eth-pruning` flag replaces `--database-url`, `--cache-size`, `--index-last-n-blocks`, and `--earliest-receipt-block`:
- `--eth-pruning archive` (default): persistent on-disk DB with backward historical sync.
- `--eth-pruning <N>`: in-memory DB keeping the latest N blocks.
crates:
- name: pallet-revive-eth-rpc
bump: major

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions substrate/frame/revive/rpc/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ path = "src/main.rs"
anyhow = { workspace = true }
clap = { workspace = true, features = ["derive", "env"] }
codec = { workspace = true, features = ["derive"] }
derive_more = { workspace = true }
futures = { workspace = true, features = ["thread-pool"] }
hex = { workspace = true }
jsonrpsee = { workspace = true, features = ["full"] }
Expand Down Expand Up @@ -55,6 +56,7 @@ pallet-revive-fixtures = { workspace = true, default-features = true }
pretty_assertions = { workspace = true }
revive-dev-node = { workspace = true }
sp-io = { workspace = true, default-features = true }
tempfile = { workspace = true }

[build-dependencies]
git2 = { workspace = true }
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
CREATE TABLE IF NOT EXISTS sync_state (
label TEXT NOT NULL PRIMARY KEY,
block_number INTEGER NOT NULL,
block_hash BLOB
);
Loading
Loading