diff --git a/.config/nextest.toml b/.config/nextest.toml index 26b4a000b9..194f02c17a 100644 --- a/.config/nextest.toml +++ b/.config/nextest.toml @@ -1,10 +1,11 @@ [profile.default] -retries = { backoff = "exponential", count = 2, delay = "2s", jitter = true } -slow-timeout = { period = "30s", terminate-after = 4 } +default-filter = '!(test(providers::static_file::tests::test_header_truncation) or test(providers::static_file::tests::test_tx_based_truncation) or test(eth::core::tests))' +retries = { backoff = "exponential", count = 3, delay = "5s", jitter = true, max-delay = "30s" } +slow-timeout = { period = "300s", terminate-after = 6 } [[profile.default.overrides]] -filter = "test(general_state_tests)" -slow-timeout = { period = "1m", terminate-after = 10 } +filter = 'test(general_state_tests)' +slow-timeout = { period = "2m", terminate-after = 15 } [[profile.default.overrides]] filter = "test(eest_fixtures)" diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 01fe80522d..69e65037b4 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,45 +1 @@ -* @gakonst -crates/blockchain-tree-api/ @rakita @rkrasiuk @mattsse @Rjected -crates/blockchain-tree/ @rakita @rkrasiuk @mattsse @Rjected -crates/chain-state/ @fgimenez @mattsse @rkrasiuk -crates/chainspec/ @Rjected @joshieDo @mattsse -crates/cli/ @mattsse -crates/consensus/ @rkrasiuk @mattsse @Rjected -crates/e2e-test-utils/ @mattsse @Rjected -crates/engine @rkrasiuk @mattsse @Rjected -crates/engine/ @rkrasiuk @mattsse @Rjected @fgimenez -crates/era/ @mattsse @RomanHodulak -crates/errors/ @mattsse -crates/ethereum-forks/ @mattsse @Rjected -crates/ethereum/ @mattsse @Rjected -crates/etl/ @joshieDo @shekhirin -crates/evm/ @rakita @mattsse @Rjected -crates/exex/ @shekhirin -crates/net/ @mattsse @Rjected -crates/net/downloaders/ @rkrasiuk -crates/node/ @mattsse @Rjected @klkvr -crates/optimism/ @mattsse @Rjected @fgimenez -crates/payload/ @mattsse @Rjected -crates/primitives-traits/ @Rjected @RomanHodulak @mattsse @klkvr -crates/primitives/ @Rjected @mattsse @klkvr -crates/prune/ @shekhirin @joshieDo -crates/ress @rkrasiuk -crates/revm/ @mattsse @rakita -crates/rpc/ @mattsse @Rjected @RomanHodulak -crates/stages/ @rkrasiuk @shekhirin -crates/static-file/ @joshieDo @shekhirin -crates/storage/codecs/ @joshieDo -crates/storage/db-api/ @joshieDo @rakita -crates/storage/db-common/ @Rjected -crates/storage/db/ @joshieDo @rakita -crates/storage/errors/ @rakita -crates/storage/libmdbx-rs/ @rakita @shekhirin -crates/storage/nippy-jar/ @joshieDo @shekhirin -crates/storage/provider/ @rakita @joshieDo @shekhirin -crates/storage/storage-api/ @joshieDo @rkrasiuk -crates/tasks/ @mattsse -crates/tokio-util/ @fgimenez -crates/transaction-pool/ @mattsse -crates/trie/ @rkrasiuk @Rjected @shekhirin @mediocregopher -etc/ @Rjected @shekhirin -.github/ @gakonst @DaniPopes +* @cdrappi diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index b01d4518f7..a86f05c334 100644 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -121,7 +121,7 @@ body: id: terms attributes: label: Code of Conduct - description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/paradigmxyz/reth/blob/main/CONTRIBUTING.md#code-of-conduct) + description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/SeismicSystems/seismic-reth/blob/main/CONTRIBUTING.md#code-of-conduct) options: - label: I agree to follow the Code of Conduct required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index cfefdb13a6..0747827ec1 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,5 +1,5 @@ blank_issues_enabled: false contact_links: - name: GitHub Discussions - url: https://github.com/paradigmxyz/reth/discussions + url: https://github.com/SeismicSystems/seismic-reth/discussions about: Please ask and answer questions here to keep the issue tracker clean. diff --git a/.github/assets/kurtosis_network_params.yaml b/.github/assets/kurtosis_network_params.yaml index e8cc1b51dc..9dfb5b4e63 100644 --- a/.github/assets/kurtosis_network_params.yaml +++ b/.github/assets/kurtosis_network_params.yaml @@ -2,6 +2,7 @@ participants: - el_type: geth cl_type: lighthouse - el_type: reth + # TODO: add for seismic el_image: "ghcr.io/paradigmxyz/reth:kurtosis-ci" cl_type: teku additional_services: diff --git a/.github/workflows/book.yml b/.github/workflows/book.yml index 389bd34c70..0048a7459a 100644 --- a/.github/workflows/book.yml +++ b/.github/workflows/book.yml @@ -4,12 +4,16 @@ name: book on: push: - branches: [main] + branches: [seismic] pull_request: - branches: [main] + branches: [seismic] types: [opened, reopened, synchronize, closed] merge_group: +env: + CARGO_TERM_COLOR: always + CARGO_NET_GIT_FETCH_WITH_CLI: true + jobs: build: runs-on: ubuntu-latest @@ -48,8 +52,8 @@ jobs: path: "./docs/vocs/docs/dist" deploy: - # Only deploy if a push to main - if: github.ref_name == 'main' && github.event_name == 'push' + # Only deploy if a push to seismic + if: github.ref_name == 'seismic' && github.event_name == 'push' runs-on: ubuntu-latest needs: [build] diff --git a/.github/workflows/claude.yml b/.github/workflows/claude.yml new file mode 100644 index 0000000000..6b495f289e --- /dev/null +++ b/.github/workflows/claude.yml @@ -0,0 +1,162 @@ +# Requires ANTHROPIC_API_KEY secret in repo Settings > Secrets and variables > Actions. +# +# Prompt injection: the action sanitizes untrusted PR content (strips HTML comments, +# invisible chars, hidden attributes). Tools are restricted to read-only as a second layer. + +name: Claude Code PR Review + +on: + pull_request: + types: [opened, ready_for_review] + issue_comment: + types: [created] + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.event.issue.number }} + cancel-in-progress: true + +jobs: + claude: + if: > + (github.event_name == 'pull_request' && github.event.pull_request.draft == false) || + (github.event_name == 'issue_comment' && + contains(github.event.comment.body, '@claude') && + github.event.issue.pull_request && + contains(fromJSON('["OWNER","MEMBER","COLLABORATOR"]'), github.event.comment.author_association)) + runs-on: ubuntu-latest + timeout-minutes: 10 + permissions: + contents: read + pull-requests: write + + # PR_NUMBER is safe from injection: both github.event.pull_request.number + # and github.event.issue.number are integer values controlled by GitHub, + # not user-supplied strings. + env: + PR_NUMBER: ${{ github.event.pull_request.number || github.event.issue.number }} + IS_REREVIEW: ${{ github.event_name == 'issue_comment' }} + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + # Pin to commit SHA for supply chain safety. Tag: v1. + # Note: re-review mode reads PR comments (gh pr view --comments) which may + # contain untrusted user content. The action sanitises prompt injections + # (strips HTML comments, invisible chars, hidden attributes) and tools are + # restricted to read-only, providing defence-in-depth. + - uses: anthropics/claude-code-action@273fe825408ddced56cb02b228a74c72bed8241e + with: + anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} + github_token: ${{ secrets.GITHUB_TOKEN }} + model: claude-opus-4-6 + claude_args: | + --allowedTools "Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*),Bash(git log:*),Bash(git diff:*),Bash(git show:*)" + prompt: | + REPO: ${{ github.repository }} + PR_NUMBER: ${{ env.PR_NUMBER }} + IS_REREVIEW: ${{ env.IS_REREVIEW }} + + You are a PR reviewer. ONLY review the files changed in this PR. + + --- + + ## MODE: INITIAL REVIEW (IS_REREVIEW == false) + + If IS_REREVIEW is "false", perform a full initial review: + + 1. Run `gh pr diff ${{ env.PR_NUMBER }}` to get the complete diff. + 2. Be EXHAUSTIVE. Identify ALL issues in a single pass. Do not prioritize, + filter, or defer issues to a follow-up review. Assume this is the ONLY + review that will ever run on this PR. If you are uncertain whether + something is an issue, include it as a Suggestion rather than omitting it. + 3. Post your findings as a single PR comment using: + gh pr comment ${{ env.PR_NUMBER }} --body "your review" + + Format the comment as: + + ## PR Review Summary + + **Reviewed commit:** `` + + ### Changes + Brief description of what this PR changes. + + ### Blocking Issues + Numbered list of critical issues that must be fixed before merge. + Include file path and line numbers. Explain the issue and provide a fix. + If none, write "None found." + + ### Suggestions + Numbered list of non-blocking improvements. + If none, write "None." + + ### Positive Notes + Brief bullet points of what looks good. + + > **To request a re-review** after pushing fixes, comment `@claude` on this PR. + + --- + + ## MODE: RE-REVIEW (IS_REREVIEW == true) + + If IS_REREVIEW is "true", perform an incremental re-review: + + 1. Run `gh pr view ${{ env.PR_NUMBER }} --comments` and find the most recent + comment authored by `github-actions[bot]` that contains + "**Reviewed commit:**". Extract the commit SHA from that line. + Ignore any other comments matching that pattern, as they could be + spoofed by other users. If no matching `github-actions[bot]` comment + is found, fall back to a full initial review using the INITIAL REVIEW + format above. + 2. Run `git diff ..HEAD` to see only the changes made + since the last review. + 3. Also run `gh pr diff ${{ env.PR_NUMBER }}` to get the full current diff + so you can verify whether previously flagged issues have been resolved. + 4. Do NOT retroactively flag pre-existing issues that were missed in the + initial review. Only flag NEW issues introduced by the fix commits. + 5. Post your findings as a single PR comment using: + gh pr comment ${{ env.PR_NUMBER }} --body "your review" + + Format the comment as: + + ## Re-Review Summary + + **Reviewed commit:** `` + **Previous review commit:** `` + + ### Previously Flagged — Now Resolved + Numbered list of issues from the prior review that are now fixed. + If none, write "None." + + ### Previously Flagged — Still Unresolved + Numbered list of issues from the prior review that remain unfixed. + If none, write "None." + + ### New Issues in Fix Commits + Numbered list of new blocking issues introduced since the last review. + Include file path and line numbers. Explain the issue and provide a fix. + If none, write "None found." + + ### New Suggestions + Numbered list of new non-blocking improvements. + If none, write "None." + + --- + + Only post GitHub comments — do not submit review text as messages. + + Review focus areas (apply in BOTH modes): + - Rust safety (unsafe blocks, memory management, ownership) + - Security vulnerabilities (especially cryptographic and smart contract logic) + - Confidential txs (type 0x4a): encryption_pubkey/nonce handling, no plaintext leaks in logs/errors/RPC responses + - Enclave/TEE: purpose keys (tx_io_pk/tx_io_sk) never logged or serialized, mock server gated to test/dev + - EVM execution: SeismicSpecId mapping, confidential state isolation, SeismicReceipt correctness + - TxPool: RecentBlockCache block hash validation, RwLock race conditions + - RPC: signed_read_to_plaintext_tx coverage, purpose key endpoint safety + - Hardforks: Mercury activation correctness, all standard forks at genesis + - Codec backward compatibility, no libmdbx modifications + - Clippy strictness: no unwrap/expect/indexing/panic/unreachable/todo (Seismic CI enforces as errors) + - Performance and error handling + - Test coverage gaps diff --git a/.github/workflows/eth-sync.yml b/.github/workflows/eth-sync.yml new file mode 100644 index 0000000000..db6acb63d8 --- /dev/null +++ b/.github/workflows/eth-sync.yml @@ -0,0 +1,54 @@ +# Runs an ethereum mainnet sync test. + +name: eth-sync-test + +on: + pull_request: + merge_group: + push: + branches: [ main ] + +env: + CARGO_TERM_COLOR: always + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +jobs: + sync: + name: sync / 100k blocks + # Only run sync tests in merge groups + if: github.event_name == 'merge_group' + runs-on: + group: Reth + env: + RUST_LOG: info,sync=error + RUST_BACKTRACE: 1 + timeout-minutes: 60 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@v2 + with: + cache-on-failure: true + - name: Build reth + run: | + cargo install --features asm-keccak,jemalloc --path bin/reth + - name: Run sync + run: | + reth node \ + --debug.tip 0x91c90676cab257a59cd956d7cb0bceb9b1a71d79755c23c7277a0697ccfaf8c4 \ + --debug.max-block 100000 \ + --debug.terminate + - name: Verify the target block hash + run: | + reth db get static-file headers 100000 \ + | grep 0x91c90676cab257a59cd956d7cb0bceb9b1a71d79755c23c7277a0697ccfaf8c4 + - name: Run stage unwind for 100 blocks + run: | + reth stage unwind num-blocks 100 + - name: Run stage unwind to block hash + run: | + reth stage unwind to-block 0x52e0509d33a988ef807058e2980099ee3070187f7333aae12b64d4d675f34c5a + diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml new file mode 100644 index 0000000000..bf188d8aa9 --- /dev/null +++ b/.github/workflows/gh-pages.yml @@ -0,0 +1,47 @@ +name: Forkdiff Github-Pages +permissions: + contents: read + pages: write + id-token: write +on: + workflow_dispatch: + push: + branches: + - seismic + +jobs: + build: + concurrency: ci-${{ github.ref }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Build forkdiff + uses: "docker://protolambda/forkdiff:0.1.0" + with: + args: -repo=/github/workspace -fork=/github/workspace/fork.yaml -out=/github/workspace/index.html + + # upload-pages-artifact action requires the files to be in a _site folder + - name: Prepare for deployment + run: | + mkdir -p _site + mv index.html _site/ + + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + + # This needs to run in the github-pages environment to deploy successfully. For more info see: + # https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.github/workflows/kurtosis.yml b/.github/workflows/kurtosis.yml index f78fc81235..9aa30ae1c1 100644 --- a/.github/workflows/kurtosis.yml +++ b/.github/workflows/kurtosis.yml @@ -66,5 +66,5 @@ jobs: uses: rtCamp/action-slack-notify@v2 env: SLACK_COLOR: ${{ job.status }} - SLACK_MESSAGE: "Failed run: https://github.com/paradigmxyz/reth/actions/runs/${{ github.run_id }}" + SLACK_MESSAGE: "Failed run: https://github.com/SeismicSystems/seismic-reth/actions/runs/${{ github.run_id }}" SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }} diff --git a/.github/workflows/prepare-reth.yml b/.github/workflows/prepare-reth.yml index 37a9445af7..2f7f2fa4c5 100644 --- a/.github/workflows/prepare-reth.yml +++ b/.github/workflows/prepare-reth.yml @@ -24,7 +24,7 @@ on: jobs: prepare-reth: - if: github.repository == 'paradigmxyz/reth' + if: github.repository == 'SeismicSystems/seismic-reth' timeout-minutes: 45 runs-on: group: Reth diff --git a/.github/workflows/release-dist.yml b/.github/workflows/release-dist.yml index 57a6f311d0..95098b990b 100644 --- a/.github/workflows/release-dist.yml +++ b/.github/workflows/release-dist.yml @@ -16,5 +16,6 @@ jobs: with: token: ${{ secrets.HOMEBREW }} no_fork: true + # TODO: seismic tap: paradigmxyz/brew formula: reth diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7a647c2968..9bd76a95c4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -183,6 +183,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # The formatting here is borrowed from Lighthouse (which is borrowed from OpenEthereum): # https://github.com/openethereum/openethereum/blob/6c2d392d867b058ff867c4373e40850ca3f96969/.github/workflows/build.yml + # TODO: seismic run: | prerelease_flag="" if [[ "${GITHUB_REF}" == *-rc* ]]; then diff --git a/.github/workflows/seismic.yml b/.github/workflows/seismic.yml new file mode 100644 index 0000000000..50699e37c0 --- /dev/null +++ b/.github/workflows/seismic.yml @@ -0,0 +1,148 @@ +name: Seismic CI + +on: + push: + branches: [seismic] + pull_request: + branches: [seismic] + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +env: + CARGO_TERM_COLOR: always + CARGO_NET_GIT_FETCH_WITH_CLI: true + +jobs: + rustfmt: + runs-on: ubuntu-latest + timeout-minutes: 5 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + with: + components: rustfmt + - run: cargo fmt --all --check + + build: + runs-on: large-github-runner + timeout-minutes: 30 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@v2 + with: + shared-key: "build-cache" + # Removing this because build --bin seismic-reth runs in integration-test + # and this is very slow right now. + # TODO: eventually uncomment it when we open source, + # so we know other crates build correctly + # - name: cargo build + # run: cargo build + + warnings: + runs-on: ubuntu-latest + timeout-minutes: 15 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@v2 + with: + shared-key: "warnings-cache" + - name: cargo check warnings + run: RUSTFLAGS="-D warnings" cargo check + + clippy: + runs-on: ubuntu-latest + timeout-minutes: 15 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + with: + components: clippy + - uses: Swatinem/rust-cache@v2 + with: + shared-key: "clippy-cache" + - name: Clippy (seismic crates) + run: | + cargo clippy \ + -p reth-seismic-primitives \ + -p reth-seismic-chainspec \ + -p reth-seismic-evm \ + -p reth-seismic-payload-builder \ + -p reth-seismic-node \ + -p reth-seismic-rpc \ + -p reth-seismic-cli \ + -p reth-seismic-txpool \ + -p reth-seismic-forks \ + -p seismic-reth \ + --lib --tests --no-deps \ + -- -D warnings \ + -W clippy::unwrap_used \ + -W clippy::expect_used \ + -W clippy::indexing_slicing \ + -W clippy::panic \ + -W clippy::unreachable \ + -W clippy::todo + + unit-test: + runs-on: large-github-runner + timeout-minutes: 30 + env: + SEISMIC_CI: 1 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - uses: taiki-e/install-action@nextest + - uses: Swatinem/rust-cache@v2 + with: + shared-key: "integration-test-cache" + - name: seismic-node test + # see profile.default in .config/nextest.toml for filtered tests + run: cargo nextest run --workspace -E '!kind(test)' --no-fail-fast + + integration-test: + runs-on: large-github-runner + timeout-minutes: 30 + env: + SEISMIC_CI: 1 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - uses: taiki-e/install-action@nextest + - uses: Swatinem/rust-cache@v2 + with: + shared-key: "integration-test-cache" + - name: seismic-node test + # see profile.default in .config/nextest.toml for filtered tests + run: cargo nextest run --workspace -E 'kind(test)' --no-fail-fast + + viem: + runs-on: large-github-runner + timeout-minutes: 30 + env: + SRETH_ROOT: /home/runner/work/seismic-reth/seismic-reth + RETH_DATA_DIR: /home/runner/work/.seismic-reth/data + RETH_STATIC_FILES: /home/runner/work/.seismic-reth/static_files + steps: + - uses: actions/checkout@v4 + - uses: oven-sh/setup-bun@v2 + with: + bun-version: 1.2.5 + - name: Clear reth files + run: rm -rf "$RETH_DATA_DIR" && rm -rf "$RETH_STATIC_FILES" + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@v2 + with: + shared-key: "viem-cache" + - name: seismic-reth build + run: cargo build --bin seismic-reth + - name: Install dependencies + run: bun install + - name: Print seismic-viem version + run: bun pm ls -a | grep seismic-viem + - name: Run viem tests vs. reth + run: bun viem:test + - name: Remove reth files + run: rm -rf "$RETH_DATA_DIR" && rm -rf "$RETH_STATIC_FILES" diff --git a/.gitignore b/.gitignore index a9b9f4768d..5ecca65e39 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,9 @@ +# seismic-viem tests +node_modules +bun.lock* +.env +.cursor + # Generated by Cargo # will have compiled files and executables ./debug/ @@ -33,8 +39,9 @@ dist/ # Database debugging tools db-tools/ -# VSCode -.vscode +# VSCode (use .vscode/settings.local.json for local/private settings) +.vscode/* +!.vscode/settings.json # Coverage report lcov.info @@ -72,3 +79,6 @@ __pycache__/ # direnv .envrc .direnv/ + +# forkdiff output +index.html diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000000..1113f2dc1d --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "rust-analyzer.rustfmt.extraArgs": [ + "+nightly" + ] +} diff --git a/Cargo.lock b/Cargo.lock index 40057e7335..1d713ad2a4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,15 +2,6 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "addr2line" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" -dependencies = [ - "gimli", -] - [[package]] name = "adler2" version = "2.0.1" @@ -59,7 +50,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ "cfg-if", - "getrandom 0.3.3", + "getrandom 0.3.4", "once_cell", "version_check", "zerocopy", @@ -67,9 +58,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" dependencies = [ "memchr", ] @@ -97,9 +88,9 @@ checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "alloy-chains" -version = "0.2.9" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef8ff73a143281cb77c32006b04af9c047a6b8fe5860e85a88ad325328965355" +checksum = "b163ff4acf0eac29af05a911397cc418a76e153467b859398adc26cb9335a611" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -112,9 +103,9 @@ dependencies = [ [[package]] name = "alloy-consensus" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d213580c17d239ae83c0d897ac3315db7cda83d2d4936a9823cc3517552f2e24" +checksum = "90d103d3e440ad6f703dd71a5b58a6abd24834563bde8a5fabe706e00242f810" dependencies = [ "alloy-eips", "alloy-primitives", @@ -125,22 +116,23 @@ dependencies = [ "arbitrary", "auto_impl", "c-kzg", - "derive_more", + "derive_more 2.1.1", "either", "k256", "once_cell", "rand 0.8.5", "secp256k1 0.30.0", "serde", + "serde_json", "serde_with", - "thiserror 2.0.16", + "thiserror 2.0.17", ] [[package]] name = "alloy-consensus-any" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81443e3b8dccfeac7cd511aced15928c97ff253f4177acbb97de97178e543f6c" +checksum = "48ead76c8c84ab3a50c31c56bc2c748c2d64357ad2131c32f9b10ab790a25e1a" dependencies = [ "alloy-consensus", "alloy-eips", @@ -153,9 +145,9 @@ dependencies = [ [[package]] name = "alloy-contract" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de217ab604f1bcfa2e3b0aff86d50812d5931d47522f9f0a949cc263ec2d108e" +checksum = "d5903097e4c131ad2dd80d87065f23c715ccb9cdb905fa169dffab8e1e798bae" dependencies = [ "alloy-consensus", "alloy-dyn-abi", @@ -170,21 +162,22 @@ dependencies = [ "futures", "futures-util", "serde_json", - "thiserror 2.0.16", + "thiserror 2.0.17", ] [[package]] name = "alloy-dyn-abi" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f56873f3cac7a2c63d8e98a4314b8311aa96adb1a0f82ae923eb2119809d2c" +version = "1.4.1" +source = "git+https://github.com/SeismicSystems/seismic-alloy-core.git?rev=68313cb636365501a699c47865807158544eace1#68313cb636365501a699c47865807158544eace1" dependencies = [ "alloy-json-abi", "alloy-primitives", "alloy-sol-type-parser", "alloy-sol-types", - "derive_more", + "arbitrary", + "derive_more 2.1.1", "itoa", + "proptest", "serde", "serde_json", "winnow", @@ -202,43 +195,45 @@ dependencies = [ "crc", "rand 0.8.5", "serde", - "thiserror 2.0.16", + "thiserror 2.0.17", ] [[package]] name = "alloy-eip2930" -version = "0.2.1" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b82752a889170df67bbb36d42ca63c531eb16274f0d7299ae2a680facba17bd" +checksum = "9441120fa82df73e8959ae0e4ab8ade03de2aaae61be313fbf5746277847ce25" dependencies = [ "alloy-primitives", "alloy-rlp", "arbitrary", + "borsh", "rand 0.8.5", "serde", ] [[package]] name = "alloy-eip7702" -version = "0.6.1" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d4769c6ffddca380b0070d71c8b7f30bed375543fe76bb2f74ec0acf4b7cd16" +checksum = "2919c5a56a1007492da313e7a3b6d45ef5edc5d33416fdec63c0d7a2702a0d20" dependencies = [ "alloy-primitives", "alloy-rlp", "arbitrary", + "borsh", "k256", "rand 0.8.5", "serde", "serde_with", - "thiserror 2.0.16", + "thiserror 2.0.17", ] [[package]] name = "alloy-eips" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a15b4b0f6bab47aae017d52bb5a739bda381553c09fb9918b7172721ef5f5de" +checksum = "7bdbec74583d0067798d77afa43d58f00d93035335d7ceaa5d3f93857d461bb9" dependencies = [ "alloy-eip2124", "alloy-eip2930", @@ -249,21 +244,20 @@ dependencies = [ "arbitrary", "auto_impl", "c-kzg", - "derive_more", + "derive_more 2.1.1", "either", "ethereum_ssz", "ethereum_ssz_derive", "serde", "serde_with", - "sha2 0.10.9", - "thiserror 2.0.16", + "sha2", + "thiserror 2.0.17", ] [[package]] name = "alloy-evm" version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dbe7c66c859b658d879b22e8aaa19546dab726b0639f4649a424ada3d99349e" +source = "git+https://github.com/SeismicSystems/seismic-evm.git?rev=aef8ee6355075dc48c376b25c2580ef3a22372f5#aef8ee6355075dc48c376b25c2580ef3a22372f5" dependencies = [ "alloy-consensus", "alloy-eips", @@ -272,18 +266,20 @@ dependencies = [ "alloy-rpc-types-eth", "alloy-sol-types", "auto_impl", - "derive_more", + "derive_more 2.1.1", "op-alloy-consensus", "op-revm", "revm", - "thiserror 2.0.16", + "seismic-alloy-consensus", + "seismic-revm", + "thiserror 2.0.17", ] [[package]] name = "alloy-genesis" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ba1cbc25a07e0142e8875fcbe80e1fdb02be8160ae186b90f4b9a69a72ed2b" +checksum = "c25d5acb35706e683df1ea333c862bdb6b7c5548836607cd5bb56e501cca0b4f" dependencies = [ "alloy-eips", "alloy-primitives", @@ -309,9 +305,8 @@ dependencies = [ [[package]] name = "alloy-json-abi" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "125a1c373261b252e53e04d6e92c37d881833afc1315fceab53fd46045695640" +version = "1.4.1" +source = "git+https://github.com/SeismicSystems/seismic-alloy-core.git?rev=68313cb636365501a699c47865807158544eace1#68313cb636365501a699c47865807158544eace1" dependencies = [ "alloy-primitives", "alloy-sol-type-parser", @@ -321,24 +316,24 @@ dependencies = [ [[package]] name = "alloy-json-rpc" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8882ec8e4542cfd02aadc6dccbe90caa73038f60016d936734eb6ced53d2167" +checksum = "31b67c5a702121e618217f7a86f314918acb2622276d0273490e2d4534490bc0" dependencies = [ "alloy-primitives", "alloy-sol-types", "http", "serde", "serde_json", - "thiserror 2.0.16", + "thiserror 2.0.17", "tracing", ] [[package]] name = "alloy-network" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d6d87d588bda509881a7a66ae77c86514bd1193ac30fbff0e0f24db95eb5a5" +checksum = "612296e6b723470bb1101420a73c63dfd535aa9bf738ce09951aedbd4ab7292e" dependencies = [ "alloy-consensus", "alloy-consensus-any", @@ -353,18 +348,18 @@ dependencies = [ "alloy-sol-types", "async-trait", "auto_impl", - "derive_more", + "derive_more 2.1.1", "futures-utils-wasm", "serde", "serde_json", - "thiserror 2.0.16", + "thiserror 2.0.17", ] [[package]] name = "alloy-network-primitives" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b14fa9ba5774e0b30ae6a04176d998211d516c8af69c9c530af7c6c42a8c508" +checksum = "a0e7918396eecd69d9c907046ec8a93fb09b89e2f325d5e7ea9c4e3929aa0dd2" dependencies = [ "alloy-consensus", "alloy-eips", @@ -373,23 +368,6 @@ dependencies = [ "serde", ] -[[package]] -name = "alloy-op-evm" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed9b726869a13d5d958f2f78fbef7ce522689c4d40d613c16239f5e286fbeb1a" -dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-evm", - "alloy-op-hardforks", - "alloy-primitives", - "auto_impl", - "op-alloy-consensus", - "op-revm", - "revm", -] - [[package]] name = "alloy-op-hardforks" version = "0.3.1" @@ -404,26 +382,25 @@ dependencies = [ [[package]] name = "alloy-primitives" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc9485c56de23438127a731a6b4c87803d49faf1a7068dcd1d8768aca3a9edb9" +version = "1.4.1" +source = "git+https://github.com/SeismicSystems/seismic-alloy-core.git?rev=68313cb636365501a699c47865807158544eace1#68313cb636365501a699c47865807158544eace1" dependencies = [ "alloy-rlp", "arbitrary", "bytes", "cfg-if", "const-hex", - "derive_more", - "foldhash", - "getrandom 0.3.3", - "hashbrown 0.15.5", - "indexmap 2.11.0", + "derive_more 2.1.1", + "foldhash 0.2.0", + "getrandom 0.3.4", + "hashbrown 0.16.1", + "indexmap 2.12.1", "itoa", "k256", "keccak-asm", "paste", "proptest", - "proptest-derive", + "proptest-derive 0.6.0", "rand 0.9.2", "ruint", "rustc-hash 2.1.1", @@ -434,9 +411,9 @@ dependencies = [ [[package]] name = "alloy-provider" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "475a5141313c3665b75d818be97d5fa3eb5e0abb7e832e9767edd94746db28e3" +checksum = "55c1313a527a2e464d067c031f3c2ec073754ef615cc0eabca702fd0fe35729c" dependencies = [ "alloy-chains", "alloy-consensus", @@ -470,7 +447,7 @@ dependencies = [ "reqwest", "serde", "serde_json", - "thiserror 2.0.16", + "thiserror 2.0.17", "tokio", "tracing", "url", @@ -479,9 +456,9 @@ dependencies = [ [[package]] name = "alloy-pubsub" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f97c18795ce1ce8151c5539ce1e4200940389674173f677c7455f79bfb00e5df" +checksum = "810766eeed6b10ffa11815682b3f37afc5019809e3b470b23555297d5770ce63" dependencies = [ "alloy-json-rpc", "alloy-primitives", @@ -494,7 +471,7 @@ dependencies = [ "serde_json", "tokio", "tokio-stream", - "tower", + "tower 0.5.2", "tracing", "wasmtimer", ] @@ -518,14 +495,14 @@ checksum = "64b728d511962dda67c1bc7ea7c03736ec275ed2cf4c35d9585298ac9ccf3b73" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] name = "alloy-rpc-client" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25289674cd8c58fcca2568b5350423cb0dd7bca8c596c5e2869bfe4c5c57ed14" +checksum = "45f802228273056528dfd6cc8845cc91a7c7e0c6fc1a66d19e8673743dacdc7e" dependencies = [ "alloy-json-rpc", "alloy-primitives", @@ -541,7 +518,7 @@ dependencies = [ "serde_json", "tokio", "tokio-stream", - "tower", + "tower 0.5.2", "tracing", "url", "wasmtimer", @@ -549,9 +526,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39676beaa50db545cf15447fc94ec5513b64e85a48357a0625b9a04aef08a910" +checksum = "33ff3df608dcabd6bdd197827ff2b8faaa6cefe0c462f7dc5e74108666a01f56" dependencies = [ "alloy-primitives", "alloy-rpc-types-engine", @@ -562,9 +539,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-admin" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65acc9264342069decb617aa344847f55180ba3aeab1c8d1db062d0619881029" +checksum = "00e11a40c917c704888aa5aa6ffa563395123b732868d2e072ec7dd46c3d4672" dependencies = [ "alloy-genesis", "alloy-primitives", @@ -574,9 +551,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-anvil" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9c8cad42fa936000be72ab80fcd97386a6a226c35c2989212756da9e76c1521" +checksum = "ac2bc988d7455e02dfb53460e1caa61f932b3f8452e12424e68ba8dcf60bba90" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", @@ -586,9 +563,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-any" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01bac57c987c93773787619e20f89167db74d460a2d1d40f591d94fb7c22c379" +checksum = "cdbf6d1766ca41e90ac21c4bc5cbc5e9e965978a25873c3f90b3992d905db4cb" dependencies = [ "alloy-consensus-any", "alloy-rpc-types-eth", @@ -597,40 +574,41 @@ dependencies = [ [[package]] name = "alloy-rpc-types-beacon" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d3c0e6cc87a8be5582d08f929f96db25843f44cb636a0985a4a6bf02609c02f" +checksum = "ab94e446a003dcef86843eea60d05a6cec360eb8e1829e4cf388ef94d799b5cf" dependencies = [ "alloy-eips", "alloy-primitives", "alloy-rpc-types-engine", + "derive_more 2.1.1", "ethereum_ssz", "ethereum_ssz_derive", "serde", "serde_json", "serde_with", - "thiserror 2.0.16", + "thiserror 2.0.17", "tree_hash", "tree_hash_derive", ] [[package]] name = "alloy-rpc-types-debug" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2fe118e6c152d54cb4549b9835fb87d38b12754bb121375183ee3ec84bd0849" +checksum = "977698b458738369ba5ca645d2cdb4d51ba07a81db37306ff85322853161ea3a" dependencies = [ "alloy-primitives", - "derive_more", + "derive_more 2.1.1", "serde", "serde_with", ] [[package]] name = "alloy-rpc-types-engine" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72a41624eb84bc743e414198bf10eb48b611a5554d6a9fd6205f7384d57dfd7f" +checksum = "07da696cc7fbfead4b1dda8afe408685cae80975cbb024f843ba74d9639cd0d3" dependencies = [ "alloy-consensus", "alloy-eips", @@ -638,7 +616,7 @@ dependencies = [ "alloy-rlp", "alloy-serde", "arbitrary", - "derive_more", + "derive_more 2.1.1", "ethereum_ssz", "ethereum_ssz_derive", "jsonwebtoken", @@ -649,9 +627,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-eth" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd1e1b4dcdf13eaa96343e5c0dafc2d2e8ce5d20b90347169d46a1df0dec210" +checksum = "a15e4831b71eea9d20126a411c1c09facf1d01d5cac84fd51d532d3c429cfc26" dependencies = [ "alloy-consensus", "alloy-consensus-any", @@ -666,14 +644,14 @@ dependencies = [ "serde", "serde_json", "serde_with", - "thiserror 2.0.16", + "thiserror 2.0.17", ] [[package]] name = "alloy-rpc-types-mev" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01620baa48d3f49fc908c781eb91ded71f3226e719bb6404697c2851cac4e098" +checksum = "4c5d8f6f2c3b68af83a32d5c7fa1353d9b2e30441a3f0b8c3c5657c603b7238c" dependencies = [ "alloy-consensus", "alloy-eips", @@ -686,23 +664,23 @@ dependencies = [ [[package]] name = "alloy-rpc-types-trace" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc33d9d0e0b3cfe9c2e82a1a427c9ed516fcfebe764f0adf7ceb8107f702dd1" +checksum = "fb0c800e2ce80829fca1491b3f9063c29092850dc6cf19249d5f678f0ce71bb0" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", "alloy-serde", "serde", "serde_json", - "thiserror 2.0.16", + "thiserror 2.0.17", ] [[package]] name = "alloy-rpc-types-txpool" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fa9e9b3e613425d2a2ee1a322bdad5f1cedf835406fd4b59538822500b44bc" +checksum = "2f82e3068673a3cf93fbbc2f60a59059395cd54bbe39af895827faa5e641cc8f" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", @@ -710,11 +688,28 @@ dependencies = [ "serde", ] +[[package]] +name = "alloy-seismic-evm" +version = "0.20.1" +source = "git+https://github.com/SeismicSystems/seismic-evm.git?rev=aef8ee6355075dc48c376b25c2580ef3a22372f5#aef8ee6355075dc48c376b25c2580ef3a22372f5" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-evm", + "alloy-hardforks", + "alloy-primitives", + "auto_impl", + "revm", + "seismic-alloy-consensus", + "seismic-enclave", + "seismic-revm", +] + [[package]] name = "alloy-serde" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1b3b1078b8775077525bc9fe9f6577e815ceaecd6c412a4f3b4d8aa2836e8f6" +checksum = "751d1887f7d202514a82c5b3caf28ee8bd4a2ad9549e4f498b6f0bff99b52add" dependencies = [ "alloy-primitives", "arbitrary", @@ -724,9 +719,9 @@ dependencies = [ [[package]] name = "alloy-signer" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10ab1b8d4649bf7d0db8ab04e31658a6cc20364d920795484d886c35bed3bab4" +checksum = "9cf0b42ffbf558badfecf1dde0c3c5ed91f29bb7e97876d0bed008c3d5d67171" dependencies = [ "alloy-primitives", "async-trait", @@ -734,14 +729,14 @@ dependencies = [ "either", "elliptic-curve", "k256", - "thiserror 2.0.16", + "thiserror 2.0.17", ] [[package]] name = "alloy-signer-local" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bdeec36c8d9823102b571b3eab8b323e053dc19c12da14a9687bd474129bf2a" +checksum = "3e7d555ee5f27be29af4ae312be014b57c6cff9acb23fe2cf008500be6ca7e33" dependencies = [ "alloy-consensus", "alloy-network", @@ -752,63 +747,60 @@ dependencies = [ "coins-bip39", "k256", "rand 0.8.5", - "thiserror 2.0.16", + "thiserror 2.0.17", "zeroize", ] [[package]] name = "alloy-sol-macro" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d20d867dcf42019d4779519a1ceb55eba8d7f3d0e4f0a89bcba82b8f9eb01e48" +version = "1.4.1" +source = "git+https://github.com/SeismicSystems/seismic-alloy-core.git?rev=68313cb636365501a699c47865807158544eace1#68313cb636365501a699c47865807158544eace1" dependencies = [ "alloy-sol-macro-expander", "alloy-sol-macro-input", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] name = "alloy-sol-macro-expander" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b74e91b0b553c115d14bd0ed41898309356dc85d0e3d4b9014c4e7715e48c8ad" +version = "1.4.1" +source = "git+https://github.com/SeismicSystems/seismic-alloy-core.git?rev=68313cb636365501a699c47865807158544eace1#68313cb636365501a699c47865807158544eace1" dependencies = [ "alloy-sol-macro-input", "const-hex", "heck", - "indexmap 2.11.0", + "indexmap 2.12.1", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", "syn-solidity", "tiny-keccak", ] [[package]] name = "alloy-sol-macro-input" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84194d31220803f5f62d0a00f583fd3a062b36382e2bea446f1af96727754565" +version = "1.4.1" +source = "git+https://github.com/SeismicSystems/seismic-alloy-core.git?rev=68313cb636365501a699c47865807158544eace1#68313cb636365501a699c47865807158544eace1" dependencies = [ + "alloy-json-abi", "const-hex", "dunce", "heck", "macro-string", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", "syn-solidity", ] [[package]] name = "alloy-sol-type-parser" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe8c27b3cf6b2bb8361904732f955bc7c05e00be5f469cec7e2280b6167f3ff0" +version = "1.4.1" +source = "git+https://github.com/SeismicSystems/seismic-alloy-core.git?rev=68313cb636365501a699c47865807158544eace1#68313cb636365501a699c47865807158544eace1" dependencies = [ "serde", "winnow", @@ -816,35 +808,34 @@ dependencies = [ [[package]] name = "alloy-sol-types" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5383d34ea00079e6dd89c652bcbdb764db160cef84e6250926961a0b2295d04" +version = "1.4.1" +source = "git+https://github.com/SeismicSystems/seismic-alloy-core.git?rev=68313cb636365501a699c47865807158544eace1#68313cb636365501a699c47865807158544eace1" dependencies = [ "alloy-json-abi", "alloy-primitives", "alloy-sol-macro", + "arbitrary", "serde", ] [[package]] name = "alloy-transport" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce5129146a76ca6139a19832c75ad408857a56bcd18cd2c684183b8eacd78d8" +checksum = "71b3deee699d6f271eab587624a9fa84d02d0755db7a95a043d52a6488d16ebe" dependencies = [ "alloy-json-rpc", - "alloy-primitives", "auto_impl", "base64 0.22.1", - "derive_more", + "derive_more 2.1.1", "futures", "futures-utils-wasm", "parking_lot", "serde", "serde_json", - "thiserror 2.0.16", + "thiserror 2.0.17", "tokio", - "tower", + "tower 0.5.2", "tracing", "url", "wasmtimer", @@ -852,24 +843,24 @@ dependencies = [ [[package]] name = "alloy-transport-http" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2379d998f46d422ec8ef2b61603bc28cda931e5e267aea1ebe71f62da61d101" +checksum = "1720bd2ba8fe7e65138aca43bb0f680e4e0bcbd3ca39bf9d3035c9d7d2757f24" dependencies = [ "alloy-json-rpc", "alloy-transport", "reqwest", "serde_json", - "tower", + "tower 0.5.2", "tracing", "url", ] [[package]] name = "alloy-transport-ipc" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "041aa5db2e907692a9a93a0a908057665c03e59364e1fbbeed613511a0159289" +checksum = "ea89c214c7ddd2bcad100da929d6b642bbfed85788caf3b1be473abacd3111f9" dependencies = [ "alloy-json-rpc", "alloy-pubsub", @@ -887,9 +878,9 @@ dependencies = [ [[package]] name = "alloy-transport-ws" -version = "1.0.30" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6d44395e6793566e9c89bd82297cc4b0566655c1e78a1d69362640814784cc6" +checksum = "571aadf0afce0d515a28b2c6352662a39cb9f48b4eeff9a5c34557d6ea126730" dependencies = [ "alloy-pubsub", "alloy-transport", @@ -906,18 +897,17 @@ dependencies = [ [[package]] name = "alloy-trie" version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3412d52bb97c6c6cc27ccc28d4e6e8cf605469101193b50b0bd5813b1f990b5" +source = "git+https://github.com/SeismicSystems/seismic-trie.git?rev=d8425918ced1d62043c3a64b382d6fa1d8c25518#d8425918ced1d62043c3a64b382d6fa1d8c25518" dependencies = [ "alloy-primitives", "alloy-rlp", "arbitrary", "arrayvec", "derive_arbitrary", - "derive_more", + "derive_more 2.1.1", "nybbles", "proptest", - "proptest-derive", + "proptest-derive 0.5.1", "serde", "smallvec", "tracing", @@ -925,23 +915,16 @@ dependencies = [ [[package]] name = "alloy-tx-macros" -version = "1.0.30" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b5becb9c269a7d05a2f28d549f86df5a5dbc923e2667eff84fdecac8cda534c" +checksum = "99dac443033e83b14f68fac56e8c27e76421f1253729574197ceccd06598f3ef" dependencies = [ - "alloy-primitives", "darling 0.21.3", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - [[package]] name = "android_system_properties" version = "0.1.5" @@ -959,9 +942,9 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" [[package]] name = "anstream" -version = "0.6.20" +version = "0.6.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192" +checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" dependencies = [ "anstyle", "anstyle-parse", @@ -974,9 +957,9 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.11" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" +checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" [[package]] name = "anstyle-parse" @@ -989,29 +972,29 @@ dependencies = [ [[package]] name = "anstyle-query" -version = "1.1.4" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2" +checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] name = "anstyle-wincon" -version = "3.0.10" +version = "3.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a" +checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", "once_cell_polyfill", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] name = "anyhow" -version = "1.0.99" +version = "1.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0674a1ddeecb70197781e945de4b3b8ffb61fa939a5597bcf48503737663100" +checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" [[package]] name = "aquamarine" @@ -1024,7 +1007,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -1166,7 +1149,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" dependencies = [ "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -1204,7 +1187,7 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -1293,7 +1276,7 @@ checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -1353,22 +1336,11 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" -[[package]] -name = "async-channel" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" -dependencies = [ - "concurrent-queue", - "event-listener", - "futures-core", -] - [[package]] name = "async-compression" -version = "0.4.30" +version = "0.4.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "977eb15ea9efd848bb8a4a1a2500347ed7f0bf794edf0dc3ddcf439f43d36b23" +checksum = "98ec5f6c2f8bc326c994cb9e241cc257ddaba9afa8555a43cffbb5dd86efaa37" dependencies = [ "compression-codecs", "compression-core", @@ -1377,20 +1349,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "async-sse" -version = "5.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e6fa871e4334a622afd6bb2f611635e8083a6f5e2936c0f90f37c7ef9856298" -dependencies = [ - "async-channel", - "futures-lite", - "http-types", - "log", - "memchr", - "pin-project-lite", -] - [[package]] name = "async-stream" version = "0.3.6" @@ -1410,7 +1368,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -1421,7 +1379,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -1459,7 +1417,7 @@ checksum = "ffdcb70bdbc4d478427380519163274ac86e52916e10f0a8889adf0f96d3fee7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -1476,29 +1434,14 @@ checksum = "7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973" [[package]] name = "backon" -version = "1.5.2" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "592277618714fbcecda9a02ba7a8781f319d26532a88553bbacc77ba5d2b3a8d" +checksum = "cffb0e931875b666fc4fcb20fee52e9bbd1ef836fd9e9e04ec21555f9f85f7ef" dependencies = [ - "fastrand 2.3.0", + "fastrand", "tokio", ] -[[package]] -name = "backtrace" -version = "0.3.75" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" -dependencies = [ - "addr2line", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", - "windows-targets 0.52.6", -] - [[package]] name = "base-x" version = "0.2.11" @@ -1512,10 +1455,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" [[package]] -name = "base64" -version = "0.13.1" +name = "base256emoji" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +checksum = "b5e9430d9a245a77c92176e649af6e275f20839a48389859d1661e9a128d077c" +dependencies = [ + "const-str", + "match-lookup", +] [[package]] name = "base64" @@ -1531,9 +1478,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" -version = "1.8.0" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" +checksum = "7d809780667f4410e7c41b07f52439b94d2bdf8528eeedc287fa38d3b7f95d82" [[package]] name = "bech32" @@ -1582,7 +1529,7 @@ version = "0.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "cexpr", "clang-sys", "itertools 0.13.0", @@ -1591,7 +1538,25 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.106", + "syn 2.0.113", +] + +[[package]] +name = "bindgen" +version = "0.72.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" +dependencies = [ + "bitflags 2.10.0", + "cexpr", + "clang-sys", + "itertools 0.13.0", + "proc-macro2", + "quote", + "regex", + "rustc-hash 2.1.1", + "shlex", + "syn 2.0.113", ] [[package]] @@ -1611,15 +1576,15 @@ checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" [[package]] name = "bitcoin-io" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b47c4ab7a93edb0c7198c5535ed9b52b63095f4e9b45279c6736cec4b856baf" +checksum = "2dee39a0ee5b4095224a0cfc6bf4cc1baf0f9624b96b367e53b66d974e51d953" [[package]] name = "bitcoin_hashes" -version = "0.14.0" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb18c03d0db0247e147a21a6faafd5a7eb851c743db062de72018b6b7e8e4d16" +checksum = "26ec84b80c482df901772e931a9a681e26a1b9ee2302edeff23cb30328745c8b" dependencies = [ "bitcoin-io", "hex-conservative", @@ -1633,12 +1598,12 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.9.4" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" dependencies = [ "arbitrary", - "serde", + "serde_core", ] [[package]] @@ -1654,15 +1619,6 @@ dependencies = [ "wyz", ] -[[package]] -name = "block-buffer" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" -dependencies = [ - "generic-array", -] - [[package]] name = "block-buffer" version = "0.10.4" @@ -1683,9 +1639,9 @@ dependencies = [ [[package]] name = "blst" -version = "0.3.15" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fd49896f12ac9b6dcd7a5998466b9b58263a695a3dd1ecc1aaca2e12a90b080" +checksum = "dcdb4c7013139a150f9fc55d123186dbfaba0d912817466282c73ac49e71fb45" dependencies = [ "cc", "glob", @@ -1699,11 +1655,11 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c340fe0f0b267787095cbe35240c6786ff19da63ec7b69367ba338eace8169b" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "boa_interner", "boa_macros", "boa_string", - "indexmap 2.11.0", + "indexmap 2.12.1", "num-bigint", "rustc-hash 2.1.1", ] @@ -1715,7 +1671,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f620c3f06f51e65c0504ddf04978be1b814ac6586f0b45f6019801ab5efd37f9" dependencies = [ "arrayvec", - "bitflags 2.9.4", + "bitflags 2.10.0", "boa_ast", "boa_gc", "boa_interner", @@ -1729,7 +1685,7 @@ dependencies = [ "fast-float2", "hashbrown 0.15.5", "icu_normalizer 1.5.0", - "indexmap 2.11.0", + "indexmap 2.12.1", "intrusive-collections", "itertools 0.13.0", "num-bigint", @@ -1749,7 +1705,7 @@ dependencies = [ "static_assertions", "tap", "thin-vec", - "thiserror 2.0.16", + "thiserror 2.0.17", "time", ] @@ -1775,9 +1731,9 @@ dependencies = [ "boa_gc", "boa_macros", "hashbrown 0.15.5", - "indexmap 2.11.0", + "indexmap 2.12.1", "once_cell", - "phf", + "phf 0.11.3", "rustc-hash 2.1.1", "static_assertions", ] @@ -1790,7 +1746,7 @@ checksum = "9fd3f870829131332587f607a7ff909f1af5fc523fd1b192db55fbbdf52e8d3c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", "synstructure", ] @@ -1800,7 +1756,7 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9cc142dac798cdc6e2dbccfddeb50f36d2523bb977a976e19bdb3ae19b740804" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "boa_ast", "boa_interner", "boa_macros", @@ -1832,11 +1788,34 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "borsh" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1da5ab77c1437701eeff7c88d968729e7766172279eab0676857b3d63af7a6f" +dependencies = [ + "borsh-derive", + "cfg_aliases", +] + +[[package]] +name = "borsh-derive" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0686c856aa6aac0c4498f936d7d6a02df690f614c03e4d906d1018062b5c5e2c" +dependencies = [ + "once_cell", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.113", +] + [[package]] name = "boyer-moore-magiclen" -version = "0.2.20" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95e6233f2d926b5b123caf9d58e3885885255567fbe7776a7fdcae2a4d7241c4" +checksum = "7441b4796eb8a7107d4cd99d829810be75f5573e1081c37faa0e8094169ea0d6" dependencies = [ "debug-helper", ] @@ -1868,15 +1847,15 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" dependencies = [ - "sha2 0.10.9", + "sha2", "tinyvec", ] [[package]] name = "bstr" -version = "1.12.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4" +checksum = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" dependencies = [ "memchr", "regex-automata", @@ -1885,9 +1864,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.19.0" +version = "3.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" +checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" [[package]] name = "byte-slice-cast" @@ -1903,22 +1882,22 @@ checksum = "175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e" [[package]] name = "bytemuck" -version = "1.23.2" +version = "1.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3995eaeebcdf32f91f980d360f78732ddc061097ab4e39991ae7a6ace9194677" +checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.10.1" +version = "1.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f154e572231cb6ba2bd1176980827e3d5dc04cc183a75dea38109fbdd672d29" +checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -1929,18 +1908,18 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" +checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" dependencies = [ "serde", ] [[package]] name = "c-kzg" -version = "2.1.1" +version = "2.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7318cfa722931cb5fe0838b98d3ce5621e75f6a6408abc21721d80de9223f2e4" +checksum = "e00bf4b112b07b505472dbefd19e37e53307e2bfed5a79e0cc161d58ccd0e687" dependencies = [ "arbitrary", "blst", @@ -1954,11 +1933,11 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.12" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd0b03af37dad7a14518b7691d81acb0f8222604ad3d1b02f6b4bed5188c0cd5" +checksum = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48" dependencies = [ - "serde", + "serde_core", ] [[package]] @@ -1978,7 +1957,7 @@ checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" dependencies = [ "camino", "cargo-platform", - "semver 1.0.26", + "semver 1.0.27", "serde", "serde_json", ] @@ -1991,10 +1970,10 @@ checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba" dependencies = [ "camino", "cargo-platform", - "semver 1.0.26", + "semver 1.0.27", "serde", "serde_json", - "thiserror 2.0.16", + "thiserror 2.0.17", ] [[package]] @@ -2046,9 +2025,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "cfg_aliases" @@ -2058,17 +2037,16 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" -version = "0.4.41" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" +checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" dependencies = [ - "android-tzdata", "iana-time-zone", "js-sys", "num-traits", "serde", "wasm-bindgen", - "windows-link 0.1.3", + "windows-link", ] [[package]] @@ -2121,9 +2099,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.47" +version = "4.5.54" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eac00902d9d136acd712710d71823fb8ac8004ca445a89e73a41d45aa712931" +checksum = "c6e6ff9dcd79cff5cd969a17a545d79e84ab086e444102a591e288a8aa3ce394" dependencies = [ "clap_builder", "clap_derive", @@ -2131,9 +2109,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.47" +version = "4.5.54" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ad9bbf750e73b5884fb8a211a9424a1906c1e156724260fdae972f31d70e1d6" +checksum = "fa42cf4d2b7a41bc8f663a7cab4031ebafa1bf3875705bfaf8466dc60ab52c00" dependencies = [ "anstream", "anstyle", @@ -2143,21 +2121,21 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.47" +version = "4.5.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbfd7eae0b0f1a6e63d4b13c9c478de77c2eb546fba158ad50b4203dc24b9f9c" +checksum = "2a0b5487afeab2deb2ff4e03a807ad1a03ac532ff5a2cee5d86884440c7f7671" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] name = "clap_lex" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" +checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d" [[package]] name = "cmake" @@ -2235,7 +2213,7 @@ dependencies = [ "hmac", "k256", "serde", - "sha2 0.10.9", + "sha2", "thiserror 1.0.69", ] @@ -2251,7 +2229,7 @@ dependencies = [ "once_cell", "pbkdf2", "rand 0.8.5", - "sha2 0.10.9", + "sha2", "thiserror 1.0.69", ] @@ -2269,7 +2247,7 @@ dependencies = [ "generic-array", "ripemd", "serde", - "sha2 0.10.9", + "sha2", "sha3", "thiserror 1.0.69", ] @@ -2302,9 +2280,9 @@ dependencies = [ [[package]] name = "comfy-table" -version = "7.2.0" +version = "7.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f8e18d0dca9578507f13f9803add0df13362b02c501c1c17734f0dbb52eaf0b" +checksum = "b03b7db8e0b4b2fdad6c551e634134e99ec000e5c8c3b6856c65e8bbaded7a3b" dependencies = [ "crossterm 0.29.0", "unicode-segmentation", @@ -2327,9 +2305,9 @@ dependencies = [ [[package]] name = "compression-codecs" -version = "0.4.30" +version = "0.4.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "485abf41ac0c8047c07c87c72c8fb3eb5197f6e9d7ded615dfd1a00ae00a0f64" +checksum = "b0f7ac3e5b97fdce45e8922fb05cae2c37f7bbd63d30dd94821dacfd8f3f2bf2" dependencies = [ "brotli", "compression-core", @@ -2341,9 +2319,9 @@ dependencies = [ [[package]] name = "compression-core" -version = "0.4.29" +version = "0.4.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e47641d3deaf41fb1538ac1f54735925e275eaf3bf4d55c81b137fba797e5cbb" +checksum = "75984efb6ed102a0d42db99afb6c1948f0380d1d91808d5529916e6c08b49d8d" [[package]] name = "concat-kdf" @@ -2354,15 +2332,6 @@ dependencies = [ "digest 0.10.7", ] -[[package]] -name = "concurrent-queue" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" -dependencies = [ - "crossbeam-utils", -] - [[package]] name = "console" version = "0.15.11" @@ -2377,15 +2346,14 @@ dependencies = [ [[package]] name = "const-hex" -version = "1.15.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dccd746bf9b1038c0507b7cec21eb2b11222db96a2902c96e8c185d6d20fb9c4" +checksum = "3bb320cac8a0750d7f25280aa97b09c26edfe161164238ecbbb31092b079e735" dependencies = [ "cfg-if", "cpufeatures", - "hex", "proptest", - "serde", + "serde_core", ] [[package]] @@ -2394,11 +2362,17 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" +[[package]] +name = "const-str" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f421161cb492475f1661ddc9815a745a1c894592070661180fdec3d4872e9c3" + [[package]] name = "const_format" -version = "0.2.34" +version = "0.2.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "126f97965c8ad46d6d9163268ff28432e8f6a1196a55578867832e3049df63dd" +checksum = "7faa7469a93a566e9ccc1c73fe783b4a65c274c5ace346038dca9c39fe0030ad" dependencies = [ "const_format_proc_macros", ] @@ -2423,6 +2397,25 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "convert_case" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "633458d4ef8c78b72454de2d54fd6ab2e60f9e02be22f3c6104cdc8a4e0fceb9" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "core-foundation" version = "0.10.1" @@ -2459,9 +2452,9 @@ dependencies = [ [[package]] name = "crc" -version = "3.3.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" +checksum = "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d" dependencies = [ "crc-catalog", ] @@ -2537,7 +2530,7 @@ version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "crossterm_winapi", "mio", "parking_lot", @@ -2553,11 +2546,11 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "crossterm_winapi", "document-features", "parking_lot", - "rustix 1.0.8", + "rustix 1.1.3", "winapi", ] @@ -2590,9 +2583,9 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" dependencies = [ "generic-array", "rand_core 0.6.4", @@ -2601,21 +2594,21 @@ dependencies = [ [[package]] name = "csv" -version = "1.3.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acdc4883a9c96732e4733212c01447ebd805833b7275a73ca3ee080fd77afdaf" +checksum = "52cd9d68cf7efc6ddfaaee42e7288d3a99d613d4b50f76ce9827ae0c6e14f938" dependencies = [ "csv-core", "itoa", "ryu", - "serde", + "serde_core", ] [[package]] name = "csv-core" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d02f3b0da4c6504f86e9cd789d8dbafab48c2321be74e9987593de5a894d93d" +checksum = "704a3c26996a80471189265814dbc2c257598b96b8a7feae2d31ace646bb9782" dependencies = [ "memchr", ] @@ -2653,7 +2646,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -2676,6 +2669,16 @@ dependencies = [ "darling_macro 0.21.3", ] +[[package]] +name = "darling" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" +dependencies = [ + "darling_core 0.23.0", + "darling_macro 0.23.0", +] + [[package]] name = "darling_core" version = "0.20.11" @@ -2687,7 +2690,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -2702,7 +2705,20 @@ dependencies = [ "quote", "serde", "strsim", - "syn 2.0.106", + "syn 2.0.113", +] + +[[package]] +name = "darling_core" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0" +dependencies = [ + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.113", ] [[package]] @@ -2713,7 +2729,7 @@ checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ "darling_core 0.20.11", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -2724,14 +2740,25 @@ checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" dependencies = [ "darling_core 0.21.3", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] -name = "dashmap" -version = "5.5.3" +name = "darling_macro" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" +dependencies = [ + "darling_core 0.23.0", + "quote", + "syn 2.0.113", +] + +[[package]] +name = "dashmap" +version = "5.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", "hashbrown 0.14.5", @@ -2777,7 +2804,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d162beedaa69905488a8da94f5ac3edb4dd4788b732fadb7bd120b2625c1976" dependencies = [ "data-encoding", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -2809,12 +2836,12 @@ dependencies = [ [[package]] name = "deranged" -version = "0.5.3" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d630bccd429a5bb5a64b5e94f693bfc48c9f8566418fda4c494cc94f911f87cc" +checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" dependencies = [ "powerfmt", - "serde", + "serde_core", ] [[package]] @@ -2836,7 +2863,7 @@ checksum = "ef941ded77d15ca19b40374869ac6000af1c9f2a4c0f3d4c70926287e6364a8f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -2847,7 +2874,7 @@ checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -2868,7 +2895,7 @@ dependencies = [ "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -2878,28 +2905,50 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ "derive_builder_core", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] name = "derive_more" -version = "2.0.1" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" +dependencies = [ + "derive_more-impl 1.0.0", +] + +[[package]] +name = "derive_more" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" +checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134" dependencies = [ - "derive_more-impl", + "derive_more-impl 2.1.1", ] [[package]] name = "derive_more-impl" -version = "2.0.1" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.113", + "unicode-xid", +] + +[[package]] +name = "derive_more-impl" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb" dependencies = [ - "convert_case", + "convert_case 0.10.0", "proc-macro2", "quote", - "syn 2.0.106", + "rustc_version 0.4.1", + "syn 2.0.113", "unicode-xid", ] @@ -2924,7 +2973,7 @@ version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer 0.10.4", + "block-buffer", "const-oid", "crypto-common", "subtle", @@ -2958,7 +3007,7 @@ dependencies = [ "libc", "option-ext", "redox_users 0.5.2", - "windows-sys 0.61.0", + "windows-sys 0.61.2", ] [[package]] @@ -3013,7 +3062,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -3024,9 +3073,9 @@ checksum = "aac81fa3e28d21450aa4d2ac065992ba96a1d7303efbce51a95f4fd175b67562" [[package]] name = "document-features" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95249b50c6c185bee49034bcb378a49dc2b5dff0be90ff6616d31d64febab05d" +checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" dependencies = [ "litrs", ] @@ -3078,7 +3127,7 @@ dependencies = [ "ed25519", "rand_core 0.6.4", "serde", - "sha2 0.10.9", + "sha2", "subtle", "zeroize", ] @@ -3092,7 +3141,7 @@ dependencies = [ "enum-ordinalize", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -3130,9 +3179,10 @@ dependencies = [ "reth-trie", "reth-trie-db", "revm", + "seismic-alloy-genesis", "serde", "serde_json", - "thiserror 2.0.16", + "thiserror 2.0.17", "walkdir", ] @@ -3200,27 +3250,27 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] name = "enum-ordinalize" -version = "4.3.0" +version = "4.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea0dcfa4e54eeb516fe454635a95753ddd39acda650ce703031c6973e315dd5" +checksum = "4a1091a7bb1f8f2c4b28f1fe2cef4980ca2d410a3d727d67ecc3178c9b0800f0" dependencies = [ "enum-ordinalize-derive", ] [[package]] name = "enum-ordinalize-derive" -version = "4.3.1" +version = "4.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" +checksum = "8ca9601fb2d62598ee17836250842873a413586e5d7ed88b356e38ddbb0ec631" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -3231,12 +3281,12 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.13" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -3256,7 +3306,7 @@ checksum = "c853bd72c9e5787f8aafc3df2907c2ed03cff3150c3acd94e2e53a98ab70a8ab" dependencies = [ "cpufeatures", "ring", - "sha2 0.10.9", + "sha2", ] [[package]] @@ -3274,9 +3324,9 @@ dependencies = [ [[package]] name = "ethereum_ssz" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ca8ba45b63c389c6e115b095ca16381534fdcc03cf58176a3f8554db2dbe19b" +checksum = "0dcddb2554d19cde19b099fadddde576929d7a4d0c1cd3512d1fd95cf174375c" dependencies = [ "alloy-primitives", "ethereum_serde_utils", @@ -3289,3436 +3339,3163 @@ dependencies = [ [[package]] name = "ethereum_ssz_derive" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd55d08012b4e0dfcc92b8d6081234df65f2986ad34cc76eeed69c5e2ce7506" +checksum = "a657b6b3b7e153637dc6bdc6566ad9279d9ee11a15b12cfb24a2e04360637e9f" dependencies = [ "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] -name = "event-listener" -version = "2.5.3" +name = "eyre" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" - -[[package]] -name = "example-beacon-api-sidecar-fetcher" -version = "0.1.0" +checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rpc-types-beacon", - "clap", - "eyre", - "futures-util", - "reqwest", - "reth-ethereum", - "serde", - "serde_json", - "thiserror 2.0.16", + "indenter", + "once_cell", ] [[package]] -name = "example-beacon-api-sse" -version = "0.0.0" -dependencies = [ - "alloy-rpc-types-beacon", - "clap", - "futures-util", - "mev-share-sse", - "reth-ethereum", - "tokio", - "tracing", -] +name = "fast-float2" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8eb564c5c7423d25c886fb561d1e4ee69f72354d16918afa32c08811f6b6a55" + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] -name = "example-bsc-p2p" -version = "0.0.0" +name = "fastrlp" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "139834ddba373bbdd213dffe02c8d110508dcf1726c2be27e8d1f7d7e1856418" dependencies = [ - "alloy-primitives", - "alloy-rlp", - "alloy-rpc-types", + "arrayvec", + "auto_impl", "bytes", - "futures", - "reth-chainspec", - "reth-discv4", - "reth-engine-primitives", - "reth-eth-wire", - "reth-eth-wire-types", - "reth-ethereum-forks", - "reth-network", - "reth-network-api", - "reth-network-peers", - "reth-node-ethereum", - "reth-payload-primitives", - "reth-primitives", - "reth-primitives-traits", - "reth-provider", - "reth-tracing", - "secp256k1 0.30.0", - "serde", - "serde_json", - "thiserror 2.0.16", - "tokio", - "tokio-stream", - "tracing", ] [[package]] -name = "example-custom-beacon-withdrawals" -version = "0.0.0" +name = "fastrlp" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce8dba4714ef14b8274c371879b175aa55b16b30f269663f19d576f380018dc4" dependencies = [ - "alloy-eips", - "alloy-evm", - "alloy-sol-macro", - "alloy-sol-types", - "eyre", - "reth-ethereum", + "arrayvec", + "auto_impl", + "bytes", ] [[package]] -name = "example-custom-dev-node" -version = "0.0.0" +name = "fdlimit" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e182f7dbc2ef73d9ef67351c5fbbea084729c48362d3ce9dd44c28e32e277fe5" dependencies = [ - "alloy-genesis", - "alloy-primitives", - "eyre", - "futures-util", - "reth-ethereum", - "serde_json", - "tokio", + "libc", + "thiserror 1.0.69", ] [[package]] -name = "example-custom-engine-types" -version = "0.0.0" +name = "ff" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" dependencies = [ - "alloy-eips", - "alloy-genesis", - "alloy-primitives", - "alloy-rpc-types", - "eyre", - "reth-basic-payload-builder", - "reth-ethereum", - "reth-ethereum-payload-builder", - "reth-payload-builder", - "reth-tracing", - "serde", - "thiserror 2.0.16", - "tokio", + "rand_core 0.6.4", + "subtle", ] [[package]] -name = "example-custom-evm" -version = "0.0.0" -dependencies = [ - "alloy-evm", - "alloy-genesis", - "alloy-primitives", - "eyre", - "reth-ethereum", - "reth-tracing", - "tokio", -] +name = "fiat-crypto" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" [[package]] -name = "example-custom-inspector" -version = "0.0.0" +name = "filetime" +version = "0.2.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc0505cd1b6fa6580283f6bdf70a73fcf4aba1184038c90902b92b3dd0df63ed" dependencies = [ - "alloy-eips", - "alloy-evm", - "alloy-primitives", - "alloy-rpc-types-eth", - "clap", - "futures-util", - "reth-ethereum", + "cfg-if", + "libc", + "libredox", + "windows-sys 0.60.2", ] [[package]] -name = "example-custom-node" -version = "0.0.0" +name = "fixed-hash" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-evm", - "alloy-genesis", - "alloy-network", - "alloy-op-evm", - "alloy-primitives", - "alloy-rlp", - "alloy-rpc-types-engine", - "alloy-rpc-types-eth", - "alloy-serde", - "async-trait", - "derive_more", - "eyre", - "jsonrpsee", - "modular-bitfield", - "op-alloy-consensus", - "op-alloy-rpc-types", - "op-alloy-rpc-types-engine", - "op-revm", - "reth-chain-state", - "reth-codecs", - "reth-db-api", - "reth-engine-primitives", - "reth-ethereum", - "reth-network-peers", - "reth-node-builder", - "reth-op", - "reth-optimism-flashblocks", - "reth-optimism-forks", - "reth-payload-builder", - "reth-rpc-api", - "reth-rpc-engine-api", - "revm", - "revm-primitives", - "serde", - "test-fuzz", - "thiserror 2.0.16", + "byteorder", + "rand 0.8.5", + "rustc-hex", + "static_assertions", ] [[package]] -name = "example-custom-node-components" -version = "0.0.0" +name = "flate2" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb" dependencies = [ - "eyre", - "reth-ethereum", - "reth-tracing", + "crc32fast", + "miniz_oxide", ] [[package]] -name = "example-custom-payload-builder" -version = "0.0.0" -dependencies = [ - "alloy-eips", - "eyre", - "futures-util", - "reth-basic-payload-builder", - "reth-ethereum", - "reth-ethereum-payload-builder", - "reth-payload-builder", - "tracing", -] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] -name = "example-custom-rlpx-subprotocol" -version = "0.0.0" -dependencies = [ - "alloy-primitives", - "eyre", - "futures", - "reth-ethereum", - "tokio", - "tokio-stream", - "tracing", -] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" [[package]] -name = "example-db-access" -version = "0.0.0" +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" dependencies = [ - "alloy-primitives", - "eyre", - "reth-ethereum", + "foreign-types-shared", ] [[package]] -name = "example-engine-api-access" -version = "0.0.0" -dependencies = [ - "reth-db", - "reth-node-builder", - "reth-optimism-chainspec", - "reth-optimism-node", - "tokio", -] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] -name = "example-exex-hello-world" -version = "0.0.0" +name = "form_urlencoded" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" dependencies = [ - "clap", - "eyre", - "futures", - "reth-ethereum", - "reth-op", - "reth-tracing", - "tokio", + "percent-encoding", ] [[package]] -name = "example-exex-test" -version = "0.0.0" +name = "fsevent-sys" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" dependencies = [ - "eyre", - "futures-util", - "reth-e2e-test-utils", - "reth-ethereum", - "serde_json", - "tokio", + "libc", ] [[package]] -name = "example-full-contract-state" -version = "1.7.0" -dependencies = [ - "eyre", - "reth-ethereum", -] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] -name = "example-manual-p2p" -version = "0.0.0" +name = "futures" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ - "alloy-consensus", - "eyre", - "futures", - "reth-discv4", - "reth-ecies", - "reth-ethereum", - "reth-network-peers", - "secp256k1 0.30.0", - "tokio", + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", ] [[package]] -name = "example-network" -version = "0.0.0" +name = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ - "eyre", - "futures", - "reth-ethereum", - "tokio", + "futures-core", + "futures-sink", ] [[package]] -name = "example-network-proxy" -version = "0.0.0" -dependencies = [ - "eyre", - "futures", - "reth-ethereum", - "reth-tracing", - "tokio", -] +name = "futures-core" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] -name = "example-network-txpool" -version = "0.0.0" +name = "futures-executor" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" dependencies = [ - "eyre", - "reth-ethereum", - "tokio", + "futures-core", + "futures-task", + "futures-util", ] [[package]] -name = "example-node-builder-api" -version = "0.0.0" -dependencies = [ - "reth-ethereum", -] +name = "futures-io" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] -name = "example-node-custom-rpc" -version = "0.0.0" +name = "futures-macro" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ - "clap", - "jsonrpsee", - "reth-ethereum", - "serde_json", - "tokio", + "proc-macro2", + "quote", + "syn 2.0.113", ] [[package]] -name = "example-node-event-hooks" -version = "0.0.0" -dependencies = [ - "reth-ethereum", -] +name = "futures-sink" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] -name = "example-op-db-access" -version = "0.0.0" -dependencies = [ - "eyre", - "reth-op", -] +name = "futures-task" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] -name = "example-polygon-p2p" -version = "0.0.0" +name = "futures-timer" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" dependencies = [ - "alloy-genesis", - "reth-discv4", - "reth-ethereum", - "reth-tracing", - "secp256k1 0.30.0", - "serde_json", - "tokio", - "tokio-stream", + "gloo-timers", + "send_wrapper 0.4.0", ] [[package]] -name = "example-precompile-cache" -version = "0.0.0" +name = "futures-util" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ - "alloy-evm", - "alloy-genesis", - "alloy-primitives", - "eyre", - "parking_lot", - "reth-ethereum", - "reth-tracing", - "schnellru", - "tokio", + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", ] [[package]] -name = "example-rpc-db" -version = "0.0.0" +name = "futures-utils-wasm" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42012b0f064e01aa58b545fe3727f90f7dd4020f4a3ea735b50344965f5a57e9" + +[[package]] +name = "generator" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52f04ae4152da20c76fe800fa48659201d5cf627c5149ca0b707b69d7eef6cf9" dependencies = [ - "eyre", - "futures", - "jsonrpsee", - "reth-ethereum", - "tokio", + "cc", + "cfg-if", + "libc", + "log", + "rustversion", + "windows-link", + "windows-result 0.4.1", ] [[package]] -name = "example-txpool-tracing" -version = "0.0.0" +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ - "alloy-network", - "alloy-primitives", - "alloy-rpc-types-trace", - "clap", - "eyre", - "futures-util", - "reth-ethereum", + "serde", + "typenum", + "version_check", + "zeroize", ] [[package]] -name = "exex-subscription" +name = "genesis-builder" version = "1.7.0" dependencies = [ - "alloy-primitives", "clap", - "eyre", - "futures", - "jsonrpsee", - "reth-ethereum", - "serde", - "serde_json", - "tokio", + "reth-genesis-builder", "tracing", + "tracing-subscriber 0.3.22", ] [[package]] -name = "eyre" -version = "0.6.12" +name = "getrandom" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ - "indenter", - "once_cell", + "cfg-if", + "js-sys", + "libc", + "wasi", + "wasm-bindgen", ] [[package]] -name = "fast-float2" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8eb564c5c7423d25c886fb561d1e4ee69f72354d16918afa32c08811f6b6a55" - -[[package]] -name = "fastrand" -version = "1.9.0" +name = "getrandom" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ - "instant", + "cfg-if", + "js-sys", + "libc", + "r-efi", + "wasip2", + "wasm-bindgen", ] [[package]] -name = "fastrand" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" - -[[package]] -name = "fastrlp" -version = "0.3.1" +name = "getrandom_or_panic" +version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "139834ddba373bbdd213dffe02c8d110508dcf1726c2be27e8d1f7d7e1856418" +checksum = "6ea1015b5a70616b688dc230cfe50c8af89d972cb132d5a622814d29773b10b9" dependencies = [ - "arrayvec", - "auto_impl", - "bytes", + "rand 0.8.5", + "rand_core 0.6.4", ] [[package]] -name = "fastrlp" -version = "0.4.0" +name = "ghash" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce8dba4714ef14b8274c371879b175aa55b16b30f269663f19d576f380018dc4" +checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" dependencies = [ - "arrayvec", - "auto_impl", - "bytes", + "opaque-debug", + "polyval", ] [[package]] -name = "fdlimit" -version = "0.3.0" +name = "git2" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e182f7dbc2ef73d9ef67351c5fbbea084729c48362d3ce9dd44c28e32e277fe5" +checksum = "3e2b37e2f62729cdada11f0e6b3b6fe383c69c29fc619e391223e12856af308c" dependencies = [ + "bitflags 2.10.0", "libc", - "thiserror 1.0.69", + "libgit2-sys", + "log", + "url", ] [[package]] -name = "ff" -version = "0.13.1" +name = "glob" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" -dependencies = [ - "rand_core 0.6.4", - "subtle", -] +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" [[package]] -name = "fiat-crypto" -version = "0.2.9" +name = "gloo-net" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" - -[[package]] -name = "filetime" -version = "0.2.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc0505cd1b6fa6580283f6bdf70a73fcf4aba1184038c90902b92b3dd0df63ed" +checksum = "c06f627b1a58ca3d42b45d6104bf1e1a03799df472df00988b6ba21accc10580" dependencies = [ - "cfg-if", - "libc", - "libredox", - "windows-sys 0.60.2", + "futures-channel", + "futures-core", + "futures-sink", + "gloo-utils", + "http", + "js-sys", + "pin-project", + "serde", + "serde_json", + "thiserror 1.0.69", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", ] [[package]] -name = "fixed-hash" -version = "0.8.0" +name = "gloo-timers" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" +checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" dependencies = [ - "byteorder", - "rand 0.8.5", - "rustc-hex", - "static_assertions", + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", ] [[package]] -name = "flate2" -version = "1.1.2" +name = "gloo-utils" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" +checksum = "0b5555354113b18c547c1d3a98fbf7fb32a9ff4f6fa112ce823a21641a0ba3aa" dependencies = [ - "crc32fast", - "miniz_oxide", + "js-sys", + "serde", + "serde_json", + "wasm-bindgen", + "web-sys", ] [[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "foldhash" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" - -[[package]] -name = "form_urlencoded" -version = "1.2.2" +name = "gmp-mpfr-sys" +version = "1.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" +checksum = "60f8970a75c006bb2f8ae79c6768a116dd215fa8346a87aed99bf9d82ca43394" dependencies = [ - "percent-encoding", + "libc", + "windows-sys 0.60.2", ] [[package]] -name = "fsevent-sys" -version = "4.1.0" +name = "group" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ - "libc", + "ff", + "rand_core 0.6.4", + "subtle", ] [[package]] -name = "funty" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" - -[[package]] -name = "futures" -version = "0.3.31" +name = "h2" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54" dependencies = [ - "futures-channel", + "atomic-waker", + "bytes", + "fnv", "futures-core", - "futures-executor", - "futures-io", "futures-sink", - "futures-task", - "futures-util", + "http", + "indexmap 2.12.1", + "slab", + "tokio", + "tokio-util", + "tracing", ] [[package]] -name = "futures-channel" -version = "0.3.31" +name = "half" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" dependencies = [ - "futures-core", - "futures-sink", + "cfg-if", + "crunchy", + "zerocopy", ] [[package]] -name = "futures-core" -version = "0.3.31" +name = "hash-db" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" +checksum = "d23bd4e7b5eda0d0f3a307e8b381fdc8ba9000f26fbe912250c0a4cc3956364a" [[package]] -name = "futures-executor" -version = "0.3.31" +name = "hashbrown" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] -name = "futures-io" -version = "0.3.31" +name = "hashbrown" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" [[package]] -name = "futures-lite" -version = "1.13.0" +name = "hashbrown" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ - "fastrand 1.9.0", - "futures-core", - "futures-io", - "memchr", - "parking", - "pin-project-lite", - "waker-fn", + "ahash", ] [[package]] -name = "futures-macro" -version = "0.3.31" +name = "hashbrown" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.106", + "allocator-api2", + "equivalent", + "foldhash 0.1.5", ] [[package]] -name = "futures-sink" -version = "0.3.31" +name = "hashbrown" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash 0.2.0", + "serde", + "serde_core", +] [[package]] -name = "futures-task" -version = "0.3.31" +name = "hashlink" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" +checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" +dependencies = [ + "hashbrown 0.14.5", +] [[package]] -name = "futures-timer" -version = "3.0.3" +name = "hdrhistogram" +version = "7.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" +checksum = "765c9198f173dd59ce26ff9f95ef0aafd0a0fe01fb9d72841bc5066a4c06511d" dependencies = [ - "gloo-timers", - "send_wrapper 0.4.0", + "byteorder", + "num-traits", ] [[package]] -name = "futures-util" -version = "0.3.31" +name = "heck" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] -name = "futures-utils-wasm" -version = "0.1.0" +name = "hermit-abi" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42012b0f064e01aa58b545fe3727f90f7dd4020f4a3ea735b50344965f5a57e9" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] -name = "generator" -version = "0.8.7" +name = "hex" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "605183a538e3e2a9c1038635cc5c2d194e2ee8fd0d1b66b8349fad7dbacce5a2" -dependencies = [ - "cc", - "cfg-if", - "libc", - "log", - "rustversion", - "windows 0.61.3", -] +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] -name = "generic-array" -version = "0.14.7" +name = "hex-conservative" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +checksum = "fda06d18ac606267c40c04e41b9947729bf8b9efe74bd4e82b61a5f26a510b9f" dependencies = [ - "serde", - "typenum", - "version_check", - "zeroize", + "arrayvec", ] [[package]] -name = "getrandom" -version = "0.1.16" +name = "hickory-proto" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +checksum = "f8a6fe56c0038198998a6f217ca4e7ef3a5e51f46163bd6dd60b5c71ca6c6502" dependencies = [ + "async-trait", "cfg-if", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", + "data-encoding", + "enum-as-inner", + "futures-channel", + "futures-io", + "futures-util", + "idna", + "ipnet", + "once_cell", + "rand 0.9.2", + "ring", + "serde", + "thiserror 2.0.17", + "tinyvec", + "tokio", + "tracing", + "url", ] [[package]] -name = "getrandom" -version = "0.2.16" +name = "hickory-resolver" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +checksum = "dc62a9a99b0bfb44d2ab95a7208ac952d31060efc16241c87eaf36406fecf87a" dependencies = [ "cfg-if", - "js-sys", - "libc", - "wasi 0.11.1+wasi-snapshot-preview1", - "wasm-bindgen", + "futures-util", + "hickory-proto", + "ipconfig", + "moka", + "once_cell", + "parking_lot", + "rand 0.9.2", + "resolv-conf", + "serde", + "smallvec", + "thiserror 2.0.17", + "tokio", + "tracing", ] [[package]] -name = "getrandom" -version = "0.3.3" +name = "hkdf" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" dependencies = [ - "cfg-if", - "js-sys", - "libc", - "r-efi", - "wasi 0.14.4+wasi-0.2.4", - "wasm-bindgen", + "hmac", ] [[package]] -name = "ghash" -version = "0.5.1" +name = "hmac" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "opaque-debug", - "polyval", + "digest 0.10.7", ] [[package]] -name = "gimli" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" - -[[package]] -name = "git2" -version = "0.20.2" +name = "http" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2deb07a133b1520dc1a5690e9bd08950108873d7ed5de38dcc74d3b5ebffa110" +checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" dependencies = [ - "bitflags 2.9.4", - "libc", - "libgit2-sys", - "log", - "url", + "bytes", + "itoa", ] [[package]] -name = "glob" -version = "0.3.3" +name = "http-body" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http", +] [[package]] -name = "gloo-net" -version = "0.6.0" +name = "http-body-util" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06f627b1a58ca3d42b45d6104bf1e1a03799df472df00988b6ba21accc10580" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ - "futures-channel", + "bytes", "futures-core", - "futures-sink", - "gloo-utils", "http", - "js-sys", - "pin-project", - "serde", - "serde_json", - "thiserror 1.0.69", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", + "http-body", + "pin-project-lite", ] [[package]] -name = "gloo-timers" -version = "0.2.6" +name = "http-range-header" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" -dependencies = [ - "futures-channel", - "futures-core", - "js-sys", - "wasm-bindgen", -] +checksum = "9171a2ea8a68358193d15dd5d70c1c10a2afc3e7e4c5bc92bc9f025cebd7359c" [[package]] -name = "gloo-utils" -version = "0.2.0" +name = "httparse" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b5555354113b18c547c1d3a98fbf7fb32a9ff4f6fa112ce823a21641a0ba3aa" -dependencies = [ - "js-sys", - "serde", - "serde_json", - "wasm-bindgen", - "web-sys", -] +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" [[package]] -name = "gmp-mpfr-sys" -version = "1.6.8" +name = "httpdate" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60f8970a75c006bb2f8ae79c6768a116dd215fa8346a87aed99bf9d82ca43394" -dependencies = [ - "libc", - "windows-sys 0.60.2", -] +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] -name = "group" -version = "0.13.0" +name = "human_bytes" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +checksum = "91f255a4535024abf7640cb288260811fc14794f62b063652ed349f9a6c2348e" + +[[package]] +name = "humantime" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424" + +[[package]] +name = "humantime-serde" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57a3db5ea5923d99402c94e9feb261dc5ee9b4efa158b0315f788cf549cc200c" dependencies = [ - "ff", - "rand_core 0.6.4", - "subtle", + "humantime", + "serde", ] [[package]] -name = "h2" -version = "0.4.12" +name = "hyper" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386" +checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" dependencies = [ "atomic-waker", "bytes", - "fnv", + "futures-channel", "futures-core", - "futures-sink", + "h2", "http", - "indexmap 2.11.0", - "slab", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "pin-utils", + "smallvec", "tokio", - "tokio-util", - "tracing", + "want", ] [[package]] -name = "half" -version = "2.6.0" +name = "hyper-rustls" +version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" +checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ - "cfg-if", - "crunchy", + "http", + "hyper", + "hyper-util", + "log", + "rustls", + "rustls-native-certs", + "rustls-pki-types", + "tokio", + "tokio-rustls", + "tower-service", + "webpki-roots 1.0.5", ] [[package]] -name = "hash-db" -version = "0.15.2" +name = "hyper-tls" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d23bd4e7b5eda0d0f3a307e8b381fdc8ba9000f26fbe912250c0a4cc3956364a" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" +dependencies = [ + "bytes", + "http-body-util", + "hyper", + "hyper-util", + "native-tls", + "tokio", + "tokio-native-tls", + "tower-service", +] [[package]] -name = "hashbrown" -version = "0.12.3" +name = "hyper-util" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +checksum = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "http", + "http-body", + "hyper", + "ipnet", + "libc", + "percent-encoding", + "pin-project-lite", + "socket2 0.6.1", + "tokio", + "tower-service", + "tracing", +] [[package]] -name = "hashbrown" -version = "0.13.2" +name = "iana-time-zone" +version = "0.1.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" +checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "log", + "wasm-bindgen", + "windows-core 0.62.2", +] [[package]] -name = "hashbrown" -version = "0.14.5" +name = "iana-time-zone-haiku" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" dependencies = [ - "ahash", + "cc", ] [[package]] -name = "hashbrown" -version = "0.15.5" +name = "icu_collections" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" dependencies = [ - "allocator-api2", - "equivalent", - "foldhash", - "serde", + "displaydoc", + "yoke 0.7.5", + "zerofrom", + "zerovec 0.10.4", ] [[package]] -name = "hashlink" -version = "0.9.1" +name = "icu_collections" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" dependencies = [ - "hashbrown 0.14.5", + "displaydoc", + "potential_utf", + "yoke 0.8.1", + "zerofrom", + "zerovec 0.11.5", ] [[package]] -name = "hdrhistogram" -version = "7.5.4" +name = "icu_locale_core" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "765c9198f173dd59ce26ff9f95ef0aafd0a0fe01fb9d72841bc5066a4c06511d" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" dependencies = [ - "byteorder", - "num-traits", + "displaydoc", + "litemap 0.8.1", + "tinystr 0.8.2", + "writeable 0.6.2", + "zerovec 0.11.5", ] [[package]] -name = "heck" -version = "0.5.0" +name = "icu_locid" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap 0.7.5", + "tinystr 0.7.6", + "writeable 0.5.5", + "zerovec 0.10.4", +] [[package]] -name = "hermit-abi" -version = "0.5.2" +name = "icu_locid_transform" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider 1.5.0", + "tinystr 0.7.6", + "zerovec 0.10.4", +] [[package]] -name = "hex" -version = "0.4.3" +name = "icu_locid_transform_data" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +checksum = "7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" dependencies = [ - "serde", + "displaydoc", + "icu_collections 1.5.0", + "icu_normalizer_data 1.5.1", + "icu_properties 1.5.1", + "icu_provider 1.5.0", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec 0.10.4", ] [[package]] -name = "hex-conservative" -version = "0.2.1" +name = "icu_normalizer" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5313b072ce3c597065a808dbf612c4c8e8590bdbf8b579508bf7a762c5eae6cd" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" dependencies = [ - "arrayvec", + "icu_collections 2.1.1", + "icu_normalizer_data 2.1.1", + "icu_properties 2.1.2", + "icu_provider 2.1.1", + "smallvec", + "zerovec 0.11.5", ] [[package]] -name = "hickory-proto" -version = "0.25.2" +name = "icu_normalizer_data" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8a6fe56c0038198998a6f217ca4e7ef3a5e51f46163bd6dd60b5c71ca6c6502" +checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7" + +[[package]] +name = "icu_normalizer_data" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" dependencies = [ - "async-trait", - "cfg-if", - "data-encoding", - "enum-as-inner", - "futures-channel", - "futures-io", - "futures-util", - "idna", - "ipnet", - "once_cell", - "rand 0.9.2", - "ring", - "serde", - "thiserror 2.0.16", - "tinyvec", - "tokio", - "tracing", - "url", + "displaydoc", + "icu_collections 1.5.0", + "icu_locid_transform", + "icu_properties_data 1.5.1", + "icu_provider 1.5.0", + "tinystr 0.7.6", + "zerovec 0.10.4", ] [[package]] -name = "hickory-resolver" -version = "0.25.2" +name = "icu_properties" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc62a9a99b0bfb44d2ab95a7208ac952d31060efc16241c87eaf36406fecf87a" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" dependencies = [ - "cfg-if", - "futures-util", - "hickory-proto", - "ipconfig", - "moka", - "once_cell", - "parking_lot", - "rand 0.9.2", - "resolv-conf", - "serde", - "smallvec", - "thiserror 2.0.16", - "tokio", - "tracing", + "icu_collections 2.1.1", + "icu_locale_core", + "icu_properties_data 2.1.2", + "icu_provider 2.1.1", + "zerotrie", + "zerovec 0.11.5", ] [[package]] -name = "hkdf" -version = "0.12.4" +name = "icu_properties_data" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2" + +[[package]] +name = "icu_properties_data" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" dependencies = [ - "hmac", + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr 0.7.6", + "writeable 0.5.5", + "yoke 0.7.5", + "zerofrom", + "zerovec 0.10.4", ] [[package]] -name = "hmac" -version = "0.12.1" +name = "icu_provider" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" dependencies = [ - "digest 0.10.7", + "displaydoc", + "icu_locale_core", + "writeable 0.6.2", + "yoke 0.8.1", + "zerofrom", + "zerotrie", + "zerovec 0.11.5", ] [[package]] -name = "http" -version = "1.3.1" +name = "icu_provider_macros" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ - "bytes", - "fnv", - "itoa", + "proc-macro2", + "quote", + "syn 2.0.113", ] [[package]] -name = "http-body" +name = "ident_case" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" dependencies = [ - "bytes", - "http", + "idna_adapter", + "smallvec", + "utf8_iter", ] [[package]] -name = "http-body-util" -version = "0.1.3" +name = "idna_adapter" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ - "bytes", - "futures-core", - "http", - "http-body", - "pin-project-lite", + "icu_normalizer 2.1.1", + "icu_properties 2.1.2", ] [[package]] -name = "http-range-header" -version = "0.4.2" +name = "if-addrs" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9171a2ea8a68358193d15dd5d70c1c10a2afc3e7e4c5bc92bc9f025cebd7359c" +checksum = "69b2eeee38fef3aa9b4cc5f1beea8a2444fc00e7377cafae396de3f5c2065e24" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] [[package]] -name = "http-types" -version = "2.12.0" +name = "impl-codec" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e9b187a72d63adbfba487f48095306ac823049cb504ee195541e91c7775f5ad" +checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" dependencies = [ - "anyhow", - "async-channel", - "base64 0.13.1", - "futures-lite", - "infer", - "pin-project-lite", - "rand 0.7.3", - "serde", - "serde_json", - "serde_qs", - "serde_urlencoded", - "url", + "parity-scale-codec", ] [[package]] -name = "httparse" -version = "1.10.1" +name = "impl-trait-for-tuples" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" +checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.113", +] [[package]] -name = "httpdate" -version = "1.0.3" +name = "include_dir" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" +checksum = "923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd" +dependencies = [ + "include_dir_macros", +] [[package]] -name = "human_bytes" -version = "0.4.3" +name = "include_dir_macros" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91f255a4535024abf7640cb288260811fc14794f62b063652ed349f9a6c2348e" +checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75" +dependencies = [ + "proc-macro2", + "quote", +] [[package]] -name = "humantime" -version = "2.2.0" +name = "indenter" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f" +checksum = "964de6e86d545b246d84badc0fef527924ace5134f30641c203ef52ba83f58d5" [[package]] -name = "humantime-serde" -version = "1.1.1" +name = "indexmap" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57a3db5ea5923d99402c94e9feb261dc5ee9b4efa158b0315f788cf549cc200c" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ - "humantime", + "autocfg", + "hashbrown 0.12.3", "serde", ] [[package]] -name = "hyper" -version = "1.7.0" +name = "indexmap" +version = "2.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e" +checksum = "0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2" dependencies = [ - "atomic-waker", - "bytes", - "futures-channel", - "futures-core", - "h2", - "http", - "http-body", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "pin-utils", - "smallvec", - "tokio", - "want", + "arbitrary", + "equivalent", + "hashbrown 0.16.1", + "serde", + "serde_core", ] [[package]] -name = "hyper-rustls" -version = "0.27.7" +name = "indoc" +version = "2.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" +checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706" dependencies = [ - "http", - "hyper", - "hyper-util", - "log", - "rustls", - "rustls-native-certs", - "rustls-pki-types", - "tokio", - "tokio-rustls", - "tower-service", - "webpki-roots 1.0.2", + "rustversion", ] [[package]] -name = "hyper-util" -version = "0.1.16" +name = "inotify" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d9b05277c7e8da2c93a568989bb6207bef0112e8d17df7a6eda4a3cf143bc5e" +checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" dependencies = [ - "base64 0.22.1", - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "http", - "http-body", - "hyper", - "ipnet", + "bitflags 2.10.0", + "inotify-sys", "libc", - "percent-encoding", - "pin-project-lite", - "socket2 0.6.0", - "tokio", - "tower-service", - "tracing", -] - -[[package]] -name = "iana-time-zone" -version = "0.1.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "log", - "wasm-bindgen", - "windows-core 0.61.2", ] [[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" +name = "inotify-sys" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" dependencies = [ - "cc", + "libc", ] [[package]] -name = "icu_collections" -version = "1.5.0" +name = "inout" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" dependencies = [ - "displaydoc", - "yoke 0.7.5", - "zerofrom", - "zerovec 0.10.4", + "block-padding", + "generic-array", ] [[package]] -name = "icu_collections" -version = "2.0.0" +name = "instability" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" +checksum = "357b7205c6cd18dd2c86ed312d1e70add149aea98e7ef72b9fdf0270e555c11d" dependencies = [ - "displaydoc", - "potential_utf", - "yoke 0.8.0", - "zerofrom", - "zerovec 0.11.4", + "darling 0.23.0", + "indoc", + "proc-macro2", + "quote", + "syn 2.0.113", ] [[package]] -name = "icu_locale_core" -version = "2.0.0" +name = "interprocess" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" +checksum = "d941b405bd2322993887859a8ee6ac9134945a24ec5ec763a8a962fc64dfec2d" dependencies = [ - "displaydoc", - "litemap 0.8.0", - "tinystr 0.8.1", - "writeable 0.6.1", - "zerovec 0.11.4", + "doctest-file", + "futures-core", + "libc", + "recvmsg", + "tokio", + "widestring", + "windows-sys 0.52.0", ] [[package]] -name = "icu_locid" -version = "1.5.0" +name = "intrusive-collections" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +checksum = "189d0897e4cbe8c75efedf3502c18c887b05046e59d28404d4d8e46cbc4d1e86" dependencies = [ - "displaydoc", - "litemap 0.7.5", - "tinystr 0.7.6", - "writeable 0.5.5", - "zerovec 0.10.4", + "memoffset", ] [[package]] -name = "icu_locid_transform" -version = "1.5.0" +name = "ipconfig" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider 1.5.0", - "tinystr 0.7.6", - "zerovec 0.10.4", + "socket2 0.5.10", + "widestring", + "windows-sys 0.48.0", + "winreg", ] [[package]] -name = "icu_locid_transform_data" -version = "1.5.1" +name = "ipnet" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] -name = "icu_normalizer" -version = "1.5.0" +name = "iri-string" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +checksum = "c91338f0783edbd6195decb37bae672fd3b165faffb89bf7b9e6942f8b1a731a" dependencies = [ - "displaydoc", - "icu_collections 1.5.0", - "icu_normalizer_data 1.5.1", - "icu_properties 1.5.1", - "icu_provider 1.5.0", - "smallvec", - "utf16_iter", - "utf8_iter", - "write16", - "zerovec 0.10.4", + "memchr", + "serde", ] [[package]] -name = "icu_normalizer" -version = "2.0.0" +name = "is-terminal" +version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" +checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" dependencies = [ - "displaydoc", - "icu_collections 2.0.0", - "icu_normalizer_data 2.0.0", - "icu_properties 2.0.1", - "icu_provider 2.0.0", - "smallvec", - "zerovec 0.11.4", + "hermit-abi", + "libc", + "windows-sys 0.61.2", ] [[package]] -name = "icu_normalizer_data" -version = "1.5.1" +name = "is_terminal_polyfill" +version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7" +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" [[package]] -name = "icu_normalizer_data" -version = "2.0.0" +name = "itertools" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] [[package]] -name = "icu_properties" -version = "1.5.1" +name = "itertools" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" dependencies = [ - "displaydoc", - "icu_collections 1.5.0", - "icu_locid_transform", - "icu_properties_data 1.5.1", - "icu_provider 1.5.0", - "tinystr 0.7.6", - "zerovec 0.10.4", + "either", ] [[package]] -name = "icu_properties" -version = "2.0.1" +name = "itertools" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" dependencies = [ - "displaydoc", - "icu_collections 2.0.0", - "icu_locale_core", - "icu_properties_data 2.0.1", - "icu_provider 2.0.0", - "potential_utf", - "zerotrie", - "zerovec 0.11.4", + "either", ] [[package]] -name = "icu_properties_data" -version = "1.5.1" +name = "itoa" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2" +checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" [[package]] -name = "icu_properties_data" -version = "2.0.1" +name = "jni" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if", + "combine", + "jni-sys", + "log", + "thiserror 1.0.69", + "walkdir", + "windows-sys 0.45.0", +] [[package]] -name = "icu_provider" -version = "1.5.0" +name = "jni-sys" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + +[[package]] +name = "jobserver" +version = "0.1.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ - "displaydoc", - "icu_locid", - "icu_provider_macros", - "stable_deref_trait", - "tinystr 0.7.6", - "writeable 0.5.5", - "yoke 0.7.5", - "zerofrom", - "zerovec 0.10.4", + "getrandom 0.3.4", + "libc", ] [[package]] -name = "icu_provider" -version = "2.0.0" +name = "js-sys" +version = "0.3.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" +checksum = "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8" dependencies = [ - "displaydoc", - "icu_locale_core", - "stable_deref_trait", - "tinystr 0.8.1", - "writeable 0.6.1", - "yoke 0.8.0", - "zerofrom", - "zerotrie", - "zerovec 0.11.4", + "once_cell", + "wasm-bindgen", ] [[package]] -name = "icu_provider_macros" -version = "1.5.0" +name = "jsonrpsee" +version = "0.24.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +checksum = "e281ae70cc3b98dac15fced3366a880949e65fc66e345ce857a5682d152f3e62" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.106", + "jsonrpsee-client-transport 0.24.10", + "jsonrpsee-core 0.24.10", + "jsonrpsee-http-client 0.24.10", + "jsonrpsee-proc-macros 0.24.10", + "jsonrpsee-types 0.24.10", + "jsonrpsee-wasm-client 0.24.10", + "jsonrpsee-ws-client 0.24.10", + "tracing", ] [[package]] -name = "ident_case" -version = "1.0.1" +name = "jsonrpsee" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" +checksum = "3f3f48dc3e6b8bd21e15436c1ddd0bc22a6a54e8ec46fedd6adf3425f396ec6a" +dependencies = [ + "jsonrpsee-client-transport 0.26.0", + "jsonrpsee-core 0.26.0", + "jsonrpsee-http-client 0.26.0", + "jsonrpsee-proc-macros 0.26.0", + "jsonrpsee-server", + "jsonrpsee-types 0.26.0", + "jsonrpsee-wasm-client 0.26.0", + "jsonrpsee-ws-client 0.26.0", + "tokio", + "tracing", +] [[package]] -name = "idna" -version = "1.1.0" +name = "jsonrpsee-client-transport" +version = "0.24.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" +checksum = "cc4280b709ac3bb5e16cf3bad5056a0ec8df55fa89edfe996361219aadc2c7ea" dependencies = [ - "idna_adapter", - "smallvec", - "utf8_iter", + "base64 0.22.1", + "futures-channel", + "futures-util", + "gloo-net", + "http", + "jsonrpsee-core 0.24.10", + "pin-project", + "rustls", + "rustls-pki-types", + "rustls-platform-verifier", + "soketto", + "thiserror 1.0.69", + "tokio", + "tokio-rustls", + "tokio-util", + "tracing", + "url", ] [[package]] -name = "idna_adapter" -version = "1.2.1" +name = "jsonrpsee-client-transport" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +checksum = "cf36eb27f8e13fa93dcb50ccb44c417e25b818cfa1a481b5470cd07b19c60b98" dependencies = [ - "icu_normalizer 2.0.0", - "icu_properties 2.0.1", + "base64 0.22.1", + "futures-channel", + "futures-util", + "gloo-net", + "http", + "jsonrpsee-core 0.26.0", + "pin-project", + "rustls", + "rustls-pki-types", + "rustls-platform-verifier", + "soketto", + "thiserror 2.0.17", + "tokio", + "tokio-rustls", + "tokio-util", + "tracing", + "url", ] [[package]] -name = "if-addrs" -version = "0.13.4" +name = "jsonrpsee-core" +version = "0.24.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69b2eeee38fef3aa9b4cc5f1beea8a2444fc00e7377cafae396de3f5c2065e24" +checksum = "348ee569eaed52926b5e740aae20863762b16596476e943c9e415a6479021622" dependencies = [ - "libc", - "windows-sys 0.59.0", + "async-trait", + "bytes", + "futures-timer", + "futures-util", + "http", + "http-body", + "http-body-util", + "jsonrpsee-types 0.24.10", + "parking_lot", + "pin-project", + "rand 0.8.5", + "rustc-hash 2.1.1", + "serde", + "serde_json", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tracing", + "wasm-bindgen-futures", ] [[package]] -name = "impl-codec" -version = "0.6.0" +name = "jsonrpsee-core" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" +checksum = "316c96719901f05d1137f19ba598b5fe9c9bc39f4335f67f6be8613921946480" dependencies = [ - "parity-scale-codec", + "async-trait", + "bytes", + "futures-timer", + "futures-util", + "http", + "http-body", + "http-body-util", + "jsonrpsee-types 0.26.0", + "parking_lot", + "pin-project", + "rand 0.9.2", + "rustc-hash 2.1.1", + "serde", + "serde_json", + "thiserror 2.0.17", + "tokio", + "tokio-stream", + "tower 0.5.2", + "tracing", + "wasm-bindgen-futures", ] [[package]] -name = "impl-trait-for-tuples" -version = "0.2.3" +name = "jsonrpsee-http-client" +version = "0.24.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" +checksum = "f50c389d6e6a52eb7c3548a6600c90cf74d9b71cb5912209833f00a5479e9a01" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.106", + "async-trait", + "base64 0.22.1", + "http-body", + "hyper", + "hyper-rustls", + "hyper-util", + "jsonrpsee-core 0.24.10", + "jsonrpsee-types 0.24.10", + "rustls", + "rustls-platform-verifier", + "serde", + "serde_json", + "thiserror 1.0.69", + "tokio", + "tower 0.4.13", + "tracing", + "url", ] [[package]] -name = "include_dir" -version = "0.7.4" +name = "jsonrpsee-http-client" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd" +checksum = "790bedefcec85321e007ff3af84b4e417540d5c87b3c9779b9e247d1bcc3dab8" dependencies = [ - "include_dir_macros", + "base64 0.22.1", + "http-body", + "hyper", + "hyper-rustls", + "hyper-util", + "jsonrpsee-core 0.26.0", + "jsonrpsee-types 0.26.0", + "rustls", + "rustls-platform-verifier", + "serde", + "serde_json", + "thiserror 2.0.17", + "tokio", + "tower 0.5.2", + "url", ] [[package]] -name = "include_dir_macros" -version = "0.7.4" +name = "jsonrpsee-proc-macros" +version = "0.24.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75" +checksum = "7398cddf5013cca4702862a2692b66c48a3bd6cf6ec681a47453c93d63cf8de5" dependencies = [ + "heck", + "proc-macro-crate", "proc-macro2", "quote", + "syn 2.0.113", ] [[package]] -name = "indenter" -version = "0.3.4" +name = "jsonrpsee-proc-macros" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "964de6e86d545b246d84badc0fef527924ace5134f30641c203ef52ba83f58d5" +checksum = "2da3f8ab5ce1bb124b6d082e62dffe997578ceaf0aeb9f3174a214589dc00f07" +dependencies = [ + "heck", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.113", +] [[package]] -name = "indexmap" -version = "1.9.3" +name = "jsonrpsee-server" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +checksum = "4c51b7c290bb68ce3af2d029648148403863b982f138484a73f02a9dd52dbd7f" dependencies = [ - "autocfg", - "hashbrown 0.12.3", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-util", + "jsonrpsee-core 0.26.0", + "jsonrpsee-types 0.26.0", + "pin-project", + "route-recognizer", "serde", + "serde_json", + "soketto", + "thiserror 2.0.17", + "tokio", + "tokio-stream", + "tokio-util", + "tower 0.5.2", + "tracing", ] [[package]] -name = "indexmap" -version = "2.11.0" +name = "jsonrpsee-types" +version = "0.24.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2481980430f9f78649238835720ddccc57e52df14ffce1c6f37391d61b563e9" +checksum = "b0f05e0028e55b15dbd2107163b3c744cd3bb4474f193f95d9708acbf5677e44" dependencies = [ - "arbitrary", - "equivalent", - "hashbrown 0.15.5", + "http", "serde", + "serde_json", + "thiserror 1.0.69", ] [[package]] -name = "indoc" -version = "2.0.6" +name = "jsonrpsee-types" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd" +checksum = "bc88ff4688e43cc3fa9883a8a95c6fa27aa2e76c96e610b737b6554d650d7fd5" +dependencies = [ + "http", + "serde", + "serde_json", + "thiserror 2.0.17", +] [[package]] -name = "infer" -version = "0.2.3" +name = "jsonrpsee-wasm-client" +version = "0.24.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64e9829a50b42bb782c1df523f78d332fe371b10c661e78b7a3c34b0198e9fac" +checksum = "e9d745e4f543fc10fc0e2b11aa1f3be506b1e475d412167e7191a65ecd239f1c" +dependencies = [ + "jsonrpsee-client-transport 0.24.10", + "jsonrpsee-core 0.24.10", + "jsonrpsee-types 0.24.10", +] [[package]] -name = "inotify" -version = "0.11.0" +name = "jsonrpsee-wasm-client" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" +checksum = "7902885de4779f711a95d82c8da2d7e5f9f3a7c7cfa44d51c067fd1c29d72a3c" dependencies = [ - "bitflags 2.9.4", - "inotify-sys", - "libc", + "jsonrpsee-client-transport 0.26.0", + "jsonrpsee-core 0.26.0", + "jsonrpsee-types 0.26.0", + "tower 0.5.2", ] [[package]] -name = "inotify-sys" -version = "0.1.5" +name = "jsonrpsee-ws-client" +version = "0.24.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" +checksum = "78fc744f17e7926d57f478cf9ca6e1ee5d8332bf0514860b1a3cdf1742e614cc" dependencies = [ - "libc", + "http", + "jsonrpsee-client-transport 0.24.10", + "jsonrpsee-core 0.24.10", + "jsonrpsee-types 0.24.10", + "url", ] [[package]] -name = "inout" -version = "0.1.4" +name = "jsonrpsee-ws-client" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" +checksum = "9b6fceceeb05301cc4c065ab3bd2fa990d41ff4eb44e4ca1b30fa99c057c3e79" dependencies = [ - "block-padding", - "generic-array", + "http", + "jsonrpsee-client-transport 0.26.0", + "jsonrpsee-core 0.26.0", + "jsonrpsee-types 0.26.0", + "tower 0.5.2", + "url", ] [[package]] -name = "instability" -version = "0.3.9" +name = "jsonwebtoken" +version = "9.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435d80800b936787d62688c927b6490e887c7ef5ff9ce922c6c6050fca75eb9a" +checksum = "5a87cc7a48537badeae96744432de36f4be2b4a34a05a5ef32e9dd8a1c169dde" dependencies = [ - "darling 0.20.11", - "indoc", - "proc-macro2", - "quote", - "syn 2.0.106", + "base64 0.22.1", + "js-sys", + "pem", + "ring", + "serde", + "serde_json", + "simple_asn1", ] [[package]] -name = "instant" -version = "0.1.13" +name = "k256" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" +checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" dependencies = [ "cfg-if", + "ecdsa", + "elliptic-curve", + "once_cell", + "serdect", + "sha2", + "signature", ] [[package]] -name = "interprocess" -version = "2.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d941b405bd2322993887859a8ee6ac9134945a24ec5ec763a8a962fc64dfec2d" +name = "keccak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" dependencies = [ - "doctest-file", - "futures-core", - "libc", - "recvmsg", - "tokio", - "widestring", - "windows-sys 0.52.0", + "cpufeatures", ] [[package]] -name = "intrusive-collections" -version = "0.9.7" +name = "keccak-asm" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "189d0897e4cbe8c75efedf3502c18c887b05046e59d28404d4d8e46cbc4d1e86" +checksum = "505d1856a39b200489082f90d897c3f07c455563880bc5952e38eabf731c83b6" dependencies = [ - "memoffset", + "digest 0.10.7", + "sha3-asm", ] [[package]] -name = "io-uring" -version = "0.7.10" +name = "kqueue" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b" +checksum = "eac30106d7dce88daf4a3fcb4879ea939476d5074a9b7ddd0fb97fa4bed5596a" dependencies = [ - "bitflags 2.9.4", - "cfg-if", + "kqueue-sys", "libc", ] [[package]] -name = "ipconfig" -version = "0.3.2" +name = "kqueue-sys" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" +checksum = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" dependencies = [ - "socket2 0.5.10", - "widestring", - "windows-sys 0.48.0", - "winreg", + "bitflags 1.3.2", + "libc", ] [[package]] -name = "ipnet" -version = "2.11.0" +name = "lazy_static" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] -name = "iri-string" -version = "0.7.8" +name = "libc" +version = "0.2.179" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" +checksum = "c5a2d376baa530d1238d133232d15e239abad80d05838b4b59354e5268af431f" + +[[package]] +name = "libgit2-sys" +version = "0.18.3+1.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9b3acc4b91781bb0b3386669d325163746af5f6e4f73e6d2d630e09a35f3487" dependencies = [ - "memchr", - "serde", + "cc", + "libc", + "libz-sys", + "pkg-config", ] [[package]] -name = "is-terminal" -version = "0.4.16" +name = "libloading" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" +checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" dependencies = [ - "hermit-abi", - "libc", - "windows-sys 0.59.0", + "cfg-if", + "windows-link", ] [[package]] -name = "is_terminal_polyfill" -version = "1.70.1" +name = "libm" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" [[package]] -name = "itertools" -version = "0.10.5" +name = "libp2p-identity" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +checksum = "f0c7892c221730ba55f7196e98b0b8ba5e04b4155651736036628e9f73ed6fc3" dependencies = [ - "either", + "asn1_der", + "bs58", + "ed25519-dalek", + "hkdf", + "k256", + "multihash", + "quick-protobuf", + "sha2", + "thiserror 2.0.17", + "tracing", + "zeroize", ] [[package]] -name = "itertools" -version = "0.13.0" +name = "libproc" +version = "0.14.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +checksum = "a54ad7278b8bc5301d5ffd2a94251c004feb971feba96c971ea4063645990757" dependencies = [ - "either", + "bindgen 0.72.1", + "errno", + "libc", ] [[package]] -name = "itertools" -version = "0.14.0" +name = "libredox" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +checksum = "3d0b95e02c851351f877147b7deea7b1afb1df71b63aa5f8270716e0c5720616" dependencies = [ - "either", + "bitflags 2.10.0", + "libc", + "redox_syscall 0.7.0", ] [[package]] -name = "itoa" -version = "1.0.15" +name = "libz-sys" +version = "1.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" +checksum = "15d118bbf3771060e7311cc7bb0545b01d08a8b4a7de949198dec1fa0ca1c0f7" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] [[package]] -name = "jni" -version = "0.21.1" +name = "linked-hash-map" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" + +[[package]] +name = "linked_hash_set" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "984fb35d06508d1e69fc91050cceba9c0b748f983e6739fa2c7a9237154c52c8" dependencies = [ - "cesu8", - "cfg-if", - "combine", - "jni-sys", - "log", - "thiserror 1.0.69", - "walkdir", - "windows-sys 0.45.0", + "linked-hash-map", + "serde_core", ] [[package]] -name = "jni-sys" -version = "0.3.0" +name = "linux-raw-sys" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" +checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" [[package]] -name = "jobserver" -version = "0.1.34" +name = "linux-raw-sys" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" -dependencies = [ - "getrandom 0.3.3", - "libc", -] +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" [[package]] -name = "js-sys" -version = "0.3.78" +name = "litemap" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c0b063578492ceec17683ef2f8c5e89121fbd0b172cbc280635ab7567db2738" -dependencies = [ - "once_cell", - "wasm-bindgen", -] +checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" [[package]] -name = "jsonrpsee" -version = "0.26.0" +name = "litemap" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f3f48dc3e6b8bd21e15436c1ddd0bc22a6a54e8ec46fedd6adf3425f396ec6a" -dependencies = [ - "jsonrpsee-client-transport", - "jsonrpsee-core", - "jsonrpsee-http-client", - "jsonrpsee-proc-macros", - "jsonrpsee-server", - "jsonrpsee-types", - "jsonrpsee-wasm-client", - "jsonrpsee-ws-client", - "tokio", - "tracing", -] +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" [[package]] -name = "jsonrpsee-client-transport" -version = "0.26.0" +name = "litrs" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf36eb27f8e13fa93dcb50ccb44c417e25b818cfa1a481b5470cd07b19c60b98" +checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" + +[[package]] +name = "lock_api" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" dependencies = [ - "base64 0.22.1", - "futures-channel", - "futures-util", - "gloo-net", - "http", - "jsonrpsee-core", - "pin-project", - "rustls", - "rustls-pki-types", - "rustls-platform-verifier", - "soketto", - "thiserror 2.0.16", - "tokio", - "tokio-rustls", - "tokio-util", - "tracing", - "url", + "scopeguard", + "serde", ] [[package]] -name = "jsonrpsee-core" -version = "0.26.0" +name = "log" +version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "316c96719901f05d1137f19ba598b5fe9c9bc39f4335f67f6be8613921946480" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" + +[[package]] +name = "loom" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca" dependencies = [ - "async-trait", - "bytes", - "futures-timer", - "futures-util", - "http", - "http-body", - "http-body-util", - "jsonrpsee-types", - "parking_lot", - "pin-project", - "rand 0.9.2", - "rustc-hash 2.1.1", - "serde", - "serde_json", - "thiserror 2.0.16", - "tokio", - "tokio-stream", - "tower", + "cfg-if", + "generator", + "scoped-tls", "tracing", - "wasm-bindgen-futures", + "tracing-subscriber 0.3.22", ] [[package]] -name = "jsonrpsee-http-client" -version = "0.26.0" +name = "lru" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "790bedefcec85321e007ff3af84b4e417540d5c87b3c9779b9e247d1bcc3dab8" +checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "base64 0.22.1", - "http-body", - "hyper", - "hyper-rustls", - "hyper-util", - "jsonrpsee-core", - "jsonrpsee-types", - "rustls", - "rustls-platform-verifier", - "serde", - "serde_json", - "thiserror 2.0.16", - "tokio", - "tower", - "url", + "hashbrown 0.15.5", ] [[package]] -name = "jsonrpsee-proc-macros" -version = "0.26.0" +name = "lru" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2da3f8ab5ce1bb124b6d082e62dffe997578ceaf0aeb9f3174a214589dc00f07" +checksum = "227748d55f2f0ab4735d87fd623798cb6b664512fe979705f829c9f81c934465" dependencies = [ - "heck", - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 2.0.106", + "hashbrown 0.15.5", ] [[package]] -name = "jsonrpsee-server" -version = "0.26.0" +name = "lru-slab" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c51b7c290bb68ce3af2d029648148403863b982f138484a73f02a9dd52dbd7f" +checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" + +[[package]] +name = "lz4" +version = "1.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a20b523e860d03443e98350ceaac5e71c6ba89aea7d960769ec3ce37f4de5af4" dependencies = [ - "futures-util", - "http", - "http-body", - "http-body-util", - "hyper", - "hyper-util", - "jsonrpsee-core", - "jsonrpsee-types", - "pin-project", - "route-recognizer", - "serde", - "serde_json", - "soketto", - "thiserror 2.0.16", - "tokio", - "tokio-stream", - "tokio-util", - "tower", - "tracing", + "lz4-sys", ] [[package]] -name = "jsonrpsee-types" -version = "0.26.0" +name = "lz4-sys" +version = "1.11.1+lz4-1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc88ff4688e43cc3fa9883a8a95c6fa27aa2e76c96e610b737b6554d650d7fd5" +checksum = "6bd8c0d6c6ed0cd30b3652886bb8711dc4bb01d637a68105a3d5158039b418e6" dependencies = [ - "http", - "serde", - "serde_json", - "thiserror 2.0.16", + "cc", + "libc", ] [[package]] -name = "jsonrpsee-wasm-client" -version = "0.26.0" +name = "lz4_flex" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7902885de4779f711a95d82c8da2d7e5f9f3a7c7cfa44d51c067fd1c29d72a3c" +checksum = "08ab2867e3eeeca90e844d1940eab391c9dc5228783db2ed999acbc0a9ed375a" + +[[package]] +name = "mach2" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a1b95cd5421ec55b445b5ae102f5ea0e768de1f82bd3001e11f426c269c3aea" dependencies = [ - "jsonrpsee-client-transport", - "jsonrpsee-core", - "jsonrpsee-types", - "tower", + "libc", ] [[package]] -name = "jsonrpsee-ws-client" -version = "0.26.0" +name = "macro-string" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b6fceceeb05301cc4c065ab3bd2fa990d41ff4eb44e4ca1b30fa99c057c3e79" +checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" dependencies = [ - "http", - "jsonrpsee-client-transport", - "jsonrpsee-core", - "jsonrpsee-types", - "tower", - "url", + "proc-macro2", + "quote", + "syn 2.0.113", ] [[package]] -name = "jsonwebtoken" -version = "9.3.1" +name = "match-lookup" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a87cc7a48537badeae96744432de36f4be2b4a34a05a5ef32e9dd8a1c169dde" +checksum = "1265724d8cb29dbbc2b0f06fffb8bf1a8c0cf73a78eede9ba73a4a66c52a981e" dependencies = [ - "base64 0.22.1", - "js-sys", - "pem", - "ring", - "serde", - "serde_json", - "simple_asn1", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "k256" -version = "0.13.4" +name = "matchers" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" +checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" dependencies = [ - "cfg-if", - "ecdsa", - "elliptic-curve", - "once_cell", - "serdect", - "sha2 0.10.9", - "signature", + "regex-automata", ] [[package]] -name = "keccak" -version = "0.1.5" +name = "memchr" +version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" + +[[package]] +name = "memmap2" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490" dependencies = [ - "cpufeatures", + "libc", ] [[package]] -name = "keccak-asm" -version = "0.1.4" +name = "memoffset" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "505d1856a39b200489082f90d897c3f07c455563880bc5952e38eabf731c83b6" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" dependencies = [ - "digest 0.10.7", - "sha3-asm", + "autocfg", ] [[package]] -name = "kqueue" -version = "1.1.1" +name = "merlin" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac30106d7dce88daf4a3fcb4879ea939476d5074a9b7ddd0fb97fa4bed5596a" +checksum = "58c38e2799fc0978b65dfff8023ec7843e2330bb462f19198840b34b6582397d" dependencies = [ - "kqueue-sys", - "libc", + "byteorder", + "keccak", + "rand_core 0.6.4", + "zeroize", ] [[package]] -name = "kqueue-sys" -version = "1.0.4" +name = "metrics" +version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" +checksum = "5d5312e9ba3771cfa961b585728215e3d972c950a3eed9252aa093d6301277e8" dependencies = [ - "bitflags 1.3.2", - "libc", + "ahash", + "portable-atomic", ] [[package]] -name = "lazy_static" -version = "1.5.0" +name = "metrics-derive" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +checksum = "f3dbdd96ed57d565ec744cba02862d707acf373c5772d152abae6ec5c4e24f6c" +dependencies = [ + "proc-macro2", + "quote", + "regex", + "syn 2.0.113", +] [[package]] -name = "libc" -version = "0.2.175" +name = "metrics-exporter-prometheus" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" +checksum = "dd7399781913e5393588a8d8c6a2867bf85fb38eaf2502fdce465aad2dc6f034" +dependencies = [ + "base64 0.22.1", + "indexmap 2.12.1", + "metrics", + "metrics-util", + "quanta", + "thiserror 1.0.69", +] [[package]] -name = "libgit2-sys" -version = "0.18.2+1.9.1" +name = "metrics-process" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c42fe03df2bd3c53a3a9c7317ad91d80c81cd1fb0caec8d7cc4cd2bfa10c222" +checksum = "f615e08e049bd14a44c4425415782efb9bcd479fc1e19ddeb971509074c060d0" dependencies = [ - "cc", "libc", - "libz-sys", - "pkg-config", + "libproc", + "mach2", + "metrics", + "once_cell", + "procfs 0.18.0", + "rlimit", + "windows 0.62.2", ] [[package]] -name = "libloading" -version = "0.8.8" +name = "metrics-util" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" +checksum = "b8496cc523d1f94c1385dd8f0f0c2c480b2b8aeccb5b7e4485ad6365523ae376" dependencies = [ - "cfg-if", - "windows-targets 0.53.3", + "crossbeam-epoch", + "crossbeam-utils", + "hashbrown 0.15.5", + "indexmap 2.12.1", + "metrics", + "ordered-float", + "quanta", + "rand 0.9.2", + "rand_xoshiro", + "sketches-ddsketch", ] [[package]] -name = "libm" -version = "0.2.15" +name = "mime" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] -name = "libp2p-identity" -version = "0.2.12" +name = "mime_guess" +version = "2.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3104e13b51e4711ff5738caa1fb54467c8604c2e94d607e27745bcf709068774" +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" dependencies = [ - "asn1_der", - "bs58", - "ed25519-dalek", - "hkdf", - "k256", - "multihash", - "quick-protobuf", - "sha2 0.10.9", - "thiserror 2.0.16", - "tracing", - "zeroize", + "mime", + "unicase", ] [[package]] -name = "libproc" -version = "0.14.10" +name = "mini-moka" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e78a09b56be5adbcad5aa1197371688dc6bb249a26da3bca2011ee2fb987ebfb" +checksum = "c325dfab65f261f386debee8b0969da215b3fa0037e74c8a1234db7ba986d803" dependencies = [ - "bindgen", - "errno", - "libc", + "crossbeam-channel", + "crossbeam-utils", + "dashmap 5.5.3", + "skeptic", + "smallvec", + "tagptr", + "triomphe", ] [[package]] -name = "libredox" -version = "0.1.9" +name = "minimal-lexical" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "391290121bad3d37fbddad76d8f5d1c1c314cfc646d143d7e07a3086ddff0ce3" -dependencies = [ - "bitflags 2.9.4", - "libc", - "redox_syscall", -] +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] -name = "libsecp256k1" -version = "0.7.2" +name = "miniz_oxide" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e79019718125edc905a079a70cfa5f3820bc76139fc91d6f9abc27ea2a887139" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ - "arrayref", - "base64 0.22.1", - "digest 0.9.0", - "libsecp256k1-core", - "libsecp256k1-gen-ecmult", - "libsecp256k1-gen-genmult", - "rand 0.8.5", + "adler2", "serde", - "sha2 0.9.9", + "simd-adler32", ] [[package]] -name = "libsecp256k1-core" -version = "0.3.0" +name = "mio" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451" +checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" dependencies = [ - "crunchy", - "digest 0.9.0", - "subtle", + "libc", + "log", + "wasi", + "windows-sys 0.61.2", ] [[package]] -name = "libsecp256k1-gen-ecmult" -version = "0.3.0" +name = "modular-bitfield" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3038c808c55c87e8a172643a7d87187fc6c4174468159cb3090659d55bcb4809" +checksum = "a53d79ba8304ac1c4f9eb3b9d281f21f7be9d4626f72ce7df4ad8fbde4f38a74" dependencies = [ - "libsecp256k1-core", + "modular-bitfield-impl", + "static_assertions", ] [[package]] -name = "libsecp256k1-gen-genmult" -version = "0.3.0" +name = "modular-bitfield-impl" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db8d6ba2cec9eacc40e6e8ccc98931840301f1006e95647ceb2dd5c3aa06f7c" +checksum = "5a7d5f7076603ebc68de2dc6a650ec331a062a13abaa346975be747bbfa4b789" dependencies = [ - "libsecp256k1-core", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "libz-sys" -version = "1.1.22" +name = "moka" +version = "0.12.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b70e7a7df205e92a1a4cd9aaae7898dac0aa555503cc0a649494d0d60e7651d" +checksum = "a3dec6bd31b08944e08b58fd99373893a6c17054d6f3ea5006cc894f4f4eee2a" dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", + "crossbeam-channel", + "crossbeam-epoch", + "crossbeam-utils", + "equivalent", + "parking_lot", + "portable-atomic", + "smallvec", + "tagptr", + "uuid", ] [[package]] -name = "linked-hash-map" -version = "0.5.6" +name = "more-asserts" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" +checksum = "1fafa6961cabd9c63bcd77a45d7e3b7f3b552b70417831fb0f56db717e72407e" [[package]] -name = "linked_hash_set" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bae85b5be22d9843c80e5fc80e9b64c8a3b1f98f867c709956eca3efff4e92e2" +name = "multiaddr" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe6351f60b488e04c1d21bc69e56b89cb3f5e8f5d22557d6e8031bdfd79b6961" dependencies = [ - "linked-hash-map", + "arrayref", + "byteorder", + "data-encoding", + "libp2p-identity", + "multibase", + "multihash", + "percent-encoding", "serde", + "static_assertions", + "unsigned-varint", + "url", ] [[package]] -name = "linux-raw-sys" -version = "0.4.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" - -[[package]] -name = "linux-raw-sys" -version = "0.9.4" +name = "multibase" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" +checksum = "8694bb4835f452b0e3bb06dbebb1d6fc5385b6ca1caf2e55fd165c042390ec77" +dependencies = [ + "base-x", + "base256emoji", + "data-encoding", + "data-encoding-macro", +] [[package]] -name = "litemap" -version = "0.7.5" +name = "multihash" +version = "0.19.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" +checksum = "6b430e7953c29dd6a09afc29ff0bb69c6e306329ee6794700aee27b76a1aea8d" +dependencies = [ + "core2", + "unsigned-varint", +] [[package]] -name = "litemap" -version = "0.8.0" +name = "native-tls" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" +checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" +dependencies = [ + "libc", + "log", + "openssl", + "openssl-probe 0.1.6", + "openssl-sys", + "schannel", + "security-framework 2.11.1", + "security-framework-sys", + "tempfile", +] [[package]] -name = "litrs" -version = "0.4.2" +name = "nom" +version = "7.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5e54036fe321fd421e10d732f155734c4e4afd610dd556d9a82833ab3ee0bed" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] [[package]] -name = "lock_api" -version = "0.4.13" +name = "notify" +version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" +checksum = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" dependencies = [ - "autocfg", - "scopeguard", - "serde", + "bitflags 2.10.0", + "fsevent-sys", + "inotify", + "kqueue", + "libc", + "log", + "mio", + "notify-types", + "walkdir", + "windows-sys 0.60.2", ] [[package]] -name = "log" -version = "0.4.28" +name = "notify-types" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" +checksum = "5e0826a989adedc2a244799e823aece04662b66609d96af8dff7ac6df9a8925d" [[package]] -name = "loom" -version = "0.7.2" +name = "ntapi" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca" +checksum = "c70f219e21142367c70c0b30c6a9e3a14d55b4d12a204d897fbec83a0363f081" dependencies = [ - "cfg-if", - "generator", - "scoped-tls", - "tracing", - "tracing-subscriber 0.3.20", + "winapi", ] [[package]] -name = "lru" -version = "0.12.5" +name = "nu-ansi-term" +version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "hashbrown 0.15.5", + "windows-sys 0.61.2", ] [[package]] -name = "lru" -version = "0.13.0" +name = "num" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "227748d55f2f0ab4735d87fd623798cb6b664512fe979705f829c9f81c934465" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" dependencies = [ - "hashbrown 0.15.5", + "num-bigint", + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", ] [[package]] -name = "lru-slab" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" - -[[package]] -name = "lz4" -version = "1.28.1" +name = "num-bigint" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a20b523e860d03443e98350ceaac5e71c6ba89aea7d960769ec3ce37f4de5af4" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ - "lz4-sys", + "num-integer", + "num-traits", + "serde", ] [[package]] -name = "lz4-sys" -version = "1.11.1+lz4-1.10.0" +name = "num-complex" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bd8c0d6c6ed0cd30b3652886bb8711dc4bb01d637a68105a3d5158039b418e6" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ - "cc", - "libc", + "num-traits", ] [[package]] -name = "lz4_flex" -version = "0.11.5" +name = "num-conv" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08ab2867e3eeeca90e844d1940eab391c9dc5228783db2ed999acbc0a9ed375a" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" [[package]] -name = "mach2" -version = "0.4.3" +name = "num-integer" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d640282b302c0bb0a2a8e0233ead9035e3bed871f0b7e81fe4a1ec829765db44" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "libc", + "num-traits", ] [[package]] -name = "macro-string" -version = "0.1.4" +name = "num-iter" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.106", + "autocfg", + "num-integer", + "num-traits", ] [[package]] -name = "matchers" -version = "0.2.0" +name = "num-rational" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" dependencies = [ - "regex-automata", + "num-bigint", + "num-integer", + "num-traits", ] [[package]] -name = "memchr" -version = "2.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" - -[[package]] -name = "memmap2" -version = "0.9.8" +name = "num-traits" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843a98750cd611cc2965a8213b53b43e715f13c37a9e096c6408e69990961db7" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ - "libc", + "autocfg", + "libm", ] [[package]] -name = "memoffset" -version = "0.9.1" +name = "num_cpus" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" +checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" dependencies = [ - "autocfg", + "hermit-abi", + "libc", ] [[package]] -name = "metrics" -version = "0.24.2" +name = "num_enum" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25dea7ac8057892855ec285c440160265225438c3c45072613c25a4b26e98ef5" +checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" dependencies = [ - "ahash", - "portable-atomic", + "num_enum_derive", + "rustversion", ] [[package]] -name = "metrics-derive" -version = "0.1.0" +name = "num_enum_derive" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3dbdd96ed57d565ec744cba02862d707acf373c5772d152abae6ec5c4e24f6c" +checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" dependencies = [ + "proc-macro-crate", "proc-macro2", "quote", - "regex", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] -name = "metrics-exporter-prometheus" -version = "0.16.2" +name = "num_threads" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd7399781913e5393588a8d8c6a2867bf85fb38eaf2502fdce465aad2dc6f034" +checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" dependencies = [ - "base64 0.22.1", - "indexmap 2.11.0", - "metrics", - "metrics-util", - "quanta", - "thiserror 1.0.69", + "libc", ] [[package]] -name = "metrics-process" -version = "2.4.0" +name = "nybbles" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a82c8add4382f29a122fa64fff1891453ed0f6b2867d971e7d60cb8dfa322ff" +checksum = "2c4b5ecbd0beec843101bffe848217f770e8b8da81d8355b7d6e226f2199b3dc" dependencies = [ - "libc", - "libproc", - "mach2", - "metrics", - "once_cell", - "procfs", - "rlimit", - "windows 0.58.0", + "alloy-rlp", + "arbitrary", + "cfg-if", + "proptest", + "ruint", + "serde", + "smallvec", ] [[package]] -name = "metrics-util" -version = "0.19.1" +name = "once_cell" +version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8496cc523d1f94c1385dd8f0f0c2c480b2b8aeccb5b7e4485ad6365523ae376" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", - "hashbrown 0.15.5", - "indexmap 2.11.0", - "metrics", - "ordered-float", - "quanta", - "rand 0.9.2", - "rand_xoshiro", - "sketches-ddsketch", + "critical-section", + "portable-atomic", ] [[package]] -name = "mev-share-sse" -version = "0.5.1" +name = "once_cell_polyfill" +version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd9e517b6c1d1143b35b716ec1107a493b2ce1143a35cbb9788e81f69c6f574c" -dependencies = [ - "alloy-rpc-types-mev", - "async-sse", - "bytes", - "futures-util", - "http-types", - "pin-project-lite", - "reqwest", - "serde", - "serde_json", - "thiserror 2.0.16", - "tokio", - "tracing", -] +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" [[package]] -name = "mime" -version = "0.3.17" +name = "oorandom" +version = "11.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] -name = "mime_guess" -version = "2.0.5" +name = "op-alloy-consensus" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" +checksum = "d9ade20c592484ba1ea538006e0454284174447a3adf9bb59fa99ed512f95493" dependencies = [ - "mime", - "unicase", + "alloy-consensus", + "alloy-eips", + "alloy-network", + "alloy-primitives", + "alloy-rlp", + "alloy-rpc-types-eth", + "alloy-serde", + "arbitrary", + "derive_more 2.1.1", + "serde", + "serde_with", + "thiserror 2.0.17", ] [[package]] -name = "mini-moka" -version = "0.10.3" +name = "op-alloy-network" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c325dfab65f261f386debee8b0969da215b3fa0037e74c8a1234db7ba986d803" +checksum = "84741a798124ceb43979d70db654039937a00979b1341fa8bfdc48473bbd52bf" dependencies = [ - "crossbeam-channel", - "crossbeam-utils", - "dashmap 5.5.3", - "skeptic", - "smallvec", - "tagptr", - "triomphe", + "alloy-consensus", + "alloy-network", + "alloy-primitives", + "alloy-provider", + "alloy-rpc-types-eth", + "alloy-signer", + "op-alloy-consensus", + "op-alloy-rpc-types", ] [[package]] -name = "minimal-lexical" -version = "0.2.1" +name = "op-alloy-rpc-types" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" +checksum = "9076d4fcb8e260cec8ad01cd155200c0dbb562e62adb553af245914f30854e29" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-network-primitives", + "alloy-primitives", + "alloy-rpc-types-eth", + "alloy-serde", + "derive_more 2.1.1", + "op-alloy-consensus", + "serde", + "serde_json", + "thiserror 2.0.17", +] [[package]] -name = "miniz_oxide" -version = "0.8.9" +name = "op-alloy-rpc-types-engine" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +checksum = "d4256b1eda5766a9fa7de5874e54515994500bef632afda41e940aed015f9455" dependencies = [ - "adler2", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-rpc-types-engine", + "alloy-serde", + "derive_more 2.1.1", + "ethereum_ssz", + "ethereum_ssz_derive", + "op-alloy-consensus", "serde", + "snap", + "thiserror 2.0.17", ] [[package]] -name = "mio" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" +name = "op-revm" +version = "10.0.0" +source = "git+https://github.com/SeismicSystems/seismic-revm.git?rev=ed81a1d6a89a8ffbf816d52715a3260b040c98bb#ed81a1d6a89a8ffbf816d52715a3260b040c98bb" dependencies = [ - "libc", - "log", - "wasi 0.11.1+wasi-snapshot-preview1", - "windows-sys 0.59.0", + "auto_impl", + "revm", + "serde", ] [[package]] -name = "modular-bitfield" -version = "0.11.2" +name = "opaque-debug" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a53d79ba8304ac1c4f9eb3b9d281f21f7be9d4626f72ce7df4ad8fbde4f38a74" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" + +[[package]] +name = "openssl" +version = "0.10.75" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08838db121398ad17ab8531ce9de97b244589089e290a384c900cb9ff7434328" dependencies = [ - "modular-bitfield-impl", - "static_assertions", + "bitflags 2.10.0", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", ] [[package]] -name = "modular-bitfield-impl" -version = "0.11.2" +name = "openssl-macros" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a7d5f7076603ebc68de2dc6a650ec331a062a13abaa346975be747bbfa4b789" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.113", ] [[package]] -name = "moka" -version = "0.12.10" +name = "openssl-probe" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9321642ca94a4282428e6ea4af8cc2ca4eac48ac7a6a4ea8f33f76d0ce70926" -dependencies = [ - "crossbeam-channel", - "crossbeam-epoch", - "crossbeam-utils", - "loom", - "parking_lot", - "portable-atomic", - "rustc_version 0.4.1", - "smallvec", - "tagptr", - "thiserror 1.0.69", - "uuid", -] +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] -name = "more-asserts" -version = "0.3.1" +name = "openssl-probe" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fafa6961cabd9c63bcd77a45d7e3b7f3b552b70417831fb0f56db717e72407e" +checksum = "9f50d9b3dabb09ecd771ad0aa242ca6894994c130308ca3d7684634df8037391" [[package]] -name = "multiaddr" -version = "0.18.2" +name = "openssl-sys" +version = "0.9.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe6351f60b488e04c1d21bc69e56b89cb3f5e8f5d22557d6e8031bdfd79b6961" +checksum = "82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321" dependencies = [ - "arrayref", - "byteorder", - "data-encoding", - "libp2p-identity", - "multibase", - "multihash", - "percent-encoding", - "serde", - "static_assertions", - "unsigned-varint", - "url", + "cc", + "libc", + "pkg-config", + "vcpkg", ] [[package]] -name = "multibase" -version = "0.9.1" +name = "opentelemetry" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b3539ec3c1f04ac9748a260728e855f261b4977f5c3406612c884564f329404" +checksum = "9e87237e2775f74896f9ad219d26a2081751187eb7c9f5c58dde20a23b95d16c" dependencies = [ - "base-x", - "data-encoding", - "data-encoding-macro", + "futures-core", + "futures-sink", + "js-sys", + "pin-project-lite", + "thiserror 2.0.17", + "tracing", ] [[package]] -name = "multihash" -version = "0.19.3" +name = "opentelemetry-http" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b430e7953c29dd6a09afc29ff0bb69c6e306329ee6794700aee27b76a1aea8d" +checksum = "46d7ab32b827b5b495bd90fa95a6cb65ccc293555dcc3199ae2937d2d237c8ed" dependencies = [ - "core2", - "unsigned-varint", + "async-trait", + "bytes", + "http", + "opentelemetry", + "reqwest", + "tracing", ] [[package]] -name = "nom" -version = "7.1.3" +name = "opentelemetry-otlp" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +checksum = "d899720fe06916ccba71c01d04ecd77312734e2de3467fd30d9d580c8ce85656" dependencies = [ - "memchr", - "minimal-lexical", + "futures-core", + "http", + "opentelemetry", + "opentelemetry-http", + "opentelemetry-proto", + "opentelemetry_sdk", + "prost", + "reqwest", + "thiserror 2.0.17", + "tracing", ] [[package]] -name = "notify" -version = "8.2.0" +name = "opentelemetry-proto" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" +checksum = "8c40da242381435e18570d5b9d50aca2a4f4f4d8e146231adb4e7768023309b3" dependencies = [ - "bitflags 2.9.4", - "fsevent-sys", - "inotify", - "kqueue", - "libc", - "log", - "mio", - "notify-types", - "walkdir", - "windows-sys 0.60.2", + "opentelemetry", + "opentelemetry_sdk", + "prost", + "tonic", ] [[package]] -name = "notify-types" -version = "2.0.0" +name = "opentelemetry-semantic-conventions" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e0826a989adedc2a244799e823aece04662b66609d96af8dff7ac6df9a8925d" +checksum = "84b29a9f89f1a954936d5aa92f19b2feec3c8f3971d3e96206640db7f9706ae3" [[package]] -name = "ntapi" -version = "0.4.1" +name = "opentelemetry_sdk" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" +checksum = "afdefb21d1d47394abc1ba6c57363ab141be19e27cc70d0e422b7f303e4d290b" dependencies = [ - "winapi", + "futures-channel", + "futures-executor", + "futures-util", + "glob", + "opentelemetry", + "percent-encoding", + "rand 0.9.2", + "serde_json", + "thiserror 2.0.17", + "tracing", ] [[package]] -name = "nu-ansi-term" -version = "0.50.1" +name = "option-ext" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399" -dependencies = [ - "windows-sys 0.52.0", -] +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] -name = "num" -version = "0.4.3" +name = "ordered-float" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" +checksum = "7bb71e1b3fa6ca1c61f383464aaf2bb0e2f8e772a1f01d486832464de363b951" dependencies = [ - "num-bigint", - "num-complex", - "num-integer", - "num-iter", - "num-rational", "num-traits", ] [[package]] -name = "num-bigint" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" -dependencies = [ - "num-integer", - "num-traits", - "serde", -] - -[[package]] -name = "num-complex" -version = "0.4.6" +name = "p256" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" +checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" dependencies = [ - "num-traits", + "ecdsa", + "elliptic-curve", + "primeorder", + "sha2", ] [[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - -[[package]] -name = "num-integer" -version = "0.1.46" +name = "page_size" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" dependencies = [ - "num-traits", + "libc", + "winapi", ] [[package]] -name = "num-iter" -version = "0.1.45" +name = "parity-scale-codec" +version = "3.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +checksum = "799781ae679d79a948e13d4824a40970bfa500058d245760dd857301059810fa" dependencies = [ - "autocfg", - "num-integer", - "num-traits", + "arbitrary", + "arrayvec", + "bitvec", + "byte-slice-cast", + "bytes", + "const_format", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "rustversion", + "serde", ] [[package]] -name = "num-rational" -version = "0.4.2" +name = "parity-scale-codec-derive" +version = "3.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +checksum = "34b4653168b563151153c9e4c08ebed57fb8262bebfa79711552fa983c623e7a" dependencies = [ - "num-bigint", - "num-integer", - "num-traits", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.113", ] [[package]] -name = "num-traits" -version = "0.2.19" +name = "parking_lot" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" dependencies = [ - "autocfg", - "libm", + "lock_api", + "parking_lot_core", ] [[package]] -name = "num_cpus" -version = "1.17.0" +name = "parking_lot_core" +version = "0.9.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" dependencies = [ - "hermit-abi", + "cfg-if", "libc", + "redox_syscall 0.5.18", + "smallvec", + "windows-link", ] [[package]] -name = "num_enum" -version = "0.7.4" +name = "paste" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a973b4e44ce6cad84ce69d797acf9a044532e4184c4f267913d1b546a0727b7a" -dependencies = [ - "num_enum_derive", - "rustversion", -] +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] -name = "num_enum_derive" -version = "0.7.4" +name = "pbkdf2" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77e878c846a8abae00dd069496dbe8751b16ac1c3d6bd2a7283a938e8228f90d" +checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 2.0.106", + "digest 0.10.7", + "hmac", ] [[package]] -name = "num_threads" -version = "0.1.7" +name = "pem" +version = "3.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" +checksum = "1d30c53c26bc5b31a98cd02d20f25a7c8567146caf63ed593a9d87b2775291be" dependencies = [ - "libc", + "base64 0.22.1", + "serde_core", ] [[package]] -name = "nybbles" -version = "0.4.3" +name = "percent-encoding" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63cb50036b1ad148038105af40aaa70ff24d8a14fbc44ae5c914e1348533d12e" -dependencies = [ - "alloy-rlp", - "arbitrary", - "cfg-if", - "proptest", - "ruint", - "serde", - "smallvec", -] +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] -name = "object" -version = "0.36.7" +name = "pest" +version = "2.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" +checksum = "2c9eb05c21a464ea704b53158d358a31e6425db2f63a1a7312268b05fe2b75f7" dependencies = [ "memchr", + "ucd-trie", ] [[package]] -name = "once_cell" -version = "1.21.3" +name = "pharos" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" dependencies = [ - "critical-section", - "portable-atomic", + "futures", + "rustc_version 0.4.1", ] [[package]] -name = "once_cell_polyfill" -version = "1.70.1" +name = "phf" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" +checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" +dependencies = [ + "phf_macros 0.11.3", + "phf_shared 0.11.3", +] [[package]] -name = "oorandom" -version = "11.1.5" +name = "phf" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" +checksum = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf" +dependencies = [ + "phf_macros 0.13.1", + "phf_shared 0.13.1", + "serde", +] [[package]] -name = "op-alloy-consensus" -version = "0.19.1" +name = "phf_generator" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9ade20c592484ba1ea538006e0454284174447a3adf9bb59fa99ed512f95493" +checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-network", - "alloy-primitives", - "alloy-rlp", - "alloy-rpc-types-eth", - "alloy-serde", - "arbitrary", - "derive_more", - "serde", - "serde_with", - "thiserror 2.0.16", + "phf_shared 0.11.3", + "rand 0.8.5", ] [[package]] -name = "op-alloy-flz" +name = "phf_generator" version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a79f352fc3893dcd670172e615afef993a41798a1d3fc0db88a3e60ef2e70ecc" +checksum = "135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737" +dependencies = [ + "fastrand", + "phf_shared 0.13.1", +] [[package]] -name = "op-alloy-network" -version = "0.19.1" +name = "phf_macros" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84741a798124ceb43979d70db654039937a00979b1341fa8bfdc48473bbd52bf" +checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" dependencies = [ - "alloy-consensus", - "alloy-network", - "alloy-primitives", - "alloy-provider", - "alloy-rpc-types-eth", - "alloy-signer", - "op-alloy-consensus", - "op-alloy-rpc-types", + "phf_generator 0.11.3", + "phf_shared 0.11.3", + "proc-macro2", + "quote", + "syn 2.0.113", ] [[package]] -name = "op-alloy-rpc-jsonrpsee" -version = "0.19.1" +name = "phf_macros" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa85f170bf8f914a7619e1447918781a8c5bd1041bb6629940b851e865487156" +checksum = "812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef" dependencies = [ - "alloy-primitives", - "jsonrpsee", + "phf_generator 0.13.1", + "phf_shared 0.13.1", + "proc-macro2", + "quote", + "syn 2.0.113", ] [[package]] -name = "op-alloy-rpc-types" -version = "0.19.1" +name = "phf_shared" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9076d4fcb8e260cec8ad01cd155200c0dbb562e62adb553af245914f30854e29" +checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-network-primitives", - "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", - "arbitrary", - "derive_more", - "op-alloy-consensus", - "serde", - "serde_json", - "thiserror 2.0.16", + "siphasher", ] [[package]] -name = "op-alloy-rpc-types-engine" -version = "0.19.1" +name = "phf_shared" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4256b1eda5766a9fa7de5874e54515994500bef632afda41e940aed015f9455" +checksum = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "alloy-rpc-types-engine", - "alloy-serde", - "arbitrary", - "derive_more", - "ethereum_ssz", - "ethereum_ssz_derive", - "op-alloy-consensus", - "serde", - "snap", - "thiserror 2.0.16", + "siphasher", ] [[package]] -name = "op-reth" -version = "1.7.0" +name = "pin-project" +version = "1.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" dependencies = [ - "clap", - "reth-cli-util", - "reth-optimism-chainspec", - "reth-optimism-cli", - "reth-optimism-consensus", - "reth-optimism-evm", - "reth-optimism-forks", - "reth-optimism-node", - "reth-optimism-payload-builder", - "reth-optimism-primitives", - "reth-optimism-rpc", - "tracing", + "pin-project-internal", ] [[package]] -name = "op-revm" -version = "10.0.0" +name = "pin-project-internal" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ba21d705bbbfc947a423cba466d75e4af0c7d43ee89ba0a0f1cfa04963cede9" +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ - "auto_impl", - "revm", - "serde", + "proc-macro2", + "quote", + "syn 2.0.113", ] [[package]] -name = "opaque-debug" -version = "0.3.1" +name = "pin-project-lite" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] -name = "openssl-probe" -version = "0.1.6" +name = "pin-utils" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] -name = "opentelemetry" -version = "0.29.1" +name = "pkcs8" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e87237e2775f74896f9ad219d26a2081751187eb7c9f5c58dde20a23b95d16c" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ - "futures-core", - "futures-sink", - "js-sys", - "pin-project-lite", - "thiserror 2.0.16", - "tracing", + "der", + "spki", ] [[package]] -name = "opentelemetry-http" -version = "0.29.0" +name = "pkg-config" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46d7ab32b827b5b495bd90fa95a6cb65ccc293555dcc3199ae2937d2d237c8ed" -dependencies = [ - "async-trait", - "bytes", - "http", - "opentelemetry", - "reqwest", - "tracing", -] +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] -name = "opentelemetry-otlp" -version = "0.29.0" +name = "plain_hasher" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d899720fe06916ccba71c01d04ecd77312734e2de3467fd30d9d580c8ce85656" +checksum = "1e19e6491bdde87c2c43d70f4c194bc8a758f2eb732df00f61e43f7362e3b4cc" dependencies = [ - "futures-core", - "http", - "opentelemetry", - "opentelemetry-http", - "opentelemetry-proto", - "opentelemetry_sdk", - "prost", - "reqwest", - "thiserror 2.0.16", - "tracing", + "crunchy", ] [[package]] -name = "opentelemetry-proto" -version = "0.29.0" +name = "plotters" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c40da242381435e18570d5b9d50aca2a4f4f4d8e146231adb4e7768023309b3" +checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747" dependencies = [ - "opentelemetry", - "opentelemetry_sdk", - "prost", - "tonic", + "num-traits", + "plotters-backend", + "plotters-svg", + "wasm-bindgen", + "web-sys", ] [[package]] -name = "opentelemetry-semantic-conventions" -version = "0.29.0" +name = "plotters-backend" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84b29a9f89f1a954936d5aa92f19b2feec3c8f3971d3e96206640db7f9706ae3" +checksum = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a" [[package]] -name = "opentelemetry_sdk" -version = "0.29.0" +name = "plotters-svg" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afdefb21d1d47394abc1ba6c57363ab141be19e27cc70d0e422b7f303e4d290b" +checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670" dependencies = [ - "futures-channel", - "futures-executor", - "futures-util", - "glob", - "opentelemetry", - "percent-encoding", - "rand 0.9.2", - "serde_json", - "thiserror 2.0.16", - "tracing", + "plotters-backend", ] [[package]] -name = "option-ext" -version = "0.2.0" +name = "pollster" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" +checksum = "2f3a9f18d041e6d0e102a0a46750538147e5e8992d3b4873aaafee2520b00ce3" [[package]] -name = "ordered-float" -version = "4.6.0" +name = "polyval" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bb71e1b3fa6ca1c61f383464aaf2bb0e2f8e772a1f01d486832464de363b951" +checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" dependencies = [ - "num-traits", + "cfg-if", + "cpufeatures", + "opaque-debug", + "universal-hash", ] [[package]] -name = "p256" -version = "0.13.2" +name = "portable-atomic" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" -dependencies = [ - "ecdsa", - "elliptic-curve", - "primeorder", - "sha2 0.10.9", -] +checksum = "f89776e4d69bb58bc6993e99ffa1d11f228b839984854c7daeb5d37f87cbe950" [[package]] -name = "page_size" -version = "0.6.0" +name = "potential_utf" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" dependencies = [ - "libc", - "winapi", + "zerovec 0.11.5", ] [[package]] -name = "parity-scale-codec" -version = "3.7.5" +name = "powerfmt" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "799781ae679d79a948e13d4824a40970bfa500058d245760dd857301059810fa" -dependencies = [ - "arbitrary", - "arrayvec", - "bitvec", - "byte-slice-cast", - "bytes", - "const_format", - "impl-trait-for-tuples", - "parity-scale-codec-derive", - "rustversion", - "serde", -] +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] -name = "parity-scale-codec-derive" -version = "3.7.5" +name = "ppv-lite86" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34b4653168b563151153c9e4c08ebed57fb8262bebfa79711552fa983c623e7a" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 2.0.106", + "zerocopy", ] [[package]] -name = "parking" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" - -[[package]] -name = "parking_lot" -version = "0.12.4" +name = "pretty_assertions" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" +checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d" dependencies = [ - "lock_api", - "parking_lot_core", + "diff", + "yansi", ] [[package]] -name = "parking_lot_core" -version = "0.9.11" +name = "prettyplease" +version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-targets 0.52.6", + "proc-macro2", + "syn 2.0.113", ] [[package]] -name = "paste" -version = "1.0.15" +name = "primeorder" +version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" +checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" +dependencies = [ + "elliptic-curve", +] [[package]] -name = "pbkdf2" +name = "primitive-types" version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" +checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" dependencies = [ - "digest 0.10.7", - "hmac", + "fixed-hash", + "impl-codec", + "uint 0.9.5", ] [[package]] -name = "pem" -version = "3.0.5" +name = "proc-macro-crate" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38af38e8470ac9dee3ce1bae1af9c1671fffc44ddfd8bd1d0a3445bf349a8ef3" +checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" dependencies = [ - "base64 0.22.1", - "serde", + "toml_edit 0.23.10+spec-1.0.0", ] [[package]] -name = "percent-encoding" -version = "2.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" - -[[package]] -name = "pest" -version = "2.8.1" +name = "proc-macro-error-attr2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1db05f56d34358a8b1066f67cbb203ee3e7ed2ba674a6263a1d5ec6db2204323" +checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" dependencies = [ - "memchr", - "thiserror 2.0.16", - "ucd-trie", + "proc-macro2", + "quote", ] [[package]] -name = "pharos" -version = "0.5.3" +name = "proc-macro-error2" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" +checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" dependencies = [ - "futures", - "rustc_version 0.4.1", + "proc-macro-error-attr2", + "proc-macro2", + "quote", + "syn 2.0.113", ] [[package]] -name = "phf" -version = "0.11.3" +name = "proc-macro2" +version = "1.0.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" +checksum = "535d180e0ecab6268a3e718bb9fd44db66bbbc256257165fc699dadf70d16fe7" dependencies = [ - "phf_macros", - "phf_shared", - "serde", + "unicode-ident", ] [[package]] -name = "phf_generator" -version = "0.11.3" +name = "procfs" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" +checksum = "cc5b72d8145275d844d4b5f6d4e1eef00c8cd889edb6035c21675d1bb1f45c9f" dependencies = [ - "phf_shared", - "rand 0.8.5", + "bitflags 2.10.0", + "chrono", + "flate2", + "hex", + "procfs-core 0.17.0", + "rustix 0.38.44", ] [[package]] -name = "phf_macros" -version = "0.11.3" +name = "procfs" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" +checksum = "25485360a54d6861439d60facef26de713b1e126bf015ec8f98239467a2b82f7" dependencies = [ - "phf_generator", - "phf_shared", - "proc-macro2", - "quote", - "syn 2.0.106", + "bitflags 2.10.0", + "procfs-core 0.18.0", + "rustix 1.1.3", ] [[package]] -name = "phf_shared" -version = "0.11.3" +name = "procfs-core" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" +checksum = "239df02d8349b06fc07398a3a1697b06418223b1c7725085e801e7c0fc6a12ec" dependencies = [ - "siphasher", + "bitflags 2.10.0", + "chrono", + "hex", ] [[package]] -name = "pin-project" -version = "1.1.10" +name = "procfs-core" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" +checksum = "e6401bf7b6af22f78b563665d15a22e9aef27775b79b149a66ca022468a4e405" dependencies = [ - "pin-project-internal", + "bitflags 2.10.0", + "hex", ] [[package]] -name = "pin-project-internal" -version = "1.1.10" +name = "proptest" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.106", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pkcs8" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" -dependencies = [ - "der", - "spki", -] - -[[package]] -name = "pkg-config" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" - -[[package]] -name = "plain_hasher" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e19e6491bdde87c2c43d70f4c194bc8a758f2eb732df00f61e43f7362e3b4cc" -dependencies = [ - "crunchy", -] - -[[package]] -name = "plotters" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747" -dependencies = [ - "num-traits", - "plotters-backend", - "plotters-svg", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "plotters-backend" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a" - -[[package]] -name = "plotters-svg" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670" -dependencies = [ - "plotters-backend", -] - -[[package]] -name = "pollster" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f3a9f18d041e6d0e102a0a46750538147e5e8992d3b4873aaafee2520b00ce3" - -[[package]] -name = "polyval" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" -dependencies = [ - "cfg-if", - "cpufeatures", - "opaque-debug", - "universal-hash", -] - -[[package]] -name = "portable-atomic" -version = "1.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" - -[[package]] -name = "potential_utf" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a" -dependencies = [ - "zerovec 0.11.4", -] - -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - -[[package]] -name = "ppv-lite86" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" -dependencies = [ - "zerocopy", -] - -[[package]] -name = "pretty_assertions" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d" -dependencies = [ - "diff", - "yansi", -] - -[[package]] -name = "prettyplease" -version = "0.2.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" -dependencies = [ - "proc-macro2", - "syn 2.0.106", -] - -[[package]] -name = "primeorder" -version = "0.13.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" -dependencies = [ - "elliptic-curve", -] - -[[package]] -name = "primitive-types" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" -dependencies = [ - "fixed-hash", - "impl-codec", - "uint 0.9.5", -] - -[[package]] -name = "proc-macro-crate" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" -dependencies = [ - "toml_edit", -] - -[[package]] -name = "proc-macro-error-attr2" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" -dependencies = [ - "proc-macro2", - "quote", -] - -[[package]] -name = "proc-macro-error2" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" -dependencies = [ - "proc-macro-error-attr2", - "proc-macro2", - "quote", - "syn 2.0.106", -] - -[[package]] -name = "proc-macro2" -version = "1.0.101" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "procfs" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc5b72d8145275d844d4b5f6d4e1eef00c8cd889edb6035c21675d1bb1f45c9f" -dependencies = [ - "bitflags 2.9.4", - "chrono", - "flate2", - "hex", - "procfs-core", - "rustix 0.38.44", -] - -[[package]] -name = "procfs-core" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "239df02d8349b06fc07398a3a1697b06418223b1c7725085e801e7c0fc6a12ec" -dependencies = [ - "bitflags 2.9.4", - "chrono", - "hex", -] - -[[package]] -name = "proptest" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fcdab19deb5195a31cf7726a210015ff1496ba1464fd42cb4f537b8b01b471f" +checksum = "bee689443a2bd0a16ab0348b52ee43e3b2d1b1f931c8aa5c9f8de4c86fbe8c40" dependencies = [ "bit-set", "bit-vec", - "bitflags 2.9.4", - "lazy_static", + "bitflags 2.10.0", "num-traits", "rand 0.9.2", "rand_chacha 0.9.0", @@ -6747,7 +6524,18 @@ checksum = "4ee1c9ac207483d5e7db4940700de86a9aae46ef90c48b57f99fe7edb8345e49" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", +] + +[[package]] +name = "proptest-derive" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "095a99f75c69734802359b682be8daaf8980296731f6470434ea2c652af1dd30" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.113", ] [[package]] @@ -6770,7 +6558,7 @@ dependencies = [ "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -6779,7 +6567,7 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "memchr", "unicase", ] @@ -6794,7 +6582,7 @@ dependencies = [ "libc", "once_cell", "raw-cpuid", - "wasi 0.11.1+wasi-snapshot-preview1", + "wasi", "web-sys", "winapi", ] @@ -6827,8 +6615,8 @@ dependencies = [ "quinn-udp", "rustc-hash 2.1.1", "rustls", - "socket2 0.6.0", - "thiserror 2.0.16", + "socket2 0.6.1", + "thiserror 2.0.17", "tokio", "tracing", "web-time", @@ -6841,7 +6629,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" dependencies = [ "bytes", - "getrandom 0.3.3", + "getrandom 0.3.4", "lru-slab", "rand 0.9.2", "ring", @@ -6849,7 +6637,7 @@ dependencies = [ "rustls", "rustls-pki-types", "slab", - "thiserror 2.0.16", + "thiserror 2.0.17", "tinyvec", "tracing", "web-time", @@ -6864,16 +6652,16 @@ dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.6.0", + "socket2 0.6.1", "tracing", "windows-sys 0.60.2", ] [[package]] name = "quote" -version = "1.0.40" +version = "1.0.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +checksum = "dc74d9a594b72ae6656596548f56f667211f8a97b3d4c3d467150794690dc40a" dependencies = [ "proc-macro2", ] @@ -6890,19 +6678,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom 0.1.16", - "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc", -] - [[package]] name = "rand" version = "0.8.5" @@ -6926,16 +6701,6 @@ dependencies = [ "serde", ] -[[package]] -name = "rand_chacha" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" -dependencies = [ - "ppv-lite86", - "rand_core 0.5.1", -] - [[package]] name = "rand_chacha" version = "0.3.1" @@ -6956,15 +6721,6 @@ dependencies = [ "rand_core 0.9.3", ] -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -dependencies = [ - "getrandom 0.1.16", -] - [[package]] name = "rand_core" version = "0.6.4" @@ -6980,19 +6736,10 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" dependencies = [ - "getrandom 0.3.3", + "getrandom 0.3.4", "serde", ] -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -dependencies = [ - "rand_core 0.5.1", -] - [[package]] name = "rand_xorshift" version = "0.4.0" @@ -7017,7 +6764,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eabd94c2f37801c20583fc49dd5cd6b0ba68c716787c2dd6ed18571e1e63117b" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "cassowary", "compact_str", "crossterm 0.28.1", @@ -7038,7 +6785,7 @@ version = "11.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "498cd0dc59d73224351ee52a95fee0f1a617a2eae0e7d9d720cc622c73a54186" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", ] [[package]] @@ -7069,18 +6816,27 @@ checksum = "d3edd4d5d42c92f0a659926464d4cce56b562761267ecf0f469d85b7de384175" [[package]] name = "redox_syscall" -version = "0.5.17" +version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", ] [[package]] -name = "redox_users" -version = "0.4.6" +name = "redox_syscall" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" +checksum = "49f3fe0889e69e2ae9e41f4d6c4c0181701d00e4697b356fb1f74173a5e0ee27" +dependencies = [ + "bitflags 2.10.0", +] + +[[package]] +name = "redox_users" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom 0.2.16", "libredox", @@ -7095,34 +6851,34 @@ checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" dependencies = [ "getrandom 0.2.16", "libredox", - "thiserror 2.0.16", + "thiserror 2.0.17", ] [[package]] name = "ref-cast" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" +checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" +checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] name = "regex" -version = "1.11.2" +version = "1.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912" +checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" dependencies = [ "aho-corasick", "memchr", @@ -7132,9 +6888,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.10" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6" +checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" dependencies = [ "aho-corasick", "memchr", @@ -7143,17 +6899,17 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.6" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" +checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" [[package]] name = "regress" -version = "0.10.4" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "145bb27393fe455dd64d6cbc8d059adfa392590a45eadf079c01b11857e7b010" +checksum = "2057b2325e68a893284d1538021ab90279adac1139957ca2a74426c6f118fb48" dependencies = [ - "hashbrown 0.15.5", + "hashbrown 0.16.1", "memchr", ] @@ -7165,9 +6921,9 @@ checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" [[package]] name = "reqwest" -version = "0.12.23" +version = "0.12.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb" +checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" dependencies = [ "base64 0.22.1", "bytes", @@ -7179,9 +6935,11 @@ dependencies = [ "http-body-util", "hyper", "hyper-rustls", + "hyper-tls", "hyper-util", "js-sys", "log", + "native-tls", "percent-encoding", "pin-project-lite", "quinn", @@ -7193,9 +6951,10 @@ dependencies = [ "serde_urlencoded", "sync_wrapper", "tokio", + "tokio-native-tls", "tokio-rustls", "tokio-util", - "tower", + "tower 0.5.2", "tower-http", "tower-service", "url", @@ -7203,14 +6962,14 @@ dependencies = [ "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots 1.0.2", + "webpki-roots 1.0.5", ] [[package]] name = "resolv-conf" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95325155c684b1c89f7765e30bc1c42e4a6da51ca513615660cb8a62ef9a88e3" +checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7" [[package]] name = "reth" @@ -7315,9 +7074,9 @@ dependencies = [ "reth-tracing", "serde", "serde_json", - "thiserror 2.0.16", + "thiserror 2.0.17", "tokio", - "tower", + "tower 0.5.2", "tracing", ] @@ -7330,7 +7089,7 @@ dependencies = [ "alloy-primitives", "alloy-signer", "alloy-signer-local", - "derive_more", + "derive_more 2.1.1", "metrics", "parking_lot", "pin-project", @@ -7363,12 +7122,14 @@ dependencies = [ "alloy-genesis", "alloy-primitives", "alloy-rlp", + "alloy-seismic-evm", "alloy-trie", "auto_impl", - "derive_more", + "derive_more 2.1.1", "reth-ethereum-forks", "reth-network-peers", "reth-primitives-traits", + "seismic-alloy-genesis", "serde_json", ] @@ -7376,11 +7137,11 @@ dependencies = [ name = "reth-cli" version = "1.7.0" dependencies = [ - "alloy-genesis", "clap", "eyre", "reth-cli-runner", "reth-db", + "seismic-alloy-genesis", "serde_json", "shellexpand", ] @@ -7490,7 +7251,7 @@ dependencies = [ "secp256k1 0.30.0", "serde", "snmalloc-rs", - "thiserror 2.0.16", + "thiserror 2.0.17", "tikv-jemallocator", "tracy-client", ] @@ -7513,6 +7274,9 @@ dependencies = [ "reth-codecs-derive", "reth-zstd-compressors", "rstest", + "seismic-alloy-consensus", + "seismic-alloy-genesis", + "seismic-enclave", "serde", "serde_json", "test-fuzz", @@ -7523,11 +7287,11 @@ dependencies = [ name = "reth-codecs-derive" version = "1.7.0" dependencies = [ - "convert_case", + "convert_case 0.7.1", "proc-macro2", "quote", "similar-asserts", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -7556,7 +7320,7 @@ dependencies = [ "auto_impl", "reth-execution-types", "reth-primitives-traits", - "thiserror 2.0.16", + "thiserror 2.0.17", ] [[package]] @@ -7584,7 +7348,7 @@ dependencies = [ "alloy-provider", "alloy-rpc-types-engine", "auto_impl", - "derive_more", + "derive_more 2.1.1", "eyre", "futures", "reqwest", @@ -7606,7 +7370,7 @@ dependencies = [ "arbitrary", "assert_matches", "codspeed-criterion-compat", - "derive_more", + "derive_more 2.1.1", "eyre", "metrics", "page_size", @@ -7628,7 +7392,7 @@ dependencies = [ "strum 0.27.2", "sysinfo", "tempfile", - "thiserror 2.0.16", + "thiserror 2.0.17", ] [[package]] @@ -7636,11 +7400,10 @@ name = "reth-db-api" version = "1.7.0" dependencies = [ "alloy-consensus", - "alloy-genesis", "alloy-primitives", "arbitrary", "bytes", - "derive_more", + "derive_more 2.1.1", "metrics", "modular-bitfield", "parity-scale-codec", @@ -7653,10 +7416,12 @@ dependencies = [ "reth-optimism-primitives", "reth-primitives-traits", "reth-prune-types", + "reth-seismic-primitives", "reth-stages-types", "reth-storage-errors", "reth-trie-common", "roaring", + "seismic-alloy-genesis", "serde", "test-fuzz", ] @@ -7666,7 +7431,6 @@ name = "reth-db-common" version = "1.7.0" dependencies = [ "alloy-consensus", - "alloy-genesis", "alloy-primitives", "boyer-moore-magiclen", "eyre", @@ -7685,9 +7449,10 @@ dependencies = [ "reth-static-file-types", "reth-trie", "reth-trie-db", + "seismic-alloy-genesis", "serde", "serde_json", - "thiserror 2.0.16", + "thiserror 2.0.17", "tracing", ] @@ -7729,7 +7494,7 @@ dependencies = [ "schnellru", "secp256k1 0.30.0", "serde", - "thiserror 2.0.16", + "thiserror 2.0.17", "tokio", "tokio-stream", "tracing", @@ -7741,7 +7506,7 @@ version = "1.7.0" dependencies = [ "alloy-primitives", "alloy-rlp", - "derive_more", + "derive_more 2.1.1", "discv5", "enr", "futures", @@ -7752,10 +7517,11 @@ dependencies = [ "reth-chainspec", "reth-ethereum-forks", "reth-metrics", + "reth-net-nat", "reth-network-peers", "reth-tracing", "secp256k1 0.30.0", - "thiserror 2.0.16", + "thiserror 2.0.17", "tokio", "tracing", ] @@ -7782,7 +7548,7 @@ dependencies = [ "secp256k1 0.30.0", "serde", "serde_with", - "thiserror 2.0.16", + "thiserror 2.0.17", "tokio", "tokio-stream", "tracing", @@ -7820,7 +7586,7 @@ dependencies = [ "reth-testing-utils", "reth-tracing", "tempfile", - "thiserror 2.0.16", + "thiserror 2.0.17", "tokio", "tokio-stream", "tokio-util", @@ -7841,10 +7607,11 @@ dependencies = [ "alloy-rpc-types-eth", "alloy-signer", "alloy-signer-local", - "derive_more", + "derive_more 2.1.1", "eyre", "futures-util", - "jsonrpsee", + "jsonrpsee 0.26.0", + "op-alloy-rpc-types-engine", "reth-chainspec", "reth-cli-commands", "reth-config", @@ -7903,9 +7670,9 @@ dependencies = [ "rand 0.8.5", "reth-network-peers", "secp256k1 0.30.0", - "sha2 0.10.9", + "sha2", "sha3", - "thiserror 2.0.16", + "thiserror 2.0.17", "tokio", "tokio-stream", "tokio-util", @@ -7956,7 +7723,7 @@ dependencies = [ "reth-primitives-traits", "reth-trie-common", "serde", - "thiserror 2.0.16", + "thiserror 2.0.17", "tokio", ] @@ -7977,6 +7744,7 @@ dependencies = [ "reth-evm-ethereum", "reth-exex-types", "reth-network-p2p", + "reth-node-core", "reth-node-ethereum", "reth-node-types", "reth-payload-builder", @@ -7985,7 +7753,7 @@ dependencies = [ "reth-prune", "reth-stages-api", "reth-tasks", - "thiserror 2.0.16", + "thiserror 2.0.17", "tokio", "tokio-stream", ] @@ -8003,7 +7771,7 @@ dependencies = [ "assert_matches", "codspeed-criterion-compat", "crossbeam-channel", - "derive_more", + "derive_more 2.1.1", "eyre", "futures", "metrics", @@ -8031,6 +7799,7 @@ dependencies = [ "reth-exex-types", "reth-metrics", "reth-network-p2p", + "reth-node-core", "reth-node-ethereum", "reth-payload-builder", "reth-payload-primitives", @@ -8056,7 +7825,7 @@ dependencies = [ "schnellru", "serde_json", "smallvec", - "thiserror 2.0.16", + "thiserror 2.0.17", "tokio", "tracing", ] @@ -8106,7 +7875,7 @@ dependencies = [ "snap", "tempfile", "test-case", - "thiserror 2.0.16", + "thiserror 2.0.17", "tokio", ] @@ -8121,7 +7890,7 @@ dependencies = [ "futures-util", "reqwest", "reth-fs-util", - "sha2 0.10.9", + "sha2", "tempfile", "test-case", "tokio", @@ -8160,7 +7929,7 @@ dependencies = [ "reth-consensus", "reth-execution-errors", "reth-storage-errors", - "thiserror 2.0.16", + "thiserror 2.0.17", ] [[package]] @@ -8175,7 +7944,7 @@ dependencies = [ "arbitrary", "async-stream", "bytes", - "derive_more", + "derive_more 2.1.1", "futures", "pin-project", "proptest", @@ -8194,7 +7963,7 @@ dependencies = [ "serde", "snap", "test-fuzz", - "thiserror 2.0.16", + "thiserror 2.0.17", "tokio", "tokio-stream", "tokio-util", @@ -8214,7 +7983,7 @@ dependencies = [ "alloy-rlp", "arbitrary", "bytes", - "derive_more", + "derive_more 2.1.1", "proptest", "proptest-arbitrary-interop", "rand 0.9.2", @@ -8223,7 +7992,7 @@ dependencies = [ "reth-ethereum-primitives", "reth-primitives-traits", "serde", - "thiserror 2.0.16", + "thiserror 2.0.17", ] [[package]] @@ -8307,6 +8076,7 @@ dependencies = [ name = "reth-ethereum-engine-primitives" version = "1.7.0" dependencies = [ + "alloy-consensus", "alloy-eips", "alloy-primitives", "alloy-rlp", @@ -8315,10 +8085,11 @@ dependencies = [ "reth-ethereum-primitives", "reth-payload-primitives", "reth-primitives-traits", + "reth-seismic-primitives", "serde", "serde_json", - "sha2 0.10.9", - "thiserror 2.0.16", + "sha2", + "thiserror 2.0.17", ] [[package]] @@ -8370,9 +8141,10 @@ dependencies = [ "alloy-eips", "alloy-primitives", "alloy-rlp", + "alloy-serde", "arbitrary", "bincode 1.3.3", - "derive_more", + "derive_more 2.1.1", "modular-bitfield", "proptest", "proptest-arbitrary-interop", @@ -8405,9 +8177,10 @@ dependencies = [ "alloy-evm", "alloy-primitives", "auto_impl", - "derive_more", + "derive_more 2.1.1", "futures-util", "metrics", + "op-revm", "reth-ethereum-forks", "reth-ethereum-primitives", "reth-execution-errors", @@ -8418,6 +8191,7 @@ dependencies = [ "reth-storage-errors", "reth-trie-common", "revm", + "seismic-revm", ] [[package]] @@ -8430,7 +8204,7 @@ dependencies = [ "alloy-genesis", "alloy-primitives", "alloy-rpc-types-engine", - "derive_more", + "derive_more 2.1.1", "parking_lot", "reth-chainspec", "reth-ethereum-forks", @@ -8442,6 +8216,8 @@ dependencies = [ "reth-testing-utils", "revm", "secp256k1 0.30.0", + "serde_json", + "tokio", ] [[package]] @@ -8453,7 +8229,7 @@ dependencies = [ "alloy-rlp", "nybbles", "reth-storage-errors", - "thiserror 2.0.16", + "thiserror 2.0.17", ] [[package]] @@ -8466,7 +8242,7 @@ dependencies = [ "alloy-primitives", "arbitrary", "bincode 1.3.3", - "derive_more", + "derive_more 2.1.1", "rand 0.9.2", "reth-ethereum-primitives", "reth-primitives-traits", @@ -8513,8 +8289,9 @@ dependencies = [ "reth-tracing", "rmp-serde", "secp256k1 0.30.0", + "seismic-alloy-genesis", "tempfile", - "thiserror 2.0.16", + "thiserror 2.0.17", "tokio", "tokio-util", "tracing", @@ -8547,7 +8324,7 @@ dependencies = [ "reth-tasks", "reth-transaction-pool", "tempfile", - "thiserror 2.0.16", + "thiserror 2.0.17", "tokio", ] @@ -8574,7 +8351,20 @@ version = "1.7.0" dependencies = [ "serde", "serde_json", - "thiserror 2.0.16", + "thiserror 2.0.17", +] + +[[package]] +name = "reth-genesis-builder" +version = "1.7.0" +dependencies = [ + "alloy-primitives", + "reqwest", + "serde", + "serde_json", + "thiserror 2.0.17", + "toml", + "tracing", ] [[package]] @@ -8587,7 +8377,7 @@ dependencies = [ "alloy-rpc-types-debug", "eyre", "futures", - "jsonrpsee", + "jsonrpsee 0.26.0", "pretty_assertions", "reth-engine-primitives", "reth-evm", @@ -8611,17 +8401,17 @@ dependencies = [ "futures", "futures-util", "interprocess", - "jsonrpsee", + "jsonrpsee 0.26.0", "pin-project", "rand 0.9.2", "reth-tracing", "serde", "serde_json", - "thiserror 2.0.16", + "thiserror 2.0.17", "tokio", "tokio-stream", "tokio-util", - "tower", + "tower 0.5.2", "tracing", ] @@ -8629,18 +8419,18 @@ dependencies = [ name = "reth-libmdbx" version = "1.7.0" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "byteorder", "codspeed-criterion-compat", "dashmap 6.1.0", - "derive_more", - "indexmap 2.11.0", + "derive_more 2.1.1", + "indexmap 2.12.1", "parking_lot", "rand 0.9.2", "reth-mdbx-sys", "smallvec", "tempfile", - "thiserror 2.0.16", + "thiserror 2.0.17", "tracing", ] @@ -8648,7 +8438,7 @@ dependencies = [ name = "reth-mdbx-sys" version = "1.7.0" dependencies = [ - "bindgen", + "bindgen 0.70.1", "cc", ] @@ -8679,7 +8469,7 @@ dependencies = [ "reqwest", "reth-tracing", "serde_with", - "thiserror 2.0.16", + "thiserror 2.0.17", "tokio", "tracing", ] @@ -8696,7 +8486,7 @@ dependencies = [ "aquamarine", "auto_impl", "codspeed-criterion-compat", - "derive_more", + "derive_more 2.1.1", "discv5", "enr", "futures", @@ -8736,7 +8526,7 @@ dependencies = [ "secp256k1 0.30.0", "serde", "smallvec", - "thiserror 2.0.16", + "thiserror 2.0.17", "tokio", "tokio-stream", "tokio-util", @@ -8753,7 +8543,7 @@ dependencies = [ "alloy-rpc-types-admin", "alloy-rpc-types-eth", "auto_impl", - "derive_more", + "derive_more 2.1.1", "enr", "futures", "reth-eth-wire-types", @@ -8763,7 +8553,7 @@ dependencies = [ "reth-network-types", "reth-tokio-util", "serde", - "thiserror 2.0.16", + "thiserror 2.0.17", "tokio", "tokio-stream", ] @@ -8776,7 +8566,7 @@ dependencies = [ "alloy-eips", "alloy-primitives", "auto_impl", - "derive_more", + "derive_more 2.1.1", "futures", "parking_lot", "reth-consensus", @@ -8802,7 +8592,7 @@ dependencies = [ "secp256k1 0.30.0", "serde_json", "serde_with", - "thiserror 2.0.16", + "thiserror 2.0.17", "tokio", "url", ] @@ -8826,14 +8616,14 @@ version = "1.7.0" dependencies = [ "anyhow", "bincode 1.3.3", - "derive_more", + "derive_more 2.1.1", "lz4_flex", "memmap2", "rand 0.9.2", "reth-fs-util", "serde", "tempfile", - "thiserror 2.0.16", + "thiserror 2.0.17", "tracing", "zstd", ] @@ -8875,7 +8665,7 @@ dependencies = [ "eyre", "fdlimit", "futures", - "jsonrpsee", + "jsonrpsee 0.26.0", "rayon", "reth-basic-payload-builder", "reth-chain-state", @@ -8941,7 +8731,7 @@ dependencies = [ "alloy-primitives", "alloy-rpc-types-engine", "clap", - "derive_more", + "derive_more 2.1.1", "dirs-next", "eyre", "futures", @@ -8976,7 +8766,7 @@ dependencies = [ "serde", "shellexpand", "strum 0.27.2", - "thiserror 2.0.16", + "thiserror 2.0.17", "tokio", "toml", "tracing", @@ -9034,6 +8824,7 @@ dependencies = [ "reth-tracing", "reth-transaction-pool", "revm", + "seismic-alloy-genesis", "serde_json", "tokio", ] @@ -9053,7 +8844,7 @@ dependencies = [ "reth-transaction-pool", "serde", "serde_json", - "thiserror 2.0.16", + "thiserror 2.0.17", "tokio", "tokio-stream", "tokio-tungstenite", @@ -9069,7 +8860,7 @@ dependencies = [ "alloy-eips", "alloy-primitives", "alloy-rpc-types-engine", - "derive_more", + "derive_more 2.1.1", "futures", "humantime", "pin-project", @@ -9095,14 +8886,14 @@ dependencies = [ "metrics-exporter-prometheus", "metrics-process", "metrics-util", - "procfs", + "procfs 0.17.0", "reqwest", "reth-metrics", "reth-tasks", "socket2 0.5.10", "tikv-jemalloc-ctl", "tokio", - "tower", + "tower 0.5.2", "tracing", ] @@ -9117,46 +8908,6 @@ dependencies = [ "reth-primitives-traits", ] -[[package]] -name = "reth-op" -version = "1.7.0" -dependencies = [ - "reth-chainspec", - "reth-cli-util", - "reth-codecs", - "reth-consensus", - "reth-consensus-common", - "reth-db", - "reth-engine-local", - "reth-eth-wire", - "reth-evm", - "reth-exex", - "reth-network", - "reth-network-api", - "reth-node-api", - "reth-node-builder", - "reth-node-core", - "reth-optimism-chainspec", - "reth-optimism-cli", - "reth-optimism-consensus", - "reth-optimism-evm", - "reth-optimism-node", - "reth-optimism-primitives", - "reth-optimism-rpc", - "reth-primitives-traits", - "reth-provider", - "reth-revm", - "reth-rpc", - "reth-rpc-api", - "reth-rpc-builder", - "reth-rpc-eth-types", - "reth-storage-api", - "reth-tasks", - "reth-transaction-pool", - "reth-trie", - "reth-trie-db", -] - [[package]] name = "reth-optimism-chainspec" version = "1.7.0" @@ -9167,7 +8918,7 @@ dependencies = [ "alloy-genesis", "alloy-hardforks", "alloy-primitives", - "derive_more", + "derive_more 2.1.1", "miniz_oxide", "op-alloy-consensus", "op-alloy-rpc-types", @@ -9178,1074 +8929,1122 @@ dependencies = [ "reth-optimism-forks", "reth-optimism-primitives", "reth-primitives-traits", + "seismic-alloy-genesis", "serde", "serde_json", "tar-no-std", - "thiserror 2.0.16", + "thiserror 2.0.17", +] + +[[package]] +name = "reth-optimism-forks" +version = "1.7.0" +dependencies = [ + "alloy-op-hardforks", + "alloy-primitives", + "once_cell", + "reth-ethereum-forks", ] [[package]] -name = "reth-optimism-cli" +name = "reth-optimism-primitives" version = "1.7.0" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-primitives", "alloy-rlp", - "clap", - "derive_more", - "eyre", - "futures-util", + "arbitrary", + "bincode 1.3.3", + "bytes", + "modular-bitfield", "op-alloy-consensus", "proptest", - "reth-chainspec", - "reth-cli", - "reth-cli-commands", - "reth-cli-runner", - "reth-consensus", - "reth-db", - "reth-db-api", - "reth-db-common", - "reth-downloaders", - "reth-execution-types", - "reth-fs-util", - "reth-node-builder", - "reth-node-core", - "reth-node-events", - "reth-node-metrics", - "reth-optimism-chainspec", - "reth-optimism-consensus", - "reth-optimism-evm", - "reth-optimism-node", - "reth-optimism-primitives", + "proptest-arbitrary-interop", + "rand 0.8.5", + "rand 0.9.2", + "reth-codecs", "reth-primitives-traits", - "reth-provider", - "reth-prune", - "reth-stages", - "reth-static-file", - "reth-static-file-types", - "reth-tracing", + "reth-zstd-compressors", + "rstest", + "secp256k1 0.30.0", "serde", - "tempfile", - "tokio", - "tokio-util", - "tracing", + "serde_json", + "serde_with", ] [[package]] -name = "reth-optimism-consensus" +name = "reth-payload-builder" version = "1.7.0" dependencies = [ - "alloy-chains", "alloy-consensus", - "alloy-eips", "alloy-primitives", - "alloy-trie", - "op-alloy-consensus", - "reth-chainspec", - "reth-consensus", - "reth-consensus-common", - "reth-db-common", - "reth-execution-types", - "reth-optimism-chainspec", - "reth-optimism-forks", - "reth-optimism-node", - "reth-optimism-primitives", + "alloy-rpc-types", + "futures-util", + "metrics", + "reth-chain-state", + "reth-ethereum-engine-primitives", + "reth-metrics", + "reth-payload-builder-primitives", + "reth-payload-primitives", "reth-primitives-traits", - "reth-provider", - "reth-revm", - "reth-storage-api", - "reth-storage-errors", - "reth-trie", - "reth-trie-common", - "revm", - "thiserror 2.0.16", + "tokio", + "tokio-stream", "tracing", ] [[package]] -name = "reth-optimism-evm" +name = "reth-payload-builder-primitives" +version = "1.7.0" +dependencies = [ + "pin-project", + "reth-payload-primitives", + "tokio", + "tokio-stream", + "tracing", +] + +[[package]] +name = "reth-payload-primitives" version = "1.7.0" dependencies = [ - "alloy-consensus", "alloy-eips", - "alloy-evm", - "alloy-genesis", - "alloy-op-evm", "alloy-primitives", - "op-alloy-consensus", + "alloy-rpc-types-engine", + "assert_matches", + "auto_impl", "op-alloy-rpc-types-engine", - "op-revm", + "reth-chain-state", "reth-chainspec", - "reth-evm", - "reth-execution-errors", - "reth-execution-types", - "reth-optimism-chainspec", - "reth-optimism-consensus", - "reth-optimism-forks", - "reth-optimism-primitives", + "reth-errors", "reth-primitives-traits", - "reth-revm", - "reth-rpc-eth-api", - "reth-storage-errors", - "revm", - "thiserror 2.0.16", + "serde", + "thiserror 2.0.17", + "tokio", ] [[package]] -name = "reth-optimism-flashblocks" +name = "reth-payload-util" version = "1.7.0" dependencies = [ "alloy-consensus", - "alloy-eips", "alloy-primitives", + "reth-transaction-pool", +] + +[[package]] +name = "reth-payload-validator" +version = "1.7.0" +dependencies = [ + "alloy-consensus", "alloy-rpc-types-engine", - "alloy-serde", - "brotli", - "eyre", - "futures-util", - "reth-chain-state", - "reth-errors", - "reth-evm", - "reth-execution-types", - "reth-optimism-evm", - "reth-optimism-primitives", "reth-primitives-traits", - "reth-revm", - "reth-rpc-eth-types", - "reth-storage-api", - "reth-tasks", - "serde", - "serde_json", - "test-case", - "tokio", - "tokio-tungstenite", - "tracing", - "url", ] [[package]] -name = "reth-optimism-forks" +name = "reth-primitives" version = "1.7.0" dependencies = [ - "alloy-op-hardforks", + "alloy-consensus", + "alloy-eips", + "alloy-genesis", "alloy-primitives", + "alloy-rlp", + "arbitrary", + "c-kzg", + "codspeed-criterion-compat", "once_cell", + "proptest", + "proptest-arbitrary-interop", + "reth-codecs", "reth-ethereum-forks", + "reth-ethereum-primitives", + "reth-primitives-traits", + "reth-static-file-types", ] [[package]] -name = "reth-optimism-node" +name = "reth-primitives-traits" version = "1.7.0" dependencies = [ "alloy-consensus", + "alloy-eips", "alloy-genesis", - "alloy-network", "alloy-primitives", - "alloy-rpc-types-engine", + "alloy-rlp", "alloy-rpc-types-eth", - "clap", - "eyre", - "futures", + "alloy-trie", + "arbitrary", + "auto_impl", + "bincode 1.3.3", + "byteorder", + "bytes", + "derive_more 2.1.1", + "modular-bitfield", + "once_cell", "op-alloy-consensus", - "op-alloy-network", - "op-alloy-rpc-types-engine", - "op-revm", + "proptest", + "proptest-arbitrary-interop", + "rand 0.8.5", + "rand 0.9.2", + "rayon", "reth-chainspec", - "reth-consensus", - "reth-db", - "reth-e2e-test-utils", - "reth-engine-local", - "reth-evm", - "reth-network", - "reth-node-api", - "reth-node-builder", - "reth-node-core", - "reth-optimism-chainspec", - "reth-optimism-consensus", - "reth-optimism-evm", - "reth-optimism-forks", - "reth-optimism-node", - "reth-optimism-payload-builder", - "reth-optimism-primitives", - "reth-optimism-rpc", - "reth-optimism-storage", - "reth-optimism-txpool", - "reth-payload-builder", - "reth-payload-util", - "reth-primitives-traits", - "reth-provider", - "reth-revm", - "reth-rpc", - "reth-rpc-api", - "reth-rpc-engine-api", - "reth-rpc-eth-types", - "reth-rpc-server-types", - "reth-tasks", - "reth-tracing", - "reth-transaction-pool", - "reth-trie-common", - "revm", + "reth-codecs", + "revm-bytecode", + "revm-primitives", + "revm-state", + "secp256k1 0.30.0", + "seismic-alloy-consensus", + "seismic-alloy-genesis", "serde", "serde_json", - "tokio", - "url", + "serde_with", + "test-fuzz", + "thiserror 2.0.17", ] [[package]] -name = "reth-optimism-payload-builder" +name = "reth-provider" version = "1.7.0" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-primitives", - "alloy-rlp", - "alloy-rpc-types-debug", "alloy-rpc-types-engine", - "derive_more", - "op-alloy-consensus", - "op-alloy-rpc-types-engine", - "reth-basic-payload-builder", + "assert_matches", + "dashmap 6.1.0", + "eyre", + "itertools 0.14.0", + "metrics", + "notify", + "parking_lot", + "rand 0.9.2", + "rayon", "reth-chain-state", "reth-chainspec", + "reth-codecs", + "reth-db", + "reth-db-api", + "reth-errors", + "reth-ethereum-engine-primitives", + "reth-ethereum-primitives", "reth-evm", "reth-execution-types", - "reth-optimism-evm", - "reth-optimism-forks", - "reth-optimism-primitives", - "reth-optimism-txpool", - "reth-payload-builder", - "reth-payload-builder-primitives", - "reth-payload-primitives", - "reth-payload-util", - "reth-payload-validator", + "reth-fs-util", + "reth-metrics", + "reth-nippy-jar", + "reth-node-types", "reth-primitives-traits", - "reth-revm", + "reth-prune-types", + "reth-stages-types", + "reth-static-file-types", "reth-storage-api", - "reth-transaction-pool", - "revm", - "serde", - "sha2 0.10.9", - "thiserror 2.0.16", + "reth-storage-errors", + "reth-testing-utils", + "reth-trie", + "reth-trie-db", + "revm-database", + "revm-database-interface", + "revm-state", + "strum 0.27.2", + "tempfile", + "tokio", "tracing", ] [[package]] -name = "reth-optimism-primitives" +name = "reth-prune" version = "1.7.0" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-primitives", - "alloy-rlp", + "assert_matches", + "itertools 0.14.0", + "metrics", + "rayon", + "reth-chainspec", + "reth-config", + "reth-db", + "reth-db-api", + "reth-errors", + "reth-exex-types", + "reth-metrics", + "reth-primitives-traits", + "reth-provider", + "reth-prune-types", + "reth-stages", + "reth-static-file-types", + "reth-testing-utils", + "reth-tokio-util", + "reth-tracing", + "rustc-hash 2.1.1", + "thiserror 2.0.17", + "tokio", + "tracing", +] + +[[package]] +name = "reth-prune-types" +version = "1.7.0" +dependencies = [ + "alloy-primitives", "arbitrary", - "bincode 1.3.3", - "bytes", + "assert_matches", + "derive_more 2.1.1", "modular-bitfield", - "op-alloy-consensus", "proptest", "proptest-arbitrary-interop", - "rand 0.8.5", - "rand 0.9.2", "reth-codecs", - "reth-primitives-traits", - "reth-zstd-compressors", - "rstest", - "secp256k1 0.30.0", "serde", "serde_json", - "serde_with", + "test-fuzz", + "thiserror 2.0.17", + "toml", ] [[package]] -name = "reth-optimism-rpc" +name = "reth-ress-protocol" version = "1.7.0" dependencies = [ "alloy-consensus", - "alloy-eips", - "alloy-json-rpc", "alloy-primitives", - "alloy-rpc-client", - "alloy-rpc-types-debug", - "alloy-rpc-types-engine", - "alloy-rpc-types-eth", - "alloy-transport", - "alloy-transport-http", - "async-trait", - "derive_more", - "eyre", - "jsonrpsee", - "jsonrpsee-core", - "jsonrpsee-types", - "metrics", - "op-alloy-consensus", - "op-alloy-network", - "op-alloy-rpc-jsonrpsee", - "op-alloy-rpc-types", - "op-alloy-rpc-types-engine", - "op-revm", - "reqwest", - "reth-chainspec", + "alloy-rlp", + "arbitrary", + "futures", + "proptest", + "proptest-arbitrary-interop", + "reth-eth-wire", + "reth-ethereum-primitives", + "reth-network", + "reth-network-api", + "reth-provider", + "reth-ress-protocol", + "reth-storage-errors", + "reth-tracing", + "strum 0.27.2", + "strum_macros 0.27.2", + "tokio", + "tokio-stream", + "tracing", +] + +[[package]] +name = "reth-ress-provider" +version = "1.7.0" +dependencies = [ + "alloy-consensus", + "alloy-primitives", + "eyre", + "futures", + "parking_lot", + "reth-chain-state", + "reth-errors", + "reth-ethereum-primitives", "reth-evm", - "reth-metrics", "reth-node-api", - "reth-node-builder", - "reth-optimism-chainspec", - "reth-optimism-evm", - "reth-optimism-flashblocks", - "reth-optimism-forks", - "reth-optimism-payload-builder", - "reth-optimism-primitives", - "reth-optimism-txpool", "reth-primitives-traits", - "reth-rpc", - "reth-rpc-api", - "reth-rpc-engine-api", - "reth-rpc-eth-api", - "reth-rpc-eth-types", - "reth-rpc-server-types", + "reth-ress-protocol", + "reth-revm", "reth-storage-api", "reth-tasks", - "reth-transaction-pool", - "revm", - "serde_json", - "thiserror 2.0.16", + "reth-tokio-util", + "reth-trie", + "schnellru", "tokio", - "tower", "tracing", ] [[package]] -name = "reth-optimism-storage" +name = "reth-revm" version = "1.7.0" dependencies = [ "alloy-consensus", "alloy-primitives", - "reth-chainspec", - "reth-codecs", - "reth-db-api", - "reth-node-api", - "reth-optimism-primitives", + "reth-ethereum-forks", "reth-primitives-traits", - "reth-provider", - "reth-prune-types", - "reth-stages-types", "reth-storage-api", + "reth-storage-errors", + "reth-trie", + "revm", ] [[package]] -name = "reth-optimism-txpool" +name = "reth-rpc" version = "1.7.0" dependencies = [ "alloy-consensus", + "alloy-dyn-abi", "alloy-eips", - "alloy-json-rpc", + "alloy-evm", + "alloy-genesis", + "alloy-network", "alloy-primitives", + "alloy-rlp", "alloy-rpc-client", + "alloy-rpc-types", + "alloy-rpc-types-admin", + "alloy-rpc-types-beacon", + "alloy-rpc-types-debug", + "alloy-rpc-types-engine", "alloy-rpc-types-eth", + "alloy-rpc-types-mev", + "alloy-rpc-types-trace", + "alloy-rpc-types-txpool", "alloy-serde", - "c-kzg", - "derive_more", - "futures-util", - "metrics", - "op-alloy-consensus", - "op-alloy-flz", - "op-alloy-rpc-types", - "op-revm", + "alloy-signer", + "alloy-signer-local", + "async-trait", + "derive_more 2.1.1", + "futures", + "http", + "http-body", + "hyper", + "itertools 0.14.0", + "jsonrpsee 0.26.0", + "jsonrpsee-types 0.26.0", + "jsonwebtoken", "parking_lot", + "pin-project", + "rand 0.9.2", "reth-chain-state", "reth-chainspec", + "reth-consensus", + "reth-consensus-common", + "reth-db-api", + "reth-engine-primitives", + "reth-errors", + "reth-ethereum-primitives", + "reth-evm", + "reth-evm-ethereum", + "reth-execution-types", "reth-metrics", - "reth-optimism-chainspec", - "reth-optimism-evm", - "reth-optimism-forks", - "reth-optimism-primitives", + "reth-network-api", + "reth-network-peers", + "reth-network-types", + "reth-node-api", "reth-primitives-traits", "reth-provider", + "reth-revm", + "reth-rpc-api", + "reth-rpc-convert", + "reth-rpc-engine-api", + "reth-rpc-eth-api", + "reth-rpc-eth-types", + "reth-rpc-server-types", "reth-storage-api", + "reth-tasks", + "reth-testing-utils", "reth-transaction-pool", + "reth-trie-common", + "revm", + "revm-inspectors", + "revm-primitives", "serde", - "thiserror 2.0.16", + "serde_json", + "sha2", + "thiserror 2.0.17", "tokio", + "tokio-stream", + "tower 0.5.2", "tracing", + "tracing-futures", ] [[package]] -name = "reth-payload-builder" +name = "reth-rpc-api" version = "1.7.0" dependencies = [ - "alloy-consensus", + "alloy-eips", + "alloy-genesis", + "alloy-json-rpc", "alloy-primitives", "alloy-rpc-types", - "futures-util", - "metrics", + "alloy-rpc-types-admin", + "alloy-rpc-types-anvil", + "alloy-rpc-types-beacon", + "alloy-rpc-types-debug", + "alloy-rpc-types-engine", + "alloy-rpc-types-eth", + "alloy-rpc-types-mev", + "alloy-rpc-types-trace", + "alloy-rpc-types-txpool", + "alloy-serde", + "jsonrpsee 0.26.0", "reth-chain-state", - "reth-ethereum-engine-primitives", - "reth-metrics", - "reth-payload-builder-primitives", - "reth-payload-primitives", - "reth-primitives-traits", - "tokio", - "tokio-stream", - "tracing", + "reth-engine-primitives", + "reth-network-peers", + "reth-rpc-eth-api", + "reth-trie-common", ] [[package]] -name = "reth-payload-builder-primitives" +name = "reth-rpc-api-testing-util" version = "1.7.0" dependencies = [ - "pin-project", - "reth-payload-primitives", + "alloy-eips", + "alloy-primitives", + "alloy-rpc-types-eth", + "alloy-rpc-types-trace", + "futures", + "jsonrpsee 0.26.0", + "jsonrpsee-http-client 0.26.0", + "reth-ethereum-primitives", + "reth-rpc-api", + "reth-rpc-eth-api", + "serde_json", + "similar-asserts", "tokio", - "tokio-stream", - "tracing", ] [[package]] -name = "reth-payload-primitives" +name = "reth-rpc-builder" version = "1.7.0" dependencies = [ "alloy-eips", + "alloy-network", "alloy-primitives", + "alloy-provider", "alloy-rpc-types-engine", - "assert_matches", - "auto_impl", - "op-alloy-rpc-types-engine", + "alloy-rpc-types-eth", + "alloy-rpc-types-trace", + "clap", + "http", + "jsonrpsee 0.26.0", + "metrics", + "pin-project", "reth-chain-state", "reth-chainspec", - "reth-errors", + "reth-consensus", + "reth-engine-primitives", + "reth-ethereum-engine-primitives", + "reth-ethereum-primitives", + "reth-evm", + "reth-evm-ethereum", + "reth-ipc", + "reth-metrics", + "reth-network-api", + "reth-network-peers", + "reth-node-core", + "reth-node-ethereum", + "reth-payload-builder", "reth-primitives-traits", + "reth-provider", + "reth-rpc", + "reth-rpc-api", + "reth-rpc-engine-api", + "reth-rpc-eth-api", + "reth-rpc-eth-types", + "reth-rpc-layer", + "reth-rpc-server-types", + "reth-storage-api", + "reth-tasks", + "reth-tracing", + "reth-transaction-pool", "serde", - "thiserror 2.0.16", + "serde_json", + "thiserror 2.0.17", "tokio", + "tokio-util", + "tower 0.5.2", + "tower-http", + "tracing", ] [[package]] -name = "reth-payload-util" -version = "1.7.0" -dependencies = [ - "alloy-consensus", - "alloy-primitives", - "reth-transaction-pool", -] - -[[package]] -name = "reth-payload-validator" -version = "1.7.0" -dependencies = [ - "alloy-consensus", - "alloy-rpc-types-engine", - "reth-primitives-traits", -] - -[[package]] -name = "reth-primitives" +name = "reth-rpc-convert" version = "1.7.0" dependencies = [ "alloy-consensus", - "alloy-eips", - "alloy-genesis", + "alloy-json-rpc", + "alloy-network", "alloy-primitives", - "alloy-rlp", - "arbitrary", - "c-kzg", - "codspeed-criterion-compat", - "once_cell", - "proptest", - "proptest-arbitrary-interop", - "reth-codecs", - "reth-ethereum-forks", + "alloy-rpc-types-eth", + "alloy-signer", + "jsonrpsee-types 0.26.0", + "op-alloy-consensus", + "op-alloy-network", + "op-alloy-rpc-types", + "op-revm", "reth-ethereum-primitives", + "reth-evm", + "reth-optimism-primitives", "reth-primitives-traits", - "reth-static-file-types", + "reth-storage-api", + "revm-context", + "thiserror 2.0.17", ] [[package]] -name = "reth-primitives-traits" +name = "reth-rpc-e2e-tests" version = "1.7.0" dependencies = [ - "alloy-consensus", - "alloy-eips", "alloy-genesis", - "alloy-primitives", - "alloy-rlp", - "alloy-rpc-types-eth", - "alloy-trie", - "arbitrary", - "auto_impl", - "bincode 1.3.3", - "byteorder", - "bytes", - "derive_more", - "modular-bitfield", - "once_cell", - "op-alloy-consensus", - "proptest", - "proptest-arbitrary-interop", - "rand 0.8.5", - "rand 0.9.2", - "rayon", + "alloy-rpc-types-engine", + "eyre", + "futures-util", + "jsonrpsee 0.26.0", "reth-chainspec", - "reth-codecs", - "revm-bytecode", - "revm-primitives", - "revm-state", - "secp256k1 0.30.0", - "serde", + "reth-e2e-test-utils", + "reth-node-api", + "reth-node-ethereum", + "reth-rpc-api", + "reth-tracing", + "seismic-alloy-genesis", "serde_json", - "serde_with", - "test-fuzz", - "thiserror 2.0.16", + "tokio", + "tracing", ] [[package]] -name = "reth-provider" +name = "reth-rpc-engine-api" version = "1.7.0" dependencies = [ - "alloy-consensus", "alloy-eips", "alloy-primitives", + "alloy-rlp", "alloy-rpc-types-engine", "assert_matches", - "dashmap 6.1.0", - "eyre", - "itertools 0.14.0", + "async-trait", + "jsonrpsee-core 0.26.0", + "jsonrpsee-types 0.26.0", "metrics", - "notify", "parking_lot", - "rand 0.9.2", - "rayon", - "reth-chain-state", "reth-chainspec", - "reth-codecs", - "reth-db", - "reth-db-api", - "reth-errors", + "reth-engine-primitives", "reth-ethereum-engine-primitives", "reth-ethereum-primitives", - "reth-evm", - "reth-execution-types", - "reth-fs-util", "reth-metrics", - "reth-nippy-jar", - "reth-node-types", + "reth-node-ethereum", + "reth-payload-builder", + "reth-payload-builder-primitives", + "reth-payload-primitives", "reth-primitives-traits", - "reth-prune-types", - "reth-stages-types", - "reth-static-file-types", + "reth-provider", + "reth-rpc-api", "reth-storage-api", - "reth-storage-errors", + "reth-tasks", "reth-testing-utils", - "reth-trie", - "reth-trie-db", - "revm-database", - "revm-database-interface", - "revm-state", - "strum 0.27.2", - "tempfile", + "reth-transaction-pool", + "serde", + "thiserror 2.0.17", "tokio", "tracing", ] [[package]] -name = "reth-prune" +name = "reth-rpc-eth-api" version = "1.7.0" dependencies = [ "alloy-consensus", + "alloy-dyn-abi", "alloy-eips", + "alloy-evm", + "alloy-json-rpc", + "alloy-network", "alloy-primitives", - "assert_matches", - "itertools 0.14.0", - "metrics", - "rayon", + "alloy-rlp", + "alloy-rpc-types-eth", + "alloy-rpc-types-mev", + "alloy-serde", + "async-trait", + "auto_impl", + "dyn-clone", + "futures", + "jsonrpsee 0.26.0", + "jsonrpsee-types 0.26.0", + "parking_lot", + "reth-chain-state", "reth-chainspec", - "reth-config", - "reth-db", - "reth-db-api", "reth-errors", - "reth-exex-types", - "reth-metrics", + "reth-evm", + "reth-network-api", + "reth-node-api", "reth-primitives-traits", - "reth-provider", - "reth-prune-types", - "reth-stages", - "reth-static-file-types", - "reth-testing-utils", - "reth-tokio-util", - "reth-tracing", - "rustc-hash 2.1.1", - "thiserror 2.0.16", + "reth-revm", + "reth-rpc-convert", + "reth-rpc-eth-types", + "reth-rpc-server-types", + "reth-storage-api", + "reth-tasks", + "reth-transaction-pool", + "reth-trie-common", + "revm", + "revm-inspectors", "tokio", "tracing", ] [[package]] -name = "reth-prune-types" +name = "reth-rpc-eth-types" version = "1.7.0" dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-evm", + "alloy-network", "alloy-primitives", - "arbitrary", - "assert_matches", - "derive_more", - "modular-bitfield", - "proptest", - "proptest-arbitrary-interop", - "reth-codecs", + "alloy-rpc-client", + "alloy-rpc-types-eth", + "alloy-sol-types", + "alloy-transport", + "derive_more 2.1.1", + "futures", + "itertools 0.14.0", + "jsonrpsee-core 0.26.0", + "jsonrpsee-types 0.26.0", + "metrics", + "rand 0.9.2", + "reqwest", + "reth-chain-state", + "reth-chainspec", + "reth-errors", + "reth-ethereum-primitives", + "reth-evm", + "reth-execution-types", + "reth-metrics", + "reth-primitives-traits", + "reth-revm", + "reth-rpc-convert", + "reth-rpc-server-types", + "reth-storage-api", + "reth-tasks", + "reth-transaction-pool", + "reth-trie", + "revm", + "revm-inspectors", + "schnellru", + "seismic-revm", "serde", "serde_json", - "test-fuzz", - "thiserror 2.0.16", - "toml", + "thiserror 2.0.17", + "tokio", + "tokio-stream", + "tracing", ] [[package]] -name = "reth-ress-protocol" +name = "reth-rpc-layer" version = "1.7.0" dependencies = [ - "alloy-consensus", - "alloy-primitives", - "alloy-rlp", - "arbitrary", - "futures", - "proptest", - "proptest-arbitrary-interop", - "reth-eth-wire", - "reth-ethereum-primitives", - "reth-network", - "reth-network-api", - "reth-provider", - "reth-ress-protocol", - "reth-storage-errors", - "reth-tracing", - "strum 0.27.2", - "strum_macros 0.27.2", + "alloy-rpc-types-engine", + "http", + "http-body-util", + "jsonrpsee 0.26.0", + "jsonrpsee-http-client 0.26.0", + "pin-project", + "reqwest", "tokio", - "tokio-stream", + "tower 0.5.2", + "tower-http", "tracing", ] [[package]] -name = "reth-ress-provider" +name = "reth-rpc-server-types" version = "1.7.0" dependencies = [ - "alloy-consensus", + "alloy-eips", "alloy-primitives", - "eyre", - "futures", - "parking_lot", - "reth-chain-state", + "alloy-rpc-types-engine", + "jsonrpsee-core 0.26.0", + "jsonrpsee-types 0.26.0", "reth-errors", - "reth-ethereum-primitives", + "reth-network-api", + "serde", + "strum 0.27.2", +] + +[[package]] +name = "reth-seismic" +version = "1.7.0" +dependencies = [ + "reth-chainspec", + "reth-consensus", + "reth-consensus-common", + "reth-db", "reth-evm", + "reth-network", "reth-node-api", "reth-primitives-traits", - "reth-ress-protocol", - "reth-revm", + "reth-provider", + "reth-rpc", + "reth-rpc-api", + "reth-rpc-builder", + "reth-rpc-eth-types", + "reth-seismic-chainspec", + "reth-seismic-cli", + "reth-seismic-evm", + "reth-seismic-node", + "reth-seismic-primitives", + "reth-seismic-rpc", "reth-storage-api", - "reth-tasks", - "reth-tokio-util", "reth-trie", - "schnellru", - "tokio", - "tracing", ] [[package]] -name = "reth-revm" +name = "reth-seismic-chainspec" version = "1.7.0" dependencies = [ + "alloy-chains", "alloy-consensus", + "alloy-eips", + "alloy-genesis", + "alloy-hardforks", "alloy-primitives", + "derive_more 2.1.1", + "once_cell", + "reth-chainspec", "reth-ethereum-forks", + "reth-network-peers", "reth-primitives-traits", - "reth-storage-api", - "reth-storage-errors", - "reth-trie", - "revm", + "reth-seismic-forks", + "reth-seismic-primitives", + "seismic-alloy-consensus", + "seismic-alloy-genesis", + "seismic-alloy-rpc-types", + "serde_json", + "thiserror 2.0.17", ] [[package]] -name = "reth-rpc" +name = "reth-seismic-cli" +version = "1.7.0" +dependencies = [ + "clap", + "eyre", + "futures-util", + "proptest", + "reth-chainspec", + "reth-cli", + "reth-cli-commands", + "reth-cli-runner", + "reth-db", + "reth-db-common", + "reth-node-builder", + "reth-node-core", + "reth-node-ethereum", + "reth-node-metrics", + "reth-seismic-chainspec", + "reth-seismic-node", + "reth-stages", + "reth-tracing", + "seismic-alloy-consensus", + "tempfile", + "tracing", +] + +[[package]] +name = "reth-seismic-evm" version = "1.7.0" dependencies = [ "alloy-consensus", - "alloy-dyn-abi", "alloy-eips", "alloy-evm", "alloy-genesis", - "alloy-network", "alloy-primitives", - "alloy-rlp", - "alloy-rpc-client", - "alloy-rpc-types", - "alloy-rpc-types-admin", - "alloy-rpc-types-beacon", - "alloy-rpc-types-debug", "alloy-rpc-types-engine", - "alloy-rpc-types-eth", - "alloy-rpc-types-mev", - "alloy-rpc-types-trace", - "alloy-rpc-types-txpool", - "alloy-serde", - "alloy-signer", - "alloy-signer-local", - "async-trait", - "derive_more", - "futures", - "http", - "http-body", - "hyper", - "itertools 0.14.0", - "jsonrpsee", - "jsonrpsee-types", - "jsonwebtoken", - "parking_lot", - "pin-project", - "rand 0.9.2", - "reth-chain-state", + "alloy-seismic-evm", + "derive_more 2.1.1", + "k256", "reth-chainspec", "reth-consensus", "reth-consensus-common", - "reth-db-api", - "reth-engine-primitives", - "reth-errors", + "reth-ethereum-forks", "reth-ethereum-primitives", "reth-evm", - "reth-evm-ethereum", + "reth-execution-errors", "reth-execution-types", - "reth-metrics", - "reth-network-api", - "reth-network-peers", - "reth-network-types", - "reth-node-api", "reth-primitives-traits", - "reth-provider", "reth-revm", - "reth-rpc-api", - "reth-rpc-convert", - "reth-rpc-engine-api", - "reth-rpc-eth-api", - "reth-rpc-eth-types", - "reth-rpc-server-types", - "reth-storage-api", - "reth-tasks", + "reth-seismic-chainspec", + "reth-seismic-forks", + "reth-seismic-primitives", + "reth-storage-errors", "reth-testing-utils", - "reth-transaction-pool", - "reth-trie-common", "revm", - "revm-inspectors", - "revm-primitives", - "serde", - "serde_json", - "sha2 0.10.9", - "thiserror 2.0.16", - "tokio", - "tokio-stream", - "tower", + "revm-state", + "schnorrkel", + "secp256k1 0.30.0", + "seismic-alloy-consensus", + "seismic-alloy-genesis", + "seismic-enclave", + "seismic-revm", + "thiserror 2.0.17", "tracing", - "tracing-futures", ] [[package]] -name = "reth-rpc-api" +name = "reth-seismic-forks" version = "1.7.0" dependencies = [ - "alloy-eips", - "alloy-genesis", - "alloy-json-rpc", + "alloy-chains", + "alloy-hardforks", "alloy-primitives", - "alloy-rpc-types", - "alloy-rpc-types-admin", - "alloy-rpc-types-anvil", - "alloy-rpc-types-beacon", - "alloy-rpc-types-debug", - "alloy-rpc-types-engine", - "alloy-rpc-types-eth", - "alloy-rpc-types-mev", - "alloy-rpc-types-trace", - "alloy-rpc-types-txpool", - "alloy-serde", - "jsonrpsee", - "reth-chain-state", - "reth-engine-primitives", - "reth-network-peers", - "reth-rpc-eth-api", - "reth-trie-common", + "auto_impl", + "once_cell", + "reth-ethereum-forks", + "serde", ] [[package]] -name = "reth-rpc-api-testing-util" +name = "reth-seismic-fuzz" version = "1.7.0" dependencies = [ + "alloy-consensus", "alloy-eips", + "alloy-evm", "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-rpc-types-trace", - "futures", - "jsonrpsee", - "jsonrpsee-http-client", - "reth-ethereum-primitives", - "reth-rpc-api", - "reth-rpc-eth-api", - "serde_json", - "similar-asserts", - "tokio", + "alloy-rlp", + "alloy-seismic-evm", + "arbitrary", + "proptest", + "proptest-arbitrary-interop", + "reth-codecs", + "reth-db", + "reth-db-api", + "reth-primitives-traits", + "reth-seismic-chainspec", + "reth-seismic-evm", + "reth-seismic-primitives", + "revm", + "seismic-alloy-consensus", + "seismic-enclave", + "seismic-revm", ] [[package]] -name = "reth-rpc-builder" +name = "reth-seismic-node" version = "1.7.0" dependencies = [ + "alloy-consensus", + "alloy-dyn-abi", "alloy-eips", + "alloy-genesis", + "alloy-json-abi", "alloy-network", "alloy-primitives", "alloy-provider", + "alloy-rpc-types", "alloy-rpc-types-engine", "alloy-rpc-types-eth", - "alloy-rpc-types-trace", - "clap", - "http", - "jsonrpsee", - "metrics", - "pin-project", - "reth-chain-state", + "alloy-sol-types", + "eyre", + "futures", + "jsonrpsee 0.26.0", + "jsonrpsee-http-client 0.26.0", + "k256", + "once_cell", + "reqwest", "reth-chainspec", "reth-consensus", + "reth-db", + "reth-e2e-test-utils", + "reth-engine-local", "reth-engine-primitives", - "reth-ethereum-engine-primitives", - "reth-ethereum-primitives", + "reth-eth-wire-types", + "reth-ethereum-payload-builder", "reth-evm", - "reth-evm-ethereum", - "reth-ipc", - "reth-metrics", - "reth-network-api", - "reth-network-peers", + "reth-exex", + "reth-network", + "reth-node-api", + "reth-node-builder", "reth-node-core", "reth-node-ethereum", "reth-payload-builder", + "reth-payload-primitives", "reth-primitives-traits", "reth-provider", + "reth-revm", "reth-rpc", "reth-rpc-api", - "reth-rpc-engine-api", + "reth-rpc-builder", "reth-rpc-eth-api", "reth-rpc-eth-types", - "reth-rpc-layer", "reth-rpc-server-types", - "reth-storage-api", + "reth-seismic-chainspec", + "reth-seismic-evm", + "reth-seismic-node", + "reth-seismic-payload-builder", + "reth-seismic-primitives", + "reth-seismic-rpc", + "reth-seismic-txpool", "reth-tasks", "reth-tracing", "reth-transaction-pool", + "reth-trie-db", + "revm", + "secp256k1 0.30.0", + "seismic-alloy-consensus", + "seismic-alloy-network", + "seismic-alloy-provider", + "seismic-alloy-rpc-types", + "seismic-enclave", + "seismic-revm", "serde", "serde_json", - "thiserror 2.0.16", + "tempfile", "tokio", - "tokio-util", - "tower", - "tower-http", "tracing", ] [[package]] -name = "reth-rpc-convert" +name = "reth-seismic-payload-builder" version = "1.7.0" dependencies = [ "alloy-consensus", - "alloy-json-rpc", - "alloy-network", - "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-signer", - "jsonrpsee-types", - "op-alloy-consensus", - "op-alloy-network", - "op-alloy-rpc-types", - "op-revm", - "reth-ethereum-primitives", - "reth-evm", - "reth-optimism-primitives", - "reth-primitives-traits", - "reth-storage-api", - "revm-context", - "thiserror 2.0.16", -] - -[[package]] -name = "reth-rpc-e2e-tests" -version = "1.7.0" -dependencies = [ - "alloy-genesis", - "alloy-rpc-types-engine", - "eyre", - "futures-util", - "jsonrpsee", - "reth-chainspec", - "reth-e2e-test-utils", - "reth-node-api", - "reth-node-ethereum", - "reth-rpc-api", - "reth-tracing", - "serde_json", - "tokio", - "tracing", -] - -[[package]] -name = "reth-rpc-engine-api" -version = "1.7.0" -dependencies = [ - "alloy-eips", + "alloy-evm", "alloy-primitives", - "alloy-rlp", - "alloy-rpc-types-engine", - "assert_matches", - "async-trait", - "jsonrpsee-core", - "jsonrpsee-types", - "metrics", - "parking_lot", + "proptest", + "proptest-arbitrary-interop", + "reth-basic-payload-builder", "reth-chainspec", - "reth-engine-primitives", - "reth-ethereum-engine-primitives", + "reth-errors", + "reth-ethereum-payload-builder", "reth-ethereum-primitives", - "reth-metrics", - "reth-node-ethereum", + "reth-evm", + "reth-execution-errors", + "reth-execution-types", "reth-payload-builder", "reth-payload-builder-primitives", "reth-payload-primitives", "reth-primitives-traits", - "reth-provider", - "reth-rpc-api", + "reth-revm", + "reth-seismic-evm", + "reth-seismic-primitives", "reth-storage-api", - "reth-tasks", - "reth-testing-utils", + "reth-storage-errors", "reth-transaction-pool", - "serde", - "thiserror 2.0.16", - "tokio", + "reth-trie-common", + "revm", + "seismic-enclave", "tracing", ] [[package]] -name = "reth-rpc-eth-api" +name = "reth-seismic-primitives" version = "1.7.0" dependencies = [ "alloy-consensus", "alloy-dyn-abi", "alloy-eips", "alloy-evm", - "alloy-json-rpc", "alloy-network", "alloy-primitives", "alloy-rlp", + "alloy-rpc-types", "alloy-rpc-types-eth", - "alloy-rpc-types-mev", "alloy-serde", - "async-trait", - "auto_impl", - "dyn-clone", - "futures", - "jsonrpsee", - "jsonrpsee-types", - "parking_lot", - "reth-chain-state", - "reth-chainspec", - "reth-errors", - "reth-evm", - "reth-network-api", - "reth-node-api", + "alloy-signer-local", + "anyhow", + "arbitrary", + "bincode 1.3.3", + "bytes", + "derive_more 2.1.1", + "enr", + "k256", + "modular-bitfield", + "num-traits", + "proptest", + "proptest-arbitrary-interop", + "rand 0.8.5", + "rand 0.9.2", + "reth-codecs", "reth-primitives-traits", - "reth-revm", - "reth-rpc-convert", - "reth-rpc-eth-types", - "reth-rpc-server-types", - "reth-storage-api", - "reth-tasks", - "reth-transaction-pool", - "reth-trie-common", - "revm", - "revm-inspectors", - "tokio", + "reth-zstd-compressors", + "revm-context", + "rstest", + "secp256k1 0.30.0", + "seismic-alloy-consensus", + "seismic-alloy-network", + "seismic-alloy-rpc-types", + "seismic-enclave", + "seismic-revm", + "serde", + "serde_json", + "serde_with", "tracing", ] [[package]] -name = "reth-rpc-eth-types" +name = "reth-seismic-rpc" version = "1.7.0" dependencies = [ "alloy-consensus", + "alloy-dyn-abi", "alloy-eips", - "alloy-evm", - "alloy-network", + "alloy-json-rpc", "alloy-primitives", - "alloy-rpc-client", + "alloy-rpc-types", + "alloy-rpc-types-engine", "alloy-rpc-types-eth", - "alloy-sol-types", - "alloy-transport", - "derive_more", + "alloy-signer-local", + "enr", + "eyre", "futures", - "itertools 0.14.0", - "jsonrpsee-core", - "jsonrpsee-types", - "metrics", - "rand 0.9.2", - "reqwest", - "reth-chain-state", - "reth-chainspec", - "reth-errors", - "reth-ethereum-primitives", + "jsonrpsee 0.26.0", + "jsonrpsee-types 0.26.0", + "k256", + "reth-consensus", + "reth-e2e-test-utils", + "reth-engine-primitives", + "reth-ethereum-engine-primitives", "reth-evm", - "reth-execution-types", - "reth-metrics", + "reth-evm-ethereum", + "reth-node-api", + "reth-node-builder", + "reth-node-ethereum", + "reth-payload-builder", + "reth-primitives", "reth-primitives-traits", - "reth-revm", + "reth-provider", + "reth-rpc", + "reth-rpc-builder", "reth-rpc-convert", + "reth-rpc-engine-api", + "reth-rpc-eth-api", + "reth-rpc-eth-types", + "reth-rpc-layer", "reth-rpc-server-types", + "reth-seismic-chainspec", + "reth-seismic-evm", + "reth-seismic-primitives", + "reth-seismic-txpool", "reth-storage-api", "reth-tasks", + "reth-tracing", "reth-transaction-pool", - "reth-trie", "revm", - "revm-inspectors", - "schnellru", + "revm-context", + "secp256k1 0.30.0", + "seismic-alloy-consensus", + "seismic-alloy-network", + "seismic-alloy-rpc-types", + "seismic-enclave", + "seismic-revm", "serde", - "serde_json", - "thiserror 2.0.16", - "tokio", - "tokio-stream", - "tracing", -] - -[[package]] -name = "reth-rpc-layer" -version = "1.7.0" -dependencies = [ - "alloy-rpc-types-engine", - "http", - "http-body-util", - "jsonrpsee", - "jsonrpsee-http-client", - "pin-project", - "reqwest", + "thiserror 2.0.17", "tokio", - "tower", - "tower-http", "tracing", ] [[package]] -name = "reth-rpc-server-types" +name = "reth-seismic-txpool" version = "1.7.0" dependencies = [ + "alloy-consensus", "alloy-eips", "alloy-primitives", - "alloy-rpc-types-engine", - "jsonrpsee-core", - "jsonrpsee-types", - "reth-errors", - "reth-network-api", - "serde", - "strum 0.27.2", + "c-kzg", + "derive_more 2.1.1", + "reth-chainspec", + "reth-primitives-traits", + "reth-provider", + "reth-seismic-chainspec", + "reth-seismic-primitives", + "reth-transaction-pool", + "seismic-alloy-consensus", + "tokio", ] [[package]] @@ -10300,7 +10099,7 @@ dependencies = [ "reth-trie", "reth-trie-db", "tempfile", - "thiserror 2.0.16", + "thiserror 2.0.17", "tokio", "tracing", ] @@ -10328,7 +10127,7 @@ dependencies = [ "reth-static-file-types", "reth-testing-utils", "reth-tokio-util", - "thiserror 2.0.16", + "thiserror 2.0.17", "tokio", "tokio-stream", "tracing", @@ -10373,7 +10172,7 @@ dependencies = [ "reth-trie-sparse", "serde", "serde_with", - "thiserror 2.0.16", + "thiserror 2.0.17", ] [[package]] @@ -10405,7 +10204,7 @@ version = "1.7.0" dependencies = [ "alloy-primitives", "clap", - "derive_more", + "derive_more 2.1.1", "reth-nippy-jar", "serde", "strum 0.27.2", @@ -10431,6 +10230,7 @@ dependencies = [ "reth-storage-errors", "reth-trie-common", "revm-database", + "revm-state", ] [[package]] @@ -10440,12 +10240,12 @@ dependencies = [ "alloy-eips", "alloy-primitives", "alloy-rlp", - "derive_more", + "derive_more 2.1.1", "reth-primitives-traits", "reth-prune-types", "reth-static-file-types", "revm-database-interface", - "thiserror 2.0.16", + "thiserror 2.0.17", ] [[package]] @@ -10488,7 +10288,7 @@ dependencies = [ "pin-project", "rayon", "reth-metrics", - "thiserror 2.0.16", + "thiserror 2.0.17", "tokio", "tracing", "tracing-futures", @@ -10500,13 +10300,13 @@ version = "1.7.0" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-genesis", "alloy-primitives", "rand 0.8.5", "rand 0.9.2", "reth-ethereum-primitives", "reth-primitives-traits", "secp256k1 0.30.0", + "seismic-alloy-genesis", ] [[package]] @@ -10529,7 +10329,7 @@ dependencies = [ "tracing-appender", "tracing-journald", "tracing-logfmt", - "tracing-subscriber 0.3.20", + "tracing-subscriber 0.3.22", ] [[package]] @@ -10542,7 +10342,7 @@ dependencies = [ "opentelemetry_sdk", "tracing", "tracing-opentelemetry", - "tracing-subscriber 0.3.20", + "tracing-subscriber 0.3.22", ] [[package]] @@ -10556,7 +10356,7 @@ dependencies = [ "aquamarine", "assert_matches", "auto_impl", - "bitflags 2.9.4", + "bitflags 2.10.0", "codspeed-criterion-compat", "futures", "futures-util", @@ -10583,11 +10383,12 @@ dependencies = [ "revm-primitives", "rustc-hash 2.1.1", "schnellru", + "seismic-alloy-consensus", "serde", "serde_json", "smallvec", "tempfile", - "thiserror 2.0.16", + "thiserror 2.0.17", "tokio", "tokio-stream", "tracing", @@ -10641,7 +10442,7 @@ dependencies = [ "bincode 1.3.3", "bytes", "codspeed-criterion-compat", - "derive_more", + "derive_more 2.1.1", "hash-db", "itertools 0.14.0", "nybbles", @@ -10653,6 +10454,7 @@ dependencies = [ "reth-primitives-traits", "revm-database", "revm-state", + "seismic-alloy-genesis", "serde", "serde_json", "serde_with", @@ -10677,6 +10479,8 @@ dependencies = [ "reth-trie-common", "revm", "revm-database", + "revm-primitives", + "revm-state", "serde_json", "similar-asserts", "tracing", @@ -10690,7 +10494,7 @@ dependencies = [ "alloy-primitives", "alloy-rlp", "codspeed-criterion-compat", - "derive_more", + "derive_more 2.1.1", "itertools 0.14.0", "metrics", "proptest", @@ -10707,7 +10511,9 @@ dependencies = [ "reth-trie-common", "reth-trie-db", "reth-trie-sparse", - "thiserror 2.0.16", + "revm-primitives", + "revm-state", + "thiserror 2.0.17", "tokio", "tracing", ] @@ -10784,8 +10590,7 @@ dependencies = [ [[package]] name = "revm" version = "29.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c278b6ee9bba9e25043e3fae648fdce632d1944d3ba16f5203069b43bddd57f" +source = "git+https://github.com/SeismicSystems/seismic-revm.git?rev=ed81a1d6a89a8ffbf816d52715a3260b040c98bb#ed81a1d6a89a8ffbf816d52715a3260b040c98bb" dependencies = [ "revm-bytecode", "revm-context", @@ -10803,11 +10608,10 @@ dependencies = [ [[package]] name = "revm-bytecode" version = "6.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66c52031b73cae95d84cd1b07725808b5fd1500da3e5e24574a3b2dc13d9f16d" +source = "git+https://github.com/SeismicSystems/seismic-revm.git?rev=ed81a1d6a89a8ffbf816d52715a3260b040c98bb#ed81a1d6a89a8ffbf816d52715a3260b040c98bb" dependencies = [ "bitvec", - "phf", + "phf 0.13.1", "revm-primitives", "serde", ] @@ -10815,8 +10619,7 @@ dependencies = [ [[package]] name = "revm-context" version = "9.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fb02c5dab3b535aa5b18277b1d21c5117a25d42af717e6ce133df0ea56663e1" +source = "git+https://github.com/SeismicSystems/seismic-revm.git?rev=ed81a1d6a89a8ffbf816d52715a3260b040c98bb#ed81a1d6a89a8ffbf816d52715a3260b040c98bb" dependencies = [ "bitvec", "cfg-if", @@ -10832,8 +10635,7 @@ dependencies = [ [[package]] name = "revm-context-interface" version = "10.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b8e9311d27cf75fbf819e7ba4ca05abee1ae02e44ff6a17301c7ab41091b259" +source = "git+https://github.com/SeismicSystems/seismic-revm.git?rev=ed81a1d6a89a8ffbf816d52715a3260b040c98bb#ed81a1d6a89a8ffbf816d52715a3260b040c98bb" dependencies = [ "alloy-eip2930", "alloy-eip7702", @@ -10848,8 +10650,7 @@ dependencies = [ [[package]] name = "revm-database" version = "7.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39a276ed142b4718dcf64bc9624f474373ed82ef20611025045c3fb23edbef9c" +source = "git+https://github.com/SeismicSystems/seismic-revm.git?rev=ed81a1d6a89a8ffbf816d52715a3260b040c98bb#ed81a1d6a89a8ffbf816d52715a3260b040c98bb" dependencies = [ "alloy-eips", "revm-bytecode", @@ -10862,8 +10663,7 @@ dependencies = [ [[package]] name = "revm-database-interface" version = "7.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c523c77e74eeedbac5d6f7c092e3851dbe9c7fec6f418b85992bd79229db361" +source = "git+https://github.com/SeismicSystems/seismic-revm.git?rev=ed81a1d6a89a8ffbf816d52715a3260b040c98bb#ed81a1d6a89a8ffbf816d52715a3260b040c98bb" dependencies = [ "auto_impl", "either", @@ -10875,8 +10675,7 @@ dependencies = [ [[package]] name = "revm-handler" version = "10.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "528d2d81cc918d311b8231c35330fac5fba8b69766ddc538833e2b5593ee016e" +source = "git+https://github.com/SeismicSystems/seismic-revm.git?rev=ed81a1d6a89a8ffbf816d52715a3260b040c98bb#ed81a1d6a89a8ffbf816d52715a3260b040c98bb" dependencies = [ "auto_impl", "derive-where", @@ -10894,8 +10693,7 @@ dependencies = [ [[package]] name = "revm-inspector" version = "10.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf443b664075999a14916b50c5ae9e35a7d71186873b8f8302943d50a672e5e0" +source = "git+https://github.com/SeismicSystems/seismic-revm.git?rev=ed81a1d6a89a8ffbf816d52715a3260b040c98bb#ed81a1d6a89a8ffbf816d52715a3260b040c98bb" dependencies = [ "auto_impl", "either", @@ -10911,9 +10709,8 @@ dependencies = [ [[package]] name = "revm-inspectors" -version = "0.29.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d1a292fa860bf3f5448b07f9f7ceff08ff49da5cb9f812065fc03766f8d1626" +version = "0.29.0" +source = "git+https://github.com/SeismicSystems/seismic-revm-inspectors.git?rev=9e26c0a55f522ad7d8cf4716d9df9d79b8116d52#9e26c0a55f522ad7d8cf4716d9df9d79b8116d52" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", @@ -10926,26 +10723,25 @@ dependencies = [ "revm", "serde", "serde_json", - "thiserror 2.0.16", + "thiserror 2.0.17", ] [[package]] name = "revm-interpreter" version = "25.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d6406b711fac73b4f13120f359ed8e65964380dd6182bd12c4c09ad0d4641f" +source = "git+https://github.com/SeismicSystems/seismic-revm.git?rev=ed81a1d6a89a8ffbf816d52715a3260b040c98bb#ed81a1d6a89a8ffbf816d52715a3260b040c98bb" dependencies = [ "revm-bytecode", "revm-context-interface", "revm-primitives", + "revm-state", "serde", ] [[package]] name = "revm-precompile" version = "27.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b57d4bd9e6b5fe469da5452a8a137bc2d030a3cd47c46908efc615bbc699da" +source = "git+https://github.com/SeismicSystems/seismic-revm.git?rev=ed81a1d6a89a8ffbf816d52715a3260b040c98bb#ed81a1d6a89a8ffbf816d52715a3260b040c98bb" dependencies = [ "ark-bls12-381", "ark-bn254", @@ -10958,20 +10754,18 @@ dependencies = [ "c-kzg", "cfg-if", "k256", - "libsecp256k1", "p256", "revm-primitives", "ripemd", "rug", "secp256k1 0.31.1", - "sha2 0.10.9", + "sha2", ] [[package]] name = "revm-primitives" version = "20.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa29d9da06fe03b249b6419b33968ecdf92ad6428e2f012dc57bcd619b5d94e" +source = "git+https://github.com/SeismicSystems/seismic-revm.git?rev=ed81a1d6a89a8ffbf816d52715a3260b040c98bb#ed81a1d6a89a8ffbf816d52715a3260b040c98bb" dependencies = [ "alloy-primitives", "num_enum", @@ -10982,10 +10776,9 @@ dependencies = [ [[package]] name = "revm-state" version = "7.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f64fbacb86008394aaebd3454f9643b7d5a782bd251135e17c5b33da592d84d" +source = "git+https://github.com/SeismicSystems/seismic-revm.git?rev=ed81a1d6a89a8ffbf816d52715a3260b040c98bb#ed81a1d6a89a8ffbf816d52715a3260b040c98bb" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "revm-bytecode", "revm-primitives", "serde", @@ -11051,22 +10844,19 @@ dependencies = [ [[package]] name = "rmp" -version = "0.8.14" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4" +checksum = "4ba8be72d372b2c9b35542551678538b562e7cf86c3315773cae48dfbfe7790c" dependencies = [ - "byteorder", "num-traits", - "paste", ] [[package]] name = "rmp-serde" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e599a477cf9840e92f2cde9a7189e67b42c57532749bf90aea6ec10facd4db" +checksum = "72f81bee8c8ef9b577d1681a70ebbc962c232461e397b22c208c43c04b67a155" dependencies = [ - "byteorder", "rmp", "serde", ] @@ -11122,7 +10912,7 @@ dependencies = [ "regex", "relative-path", "rustc_version 0.4.1", - "syn 2.0.106", + "syn 2.0.113", "unicode-ident", ] @@ -11140,14 +10930,15 @@ dependencies = [ [[package]] name = "ruint" -version = "1.16.0" +version = "1.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ecb38f82477f20c5c3d62ef52d7c4e536e38ea9b73fb570a20c5cae0e14bcf6" +checksum = "c141e807189ad38a07276942c6623032d3753c8859c146104ac2e4d68865945a" dependencies = [ "alloy-rlp", "arbitrary", "ark-ff 0.3.0", "ark-ff 0.4.2", + "ark-ff 0.5.0", "bytes", "fastrlp 0.3.1", "fastrlp 0.4.0", @@ -11161,7 +10952,7 @@ dependencies = [ "rand 0.9.2", "rlp", "ruint-macro", - "serde", + "serde_core", "valuable", "zeroize", ] @@ -11214,7 +11005,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver 1.0.26", + "semver 1.0.27", ] [[package]] @@ -11223,7 +11014,7 @@ version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "errno", "libc", "linux-raw-sys 0.4.15", @@ -11232,22 +11023,22 @@ dependencies = [ [[package]] name = "rustix" -version = "1.0.8" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8" +checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "errno", "libc", - "linux-raw-sys 0.9.4", - "windows-sys 0.60.2", + "linux-raw-sys 0.11.0", + "windows-sys 0.61.2", ] [[package]] name = "rustls" -version = "0.23.31" +version = "0.23.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ebcbd2f03de0fc1122ad9bb24b127a5a6cd51d72604a3f3c50ac459762b6cc" +checksum = "c665f33d38cea657d9614f766881e4d510e0eda4239891eea56b4cadcf01801b" dependencies = [ "log", "once_cell", @@ -11260,21 +11051,21 @@ dependencies = [ [[package]] name = "rustls-native-certs" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3" +checksum = "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63" dependencies = [ - "openssl-probe", + "openssl-probe 0.2.0", "rustls-pki-types", "schannel", - "security-framework", + "security-framework 3.5.1", ] [[package]] name = "rustls-pki-types" -version = "1.12.0" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" +checksum = "21e6f2ab2928ca4291b86736a8bd920a277a399bba1589409d72154ff87c1282" dependencies = [ "web-time", "zeroize", @@ -11286,7 +11077,7 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19787cda76408ec5404443dc8b31795c87cd8fec49762dc75fa727740d34acc1" dependencies = [ - "core-foundation", + "core-foundation 0.10.1", "core-foundation-sys", "jni", "log", @@ -11295,7 +11086,7 @@ dependencies = [ "rustls-native-certs", "rustls-platform-verifier-android", "rustls-webpki", - "security-framework", + "security-framework 3.5.1", "security-framework-sys", "webpki-root-certs 0.26.11", "windows-sys 0.59.0", @@ -11309,9 +11100,9 @@ checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" [[package]] name = "rustls-webpki" -version = "0.103.4" +version = "0.103.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a17884ae0c1b773f1ccd2bd4a8c72f16da897310a98b0e84bf349ad5ead92fc" +checksum = "2ffdfa2f5286e2247234e03f680868ac2815974dc39e00ea15adc445d0aafe52" dependencies = [ "ring", "rustls-pki-types", @@ -11326,9 +11117,9 @@ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "rusty-fork" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" +checksum = "cc6bf79ff24e648f6da1f8d1f011e9cac26491b619e6b9280f2b47f1774e6ee2" dependencies = [ "fnv", "quick-error", @@ -11338,9 +11129,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.20" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" +checksum = "a50f4cf475b65d88e057964e0e9bb1f0aa9bbb2036dc65c64596b42932536984" [[package]] name = "ryu-js" @@ -11359,11 +11150,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" +checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -11380,9 +11171,9 @@ dependencies = [ [[package]] name = "schemars" -version = "1.0.4" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0" +checksum = "54e910108742c57a770f492731f99be216a52fadd361b06c8fb59d74ccc267d2" dependencies = [ "dyn-clone", "ref-cast", @@ -11401,6 +11192,27 @@ dependencies = [ "hashbrown 0.13.2", ] +[[package]] +name = "schnorrkel" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e9fcb6c2e176e86ec703e22560d99d65a5ee9056ae45a08e13e84ebf796296f" +dependencies = [ + "aead", + "arrayref", + "arrayvec", + "cfg-if", + "curve25519-dalek", + "getrandom_or_panic", + "merlin", + "rand_core 0.6.4", + "serde", + "serde_bytes", + "sha2", + "subtle", + "zeroize", +] + [[package]] name = "scoped-tls" version = "1.0.1" @@ -11471,25 +11283,207 @@ dependencies = [ [[package]] name = "security-framework" -version = "3.3.0" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +dependencies = [ + "bitflags 2.10.0", + "core-foundation 0.9.4", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework" +version = "3.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80fb1d92c5028aa318b4b8bd7302a5bfcf48be96a37fc6fc790f806b0004ee0c" +checksum = "b3297343eaf830f66ede390ea39da1d462b6b0c1b000f420d0a83f898bbbe6ef" dependencies = [ - "bitflags 2.9.4", - "core-foundation", + "bitflags 2.10.0", + "core-foundation 0.10.1", "core-foundation-sys", "libc", "security-framework-sys", ] [[package]] -name = "security-framework-sys" -version = "2.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" +name = "security-framework-sys" +version = "2.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "seismic-alloy-consensus" +version = "0.0.1" +source = "git+https://github.com/SeismicSystems/seismic-alloy.git?rev=ebc3628c9e384b1db5a41044dd32756b3e79aacb#ebc3628c9e384b1db5a41044dd32756b3e79aacb" +dependencies = [ + "alloy-consensus", + "alloy-dyn-abi", + "alloy-eips", + "alloy-network", + "alloy-primitives", + "alloy-rlp", + "alloy-rpc-types-eth", + "alloy-serde", + "anyhow", + "arbitrary", + "derive_more 1.0.0", + "jsonrpsee 0.24.10", + "k256", + "rand 0.8.5", + "secp256k1 0.30.0", + "seismic-enclave", + "serde", + "serde_json", + "serde_with", + "thiserror 2.0.17", +] + +[[package]] +name = "seismic-alloy-genesis" +version = "0.0.1" +source = "git+https://github.com/SeismicSystems/seismic-alloy.git?rev=ebc3628c9e384b1db5a41044dd32756b3e79aacb#ebc3628c9e384b1db5a41044dd32756b3e79aacb" +dependencies = [ + "alloy-genesis", + "alloy-primitives", + "alloy-serde", + "alloy-trie", + "serde", + "serde_json", +] + +[[package]] +name = "seismic-alloy-network" +version = "0.0.1" +source = "git+https://github.com/SeismicSystems/seismic-alloy.git?rev=ebc3628c9e384b1db5a41044dd32756b3e79aacb#ebc3628c9e384b1db5a41044dd32756b3e79aacb" +dependencies = [ + "alloy-consensus", + "alloy-eip7702", + "alloy-network", + "alloy-network-primitives", + "alloy-primitives", + "alloy-provider", + "alloy-rpc-client", + "alloy-rpc-types-eth", + "alloy-serde", + "alloy-signer", + "alloy-transport", + "async-trait", + "derive_more 1.0.0", + "futures", + "reqwest", + "seismic-alloy-consensus", + "seismic-alloy-rpc-types", + "seismic-enclave", + "serde", + "tokio", +] + +[[package]] +name = "seismic-alloy-provider" +version = "0.0.1" +source = "git+https://github.com/SeismicSystems/seismic-alloy.git?rev=ebc3628c9e384b1db5a41044dd32756b3e79aacb#ebc3628c9e384b1db5a41044dd32756b3e79aacb" +dependencies = [ + "alloy-network", + "alloy-primitives", + "alloy-provider", + "alloy-rpc-client", + "alloy-sol-types", + "alloy-transport", + "async-trait", + "reqwest", + "seismic-alloy-consensus", + "seismic-alloy-network", + "seismic-alloy-rpc-types", + "seismic-enclave", +] + +[[package]] +name = "seismic-alloy-rpc-types" +version = "0.0.1" +source = "git+https://github.com/SeismicSystems/seismic-alloy.git?rev=ebc3628c9e384b1db5a41044dd32756b3e79aacb#ebc3628c9e384b1db5a41044dd32756b3e79aacb" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-network-primitives", + "alloy-primitives", + "alloy-rpc-types-eth", + "alloy-serde", + "derive_more 1.0.0", + "seismic-alloy-consensus", + "seismic-enclave", + "serde", + "serde_json", +] + +[[package]] +name = "seismic-enclave" +version = "0.1.0" +source = "git+https://github.com/SeismicSystems/enclave.git?rev=f90b02f38a6190e8b2ff2d051d9043f3480cd3ac#f90b02f38a6190e8b2ff2d051d9043f3480cd3ac" +dependencies = [ + "aes-gcm", + "anyhow", + "hkdf", + "jsonrpsee 0.26.0", + "rand 0.9.2", + "schnorrkel", + "secp256k1 0.30.0", + "serde", + "sha2", + "tracing", +] + +[[package]] +name = "seismic-reth" +version = "1.7.0" +dependencies = [ + "alloy-network", + "alloy-primitives", + "alloy-signer-local", + "clap", + "eyre", + "jsonrpsee-http-client 0.26.0", + "reth", + "reth-cli-commands", + "reth-cli-util", + "reth-node-builder", + "reth-node-core", + "reth-node-ethereum", + "reth-node-metrics", + "reth-primitives", + "reth-provider", + "reth-seismic-cli", + "reth-seismic-node", + "reth-seismic-rpc", + "reth-tracing", + "seismic-alloy-consensus", + "seismic-alloy-rpc-types", + "seismic-enclave", + "tokio", + "tracing", +] + +[[package]] +name = "seismic-revm" +version = "1.0.0" +source = "git+https://github.com/SeismicSystems/seismic-revm.git?rev=ed81a1d6a89a8ffbf816d52715a3260b040c98bb#ed81a1d6a89a8ffbf816d52715a3260b040c98bb" dependencies = [ - "core-foundation-sys", - "libc", + "auto_impl", + "hkdf", + "merlin", + "once_cell", + "rand_core 0.6.4", + "revm", + "schnorrkel", + "secp256k1 0.31.1", + "seismic-enclave", + "serde", + "sha2", ] [[package]] @@ -11503,11 +11497,12 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.26" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" +checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" dependencies = [ "serde", + "serde_core", ] [[package]] @@ -11533,13 +11528,24 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" dependencies = [ + "serde_core", "serde_derive", ] +[[package]] +name = "serde_bytes" +version = "0.11.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8" +dependencies = [ + "serde", + "serde_core", +] + [[package]] name = "serde_combinators" version = "0.1.0" @@ -11549,39 +11555,38 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + [[package]] name = "serde_derive" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] name = "serde_json" -version = "1.0.143" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ - "indexmap 2.11.0", + "indexmap 2.12.1", "itoa", "memchr", - "ryu", - "serde", -] - -[[package]] -name = "serde_qs" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7715380eec75f029a4ef7de39a9200e0a63823176b759d055b613f5a87df6a6" -dependencies = [ - "percent-encoding", "serde", - "thiserror 1.0.69", + "serde_core", + "zmij", ] [[package]] @@ -11607,19 +11612,18 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.14.0" +version = "3.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c45cd61fefa9db6f254525d46e392b852e0e61d9a1fd36e5bd183450a556d5" +checksum = "4fa237f2807440d238e0364a218270b98f767a00d3dada77b1c53ae88940e2e7" dependencies = [ "base64 0.22.1", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.11.0", + "indexmap 2.12.1", "schemars 0.9.0", - "schemars 1.0.4", - "serde", - "serde_derive", + "schemars 1.2.0", + "serde_core", "serde_json", "serde_with_macros", "time", @@ -11627,14 +11631,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.14.0" +version = "3.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de90945e6565ce0d9a25098082ed4ee4002e047cb59892c318d66821e14bb30f" +checksum = "52a8e3ca0ca629121f70ab50f95249e5a6f925cc0f6ffe8256c45b728875706c" dependencies = [ - "darling 0.20.11", + "darling 0.21.3", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -11658,19 +11662,6 @@ dependencies = [ "digest 0.10.7", ] -[[package]] -name = "sha2" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if", - "cpufeatures", - "digest 0.9.0", - "opaque-debug", -] - [[package]] name = "sha2" version = "0.10.9" @@ -11738,9 +11729,9 @@ dependencies = [ [[package]] name = "signal-hook-mio" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" +checksum = "b75a19a7a740b25bc7944bdee6172368f988763b744e3d4dfe753f6b4ece40cc" dependencies = [ "libc", "mio", @@ -11749,10 +11740,11 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.6" +version = "1.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" dependencies = [ + "errno", "libc", ] @@ -11766,6 +11758,12 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "simd-adler32" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" + [[package]] name = "similar" version = "2.7.0" @@ -11795,7 +11793,7 @@ checksum = "297f631f50729c8c99b84667867963997ec0b50f32b2a7dbcab828ef0541e8bb" dependencies = [ "num-bigint", "num-traits", - "thiserror 2.0.16", + "thiserror 2.0.17", "time", ] @@ -11879,12 +11877,12 @@ dependencies = [ [[package]] name = "socket2" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" +checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -11921,9 +11919,9 @@ checksum = "3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a" [[package]] name = "stable_deref_trait" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "static_assertions" @@ -11965,7 +11963,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -11977,7 +11975,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -11999,9 +11997,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.106" +version = "2.0.113" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" +checksum = "678faa00651c9eb72dd2020cbdf275d92eccb2400d568e419efdd64838145cb4" dependencies = [ "proc-macro2", "quote", @@ -12010,14 +12008,13 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0b198d366dbec045acfcd97295eb653a7a2b40e4dc764ef1e79aafcad439d3c" +version = "1.4.1" +source = "git+https://github.com/SeismicSystems/seismic-alloy-core.git?rev=68313cb636365501a699c47865807158544eace1#68313cb636365501a699c47865807158544eace1" dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -12037,7 +12034,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -12082,22 +12079,22 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac9ee8b664c9f1740cd813fea422116f8ba29997bb7c878d1940424889802897" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "log", "num-traits", ] [[package]] name = "tempfile" -version = "3.21.0" +version = "3.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15b61f8f20e3a6f7e0649d825294eaf317edce30f82cf6026e7e4cb9222a7d1e" +checksum = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c" dependencies = [ - "fastrand 2.3.0", - "getrandom 0.3.3", + "fastrand", + "getrandom 0.3.4", "once_cell", - "rustix 1.0.8", - "windows-sys 0.60.2", + "rustix 1.1.3", + "windows-sys 0.61.2", ] [[package]] @@ -12118,7 +12115,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -12129,15 +12126,15 @@ checksum = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", "test-case-core", ] [[package]] name = "test-fuzz" -version = "7.2.4" +version = "7.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6696b1bcee3edb0553566f632c31b3b18fda42cf4d529327ca47f230c4acd3ab" +checksum = "11e5c77910b1d5b469a342be541cf44933f0ad2c4b8d5acb32ee46697fd60546" dependencies = [ "serde", "serde_combinators", @@ -12148,9 +12145,9 @@ dependencies = [ [[package]] name = "test-fuzz-internal" -version = "7.2.4" +version = "7.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5988511fdb342582013a17a4263e994bce92828a1bae039f92a2f05a5f95ce78" +checksum = "4d25f2f0ee315b130411a98570dd128dfe344bfaa0a28bf33d38f4a1fe85f39b" dependencies = [ "bincode 2.0.1", "cargo_metadata 0.19.2", @@ -12159,9 +12156,9 @@ dependencies = [ [[package]] name = "test-fuzz-macro" -version = "7.2.4" +version = "7.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8893e583c5af79a67761a9285535d26612cb1617fcbf388c3abc0c1d35a0b89" +checksum = "b8c03ba0a9e3e4032f94d71c85e149af147843c6f212e4ca4383542d606b04a6" dependencies = [ "darling 0.21.3", "heck", @@ -12169,14 +12166,14 @@ dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] name = "test-fuzz-runtime" -version = "7.2.4" +version = "7.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47be06afdb9cb50c76ef938e2e4bda2e28e1cbb4d3d305603d57a5e374a6d6e7" +checksum = "f9a4ac481aa983d386e857a7be0006c2f0ef26e0c5326bbc7262f73c2891b91d" dependencies = [ "hex", "num-traits", @@ -12202,11 +12199,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.16" +version = "2.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0" +checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" dependencies = [ - "thiserror-impl 2.0.16", + "thiserror-impl 2.0.17", ] [[package]] @@ -12217,18 +12214,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] name = "thiserror-impl" -version = "2.0.16" +version = "2.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960" +checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -12251,9 +12248,9 @@ dependencies = [ [[package]] name = "tikv-jemalloc-ctl" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f21f216790c8df74ce3ab25b534e0718da5a1916719771d3fec23315c99e468b" +checksum = "661f1f6a57b3a36dc9174a2c10f19513b4866816e13425d3e418b11cc37bc24c" dependencies = [ "libc", "paste", @@ -12262,9 +12259,9 @@ dependencies = [ [[package]] name = "tikv-jemalloc-sys" -version = "0.6.0+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7" +version = "0.6.1+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd3c60906412afa9c2b5b5a48ca6a5abe5736aec9eb48ad05037a677e52e4e2d" +checksum = "cd8aa5b2ab86a2cefa406d889139c162cbb230092f7d1d7cbc1716405d852a3b" dependencies = [ "cc", "libc", @@ -12272,9 +12269,9 @@ dependencies = [ [[package]] name = "tikv-jemallocator" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cec5ff18518d81584f477e9bfdf957f5bb0979b0bac3af4ca30b5b3ae2d2865" +checksum = "0359b4327f954e0567e69fb191cf1436617748813819c94b8cd4a431422d053a" dependencies = [ "libc", "tikv-jemalloc-sys", @@ -12282,11 +12279,12 @@ dependencies = [ [[package]] name = "time" -version = "0.3.43" +version = "0.3.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83bde6f1ec10e72d583d91623c939f623002284ef622b87de38cfd546cbf2031" +checksum = "91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d" dependencies = [ "deranged", + "itoa", "js-sys", "libc", "num-conv", @@ -12334,12 +12332,12 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" dependencies = [ "displaydoc", - "zerovec 0.11.4", + "zerovec 0.11.5", ] [[package]] @@ -12369,40 +12367,47 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.47.1" +version = "1.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" +checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" dependencies = [ - "backtrace", "bytes", - "io-uring", "libc", "mio", "parking_lot", "pin-project-lite", "signal-hook-registry", - "slab", - "socket2 0.6.0", + "socket2 0.6.1", "tokio-macros", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] name = "tokio-macros" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" +checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", ] [[package]] name = "tokio-rustls" -version = "0.26.2" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" +checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" dependencies = [ "rustls", "tokio", @@ -12410,9 +12415,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" +checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" dependencies = [ "futures-core", "pin-project-lite", @@ -12439,9 +12444,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.16" +version = "0.7.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5" +checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" dependencies = [ "bytes", "futures-core", @@ -12460,8 +12465,8 @@ checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" dependencies = [ "serde", "serde_spanned", - "toml_datetime", - "toml_edit", + "toml_datetime 0.6.11", + "toml_edit 0.22.27", ] [[package]] @@ -12473,20 +12478,50 @@ dependencies = [ "serde", ] +[[package]] +name = "toml_datetime" +version = "0.7.5+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" +dependencies = [ + "serde_core", +] + [[package]] name = "toml_edit" version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.11.0", + "indexmap 2.12.1", "serde", "serde_spanned", - "toml_datetime", + "toml_datetime 0.6.11", "toml_write", "winnow", ] +[[package]] +name = "toml_edit" +version = "0.23.10+spec-1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269" +dependencies = [ + "indexmap 2.12.1", + "toml_datetime 0.7.5+spec-1.1.0", + "toml_parser", + "winnow", +] + +[[package]] +name = "toml_parser" +version = "1.0.6+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3198b4b0a8e11f09dd03e133c0280504d0801269e9afa46362ffde1cbeebf44" +dependencies = [ + "winnow", +] + [[package]] name = "toml_write" version = "0.1.2" @@ -12514,6 +12549,21 @@ dependencies = [ "tracing", ] +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "pin-project", + "pin-project-lite", + "tower-layer", + "tower-service", + "tracing", +] + [[package]] name = "tower" version = "0.5.2" @@ -12523,7 +12573,7 @@ dependencies = [ "futures-core", "futures-util", "hdrhistogram", - "indexmap 2.11.0", + "indexmap 2.12.1", "pin-project-lite", "slab", "sync_wrapper", @@ -12536,13 +12586,13 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.6" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" +checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" dependencies = [ "async-compression", "base64 0.22.1", - "bitflags 2.9.4", + "bitflags 2.10.0", "bytes", "futures-core", "futures-util", @@ -12558,7 +12608,7 @@ dependencies = [ "pin-project-lite", "tokio", "tokio-util", - "tower", + "tower 0.5.2", "tower-layer", "tower-service", "tracing", @@ -12579,9 +12629,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.41" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ "log", "pin-project-lite", @@ -12591,32 +12641,32 @@ dependencies = [ [[package]] name = "tracing-appender" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" +checksum = "786d480bce6247ab75f005b14ae1624ad978d3029d9113f0a22fa1ac773faeaf" dependencies = [ "crossbeam-channel", - "thiserror 1.0.69", + "thiserror 2.0.17", "time", - "tracing-subscriber 0.3.20", + "tracing-subscriber 0.3.22", ] [[package]] name = "tracing-attributes" -version = "0.1.30" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] name = "tracing-core" -version = "0.1.34" +version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" dependencies = [ "once_cell", "valuable", @@ -12634,13 +12684,13 @@ dependencies = [ [[package]] name = "tracing-journald" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc0b4143302cf1022dac868d521e36e8b27691f72c84b3311750d5188ebba657" +checksum = "2d3a81ed245bfb62592b1e2bc153e77656d94ee6a0497683a65a12ccaf2438d0" dependencies = [ "libc", "tracing-core", - "tracing-subscriber 0.3.20", + "tracing-subscriber 0.3.22", ] [[package]] @@ -12663,7 +12713,7 @@ dependencies = [ "time", "tracing", "tracing-core", - "tracing-subscriber 0.3.20", + "tracing-subscriber 0.3.22", ] [[package]] @@ -12680,7 +12730,7 @@ dependencies = [ "tracing", "tracing-core", "tracing-log", - "tracing-subscriber 0.3.20", + "tracing-subscriber 0.3.22", "web-time", ] @@ -12705,9 +12755,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.20" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5" +checksum = "2f30143827ddab0d256fd843b7a66d164e9f271cfa0dde49142c5ca0ca291f1e" dependencies = [ "matchers", "nu-ansi-term", @@ -12726,9 +12776,9 @@ dependencies = [ [[package]] name = "tracy-client" -version = "0.18.2" +version = "0.18.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef54005d3d760186fd662dad4b7bb27ecd5531cdef54d1573ebd3f20a9205ed7" +checksum = "a4f6fc3baeac5d86ab90c772e9e30620fc653bf1864295029921a15ef478e6a5" dependencies = [ "loom", "once_cell", @@ -12738,9 +12788,9 @@ dependencies = [ [[package]] name = "tracy-client-sys" -version = "0.26.1" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "319c70195101a93f56db4c74733e272d720768e13471f400c78406a326b172b0" +checksum = "c5f7c95348f20c1c913d72157b3c6dee6ea3e30b3d19502c5a7f6d3f160dacbf" dependencies = [ "cc", "windows-targets 0.52.6", @@ -12768,7 +12818,7 @@ dependencies = [ "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -12783,9 +12833,9 @@ dependencies = [ [[package]] name = "triomphe" -version = "0.1.14" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef8f7726da4807b58ea5c96fdc122f80702030edc33b35aff9190a51148ccc85" +checksum = "dd69c5aa8f924c7519d6372789a74eac5b94fb0f8fcf0d4a97eb0bfc3e785f39" [[package]] name = "try-lock" @@ -12808,15 +12858,15 @@ dependencies = [ "rustls", "rustls-pki-types", "sha1", - "thiserror 2.0.16", + "thiserror 2.0.17", "utf-8", ] [[package]] name = "typenum" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" [[package]] name = "ucd-trie" @@ -12856,15 +12906,15 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[package]] name = "unicase" -version = "2.8.1" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" +checksum = "dbc4bc3a9f746d862c45cb89d705aa10f187bb96c76001afab07a0d35ce60142" [[package]] name = "unicode-ident" -version = "1.0.18" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" +checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" [[package]] name = "unicode-segmentation" @@ -12931,14 +12981,15 @@ checksum = "6d49784317cd0d1ee7ec5c716dd598ec5b4483ea832a2dced265471cc0f690ae" [[package]] name = "url" -version = "2.5.7" +version = "2.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" dependencies = [ "form_urlencoded", "idna", "percent-encoding", "serde", + "serde_derive", ] [[package]] @@ -12967,11 +13018,11 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.18.1" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" +checksum = "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a" dependencies = [ - "getrandom 0.3.3", + "getrandom 0.3.4", "js-sys", "wasm-bindgen", ] @@ -13049,7 +13100,7 @@ checksum = "d674d135b4a8c1d7e813e2f8d1c9a58308aee4a680323066025e53132218bd91" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -13061,12 +13112,6 @@ dependencies = [ "libc", ] -[[package]] -name = "waker-fn" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" - [[package]] name = "walkdir" version = "2.5.0" @@ -13086,12 +13131,6 @@ dependencies = [ "try-lock", ] -[[package]] -name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -13099,19 +13138,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] -name = "wasi" -version = "0.14.4+wasi-0.2.4" +name = "wasip2" +version = "1.0.1+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88a5f4a424faf49c3c2c344f166f0662341d470ea185e939657aaff130f0ec4a" +checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" dependencies = [ "wit-bindgen", ] [[package]] name = "wasm-bindgen" -version = "0.2.101" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e14915cadd45b529bb8d1f343c4ed0ac1de926144b746e2710f9cd05df6603b" +checksum = "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd" dependencies = [ "cfg-if", "once_cell", @@ -13120,25 +13159,11 @@ dependencies = [ "wasm-bindgen-shared", ] -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.101" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28d1ba982ca7923fd01448d5c30c6864d0a14109560296a162f80f305fb93bb" -dependencies = [ - "bumpalo", - "log", - "proc-macro2", - "quote", - "syn 2.0.106", - "wasm-bindgen-shared", -] - [[package]] name = "wasm-bindgen-futures" -version = "0.4.51" +version = "0.4.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ca85039a9b469b38336411d6d6ced91f3fc87109a2a27b0c197663f5144dffe" +checksum = "836d9622d604feee9e5de25ac10e3ea5f2d65b41eac0d9ce72eb5deae707ce7c" dependencies = [ "cfg-if", "js-sys", @@ -13149,9 +13174,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.101" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c3d463ae3eff775b0c45df9da45d68837702ac35af998361e2c84e7c5ec1b0d" +checksum = "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -13159,22 +13184,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.101" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bb4ce89b08211f923caf51d527662b75bdc9c9c7aab40f86dcb9fb85ac552aa" +checksum = "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40" dependencies = [ + "bumpalo", "proc-macro2", "quote", - "syn 2.0.106", - "wasm-bindgen-backend", + "syn 2.0.113", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.101" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f143854a3b13752c6950862c906306adb27c7e839f7414cec8fea35beab624c1" +checksum = "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4" dependencies = [ "unicode-ident", ] @@ -13208,9 +13233,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.78" +version = "0.3.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77e4b637749ff0d92b8fad63aa1f7cff3cbe125fd49c175cd6345e7272638b12" +checksum = "9b32828d774c412041098d182a8b38b16ea816958e07cf40eec2bc080ae137ac" dependencies = [ "js-sys", "wasm-bindgen", @@ -13232,14 +13257,14 @@ version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75c7f0ef91146ebfb530314f5f1d24528d7f0767efbfd31dce919275413e393e" dependencies = [ - "webpki-root-certs 1.0.2", + "webpki-root-certs 1.0.5", ] [[package]] name = "webpki-root-certs" -version = "1.0.2" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4ffd8df1c57e87c325000a3d6ef93db75279dc3a231125aac571650f22b12a" +checksum = "36a29fc0408b113f68cf32637857ab740edfafdf460c326cd2afaa2d84cc05dc" dependencies = [ "rustls-pki-types", ] @@ -13250,23 +13275,23 @@ version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" dependencies = [ - "webpki-roots 1.0.2", + "webpki-roots 1.0.5", ] [[package]] name = "webpki-roots" -version = "1.0.2" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8983c3ab33d6fb807cfcdad2491c4ea8cbc8ed839181c7dfd9c67c83e261b2" +checksum = "12bed680863276c63889429bfd6cab3b99943659923822de1c8a39c49e4d722c" dependencies = [ "rustls-pki-types", ] [[package]] name = "widestring" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd7cf3379ca1aac9eea11fba24fd7e315d621f8dfe35c8d7d2be8b793726e07d" +checksum = "72069c3113ab32ab29e5584db3c6ec55d416895e60715417b5b883a357c3e471" [[package]] name = "winapi" @@ -13286,11 +13311,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0978bf7171b3d90bac376700cb56d606feb40f251a475a5d6634613564460b22" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -13311,34 +13336,23 @@ dependencies = [ [[package]] name = "windows" -version = "0.58.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" -dependencies = [ - "windows-core 0.58.0", - "windows-targets 0.52.6", -] - -[[package]] -name = "windows" -version = "0.61.3" +version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" +checksum = "527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580" dependencies = [ "windows-collections", - "windows-core 0.61.2", + "windows-core 0.62.2", "windows-future", - "windows-link 0.1.3", "windows-numerics", ] [[package]] name = "windows-collections" -version = "0.2.0" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" +checksum = "23b2d95af1a8a14a3c7367e1ed4fc9c20e0a26e79551b1454d72583c97cc6610" dependencies = [ - "windows-core 0.61.2", + "windows-core 0.62.2", ] [[package]] @@ -13355,38 +13369,25 @@ dependencies = [ [[package]] name = "windows-core" -version = "0.58.0" +version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" dependencies = [ - "windows-implement 0.58.0", - "windows-interface 0.58.0", - "windows-result 0.2.0", - "windows-strings 0.1.0", - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-core" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" -dependencies = [ - "windows-implement 0.60.0", - "windows-interface 0.59.1", - "windows-link 0.1.3", - "windows-result 0.3.4", - "windows-strings 0.4.2", + "windows-implement 0.60.2", + "windows-interface 0.59.3", + "windows-link", + "windows-result 0.4.1", + "windows-strings", ] [[package]] name = "windows-future" -version = "0.2.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" +checksum = "e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb" dependencies = [ - "windows-core 0.61.2", - "windows-link 0.1.3", + "windows-core 0.62.2", + "windows-link", "windows-threading", ] @@ -13398,29 +13399,18 @@ checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", -] - -[[package]] -name = "windows-implement" -version = "0.58.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] name = "windows-implement" -version = "0.60.0" +version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -13431,51 +13421,34 @@ checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", -] - -[[package]] -name = "windows-interface" -version = "0.58.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] name = "windows-interface" -version = "0.59.1" +version = "0.59.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] name = "windows-link" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" - -[[package]] -name = "windows-link" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" [[package]] name = "windows-numerics" -version = "0.2.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" +checksum = "6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26" dependencies = [ - "windows-core 0.61.2", - "windows-link 0.1.3", + "windows-core 0.62.2", + "windows-link", ] [[package]] @@ -13489,39 +13462,20 @@ dependencies = [ [[package]] name = "windows-result" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-result" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" -dependencies = [ - "windows-link 0.1.3", -] - -[[package]] -name = "windows-strings" -version = "0.1.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" dependencies = [ - "windows-result 0.2.0", - "windows-targets 0.52.6", + "windows-link", ] [[package]] name = "windows-strings" -version = "0.4.2" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" dependencies = [ - "windows-link 0.1.3", + "windows-link", ] [[package]] @@ -13566,16 +13520,16 @@ version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" dependencies = [ - "windows-targets 0.53.3", + "windows-targets 0.53.5", ] [[package]] name = "windows-sys" -version = "0.61.0" +version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e201184e40b2ede64bc2ea34968b28e33622acdbbf37104f0e4a33f7abe657aa" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ - "windows-link 0.2.0", + "windows-link", ] [[package]] @@ -13626,28 +13580,28 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.53.3" +version = "0.53.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" dependencies = [ - "windows-link 0.1.3", - "windows_aarch64_gnullvm 0.53.0", - "windows_aarch64_msvc 0.53.0", - "windows_i686_gnu 0.53.0", - "windows_i686_gnullvm 0.53.0", - "windows_i686_msvc 0.53.0", - "windows_x86_64_gnu 0.53.0", - "windows_x86_64_gnullvm 0.53.0", - "windows_x86_64_msvc 0.53.0", + "windows-link", + "windows_aarch64_gnullvm 0.53.1", + "windows_aarch64_msvc 0.53.1", + "windows_i686_gnu 0.53.1", + "windows_i686_gnullvm 0.53.1", + "windows_i686_msvc 0.53.1", + "windows_x86_64_gnu 0.53.1", + "windows_x86_64_gnullvm 0.53.1", + "windows_x86_64_msvc 0.53.1", ] [[package]] name = "windows-threading" -version = "0.1.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" +checksum = "3949bd5b99cafdf1c7ca86b43ca564028dfe27d66958f2470940f73d86d75b37" dependencies = [ - "windows-link 0.1.3", + "windows-link", ] [[package]] @@ -13670,9 +13624,9 @@ checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_gnullvm" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" [[package]] name = "windows_aarch64_msvc" @@ -13694,9 +13648,9 @@ checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_aarch64_msvc" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" [[package]] name = "windows_i686_gnu" @@ -13718,9 +13672,9 @@ checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnu" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" [[package]] name = "windows_i686_gnullvm" @@ -13730,9 +13684,9 @@ checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_gnullvm" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" [[package]] name = "windows_i686_msvc" @@ -13754,9 +13708,9 @@ checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_i686_msvc" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" [[package]] name = "windows_x86_64_gnu" @@ -13778,9 +13732,9 @@ checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnu" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" [[package]] name = "windows_x86_64_gnullvm" @@ -13802,9 +13756,9 @@ checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_gnullvm" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" [[package]] name = "windows_x86_64_msvc" @@ -13826,15 +13780,15 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "windows_x86_64_msvc" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" [[package]] name = "winnow" -version = "0.7.13" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" +checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" dependencies = [ "memchr", ] @@ -13851,9 +13805,9 @@ dependencies = [ [[package]] name = "wit-bindgen" -version = "0.45.1" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c573471f125075647d03df72e026074b7203790d41351cd6edc96f46bcccd36" +checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" [[package]] name = "write16" @@ -13869,9 +13823,9 @@ checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" [[package]] name = "writeable" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" [[package]] name = "ws_stream_wasm" @@ -13886,7 +13840,7 @@ dependencies = [ "pharos", "rustc_version 0.4.1", "send_wrapper 0.6.0", - "thiserror 2.0.16", + "thiserror 2.0.17", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -13903,12 +13857,12 @@ dependencies = [ [[package]] name = "xattr" -version = "1.5.1" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af3a19837351dc82ba89f8a125e22a3c475f05aba604acc023d62b2739ae2909" +checksum = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" dependencies = [ "libc", - "rustix 1.0.8", + "rustix 1.1.3", ] [[package]] @@ -13931,13 +13885,12 @@ dependencies = [ [[package]] name = "yoke" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" dependencies = [ - "serde", "stable_deref_trait", - "yoke-derive 0.8.0", + "yoke-derive 0.8.1", "zerofrom", ] @@ -13949,40 +13902,40 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", "synstructure", ] [[package]] name = "yoke-derive" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", "synstructure", ] [[package]] name = "zerocopy" -version = "0.8.27" +version = "0.8.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c" +checksum = "fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.27" +version = "0.8.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" +checksum = "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] @@ -14002,38 +13955,38 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", "synstructure", ] [[package]] name = "zeroize" -version = "1.8.1" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" dependencies = [ "zeroize_derive", ] [[package]] name = "zeroize_derive" -version = "1.4.2" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] name = "zerotrie" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" dependencies = [ "displaydoc", - "yoke 0.8.0", + "yoke 0.8.1", "zerofrom", ] @@ -14050,13 +14003,13 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.4" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" dependencies = [ - "yoke 0.8.0", + "yoke 0.8.1", "zerofrom", - "zerovec-derive 0.11.1", + "zerovec-derive 0.11.2", ] [[package]] @@ -14067,20 +14020,26 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] [[package]] name = "zerovec-derive" -version = "0.11.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.113", ] +[[package]] +name = "zmij" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fc5a66a20078bf1251bde995aa2fdcc4b800c70b5d92dd2c62abc5c60f679f8" + [[package]] name = "zstd" version = "0.13.3" @@ -14108,3 +14067,8 @@ dependencies = [ "cc", "pkg-config", ] + +[[patch.unused]] +name = "alloy-tx-macros" +version = "1.1.0" +source = "git+https://github.com/alloy-rs/alloy?tag=v1.1.0#78b254e4d47fca0690a4141e0f42031da8b32a09" diff --git a/Cargo.toml b/Cargo.toml index a4e39d05e9..6bec045459 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,12 +3,28 @@ version = "1.7.0" edition = "2021" rust-version = "1.88" license = "MIT OR Apache-2.0" -homepage = "https://paradigmxyz.github.io/reth" -repository = "https://github.com/paradigmxyz/reth" +homepage = "https://github.com/SeismicSystems/seismic-reth" +repository = "https://github.com/SeismicSystems/seismic-reth" exclude = [".github/"] [workspace] members = [ + # Seismic crates + "bin/seismic-reth/", + "bin/genesis-builder/", + "crates/seismic/chainspec", + "crates/seismic/cli", + "crates/seismic/evm/", + "crates/seismic/node/", + "crates/seismic/payload/", + "crates/seismic/primitives/", + "crates/seismic/reth/", + "crates/seismic/rpc/", + "crates/seismic/txpool/", + "crates/seismic/hardforks", + "crates/seismic/fuzz", + "crates/genesis-builder", + "bin/reth-bench/", "bin/reth/", "crates/storage/rpc-provider/", @@ -71,20 +87,20 @@ members = [ "crates/node/events/", "crates/node/metrics", "crates/node/types", - "crates/optimism/bin", - "crates/optimism/chainspec", - "crates/optimism/cli", - "crates/optimism/consensus", - "crates/optimism/evm/", - "crates/optimism/flashblocks/", - "crates/optimism/hardforks/", - "crates/optimism/node/", - "crates/optimism/payload/", - "crates/optimism/primitives/", - "crates/optimism/reth/", - "crates/optimism/rpc/", - "crates/optimism/storage", - "crates/optimism/txpool/", + # "crates/optimism/bin", + # "crates/optimism/chainspec", + # "crates/optimism/cli", + # "crates/optimism/consensus", + # "crates/optimism/evm/", + # "crates/optimism/flashblocks/", + # "crates/optimism/hardforks/", + # "crates/optimism/node/", + # "crates/optimism/payload/", + # "crates/optimism/primitives/", + # "crates/optimism/reth/", + # "crates/optimism/rpc/", + # "crates/optimism/storage", + # "crates/optimism/txpool/", "crates/payload/basic/", "crates/payload/builder/", "crates/payload/builder-primitives/", @@ -139,43 +155,43 @@ members = [ "crates/trie/sparse", "crates/trie/sparse-parallel/", "crates/trie/trie", - "examples/beacon-api-sidecar-fetcher/", - "examples/beacon-api-sse/", - "examples/bsc-p2p", - "examples/custom-dev-node/", - "examples/custom-node/", - "examples/custom-engine-types/", - "examples/custom-evm/", - "examples/custom-inspector/", - "examples/custom-node-components/", - "examples/custom-payload-builder/", - "examples/custom-rlpx-subprotocol", - "examples/custom-node", - "examples/db-access", - "examples/engine-api-access", - "examples/exex-hello-world", - "examples/exex-subscription", - "examples/exex-test", - "examples/full-contract-state", - "examples/manual-p2p/", - "examples/network-txpool/", - "examples/network/", - "examples/network-proxy/", - "examples/node-builder-api/", - "examples/node-custom-rpc/", - "examples/node-event-hooks/", - "examples/op-db-access/", - "examples/polygon-p2p/", - "examples/rpc-db/", - "examples/precompile-cache/", - "examples/txpool-tracing/", - "examples/custom-beacon-withdrawals", + # "examples/beacon-api-sidecar-fetcher/", + # "examples/beacon-api-sse/", + # "examples/bsc-p2p", + # "examples/custom-dev-node/", + # "examples/custom-node/", + # "examples/custom-engine-types/", + # "examples/custom-evm/", + # "examples/custom-inspector/", + # "examples/custom-node-components/", + # "examples/custom-payload-builder/", + # "examples/custom-rlpx-subprotocol", + # "examples/custom-node", + # "examples/db-access", + # "examples/engine-api-access", + # "examples/exex-hello-world", + # "examples/exex-subscription", + # "examples/exex-test", + # "examples/full-contract-state", + # "examples/manual-p2p/", + # "examples/network-txpool/", + # "examples/network/", + # "examples/network-proxy/", + # "examples/node-builder-api/", + # "examples/node-custom-rpc/", + # "examples/node-event-hooks/", + # "examples/op-db-access/", + # "examples/polygon-p2p/", + # "examples/rpc-db/", + # "examples/precompile-cache/", + # "examples/txpool-tracing/", + # "examples/custom-beacon-withdrawals", "testing/ef-tests/", "testing/testing-utils", "testing/runner", "crates/tracing-otlp", ] -default-members = ["bin/reth"] +default-members = ["bin/seismic-reth", "bin/genesis-builder"] exclude = ["docs/cli"] # Explicitly set the resolver to version 2, which is the default for packages with edition >= 2021 @@ -317,7 +333,11 @@ strip = "none" # Include debug info in benchmarks too. [profile.bench] -inherits = "profiling" +opt-level = 3 +lto = "thin" +debug = "full" +strip = "none" +codegen-units = 16 [profile.maxperf] inherits = "release" @@ -325,6 +345,37 @@ lto = "fat" codegen-units = 1 [workspace.dependencies] + +# seismic dependencies +# reth-seismic-bin = { path = "crates/seismic/bin" } +reth-seismic-chainspec = { path = "crates/seismic/chainspec" } +reth-seismic-cli = { path = "crates/seismic/cli" } +reth-seismic-evm = { path = "crates/seismic/evm" } +reth-seismic-node = { path = "crates/seismic/node" } +reth-seismic-chain-registry = { path = "crates/seismic/chain-registry" } +reth-seismic-payload-builder = { path = "crates/seismic/payload" } +reth-seismic-primitives = { path = "crates/seismic/primitives" } +reth-seismic-reth = { path = "crates/seismic/reth" } +reth-seismic-rpc = { path = "crates/seismic/rpc" } +reth-seismic-txpool = { path = "crates/seismic/txpool" } +reth-seismic-forks = { path = "crates/seismic/hardforks", default-features = false } +reth-seismic-fuzz = { path = "crates/seismic/fuzz" } + +seismic-enclave = "0.1.0" +seismic-revm = "1.0.0" +alloy-seismic-evm = "0.20.1" + +seismic-alloy-rpc-types = {version = "0.0.1", default-features = false} +seismic-alloy-consensus = {version = "0.0.1", default-features = false} +seismic-alloy-provider = {version = "0.0.1", default-features = false} +seismic-alloy-genesis = {version = "0.0.1", default-features = false} + +seismic-alloy-rpc-types-engine = {version = "0.0.1", default-features = false} +seismic-alloy-network = {version = "0.0.1", default-features = false} +seismic-alloy-flz = {version = "0.0.1", default-features = false} + +alloy-json-abi = { version = "1.1.2", default-features = false } # only used by seismic rn + # reth op-reth = { path = "crates/optimism/bin" } reth = { path = "bin/reth" } @@ -381,6 +432,7 @@ reth-exex = { path = "crates/exex/exex" } reth-exex-test-utils = { path = "crates/exex/test-utils" } reth-exex-types = { path = "crates/exex/types" } reth-fs-util = { path = "crates/fs-util" } +reth-genesis-builder = { path = "crates/genesis-builder" } reth-invalid-block-hooks = { path = "crates/engine/invalid-block-hooks" } reth-ipc = { path = "crates/rpc/ipc" } reth-libmdbx = { path = "crates/storage/libmdbx-rs" } @@ -484,39 +536,39 @@ alloy-sol-macro = "1.3.1" alloy-sol-types = { version = "1.3.1", default-features = false } alloy-trie = { version = "0.9.1", default-features = false } -alloy-hardforks = "0.3.1" - -alloy-consensus = { version = "1.0.30", default-features = false } -alloy-contract = { version = "1.0.30", default-features = false } -alloy-eips = { version = "1.0.30", default-features = false } -alloy-genesis = { version = "1.0.30", default-features = false } -alloy-json-rpc = { version = "1.0.30", default-features = false } -alloy-network = { version = "1.0.30", default-features = false } -alloy-network-primitives = { version = "1.0.30", default-features = false } -alloy-provider = { version = "1.0.30", features = ["reqwest"], default-features = false } -alloy-pubsub = { version = "1.0.30", default-features = false } -alloy-rpc-client = { version = "1.0.30", default-features = false } -alloy-rpc-types = { version = "1.0.30", features = ["eth"], default-features = false } -alloy-rpc-types-admin = { version = "1.0.30", default-features = false } -alloy-rpc-types-anvil = { version = "1.0.30", default-features = false } -alloy-rpc-types-beacon = { version = "1.0.30", default-features = false } -alloy-rpc-types-debug = { version = "1.0.30", default-features = false } -alloy-rpc-types-engine = { version = "1.0.30", default-features = false } -alloy-rpc-types-eth = { version = "1.0.30", default-features = false } -alloy-rpc-types-mev = { version = "1.0.30", default-features = false } -alloy-rpc-types-trace = { version = "1.0.30", default-features = false } -alloy-rpc-types-txpool = { version = "1.0.30", default-features = false } -alloy-serde = { version = "1.0.30", default-features = false } -alloy-signer = { version = "1.0.30", default-features = false } -alloy-signer-local = { version = "1.0.30", default-features = false } -alloy-transport = { version = "1.0.30" } -alloy-transport-http = { version = "1.0.30", features = ["reqwest-rustls-tls"], default-features = false } -alloy-transport-ipc = { version = "1.0.30", default-features = false } -alloy-transport-ws = { version = "1.0.30", default-features = false } +alloy-hardforks = "=0.3.1" + +alloy-consensus = { version = "=1.1.0", default-features = false } +alloy-contract = { version = "=1.1.0", default-features = false } +alloy-eips = { version = "=1.1.0", default-features = false } +alloy-genesis = { version = "=1.1.0", default-features = false } +alloy-json-rpc = { version = "=1.1.0", default-features = false } +alloy-network = { version = "=1.1.0", default-features = false } +alloy-network-primitives = { version = "=1.1.0", default-features = false } +alloy-provider = { version = "=1.1.0", features = ["reqwest"], default-features = false } +alloy-pubsub = { version = "=1.1.0", default-features = false } +alloy-rpc-client = { version = "=1.1.0", default-features = false } +alloy-rpc-types = { version = "=1.1.0", features = ["eth"], default-features = false } +alloy-rpc-types-admin = { version = "=1.1.0", default-features = false } +alloy-rpc-types-anvil = { version = "=1.1.0", default-features = false } +alloy-rpc-types-beacon = { version = "=1.1.0", default-features = false } +alloy-rpc-types-debug = { version = "=1.1.0", default-features = false } +alloy-rpc-types-engine = { version = "=1.1.0", default-features = false } +alloy-rpc-types-eth = { version = "=1.1.0", default-features = false } +alloy-rpc-types-mev = { version = "=1.1.0", default-features = false } +alloy-rpc-types-trace = { version = "=1.1.0", default-features = false } +alloy-rpc-types-txpool = { version = "=1.1.0", default-features = false } +alloy-serde = { version = "=1.1.0", default-features = false } +alloy-signer = { version = "=1.1.0", default-features = false } +alloy-signer-local = { version = "=1.1.0", default-features = false } +alloy-transport = { version = "=1.1.0" } +alloy-transport-http = { version = "=1.1.0", features = ["reqwest-rustls-tls"], default-features = false } +alloy-transport-ipc = { version = "=1.1.0", default-features = false } +alloy-transport-ws = { version = "=1.1.0", default-features = false } # op alloy-op-evm = { version = "0.20.1", default-features = false } -alloy-op-hardforks = "0.3.1" +alloy-op-hardforks = "=0.3.1" op-alloy-rpc-types = { version = "0.19.0", default-features = false } op-alloy-rpc-types-engine = { version = "0.19.0", default-features = false } op-alloy-network = { version = "0.19.0", default-features = false } @@ -542,7 +594,7 @@ dirs-next = "2.0.0" dyn-clone = "1.0.17" eyre = "0.6" fdlimit = "0.3.0" -generic-array = "0.14" +generic-array = "=0.14.7" humantime = "2.1" humantime-serde = "1.1" itertools = { version = "0.14", default-features = false } @@ -632,6 +684,7 @@ proptest-arbitrary-interop = "0.1.0" enr = { version = "0.13", default-features = false } k256 = { version = "0.13", default-features = false, features = ["ecdsa"] } secp256k1 = { version = "0.30", default-features = false, features = ["global-context", "recovery"] } +schnorrkel = { version = "0.11.2" } # rand 8 for secp256k1 rand_08 = { package = "rand", version = "0.8" } @@ -713,45 +766,49 @@ visibility = "0.1.1" walkdir = "2.3.3" vergen-git2 = "1.0.5" -# [patch.crates-io] -# alloy-consensus = { git = "https://github.com/alloy-rs/alloy", rev = "3049f232fbb44d1909883e154eb38ec5962f53a3" } -# alloy-contract = { git = "https://github.com/alloy-rs/alloy", rev = "3049f232fbb44d1909883e154eb38ec5962f53a3" } -# alloy-eips = { git = "https://github.com/alloy-rs/alloy", rev = "3049f232fbb44d1909883e154eb38ec5962f53a3" } -# alloy-genesis = { git = "https://github.com/alloy-rs/alloy", rev = "3049f232fbb44d1909883e154eb38ec5962f53a3" } -# alloy-json-rpc = { git = "https://github.com/alloy-rs/alloy", rev = "3049f232fbb44d1909883e154eb38ec5962f53a3" } -# alloy-network = { git = "https://github.com/alloy-rs/alloy", rev = "3049f232fbb44d1909883e154eb38ec5962f53a3" } -# alloy-network-primitives = { git = "https://github.com/alloy-rs/alloy", rev = "3049f232fbb44d1909883e154eb38ec5962f53a3" } -# alloy-provider = { git = "https://github.com/alloy-rs/alloy", rev = "3049f232fbb44d1909883e154eb38ec5962f53a3" } -# alloy-pubsub = { git = "https://github.com/alloy-rs/alloy", rev = "3049f232fbb44d1909883e154eb38ec5962f53a3" } -# alloy-rpc-client = { git = "https://github.com/alloy-rs/alloy", rev = "3049f232fbb44d1909883e154eb38ec5962f53a3" } -# alloy-rpc-types = { git = "https://github.com/alloy-rs/alloy", rev = "3049f232fbb44d1909883e154eb38ec5962f53a3" } -# alloy-rpc-types-admin = { git = "https://github.com/alloy-rs/alloy", rev = "3049f232fbb44d1909883e154eb38ec5962f53a3" } -# alloy-rpc-types-anvil = { git = "https://github.com/alloy-rs/alloy", rev = "3049f232fbb44d1909883e154eb38ec5962f53a3" } -# alloy-rpc-types-beacon = { git = "https://github.com/alloy-rs/alloy", rev = "3049f232fbb44d1909883e154eb38ec5962f53a3" } -# alloy-rpc-types-debug = { git = "https://github.com/alloy-rs/alloy", rev = "3049f232fbb44d1909883e154eb38ec5962f53a3" } -# alloy-rpc-types-engine = { git = "https://github.com/alloy-rs/alloy", rev = "3049f232fbb44d1909883e154eb38ec5962f53a3" } -# alloy-rpc-types-eth = { git = "https://github.com/alloy-rs/alloy", rev = "3049f232fbb44d1909883e154eb38ec5962f53a3" } -# alloy-rpc-types-mev = { git = "https://github.com/alloy-rs/alloy", rev = "3049f232fbb44d1909883e154eb38ec5962f53a3" } -# alloy-rpc-types-trace = { git = "https://github.com/alloy-rs/alloy", rev = "3049f232fbb44d1909883e154eb38ec5962f53a3" } -# alloy-rpc-types-txpool = { git = "https://github.com/alloy-rs/alloy", rev = "3049f232fbb44d1909883e154eb38ec5962f53a3" } -# alloy-serde = { git = "https://github.com/alloy-rs/alloy", rev = "3049f232fbb44d1909883e154eb38ec5962f53a3" } -# alloy-signer = { git = "https://github.com/alloy-rs/alloy", rev = "3049f232fbb44d1909883e154eb38ec5962f53a3" } -# alloy-signer-local = { git = "https://github.com/alloy-rs/alloy", rev = "3049f232fbb44d1909883e154eb38ec5962f53a3" } -# alloy-transport = { git = "https://github.com/alloy-rs/alloy", rev = "3049f232fbb44d1909883e154eb38ec5962f53a3" } -# alloy-transport-http = { git = "https://github.com/alloy-rs/alloy", rev = "3049f232fbb44d1909883e154eb38ec5962f53a3" } -# alloy-transport-ipc = { git = "https://github.com/alloy-rs/alloy", rev = "3049f232fbb44d1909883e154eb38ec5962f53a3" } -# alloy-transport-ws = { git = "https://github.com/alloy-rs/alloy", rev = "3049f232fbb44d1909883e154eb38ec5962f53a3" } - -# op-alloy-consensus = { git = "https://github.com/alloy-rs/op-alloy", rev = "a79d6fc" } -# op-alloy-network = { git = "https://github.com/alloy-rs/op-alloy", rev = "a79d6fc" } -# op-alloy-rpc-types = { git = "https://github.com/alloy-rs/op-alloy", rev = "a79d6fc" } -# op-alloy-rpc-types-engine = { git = "https://github.com/alloy-rs/op-alloy", rev = "a79d6fc" } -# op-alloy-rpc-jsonrpsee = { git = "https://github.com/alloy-rs/op-alloy", rev = "a79d6fc" } -# -# revm-inspectors = { git = "https://github.com/paradigmxyz/revm-inspectors", rev = "1207e33" } -# -# jsonrpsee = { git = "https://github.com/paradigmxyz/jsonrpsee", branch = "matt/make-rpc-service-pub" } -# jsonrpsee-core = { git = "https://github.com/paradigmxyz/jsonrpsee", branch = "matt/make-rpc-service-pub" } -# jsonrpsee-server = { git = "https://github.com/paradigmxyz/jsonrpsee", branch = "matt/make-rpc-service-pub" } -# jsonrpsee-http-client = { git = "https://github.com/paradigmxyz/jsonrpsee", branch = "matt/make-rpc-service-pub" } -# jsonrpsee-types = { git = "https://github.com/paradigmxyz/jsonrpsee", branch = "matt/make-rpc-service-pub" } +[patch.crates-io] +# Seismic enclave +seismic-enclave = { git = "https://github.com/SeismicSystems/enclave.git", rev = "f90b02f38a6190e8b2ff2d051d9043f3480cd3ac" } + +# seismic-alloy-core +alloy-primitives = { git = "https://github.com/SeismicSystems/seismic-alloy-core.git", rev = "68313cb636365501a699c47865807158544eace1" } +alloy-json-abi = { git = "https://github.com/SeismicSystems/seismic-alloy-core.git", rev = "68313cb636365501a699c47865807158544eace1" } +alloy-sol-macro-expander = { git = "https://github.com/SeismicSystems/seismic-alloy-core.git", rev = "68313cb636365501a699c47865807158544eace1" } +alloy-sol-macro-input = { git = "https://github.com/SeismicSystems/seismic-alloy-core.git", rev = "68313cb636365501a699c47865807158544eace1" } +alloy-sol-types = { git = "https://github.com/SeismicSystems/seismic-alloy-core.git", rev = "68313cb636365501a699c47865807158544eace1" } +alloy-sol-type-parser = { git = "https://github.com/SeismicSystems/seismic-alloy-core.git", rev = "68313cb636365501a699c47865807158544eace1" } +alloy-dyn-abi = { git = "https://github.com/SeismicSystems/seismic-alloy-core.git", rev = "68313cb636365501a699c47865807158544eace1" } + +# This is needed because alloy-consensus depends on this crate for some proc macro, and the versions aren't locked together. +# seismic-prelude -> alloy-consensus (=1.1.0 in alloy's Cargo.toml) -> alloy-tx-macros (floating version which didnt respect semver) +alloy-tx-macros = { git = "https://github.com/alloy-rs/alloy", tag = "v1.1.0" } + +alloy-trie = { git = "https://github.com/SeismicSystems/seismic-trie.git", rev = "d8425918ced1d62043c3a64b382d6fa1d8c25518" } + +# revm +revm = { git = "https://github.com/SeismicSystems/seismic-revm.git", rev = "ed81a1d6a89a8ffbf816d52715a3260b040c98bb" } +revm-bytecode = { git = "https://github.com/SeismicSystems/seismic-revm.git", rev = "ed81a1d6a89a8ffbf816d52715a3260b040c98bb" } +revm-database = { git = "https://github.com/SeismicSystems/seismic-revm.git", rev = "ed81a1d6a89a8ffbf816d52715a3260b040c98bb" } +revm-state = { git = "https://github.com/SeismicSystems/seismic-revm.git", rev = "ed81a1d6a89a8ffbf816d52715a3260b040c98bb" } +revm-primitives = { git = "https://github.com/SeismicSystems/seismic-revm.git", rev = "ed81a1d6a89a8ffbf816d52715a3260b040c98bb" } +revm-interpreter = { git = "https://github.com/SeismicSystems/seismic-revm.git", rev = "ed81a1d6a89a8ffbf816d52715a3260b040c98bb" } +revm-inspector = { git = "https://github.com/SeismicSystems/seismic-revm.git", rev = "ed81a1d6a89a8ffbf816d52715a3260b040c98bb" } +revm-context = { git = "https://github.com/SeismicSystems/seismic-revm.git", rev = "ed81a1d6a89a8ffbf816d52715a3260b040c98bb" } +revm-context-interface = { git = "https://github.com/SeismicSystems/seismic-revm.git", rev = "ed81a1d6a89a8ffbf816d52715a3260b040c98bb" } +revm-database-interface = { git = "https://github.com/SeismicSystems/seismic-revm.git", rev = "ed81a1d6a89a8ffbf816d52715a3260b040c98bb" } +op-revm = { git = "https://github.com/SeismicSystems/seismic-revm.git", rev = "ed81a1d6a89a8ffbf816d52715a3260b040c98bb" } +seismic-revm = { git = "https://github.com/SeismicSystems/seismic-revm.git", rev = "ed81a1d6a89a8ffbf816d52715a3260b040c98bb" } + +revm-inspectors = { git = "https://github.com/SeismicSystems/seismic-revm-inspectors.git", rev = "9e26c0a55f522ad7d8cf4716d9df9d79b8116d52" } + +# Seismic alloy +seismic-alloy-consensus = { git = "https://github.com/SeismicSystems/seismic-alloy.git", rev = "ebc3628c9e384b1db5a41044dd32756b3e79aacb" } +seismic-alloy-rpc-types = { git = "https://github.com/SeismicSystems/seismic-alloy.git", rev = "ebc3628c9e384b1db5a41044dd32756b3e79aacb" } +seismic-alloy-network = { git = "https://github.com/SeismicSystems/seismic-alloy.git", rev = "ebc3628c9e384b1db5a41044dd32756b3e79aacb" } +seismic-alloy-provider = { git = "https://github.com/SeismicSystems/seismic-alloy.git", rev = "ebc3628c9e384b1db5a41044dd32756b3e79aacb" } +seismic-alloy-genesis = { git = "https://github.com/SeismicSystems/seismic-alloy.git", rev = "ebc3628c9e384b1db5a41044dd32756b3e79aacb" } + +# alloy-evm +alloy-evm = { git = "https://github.com/SeismicSystems/seismic-evm.git", rev = "aef8ee6355075dc48c376b25c2580ef3a22372f5" } +alloy-seismic-evm = { git = "https://github.com/SeismicSystems/seismic-evm.git", rev = "aef8ee6355075dc48c376b25c2580ef3a22372f5" } + diff --git a/Dockerfile b/Dockerfile index fc97c160bb..7f193f31b7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,20 +1,27 @@ -# syntax=docker.io/docker/dockerfile:1.7-labs - +# Use cargo-chef for build caching FROM lukemathwalker/cargo-chef:latest-rust-1 AS chef WORKDIR /app -LABEL org.opencontainers.image.source=https://github.com/paradigmxyz/reth +LABEL org.opencontainers.image.source=https://github.com/SeismicSystems/seismic-reth LABEL org.opencontainers.image.licenses="MIT OR Apache-2.0" # Install system dependencies RUN apt-get update && apt-get -y upgrade && apt-get install -y libclang-dev pkg-config -# Builds a cargo-chef plan +# Build the cargo-chef plan FROM chef AS planner -COPY --exclude=.git --exclude=dist . . + +COPY ./bin/ ./bin/ +COPY ./crates/ ./crates/ +COPY ./testing/ ./testing/ +COPY ./examples/ ./examples/ +COPY Cargo.toml Cargo.lock deny.toml Makefile ./ RUN cargo chef prepare --recipe-path recipe.json +# Build the application FROM chef AS builder +# Setting up SSH for GitHub access +RUN mkdir -p -m 0700 ~/.ssh && ssh-keyscan github.com >> ~/.ssh/known_hosts COPY --from=planner /app/recipe.json recipe.json # Build profile, release by default @@ -29,26 +36,60 @@ ENV RUSTFLAGS="$RUSTFLAGS" ARG FEATURES="" ENV FEATURES=$FEATURES -# Builds dependencies -RUN cargo chef cook --profile $BUILD_PROFILE --features "$FEATURES" --recipe-path recipe.json +ENV CARGO_NET_GIT_FETCH_WITH_CLI=true +# Build dependencies +RUN --mount=type=ssh cargo chef cook --profile $BUILD_PROFILE --features "$FEATURES" --recipe-path recipe.json # Build application COPY --exclude=dist . . -RUN cargo build --profile $BUILD_PROFILE --features "$FEATURES" --locked --bin reth +RUN cargo build --profile $BUILD_PROFILE --features "$FEATURES" --locked --bin seismic-reth -# ARG is not resolved in COPY so we have to hack around it by copying the -# binary to a temporary location -RUN cp /app/target/$BUILD_PROFILE/reth /app/reth +# Copy the binary to a temporary location +RUN cp /app/target/$BUILD_PROFILE/seismic-reth /app/seismic-reth -# Use Ubuntu as the release image -FROM ubuntu AS runtime +# Use Ubuntu as the runtime image +FROM ubuntu:latest AS runtime WORKDIR /app # Copy reth over from the build stage -COPY --from=builder /app/reth /usr/local/bin +COPY --from=builder /app/seismic-reth /usr/local/bin -# Copy licenses +# Copy license files COPY LICENSE-* ./ -EXPOSE 30303 30303/udp 9001 8545 8546 -ENTRYPOINT ["/usr/local/bin/reth"] +# Define the ENTRYPOINT to run the reth node with the specified arguments +ENV HTTP_PORT=8545 +ENV WS_PORT=8546 +ENV AUTHRPC_PORT=8551 +ENV METRICS_PORT=9001 +ENV PEER_PORT=30303 +ENV DISCOVERY_PORT=30303 + +# Expose the necessary ports +EXPOSE \ + $HTTP_PORT \ + $WS_PORT \ + $AUTHRPC_PORT \ + $METRICS_PORT \ + $PEER_PORT \ + $DISCOVERY_PORT \ + 30303/udp + +# ENTRYPOINT /usr/local/bin/seismic-reth node \ +# --dev \ +# -vvvv \ +# --http \ +# --http.addr 0.0.0.0 \ +# --http.port $HTTP_PORT \ +# --http.api all \ +# --ws \ +# --ws.addr 0.0.0.0 \ +# --ws.port $WS_PORT \ +# --ws.api all \ +# --authrpc.addr 0.0.0.0 \ +# --authrpc.port $AUTHRPC_PORT \ +# --port $PEER_PORT \ +# --discovery.port $DISCOVERY_PORT \ +# --metrics $METRICS_PORT + +ENTRYPOINT ["/usr/local/bin/seismic-reth"] diff --git a/Dockerfile.cross b/Dockerfile.cross index f477f1ed3e..e52412cdd5 100644 --- a/Dockerfile.cross +++ b/Dockerfile.cross @@ -3,7 +3,7 @@ # locatable in `./dist/bin/$TARGETARCH` FROM --platform=$TARGETPLATFORM ubuntu:22.04 -LABEL org.opencontainers.image.source=https://github.com/paradigmxyz/reth +LABEL org.opencontainers.image.source=https://github.com/SeismicSystems/seismic-reth LABEL org.opencontainers.image.licenses="MIT OR Apache-2.0" # Filled by docker buildx diff --git a/DockerfileOp.cross b/DockerfileOp.cross index 47606a8283..584e698542 100644 --- a/DockerfileOp.cross +++ b/DockerfileOp.cross @@ -3,7 +3,7 @@ # locatable in `./dist/bin/$TARGETARCH` FROM --platform=$TARGETPLATFORM ubuntu:22.04 -LABEL org.opencontainers.image.source=https://github.com/paradigmxyz/reth +LABEL org.opencontainers.image.source=https://github.com/SeismicSystems/seismic-reth LABEL org.opencontainers.image.licenses="MIT OR Apache-2.0" # Filled by docker buildx diff --git a/Makefile b/Makefile index 30f6b0aa47..cb4e3b807c 100644 --- a/Makefile +++ b/Makefile @@ -36,6 +36,7 @@ EEST_TESTS_URL := https://github.com/ethereum/execution-spec-tests/releases/down EEST_TESTS_DIR := ./testing/ef-tests/execution-spec-tests # The docker image name +# TODO: publish one for seismic DOCKER_IMAGE_NAME ?= ghcr.io/paradigmxyz/reth ##@ Help @@ -490,7 +491,20 @@ rustdocs: ## Runs `cargo docs` to generate the Rust documents in the `target/doc cargo +nightly docs \ --document-private-items -cargo-test: +test-seismic-reth :## see profile.default in .config/nextest.toml for filtered tests + cargo nextest run --workspace +test-reth: + cargo test \ + --workspace \ + --bin "reth" \ + --exclude optimism \ + --lib \ + --examples \ + --tests \ + --benches \ + --features "ethereum $(BIN_OTHER_FEATURES)" + +test-op-reth: cargo test \ --workspace \ --bin "op-reth" \ @@ -503,8 +517,10 @@ test-doc: cargo test --doc --workspace --all-features test: - make cargo-test && \ - make test-doc + make test-reth && \ + make test-seismic-reth && \ + make test-doc && \ + make test-other-targets pr: make lint && \ diff --git a/README.md b/README.md index 869d1e6406..e301e492a1 100644 --- a/README.md +++ b/README.md @@ -1,85 +1,36 @@ -# reth +# Seismic Reth -[![bench status](https://github.com/paradigmxyz/reth/actions/workflows/bench.yml/badge.svg)](https://github.com/paradigmxyz/reth/actions/workflows/bench.yml) -[![CI status](https://github.com/paradigmxyz/reth/workflows/unit/badge.svg)][gh-ci] -[![cargo-lint status](https://github.com/paradigmxyz/reth/actions/workflows/lint.yml/badge.svg)][gh-lint] -[![Telegram Chat][tg-badge]][tg-url] +[![forkdiff](https://github.com/SeismicSystems/seismic-reth/actions/workflows/gh-pages.yml/badge.svg?branch=seismic)](https://seismicsystems.github.io/seismic-reth/) +[![CI Status](https://github.com/SeismicSystems/seismic-reth/actions/workflows/seismic.yml/badge.svg?branch=seismic)](https://github.com/SeismicSystems/seismic-reth/actions/workflows/seismic.yml) +[![Chat on Telegram](https://img.shields.io/badge/chat-Join%20Us-blue?logo=telegram)](https://t.me/+xpzfNO4pmRoyM2Ux) -**Modular, contributor-friendly and blazing-fast implementation of the Ethereum protocol** +**Encrypted Blockchain Client** -![](./assets/reth-prod.png) +![](./assets/seismic-reth-beta.png) -**[Install](https://paradigmxyz.github.io/reth/installation/installation.html)** -| [User Docs](https://reth.rs) +**[Install](https://seismicsystems.github.io/seismic-reth/installation/installation.html)** +| [User Book](https://seismicsystems.github.io/seismic-reth/) | [Developer Docs](./docs) -| [Crate Docs](https://reth.rs/docs) +| [Crate Docs](https://seismicsystems.github.io/seismic-reth/docs/) -[gh-ci]: https://github.com/paradigmxyz/reth/actions/workflows/unit.yml -[gh-lint]: https://github.com/paradigmxyz/reth/actions/workflows/lint.yml -[tg-badge]: https://img.shields.io/endpoint?color=neon&logo=telegram&label=chat&url=https%3A%2F%2Ftg.sumanjay.workers.dev%2Fparadigm%5Freth + -## What is Reth? - -Reth (short for Rust Ethereum, [pronunciation](https://twitter.com/kelvinfichter/status/1597653609411268608)) is a new Ethereum full node implementation that is focused on being user-friendly, highly modular, as well as being fast and efficient. Reth is an Execution Layer (EL) and is compatible with all Ethereum Consensus Layer (CL) implementations that support the [Engine API](https://github.com/ethereum/execution-apis/tree/a0d03086564ab1838b462befbc083f873dcf0c0f/src/engine). It is originally built and driven forward by [Paradigm](https://paradigm.xyz/), and is licensed under the Apache and MIT licenses. +## What is Seismic Reth? ## Goals -As a full Ethereum node, Reth allows users to connect to the Ethereum network and interact with the Ethereum blockchain. This includes sending and receiving transactions/logs/traces, as well as accessing and interacting with smart contracts. Building a successful Ethereum node requires creating a high-quality implementation that is both secure and efficient, as well as being easy to use on consumer hardware. It also requires building a strong community of contributors who can help support and improve the software. - -More concretely, our goals are: - -1. **Modularity**: Every component of Reth is built to be used as a library: well-tested, heavily documented and benchmarked. We envision that developers will import the node's crates, mix and match, and innovate on top of them. Examples of such usage include but are not limited to spinning up standalone P2P networks, talking directly to a node's database, or "unbundling" the node into the components you need. To achieve that, we are licensing Reth under the Apache/MIT permissive license. You can learn more about the project's components [here](./docs/repo/layout.md). -2. **Performance**: Reth aims to be fast, so we use Rust and the [Erigon staged-sync](https://erigon.substack.com/p/erigon-stage-sync-and-control-flows) node architecture. We also use our Ethereum libraries (including [Alloy](https://github.com/alloy-rs/alloy/) and [revm](https://github.com/bluealloy/revm/)) which we've battle-tested and optimized via [Foundry](https://github.com/foundry-rs/foundry/). -3. **Free for anyone to use any way they want**: Reth is free open source software, built for the community, by the community. By licensing the software under the Apache/MIT license, we want developers to use it without being bound by business licenses, or having to think about the implications of GPL-like licenses. -4. **Client Diversity**: The Ethereum protocol becomes more antifragile when no node implementation dominates. This ensures that if there's a software bug, the network does not finalize a bad block. By building a new client, we hope to contribute to Ethereum's antifragility. -5. **Support as many EVM chains as possible**: We aspire that Reth can full-sync not only Ethereum, but also other chains like Optimism, Polygon, BNB Smart Chain, and more. If you're working on any of these projects, please reach out. -6. **Configurability**: We want to solve for node operators that care about fast historical queries, but also for hobbyists who cannot operate on large hardware. We also want to support teams and individuals who want both sync from genesis and via "fast sync". We envision that Reth will be configurable enough and provide configurable "profiles" for the tradeoffs that each team faces. - -## Status - -Reth is production ready, and suitable for usage in mission-critical environments such as staking or high-uptime services. We also actively recommend professional node operators to switch to Reth in production for performance and cost reasons in use cases where high performance with great margins is required such as RPC, MEV, Indexing, Simulations, and P2P activities. - -More historical context below: +Seismic Reth extends [Reth](https://github.com/paradigmxyz/reth) with shielded transaction and storage capabilities, allowing users to confidentially interact with smart contracts and transactions on the Seismic network while maintaining compatibility with existing infrastructure. Seismic Reth runs in a Trusted Execution Environment (TEE) for secure communication between users and the Seismic network. -- We released 1.0 "production-ready" stable Reth in June 2024. - - Reth completed an audit with [Sigma Prime](https://sigmaprime.io/), the developers of [Lighthouse](https://github.com/sigp/lighthouse), the Rust Consensus Layer implementation. Find it [here](./audit/sigma_prime_audit_v2.pdf). - - Revm (the EVM used in Reth) underwent an audit with [Guido Vranken](https://twitter.com/guidovranken) (#1 [Ethereum Bug Bounty](https://ethereum.org/en/bug-bounty)). We will publish the results soon. -- We released multiple iterative beta versions, up to [beta.9](https://github.com/paradigmxyz/reth/releases/tag/v0.2.0-beta.9) on Monday June 3, 2024,the last beta release. -- We released [beta](https://github.com/paradigmxyz/reth/releases/tag/v0.2.0-beta.1) on Monday March 4, 2024, our first breaking change to the database model, providing faster query speed, smaller database footprint, and allowing "history" to be mounted on separate drives. -- We shipped iterative improvements until the last alpha release on February 28, 2024, [0.1.0-alpha.21](https://github.com/paradigmxyz/reth/releases/tag/v0.1.0-alpha.21). -- We [initially announced](https://www.paradigm.xyz/2023/06/reth-alpha) [0.1.0-alpha.1](https://github.com/paradigmxyz/reth/releases/tag/v0.1.0-alpha.1) on June 20, 2023. +## Seismic features -### Database compatibility - -We do not have any breaking database changes since beta.1, and we do not plan any in the near future. - -Reth [v0.2.0-beta.1](https://github.com/paradigmxyz/reth/releases/tag/v0.2.0-beta.1) includes -a [set of breaking database changes](https://github.com/paradigmxyz/reth/pull/5191) that makes it impossible to use database files produced by earlier versions. - -If you had a database produced by alpha versions of Reth, you need to drop it with `reth db drop` -(using the same arguments such as `--config` or `--datadir` that you passed to `reth node`), and resync using the same `reth node` command you've used before. +See [seismic-features](./docs/seismic/features.md) for a detailed overview of Seismic Reth's new features. ## For Users -See the [Reth documentation](https://paradigmxyz.github.io/reth) for instructions on how to install and run Reth. +See the [Seismic Reth Book](https://seismicsystems.github.io/seismic-reth) for instructions on how to install and run Seismic Reth. ## For Developers -### Using reth as a library - -You can use individual crates of reth in your project. - -The crate docs can be found [here](https://paradigmxyz.github.io/reth/docs). - -For a general overview of the crates, see [Project Layout](./docs/repo/layout.md). - -### Contributing - -If you want to contribute, or follow along with contributor discussion, you can use our [main telegram](https://t.me/paradigm_reth) to chat with us about the development of Reth! - -- Our contributor guidelines can be found in [`CONTRIBUTING.md`](./CONTRIBUTING.md). -- See our [contributor docs](./docs) for more information on the project. A good starting point is [Project Layout](./docs/repo/layout.md). - ### Building and testing + +### Introduction + +Welcome to the documentation for the shielded enhancements added to **Seismic Reth**, the execution layer of the Seismic blockchain. These enhancements introduce shielded storage and transaction capabilities, enabling developers to handle sensitive data securely within smart contracts and transactions. By building upon the existing Reth infrastructure, we've implemented changes to ensure ease of adoption and maintain compatibility. + +This documentation highlights the differences and new features introduced, with a focus on the modifications that make Reth shielded. We recommend familiarizing yourself with the standard Reth documentation alongside this guide. + +--- + +### Table of Contents + +- [1. Overall Changes](#1-overall-changes) +- [2. Shielded Storage](#2-shielded-storage) + - [2.1 Shielded Storage Flag](#21-shielded-storage-flag) + - [2.2 State Root Calculation](#22-state-root-calculation) + - [2.3 `eth_storageAt` RPC Modification](#23-eth_storageat-rpc-modification) + - [2.4 Storage Hashing Parallelization](#24-storage-hashing-parallelization) +- [3. Shielded Transactions](#3-shielded-transactions) + - [3.1 Transaction Flow Overview](#31-transaction-flow-overview) + - [_eth\_sendRawTransaction_ Flow](#eth_sendrawtransaction-flow) + - [_eth\_call_ Flow](#eth_call-flow) + - [3.2 Cryptography Client and Arguments](#32-cryptography-client-and-arguments) + - [3.3 `TxSeismic` Transaction Type](#33-txseismic-transaction-type) + - [3.4 `ConfigureEvmEnv` and `EthEvmConfig` Changes](#34-configureevmenv-and-ethevmconfig-changes) + - [3.5 RPC Method Changes](#35-rpc-method-changes) +- [4. Support for `seismic-revm`'s `Mercury` Specification](#4-support-for-seismic-revms-mercury-specification) + - [4.1 Seismic Chain Spec](#41-seismic-chain-spec) + - [4.2 `rng_mode` Initialization](#42-rng_mode-initialization) +- [5. RPC Modifications](#5-rpc-modifications) + - [5.1 Summary of Modified Endpoints](#51-summary-of-modified-endpoints) +- [6. Backup Mechanism](#6-backup-mechanism) +- [7. Performance Testing](#7-performance-testing) +- [8. Testing](#8-testing) + - [8.1 Running Tests](#81-running-tests) + - [8.2 Modifications of existing tests](#82-modifications-of-existing-tests) + - [8.3 Integration Testing](#83-integration-testing) + - [8.4 Ethereum Package Testing](#84-ethereum-package-testing) +- [9. Future Considerations](#9-future-considerations) +--- + +### 1. Overall Changes + +We have introduced several changes to make Reth encrypted, enabling shielded storage and transactions. The key modifications include: + +- **Shielded Storage**: Added an `is_private` flag to storage values, changing the storage value type from `U256` to `FlaggedStorage`. +- **Shielded Transaction**: Providing a new transaction type `TxSeismic` that extends the existing transaction and supports shielded input. + +--- + +### 2. Shielded Storage + +#### 2.1 Shielded Storage Flag + +Previously, storage values were of type `U256`. With the encryption enhancements, we've introduced a new type called `FlaggedStorage`, which includes an `is_private` flag to indicate whether a storage value is confidential. + +- **Implementation**: This change aligns with modifications in `seismic-revm` ([Pull Request #9](https://github.com/SeismicSystems/seismic-revm/pull/9)) and requires the use of REVM inspectors ([Pull Request #1](https://github.com/SeismicSystems/seismic-revm-inspectors/pull/1)). + +#### 2.2 State Root Calculation + +- **Modification**: The `is_private` flag is **not** encoded during the state root calculation. This decision is reflected in the code [here](https://github.com/SeismicSystems/seismic-reth/pull/4/commits/5a69f1ea359d4e95dd6a825e604548b0e11579#diff-a69280a7601140010b48c98e07c58431efd9e6f45180dcfcd2e0d423e4588a98R162). +- **Consideration**: We may want to include the `is_private` flag as part of the state since a storage slot can transition from public to private. This is an open point for future development. + +#### 2.3 `eth_storageAt` RPC Modification + +- **Behavior**: Modified the `eth_storageAt` RPC method to handle private storage. + - If `is_private` is `true`, the RPC call returns `0`. +- **Rationale**: + - **Prevent Information Leakage**: Since storage can transition from private to public, exposing the storage type could leak information through enumeration. + - **Potentially Misleading Data**: Returning `0` might be misleading if there is a value being stored. Developers should be aware of this behavior. +- **Code Reference**: [Commit](https://github.com/SeismicSystems/seismic-reth/pull/4/commits/f26de3b8ff74a4b23de0df548c8b629c2479d907) +- **Impact**: For a complete set of code paths affected, refer to all places where `encode_fixed_size()` is called. + +#### 2.4 Storage Hashing Parallelization + +- **Modification**: We include the `is_private` flag along with `addr_key` as the key instead of combining it with the value during parallelization of the `StorageHashingStage`. +- **Code Reference**: `seismic-reth/crates/stages/stages/src/stages/hashing_storage.rs:106` + +--- + +### 3. Shielded Transactions + +The inputs of a shielded transaction are encrypted and can only be decrypted with a secret key from a secure enclave. Encryption and decryption logic happens outside of Seismic Reth and inside the [cryptography server](https://github.com/SeismicSystems/teeservice). We added modifications to support the communications with the cryptography server and shielded transaction processing. + +#### 3.1 Transaction Flow Overview + +##### _eth_sendRawTransaction_ Flow + +1. **Client-side Encryption**: + + - Client generates an ephemeral key pair + - Uses ephemeral private key + network's public key to generate shared secret via ECDH + - Encrypts transaction calldata using shared secret + - Includes ephemeral public key in transaction as `encryption_pubkey` + - Can submit transaction in two ways: + - Raw transaction bytes (message_version = 0) + - EIP-712 typed data (message_version = 2) + +2. **Network Processing**: + - Seismic Reth receives encrypted transaction + - Uses network private key + transaction's `encryption_pubkey` to regenerate shared secret + - Decrypts calldata before EVM execution + - Processes transaction normally after decryption + +##### _eth_call_ Flow + +1. **Client-side Encryption**: + + - Client generates an ephemeral key pair + - Uses ephemeral private key + network's public key to generate shared secret via ECDH + - Encrypts transaction calldata using shared secret + - Includes ephemeral public key in transaction as `encryption_pubkey` + - Can submit transaction in two ways: + - Raw transaction bytes (message_version = 0) + - EIP-712 typed data (message_version = 2) + +2. **Network Processing**: + + - Seismic Reth receives encrypted transaction + - Uses network private key + transaction's `encryption_pubkey` to regenerate shared secret + - Decrypts calldata before EVM execution + - Simulates transaction normally after decryption + - Encrypts simulation output using the shared secret + +3. **Client-side Decryption**: + - Uses ephemeral private key + network's public key to generate shared secret via ECDH + - Decrypts simulation output using shared secret + +#### 3.2 Cryptography Client and Arguments + +- **Functionality**: Decryption occurs when the EVM initializes with the corresponding transaction, ensuring that the input data remains confidential until execution. Encryption and decryption logic lives in an external cryptography server so that sensitive information can be separated from Seismic Reth. +- **Addition**: Implemented a client for the cryptography server and arguments to interact with a server for decryption and encryption tasks. + +#### 3.3 `TxSeismic` Transaction Type + +- **Definition**: Introduced `TxSeismic`, which defines fields for seismic transactions. In this transaction type, only the `input` field is encrypted. + +The `TxSeismic` transaction type contains the following fields: + +- `chain_id`: Chain identifier for replay attack protection (EIP-155) +- `nonce`: Number of transactions sent by the sender (Tn) +- `gas_price`: Amount of Wei to be paid per unit of gas for computation costs (Tp). Uses u128 since max Ethereum circulation of ~120M ETH is well within bounds +- `gas_limit`: Maximum amount of gas allowed for transaction execution (Tg). Must be paid upfront and cannot be increased +- `to`: 160-bit recipient address for message calls, or empty (∅) for contract creation (Tt) +- `value`: Amount of Wei to transfer to recipient or endow to new contract (Tv) +- `encryption_pubkey`: 33-byte public key used to encrypt transaction output +- `message_version`: Version number of the message format to support EIP-712 `TypedData` +- `input`: Variable length byte array containing encrypted input + +#### 3.4 `ConfigureEvmEnv` and `EthEvmConfig` Changes + +Extended `ConfigureEvmEnv` trait and `EthEvmConfig` implementation to integrate encryption/decryption capabilities. The `fill_tx_env` method was modified to handle `TxSeismic` transactions by performing input decryption prior to EVM execution, enabling shielded transaction processing. + +#### 3.5 RPC Method Changes + +- **Modified Methods** + + - `eth_sendTransaction` + - `eth_sendRawTransaction` + - `eth_call` + - `eth_estimateGas` + + to support shielded transactions + +### 4. Support for `seismic-revm`'s `Mercury` Specification + +#### 4.1 Seismic Chain Spec + +If chain spec is `SEISMIC_MAINNET` (chain id is 5123) or `SEISMIC_DEV` (chain id is 5124), the `Mercury` spec of EVM is used. + +#### 4.2 `rng_mode` Initialization + +Depending + +### 5. RPC Modifications + +#### 5.1 Summary of Modified Endpoints + +We have modified several RPC endpoints to support shielded features: + +- **Modified _eth_ RPC Methods**: + + - **`eth_storageAt`**: + - Returns `0` for private storage slots. + - **Modification Location**: [Code Reference](https://github.com/SeismicSystems/seismic-reth/pull/4/commits/f26de3b8ff74a4b23de0df548c8b629c2479d907) + - **`eth_sendTransaction`**: + - Accepts `TxSeismic` transaction type and input encryption + - **`eth_sendRawTransaction`**: + - Accepts both raw seismic transactions (`Bytes`) and EIP-712 typed data with signatures (`TypedDataRequest`) + - **`eth_call`**: + - Accepts three types of shielded transaction format: + - `TransactionRequest`: Standard transaction call request with additional fields. Since this format of request is unsigned, `msg.sender` is overridden to `None` + - `TypedData`: EIP-712 signed typed message with signature + - `Bytes`: Raw signed seismic transaction bytes + - **`eth_estimateGas`**: + - Accepts three types of shielded transaction format: + - `TransactionRequest`: Standard transaction call request with additional fields. Since this format of request is unsigned, `msg.sender` is overridden to `None` + +- **SeismicAPI RPC Endpoints** + + - **`seismic_getTeePublicKey`**: + - Returns the network public key for client-side encryption when constructing shielded input + +--- + +### 6. Backup Mechanism + +- **Feature**: Seismic Reth saves the database state every time it reaches a certain canonical block production, controlled by the `DEFAULT_BACKUP_THRESHOLD` parameter. +- **Consideration**: This feature requires further specification depending on how the consensus layer interacts with Seismic Reth for accurate block counting. +- **Purpose**: Enables state snapshots at defined intervals, which can be crucial for recovery. + +--- + +### 7. Performance Testing + +We conducted end-to-end tests for the above changes. The performance metrics are as follows: + +| **Block Time with HTTP Request** | **0 Calls** | **1400 Calls** | **5200 Calls** | +| -------------------------------- | ------------- | -------------- | -------------- | +| **1400 Normal Transactions** | 2.018 seconds | 5.273 seconds | 10.257 seconds | +| **1400 Encrypted Transactions** | 6.601 seconds | 11.523 seconds | 21.790 seconds | + +- **Observation**: The HTTP call latency contributes approximately **40%** of the total latency. +- **Note**: These tests include end-to-end scenarios, demonstrating the overhead introduced by the encryption and decryption processes. + +--- + +### 8. Testing + +#### 8.1 Running Tests + +To ensure the integrity of the shielded enhancements, you can run end-to-end tests using the following command: + +```bash +cargo nextest run --workspace +``` + +For the backup-specific e2e test: + +```bash +RUST_BACKTRACE=1 RUST_LOG=trace cargo test --package reth-node-ethereum --test e2e -- backup::backup --exact --show-output --nocapture +``` + +#### 8.2 Modifications of existing tests + +**Note**: We ignore certain tests by default in `nextest.toml`: + +- `providers::static_file::tests::test_header_truncation` +- `providers::static_file::tests::test_tx_based_truncation` +- `eth::core::tests` + +For shielded transaction, + +For shielded storage, we've modified: + +- `reth-provider writer::tests::write_to_db_storage` to verify that the `is_private` flag is committed to the database from the EVM execution outcome. +- `reth-trie state::tests::hashed_state_wiped_extension` to ensure that the `is_private` flag is propagated from `hashedStorages` to `postHashedStorages`. + +Because we have a decryption call for `TxSeismic` call, `#[tokio::test(flavor = "multi_thread")]` replaces `#[tokio::test]` to provide runtime async support. + +#### 8.3 Integration Testing + +See the `crates/seismic/node/tests/integration.rs` examples of integration testing using seismic transactions. + +#### 8.4 Ethereum Package Testing + +We added a `TxSeismic` spammer for Ethereum Package testing. For specific instruction see this [PR](https://github.com/SeismicSystems/seismic-reth/pull/49) + +--- + +### 9. Future Considerations + +There are several areas that require attention and potential future development: + +1. **Witness Auditing**: + + - **Action**: The `witness()` function needs to be audited to ensure it correctly handles private data. + - **Importance**: To prevent potential leaks or mishandling of confidential information. + +2. **RPC Method Enhancements**: + - **Encrypted Events and Data**: Future improvements may include supporting encrypted events, enabling the emission of shielded data without compromising confidentiality. + - **_eth_simulate_v1_**: support endpoint for shielded transactions + - **_debug\_\*_ _trace\_\*_**: support endpoints for shielded data with redaction diff --git a/docs/vocs/docs/pages/cli/reth.mdx b/docs/vocs/docs/pages/cli/reth.mdx index 88218426c7..9cd2530e57 100644 --- a/docs/vocs/docs/pages/cli/reth.mdx +++ b/docs/vocs/docs/pages/cli/reth.mdx @@ -1,12 +1,13 @@ # reth -Reth +Seismic Reth ```bash -$ reth --help +$ seismic-reth --help ``` + ```txt -Usage: reth [OPTIONS] +Usage: seismic-reth [OPTIONS] Commands: node Start the node @@ -114,4 +115,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/config.mdx b/docs/vocs/docs/pages/cli/reth/config.mdx index b449f11816..836432bd7d 100644 --- a/docs/vocs/docs/pages/cli/reth/config.mdx +++ b/docs/vocs/docs/pages/cli/reth/config.mdx @@ -5,8 +5,9 @@ Write config to stdout ```bash $ reth config --help ``` + ```txt -Usage: reth config [OPTIONS] +Usage: seismic-reth config [OPTIONS] Options: --config @@ -99,4 +100,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/db/checksum.mdx b/docs/vocs/docs/pages/cli/reth/db/checksum.mdx index ba12fd1b2f..b8c4b2a0ec 100644 --- a/docs/vocs/docs/pages/cli/reth/db/checksum.mdx +++ b/docs/vocs/docs/pages/cli/reth/db/checksum.mdx @@ -5,8 +5,9 @@ Calculates the content checksum of a table ```bash $ reth db checksum --help ``` + ```txt -Usage: reth db checksum [OPTIONS] +Usage: seismic-reth db checksum [OPTIONS]
Arguments:
@@ -116,4 +117,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/db/clear.mdx b/docs/vocs/docs/pages/cli/reth/db/clear.mdx index 79e324021b..61e3b1b53a 100644 --- a/docs/vocs/docs/pages/cli/reth/db/clear.mdx +++ b/docs/vocs/docs/pages/cli/reth/db/clear.mdx @@ -5,8 +5,9 @@ Deletes all table entries ```bash $ reth db clear --help ``` + ```txt -Usage: reth db clear [OPTIONS] +Usage: seismic-reth db clear [OPTIONS] Commands: mdbx Deletes all database table entries @@ -108,4 +109,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/db/clear/mdbx.mdx b/docs/vocs/docs/pages/cli/reth/db/clear/mdbx.mdx index 843f5253c9..f26de206f9 100644 --- a/docs/vocs/docs/pages/cli/reth/db/clear/mdbx.mdx +++ b/docs/vocs/docs/pages/cli/reth/db/clear/mdbx.mdx @@ -5,8 +5,9 @@ Deletes all database table entries ```bash $ reth db clear mdbx --help ``` + ```txt -Usage: reth db clear mdbx [OPTIONS]
+Usage: seismic-reth db clear mdbx [OPTIONS]
Arguments:
@@ -107,4 +108,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/db/clear/static-file.mdx b/docs/vocs/docs/pages/cli/reth/db/clear/static-file.mdx index 3af272ff36..f2b4ff6638 100644 --- a/docs/vocs/docs/pages/cli/reth/db/clear/static-file.mdx +++ b/docs/vocs/docs/pages/cli/reth/db/clear/static-file.mdx @@ -5,8 +5,9 @@ Deletes all static file segment entries ```bash $ reth db clear static-file --help ``` + ```txt -Usage: reth db clear static-file [OPTIONS] +Usage: seismic-reth db clear static-file [OPTIONS] Arguments: @@ -110,4 +111,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/db/diff.mdx b/docs/vocs/docs/pages/cli/reth/db/diff.mdx index f440545f12..d7fef146bc 100644 --- a/docs/vocs/docs/pages/cli/reth/db/diff.mdx +++ b/docs/vocs/docs/pages/cli/reth/db/diff.mdx @@ -5,8 +5,9 @@ Create a diff between two database tables or two entire databases ```bash $ reth db diff --help ``` + ```txt -Usage: reth db diff [OPTIONS] --secondary-datadir --output +Usage: seismic-reth db diff [OPTIONS] --secondary-datadir --output Options: --secondary-datadir @@ -143,4 +144,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/db/drop.mdx b/docs/vocs/docs/pages/cli/reth/db/drop.mdx index 64552318a2..7eb62f4fcd 100644 --- a/docs/vocs/docs/pages/cli/reth/db/drop.mdx +++ b/docs/vocs/docs/pages/cli/reth/db/drop.mdx @@ -5,8 +5,9 @@ Deletes all database entries ```bash $ reth db drop --help ``` + ```txt -Usage: reth db drop [OPTIONS] +Usage: seismic-reth db drop [OPTIONS] Options: -f, --force @@ -106,4 +107,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/db/get.mdx b/docs/vocs/docs/pages/cli/reth/db/get.mdx index c7fc831b76..adc6d48f33 100644 --- a/docs/vocs/docs/pages/cli/reth/db/get.mdx +++ b/docs/vocs/docs/pages/cli/reth/db/get.mdx @@ -5,8 +5,9 @@ Gets the content of a table for the given key ```bash $ reth db get --help ``` + ```txt -Usage: reth db get [OPTIONS] +Usage: seismic-reth db get [OPTIONS] Commands: mdbx Gets the content of a database table for the given key @@ -108,4 +109,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/db/get/mdbx.mdx b/docs/vocs/docs/pages/cli/reth/db/get/mdbx.mdx index 48fd6c889c..345a29021b 100644 --- a/docs/vocs/docs/pages/cli/reth/db/get/mdbx.mdx +++ b/docs/vocs/docs/pages/cli/reth/db/get/mdbx.mdx @@ -5,8 +5,9 @@ Gets the content of a database table for the given key ```bash $ reth db get mdbx --help ``` + ```txt -Usage: reth db get mdbx [OPTIONS]
[SUBKEY] +Usage: seismic-reth db get mdbx [OPTIONS]
[SUBKEY] Arguments:
@@ -116,4 +117,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/db/get/static-file.mdx b/docs/vocs/docs/pages/cli/reth/db/get/static-file.mdx index af21819a45..e405caa121 100644 --- a/docs/vocs/docs/pages/cli/reth/db/get/static-file.mdx +++ b/docs/vocs/docs/pages/cli/reth/db/get/static-file.mdx @@ -5,8 +5,9 @@ Gets the content of a static file segment for the given key ```bash $ reth db get static-file --help ``` + ```txt -Usage: reth db get static-file [OPTIONS] +Usage: seismic-reth db get static-file [OPTIONS] Arguments: @@ -116,4 +117,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/db/list.mdx b/docs/vocs/docs/pages/cli/reth/db/list.mdx index cff6c7eed5..86db3cc852 100644 --- a/docs/vocs/docs/pages/cli/reth/db/list.mdx +++ b/docs/vocs/docs/pages/cli/reth/db/list.mdx @@ -5,8 +5,9 @@ Lists the contents of a table ```bash $ reth db list --help ``` + ```txt -Usage: reth db list [OPTIONS]
+Usage: seismic-reth db list [OPTIONS]
Arguments:
@@ -149,4 +150,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/db/path.mdx b/docs/vocs/docs/pages/cli/reth/db/path.mdx index 1dd3279a79..3e9d044c12 100644 --- a/docs/vocs/docs/pages/cli/reth/db/path.mdx +++ b/docs/vocs/docs/pages/cli/reth/db/path.mdx @@ -5,8 +5,9 @@ Returns the full database path ```bash $ reth db path --help ``` + ```txt -Usage: reth db path [OPTIONS] +Usage: seismic-reth db path [OPTIONS] Options: -h, --help @@ -103,4 +104,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/db/stats.mdx b/docs/vocs/docs/pages/cli/reth/db/stats.mdx index 1f2c50908d..65d572a3b0 100644 --- a/docs/vocs/docs/pages/cli/reth/db/stats.mdx +++ b/docs/vocs/docs/pages/cli/reth/db/stats.mdx @@ -5,8 +5,9 @@ Lists all the tables, their entry count and their size ```bash $ reth db stats --help ``` + ```txt -Usage: reth db stats [OPTIONS] +Usage: seismic-reth db stats [OPTIONS] Options: --detailed-sizes @@ -116,4 +117,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/db/version.mdx b/docs/vocs/docs/pages/cli/reth/db/version.mdx index a683749fcd..b64098def5 100644 --- a/docs/vocs/docs/pages/cli/reth/db/version.mdx +++ b/docs/vocs/docs/pages/cli/reth/db/version.mdx @@ -5,8 +5,9 @@ Lists current and local database versions ```bash $ reth db version --help ``` + ```txt -Usage: reth db version [OPTIONS] +Usage: seismic-reth db version [OPTIONS] Options: -h, --help @@ -103,4 +104,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/debug.mdx b/docs/vocs/docs/pages/cli/reth/debug.mdx index f56a60aa94..ea27b5ce8a 100644 --- a/docs/vocs/docs/pages/cli/reth/debug.mdx +++ b/docs/vocs/docs/pages/cli/reth/debug.mdx @@ -5,8 +5,9 @@ Various debug routines ```bash $ reth debug --help ``` + ```txt -Usage: reth debug [OPTIONS] +Usage: seismic-reth debug [OPTIONS] Commands: merkle Debug the clean & incremental state root calculations @@ -93,4 +94,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/download.mdx b/docs/vocs/docs/pages/cli/reth/download.mdx index 973dce74a2..9702bd7676 100644 --- a/docs/vocs/docs/pages/cli/reth/download.mdx +++ b/docs/vocs/docs/pages/cli/reth/download.mdx @@ -5,8 +5,9 @@ Download public node snapshots ```bash $ reth download --help ``` + ```txt -Usage: reth download [OPTIONS] +Usage: seismic-reth download [OPTIONS] Options: -h, --help @@ -161,4 +162,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/dump-genesis.mdx b/docs/vocs/docs/pages/cli/reth/dump-genesis.mdx index 6bc27381a2..01df327f81 100644 --- a/docs/vocs/docs/pages/cli/reth/dump-genesis.mdx +++ b/docs/vocs/docs/pages/cli/reth/dump-genesis.mdx @@ -5,8 +5,9 @@ Dumps genesis block JSON configuration to stdout ```bash $ reth dump-genesis --help ``` + ```txt -Usage: reth dump-genesis [OPTIONS] +Usage: seismic-reth dump-genesis [OPTIONS] Options: --chain @@ -102,4 +103,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/import-era.mdx b/docs/vocs/docs/pages/cli/reth/import-era.mdx index a783067d19..dfbaa21d07 100644 --- a/docs/vocs/docs/pages/cli/reth/import-era.mdx +++ b/docs/vocs/docs/pages/cli/reth/import-era.mdx @@ -5,8 +5,9 @@ This syncs ERA encoded blocks from a directory ```bash $ reth import-era --help ``` + ```txt -Usage: reth import-era [OPTIONS] +Usage: seismic-reth import-era [OPTIONS] Options: -h, --help @@ -162,4 +163,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/import.mdx b/docs/vocs/docs/pages/cli/reth/import.mdx index 0914444e10..c7f2a76272 100644 --- a/docs/vocs/docs/pages/cli/reth/import.mdx +++ b/docs/vocs/docs/pages/cli/reth/import.mdx @@ -5,8 +5,9 @@ This syncs RLP encoded blocks from a file or files ```bash $ reth import --help ``` + ```txt -Usage: reth import [OPTIONS] ... +Usage: seismic-reth import [OPTIONS] ... Options: -h, --help @@ -163,4 +164,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/init-state.mdx b/docs/vocs/docs/pages/cli/reth/init-state.mdx index 8c0cfa6e4d..dcbb6aded2 100644 --- a/docs/vocs/docs/pages/cli/reth/init-state.mdx +++ b/docs/vocs/docs/pages/cli/reth/init-state.mdx @@ -5,8 +5,9 @@ Initialize the database from a state dump file ```bash $ reth init-state --help ``` + ```txt -Usage: reth init-state [OPTIONS] +Usage: seismic-reth init-state [OPTIONS] Options: -h, --help @@ -186,4 +187,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/init.mdx b/docs/vocs/docs/pages/cli/reth/init.mdx index b1ac27e8ba..17a2b5ed3d 100644 --- a/docs/vocs/docs/pages/cli/reth/init.mdx +++ b/docs/vocs/docs/pages/cli/reth/init.mdx @@ -5,8 +5,9 @@ Initialize the database from a genesis file ```bash $ reth init --help ``` + ```txt -Usage: reth init [OPTIONS] +Usage: seismic-reth init [OPTIONS] Options: -h, --help @@ -151,4 +152,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/node.mdx b/docs/vocs/docs/pages/cli/reth/node.mdx index cbfaa615bb..abfbbd69f0 100644 --- a/docs/vocs/docs/pages/cli/reth/node.mdx +++ b/docs/vocs/docs/pages/cli/reth/node.mdx @@ -1,12 +1,13 @@ -# reth node +# seismic-reth node Start the node ```bash -$ reth node --help +$ seismic-reth node --help ``` + ```txt -Usage: reth node [OPTIONS] +Usage: seismic-reth node [OPTIONS] Options: --config @@ -17,9 +18,9 @@ Options: Possible values are either a built-in chain or the path to a chain specification file. Built-in chains: - mainnet, sepolia, holesky, hoodi, dev + seismic, dev - [default: mainnet] + [default: seismic] --instance Add a new instance of a node. @@ -951,7 +952,22 @@ Logging: - auto: Colors on - never: Colors off - [default: always] +Trusted Execution Environment Server: + The TEE Server provides secure encryption/decryption services for TxSeismic transactions in an isolated environment. Required for processing encrypted TxSeismic transaction data. + + --enclave.endpoint-addr + TEE server address to listen on + + [default: 127.0.0.1] + + --enclave.endpoint-port + TEE server port to listen on + + [default: 8545] + + --enclave.mock-server + Spin up mock TEE service for testing purpose at [--enclave.endpoint-addr]:[--enclave.endpoint-port] + Display: -v, --verbosity... @@ -965,4 +981,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/p2p/body.mdx b/docs/vocs/docs/pages/cli/reth/p2p/body.mdx index b089ccc7e8..fbf76c4012 100644 --- a/docs/vocs/docs/pages/cli/reth/p2p/body.mdx +++ b/docs/vocs/docs/pages/cli/reth/p2p/body.mdx @@ -5,8 +5,9 @@ Download block body ```bash $ reth p2p body --help ``` + ```txt -Usage: reth p2p body [OPTIONS] +Usage: seismic-reth p2p body [OPTIONS] Options: --retries @@ -314,4 +315,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/p2p/header.mdx b/docs/vocs/docs/pages/cli/reth/p2p/header.mdx index d308589bb7..be8be12b19 100644 --- a/docs/vocs/docs/pages/cli/reth/p2p/header.mdx +++ b/docs/vocs/docs/pages/cli/reth/p2p/header.mdx @@ -5,8 +5,9 @@ Download block header ```bash $ reth p2p header --help ``` + ```txt -Usage: reth p2p header [OPTIONS] +Usage: seismic-reth p2p header [OPTIONS] Options: --retries @@ -314,4 +315,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/p2p/rlpx.mdx b/docs/vocs/docs/pages/cli/reth/p2p/rlpx.mdx index dbd7ca91b3..f48fb951ca 100644 --- a/docs/vocs/docs/pages/cli/reth/p2p/rlpx.mdx +++ b/docs/vocs/docs/pages/cli/reth/p2p/rlpx.mdx @@ -5,8 +5,9 @@ RLPx commands ```bash $ reth p2p rlpx --help ``` + ```txt -Usage: reth p2p rlpx [OPTIONS] +Usage: seismic-reth p2p rlpx [OPTIONS] Commands: ping ping node @@ -97,4 +98,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/p2p/rlpx/ping.mdx b/docs/vocs/docs/pages/cli/reth/p2p/rlpx/ping.mdx index ac123d4728..965197ca7b 100644 --- a/docs/vocs/docs/pages/cli/reth/p2p/rlpx/ping.mdx +++ b/docs/vocs/docs/pages/cli/reth/p2p/rlpx/ping.mdx @@ -5,8 +5,9 @@ ping node ```bash $ reth p2p rlpx ping --help ``` + ```txt -Usage: reth p2p rlpx ping [OPTIONS] +Usage: seismic-reth p2p rlpx ping [OPTIONS] Arguments: @@ -97,4 +98,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/prune.mdx b/docs/vocs/docs/pages/cli/reth/prune.mdx index ce6bc399d8..74834bdfab 100644 --- a/docs/vocs/docs/pages/cli/reth/prune.mdx +++ b/docs/vocs/docs/pages/cli/reth/prune.mdx @@ -5,8 +5,9 @@ Prune according to the configuration without any limits ```bash $ reth prune --help ``` + ```txt -Usage: reth prune [OPTIONS] +Usage: seismic-reth prune [OPTIONS] Options: -h, --help @@ -151,4 +152,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/recover.mdx b/docs/vocs/docs/pages/cli/reth/recover.mdx index 880b8482d0..5d228dd639 100644 --- a/docs/vocs/docs/pages/cli/reth/recover.mdx +++ b/docs/vocs/docs/pages/cli/reth/recover.mdx @@ -5,8 +5,9 @@ Scripts for node recovery ```bash $ reth recover --help ``` + ```txt -Usage: reth recover [OPTIONS] +Usage: seismic-reth recover [OPTIONS] Commands: storage-tries Recover the node by deleting dangling storage tries @@ -97,4 +98,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/recover/storage-tries.mdx b/docs/vocs/docs/pages/cli/reth/recover/storage-tries.mdx index 701dd39368..26a12895ae 100644 --- a/docs/vocs/docs/pages/cli/reth/recover/storage-tries.mdx +++ b/docs/vocs/docs/pages/cli/reth/recover/storage-tries.mdx @@ -5,8 +5,9 @@ Recover the node by deleting dangling storage tries ```bash $ reth recover storage-tries --help ``` + ```txt -Usage: reth recover storage-tries [OPTIONS] +Usage: seismic-reth recover storage-tries [OPTIONS] Options: -h, --help @@ -151,4 +152,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/stage.mdx b/docs/vocs/docs/pages/cli/reth/stage.mdx index bc693f7e46..49c617a7e5 100644 --- a/docs/vocs/docs/pages/cli/reth/stage.mdx +++ b/docs/vocs/docs/pages/cli/reth/stage.mdx @@ -5,8 +5,9 @@ Manipulate individual stages ```bash $ reth stage --help ``` + ```txt -Usage: reth stage [OPTIONS] +Usage: seismic-reth stage [OPTIONS] Commands: run Run a single stage @@ -100,4 +101,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/stage/drop.mdx b/docs/vocs/docs/pages/cli/reth/stage/drop.mdx index a36545638c..abb2be0e28 100644 --- a/docs/vocs/docs/pages/cli/reth/stage/drop.mdx +++ b/docs/vocs/docs/pages/cli/reth/stage/drop.mdx @@ -5,8 +5,9 @@ Drop a stage's tables from the database ```bash $ reth stage drop --help ``` + ```txt -Usage: reth stage drop [OPTIONS] +Usage: seismic-reth stage drop [OPTIONS] Options: -h, --help @@ -165,4 +166,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/stage/dump.mdx b/docs/vocs/docs/pages/cli/reth/stage/dump.mdx index 9721193429..2fbf7ba376 100644 --- a/docs/vocs/docs/pages/cli/reth/stage/dump.mdx +++ b/docs/vocs/docs/pages/cli/reth/stage/dump.mdx @@ -5,8 +5,9 @@ Dumps a stage from a range into a new database ```bash $ reth stage dump --help ``` + ```txt -Usage: reth stage dump [OPTIONS] +Usage: seismic-reth stage dump [OPTIONS] Commands: execution Execution stage @@ -158,4 +159,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/stage/dump/account-hashing.mdx b/docs/vocs/docs/pages/cli/reth/stage/dump/account-hashing.mdx index c1459ee549..bc99c174af 100644 --- a/docs/vocs/docs/pages/cli/reth/stage/dump/account-hashing.mdx +++ b/docs/vocs/docs/pages/cli/reth/stage/dump/account-hashing.mdx @@ -5,8 +5,9 @@ ```bash $ reth stage dump account-hashing --help ``` + ```txt -Usage: reth stage dump account-hashing [OPTIONS] --output-datadir --from --to +Usage: seismic-reth stage dump account-hashing [OPTIONS] --output-datadir --from --to Options: --output-datadir @@ -115,4 +116,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/stage/dump/execution.mdx b/docs/vocs/docs/pages/cli/reth/stage/dump/execution.mdx index 4f39dccac1..92c0310d5b 100644 --- a/docs/vocs/docs/pages/cli/reth/stage/dump/execution.mdx +++ b/docs/vocs/docs/pages/cli/reth/stage/dump/execution.mdx @@ -5,8 +5,9 @@ Execution stage ```bash $ reth stage dump execution --help ``` + ```txt -Usage: reth stage dump execution [OPTIONS] --output-datadir --from --to +Usage: seismic-reth stage dump execution [OPTIONS] --output-datadir --from --to Options: --output-datadir @@ -115,4 +116,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/stage/dump/merkle.mdx b/docs/vocs/docs/pages/cli/reth/stage/dump/merkle.mdx index f5d6a07b09..1464a7309c 100644 --- a/docs/vocs/docs/pages/cli/reth/stage/dump/merkle.mdx +++ b/docs/vocs/docs/pages/cli/reth/stage/dump/merkle.mdx @@ -5,8 +5,9 @@ Merkle stage ```bash $ reth stage dump merkle --help ``` + ```txt -Usage: reth stage dump merkle [OPTIONS] --output-datadir --from --to +Usage: seismic-reth stage dump merkle [OPTIONS] --output-datadir --from --to Options: --output-datadir @@ -115,4 +116,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/stage/dump/storage-hashing.mdx b/docs/vocs/docs/pages/cli/reth/stage/dump/storage-hashing.mdx index fce03ffa75..86b21b10c8 100644 --- a/docs/vocs/docs/pages/cli/reth/stage/dump/storage-hashing.mdx +++ b/docs/vocs/docs/pages/cli/reth/stage/dump/storage-hashing.mdx @@ -5,8 +5,9 @@ ```bash $ reth stage dump storage-hashing --help ``` + ```txt -Usage: reth stage dump storage-hashing [OPTIONS] --output-datadir --from --to +Usage: seismic-reth stage dump storage-hashing [OPTIONS] --output-datadir --from --to Options: --output-datadir @@ -115,4 +116,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/stage/run.mdx b/docs/vocs/docs/pages/cli/reth/stage/run.mdx index 8e0e6400ec..829ef5d507 100644 --- a/docs/vocs/docs/pages/cli/reth/stage/run.mdx +++ b/docs/vocs/docs/pages/cli/reth/stage/run.mdx @@ -5,8 +5,9 @@ Run a single stage. ```bash $ reth stage run --help ``` + ```txt -Usage: reth stage run [OPTIONS] --from --to +Usage: seismic-reth stage run [OPTIONS] --from --to Options: -h, --help @@ -380,4 +381,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/stage/unwind.mdx b/docs/vocs/docs/pages/cli/reth/stage/unwind.mdx index 1a3fd02cae..285c41b829 100644 --- a/docs/vocs/docs/pages/cli/reth/stage/unwind.mdx +++ b/docs/vocs/docs/pages/cli/reth/stage/unwind.mdx @@ -5,8 +5,9 @@ Unwinds a certain block range, deleting it from the database ```bash $ reth stage unwind --help ``` + ```txt -Usage: reth stage unwind [OPTIONS] +Usage: seismic-reth stage unwind [OPTIONS] Commands: to-block Unwinds the database from the latest block, until the given block number or hash has been reached, that block is not included @@ -159,4 +160,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/stage/unwind/num-blocks.mdx b/docs/vocs/docs/pages/cli/reth/stage/unwind/num-blocks.mdx index bed98899e1..724d1bbb30 100644 --- a/docs/vocs/docs/pages/cli/reth/stage/unwind/num-blocks.mdx +++ b/docs/vocs/docs/pages/cli/reth/stage/unwind/num-blocks.mdx @@ -5,8 +5,9 @@ Unwinds the database from the latest block, until the given number of blocks hav ```bash $ reth stage unwind num-blocks --help ``` + ```txt -Usage: reth stage unwind num-blocks [OPTIONS] +Usage: seismic-reth stage unwind num-blocks [OPTIONS] Arguments: @@ -107,4 +108,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/stage/unwind/to-block.mdx b/docs/vocs/docs/pages/cli/reth/stage/unwind/to-block.mdx index bcfc87cf3e..5d46f8257a 100644 --- a/docs/vocs/docs/pages/cli/reth/stage/unwind/to-block.mdx +++ b/docs/vocs/docs/pages/cli/reth/stage/unwind/to-block.mdx @@ -5,8 +5,9 @@ Unwinds the database from the latest block, until the given block number or hash ```bash $ reth stage unwind to-block --help ``` + ```txt -Usage: reth stage unwind to-block [OPTIONS] +Usage: seismic-reth stage unwind to-block [OPTIONS] Arguments: @@ -107,4 +108,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/cli/reth/test-vectors/tables.mdx b/docs/vocs/docs/pages/cli/reth/test-vectors/tables.mdx index 2a3023817b..dacf0b385a 100644 --- a/docs/vocs/docs/pages/cli/reth/test-vectors/tables.mdx +++ b/docs/vocs/docs/pages/cli/reth/test-vectors/tables.mdx @@ -4,7 +4,7 @@ Generates test vectors for specified tables. If no table is specified, generate ```bash $ reth test-vectors tables --help -Usage: reth test-vectors tables [OPTIONS] [NAMES]... +Usage: seismic-reth test-vectors tables [OPTIONS] [NAMES]... Arguments: [NAMES]... @@ -110,4 +110,4 @@ Display: -q, --quiet Silence all log output -``` \ No newline at end of file +``` diff --git a/docs/vocs/docs/pages/installation/docker.mdx b/docs/vocs/docs/pages/installation/docker.mdx index ecf55f6b3d..983da5f3e7 100644 --- a/docs/vocs/docs/pages/installation/docker.mdx +++ b/docs/vocs/docs/pages/installation/docker.mdx @@ -48,6 +48,11 @@ To build the image from source, navigate to the root of the repository and run: docker build . -t reth:local ``` +If your build requires ssh private key to clone private repo, +```bash +docker buildx build --secret id=ssh_key,src=$ABSOLUTE_PATH_TO_SSH_PK -t reth:local . +``` + The build will likely take several minutes. Once it's built, test it with: ```bash diff --git a/docs/vocs/docs/pages/installation/source.mdx b/docs/vocs/docs/pages/installation/source.mdx index a7e1a2c33c..ccdc6efab7 100644 --- a/docs/vocs/docs/pages/installation/source.mdx +++ b/docs/vocs/docs/pages/installation/source.mdx @@ -4,10 +4,10 @@ description: How to build, update, and troubleshoot Reth from source. # Build from Source -You can build Reth on Linux, macOS, Windows, and Windows WSL2. +You can build Seismic Reth on Linux, macOS, Windows, and Windows WSL2. :::note -Reth does **not** work on Windows WSL1. +Seismic Reth does **not** work on Windows WSL1. ::: ## Dependencies @@ -35,27 +35,27 @@ operating system: - **macOS**: `brew install llvm pkg-config` - **Windows**: `choco install llvm` or `winget install LLVM.LLVM` -These are needed to build bindings for Reth's database. +These are needed to build bindings for Seismic Reth's database. The Minimum Supported Rust Version (MSRV) of this project is 1.80.0. If you already have a version of Rust installed, you can check your version by running `rustc --version`. To update your version of Rust, run `rustup update`. -## Build Reth +## Build Seismic Reth With Rust and the dependencies installed, you're ready to build Reth. First, clone the repository: ```bash -git clone https://github.com/paradigmxyz/reth -cd reth +git clone https://github.com/SeismicSystems/seismic-reth +cd seismic-reth ``` Then, install Reth into your `PATH` directly via: ```bash -cargo install --locked --path bin/reth --bin reth +cargo install --locked --path seismic-reth --bin seismic-reth ``` -The binary will now be accessible as `reth` via the command line, and exist under your default `.cargo/bin` folder. +The binary will now be accessible as `seismic-reth` via the command line, and exist under your default `.cargo/bin` folder. Alternatively, you can build yourself with: @@ -63,9 +63,9 @@ Alternatively, you can build yourself with: cargo build --release ``` -This will place the reth binary under `./target/release/reth`, and you can copy it to your directory of preference after that. +This will place the seismic-reth binary under `./target/release/seismic-reth`, and you can copy it to your directory of preference after that. -Compilation may take around 10 minutes. Installation was successful if `reth --help` displays the [command-line documentation](/cli/reth). +Compilation may take around 10 minutes. Installation was successful if `seismic-reth --help` displays the [command-line documentation](/cli/reth). If you run into any issues, please check the [Troubleshooting](#troubleshooting) section, or reach out to us on [Telegram](https://t.me/paradigm_reth). @@ -128,7 +128,7 @@ RUSTFLAGS="-C target-cpu=native" cargo build --profile maxperf --features jemall ### Command is not found -Reth will be installed to `CARGO_HOME` or `$HOME/.cargo`. This directory needs to be on your `PATH` before you can run `$ reth`. +Seismic Reth will be installed to `CARGO_HOME` or `$HOME/.cargo`. This directory needs to be on your `PATH` before you can run `$ seismic-reth`. See ["Configuring the `PATH` environment variable"](https://www.rust-lang.org/tools/install) for more information. @@ -137,7 +137,7 @@ See ["Configuring the `PATH` environment variable"](https://www.rust-lang.org/to Make sure you are running the latest version of Rust. If you have installed Rust using rustup, simply run `rustup update`. If you can't install the latest version of Rust you can instead compile using the Minimum Supported -Rust Version (MSRV) which is listed under the `rust-version` key in Reth's +Rust Version (MSRV) which is listed under the `rust-version` key in Seismic Reth's [Cargo.toml](https://github.com/paradigmxyz/reth/blob/main/Cargo.toml). If compilation fails with `(signal: 9, SIGKILL: kill)`, this could mean your machine ran out of @@ -155,6 +155,6 @@ _(Thanks to Sigma Prime for this section from [their Lighthouse book](https://li In WSL 2 on Windows, the default virtual disk size is set to 1TB. -You must increase the allocated disk size for your WSL2 instance before syncing reth. +You must increase the allocated disk size for your WSL2 instance before syncing seismic-reth. You can follow the instructions here: [how to expand the size of your WSL2 virtual hard disk.](https://learn.microsoft.com/en-us/windows/wsl/disk-space#how-to-expand-the-size-of-your-wsl-2-virtual-hard-disk) diff --git a/docs/vocs/docs/pages/overview.mdx b/docs/vocs/docs/pages/overview.mdx index 33bc607bd4..cc89b0e5fd 100644 --- a/docs/vocs/docs/pages/overview.mdx +++ b/docs/vocs/docs/pages/overview.mdx @@ -1,64 +1,40 @@ +# Seismic Reth [Documentation for Seismic Reth users and developers] + --- -description: Reth - A secure, performant, and modular blockchain SDK and Ethereum node. +description: Seismic Reth is an **Seismic full node implementation that is focused on being user-friendly, highly modular, as well as being fast and efficient.** --- -# Reth [Documentation for Reth users and developers] - -Reth (short for Rust Ethereum, [pronunciation](https://twitter.com/kelvinfichter/status/1597653609411268608)) is an **Ethereum full node implementation that is focused on being user-friendly, highly modular, as well as being fast and efficient.** +Seismic Reth is production ready, and suitable for usage in mission-critical environments such as staking or high-uptime services. We also actively recommend professional node operators to switch to Reth in production for performance and cost reasons in use cases where high performance with great margins is required such as RPC, MEV, Indexing, Simulations, and P2P activities. -Reth is production ready, and suitable for usage in mission-critical environments such as staking or high-uptime services. We also actively recommend professional node operators to switch to Reth in production for performance and cost reasons in use cases where high performance with great margins is required such as RPC, MEV, Indexing, Simulations, and P2P activities. + -![Reth](https://raw.githubusercontent.com/paradigmxyz/reth/main/assets/reth-prod.png) + ## What is this about? -[Reth](https://github.com/paradigmxyz/reth/) is an execution layer (EL) implementation that is compatible with all Ethereum consensus layer (CL) implementations that support the [Engine API](https://github.com/ethereum/execution-apis/tree/59e3a719021f48c1ef5653840e3ea5750e6af693/src/engine). +[Seismic Reth](https://github.com/SeismicSystems/seismic-reth) is an execution layer (EL) implementation that is compatible with all Ethereum consensus layer (CL) implementations that support the [Engine API](https://github.com/ethereum/execution-apis/tree/59e3a719021f48c1ef5653840e3ea5750e6af693/src/engine). -It is originally built and driven forward by [Paradigm](https://paradigm.xyz/), and is licensed under the Apache and MIT licenses. +It is originally built and driven forward by [Seismic Systems](https://www.seismic.systems/). -As a full Ethereum node, Reth allows users to connect to the Ethereum network and interact with the Ethereum blockchain. +As a full Seismic node, Reth allows users to connect to the Seismic network and interact with the Seismic blockchain. -This includes sending and receiving transactions, querying logs and traces, as well as accessing and interacting with smart contracts. +This includes sending and receiving encrypted transactions, querying logs, as well as accessing and interacting with smart contracts. -Building a successful Ethereum node requires creating a high-quality implementation that is both secure and efficient, as well as being easy to use on consumer hardware. It also requires building a strong community of contributors who can help support and improve the software. +Building a successful Seismic node requires creating a high-quality implementation that is both secure and efficient, as well as being easy to use on consumer hardware. It also requires building a strong community of contributors who can help support and improve the software. -## What are the goals of Reth? +## What are the goals of Seismic Reth? **1. Modularity** -Every component of Reth is built to be used as a library: well-tested, heavily documented and benchmarked. We envision that developers will import the node's crates, mix and match, and innovate on top of them. - -Examples of such usage include, but are not limited to, spinning up standalone P2P networks, talking directly to a node's database, or "unbundling" the node into the components you need. - -To achieve that, we are licensing Reth under the Apache/MIT permissive license. +Changes to the upstream Reth is minimized refactoring is continuously pushed to maintain the modularity of the upstream repository **2. Performance** -Reth aims to be fast, so we used Rust and the [Erigon staged-sync](https://erigon.substack.com/p/erigon-stage-sync-and-control-flows) node architecture. - -We also use our Ethereum libraries (including [Alloy](https://github.com/alloy-rs/alloy/) and [revm](https://github.com/bluealloy/revm/)) which we’ve battle-tested and optimized via [Foundry](https://github.com/foundry-rs/foundry/). - -**3. Free for anyone to use any way they want** - -Reth is free open-source software, built for the community, by the community. - -By licensing the software under the Apache/MIT license, we want developers to use it without being bound by business licenses, or having to think about the implications of GPL-like licenses. - -**4. Client Diversity** - -The Ethereum protocol becomes more antifragile when no node implementation dominates. This ensures that if there's a software bug, the network does not finalize a bad block. By building a new client, we hope to contribute to Ethereum's antifragility. - -**5. Used by a wide demographic** - -We want to solve for node operators that care about fast historical queries, but also for hobbyists who cannot operate on large hardware. - -We also want to support teams and individuals who want both sync from genesis and via "fast sync". - -We envision that Reth will be configurable enough for the tradeoffs that each team faces. +Seismic Reth aims to be fast, adding minimal overhead over Reth ## Who is this for? -Reth is a new Ethereum full node that allows users to sync and interact with the entire blockchain, including its historical state if in archive mode. +Seismic Reth is a new Seismic full node that allows users to sync and interact with the entire blockchain, including its historical state if in archive mode. - Full node: It can be used as a full node, which stores and processes the entire blockchain, validates blocks and transactions, and participates in the consensus process. - Archive node: It can also be used as an archive node, which stores the entire history of the blockchain and is useful for applications that need access to historical data. @@ -98,17 +74,15 @@ Want to set up metrics for your own Reth node? Check out our [monitoring guide]( Here are some useful sections to jump to: -- Install Reth by following the [guide](/installation/overview). +- Install Seismic Reth by following the [guide](/installation/overview). - Sync your node on any [official network](/run/overview). - View [statistics and metrics](/run/monitoring) about your node. - Query the [JSON-RPC](/jsonrpc/intro) using Foundry's `cast` or `curl`. - Set up your [development environment and contribute](/introduction/contributing)! :::note -The documentation is continuously rendered [here](https://reth.rs)! +The book is continuously rendered [here](https://seismicsystems.github.io/seismic-reth/)! You can contribute to the docs on [GitHub][gh-docs]. ::: -[tg-badge]: https://img.shields.io/endpoint?color=neon&logo=telegram&label=chat&url=https%3A%2F%2Ftg.sumanjay.workers.dev%2Fparadigm%5Freth -[tg-url]: https://t.me/paradigm_reth -[gh-docs]: https://github.com/paradigmxyz/reth/tree/main/docs +[gh-docs]: https://github.com/SeismicSystems/seismic-reth/tree/main/docs diff --git a/docs/vocs/docs/pages/seismic-developers.md b/docs/vocs/docs/pages/seismic-developers.md new file mode 100644 index 0000000000..07745bc5b2 --- /dev/null +++ b/docs/vocs/docs/pages/seismic-developers.md @@ -0,0 +1,52 @@ +# Seismic Developer + +#### Table of Contents + + - [Running a Local Full Node](#running-a-local-full-node) + - [Build a Reth Docker Image](#build-a-reth-docker-image) + - [Spin Up a Network of Nodes](#spin-up-a-network-of-nodes) + - [Debugging](#debugging) + +## Running a Local Full Node + +### Build a Reth Docker Image + +Add the ABSOLUTE file path to your SSH private key with GitHub as the value of the `src=` parameter when you run the following command. This is to build Reth's dependencies from Seismic's GitHub, if there are any. + +```bash +docker buildx build --secret id=ssh_key,src=[ABSOLUTE_PATH_TO_YOUR_SSH_PK] -t seismic-reth:local . +``` + +1. Because we use multistage builds during the creation of the final image, the SSH key is only copied to the intermediate image, which means that the final image will not contain your SSH keys. +2. In production environments, we can use `docker secret` to pass the same SSH keys. + +### Spin Up a Network of Nodes + +We use `kurtosis` and [ethereum-package](https://github.com/ethpandaops/ethereum-package) to spin up a network of nodes. + +``` +kurtosis run --enclave seismic-local github.com/ethpandaops/ethereum-package --args-file network_params.yaml +``` + +To verify that the nodes are brought up, you should be able to see the corresponding containers. + +* **vc-1**: Refers to Validator Client (VC). This is likely a Lighthouse validator client interacting with both the Reth execution client and Lighthouse beacon node for proposing and attesting blocks in Ethereum’s Proof of Stake consensus. +* **cl-1**: Refers to the Consensus Layer (CL). This is probably the Lighthouse beacon node responsible for maintaining consensus and communicating with the Reth execution client. +* **el-1**: Refers to the Execution Layer (EL). This is most likely the Reth execution client, which processes transactions, executes smart contracts, and maintains the Ethereum state. + +In particular, the above command does the following: + +1. Generates Execution Layer (EL) and Consensus Layer (CL) genesis information using [the Ethereum genesis generator](https://github.com/ethpandaops/ethereum-genesis-generator). +2. Configures and bootstraps a network of Ethereum nodes of *n* size using the genesis data generated above. +3. Spins up a [transaction spammer](https://github.com/MariusVanDerWijden/tx-fuzz) to send fake transactions to the network. +4. Spins up and connects a [testnet verifier](https://github.com/ethereum/merge-testnet-verifier). +5. Spins up a Grafana and Prometheus instance to observe the network. +6. Spins up a Blobscan instance to analyze blob transactions (EIP-4844). + +For more information, please see the [ethereum-package](https://github.com/ethpandaops/ethereum-package) documentation. We might want to fork this package for Seismic for more customizable testing, especially when enclaves start to get involved. + +### Debugging + +You can run `docker exec -it [CONTAINER_ID] bash` to debug a specific container. + +TODO: I don't think you can bring up more than one node using Kurtosis. There is currently a bug. \ No newline at end of file diff --git a/examples/exex-subscription/src/main.rs b/examples/exex-subscription/src/main.rs index b234c1c71f..1016fa5144 100644 --- a/examples/exex-subscription/src/main.rs +++ b/examples/exex-subscription/src/main.rs @@ -125,8 +125,8 @@ async fn my_exex( let diff = StorageDiff { address: *change.0, key: *key, - old_value: slot.original_value(), - new_value: slot.present_value(), + old_value: slot.original_value().into(), + new_value: slot.present_value().into(), }; // Send diff to all the active subscribers senders.retain(|sender| sender.send(diff).is_ok()); diff --git a/fork.yaml b/fork.yaml new file mode 100644 index 0000000000..e10527858f --- /dev/null +++ b/fork.yaml @@ -0,0 +1,105 @@ +# Uses https://github.com/protolambda/forkdiff to generate a diff overview index.html page. +# To use: +# 1. install forkdiff: `go install github.com/protolambda/forkdiff@latest` +# 2. run `forkdiff` +title: "SeismicSystems/seismic-reth" # Define the HTML page title +logo: "logo.png" +footer: | # define the footer with markdown + SeismicSystems' [seismic-reth](https://github.com/SeismicSystems/seismic-reth) fork overview - created with [Forkdiff](https://github.com/protolambda/forkdiff) +# We compare the fork against the base branch, which matches the upstream repo's main branch +# at the point where the fork was created. +base: + name: reth + url: https://github.com/SeismicSystems/seismic-reth + ref: refs/remotes/origin/main +fork: + name: seismic-reth + url: https://github.com/SeismicSystems/seismic-reth + ref: refs/remotes/origin/seismic +def: + title: "Seismic-Reth fork diff" + description: | # description in markdown + - Original reth codebase: [`https://github.com/paradigmxyz/reth`](https://github.com/paradigmxyz/reth). + - Seismic reth fork: [`https://github.com/SeismicSystems/seismic-reth`](https://github.com/SeismicSystems/seismic-reth). + sub: + - title: "Seismic crate" + description: | + TODO + sub: + - title: "evm" + globs: + - "crates/seismic/evm/**" + + - title: "node" + globs: + - "crates/seismic/node/**" + + - title: "rpc" + globs: + - "crates/seismic/rpc/**" + + - title: "primitives" + globs: + - "crates/seismic/primitives/**" + + - title: "txpool" + globs: + - "crates/seismic/txpool/**" + + - title: "chainspec" + globs: + - "crates/seismic/chainspec/**" + - "crates/seismic/hardforks/**" + + - title: "misc" + globs: + - "crates/seismic/**" + + - title: "Crates" + description: | + Changes to other crates in the repo. + sub: + - title: "trie" + globs: + - "crates/trie/**" + + - title: "storage" + globs: + - "crates/storage/**" + + - title: "Docs" + description: | + Changes to documentation files. + sub: + - title: "markdown docs" + globs: + - "**/*.md" + - "**/*.mdx" + + - title: "Tests" + description: | + tests ^.^ + sub: + - title: "tests" + globs: + - "**/tests/**" + - "testing/**" + + - title: "test utils" + globs: + - "crates/e2e-test-utils/**" + + - title: "CICD" + description: | + Changes to CICD workflows to support our custom testing and deployment. + sub: + - title: "Github workflows" + globs: + - ".github/**" + - ".circleci/**" + +# files can be ignored globally, these will be listed in a separate grayed-out section, +# and do not count towards the total line count. +ignore: + - "**/Cargo.lock" + - "fork.yaml" diff --git a/network_params.yaml b/network_params.yaml new file mode 100644 index 0000000000..15e69b6a9d --- /dev/null +++ b/network_params.yaml @@ -0,0 +1,11 @@ +participants: + - el_type: reth + el_image: seismic-reth + el_extra_params: ["--enclave.mock-server"] + cl_type: lighthouse + cl_image: sigp/lighthouse:v6.0.0 +additional_services: ["tx_spammer"] +tx_spammer_params: + image: seismic-spammer + tx_spammer_extra_args: [] +global_log_level: debug diff --git a/package.json b/package.json new file mode 100644 index 0000000000..5e8afb7276 --- /dev/null +++ b/package.json @@ -0,0 +1,12 @@ +{ + "workspaces": [ + "testing/viem-tests" + ], + "private": true, + "scripts": { + "viem:test": "bun run --cwd testing/viem-tests test" + }, + "dependencies": { + "seismic-viem": "^1.1.0" + } +} diff --git a/start-seismic-mainnet.sh b/start-seismic-mainnet.sh new file mode 100755 index 0000000000..31dba7e0d7 --- /dev/null +++ b/start-seismic-mainnet.sh @@ -0,0 +1,124 @@ +#!/bin/bash + +# Seismic Mainnet Reth Startup Script +# This script starts reth configured for Seismic mainnet with Engine API enabled +# Usage: ./start-seismic-mainnet.sh [--debug] [--clear] [additional args...] + +set -e + +# Parse flags +DEBUG_MODE=false +CLEAR_DATA=false +ARGS=() + +for arg in "$@"; do + case $arg in + --debug) + DEBUG_MODE=true + shift + ;; + --clear) + CLEAR_DATA=true + shift + ;; + *) + ARGS+=("$arg") + ;; + esac +done + +# Configuration +DATA_DIR="$HOME/.reth/seismic-mainnet" +JWT_SECRET_PATH="$DATA_DIR/jwt.hex" +IPC_PATH="/tmp/reth-engine.ipc" +ENGINE_PORT=8551 +HTTP_PORT=8545 +WS_PORT=8546 +P2P_PORT=30303 +GENESIS_DIR="crates/seismic/chainspec/res/genesis" +GENESIS_FILE="$GENESIS_DIR/dev.json" +GENESIS_URL="https://testnet-benchmarking.s3.us-west-2.amazonaws.com/bench_dev.json" + +# Debug configuration +if [ "$DEBUG_MODE" = true ]; then + LOG_LEVEL="debug" + LOG_TARGETS="reth::cli,reth_node_core,reth_engine_tree,reth_evm,reth_provider,reth_blockchain_tree,reth_seismic_evm,reth_seismic_node,reth_enclave,engine::tree" +else + LOG_LEVEL="info" + LOG_TARGETS="" +fi + +# Clear data directory if requested +if [ "$CLEAR_DATA" = true ]; then + if [ -d "$DATA_DIR" ]; then + echo "Clearing data directory: $DATA_DIR" + rm -rf "$DATA_DIR" + fi +fi + +# Create data directory if it doesn't exist +mkdir -p "$DATA_DIR" + +# Download genesis file if it doesn't exist +if [ ! -f "$GENESIS_FILE" ]; then + echo "Genesis file not found, downloading from $GENESIS_URL" + mkdir -p "$GENESIS_DIR" + if command -v curl >/dev/null 2>&1; then + curl -o "$GENESIS_FILE" "$GENESIS_URL" + elif command -v wget >/dev/null 2>&1; then + wget -O "$GENESIS_FILE" "$GENESIS_URL" + else + echo "Error: Neither curl nor wget found. Please install one of them or manually download:" + echo "$GENESIS_URL -> $GENESIS_FILE" + exit 1 + fi + echo "Genesis file downloaded successfully" +fi + +echo "Starting Seismic mainnet node..." +echo "Data directory: $DATA_DIR" +echo "Engine API: http://localhost:$ENGINE_PORT" +echo "Engine IPC: $IPC_PATH" +echo "HTTP RPC: http://localhost:$HTTP_PORT" +echo "WebSocket RPC: ws://localhost:$WS_PORT" +echo "Metrics: http://localhost:9001/metrics" +echo "Log level: $LOG_LEVEL" + +# Build logging arguments +LOG_ARGS=() +if [ "$DEBUG_MODE" = true ]; then + LOG_ARGS+=(--log.stdout.filter "$LOG_TARGETS=$LOG_LEVEL") + LOG_ARGS+=(--log.file.filter "$LOG_TARGETS=$LOG_LEVEL") + LOG_ARGS+=(-vvvv) # Very verbose +else + LOG_ARGS+=(--log.stdout.filter "$LOG_LEVEL") + LOG_ARGS+=(-vvv) # Info level +fi + +# Add environment variable for more detailed engine logs +export RUST_LOG="error,engine::tree=debug,reth_engine_tree=debug,reth_seismic_evm=debug,reth_evm=debug,reth_evm_ethereum=debug,reth_seismic_node=debug,reth_seismic_primitives=debug,reth_payload=debug" + +# Start seismic-reth with Seismic mainnet configuration +# Note: Using seismic-reth binary instead of standard reth +exec cargo run --bin seismic-reth --release -- node \ + --datadir "$DATA_DIR" \ + --port "$P2P_PORT" \ + --http \ + --http.port "$HTTP_PORT" \ + --http.addr 0.0.0.0 \ + --http.corsdomain "*" \ + --ws \ + --ws.port "$WS_PORT" \ + --ws.addr 0.0.0.0 \ + --auth-ipc \ + --auth-ipc.path "$IPC_PATH" \ + --authrpc.addr 0.0.0.0 \ + --discovery.port "$P2P_PORT" \ + --metrics 0.0.0.0:9001 \ + --enclave.mock-server \ + --enclave.endpoint-port 1477 \ + --rpc.max-connections 40000 \ + --txpool.pending-max-count 40000 \ + --txpool.pending-max-size 160 \ + "${LOG_ARGS[@]}" \ + "${ARGS[@]}" diff --git a/testing/ef-tests/Cargo.toml b/testing/ef-tests/Cargo.toml index 6b11e29c70..306f923554 100644 --- a/testing/ef-tests/Cargo.toml +++ b/testing/ef-tests/Cargo.toml @@ -13,9 +13,12 @@ workspace = true [features] ef-tests = [] +timestamp-in-seconds = ["revm/timestamp-in-seconds"] asm-keccak = ["alloy-primitives/asm-keccak", "revm/asm-keccak"] [dependencies] +seismic-alloy-genesis.workspace = true + reth-chainspec.workspace = true reth-ethereum-primitives.workspace = true reth-primitives-traits.workspace = true diff --git a/testing/ef-tests/src/lib.rs b/testing/ef-tests/src/lib.rs index ca5e47d2d3..0305f943c0 100644 --- a/testing/ef-tests/src/lib.rs +++ b/testing/ef-tests/src/lib.rs @@ -3,7 +3,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/paradigmxyz/reth/main/assets/reth-docs.png", html_favicon_url = "https://avatars0.githubusercontent.com/u/97369466?s=256", - issue_tracker_base_url = "https://github.com/paradigmxyz/reth/issues/" + issue_tracker_base_url = "https://github.com/SeismicSystems/seismic-reth/issues/" )] #![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))] diff --git a/testing/ef-tests/src/models.rs b/testing/ef-tests/src/models.rs index 49c49bf193..7220a9dd61 100644 --- a/testing/ef-tests/src/models.rs +++ b/testing/ef-tests/src/models.rs @@ -3,14 +3,16 @@ use crate::{assert::assert_equal, Error}; use alloy_consensus::Header as RethHeader; use alloy_eips::eip4895::Withdrawals; -use alloy_genesis::GenesisAccount; use alloy_primitives::{keccak256, Address, Bloom, Bytes, B256, B64, U256}; use reth_chainspec::{ChainSpec, ChainSpecBuilder, EthereumHardfork, ForkCondition}; use reth_db_api::{cursor::DbDupCursorRO, tables, transaction::DbTx}; use reth_primitives_traits::SealedHeader; +use seismic_alloy_genesis::GenesisAccount; use serde::Deserialize; use std::{collections::BTreeMap, ops::Deref}; +use alloy_primitives::FlaggedStorage; + /// The definition of a blockchain test. #[derive(Debug, PartialEq, Eq, Deserialize)] #[serde(rename_all = "camelCase")] @@ -155,6 +157,7 @@ pub struct State(BTreeMap); impl State { /// Return state as genesis state. pub fn into_genesis_state(self) -> BTreeMap { + let is_private = false; // testing helper assume no private state self.0 .into_iter() .map(|(address, account)| { @@ -165,7 +168,10 @@ impl State { .map(|(k, v)| { ( B256::from_slice(&k.to_be_bytes::<32>()), - B256::from_slice(&v.to_be_bytes::<32>()), + FlaggedStorage::new( + U256::from_be_bytes(v.to_be_bytes::<32>()), + is_private, + ), ) }) .collect(); @@ -237,7 +243,7 @@ impl Account { if U256::from_be_bytes(entry.key.0) == *slot { assert_equal( *value, - entry.value, + entry.value.value, &format!("Storage for slot {slot:?} does not match"), )?; } else { diff --git a/testing/testing-utils/Cargo.toml b/testing/testing-utils/Cargo.toml index 06e73631ef..36a89d4072 100644 --- a/testing/testing-utils/Cargo.toml +++ b/testing/testing-utils/Cargo.toml @@ -15,7 +15,7 @@ workspace = true reth-ethereum-primitives = { workspace = true, features = ["arbitrary", "std"] } reth-primitives-traits = { workspace = true, features = ["secp256k1", "arbitrary"] } -alloy-genesis.workspace = true +seismic-alloy-genesis.workspace = true alloy-primitives = { workspace = true, features = ["rand"] } alloy-consensus.workspace = true alloy-eips.workspace = true diff --git a/testing/testing-utils/src/generators.rs b/testing/testing-utils/src/generators.rs index b35ae13a81..0373b38538 100644 --- a/testing/testing-utils/src/generators.rs +++ b/testing/testing-utils/src/generators.rs @@ -8,7 +8,7 @@ use alloy_eips::{ eip4895::{Withdrawal, Withdrawals}, NumHash, }; -use alloy_primitives::{Address, BlockNumber, Bytes, TxKind, B256, B64, U256}; +use alloy_primitives::{Address, BlockNumber, Bytes, FlaggedStorage, TxKind, B256, B64, U256}; pub use rand::Rng; use rand::{distr::uniform::SampleRange, rngs::StdRng, SeedableRng}; use reth_ethereum_primitives::{Block, BlockBody, Receipt, Transaction, TransactionSigned}; @@ -313,7 +313,9 @@ where { let mut state: BTreeMap<_, _> = accounts .into_iter() - .map(|(addr, (acc, st))| (addr, (acc, st.into_iter().map(|e| (e.key, e.value)).collect()))) + .map(|(addr, (acc, st))| { + (addr, (acc, st.into_iter().map(|e| (e.key, e.value)).collect::>())) + }) .collect(); let valid_addresses = state.keys().copied().collect::>(); @@ -337,21 +339,31 @@ where prev_from.balance = prev_from.balance.wrapping_sub(transfer); // deposit in receiving account and update storage - let (prev_to, storage): &mut (Account, BTreeMap) = state.get_mut(&to).unwrap(); + let (prev_to, storage): &mut (Account, BTreeMap) = + state.get_mut(&to).unwrap(); let mut old_entries: Vec<_> = new_entries .into_iter() .filter_map(|entry| { let old = if entry.value.is_zero() { let old = storage.remove(&entry.key); - if matches!(old, Some(U256::ZERO)) { - return None + if let Some(old_stored) = old { + if old_stored.is_zero() { + return None; + } } old } else { storage.insert(entry.key, entry.value) }; - Some(StorageEntry { value: old.unwrap_or(U256::ZERO), ..entry }) + match old { + Some(old_value) => { + return Some(StorageEntry { value: old_value, ..entry }); + } + None => { + return Some(StorageEntry { key: entry.key, value: FlaggedStorage::ZERO }); + } + } }) .collect(); old_entries.sort_by_key(|entry| entry.key); @@ -412,7 +424,7 @@ pub fn random_storage_entry(rng: &mut R, key_range: Range) -> Stora }); let value = U256::from(rng.random::()); - StorageEntry { key, value } + StorageEntry::new(key, value, false) } /// Generate random Externally Owned Account (EOA account without contract). diff --git a/testing/testing-utils/src/genesis_allocator.rs b/testing/testing-utils/src/genesis_allocator.rs index e486f884a8..1764a0657f 100644 --- a/testing/testing-utils/src/genesis_allocator.rs +++ b/testing/testing-utils/src/genesis_allocator.rs @@ -1,13 +1,13 @@ //! Helps create a custom genesis alloc by making it easy to add funded accounts with known //! signers to the genesis block. -use alloy_genesis::GenesisAccount; use alloy_primitives::{Address, Bytes, B256, U256}; use reth_primitives_traits::crypto::secp256k1::public_key_to_address; use secp256k1::{ rand::{thread_rng, RngCore}, Keypair, Secp256k1, }; +use seismic_alloy_genesis::GenesisAccount; use std::{ collections::{hash_map::Entry, BTreeMap, HashMap}, fmt, @@ -109,6 +109,8 @@ impl<'a> GenesisAllocator<'a> { let pair = Keypair::new(&secp, &mut self.rng); let address = public_key_to_address(pair.public_key()); + let storage = seismic_alloy_genesis::convert_fixedbytes_map_to_flagged_storage(storage); + self.alloc.insert( address, GenesisAccount::default().with_balance(balance).with_storage(Some(storage)), @@ -129,6 +131,8 @@ impl<'a> GenesisAllocator<'a> { let pair = Keypair::new(&secp, &mut self.rng); let address = public_key_to_address(pair.public_key()); + let storage = seismic_alloy_genesis::convert_fixedbytes_map_to_flagged_storage(storage); + self.alloc.insert( address, GenesisAccount::default().with_code(Some(code)).with_storage(Some(storage)), diff --git a/testing/testing-utils/src/lib.rs b/testing/testing-utils/src/lib.rs index c593d30646..8a574899c3 100644 --- a/testing/testing-utils/src/lib.rs +++ b/testing/testing-utils/src/lib.rs @@ -3,7 +3,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/paradigmxyz/reth/main/assets/reth-docs.png", html_favicon_url = "https://avatars0.githubusercontent.com/u/97369466?s=256", - issue_tracker_base_url = "https://github.com/paradigmxyz/reth/issues/" + issue_tracker_base_url = "https://github.com/SeismicSystems/seismic-reth/issues/" )] #![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))] #![cfg_attr(not(test), warn(unused_crate_dependencies))] diff --git a/testing/viem-tests/.env.example b/testing/viem-tests/.env.example new file mode 100644 index 0000000000..2d89e008c4 --- /dev/null +++ b/testing/viem-tests/.env.example @@ -0,0 +1,3 @@ +SRETH_ROOT=/home/runner/work/seismic-reth/seismic-reth # should point to the root of the local seismic-reth repo +RETH_DATA_DIR=~/.seismic-reth/data +RETH_STATIC_FILES=~/.seismic-reth/static_files \ No newline at end of file diff --git a/testing/viem-tests/.gitignore b/testing/viem-tests/.gitignore new file mode 100644 index 0000000000..a14702c409 --- /dev/null +++ b/testing/viem-tests/.gitignore @@ -0,0 +1,34 @@ +# dependencies (bun install) +node_modules + +# output +out +dist +*.tgz + +# code coverage +coverage +*.lcov + +# logs +logs +_.log +report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# caches +.eslintcache +.cache +*.tsbuildinfo + +# IntelliJ based IDEs +.idea + +# Finder (MacOS) folder config +.DS_Store diff --git a/testing/viem-tests/README.md b/testing/viem-tests/README.md new file mode 100644 index 0000000000..b6122d78bf --- /dev/null +++ b/testing/viem-tests/README.md @@ -0,0 +1,19 @@ +# Seismic Viem tests + +To install dependencies: + +```bash +bun install +``` + +To run tests: + +```bash +bun test +``` + +Note: These tests assume the .env is set up. See `.env.example` for an example. +The tests do not actually check the .env rn. run the tests with something like: +```bash +SRETH_ROOT=$SRETH_ROOT RETH_DATA_DIR=$RETH_DATA_DIR RETH_STATIC_FILES=$RETH_STATIC_FILES bun viem:test +``` \ No newline at end of file diff --git a/testing/viem-tests/package.json b/testing/viem-tests/package.json new file mode 100644 index 0000000000..1f03a5d194 --- /dev/null +++ b/testing/viem-tests/package.json @@ -0,0 +1,20 @@ +{ + "name": "client-tests", + "private": true, + "scripts": { + "test": "bun test" + }, + "module": "index.ts", + "type": "module", + "devDependencies": { + "@types/bun": "latest" + }, + "peerDependencies": { + "typescript": "^5.8.2" + }, + "dependencies": { + "seismic-viem": "^1.1.0", + "seismic-viem-tests": "^0.1.2", + "viem": "^2.44.1" + } +} diff --git a/testing/viem-tests/tsconfig.json b/testing/viem-tests/tsconfig.json new file mode 100644 index 0000000000..238655f2ce --- /dev/null +++ b/testing/viem-tests/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + // Enable latest features + "lib": ["ESNext", "DOM"], + "target": "ESNext", + "module": "ESNext", + "moduleDetection": "force", + "jsx": "react-jsx", + "allowJs": true, + + // Bundler mode + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "noEmit": true, + + // Best practices + "strict": true, + "skipLibCheck": true, + "noFallthroughCasesInSwitch": true, + + // Some stricter flags (disabled by default) + "noUnusedLocals": false, + "noUnusedParameters": false, + "noPropertyAccessFromIndexSignature": false + } +} diff --git a/testing/viem-tests/viem.test.ts b/testing/viem-tests/viem.test.ts new file mode 100644 index 0000000000..c94169e9de --- /dev/null +++ b/testing/viem-tests/viem.test.ts @@ -0,0 +1,211 @@ +import { encodeFunctionData, http, parseEther, stringToBytes, stringToHex, type Chain } from "viem"; +import { + AesGcmCrypto, + createShieldedWalletClient, + localSeismicDevnet, + randomEncryptionNonce, + signSeismicTxTypedData, + stringifyBigInt, +} from "seismic-viem"; +import { privateKeyToAccount } from "viem/accounts"; +import { beforeAll, afterAll, describe, test, expect } from "bun:test"; +import { + setupNode, + testAesKeygen, + testAesGcm, + testEcdh, + testHkdfHex, + testHkdfString, + testRng, + testRngWithPers, + testSecp256k1, + testSeismicCallTypedData, + testSeismicTx, + testSeismicTxEncoding, + testSeismicTxTypedData, + testSeismicTxTrace, + testWsConnection, + buildNode, + testLegacyTxTrace, + setupRethNode, +} from "seismic-viem-tests"; + +const TIMEOUT_MS = 20_000 +const LONG_TIMEOUT_MS = 60_000 +const chain = localSeismicDevnet +const port = 8545 + +const TEST_ACCOUNT_PRIVATE_KEY = + "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"; +const account = privateKeyToAccount(TEST_ACCOUNT_PRIVATE_KEY); +const encryptionSk = + "0x311d54d3bf8359c70827122a44a7b4458733adce3c51c6b59d9acfce85e07505"; +const encryptionPubkey = + "0x028e76821eb4d77fd30223ca971c49738eb5b5b71eabe93f96b348fdce788ae5a0"; + +let url: string +let wsUrl: string +let exitProcess: () => Promise; +let pcParams: { chain: Chain; url: string }; + +const HOST: string | null = null // "node-2.seismicdev.net"; + +beforeAll(async () => { + if (HOST !== null) { + url = `https://${HOST}/rpc`; + wsUrl = `wss://${HOST}/ws`; + exitProcess = async () => { + process.exit(0); + } + return + } + await buildNode(chain); + const debug = false; + const baseArgs = { port, ws: true, devBlockTimeSeconds: 1 } + const rethArgs = debug + ? { silent: false, verbosity: 4, ...baseArgs } + : baseArgs + + const node = await setupRethNode(rethArgs) + pcParams = { chain, url: node.url } + exitProcess = node.exitProcess; + url = node.url + wsUrl = `ws://localhost:${port}` +}); + +describe("Seismic Contract", async () => { + test( + "deploy & call contracts with seismic tx", + async () => { + await testSeismicTx({ chain, url, account }); + }, + { + timeout: LONG_TIMEOUT_MS, + } + ); +}); + +describe("Seismic Transaction Encoding", async () => { + test( + "node detects and parses seismic transaction", + async () => { + await testSeismicTxEncoding({ + chain, + account, + url, + encryptionSk, + encryptionPubkey, + }); + }, + { + timeout: TIMEOUT_MS, + } + ); +}); + +describe("Typed Data", async () => { + test( + "client can sign a seismic typed message", + async () => { + await testSeismicCallTypedData({ + chain, + account, + url, + encryptionSk, + encryptionPubkey, + }); + }, + { timeout: TIMEOUT_MS } + ); + + test( + "client can sign via eth_signTypedData", + async () => { + await testSeismicTxTypedData({ + account, + chain, + url, + encryptionSk, + encryptionPubkey, + }); + }, + { timeout: TIMEOUT_MS } + ); +}); + +describe("AES", async () => { + test("generates AES key correctly", testAesKeygen); +}); + +describe("Websocket Connection", () => { + test( + "should connect to the ws", + async () => { + await testWsConnection({ + chain, + wsUrl, + }); + }, + { timeout: TIMEOUT_MS } + ); +}); + +describe("Seismic Precompiles", async () => { + test("RNG(1)", async () => await testRng({ chain, url }, 1), { + timeout: TIMEOUT_MS, + }); + test("RNG(8)", async () => await testRng({ chain, url }, 8), { + timeout: TIMEOUT_MS, + }); + test("RNG(16)", async () => await testRng({ chain, url }, 16), { + timeout: TIMEOUT_MS, + }); + test("RNG(32)", async () => await testRng({ chain, url }, 32), { + timeout: TIMEOUT_MS, + }); + test( + "RNG(32, pers)", + async () => await testRngWithPers({ chain, url }, 32), + { + timeout: TIMEOUT_MS, + } + ); + test("ECDH", async () => await testEcdh({ chain, url }), { + timeout: TIMEOUT_MS, + }); + test("HKDF(string)", async () => await testHkdfString({ chain, url }), { + timeout: TIMEOUT_MS, + }); + test("HKDF(hex)", async () => await testHkdfHex({ chain, url }), { + timeout: TIMEOUT_MS, + }); + test("AES-GCM", async () => await testAesGcm({ chain, url }), { + timeout: TIMEOUT_MS, + }); + test("secp256k1", async () => await testSecp256k1({ chain, url }), { + timeout: TIMEOUT_MS, + }); +}); + +describe("Transaction Trace", async () => { + test( + "Seismic Tx removes input from trace", + async () => { + await testSeismicTxTrace({ chain, url, account }); + }, + { + timeout: TIMEOUT_MS, + } + ); + test( + "Legacy Tx keeps input in trace", + async () => { + await testLegacyTxTrace({ chain, url, account }); + }, + { timeout: TIMEOUT_MS } + ); +}); + +afterAll(async () => { + await exitProcess(); +});