Skip to content

Commit

Permalink
Merge branch 'refs/heads/release/v2' into feat/sp1
Browse files Browse the repository at this point in the history
# Conflicts:
#	Cargo.lock
#	Cargo.toml
#	crates/core/src/executor/mod.rs
#	crates/core/src/lib.rs
  • Loading branch information
lightsing committed Sep 6, 2024
2 parents a554aaf + fa025cd commit 210ffdc
Show file tree
Hide file tree
Showing 47 changed files with 2,933 additions and 2,077 deletions.
25 changes: 17 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,6 @@ jobs:
name: Clippy
timeout-minutes: 30
runs-on: ubuntu-latest
strategy:
matrix:
target: [ "--all-targets", "--bin stateless-block-verifier" ]
features: [ "--features=\"bin-deps\"", "--features=\"bin-deps, dev\"", "--all-features" ]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
Expand All @@ -61,8 +57,18 @@ jobs:
components: clippy
- name: cargo cache
uses: Swatinem/rust-cache@v2
- name: clippy
run: cargo clippy --workspace ${{ matrix.target }} ${{ matrix.features }} -- -D warnings
- name: clippy default
run: cargo clippy --workspace -- -D warnings
- name: clippy dev
run: cargo clippy --workspace --features dev -- -D warnings
- name: clippy metrics
run: cargo clippy --workspace --features metrics -- -D warnings
- name: clippy all
run: cargo clippy --workspace --all-features -- -D warnings
- name: clippy test
run: cargo clippy --workspace --tests -- -D warnings
- name: clippy test all
run: cargo clippy --workspace --tests --all-features -- -D warnings

integration-tests:
needs: [ clippy ]
Expand All @@ -75,6 +81,8 @@ jobs:
strategy:
fail-fast: false
matrix:
network: [ "mainnet" ]
hardfork: [ "pre-bernoulli", "bernoulli", "curie", "darwin" ]
rust: [ "1.75", "nightly-2024-07-07" ]

steps:
Expand All @@ -83,10 +91,11 @@ jobs:
uses: actions/checkout@v4
with:
repository: 'scroll-tech/block-testdata'
sparse-checkout: 'mainnet_blocks/flatten-proofs'
path: 'testdata'
sparse-checkout: '${{ matrix.network }}_blocks/${{ matrix.hardfork }}'
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
- uses: Swatinem/rust-cache@v2
- run: cargo run --release --features bin-deps --package stateless-block-verifier --bin stateless-block-verifier -- -k run-file testdata/mainnet_blocks/flatten-proofs/*
- name: Test ${{ matrix.network }} ${{ matrix.hardfork }}
run: cargo run --release --package stateless-block-verifier -- run-file testdata/${{ matrix.network }}_blocks/${{ matrix.hardfork }}/*
49 changes: 49 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [2.0.0] - 2024-09-04

### Added

- Add rkyv support, support zero-copy deserialization
- Add an `ordered-db` feature gate to ensure the order when iterating over the database
- Add a new sp1 cycle tracker macro `cycle_track!` which returns wrapped expression
- Add chunk mode to work in chunk mode ([#29](https://github.com/scroll-tech/stateless-block-verifier/pull/29))
- Add openmetrics support and a `metrics` feature gate ([#33](https://github.com/scroll-tech/stateless-block-verifier/pull/33))
- Add zktrie lazy commitment ([#39](https://github.com/scroll-tech/stateless-block-verifier/pull/39))

### Fixed

- revm v40 upgrade cause `EXTCODEHASH` loads code to check if it's EOF, fixed by [revm#17](https://github.com/scroll-tech/revm/pull/17/files)
- The tx hash is ignored and the tx hash is calculated from the tx body instead
- The `from` field of the transaction trace is ignored if it's not l1 msg, the `tx.from` will be recovered from the signature instead
- `BLOBHASH` & `BLOBBASEFEE` opcodes were accidentally enabled in CURIE ([#40](https://github.com/scroll-tech/stateless-block-verifier/pull/40))

### Changed

- Code database now use the keccak code hash as key, instead of the poseidon hash of the code ([#20](https://github.com/scroll-tech/stateless-block-verifier/pull/20))
- Remove StateDB, direct query the zktrie db ([#38](https://github.com/scroll-tech/stateless-block-verifier/pull/38))
- Dependency of `eth-types` is removed ([#43](https://github.com/scroll-tech/stateless-block-verifier/pull/43))
- Dependency of `mpt-zktrie` is removed ([#45](https://github.com/scroll-tech/stateless-block-verifier/pull/45))
- Dependency of `ethers-rs` is removed ([#46](https://github.com/scroll-tech/stateless-block-verifier/pull/46))

### Removed

- `post_check` is removed as long as the command line argument `--disable-check`
- Support of legacy trace format is removed, only support the trace with codes and flatten proofs now.

## [1.0.0] - 2024-07-26

### Added

- Initial release

[unreleased]: https://github.com/scroll-tech/stateless-block-verifier/compare/2.0.0...HEAD
[2.0.0]: https://github.com/scroll-tech/stateless-block-verifier/compare/v1.0.0...v2.0.0
[1.0.0]: https://github.com/scroll-tech/stateless-block-verifier/releases/tag/v1.0.0
Loading

0 comments on commit 210ffdc

Please sign in to comment.