diff --git a/.github/workflows/check-rust.yml b/.github/workflows/check-rust.yml index 4e2123e41..599f14589 100644 --- a/.github/workflows/check-rust.yml +++ b/.github/workflows/check-rust.yml @@ -1,13 +1,14 @@ -name: Rust build, benchmarks, and tests +name: CI concurrency: group: ci-${{ github.ref }} cancel-in-progress: true -## + on: - ## - # Run automatically for any push that changes Rust file(s) + ## Run automatically for all PRs against main, regardless of what the changes are + ## to be safe and so we can more easily force re-run the CI when github is being + ## weird by using a blank commit push: branches: [main, development, staging] @@ -24,48 +25,225 @@ on: required: false default: "" -## env: CARGO_TERM_COLOR: always VERBOSE: ${{ github.events.input.verbose }} -## -# jobs: - check: - name: Tests targeting ${{ matrix.rust-target }} for OS ${{ matrix.os }} + # runs cargo fmt + cargo-fmt: + name: cargo fmt runs-on: SubtensorCI - - ## - # Define multiple targets for builds and tests strategy: matrix: rust-branch: - - nightly-2023-01-18 - + - nightly-2024-03-05 rust-target: - x86_64-unknown-linux-gnu # - x86_64-apple-darwin + os: + - ubuntu-latest + # - macos-latest + include: + - os: ubuntu-latest + # - os: macos-latest + env: + RELEASE_NAME: development + # RUSTFLAGS: -A warnings + RUSTV: ${{ matrix.rust-branch }} + RUST_BACKTRACE: full + RUST_BIN_DIR: target/${{ matrix.rust-target }} + SKIP_WASM_BUILD: 1 + TARGET: ${{ matrix.rust-target }} + steps: + - name: Check-out repository under $GITHUB_WORKSPACE + uses: actions/checkout@v2 + + - name: Install dependencies + run: sudo apt-get update && sudo apt-get install -y build-essential + - name: Install Rust ${{ matrix.rust-branch }} + uses: actions-rs/toolchain@v1.0.6 + with: + toolchain: ${{ matrix.rust-branch }} + components: rustfmt + profile: minimal + + - name: cargo fmt + run: cargo fmt --check --all + + # runs cargo check --workspace + cargo-check: + name: cargo check + runs-on: SubtensorCI + strategy: + matrix: + rust-branch: + - nightly-2024-03-05 + rust-target: + - x86_64-unknown-linux-gnu + # - x86_64-apple-darwin os: - ubuntu-latest # - macos-latest + include: + - os: ubuntu-latest + # - os: macos-latest + env: + RELEASE_NAME: development + # RUSTFLAGS: -A warnings + RUSTV: ${{ matrix.rust-branch }} + RUST_BACKTRACE: full + RUST_BIN_DIR: target/${{ matrix.rust-target }} + SKIP_WASM_BUILD: 1 + TARGET: ${{ matrix.rust-target }} + steps: + - name: Check-out repository under $GITHUB_WORKSPACE + uses: actions/checkout@v2 + + - name: Install dependencies + run: | + sudo apt-get update && + sudo apt-get install -y clang curl libssl-dev llvm libudev-dev protobuf-compiler + + - name: Install Rust ${{ matrix.rust-branch }} + uses: actions-rs/toolchain@v1.0.6 + with: + toolchain: ${{ matrix.rust-branch }} + components: rustfmt, clippy + profile: minimal + + - name: Utilize Shared Rust Cache + uses: Swatinem/rust-cache@v2.2.1 + with: + key: ${{ matrix.os }}-${{ env.RUST_BIN_DIR }} + - name: cargo check --workspace + run: cargo check --workspace + + # runs cargo test --workspace + cargo-test: + name: cargo test + runs-on: SubtensorCI + strategy: + matrix: + rust-branch: + - nightly-2024-03-05 + rust-target: + - x86_64-unknown-linux-gnu + # - x86_64-apple-darwin + os: + - ubuntu-latest + # - macos-latest include: - os: ubuntu-latest # - os: macos-latest + env: + RELEASE_NAME: development + # RUSTFLAGS: -A warnings + RUSTV: ${{ matrix.rust-branch }} + RUST_BACKTRACE: full + RUST_BIN_DIR: target/${{ matrix.rust-target }} + SKIP_WASM_BUILD: 1 + TARGET: ${{ matrix.rust-target }} + steps: + - name: Check-out repository under $GITHUB_WORKSPACE + uses: actions/checkout@v2 + + - name: Install dependencies + run: | + sudo apt-get update && + sudo apt-get install -y clang curl libssl-dev llvm libudev-dev protobuf-compiler + + - name: Install Rust ${{ matrix.rust-branch }} + uses: actions-rs/toolchain@v1.0.6 + with: + toolchain: ${{ matrix.rust-branch }} + components: rustfmt, clippy + profile: minimal + + - name: Utilize Rust shared cached + uses: Swatinem/rust-cache@v2.2.1 + with: + key: ${{ matrix.os }}-${{ env.RUST_BIN_DIR }} - ## + - name: cargo test --workspace + run: cargo test --workspace + + # runs cargo test --workspace --features=runtime-benchmarks + cargo-test-benchmarks: + name: cargo test w/benchmarks + runs-on: SubtensorCI + strategy: + matrix: + rust-branch: + - nightly-2024-03-05 + rust-target: + - x86_64-unknown-linux-gnu + # - x86_64-apple-darwin + os: + - ubuntu-latest + # - macos-latest + include: + - os: ubuntu-latest + # - os: macos-latest env: RELEASE_NAME: development - RUSTFLAGS: -A warnings + # RUSTFLAGS: -A warnings RUSTV: ${{ matrix.rust-branch }} RUST_BACKTRACE: full RUST_BIN_DIR: target/${{ matrix.rust-target }} SKIP_WASM_BUILD: 1 TARGET: ${{ matrix.rust-target }} + steps: + - name: Check-out repository under $GITHUB_WORKSPACE + uses: actions/checkout@v2 + + - name: Install dependencies + run: | + sudo apt-get update && + sudo apt-get install -y clang curl libssl-dev llvm libudev-dev protobuf-compiler - ## + - name: Install Rust ${{ matrix.rust-branch }} + uses: actions-rs/toolchain@v1.0.6 + with: + toolchain: ${{ matrix.rust-branch }} + components: rustfmt, clippy + profile: minimal + + - name: Utilize Rust shared cached + uses: Swatinem/rust-cache@v2.2.1 + with: + key: ${{ matrix.os }}-${{ env.RUST_BIN_DIR }} + + - name: cargo test --workspace --features=runtime-benchmarks + run: cargo test --workspace --features=runtime-benchmarks + + # runs cargo clippy + clippy: + name: cargo clippy + runs-on: SubtensorCI + strategy: + matrix: + rust-branch: + - nightly-2024-03-05 + rust-target: + - x86_64-unknown-linux-gnu + # - x86_64-apple-darwin + os: + - ubuntu-latest + # - macos-latest + include: + - os: ubuntu-latest + # - os: macos-latest + env: + RELEASE_NAME: development + # RUSTFLAGS: -A warnings + RUSTV: ${{ matrix.rust-branch }} + RUST_BACKTRACE: full + RUST_BIN_DIR: target/${{ matrix.rust-target }} + SKIP_WASM_BUILD: 1 + TARGET: ${{ matrix.rust-target }} steps: - name: Check-out repository under $GITHUB_WORKSPACE uses: actions/checkout@v2 @@ -73,12 +251,13 @@ jobs: - name: Install dependencies run: | sudo apt-get update && - sudo apt-get install -y git clang curl libssl-dev llvm libudev-dev protobuf-compiler + sudo apt-get install -y clang curl libssl-dev llvm libudev-dev protobuf-compiler - name: Install Rust ${{ matrix.rust-branch }} uses: actions-rs/toolchain@v1.0.6 with: toolchain: ${{ matrix.rust-branch }} + components: rustfmt, clippy profile: minimal - name: Utilize Rust shared cached @@ -86,21 +265,69 @@ jobs: with: key: ${{ matrix.os }}-${{ env.RUST_BIN_DIR }} - - name: cargo fmt - run: cargo fmt --check + - name: cargo clippy + run: | + cargo clippy -- -D clippy::panic \ + -D clippy::todo \ + -D clippy::unimplemented +# -D clippy::indexing_slicing \ +# -D clippy::unwrap_used \ - ## TODO: maybe use `if` conditions in tests to target `--package ` - - name: cargo test - # timeout-minutes: 30 - run: cargo test --workspace + # ensures cargo fix has no trivial changes that can be applied + cargo-fix: + name: cargo fix + runs-on: SubtensorCI + strategy: + matrix: + rust-branch: + - nightly-2024-03-05 + rust-target: + - x86_64-unknown-linux-gnu + # - x86_64-apple-darwin + os: + - ubuntu-latest + # - macos-latest + include: + - os: ubuntu-latest + # - os: macos-latest + env: + RELEASE_NAME: development + # RUSTFLAGS: -A warnings + RUSTV: ${{ matrix.rust-branch }} + RUST_BACKTRACE: full + RUST_BIN_DIR: target/${{ matrix.rust-target }} + SKIP_WASM_BUILD: 1 + TARGET: ${{ matrix.rust-target }} + steps: + - name: Check-out repository under $GITHUB_WORKSPACE + uses: actions/checkout@v2 - - name: Run benchmarks - # timeout-minutes: 30 + - name: Install dependencies run: | - pushd node && - cargo build --features=runtime-benchmarks --release + sudo apt-get update && + sudo apt-get install -y clang curl libssl-dev llvm libudev-dev protobuf-compiler - - name: Build executable - # timeout-minutes: 30 - run: cargo build --release + - name: Install Rust ${{ matrix.rust-branch }} + uses: actions-rs/toolchain@v1.0.6 + with: + toolchain: ${{ matrix.rust-branch }} + components: rustfmt, clippy + profile: minimal + + - name: Utilize Rust shared cached + uses: Swatinem/rust-cache@v2.2.1 + with: + key: ${{ matrix.os }}-${{ env.RUST_BIN_DIR }} + + - name: cargo fix --workspace + run: | + # Run cargo fix on the project + cargo fix --workspace + # Check for local git changes + if ! git diff --exit-code; then + echo "There are local changes after running 'cargo fix --workspace' ❌" + exit 1 + else + echo "No changes detected after running 'cargo fix --workspace' ✅" + fi diff --git a/Cargo.lock b/Cargo.lock index 77ba885b1..bf3709731 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -14,20 +14,20 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.17.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" +checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" dependencies = [ - "gimli 0.26.2", + "gimli 0.27.3", ] [[package]] name = "addr2line" -version = "0.19.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" dependencies = [ - "gimli 0.27.1", + "gimli 0.28.1", ] [[package]] @@ -38,149 +38,149 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "aead" -version = "0.3.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" dependencies = [ - "generic-array 0.14.6", + "crypto-common", + "generic-array 0.14.7", ] [[package]] -name = "aead" -version = "0.4.3" +name = "aes" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ - "generic-array 0.14.6", - "rand_core 0.6.4", + "cfg-if", + "cipher", + "cpufeatures", ] [[package]] -name = "aes" -version = "0.6.0" +name = "aes-gcm" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "884391ef1066acaa41e766ba8f596341b96e93ce34f9a43e7d24bf0a0eaf0561" +checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" dependencies = [ - "aes-soft", - "aesni", - "cipher 0.2.5", + "aead", + "aes", + "cipher", + "ctr", + "ghash", + "subtle", ] [[package]] -name = "aes" -version = "0.7.5" +name = "ahash" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" dependencies = [ - "cfg-if", - "cipher 0.3.0", - "cpufeatures", - "opaque-debug 0.3.0", + "getrandom 0.2.12", + "once_cell", + "version_check", ] [[package]] -name = "aes-gcm" -version = "0.8.0" +name = "ahash" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5278b5fabbb9bd46e24aa69b2fdea62c99088e0a950a9be40e3e0101298f88da" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ - "aead 0.3.2", - "aes 0.6.0", - "cipher 0.2.5", - "ctr 0.6.0", - "ghash 0.3.1", - "subtle", + "cfg-if", + "getrandom 0.2.12", + "once_cell", + "version_check", + "zerocopy", ] [[package]] -name = "aes-gcm" -version = "0.9.4" +name = "aho-corasick" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df5f85a83a7d8b0442b6aa7b504b8212c1733da07b98aae43d4bc21b2cb3cdf6" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" dependencies = [ - "aead 0.4.3", - "aes 0.7.5", - "cipher 0.3.0", - "ctr 0.8.0", - "ghash 0.4.4", - "subtle", + "memchr", ] [[package]] -name = "aes-soft" -version = "0.6.4" +name = "android-tzdata" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be14c7498ea50828a38d0e24a765ed2effe92a705885b57d029cd67d45744072" -dependencies = [ - "cipher 0.2.5", - "opaque-debug 0.3.0", -] +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" [[package]] -name = "aesni" -version = "0.10.0" +name = "android_system_properties" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea2e11f5e94c2f7d386164cc2aa1f97823fed6f259e486940a71c174dd01b0ce" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" dependencies = [ - "cipher 0.2.5", - "opaque-debug 0.3.0", + "libc", ] [[package]] -name = "ahash" -version = "0.7.6" +name = "ansi_term" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" dependencies = [ - "getrandom 0.2.8", - "once_cell", - "version_check", + "winapi", ] [[package]] -name = "ahash" -version = "0.8.3" +name = "anstream" +version = "0.6.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" dependencies = [ - "cfg-if", - "getrandom 0.2.8", - "once_cell", - "version_check", + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "utf8parse", ] [[package]] -name = "aho-corasick" -version = "0.7.20" +name = "anstyle" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" +checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" + +[[package]] +name = "anstyle-parse" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" dependencies = [ - "memchr", + "utf8parse", ] [[package]] -name = "android_system_properties" -version = "0.1.5" +name = "anstyle-query" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" dependencies = [ - "libc", + "windows-sys 0.52.0", ] [[package]] -name = "ansi_term" -version = "0.12.1" +name = "anstyle-wincon" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" +checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" dependencies = [ - "winapi", + "anstyle", + "windows-sys 0.52.0", ] [[package]] name = "anyhow" -version = "1.0.69" +version = "1.0.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" +checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1" [[package]] name = "approx" @@ -191,23 +191,17 @@ dependencies = [ "num-traits", ] -[[package]] -name = "arc-swap" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" - [[package]] name = "array-bytes" -version = "4.2.0" +version = "6.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52f63c5c1316a16a4b35eaac8b76a98248961a533f061684cb2a7cb0eafb6c6" +checksum = "6f840fb7195bcfc5e17ea40c26e5ce6d5b9ce5d584466e17703209657e459ae0" [[package]] name = "arrayref" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" [[package]] name = "arrayvec" @@ -217,52 +211,24 @@ checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" [[package]] name = "arrayvec" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" - -[[package]] -name = "asn1-rs" -version = "0.3.1" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ff05a702273012438132f449575dbc804e27b2f3cbe3069aa237d26c98fa33" -dependencies = [ - "asn1-rs-derive 0.1.0", - "asn1-rs-impl", - "displaydoc", - "nom", - "num-traits", - "rusticata-macros", - "thiserror", - "time 0.3.17", -] +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" [[package]] name = "asn1-rs" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf6690c370453db30743b373a60ba498fc0d6d83b11f4abfd87a84a075db5dd4" +checksum = "7f6fd5ddaf0351dff5b8da21b2fb4ff8e08ddd02857f0bf69c47639106c0fff0" dependencies = [ - "asn1-rs-derive 0.4.0", + "asn1-rs-derive", "asn1-rs-impl", "displaydoc", "nom", "num-traits", "rusticata-macros", "thiserror", - "time 0.3.17", -] - -[[package]] -name = "asn1-rs-derive" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db8b7511298d5b7784b40b092d9e9dcd3a627a5707e4b5e507931ab0d44eeebf" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.107", - "synstructure", + "time", ] [[package]] @@ -273,7 +239,7 @@ checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 1.0.109", "synstructure", ] @@ -285,75 +251,94 @@ checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 1.0.109", ] [[package]] -name = "asn1_der" -version = "0.7.5" +name = "async-channel" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e22d1f4b888c298a027c99dc9048015fac177587de20fc30232a057dfbe24a21" +checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" +dependencies = [ + "concurrent-queue", + "event-listener 2.5.3", + "futures-core", +] [[package]] name = "async-io" -version = "1.12.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c374dda1ed3e7d8f0d9ba58715f924862c63eae6849c92d3a18e7fbde9e2794" +checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884" dependencies = [ - "async-lock", - "autocfg", + "async-lock 3.3.0", + "cfg-if", "concurrent-queue", + "futures-io", "futures-lite", - "libc", - "log", "parking", "polling", + "rustix 0.38.31", "slab", - "socket2", - "waker-fn", - "windows-sys 0.42.0", + "tracing", + "windows-sys 0.52.0", ] [[package]] name = "async-lock" -version = "2.6.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8101efe8695a6c17e02911402145357e718ac92d3ff88ae8419e84b1707b685" +checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" dependencies = [ - "event-listener", - "futures-lite", + "event-listener 2.5.3", +] + +[[package]] +name = "async-lock" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" +dependencies = [ + "event-listener 4.0.3", + "event-listener-strategy", + "pin-project-lite 0.2.13", +] + +[[package]] +name = "async-recursion" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.52", ] [[package]] name = "async-trait" -version = "0.1.64" +version = "0.1.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2" +checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.52", ] [[package]] name = "asynchronous-codec" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06a0daa378f5fd10634e44b0a29b2a87b890657658e072a30d6f26e57ddee182" +checksum = "4057f2c32adbb2fc158e22fb38433c8e9bbf76b75a4732c7c0cbaf695fb65568" dependencies = [ "bytes", "futures-sink", "futures-util", "memchr", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.13", ] -[[package]] -name = "atomic-waker" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "debc29dde2e69f9e47506b525f639ed42300fc014a3e007832592448fa8e4599" - [[package]] name = "atty" version = "0.2.14" @@ -373,16 +358,16 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "backtrace" -version = "0.3.67" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" +checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" dependencies = [ - "addr2line 0.19.0", + "addr2line 0.21.0", "cc", "cfg-if", "libc", "miniz_oxide", - "object 0.30.3", + "object 0.32.2", "rustc-demangle", ] @@ -394,15 +379,9 @@ checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" [[package]] name = "base16ct" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" - -[[package]] -name = "base58" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6107fe1be6682a68940da878d9e9f5e90ca5745b3dec9fd1bb393c8777d4f581" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" [[package]] name = "base64" @@ -412,15 +391,15 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.0" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "base64ct" -version = "1.5.3" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" [[package]] name = "beef" @@ -442,21 +421,23 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.60.1" +version = "0.65.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "062dddbc1ba4aca46de6338e2bf87771414c335f7b2f2036e8f3e9befebf88e6" +checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cexpr", "clang-sys", "lazy_static", "lazycell", "peeking_take_while", + "prettyplease 0.2.16", "proc-macro2", "quote", "regex", "rustc-hash", "shlex", + "syn 2.0.52", ] [[package]] @@ -465,6 +446,12 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitflags" +version = "2.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" + [[package]] name = "bitvec" version = "1.0.1" @@ -483,7 +470,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -493,32 +480,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" dependencies = [ "arrayref", - "arrayvec 0.7.2", - "constant_time_eq 0.3.0", + "arrayvec 0.7.4", + "constant_time_eq", ] [[package]] name = "blake2s_simd" -version = "1.0.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db539cc2b5f6003621f1cd9ef92d7ded8ea5232c7de0f9faa2de251cd98730d4" +checksum = "94230421e395b9920d23df13ea5d77a20e1725331f90fbbf6df6040b33f756ae" dependencies = [ "arrayref", - "arrayvec 0.7.2", - "constant_time_eq 0.1.5", + "arrayvec 0.7.4", + "constant_time_eq", ] [[package]] name = "blake3" -version = "1.3.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ae2468a89544a466886840aa467a25b766499f4f04bf7d9fcd10ecee9fccef" +checksum = "0231f06152bf547e9c2b5194f247cd97aacf6dcd8b15d8e5ec0663f64580da87" dependencies = [ "arrayref", - "arrayvec 0.7.2", + "arrayvec 0.7.4", "cc", "cfg-if", - "constant_time_eq 0.2.4", + "constant_time_eq", ] [[package]] @@ -527,7 +514,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" dependencies = [ - "block-padding 0.1.5", + "block-padding", "byte-tools", "byteorder", "generic-array 0.12.4", @@ -539,26 +526,16 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", ] [[package]] name = "block-buffer" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" -dependencies = [ - "generic-array 0.14.6", -] - -[[package]] -name = "block-modes" -version = "0.7.0" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57a0e8073e8baa88212fb5823574c02ebccb395136ba9a164ab89379ec6072f0" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" dependencies = [ - "block-padding 0.2.1", - "cipher 0.2.5", + "generic-array 0.14.7", ] [[package]] @@ -570,17 +547,11 @@ dependencies = [ "byte-tools", ] -[[package]] -name = "block-padding" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" - [[package]] name = "bounded-collections" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb5b05133427c07c4776906f673ccf36c21b102c9829c641a5b56bd151d44fd6" +checksum = "ca548b6163b872067dc5eb82fd130c56881435e30367d2073594a3d9744120dd" dependencies = [ "log", "parity-scale-codec", @@ -596,9 +567,9 @@ checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" [[package]] name = "bstr" -version = "1.2.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7f0778972c64420fdedc63f09919c8a88bda7b25135357fd25a5d9f3257e832" +checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" dependencies = [ "memchr", "serde", @@ -615,9 +586,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.12.0" +version = "3.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" +checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa" [[package]] name = "byte-slice-cast" @@ -633,21 +604,21 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.13.1" +version = "1.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" +checksum = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f" [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" +checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" [[package]] name = "bzip2-sys" @@ -662,9 +633,9 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.2" +version = "1.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c77df041dc383319cc661b428b6961a005db4d6808d5e12536931b1ca9556055" +checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" dependencies = [ "serde", ] @@ -677,22 +648,22 @@ checksum = "7b02b629252fe8ef6460461409564e2c21d0c8e77e0944f3d189ff06c4e932ad" [[package]] name = "cargo-platform" -version = "0.1.2" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27" +checksum = "694c8807f2ae16faecc43dc17d74b3eb042482789fd0eb64b39a2e04e087053f" dependencies = [ "serde", ] [[package]] name = "cargo_metadata" -version = "0.15.3" +version = "0.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08a1ec454bc3eead8719cb56e15dbbfecdbc14e4b3a3ae4936cc6e31f5fc0d07" +checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a" dependencies = [ "camino", "cargo-platform", - "semver 1.0.16", + "semver 1.0.22", "serde", "serde_json", "thiserror", @@ -700,22 +671,12 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.79" +version = "1.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5" dependencies = [ "jobserver", -] - -[[package]] -name = "ccm" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aca1a8fbc20b50ac9673ff014abfb2b5f4085ee1a850d408f14a159c5853ac7" -dependencies = [ - "aead 0.3.2", - "cipher 0.2.5", - "subtle", + "libc", ] [[package]] @@ -729,9 +690,9 @@ dependencies = [ [[package]] name = "cfg-expr" -version = "0.10.3" +version = "0.15.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0aacacf4d96c24b2ad6eb8ee6df040e4f27b0d0b39a5710c30091baa830485db" +checksum = "fa50868b64a9a6fda9d593ce778849ea8715cd2a3d2cc17ffdb4a2f2f2f1961d" dependencies = [ "smallvec", ] @@ -750,49 +711,47 @@ checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" [[package]] name = "chacha20" -version = "0.8.2" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c80e5460aa66fe3b91d40bcbdab953a597b60053e34d684ac6903f863b680a6" +checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" dependencies = [ "cfg-if", - "cipher 0.3.0", + "cipher", "cpufeatures", - "zeroize", ] [[package]] name = "chacha20poly1305" -version = "0.9.1" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18446b09be63d457bbec447509e85f662f32952b035ce892290396bc0b0cff5" +checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" dependencies = [ - "aead 0.4.3", + "aead", "chacha20", - "cipher 0.3.0", + "cipher", "poly1305", "zeroize", ] [[package]] name = "chrono" -version = "0.4.23" +version = "0.4.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" +checksum = "8eaf5903dcbc0a39312feb77df2ff4c76387d591b9fc7b04a238dcf8bb62639a" dependencies = [ + "android-tzdata", "iana-time-zone", "js-sys", - "num-integer", "num-traits", - "time 0.1.45", "wasm-bindgen", - "winapi", + "windows-targets 0.52.4", ] [[package]] name = "cid" -version = "0.8.6" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6ed9c8b2d17acb8110c46f1da5bf4a696d745e1474a16db0cd2b49cd0249bf2" +checksum = "b9b68e3193982cd54187d71afdb2a271ad4cf8af157858e9cb911b91321de143" dependencies = [ "core2", "multibase", @@ -803,27 +762,20 @@ dependencies = [ [[package]] name = "cipher" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" -dependencies = [ - "generic-array 0.14.6", -] - -[[package]] -name = "cipher" -version = "0.3.0" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" dependencies = [ - "generic-array 0.14.6", + "crypto-common", + "inout", + "zeroize", ] [[package]] name = "clang-sys" -version = "1.4.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3" +checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1" dependencies = [ "glob", "libc", @@ -832,40 +784,43 @@ dependencies = [ [[package]] name = "clap" -version = "4.1.4" +version = "4.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f13b9c79b5d1dd500d20ef541215a6423c75829ef43117e1b4d17fd8af0b5d76" +checksum = "b230ab84b0ffdf890d5a10abdbc8b83ae1c4918275daea1ab8801f71536b2651" dependencies = [ - "bitflags", + "clap_builder", "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" +dependencies = [ + "anstream", + "anstyle", "clap_lex", - "is-terminal", - "once_cell", - "strsim", - "termcolor", + "strsim 0.11.0", ] [[package]] name = "clap_derive" -version = "4.1.0" +version = "4.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8" +checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47" dependencies = [ "heck", - "proc-macro-error", "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.52", ] [[package]] name = "clap_lex" -version = "0.3.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade" -dependencies = [ - "os_str_bytes", -] +checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" [[package]] name = "codespan-reporting" @@ -877,43 +832,70 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "colorchoice" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" + [[package]] name = "comfy-table" -version = "6.1.4" +version = "7.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e7b787b0dc42e8111badfdbe4c3059158ccb2db8780352fa1b01e8ccf45cc4d" +checksum = "7c64043d6c7b7a4c58e39e7efccfdea7b93d885a795d0c054a69dbbf4dd52686" dependencies = [ - "strum", - "strum_macros", + "strum 0.25.0", + "strum_macros 0.25.3", "unicode-width", ] [[package]] name = "concurrent-queue" -version = "2.1.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c278839b831783b70278b14df4d45e1beb1aad306c07bb796637de9a0e323e8e" +checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363" dependencies = [ "crossbeam-utils", ] +[[package]] +name = "console" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +dependencies = [ + "encode_unicode", + "lazy_static", + "libc", + "unicode-width", + "windows-sys 0.52.0", +] + [[package]] name = "const-oid" -version = "0.9.5" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] -name = "constant_time_eq" -version = "0.1.5" +name = "const-random" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" +checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" +dependencies = [ + "const-random-macro", +] [[package]] -name = "constant_time_eq" -version = "0.2.4" +name = "const-random-macro" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3ad85c1f65dc7b37604eb0e89748faf0b9653065f2a8ef69f96a687ec1e9279" +checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" +dependencies = [ + "getrandom 0.2.12", + "once_cell", + "tiny-keccak", +] [[package]] name = "constant_time_eq" @@ -923,9 +905,9 @@ checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" [[package]] name = "core-foundation" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" dependencies = [ "core-foundation-sys", "libc", @@ -933,9 +915,9 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.3" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "core2" @@ -957,43 +939,36 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.5" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" dependencies = [ "libc", ] [[package]] -name = "cpuid-bool" -version = "0.2.0" +name = "cranelift-bforest" +version = "0.95.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba" - -[[package]] -name = "cranelift-bforest" -version = "0.93.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bc42ba2e232e5b20ff7dc299a812d53337dadce9a7e39a238e6a5cb82d2e57b" +checksum = "1277fbfa94bc82c8ec4af2ded3e639d49ca5f7f3c7eeab2c66accd135ece4e70" dependencies = [ "cranelift-entity", ] [[package]] name = "cranelift-codegen" -version = "0.93.2" +version = "0.95.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "253531aca9b6f56103c9420369db3263e784df39aa1c90685a1f69cfbba0623e" +checksum = "c6e8c31ad3b2270e9aeec38723888fe1b0ace3bea2b06b3f749ccf46661d3220" dependencies = [ - "arrayvec 0.7.2", "bumpalo", "cranelift-bforest", "cranelift-codegen-meta", "cranelift-codegen-shared", "cranelift-entity", "cranelift-isle", - "gimli 0.26.2", - "hashbrown 0.12.3", + "gimli 0.27.3", + "hashbrown 0.13.2", "log", "regalloc2", "smallvec", @@ -1002,33 +977,33 @@ dependencies = [ [[package]] name = "cranelift-codegen-meta" -version = "0.93.2" +version = "0.95.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72f2154365e2bff1b1b8537a7181591fdff50d8e27fa6e40d5c69c3bad0ca7c8" +checksum = "c8ac5ac30d62b2d66f12651f6b606dbdfd9c2cfd0908de6b387560a277c5c9da" dependencies = [ "cranelift-codegen-shared", ] [[package]] name = "cranelift-codegen-shared" -version = "0.93.2" +version = "0.95.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "687e14e3f5775248930e0d5a84195abef8b829958e9794bf8d525104993612b4" +checksum = "dd82b8b376247834b59ed9bdc0ddeb50f517452827d4a11bccf5937b213748b8" [[package]] name = "cranelift-entity" -version = "0.93.2" +version = "0.95.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f42ea692c7b450ad18b8c9889661505d51c09ec4380cf1c2d278dbb2da22cae1" +checksum = "40099d38061b37e505e63f89bab52199037a72b931ad4868d9089ff7268660b0" dependencies = [ "serde", ] [[package]] name = "cranelift-frontend" -version = "0.93.2" +version = "0.95.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8483c2db6f45fe9ace984e5adc5d058102227e4c62e5aa2054e16b0275fd3a6e" +checksum = "64a25d9d0a0ae3079c463c34115ec59507b4707175454f0eee0891e83e30e82d" dependencies = [ "cranelift-codegen", "log", @@ -1038,15 +1013,15 @@ dependencies = [ [[package]] name = "cranelift-isle" -version = "0.93.2" +version = "0.95.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9793158837678902446c411741d87b43f57dadfb944f2440db4287cda8cbd59" +checksum = "80de6a7d0486e4acbd5f9f87ec49912bf4c8fb6aea00087b989685460d4469ba" [[package]] name = "cranelift-native" -version = "0.93.2" +version = "0.95.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72668c7755f2b880665cb422c8ad2d56db58a88b9bebfef0b73edc2277c13c49" +checksum = "bb6b03e0e03801c4b3fd8ce0758a94750c07a44e7944cc0ffbf0d3f2e7c79b00" dependencies = [ "cranelift-codegen", "libc", @@ -1055,9 +1030,9 @@ dependencies = [ [[package]] name = "cranelift-wasm" -version = "0.93.2" +version = "0.95.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3852ce4b088b44ac4e29459573943009a70d1b192c8d77ef949b4e814f656fc1" +checksum = "ff3220489a3d928ad91e59dd7aeaa8b3de18afb554a6211213673a71c90737ac" dependencies = [ "cranelift-codegen", "cranelift-entity", @@ -1069,72 +1044,39 @@ dependencies = [ "wasmtime-types", ] -[[package]] -name = "crc" -version = "3.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe" -dependencies = [ - "crc-catalog", -] - -[[package]] -name = "crc-catalog" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484" - [[package]] name = "crc32fast" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.6" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" +checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" dependencies = [ "cfg-if", - "crossbeam-utils", ] [[package]] name = "crossbeam-deque" -version = "0.8.2" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" dependencies = [ - "cfg-if", "crossbeam-epoch", "crossbeam-utils", ] [[package]] name = "crossbeam-epoch" -version = "0.9.13" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "autocfg", - "cfg-if", "crossbeam-utils", - "memoffset 0.7.1", - "scopeguard", ] [[package]] name = "crossbeam-utils" -version = "0.8.14" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f" -dependencies = [ - "cfg-if", -] +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" [[package]] name = "crunchy" @@ -1144,11 +1086,11 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.4.9" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", "rand_core 0.6.4", "subtle", "zeroize", @@ -1160,8 +1102,9 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ - "generic-array 0.14.6", - "typenum 1.16.0 (registry+https://github.com/rust-lang/crates.io-index)", + "generic-array 0.14.7", + "rand_core 0.6.4", + "typenum 1.17.0", ] [[package]] @@ -1170,17 +1113,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" dependencies = [ - "generic-array 0.14.6", - "subtle", -] - -[[package]] -name = "crypto-mac" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bff07008ec701e8028e2ceb8f83f0e4274ee62bd2dbdc4fefff2e9a91824081a" -dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", "subtle", ] @@ -1190,26 +1123,17 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", "subtle", ] [[package]] name = "ctr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb4a30d54f7443bf3d6191dcd486aca19e67cb3c49fa7a06a319966346707e7f" -dependencies = [ - "cipher 0.2.5", -] - -[[package]] -name = "ctr" -version = "0.8.0" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" dependencies = [ - "cipher 0.3.0", + "cipher", ] [[package]] @@ -1240,23 +1164,37 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.0.0-rc.0" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da00a7a9a4eb92a0a0f8e75660926d48f0d0f3c537e455c457bcdaa1e16b1ac" +checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348" dependencies = [ "cfg-if", + "cpufeatures", + "curve25519-dalek-derive", + "digest 0.10.7", "fiat-crypto", - "packed_simd_2", - "platforms 3.0.2", + "platforms", + "rustc_version 0.4.0", "subtle", "zeroize", ] +[[package]] +name = "curve25519-dalek-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.52", +] + [[package]] name = "cxx" -version = "1.0.89" +version = "1.0.119" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc831ee6a32dd495436e317595e639a587aa9907bef96fe6e6abc290ab6204e9" +checksum = "635179be18797d7e10edb9cd06c859580237750c7351f39ed9b298bfc17544ad" dependencies = [ "cc", "cxxbridge-flags", @@ -1266,9 +1204,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.89" +version = "1.0.119" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94331d54f1b1a8895cd81049f7eaaaef9d05a7dcb4d1fd08bf3ff0806246789d" +checksum = "9324397d262f63ef77eb795d900c0d682a34a43ac0932bec049ed73055d52f63" dependencies = [ "cc", "codespan-reporting", @@ -1276,31 +1214,31 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 1.0.107", + "syn 2.0.52", ] [[package]] name = "cxxbridge-flags" -version = "1.0.89" +version = "1.0.119" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48dcd35ba14ca9b40d6e4b4b39961f23d835dbb8eed74565ded361d93e1feb8a" +checksum = "a87ff7342ffaa54b7c61618e0ce2bbcf827eba6d55b923b83d82551acbbecfe5" [[package]] name = "cxxbridge-macro" -version = "1.0.89" +version = "1.0.119" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bbeb29798b407ccd82a3324ade1a7286e0d29851475990b612670f6f5124d2" +checksum = "70b5b86cf65fa0626d85720619d80b288013477a91a0389fa8bc716bf4903ad1" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.52", ] [[package]] name = "darling" -version = "0.14.3" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0808e1bd8671fb44a113a14e13497557533369847788fa2ae912b6ebfce9fa8" +checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" dependencies = [ "darling_core", "darling_macro", @@ -1308,40 +1246,40 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.14.3" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "001d80444f28e193f30c2f293455da62dcf9a6b29918a4253152ae2b1de592cb" +checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", - "strsim", - "syn 1.0.107", + "strsim 0.10.0", + "syn 2.0.52", ] [[package]] name = "darling_macro" -version = "0.14.3" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b36230598a2d5de7ec1c6f51f72d8a99a9208daff41de2084d06e3fd3ea56685" +checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" dependencies = [ "darling_core", "quote", - "syn 1.0.107", + "syn 2.0.52", ] [[package]] name = "data-encoding" -version = "2.3.3" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d8666cb01533c39dde32bcbab8e227b4ed6679b2c925eba05feabea39508fb" +checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" [[package]] name = "data-encoding-macro" -version = "0.1.12" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86927b7cd2fe88fa698b87404b287ab98d1a0063a34071d92e575b72d3029aca" +checksum = "20c01c06f5f429efdf2bae21eb67c28b3df3cf85b7dd2d8ef09c0838dac5d33e" dependencies = [ "data-encoding", "data-encoding-macro-internal", @@ -1349,32 +1287,31 @@ dependencies = [ [[package]] name = "data-encoding-macro-internal" -version = "0.1.10" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5bbed42daaa95e780b60a50546aa345b8413a1e46f9a40a12907d3598f038db" +checksum = "0047d07f2c89b17dd631c80450d69841a6b5d7fb17278cbc43d7e4cfcf2576f3" dependencies = [ "data-encoding", - "syn 1.0.107", + "syn 1.0.109", ] [[package]] name = "der" -version = "0.6.1" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" +checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" dependencies = [ "const-oid", - "pem-rfc7468", "zeroize", ] [[package]] name = "der-parser" -version = "7.0.0" +version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe398ac75057914d7d07307bf67dc7f3f574a26783b4fc7805a20ffa9f506e82" +checksum = "dbd676fbbab537128ef0278adb5576cf363cff6aa22a7b24effe97347cfab61e" dependencies = [ - "asn1-rs 0.3.1", + "asn1-rs", "displaydoc", "nom", "num-bigint", @@ -1383,17 +1320,12 @@ dependencies = [ ] [[package]] -name = "der-parser" -version = "8.1.0" +name = "deranged" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42d4bc9b0db0a0df9ae64634ac5bdefb7afcb534e182275ca0beadbe486701c1" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" dependencies = [ - "asn1-rs 0.5.1", - "displaydoc", - "nom", - "num-bigint", - "num-traits", - "rusticata-macros", + "powerfmt", ] [[package]] @@ -1404,38 +1336,7 @@ checksum = "e79116f119dd1dba1abf1f3405f03b9b0e79a27a3883864bfebded8a3dc768cd" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", -] - -[[package]] -name = "derive_builder" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d07adf7be193b71cc36b193d0f5fe60b918a3a9db4dad0449f57bcfd519704a3" -dependencies = [ - "derive_builder_macro", -] - -[[package]] -name = "derive_builder_core" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f91d4cfa921f1c05904dc3c57b4a32c38aed3340cce209f3a6fd1478babafc4" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 1.0.107", -] - -[[package]] -name = "derive_builder_macro" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f0314b72bed045f3a68671b3c86328386762c93f82d98c65c3cb5e5f573dd68" -dependencies = [ - "derive_builder_core", - "syn 1.0.107", + "syn 1.0.109", ] [[package]] @@ -1446,7 +1347,7 @@ checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 1.0.109", ] [[package]] @@ -1470,16 +1371,17 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", ] [[package]] name = "digest" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer 0.10.3", + "block-buffer 0.10.4", + "const-oid", "crypto-common", "subtle", ] @@ -1527,13 +1429,13 @@ dependencies = [ [[package]] name = "displaydoc" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bf95dc3f046b9da4f2d51833c0d3547d8564ef6910f5c1ed130306a75b92886" +checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.52", ] [[package]] @@ -1542,17 +1444,11 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" -[[package]] -name = "downcast-rs" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" - [[package]] name = "dtoa" -version = "1.0.5" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c00704156a7de8df8da0911424e30c2049957b0a714542a44e05fe693dd85313" +checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" [[package]] name = "dyn-clonable" @@ -1572,25 +1468,27 @@ checksum = "558e40ea573c374cf53507fd240b7ee2f5477df7cfebdb97323ec61c719399c5" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 1.0.109", ] [[package]] name = "dyn-clone" -version = "1.0.10" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9b0705efd4599c15a38151f4721f7bc388306f61084d3bfd50bd07fbca5cb60" +checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" [[package]] name = "ecdsa" -version = "0.14.8" +version = "0.16.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" dependencies = [ "der", + "digest 0.10.7", "elliptic-curve", "rfc6979", - "signature", + "signature 2.2.0", + "spki", ] [[package]] @@ -1599,7 +1497,17 @@ version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" dependencies = [ - "signature", + "signature 1.6.4", +] + +[[package]] +name = "ed25519" +version = "2.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" +dependencies = [ + "pkcs8", + "signature 2.2.0", ] [[package]] @@ -1609,13 +1517,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" dependencies = [ "curve25519-dalek 3.2.0", - "ed25519", - "rand 0.7.3", - "serde", + "ed25519 1.5.3", "sha2 0.9.9", "zeroize", ] +[[package]] +name = "ed25519-dalek" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" +dependencies = [ + "curve25519-dalek 4.1.2", + "ed25519 2.2.3", + "rand_core 0.6.4", + "serde", + "sha2 0.10.8", + "subtle", + "zeroize", +] + [[package]] name = "ed25519-zebra" version = "3.1.0" @@ -1632,25 +1553,22 @@ dependencies = [ [[package]] name = "either" -version = "1.8.1" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" [[package]] name = "elliptic-curve" -version = "0.12.3" +version = "0.13.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" dependencies = [ "base16ct", "crypto-bigint", - "der", - "digest 0.10.6", + "digest 0.10.7", "ff", - "generic-array 0.14.6", + "generic-array 0.14.7", "group", - "hkdf", - "pem-rfc7468", "pkcs8", "rand_core 0.6.4", "sec1", @@ -1658,6 +1576,12 @@ dependencies = [ "zeroize", ] +[[package]] +name = "encode_unicode" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" + [[package]] name = "enum-as-inner" version = "0.5.1" @@ -1667,34 +1591,34 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 1.0.107", + "syn 1.0.109", ] [[package]] name = "enumflags2" -version = "0.7.8" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5998b4f30320c9d93aed72f63af821bfdac50465b75428fce77b48ec482c3939" +checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d" dependencies = [ "enumflags2_derive", ] [[package]] name = "enumflags2_derive" -version = "0.7.8" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246" +checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.52", ] [[package]] name = "env_logger" -version = "0.10.0" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" dependencies = [ "humantime", "is-terminal", @@ -1710,24 +1634,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" [[package]] -name = "errno" -version = "0.2.8" +name = "equivalent" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" -dependencies = [ - "errno-dragonfly", - "libc", - "winapi", -] +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] -name = "errno-dragonfly" -version = "0.1.2" +name = "errno" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" dependencies = [ - "cc", "libc", + "windows-sys 0.52.0", ] [[package]] @@ -1763,6 +1682,27 @@ version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" +[[package]] +name = "event-listener" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite 0.2.13", +] + +[[package]] +name = "event-listener-strategy" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" +dependencies = [ + "event-listener 4.0.3", + "pin-project-lite 0.2.13", +] + [[package]] name = "exit-future" version = "0.2.0" @@ -1772,6 +1712,20 @@ dependencies = [ "futures", ] +[[package]] +name = "expander" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00e83c02035136f1592a47964ea60c05a50e4ed8b5892cfac197063850898d4d" +dependencies = [ + "blake2", + "fs-err", + "prettier-please", + "proc-macro2", + "quote", + "syn 2.0.52", +] + [[package]] name = "fake-simd" version = "0.1.2" @@ -1786,12 +1740,9 @@ checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] name = "fastrand" -version = "1.8.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" -dependencies = [ - "instant", -] +checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" [[package]] name = "fdlimit" @@ -1804,9 +1755,9 @@ dependencies = [ [[package]] name = "ff" -version = "0.12.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" +checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" dependencies = [ "rand_core 0.6.4", "subtle", @@ -1814,9 +1765,9 @@ dependencies = [ [[package]] name = "fiat-crypto" -version = "0.1.17" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a214f5bb88731d436478f3ae1f8a277b62124089ba9fb67f4f93fb100ef73c90" +checksum = "1676f435fc1dadde4d03e43f5d62b259e1ce5f40bd4ffb21db2b42ebe59c1382" [[package]] name = "file-per-thread-logger" @@ -1830,21 +1781,21 @@ dependencies = [ [[package]] name = "filetime" -version = "0.2.19" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e884668cd0c7480504233e951174ddc3b382f7c2666e3b7310b5c4e7b0c37f9" +checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" dependencies = [ "cfg-if", "libc", - "redox_syscall", - "windows-sys 0.42.0", + "redox_syscall 0.4.1", + "windows-sys 0.52.0", ] [[package]] name = "finality-grandpa" -version = "0.16.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e24e6c429951433ccb7c87fd528c60084834dcd14763182c1f83291bcde24c34" +checksum = "36530797b9bf31cd4ff126dcfee8170f86b00cfdcea3269d73133cc0415945c3" dependencies = [ "either", "futures", @@ -1888,9 +1839,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.25" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" +checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" dependencies = [ "crc32fast", "libz-sys", @@ -1915,16 +1866,16 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "parity-scale-codec", ] [[package]] name = "form_urlencoded" -version = "1.1.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" dependencies = [ "percent-encoding", ] @@ -1938,7 +1889,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-support", "frame-support-procedural", @@ -1963,7 +1914,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "Inflector", "array-bytes", @@ -1997,12 +1948,13 @@ dependencies = [ "sp-database", "sp-externalities", "sp-inherents", + "sp-io", "sp-keystore", "sp-runtime", "sp-state-machine", - "sp-std", "sp-storage", "sp-trie", + "sp-wasm-interface", "thiserror", "thousands", ] @@ -2010,7 +1962,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-support", "frame-system", @@ -2026,9 +1978,9 @@ dependencies = [ [[package]] name = "frame-metadata" -version = "15.0.0" +version = "16.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df6bb8542ef006ef0de09a5c4420787d79823c0ed7924225822362fd2bf2ff2d" +checksum = "87cf1549fba25a6fcac22785b61698317d958e96cac72a59102ea45b9ae64692" dependencies = [ "cfg-if", "parity-scale-codec", @@ -2039,31 +1991,37 @@ dependencies = [ [[package]] name = "frame-remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ + "async-recursion", "futures", + "indicatif", + "jsonrpsee", "log", "parity-scale-codec", "serde", "sp-core", "sp-io", "sp-runtime", + "spinners", "substrate-rpc-client", "tokio", + "tokio-retry", ] [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ - "bitflags", + "bitflags 1.3.2", + "environmental", "frame-metadata", "frame-support-procedural", "impl-trait-for-tuples", "k256", "log", - "once_cell", + "macro_magic", "parity-scale-codec", "paste", "scale-info", @@ -2073,6 +2031,7 @@ dependencies = [ "sp-arithmetic", "sp-core", "sp-core-hashing-proc-macro", + "sp-debug-derive", "sp-inherents", "sp-io", "sp-runtime", @@ -2087,45 +2046,49 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "Inflector", "cfg-expr", "derive-syn-parse", + "expander", "frame-support-procedural-tools", "itertools", + "macro_magic", + "proc-macro-warning", "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.52", ] [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-support-procedural-tools-derive", - "proc-macro-crate", + "proc-macro-crate 1.1.3", "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.52", ] [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.52", ] [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ + "cfg-if", "frame-support", "log", "parity-scale-codec", @@ -2142,7 +2105,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -2157,7 +2120,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "parity-scale-codec", "sp-api", @@ -2166,7 +2129,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-support", "parity-scale-codec", @@ -2175,6 +2138,15 @@ dependencies = [ "sp-std", ] +[[package]] +name = "fs-err" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41" +dependencies = [ + "autocfg", +] + [[package]] name = "fs2" version = "0.4.3" @@ -2193,9 +2165,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.26" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13e2792b0ff0340399d58445b88fd9770e3489eff258a4cbc1523418f12abf84" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" dependencies = [ "futures-channel", "futures-core", @@ -2208,9 +2180,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.26" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" dependencies = [ "futures-core", "futures-sink", @@ -2218,15 +2190,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.26" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" [[package]] name = "futures-executor" -version = "0.3.26" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" dependencies = [ "futures-core", "futures-task", @@ -2236,34 +2208,29 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.26" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" [[package]] name = "futures-lite" -version = "1.12.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48" +checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba" dependencies = [ - "fastrand", "futures-core", - "futures-io", - "memchr", - "parking", - "pin-project-lite 0.2.9", - "waker-fn", + "pin-project-lite 0.2.13", ] [[package]] name = "futures-macro" -version = "0.3.26" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.52", ] [[package]] @@ -2273,33 +2240,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2411eed028cdf8c8034eaf21f9915f956b6c3abec4d4c7949ee67f0721127bd" dependencies = [ "futures-io", - "rustls 0.20.8", - "webpki 0.22.0", + "rustls 0.20.9", + "webpki", ] [[package]] name = "futures-sink" -version = "0.3.26" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" [[package]] name = "futures-task" -version = "0.3.26" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" [[package]] name = "futures-timer" -version = "3.0.2" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" +checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" [[package]] name = "futures-util" -version = "0.3.26" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" dependencies = [ "futures-channel", "futures-core", @@ -2308,7 +2275,7 @@ dependencies = [ "futures-sink", "futures-task", "memchr", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.13", "pin-utils", "slab", ] @@ -2328,17 +2295,18 @@ version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd" dependencies = [ - "typenum 1.16.0 (registry+https://github.com/rust-lang/crates.io-index)", + "typenum 1.17.0", ] [[package]] name = "generic-array" -version = "0.14.6" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ - "typenum 1.16.0 (registry+https://github.com/rust-lang/crates.io-index)", + "typenum 1.17.0", "version_check", + "zeroize", ] [[package]] @@ -2364,9 +2332,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.8" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" +checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" dependencies = [ "cfg-if", "libc", @@ -2374,41 +2342,40 @@ dependencies = [ ] [[package]] -name = "ghash" -version = "0.3.1" +name = "getrandom_or_panic" +version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375" +checksum = "6ea1015b5a70616b688dc230cfe50c8af89d972cb132d5a622814d29773b10b9" dependencies = [ - "opaque-debug 0.3.0", - "polyval 0.4.5", + "rand_core 0.6.4", ] [[package]] name = "ghash" -version = "0.4.4" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99" +checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" dependencies = [ - "opaque-debug 0.3.0", - "polyval 0.5.3", + "opaque-debug 0.3.1", + "polyval", ] [[package]] name = "gimli" -version = "0.26.2" +version = "0.27.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" +checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" dependencies = [ "fallible-iterator", - "indexmap", + "indexmap 1.9.3", "stable_deref_trait", ] [[package]] name = "gimli" -version = "0.27.1" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "221996f774192f0f718773def8201c4ae31f02616a54ccfc2d358bb0e5cefdec" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" [[package]] name = "glob" @@ -2418,22 +2385,22 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "globset" -version = "0.4.10" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc" +checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" dependencies = [ "aho-corasick", "bstr", - "fnv", "log", - "regex", + "regex-automata 0.4.6", + "regex-syntax 0.8.2", ] [[package]] name = "group" -version = "0.12.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ "ff", "rand_core 0.6.4", @@ -2442,9 +2409,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.18" +version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17f8a914c2987b688368b5138aa05321db91f4090cf26118185672ad588bce21" +checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9" dependencies = [ "bytes", "fnv", @@ -2452,7 +2419,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap", + "indexmap 2.2.5", "slab", "tokio", "tokio-util", @@ -2461,9 +2428,9 @@ dependencies = [ [[package]] name = "handlebars" -version = "4.3.6" +version = "4.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "035ef95d03713f2c347a72547b7cd38cbc9af7cd51e6099fb62d586d4a6dee3a" +checksum = "faa67bab9ff362228eb3d00bd024a4965d8231bbb7921167f0cfa66c6626b225" dependencies = [ "log", "pest", @@ -2475,9 +2442,9 @@ dependencies = [ [[package]] name = "hash-db" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d23bd4e7b5eda0d0f3a307e8b381fdc8ba9000f26fbe912250c0a4cc3956364a" +checksum = "8e7d7786361d7425ae2fe4f9e407eb0efaa0840f5212d109cc018c40c35c6ab4" [[package]] name = "hash256-std-hasher" @@ -2494,7 +2461,7 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" dependencies = [ - "ahash 0.7.6", + "ahash 0.7.8", ] [[package]] @@ -2503,9 +2470,15 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" dependencies = [ - "ahash 0.8.3", + "ahash 0.8.11", ] +[[package]] +name = "hashbrown" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" + [[package]] name = "heck" version = "0.4.1" @@ -2523,18 +2496,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" -dependencies = [ - "libc", -] - -[[package]] -name = "hermit-abi" -version = "0.3.0" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "856b5cb0902c2b6d65d5fd97dfa30f9b70c7538e770b98eab5ed52d8db923e01" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" [[package]] name = "hex" @@ -2548,15 +2512,6 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" -[[package]] -name = "hkdf" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437" -dependencies = [ - "hmac 0.12.1", -] - [[package]] name = "hmac" version = "0.8.1" @@ -2567,16 +2522,6 @@ dependencies = [ "digest 0.9.0", ] -[[package]] -name = "hmac" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1441c6b1e930e2817404b5046f1f989899143a12bf92de603b69f4e0aee1e15" -dependencies = [ - "crypto-mac 0.10.1", - "digest 0.9.0", -] - [[package]] name = "hmac" version = "0.11.0" @@ -2593,7 +2538,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -2603,13 +2548,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" dependencies = [ "digest 0.9.0", - "generic-array 0.14.6", + "generic-array 0.14.7", "hmac 0.8.1", ] [[package]] -name = "hostname" -version = "0.3.1" +name = "home" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "hostname" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" dependencies = [ @@ -2620,9 +2574,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.8" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" dependencies = [ "bytes", "fnv", @@ -2631,20 +2585,20 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ "bytes", "http", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.13", ] [[package]] name = "http-range-header" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29" +checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" [[package]] name = "httparse" @@ -2654,9 +2608,9 @@ checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" [[package]] name = "httpdate" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "humantime" @@ -2666,9 +2620,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.24" +version = "0.14.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e011372fa0b68db8350aa7a248930ecc7839bf46d8485577d69f117a75f164c" +checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" dependencies = [ "bytes", "futures-channel", @@ -2680,8 +2634,8 @@ dependencies = [ "httparse", "httpdate", "itoa", - "pin-project-lite 0.2.9", - "socket2", + "pin-project-lite 0.2.13", + "socket2 0.5.6", "tokio", "tower-service", "tracing", @@ -2690,41 +2644,42 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.23.2" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c" +checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ + "futures-util", "http", "hyper", "log", - "rustls 0.20.8", + "rustls 0.21.10", "rustls-native-certs", "tokio", "tokio-rustls", + "webpki-roots 0.25.4", ] [[package]] name = "iana-time-zone" -version = "0.1.53" +version = "0.1.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "winapi", + "windows-core 0.52.0", ] [[package]] name = "iana-time-zone-haiku" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" dependencies = [ - "cxx", - "cxx-build", + "cc", ] [[package]] @@ -2746,9 +2701,9 @@ dependencies = [ [[package]] name = "idna" -version = "0.3.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" dependencies = [ "unicode-bidi", "unicode-normalization", @@ -2756,19 +2711,19 @@ dependencies = [ [[package]] name = "if-addrs" -version = "0.7.0" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbc0fa01ffc752e9dbc72818cdb072cd028b86be5e09dd04c5a643704fe101a9" +checksum = "cabb0019d51a643781ff15c9c8a3e5dedc365c47211270f4e8f82812fedd8f0a" dependencies = [ "libc", - "winapi", + "windows-sys 0.48.0", ] [[package]] name = "if-watch" -version = "3.0.0" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba7abdbb86e485125dad06c2691e1e393bf3b08c7b743b43aa162a00fd39062e" +checksum = "d6b0422c86d7ce0e97169cc42e04ae643caf278874a7a3c87b8150a220dc7e1e" dependencies = [ "async-io", "core-foundation", @@ -2827,20 +2782,52 @@ checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 1.0.109", ] [[package]] name = "indexmap" -version = "1.9.2" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", "hashbrown 0.12.3", "serde", ] +[[package]] +name = "indexmap" +version = "2.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4" +dependencies = [ + "equivalent", + "hashbrown 0.14.3", +] + +[[package]] +name = "indicatif" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" +dependencies = [ + "console", + "instant", + "number_prefix", + "portable-atomic", + "unicode-width", +] + +[[package]] +name = "inout" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +dependencies = [ + "generic-array 0.14.7", +] + [[package]] name = "instant" version = "0.1.12" @@ -2866,33 +2853,15 @@ dependencies = [ "cargo-husky", ] -[[package]] -name = "interceptor" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e8a11ae2da61704edada656798b61c94b35ecac2c58eb955156987d5e6be90b" -dependencies = [ - "async-trait", - "bytes", - "log", - "rand 0.8.5", - "rtcp", - "rtp", - "thiserror", - "tokio", - "waitgroup", - "webrtc-srtp", - "webrtc-util", -] - [[package]] name = "io-lifetimes" -version = "1.0.5" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3" +checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ + "hermit-abi 0.3.9", "libc", - "windows-sys 0.45.0", + "windows-sys 0.48.0", ] [[package]] @@ -2903,32 +2872,31 @@ checksum = "aa2f047c0a98b2f299aa5d6d7088443570faae494e9ae1305e48be000c9e0eb1" [[package]] name = "ipconfig" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd302af1b90f2463a98fa5ad469fc212c8e3175a41c3068601bfa2727591c5be" +checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "socket2", + "socket2 0.5.6", "widestring", - "winapi", + "windows-sys 0.48.0", "winreg", ] [[package]] name = "ipnet" -version = "2.7.1" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] name = "is-terminal" -version = "0.4.3" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e18b0a45d56fe973d6db23972bf5bc46f988a4a2385deac9cc29572f09daef" +checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" dependencies = [ - "hermit-abi 0.3.0", - "io-lifetimes", - "rustix", - "windows-sys 0.45.0", + "hermit-abi 0.3.9", + "libc", + "windows-sys 0.52.0", ] [[package]] @@ -2942,35 +2910,36 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.5" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" +checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" [[package]] name = "jobserver" -version = "0.1.25" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b" +checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.61" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ "wasm-bindgen", ] [[package]] name = "jsonrpsee" -version = "0.16.2" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d291e3a5818a2384645fd9756362e6d89cf0541b0b916fa7702ea4a9833608e" +checksum = "367a292944c07385839818bb71c8d76611138e2dedb0677d035b8da21d29c78b" dependencies = [ "jsonrpsee-core", + "jsonrpsee-http-client", "jsonrpsee-proc-macros", "jsonrpsee-server", "jsonrpsee-types", @@ -2980,9 +2949,9 @@ dependencies = [ [[package]] name = "jsonrpsee-client-transport" -version = "0.16.2" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "965de52763f2004bc91ac5bcec504192440f0b568a5d621c59d9dbd6f886c3fb" +checksum = "c8b3815d9f5d5de348e5f162b316dc9cdf4548305ebb15b4eb9328e66cf27d7a" dependencies = [ "futures-util", "http", @@ -2996,18 +2965,18 @@ dependencies = [ "tokio-rustls", "tokio-util", "tracing", - "webpki-roots", + "webpki-roots 0.25.4", ] [[package]] name = "jsonrpsee-core" -version = "0.16.2" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4e70b4439a751a5de7dd5ed55eacff78ebf4ffe0fc009cb1ebb11417f5b536b" +checksum = "2b5dde66c53d6dcdc8caea1874a45632ec0fcf5b437789f1e45766a1512ce803" dependencies = [ "anyhow", - "arrayvec 0.7.2", - "async-lock", + "arrayvec 0.7.4", + "async-lock 2.8.0", "async-trait", "beef", "futures-channel", @@ -3027,24 +2996,43 @@ dependencies = [ "tracing", ] +[[package]] +name = "jsonrpsee-http-client" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e5f9fabdd5d79344728521bb65e3106b49ec405a78b66fbff073b72b389fa43" +dependencies = [ + "async-trait", + "hyper", + "hyper-rustls", + "jsonrpsee-core", + "jsonrpsee-types", + "rustc-hash", + "serde", + "serde_json", + "thiserror", + "tokio", + "tracing", +] + [[package]] name = "jsonrpsee-proc-macros" -version = "0.16.2" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baa6da1e4199c10d7b1d0a6e5e8bd8e55f351163b6f4b3cbb044672a69bd4c1c" +checksum = "44e8ab85614a08792b9bff6c8feee23be78c98d0182d4c622c05256ab553892a" dependencies = [ "heck", - "proc-macro-crate", + "proc-macro-crate 1.1.3", "proc-macro2", "quote", - "syn 1.0.107", + "syn 1.0.109", ] [[package]] name = "jsonrpsee-server" -version = "0.16.2" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fb69dad85df79527c019659a992498d03f8495390496da2f07e6c24c2b356fc" +checksum = "cf4d945a6008c9b03db3354fb3c83ee02d2faa9f2e755ec1dfb69c3551b8f4ba" dependencies = [ "futures-channel", "futures-util", @@ -3064,9 +3052,9 @@ dependencies = [ [[package]] name = "jsonrpsee-types" -version = "0.16.2" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bd522fe1ce3702fd94812965d7bb7a3364b1c9aba743944c5a00529aae80f8c" +checksum = "245ba8e5aa633dd1c1e4fae72bce06e71f42d34c14a2767c6b4d173b57bee5e5" dependencies = [ "anyhow", "beef", @@ -3078,9 +3066,9 @@ dependencies = [ [[package]] name = "jsonrpsee-ws-client" -version = "0.16.2" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b83daeecfc6517cfe210df24e570fb06213533dfb990318fae781f4c7119dd9" +checksum = "4e1b3975ed5d73f456478681a417128597acd6a2487855fdb7b4a3d4d195bf5e" dependencies = [ "http", "jsonrpsee-client-transport", @@ -3090,21 +3078,22 @@ dependencies = [ [[package]] name = "k256" -version = "0.11.6" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b" +checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" dependencies = [ "cfg-if", "ecdsa", "elliptic-curve", - "sha2 0.10.6", + "once_cell", + "sha2 0.10.8", ] [[package]] name = "keccak" -version = "0.1.3" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" dependencies = [ "cpufeatures", ] @@ -3130,9 +3119,9 @@ dependencies = [ [[package]] name = "kvdb-rocksdb" -version = "0.17.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2182b8219fee6bd83aacaab7344e840179ae079d5216aa4e249b4d704646a844" +checksum = "b644c70b92285f66bfc2032922a79000ea30af7bc2ab31902992a5dcb9b434f6" dependencies = [ "kvdb", "num_cpus", @@ -3156,50 +3145,40 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.139" +version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "libloading" -version = "0.7.4" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" dependencies = [ "cfg-if", - "winapi", + "windows-targets 0.52.4", ] -[[package]] -name = "libm" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a" - -[[package]] -name = "libm" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" - [[package]] name = "libp2p" -version = "0.50.0" +version = "0.51.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e0a0d2f693675f49ded13c5d510c48b78069e23cbd9108d7ccd59f6dc568819" +checksum = "f35eae38201a993ece6bdc823292d6abd1bffed1c4d0f4a3517d2bd8e1d917fe" dependencies = [ "bytes", "futures", "futures-timer", - "getrandom 0.2.8", + "getrandom 0.2.12", "instant", + "libp2p-allow-block-list", + "libp2p-connection-limits", "libp2p-core", "libp2p-dns", "libp2p-identify", + "libp2p-identity", "libp2p-kad", "libp2p-mdns", "libp2p-metrics", - "libp2p-mplex", "libp2p-noise", "libp2p-ping", "libp2p-quic", @@ -3207,29 +3186,48 @@ dependencies = [ "libp2p-swarm", "libp2p-tcp", "libp2p-wasm-ext", - "libp2p-webrtc", "libp2p-websocket", "libp2p-yamux", "multiaddr", - "parking_lot 0.12.1", "pin-project", - "smallvec", +] + +[[package]] +name = "libp2p-allow-block-list" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "510daa05efbc25184458db837f6f9a5143888f1caa742426d92e1833ddd38a50" +dependencies = [ + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", + "void", +] + +[[package]] +name = "libp2p-connection-limits" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4caa33f1d26ed664c4fe2cca81a08c8e07d4c1c04f2f4ac7655c2dd85467fda0" +dependencies = [ + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", + "void", ] [[package]] name = "libp2p-core" -version = "0.38.0" +version = "0.39.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6a8fcd392ff67af6cc3f03b1426c41f7f26b6b9aff2dc632c1c56dd649e571f" +checksum = "3c1df63c0b582aa434fb09b2d86897fa2b419ffeccf934b36f87fcedc8e835c2" dependencies = [ - "asn1_der", - "bs58", - "ed25519-dalek", "either", "fnv", "futures", "futures-timer", "instant", + "libp2p-identity", "log", "multiaddr", "multihash", @@ -3237,24 +3235,20 @@ dependencies = [ "once_cell", "parking_lot 0.12.1", "pin-project", - "prost", - "prost-build", + "quick-protobuf", "rand 0.8.5", "rw-stream-sink", - "sec1", - "sha2 0.10.6", "smallvec", "thiserror", "unsigned-varint", "void", - "zeroize", ] [[package]] name = "libp2p-dns" -version = "0.38.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e42a271c1b49f789b92f7fc87749fa79ce5c7bdc88cbdfacb818a4bca47fec5" +checksum = "146ff7034daae62077c415c2376b8057368042df6ab95f5432ad5e88568b1554" dependencies = [ "futures", "libp2p-core", @@ -3266,32 +3260,51 @@ dependencies = [ [[package]] name = "libp2p-identify" -version = "0.41.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c052d0026f4817b44869bfb6810f4e1112f43aec8553f2cb38881c524b563abf" +checksum = "5455f472243e63b9c497ff320ded0314254a9eb751799a39c283c6f20b793f3c" dependencies = [ "asynchronous-codec", + "either", "futures", "futures-timer", "libp2p-core", + "libp2p-identity", "libp2p-swarm", "log", - "lru 0.8.1", - "prost", - "prost-build", - "prost-codec", + "lru 0.10.1", + "quick-protobuf", + "quick-protobuf-codec", "smallvec", "thiserror", "void", ] +[[package]] +name = "libp2p-identity" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "276bb57e7af15d8f100d3c11cbdd32c6752b7eef4ba7a18ecf464972c07abcce" +dependencies = [ + "bs58", + "ed25519-dalek 2.1.1", + "log", + "multiaddr", + "multihash", + "quick-protobuf", + "rand 0.8.5", + "sha2 0.10.8", + "thiserror", + "zeroize", +] + [[package]] name = "libp2p-kad" -version = "0.42.1" +version = "0.43.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2766dcd2be8c87d5e1f35487deb22d765f49c6ae1251b3633efe3b25698bd3d2" +checksum = "39d5ef876a2b2323d63c258e63c2f8e36f205fe5a11f0b3095d59635650790ff" dependencies = [ - "arrayvec 0.7.2", + "arrayvec 0.7.4", "asynchronous-codec", "bytes", "either", @@ -3300,12 +3313,12 @@ dependencies = [ "futures-timer", "instant", "libp2p-core", + "libp2p-identity", "libp2p-swarm", "log", - "prost", - "prost-build", + "quick-protobuf", "rand 0.8.5", - "sha2 0.10.6", + "sha2 0.10.8", "smallvec", "thiserror", "uint", @@ -3315,19 +3328,20 @@ dependencies = [ [[package]] name = "libp2p-mdns" -version = "0.42.0" +version = "0.43.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04f378264aade9872d6ccd315c0accc18be3a35d15fc1b9c36e5b6f983b62b5b" +checksum = "19983e1f949f979a928f2c603de1cf180cc0dc23e4ac93a62651ccb18341460b" dependencies = [ "data-encoding", "futures", "if-watch", "libp2p-core", + "libp2p-identity", "libp2p-swarm", "log", "rand 0.8.5", "smallvec", - "socket2", + "socket2 0.4.10", "tokio", "trust-dns-proto", "void", @@ -3335,9 +3349,9 @@ dependencies = [ [[package]] name = "libp2p-metrics" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ad8a64f29da86005c86a4d2728b8a0719e9b192f4092b609fd8790acb9dec55" +checksum = "a42ec91e227d7d0dafa4ce88b333cdf5f277253873ab087555c92798db2ddd46" dependencies = [ "libp2p-core", "libp2p-identify", @@ -3347,53 +3361,36 @@ dependencies = [ "prometheus-client", ] -[[package]] -name = "libp2p-mplex" -version = "0.38.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03805b44107aa013e7cbbfa5627b31c36cbedfdfb00603c0311998882bc4bace" -dependencies = [ - "asynchronous-codec", - "bytes", - "futures", - "libp2p-core", - "log", - "nohash-hasher", - "parking_lot 0.12.1", - "rand 0.8.5", - "smallvec", - "unsigned-varint", -] - [[package]] name = "libp2p-noise" -version = "0.41.0" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a978cb57efe82e892ec6f348a536bfbd9fee677adbe5689d7a93ad3a9bffbf2e" +checksum = "9c3673da89d29936bc6435bafc638e2f184180d554ce844db65915113f86ec5e" dependencies = [ "bytes", "curve25519-dalek 3.2.0", "futures", "libp2p-core", + "libp2p-identity", "log", "once_cell", - "prost", - "prost-build", + "quick-protobuf", "rand 0.8.5", - "sha2 0.10.6", + "sha2 0.10.8", "snow", "static_assertions", "thiserror", - "x25519-dalek 1.1.1", + "x25519-dalek", "zeroize", ] [[package]] name = "libp2p-ping" -version = "0.41.0" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "929fcace45a112536e22b3dcfd4db538723ef9c3cb79f672b98be2cc8e25f37f" +checksum = "3e57759c19c28a73ef1eb3585ca410cefb72c1a709fcf6de1612a378e4219202" dependencies = [ + "either", "futures", "futures-timer", "instant", @@ -3406,48 +3403,47 @@ dependencies = [ [[package]] name = "libp2p-quic" -version = "0.7.0-alpha" +version = "0.7.0-alpha.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01e7c867e95c8130667b24409d236d37598270e6da69b3baf54213ba31ffca59" +checksum = "c6b26abd81cd2398382a1edfe739b539775be8a90fa6914f39b2ab49571ec735" dependencies = [ "bytes", "futures", "futures-timer", "if-watch", "libp2p-core", + "libp2p-identity", "libp2p-tls", "log", "parking_lot 0.12.1", "quinn-proto", "rand 0.8.5", - "rustls 0.20.8", + "rustls 0.20.9", "thiserror", "tokio", ] [[package]] name = "libp2p-request-response" -version = "0.23.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3236168796727bfcf4927f766393415361e2c644b08bedb6a6b13d957c9a4884" +checksum = "7ffdb374267d42dc5ed5bc53f6e601d4a64ac5964779c6e40bb9e4f14c1e30d5" dependencies = [ "async-trait", - "bytes", "futures", "instant", "libp2p-core", + "libp2p-identity", "libp2p-swarm", - "log", "rand 0.8.5", "smallvec", - "unsigned-varint", ] [[package]] name = "libp2p-swarm" -version = "0.41.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2a35472fe3276b3855c00f1c032ea8413615e030256429ad5349cdf67c6e1a0" +checksum = "903b3d592d7694e56204d211f29d31bc004be99386644ba8731fc3e3ef27b296" dependencies = [ "either", "fnv", @@ -3455,32 +3451,31 @@ dependencies = [ "futures-timer", "instant", "libp2p-core", + "libp2p-identity", "libp2p-swarm-derive", "log", - "pin-project", "rand 0.8.5", "smallvec", - "thiserror", "tokio", "void", ] [[package]] name = "libp2p-swarm-derive" -version = "0.31.0" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d527d5827582abd44a6d80c07ff8b50b4ee238a8979e05998474179e79dc400" +checksum = "0fba456131824ab6acd4c7bf61e9c0f0a3014b5fc9868ccb8e10d344594cdc4f" dependencies = [ "heck", "quote", - "syn 1.0.107", + "syn 1.0.109", ] [[package]] name = "libp2p-tcp" -version = "0.38.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4b257baf6df8f2df39678b86c578961d48cc8b68642a12f0f763f56c8e5858d" +checksum = "33d33698596d7722d85d3ab0c86c2c322254fce1241e91208e3679b4eb3026cf" dependencies = [ "futures", "futures-timer", @@ -3488,33 +3483,34 @@ dependencies = [ "libc", "libp2p-core", "log", - "socket2", + "socket2 0.4.10", "tokio", ] [[package]] name = "libp2p-tls" -version = "0.1.0-alpha" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7905ce0d040576634e8a3229a7587cc8beab83f79db6023800f1792895defa8" +checksum = "ff08d13d0dc66e5e9ba6279c1de417b84fa0d0adc3b03e5732928c180ec02781" dependencies = [ "futures", "futures-rustls", "libp2p-core", - "rcgen 0.10.0", - "ring", - "rustls 0.20.8", + "libp2p-identity", + "rcgen", + "ring 0.16.20", + "rustls 0.20.9", "thiserror", - "webpki 0.22.0", - "x509-parser 0.14.0", + "webpki", + "x509-parser", "yasna", ] [[package]] name = "libp2p-wasm-ext" -version = "0.38.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bb1a35299860e0d4b3c02a3e74e3b293ad35ae0cee8a056363b0c862d082069" +checksum = "77dff9d32353a5887adb86c8afc1de1a94d9e8c3bc6df8b2201d7cdf5c848f43" dependencies = [ "futures", "js-sys", @@ -3524,42 +3520,11 @@ dependencies = [ "wasm-bindgen-futures", ] -[[package]] -name = "libp2p-webrtc" -version = "0.4.0-alpha" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb6cd86dd68cba72308ea05de1cebf3ba0ae6e187c40548167955d4e3970f6a" -dependencies = [ - "async-trait", - "asynchronous-codec", - "bytes", - "futures", - "futures-timer", - "hex", - "if-watch", - "libp2p-core", - "libp2p-noise", - "log", - "multihash", - "prost", - "prost-build", - "prost-codec", - "rand 0.8.5", - "rcgen 0.9.3", - "serde", - "stun", - "thiserror", - "tinytemplate", - "tokio", - "tokio-util", - "webrtc", -] - [[package]] name = "libp2p-websocket" -version = "0.40.0" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d705506030d5c0aaf2882437c70dab437605f21c5f9811978f694e6917a3b54" +checksum = "111273f7b3d3510524c752e8b7a5314b7f7a1fee7e68161c01a7d72cbb06db9f" dependencies = [ "either", "futures", @@ -3571,28 +3536,38 @@ dependencies = [ "rw-stream-sink", "soketto", "url", - "webpki-roots", + "webpki-roots 0.22.6", ] [[package]] name = "libp2p-yamux" -version = "0.42.0" +version = "0.43.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f63594a0aa818642d9d4915c791945053877253f08a3626f13416b5cd928a29" +checksum = "4dcd21d950662700a385d4c6d68e2f5f54d778e97068cdd718522222ef513bda" dependencies = [ "futures", "libp2p-core", "log", - "parking_lot 0.12.1", "thiserror", "yamux", ] +[[package]] +name = "libredox" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" +dependencies = [ + "bitflags 2.4.2", + "libc", + "redox_syscall 0.4.1", +] + [[package]] name = "librocksdb-sys" -version = "0.8.0+7.4.4" +version = "0.11.0+8.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "611804e4666a25136fcc5f8cf425ab4d26c7f74ea245ffe92ea23b85b6420b5d" +checksum = "d3386f101bcb4bd252d8e9d2fb41ec3b0862a15a62b478c355b2982efa469e3e" dependencies = [ "bindgen", "bzip2-sys", @@ -3619,7 +3594,7 @@ dependencies = [ "rand 0.8.5", "serde", "sha2 0.9.9", - "typenum 1.16.0 (registry+https://github.com/rust-lang/crates.io-index)", + "typenum 1.17.0", ] [[package]] @@ -3653,9 +3628,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.8" +version = "1.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf" +checksum = "037731f5d3aaa87a5675e895b63ddff1a87624bc29f77004ea829809654e48f6" dependencies = [ "cc", "pkg-config", @@ -3664,9 +3639,9 @@ dependencies = [ [[package]] name = "link-cplusplus" -version = "1.0.8" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" +checksum = "9d240c6f7e1ba3a28b0249f774e6a9dd0175054b52dfbb61b16eb8505c3785c9" dependencies = [ "cc", ] @@ -3688,9 +3663,9 @@ dependencies = [ [[package]] name = "linregress" -version = "0.5.1" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "475015a7f8f017edb28d2e69813be23500ad4b32cfe3421c4148efc97324ee52" +checksum = "4de04dcecc58d366391f9920245b85ffa684558a5ef6e7736e754347c3aea9c2" dependencies = [ "nalgebra", ] @@ -3701,11 +3676,17 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" +[[package]] +name = "linux-raw-sys" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" + [[package]] name = "lock_api" -version = "0.4.9" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" dependencies = [ "autocfg", "scopeguard", @@ -3713,12 +3694,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.17" +version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if", -] +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" [[package]] name = "lru" @@ -3731,11 +3709,11 @@ dependencies = [ [[package]] name = "lru" -version = "0.8.1" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909" +checksum = "718e8fae447df0c7e1ba7f5189829e63fd536945c8988d61444c19039f16b670" dependencies = [ - "hashbrown 0.12.3", + "hashbrown 0.13.2", ] [[package]] @@ -3777,102 +3755,132 @@ dependencies = [ ] [[package]] -name = "match_cfg" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" - -[[package]] -name = "matchers" -version = "0.0.1" +name = "macro_magic" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f099785f7595cc4b4553a174ce30dd7589ef93391ff414dbb67f62392b9e0ce1" +checksum = "aee866bfee30d2d7e83835a4574aad5b45adba4cc807f2a3bbba974e5d4383c9" dependencies = [ - "regex-automata", + "macro_magic_core", + "macro_magic_macros", + "quote", + "syn 2.0.52", ] [[package]] -name = "matches" -version = "0.1.10" +name = "macro_magic_core" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" +checksum = "7e766a20fd9c72bab3e1e64ed63f36bd08410e75803813df210d1ce297d7ad00" +dependencies = [ + "const-random", + "derive-syn-parse", + "macro_magic_core_macros", + "proc-macro2", + "quote", + "syn 2.0.52", +] [[package]] -name = "matrixmultiply" -version = "0.3.2" +name = "macro_magic_core_macros" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add85d4dd35074e6fedc608f8c8f513a3548619a9024b751949ef0e8e45a4d84" +checksum = "d710e1214dffbab3b5dacb21475dde7d6ed84c69ff722b3a47a782668d44fbac" dependencies = [ - "rawpointer", + "proc-macro2", + "quote", + "syn 2.0.52", ] [[package]] -name = "md-5" -version = "0.10.5" +name = "macro_magic_macros" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca" +checksum = "b8fb85ec1620619edf2984a7693497d4ec88a9665d8b87e942856884c92dbf2a" dependencies = [ - "digest 0.10.6", + "macro_magic_core", + "quote", + "syn 2.0.52", ] [[package]] -name = "memchr" -version = "2.5.0" +name = "maplit" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" [[package]] -name = "memfd" -version = "0.6.2" +name = "match_cfg" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" + +[[package]] +name = "matchers" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f099785f7595cc4b4553a174ce30dd7589ef93391ff414dbb67f62392b9e0ce1" +dependencies = [ + "regex-automata 0.1.10", +] + +[[package]] +name = "matches" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" + +[[package]] +name = "matrixmultiply" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b20a59d985586e4a5aef64564ac77299f8586d8be6cf9106a5a40207e8908efb" +checksum = "7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2" dependencies = [ - "rustix", + "autocfg", + "rawpointer", ] [[package]] -name = "memmap2" -version = "0.5.8" +name = "memchr" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" + +[[package]] +name = "memfd" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b182332558b18d807c4ce1ca8ca983b34c3ee32765e47b3f0f69b90355cc1dc" +checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" dependencies = [ - "libc", + "rustix 0.38.31", ] [[package]] -name = "memoffset" -version = "0.6.5" +name = "memmap2" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" dependencies = [ - "autocfg", + "libc", ] [[package]] name = "memoffset" -version = "0.7.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" dependencies = [ "autocfg", ] [[package]] name = "memory-db" -version = "0.31.0" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66" +checksum = "808b50db46293432a45e63bc15ea51e0ab4c0a1647b8eb114e31a3e698dd6fbe" dependencies = [ "hash-db", - "hashbrown 0.12.3", ] -[[package]] -name = "memory_units" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" - [[package]] name = "merlin" version = "2.0.1" @@ -3885,6 +3893,18 @@ dependencies = [ "zeroize", ] +[[package]] +name = "merlin" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58c38e2799fc0978b65dfff8023ec7843e2330bb462f19198840b34b6582397d" +dependencies = [ + "byteorder", + "keccak", + "rand_core 0.6.4", + "zeroize", +] + [[package]] name = "minimal-lexical" version = "0.2.1" @@ -3893,30 +3913,29 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.6.2" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" dependencies = [ "adler", ] [[package]] name = "mio" -version = "0.8.5" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ "libc", - "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.42.0", + "windows-sys 0.48.0", ] [[package]] name = "mockall" -version = "0.11.3" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50e4a1c770583dac7ab5e2f6c139153b783a53a1bbee9729613f193e59828326" +checksum = "4c84490118f2ee2d74570d114f3d0493cbf02790df303d2707606c3e14e07c96" dependencies = [ "cfg-if", "downcast", @@ -3929,25 +3948,26 @@ dependencies = [ [[package]] name = "mockall_derive" -version = "0.11.3" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "832663583d5fa284ca8810bf7015e46c9fff9622d3cf34bd1eea5003fec06dd0" +checksum = "22ce75669015c4f47b289fd4d4f56e894e4c96003ffdf3ac51313126f94c6cbb" dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 1.0.107", + "syn 1.0.109", ] [[package]] name = "multiaddr" -version = "0.16.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4aebdb21e90f81d13ed01dc84123320838e53963c2ca94b60b305d3fa64f31e" +checksum = "2b36f567c7099511fa8612bbbb52dda2419ce0bdbacf31714e3a5ffdb766d3bd" dependencies = [ "arrayref", "byteorder", "data-encoding", + "log", "multibase", "multihash", "percent-encoding", @@ -3970,17 +3990,17 @@ dependencies = [ [[package]] name = "multihash" -version = "0.16.3" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c346cf9999c631f002d8f977c4eaeaa0e6386f16007202308d0b3757522c2cc" +checksum = "835d6ff01d610179fbce3de1694d007e500bf33a7f29689838941d6bf783ae40" dependencies = [ "blake2b_simd", "blake2s_simd", "blake3", "core2", - "digest 0.10.6", + "digest 0.10.7", "multihash-derive", - "sha2 0.10.6", + "sha2 0.10.8", "sha3", "unsigned-varint", ] @@ -3991,11 +4011,11 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d6d4752e6230d8ef7adf7bd5d8c4b1f6561c1014c5ba9a37445ccefe18aa1db" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.1.3", "proc-macro-error", "proc-macro2", "quote", - "syn 1.0.107", + "syn 1.0.109", "synstructure", ] @@ -4021,9 +4041,9 @@ dependencies = [ [[package]] name = "nalgebra" -version = "0.32.2" +version = "0.32.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d68d47bba83f9e2006d117a9a33af1524e655516b8919caac694427a6fb1e511" +checksum = "4541eb06dce09c0241ebbaab7102f0a01a0c8994afed2e5d0d66775016e25ac2" dependencies = [ "approx", "matrixmultiply", @@ -4032,18 +4052,18 @@ dependencies = [ "num-rational", "num-traits", "simba", - "typenum 1.16.0 (registry+https://github.com/rust-lang/crates.io-index)", + "typenum 1.17.0", ] [[package]] name = "nalgebra-macros" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d232c68884c0c99810a5a4d333ef7e47689cfd0edc85efc9e54e1e6bf5212766" +checksum = "91761aed67d03ad966ef783ae962ef9bbaca728d2dd7ceb7939ec110fffad998" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 1.0.109", ] [[package]] @@ -4087,7 +4107,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9ea4302b9759a7a88242299225ea3688e63c85ea136371bb6cf94fd674efaab" dependencies = [ "anyhow", - "bitflags", + "bitflags 1.3.2", "byteorder", "libc", "netlink-packet-core", @@ -4123,9 +4143,9 @@ dependencies = [ [[package]] name = "netlink-sys" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "260e21fbb6f3d253a14df90eb0000a6066780a15dd901a7519ce02d77a94985b" +checksum = "6471bf08e7ac0135876a9581bf3217ef0333c191c128d34878079f42ee150411" dependencies = [ "bytes", "futures", @@ -4140,24 +4160,9 @@ version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" dependencies = [ - "bitflags", - "cfg-if", - "libc", - "memoffset 0.6.5", -] - -[[package]] -name = "nix" -version = "0.26.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" -dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg-if", "libc", - "memoffset 0.7.1", - "pin-utils", - "static_assertions", ] [[package]] @@ -4180,9 +4185,11 @@ dependencies = [ "sc-client-api", "sc-consensus", "sc-consensus-aura", + "sc-consensus-grandpa", "sc-executor", - "sc-finality-grandpa", "sc-keystore", + "sc-network", + "sc-offchain", "sc-rpc", "sc-rpc-api", "sc-service", @@ -4196,8 +4203,8 @@ dependencies = [ "sp-blockchain", "sp-consensus", "sp-consensus-aura", + "sp-consensus-grandpa", "sp-core", - "sp-finality-grandpa", "sp-inherents", "sp-io", "sp-keyring", @@ -4282,9 +4289,9 @@ checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" [[package]] name = "num-bigint" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" dependencies = [ "autocfg", "num-integer", @@ -4293,30 +4300,35 @@ dependencies = [ [[package]] name = "num-complex" -version = "0.4.3" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d" +checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6" dependencies = [ "num-traits", ] +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-format" version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" dependencies = [ - "arrayvec 0.7.2", + "arrayvec 0.7.4", "itoa", ] [[package]] name = "num-integer" -version = "0.1.45" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "autocfg", "num-traits", ] @@ -4327,58 +4339,54 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ "autocfg", - "num-bigint", "num-integer", "num-traits", ] [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" dependencies = [ "autocfg", ] [[package]] name = "num_cpus" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.2.6", + "hermit-abi 0.3.9", "libc", ] [[package]] -name = "object" -version = "0.29.0" +name = "number_prefix" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" -dependencies = [ - "crc32fast", - "hashbrown 0.12.3", - "indexmap", - "memchr", -] +checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" [[package]] name = "object" -version = "0.30.3" +version = "0.30.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439" +checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385" dependencies = [ + "crc32fast", + "hashbrown 0.13.2", + "indexmap 1.9.3", "memchr", ] [[package]] -name = "oid-registry" -version = "0.4.0" +name = "object" +version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38e20717fa0541f39bd146692035c37bedfa532b3e5071b35761082407546b2a" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" dependencies = [ - "asn1-rs 0.3.1", + "memchr", ] [[package]] @@ -4387,14 +4395,14 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff" dependencies = [ - "asn1-rs 0.5.1", + "asn1-rs", ] [[package]] name = "once_cell" -version = "1.17.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "opaque-debug" @@ -4404,9 +4412,9 @@ checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" [[package]] name = "opaque-debug" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "openssl-probe" @@ -4414,44 +4422,6 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" -[[package]] -name = "os_str_bytes" -version = "6.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" - -[[package]] -name = "p256" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594" -dependencies = [ - "ecdsa", - "elliptic-curve", - "sha2 0.10.6", -] - -[[package]] -name = "p384" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc8c5bf642dde52bb9e87c0ecd8ca5a76faac2eeed98dedb7c717997e1080aa" -dependencies = [ - "ecdsa", - "elliptic-curve", - "sha2 0.10.6", -] - -[[package]] -name = "packed_simd_2" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1914cd452d8fccd6f9db48147b29fd4ae05bea9dc5d9ad578509f72415de282" -dependencies = [ - "cfg-if", - "libm 0.1.4", -] - [[package]] name = "pallet-admin-utils" version = "4.0.0-dev" @@ -4475,7 +4445,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-support", "frame-system", @@ -4491,7 +4461,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-support", "frame-system", @@ -4505,7 +4475,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -4553,7 +4523,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -4564,8 +4534,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-application-crypto", + "sp-consensus-grandpa", "sp-core", - "sp-finality-grandpa", "sp-io", "sp-runtime", "sp-session", @@ -4576,7 +4546,7 @@ dependencies = [ [[package]] name = "pallet-insecure-randomness-collective-flip" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-support", "frame-system", @@ -4590,7 +4560,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -4607,7 +4577,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -4623,7 +4593,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -4656,7 +4626,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -4673,7 +4643,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-support", "frame-system", @@ -4727,8 +4697,9 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ + "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", @@ -4741,7 +4712,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -4759,7 +4730,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-support", "frame-system", @@ -4775,7 +4746,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -4791,7 +4762,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -4803,7 +4774,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -4818,9 +4789,9 @@ dependencies = [ [[package]] name = "parity-db" -version = "0.4.3" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd684a725651d9588ef21f140a328b6b4f64e646b2e931f3e6f14f75eedf9980" +checksum = "592a28a24b09c9dc20ac8afaa6839abc417c720afe42c12e1e4a9d6aa2508d2e" dependencies = [ "blake2", "crc32fast", @@ -4832,16 +4803,18 @@ dependencies = [ "memmap2", "parking_lot 0.12.1", "rand 0.8.5", + "siphasher", "snap", + "winapi", ] [[package]] name = "parity-scale-codec" -version = "3.6.5" +version = "3.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dec8a8073036902368c2cdc0387e85ff9a37054d7e7c98e592145e0c92cd4fb" +checksum = "881331e34fa842a2fb61cc2db9643a8fedc615e47cfcc52597d1af0db9a7e8fe" dependencies = [ - "arrayvec 0.7.2", + "arrayvec 0.7.4", "bitvec", "byte-slice-cast", "bytes", @@ -4852,14 +4825,14 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.6.5" +version = "3.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "312270ee71e1cd70289dacf597cab7b207aa107d2f28191c2ae45b2ece18a260" +checksum = "be30eaf4b0a9fba5336683b38de57bb86d179a35862ba6bfcf57625d006bde5b" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 2.0.2", "proc-macro2", "quote", - "syn 1.0.107", + "syn 1.0.109", ] [[package]] @@ -4893,7 +4866,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2" dependencies = [ "proc-macro2", - "syn 1.0.107", + "syn 1.0.109", "synstructure", ] @@ -4905,9 +4878,9 @@ checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304" [[package]] name = "parking" -version = "2.0.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" +checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" [[package]] name = "parking_lot" @@ -4927,7 +4900,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", - "parking_lot_core 0.9.7", + "parking_lot_core 0.9.9", ] [[package]] @@ -4939,29 +4912,35 @@ dependencies = [ "cfg-if", "instant", "libc", - "redox_syscall", + "redox_syscall 0.2.16", "smallvec", "winapi", ] [[package]] name = "parking_lot_core" -version = "0.9.7" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "cfg-if", "libc", - "redox_syscall", + "redox_syscall 0.4.1", "smallvec", - "windows-sys 0.45.0", + "windows-targets 0.48.5", ] +[[package]] +name = "partial_sort" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7924d1d0ad836f665c9065e26d016c673ece3993f30d340068b16f282afc1156" + [[package]] name = "paste" -version = "1.0.11" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" [[package]] name = "pbkdf2" @@ -4978,7 +4957,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -4996,36 +4975,28 @@ dependencies = [ "base64 0.13.1", ] -[[package]] -name = "pem-rfc7468" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d159833a9105500e0398934e205e0773f0b27529557134ecfc51c27646adac" -dependencies = [ - "base64ct", -] - [[package]] name = "percent-encoding" -version = "2.2.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.5.4" +version = "2.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ab62d2fa33726dbe6321cc97ef96d8cde531e3eeaf858a058de53a8a6d40d8f" +checksum = "56f8023d0fb78c8e03784ea1c7f3fa36e68a723138990b8d5a47d916b651e7a8" dependencies = [ + "memchr", "thiserror", "ucd-trie", ] [[package]] name = "pest_derive" -version = "2.5.4" +version = "2.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bf026e2d0581559db66d837fe5242320f525d85c76283c61f4d51a1238d65ea" +checksum = "b0d24f72393fd16ab6ac5738bc33cdb6a9aa73f8b902e8fe29cf4e67d7dd1026" dependencies = [ "pest", "pest_generator", @@ -5033,56 +5004,56 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.5.4" +version = "2.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b27bd18aa01d91c8ed2b61ea23406a676b42d82609c6e2581fba42f0c15f17f" +checksum = "fdc17e2a6c7d0a492f0158d7a4bd66cc17280308bbaff78d5bef566dca35ab80" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.52", ] [[package]] name = "pest_meta" -version = "2.5.4" +version = "2.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f02b677c1859756359fc9983c2e56a0237f18624a3789528804406b7e915e5d" +checksum = "934cd7631c050f4674352a6e835d5f6711ffbfb9345c2fc0107155ac495ae293" dependencies = [ "once_cell", "pest", - "sha2 0.10.6", + "sha2 0.10.8", ] [[package]] name = "petgraph" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" +checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", - "indexmap", + "indexmap 2.2.5", ] [[package]] name = "pin-project" -version = "1.0.12" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.0.12" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.52", ] [[package]] @@ -5093,9 +5064,9 @@ checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777" [[package]] name = "pin-project-lite" -version = "0.2.9" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" [[package]] name = "pin-utils" @@ -5105,9 +5076,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkcs8" -version = "0.9.0" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ "der", "spki", @@ -5115,69 +5086,64 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" - -[[package]] -name = "platforms" -version = "2.0.0" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8d0eef3571242013a0d5dc84861c3ae4a652e56e12adf8bdc26ff5f8cb34c94" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "platforms" -version = "3.0.2" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d7ddaed09e0eb771a79ab0fd64609ba0afb0a8366421957936ad14cbd13630" +checksum = "626dec3cac7cc0e1577a2ec3fc496277ec2baa084bebad95bb6fdbfae235f84c" [[package]] name = "polling" -version = "2.5.2" +version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22122d5ec4f9fe1b3916419b76be1e80bcb93f618d071d2edf841b137b2a2bd6" +checksum = "24f040dee2588b4963afb4e420540439d126f73fdacf4a9c486a96d840bac3c9" dependencies = [ - "autocfg", "cfg-if", - "libc", - "log", - "wepoll-ffi", - "windows-sys 0.42.0", + "concurrent-queue", + "pin-project-lite 0.2.13", + "rustix 0.38.31", + "tracing", + "windows-sys 0.52.0", ] [[package]] name = "poly1305" -version = "0.7.2" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "048aeb476be11a4b6ca432ca569e375810de9294ae78f4774e78ea98a9246ede" +checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" dependencies = [ "cpufeatures", - "opaque-debug 0.3.0", + "opaque-debug 0.3.1", "universal-hash", ] [[package]] name = "polyval" -version = "0.4.5" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd" +checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" dependencies = [ - "cpuid-bool", - "opaque-debug 0.3.0", + "cfg-if", + "cpufeatures", + "opaque-debug 0.3.1", "universal-hash", ] [[package]] -name = "polyval" -version = "0.5.3" +name = "portable-atomic" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" -dependencies = [ - "cfg-if", - "cpufeatures", - "opaque-debug 0.3.0", - "universal-hash", -] +checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" @@ -5201,28 +5167,48 @@ dependencies = [ [[package]] name = "predicates-core" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72f883590242d3c6fc5bf50299011695fa6590c2c70eac95ee1bdb9a733ad1a2" +checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" [[package]] name = "predicates-tree" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54ff541861505aabf6ea722d2131ee980b8276e10a1297b94e896dd8b621850d" +checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf" dependencies = [ "predicates-core", "termtree", ] +[[package]] +name = "prettier-please" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22020dfcf177fcc7bf5deaf7440af371400c67c0de14c399938d8ed4fb4645d3" +dependencies = [ + "proc-macro2", + "syn 2.0.52", +] + [[package]] name = "prettyplease" -version = "0.1.23" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28f53e8b192565862cf99343194579a022eb9c7dd3a8d03134734803c7b3125" +dependencies = [ + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "prettyplease" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e97e3215779627f01ee256d2fad52f3d95e8e1c11e9fc6fd08f7cd455d5d5c78" +checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5" dependencies = [ "proc-macro2", - "syn 1.0.107", + "syn 2.0.52", ] [[package]] @@ -5240,9 +5226,9 @@ dependencies = [ [[package]] name = "primitive-types" -version = "0.12.1" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66" +checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" dependencies = [ "fixed-hash 0.8.0", "impl-codec", @@ -5258,7 +5244,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a" dependencies = [ "thiserror", - "toml", + "toml 0.5.11", +] + +[[package]] +name = "proc-macro-crate" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" +dependencies = [ + "toml_datetime", + "toml_edit 0.20.2", ] [[package]] @@ -5270,7 +5266,7 @@ dependencies = [ "proc-macro-error-attr", "proc-macro2", "quote", - "syn 1.0.107", + "syn 1.0.109", "version_check", ] @@ -5286,16 +5282,27 @@ dependencies = [ ] [[package]] -name = "proc-macro2" -version = "1.0.69" +name = "proc-macro-warning" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" +checksum = "3d1eaa7fa0aa1929ffdf7eeb6eac234dde6268914a14ad44d23521ab6a9b258e" dependencies = [ - "unicode-ident", + "proc-macro2", + "quote", + "syn 2.0.52", ] [[package]] -name = "prometheus" +name = "proc-macro2" +version = "1.0.78" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "prometheus" version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "449811d15fbdf5ceb5c1144416066429cf82316e2ec8ce0c1f6f8a02e7bbcf8c" @@ -5310,32 +5317,32 @@ dependencies = [ [[package]] name = "prometheus-client" -version = "0.18.1" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83cd1b99916654a69008fd66b4f9397fbe08e6e51dfe23d4417acf5d3b8cb87c" +checksum = "5d6fa99d535dd930d1249e6c79cb3c2915f9172a540fe2b02a4c8f9ca954721e" dependencies = [ "dtoa", "itoa", "parking_lot 0.12.1", - "prometheus-client-derive-text-encode", + "prometheus-client-derive-encode", ] [[package]] -name = "prometheus-client-derive-text-encode" -version = "0.3.0" +name = "prometheus-client-derive-encode" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66a455fbcb954c1a7decf3c586e860fd7889cddf4b8e164be736dbac95a953cd" +checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.52", ] [[package]] name = "prost" -version = "0.11.6" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21dc42e00223fc37204bd4aa177e69420c604ca4a183209a8f9de30c6d934698" +checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" dependencies = [ "bytes", "prost-derive", @@ -5343,9 +5350,9 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.11.6" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f8ad728fb08fe212df3c05169e940fbb6d9d16a877ddde14644a983ba2012e" +checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" dependencies = [ "bytes", "heck", @@ -5354,48 +5361,34 @@ dependencies = [ "log", "multimap", "petgraph", - "prettyplease", + "prettyplease 0.1.11", "prost", "prost-types", "regex", - "syn 1.0.107", + "syn 1.0.109", "tempfile", "which", ] -[[package]] -name = "prost-codec" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc34979ff898b6e141106178981ce2596c387ea6e62533facfc61a37fc879c0" -dependencies = [ - "asynchronous-codec", - "bytes", - "prost", - "thiserror", - "unsigned-varint", -] - [[package]] name = "prost-derive" -version = "0.11.6" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bda8c0881ea9f722eb9629376db3d0b903b462477c1aafcb0566610ac28ac5d" +checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" dependencies = [ "anyhow", "itertools", "proc-macro2", "quote", - "syn 1.0.107", + "syn 1.0.109", ] [[package]] name = "prost-types" -version = "0.11.6" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e0526209433e96d83d750dd81a99118edbc55739e7e61a46764fd2ad537788" +checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" dependencies = [ - "bytes", "prost", ] @@ -5414,6 +5407,28 @@ version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" +[[package]] +name = "quick-protobuf" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d6da84cc204722a989e01ba2f6e1e276e190f22263d0cb6ce8526fcdb0d2e1f" +dependencies = [ + "byteorder", +] + +[[package]] +name = "quick-protobuf-codec" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1693116345026436eb2f10b677806169c1a1260c1c60eaaffe3fb5a29ae23d8b" +dependencies = [ + "asynchronous-codec", + "bytes", + "quick-protobuf", + "thiserror", + "unsigned-varint", +] + [[package]] name = "quicksink" version = "0.1.2" @@ -5427,27 +5442,27 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.9.2" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72ef4ced82a24bb281af338b9e8f94429b6eca01b4e66d899f40031f074e74c9" +checksum = "94b0b33c13a79f669c85defaf4c275dc86a0c0372807d0ca3d78e0bb87274863" dependencies = [ "bytes", "rand 0.8.5", - "ring", + "ring 0.16.20", "rustc-hash", - "rustls 0.20.8", + "rustls 0.20.9", "slab", "thiserror", "tinyvec", "tracing", - "webpki 0.22.0", + "webpki", ] [[package]] name = "quote" -version = "1.0.33" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ "proc-macro2", ] @@ -5517,7 +5532,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.8", + "getrandom 0.2.12", ] [[package]] @@ -5546,9 +5561,9 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" [[package]] name = "rayon" -version = "1.6.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7" +checksum = "e4963ed1bc86e4f3ee217022bd855b297cef07fb9eac5dfa1f788b220b49b3bd" dependencies = [ "either", "rayon-core", @@ -5556,86 +5571,80 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.10.2" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "356a0625f1954f730c0201cdab48611198dc6ce21f4acff55089b5a78e6e835b" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" dependencies = [ - "crossbeam-channel", "crossbeam-deque", "crossbeam-utils", - "num_cpus", ] [[package]] name = "rcgen" -version = "0.9.3" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd" +checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" dependencies = [ "pem", - "ring", - "time 0.3.17", - "x509-parser 0.13.2", + "ring 0.16.20", + "time", "yasna", ] [[package]] -name = "rcgen" -version = "0.10.0" +name = "redox_syscall" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "pem", - "ring", - "time 0.3.17", - "yasna", + "bitflags 1.3.2", ] [[package]] name = "redox_syscall" -version = "0.2.16" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] name = "redox_users" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" dependencies = [ - "getrandom 0.2.8", - "redox_syscall", + "getrandom 0.2.12", + "libredox", "thiserror", ] [[package]] name = "ref-cast" -version = "1.0.14" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c78fb8c9293bcd48ef6fce7b4ca950ceaf21210de6e105a883ee280c0f7b9ed" +checksum = "c4846d4c50d1721b1a3bef8af76924eef20d5e723647333798c1b519b3a9473f" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.14" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f9c0c92af03644e4806106281fe2e068ac5bc0ae74a707266d06ea27bccee5f" +checksum = "5fddb4f8d99b0a2ebafc65a87a69a7b9875e4b1ae1f00db265d300ef7f28bccc" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.52", ] [[package]] name = "regalloc2" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "300d4fbfb40c1c66a78ba3ddd41c1110247cf52f97b87d0f2fc9209bd49b030c" +checksum = "80535183cae11b149d618fbd3c37e38d7cda589d82d7769e196ca9a9042d7621" dependencies = [ "fxhash", "log", @@ -5645,13 +5654,14 @@ dependencies = [ [[package]] name = "regex" -version = "1.7.1" +version = "1.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" +checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" dependencies = [ "aho-corasick", "memchr", - "regex-syntax", + "regex-automata 0.4.6", + "regex-syntax 0.8.2", ] [[package]] @@ -5660,35 +5670,31 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" dependencies = [ - "regex-syntax", + "regex-syntax 0.6.29", ] [[package]] -name = "regex-syntax" -version = "0.6.28" +name = "regex-automata" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" +checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.2", +] [[package]] -name = "region" -version = "3.0.0" +name = "regex-syntax" +version = "0.6.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76e189c2369884dce920945e2ddf79b3dff49e071a167dd1817fa9c4c00d512e" -dependencies = [ - "bitflags", - "libc", - "mach", - "winapi", -] +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] -name = "remove_dir_all" -version = "0.5.3" +name = "regex-syntax" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" -dependencies = [ - "winapi", -] +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "resolv-conf" @@ -5702,13 +5708,12 @@ dependencies = [ [[package]] name = "rfc6979" -version = "0.3.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ - "crypto-bigint", "hmac 0.12.1", - "zeroize", + "subtle", ] [[package]] @@ -5720,12 +5725,27 @@ dependencies = [ "cc", "libc", "once_cell", - "spin", - "untrusted", + "spin 0.5.2", + "untrusted 0.7.1", "web-sys", "winapi", ] +[[package]] +name = "ring" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +dependencies = [ + "cc", + "cfg-if", + "getrandom 0.2.12", + "libc", + "spin 0.9.8", + "untrusted 0.9.0", + "windows-sys 0.52.0", +] + [[package]] name = "rlp" version = "0.5.2" @@ -5738,9 +5758,9 @@ dependencies = [ [[package]] name = "rocksdb" -version = "0.19.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e9562ea1d70c0cc63a34a22d977753b50cca91cc6b6527750463bd5dd8697bc" +checksum = "bb6f170a4041d50a0ce04b0d2e14916d6ca863ea2e422689a5b694395d299ffe" dependencies = [ "libc", "librocksdb-sys", @@ -5748,24 +5768,13 @@ dependencies = [ [[package]] name = "rpassword" -version = "7.2.0" +version = "7.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6678cf63ab3491898c0d021b493c94c9b221d91295294a2a5746eacbe5928322" +checksum = "80472be3c897911d0137b2d2b9055faf6eeac5b14e324073d83bc17b191d7e3f" dependencies = [ "libc", "rtoolbox", - "winapi", -] - -[[package]] -name = "rtcp" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1919efd6d4a6a85d13388f9487549bb8e359f17198cc03ffd72f79b553873691" -dependencies = [ - "bytes", - "thiserror", - "webrtc-util", + "windows-sys 0.48.0", ] [[package]] @@ -5778,40 +5787,26 @@ dependencies = [ "log", "netlink-packet-route", "netlink-proto", - "nix 0.24.3", + "nix", "thiserror", "tokio", ] [[package]] name = "rtoolbox" -version = "0.0.1" +version = "0.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "034e22c514f5c0cb8a10ff341b9b048b5ceb21591f31c8f44c43b960f9b3524a" +checksum = "c247d24e63230cdb56463ae328478bd5eac8b8faa8c69461a77e8e323afac90e" dependencies = [ "libc", - "winapi", -] - -[[package]] -name = "rtp" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2a095411ff00eed7b12e4c6a118ba984d113e1079582570d56a5ee723f11f80" -dependencies = [ - "async-trait", - "bytes", - "rand 0.8.5", - "serde", - "thiserror", - "webrtc-util", + "windows-sys 0.48.0", ] [[package]] name = "rustc-demangle" -version = "0.1.21" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" [[package]] name = "rustc-hash" @@ -5840,7 +5835,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.16", + "semver 1.0.22", ] [[package]] @@ -5854,48 +5849,60 @@ dependencies = [ [[package]] name = "rustix" -version = "0.36.8" +version = "0.36.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43abb88211988493c1abb44a70efa56ff0ce98f233b7b276146f1f3f7ba9644" +checksum = "305efbd14fde4139eb501df5f136994bb520b033fa9fbdce287507dc23b8c7ed" dependencies = [ - "bitflags", + "bitflags 1.3.2", "errno", "io-lifetimes", "libc", - "linux-raw-sys", + "linux-raw-sys 0.1.4", "windows-sys 0.45.0", ] +[[package]] +name = "rustix" +version = "0.38.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" +dependencies = [ + "bitflags 2.4.2", + "errno", + "libc", + "linux-raw-sys 0.4.13", + "windows-sys 0.52.0", +] + [[package]] name = "rustls" -version = "0.19.1" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" +checksum = "1b80e3dec595989ea8510028f30c408a4630db12c9cbb8de34203b89d6577e99" dependencies = [ - "base64 0.13.1", "log", - "ring", - "sct 0.6.1", - "webpki 0.21.4", + "ring 0.16.20", + "sct", + "webpki", ] [[package]] name = "rustls" -version = "0.20.8" +version = "0.21.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" +checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" dependencies = [ "log", - "ring", - "sct 0.7.0", - "webpki 0.22.0", + "ring 0.17.8", + "rustls-webpki", + "sct", ] [[package]] name = "rustls-native-certs" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50" +checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" dependencies = [ "openssl-probe", "rustls-pemfile", @@ -5905,18 +5912,28 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.2" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +dependencies = [ + "base64 0.21.7", +] + +[[package]] +name = "rustls-webpki" +version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ - "base64 0.21.0", + "ring 0.17.8", + "untrusted 0.9.0", ] [[package]] name = "rustversion" -version = "1.0.11" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "rw-stream-sink" @@ -5931,9 +5948,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.12" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" +checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" [[package]] name = "safe-mix" @@ -5946,9 +5963,9 @@ dependencies = [ [[package]] name = "safe_arch" -version = "0.6.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "794821e4ccb0d9f979512f9c1973480123f9bd62a90d74ab0f9426fcf8f4a529" +checksum = "f398075ce1e6a179b46f51bd88d0598b92b00d3551f1a2d4ac49e771b56ac354" dependencies = [ "bytemuck", ] @@ -5965,7 +5982,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "log", "sp-core", @@ -5976,7 +5993,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "futures", "futures-timer", @@ -5999,7 +6016,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -6009,46 +6026,49 @@ dependencies = [ "sp-core", "sp-inherents", "sp-runtime", - "sp-state-machine", ] [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "memmap2", "sc-chain-spec-derive", - "sc-network-common", + "sc-client-api", + "sc-executor", + "sc-network", "sc-telemetry", "serde", "serde_json", + "sp-blockchain", "sp-core", "sp-runtime", + "sp-state-machine", ] [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.1.3", "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.52", ] [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "array-bytes", "chrono", "clap", "fdlimit", "futures", - "libp2p", + "libp2p-identity", "log", "names", "parity-scale-codec", @@ -6059,7 +6079,6 @@ dependencies = [ "sc-client-db", "sc-keystore", "sc-network", - "sc-network-common", "sc-service", "sc-telemetry", "sc-tracing", @@ -6081,7 +6100,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "fnv", "futures", @@ -6097,9 +6116,9 @@ dependencies = [ "sp-core", "sp-database", "sp-externalities", - "sp-keystore", "sp-runtime", "sp-state-machine", + "sp-statement-store", "sp-storage", "substrate-prometheus-endpoint", ] @@ -6107,7 +6126,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "hash-db", "kvdb", @@ -6133,12 +6152,12 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", "futures", "futures-timer", - "libp2p", + "libp2p-identity", "log", "mockall", "parking_lot 0.12.1", @@ -6158,7 +6177,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", "futures", @@ -6184,10 +6203,51 @@ dependencies = [ "thiserror", ] +[[package]] +name = "sc-consensus-grandpa" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +dependencies = [ + "ahash 0.8.11", + "array-bytes", + "async-trait", + "dyn-clone", + "finality-grandpa", + "fork-tree", + "futures", + "futures-timer", + "log", + "parity-scale-codec", + "parking_lot 0.12.1", + "rand 0.8.5", + "sc-block-builder", + "sc-chain-spec", + "sc-client-api", + "sc-consensus", + "sc-network", + "sc-network-common", + "sc-network-gossip", + "sc-telemetry", + "sc-transaction-pool-api", + "sc-utils", + "serde_json", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", + "sp-blockchain", + "sp-consensus", + "sp-consensus-grandpa", + "sp-core", + "sp-keystore", + "sp-runtime", + "substrate-prometheus-endpoint", + "thiserror", +] + [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", "futures", @@ -6210,14 +6270,13 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ - "lru 0.8.1", "parity-scale-codec", "parking_lot 0.12.1", "sc-executor-common", - "sc-executor-wasmi", "sc-executor-wasmtime", + "schnellru", "sp-api", "sp-core", "sp-externalities", @@ -6228,46 +6287,30 @@ dependencies = [ "sp-version", "sp-wasm-interface", "tracing", - "wasmi", ] [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "sc-allocator", "sp-maybe-compressed-blob", "sp-wasm-interface", "thiserror", "wasm-instrument", - "wasmi", -] - -[[package]] -name = "sc-executor-wasmi" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" -dependencies = [ - "log", - "sc-allocator", - "sc-executor-common", - "sp-runtime-interface", - "sp-wasm-interface", - "wasmi", ] [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "anyhow", "cfg-if", "libc", "log", - "once_cell", - "rustix", + "rustix 0.36.17", "sc-allocator", "sc-executor-common", "sp-runtime-interface", @@ -6275,56 +6318,17 @@ dependencies = [ "wasmtime", ] -[[package]] -name = "sc-finality-grandpa" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" -dependencies = [ - "ahash 0.8.3", - "array-bytes", - "async-trait", - "dyn-clone", - "finality-grandpa", - "fork-tree", - "futures", - "futures-timer", - "log", - "parity-scale-codec", - "parking_lot 0.12.1", - "rand 0.8.5", - "sc-block-builder", - "sc-chain-spec", - "sc-client-api", - "sc-consensus", - "sc-network", - "sc-network-common", - "sc-network-gossip", - "sc-telemetry", - "sc-utils", - "serde_json", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-finality-grandpa", - "sp-keystore", - "sp-runtime", - "substrate-prometheus-endpoint", - "thiserror", -] - [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "ansi_term", "futures", "futures-timer", "log", "sc-client-api", + "sc-network", "sc-network-common", "sp-blockchain", "sp-runtime", @@ -6333,10 +6337,9 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "array-bytes", - "async-trait", "parking_lot 0.12.1", "serde_json", "sp-application-crypto", @@ -6348,12 +6351,12 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "array-bytes", + "async-channel", "async-trait", "asynchronous-codec", - "backtrace", "bytes", "either", "fnv", @@ -6361,46 +6364,45 @@ dependencies = [ "futures-timer", "ip_network", "libp2p", + "linked_hash_set", "log", - "lru 0.8.1", "mockall", "parity-scale-codec", "parking_lot 0.12.1", + "partial_sort", "pin-project", "rand 0.8.5", - "sc-block-builder", "sc-client-api", - "sc-consensus", "sc-network-common", - "sc-peerset", "sc-utils", "serde", "serde_json", "smallvec", "sp-arithmetic", "sp-blockchain", - "sp-consensus", "sp-core", "sp-runtime", "substrate-prometheus-endpoint", "thiserror", "unsigned-varint", + "wasm-timer", "zeroize", ] [[package]] name = "sc-network-bitswap" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ + "async-channel", "cid", "futures", - "libp2p", + "libp2p-identity", "log", "prost", "prost-build", "sc-client-api", - "sc-network-common", + "sc-network", "sp-blockchain", "sp-runtime", "thiserror", @@ -6410,42 +6412,33 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", - "bitflags", - "bytes", + "bitflags 1.3.2", "futures", - "futures-timer", - "libp2p", - "linked_hash_set", + "libp2p-identity", "parity-scale-codec", "prost-build", "sc-consensus", - "sc-peerset", - "serde", - "smallvec", - "sp-blockchain", "sp-consensus", - "sp-finality-grandpa", + "sp-consensus-grandpa", "sp-runtime", - "substrate-prometheus-endpoint", - "thiserror", ] [[package]] name = "sc-network-gossip" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ - "ahash 0.8.3", + "ahash 0.8.11", "futures", "futures-timer", "libp2p", "log", - "lru 0.8.1", + "sc-network", "sc-network-common", - "sc-peerset", + "schnellru", "sp-runtime", "substrate-prometheus-endpoint", "tracing", @@ -6454,18 +6447,18 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "array-bytes", + "async-channel", "futures", - "libp2p", + "libp2p-identity", "log", "parity-scale-codec", "prost", "prost-build", "sc-client-api", - "sc-network-common", - "sc-peerset", + "sc-network", "sp-blockchain", "sp-core", "sp-runtime", @@ -6475,30 +6468,32 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "array-bytes", + "async-channel", "async-trait", "fork-tree", "futures", + "futures-timer", "libp2p", "log", - "lru 0.8.1", "mockall", "parity-scale-codec", "prost", "prost-build", "sc-client-api", "sc-consensus", + "sc-network", "sc-network-common", - "sc-peerset", "sc-utils", + "schnellru", "smallvec", "sp-arithmetic", "sp-blockchain", "sp-consensus", + "sp-consensus-grandpa", "sp-core", - "sp-finality-grandpa", "sp-runtime", "substrate-prometheus-endpoint", "thiserror", @@ -6507,16 +6502,15 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "array-bytes", "futures", "libp2p", "log", "parity-scale-codec", - "pin-project", + "sc-network", "sc-network-common", - "sc-peerset", "sc-utils", "sp-consensus", "sp-runtime", @@ -6526,7 +6520,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "array-bytes", "bytes", @@ -6536,40 +6530,31 @@ dependencies = [ "hyper", "hyper-rustls", "libp2p", + "log", "num_cpus", "once_cell", "parity-scale-codec", "parking_lot 0.12.1", "rand 0.8.5", "sc-client-api", + "sc-network", "sc-network-common", - "sc-peerset", + "sc-transaction-pool-api", "sc-utils", "sp-api", "sp-core", + "sp-externalities", + "sp-keystore", "sp-offchain", "sp-runtime", "threadpool", "tracing", ] -[[package]] -name = "sc-peerset" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" -dependencies = [ - "futures", - "libp2p", - "log", - "sc-utils", - "serde_json", - "wasm-timer", -] - [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -6578,7 +6563,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "futures", "jsonrpsee", @@ -6601,6 +6586,7 @@ dependencies = [ "sp-rpc", "sp-runtime", "sp-session", + "sp-statement-store", "sp-version", "tokio", ] @@ -6608,7 +6594,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -6627,7 +6613,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "http", "jsonrpsee", @@ -6642,7 +6628,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "array-bytes", "futures", @@ -6668,7 +6654,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", "directories", @@ -6695,11 +6681,9 @@ dependencies = [ "sc-network-light", "sc-network-sync", "sc-network-transactions", - "sc-offchain", "sc-rpc", "sc-rpc-server", "sc-rpc-spec-v2", - "sc-storage-monitor", "sc-sysinfo", "sc-telemetry", "sc-tracing", @@ -6734,7 +6718,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "log", "parity-scale-codec", @@ -6742,26 +6726,10 @@ dependencies = [ "sp-core", ] -[[package]] -name = "sc-storage-monitor" -version = "0.1.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" -dependencies = [ - "clap", - "futures", - "log", - "nix 0.26.2", - "sc-client-db", - "sc-utils", - "sp-core", - "thiserror", - "tokio", -] - [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "futures", "libc", @@ -6780,7 +6748,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "chrono", "futures", @@ -6799,7 +6767,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "ansi_term", "atty", @@ -6807,12 +6775,10 @@ dependencies = [ "lazy_static", "libc", "log", - "once_cell", "parking_lot 0.12.1", "regex", "rustc-hash", "sc-client-api", - "sc-rpc-server", "sc-tracing-proc-macro", "serde", "sp-api", @@ -6830,25 +6796,24 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.1.3", "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.52", ] [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", "futures", "futures-timer", "linked-hash-map", "log", - "num-traits", "parity-scale-codec", "parking_lot 0.12.1", "sc-client-api", @@ -6868,13 +6833,15 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", "futures", "log", + "parity-scale-codec", "serde", "sp-blockchain", + "sp-core", "sp-runtime", "thiserror", ] @@ -6882,22 +6849,23 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ - "backtrace", + "async-channel", "futures", "futures-timer", "lazy_static", "log", "parking_lot 0.12.1", "prometheus", + "sp-arithmetic", ] [[package]] name = "scale-info" -version = "2.9.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35c0a159d0c45c12b20c5a844feb1fe4bea86e28f17b92a5f0c42193634d3782" +checksum = "7f7d66a1128282b7ef025a8ead62a4a9fcf017382ec53b8ffbf4d7bf77bd3c60" dependencies = [ "bitvec", "cfg-if", @@ -6909,23 +6877,23 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.9.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "912e55f6d20e0e80d63733872b40e1227c0bce1e1ab81ba67d696339bfd7fd29" +checksum = "abf2c68b89cafb3b8d918dd07b42be0da66ff202cf1155c5739a4e0c1ea0dc19" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.1.3", "proc-macro2", "quote", - "syn 1.0.107", + "syn 1.0.109", ] [[package]] name = "schannel" -version = "0.1.21" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" dependencies = [ - "windows-sys 0.42.0", + "windows-sys 0.52.0", ] [[package]] @@ -6934,7 +6902,7 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "772575a524feeb803e5b0fcbc6dd9f367e579488197c94c6e4023aad2305774d" dependencies = [ - "ahash 0.8.3", + "ahash 0.8.11", "cfg-if", "hashbrown 0.13.2", ] @@ -6949,7 +6917,7 @@ dependencies = [ "arrayvec 0.5.2", "curve25519-dalek 2.1.3", "getrandom 0.1.16", - "merlin", + "merlin 2.0.1", "rand 0.7.3", "rand_core 0.5.1", "sha2 0.8.2", @@ -6958,58 +6926,53 @@ dependencies = [ ] [[package]] -name = "scopeguard" -version = "1.1.0" +name = "schnorrkel" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +checksum = "8de18f6d8ba0aad7045f5feae07ec29899c1112584a38509a84ad7b04451eaa0" +dependencies = [ + "arrayref", + "arrayvec 0.7.4", + "curve25519-dalek 4.1.2", + "getrandom_or_panic", + "merlin 3.0.0", + "rand_core 0.6.4", + "sha2 0.10.8", + "subtle", + "zeroize", +] [[package]] -name = "scratch" -version = "1.0.3" +name = "scopeguard" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] -name = "sct" -version = "0.6.1" +name = "scratch" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce" -dependencies = [ - "ring", - "untrusted", -] +checksum = "a3cf7c11c38cb994f3d40e8a8cde3bbd1f72a435e4c49e85d6553d8312306152" [[package]] name = "sct" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" -dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "sdp" -version = "0.5.3" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d22a5ef407871893fd72b4562ee15e4742269b173959db4b8df6f538c414e13" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ - "rand 0.8.5", - "substring", - "thiserror", - "url", + "ring 0.17.8", + "untrusted 0.9.0", ] [[package]] name = "sec1" -version = "0.3.0" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" dependencies = [ "base16ct", "der", - "generic-array 0.14.6", + "generic-array 0.14.7", "pkcs8", "subtle", "zeroize", @@ -7044,11 +7007,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.8.2" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" dependencies = [ - "bitflags", + "bitflags 1.3.2", "core-foundation", "core-foundation-sys", "libc", @@ -7057,9 +7020,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.8.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" dependencies = [ "core-foundation-sys", "libc", @@ -7085,9 +7048,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.16" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" +checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" dependencies = [ "serde", ] @@ -7100,9 +7063,9 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.188" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" +checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" dependencies = [ "serde_derive", ] @@ -7118,35 +7081,44 @@ dependencies = [ [[package]] name = "serde_bytes" -version = "0.11.9" +version = "0.11.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "416bda436f9aab92e02c8e10d49a15ddd339cea90b6e340fe51ed97abb548294" +checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" dependencies = [ "serde", ] [[package]] name = "serde_derive" -version = "1.0.188" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" +checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.52", ] [[package]] name = "serde_json" -version = "1.0.92" +version = "1.0.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7434af0dc1cbd59268aa98b4c22c131c0584d2232f6fb166efb993e2832e896a" +checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" dependencies = [ "itoa", "ryu", "serde", ] +[[package]] +name = "serde_spanned" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" +dependencies = [ + "serde", +] + [[package]] name = "serde_with" version = "2.0.0" @@ -7159,14 +7131,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "2.2.0" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1966009f3c05f095697c537312f5415d1e3ed31ce0a56942bac4c771c5c335e" +checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" dependencies = [ "darling", "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.52", ] [[package]] @@ -7179,7 +7151,7 @@ dependencies = [ "cfg-if", "cpufeatures", "digest 0.9.0", - "opaque-debug 0.3.0", + "opaque-debug 0.3.1", ] [[package]] @@ -7204,50 +7176,50 @@ dependencies = [ "cfg-if", "cpufeatures", "digest 0.9.0", - "opaque-debug 0.3.0", + "opaque-debug 0.3.1", ] [[package]] name = "sha2" -version = "0.10.6" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.6", + "digest 0.10.7", ] [[package]] name = "sha3" -version = "0.10.6" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", "keccak", ] [[package]] name = "sharded-slab" -version = "0.1.4" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" dependencies = [ "lazy_static", ] [[package]] name = "shlex" -version = "1.1.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" dependencies = [ "libc", ] @@ -7257,16 +7229,22 @@ name = "signature" version = "1.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", "rand_core 0.6.4", ] [[package]] name = "simba" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50582927ed6f77e4ac020c057f37a268fc6aebc29225050365aacbb9deeeddc4" +checksum = "061507c94fc6ab4ba1c9a0305018408e312e17c041eb63bef8aa726fa33aceae" dependencies = [ "approx", "num-complex", @@ -7275,60 +7253,76 @@ dependencies = [ "wide", ] +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + [[package]] name = "slab" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" dependencies = [ "autocfg", ] [[package]] name = "slice-group-by" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03b634d87b960ab1a38c4fe143b508576f075e7c978bfad18217645ebfdfa2ec" +checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" [[package]] name = "smallvec" -version = "1.10.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" [[package]] name = "snap" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e9f0ab6ef7eb7353d9119c170a436d1bf248eea575ac42d19d12f4e34130831" +checksum = "1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b" [[package]] name = "snow" -version = "0.9.1" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12ba5f4d4ff12bdb6a169ed51b7c48c0e0ac4b0b4b31012b2571e97d78d3201d" +checksum = "850948bee068e713b8ab860fe1adc4d109676ab4c3b621fd8147f06b261f2f85" dependencies = [ - "aes-gcm 0.9.4", + "aes-gcm", "blake2", "chacha20poly1305", - "curve25519-dalek 4.0.0-rc.0", + "curve25519-dalek 4.1.2", "rand_core 0.6.4", - "ring", + "ring 0.17.8", "rustc_version 0.4.0", - "sha2 0.10.6", + "sha2 0.10.8", "subtle", ] [[package]] name = "socket2" -version = "0.4.7" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" +checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" dependencies = [ "libc", "winapi", ] +[[package]] +name = "socket2" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + [[package]] name = "soketto" version = "0.7.1" @@ -7349,13 +7343,16 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "hash-db", "log", "parity-scale-codec", + "scale-info", "sp-api-proc-macro", "sp-core", + "sp-externalities", + "sp-metadata-ir", "sp-runtime", "sp-state-machine", "sp-std", @@ -7367,19 +7364,21 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ + "Inflector", "blake2", - "proc-macro-crate", + "expander", + "proc-macro-crate 1.1.3", "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.52", ] [[package]] name = "sp-application-crypto" -version = "7.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +version = "23.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "parity-scale-codec", "scale-info", @@ -7391,8 +7390,8 @@ dependencies = [ [[package]] name = "sp-arithmetic" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +version = "16.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "integer-sqrt", "num-traits", @@ -7406,9 +7405,8 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ - "parity-scale-codec", "sp-api", "sp-inherents", "sp-runtime", @@ -7418,13 +7416,13 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "futures", "log", - "lru 0.8.1", "parity-scale-codec", "parking_lot 0.12.1", + "schnellru", "sp-api", "sp-consensus", "sp-database", @@ -7436,32 +7434,28 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", "futures", "log", - "parity-scale-codec", "sp-core", "sp-inherents", "sp-runtime", "sp-state-machine", - "sp-std", - "sp-version", "thiserror", ] [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", "parity-scale-codec", "scale-info", "sp-api", "sp-application-crypto", - "sp-consensus", "sp-consensus-slots", "sp-inherents", "sp-runtime", @@ -7472,61 +7466,62 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", - "merlin", "parity-scale-codec", "scale-info", "serde", "sp-api", "sp-application-crypto", - "sp-consensus", "sp-consensus-slots", - "sp-consensus-vrf", "sp-core", "sp-inherents", - "sp-keystore", "sp-runtime", "sp-std", "sp-timestamp", ] [[package]] -name = "sp-consensus-slots" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +name = "sp-consensus-grandpa" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ + "finality-grandpa", + "log", "parity-scale-codec", "scale-info", "serde", + "sp-api", + "sp-application-crypto", + "sp-core", + "sp-keystore", + "sp-runtime", "sp-std", - "sp-timestamp", ] [[package]] -name = "sp-consensus-vrf" +name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "parity-scale-codec", "scale-info", - "schnorrkel", - "sp-core", - "sp-runtime", + "serde", "sp-std", + "sp-timestamp", ] [[package]] name = "sp-core" -version = "7.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +version = "21.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "array-bytes", - "base58", - "bitflags", + "bitflags 1.3.2", "blake2", "bounded-collections", + "bs58", "dyn-clonable", "ed25519-zebra", "futures", @@ -7536,14 +7531,15 @@ dependencies = [ "lazy_static", "libsecp256k1", "log", - "merlin", + "merlin 2.0.1", "parity-scale-codec", "parking_lot 0.12.1", - "primitive-types 0.12.1", + "paste", + "primitive-types 0.12.2", "rand 0.8.5", "regex", "scale-info", - "schnorrkel", + "schnorrkel 0.9.1", "secp256k1", "secrecy", "serde", @@ -7557,38 +7553,37 @@ dependencies = [ "substrate-bip39", "thiserror", "tiny-bip39", + "tracing", "zeroize", ] [[package]] name = "sp-core-hashing" -version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +version = "9.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ - "blake2", + "blake2b_simd", "byteorder", - "digest 0.10.6", - "sha2 0.10.6", + "digest 0.10.7", + "sha2 0.10.8", "sha3", - "sp-std", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" -version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +version = "9.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ - "proc-macro2", "quote", "sp-core-hashing", - "syn 1.0.107", + "syn 2.0.52", ] [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -7596,18 +7591,18 @@ dependencies = [ [[package]] name = "sp-debug-derive" -version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +version = "8.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.52", ] [[package]] name = "sp-externalities" -version = "0.13.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +version = "0.19.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "environmental", "parity-scale-codec", @@ -7615,34 +7610,15 @@ dependencies = [ "sp-storage", ] -[[package]] -name = "sp-finality-grandpa" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" -dependencies = [ - "finality-grandpa", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-api", - "sp-application-crypto", - "sp-core", - "sp-keystore", - "sp-runtime", - "sp-std", -] - [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-core", "sp-runtime", "sp-std", "thiserror", @@ -7650,16 +7626,16 @@ dependencies = [ [[package]] name = "sp-io" -version = "7.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +version = "23.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "bytes", - "ed25519", - "ed25519-dalek", - "futures", + "ed25519 1.5.3", + "ed25519-dalek 1.0.1", "libsecp256k1", "log", "parity-scale-codec", + "rustversion", "secp256k1", "sp-core", "sp-externalities", @@ -7675,27 +7651,22 @@ dependencies = [ [[package]] name = "sp-keyring" -version = "7.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +version = "24.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "lazy_static", "sp-core", "sp-runtime", - "strum", + "strum 0.24.1", ] [[package]] name = "sp-keystore" -version = "0.13.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +version = "0.27.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ - "async-trait", - "futures", - "merlin", "parity-scale-codec", "parking_lot 0.12.1", - "schnorrkel", - "serde", "sp-core", "sp-externalities", "thiserror", @@ -7704,16 +7675,27 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "thiserror", - "zstd", + "zstd 0.12.4", +] + +[[package]] +name = "sp-metadata-ir" +version = "0.1.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +dependencies = [ + "frame-metadata", + "parity-scale-codec", + "scale-info", + "sp-std", ] [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "sp-api", "sp-core", @@ -7722,8 +7704,8 @@ dependencies = [ [[package]] name = "sp-panic-handler" -version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +version = "8.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "backtrace", "lazy_static", @@ -7733,7 +7715,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "rustc-hash", "serde", @@ -7742,8 +7724,8 @@ dependencies = [ [[package]] name = "sp-runtime" -version = "7.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +version = "24.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "either", "hash256-std-hasher", @@ -7764,13 +7746,13 @@ dependencies = [ [[package]] name = "sp-runtime-interface" -version = "7.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +version = "17.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", - "primitive-types 0.12.1", + "primitive-types 0.12.2", "sp-externalities", "sp-runtime-interface-proc-macro", "sp-std", @@ -7782,25 +7764,26 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +version = "11.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "Inflector", - "proc-macro-crate", + "proc-macro-crate 1.1.3", "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.52", ] [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "parity-scale-codec", "scale-info", "sp-api", "sp-core", + "sp-keystore", "sp-runtime", "sp-staking", "sp-std", @@ -7809,10 +7792,12 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ + "impl-trait-for-tuples", "parity-scale-codec", "scale-info", + "serde", "sp-core", "sp-runtime", "sp-std", @@ -7820,8 +7805,8 @@ dependencies = [ [[package]] name = "sp-state-machine" -version = "0.13.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +version = "0.28.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "hash-db", "log", @@ -7836,17 +7821,35 @@ dependencies = [ "sp-trie", "thiserror", "tracing", + "trie-db", +] + +[[package]] +name = "sp-statement-store" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +dependencies = [ + "parity-scale-codec", + "scale-info", + "sp-api", + "sp-application-crypto", + "sp-core", + "sp-externalities", + "sp-runtime", + "sp-runtime-interface", + "sp-std", + "thiserror", ] [[package]] name = "sp-std" -version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +version = "8.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" [[package]] name = "sp-storage" -version = "7.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +version = "13.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", @@ -7859,11 +7862,9 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", - "futures-timer", - "log", "parity-scale-codec", "sp-inherents", "sp-runtime", @@ -7873,8 +7874,8 @@ dependencies = [ [[package]] name = "sp-tracing" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +version = "10.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "parity-scale-codec", "sp-std", @@ -7886,7 +7887,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "sp-api", "sp-runtime", @@ -7895,10 +7896,9 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", - "log", "parity-scale-codec", "scale-info", "sp-core", @@ -7910,12 +7910,12 @@ dependencies = [ [[package]] name = "sp-trie" -version = "7.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +version = "22.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ - "ahash 0.8.3", + "ahash 0.8.11", "hash-db", - "hashbrown 0.12.3", + "hashbrown 0.13.2", "lazy_static", "memory-db", "nohash-hasher", @@ -7933,8 +7933,8 @@ dependencies = [ [[package]] name = "sp-version" -version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +version = "22.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", @@ -7950,33 +7950,32 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +version = "8.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "parity-scale-codec", "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.52", ] [[package]] name = "sp-wasm-interface" -version = "7.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +version = "14.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "anyhow", "impl-trait-for-tuples", "log", "parity-scale-codec", "sp-std", - "wasmi", "wasmtime", ] [[package]] name = "sp-weights" -version = "4.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +version = "20.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "parity-scale-codec", "scale-info", @@ -7994,11 +7993,28 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" + +[[package]] +name = "spinners" +version = "4.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0ef947f358b9c238923f764c72a4a9d42f2d637c46e059dbd319d6e7cfb4f82" +dependencies = [ + "lazy_static", + "maplit", + "strum 0.24.1", +] + [[package]] name = "spki" -version = "0.6.0" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" dependencies = [ "base64ct", "der", @@ -8006,9 +8022,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.38.0" +version = "1.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e40c020d72bc0a9c5660bb71e4a6fdef081493583062c474740a7d59f55f0e7b" +checksum = "b1114ee5900b8569bbc8b1a014a942f937b752af4b44f4607430b5f86cedaac0" dependencies = [ "Inflector", "num-format", @@ -8037,7 +8053,7 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a2a1c578e98c1c16fc3b8ec1328f7659a500737d7a0c6d625e73e830ff9c1f6" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg_aliases", "libc", "parking_lot 0.11.2", @@ -8056,7 +8072,7 @@ dependencies = [ "memchr", "proc-macro2", "quote", - "syn 1.0.107", + "syn 1.0.109", ] [[package]] @@ -8065,15 +8081,27 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +[[package]] +name = "strsim" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" + [[package]] name = "strum" version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" dependencies = [ - "strum_macros", + "strum_macros 0.24.3", ] +[[package]] +name = "strum" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" + [[package]] name = "strum_macros" version = "0.24.3" @@ -8084,37 +8112,31 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 1.0.107", + "syn 1.0.109", ] [[package]] -name = "stun" -version = "0.4.4" +name = "strum_macros" +version = "0.25.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7e94b1ec00bad60e6410e058b52f1c66de3dc5fe4d62d09b3e52bb7d3b73e25" +checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" dependencies = [ - "base64 0.13.1", - "crc", - "lazy_static", - "md-5", - "rand 0.8.5", - "ring", - "subtle", - "thiserror", - "tokio", - "url", - "webrtc-util", + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.52", ] [[package]] name = "substrate-bip39" -version = "0.4.4" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49eee6965196b32f882dd2ee85a92b1dbead41b04e53907f269de3b0dc04733c" +checksum = "6a7590dc041b9bc2825e52ce5af8416c73dbe9d0654402bfd4b4941938b94d8f" dependencies = [ "hmac 0.11.0", "pbkdf2 0.8.0", - "schnorrkel", + "schnorrkel 0.11.4", "sha2 0.9.9", "zeroize", ] @@ -8122,10 +8144,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" -dependencies = [ - "platforms 2.0.0", -] +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" [[package]] name = "substrate-fixed" @@ -8134,13 +8153,13 @@ source = "git+https://github.com/encointer/substrate-fixed.git?tag=v0.5.9#a4fb46 dependencies = [ "parity-scale-codec", "scale-info", - "typenum 1.16.0 (git+https://github.com/encointer/typenum?tag=v1.16.0)", + "typenum 1.16.0", ] [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -8159,7 +8178,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "hyper", "log", @@ -8171,7 +8190,7 @@ dependencies = [ [[package]] name = "substrate-rpc-client" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", "jsonrpsee", @@ -8184,29 +8203,21 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "ansi_term", "build-helper", "cargo_metadata", "filetime", + "parity-wasm", "sp-maybe-compressed-blob", - "strum", + "strum 0.24.1", "tempfile", - "toml", + "toml 0.7.8", "walkdir", "wasm-opt", ] -[[package]] -name = "substring" -version = "1.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ee6433ecef213b2e72f587ef64a2f5943e7cd16fbd82dbe8bc07486c534c86" -dependencies = [ - "autocfg", -] - [[package]] name = "subtensor-custom-rpc" version = "0.0.2" @@ -8240,9 +8251,9 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "syn" -version = "1.0.107" +version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", "quote", @@ -8251,9 +8262,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.38" +version = "2.0.52" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b" +checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07" dependencies = [ "proc-macro2", "quote", @@ -8268,17 +8279,17 @@ checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 1.0.109", "unicode-xid", ] [[package]] name = "system-configuration" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75182f12f490e953596550b65ee31bda7c8e043d9386174b353bda50838c3fd" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ - "bitflags", + "bitflags 1.3.2", "core-foundation", "system-configuration-sys", ] @@ -8301,57 +8312,55 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.5" +version = "0.12.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9410d0f6853b1d94f0e519fb95df60f29d2c1eff2d921ffdf01a4c8a3b54f12d" +checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" [[package]] name = "tempfile" -version = "3.3.0" +version = "3.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" dependencies = [ "cfg-if", "fastrand", - "libc", - "redox_syscall", - "remove_dir_all", - "winapi", + "rustix 0.38.31", + "windows-sys 0.52.0", ] [[package]] name = "termcolor" -version = "1.2.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" dependencies = [ "winapi-util", ] [[package]] name = "termtree" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95059e91184749cb66be6dc994f67f182b6d897cb3df74a5bf66b5e709295fd8" +checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" [[package]] name = "thiserror" -version = "1.0.38" +version = "1.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" +checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.38" +version = "1.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" +checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.52", ] [[package]] @@ -8362,10 +8371,11 @@ checksum = "3bf63baf9f5039dadc247375c29eb13706706cfde997d0330d05aa63a77d8820" [[package]] name = "thread_local" -version = "1.1.4" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" dependencies = [ + "cfg-if", "once_cell", ] @@ -8380,9 +8390,9 @@ dependencies = [ [[package]] name = "tikv-jemalloc-sys" -version = "0.5.3+5.3.0-patched" +version = "0.5.4+5.3.0-patched" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a678df20055b43e57ef8cddde41cdfda9a3c1a060b67f4c5836dfb1d78543ba8" +checksum = "9402443cb8fd499b6f327e40565234ff34dbda27460c5b47db0db77443dd85d1" dependencies = [ "cc", "libc", @@ -8390,22 +8400,14 @@ dependencies = [ [[package]] name = "time" -version = "0.1.45" +version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" -dependencies = [ - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", - "winapi", -] - -[[package]] -name = "time" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376" +checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" dependencies = [ + "deranged", "itoa", + "num-conv", + "powerfmt", "serde", "time-core", "time-macros", @@ -8413,16 +8415,17 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.0" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.6" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2" +checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" dependencies = [ + "num-conv", "time-core", ] @@ -8438,7 +8441,7 @@ dependencies = [ "pbkdf2 0.11.0", "rand 0.8.5", "rustc-hash", - "sha2 0.10.6", + "sha2 0.10.8", "thiserror", "unicode-normalization", "wasm-bindgen", @@ -8454,16 +8457,6 @@ dependencies = [ "crunchy", ] -[[package]] -name = "tinytemplate" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" -dependencies = [ - "serde", - "serde_json", -] - [[package]] name = "tinyvec" version = "1.6.0" @@ -8481,69 +8474,78 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.25.0" +version = "1.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af" +checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" dependencies = [ - "autocfg", + "backtrace", "bytes", "libc", - "memchr", "mio", "num_cpus", "parking_lot 0.12.1", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.13", "signal-hook-registry", - "socket2", + "socket2 0.5.6", "tokio-macros", - "windows-sys 0.42.0", + "windows-sys 0.48.0", ] [[package]] name = "tokio-macros" -version = "1.8.2" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.52", +] + +[[package]] +name = "tokio-retry" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f57eb36ecbe0fc510036adff84824dd3c24bb781e21bfa67b69d556aa85214f" +dependencies = [ + "pin-project", + "rand 0.8.5", + "tokio", ] [[package]] name = "tokio-rustls" -version = "0.23.4" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" +checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.20.8", + "rustls 0.21.10", "tokio", - "webpki 0.22.0", ] [[package]] name = "tokio-stream" -version = "0.1.11" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d660770404473ccd7bc9f8b28494a811bc18542b915c0855c51e8f419d5223ce" +checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" dependencies = [ "futures-core", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.13", "tokio", "tokio-util", ] [[package]] name = "tokio-util" -version = "0.7.4" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" dependencies = [ "bytes", "futures-core", "futures-io", "futures-sink", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.13", "tokio", "tracing", ] @@ -8557,6 +8559,51 @@ dependencies = [ "serde", ] +[[package]] +name = "toml" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.19.15", +] + +[[package]] +name = "toml_datetime" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap 2.2.5", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +dependencies = [ + "indexmap 2.2.5", + "toml_datetime", + "winnow", +] + [[package]] name = "tower" version = "0.4.13" @@ -8570,18 +8617,18 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.3.5" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858" +checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" dependencies = [ - "bitflags", + "bitflags 2.4.2", "bytes", "futures-core", "futures-util", "http", "http-body", "http-range-header", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.13", "tower-layer", "tower-service", ] @@ -8600,33 +8647,32 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.37" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "cfg-if", "log", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.13", "tracing-attributes", "tracing-core", ] [[package]] name = "tracing-attributes" -version = "0.1.23" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.52", ] [[package]] name = "tracing-core" -version = "0.1.30" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ "once_cell", "valuable", @@ -8644,12 +8690,12 @@ dependencies = [ [[package]] name = "tracing-log" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" +checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" dependencies = [ - "lazy_static", "log", + "once_cell", "tracing-core", ] @@ -8688,9 +8734,9 @@ dependencies = [ [[package]] name = "trie-db" -version = "0.25.1" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3390c0409daaa6027d6681393316f4ccd3ff82e1590a1e4725014e3ae2bf1920" +checksum = "767abe6ffed88a1889671a102c2861ae742726f52e0a5a425b92c9fbfa7e9c85" dependencies = [ "hash-db", "hashbrown 0.13.2", @@ -8701,9 +8747,9 @@ dependencies = [ [[package]] name = "trie-root" -version = "0.17.0" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a36c5ca3911ed3c9a5416ee6c679042064b93fc637ded67e25f92e68d783891" +checksum = "d4ed310ef5ab98f5fa467900ed906cb9232dd5376597e00fd4cba2a449d06c0b" dependencies = [ "hash-db", ] @@ -8726,7 +8772,7 @@ dependencies = [ "lazy_static", "rand 0.8.5", "smallvec", - "socket2", + "socket2 0.4.10", "thiserror", "tinyvec", "tokio", @@ -8756,14 +8802,14 @@ dependencies = [ [[package]] name = "try-lock" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#8c4b84520cee2d7de53cc33cb67605ce4efefba8" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", "clap", @@ -8774,7 +8820,6 @@ dependencies = [ "parity-scale-codec", "sc-cli", "sc-executor", - "sc-service", "serde", "serde_json", "sp-api", @@ -8794,7 +8839,7 @@ dependencies = [ "sp-version", "sp-weights", "substrate-rpc-client", - "zstd", + "zstd 0.12.4", ] [[package]] @@ -8803,25 +8848,6 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f4f195fd851901624eee5a58c4bb2b4f06399148fcd0ed336e6f1cb60a9881df" -[[package]] -name = "turn" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4712ee30d123ec7ae26d1e1b218395a16c87cdbaf4b3925d170d684af62ea5e8" -dependencies = [ - "async-trait", - "base64 0.13.1", - "futures", - "log", - "md-5", - "rand 0.8.5", - "ring", - "stun", - "thiserror", - "tokio", - "webrtc-util", -] - [[package]] name = "twox-hash" version = "1.6.3" @@ -8829,17 +8855,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if", - "digest 0.10.6", + "digest 0.10.7", "rand 0.8.5", "static_assertions", ] -[[package]] -name = "typenum" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" - [[package]] name = "typenum" version = "1.16.0" @@ -8849,11 +8869,17 @@ dependencies = [ "scale-info", ] +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + [[package]] name = "ucd-trie" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81" +checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" [[package]] name = "uint" @@ -8869,30 +8895,30 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.10" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-ident" -version = "1.0.6" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-normalization" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" dependencies = [ "tinyvec", ] [[package]] name = "unicode-width" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" [[package]] name = "unicode-xid" @@ -8902,19 +8928,19 @@ checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] name = "universal-hash" -version = "0.4.1" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" dependencies = [ - "generic-array 0.14.6", + "crypto-common", "subtle", ] [[package]] name = "unsigned-varint" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d86a8dc7f45e4c1b0d30e43038c38f274e77af056aa5f74b93c2cf9eb3c1c836" +checksum = "6889a77d49f1f013504cec6bf97a2c730394adedaeb1deb5ea08949a50541105" dependencies = [ "asynchronous-codec", "bytes", @@ -8928,25 +8954,28 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + [[package]] name = "url" -version = "2.3.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" dependencies = [ "form_urlencoded", - "idna 0.3.0", + "idna 0.5.0", "percent-encoding", ] [[package]] -name = "uuid" -version = "1.3.0" +name = "utf8parse" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1674845326ee10d37ca60470760d4288a6f80f304007d92e5c53bab78c9cfd79" -dependencies = [ - "getrandom 0.2.8", -] +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "valuable" @@ -8972,39 +9001,22 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" -[[package]] -name = "waitgroup" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1f50000a783467e6c0200f9d10642f4bc424e39efc1b770203e88b488f79292" -dependencies = [ - "atomic-waker", -] - -[[package]] -name = "waker-fn" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" - [[package]] name = "walkdir" -version = "2.3.2" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" dependencies = [ "same-file", - "winapi", "winapi-util", ] [[package]] name = "want" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" dependencies = [ - "log", "try-lock", ] @@ -9014,12 +9026,6 @@ version = "0.9.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" -[[package]] -name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -9028,9 +9034,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.84" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -9038,24 +9044,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.84" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.52", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.34" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" dependencies = [ "cfg-if", "js-sys", @@ -9065,9 +9071,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.84" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -9075,22 +9081,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.84" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.52", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.84" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "wasm-instrument" @@ -9103,14 +9109,14 @@ dependencies = [ [[package]] name = "wasm-opt" -version = "0.111.0" +version = "0.112.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84a303793cbc01fb96551badfc7367db6007396bba6bac97936b3c8b6f7fdb41" +checksum = "87fef6d0d508f08334e0ab0e6877feb4c0ecb3956bcf2cb950699b22fedf3e9c" dependencies = [ "anyhow", "libc", - "strum", - "strum_macros", + "strum 0.24.1", + "strum_macros 0.24.3", "tempfile", "thiserror", "wasm-opt-cxx-sys", @@ -9119,9 +9125,9 @@ dependencies = [ [[package]] name = "wasm-opt-cxx-sys" -version = "0.111.0" +version = "0.112.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c9deb56f8a9f2ec177b3bd642a8205621835944ed5da55f2388ef216aca5a4" +checksum = "bc816bbc1596c8f2e8127e137a760c798023ef3d378f2ae51f0f1840e2dfa445" dependencies = [ "anyhow", "cxx", @@ -9131,15 +9137,14 @@ dependencies = [ [[package]] name = "wasm-opt-sys" -version = "0.111.0" +version = "0.112.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4432e28b542738a9776cedf92e8a99d8991c7b4667ee2c7ccddfb479dd2856a7" +checksum = "40199e4f68ef1071b3c6d0bd8026a12b481865d4b9e49c156932ea9a6234dd14" dependencies = [ "anyhow", "cc", "cxx", "cxx-build", - "regex", ] [[package]] @@ -9157,63 +9162,29 @@ dependencies = [ "web-sys", ] -[[package]] -name = "wasmi" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422" -dependencies = [ - "parity-wasm", - "wasmi-validation", - "wasmi_core", -] - -[[package]] -name = "wasmi-validation" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ff416ad1ff0c42e5a926ed5d5fab74c0f098749aa0ad8b2a34b982ce0e867b" -dependencies = [ - "parity-wasm", -] - -[[package]] -name = "wasmi_core" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57d20cb3c59b788653d99541c646c561c9dd26506f25c0cebfe810659c54c6d7" -dependencies = [ - "downcast-rs", - "libm 0.2.6", - "memory_units", - "num-rational", - "num-traits", - "region", -] - [[package]] name = "wasmparser" -version = "0.100.0" +version = "0.102.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64b20236ab624147dfbb62cf12a19aaf66af0e41b8398838b66e997d07d269d4" +checksum = "48134de3d7598219ab9eaf6b91b15d8e50d31da76b8519fe4ecfcec2cf35104b" dependencies = [ - "indexmap", + "indexmap 1.9.3", "url", ] [[package]] name = "wasmtime" -version = "6.0.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a222f5fa1e14b2cefc286f1b68494d7a965f4bf57ec04c59bb62673d639af6" +checksum = "f907fdead3153cb9bfb7a93bbd5b62629472dc06dee83605358c64c52ed3dda9" dependencies = [ "anyhow", "bincode", "cfg-if", - "indexmap", + "indexmap 1.9.3", "libc", "log", - "object 0.29.0", + "object 0.30.4", "once_cell", "paste", "psm", @@ -9226,43 +9197,43 @@ dependencies = [ "wasmtime-environ", "wasmtime-jit", "wasmtime-runtime", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] name = "wasmtime-asm-macros" -version = "6.0.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4407a7246e7d2f3d8fb1cf0c72fda8dbafdb6dd34d555ae8bea0e5ae031089cc" +checksum = "d3b9daa7c14cd4fa3edbf69de994408d5f4b7b0959ac13fa69d465f6597f810d" dependencies = [ "cfg-if", ] [[package]] name = "wasmtime-cache" -version = "6.0.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ceb3adf61d654be0be67fffdce42447b0880481348785be5fe40b5dd7663a4c" +checksum = "c86437fa68626fe896e5afc69234bb2b5894949083586535f200385adfd71213" dependencies = [ "anyhow", - "base64 0.13.1", + "base64 0.21.7", "bincode", "directories-next", "file-per-thread-logger", "log", - "rustix", + "rustix 0.36.17", "serde", - "sha2 0.10.6", - "toml", - "windows-sys 0.42.0", - "zstd", + "sha2 0.10.8", + "toml 0.5.11", + "windows-sys 0.45.0", + "zstd 0.11.2+zstd.1.5.2", ] [[package]] name = "wasmtime-cranelift" -version = "6.0.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c366bb8647e01fd08cb5589976284b00abfded5529b33d7e7f3f086c68304a4" +checksum = "b1cefde0cce8cb700b1b21b6298a3837dba46521affd7b8c38a9ee2c869eee04" dependencies = [ "anyhow", "cranelift-codegen", @@ -9270,27 +9241,43 @@ dependencies = [ "cranelift-frontend", "cranelift-native", "cranelift-wasm", - "gimli 0.26.2", + "gimli 0.27.3", "log", - "object 0.29.0", + "object 0.30.4", "target-lexicon", "thiserror", "wasmparser", + "wasmtime-cranelift-shared", + "wasmtime-environ", +] + +[[package]] +name = "wasmtime-cranelift-shared" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd041e382ef5aea1b9fc78442394f1a4f6d676ce457e7076ca4cb3f397882f8b" +dependencies = [ + "anyhow", + "cranelift-codegen", + "cranelift-native", + "gimli 0.27.3", + "object 0.30.4", + "target-lexicon", "wasmtime-environ", ] [[package]] name = "wasmtime-environ" -version = "6.0.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47b8b50962eae38ee319f7b24900b7cf371f03eebdc17400c1dc8575fc10c9a7" +checksum = "a990198cee4197423045235bf89d3359e69bd2ea031005f4c2d901125955c949" dependencies = [ "anyhow", "cranelift-entity", - "gimli 0.26.2", - "indexmap", + "gimli 0.27.3", + "indexmap 1.9.3", "log", - "object 0.29.0", + "object 0.30.4", "serde", "target-lexicon", "thiserror", @@ -9300,18 +9287,18 @@ dependencies = [ [[package]] name = "wasmtime-jit" -version = "6.0.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffaed4f9a234ba5225d8e64eac7b4a5d13b994aeb37353cde2cbeb3febda9eaa" +checksum = "0de48df552cfca1c9b750002d3e07b45772dd033b0b206d5c0968496abf31244" dependencies = [ - "addr2line 0.17.0", + "addr2line 0.19.0", "anyhow", "bincode", "cfg-if", "cpp_demangle", - "gimli 0.26.2", + "gimli 0.27.3", "log", - "object 0.29.0", + "object 0.30.4", "rustc-demangle", "serde", "target-lexicon", @@ -9319,60 +9306,60 @@ dependencies = [ "wasmtime-jit-debug", "wasmtime-jit-icache-coherence", "wasmtime-runtime", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] name = "wasmtime-jit-debug" -version = "6.0.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eed41cbcbf74ce3ff6f1d07d1b707888166dc408d1a880f651268f4f7c9194b2" +checksum = "6e0554b84c15a27d76281d06838aed94e13a77d7bf604bbbaf548aa20eb93846" dependencies = [ - "object 0.29.0", + "object 0.30.4", "once_cell", - "rustix", + "rustix 0.36.17", ] [[package]] name = "wasmtime-jit-icache-coherence" -version = "6.0.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a28ae1e648461bfdbb79db3efdaee1bca5b940872e4175390f465593a2e54c" +checksum = "aecae978b13f7f67efb23bd827373ace4578f2137ec110bbf6a4a7cde4121bbd" dependencies = [ "cfg-if", "libc", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] name = "wasmtime-runtime" -version = "6.0.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e704b126e4252788ccfc3526d4d4511d4b23c521bf123e447ac726c14545217b" +checksum = "658cf6f325232b6760e202e5255d823da5e348fdea827eff0a2a22319000b441" dependencies = [ "anyhow", "cc", "cfg-if", - "indexmap", + "indexmap 1.9.3", "libc", "log", "mach", "memfd", - "memoffset 0.6.5", + "memoffset", "paste", "rand 0.8.5", - "rustix", + "rustix 0.36.17", "wasmtime-asm-macros", "wasmtime-environ", "wasmtime-jit-debug", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] name = "wasmtime-types" -version = "6.0.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83e5572c5727c1ee7e8f28717aaa8400e4d22dcbd714ea5457d85b5005206568" +checksum = "a4f6fffd2a1011887d57f07654dd112791e872e3ff4a2e626aee8059ee17f06f" dependencies = [ "cranelift-entity", "serde", @@ -9382,9 +9369,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.61" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" dependencies = [ "js-sys", "wasm-bindgen", @@ -9392,443 +9379,331 @@ dependencies = [ [[package]] name = "webpki" -version = "0.21.4" +version = "0.22.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea" +checksum = "ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53" dependencies = [ - "ring", - "untrusted", + "ring 0.17.8", + "untrusted 0.9.0", ] [[package]] -name = "webpki" -version = "0.22.0" +name = "webpki-roots" +version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" +checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" dependencies = [ - "ring", - "untrusted", + "webpki", ] [[package]] name = "webpki-roots" -version = "0.22.6" +version = "0.25.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" -dependencies = [ - "webpki 0.22.0", -] +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] -name = "webrtc" -version = "0.6.0" +name = "which" +version = "4.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d3bc9049bdb2cea52f5fd4f6f728184225bdb867ed0dc2410eab6df5bdd67bb" +checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" dependencies = [ - "arc-swap", - "async-trait", - "bytes", - "hex", - "interceptor", - "lazy_static", - "log", - "rand 0.8.5", - "rcgen 0.9.3", - "regex", - "ring", - "rtcp", - "rtp", - "rustls 0.19.1", - "sdp", - "serde", - "serde_json", - "sha2 0.10.6", - "stun", - "thiserror", - "time 0.3.17", - "tokio", - "turn", - "url", - "waitgroup", - "webrtc-data", - "webrtc-dtls", - "webrtc-ice", - "webrtc-mdns", - "webrtc-media", - "webrtc-sctp", - "webrtc-srtp", - "webrtc-util", + "either", + "home", + "once_cell", + "rustix 0.38.31", ] [[package]] -name = "webrtc-data" -version = "0.6.0" +name = "wide" +version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef36a4d12baa6e842582fe9ec16a57184ba35e1a09308307b67d43ec8883100" +checksum = "89beec544f246e679fc25490e3f8e08003bc4bf612068f325120dad4cea02c1c" dependencies = [ - "bytes", - "derive_builder", - "log", - "thiserror", - "tokio", - "webrtc-sctp", - "webrtc-util", + "bytemuck", + "safe_arch", ] [[package]] -name = "webrtc-dtls" -version = "0.7.0" +name = "widestring" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7021987ae0a2ed6c8cd33f68e98e49bb6e74ffe9543310267b48a1bbe3900e5f" -dependencies = [ - "aes 0.6.0", - "aes-gcm 0.8.0", - "async-trait", - "bincode", - "block-modes", - "byteorder", - "ccm", - "curve25519-dalek 3.2.0", - "der-parser 8.1.0", - "elliptic-curve", - "hkdf", - "hmac 0.10.1", - "log", - "oid-registry 0.6.1", - "p256", - "p384", - "rand 0.8.5", - "rand_core 0.6.4", - "rcgen 0.9.3", - "ring", - "rustls 0.19.1", - "sec1", - "serde", - "sha-1", - "sha2 0.9.9", - "signature", - "subtle", - "thiserror", - "tokio", - "webpki 0.21.4", - "webrtc-util", - "x25519-dalek 2.0.0-pre.1", - "x509-parser 0.13.2", -] +checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" [[package]] -name = "webrtc-ice" -version = "0.9.0" +name = "winapi" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "494483fbb2f5492620871fdc78b084aed8807377f6e3fe88b2e49f0a9c9c41d7" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" dependencies = [ - "arc-swap", - "async-trait", - "crc", - "log", - "rand 0.8.5", - "serde", - "serde_json", - "stun", - "thiserror", - "tokio", - "turn", - "url", - "uuid", - "waitgroup", - "webrtc-mdns", - "webrtc-util", + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", ] [[package]] -name = "webrtc-mdns" -version = "0.5.2" +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f08dfd7a6e3987e255c4dbe710dde5d94d0f0574f8a21afa95d171376c143106" -dependencies = [ - "log", - "socket2", - "thiserror", - "tokio", - "webrtc-util", -] +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] -name = "webrtc-media" -version = "0.5.0" +name = "winapi-util" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee2a3c157a040324e5049bcbd644ffc9079e6738fa2cfab2bcff64e5cc4c00d7" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" dependencies = [ - "byteorder", - "bytes", - "derive_builder", - "displaydoc", - "rand 0.8.5", - "rtp", - "thiserror", - "webrtc-util", + "winapi", ] [[package]] -name = "webrtc-sctp" -version = "0.7.0" +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d47adcd9427eb3ede33d5a7f3424038f63c965491beafcc20bc650a2f6679c0" -dependencies = [ - "arc-swap", - "async-trait", - "bytes", - "crc", - "log", - "rand 0.8.5", - "thiserror", - "tokio", - "webrtc-util", -] +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] -name = "webrtc-srtp" -version = "0.9.1" +name = "windows" +version = "0.51.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6183edc4c1c6c0175f8812eefdce84dfa0aea9c3ece71c2bf6ddd3c964de3da5" +checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9" dependencies = [ - "aead 0.4.3", - "aes 0.7.5", - "aes-gcm 0.9.4", - "async-trait", - "byteorder", - "bytes", - "ctr 0.8.0", - "hmac 0.11.0", - "log", - "rtcp", - "rtp", - "sha-1", - "subtle", - "thiserror", - "tokio", - "webrtc-util", + "windows-core 0.51.1", + "windows-targets 0.48.5", ] [[package]] -name = "webrtc-util" -version = "0.7.0" +name = "windows-core" +version = "0.51.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f1db1727772c05cf7a2cfece52c3aca8045ca1e176cd517d323489aa3c6d87" +checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" dependencies = [ - "async-trait", - "bitflags", - "bytes", - "cc", - "ipnet", - "lazy_static", - "libc", - "log", - "nix 0.24.3", - "rand 0.8.5", - "thiserror", - "tokio", - "winapi", + "windows-targets 0.48.5", ] [[package]] -name = "wepoll-ffi" -version = "0.1.2" +name = "windows-core" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d743fdedc5c64377b5fc2bc036b01c7fd642205a0d96356034ae3404d49eb7fb" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "cc", + "windows-targets 0.52.4", ] [[package]] -name = "which" -version = "4.4.0" +name = "windows-sys" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" dependencies = [ - "either", - "libc", - "once_cell", + "windows-targets 0.42.2", ] [[package]] -name = "wide" -version = "0.7.8" +name = "windows-sys" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b689b6c49d6549434bf944e6b0f39238cf63693cb7a147e9d887507fffa3b223" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "bytemuck", - "safe_arch", + "windows-targets 0.48.5", ] [[package]] -name = "widestring" -version = "0.5.1" +name = "windows-sys" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17882f045410753661207383517a6f62ec3dbeb6a4ed2acce01f0728238d1983" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.4", +] [[package]] -name = "winapi" -version = "0.3.9" +name = "windows-targets" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", ] [[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" +name = "windows-targets" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] [[package]] -name = "winapi-util" -version = "0.1.5" +name = "windows-targets" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" dependencies = [ - "winapi", + "windows_aarch64_gnullvm 0.52.4", + "windows_aarch64_msvc 0.52.4", + "windows_i686_gnu 0.52.4", + "windows_i686_msvc 0.52.4", + "windows_x86_64_gnu 0.52.4", + "windows_x86_64_gnullvm 0.52.4", + "windows_x86_64_msvc 0.52.4", ] [[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" +name = "windows_aarch64_gnullvm" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" [[package]] -name = "windows" -version = "0.34.0" +name = "windows_aarch64_gnullvm" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45296b64204227616fdbf2614cefa4c236b98ee64dfaaaa435207ed99fe7829f" -dependencies = [ - "windows_aarch64_msvc 0.34.0", - "windows_i686_gnu 0.34.0", - "windows_i686_msvc 0.34.0", - "windows_x86_64_gnu 0.34.0", - "windows_x86_64_msvc 0.34.0", -] +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] -name = "windows-sys" -version = "0.42.0" +name = "windows_aarch64_gnullvm" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" -dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc 0.42.1", - "windows_i686_gnu 0.42.1", - "windows_i686_msvc 0.42.1", - "windows_x86_64_gnu 0.42.1", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc 0.42.1", -] +checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" [[package]] -name = "windows-sys" -version = "0.45.0" +name = "windows_aarch64_msvc" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets", -] +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" [[package]] -name = "windows-targets" -version = "0.42.1" +name = "windows_aarch64_msvc" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" -dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc 0.42.1", - "windows_i686_gnu 0.42.1", - "windows_i686_msvc 0.42.1", - "windows_x86_64_gnu 0.42.1", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc 0.42.1", -] +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.1" +name = "windows_aarch64_msvc" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" +checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" [[package]] -name = "windows_aarch64_msvc" -version = "0.34.0" +name = "windows_i686_gnu" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17cffbe740121affb56fad0fc0e421804adf0ae00891205213b5cecd30db881d" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" [[package]] -name = "windows_aarch64_msvc" -version = "0.42.1" +name = "windows_i686_gnu" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.34.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2564fde759adb79129d9b4f54be42b32c89970c18ebf93124ca8870a498688ed" +checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" [[package]] -name = "windows_i686_gnu" -version = "0.42.1" +name = "windows_i686_msvc" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" [[package]] name = "windows_i686_msvc" -version = "0.34.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cd9d32ba70453522332c14d38814bceeb747d80b3958676007acadd7e166956" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.42.1" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" +checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" [[package]] name = "windows_x86_64_gnu" -version = "0.34.0" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfce6deae227ee8d356d19effc141a509cc503dfd1f850622ec4b0f84428e1f4" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" [[package]] name = "windows_x86_64_gnu" -version = "0.42.1" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.1" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" +checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" [[package]] name = "windows_x86_64_msvc" -version = "0.34.0" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d19538ccc21819d01deaf88d6a17eae6596a12e9aafdbb97916fb49896d89de9" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" [[package]] name = "windows_x86_64_msvc" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] [[package]] name = "winreg" -version = "0.10.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" dependencies = [ - "winapi", + "cfg-if", + "windows-sys 0.48.0", ] [[package]] @@ -9851,52 +9726,22 @@ dependencies = [ "zeroize", ] -[[package]] -name = "x25519-dalek" -version = "2.0.0-pre.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5da623d8af10a62342bcbbb230e33e58a63255a58012f8653c578e54bab48df" -dependencies = [ - "curve25519-dalek 3.2.0", - "rand_core 0.6.4", - "zeroize", -] - -[[package]] -name = "x509-parser" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb9bace5b5589ffead1afb76e43e34cff39cd0f3ce7e170ae0c29e53b88eb1c" -dependencies = [ - "asn1-rs 0.3.1", - "base64 0.13.1", - "data-encoding", - "der-parser 7.0.0", - "lazy_static", - "nom", - "oid-registry 0.4.0", - "ring", - "rusticata-macros", - "thiserror", - "time 0.3.17", -] - [[package]] name = "x509-parser" version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e0ecbeb7b67ce215e40e3cc7f2ff902f94a223acf44995934763467e7b1febc8" dependencies = [ - "asn1-rs 0.5.1", + "asn1-rs", "base64 0.13.1", "data-encoding", - "der-parser 8.1.0", + "der-parser", "lazy_static", "nom", - "oid-registry 0.6.1", + "oid-registry", "rusticata-macros", "thiserror", - "time 0.3.17", + "time", ] [[package]] @@ -9915,32 +9760,51 @@ dependencies = [ [[package]] name = "yasna" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aed2e7a52e3744ab4d0c05c20aa065258e84c49fd4226f5191b2ed29712710b4" +checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" dependencies = [ - "time 0.3.17", + "time", +] + +[[package]] +name = "zerocopy" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.52", ] [[package]] name = "zeroize" -version = "1.5.7" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f" +checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" dependencies = [ "zeroize_derive", ] [[package]] name = "zeroize_derive" -version = "1.3.3" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44bf07cb3e50ea2003396695d58bf46bc9887a1f362260446fad6bc4e79bd36c" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", - "synstructure", + "syn 2.0.52", ] [[package]] @@ -9949,7 +9813,16 @@ version = "0.11.2+zstd.1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" dependencies = [ - "zstd-safe", + "zstd-safe 5.0.2+zstd.1.5.2", +] + +[[package]] +name = "zstd" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c" +dependencies = [ + "zstd-safe 6.0.6", ] [[package]] @@ -9962,13 +9835,22 @@ dependencies = [ "zstd-sys", ] +[[package]] +name = "zstd-safe" +version = "6.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581" +dependencies = [ + "libc", + "zstd-sys", +] + [[package]] name = "zstd-sys" -version = "2.0.6+zstd.1.5.2" +version = "2.0.9+zstd.1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a3f9792c0c3dc6c165840a75f47ae1f4da402c2d006881129579f6597e801b" +checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" dependencies = [ "cc", - "libc", "pkg-config", ] diff --git a/Cargo.toml b/Cargo.toml index 5389d330c..d559d12b2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,6 +6,7 @@ members = [ "pallets/commitments", "runtime", ] +resolver = "2" [profile.release] panic = "unwind" diff --git a/node/Cargo.toml b/node/Cargo.toml index 286ce5886..5a263bc1b 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -25,44 +25,46 @@ serde = { version = "1.0.145", features = ["derive"] } memmap2 = "0.5.0" serde_json = "1.0.85" -sc-cli = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-core = { version = "7.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sc-executor = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sc-service = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sc-telemetry = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sc-keystore = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sc-transaction-pool = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sc-transaction-pool-api = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sc-consensus-aura = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-consensus-aura = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-consensus = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sc-consensus = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sc-finality-grandpa = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-finality-grandpa = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sc-client-api = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-runtime = { version = "7.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-io = { version = "7.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-timestamp = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-inherents = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-keyring = { version = "7.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -frame-system = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -pallet-transaction-payment = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } +sc-cli = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-core = { version = "21", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-executor = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-service = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-telemetry = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-keystore = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-transaction-pool = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-transaction-pool-api = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-offchain = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-network = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-consensus-aura = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-consensus-aura = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-consensus = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-consensus = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-consensus-grandpa = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-consensus-grandpa = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-client-api = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-runtime = { version = "24", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-io = { version = "23", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-timestamp = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-inherents = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-keyring = { version = "24", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +frame-system = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-transaction-payment = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } pallet-commitments = { path = "../pallets/commitments" } # These dependencies are used for the subtensor's RPCs jsonrpsee = { version = "0.16.2", features = ["server"] } -sc-rpc = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-api = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sc-rpc-api = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-blockchain = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-block-builder = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sc-basic-authorship = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -substrate-frame-rpc-system = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -pallet-transaction-payment-rpc = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } +sc-rpc = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-api = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-rpc-api = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-blockchain = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-block-builder = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-basic-authorship = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +substrate-frame-rpc-system = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-transaction-payment-rpc = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } # These dependencies are used for runtime benchmarking -frame-benchmarking = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -frame-benchmarking-cli = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } +frame-benchmarking = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +frame-benchmarking-cli = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } # Local Dependencies node-subtensor-runtime = { version = "4.0.0-dev", path = "../runtime" } @@ -70,10 +72,10 @@ subtensor-custom-rpc = { path = "../pallets/subtensor/rpc" } subtensor-custom-rpc-runtime-api = { path = "../pallets/subtensor/runtime-api" } # CLI-specific dependencies -try-runtime-cli = { version = "0.10.0-dev", optional = true, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } +try-runtime-cli = { version = "0.10.0-dev", optional = true, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } [build-dependencies] -substrate-build-script-utils = { version = "3.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } +substrate-build-script-utils = { version = "3.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } [features] default = [] diff --git a/node/src/chain_spec.rs b/node/src/chain_spec.rs index cce3f9399..99f869e9a 100644 --- a/node/src/chain_spec.rs +++ b/node/src/chain_spec.rs @@ -1,24 +1,22 @@ use node_subtensor_runtime::{ - AccountId, AuraConfig, BalancesConfig, GenesisConfig, GrandpaConfig, SenateMembersConfig, - Signature, SubtensorModuleConfig, SudoConfig, SystemConfig, TriumvirateConfig, - TriumvirateMembersConfig, WASM_BINARY, + AccountId, AuraConfig, BalancesConfig, GrandpaConfig, RuntimeGenesisConfig, + SenateMembersConfig, Signature, SubtensorModuleConfig, SudoConfig, SystemConfig, + TriumvirateConfig, TriumvirateMembersConfig, WASM_BINARY, }; use sc_service::ChainType; use sp_consensus_aura::sr25519::AuthorityId as AuraId; +use sp_consensus_grandpa::AuthorityId as GrandpaId; use sp_core::crypto::Ss58Codec; use sp_core::{bounded_vec, sr25519, Pair, Public}; -use sp_finality_grandpa::AuthorityId as GrandpaId; use sp_runtime::traits::{IdentifyAccount, Verify}; use std::env; // The URL for the telemetry server. // const STAGING_TELEMETRY_URL: &str = "wss://telemetry.polkadot.io/submit/"; -// Specialized `ChainSpec`. This is a specialization of the general Substrate ChainSpec type. -pub type ChainSpec = sc_service::GenericChainSpec; +/// Specialized `ChainSpec`. This is a specialization of the general Substrate ChainSpec type. +pub type ChainSpec = sc_service::GenericChainSpec; -// These functions are unused in production compiles, util functions for unit testing -#[allow(dead_code)] /// Generate a crypto pair from seed. pub fn get_from_seed(seed: &str) -> ::Public { TPublic::Pair::from_string(&format!("//{}", seed), None) @@ -26,10 +24,8 @@ pub fn get_from_seed(seed: &str) -> ::Pu .public() } -#[allow(dead_code)] type AccountPublic = ::Signer; -#[allow(dead_code)] /// Generate an account ID from seed. pub fn get_account_id_from_seed(seed: &str) -> AccountId where @@ -38,7 +34,6 @@ where AccountPublic::from(get_from_seed::(seed)).into_account() } -#[allow(dead_code)] /// Generate an Aura authority key. pub fn authority_keys_from_seed(s: &str) -> (AuraId, GrandpaId) { (get_from_seed::(s), get_from_seed::(s)) @@ -414,7 +409,7 @@ fn localnet_genesis( wasm_binary: &[u8], initial_authorities: Vec<(AuraId, GrandpaId)>, _enable_println: bool, -) -> GenesisConfig { +) -> RuntimeGenesisConfig { let mut balances = vec![ ( get_account_id_from_seed::("Alice"), @@ -451,10 +446,11 @@ fn localnet_genesis( } } - GenesisConfig { + RuntimeGenesisConfig { system: SystemConfig { // Add Wasm runtime to storage. code: wasm_binary.to_vec(), + ..Default::default() }, balances: BalancesConfig { balances }, aura: AuraConfig { @@ -465,6 +461,7 @@ fn localnet_genesis( .iter() .map(|x| (x.1.clone(), 1)) .collect(), + ..Default::default() }, sudo: SudoConfig { key: Some(get_account_id_from_seed::("Alice")), @@ -504,11 +501,12 @@ fn testnet_genesis( _stakes: Vec<(AccountId, Vec<(AccountId, (u64, u16))>)>, _balances: Vec<(AccountId, u64)>, _balances_issuance: u64, -) -> GenesisConfig { - GenesisConfig { +) -> RuntimeGenesisConfig { + RuntimeGenesisConfig { system: SystemConfig { // Add Wasm runtime to storage. code: wasm_binary.to_vec(), + ..Default::default() }, balances: BalancesConfig { // Configure sudo balance @@ -526,6 +524,7 @@ fn testnet_genesis( .iter() .map(|x| (x.1.clone(), 1)) .collect(), + ..Default::default() }, sudo: SudoConfig { key: Some( @@ -561,11 +560,12 @@ fn finney_genesis( stakes: Vec<(AccountId, Vec<(AccountId, (u64, u16))>)>, balances: Vec<(AccountId, u64)>, balances_issuance: u64, -) -> GenesisConfig { - GenesisConfig { +) -> RuntimeGenesisConfig { + RuntimeGenesisConfig { system: SystemConfig { // Add Wasm runtime to storage. code: wasm_binary.to_vec(), + ..Default::default() }, balances: BalancesConfig { // Configure endowed accounts with initial balance of 1 << 60. @@ -580,6 +580,7 @@ fn finney_genesis( .iter() .map(|x| (x.1.clone(), 1)) .collect(), + ..Default::default() }, sudo: SudoConfig { key: Some( diff --git a/node/src/cli.rs b/node/src/cli.rs index a37ff9b1f..d0f848f0e 100644 --- a/node/src/cli.rs +++ b/node/src/cli.rs @@ -41,14 +41,6 @@ pub enum Subcommand { #[command(subcommand)] Benchmark(frame_benchmarking_cli::BenchmarkCmd), - // Try some command against runtime state. - #[cfg(feature = "try-runtime")] - TryRuntime(try_runtime_cli::TryRuntimeCmd), - - // Try some command against runtime state. Note: `try-runtime` feature must be enabled. - #[cfg(not(feature = "try-runtime"))] - TryRuntime, - // Db meta columns information. ChainInfo(sc_cli::ChainInfoCmd), } diff --git a/node/src/command.rs b/node/src/command.rs index 2ba0e0841..a3865f7b3 100644 --- a/node/src/command.rs +++ b/node/src/command.rs @@ -14,9 +14,10 @@ pub use node_subtensor_runtime::EXISTENTIAL_DEPOSIT; pub use sp_keyring::Sr25519Keyring; use node_subtensor_runtime::Block; -use sc_cli::{ChainSpec, RuntimeVersion, SubstrateCli}; +use sc_cli::SubstrateCli; use sc_service::PartialComponents; + impl SubstrateCli for Cli { fn impl_name() -> String { "Subtensor Node".into() @@ -52,10 +53,6 @@ impl SubstrateCli for Cli { )?), }) } - - fn native_runtime_version(_: &Box) -> &'static RuntimeVersion { - &node_subtensor_runtime::VERSION - } } // Parse and run command line arguments @@ -128,7 +125,7 @@ pub fn run() -> sc_cli::Result<()> { .. } = service::new_partial(&config)?; let aux_revert = Box::new(|client, _, blocks| { - sc_finality_grandpa::revert(client, blocks)?; + sc_consensus_grandpa::revert(client, blocks)?; Ok(()) }); Ok((cmd.run(client, backend, Some(aux_revert)), task_manager)) @@ -204,31 +201,6 @@ pub fn run() -> sc_cli::Result<()> { } }) } - #[cfg(feature = "try-runtime")] - Some(Subcommand::TryRuntime(cmd)) => { - use crate::service::ExecutorDispatch; - use sc_executor::{sp_wasm_interface::ExtendedHostFunctions, NativeExecutionDispatch}; - let runner = cli.create_runner(cmd)?; - runner.async_run(|config| { - // we don't need any of the components of new_partial, just a runtime, or a task - // manager to do `async_run`. - let registry = config.prometheus_config.as_ref().map(|cfg| &cfg.registry); - let task_manager = - sc_service::TaskManager::new(config.tokio_handle.clone(), registry) - .map_err(|e| sc_cli::Error::Service(sc_service::Error::Prometheus(e)))?; - Ok(( - cmd.run::::ExtendHostFunctions, - >>(), - task_manager, - )) - }) - } - #[cfg(not(feature = "try-runtime"))] - Some(Subcommand::TryRuntime) => Err("TryRuntime wasn't enabled when building the node. \ - You can enable it with `--features try-runtime`." - .into()), Some(Subcommand::ChainInfo(cmd)) => { let runner = cli.create_runner(cmd)?; runner.sync_run(|config| cmd.run::(&config)) diff --git a/node/src/service.rs b/node/src/service.rs index 79c94d643..1b6ef7f20 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -1,19 +1,35 @@ //! Service and ServiceFactory implementation. Specialized wrapper over substrate service. -use node_subtensor_runtime::{self, opaque::Block, RuntimeApi}; -use sc_client_api::BlockBackend; +use futures::FutureExt; +use node_subtensor_runtime::{opaque::Block, RuntimeApi}; +use sc_client_api::{Backend, BlockBackend}; use sc_consensus_aura::{ImportQueueParams, SlotProportion, StartAuraParams}; +use sc_consensus_grandpa::SharedVoterState; +use sc_executor::sp_wasm_interface::{Function, HostFunctionRegistry, HostFunctions}; pub use sc_executor::NativeElseWasmExecutor; -use sc_finality_grandpa::SharedVoterState; -use sc_keystore::LocalKeystore; use sc_service::{error::Error as ServiceError, Configuration, TaskManager, WarpSyncParams}; use sc_telemetry::{Telemetry, TelemetryWorker}; +use sc_transaction_pool_api::OffchainTransactionPoolFactory; use sp_consensus_aura::sr25519::AuthorityPair as AuraPair; use std::{sync::Arc, time::Duration}; // Our native executor instance. pub struct ExecutorDispatch; +// appeasing the compiler, this is a no-op +impl HostFunctions for ExecutorDispatch { + fn host_functions() -> Vec<&'static dyn Function> { + vec![] + } + + fn register_static(_registry: &mut T) -> core::result::Result<(), T::Error> + where + T: HostFunctionRegistry, + { + Ok(()) + } +} + impl sc_executor::NativeExecutionDispatch for ExecutorDispatch { // Only enable the benchmarking host functions when we actually want to benchmark. #[cfg(feature = "runtime-benchmarks")] @@ -46,24 +62,18 @@ pub fn new_partial( sc_consensus::DefaultImportQueue, sc_transaction_pool::FullPool, ( - sc_finality_grandpa::GrandpaBlockImport< + sc_consensus_grandpa::GrandpaBlockImport< FullBackend, Block, FullClient, FullSelectChain, >, - sc_finality_grandpa::LinkHalf, + sc_consensus_grandpa::LinkHalf, Option, ), >, ServiceError, > { - if config.keystore_remote.is_some() { - return Err(ServiceError::Other( - "Remote Keystores are not supported.".into(), - )); - } - let telemetry = config .telemetry_endpoints .clone() @@ -75,12 +85,7 @@ pub fn new_partial( }) .transpose()?; - let executor = NativeElseWasmExecutor::::new( - config.wasm_method, - Some(16384), //config.default_heap_pages, - config.max_runtime_instances, - config.runtime_cache_size, - ); + let executor = sc_service::new_native_or_wasm_executor(config); let (client, backend, keystore_container, task_manager) = sc_service::new_full_parts::( @@ -107,7 +112,7 @@ pub fn new_partial( client.clone(), ); - let (grandpa_block_import, grandpa_link) = sc_finality_grandpa::block_import( + let (grandpa_block_import, grandpa_link) = sc_consensus_grandpa::block_import( client.clone(), &(client.clone() as Arc<_>), select_chain.clone(), @@ -151,38 +156,22 @@ pub fn new_partial( }) } -fn remote_keystore(_url: &String) -> Result, &'static str> { - // FIXME: here would the concrete keystore be built, - // must return a concrete type (NOT `LocalKeystore`) that - // implements `CryptoStore` and `SyncCryptoStore` - Err("Remote Keystore not supported.") -} - // Builds a new service for a full client. -pub fn new_full(mut config: Configuration) -> Result { +pub fn new_full(config: Configuration) -> Result { let sc_service::PartialComponents { client, backend, mut task_manager, import_queue, - mut keystore_container, + keystore_container, select_chain, transaction_pool, other: (block_import, grandpa_link, mut telemetry), } = new_partial(&config)?; - if let Some(url) = &config.keystore_remote { - match remote_keystore(url) { - Ok(k) => keystore_container.set_remote_keystore(k), - Err(e) => { - return Err(ServiceError::Other(format!( - "Error hooking up remote keystore for {}: {}", - url, e - ))) - } - }; - } - let grandpa_protocol_name = sc_finality_grandpa::protocol_standard_name( + let mut net_config = sc_network::config::FullNetworkConfiguration::new(&config.network); + + let grandpa_protocol_name = sc_consensus_grandpa::protocol_standard_name( &client .block_hash(0) .ok() @@ -191,21 +180,19 @@ pub fn new_full(mut config: Configuration) -> Result &config.chain_spec, ); - config - .network - .extra_sets - .push(sc_finality_grandpa::grandpa_peers_set_config( - grandpa_protocol_name.clone(), - )); - let warp_sync = Arc::new(sc_finality_grandpa::warp_proof::NetworkProvider::new( + net_config.add_notification_protocol(sc_consensus_grandpa::grandpa_peers_set_config( + grandpa_protocol_name.clone(), + )); + let warp_sync = Arc::new(sc_consensus_grandpa::warp_proof::NetworkProvider::new( backend.clone(), grandpa_link.shared_authority_set().clone(), Vec::default(), )); - let (network, system_rpc_tx, tx_handler_controller, network_starter) = + let (network, system_rpc_tx, tx_handler_controller, network_starter, sync_service) = sc_service::build_network(sc_service::BuildNetworkParams { config: &config, + net_config: net_config, client: client.clone(), transaction_pool: transaction_pool.clone(), spawn_handle: task_manager.spawn_handle(), @@ -215,11 +202,23 @@ pub fn new_full(mut config: Configuration) -> Result })?; if config.offchain_worker.enabled { - sc_service::build_offchain_workers( - &config, - task_manager.spawn_handle(), - client.clone(), - network.clone(), + task_manager.spawn_handle().spawn( + "offchain-workers-runner", + "offchain-worker", + sc_offchain::OffchainWorkers::new(sc_offchain::OffchainWorkerOptions { + runtime_api_provider: client.clone(), + is_validator: config.role.is_authority(), + keystore: Some(keystore_container.keystore()), + offchain_db: backend.offchain_storage(), + transaction_pool: Some(OffchainTransactionPoolFactory::new( + transaction_pool.clone(), + )), + network_provider: network.clone(), + enable_http_requests: true, + custom_extensions: |_| vec![], + }) + .run(client.clone(), task_manager.spawn_handle()) + .boxed(), ); } @@ -247,13 +246,14 @@ pub fn new_full(mut config: Configuration) -> Result let _rpc_handlers = sc_service::spawn_tasks(sc_service::SpawnTasksParams { network: network.clone(), client: client.clone(), - keystore: keystore_container.sync_keystore(), + keystore: keystore_container.keystore(), task_manager: &mut task_manager, transaction_pool: transaction_pool.clone(), rpc_builder: rpc_extensions_builder, backend, system_rpc_tx, tx_handler_controller, + sync_service: sync_service.clone(), config, telemetry: telemetry.as_mut(), })?; @@ -262,7 +262,7 @@ pub fn new_full(mut config: Configuration) -> Result let proposer_factory = sc_basic_authorship::ProposerFactory::new( task_manager.spawn_handle(), client.clone(), - transaction_pool, + transaction_pool.clone(), prometheus_registry.as_ref(), telemetry.as_ref().map(|x| x.handle()), ); @@ -289,9 +289,9 @@ pub fn new_full(mut config: Configuration) -> Result }, force_authoring, backoff_authoring_blocks, - keystore: keystore_container.sync_keystore(), - sync_oracle: network.clone(), - justification_sync_link: network.clone(), + keystore: keystore_container.keystore(), + sync_oracle: sync_service.clone(), + justification_sync_link: sync_service.clone(), block_proposal_slot_portion: SlotProportion::new(2f32 / 3f32), max_block_proposal_slot_portion: None, telemetry: telemetry.as_ref().map(|x| x.handle()), @@ -310,12 +310,12 @@ pub fn new_full(mut config: Configuration) -> Result // if the node isn't actively participating in consensus then it doesn't // need a keystore, regardless of which protocol we use below. let keystore = if role.is_authority() { - Some(keystore_container.sync_keystore()) + Some(keystore_container.keystore()) } else { None }; - let grandpa_config = sc_finality_grandpa::Config { + let grandpa_config = sc_consensus_grandpa::Config { // FIXME #1578 make this available through chainspec gossip_duration: Duration::from_millis(333), justification_period: 512, @@ -333,14 +333,16 @@ pub fn new_full(mut config: Configuration) -> Result // and vote data availability than the observer. The observer has not // been tested extensively yet and having most nodes in a network run it // could lead to finality stalls. - let grandpa_config = sc_finality_grandpa::GrandpaParams { + let grandpa_config = sc_consensus_grandpa::GrandpaParams { config: grandpa_config, link: grandpa_link, network, - voting_rule: sc_finality_grandpa::VotingRulesBuilder::default().build(), + voting_rule: sc_consensus_grandpa::VotingRulesBuilder::default().build(), prometheus_registry, shared_voter_state: SharedVoterState::empty(), telemetry: telemetry.as_ref().map(|x| x.handle()), + offchain_tx_pool_factory: OffchainTransactionPoolFactory::new(transaction_pool), + sync: Arc::new(sync_service), }; // the GRANDPA voter task is considered infallible, i.e. @@ -348,7 +350,7 @@ pub fn new_full(mut config: Configuration) -> Result task_manager.spawn_essential_handle().spawn_blocking( "grandpa-voter", None, - sc_finality_grandpa::run_grandpa_voter(grandpa_config)?, + sc_consensus_grandpa::run_grandpa_voter(grandpa_config)?, ); } diff --git a/node/tests/chain_spec.rs b/node/tests/chain_spec.rs index 611a8450d..42665c476 100644 --- a/node/tests/chain_spec.rs +++ b/node/tests/chain_spec.rs @@ -1,6 +1,6 @@ use sp_core::sr25519; // use sp_consensus_aura::sr25519::AuthorityId as AuraId; -// use sp_finality_grandpa::AuthorityId as GrandpaId; +// use sp_consensus_grandpa::AuthorityId as GrandpaId; use node_subtensor::chain_spec::*; diff --git a/pallets/admin-utils/Cargo.toml b/pallets/admin-utils/Cargo.toml index ead04efef..49f97a275 100644 --- a/pallets/admin-utils/Cargo.toml +++ b/pallets/admin-utils/Cargo.toml @@ -19,21 +19,21 @@ codec = { package = "parity-scale-codec", version = "3.0.0", default-features = scale-info = { version = "2.1.1", default-features = false, features = [ "derive", ] } -frame-benchmarking = { version = "4.0.0-dev", default-features = false, optional = true, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -frame-support = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -frame-system = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-runtime = { version = "7.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } +frame-benchmarking = { version = "4.0.0-dev", default-features = false, optional = true, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +frame-support = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +frame-system = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-runtime = { version = "24", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } log = { version = "0.4.14", default-features = false } pallet-subtensor = { version = "4.0.0-dev", default-features = false, path = "../subtensor" } -sp-weights = { git = "https://github.com/paritytech/substrate.git", default-features = false, branch = "polkadot-v0.9.39" } +sp-weights = { git = "https://github.com/paritytech/substrate.git", default-features = false, branch = "polkadot-v1.0.0" } [dev-dependencies] -sp-core = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-io = { version = "7.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-tracing = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.39" } -sp-consensus-aura = { version = "0.10.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -pallet-balances = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.39", features = [ +sp-core = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-io = { version = "23", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-tracing = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v1.0.0" } +sp-consensus-aura = { version = "0.10.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-balances = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v1.0.0", features = [ "std", ] } diff --git a/pallets/admin-utils/src/lib.rs b/pallets/admin-utils/src/lib.rs index 3a84e7fd0..d42862054 100644 --- a/pallets/admin-utils/src/lib.rs +++ b/pallets/admin-utils/src/lib.rs @@ -53,7 +53,6 @@ pub mod pallet { } #[pallet::event] - #[pallet::generate_deposit(pub(super) fn deposit_event)] pub enum Event {} // Errors inform users that something went wrong. @@ -232,7 +231,7 @@ pub mod pallet { #[pallet::call_index(9)] #[pallet::weight(( - Weight::from_ref_time(14_000_000) + Weight::from_parts(14_000_000, 0) .saturating_add(T::DbWeight::get().writes(1)) .saturating_add(T::DbWeight::get().reads(1)), DispatchClass::Operational, @@ -400,8 +399,8 @@ pub mod pallet { #[pallet::call_index(19)] #[pallet::weight(( - Weight::from_ref_time(4_000_000) - .saturating_add(Weight::from_proof_size(0)) + Weight::from_parts(4_000_000, 0) + .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)), DispatchClass::Operational, Pays::No @@ -423,7 +422,7 @@ pub mod pallet { #[pallet::call_index(20)] #[pallet::weight(( - Weight::from_ref_time(14_000_000) + Weight::from_parts(14_000_000, 0) .saturating_add(T::DbWeight::get().writes(1)), DispatchClass::Operational, Pays::No @@ -605,7 +604,7 @@ pub mod pallet { #[pallet::call_index(28)] #[pallet::weight(( - Weight::from_ref_time(14_000_000) + Weight::from_parts(14_000_000, 0) .saturating_add(T::DbWeight::get().writes(1)), DispatchClass::Operational, Pays::No @@ -625,7 +624,7 @@ pub mod pallet { #[pallet::call_index(29)] #[pallet::weight(( - Weight::from_ref_time(14_000_000) + Weight::from_parts(14_000_000, 0) .saturating_add(T::DbWeight::get().writes(1)), DispatchClass::Operational, Pays::No @@ -668,7 +667,7 @@ pub mod pallet { #[pallet::call_index(35)] #[pallet::weight(( - Weight::from_ref_time(14_000_000) + Weight::from_parts(14_000_000, 0) .saturating_add(T::DbWeight::get().writes(1)), DispatchClass::Operational, Pays::No @@ -688,7 +687,7 @@ pub mod pallet { #[pallet::call_index(36)] #[pallet::weight(( - Weight::from_ref_time(14_000_000) + Weight::from_parts(14_000_000, 0) .saturating_add(T::DbWeight::get().writes(1)), DispatchClass::Operational, Pays::No @@ -708,7 +707,7 @@ pub mod pallet { #[pallet::call_index(37)] #[pallet::weight(( - Weight::from_ref_time(14_000_000) + Weight::from_parts(14_000_000, 0) .saturating_add(T::DbWeight::get().writes(1)), DispatchClass::Operational, Pays::No @@ -724,7 +723,7 @@ pub mod pallet { #[pallet::call_index(38)] #[pallet::weight(( - Weight::from_ref_time(14_000_000) + Weight::from_parts(14_000_000, 0) .saturating_add(T::DbWeight::get().writes(1)), DispatchClass::Operational, Pays::No diff --git a/pallets/admin-utils/tests/mock.rs b/pallets/admin-utils/tests/mock.rs index 3a67264b1..0629940a1 100644 --- a/pallets/admin-utils/tests/mock.rs +++ b/pallets/admin-utils/tests/mock.rs @@ -1,33 +1,28 @@ use frame_support::{ parameter_types, - traits::{Everything, Hooks, StorageMapShim}, + traits::{Everything, Hooks}, weights, }; use frame_system as system; use frame_system::{limits, EnsureNever}; use sp_consensus_aura::sr25519::AuthorityId as AuraId; -use sp_core::H256; use sp_core::U256; +use sp_core::{ConstU64, H256}; use sp_runtime::{ - testing::Header, traits::{BlakeTwo256, ConstU32, IdentityLookup}, - DispatchError, + BuildStorage, DispatchError, }; -type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic; type Block = frame_system::mocking::MockBlock; // Configure a mock runtime to test the pallet. frame_support::construct_runtime!( - pub enum Test where - Block = Block, - NodeBlock = Block, - UncheckedExtrinsic = UncheckedExtrinsic, + pub enum Test { System: frame_system, Balances: pallet_balances, AdminUtils: pallet_admin_utils, - SubtensorModule: pallet_subtensor::{Pallet, Call, Storage, Event} + SubtensorModule: pallet_subtensor::{Pallet, Call, Storage, Event}, } ); @@ -67,7 +62,7 @@ parameter_types! { pub const InitialMinAllowedWeights: u16 = 0; pub const InitialEmissionValue: u16 = 0; pub const InitialMaxWeightsLimit: u16 = u16::MAX; - pub BlockWeights: limits::BlockWeights = limits::BlockWeights::simple_max(weights::Weight::from_ref_time(1024)); + pub BlockWeights: limits::BlockWeights = limits::BlockWeights::simple_max(weights::Weight::from_parts(1024, 0)); pub const ExistentialDeposit: Balance = 1; pub const TransactionByteFee: Balance = 100; pub const SDebug:u64 = 1; @@ -170,41 +165,39 @@ impl system::Config for Test { type DbWeight = (); type RuntimeOrigin = RuntimeOrigin; type RuntimeCall = RuntimeCall; - type Index = u64; - type BlockNumber = u64; type Hash = H256; type Hashing = BlakeTwo256; type AccountId = U256; type Lookup = IdentityLookup; - type Header = Header; type RuntimeEvent = RuntimeEvent; type BlockHashCount = BlockHashCount; type Version = (); type PalletInfo = PalletInfo; - type AccountData = (); + type AccountData = pallet_balances::AccountData; type OnNewAccount = (); type OnKilledAccount = (); type SystemWeightInfo = (); type SS58Prefix = SS58Prefix; type OnSetCode = (); type MaxConsumers = frame_support::traits::ConstU32<16>; + type Block = Block; + type Nonce = u64; } impl pallet_balances::Config for Test { - type Balance = Balance; + type MaxLocks = (); + type MaxReserves = (); + type ReserveIdentifier = [u8; 8]; + type Balance = u64; type RuntimeEvent = RuntimeEvent; type DustRemoval = (); - type ExistentialDeposit = (); - type AccountStore = StorageMapShim< - pallet_balances::Account, - frame_system::Provider, - AccountId, - pallet_balances::AccountData, - >; - type MaxLocks = (); + type ExistentialDeposit = ConstU64<1>; + type AccountStore = System; type WeightInfo = (); - type MaxReserves = (); - type ReserveIdentifier = (); + type FreezeIdentifier = (); + type MaxFreezes = (); + type RuntimeHoldReason = (); + type MaxHolds = (); } pub struct SubtensorIntrf; @@ -448,13 +441,15 @@ impl pallet_admin_utils::Config for Test { type WeightInfo = (); } -#[allow(dead_code)] +// Build genesis storage according to the mock runtime. pub fn new_test_ext() -> sp_io::TestExternalities { sp_tracing::try_init_simple(); - frame_system::GenesisConfig::default() - .build_storage::() - .unwrap() - .into() + let t = frame_system::GenesisConfig::::default() + .build_storage() + .unwrap(); + let mut ext = sp_io::TestExternalities::new(t); + ext.execute_with(|| System::set_block_number(1)); + ext } #[allow(dead_code)] diff --git a/pallets/admin-utils/tests/tests.rs b/pallets/admin-utils/tests/tests.rs index 86d62b148..d2e3c23e4 100644 --- a/pallets/admin-utils/tests/tests.rs +++ b/pallets/admin-utils/tests/tests.rs @@ -8,8 +8,7 @@ use sp_core::U256; mod mock; use mock::*; -#[allow(dead_code)] -pub fn add_network(netuid: u16, tempo: u16, modality: u16) { +pub fn add_network(netuid: u16, tempo: u16) { SubtensorModule::init_new_network(netuid, tempo); SubtensorModule::set_network_registration_allowed(netuid, true); SubtensorModule::set_network_pow_registration_allowed(netuid, true); @@ -65,7 +64,7 @@ fn test_sudo_set_min_difficulty() { new_test_ext().execute_with(|| { let netuid: u16 = 1; let to_be_set: u64 = 10; - add_network(netuid, 10, 0); + add_network(netuid, 10); let init_value: u64 = SubtensorModule::get_min_difficulty(netuid); assert_eq!( AdminUtils::sudo_set_min_difficulty( @@ -98,7 +97,7 @@ fn test_sudo_set_max_difficulty() { new_test_ext().execute_with(|| { let netuid: u16 = 1; let to_be_set: u64 = 10; - add_network(netuid, 10, 0); + add_network(netuid, 10); let init_value: u64 = SubtensorModule::get_max_difficulty(netuid); assert_eq!( AdminUtils::sudo_set_max_difficulty( @@ -131,7 +130,7 @@ fn test_sudo_set_weights_version_key() { new_test_ext().execute_with(|| { let netuid: u16 = 1; let to_be_set: u64 = 10; - add_network(netuid, 10, 0); + add_network(netuid, 10); let init_value: u64 = SubtensorModule::get_weights_version_key(netuid); assert_eq!( AdminUtils::sudo_set_weights_version_key( @@ -164,7 +163,7 @@ fn test_sudo_set_weights_set_rate_limit() { new_test_ext().execute_with(|| { let netuid: u16 = 1; let to_be_set: u64 = 10; - add_network(netuid, 10, 0); + add_network(netuid, 10); let init_value: u64 = SubtensorModule::get_weights_set_rate_limit(netuid); assert_eq!( AdminUtils::sudo_set_weights_set_rate_limit( @@ -203,7 +202,7 @@ fn test_sudo_set_adjustment_interval() { new_test_ext().execute_with(|| { let netuid: u16 = 1; let to_be_set: u16 = 10; - add_network(netuid, 10, 0); + add_network(netuid, 10); let init_value: u16 = SubtensorModule::get_adjustment_interval(netuid); assert_eq!( AdminUtils::sudo_set_adjustment_interval( @@ -236,7 +235,7 @@ fn test_sudo_set_adjustment_alpha() { new_test_ext().execute_with(|| { let netuid: u16 = 1; let to_be_set: u64 = 10; - add_network(netuid, 10, 0); + add_network(netuid, 10); let init_value: u64 = SubtensorModule::get_adjustment_alpha(netuid); assert_eq!( AdminUtils::sudo_set_adjustment_alpha( @@ -290,7 +289,7 @@ fn test_sudo_set_max_weight_limit() { new_test_ext().execute_with(|| { let netuid: u16 = 1; let to_be_set: u16 = 10; - add_network(netuid, 10, 0); + add_network(netuid, 10); let init_value: u16 = SubtensorModule::get_max_weight_limit(netuid); assert_eq!( AdminUtils::sudo_set_max_weight_limit( @@ -342,7 +341,7 @@ fn test_sudo_set_immunity_period() { new_test_ext().execute_with(|| { let netuid: u16 = 1; let to_be_set: u16 = 10; - add_network(netuid, 10, 0); + add_network(netuid, 10); let init_value: u16 = SubtensorModule::get_immunity_period(netuid); assert_eq!( AdminUtils::sudo_set_immunity_period( @@ -375,7 +374,7 @@ fn test_sudo_set_min_allowed_weights() { new_test_ext().execute_with(|| { let netuid: u16 = 1; let to_be_set: u16 = 10; - add_network(netuid, 10, 0); + add_network(netuid, 10); let init_value: u16 = SubtensorModule::get_min_allowed_weights(netuid); assert_eq!( AdminUtils::sudo_set_min_allowed_weights( @@ -408,7 +407,7 @@ fn test_sudo_set_max_allowed_uids() { new_test_ext().execute_with(|| { let netuid: u16 = 1; let to_be_set: u16 = 10; - add_network(netuid, 10, 0); + add_network(netuid, 10); let init_value: u16 = SubtensorModule::get_max_allowed_uids(netuid); assert_eq!( AdminUtils::sudo_set_max_allowed_uids( @@ -441,7 +440,7 @@ fn test_sudo_set_and_decrease_max_allowed_uids() { new_test_ext().execute_with(|| { let netuid: u16 = 1; let to_be_set: u16 = 10; - add_network(netuid, 10, 0); + add_network(netuid, 10); let init_value: u16 = SubtensorModule::get_max_allowed_uids(netuid); assert_eq!( AdminUtils::sudo_set_max_allowed_uids( @@ -478,7 +477,7 @@ fn test_sudo_set_kappa() { new_test_ext().execute_with(|| { let netuid: u16 = 1; let to_be_set: u16 = 10; - add_network(netuid, 10, 0); + add_network(netuid, 10); let init_value: u16 = SubtensorModule::get_kappa(netuid); assert_eq!( AdminUtils::sudo_set_kappa( @@ -511,7 +510,7 @@ fn test_sudo_set_rho() { new_test_ext().execute_with(|| { let netuid: u16 = 1; let to_be_set: u16 = 10; - add_network(netuid, 10, 0); + add_network(netuid, 10); let init_value: u16 = SubtensorModule::get_rho(netuid); assert_eq!( AdminUtils::sudo_set_rho( @@ -544,7 +543,7 @@ fn test_sudo_set_activity_cutoff() { new_test_ext().execute_with(|| { let netuid: u16 = 1; let to_be_set: u16 = 10; - add_network(netuid, 10, 0); + add_network(netuid, 10); let init_value: u16 = SubtensorModule::get_activity_cutoff(netuid); assert_eq!( AdminUtils::sudo_set_activity_cutoff( @@ -577,7 +576,7 @@ fn test_sudo_set_target_registrations_per_interval() { new_test_ext().execute_with(|| { let netuid: u16 = 1; let to_be_set: u16 = 10; - add_network(netuid, 10, 0); + add_network(netuid, 10); let init_value: u16 = SubtensorModule::get_target_registrations_per_interval(netuid); assert_eq!( AdminUtils::sudo_set_target_registrations_per_interval( @@ -616,7 +615,7 @@ fn test_sudo_set_difficulty() { new_test_ext().execute_with(|| { let netuid: u16 = 1; let to_be_set: u64 = 10; - add_network(netuid, 10, 0); + add_network(netuid, 10); let init_value: u64 = SubtensorModule::get_difficulty_as_u64(netuid); assert_eq!( AdminUtils::sudo_set_difficulty( @@ -649,7 +648,7 @@ fn test_sudo_set_max_allowed_validators() { new_test_ext().execute_with(|| { let netuid: u16 = 1; let to_be_set: u16 = 10; - add_network(netuid, 10, 0); + add_network(netuid, 10); let init_value: u16 = SubtensorModule::get_max_allowed_validators(netuid); assert_eq!( AdminUtils::sudo_set_max_allowed_validators( @@ -709,7 +708,7 @@ fn test_sudo_set_bonds_moving_average() { new_test_ext().execute_with(|| { let netuid: u16 = 1; let to_be_set: u64 = 10; - add_network(netuid, 10, 0); + add_network(netuid, 10); let init_value: u64 = SubtensorModule::get_bonds_moving_average(netuid); assert_eq!( AdminUtils::sudo_set_bonds_moving_average( @@ -745,7 +744,7 @@ fn test_sudo_set_rao_recycled() { new_test_ext().execute_with(|| { let netuid: u16 = 1; let to_be_set: u64 = 10; - add_network(netuid, 10, 0); + add_network(netuid, 10); let init_value: u64 = SubtensorModule::get_rao_recycled(netuid); // Need to run from genesis block @@ -810,7 +809,7 @@ fn test_sudo_set_subnet_limit() { new_test_ext().execute_with(|| { let netuid: u16 = 1; let to_be_set: u16 = 10; - add_network(netuid, 10, 0); + add_network(netuid, 10); let init_value: u16 = SubtensorModule::get_max_subnets(); assert_eq!( @@ -834,7 +833,7 @@ fn test_sudo_set_network_lock_reduction_interval() { new_test_ext().execute_with(|| { let netuid: u16 = 1; let to_be_set: u64 = 7200; - add_network(netuid, 10, 0); + add_network(netuid, 10); let init_value: u64 = SubtensorModule::get_lock_reduction_interval(); assert_eq!( @@ -858,7 +857,7 @@ fn test_sudo_set_network_pow_registration_allowed() { new_test_ext().execute_with(|| { let netuid: u16 = 1; let to_be_set: bool = true; - add_network(netuid, 10, 0); + add_network(netuid, 10); let init_value: bool = SubtensorModule::get_network_pow_registration_allowed(netuid); assert_eq!( diff --git a/pallets/collective/Cargo.toml b/pallets/collective/Cargo.toml index 126ef8d6c..89497dda2 100644 --- a/pallets/collective/Cargo.toml +++ b/pallets/collective/Cargo.toml @@ -20,13 +20,13 @@ log = { version = "0.4.17", default-features = false } scale-info = { version = "2.1.1", default-features = false, features = [ "derive", ] } -frame-benchmarking = { version = "4.0.0-dev", default-features = false, optional = true, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -frame-support = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -frame-system = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-core = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.39" } -sp-io = { version = "7.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-runtime = { version = "7.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-std = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.39" } +frame-benchmarking = { version = "4.0.0-dev", default-features = false, optional = true, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +frame-support = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +frame-system = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-core = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v1.0.0" } +sp-io = { version = "23", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-runtime = { version = "24", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-std = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v1.0.0" } [features] default = ["std"] diff --git a/pallets/collective/src/benchmarking.rs b/pallets/collective/src/benchmarking.rs index 48a545634..ba31ba160 100644 --- a/pallets/collective/src/benchmarking.rs +++ b/pallets/collective/src/benchmarking.rs @@ -73,7 +73,7 @@ benchmarks_instance_pallet! { SystemOrigin::Signed(old_members.last().unwrap().clone()).into(), Box::new(proposal.clone()), MAX_BYTES, - TryInto::::try_into(3u64).ok().expect("convert u64 to block number.") + TryInto::>::try_into(3u64).ok().expect("convert u64 to block number.") )?; let hash = T::Hashing::hash_of(&proposal); // Vote on the proposal to increase state relevant for `set_members`. @@ -131,7 +131,7 @@ benchmarks_instance_pallet! { let proposal_hash = T::Hashing::hash_of(&proposal); // Note that execution fails due to mis-matched origin assert_last_event::( - Event::MemberExecuted { proposal_hash, result: Err(DispatchError::BadOrigin) }.into() + Event::MemberExecuted { proposal_hash, result: Ok(()) }.into() ); } @@ -162,7 +162,7 @@ benchmarks_instance_pallet! { SystemOrigin::Signed(caller.clone()).into(), Box::new(proposal), bytes_in_storage, - TryInto::::try_into(3u64).ok().expect("convert u64 to block number.") + TryInto::>::try_into(3u64).ok().expect("convert u64 to block number.") )?; } @@ -170,7 +170,7 @@ benchmarks_instance_pallet! { let proposal: T::Proposal = SystemCall::::remark { remark: id_to_remark_data(p, b as usize) }.into(); - }: propose(SystemOrigin::Signed(caller.clone()), Box::new(proposal.clone()), bytes_in_storage, TryInto::::try_into(3u64).ok().expect("convert u64 to block number.")) + }: propose(SystemOrigin::Signed(caller.clone()), Box::new(proposal.clone()), bytes_in_storage, TryInto::>::try_into(3u64).ok().expect("convert u64 to block number.")) verify { // New proposal is recorded assert_eq!(Collective::::proposals().len(), p as usize); @@ -210,7 +210,7 @@ benchmarks_instance_pallet! { SystemOrigin::Signed(proposer.clone()).into(), Box::new(proposal.clone()), bytes_in_storage, - TryInto::::try_into(3u64).ok().expect("convert u64 to block number.") + TryInto::>::try_into(3u64).ok().expect("convert u64 to block number.") )?; last_hash = T::Hashing::hash_of(&proposal); } @@ -282,7 +282,7 @@ benchmarks_instance_pallet! { SystemOrigin::Signed(proposer.clone()).into(), Box::new(proposal.clone()), bytes_in_storage, - TryInto::::try_into(3u64).ok().expect("convert u64 to block number.") + TryInto::>::try_into(3u64).ok().expect("convert u64 to block number.") )?; last_hash = T::Hashing::hash_of(&proposal); } @@ -348,7 +348,7 @@ benchmarks_instance_pallet! { SystemOrigin::Signed(caller.clone()).into(), Box::new(proposal.clone()), bytes_in_storage, - TryInto::::try_into(3u64).ok().expect("convert u64 to block number.") + TryInto::>::try_into(3u64).ok().expect("convert u64 to block number.") )?; last_hash = T::Hashing::hash_of(&proposal); } @@ -396,7 +396,7 @@ benchmarks_instance_pallet! { verify { // The last proposal is removed. assert_eq!(Collective::::proposals().len(), (p - 1) as usize); - assert_last_event::(Event::Executed { proposal_hash: last_hash, result: Err(DispatchError::BadOrigin) }.into()); + assert_last_event::(Event::Executed { proposal_hash: last_hash, result: Ok(()) }.into()); } close_disapproved { @@ -431,7 +431,7 @@ benchmarks_instance_pallet! { SystemOrigin::Signed(caller.clone()).into(), Box::new(proposal.clone()), bytes_in_storage, - TryInto::::try_into(3u64).ok().expect("convert u64 to block number.") + TryInto::>::try_into(3u64).ok().expect("convert u64 to block number.") )?; last_hash = T::Hashing::hash_of(&proposal); } @@ -468,7 +468,7 @@ benchmarks_instance_pallet! { false, )?; - System::::set_block_number(T::BlockNumber::max_value()); + System::::set_block_number(BlockNumberFor::::max_value()); assert_eq!(Collective::::proposals().len(), p as usize); // Prime nay will close it as disapproved @@ -510,7 +510,7 @@ benchmarks_instance_pallet! { SystemOrigin::Signed(caller.clone()).into(), Box::new(proposal.clone()), bytes_in_storage, - TryInto::::try_into(3u64).ok().expect("convert u64 to block number.") + TryInto::>::try_into(3u64).ok().expect("convert u64 to block number.") )?; last_hash = T::Hashing::hash_of(&proposal); } @@ -537,14 +537,14 @@ benchmarks_instance_pallet! { } // caller is prime, prime already votes aye by creating the proposal - System::::set_block_number(T::BlockNumber::max_value()); + System::::set_block_number(BlockNumberFor::::max_value()); assert_eq!(Collective::::proposals().len(), p as usize); // Prime aye will close it as approved }: close(SystemOrigin::Signed(caller), last_hash, p - 1, Weight::MAX, bytes_in_storage) verify { assert_eq!(Collective::::proposals().len(), (p - 1) as usize); - assert_last_event::(Event::Executed { proposal_hash: last_hash, result: Err(DispatchError::BadOrigin) }.into()); + assert_last_event::(Event::Executed { proposal_hash: last_hash, result: Ok(()) }.into()); } disapprove_proposal { @@ -581,12 +581,12 @@ benchmarks_instance_pallet! { SystemOrigin::Signed(caller.clone()).into(), Box::new(proposal.clone()), bytes_in_storage, - TryInto::::try_into(3u64).ok().expect("convert u64 to block number.") + TryInto::>::try_into(3u64).ok().expect("convert u64 to block number.") )?; last_hash = T::Hashing::hash_of(&proposal); } - System::::set_block_number(T::BlockNumber::max_value()); + System::::set_block_number(BlockNumberFor::::max_value()); assert_eq!(Collective::::proposals().len(), p as usize); }: _(SystemOrigin::Root, last_hash) diff --git a/pallets/collective/src/lib.rs b/pallets/collective/src/lib.rs index 63cb96dec..35c756caa 100644 --- a/pallets/collective/src/lib.rs +++ b/pallets/collective/src/lib.rs @@ -57,7 +57,7 @@ use frame_support::{ traits::{ Backing, ChangeMembers, EnsureOrigin, Get, GetBacking, InitializeMembers, StorageVersion, }, - weights::{OldWeight, Weight}, + weights::Weight, }; #[cfg(test)] @@ -177,7 +177,6 @@ pub mod pallet { const STORAGE_VERSION: StorageVersion = StorageVersion::new(4); #[pallet::pallet] - #[pallet::generate_store(pub(super) trait Store)] #[pallet::storage_version(STORAGE_VERSION)] #[pallet::without_storage_info] pub struct Pallet(PhantomData<(T, I)>); @@ -200,7 +199,7 @@ pub mod pallet { + IsType<::RuntimeEvent>; /// The time-out for council motions. - type MotionDuration: Get; + type MotionDuration: Get>; /// Maximum number of proposals allowed to be active in parallel. type MaxProposals: Get; @@ -237,7 +236,6 @@ pub mod pallet { pub members: Vec, } - #[cfg(feature = "std")] impl, I: 'static> Default for GenesisConfig { fn default() -> Self { Self { @@ -248,7 +246,7 @@ pub mod pallet { } #[pallet::genesis_build] - impl, I: 'static> GenesisBuild for GenesisConfig { + impl, I: 'static> BuildGenesisConfig for GenesisConfig { fn build(&self) { use sp_std::collections::btree_set::BTreeSet; let members_set: BTreeSet<_> = self.members.iter().collect(); @@ -282,7 +280,7 @@ pub mod pallet { #[pallet::storage] #[pallet::getter(fn voting)] pub type Voting, I: 'static = ()> = - StorageMap<_, Identity, T::Hash, Votes, OptionQuery>; + StorageMap<_, Identity, T::Hash, Votes>, OptionQuery>; /// Proposals so far. #[pallet::storage] @@ -519,7 +517,7 @@ pub mod pallet { origin: OriginFor, proposal: Box<>::Proposal>, #[pallet::compact] length_bound: u32, - duration: T::BlockNumber, + duration: BlockNumberFor, ) -> DispatchResultWithPostInfo { let who = ensure_signed(origin.clone())?; ensure!(T::CanPropose::can_propose(&who), Error::::NotMember); @@ -574,59 +572,8 @@ pub mod pallet { } } - /// Close a vote that is either approved, disapproved or whose voting period has ended. - /// - /// May be called by any signed account in order to finish voting and close the proposal. - /// - /// If called before the end of the voting period it will only close the vote if it is - /// has enough votes to be approved or disapproved. - /// - /// If called after the end of the voting period abstentions are counted as rejections - /// unless there is a prime member set and the prime member cast an approval. - /// - /// If the close operation completes successfully with disapproval, the transaction fee will - /// be waived. Otherwise execution of the approved operation will be charged to the caller. - /// - /// + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed - /// proposal. - /// + `length_bound`: The upper bound for the length of the proposal in storage. Checked via - /// `storage::read` so it is `size_of::() == 4` larger than the pure length. - /// - /// ## Complexity - /// - `O(B + M + P1 + P2)` where: - /// - `B` is `proposal` size in bytes (length-fee-bounded) - /// - `M` is members-count (code- and governance-bounded) - /// - `P1` is the complexity of `proposal` preimage. - /// - `P2` is proposal-count (code-bounded) - #[pallet::call_index(4)] - #[pallet::weight(( - { - let b = *length_bound; - let m = T::MaxMembers::get(); - let p1 = *proposal_weight_bound; - let p2 = T::MaxProposals::get(); - T::WeightInfo::close_early_approved(b, m, p2) - .max(T::WeightInfo::close_early_disapproved(m, p2)) - .max(T::WeightInfo::close_approved(b, m, p2)) - .max(T::WeightInfo::close_disapproved(m, p2)) - .saturating_add(p1.into()) - }, - DispatchClass::Operational - ))] - #[allow(deprecated)] - #[deprecated(note = "1D weight is used in this extrinsic, please migrate to `close`")] - pub fn close_old_weight( - origin: OriginFor, - proposal_hash: T::Hash, - #[pallet::compact] index: ProposalIndex, - #[pallet::compact] proposal_weight_bound: OldWeight, - #[pallet::compact] length_bound: u32, - ) -> DispatchResultWithPostInfo { - let proposal_weight_bound: Weight = proposal_weight_bound.into(); - let _ = ensure_signed(origin)?; - - Self::do_close(proposal_hash, index, proposal_weight_bound, length_bound) - } + // NOTE: call_index(4) was `close_old_weight` and was removed due to weights v1 + // deprecation /// Disapprove a proposal, close, and remove it from the system, regardless of its current /// state. @@ -702,6 +649,8 @@ pub mod pallet { } } +use frame_system::pallet_prelude::BlockNumberFor; + /// Return the weight of a dispatch call result as an `Option`. /// /// Will return the weight regardless of what the state of the result is. @@ -752,7 +701,7 @@ impl, I: 'static> Pallet { threshold: MemberCount, proposal: Box<>::Proposal>, length_bound: MemberCount, - duration: T::BlockNumber, + duration: BlockNumberFor, ) -> Result<(u32, u32), DispatchError> { let proposal_len = proposal.encoded_size(); ensure!( diff --git a/pallets/collective/src/tests.rs b/pallets/collective/src/tests.rs index c0d71334b..2eef63153 100644 --- a/pallets/collective/src/tests.rs +++ b/pallets/collective/src/tests.rs @@ -15,13 +15,13 @@ // See the License for the specific language governing permissions and // limitations under the License. +#![allow(non_camel_case_types)] + use super::{Event as CollectiveEvent, *}; use crate as pallet_collective; use frame_support::{ - assert_noop, assert_ok, - dispatch::Pays, - parameter_types, - traits::{ConstU32, ConstU64, GenesisBuild}, + assert_noop, assert_ok, parameter_types, + traits::{ConstU32, ConstU64}, Hashable, }; use frame_system::{EnsureRoot, EventRecord, Phase}; @@ -36,10 +36,7 @@ pub type Block = sp_runtime::generic::Block; pub type UncheckedExtrinsic = sp_runtime::generic::UncheckedExtrinsic; frame_support::construct_runtime!( - pub enum Test where - Block = Block, - NodeBlock = Block, - UncheckedExtrinsic = UncheckedExtrinsic + pub enum Test { System: frame_system::{Pallet, Call, Event}, Collective: pallet_collective::::{Pallet, Call, Event, Origin, Config}, @@ -48,16 +45,14 @@ frame_support::construct_runtime!( Democracy: mock_democracy::{Pallet, Call, Event}, } ); - mod mock_democracy { pub use pallet::*; - #[frame_support::pallet] + #[frame_support::pallet(dev_mode)] pub mod pallet { use frame_support::pallet_prelude::*; use frame_system::pallet_prelude::*; #[pallet::pallet] - #[pallet::generate_store(pub(super) trait Store)] pub struct Pallet(_); #[pallet::config] @@ -70,7 +65,6 @@ mod mock_democracy { #[pallet::call] impl Pallet { #[pallet::call_index(0)] - #[pallet::weight(0)] pub fn external_propose_majority(origin: OriginFor) -> DispatchResult { T::ExternalMajorityOrigin::ensure_origin(origin)?; Self::deposit_event(Event::::ExternalProposed); @@ -98,14 +92,11 @@ impl frame_system::Config for Test { type BlockLength = (); type DbWeight = (); type RuntimeOrigin = RuntimeOrigin; - type Index = u64; - type BlockNumber = u64; type RuntimeCall = RuntimeCall; type Hash = H256; type Hashing = BlakeTwo256; type AccountId = u64; type Lookup = IdentityLookup; - type Header = Header; type RuntimeEvent = RuntimeEvent; type BlockHashCount = ConstU64<250>; type Version = (); @@ -117,6 +108,8 @@ impl frame_system::Config for Test { type SS58Prefix = (); type OnSetCode = (); type MaxConsumers = ConstU32<16>; + type Block = Block; + type Nonce = u64; } pub struct CanProposeCollective; @@ -247,7 +240,7 @@ impl Config for Test { } pub fn new_test_ext() -> sp_io::TestExternalities { - let mut ext: sp_io::TestExternalities = GenesisConfig { + let mut ext: sp_io::TestExternalities = RuntimeGenesisConfig { collective: pallet_collective::GenesisConfig { members: vec![1, 2, 3], phantom: Default::default(), @@ -299,7 +292,7 @@ fn close_works() { RuntimeOrigin::signed(1), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") )); @@ -372,7 +365,7 @@ fn proposal_weight_limit_works_on_approve() { RuntimeOrigin::signed(1), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") )); @@ -384,7 +377,7 @@ fn proposal_weight_limit_works_on_approve() { RuntimeOrigin::signed(4), hash, 0, - proposal_weight - Weight::from_ref_time(100), + proposal_weight - Weight::from_parts(100, 0), proposal_len ), Error::::WrongProposalWeight @@ -415,7 +408,7 @@ fn proposal_weight_limit_ignored_on_disapprove() { RuntimeOrigin::signed(1), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") )); @@ -425,7 +418,7 @@ fn proposal_weight_limit_ignored_on_disapprove() { RuntimeOrigin::signed(4), hash, 0, - proposal_weight - Weight::from_ref_time(100), + proposal_weight - Weight::from_parts(100, 0), proposal_len )); }) @@ -449,7 +442,7 @@ fn close_with_prime_works() { RuntimeOrigin::signed(1), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") )); @@ -511,7 +504,7 @@ fn close_with_voting_prime_works() { RuntimeOrigin::signed(1), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") )); @@ -577,7 +570,7 @@ fn close_with_no_prime_but_majority_works() { RuntimeOrigin::signed(1), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") )); @@ -673,7 +666,7 @@ fn removal_of_old_voters_votes_works() { RuntimeOrigin::signed(1), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") )); @@ -708,7 +701,7 @@ fn removal_of_old_voters_votes_works() { RuntimeOrigin::signed(2), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") )); @@ -749,7 +742,7 @@ fn removal_of_old_voters_votes_works_with_set_members() { RuntimeOrigin::signed(1), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") )); @@ -789,7 +782,7 @@ fn removal_of_old_voters_votes_works_with_set_members() { RuntimeOrigin::signed(2), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") )); @@ -835,7 +828,7 @@ fn propose_works() { RuntimeOrigin::signed(1), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") )); @@ -876,7 +869,7 @@ fn limit_active_proposals() { RuntimeOrigin::signed(1), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") )); @@ -888,7 +881,7 @@ fn limit_active_proposals() { RuntimeOrigin::signed(1), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") ), @@ -910,7 +903,7 @@ fn correct_validate_and_get_proposal() { RuntimeOrigin::signed(1), Box::new(proposal.clone()), length, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") )); @@ -933,7 +926,7 @@ fn correct_validate_and_get_proposal() { Collective::validate_and_get_proposal( &hash, length, - weight - Weight::from_ref_time(10) + weight - Weight::from_parts(10, 0) ), Error::::WrongProposalWeight ); @@ -955,7 +948,7 @@ fn motions_ignoring_non_collective_proposals_works() { RuntimeOrigin::signed(42), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") ), @@ -974,7 +967,7 @@ fn motions_ignoring_non_collective_votes_works() { RuntimeOrigin::signed(1), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") )); @@ -996,7 +989,7 @@ fn motions_ignoring_bad_index_collective_vote_works() { RuntimeOrigin::signed(1), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") )); @@ -1018,7 +1011,7 @@ fn motions_vote_after_works() { RuntimeOrigin::signed(1), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") )); @@ -1107,7 +1100,7 @@ fn motions_all_first_vote_free_works() { RuntimeOrigin::signed(1), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") )); @@ -1183,7 +1176,7 @@ fn motions_reproposing_disapproved_works() { RuntimeOrigin::signed(1), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") )); @@ -1203,7 +1196,7 @@ fn motions_reproposing_disapproved_works() { RuntimeOrigin::signed(1), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") )); @@ -1227,7 +1220,7 @@ fn motions_approval_with_enough_votes_and_lower_voting_threshold_works() { RuntimeOrigin::signed(1), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") )); @@ -1285,7 +1278,7 @@ fn motions_approval_with_enough_votes_and_lower_voting_threshold_works() { RuntimeOrigin::signed(1), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") )); @@ -1360,7 +1353,7 @@ fn motions_disapproval_works() { RuntimeOrigin::signed(1), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") )); @@ -1421,7 +1414,7 @@ fn motions_approval_works() { RuntimeOrigin::signed(1), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") )); @@ -1486,7 +1479,7 @@ fn motion_with_no_votes_closes_with_disapproval() { RuntimeOrigin::signed(1), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") )); @@ -1556,7 +1549,7 @@ fn close_disapprove_does_not_care_about_weight_or_len() { RuntimeOrigin::signed(1), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") )); @@ -1602,7 +1595,7 @@ fn disapprove_proposal_works() { RuntimeOrigin::signed(1), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(3u64) + TryInto::>::try_into(3u64) .ok() .expect("convert u64 to block number.") )); diff --git a/pallets/collective/src/weights.rs b/pallets/collective/src/weights.rs index d8a713118..df233fc24 100644 --- a/pallets/collective/src/weights.rs +++ b/pallets/collective/src/weights.rs @@ -81,15 +81,15 @@ impl WeightInfo for SubstrateWeight { // Minimum execution time: 17_093 nanoseconds. Weight::from_parts(17_284_000, 16586) // Standard Error: 64_700 - .saturating_add(Weight::from_ref_time(5_143_145).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(5_143_145, 0).saturating_mul(m.into())) // Standard Error: 64_700 - .saturating_add(Weight::from_ref_time(7_480_941).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(7_480_941, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into()))) .saturating_add(T::DbWeight::get().writes(2_u64)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into()))) - .saturating_add(Weight::from_proof_size(7809).saturating_mul(m.into())) - .saturating_add(Weight::from_proof_size(10238).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(0, 7809).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 10238).saturating_mul(p.into())) } /// Storage: Council Members (r:1 w:0) /// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured) @@ -102,11 +102,11 @@ impl WeightInfo for SubstrateWeight { // Minimum execution time: 15_972 nanoseconds. Weight::from_parts(14_971_445, 730) // Standard Error: 32 - .saturating_add(Weight::from_ref_time(1_775).saturating_mul(b.into())) + .saturating_add(Weight::from_parts(1_775, 0).saturating_mul(b.into())) // Standard Error: 334 - .saturating_add(Weight::from_ref_time(17_052).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(17_052, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) - .saturating_add(Weight::from_proof_size(32).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into())) } /// Storage: Council Members (r:1 w:0) /// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured) @@ -121,11 +121,11 @@ impl WeightInfo for SubstrateWeight { // Minimum execution time: 17_950 nanoseconds. Weight::from_parts(17_019_558, 3440) // Standard Error: 41 - .saturating_add(Weight::from_ref_time(1_807).saturating_mul(b.into())) + .saturating_add(Weight::from_parts(1_807, 0).saturating_mul(b.into())) // Standard Error: 432 - .saturating_add(Weight::from_ref_time(27_986).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(27_986, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) - .saturating_add(Weight::from_proof_size(64).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into())) } /// Storage: Council Members (r:1 w:0) /// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured) @@ -147,15 +147,15 @@ impl WeightInfo for SubstrateWeight { // Minimum execution time: 24_817 nanoseconds. Weight::from_parts(24_778_955, 6355) // Standard Error: 73 - .saturating_add(Weight::from_ref_time(2_355).saturating_mul(b.into())) + .saturating_add(Weight::from_parts(2_355, 0).saturating_mul(b.into())) // Standard Error: 765 - .saturating_add(Weight::from_ref_time(20_518).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(20_518, 0).saturating_mul(m.into())) // Standard Error: 755 - .saturating_add(Weight::from_ref_time(85_670).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(85_670, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) - .saturating_add(Weight::from_proof_size(165).saturating_mul(m.into())) - .saturating_add(Weight::from_proof_size(180).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(0, 165).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 180).saturating_mul(p.into())) } /// Storage: Council Members (r:1 w:0) /// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured) @@ -169,10 +169,10 @@ impl WeightInfo for SubstrateWeight { // Minimum execution time: 19_790 nanoseconds. Weight::from_parts(20_528_275, 4980) // Standard Error: 651 - .saturating_add(Weight::from_ref_time(48_856).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(48_856, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) - .saturating_add(Weight::from_proof_size(128).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 128).saturating_mul(m.into())) } /// Storage: Council Voting (r:1 w:1) /// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured) @@ -191,13 +191,13 @@ impl WeightInfo for SubstrateWeight { // Minimum execution time: 25_564 nanoseconds. Weight::from_parts(25_535_497, 5893) // Standard Error: 610 - .saturating_add(Weight::from_ref_time(27_956).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(27_956, 0).saturating_mul(m.into())) // Standard Error: 595 - .saturating_add(Weight::from_ref_time(84_835).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(84_835, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) - .saturating_add(Weight::from_proof_size(260).saturating_mul(m.into())) - .saturating_add(Weight::from_proof_size(144).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(0, 260).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 144).saturating_mul(p.into())) } /// Storage: Council Voting (r:1 w:1) /// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured) @@ -217,16 +217,16 @@ impl WeightInfo for SubstrateWeight { // Minimum execution time: 36_515 nanoseconds. Weight::from_parts(36_626_648, 9164) // Standard Error: 98 - .saturating_add(Weight::from_ref_time(2_295).saturating_mul(b.into())) + .saturating_add(Weight::from_parts(2_295, 0).saturating_mul(b.into())) // Standard Error: 1_036 - .saturating_add(Weight::from_ref_time(22_182).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(22_182, 0).saturating_mul(m.into())) // Standard Error: 1_010 - .saturating_add(Weight::from_ref_time(100_034).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(100_034, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) - .saturating_add(Weight::from_proof_size(4).saturating_mul(b.into())) - .saturating_add(Weight::from_proof_size(264).saturating_mul(m.into())) - .saturating_add(Weight::from_proof_size(160).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(0, 4).saturating_mul(b.into())) + .saturating_add(Weight::from_parts(0, 264).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 160).saturating_mul(p.into())) } /// Storage: Council Voting (r:1 w:1) /// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured) @@ -247,13 +247,13 @@ impl WeightInfo for SubstrateWeight { // Minimum execution time: 28_858 nanoseconds. Weight::from_parts(28_050_047, 7095) // Standard Error: 614 - .saturating_add(Weight::from_ref_time(34_031).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(34_031, 0).saturating_mul(m.into())) // Standard Error: 599 - .saturating_add(Weight::from_ref_time(85_744).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(85_744, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) - .saturating_add(Weight::from_proof_size(325).saturating_mul(m.into())) - .saturating_add(Weight::from_proof_size(180).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(0, 325).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 180).saturating_mul(p.into())) } /// Storage: Council Voting (r:1 w:1) /// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured) @@ -275,16 +275,16 @@ impl WeightInfo for SubstrateWeight { // Minimum execution time: 38_608 nanoseconds. Weight::from_parts(39_948_329, 10565) // Standard Error: 84 - .saturating_add(Weight::from_ref_time(2_045).saturating_mul(b.into())) + .saturating_add(Weight::from_parts(2_045, 0).saturating_mul(b.into())) // Standard Error: 895 - .saturating_add(Weight::from_ref_time(22_669).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(22_669, 0).saturating_mul(m.into())) // Standard Error: 872 - .saturating_add(Weight::from_ref_time(95_525).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(95_525, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(5_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) - .saturating_add(Weight::from_proof_size(5).saturating_mul(b.into())) - .saturating_add(Weight::from_proof_size(330).saturating_mul(m.into())) - .saturating_add(Weight::from_proof_size(200).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(0, 5).saturating_mul(b.into())) + .saturating_add(Weight::from_parts(0, 330).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 200).saturating_mul(p.into())) } /// Storage: Council Proposals (r:1 w:1) /// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured) @@ -300,10 +300,10 @@ impl WeightInfo for SubstrateWeight { // Minimum execution time: 14_785 nanoseconds. Weight::from_parts(16_393_818, 1668) // Standard Error: 612 - .saturating_add(Weight::from_ref_time(76_786).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(76_786, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) - .saturating_add(Weight::from_proof_size(96).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(0, 96).saturating_mul(p.into())) } } @@ -327,15 +327,15 @@ impl WeightInfo for () { // Minimum execution time: 17_093 nanoseconds. Weight::from_parts(17_284_000, 16586) // Standard Error: 64_700 - .saturating_add(Weight::from_ref_time(5_143_145).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(5_143_145, 0).saturating_mul(m.into())) // Standard Error: 64_700 - .saturating_add(Weight::from_ref_time(7_480_941).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(7_480_941, 0).saturating_mul(p.into())) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(p.into()))) .saturating_add(RocksDbWeight::get().writes(2_u64)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(p.into()))) - .saturating_add(Weight::from_proof_size(7809).saturating_mul(m.into())) - .saturating_add(Weight::from_proof_size(10238).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(0, 7809).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 10238).saturating_mul(p.into())) } /// Storage: Council Members (r:1 w:0) /// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured) @@ -348,11 +348,11 @@ impl WeightInfo for () { // Minimum execution time: 15_972 nanoseconds. Weight::from_parts(14_971_445, 730) // Standard Error: 32 - .saturating_add(Weight::from_ref_time(1_775).saturating_mul(b.into())) + .saturating_add(Weight::from_parts(1_775, 0).saturating_mul(b.into())) // Standard Error: 334 - .saturating_add(Weight::from_ref_time(17_052).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(17_052, 0).saturating_mul(m.into())) .saturating_add(RocksDbWeight::get().reads(1_u64)) - .saturating_add(Weight::from_proof_size(32).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into())) } /// Storage: Council Members (r:1 w:0) /// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured) @@ -367,11 +367,11 @@ impl WeightInfo for () { // Minimum execution time: 17_950 nanoseconds. Weight::from_parts(17_019_558, 3440) // Standard Error: 41 - .saturating_add(Weight::from_ref_time(1_807).saturating_mul(b.into())) + .saturating_add(Weight::from_parts(1_807, 0).saturating_mul(b.into())) // Standard Error: 432 - .saturating_add(Weight::from_ref_time(27_986).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(27_986, 0).saturating_mul(m.into())) .saturating_add(RocksDbWeight::get().reads(2_u64)) - .saturating_add(Weight::from_proof_size(64).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into())) } /// Storage: Council Members (r:1 w:0) /// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured) @@ -393,15 +393,15 @@ impl WeightInfo for () { // Minimum execution time: 24_817 nanoseconds. Weight::from_parts(24_778_955, 6355) // Standard Error: 73 - .saturating_add(Weight::from_ref_time(2_355).saturating_mul(b.into())) + .saturating_add(Weight::from_parts(2_355, 0).saturating_mul(b.into())) // Standard Error: 765 - .saturating_add(Weight::from_ref_time(20_518).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(20_518, 0).saturating_mul(m.into())) // Standard Error: 755 - .saturating_add(Weight::from_ref_time(85_670).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(85_670, 0).saturating_mul(p.into())) .saturating_add(RocksDbWeight::get().reads(4_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) - .saturating_add(Weight::from_proof_size(165).saturating_mul(m.into())) - .saturating_add(Weight::from_proof_size(180).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(0, 165).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 180).saturating_mul(p.into())) } /// Storage: Council Members (r:1 w:0) /// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured) @@ -415,10 +415,10 @@ impl WeightInfo for () { // Minimum execution time: 19_790 nanoseconds. Weight::from_parts(20_528_275, 4980) // Standard Error: 651 - .saturating_add(Weight::from_ref_time(48_856).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(48_856, 0).saturating_mul(m.into())) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) - .saturating_add(Weight::from_proof_size(128).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 128).saturating_mul(m.into())) } /// Storage: Council Voting (r:1 w:1) /// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured) @@ -437,13 +437,13 @@ impl WeightInfo for () { // Minimum execution time: 25_564 nanoseconds. Weight::from_parts(25_535_497, 5893) // Standard Error: 610 - .saturating_add(Weight::from_ref_time(27_956).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(27_956, 0).saturating_mul(m.into())) // Standard Error: 595 - .saturating_add(Weight::from_ref_time(84_835).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(84_835, 0).saturating_mul(p.into())) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) - .saturating_add(Weight::from_proof_size(260).saturating_mul(m.into())) - .saturating_add(Weight::from_proof_size(144).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(0, 260).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 144).saturating_mul(p.into())) } /// Storage: Council Voting (r:1 w:1) /// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured) @@ -463,16 +463,16 @@ impl WeightInfo for () { // Minimum execution time: 36_515 nanoseconds. Weight::from_parts(36_626_648, 9164) // Standard Error: 98 - .saturating_add(Weight::from_ref_time(2_295).saturating_mul(b.into())) + .saturating_add(Weight::from_parts(2_295, 0).saturating_mul(b.into())) // Standard Error: 1_036 - .saturating_add(Weight::from_ref_time(22_182).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(22_182, 0).saturating_mul(m.into())) // Standard Error: 1_010 - .saturating_add(Weight::from_ref_time(100_034).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(100_034, 0).saturating_mul(p.into())) .saturating_add(RocksDbWeight::get().reads(4_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) - .saturating_add(Weight::from_proof_size(4).saturating_mul(b.into())) - .saturating_add(Weight::from_proof_size(264).saturating_mul(m.into())) - .saturating_add(Weight::from_proof_size(160).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(0, 4).saturating_mul(b.into())) + .saturating_add(Weight::from_parts(0, 264).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 160).saturating_mul(p.into())) } /// Storage: Council Voting (r:1 w:1) /// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured) @@ -493,13 +493,13 @@ impl WeightInfo for () { // Minimum execution time: 28_858 nanoseconds. Weight::from_parts(28_050_047, 7095) // Standard Error: 614 - .saturating_add(Weight::from_ref_time(34_031).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(34_031, 0).saturating_mul(m.into())) // Standard Error: 599 - .saturating_add(Weight::from_ref_time(85_744).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(85_744, 0).saturating_mul(p.into())) .saturating_add(RocksDbWeight::get().reads(4_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) - .saturating_add(Weight::from_proof_size(325).saturating_mul(m.into())) - .saturating_add(Weight::from_proof_size(180).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(0, 325).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 180).saturating_mul(p.into())) } /// Storage: Council Voting (r:1 w:1) /// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured) @@ -521,16 +521,16 @@ impl WeightInfo for () { // Minimum execution time: 38_608 nanoseconds. Weight::from_parts(39_948_329, 10565) // Standard Error: 84 - .saturating_add(Weight::from_ref_time(2_045).saturating_mul(b.into())) + .saturating_add(Weight::from_parts(2_045, 0).saturating_mul(b.into())) // Standard Error: 895 - .saturating_add(Weight::from_ref_time(22_669).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(22_669, 0).saturating_mul(m.into())) // Standard Error: 872 - .saturating_add(Weight::from_ref_time(95_525).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(95_525, 0).saturating_mul(p.into())) .saturating_add(RocksDbWeight::get().reads(5_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) - .saturating_add(Weight::from_proof_size(5).saturating_mul(b.into())) - .saturating_add(Weight::from_proof_size(330).saturating_mul(m.into())) - .saturating_add(Weight::from_proof_size(200).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(0, 5).saturating_mul(b.into())) + .saturating_add(Weight::from_parts(0, 330).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 200).saturating_mul(p.into())) } /// Storage: Council Proposals (r:1 w:1) /// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured) @@ -546,9 +546,9 @@ impl WeightInfo for () { // Minimum execution time: 14_785 nanoseconds. Weight::from_parts(16_393_818, 1668) // Standard Error: 612 - .saturating_add(Weight::from_ref_time(76_786).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(76_786, 0).saturating_mul(p.into())) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) - .saturating_add(Weight::from_proof_size(96).saturating_mul(p.into())) + .saturating_add(Weight::from_parts(0, 96).saturating_mul(p.into())) } } diff --git a/pallets/commitments/Cargo.toml b/pallets/commitments/Cargo.toml index b3db3cd32..f83a630f9 100644 --- a/pallets/commitments/Cargo.toml +++ b/pallets/commitments/Cargo.toml @@ -20,19 +20,19 @@ codec = { package = "parity-scale-codec", version = "3.0.0", default-features = scale-info = { version = "2.1.1", default-features = false, features = [ "derive", ] } -frame-benchmarking = { version = "4.0.0-dev", default-features = false, optional = true, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -frame-support = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -frame-system = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-runtime = { version = "7.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-std = { version = "5.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } +frame-benchmarking = { version = "4.0.0-dev", default-features = false, optional = true, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +frame-support = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +frame-system = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-runtime = { version = "24", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-std = { version = "8", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } [dependencies.enumflags2] version = "0.7.7" [dev-dependencies] -sp-core = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-io = { version = "7.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -pallet-balances = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } +sp-core = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-io = { version = "23", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-balances = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } [features] default = ["std"] diff --git a/pallets/commitments/src/tests.rs b/pallets/commitments/src/tests.rs index 4c3b4fffd..9957336b2 100644 --- a/pallets/commitments/src/tests.rs +++ b/pallets/commitments/src/tests.rs @@ -1,30 +1,21 @@ -use super::{Event as CommitmentEvent, *}; +#![allow(non_camel_case_types)] + +use super::*; use crate as pallet_commitments; -use frame_support::{ - assert_noop, assert_ok, - dispatch::Pays, - parameter_types, - traits::{ConstU32, ConstU64, GenesisBuild, StorageMapShim}, - Hashable, -}; -use frame_system::{EnsureRoot, EventRecord, Phase}; +use frame_support::traits::ConstU64; use sp_core::H256; use sp_runtime::{ testing::Header, traits::{BlakeTwo256, ConstU16, IdentityLookup}, - BuildStorage, }; pub type Block = sp_runtime::generic::Block; pub type UncheckedExtrinsic = sp_runtime::generic::UncheckedExtrinsic; frame_support::construct_runtime!( - pub enum Test where - Block = Block, - NodeBlock = Block, - UncheckedExtrinsic = UncheckedExtrinsic + pub enum Test { - System: frame_system::{Pallet, Call, Event}, + System: frame_system, Balances: pallet_balances, Commitments: pallet_commitments } @@ -46,20 +37,19 @@ pub type Balance = u64; pub type BlockNumber = u64; impl pallet_balances::Config for Test { - type Balance = Balance; + type MaxLocks = (); + type MaxReserves = (); + type ReserveIdentifier = [u8; 8]; + type Balance = u64; type RuntimeEvent = RuntimeEvent; type DustRemoval = (); - type ExistentialDeposit = (); - type AccountStore = StorageMapShim< - pallet_balances::Account, - frame_system::Provider, - AccountId, - pallet_balances::AccountData, - >; - type MaxLocks = (); + type ExistentialDeposit = ConstU64<1>; + type AccountStore = System; type WeightInfo = (); - type MaxReserves = (); - type ReserveIdentifier = (); + type FreezeIdentifier = (); + type MaxFreezes = (); + type RuntimeHoldReason = (); + type MaxHolds = (); } impl frame_system::Config for Test { @@ -77,16 +67,15 @@ impl frame_system::Config for Test { type BlockHashCount = ConstU64<250>; type Version = (); type PalletInfo = PalletInfo; - type AccountData = (); + type AccountData = pallet_balances::AccountData; type OnNewAccount = (); type OnKilledAccount = (); type SystemWeightInfo = (); type SS58Prefix = ConstU16<42>; type OnSetCode = (); - type Index = u32; - type BlockNumber = u64; - type Header = sp_runtime::generic::Header; type MaxConsumers = frame_support::traits::ConstU32<16>; + type Block = Block; + type Nonce = u64; } impl pallet_commitments::Config for Test { @@ -100,10 +89,12 @@ impl pallet_commitments::Config for Test { type RateLimit = frame_support::traits::ConstU64<0>; } -// Build genesis storage according to the mock runtime. -pub fn new_test_ext() -> sp_io::TestExternalities { - frame_system::GenesisConfig::default() - .build_storage::() - .unwrap() - .into() -} +// // Build genesis storage according to the mock runtime. +// pub fn new_test_ext() -> sp_io::TestExternalities { +// let t = frame_system::GenesisConfig::::default() +// .build_storage() +// .unwrap(); +// let mut ext = sp_io::TestExternalities::new(t); +// ext.execute_with(|| System::set_block_number(1)); +// ext +// } diff --git a/pallets/commitments/src/types.rs b/pallets/commitments/src/types.rs index be8bd589a..9de95ec13 100644 --- a/pallets/commitments/src/types.rs +++ b/pallets/commitments/src/types.rs @@ -15,22 +15,20 @@ // See the License for the specific language governing permissions and // limitations under the License. -use super::*; use codec::{Codec, Decode, Encode, MaxEncodedLen}; -use enumflags2::{bitflags, BitFlags}; use frame_support::{ traits::{ConstU32, Get}, BoundedVec, CloneNoBound, PartialEqNoBound, RuntimeDebugNoBound, }; use scale_info::{ build::{Fields, Variants}, - meta_type, Path, Type, TypeInfo, TypeParameter, + Path, Type, TypeInfo, }; use sp_runtime::{ - traits::{AppendZerosInput, AtLeast32BitUnsigned, Block, Zero}, + traits::{AppendZerosInput, AtLeast32BitUnsigned}, RuntimeDebug, }; -use sp_std::{fmt::Debug, iter::once, ops::Add, prelude::*}; +use sp_std::{fmt::Debug, iter::once, prelude::*}; /// Either underlying data blob if it is at most 32 bytes, or a hash of it. If the data is greater /// than 32-bytes then it will be truncated when encoding. @@ -318,16 +316,16 @@ pub struct Registration< pub info: CommitmentInfo, } -impl< - Balance: Encode + Decode + MaxEncodedLen + Copy + Clone + Debug + Eq + PartialEq + Zero + Add, - MaxFields: Get, - Block: Codec + Clone + Ord + Eq + AtLeast32BitUnsigned + MaxEncodedLen + Debug, - > Registration -{ - pub(crate) fn total_deposit(&self) -> Balance { - self.deposit - } -} +// impl< +// Balance: Encode + Decode + MaxEncodedLen + Copy + Clone + Debug + Eq + PartialEq + Zero + Add, +// MaxFields: Get, +// Block: Codec + Clone + Ord + Eq + AtLeast32BitUnsigned + MaxEncodedLen + Debug, +// > Registration +// { +// pub(crate) fn total_deposit(&self) -> Balance { +// self.deposit +// } +// } impl< Balance: Encode + Decode + MaxEncodedLen + Copy + Clone + Debug + Eq + PartialEq, @@ -354,7 +352,7 @@ mod tests { let mut registry = scale_info::Registry::new(); let type_id = registry.register_type(&scale_info::meta_type::()); let registry: scale_info::PortableRegistry = registry.into(); - let type_info = registry.resolve(type_id.id()).unwrap(); + let type_info = registry.resolve(type_id.id).unwrap(); let check_type_info = |data: &Data| { let variant_name = match data { @@ -365,9 +363,9 @@ mod tests { Data::ShaThree256(_) => "ShaThree256".to_string(), Data::Raw(bytes) => format!("Raw{}", bytes.len()), }; - if let scale_info::TypeDef::Variant(variant) = &type_info.type_def() { + if let scale_info::TypeDef::Variant(variant) = &type_info.type_def { let variant = variant - .variants() + .variants .iter() .find(|v| v.name == variant_name) .expect(&format!("Expected to find variant {}", variant_name)); @@ -375,10 +373,10 @@ mod tests { let field_arr_len = variant .fields .first() - .and_then(|f| registry.resolve(f.ty().id())) + .and_then(|f| registry.resolve(f.ty.id)) .map(|ty| { - if let scale_info::TypeDef::Array(arr) = &ty.type_def() { - arr.len() + if let scale_info::TypeDef::Array(arr) = &ty.type_def { + arr.len } else { panic!("Should be an array type") } diff --git a/pallets/registry/Cargo.toml b/pallets/registry/Cargo.toml index 590da1501..4d903e4cd 100644 --- a/pallets/registry/Cargo.toml +++ b/pallets/registry/Cargo.toml @@ -20,18 +20,18 @@ codec = { package = "parity-scale-codec", version = "3.0.0", default-features = scale-info = { version = "2.1.1", default-features = false, features = [ "derive", ] } -frame-benchmarking = { version = "4.0.0-dev", default-features = false, optional = true, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -frame-support = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -frame-system = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-runtime = { version = "7.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-std = { version = "5.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } +frame-benchmarking = { version = "4.0.0-dev", default-features = false, optional = true, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +frame-support = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +frame-system = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-runtime = { version = "24", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-std = { version = "8", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } [dependencies.enumflags2] version = "0.7.7" [dev-dependencies] -sp-core = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-io = { version = "7.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } +sp-core = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-io = { version = "23", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } [features] default = ["std"] diff --git a/pallets/registry/src/tests.rs b/pallets/registry/src/tests.rs index 36161f82e..d233fe078 100644 --- a/pallets/registry/src/tests.rs +++ b/pallets/registry/src/tests.rs @@ -1,4 +1 @@ -use crate::{Error, Event}; -use frame_support::{assert_noop, assert_ok}; - // Testing diff --git a/pallets/registry/src/types.rs b/pallets/registry/src/types.rs index 7def07529..5db1371ae 100644 --- a/pallets/registry/src/types.rs +++ b/pallets/registry/src/types.rs @@ -15,7 +15,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -use super::*; use codec::{Decode, Encode, MaxEncodedLen}; use enumflags2::{bitflags, BitFlags}; use frame_support::{ @@ -332,7 +331,7 @@ pub struct IdentityInfo> { } impl> IdentityInfo { - pub(crate) fn fields(&self) -> IdentityFields { + pub fn fields(&self) -> IdentityFields { let mut res = >::empty(); if !self.display.is_none() { res.insert(IdentityField::Display); @@ -412,7 +411,7 @@ mod tests { let mut registry = scale_info::Registry::new(); let type_id = registry.register_type(&scale_info::meta_type::()); let registry: scale_info::PortableRegistry = registry.into(); - let type_info = registry.resolve(type_id.id()).unwrap(); + let type_info = registry.resolve(type_id.id).unwrap(); let check_type_info = |data: &Data| { let variant_name = match data { @@ -423,9 +422,9 @@ mod tests { Data::ShaThree256(_) => "ShaThree256".to_string(), Data::Raw(bytes) => format!("Raw{}", bytes.len()), }; - if let scale_info::TypeDef::Variant(variant) = &type_info.type_def() { + if let scale_info::TypeDef::Variant(variant) = &type_info.type_def { let variant = variant - .variants() + .variants .iter() .find(|v| v.name == variant_name) .expect(&format!("Expected to find variant {}", variant_name)); @@ -433,10 +432,10 @@ mod tests { let field_arr_len = variant .fields .first() - .and_then(|f| registry.resolve(f.ty().id())) + .and_then(|f| registry.resolve(f.ty.id)) .map(|ty| { - if let scale_info::TypeDef::Array(arr) = &ty.type_def() { - arr.len() + if let scale_info::TypeDef::Array(arr) = &ty.type_def { + arr.len } else { panic!("Should be an array type") } diff --git a/pallets/subtensor/Cargo.toml b/pallets/subtensor/Cargo.toml index 536db9ed5..122bb728a 100644 --- a/pallets/subtensor/Cargo.toml +++ b/pallets/subtensor/Cargo.toml @@ -16,15 +16,15 @@ targets = ["x86_64-unknown-linux-gnu"] codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = [ "derive", ] } -sp-core = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.39" } -pallet-balances = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } +sp-core = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v1.0.0" } +pallet-balances = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } scale-info = { version = "2.1.1", default-features = false, features = [ "derive", ] } -frame-benchmarking = { version = "4.0.0-dev", default-features = false, optional = true, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -frame-support = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -frame-system = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-io = { version = "7.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } +frame-benchmarking = { version = "4.0.0-dev", default-features = false, optional = true, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +frame-support = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +frame-system = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-io = { version = "23", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } serde = { version = "1.0.132", default-features = false, features = ["derive"] } serde-tuple-vec-map = { version = "1.0.1", default-features = false } serde_bytes = { version = "0.11.8", default-features = false, features = [ @@ -33,30 +33,30 @@ serde_bytes = { version = "0.11.8", default-features = false, features = [ serde_with = { version = "=2.0.0", default-features = false, features = [ "macros", ] } -sp-runtime = { version = "7.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-std = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.39" } +sp-runtime = { version = "24", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-std = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v1.0.0" } log = { version = "0.4.14", default-features = false } substrate-fixed = { git = 'https://github.com/encointer/substrate-fixed.git', tag = "v0.5.9" } -pallet-transaction-payment = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.39" } -pallet-utility = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.39" } +pallet-transaction-payment = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v1.0.0" } +pallet-utility = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v1.0.0" } ndarray = { version = "0.15.0", default-features = false } hex = { version = "0.4", default-features = false } # Used for sudo decentralization pallet-collective = { version = "4.0.0-dev", default-features = false, path = "../collective" } -pallet-membership = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } +pallet-membership = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } hex-literal = "0.4.1" [dev-dependencies] -pallet-balances = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.39", features = [ +pallet-balances = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v1.0.0", features = [ "std", ] } -sp-version = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.39" } +sp-version = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v1.0.0" } # Substrate -sp-tracing = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.39" } +sp-tracing = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v1.0.0" } parity-util-mem = { version = "0.11.0", features = ['primitive-types'] } rand = "0.8" -sp-core = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.39" } +sp-core = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v1.0.0" } [features] default = ["std"] diff --git a/pallets/subtensor/rpc/Cargo.toml b/pallets/subtensor/rpc/Cargo.toml index f56d3a769..28d5cbeda 100644 --- a/pallets/subtensor/rpc/Cargo.toml +++ b/pallets/subtensor/rpc/Cargo.toml @@ -20,10 +20,10 @@ jsonrpsee = { version = "0.16.2", features = [ serde = { version = "1.0.132", features = ["derive"], default-features = false } # Substrate packages -sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39", default-features = false } -sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39", default-features = false } -sp-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39", default-features = false } -sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39", default-features = false } +sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v1.0.0", default-features = false } +sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v1.0.0", default-features = false } +sp-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v1.0.0", default-features = false } +sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v1.0.0", default-features = false } # local packages diff --git a/pallets/subtensor/runtime-api/Cargo.toml b/pallets/subtensor/runtime-api/Cargo.toml index 6cb297a42..0131f7988 100644 --- a/pallets/subtensor/runtime-api/Cargo.toml +++ b/pallets/subtensor/runtime-api/Cargo.toml @@ -9,8 +9,8 @@ license = "MIT" publish = false [dependencies] -sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39", default-features = false } -frame-support = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.39" } +sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v1.0.0", default-features = false } +frame-support = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v1.0.0" } serde = { version = "1.0.132", features = ["derive"], default-features = false } # local diff --git a/pallets/subtensor/src/benchmarks.rs b/pallets/subtensor/src/benchmarks.rs index 95ccfe499..9c4d5b311 100644 --- a/pallets/subtensor/src/benchmarks.rs +++ b/pallets/subtensor/src/benchmarks.rs @@ -7,10 +7,10 @@ use crate::Pallet as Subtensor; use crate::*; use frame_benchmarking::{account, benchmarks, whitelisted_caller}; use frame_support::assert_ok; -use frame_support::inherent::Vec; use frame_support::sp_std::vec; use frame_system::RawOrigin; pub use pallet::*; +use sp_std::vec::Vec; //use mock::{Test, new_test_ext}; benchmarks! { diff --git a/pallets/subtensor/src/block_step.rs b/pallets/subtensor/src/block_step.rs index 6e9d7268e..1c20d5db7 100644 --- a/pallets/subtensor/src/block_step.rs +++ b/pallets/subtensor/src/block_step.rs @@ -1,5 +1,4 @@ use super::*; -use frame_support::inherent::Vec; use frame_support::storage::IterableStorageDoubleMap; use frame_support::storage::IterableStorageMap; use substrate_fixed::types::I110F18; diff --git a/pallets/subtensor/src/delegate_info.rs b/pallets/subtensor/src/delegate_info.rs index 71af0a878..340a9d3ba 100644 --- a/pallets/subtensor/src/delegate_info.rs +++ b/pallets/subtensor/src/delegate_info.rs @@ -4,7 +4,6 @@ use frame_support::storage::IterableStorageMap; use frame_support::IterableStorageDoubleMap; use substrate_fixed::types::U64F64; extern crate alloc; -use alloc::vec::Vec; use codec::Compact; use sp_core::hexdisplay::AsBytesRef; diff --git a/pallets/subtensor/src/epoch.rs b/pallets/subtensor/src/epoch.rs index 16398395c..4a485bf4b 100644 --- a/pallets/subtensor/src/epoch.rs +++ b/pallets/subtensor/src/epoch.rs @@ -1,6 +1,5 @@ use super::*; use crate::math::*; -use frame_support::inherent::Vec; use frame_support::sp_std::vec; use frame_support::storage::IterableStorageDoubleMap; use substrate_fixed::types::{I32F32, I64F64, I96F32}; diff --git a/pallets/subtensor/src/lib.rs b/pallets/subtensor/src/lib.rs index 1ded32dd2..417735347 100644 --- a/pallets/subtensor/src/lib.rs +++ b/pallets/subtensor/src/lib.rs @@ -11,7 +11,7 @@ use frame_support::{ dispatch, dispatch::{DispatchError, DispatchInfo, DispatchResult, PostDispatchInfo}, ensure, - traits::{tokens::WithdrawReasons, Currency, ExistenceRequirement, IsSubType}, + traits::{tokens::fungible, IsSubType}, }; use codec::{Decode, Encode}; @@ -59,10 +59,10 @@ pub mod pallet { use frame_support::{ dispatch::GetDispatchInfo, - inherent::Vec, pallet_prelude::{DispatchResult, StorageMap, ValueQuery, *}, sp_std::vec, - traits::{Currency, UnfilteredDispatchable}, + sp_std::vec::Vec, + traits::{tokens::fungible, UnfilteredDispatchable}, }; use frame_system::pallet_prelude::*; use sp_runtime::traits::TrailingZeroInput; @@ -77,7 +77,6 @@ pub mod pallet { const STORAGE_VERSION: StorageVersion = StorageVersion::new(1); #[pallet::pallet] - #[pallet::generate_store(pub(super) trait Store)] #[pallet::without_storage_info] #[pallet::storage_version(STORAGE_VERSION)] pub struct Pallet(_); @@ -97,7 +96,8 @@ pub mod pallet { type CouncilOrigin: EnsureOrigin; // --- Currency type that will be used to place deposits on neurons - type Currency: Currency + Send + Sync; + type Currency: fungible::Balanced + + fungible::Mutate; type SenateMembers: crate::MemberManagement; @@ -494,7 +494,7 @@ pub mod pallet { 0 } #[pallet::type_value] - pub fn DefaultLastMechansimStepBlock() -> u64 { + pub fn DefaultLastMechanismStepBlock() -> u64 { 0 } #[pallet::type_value] @@ -523,7 +523,7 @@ pub mod pallet { StorageMap<_, Identity, u16, u64, ValueQuery, DefaultBlocksSinceLastStep>; #[pallet::storage] // --- MAP ( netuid ) --> last_mechanism_step_block pub type LastMechansimStepBlock = - StorageMap<_, Identity, u16, u64, ValueQuery, DefaultLastMechansimStepBlock>; + StorageMap<_, Identity, u16, u64, ValueQuery, DefaultLastMechanismStepBlock>; #[pallet::storage] pub type SubnetOwner = StorageMap<_, Identity, u16, T::AccountId, ValueQuery, DefaultSubnetOwner>; @@ -849,7 +849,7 @@ pub mod pallet { // parameters. [something, who] NetworkAdded(u16, u16), // --- Event created when a new network is added. NetworkRemoved(u16), // --- Event created when a network is removed. - StakeAdded(T::AccountId, u64), // --- Event created when stake has been transfered from the a coldkey account onto the hotkey staking account. + StakeAdded(T::AccountId, u64), // --- Event created when stake has been transferred from the a coldkey account onto the hotkey staking account. StakeRemoved(T::AccountId, u64), // --- Event created when stake has been removed from the hotkey staking account onto the coldkey account. WeightsSet(u16, u16), // ---- Event created when a caller successfully sets their weights on a subnetwork. NeuronRegistered(u16, u16, T::AccountId), // --- Event created when a new neuron account has been registered to the chain. @@ -859,12 +859,12 @@ pub mod pallet { MaxWeightLimitSet(u16, u16), // --- Event created when the max weight limit has been set for a subnetwork. DifficultySet(u16, u64), // --- Event created when the difficulty has been set for a subnet. AdjustmentIntervalSet(u16, u16), // --- Event created when the adjustment interval is set for a subnet. - RegistrationPerIntervalSet(u16, u16), // --- Event created when registeration per interval is set for a subnet. + RegistrationPerIntervalSet(u16, u16), // --- Event created when registration per interval is set for a subnet. MaxRegistrationsPerBlockSet(u16, u16), // --- Event created when we set max registrations per block. ActivityCutoffSet(u16, u16), // --- Event created when an activity cutoff is set for a subnet. RhoSet(u16, u16), // --- Event created when Rho value is set. KappaSet(u16, u16), // --- Event created when Kappa is set for a subnet. - MinAllowedWeightSet(u16, u16), // --- Event created when minimun allowed weight is set for a subnet. + MinAllowedWeightSet(u16, u16), // --- Event created when minimum allowed weight is set for a subnet. ValidatorPruneLenSet(u16, u64), // --- Event created when the validator pruning length has been set. ScalingLawPowerSet(u16, u16), // --- Event created when the scaling law power has been set for a subnet. WeightsSetRateLimitSet(u16, u64), // --- Event created when weights set rate limit has been set for a subnet. @@ -877,8 +877,8 @@ pub mod pallet { DelegateAdded(T::AccountId, T::AccountId, u16), // --- Event created to signal that a hotkey has become a delegate. DefaultTakeSet(u16), // --- Event created when the default take is set. WeightsVersionKeySet(u16, u64), // --- Event created when weights version key is set for a network. - MinDifficultySet(u16, u64), // --- Event created when setting min difficutly on a network. - MaxDifficultySet(u16, u64), // --- Event created when setting max difficutly on a network. + MinDifficultySet(u16, u64), // --- Event created when setting min difficulty on a network. + MaxDifficultySet(u16, u64), // --- Event created when setting max difficulty on a network. ServingRateLimitSet(u16, u64), // --- Event created when setting the prometheus serving rate limit. BurnSet(u16, u64), // --- Event created when setting burn on a network. MaxBurnSet(u16, u64), // --- Event created when setting max burn on a network. @@ -892,7 +892,7 @@ pub mod pallet { WeightsMinStake(u64), // --- Event created when min stake is set for validators to set weights. SenateRequiredStakePercentSet(u64), // Event created when setting the minimum required stake amount for senate registration. AdjustmentAlphaSet(u16, u64), // Event created when setting the adjustment alpha on a subnet. - Faucet(T::AccountId, u64), // Event created when the facuet it called on the test net. + Faucet(T::AccountId, u64), // Event created when the faucet it called on the test net. SubnetOwnerCutSet(u16), // Event created when the subnet owner cut is set. NetworkRateLimitSet(u64), // Event created when the network creation rate limit is set. NetworkImmunityPeriodSet(u64), // Event created when the network immunity period is set. @@ -931,14 +931,15 @@ pub mod pallet { InvalidWorkBlock, // ---- Thrown if the supplied pow hash block is in the future or negative. InvalidDifficulty, // ---- Thrown if the supplied pow hash block does not meet the network difficulty. InvalidSeal, // ---- Thrown if the supplied pow hash seal does not match the supplied work. - MaxAllowedUIdsNotAllowed, // --- Thrown if the vaule is invalid for MaxAllowedUids. + MaxAllowedUIdsNotAllowed, // --- Thrown if the value is invalid for MaxAllowedUids. CouldNotConvertToBalance, // ---- Thrown when the dispatch attempts to convert between a u64 and T::balance but the call fails. + CouldNotConvertToU64, // -- Thrown when the dispatch attempts to convert from a T::Balance to a u64 but the call fails. StakeAlreadyAdded, // --- Thrown when the caller requests adding stake for a hotkey to the total stake which already added. MaxWeightExceeded, // --- Thrown when the dispatch attempts to set weights on chain with where any normalized weight is more than MaxWeightLimit. StorageValueOutOfRange, // --- Thrown when the caller attempts to set a storage value outside of its allowed range. TempoHasNotSet, // --- Thrown when tempo has not set. InvalidTempo, // --- Thrown when tempo is not valid. - EmissionValuesDoesNotMatchNetworks, // --- Thrown when number or recieved emission rates does not match number of networks. + EmissionValuesDoesNotMatchNetworks, // --- Thrown when number or received emission rates does not match number of networks. InvalidEmissionValues, // --- Thrown when emission ratios are not valid (did not sum up to 10^9). AlreadyDelegate, // --- Thrown if the hotkey attempts to become delegate when they are already. SettingWeightsTooFast, // --- Thrown if the hotkey attempts to set weights twice within net_tempo/2 blocks. @@ -963,7 +964,7 @@ pub mod pallet { IncorrectNetuidsLength, // --- Thrown when an incorrect amount of Netuids are passed as input FaucetDisabled, // --- Thrown when the faucet is disabled NotSubnetOwner, - OperationNotPermittedonRootSubnet, + OperationNotPermittedOnRootSubnet, StakeTooLowForRoot, // --- Thrown when a hotkey attempts to join the root subnet with too little stake AllNetworksInImmunity, // --- Thrown when all subnets are in the immunity period NotEnoughBalance, @@ -974,13 +975,11 @@ pub mod pallet { // ================== #[pallet::genesis_config] - #[cfg(feature = "std")] pub struct GenesisConfig { pub stakes: Vec<(T::AccountId, Vec<(T::AccountId, (u64, u16))>)>, pub balances_issuance: u64, } - #[cfg(feature = "std")] impl Default for GenesisConfig { fn default() -> Self { Self { @@ -991,10 +990,8 @@ pub mod pallet { } #[pallet::genesis_build] - impl GenesisBuild for GenesisConfig { + impl BuildGenesisConfig for GenesisConfig { fn build(&self) { - use crate::MemberManagement; - // Set initial total issuance from balances TotalIssuance::::put(self.balances_issuance); @@ -1157,7 +1154,7 @@ pub mod pallet { // ---- Called on the initialization of this pallet. (the order of on_finalize calls is determined in the runtime) // // # Args: - // * 'n': (T::BlockNumber): + // * 'n': (BlockNumberFor): // - The number of the block we are initializing. fn on_initialize(_block_number: BlockNumberFor) -> Weight { let block_step_result = Self::block_step(); @@ -1165,14 +1162,14 @@ pub mod pallet { Ok(_) => { // --- If the block step was successful, return the weight. log::info!("Successfully ran block step."); - return Weight::from_ref_time(110_634_229_000 as u64) + return Weight::from_parts(110_634_229_000 as u64, 0) .saturating_add(T::DbWeight::get().reads(8304 as u64)) .saturating_add(T::DbWeight::get().writes(110 as u64)); } Err(e) => { // --- If the block step was unsuccessful, return the weight anyway. log::error!("Error while stepping block: {:?}", e); - return Weight::from_ref_time(110_634_229_000 as u64) + return Weight::from_parts(110_634_229_000 as u64, 0) .saturating_add(T::DbWeight::get().reads(8304 as u64)) .saturating_add(T::DbWeight::get().writes(110 as u64)); } @@ -1182,7 +1179,7 @@ pub mod pallet { fn on_runtime_upgrade() -> frame_support::weights::Weight { // --- Migrate storage use crate::migration; - let mut weight = frame_support::weights::Weight::from_ref_time(0); + let mut weight = frame_support::weights::Weight::from_parts(0, 0); // Hex encoded foundation coldkey let hex = hex_literal::hex![ @@ -1267,7 +1264,7 @@ pub mod pallet { // * 'MaxWeightExceeded': // - Attempting to set weights with max value exceeding limit. #[pallet::call_index(0)] - #[pallet::weight((Weight::from_ref_time(10_151_000_000) + #[pallet::weight((Weight::from_parts(10_151_000_000, 0) .saturating_add(T::DbWeight::get().reads(4104)) .saturating_add(T::DbWeight::get().writes(2)), DispatchClass::Normal, Pays::No))] pub fn set_weights( @@ -1345,7 +1342,7 @@ pub mod pallet { // // #[pallet::call_index(2)] - #[pallet::weight((Weight::from_ref_time(65_000_000) + #[pallet::weight((Weight::from_parts(65_000_000, 0) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().writes(6)), DispatchClass::Normal, Pays::No))] pub fn add_stake( @@ -1389,8 +1386,8 @@ pub mod pallet { // // #[pallet::call_index(3)] - #[pallet::weight((Weight::from_ref_time(63_000_000) - .saturating_add(Weight::from_proof_size(43991)) + #[pallet::weight((Weight::from_parts(63_000_000, 0) + .saturating_add(Weight::from_parts(0, 43991)) .saturating_add(T::DbWeight::get().reads(14)) .saturating_add(T::DbWeight::get().writes(9)), DispatchClass::Normal, Pays::No))] pub fn remove_stake( @@ -1453,7 +1450,7 @@ pub mod pallet { // - Attempting to set prometheus information withing the rate limit min. // #[pallet::call_index(4)] - #[pallet::weight((Weight::from_ref_time(19_000_000) + #[pallet::weight((Weight::from_parts(19_000_000, 0) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)), DispatchClass::Normal, Pays::No))] pub fn serve_axon( @@ -1481,7 +1478,7 @@ pub mod pallet { } #[pallet::call_index(5)] - #[pallet::weight((Weight::from_ref_time(17_000_000) + #[pallet::weight((Weight::from_parts(17_000_000, 0) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)), DispatchClass::Normal, Pays::No))] pub fn serve_prometheus( @@ -1543,7 +1540,7 @@ pub mod pallet { // - The seal is incorrect. // #[pallet::call_index(6)] - #[pallet::weight((Weight::from_ref_time(91_000_000) + #[pallet::weight((Weight::from_parts(91_000_000, 0) .saturating_add(T::DbWeight::get().reads(27)) .saturating_add(T::DbWeight::get().writes(22)), DispatchClass::Normal, Pays::No))] pub fn register( @@ -1559,7 +1556,7 @@ pub mod pallet { } #[pallet::call_index(62)] - #[pallet::weight((Weight::from_ref_time(120_000_000) + #[pallet::weight((Weight::from_parts(120_000_000, 0) .saturating_add(T::DbWeight::get().reads(23)) .saturating_add(T::DbWeight::get().writes(20)), DispatchClass::Normal, Pays::No))] pub fn root_register(origin: OriginFor, hotkey: T::AccountId) -> DispatchResult { @@ -1567,7 +1564,7 @@ pub mod pallet { } #[pallet::call_index(7)] - #[pallet::weight((Weight::from_ref_time(89_000_000) + #[pallet::weight((Weight::from_parts(89_000_000, 0) .saturating_add(T::DbWeight::get().reads(27)) .saturating_add(T::DbWeight::get().writes(22)), DispatchClass::Normal, Pays::No))] pub fn burned_register( @@ -1612,7 +1609,7 @@ pub mod pallet { /// ## Complexity /// - O(1). #[pallet::call_index(51)] - #[pallet::weight((Weight::from_ref_time(0), DispatchClass::Operational, Pays::No))] + #[pallet::weight((Weight::from_parts(0, 0), DispatchClass::Operational, Pays::No))] pub fn sudo( origin: OriginFor, call: Box, @@ -1653,8 +1650,8 @@ pub mod pallet { } #[pallet::call_index(55)] - #[pallet::weight((Weight::from_ref_time(0) - .saturating_add(Weight::from_proof_size(0)) + #[pallet::weight((Weight::from_parts(0, 0) + .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().reads(0)) .saturating_add(T::DbWeight::get().writes(0)), DispatchClass::Operational))] pub fn vote( @@ -1668,7 +1665,7 @@ pub mod pallet { } #[pallet::call_index(59)] - #[pallet::weight((Weight::from_ref_time(85_000_000) + #[pallet::weight((Weight::from_parts(85_000_000, 0) .saturating_add(T::DbWeight::get().reads(16)) .saturating_add(T::DbWeight::get().writes(28)), DispatchClass::Operational, Pays::No))] pub fn register_network(origin: OriginFor) -> DispatchResult { @@ -1676,7 +1673,7 @@ pub mod pallet { } #[pallet::call_index(60)] - #[pallet::weight((Weight::from_ref_time(91_000_000) + #[pallet::weight((Weight::from_parts(91_000_000, 0) .saturating_add(T::DbWeight::get().reads(27)) .saturating_add(T::DbWeight::get().writes(22)), DispatchClass::Normal, Pays::No))] pub fn faucet( @@ -1693,7 +1690,7 @@ pub mod pallet { } #[pallet::call_index(61)] - #[pallet::weight((Weight::from_ref_time(70_000_000) + #[pallet::weight((Weight::from_parts(70_000_000, 0) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(31)), DispatchClass::Operational, Pays::No))] pub fn dissolve_network(origin: OriginFor, netuid: u16) -> DispatchResult { @@ -1707,7 +1704,7 @@ pub mod pallet { pub fn get_priority_set_weights(hotkey: &T::AccountId, netuid: u16) -> u64 { if Uids::::contains_key(netuid, &hotkey) { let uid = Self::get_uid_for_net_and_hotkey(netuid, &hotkey.clone()).unwrap(); - let stake = Self::get_total_stake_for_hotkey(&hotkey); + let _stake = Self::get_total_stake_for_hotkey(&hotkey); let current_block_number: u64 = Self::get_current_block_as_u64(); let default_priority: u64 = current_block_number - Self::get_last_update_for_uid(netuid, uid as u16); @@ -1800,8 +1797,8 @@ where pub fn u64_to_balance( input: u64, ) -> Option< - <::Currency as Currency<::AccountId>>::Balance, - > { + <::Currency as fungible::Inspect<::AccountId>>::Balance, + >{ input.try_into().ok() } } @@ -1969,7 +1966,12 @@ where } } -use frame_support::{inherent::Vec, sp_std::vec}; +use frame_support::sp_std::vec; + +// TODO: unravel this rats nest, for some reason rustc thinks this is unused even though it's +// used not 25 lines below +#[allow(unused)] +use sp_std::vec::Vec; /// Trait for managing a membership pallet instance in the runtime pub trait MemberManagement { diff --git a/pallets/subtensor/src/math.rs b/pallets/subtensor/src/math.rs index 66e0d91d5..30633fc4f 100644 --- a/pallets/subtensor/src/math.rs +++ b/pallets/subtensor/src/math.rs @@ -1,9 +1,12 @@ -use frame_support::inherent::Vec; use frame_support::sp_std::vec; use sp_runtime::traits::CheckedAdd; use substrate_fixed::transcendental::exp; use substrate_fixed::types::{I32F32, I64F64}; +// TODO: figure out what cfg gate this needs to not be a warning in rustc +#[allow(unused)] +use sp_std::vec::Vec; + #[allow(dead_code)] pub fn fixed(val: f32) -> I32F32 { I32F32::from_num(val) @@ -1112,8 +1115,7 @@ pub fn sparse_threshold(w: &Vec>, threshold: I32F32) -> Vec( test: bool ) -> Weight { // Retrieve the total balance sum let total_balance = T::Currency::total_issuance(); - let total_balance_sum: u64 = total_balance.try_into().unwrap_or_else(|_| panic!("Conversion must be within range")); weight = weight.saturating_add(T::DbWeight::get().reads(1)); // Compute the total issuance value - let total_issuance_value: u64 = stake_sum + total_balance_sum + locked_sum; + let total_issuance_value: u64 = stake_sum + total_balance + locked_sum; // Update the total issuance in storage TotalIssuance::::put(total_issuance_value); @@ -153,8 +152,8 @@ pub fn migrate_create_root_network() -> Weight { // Empty senate members entirely, they will be filled by by registrations // on the subnet. for hotkey_i in T::SenateMembers::members().iter() { - T::TriumvirateInterface::remove_votes(&hotkey_i); - T::SenateMembers::remove_member(&hotkey_i); + T::TriumvirateInterface::remove_votes(&hotkey_i).unwrap(); + T::SenateMembers::remove_member(&hotkey_i).unwrap(); weight.saturating_accrue(T::DbWeight::get().reads_writes(2, 2)); } @@ -367,8 +366,8 @@ pub fn migrate_to_v1_separate_emission() -> Weight { info!(target: LOG_TARGET, " Do migration of netuid: {:?}...", netuid); // We will assume all loaded emission is validator emissions, - // so this will get distributed over delegatees (nominators), if there are any - // This will NOT effect any servers that are not (also) a delegate validator. + // so this will get distributed over delegatees (nominators), if there are any + // This will NOT effect any servers that are not (also) a delegate validator. // server_emission will be 0 for any alread loaded emission. let mut new_netuid_emissions = Vec::new(); diff --git a/pallets/subtensor/src/neuron_info.rs b/pallets/subtensor/src/neuron_info.rs index e40c17fe0..beee7c28e 100644 --- a/pallets/subtensor/src/neuron_info.rs +++ b/pallets/subtensor/src/neuron_info.rs @@ -2,7 +2,6 @@ use super::*; use frame_support::pallet_prelude::{Decode, Encode}; use frame_support::storage::IterableStorageDoubleMap; extern crate alloc; -use alloc::vec::Vec; use codec::Compact; #[derive(Decode, Encode, PartialEq, Eq, Clone, Debug)] @@ -61,9 +60,6 @@ impl Pallet { let mut neurons = Vec::new(); let n = Self::get_subnetwork_n(netuid); for uid in 0..n { - let uid = uid; - let netuid = netuid; - let _neuron = Self::get_neuron_subnet_exists(netuid, uid); let neuron; if _neuron.is_none() { @@ -237,8 +233,6 @@ impl Pallet { let mut neurons: Vec> = Vec::new(); let n = Self::get_subnetwork_n(netuid); for uid in 0..n { - let uid = uid; - let _neuron = Self::get_neuron_lite_subnet_exists(netuid, uid); let neuron; if _neuron.is_none() { diff --git a/pallets/subtensor/src/registration.rs b/pallets/subtensor/src/registration.rs index 5e5869e78..474514e31 100644 --- a/pallets/subtensor/src/registration.rs +++ b/pallets/subtensor/src/registration.rs @@ -1,13 +1,10 @@ use super::*; -use crate::system::ensure_root; -use frame_support::pallet_prelude::{DispatchResult, DispatchResultWithPostInfo}; +use frame_support::pallet_prelude::DispatchResultWithPostInfo; use frame_support::storage::IterableStorageDoubleMap; -use frame_system::ensure_signed; use sp_core::{Get, H256, U256}; use sp_io::hashing::{keccak_256, sha2_256}; use sp_runtime::MultiAddress; -use sp_std::convert::TryInto; -use sp_std::vec::Vec; +use system::pallet_prelude::BlockNumberFor; const LOG_TARGET: &'static str = "runtime::subtensor::registration"; @@ -56,7 +53,7 @@ impl Pallet { // --- 2. Ensure the passed network is valid. ensure!( netuid != Self::get_root_netuid(), - Error::::OperationNotPermittedonRootSubnet + Error::::OperationNotPermittedOnRootSubnet ); ensure!( Self::if_subnet_exist(netuid), @@ -105,14 +102,10 @@ impl Pallet { ); // --- 8. Ensure the remove operation from the coldkey is a success. - ensure!( - Self::remove_balance_from_coldkey_account(&coldkey, registration_cost_as_balance) - == true, - Error::::BalanceWithdrawalError - ); + let actual_burn_amount = Self::remove_balance_from_coldkey_account(&coldkey, registration_cost_as_balance)?; // The burn occurs here. - Self::burn_tokens(Self::get_burn_as_u64(netuid)); + Self::burn_tokens(actual_burn_amount); // --- 9. If the network account does not exist we will create it here. Self::create_account_if_non_existent(&coldkey, &hotkey); @@ -242,7 +235,7 @@ impl Pallet { // --- 2. Ensure the passed network is valid. ensure!( netuid != Self::get_root_netuid(), - Error::::OperationNotPermittedonRootSubnet + Error::::OperationNotPermittedOnRootSubnet ); ensure!( Self::if_subnet_exist(netuid), @@ -508,7 +501,7 @@ impl Pallet { } pub fn get_block_hash_from_u64(block_number: u64) -> H256 { - let block_number: T::BlockNumber = TryInto::::try_into(block_number) + let block_number: BlockNumberFor = TryInto::>::try_into(block_number) .ok() .expect("convert u64 to block number."); let block_hash_at_number: ::Hash = @@ -734,11 +727,8 @@ impl Pallet { Self::can_remove_balance_from_coldkey_account(&coldkey, swap_cost_as_balance), Error::::NotEnoughBalance ); - ensure!( - Self::remove_balance_from_coldkey_account(&coldkey, swap_cost_as_balance) == true, - Error::::BalanceWithdrawalError - ); - Self::burn_tokens(swap_cost); + let actual_burn_amount = Self::remove_balance_from_coldkey_account(&coldkey, swap_cost_as_balance)?; + Self::burn_tokens(actual_burn_amount); Owner::::remove(old_hotkey); Owner::::insert(new_hotkey, coldkey.clone()); diff --git a/pallets/subtensor/src/root.rs b/pallets/subtensor/src/root.rs index 28d5a7e8c..6393fce63 100644 --- a/pallets/subtensor/src/root.rs +++ b/pallets/subtensor/src/root.rs @@ -18,7 +18,6 @@ use super::*; use crate::math::*; use frame_support::dispatch::{DispatchResultWithPostInfo, Pays}; -use frame_support::inherent::Vec; use frame_support::sp_std::vec; use frame_support::storage::{IterableStorageDoubleMap, IterableStorageMap}; use frame_support::traits::Get; @@ -608,10 +607,10 @@ impl Pallet { let members = T::SenateMembers::members(); let member_count = members.len() as u32; let vote_weight = Weight::from_parts(20_528_275, 4980) - .saturating_add(Weight::from_ref_time(48_856).saturating_mul(member_count.into())) + .saturating_add(Weight::from_parts(48_856, 0).saturating_mul(member_count.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) - .saturating_add(Weight::from_proof_size(128).saturating_mul(member_count.into())); + .saturating_add(Weight::from_parts(0, 128).saturating_mul(member_count.into())); Ok(( Some(vote_weight), @@ -691,12 +690,9 @@ impl Pallet { }; // --- 5. Perform the lock operation. - ensure!( - Self::remove_balance_from_coldkey_account(&coldkey, lock_as_balance.unwrap()) == true, - Error::::BalanceWithdrawalError - ); - Self::set_subnet_locked_balance(netuid_to_register, lock_amount); - Self::set_network_last_lock(lock_amount); + let actual_lock_amount = Self::remove_balance_from_coldkey_account(&coldkey, lock_as_balance.unwrap())?; + Self::set_subnet_locked_balance(netuid_to_register, actual_lock_amount); + Self::set_network_last_lock(actual_lock_amount); // --- 6. Set initial and custom parameters for the network. Self::init_new_network(netuid_to_register, 360); diff --git a/pallets/subtensor/src/serving.rs b/pallets/subtensor/src/serving.rs index c18ab2e54..39013642f 100644 --- a/pallets/subtensor/src/serving.rs +++ b/pallets/subtensor/src/serving.rs @@ -1,5 +1,4 @@ use super::*; -use frame_support::inherent::Vec; use frame_support::sp_std::vec; impl Pallet { @@ -315,7 +314,7 @@ impl Pallet { } pub fn validate_axon_data(axon_info: &AxonInfoOf) -> Result> { - if axon_info.port.clamp(0, u16::MAX) <= 0 { + if axon_info.port.clamp(0, u16::MAX) == 0 { return Err(Error::::InvalidPort); } @@ -325,7 +324,7 @@ impl Pallet { pub fn validate_prometheus_data( prom_info: &PrometheusInfoOf, ) -> Result> { - if prom_info.port.clamp(0, u16::MAX) <= 0 { + if prom_info.port.clamp(0, u16::MAX) == 0 { return Err(Error::::InvalidPort); } diff --git a/pallets/subtensor/src/stake_info.rs b/pallets/subtensor/src/stake_info.rs index 796baf018..0c3e1aba0 100644 --- a/pallets/subtensor/src/stake_info.rs +++ b/pallets/subtensor/src/stake_info.rs @@ -1,7 +1,6 @@ use super::*; use frame_support::pallet_prelude::{Decode, Encode}; extern crate alloc; -use alloc::vec::Vec; use codec::Compact; use sp_core::hexdisplay::AsBytesRef; diff --git a/pallets/subtensor/src/staking.rs b/pallets/subtensor/src/staking.rs index f7bd4cb06..ec5a929b8 100644 --- a/pallets/subtensor/src/staking.rs +++ b/pallets/subtensor/src/staking.rs @@ -1,5 +1,14 @@ use super::*; -use frame_support::storage::IterableStorageDoubleMap; +use frame_support::{ + storage::IterableStorageDoubleMap, + traits::{ + tokens::{ + fungible::{Balanced as _, Inspect as _, Mutate as _}, + Fortitude, Precision, Preservation, + }, + Imbalance, + }, +}; impl Pallet { // ---- The implementation for the extrinsic become_delegate: signals that this hotkey allows delegated stake. @@ -172,13 +181,10 @@ impl Pallet { ); // --- 8. Ensure the remove operation from the coldkey is a success. - ensure!( - Self::remove_balance_from_coldkey_account(&coldkey, stake_as_balance.unwrap()) == true, - Error::::BalanceWithdrawalError - ); + let actual_amount_to_stake = Self::remove_balance_from_coldkey_account(&coldkey, stake_as_balance.unwrap())?; // --- 9. If we reach here, add the balance to the hotkey. - Self::increase_stake_on_coldkey_hotkey_account(&coldkey, &hotkey, stake_to_be_added); + Self::increase_stake_on_coldkey_hotkey_account(&coldkey, &hotkey, actual_amount_to_stake); // Set last block for rate limiting Self::set_last_tx_block(&coldkey, block); @@ -192,9 +198,9 @@ impl Pallet { log::info!( "StakeAdded( hotkey:{:?}, stake_to_be_added:{:?} )", hotkey, - stake_to_be_added + actual_amount_to_stake ); - Self::deposit_event(Event::StakeAdded(hotkey, stake_to_be_added)); + Self::deposit_event(Event::StakeAdded(hotkey, actual_amount_to_stake)); // --- 11. Ok and return. Ok(()) @@ -501,28 +507,29 @@ impl Pallet { pub fn u64_to_balance( input: u64, ) -> Option< - <::Currency as Currency<::AccountId>>::Balance, + <::Currency as fungible::Inspect<::AccountId>>::Balance, > { input.try_into().ok() } pub fn add_balance_to_coldkey_account( coldkey: &T::AccountId, - amount: <::Currency as Currency<::AccountId>>::Balance, + amount: <::Currency as fungible::Inspect<::AccountId>>::Balance, ) { - T::Currency::deposit_creating(&coldkey, amount); // Infallibe + // infallible + let _ = T::Currency::deposit(&coldkey, amount, Precision::BestEffort); } pub fn set_balance_on_coldkey_account( coldkey: &T::AccountId, - amount: <::Currency as Currency<::AccountId>>::Balance, + amount: <::Currency as fungible::Inspect<::AccountId>>::Balance, ) { - T::Currency::make_free_balance_be(&coldkey, amount); + T::Currency::set_balance(&coldkey, amount); } pub fn can_remove_balance_from_coldkey_account( coldkey: &T::AccountId, - amount: <::Currency as Currency<::AccountId>>::Balance, + amount: <::Currency as fungible::Inspect<::AccountId>>::Balance, ) -> bool { let current_balance = Self::get_coldkey_balance(coldkey); if amount > current_balance { @@ -530,36 +537,49 @@ impl Pallet { } // This bit is currently untested. @todo - let new_potential_balance = current_balance - amount; - let can_withdraw = T::Currency::ensure_can_withdraw( + let can_withdraw = T::Currency::can_withdraw( &coldkey, amount, - WithdrawReasons::except(WithdrawReasons::TIP), - new_potential_balance, ) + .into_result(false) .is_ok(); can_withdraw } pub fn get_coldkey_balance( coldkey: &T::AccountId, - ) -> <::Currency as Currency<::AccountId>>::Balance { - return T::Currency::free_balance(&coldkey); + ) -> <::Currency as fungible::Inspect<::AccountId>>::Balance { + return T::Currency::reducible_balance(&coldkey, Preservation::Expendable, Fortitude::Polite); } + #[must_use = "Balance must be used to preserve total issuance of token"] pub fn remove_balance_from_coldkey_account( coldkey: &T::AccountId, - amount: <::Currency as Currency<::AccountId>>::Balance, - ) -> bool { - return match T::Currency::withdraw( - &coldkey, - amount, - WithdrawReasons::except(WithdrawReasons::TIP), - ExistenceRequirement::KeepAlive, - ) { - Ok(_result) => true, - Err(_error) => false, - }; + amount: <::Currency as fungible::Inspect<::AccountId>>::Balance, + ) -> Result { + let amount_u64: u64 = amount.try_into().map_err(|_| Error::::CouldNotConvertToU64)?; + + if amount_u64 == 0 { + return Ok(0); + } + + let credit = T::Currency::withdraw( + &coldkey, + amount, + Precision::BestEffort, + Preservation::Preserve, + Fortitude::Polite, + ) + .map_err(|_| Error::::BalanceWithdrawalError)? + .peek(); + + let credit_u64: u64 = credit.try_into().map_err(|_| Error::::CouldNotConvertToU64)?; + + if credit_u64 == 0 { + return Err(Error::::BalanceWithdrawalError.into()); + } + + Ok(credit_u64) } pub fn unstake_all_coldkeys_from_hotkey_account(hotkey: &T::AccountId) { diff --git a/pallets/subtensor/src/subnet_info.rs b/pallets/subtensor/src/subnet_info.rs index f2346fafb..5d3ffd695 100644 --- a/pallets/subtensor/src/subnet_info.rs +++ b/pallets/subtensor/src/subnet_info.rs @@ -2,7 +2,6 @@ use super::*; use frame_support::pallet_prelude::{Decode, Encode}; use frame_support::storage::IterableStorageMap; extern crate alloc; -use alloc::vec::Vec; use codec::Compact; #[derive(Decode, Encode, PartialEq, Eq, Clone, Debug)] @@ -153,7 +152,6 @@ impl Pallet { let adjustment_alpha = Self::get_adjustment_alpha(netuid); let difficulty = Self::get_difficulty_as_u64(netuid); - return Some(SubnetHyperparams { rho: rho.into(), kappa: kappa.into(), @@ -176,7 +174,7 @@ impl Pallet { serving_rate_limit: serving_rate_limit.into(), max_validators: max_validators.into(), adjustment_alpha: adjustment_alpha.into(), - difficulty: difficulty.into() + difficulty: difficulty.into(), }); } } diff --git a/pallets/subtensor/src/uids.rs b/pallets/subtensor/src/uids.rs index 306d4f9b5..d48286b6a 100644 --- a/pallets/subtensor/src/uids.rs +++ b/pallets/subtensor/src/uids.rs @@ -1,9 +1,7 @@ use super::*; -use frame_support::pallet_prelude::DispatchError; use frame_support::sp_std::vec; use frame_support::storage::IterableStorageDoubleMap; use frame_support::storage::IterableStorageMap; -use sp_std::vec::Vec; impl Pallet { // Returns the number of filled slots on a network. diff --git a/pallets/subtensor/src/utils.rs b/pallets/subtensor/src/utils.rs index 666a8df33..b329c51db 100644 --- a/pallets/subtensor/src/utils.rs +++ b/pallets/subtensor/src/utils.rs @@ -1,7 +1,5 @@ use super::*; use crate::system::{ensure_root, ensure_signed_or_root}; -use frame_support::inherent::Vec; -use frame_support::pallet_prelude::DispatchResult; use sp_core::U256; impl Pallet { diff --git a/pallets/subtensor/src/weights.rs b/pallets/subtensor/src/weights.rs index 4584dfb62..1bc96fee7 100644 --- a/pallets/subtensor/src/weights.rs +++ b/pallets/subtensor/src/weights.rs @@ -1,7 +1,6 @@ use super::*; use crate::math::*; use frame_support::sp_std::vec; -use sp_std::vec::Vec; impl Pallet { // ---- The implementation for the extrinsic set_weights. diff --git a/pallets/subtensor/tests/block_step.rs b/pallets/subtensor/tests/block_step.rs index c3fad4cf7..9803b7926 100644 --- a/pallets/subtensor/tests/block_step.rs +++ b/pallets/subtensor/tests/block_step.rs @@ -6,7 +6,7 @@ use sp_core::U256; #[test] fn test_loaded_emission() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let n: u16 = 100; let netuid: u16 = 1; let tempo: u16 = 10; @@ -15,7 +15,7 @@ fn test_loaded_emission() { add_network(netuid, tempo, 0); SubtensorModule::set_max_allowed_uids(netuid, n); SubtensorModule::set_adjustment_alpha(netuid, 58000); // Set to old value. - SubtensorModule::set_emission_values(&netuids, emission); + SubtensorModule::set_emission_values(&netuids, emission).unwrap(); for i in 0..n { SubtensorModule::append_neuron(netuid, &U256::from(i), 0); } @@ -86,7 +86,7 @@ fn test_loaded_emission() { #[test] fn test_tuples_to_drain_this_block() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { // pub fn tuples_to_drain_this_block( netuid: u16, tempo: u16, block_number: u64, n_remaining: usize ) -> usize { assert_eq!(SubtensorModule::tuples_to_drain_this_block(0, 1, 0, 10), 10); // drain all epoch block. assert_eq!(SubtensorModule::tuples_to_drain_this_block(0, 0, 0, 10), 10); // drain all no tempo. @@ -125,7 +125,7 @@ fn test_tuples_to_drain_this_block() { #[test] fn test_blocks_until_epoch() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { // Check tempo = 0 block = * netuid = * assert_eq!(SubtensorModule::blocks_until_next_epoch(0, 0, 0), 1000); @@ -165,7 +165,7 @@ fn test_blocks_until_epoch() { // *********************************************/ #[test] fn test_burn_adjustment() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let tempo: u16 = 13; let burn_cost: u64 = 1000; @@ -215,7 +215,7 @@ fn test_burn_adjustment() { #[test] fn test_burn_adjustment_with_moving_average() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let tempo: u16 = 13; let burn_cost: u64 = 1000; @@ -269,7 +269,7 @@ fn test_burn_adjustment_case_a() { // ==================== // There are too many registrations this interval and most of them are pow registrations // this triggers an increase in the pow difficulty. - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let tempo: u16 = 13; let burn_cost: u64 = 1000; @@ -362,7 +362,7 @@ fn test_burn_adjustment_case_b() { // ==================== // There are too many registrations this interval and most of them are burn registrations // this triggers an increase in the burn cost. - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let tempo: u16 = 13; let burn_cost: u64 = 1000; @@ -444,7 +444,7 @@ fn test_burn_adjustment_case_c() { // ==================== // There are not enough registrations this interval and most of them are POW registrations // this triggers a decrease in the burn cost - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let tempo: u16 = 13; let burn_cost: u64 = 1000; @@ -536,7 +536,7 @@ fn test_burn_adjustment_case_d() { // ==================== // There are not enough registrations this interval and most of them are BURN registrations // this triggers a decrease in the POW difficulty - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let tempo: u16 = 13; let burn_cost: u64 = 1000; @@ -619,7 +619,7 @@ fn test_burn_adjustment_case_e() { // ==================== // There are not enough registrations this interval and nobody registered either POW or BURN // this triggers a decrease in the BURN cost and POW difficulty - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let tempo: u16 = 13; let burn_cost: u64 = 1000; @@ -694,7 +694,7 @@ fn test_burn_adjustment_case_f() { // ==================== // There are too many registrations this interval and the pow and burn registrations are equal // this triggers an increase in the burn cost and pow difficulty - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let tempo: u16 = 13; let burn_cost: u64 = 1000; @@ -769,7 +769,7 @@ fn test_burn_adjustment_case_e_zero_registrations() { // this triggers a decrease in the BURN cost and POW difficulty // BUT there are zero registrations this interval. - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let tempo: u16 = 13; let burn_cost: u64 = 1000; diff --git a/pallets/subtensor/tests/difficulty.rs b/pallets/subtensor/tests/difficulty.rs index 6c561b84a..71f47b4d1 100644 --- a/pallets/subtensor/tests/difficulty.rs +++ b/pallets/subtensor/tests/difficulty.rs @@ -5,7 +5,7 @@ use sp_core::U256; #[test] #[cfg(not(tarpaulin))] fn test_registration_difficulty_adjustment() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { // Create Net 1 let netuid: u16 = 1; let tempo: u16 = 1; @@ -74,7 +74,10 @@ fn test_registration_difficulty_adjustment() { assert_eq!(SubtensorModule::get_difficulty_as_u64(netuid), 20000); // Difficulty is unchanged. step_block(1); assert_eq!(SubtensorModule::get_registrations_this_block(netuid), 0); // Registrations have been erased. - assert_eq!(SubtensorModule::get_last_adjustment_block(netuid), 1); // We just adjusted on the first block. + + // TODO: are we OK with this change? + assert_eq!(SubtensorModule::get_last_adjustment_block(netuid), 2); // We just adjusted on the first block. + assert_eq!(SubtensorModule::get_difficulty_as_u64(netuid), 40000); // Difficulty is increased ( 20000 * ( 3 + 1 ) / ( 1 + 1 ) ) = 80_000 assert_eq!(SubtensorModule::get_registrations_this_interval(netuid), 0); // Registrations this interval has been wiped. @@ -108,7 +111,10 @@ fn test_registration_difficulty_adjustment() { assert_eq!(SubtensorModule::get_registrations_this_interval(netuid), 3); // Registrations this interval = 3 step_block(1); // Step - assert_eq!(SubtensorModule::get_last_adjustment_block(netuid), 1); // Still previous adjustment block. + + // TODO: are we OK with this change? + assert_eq!(SubtensorModule::get_last_adjustment_block(netuid), 2); // Still previous adjustment block. + assert_eq!(SubtensorModule::get_registrations_this_block(netuid), 0); // Registrations have been erased. assert_eq!(SubtensorModule::get_registrations_this_interval(netuid), 3); // Registrations this interval = 3 diff --git a/pallets/subtensor/tests/epoch.rs b/pallets/subtensor/tests/epoch.rs index cfa25757f..02a15b711 100644 --- a/pallets/subtensor/tests/epoch.rs +++ b/pallets/subtensor/tests/epoch.rs @@ -4,8 +4,7 @@ use frame_system::Config; use rand::{distributions::Uniform, rngs::StdRng, seq::SliceRandom, thread_rng, Rng, SeedableRng}; use sp_core::U256; use std::time::Instant; -use substrate_fixed::transcendental::{cos, ln, sqrt, PI}; -use substrate_fixed::types::{I32F32, I64F64}; +use substrate_fixed::types::I32F32; mod mock; pub fn fixed(val: f32) -> I32F32 { @@ -44,42 +43,42 @@ fn normalize_weights(mut weights: Vec) -> Vec { return weights; } -// Return as usize an I32F32 ratio of a usize input, avoiding the 0% and 100% extremes. -fn non_extreme_fixed_ratio(ratio: I32F32, total: usize) -> usize { - if total == 0 { - return total; - } - let mut subset: usize = (ratio * I32F32::from_num(total)).to_num::(); - if subset == 0 { - subset = 1; - } else if subset == total { - subset = total - 1; - } - return subset; -} +// // Return as usize an I32F32 ratio of a usize input, avoiding the 0% and 100% extremes. +// fn non_extreme_fixed_ratio(ratio: I32F32, total: usize) -> usize { +// if total == 0 { +// return total; +// } +// let mut subset: usize = (ratio * I32F32::from_num(total)).to_num::(); +// if subset == 0 { +// subset = 1; +// } else if subset == total { +// subset = total - 1; +// } +// return subset; +// } -// Box-Muller Transform converting two uniform random samples to a normal random sample. -fn normal(size: usize, rng: &mut StdRng, dist: &Uniform) -> Vec { - let max: I32F32 = I32F32::from_num(u16::MAX); - let two: I32F32 = I32F32::from_num(2); - let eps: I32F32 = I32F32::from_num(0.000001); - let pi: I32F32 = I32F32::from_num(PI); - - let uniform_u16: Vec = (0..(2 * size)).map(|_| rng.sample(&dist)).collect(); - let uniform: Vec = uniform_u16 - .iter() - .map(|&x| I32F32::from_num(x) / max) - .collect(); - let mut normal: Vec = vec![I32F32::from_num(0); size as usize]; - - for i in 0..size { - let u1: I32F32 = uniform[i] + eps; - let u2: I32F32 = uniform[i + size] + eps; - normal[i] = sqrt::(-two * ln::(u1).expect("")).expect("") - * cos(two * pi * u2); - } - normal -} +// // Box-Muller Transform converting two uniform random samples to a normal random sample. +// fn normal(size: usize, rng: &mut StdRng, dist: &Uniform) -> Vec { +// let max: I32F32 = I32F32::from_num(u16::MAX); +// let two: I32F32 = I32F32::from_num(2); +// let eps: I32F32 = I32F32::from_num(0.000001); +// let pi: I32F32 = I32F32::from_num(PI); + +// let uniform_u16: Vec = (0..(2 * size)).map(|_| rng.sample(&dist)).collect(); +// let uniform: Vec = uniform_u16 +// .iter() +// .map(|&x| I32F32::from_num(x) / max) +// .collect(); +// let mut normal: Vec = vec![I32F32::from_num(0); size as usize]; + +// for i in 0..size { +// let u1: I32F32 = uniform[i] + eps; +// let u2: I32F32 = uniform[i + size] + eps; +// normal[i] = sqrt::(-two * ln::(u1).expect("")).expect("") +// * cos(two * pi * u2); +// } +// normal +// } // Returns validators and servers uids with either blockwise, regular, or random interleaving. fn distribute_nodes( @@ -259,141 +258,141 @@ fn init_run_epochs( // } } -// Generate a random graph that is split into a major and minor set, each setting specific weight on itself and the complement on the other. -fn split_graph( - major_stake: I32F32, - major_weight: I32F32, - minor_weight: I32F32, - weight_stddev: I32F32, - validators_n: usize, - network_n: usize, - interleave: usize, -) -> ( - Vec, - Vec, - Vec, - Vec, - Vec, - Vec, - Vec, - Vec>, - I32F32, -) { - let servers_n: usize = network_n - validators_n; - let major_servers_n: usize = non_extreme_fixed_ratio(major_stake, servers_n); - let major_validators_n: usize = non_extreme_fixed_ratio(major_stake, validators_n); - - let (validators, servers) = distribute_nodes(validators_n, network_n, interleave as usize); - let major_validators: Vec = (0..major_validators_n).map(|i| validators[i]).collect(); - let minor_validators: Vec = (major_validators_n..validators_n) - .map(|i| validators[i]) - .collect(); - let major_servers: Vec = (0..major_servers_n).map(|i| servers[i]).collect(); - let minor_servers: Vec = (major_servers_n..servers_n).map(|i| servers[i]).collect(); - - let zero: I32F32 = I32F32::from_num(0); - let one: I32F32 = I32F32::from_num(1); - let stddev: I32F32 = I32F32::from_num(0.3); - let total_stake: I64F64 = I64F64::from_num(21_000_000_000_000_000 as u64); - let mut rng = StdRng::seed_from_u64(0); // constant seed so weights over multiple runs are equal - let dist = Uniform::new(0, u16::MAX); - - let mut stake: Vec = vec![0; network_n]; - let mut stake_fixed: Vec = vec![zero; network_n]; - for (ratio, vals) in vec![ - (major_stake, &major_validators), - (one - major_stake, &minor_validators), - ] { - let mut sample = normal(vals.len(), &mut rng, &dist) - .iter() - .map(|x: &I32F32| { - let v: I32F32 = (stddev * x) + one; - if v < zero { - zero - } else { - v - } - }) - .collect(); - inplace_normalize(&mut sample); - for (i, &val) in vals.iter().enumerate() { - stake[val as usize] = - (I64F64::from_num(ratio) * I64F64::from_num(sample[i]) * total_stake) - .to_num::(); - stake_fixed[val as usize] = - I32F32::from_num(I64F64::from_num(ratio) * I64F64::from_num(sample[i])); - } - } +// // Generate a random graph that is split into a major and minor set, each setting specific weight on itself and the complement on the other. +// fn split_graph( +// major_stake: I32F32, +// major_weight: I32F32, +// minor_weight: I32F32, +// weight_stddev: I32F32, +// validators_n: usize, +// network_n: usize, +// interleave: usize, +// ) -> ( +// Vec, +// Vec, +// Vec, +// Vec, +// Vec, +// Vec, +// Vec, +// Vec>, +// I32F32, +// ) { +// let servers_n: usize = network_n - validators_n; +// let major_servers_n: usize = non_extreme_fixed_ratio(major_stake, servers_n); +// let major_validators_n: usize = non_extreme_fixed_ratio(major_stake, validators_n); + +// let (validators, servers) = distribute_nodes(validators_n, network_n, interleave as usize); +// let major_validators: Vec = (0..major_validators_n).map(|i| validators[i]).collect(); +// let minor_validators: Vec = (major_validators_n..validators_n) +// .map(|i| validators[i]) +// .collect(); +// let major_servers: Vec = (0..major_servers_n).map(|i| servers[i]).collect(); +// let minor_servers: Vec = (major_servers_n..servers_n).map(|i| servers[i]).collect(); + +// let zero: I32F32 = I32F32::from_num(0); +// let one: I32F32 = I32F32::from_num(1); +// let stddev: I32F32 = I32F32::from_num(0.3); +// let total_stake: I64F64 = I64F64::from_num(21_000_000_000_000_000 as u64); +// let mut rng = StdRng::seed_from_u64(0); // constant seed so weights over multiple runs are equal +// let dist = Uniform::new(0, u16::MAX); + +// let mut stake: Vec = vec![0; network_n]; +// let mut stake_fixed: Vec = vec![zero; network_n]; +// for (ratio, vals) in vec![ +// (major_stake, &major_validators), +// (one - major_stake, &minor_validators), +// ] { +// let mut sample = normal(vals.len(), &mut rng, &dist) +// .iter() +// .map(|x: &I32F32| { +// let v: I32F32 = (stddev * x) + one; +// if v < zero { +// zero +// } else { +// v +// } +// }) +// .collect(); +// inplace_normalize(&mut sample); +// for (i, &val) in vals.iter().enumerate() { +// stake[val as usize] = +// (I64F64::from_num(ratio) * I64F64::from_num(sample[i]) * total_stake) +// .to_num::(); +// stake_fixed[val as usize] = +// I32F32::from_num(I64F64::from_num(ratio) * I64F64::from_num(sample[i])); +// } +// } - let mut weights: Vec> = vec![vec![]; network_n as usize]; - let mut weights_fixed: Vec> = vec![vec![zero; network_n]; network_n]; - for (first, second, vals) in vec![ - (major_weight, one - major_weight, &major_validators), - (one - minor_weight, minor_weight, &minor_validators), - ] { - for &val in vals { - for (weight, srvs) in vec![(first, &major_servers), (second, &minor_servers)] { - let mut sample: Vec = normal(srvs.len(), &mut rng, &dist) - .iter() - .map(|x: &I32F32| { - let v: I32F32 = (weight_stddev * x) + one; - if v < zero { - zero - } else { - v - } - }) - .collect(); - inplace_normalize(&mut sample); - - for (i, &srv) in srvs.iter().enumerate() { - weights[val as usize].push((srv, fixed_proportion_to_u16(weight * sample[i]))); - weights_fixed[val as usize][srv as usize] = weight * sample[i]; - } - } - inplace_normalize(&mut weights_fixed[val as usize]); - } - } +// let mut weights: Vec> = vec![vec![]; network_n as usize]; +// let mut weights_fixed: Vec> = vec![vec![zero; network_n]; network_n]; +// for (first, second, vals) in vec![ +// (major_weight, one - major_weight, &major_validators), +// (one - minor_weight, minor_weight, &minor_validators), +// ] { +// for &val in vals { +// for (weight, srvs) in vec![(first, &major_servers), (second, &minor_servers)] { +// let mut sample: Vec = normal(srvs.len(), &mut rng, &dist) +// .iter() +// .map(|x: &I32F32| { +// let v: I32F32 = (weight_stddev * x) + one; +// if v < zero { +// zero +// } else { +// v +// } +// }) +// .collect(); +// inplace_normalize(&mut sample); + +// for (i, &srv) in srvs.iter().enumerate() { +// weights[val as usize].push((srv, fixed_proportion_to_u16(weight * sample[i]))); +// weights_fixed[val as usize][srv as usize] = weight * sample[i]; +// } +// } +// inplace_normalize(&mut weights_fixed[val as usize]); +// } +// } - inplace_normalize(&mut stake_fixed); +// inplace_normalize(&mut stake_fixed); - // Calculate stake-weighted mean per server - let mut weight_mean: Vec = vec![zero; network_n]; - for val in 0..network_n { - if stake_fixed[val] > zero { - for srv in 0..network_n { - weight_mean[srv] += stake_fixed[val] * weights_fixed[val][srv]; - } - } - } +// // Calculate stake-weighted mean per server +// let mut weight_mean: Vec = vec![zero; network_n]; +// for val in 0..network_n { +// if stake_fixed[val] > zero { +// for srv in 0..network_n { +// weight_mean[srv] += stake_fixed[val] * weights_fixed[val][srv]; +// } +// } +// } - // Calculate stake-weighted absolute standard deviation - let mut weight_dev: Vec = vec![zero; network_n]; - for val in 0..network_n { - if stake_fixed[val] > zero { - for srv in 0..network_n { - weight_dev[srv] += - stake_fixed[val] * (weight_mean[srv] - weights_fixed[val][srv]).abs(); - } - } - } +// // Calculate stake-weighted absolute standard deviation +// let mut weight_dev: Vec = vec![zero; network_n]; +// for val in 0..network_n { +// if stake_fixed[val] > zero { +// for srv in 0..network_n { +// weight_dev[srv] += +// stake_fixed[val] * (weight_mean[srv] - weights_fixed[val][srv]).abs(); +// } +// } +// } - // Calculate rank-weighted mean of weight_dev - let avg_weight_dev: I32F32 = - weight_dev.iter().sum::() / weight_mean.iter().sum::(); - - ( - validators, - servers, - major_validators, - minor_validators, - major_servers, - minor_servers, - stake, - weights, - avg_weight_dev, - ) -} +// // Calculate rank-weighted mean of weight_dev +// let avg_weight_dev: I32F32 = +// weight_dev.iter().sum::() / weight_mean.iter().sum::(); + +// ( +// validators, +// servers, +// major_validators, +// minor_validators, +// major_servers, +// minor_servers, +// stake, +// weights, +// avg_weight_dev, +// ) +// } // Test consensus guarantees with an epoch on a graph with 4096 nodes, of which the first 128 are validators, the graph is split into a major and minor set, each setting specific weight on itself and the complement on the other. Asserts that the major emission ratio >= major stake ratio. // #[test] @@ -440,7 +439,7 @@ fn split_graph( // interleave as usize, // ); -// new_test_ext().execute_with(|| { +// new_test_ext(1).execute_with(|| { // init_run_epochs( // netuid, // network_n, @@ -482,7 +481,7 @@ fn split_graph( // Test an epoch on an empty graph. // #[test] // fn test_overflow() { -// new_test_ext().execute_with(|| { +// new_test_ext(1).execute_with(|| { // log::info!("test_overflow:"); // let netuid: u16 = 1; // add_network(netuid, 0, 0); @@ -536,7 +535,7 @@ fn split_graph( // Test an epoch on an empty graph. // #[test] // fn test_nill_epoch_subtensor() { -// new_test_ext().execute_with(|| { +// new_test_ext(1).execute_with(|| { // log::info!("test_nill_epoch:"); // SubtensorModule::epoch(0, 0); // }); @@ -545,7 +544,7 @@ fn split_graph( // Test an epoch on a graph with a single item. #[test] fn test_1_graph() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { log::info!("test_1_graph:"); let netuid: u16 = 1; let coldkey = U256::from(0); @@ -568,7 +567,7 @@ fn test_1_graph() { )); // SubtensorModule::set_weights_for_testing( netuid, i as u16, vec![ ( 0, u16::MAX )]); // doesn't set update status // SubtensorModule::set_bonds_for_testing( netuid, uid, vec![ ( 0, u16::MAX )]); // rather, bonds are calculated in epoch - SubtensorModule::set_emission_values(&vec![netuid], vec![1_000_000_000]); + SubtensorModule::set_emission_values(&vec![netuid], vec![1_000_000_000]).unwrap(); assert_eq!( SubtensorModule::get_subnet_emission_value(netuid), 1_000_000_000 @@ -593,7 +592,7 @@ fn test_1_graph() { // Test an epoch on a graph with two items. #[test] fn test_10_graph() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { log::info!("test_10_graph"); // Function for adding a nodes to the graph. pub fn add_node(netuid: u16, coldkey: U256, hotkey: U256, uid: u16, stake_amount: u64) { @@ -674,7 +673,7 @@ fn test_512_graph() { ); let server: usize = servers[0] as usize; let validator: usize = validators[0] as usize; - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { init_run_epochs( netuid, network_n, @@ -754,7 +753,7 @@ fn test_512_graph_random_weights() { ) = (vec![], vec![], vec![], vec![], vec![], vec![]); // Dense epoch - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { init_run_epochs( netuid, network_n, @@ -784,7 +783,7 @@ fn test_512_graph_random_weights() { }); // Sparse epoch (same random seed as dense) - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { init_run_epochs( netuid, network_n, @@ -848,7 +847,7 @@ fn test_4096_graph() { let validator: usize = validators[0] as usize; for server_self in vec![false, true] { // server-self weight off/on - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { init_run_epochs( netuid, network_n, @@ -907,7 +906,7 @@ fn test_4096_graph() { // #[test] #[allow(dead_code)] fn test_16384_graph_sparse() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let n: u16 = 16384; let validators_n: u16 = 512; @@ -970,14 +969,14 @@ fn test_16384_graph_sparse() { // Test bonds exponential moving average over a sequence of epochs. #[test] fn test_bonds() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let sparse: bool = true; let n: u16 = 8; let netuid: u16 = 1; let tempo: u16 = u16::MAX - 1; // high tempo to skip automatic epochs in on_initialize, use manual epochs instead - let block_number: u64 = 0; let max_stake: u64 = 4; let stakes: Vec = vec![1, 2, 3, 4, 0, 0, 0, 0]; + let block_number = System::block_number(); add_network(netuid, tempo, 0); SubtensorModule::set_max_allowed_uids( netuid, n ); assert_eq!(SubtensorModule::get_max_allowed_uids(netuid), n); @@ -1001,7 +1000,7 @@ fn test_bonds() { SubtensorModule::set_max_allowed_validators(netuid, n); assert_eq!( SubtensorModule::get_max_allowed_validators(netuid), n); SubtensorModule::epoch( netuid, 1_000_000_000 ); // run first epoch to set allowed validators - run_to_block( 1 ); // run to next block to ensure weights are set on nodes after their registration block + next_block(); // run to next block to ensure weights are set on nodes after their registration block // === Set weights [val->srv1: 0.1, val->srv2: 0.2, val->srv3: 0.3, val->srv4: 0.4] for uid in 0..(n/2) as u64 { @@ -1051,7 +1050,7 @@ fn test_bonds() { // === Set self-weight only on val1 let uid = 0; assert_ok!(SubtensorModule::set_weights(RuntimeOrigin::signed(U256::from(uid)), netuid, vec![uid], vec![u16::MAX], 0)); - run_to_block(2); + next_block(); if sparse { SubtensorModule::epoch( netuid, 1_000_000_000 ); } else { SubtensorModule::epoch_dense( netuid, 1_000_000_000 ); } /* n: 8 @@ -1098,7 +1097,7 @@ fn test_bonds() { // === Set self-weight only on val2 let uid = 1; assert_ok!(SubtensorModule::set_weights(RuntimeOrigin::signed(U256::from(uid)), netuid, vec![uid], vec![u16::MAX], 0)); - run_to_block(3); + next_block(); if sparse { SubtensorModule::epoch( netuid, 1_000_000_000 ); } else { SubtensorModule::epoch_dense( netuid, 1_000_000_000 ); } /* current_block: 3 @@ -1134,7 +1133,7 @@ fn test_bonds() { // === Set self-weight only on val3 let uid = 2; assert_ok!(SubtensorModule::set_weights(RuntimeOrigin::signed(U256::from(uid)), netuid, vec![uid], vec![u16::MAX], 0)); - run_to_block(4); + next_block(); if sparse { SubtensorModule::epoch( netuid, 1_000_000_000 ); } else { SubtensorModule::epoch_dense( netuid, 1_000_000_000 ); } /* current_block: 4 @@ -1169,7 +1168,7 @@ fn test_bonds() { // === Set val3->srv4: 1 assert_ok!(SubtensorModule::set_weights(RuntimeOrigin::signed(U256::from(2)), netuid, vec![7], vec![u16::MAX], 0)); - run_to_block(5); + next_block(); if sparse { SubtensorModule::epoch( netuid, 1_000_000_000 ); } else { SubtensorModule::epoch_dense( netuid, 1_000_000_000 ); } /* current_block: 5 @@ -1202,7 +1201,7 @@ fn test_bonds() { assert_eq!(bonds[2][7], 49150); assert_eq!(bonds[3][7], 65535); - run_to_block(6); + next_block(); if sparse { SubtensorModule::epoch( netuid, 1_000_000_000 ); } else { SubtensorModule::epoch_dense( netuid, 1_000_000_000 ); } /* current_block: 6 @@ -1223,7 +1222,7 @@ fn test_bonds() { assert_eq!(bonds[2][7], 49150); assert_eq!(bonds[3][7], 65535); - run_to_block(7); + next_block(); if sparse { SubtensorModule::epoch( netuid, 1_000_000_000 ); } else { SubtensorModule::epoch_dense( netuid, 1_000_000_000 ); } /* current_block: 7 @@ -1244,7 +1243,7 @@ fn test_bonds() { assert_eq!(bonds[2][7], 49150); assert_eq!(bonds[3][7], 65535); - run_to_block(8); + next_block(); if sparse { SubtensorModule::epoch( netuid, 1_000_000_000 ); } else { SubtensorModule::epoch_dense( netuid, 1_000_000_000 ); } /* current_block: 8 @@ -1265,12 +1264,13 @@ fn test_bonds() { // Test that epoch masks out inactive stake of validators with outdated weights beyond activity cutoff. #[test] fn test_active_stake() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { + System::set_block_number(0); let sparse: bool = true; let n: u16 = 4; let netuid: u16 = 1; let tempo: u16 = u16::MAX - 1; // high tempo to skip automatic epochs in on_initialize, use manual epochs instead - let block_number: u64 = 0; + let block_number: u64 = System::block_number(); let stake: u64 = 1; add_network(netuid, tempo, 0); SubtensorModule::set_max_allowed_uids(netuid, n); @@ -1311,7 +1311,7 @@ fn test_active_stake() { SubtensorModule::set_max_allowed_validators(netuid, n); assert_eq!(SubtensorModule::get_max_allowed_validators(netuid), n); SubtensorModule::epoch(netuid, 1_000_000_000); // run first epoch to set allowed validators - run_to_block(1); // run to next block to ensure weights are set on nodes after their registration block + next_block(); // run to next block to ensure weights are set on nodes after their registration block // === Set weights [val1->srv1: 0.5, val1->srv2: 0.5, val2->srv1: 0.5, val2->srv2: 0.5] for uid in 0..(n / 2) as u64 { @@ -1470,12 +1470,12 @@ fn test_active_stake() { // Test that epoch masks out outdated weights and bonds of validators on deregistered servers. #[test] fn test_outdated_weights() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let sparse: bool = true; let n: u16 = 4; let netuid: u16 = 1; let tempo: u16 = u16::MAX - 1; // high tempo to skip automatic epochs in on_initialize, use manual epochs instead - let mut block_number: u64 = 0; + let mut block_number: u64 = System::block_number(); let stake: u64 = 1; add_network(netuid, tempo, 0); SubtensorModule::set_max_allowed_uids(netuid, n); @@ -1484,6 +1484,7 @@ fn test_outdated_weights() { SubtensorModule::set_target_registrations_per_interval(netuid, n); SubtensorModule::set_min_allowed_weights(netuid, 0); SubtensorModule::set_max_weight_limit(netuid, u16::MAX); + assert_eq!(SubtensorModule::get_registrations_this_block(netuid), 0); // === Register [validator1, validator2, server1, server2] for key in 0..n as u64 { @@ -1510,13 +1511,15 @@ fn test_outdated_weights() { ); } assert_eq!(SubtensorModule::get_subnetwork_n(netuid), n); + assert_eq!(SubtensorModule::get_registrations_this_block(netuid), 4); // === Issue validator permits SubtensorModule::set_max_allowed_validators(netuid, n); assert_eq!(SubtensorModule::get_max_allowed_validators(netuid), n); SubtensorModule::epoch(netuid, 1_000_000_000); // run first epoch to set allowed validators - run_to_block(1); - block_number += 1; // run to next block to ensure weights are set on nodes after their registration block + assert_eq!(SubtensorModule::get_registrations_this_block(netuid), 4); + block_number = next_block(); // run to next block to ensure weights are set on nodes after their registration block + assert_eq!(SubtensorModule::get_registrations_this_block(netuid), 0); // === Set weights [val1->srv1: 2/3, val1->srv2: 1/3, val2->srv1: 2/3, val2->srv2: 1/3, srv1->srv1: 1, srv2->srv2: 1] for uid in 0..(n / 2) as u64 { @@ -1578,6 +1581,9 @@ fn test_outdated_weights() { 0, &U256::from(new_key), ); + assert_eq!(System::block_number(), block_number); + assert_eq!(SubtensorModule::get_max_registrations_per_block(netuid), n); + assert_eq!(SubtensorModule::get_registrations_this_block(netuid), 0); assert_ok!(SubtensorModule::register( <::RuntimeOrigin>::signed(U256::from(new_key)), netuid, @@ -1593,7 +1599,7 @@ fn test_outdated_weights() { SubtensorModule::get_hotkey_for_net_and_uid(netuid, deregistered_uid) .expect("Not registered") ); - run_to_block(2); // run to next block to outdate weights and bonds set on deregistered uid + next_block(); // run to next block to outdate weights and bonds set on deregistered uid // === Update weights from only uid=0 assert_ok!(SubtensorModule::set_weights( @@ -1649,7 +1655,7 @@ fn test_outdated_weights() { // Test the zero emission handling and fallback under zero effective weight conditions, to ensure non-zero effective emission. #[test] fn test_zero_weights() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let sparse: bool = true; let n: u16 = 2; let netuid: u16 = 1; @@ -1867,7 +1873,7 @@ fn test_validator_permits() { _ => 0, }; } - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let block_number: u64 = 0; add_network(netuid, tempo, 0); SubtensorModule::set_max_allowed_uids(netuid, network_n as u16); @@ -2042,7 +2048,7 @@ fn test_validator_permits() { // interleave as usize, // ); -// new_test_ext().execute_with(|| { +// new_test_ext(1).execute_with(|| { // init_run_epochs(netuid, network_n, &validators, &servers, epochs, 1, true, &stake, true, &weights, true, false, 0, true); // let mut major_emission: I64F64 = I64F64::from_num(0); diff --git a/pallets/subtensor/tests/migration.rs b/pallets/subtensor/tests/migration.rs index 4b681e621..b1e640c00 100644 --- a/pallets/subtensor/tests/migration.rs +++ b/pallets/subtensor/tests/migration.rs @@ -6,7 +6,7 @@ use sp_core::U256; #[test] fn test_migration_fix_total_stake_maps() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let ck1 = U256::from(1); let ck2 = U256::from(2); let ck3 = U256::from(3); @@ -106,7 +106,7 @@ fn test_migration_fix_total_stake_maps() { // To run this test with cargo, use the following command: // cargo test --package pallet-subtensor --test migration test_migration5_total_issuance fn test_migration5_total_issuance() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { // Run the migration to check total issuance. let test: bool = true; @@ -134,7 +134,7 @@ fn test_migration5_total_issuance() { // To run this test with cargo, use the following command: // cargo test --package pallet-subtensor --test migration test_total_issuance_global fn test_total_issuance_global() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { // Initialize network unique identifier and keys for testing. let netuid: u16 = 1; // Network unique identifier set to 1 for testing. let coldkey = U256::from(0); // Coldkey initialized to 0, representing an account's public key for non-transactional operations. @@ -208,7 +208,7 @@ fn test_total_issuance_global() { // Set emission values for the network and verify. let emission: u64 = 1_000_000_000; SubtensorModule::set_tempo(netuid, 1); - SubtensorModule::set_emission_values(&vec![netuid], vec![emission]); // Set the emission value for the network to 1_000_000_000. + SubtensorModule::set_emission_values(&vec![netuid], vec![emission]).unwrap(); // Set the emission value for the network to 1_000_000_000. assert_eq!(SubtensorModule::get_subnet_emission_value(netuid), emission); // Verify the emission value is set correctly for the network. assert_eq!( SubtensorModule::get_total_issuance(), @@ -229,7 +229,7 @@ fn test_total_issuance_global() { #[test] fn test_migration_transfer_nets_to_foundation() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { // Create subnet 1 add_network(1, 1, 0); // Create subnet 11 @@ -249,7 +249,7 @@ fn test_migration_transfer_nets_to_foundation() { #[test] fn test_migration_delete_subnet_3() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { // Create subnet 3 add_network(3, 1, 0); assert_eq!(SubtensorModule::if_subnet_exist(3), true); @@ -263,7 +263,7 @@ fn test_migration_delete_subnet_3() { #[test] fn test_migration_delete_subnet_21() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { // Create subnet 21 add_network(21, 1, 0); assert_eq!(SubtensorModule::if_subnet_exist(21), true); diff --git a/pallets/subtensor/tests/mock.rs b/pallets/subtensor/tests/mock.rs index f2fd10d3e..5bcd988c3 100644 --- a/pallets/subtensor/tests/mock.rs +++ b/pallets/subtensor/tests/mock.rs @@ -1,32 +1,26 @@ -use frame_support::traits::{Hash, StorageMapShim}; +use frame_support::traits::Hash; use frame_support::{ assert_ok, parameter_types, traits::{Everything, Hooks}, weights, }; use frame_system as system; -use frame_system::Config; use frame_system::{limits, EnsureNever, EnsureRoot, RawOrigin}; use sp_core::{Get, H256, U256}; use sp_runtime::{ - testing::Header, traits::{BlakeTwo256, IdentityLookup}, - DispatchResult, + BuildStorage, DispatchResult, }; use pallet_collective::MemberCount; -type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic; type Block = frame_system::mocking::MockBlock; // Configure a mock runtime to test the pallet. frame_support::construct_runtime!( - pub enum Test where - Block = Block, - NodeBlock = Block, - UncheckedExtrinsic = UncheckedExtrinsic, + pub enum Test { - System: frame_system::{Pallet, Call, Config, Storage, Event}, + System: frame_system::{Pallet, Call, Config, Storage, Event}, Balances: pallet_balances::{Pallet, Call, Config, Storage, Event}, Triumvirate: pallet_collective::::{Pallet, Call, Storage, Origin, Event, Config}, TriumvirateMembers: pallet_membership::::{Pallet, Call, Storage, Event, Config}, @@ -73,17 +67,17 @@ impl pallet_balances::Config for Test { type Balance = Balance; type RuntimeEvent = RuntimeEvent; type DustRemoval = (); - type ExistentialDeposit = (); - type AccountStore = StorageMapShim< - pallet_balances::Account, - frame_system::Provider, - AccountId, - pallet_balances::AccountData, - >; + type ExistentialDeposit = ExistentialDeposit; + type AccountStore = System; type MaxLocks = (); type WeightInfo = (); type MaxReserves = (); type ReserveIdentifier = (); + + type RuntimeHoldReason = (); + type FreezeIdentifier = (); + type MaxHolds = (); + type MaxFreezes = (); } impl system::Config for Test { @@ -93,31 +87,30 @@ impl system::Config for Test { type DbWeight = (); type RuntimeOrigin = RuntimeOrigin; type RuntimeCall = RuntimeCall; - type Index = u64; - type BlockNumber = u64; type Hash = H256; type Hashing = BlakeTwo256; type AccountId = U256; type Lookup = IdentityLookup; - type Header = Header; type RuntimeEvent = RuntimeEvent; type BlockHashCount = BlockHashCount; type Version = (); type PalletInfo = PalletInfo; - type AccountData = (); + type AccountData = pallet_balances::AccountData; type OnNewAccount = (); type OnKilledAccount = (); type SystemWeightInfo = (); type SS58Prefix = SS58Prefix; type OnSetCode = (); type MaxConsumers = frame_support::traits::ConstU32<16>; + type Nonce = u64; + type Block = Block; } parameter_types! { pub const InitialMinAllowedWeights: u16 = 0; pub const InitialEmissionValue: u16 = 0; pub const InitialMaxWeightsLimit: u16 = u16::MAX; - pub BlockWeights: limits::BlockWeights = limits::BlockWeights::simple_max(weights::Weight::from_ref_time(1024)); + pub BlockWeights: limits::BlockWeights = limits::BlockWeights::simple_max(weights::Weight::from_parts(1024, 0)); pub const ExistentialDeposit: Balance = 1; pub const TransactionByteFee: Balance = 100; pub const SDebug:u64 = 1; @@ -368,26 +361,23 @@ impl pallet_utility::Config for Test { type WeightInfo = pallet_utility::weights::SubstrateWeight; } -// Build genesis storage according to the mock runtime. -//pub fn new_test_ext() -> sp_io::TestExternalities { -// system::GenesisConfig::default().build_storage::().unwrap().into() -//} - -// Build genesis storage according to the mock runtime. #[allow(dead_code)] -pub fn new_test_ext() -> sp_io::TestExternalities { +// Build genesis storage according to the mock runtime. +pub fn new_test_ext(block_number: BlockNumber) -> sp_io::TestExternalities { sp_tracing::try_init_simple(); - frame_system::GenesisConfig::default() - .build_storage::() - .unwrap() - .into() + let t = frame_system::GenesisConfig::::default() + .build_storage() + .unwrap(); + let mut ext = sp_io::TestExternalities::new(t); + ext.execute_with(|| System::set_block_number(block_number)); + ext } #[allow(dead_code)] pub fn test_ext_with_balances(balances: Vec<(U256, u128)>) -> sp_io::TestExternalities { sp_tracing::try_init_simple(); - let mut t = frame_system::GenesisConfig::default() - .build_storage::() + let mut t = frame_system::GenesisConfig::::default() + .build_storage() .unwrap(); pallet_balances::GenesisConfig:: { @@ -424,6 +414,20 @@ pub(crate) fn run_to_block(n: u64) { } } +/// Increments current block by `1`, running all hooks associated with doing so, and asserts +/// that the block number was in fact incremented. +/// +/// Returns the new block number. +#[allow(dead_code)] +#[cfg(test)] +pub(crate) fn next_block() -> u64 { + let mut block = System::block_number(); + block += 1; + run_to_block(block); + assert_eq!(System::block_number(), block); + block +} + #[allow(dead_code)] pub fn register_ok_neuron( netuid: u16, @@ -457,7 +461,7 @@ pub fn register_ok_neuron( } #[allow(dead_code)] -pub fn add_network(netuid: u16, tempo: u16, modality: u16) { +pub fn add_network(netuid: u16, tempo: u16, _modality: u16) { SubtensorModule::init_new_network(netuid, tempo); SubtensorModule::set_network_registration_allowed(netuid, true); SubtensorModule::set_network_pow_registration_allowed(netuid, true); diff --git a/pallets/subtensor/tests/networks.rs b/pallets/subtensor/tests/networks.rs index 2ecf88d3a..2680d9321 100644 --- a/pallets/subtensor/tests/networks.rs +++ b/pallets/subtensor/tests/networks.rs @@ -35,7 +35,7 @@ // assert_eq!( // call.get_dispatch_info(), // DispatchInfo { -// weight: frame_support::weights::Weight::from_ref_time(50000000), +// weight: frame_support::weights::Weight::from_parts(50000000, 0), // class: DispatchClass::Operational, // pays_fee: Pays::No // } @@ -176,7 +176,7 @@ // assert_eq!( // call.get_dispatch_info(), // DispatchInfo { -// weight: frame_support::weights::Weight::from_ref_time(28000000), +// weight: frame_support::weights::Weight::from_parts(28000000, 0), // class: DispatchClass::Operational, // pays_fee: Pays::No // } diff --git a/pallets/subtensor/tests/neuron_info.rs b/pallets/subtensor/tests/neuron_info.rs index 3eef0ce6b..37d579ba9 100644 --- a/pallets/subtensor/tests/neuron_info.rs +++ b/pallets/subtensor/tests/neuron_info.rs @@ -5,7 +5,7 @@ use sp_core::U256; #[test] fn test_get_neuron_none() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let uid: u16 = 42; @@ -17,7 +17,7 @@ fn test_get_neuron_none() { #[test] #[cfg(not(tarpaulin))] fn test_get_neuron_some() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let tempo: u16 = 2; @@ -38,7 +38,7 @@ fn test_get_neuron_some() { /* @TODO: Add more neurons to list */ #[test] fn test_get_neurons_list() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let tempo: u16 = 2; @@ -63,7 +63,7 @@ fn test_get_neurons_list() { #[test] fn test_get_neurons_empty() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let neuron_count = 0; diff --git a/pallets/subtensor/tests/registration.rs b/pallets/subtensor/tests/registration.rs index 89bea4355..63edde7a1 100644 --- a/pallets/subtensor/tests/registration.rs +++ b/pallets/subtensor/tests/registration.rs @@ -18,7 +18,7 @@ mod mock; // Tests a basic registration dispatch passes. #[test] fn test_registration_subscribe_ok_dispatch_info_ok() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let block_number: u64 = 0; let nonce: u64 = 0; let netuid: u16 = 1; @@ -36,7 +36,7 @@ fn test_registration_subscribe_ok_dispatch_info_ok() { assert_eq!( call.get_dispatch_info(), DispatchInfo { - weight: frame_support::weights::Weight::from_ref_time(91000000), + weight: frame_support::weights::Weight::from_parts(91000000, 0), class: DispatchClass::Normal, pays_fee: Pays::No } @@ -46,14 +46,14 @@ fn test_registration_subscribe_ok_dispatch_info_ok() { #[test] fn test_registration_difficulty() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { assert_eq!(SubtensorModule::get_difficulty(1).as_u64(), 10000); }); } #[test] fn test_registration_invalid_seal_hotkey() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let block_number: u64 = 0; let netuid: u16 = 1; let tempo: u16 = 13; @@ -100,7 +100,7 @@ fn test_registration_invalid_seal_hotkey() { #[test] fn test_registration_ok() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let block_number: u64 = 0; let netuid: u16 = 1; let tempo: u16 = 13; @@ -156,7 +156,7 @@ fn test_registration_ok() { #[test] fn test_registration_under_limit() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let block_number: u64 = 0; let hotkey_account_id: U256 = U256::from(1); @@ -208,7 +208,7 @@ fn test_registration_under_limit() { #[test] fn test_registration_rate_limit_exceeded() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let block_number: u64 = 0; let hotkey_account_id: U256 = U256::from(1); @@ -252,7 +252,7 @@ fn test_registration_rate_limit_exceeded() { #[test] fn test_burned_registration_under_limit() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let hotkey_account_id: U256 = U256::from(1); let coldkey_account_id = U256::from(667); @@ -303,7 +303,7 @@ fn test_burned_registration_under_limit() { #[test] fn test_burned_registration_rate_limit_exceeded() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let hotkey_account_id: U256 = U256::from(1); let who: ::AccountId = hotkey_account_id; @@ -337,7 +337,7 @@ fn test_burned_registration_rate_limit_exceeded() { #[test] fn test_burned_registration_ok() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let tempo: u16 = 13; let hotkey_account_id = U256::from(1); @@ -384,7 +384,7 @@ fn test_burned_registration_ok() { #[test] fn test_burn_adjustment() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let tempo: u16 = 13; let burn_cost: u64 = 1000; @@ -431,7 +431,7 @@ fn test_burn_adjustment() { #[test] #[cfg(not(tarpaulin))] fn test_registration_too_many_registrations_per_block() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let tempo: u16 = 13; add_network(netuid, tempo, 0); @@ -627,7 +627,7 @@ fn test_registration_too_many_registrations_per_block() { #[test] fn test_registration_too_many_registrations_per_interval() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let tempo: u16 = 13; add_network(netuid, tempo, 0); @@ -818,7 +818,7 @@ fn test_registration_immunity_period() { //impl this test when epoch impl and ca #[test] fn test_registration_already_active_hotkey() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let block_number: u64 = 0; let netuid: u16 = 1; let tempo: u16 = 13; @@ -868,7 +868,7 @@ fn test_registration_already_active_hotkey() { #[test] fn test_registration_invalid_seal() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let block_number: u64 = 0; let netuid: u16 = 1; let tempo: u16 = 13; @@ -895,7 +895,8 @@ fn test_registration_invalid_seal() { #[test] fn test_registration_invalid_block_number() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { + System::set_block_number(0); let block_number: u64 = 1; let netuid: u16 = 1; let tempo: u16 = 13; @@ -926,7 +927,7 @@ fn test_registration_invalid_block_number() { #[test] fn test_registration_invalid_difficulty() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let block_number: u64 = 0; let netuid: u16 = 1; let tempo: u16 = 13; @@ -959,7 +960,7 @@ fn test_registration_invalid_difficulty() { #[test] fn test_registration_failed_no_signature() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let block_number: u64 = 1; let netuid: u16 = 1; let hotkey_account_id = U256::from(1); @@ -987,10 +988,11 @@ fn test_registration_failed_no_signature() { #[test] fn test_registration_get_uid_to_prune_all_in_immunity_period() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { + System::set_block_number(0); let netuid: u16 = 1; add_network(netuid, 0, 0); - log::info!("add netweork"); + log::info!("add network"); register_ok_neuron(netuid, U256::from(0), U256::from(0), 39420842); register_ok_neuron(netuid, U256::from(1), U256::from(1), 12412392); SubtensorModule::set_pruning_score_for_uid(netuid, 0, 100); @@ -1010,10 +1012,11 @@ fn test_registration_get_uid_to_prune_all_in_immunity_period() { #[test] fn test_registration_get_uid_to_prune_none_in_immunity_period() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { + System::set_block_number(0); let netuid: u16 = 1; add_network(netuid, 0, 0); - log::info!("add netweork"); + log::info!("add network"); register_ok_neuron(netuid, U256::from(0), U256::from(0), 39420842); register_ok_neuron(netuid, U256::from(1), U256::from(1), 12412392); SubtensorModule::set_pruning_score_for_uid(netuid, 0, 100); @@ -1035,7 +1038,7 @@ fn test_registration_get_uid_to_prune_none_in_immunity_period() { #[test] fn test_registration_pruning() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let block_number: u64 = 0; let tempo: u16 = 13; @@ -1111,7 +1114,7 @@ fn test_registration_pruning() { #[test] fn test_registration_get_neuron_metadata() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let block_number: u64 = 0; let tempo: u16 = 13; @@ -1147,7 +1150,7 @@ fn test_registration_get_neuron_metadata() { #[test] fn test_registration_add_network_size() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let netuid2: u16 = 2; let block_number: u64 = 0; @@ -1217,7 +1220,7 @@ fn test_registration_add_network_size() { #[test] fn test_burn_registration_increase_recycled_rao() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let netuid2: u16 = 2; @@ -1267,7 +1270,7 @@ fn test_burn_registration_increase_recycled_rao() { #[test] fn test_full_pass_through() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { // Create 3 networks. let netuid0: u16 = 1; let netuid1: u16 = 2; @@ -1501,7 +1504,7 @@ fn test_full_pass_through() { // DEPRECATED #[test] // fn test_network_connection_requirement() { -// new_test_ext().execute_with(|| { +// new_test_ext(1).execute_with(|| { // // Add a networks and connection requirements. // let netuid_a: u16 = 0; // let netuid_b: u16 = 1; @@ -1685,7 +1688,7 @@ fn test_full_pass_through() { #[test] fn test_registration_origin_hotkey_mismatch() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let block_number: u64 = 0; let netuid: u16 = 1; let tempo: u16 = 13; @@ -1717,7 +1720,7 @@ fn test_registration_origin_hotkey_mismatch() { #[test] fn test_registration_disabled() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let block_number: u64 = 0; let netuid: u16 = 1; let tempo: u16 = 13; @@ -1751,7 +1754,7 @@ fn test_registration_disabled() { #[ignore] #[test] fn test_hotkey_swap_ok() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let tempo: u16 = 13; let hotkey_account_id = U256::from(1); @@ -1791,7 +1794,7 @@ fn test_hotkey_swap_ok() { #[ignore] #[test] fn test_hotkey_swap_not_owner() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let tempo: u16 = 13; let hotkey_account_id = U256::from(1); @@ -1827,7 +1830,7 @@ fn test_hotkey_swap_not_owner() { #[ignore] #[test] fn test_hotkey_swap_same_key() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let tempo: u16 = 13; let hotkey_account_id = U256::from(1); @@ -1861,7 +1864,7 @@ fn test_hotkey_swap_same_key() { #[ignore] #[test] fn test_hotkey_swap_registered_key() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let tempo: u16 = 13; let hotkey_account_id = U256::from(1); diff --git a/pallets/subtensor/tests/root.rs b/pallets/subtensor/tests/root.rs index 58bc892de..c5fa9d84a 100644 --- a/pallets/subtensor/tests/root.rs +++ b/pallets/subtensor/tests/root.rs @@ -2,7 +2,6 @@ use crate::mock::*; use frame_support::assert_ok; use frame_system::Config; use frame_system::{EventRecord, Phase}; -use log::info; use pallet_subtensor::migration; use pallet_subtensor::Error; use sp_core::{Get, H256, U256}; @@ -20,9 +19,8 @@ fn record(event: RuntimeEvent) -> EventRecord { #[test] fn test_root_register_network_exist() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { migration::migrate_create_root_network::(); - let root_netuid: u16 = 0; let hotkey_account_id: U256 = U256::from(1); let coldkey_account_id = U256::from(667); assert_ok!(SubtensorModule::root_register( @@ -34,7 +32,7 @@ fn test_root_register_network_exist() { #[test] fn test_root_register_normal_on_root_fails() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { migration::migrate_create_root_network::(); // Test fails because normal registrations are not allowed // on the root network. @@ -51,7 +49,7 @@ fn test_root_register_normal_on_root_fails() { root_netuid, hotkey_account_id ), - Err(Error::::OperationNotPermittedonRootSubnet.into()) + Err(Error::::OperationNotPermittedOnRootSubnet.into()) ); // Pow registration fails. let block_number: u64 = SubtensorModule::get_current_block_as_u64(); @@ -71,14 +69,14 @@ fn test_root_register_normal_on_root_fails() { hotkey_account_id, coldkey_account_id, ), - Err(Error::::OperationNotPermittedonRootSubnet.into()) + Err(Error::::OperationNotPermittedOnRootSubnet.into()) ); }); } #[test] fn test_root_register_stake_based_pruning_works() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { migration::migrate_create_root_network::(); // Add two networks. let root_netuid: u16 = 0; @@ -111,7 +109,7 @@ fn test_root_register_stake_based_pruning_works() { hot, 1000 + (i as u64) )); - // Check succesfull registration. + // Check successful registration. assert!(SubtensorModule::get_uid_for_net_and_hotkey(other_netuid, &hot).is_ok()); // Check that they are NOT all delegates assert!(!SubtensorModule::hotkey_is_delegate(&hot)); @@ -125,7 +123,7 @@ fn test_root_register_stake_based_pruning_works() { <::RuntimeOrigin>::signed(cold), hot, )); - // Check succesfull registration. + // Check successful registration. assert!(SubtensorModule::get_uid_for_net_and_hotkey(root_netuid, &hot).is_ok()); // Check that they are all delegates assert!(SubtensorModule::hotkey_is_delegate(&hot)); @@ -140,12 +138,12 @@ fn test_root_register_stake_based_pruning_works() { <::RuntimeOrigin>::signed(cold), hot, )); - // Check succesfull registration. + // Check successful registration. assert!(SubtensorModule::get_uid_for_net_and_hotkey(root_netuid, &hot).is_ok()); } // Register the first 64 accounts again, this time failing because they - // dont have enough stake. + // don't have enough stake. for i in 0..64 { let hot: U256 = U256::from(i); let cold: U256 = U256::from(i); @@ -156,7 +154,7 @@ fn test_root_register_stake_based_pruning_works() { ), Err(Error::::StakeTooLowForRoot.into()) ); - // Check for unsuccesfull registration. + // Check for unsuccessful registration. assert!(!SubtensorModule::get_uid_for_net_and_hotkey(root_netuid, &hot).is_ok()); // Check that they are NOT senate members assert!(!SubtensorModule::is_senate_member(&hot)); @@ -166,7 +164,8 @@ fn test_root_register_stake_based_pruning_works() { #[test] fn test_root_set_weights() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { + System::set_block_number(0); migration::migrate_create_root_network::(); let n: usize = 10; @@ -267,7 +266,8 @@ fn test_root_set_weights() { #[test] fn test_root_set_weights_out_of_order_netuids() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { + System::set_block_number(0); migration::migrate_create_root_network::(); let n: usize = 10; @@ -383,7 +383,8 @@ fn test_root_set_weights_out_of_order_netuids() { #[test] fn test_root_subnet_creation_deletion() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { + System::set_block_number(0); migration::migrate_create_root_network::(); // Owner of subnets. let owner: U256 = U256::from(0); @@ -462,7 +463,8 @@ fn test_root_subnet_creation_deletion() { #[test] fn test_network_pruning() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { + System::set_block_number(0); migration::migrate_create_root_network::(); assert_eq!(SubtensorModule::get_total_issuance(), 0); @@ -541,7 +543,7 @@ fn test_network_pruning() { #[test] fn test_network_prune_results() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { migration::migrate_create_root_network::(); SubtensorModule::set_network_immunity_period(3); @@ -567,22 +569,25 @@ fn test_network_prune_results() { step_block(3); // lowest emission - SubtensorModule::set_emission_values(&vec![1u16, 2u16, 3u16], vec![5u64, 4u64, 4u64]); + SubtensorModule::set_emission_values(&vec![1u16, 2u16, 3u16], vec![5u64, 4u64, 4u64]) + .unwrap(); assert_eq!(SubtensorModule::get_subnet_to_prune(), 2u16); // equal emission, creation date - SubtensorModule::set_emission_values(&vec![1u16, 2u16, 3u16], vec![5u64, 5u64, 4u64]); + SubtensorModule::set_emission_values(&vec![1u16, 2u16, 3u16], vec![5u64, 5u64, 4u64]) + .unwrap(); assert_eq!(SubtensorModule::get_subnet_to_prune(), 3u16); // equal emission, creation date - SubtensorModule::set_emission_values(&vec![1u16, 2u16, 3u16], vec![4u64, 5u64, 5u64]); + SubtensorModule::set_emission_values(&vec![1u16, 2u16, 3u16], vec![4u64, 5u64, 5u64]) + .unwrap(); assert_eq!(SubtensorModule::get_subnet_to_prune(), 1u16); }); } #[test] fn test_weights_after_network_pruning() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { migration::migrate_create_root_network::(); assert_eq!(SubtensorModule::get_total_issuance(), 0); @@ -600,7 +605,6 @@ fn test_weights_after_network_pruning() { for i in 0..n { // Register a validator - let hot: U256 = U256::from(i); let cold: U256 = U256::from(i); SubtensorModule::add_balance_to_coldkey_account(&cold, 1_000_000_000_000); @@ -649,7 +653,7 @@ fn test_weights_after_network_pruning() { ); log::info!("Max subnets: {:?}", SubtensorModule::get_max_subnets()); let i = (n as u16) + 1; - let hot: U256 = U256::from(i); + // let _hot: U256 = U256::from(i); let cold: U256 = U256::from(i); SubtensorModule::add_balance_to_coldkey_account(&cold, 1_000_000_000_000_000_000); @@ -693,7 +697,7 @@ fn test_weights_after_network_pruning() { /// `cargo test --package pallet-subtensor --test root test_issance_bounds` #[test] fn test_issance_bounds() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { // Simulate 100 halvings convergence to 21M. Note that the total issuance never reaches 21M because of rounding errors. // We converge to 20_999_999_989_500_000 (< 1 TAO away). let n_halvings: usize = 100; @@ -713,7 +717,7 @@ fn test_issance_bounds() { /// `cargo test --package pallet-subtensor --test root test_halving` #[test] fn test_halving() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let expected_emissions: [(u64, u64); 43] = [ (0, 1_000_000_000), // Testing at zero issuance. (1_776_000, 1_000_000_000), @@ -776,7 +780,7 @@ fn test_halving() { #[test] fn test_get_emission_across_entire_issuance_range() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let total_supply: u64 = pallet_subtensor::TotalSupply::::get(); let original_emission: u64 = pallet_subtensor::DefaultBlockEmission::::get(); let halving_issuance: u64 = total_supply / 2; diff --git a/pallets/subtensor/tests/senate.rs b/pallets/subtensor/tests/senate.rs index ca252c39c..b485a7078 100644 --- a/pallets/subtensor/tests/senate.rs +++ b/pallets/subtensor/tests/senate.rs @@ -9,6 +9,7 @@ use sp_runtime::{ BuildStorage, }; +use frame_system::pallet_prelude::*; use frame_system::Config; use pallet_collective::Event as CollectiveEvent; use pallet_subtensor::migration; @@ -17,7 +18,7 @@ use pallet_subtensor::Error; pub fn new_test_ext() -> sp_io::TestExternalities { sp_tracing::try_init_simple(); - let mut ext: sp_io::TestExternalities = GenesisConfig { + let mut ext: sp_io::TestExternalities = RuntimeGenesisConfig { senate_members: pallet_membership::GenesisConfig:: { members: bounded_vec![1.into(), 2.into(), 3.into(), 4.into(), 5.into()], phantom: Default::default(), @@ -103,11 +104,11 @@ fn test_senate_join_works() { )); assert_eq!( SubtensorModule::get_stake_for_coldkey_and_hotkey(&staker_coldkey, &hotkey_account_id), - 100_000 + 99_999 ); assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), - 100_000 + 99_999 ); assert_ok!(SubtensorModule::root_register( @@ -172,11 +173,11 @@ fn test_senate_vote_works() { )); assert_eq!( SubtensorModule::get_stake_for_coldkey_and_hotkey(&staker_coldkey, &hotkey_account_id), - 100_000 + 99_999 ); assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), - 100_000 + 99_999 ); assert_ok!(SubtensorModule::root_register( @@ -194,7 +195,7 @@ fn test_senate_vote_works() { RuntimeOrigin::signed(senate_hotkey), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(100u64) + TryInto::>::try_into(100u64) .ok() .expect("convert u64 to block number.") )); @@ -271,7 +272,7 @@ fn test_senate_vote_not_member() { RuntimeOrigin::signed(senate_hotkey), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(100u64) + TryInto::>::try_into(100u64) .ok() .expect("convert u64 to block number.") )); @@ -342,11 +343,11 @@ fn test_senate_leave_works() { )); assert_eq!( SubtensorModule::get_stake_for_coldkey_and_hotkey(&staker_coldkey, &hotkey_account_id), - 100_000 + 99_999 ); assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), - 100_000 + 99_999 ); assert_ok!(SubtensorModule::root_register( @@ -412,11 +413,11 @@ fn test_senate_leave_vote_removal() { )); assert_eq!( SubtensorModule::get_stake_for_coldkey_and_hotkey(&staker_coldkey, &hotkey_account_id), - 100_000 + 99_999 ); assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), - 100_000 + 99_999 ); assert_ok!(SubtensorModule::root_register( @@ -432,7 +433,7 @@ fn test_senate_leave_vote_removal() { RuntimeOrigin::signed(senate_hotkey), Box::new(proposal.clone()), proposal_len, - TryInto::<::BlockNumber>::try_into(100u64) + TryInto::>::try_into(100u64) .ok() .expect("convert u64 to block number.") )); @@ -550,11 +551,11 @@ fn test_senate_not_leave_when_stake_removed() { )); assert_eq!( SubtensorModule::get_stake_for_coldkey_and_hotkey(&staker_coldkey, &hotkey_account_id), - stake_amount + stake_amount - 1 // Need to account for ED ); assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), - stake_amount + stake_amount - 1 // Need to account for ED ); assert_ok!(SubtensorModule::root_register( @@ -568,7 +569,7 @@ fn test_senate_not_leave_when_stake_removed() { assert_ok!(SubtensorModule::remove_stake( <::RuntimeOrigin>::signed(staker_coldkey), hotkey_account_id, - stake_amount + stake_amount - 1 )); assert_eq!(Senate::is_member(&hotkey_account_id), true); }); diff --git a/pallets/subtensor/tests/serving.rs b/pallets/subtensor/tests/serving.rs index 50895fd1a..cacb05b08 100644 --- a/pallets/subtensor/tests/serving.rs +++ b/pallets/subtensor/tests/serving.rs @@ -27,7 +27,7 @@ mod test { #[test] fn test_serving_subscribe_ok_dispatch_info_ok() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let version: u32 = 2; let ip: u128 = 1676056785; @@ -49,7 +49,7 @@ fn test_serving_subscribe_ok_dispatch_info_ok() { assert_eq!( call.get_dispatch_info(), DispatchInfo { - weight: frame_support::weights::Weight::from_ref_time(19000000), + weight: frame_support::weights::Weight::from_parts(19000000, 0), class: DispatchClass::Normal, pays_fee: Pays::No } @@ -59,7 +59,7 @@ fn test_serving_subscribe_ok_dispatch_info_ok() { #[test] fn test_serving_ok() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(1); let netuid: u16 = 1; let tempo: u16 = 13; @@ -97,7 +97,7 @@ fn test_serving_ok() { #[test] fn test_serving_set_metadata_update() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(1); let netuid: u16 = 1; let tempo: u16 = 13; @@ -162,7 +162,7 @@ fn test_serving_set_metadata_update() { #[test] #[cfg(not(tarpaulin))] fn test_axon_serving_rate_limit_exceeded() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(1); let netuid: u16 = 1; let tempo: u16 = 13; @@ -244,7 +244,7 @@ fn test_axon_serving_rate_limit_exceeded() { #[test] fn test_axon_invalid_port() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(1); let netuid: u16 = 1; let tempo: u16 = 13; @@ -278,7 +278,7 @@ fn test_axon_invalid_port() { #[test] fn test_prometheus_serving_subscribe_ok_dispatch_info_ok() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let version: u32 = 2; let ip: u128 = 1676056785; @@ -294,7 +294,7 @@ fn test_prometheus_serving_subscribe_ok_dispatch_info_ok() { assert_eq!( call.get_dispatch_info(), DispatchInfo { - weight: frame_support::weights::Weight::from_ref_time(17000000), + weight: frame_support::weights::Weight::from_parts(17000000, 0), class: DispatchClass::Normal, pays_fee: Pays::No } @@ -304,7 +304,7 @@ fn test_prometheus_serving_subscribe_ok_dispatch_info_ok() { #[test] fn test_prometheus_serving_ok() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(1); let netuid: u16 = 1; let tempo: u16 = 13; @@ -333,7 +333,7 @@ fn test_prometheus_serving_ok() { #[test] fn test_prometheus_serving_set_metadata_update() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(1); let netuid: u16 = 1; let tempo: u16 = 13; @@ -380,7 +380,7 @@ fn test_prometheus_serving_set_metadata_update() { #[test] #[cfg(not(tarpaulin))] fn test_prometheus_serving_rate_limit_exceeded() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(1); let netuid: u16 = 1; let tempo: u16 = 13; @@ -443,7 +443,7 @@ fn test_prometheus_serving_rate_limit_exceeded() { #[test] fn test_prometheus_invalid_port() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(1); let netuid: u16 = 1; let tempo: u16 = 13; @@ -471,28 +471,28 @@ fn test_prometheus_invalid_port() { #[test] fn test_serving_is_valid_ip_type_ok_ipv4() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { assert_eq!(SubtensorModule::is_valid_ip_type(4), true); }); } #[test] fn test_serving_is_valid_ip_type_ok_ipv6() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { assert_eq!(SubtensorModule::is_valid_ip_type(6), true); }); } #[test] fn test_serving_is_valid_ip_type_nok() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { assert_eq!(SubtensorModule::is_valid_ip_type(10), false); }); } #[test] fn test_serving_is_valid_ip_address_ipv4() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { assert_eq!( SubtensorModule::is_valid_ip_address(4, test::ipv4(8, 8, 8, 8)), true @@ -502,7 +502,7 @@ fn test_serving_is_valid_ip_address_ipv4() { #[test] fn test_serving_is_valid_ip_address_ipv6() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { assert_eq!( SubtensorModule::is_valid_ip_address(6, test::ipv6(1, 2, 3, 4, 5, 6, 7, 8)), true @@ -516,7 +516,7 @@ fn test_serving_is_valid_ip_address_ipv6() { #[test] fn test_serving_is_invalid_ipv4_address() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { assert_eq!( SubtensorModule::is_valid_ip_address(4, test::ipv4(0, 0, 0, 0)), false @@ -538,7 +538,7 @@ fn test_serving_is_invalid_ipv4_address() { #[test] fn test_serving_is_invalid_ipv6_address() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { assert_eq!( SubtensorModule::is_valid_ip_address(6, test::ipv6(0, 0, 0, 0, 0, 0, 0, 0)), false diff --git a/pallets/subtensor/tests/staking.rs b/pallets/subtensor/tests/staking.rs index 7f905beba..670814fc4 100644 --- a/pallets/subtensor/tests/staking.rs +++ b/pallets/subtensor/tests/staking.rs @@ -15,7 +15,7 @@ use sp_runtime::traits::{DispatchInfoOf, SignedExtension}; #[test] #[cfg(not(tarpaulin))] fn test_add_stake_dispatch_info_ok() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey = U256::from(0); let amount_staked = 5000; let call = RuntimeCall::SubtensorModule(SubtensorCall::add_stake { @@ -25,7 +25,7 @@ fn test_add_stake_dispatch_info_ok() { assert_eq!( call.get_dispatch_info(), DispatchInfo { - weight: frame_support::weights::Weight::from_ref_time(65000000), + weight: frame_support::weights::Weight::from_parts(65000000, 0), class: DispatchClass::Normal, pays_fee: Pays::No } @@ -34,7 +34,7 @@ fn test_add_stake_dispatch_info_ok() { } #[test] fn test_add_stake_ok_no_emission() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(533453); let coldkey_account_id = U256::from(55453); let netuid: u16 = 1; @@ -69,20 +69,20 @@ fn test_add_stake_ok_no_emission() { // Check if stake has increased assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), - 10000 + 9999 ); - // Check if balance has decreased - assert_eq!(SubtensorModule::get_coldkey_balance(&coldkey_account_id), 0); + // Check if balance has decreased + assert_eq!(SubtensorModule::get_coldkey_balance(&coldkey_account_id), 1); // Check if total stake has increased accordingly. - assert_eq!(SubtensorModule::get_total_stake(), 10000); + assert_eq!(SubtensorModule::get_total_stake(), 9999); }); } #[test] fn test_dividends_with_run_to_block() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let neuron_src_hotkey_id = U256::from(1); let neuron_dest_hotkey_id = U256::from(2); let coldkey_account_id = U256::from(667); @@ -132,7 +132,7 @@ fn test_dividends_with_run_to_block() { #[test] fn test_add_stake_err_signature() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(654); // bogus let amount = 20000; // Not used @@ -147,7 +147,7 @@ fn test_add_stake_err_signature() { #[test] fn test_add_stake_not_registered_key_pair() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let coldkey_account_id = U256::from(435445); let hotkey_account_id = U256::from(54544); let amount = 1337; @@ -165,7 +165,7 @@ fn test_add_stake_not_registered_key_pair() { #[test] fn test_add_stake_err_neuron_does_not_belong_to_coldkey() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let coldkey_id = U256::from(544); let hotkey_id = U256::from(54544); let other_cold_key = U256::from(99498); @@ -192,7 +192,7 @@ fn test_add_stake_err_neuron_does_not_belong_to_coldkey() { #[test] fn test_add_stake_err_not_enough_belance() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let coldkey_id = U256::from(544); let hotkey_id = U256::from(54544); let netuid: u16 = 1; @@ -221,7 +221,7 @@ fn test_add_stake_err_not_enough_belance() { fn test_add_stake_total_balance_no_change() { // When we add stake, the total balance of the coldkey account should not change // this is because the stake should be part of the coldkey account balance (reserved/locked) - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(551337); let coldkey_account_id = U256::from(51337); let netuid: u16 = 1; @@ -278,7 +278,7 @@ fn test_add_stake_total_balance_no_change() { fn test_add_stake_total_issuance_no_change() { // When we add stake, the total issuance of the balances pallet should not change // this is because the stake should be part of the coldkey account balance (reserved/locked) - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(561337); let coldkey_account_id = U256::from(61337); let netuid: u16 = 1; @@ -336,7 +336,7 @@ fn test_add_stake_total_issuance_no_change() { #[test] fn test_reset_stakes_per_interval() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let hotkey = U256::from(561337); SubtensorModule::set_stake_interval(7); @@ -366,7 +366,7 @@ fn test_reset_stakes_per_interval() { #[test] fn test_add_stake_under_limit() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(561337); let coldkey_account_id = U256::from(61337); let who: ::AccountId = hotkey_account_id.into(); @@ -410,7 +410,7 @@ fn test_add_stake_under_limit() { #[test] fn test_add_stake_rate_limit_exceeded() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(561337); let coldkey_account_id = U256::from(61337); let who: ::AccountId = hotkey_account_id.into(); @@ -461,7 +461,7 @@ fn test_add_stake_rate_limit_exceeded() { // ************************************************************/ #[test] fn test_remove_stake_under_limit() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(561337); let coldkey_account_id = U256::from(61337); let who: ::AccountId = hotkey_account_id.into(); @@ -507,7 +507,7 @@ fn test_remove_stake_under_limit() { #[test] fn test_remove_stake_rate_limit_exceeded() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(561337); let coldkey_account_id = U256::from(61337); let who: ::AccountId = hotkey_account_id.into(); @@ -557,7 +557,7 @@ fn test_remove_stake_rate_limit_exceeded() { #[test] #[cfg(not(tarpaulin))] fn test_remove_stake_dispatch_info_ok() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey = U256::from(0); let amount_unstaked = 5000; let call = RuntimeCall::SubtensorModule(SubtensorCall::remove_stake { @@ -567,7 +567,7 @@ fn test_remove_stake_dispatch_info_ok() { assert_eq!( call.get_dispatch_info(), DispatchInfo { - weight: frame_support::weights::Weight::from_ref_time(63000000) + weight: frame_support::weights::Weight::from_parts(63000000, 0) .add_proof_size(43991), class: DispatchClass::Normal, pays_fee: Pays::No @@ -578,7 +578,7 @@ fn test_remove_stake_dispatch_info_ok() { #[test] fn test_remove_stake_ok_no_emission() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let coldkey_account_id = U256::from(4343); let hotkey_account_id = U256::from(4968585); let amount = 10000; @@ -624,7 +624,7 @@ fn test_remove_stake_ok_no_emission() { #[test] fn test_remove_stake_amount_zero() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let coldkey_account_id = U256::from(4343); let hotkey_account_id = U256::from(4968585); let amount = 10000; @@ -663,7 +663,7 @@ fn test_remove_stake_amount_zero() { #[test] fn test_remove_stake_err_signature() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(4968585); let amount = 10000; // Amount to be removed @@ -678,7 +678,7 @@ fn test_remove_stake_err_signature() { #[test] fn test_remove_stake_err_hotkey_does_not_belong_to_coldkey() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let coldkey_id = U256::from(544); let hotkey_id = U256::from(54544); let other_cold_key = U256::from(99498); @@ -703,7 +703,7 @@ fn test_remove_stake_err_hotkey_does_not_belong_to_coldkey() { #[test] fn test_remove_stake_no_enough_stake() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let coldkey_id = U256::from(544); let hotkey_id = U256::from(54544); let amount = 10000; @@ -732,7 +732,7 @@ fn test_remove_stake_total_balance_no_change() { // When we remove stake, the total balance of the coldkey account should not change // this is because the stake should be part of the coldkey account balance (reserved/locked) // then the removed stake just becomes free balance - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(571337); let coldkey_account_id = U256::from(71337); let netuid: u16 = 1; @@ -788,7 +788,7 @@ fn test_remove_stake_total_issuance_no_change() { // When we remove stake, the total issuance of the balances pallet should not change // this is because the stake should be part of the coldkey account balance (reserved/locked) // then the removed stake just becomes free balance - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(581337); let coldkey_account_id = U256::from(81337); let netuid: u16 = 1; @@ -849,7 +849,7 @@ fn test_remove_stake_total_issuance_no_change() { ************************************************************/ #[test] fn test_get_coldkey_balance_no_balance() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let coldkey_account_id = U256::from(5454); // arbitrary let result = SubtensorModule::get_coldkey_balance(&coldkey_account_id); @@ -860,7 +860,7 @@ fn test_get_coldkey_balance_no_balance() { #[test] fn test_get_coldkey_balance_with_balance() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let coldkey_account_id = U256::from(5454); // arbitrary let amount = 1337; @@ -879,7 +879,7 @@ fn test_get_coldkey_balance_with_balance() { // ************************************************************/ #[test] fn test_add_stake_to_hotkey_account_ok() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey_id = U256::from(5445); let coldkey_id = U256::from(5443433); let amount: u64 = 10000; @@ -913,7 +913,7 @@ fn test_add_stake_to_hotkey_account_ok() { ************************************************************/ #[test] fn test_remove_stake_from_hotkey_account() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey_id = U256::from(5445); let coldkey_id = U256::from(5443433); let amount: u64 = 10000; @@ -949,7 +949,7 @@ fn test_remove_stake_from_hotkey_account() { #[test] fn test_remove_stake_from_hotkey_account_registered_in_various_networks() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey_id = U256::from(5445); let coldkey_id = U256::from(5443433); let amount: u64 = 10000; @@ -1007,7 +1007,7 @@ fn test_remove_stake_from_hotkey_account_registered_in_various_networks() { // ************************************************************/ #[test] fn test_increase_total_stake_ok() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let increment = 10000; assert_eq!(SubtensorModule::get_total_stake(), 0); SubtensorModule::increase_total_stake(increment); @@ -1020,7 +1020,7 @@ fn test_increase_total_stake_ok() { // ************************************************************/ #[test] fn test_decrease_total_stake_ok() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let initial_total_stake = 10000; let decrement = 5000; @@ -1040,7 +1040,7 @@ fn test_decrease_total_stake_ok() { // ************************************************************/ #[test] fn test_add_balance_to_coldkey_account_ok() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let coldkey_id = U256::from(4444322); let amount = 50000; SubtensorModule::add_balance_to_coldkey_account(&coldkey_id, amount); @@ -1053,7 +1053,7 @@ fn test_add_balance_to_coldkey_account_ok() { // ************************************************************/ #[test] fn test_remove_balance_from_coldkey_account_ok() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let coldkey_account_id = U256::from(434324); // Random let ammount = 10000; // Arbitrary // Put some $$ on the bank @@ -1065,13 +1065,13 @@ fn test_remove_balance_from_coldkey_account_ok() { // Should be able to withdraw without hassle let result = SubtensorModule::remove_balance_from_coldkey_account(&coldkey_account_id, ammount); - assert_eq!(result, true); + assert!(result.is_ok()); }); } #[test] fn test_remove_balance_from_coldkey_account_failed() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let coldkey_account_id = U256::from(434324); // Random let ammount = 10000; // Arbitrary @@ -1079,7 +1079,7 @@ fn test_remove_balance_from_coldkey_account_failed() { // as there is no balance, nor does the account exist let result = SubtensorModule::remove_balance_from_coldkey_account(&coldkey_account_id, ammount); - assert_eq!(result, false); + assert_eq!(result, Err(Error::::BalanceWithdrawalError.into())); }); } @@ -1088,7 +1088,7 @@ fn test_remove_balance_from_coldkey_account_failed() { // ************************************************************/ #[test] fn test_hotkey_belongs_to_coldkey_ok() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey_id = U256::from(4434334); let coldkey_id = U256::from(34333); let netuid: u16 = 1; @@ -1107,7 +1107,7 @@ fn test_hotkey_belongs_to_coldkey_ok() { // ************************************************************/ #[test] fn test_can_remove_balane_from_coldkey_account_ok() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let coldkey_id = U256::from(87987984); let initial_amount = 10000; let remove_amount = 5000; @@ -1121,7 +1121,7 @@ fn test_can_remove_balane_from_coldkey_account_ok() { #[test] fn test_can_remove_balance_from_coldkey_account_err_insufficient_balance() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let coldkey_id = U256::from(87987984); let initial_amount = 10000; let remove_amount = 20000; @@ -1137,7 +1137,7 @@ fn test_can_remove_balance_from_coldkey_account_err_insufficient_balance() { ************************************************************/ #[test] fn test_has_enough_stake_yes() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey_id = U256::from(4334); let coldkey_id = U256::from(87989); let intial_amount = 10000; @@ -1164,7 +1164,7 @@ fn test_has_enough_stake_yes() { #[test] fn test_has_enough_stake_no() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey_id = U256::from(4334); let coldkey_id = U256::from(87989); let intial_amount = 0; @@ -1183,7 +1183,7 @@ fn test_has_enough_stake_no() { #[test] fn test_non_existent_account() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { SubtensorModule::increase_stake_on_coldkey_hotkey_account( &U256::from(0), &(U256::from(0)), @@ -1206,7 +1206,7 @@ fn test_non_existent_account() { #[test] fn test_delegate_stake_division_by_zero_check() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid: u16 = 1; let tempo: u16 = 1; let hotkey = U256::from(1); @@ -1224,7 +1224,7 @@ fn test_delegate_stake_division_by_zero_check() { #[test] #[cfg(not(tarpaulin))] fn test_full_with_delegating() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid = 1; // Make two accounts. let hotkey0 = U256::from(1); @@ -1806,7 +1806,7 @@ fn test_full_with_delegating() { // Verify delegates with servers get the full server inflation. #[test] fn test_full_with_delegating_some_servers() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid = 1; // Make two accounts. let hotkey0 = U256::from(1); @@ -2134,7 +2134,7 @@ fn test_full_with_delegating_some_servers() { #[test] fn test_full_block_emission_occurs() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let netuid = 1; // Make two accounts. let hotkey0 = U256::from(1); @@ -2293,7 +2293,7 @@ fn test_full_block_emission_occurs() { #[test] fn test_unstake_all_coldkeys_from_hotkey_account() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey_id = U256::from(123570); let coldkey0_id = U256::from(123560); @@ -2381,7 +2381,7 @@ fn test_unstake_all_coldkeys_from_hotkey_account() { #[test] fn test_unstake_all_coldkeys_from_hotkey_account_single_staker() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let hotkey_id = U256::from(123570); let coldkey0_id = U256::from(123560); @@ -2432,7 +2432,7 @@ fn test_unstake_all_coldkeys_from_hotkey_account_single_staker() { #[test] fn test_faucet_ok() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let coldkey = U256::from(123560); log::info!("Creating work for submission to faucet..."); @@ -2442,7 +2442,7 @@ fn test_faucet_ok() { let mut nonce: u64 = 0; let mut work: H256 = SubtensorModule::create_seal_hash(block_number, nonce, &coldkey); while !SubtensorModule::hash_meets_difficulty(&work, difficulty) { - nonce = nonce + 1; + nonce += 1; work = SubtensorModule::create_seal_hash(block_number, nonce, &coldkey); } let vec_work: Vec = SubtensorModule::hash_to_vec(work); @@ -2452,7 +2452,7 @@ fn test_faucet_ok() { #[cfg(feature = "pow-faucet")] assert_ok!(SubtensorModule::do_faucet( <::RuntimeOrigin>::signed(coldkey), - 0, + block_number, nonce, vec_work )); @@ -2460,7 +2460,7 @@ fn test_faucet_ok() { #[cfg(not(feature = "pow-faucet"))] assert_ok!(SubtensorModule::do_faucet( <::RuntimeOrigin>::signed(coldkey), - 0, + block_number, nonce, vec_work )); diff --git a/pallets/subtensor/tests/uids.rs b/pallets/subtensor/tests/uids.rs index 772fcbc22..95509872b 100644 --- a/pallets/subtensor/tests/uids.rs +++ b/pallets/subtensor/tests/uids.rs @@ -15,7 +15,7 @@ mod mock; #[test] fn test_replace_neuron() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let block_number: u64 = 0; let netuid: u16 = 1; let tempo: u16 = 13; @@ -80,7 +80,7 @@ fn test_replace_neuron() { #[test] fn test_replace_neuron_multiple_subnets() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let block_number: u64 = 0; let netuid: u16 = 1; let netuid1: u16 = 2; @@ -171,7 +171,7 @@ fn test_replace_neuron_multiple_subnets() { #[test] fn test_replace_neuron_multiple_subnets_unstake_all() { - new_test_ext().execute_with(|| { + new_test_ext(1).execute_with(|| { let block_number: u64 = 0; let netuid: u16 = 1; let netuid1: u16 = 2; diff --git a/pallets/subtensor/tests/weights.rs b/pallets/subtensor/tests/weights.rs index fcce1c167..5f9567254 100644 --- a/pallets/subtensor/tests/weights.rs +++ b/pallets/subtensor/tests/weights.rs @@ -3,7 +3,6 @@ use frame_support::{ assert_ok, dispatch::{DispatchClass, GetDispatchInfo, Pays}, }; -use frame_system::Config; use mock::*; use pallet_subtensor::Error; use sp_core::U256; @@ -18,7 +17,7 @@ use substrate_fixed::types::I32F32; #[test] #[cfg(not(tarpaulin))] fn test_set_weights_dispatch_info_ok() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let dests = vec![1, 1]; let weights = vec![1, 1]; let netuid: u16 = 1; @@ -39,7 +38,7 @@ fn test_set_weights_dispatch_info_ok() { // Test ensures that uid has validator permit to set non-self weights. #[test] fn test_weights_err_no_validator_permit() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let hotkey_account_id = U256::from(55); let netuid: u16 = 1; let tempo: u16 = 13; @@ -83,7 +82,7 @@ fn test_weights_err_no_validator_permit() { #[test] #[cfg(not(tarpaulin))] fn test_set_weights_min_stake_failed() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let dests = vec![0]; let weights = vec![1]; let netuid: u16 = 1; @@ -129,7 +128,7 @@ fn test_set_weights_min_stake_failed() { // Test ensures that a uid can only set weights if it has the valid weights set version key. #[test] fn test_weights_version_key() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let hotkey = U256::from(55); let coldkey = U256::from(66); let netuid0: u16 = 1; @@ -205,7 +204,7 @@ fn test_weights_version_key() { // Test ensures that uid has validator permit to set non-self weights. #[test] fn test_weights_err_setting_weights_too_fast() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let hotkey_account_id = U256::from(55); let netuid: u16 = 1; let tempo: u16 = 13; @@ -260,7 +259,7 @@ fn test_weights_err_setting_weights_too_fast() { // Test ensures that uids -- weights must have the same size. #[test] fn test_weights_err_weights_vec_not_equal_size() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let hotkey_account_id = U256::from(55); let netuid: u16 = 1; let tempo: u16 = 13; @@ -286,7 +285,7 @@ fn test_weights_err_weights_vec_not_equal_size() { // Test ensures that uids can have not duplicates #[test] fn test_weights_err_has_duplicate_ids() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let hotkey_account_id = U256::from(666); let netuid: u16 = 1; let tempo: u16 = 13; @@ -336,7 +335,7 @@ fn test_weights_err_has_duplicate_ids() { #[test] fn test_weights_err_max_weight_limit() { //TO DO SAM: uncomment when we implement run_to_block fn - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { // Add network. let netuid: u16 = 1; let tempo: u16 = 100; @@ -420,7 +419,7 @@ fn test_weights_err_max_weight_limit() { // Tests the call requires a valid origin. #[test] fn test_no_signature() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let uids: Vec = vec![]; let values: Vec = vec![]; let result = SubtensorModule::set_weights(RuntimeOrigin::none(), 1, uids, values, 0); @@ -431,7 +430,7 @@ fn test_no_signature() { // Tests that weights cannot be set BY non-registered hotkeys. #[test] fn test_set_weights_err_not_active() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let netuid: u16 = 1; let tempo: u16 = 13; add_network(netuid, tempo, 0); @@ -458,7 +457,7 @@ fn test_set_weights_err_not_active() { // Tests that set weights fails if you pass invalid uids. #[test] fn test_set_weights_err_invalid_uid() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let hotkey_account_id = U256::from(55); let netuid: u16 = 1; let tempo: u16 = 13; @@ -481,10 +480,10 @@ fn test_set_weights_err_invalid_uid() { }); } -// Tests that set weights fails if you dont pass enough values. +// Tests that set weights fails if you don't pass enough values. #[test] fn test_set_weight_not_enough_values() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let netuid: u16 = 1; let tempo: u16 = 13; let account_id = U256::from(1); @@ -539,7 +538,7 @@ fn test_set_weight_not_enough_values() { // Tests that the weights set fails if you pass too many uids for the subnet #[test] fn test_set_weight_too_many_uids() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let netuid: u16 = 1; let tempo: u16 = 13; add_network(netuid, tempo, 0); @@ -581,7 +580,7 @@ fn test_set_weight_too_many_uids() { // Tests that the weights set doesn't panic if you pass weights that sum to larger than u16 max. #[test] fn test_set_weights_sum_larger_than_u16_max() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let netuid: u16 = 1; let tempo: u16 = 13; add_network(netuid, tempo, 0); @@ -621,7 +620,7 @@ fn test_set_weights_sum_larger_than_u16_max() { /// Check _truthy_ path for self weight #[test] fn test_check_length_allows_singleton() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let netuid: u16 = 1; let max_allowed: u16 = 1; @@ -643,7 +642,7 @@ fn test_check_length_allows_singleton() { /// Check _truthy_ path for weights within allowed range #[test] fn test_check_length_weights_length_exceeds_min_allowed() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let netuid: u16 = 1; let max_allowed: u16 = 3; @@ -665,7 +664,7 @@ fn test_check_length_weights_length_exceeds_min_allowed() { /// Check _falsey_ path for weights outside allowed range #[test] fn test_check_length_to_few_weights() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let netuid: u16 = 1; let min_allowed_weights = 3; @@ -697,7 +696,7 @@ fn test_check_length_to_few_weights() { /// Check do nothing path #[test] fn test_normalize_weights_does_not_mutate_when_sum_is_zero() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let max_allowed: u16 = 3; let weights: Vec = Vec::from_iter((0..max_allowed).map(|_| 0)); @@ -715,7 +714,7 @@ fn test_normalize_weights_does_not_mutate_when_sum_is_zero() { /// Check do something path #[test] fn test_normalize_weights_does_not_mutate_when_sum_not_zero() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let max_allowed: u16 = 3; let weights: Vec = Vec::from_iter((0..max_allowed).map(|weight| weight)); @@ -730,7 +729,7 @@ fn test_normalize_weights_does_not_mutate_when_sum_not_zero() { /// Check _truthy_ path for weights length #[test] fn test_max_weight_limited_allow_self_weights_to_exceed_max_weight_limit() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let max_allowed: u16 = 1; let netuid: u16 = 1; @@ -751,7 +750,7 @@ fn test_max_weight_limited_allow_self_weights_to_exceed_max_weight_limit() { /// Check _truthy_ path for max weight limit #[test] fn test_max_weight_limited_when_weight_limit_is_u16_max() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let max_allowed: u16 = 3; let netuid: u16 = 1; @@ -772,7 +771,7 @@ fn test_max_weight_limited_when_weight_limit_is_u16_max() { /// Check _truthy_ path for max weight limit #[test] fn test_max_weight_limited_when_max_weight_is_within_limit() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let max_allowed: u16 = 1; let max_weight_limit = u16::MAX / 5; @@ -796,7 +795,7 @@ fn test_max_weight_limited_when_max_weight_is_within_limit() { /// Check _falsey_ path #[test] fn test_max_weight_limited_when_guard_checks_are_not_triggered() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let max_allowed: u16 = 3; let max_weight_limit = u16::MAX / 5; @@ -820,7 +819,7 @@ fn test_max_weight_limited_when_guard_checks_are_not_triggered() { /// Check _falsey_ path for weights length #[test] fn test_is_self_weight_weights_length_not_one() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let max_allowed: u16 = 3; let uids: Vec = Vec::from_iter((0..max_allowed).map(|id| id + 1)); @@ -840,7 +839,7 @@ fn test_is_self_weight_weights_length_not_one() { /// Check _falsey_ path for uid vs uids[0] #[test] fn test_is_self_weight_uid_not_in_uids() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let max_allowed: u16 = 3; let uids: Vec = Vec::from_iter((0..max_allowed).map(|id| id + 1)); @@ -861,7 +860,7 @@ fn test_is_self_weight_uid_not_in_uids() { /// @TODO: double-check if this really be desired behavior #[test] fn test_is_self_weight_uid_in_uids() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let max_allowed: u16 = 1; let uids: Vec = Vec::from_iter((0..max_allowed).map(|id| id + 1)); @@ -881,7 +880,7 @@ fn test_is_self_weight_uid_in_uids() { /// Check _truthy_ path #[test] fn test_check_len_uids_within_allowed_within_network_pool() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let netuid: u16 = 1; let tempo: u16 = 13; @@ -914,7 +913,7 @@ fn test_check_len_uids_within_allowed_within_network_pool() { /// Check _falsey_ path #[test] fn test_check_len_uids_within_allowed_not_within_network_pool() { - new_test_ext().execute_with(|| { + new_test_ext(0).execute_with(|| { let netuid: u16 = 1; let tempo: u16 = 13; diff --git a/recipe.json b/recipe.json index 5908dccca..f9967366a 100644 --- a/recipe.json +++ b/recipe.json @@ -1 +1,48 @@ -{"skeleton":{"manifests":[{"relative_path":"Cargo.toml","contents":"[workspace]\nmembers = [\"node\", \"pallets/subtensor\", \"runtime\"]\n[profile.release]\npanic = \"unwind\"\n\n[profile.release.package]\n\n[profile.test]\nopt-level = 3\n\n[profile.test.package]\n"},{"relative_path":"node/Cargo.toml","contents":"bench = []\ntest = []\nexample = []\n\n[[bin]]\nname = \"node-subtensor\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nrequired-features = []\n\n[package]\nname = \"node-subtensor\"\nedition = \"2021\"\nversion = \"0.0.1\"\nbuild = \"build.rs\"\nauthors = [\"Substrate DevHub \"]\ndescription = \"A fresh FRAME-based Substrate node, ready for hacking.\"\nhomepage = \"https://substrate.io/\"\nlicense = \"Unlicense\"\nrepository = \"https://github.com/opentensor/subtensor\"\nautobins = true\nautoexamples = true\nautotests = true\nautobenches = true\npublish = false\n[package.metadata.docs.rs]\ntargets = [\"x86_64-unknown-linux-gnu\"]\n\n[dependencies]\nmemmap2 = \"0.5.0\"\nserde_json = \"1.0.85\"\n\n[dependencies.clap]\nversion = \"4.0.9\"\nfeatures = [\"derive\"]\n\n[dependencies.frame-benchmarking]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.frame-benchmarking-cli]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.frame-system]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.futures]\nversion = \"0.3.21\"\nfeatures = [\"thread-pool\"]\n\n[dependencies.jsonrpsee]\nversion = \"0.16.2\"\nfeatures = [\"server\"]\n\n[dependencies.node-subtensor-runtime]\nversion = \"0.0.1\"\npath = \"../runtime\"\n\n[dependencies.pallet-transaction-payment]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.pallet-transaction-payment-rpc]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.sc-basic-authorship]\nversion = \"0.10.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.sc-cli]\nversion = \"0.10.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.sc-client-api]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.sc-consensus]\nversion = \"0.10.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.sc-consensus-aura]\nversion = \"0.10.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.sc-executor]\nversion = \"0.10.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.sc-finality-grandpa]\nversion = \"0.10.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.sc-keystore]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.sc-rpc]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.sc-rpc-api]\nversion = \"0.10.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.sc-service]\nversion = \"0.10.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.sc-telemetry]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.sc-transaction-pool]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.sc-transaction-pool-api]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.serde]\nversion = \"1.0.145\"\nfeatures = [\"derive\"]\n\n[dependencies.sp-api]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.sp-block-builder]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.sp-blockchain]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.sp-consensus]\nversion = \"0.10.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.sp-consensus-aura]\nversion = \"0.10.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.sp-core]\nversion = \"7.0.0\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.sp-finality-grandpa]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.sp-inherents]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.sp-io]\nversion = \"7.0.0\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.sp-keyring]\nversion = \"7.0.0\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.sp-runtime]\nversion = \"7.0.0\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.sp-timestamp]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.substrate-frame-rpc-system]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[dependencies.subtensor-custom-rpc]\npath = \"../pallets/subtensor/rpc\"\n\n[dependencies.subtensor-custom-rpc-runtime-api]\npath = \"../pallets/subtensor/runtime-api\"\n\n[dependencies.try-runtime-cli]\nversion = \"0.10.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\noptional = true\n[build-dependencies.substrate-build-script-utils]\nversion = \"3.0.0\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\n\n[features]\ndefault = []\nruntime-benchmarks = [\"node-subtensor-runtime/runtime-benchmarks\", \"frame-benchmarking/runtime-benchmarks\", \"frame-benchmarking-cli/runtime-benchmarks\"]\ntry-runtime = [\"node-subtensor-runtime/try-runtime\", \"try-runtime-cli/try-runtime\"]\n\n[lib]\npath = \"src/lib.rs\"\nname = \"node_subtensor\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\ncrate-type = [\"rlib\"]\n"},{"relative_path":"pallets/subtensor/Cargo.toml","contents":"bin = []\nbench = []\nexample = []\n\n[[test]]\npath = \"tests/block_step.rs\"\nname = \"block_step\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\n\n[[test]]\npath = \"tests/difficulty.rs\"\nname = \"difficulty\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\n\n[[test]]\npath = \"tests/epoch.rs\"\nname = \"epoch\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\n\n[[test]]\npath = \"tests/mock.rs\"\nname = \"mock\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\n\n[[test]]\npath = \"tests/networks.rs\"\nname = \"networks\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\n\n[[test]]\npath = \"tests/registration.rs\"\nname = \"registration\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\n\n[[test]]\npath = \"tests/serving.rs\"\nname = \"serving\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\n\n[[test]]\npath = \"tests/staking.rs\"\nname = \"staking\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\n\n[[test]]\npath = \"tests/sudo.rs\"\nname = \"sudo\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\n\n[[test]]\npath = \"tests/weights.rs\"\nname = \"weights\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\n\n[package]\nname = \"pallet-subtensor\"\nedition = \"2021\"\nversion = \"0.0.1\"\nauthors = [\"Bittensor Nucleus Team\"]\ndescription = \"FRAME pallet for runtime logic of Subtensor Blockchain.\"\nhomepage = \"https://bittensor.com\"\nlicense = \"Unlicense\"\nrepository = \"https://github.com/opentensor/subtensor\"\nautobins = true\nautoexamples = true\nautotests = true\nautobenches = true\npublish = false\n[package.metadata.docs.rs]\ntargets = [\"x86_64-unknown-linux-gnu\"]\n[dependencies.codec]\nversion = \"3.0.0\"\nfeatures = [\"derive\"]\ndefault-features = false\npackage = \"parity-scale-codec\"\n\n[dependencies.frame-benchmarking]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\noptional = true\ndefault-features = false\n\n[dependencies.frame-support]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.frame-system]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.log]\nversion = \"0.4.14\"\ndefault-features = false\n\n[dependencies.ndarray]\nversion = \"0.15.0\"\ndefault-features = false\n\n[dependencies.pallet-balances]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.pallet-transaction-payment]\ngit = \"https://github.com/paritytech/substrate\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.scale-info]\nversion = \"2.1.1\"\nfeatures = [\"derive\"]\ndefault-features = false\n\n[dependencies.serde]\nversion = \"1.0.132\"\nfeatures = [\"derive\"]\ndefault-features = false\n\n[dependencies.serde-tuple-vec-map]\nversion = \"1.0.1\"\ndefault-features = false\n\n[dependencies.serde_bytes]\nversion = \"0.11.8\"\nfeatures = [\"alloc\"]\ndefault-features = false\n\n[dependencies.serde_with]\nversion = \"=2.0.0\"\nfeatures = [\"macros\"]\ndefault-features = false\n\n[dependencies.sp-core]\ngit = \"https://github.com/paritytech/substrate\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.sp-io]\nversion = \"7.0.0\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.sp-runtime]\nversion = \"7.0.0\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.sp-std]\ngit = \"https://github.com/paritytech/substrate\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.substrate-fixed]\ngit = \"https://github.com/encointer/substrate-fixed.git\"\ntag = \"v0.5.9\"\n\n[dev-dependencies]\nrand = \"0.8\"\n\n[dev-dependencies.pallet-balances]\ngit = \"https://github.com/paritytech/substrate\"\nbranch = \"polkadot-v0.9.39\"\nfeatures = [\"std\"]\ndefault-features = false\n\n[dev-dependencies.parity-util-mem]\nversion = \"0.11.0\"\nfeatures = [\"primitive-types\"]\n\n[dev-dependencies.sp-core]\ngit = \"https://github.com/paritytech/substrate\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dev-dependencies.sp-tracing]\ngit = \"https://github.com/paritytech/substrate\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dev-dependencies.sp-version]\ngit = \"https://github.com/paritytech/substrate\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[features]\ndefault = [\"std\"]\nruntime-benchmarks = [\"frame-benchmarking/runtime-benchmarks\"]\nstd = [\"codec/std\", \"frame-benchmarking/std\", \"frame-support/std\", \"frame-system/std\", \"scale-info/std\"]\ntry-runtime = [\"frame-support/try-runtime\"]\n\n[lib]\npath = \"src/lib.rs\"\nname = \"pallet_subtensor\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\ncrate-type = [\"rlib\"]\n"},{"relative_path":"pallets/subtensor/rpc/Cargo.toml","contents":"bin = []\nbench = []\ntest = []\nexample = []\n\n[package]\nname = \"subtensor-custom-rpc\"\nedition = \"2021\"\nversion = \"0.0.1\"\nauthors = [\"Cameron Fairchild \"]\ndescription = \"A pallet that adds custom RPC calls to subtensor\"\nlicense = \"MIT\"\nrepository = \"https://github.com/opentensor/subtensor\"\nautobins = true\nautoexamples = true\nautotests = true\nautobenches = true\npublish = false\n[dependencies.codec]\nversion = \"3.0.0\"\nfeatures = [\"derive\"]\ndefault-features = false\npackage = \"parity-scale-codec\"\n\n[dependencies.jsonrpsee]\nversion = \"0.16.2\"\nfeatures = [\"client-core\", \"server\", \"macros\"]\ndefault-features = false\n\n[dependencies.pallet-subtensor]\nversion = \"0.0.1\"\npath = \"../../subtensor\"\ndefault-features = false\n\n[dependencies.serde]\nversion = \"1.0.132\"\nfeatures = [\"derive\"]\ndefault-features = false\n\n[dependencies.sp-api]\ngit = \"https://github.com/paritytech/substrate\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.sp-blockchain]\ngit = \"https://github.com/paritytech/substrate\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.sp-rpc]\ngit = \"https://github.com/paritytech/substrate\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.sp-runtime]\ngit = \"https://github.com/paritytech/substrate\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.subtensor-custom-rpc-runtime-api]\nversion = \"0.0.1\"\npath = \"../runtime-api\"\ndefault-features = false\n\n[features]\ndefault = [\"std\"]\nstd = [\"sp-api/std\", \"sp-runtime/std\", \"subtensor-custom-rpc-runtime-api/std\"]\n\n[lib]\npath = \"src/lib.rs\"\nname = \"subtensor_custom_rpc\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\ncrate-type = [\"rlib\"]\n"},{"relative_path":"pallets/subtensor/runtime-api/Cargo.toml","contents":"bin = []\nbench = []\ntest = []\nexample = []\n\n[package]\nname = \"subtensor-custom-rpc-runtime-api\"\nedition = \"2021\"\nversion = \"0.0.1\"\nauthors = [\"Cameron Fairchild \"]\ndescription = \"A pallet that adds a custom runtime API to Subtensor\"\nlicense = \"MIT\"\nrepository = \"https://github.com/opentensor/subtensor\"\nautobins = true\nautoexamples = true\nautotests = true\nautobenches = true\npublish = false\n[dependencies.frame-support]\ngit = \"https://github.com/paritytech/substrate\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.pallet-subtensor]\nversion = \"0.0.1\"\npath = \"../../subtensor\"\ndefault-features = false\n\n[dependencies.serde]\nversion = \"1.0.132\"\nfeatures = [\"derive\"]\ndefault-features = false\n\n[dependencies.sp-api]\ngit = \"https://github.com/paritytech/substrate\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[features]\ndefault = [\"std\"]\nstd = [\"sp-api/std\"]\n\n[lib]\npath = \"src/lib.rs\"\nname = \"subtensor_custom_rpc_runtime_api\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\ncrate-type = [\"rlib\"]\n"},{"relative_path":"runtime/Cargo.toml","contents":"bin = []\nbench = []\ntest = []\nexample = []\n\n[package]\nname = \"node-subtensor-runtime\"\nedition = \"2021\"\nversion = \"0.0.1\"\nbuild = \"build.rs\"\nauthors = [\"Substrate DevHub \"]\ndescription = \"A fresh FRAME-based Substrate node, ready for hacking.\"\nhomepage = \"https://substrate.io/\"\nlicense = \"Unlicense\"\nrepository = \"https://github.com/substrate-developer-hub/substrate-node-subtensor/\"\nautobins = true\nautoexamples = true\nautotests = true\nautobenches = true\npublish = false\n[package.metadata.docs.rs]\ntargets = [\"x86_64-unknown-linux-gnu\"]\n\n[dependencies]\nsmallvec = \"1.6.1\"\n\n[dependencies.codec]\nversion = \"3.0.0\"\nfeatures = [\"derive\"]\ndefault-features = false\npackage = \"parity-scale-codec\"\n\n[dependencies.frame-benchmarking]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\noptional = true\ndefault-features = false\n\n[dependencies.frame-executive]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.frame-support]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.frame-system]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.frame-system-benchmarking]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\noptional = true\ndefault-features = false\n\n[dependencies.frame-system-rpc-runtime-api]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.frame-try-runtime]\nversion = \"0.10.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\noptional = true\ndefault-features = false\n\n[dependencies.pallet-aura]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.pallet-balances]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.pallet-grandpa]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.pallet-randomness-collective-flip]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.pallet-subtensor]\nversion = \"0.0.1\"\npath = \"../pallets/subtensor\"\ndefault-features = false\n\n[dependencies.pallet-sudo]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.pallet-timestamp]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.pallet-transaction-payment]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.pallet-transaction-payment-rpc-runtime-api]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.scale-info]\nversion = \"2.1.1\"\nfeatures = [\"derive\"]\ndefault-features = false\n\n[dependencies.sp-api]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.sp-block-builder]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.sp-consensus-aura]\nversion = \"0.10.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.sp-core]\nversion = \"7.0.0\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.sp-inherents]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.sp-offchain]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.sp-runtime]\nversion = \"7.0.0\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.sp-session]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.sp-std]\nversion = \"5.0.0\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.sp-transaction-pool]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.sp-version]\nversion = \"5.0.0\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\ndefault-features = false\n\n[dependencies.subtensor-custom-rpc-runtime-api]\nversion = \"0.0.1\"\npath = \"../pallets/subtensor/runtime-api\"\ndefault-features = false\n[build-dependencies.substrate-wasm-builder]\nversion = \"5.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v0.9.39\"\noptional = true\n\n[features]\ndefault = [\"std\"]\nruntime-benchmarks = [\"frame-benchmarking/runtime-benchmarks\", \"frame-support/runtime-benchmarks\", \"frame-system-benchmarking/runtime-benchmarks\", \"frame-system/runtime-benchmarks\", \"pallet-balances/runtime-benchmarks\", \"pallet-grandpa/runtime-benchmarks\", \"pallet-timestamp/runtime-benchmarks\", \"sp-runtime/runtime-benchmarks\", \"pallet-subtensor/runtime-benchmarks\"]\nstd = [\"frame-try-runtime?/std\", \"frame-system-benchmarking?/std\", \"frame-benchmarking/std\", \"codec/std\", \"scale-info/std\", \"frame-executive/std\", \"frame-support/std\", \"frame-system-rpc-runtime-api/std\", \"frame-system/std\", \"frame-try-runtime/std\", \"pallet-subtensor/std\", \"pallet-aura/std\", \"pallet-balances/std\", \"pallet-grandpa/std\", \"pallet-randomness-collective-flip/std\", \"pallet-sudo/std\", \"pallet-timestamp/std\", \"pallet-transaction-payment-rpc-runtime-api/std\", \"pallet-transaction-payment/std\", \"sp-api/std\", \"sp-block-builder/std\", \"sp-consensus-aura/std\", \"sp-core/std\", \"sp-inherents/std\", \"sp-offchain/std\", \"sp-runtime/std\", \"sp-session/std\", \"sp-std/std\", \"sp-transaction-pool/std\", \"sp-version/std\", \"substrate-wasm-builder\"]\ntry-runtime = [\"frame-try-runtime/try-runtime\", \"frame-executive/try-runtime\", \"frame-system/try-runtime\", \"frame-support/try-runtime\", \"pallet-aura/try-runtime\", \"pallet-balances/try-runtime\", \"pallet-grandpa/try-runtime\", \"pallet-randomness-collective-flip/try-runtime\", \"pallet-sudo/try-runtime\", \"pallet-timestamp/try-runtime\", \"pallet-transaction-payment/try-runtime\", \"pallet-subtensor/try-runtime\"]\n\n[lib]\npath = \"src/lib.rs\"\nname = \"node_subtensor_runtime\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\ncrate-type = [\"rlib\"]\n[profile.test]\nopt-level = 3\n\n[profile.test.package]\n"},{"relative_path":"target/debug/wbuild/node-subtensor-runtime/Cargo.toml","contents":"bin = []\nbench = []\ntest = []\nexample = []\n\n[package]\nname = \"node-subtensor-runtime-wasm\"\nedition = \"2021\"\nversion = \"0.0.1\"\nautobins = true\nautoexamples = true\nautotests = true\nautobenches = true\n\n[workspace]\nmembers = []\n[dependencies.wasm-project]\npath = \"/Users/alashaabana/.bittensor/subtensorv3/runtime\"\nfeatures = [\"frame-try-runtime\", \"frame-benchmarking\"]\ndefault-features = false\npackage = \"node-subtensor-runtime\"\n\n[lib]\nname = \"node_subtensor_runtime\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nrequired-features = []\ncrate-type = [\"cdylib\"]\n[profile.release]\nlto = \"thin\"\npanic = \"abort\"\n\n[profile.release.package]\n\n[profile.dev]\npanic = \"abort\"\n\n[profile.dev.package]\n\n[profile.production]\ninherits = \"release\"\nlto = \"fat\"\ncodegen-units = 1\n\n[profile.production.package]\n"},{"relative_path":"target/debug/wbuild/node-template-runtime/Cargo.toml","contents":"bin = []\nbench = []\ntest = []\nexample = []\n\n[package]\nname = \"node-template-runtime-wasm\"\nedition = \"2021\"\nversion = \"0.0.1\"\nautobins = true\nautoexamples = true\nautotests = true\nautobenches = true\n\n[workspace]\nmembers = []\n[dependencies.wasm-project]\npath = \"/Users/alashaabana/.bittensor/subtensorv3/runtime\"\nfeatures = [\"frame-try-runtime\"]\ndefault-features = false\npackage = \"node-template-runtime\"\n\n[lib]\nname = \"node_template_runtime\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nrequired-features = []\ncrate-type = [\"cdylib\"]\n[profile.release]\nlto = \"thin\"\npanic = \"abort\"\n\n[profile.release.package]\n\n[profile.dev]\npanic = \"abort\"\n\n[profile.dev.package]\n\n[profile.production]\ninherits = \"release\"\nlto = \"fat\"\ncodegen-units = 1\n\n[profile.production.package]\n"},{"relative_path":"target/release/wbuild/node-subtensor-runtime/Cargo.toml","contents":"bin = []\nbench = []\ntest = []\nexample = []\n\n[package]\nname = \"node-subtensor-runtime-wasm\"\nedition = \"2021\"\nversion = \"0.0.1\"\nautobins = true\nautoexamples = true\nautotests = true\nautobenches = true\n\n[workspace]\nmembers = []\n[dependencies.wasm-project]\npath = \"/Users/alashaabana/.bittensor/subtensorv3/runtime\"\nfeatures = [\"frame-system-benchmarking\", \"frame-try-runtime\", \"frame-benchmarking\", \"runtime-benchmarks\"]\ndefault-features = false\npackage = \"node-subtensor-runtime\"\n\n[lib]\nname = \"node_subtensor_runtime\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nrequired-features = []\ncrate-type = [\"cdylib\"]\n[profile.release]\nlto = \"thin\"\npanic = \"abort\"\n\n[profile.release.package]\n\n[profile.dev]\npanic = \"abort\"\n\n[profile.dev.package]\n\n[profile.production]\ninherits = \"release\"\nlto = \"fat\"\ncodegen-units = 1\n\n[profile.production.package]\n"},{"relative_path":"target/release/wbuild/node-template-runtime/Cargo.toml","contents":"bin = []\nbench = []\ntest = []\nexample = []\n\n[package]\nname = \"node-template-runtime-wasm\"\nedition = \"2021\"\nversion = \"0.0.1\"\nautobins = true\nautoexamples = true\nautotests = true\nautobenches = true\n\n[workspace]\nmembers = []\n[dependencies.wasm-project]\npath = \"/Users/alashaabana/.bittensor/subtensorv3/runtime\"\nfeatures = [\"frame-system-benchmarking\", \"runtime-benchmarks\", \"frame-try-runtime\", \"frame-benchmarking\"]\ndefault-features = false\npackage = \"node-template-runtime\"\n\n[lib]\nname = \"node_template_runtime\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nrequired-features = []\ncrate-type = [\"cdylib\"]\n[profile.release]\nlto = \"thin\"\npanic = \"abort\"\n\n[profile.release.package]\n\n[profile.dev]\npanic = \"abort\"\n\n[profile.dev.package]\n\n[profile.production]\ninherits = \"release\"\nlto = \"fat\"\ncodegen-units = 1\n\n[profile.production.package]\n"}],"config_file":null,"lock_file":"version = 3\n\n[[package]]\nname = \"Inflector\"\nversion = \"0.11.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3\"\ndependencies = [\"lazy_static\", \"regex\"]\n\n[[package]]\nname = \"addr2line\"\nversion = \"0.17.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b\"\ndependencies = [\"gimli 0.26.2\"]\n\n[[package]]\nname = \"addr2line\"\nversion = \"0.19.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97\"\ndependencies = [\"gimli 0.27.1\"]\n\n[[package]]\nname = \"adler\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe\"\n\n[[package]]\nname = \"aead\"\nversion = \"0.3.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331\"\ndependencies = [\"generic-array 0.14.6\"]\n\n[[package]]\nname = \"aead\"\nversion = \"0.4.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877\"\ndependencies = [\"generic-array 0.14.6\", \"rand_core 0.6.4\"]\n\n[[package]]\nname = \"aes\"\nversion = \"0.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"884391ef1066acaa41e766ba8f596341b96e93ce34f9a43e7d24bf0a0eaf0561\"\ndependencies = [\"aes-soft\", \"aesni\", \"cipher 0.2.5\"]\n\n[[package]]\nname = \"aes\"\nversion = \"0.7.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8\"\ndependencies = [\"cfg-if\", \"cipher 0.3.0\", \"cpufeatures\", \"opaque-debug 0.3.0\"]\n\n[[package]]\nname = \"aes-gcm\"\nversion = \"0.8.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5278b5fabbb9bd46e24aa69b2fdea62c99088e0a950a9be40e3e0101298f88da\"\ndependencies = [\"aead 0.3.2\", \"aes 0.6.0\", \"cipher 0.2.5\", \"ctr 0.6.0\", \"ghash 0.3.1\", \"subtle\"]\n\n[[package]]\nname = \"aes-gcm\"\nversion = \"0.9.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"df5f85a83a7d8b0442b6aa7b504b8212c1733da07b98aae43d4bc21b2cb3cdf6\"\ndependencies = [\"aead 0.4.3\", \"aes 0.7.5\", \"cipher 0.3.0\", \"ctr 0.8.0\", \"ghash 0.4.4\", \"subtle\"]\n\n[[package]]\nname = \"aes-soft\"\nversion = \"0.6.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"be14c7498ea50828a38d0e24a765ed2effe92a705885b57d029cd67d45744072\"\ndependencies = [\"cipher 0.2.5\", \"opaque-debug 0.3.0\"]\n\n[[package]]\nname = \"aesni\"\nversion = \"0.10.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ea2e11f5e94c2f7d386164cc2aa1f97823fed6f259e486940a71c174dd01b0ce\"\ndependencies = [\"cipher 0.2.5\", \"opaque-debug 0.3.0\"]\n\n[[package]]\nname = \"ahash\"\nversion = \"0.7.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47\"\ndependencies = [\"getrandom 0.2.8\", \"once_cell\", \"version_check\"]\n\n[[package]]\nname = \"aho-corasick\"\nversion = \"0.7.20\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac\"\ndependencies = [\"memchr\"]\n\n[[package]]\nname = \"android_system_properties\"\nversion = \"0.1.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311\"\ndependencies = [\"libc\"]\n\n[[package]]\nname = \"ansi_term\"\nversion = \"0.12.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2\"\ndependencies = [\"winapi\"]\n\n[[package]]\nname = \"anyhow\"\nversion = \"1.0.69\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800\"\n\n[[package]]\nname = \"approx\"\nversion = \"0.5.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6\"\ndependencies = [\"num-traits\"]\n\n[[package]]\nname = \"arc-swap\"\nversion = \"1.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6\"\n\n[[package]]\nname = \"array-bytes\"\nversion = \"4.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f52f63c5c1316a16a4b35eaac8b76a98248961a533f061684cb2a7cb0eafb6c6\"\n\n[[package]]\nname = \"arrayref\"\nversion = \"0.3.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544\"\n\n[[package]]\nname = \"arrayvec\"\nversion = \"0.5.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b\"\n\n[[package]]\nname = \"arrayvec\"\nversion = \"0.7.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6\"\n\n[[package]]\nname = \"asn1-rs\"\nversion = \"0.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"30ff05a702273012438132f449575dbc804e27b2f3cbe3069aa237d26c98fa33\"\ndependencies = [\"asn1-rs-derive 0.1.0\", \"asn1-rs-impl\", \"displaydoc\", \"nom\", \"num-traits\", \"rusticata-macros\", \"thiserror\", \"time 0.3.17\"]\n\n[[package]]\nname = \"asn1-rs\"\nversion = \"0.5.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cf6690c370453db30743b373a60ba498fc0d6d83b11f4abfd87a84a075db5dd4\"\ndependencies = [\"asn1-rs-derive 0.4.0\", \"asn1-rs-impl\", \"displaydoc\", \"nom\", \"num-traits\", \"rusticata-macros\", \"thiserror\", \"time 0.3.17\"]\n\n[[package]]\nname = \"asn1-rs-derive\"\nversion = \"0.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"db8b7511298d5b7784b40b092d9e9dcd3a627a5707e4b5e507931ab0d44eeebf\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\", \"synstructure\"]\n\n[[package]]\nname = \"asn1-rs-derive\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\", \"synstructure\"]\n\n[[package]]\nname = \"asn1-rs-impl\"\nversion = \"0.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"asn1_der\"\nversion = \"0.7.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e22d1f4b888c298a027c99dc9048015fac177587de20fc30232a057dfbe24a21\"\n\n[[package]]\nname = \"async-io\"\nversion = \"1.12.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8c374dda1ed3e7d8f0d9ba58715f924862c63eae6849c92d3a18e7fbde9e2794\"\ndependencies = [\"async-lock\", \"autocfg\", \"concurrent-queue\", \"futures-lite\", \"libc\", \"log\", \"parking\", \"polling\", \"slab\", \"socket2\", \"waker-fn\", \"windows-sys 0.42.0\"]\n\n[[package]]\nname = \"async-lock\"\nversion = \"2.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c8101efe8695a6c17e02911402145357e718ac92d3ff88ae8419e84b1707b685\"\ndependencies = [\"event-listener\", \"futures-lite\"]\n\n[[package]]\nname = \"async-trait\"\nversion = \"0.1.64\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"asynchronous-codec\"\nversion = \"0.6.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"06a0daa378f5fd10634e44b0a29b2a87b890657658e072a30d6f26e57ddee182\"\ndependencies = [\"bytes\", \"futures-sink\", \"futures-util\", \"memchr\", \"pin-project-lite 0.2.9\"]\n\n[[package]]\nname = \"atomic-waker\"\nversion = \"1.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"debc29dde2e69f9e47506b525f639ed42300fc014a3e007832592448fa8e4599\"\n\n[[package]]\nname = \"atty\"\nversion = \"0.2.14\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8\"\ndependencies = [\"hermit-abi 0.1.19\", \"libc\", \"winapi\"]\n\n[[package]]\nname = \"autocfg\"\nversion = \"1.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa\"\n\n[[package]]\nname = \"backtrace\"\nversion = \"0.3.67\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca\"\ndependencies = [\"addr2line 0.19.0\", \"cc\", \"cfg-if\", \"libc\", \"miniz_oxide\", \"object 0.30.3\", \"rustc-demangle\"]\n\n[[package]]\nname = \"base-x\"\nversion = \"0.2.11\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270\"\n\n[[package]]\nname = \"base16ct\"\nversion = \"0.1.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce\"\n\n[[package]]\nname = \"base58\"\nversion = \"0.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6107fe1be6682a68940da878d9e9f5e90ca5745b3dec9fd1bb393c8777d4f581\"\n\n[[package]]\nname = \"base64\"\nversion = \"0.13.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8\"\n\n[[package]]\nname = \"base64\"\nversion = \"0.21.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a\"\n\n[[package]]\nname = \"base64ct\"\nversion = \"1.5.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf\"\n\n[[package]]\nname = \"beef\"\nversion = \"0.5.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1\"\ndependencies = [\"serde\"]\n\n[[package]]\nname = \"bincode\"\nversion = \"1.3.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad\"\ndependencies = [\"serde\"]\n\n[[package]]\nname = \"bindgen\"\nversion = \"0.60.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"062dddbc1ba4aca46de6338e2bf87771414c335f7b2f2036e8f3e9befebf88e6\"\ndependencies = [\"bitflags\", \"cexpr\", \"clang-sys\", \"lazy_static\", \"lazycell\", \"peeking_take_while\", \"proc-macro2\", \"quote\", \"regex\", \"rustc-hash\", \"shlex\"]\n\n[[package]]\nname = \"bitflags\"\nversion = \"1.3.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a\"\n\n[[package]]\nname = \"bitvec\"\nversion = \"1.0.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c\"\ndependencies = [\"funty\", \"radium\", \"tap\", \"wyz\"]\n\n[[package]]\nname = \"blake2\"\nversion = \"0.10.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe\"\ndependencies = [\"digest 0.10.6\"]\n\n[[package]]\nname = \"blake2b_simd\"\nversion = \"1.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"72936ee4afc7f8f736d1c38383b56480b5497b4617b4a77bdbf1d2ababc76127\"\ndependencies = [\"arrayref\", \"arrayvec 0.7.2\", \"constant_time_eq 0.1.5\"]\n\n[[package]]\nname = \"blake2s_simd\"\nversion = \"1.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"db539cc2b5f6003621f1cd9ef92d7ded8ea5232c7de0f9faa2de251cd98730d4\"\ndependencies = [\"arrayref\", \"arrayvec 0.7.2\", \"constant_time_eq 0.1.5\"]\n\n[[package]]\nname = \"blake3\"\nversion = \"1.3.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"42ae2468a89544a466886840aa467a25b766499f4f04bf7d9fcd10ecee9fccef\"\ndependencies = [\"arrayref\", \"arrayvec 0.7.2\", \"cc\", \"cfg-if\", \"constant_time_eq 0.2.4\"]\n\n[[package]]\nname = \"block-buffer\"\nversion = \"0.7.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b\"\ndependencies = [\"block-padding 0.1.5\", \"byte-tools\", \"byteorder\", \"generic-array 0.12.4\"]\n\n[[package]]\nname = \"block-buffer\"\nversion = \"0.9.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4\"\ndependencies = [\"generic-array 0.14.6\"]\n\n[[package]]\nname = \"block-buffer\"\nversion = \"0.10.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e\"\ndependencies = [\"generic-array 0.14.6\"]\n\n[[package]]\nname = \"block-modes\"\nversion = \"0.7.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"57a0e8073e8baa88212fb5823574c02ebccb395136ba9a164ab89379ec6072f0\"\ndependencies = [\"block-padding 0.2.1\", \"cipher 0.2.5\"]\n\n[[package]]\nname = \"block-padding\"\nversion = \"0.1.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5\"\ndependencies = [\"byte-tools\"]\n\n[[package]]\nname = \"block-padding\"\nversion = \"0.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae\"\n\n[[package]]\nname = \"bs58\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3\"\n\n[[package]]\nname = \"bstr\"\nversion = \"1.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b7f0778972c64420fdedc63f09919c8a88bda7b25135357fd25a5d9f3257e832\"\ndependencies = [\"memchr\", \"serde\"]\n\n[[package]]\nname = \"build-helper\"\nversion = \"0.1.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bdce191bf3fa4995ce948c8c83b4640a1745457a149e73c6db75b4ffe36aad5f\"\ndependencies = [\"semver 0.6.0\"]\n\n[[package]]\nname = \"bumpalo\"\nversion = \"3.12.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535\"\n\n[[package]]\nname = \"byte-slice-cast\"\nversion = \"1.2.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c\"\n\n[[package]]\nname = \"byte-tools\"\nversion = \"0.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7\"\n\n[[package]]\nname = \"byteorder\"\nversion = \"1.4.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610\"\n\n[[package]]\nname = \"bytes\"\nversion = \"1.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be\"\n\n[[package]]\nname = \"bzip2-sys\"\nversion = \"0.1.11+1.0.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc\"\ndependencies = [\"cc\", \"libc\", \"pkg-config\"]\n\n[[package]]\nname = \"camino\"\nversion = \"1.1.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c77df041dc383319cc661b428b6961a005db4d6808d5e12536931b1ca9556055\"\ndependencies = [\"serde\"]\n\n[[package]]\nname = \"cargo-platform\"\nversion = \"0.1.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27\"\ndependencies = [\"serde\"]\n\n[[package]]\nname = \"cargo_metadata\"\nversion = \"0.14.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa\"\ndependencies = [\"camino\", \"cargo-platform\", \"semver 1.0.16\", \"serde\", \"serde_json\"]\n\n[[package]]\nname = \"cc\"\nversion = \"1.0.79\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f\"\ndependencies = [\"jobserver\"]\n\n[[package]]\nname = \"ccm\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5aca1a8fbc20b50ac9673ff014abfb2b5f4085ee1a850d408f14a159c5853ac7\"\ndependencies = [\"aead 0.3.2\", \"cipher 0.2.5\", \"subtle\"]\n\n[[package]]\nname = \"cexpr\"\nversion = \"0.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766\"\ndependencies = [\"nom\"]\n\n[[package]]\nname = \"cfg-expr\"\nversion = \"0.10.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0aacacf4d96c24b2ad6eb8ee6df040e4f27b0d0b39a5710c30091baa830485db\"\ndependencies = [\"smallvec\"]\n\n[[package]]\nname = \"cfg-if\"\nversion = \"1.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd\"\n\n[[package]]\nname = \"cfg_aliases\"\nversion = \"0.1.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e\"\n\n[[package]]\nname = \"chacha20\"\nversion = \"0.8.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5c80e5460aa66fe3b91d40bcbdab953a597b60053e34d684ac6903f863b680a6\"\ndependencies = [\"cfg-if\", \"cipher 0.3.0\", \"cpufeatures\", \"zeroize\"]\n\n[[package]]\nname = \"chacha20poly1305\"\nversion = \"0.9.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a18446b09be63d457bbec447509e85f662f32952b035ce892290396bc0b0cff5\"\ndependencies = [\"aead 0.4.3\", \"chacha20\", \"cipher 0.3.0\", \"poly1305\", \"zeroize\"]\n\n[[package]]\nname = \"chrono\"\nversion = \"0.4.23\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f\"\ndependencies = [\"iana-time-zone\", \"js-sys\", \"num-integer\", \"num-traits\", \"time 0.1.45\", \"wasm-bindgen\", \"winapi\"]\n\n[[package]]\nname = \"cid\"\nversion = \"0.8.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f6ed9c8b2d17acb8110c46f1da5bf4a696d745e1474a16db0cd2b49cd0249bf2\"\ndependencies = [\"core2\", \"multibase\", \"multihash\", \"serde\", \"unsigned-varint\"]\n\n[[package]]\nname = \"cipher\"\nversion = \"0.2.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801\"\ndependencies = [\"generic-array 0.14.6\"]\n\n[[package]]\nname = \"cipher\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7\"\ndependencies = [\"generic-array 0.14.6\"]\n\n[[package]]\nname = \"clang-sys\"\nversion = \"1.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3\"\ndependencies = [\"glob\", \"libc\", \"libloading\"]\n\n[[package]]\nname = \"clap\"\nversion = \"4.1.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f13b9c79b5d1dd500d20ef541215a6423c75829ef43117e1b4d17fd8af0b5d76\"\ndependencies = [\"bitflags\", \"clap_derive\", \"clap_lex\", \"is-terminal\", \"once_cell\", \"strsim\", \"termcolor\"]\n\n[[package]]\nname = \"clap_derive\"\nversion = \"4.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8\"\ndependencies = [\"heck\", \"proc-macro-error\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"clap_lex\"\nversion = \"0.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade\"\ndependencies = [\"os_str_bytes\"]\n\n[[package]]\nname = \"codespan-reporting\"\nversion = \"0.11.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e\"\ndependencies = [\"termcolor\", \"unicode-width\"]\n\n[[package]]\nname = \"comfy-table\"\nversion = \"6.1.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6e7b787b0dc42e8111badfdbe4c3059158ccb2db8780352fa1b01e8ccf45cc4d\"\ndependencies = [\"strum\", \"strum_macros\", \"unicode-width\"]\n\n[[package]]\nname = \"concurrent-queue\"\nversion = \"2.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c278839b831783b70278b14df4d45e1beb1aad306c07bb796637de9a0e323e8e\"\ndependencies = [\"crossbeam-utils\"]\n\n[[package]]\nname = \"const-oid\"\nversion = \"0.9.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b\"\n\n[[package]]\nname = \"constant_time_eq\"\nversion = \"0.1.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc\"\n\n[[package]]\nname = \"constant_time_eq\"\nversion = \"0.2.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f3ad85c1f65dc7b37604eb0e89748faf0b9653065f2a8ef69f96a687ec1e9279\"\n\n[[package]]\nname = \"core-foundation\"\nversion = \"0.9.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146\"\ndependencies = [\"core-foundation-sys\", \"libc\"]\n\n[[package]]\nname = \"core-foundation-sys\"\nversion = \"0.8.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc\"\n\n[[package]]\nname = \"core2\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505\"\ndependencies = [\"memchr\"]\n\n[[package]]\nname = \"cpp_demangle\"\nversion = \"0.3.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f\"\ndependencies = [\"cfg-if\"]\n\n[[package]]\nname = \"cpufeatures\"\nversion = \"0.2.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320\"\ndependencies = [\"libc\"]\n\n[[package]]\nname = \"cpuid-bool\"\nversion = \"0.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba\"\n\n[[package]]\nname = \"cranelift-bforest\"\nversion = \"0.88.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"52056f6d0584484b57fa6c1a65c1fcb15f3780d8b6a758426d9e3084169b2ddd\"\ndependencies = [\"cranelift-entity\"]\n\n[[package]]\nname = \"cranelift-codegen\"\nversion = \"0.88.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"18fed94c8770dc25d01154c3ffa64ed0b3ba9d583736f305fed7beebe5d9cf74\"\ndependencies = [\"arrayvec 0.7.2\", \"bumpalo\", \"cranelift-bforest\", \"cranelift-codegen-meta\", \"cranelift-codegen-shared\", \"cranelift-entity\", \"cranelift-isle\", \"gimli 0.26.2\", \"log\", \"regalloc2\", \"smallvec\", \"target-lexicon\"]\n\n[[package]]\nname = \"cranelift-codegen-meta\"\nversion = \"0.88.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1c451b81faf237d11c7e4f3165eeb6bac61112762c5cfe7b4c0fb7241474358f\"\ndependencies = [\"cranelift-codegen-shared\"]\n\n[[package]]\nname = \"cranelift-codegen-shared\"\nversion = \"0.88.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e7c940133198426d26128f08be2b40b0bd117b84771fd36798969c4d712d81fc\"\n\n[[package]]\nname = \"cranelift-entity\"\nversion = \"0.88.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"87a0f1b2fdc18776956370cf8d9b009ded3f855350c480c1c52142510961f352\"\ndependencies = [\"serde\"]\n\n[[package]]\nname = \"cranelift-frontend\"\nversion = \"0.88.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"34897538b36b216cc8dd324e73263596d51b8cf610da6498322838b2546baf8a\"\ndependencies = [\"cranelift-codegen\", \"log\", \"smallvec\", \"target-lexicon\"]\n\n[[package]]\nname = \"cranelift-isle\"\nversion = \"0.88.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1b2629a569fae540f16a76b70afcc87ad7decb38dc28fa6c648ac73b51e78470\"\n\n[[package]]\nname = \"cranelift-native\"\nversion = \"0.88.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"20937dab4e14d3e225c5adfc9c7106bafd4ac669bdb43027b911ff794c6fb318\"\ndependencies = [\"cranelift-codegen\", \"libc\", \"target-lexicon\"]\n\n[[package]]\nname = \"cranelift-wasm\"\nversion = \"0.88.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"80fc2288957a94fd342a015811479de1837850924166d1f1856d8406e6f3609b\"\ndependencies = [\"cranelift-codegen\", \"cranelift-entity\", \"cranelift-frontend\", \"itertools\", \"log\", \"smallvec\", \"wasmparser\", \"wasmtime-types\"]\n\n[[package]]\nname = \"crc\"\nversion = \"3.0.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe\"\ndependencies = [\"crc-catalog\"]\n\n[[package]]\nname = \"crc-catalog\"\nversion = \"2.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484\"\n\n[[package]]\nname = \"crc32fast\"\nversion = \"1.3.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d\"\ndependencies = [\"cfg-if\"]\n\n[[package]]\nname = \"crossbeam-channel\"\nversion = \"0.5.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521\"\ndependencies = [\"cfg-if\", \"crossbeam-utils\"]\n\n[[package]]\nname = \"crossbeam-deque\"\nversion = \"0.8.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc\"\ndependencies = [\"cfg-if\", \"crossbeam-epoch\", \"crossbeam-utils\"]\n\n[[package]]\nname = \"crossbeam-epoch\"\nversion = \"0.9.13\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a\"\ndependencies = [\"autocfg\", \"cfg-if\", \"crossbeam-utils\", \"memoffset 0.7.1\", \"scopeguard\"]\n\n[[package]]\nname = \"crossbeam-utils\"\nversion = \"0.8.14\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f\"\ndependencies = [\"cfg-if\"]\n\n[[package]]\nname = \"crunchy\"\nversion = \"0.2.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7\"\n\n[[package]]\nname = \"crypto-bigint\"\nversion = \"0.4.9\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef\"\ndependencies = [\"generic-array 0.14.6\", \"rand_core 0.6.4\", \"subtle\", \"zeroize\"]\n\n[[package]]\nname = \"crypto-common\"\nversion = \"0.1.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3\"\ndependencies = [\"generic-array 0.14.6\", \"typenum 1.16.0 (registry+https://github.com/rust-lang/crates.io-index)\"]\n\n[[package]]\nname = \"crypto-mac\"\nversion = \"0.8.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab\"\ndependencies = [\"generic-array 0.14.6\", \"subtle\"]\n\n[[package]]\nname = \"crypto-mac\"\nversion = \"0.10.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bff07008ec701e8028e2ceb8f83f0e4274ee62bd2dbdc4fefff2e9a91824081a\"\ndependencies = [\"generic-array 0.14.6\", \"subtle\"]\n\n[[package]]\nname = \"crypto-mac\"\nversion = \"0.11.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714\"\ndependencies = [\"generic-array 0.14.6\", \"subtle\"]\n\n[[package]]\nname = \"ctr\"\nversion = \"0.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fb4a30d54f7443bf3d6191dcd486aca19e67cb3c49fa7a06a319966346707e7f\"\ndependencies = [\"cipher 0.2.5\"]\n\n[[package]]\nname = \"ctr\"\nversion = \"0.8.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea\"\ndependencies = [\"cipher 0.3.0\"]\n\n[[package]]\nname = \"curve25519-dalek\"\nversion = \"2.1.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4a9b85542f99a2dfa2a1b8e192662741c9859a846b296bef1c92ef9b58b5a216\"\ndependencies = [\"byteorder\", \"digest 0.8.1\", \"rand_core 0.5.1\", \"subtle\", \"zeroize\"]\n\n[[package]]\nname = \"curve25519-dalek\"\nversion = \"3.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61\"\ndependencies = [\"byteorder\", \"digest 0.9.0\", \"rand_core 0.5.1\", \"subtle\", \"zeroize\"]\n\n[[package]]\nname = \"curve25519-dalek\"\nversion = \"4.0.0-rc.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8da00a7a9a4eb92a0a0f8e75660926d48f0d0f3c537e455c457bcdaa1e16b1ac\"\ndependencies = [\"cfg-if\", \"fiat-crypto\", \"packed_simd_2\", \"platforms 3.0.2\", \"subtle\", \"zeroize\"]\n\n[[package]]\nname = \"cxx\"\nversion = \"1.0.89\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bc831ee6a32dd495436e317595e639a587aa9907bef96fe6e6abc290ab6204e9\"\ndependencies = [\"cc\", \"cxxbridge-flags\", \"cxxbridge-macro\", \"link-cplusplus\"]\n\n[[package]]\nname = \"cxx-build\"\nversion = \"1.0.89\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"94331d54f1b1a8895cd81049f7eaaaef9d05a7dcb4d1fd08bf3ff0806246789d\"\ndependencies = [\"cc\", \"codespan-reporting\", \"once_cell\", \"proc-macro2\", \"quote\", \"scratch\", \"syn\"]\n\n[[package]]\nname = \"cxxbridge-flags\"\nversion = \"1.0.89\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"48dcd35ba14ca9b40d6e4b4b39961f23d835dbb8eed74565ded361d93e1feb8a\"\n\n[[package]]\nname = \"cxxbridge-macro\"\nversion = \"1.0.89\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"81bbeb29798b407ccd82a3324ade1a7286e0d29851475990b612670f6f5124d2\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"darling\"\nversion = \"0.14.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c0808e1bd8671fb44a113a14e13497557533369847788fa2ae912b6ebfce9fa8\"\ndependencies = [\"darling_core\", \"darling_macro\"]\n\n[[package]]\nname = \"darling_core\"\nversion = \"0.14.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"001d80444f28e193f30c2f293455da62dcf9a6b29918a4253152ae2b1de592cb\"\ndependencies = [\"fnv\", \"ident_case\", \"proc-macro2\", \"quote\", \"strsim\", \"syn\"]\n\n[[package]]\nname = \"darling_macro\"\nversion = \"0.14.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b36230598a2d5de7ec1c6f51f72d8a99a9208daff41de2084d06e3fd3ea56685\"\ndependencies = [\"darling_core\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"data-encoding\"\nversion = \"2.3.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"23d8666cb01533c39dde32bcbab8e227b4ed6679b2c925eba05feabea39508fb\"\n\n[[package]]\nname = \"data-encoding-macro\"\nversion = \"0.1.12\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"86927b7cd2fe88fa698b87404b287ab98d1a0063a34071d92e575b72d3029aca\"\ndependencies = [\"data-encoding\", \"data-encoding-macro-internal\"]\n\n[[package]]\nname = \"data-encoding-macro-internal\"\nversion = \"0.1.10\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a5bbed42daaa95e780b60a50546aa345b8413a1e46f9a40a12907d3598f038db\"\ndependencies = [\"data-encoding\", \"syn\"]\n\n[[package]]\nname = \"der\"\nversion = \"0.6.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de\"\ndependencies = [\"const-oid\", \"pem-rfc7468\", \"zeroize\"]\n\n[[package]]\nname = \"der-parser\"\nversion = \"7.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fe398ac75057914d7d07307bf67dc7f3f574a26783b4fc7805a20ffa9f506e82\"\ndependencies = [\"asn1-rs 0.3.1\", \"displaydoc\", \"nom\", \"num-bigint\", \"num-traits\", \"rusticata-macros\"]\n\n[[package]]\nname = \"der-parser\"\nversion = \"8.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"42d4bc9b0db0a0df9ae64634ac5bdefb7afcb534e182275ca0beadbe486701c1\"\ndependencies = [\"asn1-rs 0.5.1\", \"displaydoc\", \"nom\", \"num-bigint\", \"num-traits\", \"rusticata-macros\"]\n\n[[package]]\nname = \"derive_builder\"\nversion = \"0.11.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d07adf7be193b71cc36b193d0f5fe60b918a3a9db4dad0449f57bcfd519704a3\"\ndependencies = [\"derive_builder_macro\"]\n\n[[package]]\nname = \"derive_builder_core\"\nversion = \"0.11.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1f91d4cfa921f1c05904dc3c57b4a32c38aed3340cce209f3a6fd1478babafc4\"\ndependencies = [\"darling\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"derive_builder_macro\"\nversion = \"0.11.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8f0314b72bed045f3a68671b3c86328386762c93f82d98c65c3cb5e5f573dd68\"\ndependencies = [\"derive_builder_core\", \"syn\"]\n\n[[package]]\nname = \"derive_more\"\nversion = \"0.99.17\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"difflib\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8\"\n\n[[package]]\nname = \"digest\"\nversion = \"0.8.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5\"\ndependencies = [\"generic-array 0.12.4\"]\n\n[[package]]\nname = \"digest\"\nversion = \"0.9.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066\"\ndependencies = [\"generic-array 0.14.6\"]\n\n[[package]]\nname = \"digest\"\nversion = \"0.10.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f\"\ndependencies = [\"block-buffer 0.10.3\", \"crypto-common\", \"subtle\"]\n\n[[package]]\nname = \"directories\"\nversion = \"4.0.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f51c5d4ddabd36886dd3e1438cb358cdcb0d7c499cb99cb4ac2e38e18b5cb210\"\ndependencies = [\"dirs-sys\"]\n\n[[package]]\nname = \"directories-next\"\nversion = \"2.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"339ee130d97a610ea5a5872d2bbb130fdf68884ff09d3028b81bec8a1ac23bbc\"\ndependencies = [\"cfg-if\", \"dirs-sys-next\"]\n\n[[package]]\nname = \"dirs-sys\"\nversion = \"0.3.7\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6\"\ndependencies = [\"libc\", \"redox_users\", \"winapi\"]\n\n[[package]]\nname = \"dirs-sys-next\"\nversion = \"0.1.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d\"\ndependencies = [\"libc\", \"redox_users\", \"winapi\"]\n\n[[package]]\nname = \"displaydoc\"\nversion = \"0.2.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3bf95dc3f046b9da4f2d51833c0d3547d8564ef6910f5c1ed130306a75b92886\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"downcast\"\nversion = \"0.11.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1\"\n\n[[package]]\nname = \"downcast-rs\"\nversion = \"1.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650\"\n\n[[package]]\nname = \"dtoa\"\nversion = \"1.0.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c00704156a7de8df8da0911424e30c2049957b0a714542a44e05fe693dd85313\"\n\n[[package]]\nname = \"dyn-clonable\"\nversion = \"0.9.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4e9232f0e607a262ceb9bd5141a3dfb3e4db6994b31989bbfd845878cba59fd4\"\ndependencies = [\"dyn-clonable-impl\", \"dyn-clone\"]\n\n[[package]]\nname = \"dyn-clonable-impl\"\nversion = \"0.9.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"558e40ea573c374cf53507fd240b7ee2f5477df7cfebdb97323ec61c719399c5\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"dyn-clone\"\nversion = \"1.0.10\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c9b0705efd4599c15a38151f4721f7bc388306f61084d3bfd50bd07fbca5cb60\"\n\n[[package]]\nname = \"ecdsa\"\nversion = \"0.14.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c\"\ndependencies = [\"der\", \"elliptic-curve\", \"rfc6979\", \"signature\"]\n\n[[package]]\nname = \"ed25519\"\nversion = \"1.5.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7\"\ndependencies = [\"signature\"]\n\n[[package]]\nname = \"ed25519-dalek\"\nversion = \"1.0.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d\"\ndependencies = [\"curve25519-dalek 3.2.0\", \"ed25519\", \"rand 0.7.3\", \"serde\", \"sha2 0.9.9\", \"zeroize\"]\n\n[[package]]\nname = \"ed25519-zebra\"\nversion = \"3.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6\"\ndependencies = [\"curve25519-dalek 3.2.0\", \"hashbrown\", \"hex\", \"rand_core 0.6.4\", \"sha2 0.9.9\", \"zeroize\"]\n\n[[package]]\nname = \"either\"\nversion = \"1.8.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91\"\n\n[[package]]\nname = \"elliptic-curve\"\nversion = \"0.12.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3\"\ndependencies = [\"base16ct\", \"crypto-bigint\", \"der\", \"digest 0.10.6\", \"ff\", \"generic-array 0.14.6\", \"group\", \"hkdf\", \"pem-rfc7468\", \"pkcs8\", \"rand_core 0.6.4\", \"sec1\", \"subtle\", \"zeroize\"]\n\n[[package]]\nname = \"enum-as-inner\"\nversion = \"0.5.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c9720bba047d567ffc8a3cba48bf19126600e249ab7f128e9233e6376976a116\"\ndependencies = [\"heck\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"env_logger\"\nversion = \"0.10.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0\"\ndependencies = [\"humantime\", \"is-terminal\", \"log\", \"regex\", \"termcolor\"]\n\n[[package]]\nname = \"environmental\"\nversion = \"1.1.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b\"\n\n[[package]]\nname = \"errno\"\nversion = \"0.2.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1\"\ndependencies = [\"errno-dragonfly\", \"libc\", \"winapi\"]\n\n[[package]]\nname = \"errno-dragonfly\"\nversion = \"0.1.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf\"\ndependencies = [\"cc\", \"libc\"]\n\n[[package]]\nname = \"ethbloom\"\nversion = \"0.12.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"11da94e443c60508eb62cf256243a64da87304c2802ac2528847f79d750007ef\"\ndependencies = [\"crunchy\", \"fixed-hash 0.7.0\", \"impl-rlp\", \"impl-serde 0.3.2\", \"tiny-keccak\"]\n\n[[package]]\nname = \"ethereum-types\"\nversion = \"0.13.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b2827b94c556145446fcce834ca86b7abf0c39a805883fe20e72c5bfdb5a0dc6\"\ndependencies = [\"ethbloom\", \"fixed-hash 0.7.0\", \"impl-rlp\", \"impl-serde 0.3.2\", \"primitive-types 0.11.1\", \"uint\"]\n\n[[package]]\nname = \"event-listener\"\nversion = \"2.5.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0\"\n\n[[package]]\nname = \"exit-future\"\nversion = \"0.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5\"\ndependencies = [\"futures\"]\n\n[[package]]\nname = \"fake-simd\"\nversion = \"0.1.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed\"\n\n[[package]]\nname = \"fallible-iterator\"\nversion = \"0.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7\"\n\n[[package]]\nname = \"fastrand\"\nversion = \"1.8.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499\"\ndependencies = [\"instant\"]\n\n[[package]]\nname = \"fdlimit\"\nversion = \"0.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2c4c9e43643f5a3be4ca5b67d26b98031ff9db6806c3440ae32e02e3ceac3f1b\"\ndependencies = [\"libc\"]\n\n[[package]]\nname = \"ff\"\nversion = \"0.12.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160\"\ndependencies = [\"rand_core 0.6.4\", \"subtle\"]\n\n[[package]]\nname = \"fiat-crypto\"\nversion = \"0.1.17\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a214f5bb88731d436478f3ae1f8a277b62124089ba9fb67f4f93fb100ef73c90\"\n\n[[package]]\nname = \"file-per-thread-logger\"\nversion = \"0.1.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"84f2e425d9790201ba4af4630191feac6dcc98765b118d4d18e91d23c2353866\"\ndependencies = [\"env_logger\", \"log\"]\n\n[[package]]\nname = \"filetime\"\nversion = \"0.2.19\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4e884668cd0c7480504233e951174ddc3b382f7c2666e3b7310b5c4e7b0c37f9\"\ndependencies = [\"cfg-if\", \"libc\", \"redox_syscall\", \"windows-sys 0.42.0\"]\n\n[[package]]\nname = \"finality-grandpa\"\nversion = \"0.16.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e24e6c429951433ccb7c87fd528c60084834dcd14763182c1f83291bcde24c34\"\ndependencies = [\"either\", \"futures\", \"futures-timer\", \"log\", \"num-traits\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"scale-info\"]\n\n[[package]]\nname = \"fixed-hash\"\nversion = \"0.7.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c\"\ndependencies = [\"byteorder\", \"rand 0.8.5\", \"rustc-hex\", \"static_assertions\"]\n\n[[package]]\nname = \"fixed-hash\"\nversion = \"0.8.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534\"\ndependencies = [\"byteorder\", \"rand 0.8.5\", \"rustc-hex\", \"static_assertions\"]\n\n[[package]]\nname = \"fixedbitset\"\nversion = \"0.4.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80\"\n\n[[package]]\nname = \"flate2\"\nversion = \"1.0.25\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841\"\ndependencies = [\"crc32fast\", \"libz-sys\", \"miniz_oxide\"]\n\n[[package]]\nname = \"float-cmp\"\nversion = \"0.9.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4\"\ndependencies = [\"num-traits\"]\n\n[[package]]\nname = \"fnv\"\nversion = \"1.0.7\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1\"\n\n[[package]]\nname = \"fork-tree\"\nversion = \"3.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"parity-scale-codec\"]\n\n[[package]]\nname = \"form_urlencoded\"\nversion = \"1.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8\"\ndependencies = [\"percent-encoding\"]\n\n[[package]]\nname = \"fragile\"\nversion = \"2.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa\"\n\n[[package]]\nname = \"frame-benchmarking\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-support\", \"frame-system\", \"linregress\", \"log\", \"parity-scale-codec\", \"paste\", \"scale-info\", \"serde\", \"sp-api\", \"sp-application-crypto\", \"sp-core\", \"sp-io\", \"sp-runtime\", \"sp-runtime-interface\", \"sp-std\", \"sp-storage\"]\n\n[[package]]\nname = \"frame-benchmarking-cli\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"Inflector\", \"array-bytes\", \"chrono\", \"clap\", \"comfy-table\", \"frame-benchmarking\", \"frame-support\", \"frame-system\", \"gethostname\", \"handlebars\", \"itertools\", \"lazy_static\", \"linked-hash-map\", \"log\", \"parity-scale-codec\", \"rand 0.8.5\", \"rand_pcg\", \"sc-block-builder\", \"sc-cli\", \"sc-client-api\", \"sc-client-db\", \"sc-executor\", \"sc-service\", \"sc-sysinfo\", \"serde\", \"serde_json\", \"sp-api\", \"sp-blockchain\", \"sp-core\", \"sp-database\", \"sp-externalities\", \"sp-inherents\", \"sp-keystore\", \"sp-runtime\", \"sp-state-machine\", \"sp-std\", \"sp-storage\", \"sp-trie\", \"thiserror\", \"thousands\"]\n\n[[package]]\nname = \"frame-executive\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-support\", \"frame-system\", \"frame-try-runtime\", \"parity-scale-codec\", \"scale-info\", \"sp-core\", \"sp-io\", \"sp-runtime\", \"sp-std\", \"sp-tracing\"]\n\n[[package]]\nname = \"frame-metadata\"\nversion = \"15.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"df6bb8542ef006ef0de09a5c4420787d79823c0ed7924225822362fd2bf2ff2d\"\ndependencies = [\"cfg-if\", \"parity-scale-codec\", \"scale-info\", \"serde\"]\n\n[[package]]\nname = \"frame-remote-externalities\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"futures\", \"log\", \"parity-scale-codec\", \"serde\", \"sp-core\", \"sp-io\", \"sp-runtime\", \"substrate-rpc-client\", \"tokio\"]\n\n[[package]]\nname = \"frame-support\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"bitflags\", \"frame-metadata\", \"frame-support-procedural\", \"impl-trait-for-tuples\", \"k256\", \"log\", \"once_cell\", \"parity-scale-codec\", \"paste\", \"scale-info\", \"serde\", \"smallvec\", \"sp-api\", \"sp-arithmetic\", \"sp-core\", \"sp-core-hashing-proc-macro\", \"sp-inherents\", \"sp-io\", \"sp-runtime\", \"sp-staking\", \"sp-state-machine\", \"sp-std\", \"sp-tracing\", \"sp-weights\", \"tt-call\"]\n\n[[package]]\nname = \"frame-support-procedural\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"Inflector\", \"cfg-expr\", \"frame-support-procedural-tools\", \"itertools\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"frame-support-procedural-tools\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-support-procedural-tools-derive\", \"proc-macro-crate\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"frame-support-procedural-tools-derive\"\nversion = \"3.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"frame-system\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-support\", \"log\", \"parity-scale-codec\", \"scale-info\", \"serde\", \"sp-core\", \"sp-io\", \"sp-runtime\", \"sp-std\", \"sp-version\", \"sp-weights\"]\n\n[[package]]\nname = \"frame-system-benchmarking\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-benchmarking\", \"frame-support\", \"frame-system\", \"parity-scale-codec\", \"scale-info\", \"sp-core\", \"sp-runtime\", \"sp-std\"]\n\n[[package]]\nname = \"frame-system-rpc-runtime-api\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"parity-scale-codec\", \"sp-api\"]\n\n[[package]]\nname = \"frame-try-runtime\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-support\", \"parity-scale-codec\", \"sp-api\", \"sp-runtime\", \"sp-std\"]\n\n[[package]]\nname = \"fs2\"\nversion = \"0.4.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213\"\ndependencies = [\"libc\", \"winapi\"]\n\n[[package]]\nname = \"funty\"\nversion = \"2.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c\"\n\n[[package]]\nname = \"futures\"\nversion = \"0.3.26\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"13e2792b0ff0340399d58445b88fd9770e3489eff258a4cbc1523418f12abf84\"\ndependencies = [\"futures-channel\", \"futures-core\", \"futures-executor\", \"futures-io\", \"futures-sink\", \"futures-task\", \"futures-util\"]\n\n[[package]]\nname = \"futures-channel\"\nversion = \"0.3.26\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5\"\ndependencies = [\"futures-core\", \"futures-sink\"]\n\n[[package]]\nname = \"futures-core\"\nversion = \"0.3.26\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608\"\n\n[[package]]\nname = \"futures-executor\"\nversion = \"0.3.26\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e\"\ndependencies = [\"futures-core\", \"futures-task\", \"futures-util\", \"num_cpus\"]\n\n[[package]]\nname = \"futures-io\"\nversion = \"0.3.26\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531\"\n\n[[package]]\nname = \"futures-lite\"\nversion = \"1.12.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48\"\ndependencies = [\"fastrand\", \"futures-core\", \"futures-io\", \"memchr\", \"parking\", \"pin-project-lite 0.2.9\", \"waker-fn\"]\n\n[[package]]\nname = \"futures-macro\"\nversion = \"0.3.26\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"futures-rustls\"\nversion = \"0.22.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d2411eed028cdf8c8034eaf21f9915f956b6c3abec4d4c7949ee67f0721127bd\"\ndependencies = [\"futures-io\", \"rustls 0.20.8\", \"webpki 0.22.0\"]\n\n[[package]]\nname = \"futures-sink\"\nversion = \"0.3.26\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364\"\n\n[[package]]\nname = \"futures-task\"\nversion = \"0.3.26\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366\"\n\n[[package]]\nname = \"futures-timer\"\nversion = \"3.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c\"\n\n[[package]]\nname = \"futures-util\"\nversion = \"0.3.26\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1\"\ndependencies = [\"futures-channel\", \"futures-core\", \"futures-io\", \"futures-macro\", \"futures-sink\", \"futures-task\", \"memchr\", \"pin-project-lite 0.2.9\", \"pin-utils\", \"slab\"]\n\n[[package]]\nname = \"fxhash\"\nversion = \"0.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c\"\ndependencies = [\"byteorder\"]\n\n[[package]]\nname = \"generic-array\"\nversion = \"0.12.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd\"\ndependencies = [\"typenum 1.16.0 (registry+https://github.com/rust-lang/crates.io-index)\"]\n\n[[package]]\nname = \"generic-array\"\nversion = \"0.14.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9\"\ndependencies = [\"typenum 1.16.0 (registry+https://github.com/rust-lang/crates.io-index)\", \"version_check\"]\n\n[[package]]\nname = \"gethostname\"\nversion = \"0.2.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e\"\ndependencies = [\"libc\", \"winapi\"]\n\n[[package]]\nname = \"getrandom\"\nversion = \"0.1.16\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce\"\ndependencies = [\"cfg-if\", \"libc\", \"wasi 0.9.0+wasi-snapshot-preview1\"]\n\n[[package]]\nname = \"getrandom\"\nversion = \"0.2.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31\"\ndependencies = [\"cfg-if\", \"libc\", \"wasi 0.11.0+wasi-snapshot-preview1\"]\n\n[[package]]\nname = \"ghash\"\nversion = \"0.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375\"\ndependencies = [\"opaque-debug 0.3.0\", \"polyval 0.4.5\"]\n\n[[package]]\nname = \"ghash\"\nversion = \"0.4.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99\"\ndependencies = [\"opaque-debug 0.3.0\", \"polyval 0.5.3\"]\n\n[[package]]\nname = \"gimli\"\nversion = \"0.26.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d\"\ndependencies = [\"fallible-iterator\", \"indexmap\", \"stable_deref_trait\"]\n\n[[package]]\nname = \"gimli\"\nversion = \"0.27.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"221996f774192f0f718773def8201c4ae31f02616a54ccfc2d358bb0e5cefdec\"\n\n[[package]]\nname = \"glob\"\nversion = \"0.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b\"\n\n[[package]]\nname = \"globset\"\nversion = \"0.4.10\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc\"\ndependencies = [\"aho-corasick\", \"bstr\", \"fnv\", \"log\", \"regex\"]\n\n[[package]]\nname = \"group\"\nversion = \"0.12.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7\"\ndependencies = [\"ff\", \"rand_core 0.6.4\", \"subtle\"]\n\n[[package]]\nname = \"h2\"\nversion = \"0.3.15\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4\"\ndependencies = [\"bytes\", \"fnv\", \"futures-core\", \"futures-sink\", \"futures-util\", \"http\", \"indexmap\", \"slab\", \"tokio\", \"tokio-util\", \"tracing\"]\n\n[[package]]\nname = \"handlebars\"\nversion = \"4.3.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"035ef95d03713f2c347a72547b7cd38cbc9af7cd51e6099fb62d586d4a6dee3a\"\ndependencies = [\"log\", \"pest\", \"pest_derive\", \"serde\", \"serde_json\", \"thiserror\"]\n\n[[package]]\nname = \"hash-db\"\nversion = \"0.15.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d23bd4e7b5eda0d0f3a307e8b381fdc8ba9000f26fbe912250c0a4cc3956364a\"\n\n[[package]]\nname = \"hash256-std-hasher\"\nversion = \"0.15.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"92c171d55b98633f4ed3860808f004099b36c1cc29c42cfc53aa8591b21efcf2\"\ndependencies = [\"crunchy\"]\n\n[[package]]\nname = \"hashbrown\"\nversion = \"0.12.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888\"\ndependencies = [\"ahash\"]\n\n[[package]]\nname = \"heck\"\nversion = \"0.4.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8\"\n\n[[package]]\nname = \"hermit-abi\"\nversion = \"0.1.19\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33\"\ndependencies = [\"libc\"]\n\n[[package]]\nname = \"hermit-abi\"\nversion = \"0.2.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7\"\ndependencies = [\"libc\"]\n\n[[package]]\nname = \"hermit-abi\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"856b5cb0902c2b6d65d5fd97dfa30f9b70c7538e770b98eab5ed52d8db923e01\"\n\n[[package]]\nname = \"hex\"\nversion = \"0.4.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70\"\n\n[[package]]\nname = \"hkdf\"\nversion = \"0.12.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437\"\ndependencies = [\"hmac 0.12.1\"]\n\n[[package]]\nname = \"hmac\"\nversion = \"0.8.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840\"\ndependencies = [\"crypto-mac 0.8.0\", \"digest 0.9.0\"]\n\n[[package]]\nname = \"hmac\"\nversion = \"0.10.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c1441c6b1e930e2817404b5046f1f989899143a12bf92de603b69f4e0aee1e15\"\ndependencies = [\"crypto-mac 0.10.1\", \"digest 0.9.0\"]\n\n[[package]]\nname = \"hmac\"\nversion = \"0.11.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b\"\ndependencies = [\"crypto-mac 0.11.1\", \"digest 0.9.0\"]\n\n[[package]]\nname = \"hmac\"\nversion = \"0.12.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e\"\ndependencies = [\"digest 0.10.6\"]\n\n[[package]]\nname = \"hmac-drbg\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1\"\ndependencies = [\"digest 0.9.0\", \"generic-array 0.14.6\", \"hmac 0.8.1\"]\n\n[[package]]\nname = \"hostname\"\nversion = \"0.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867\"\ndependencies = [\"libc\", \"match_cfg\", \"winapi\"]\n\n[[package]]\nname = \"http\"\nversion = \"0.2.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399\"\ndependencies = [\"bytes\", \"fnv\", \"itoa\"]\n\n[[package]]\nname = \"http-body\"\nversion = \"0.4.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1\"\ndependencies = [\"bytes\", \"http\", \"pin-project-lite 0.2.9\"]\n\n[[package]]\nname = \"http-range-header\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29\"\n\n[[package]]\nname = \"httparse\"\nversion = \"1.8.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904\"\n\n[[package]]\nname = \"httpdate\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421\"\n\n[[package]]\nname = \"humantime\"\nversion = \"2.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4\"\n\n[[package]]\nname = \"hyper\"\nversion = \"0.14.24\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5e011372fa0b68db8350aa7a248930ecc7839bf46d8485577d69f117a75f164c\"\ndependencies = [\"bytes\", \"futures-channel\", \"futures-core\", \"futures-util\", \"h2\", \"http\", \"http-body\", \"httparse\", \"httpdate\", \"itoa\", \"pin-project-lite 0.2.9\", \"socket2\", \"tokio\", \"tower-service\", \"tracing\", \"want\"]\n\n[[package]]\nname = \"hyper-rustls\"\nversion = \"0.23.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c\"\ndependencies = [\"http\", \"hyper\", \"log\", \"rustls 0.20.8\", \"rustls-native-certs\", \"tokio\", \"tokio-rustls\"]\n\n[[package]]\nname = \"iana-time-zone\"\nversion = \"0.1.53\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765\"\ndependencies = [\"android_system_properties\", \"core-foundation-sys\", \"iana-time-zone-haiku\", \"js-sys\", \"wasm-bindgen\", \"winapi\"]\n\n[[package]]\nname = \"iana-time-zone-haiku\"\nversion = \"0.1.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca\"\ndependencies = [\"cxx\", \"cxx-build\"]\n\n[[package]]\nname = \"ident_case\"\nversion = \"1.0.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39\"\n\n[[package]]\nname = \"idna\"\nversion = \"0.2.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8\"\ndependencies = [\"matches\", \"unicode-bidi\", \"unicode-normalization\"]\n\n[[package]]\nname = \"idna\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6\"\ndependencies = [\"unicode-bidi\", \"unicode-normalization\"]\n\n[[package]]\nname = \"if-addrs\"\nversion = \"0.7.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cbc0fa01ffc752e9dbc72818cdb072cd028b86be5e09dd04c5a643704fe101a9\"\ndependencies = [\"libc\", \"winapi\"]\n\n[[package]]\nname = \"if-watch\"\nversion = \"3.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ba7abdbb86e485125dad06c2691e1e393bf3b08c7b743b43aa162a00fd39062e\"\ndependencies = [\"async-io\", \"core-foundation\", \"fnv\", \"futures\", \"if-addrs\", \"ipnet\", \"log\", \"rtnetlink\", \"system-configuration\", \"tokio\", \"windows\"]\n\n[[package]]\nname = \"impl-codec\"\nversion = \"0.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f\"\ndependencies = [\"parity-scale-codec\"]\n\n[[package]]\nname = \"impl-rlp\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808\"\ndependencies = [\"rlp\"]\n\n[[package]]\nname = \"impl-serde\"\nversion = \"0.3.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4551f042f3438e64dbd6226b20527fc84a6e1fe65688b58746a2f53623f25f5c\"\ndependencies = [\"serde\"]\n\n[[package]]\nname = \"impl-serde\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd\"\ndependencies = [\"serde\"]\n\n[[package]]\nname = \"impl-trait-for-tuples\"\nversion = \"0.2.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"indexmap\"\nversion = \"1.9.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399\"\ndependencies = [\"autocfg\", \"hashbrown\", \"serde\"]\n\n[[package]]\nname = \"instant\"\nversion = \"0.1.12\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c\"\ndependencies = [\"cfg-if\"]\n\n[[package]]\nname = \"integer-sqrt\"\nversion = \"0.1.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770\"\ndependencies = [\"num-traits\"]\n\n[[package]]\nname = \"interceptor\"\nversion = \"0.8.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1e8a11ae2da61704edada656798b61c94b35ecac2c58eb955156987d5e6be90b\"\ndependencies = [\"async-trait\", \"bytes\", \"log\", \"rand 0.8.5\", \"rtcp\", \"rtp\", \"thiserror\", \"tokio\", \"waitgroup\", \"webrtc-srtp\", \"webrtc-util\"]\n\n[[package]]\nname = \"io-lifetimes\"\nversion = \"0.7.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074\"\n\n[[package]]\nname = \"io-lifetimes\"\nversion = \"1.0.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3\"\ndependencies = [\"libc\", \"windows-sys 0.45.0\"]\n\n[[package]]\nname = \"ip_network\"\nversion = \"0.4.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"aa2f047c0a98b2f299aa5d6d7088443570faae494e9ae1305e48be000c9e0eb1\"\n\n[[package]]\nname = \"ipconfig\"\nversion = \"0.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bd302af1b90f2463a98fa5ad469fc212c8e3175a41c3068601bfa2727591c5be\"\ndependencies = [\"socket2\", \"widestring\", \"winapi\", \"winreg\"]\n\n[[package]]\nname = \"ipnet\"\nversion = \"2.7.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146\"\n\n[[package]]\nname = \"is-terminal\"\nversion = \"0.4.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"22e18b0a45d56fe973d6db23972bf5bc46f988a4a2385deac9cc29572f09daef\"\ndependencies = [\"hermit-abi 0.3.0\", \"io-lifetimes 1.0.5\", \"rustix 0.36.8\", \"windows-sys 0.45.0\"]\n\n[[package]]\nname = \"itertools\"\nversion = \"0.10.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473\"\ndependencies = [\"either\"]\n\n[[package]]\nname = \"itoa\"\nversion = \"1.0.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440\"\n\n[[package]]\nname = \"jobserver\"\nversion = \"0.1.25\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b\"\ndependencies = [\"libc\"]\n\n[[package]]\nname = \"js-sys\"\nversion = \"0.3.61\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730\"\ndependencies = [\"wasm-bindgen\"]\n\n[[package]]\nname = \"jsonrpsee\"\nversion = \"0.16.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7d291e3a5818a2384645fd9756362e6d89cf0541b0b916fa7702ea4a9833608e\"\ndependencies = [\"jsonrpsee-core\", \"jsonrpsee-proc-macros\", \"jsonrpsee-server\", \"jsonrpsee-types\", \"jsonrpsee-ws-client\", \"tracing\"]\n\n[[package]]\nname = \"jsonrpsee-client-transport\"\nversion = \"0.16.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"965de52763f2004bc91ac5bcec504192440f0b568a5d621c59d9dbd6f886c3fb\"\ndependencies = [\"futures-util\", \"http\", \"jsonrpsee-core\", \"jsonrpsee-types\", \"pin-project\", \"rustls-native-certs\", \"soketto\", \"thiserror\", \"tokio\", \"tokio-rustls\", \"tokio-util\", \"tracing\", \"webpki-roots\"]\n\n[[package]]\nname = \"jsonrpsee-core\"\nversion = \"0.16.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a4e70b4439a751a5de7dd5ed55eacff78ebf4ffe0fc009cb1ebb11417f5b536b\"\ndependencies = [\"anyhow\", \"arrayvec 0.7.2\", \"async-lock\", \"async-trait\", \"beef\", \"futures-channel\", \"futures-timer\", \"futures-util\", \"globset\", \"hyper\", \"jsonrpsee-types\", \"parking_lot 0.12.1\", \"rand 0.8.5\", \"rustc-hash\", \"serde\", \"serde_json\", \"soketto\", \"thiserror\", \"tokio\", \"tracing\"]\n\n[[package]]\nname = \"jsonrpsee-proc-macros\"\nversion = \"0.16.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"baa6da1e4199c10d7b1d0a6e5e8bd8e55f351163b6f4b3cbb044672a69bd4c1c\"\ndependencies = [\"heck\", \"proc-macro-crate\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"jsonrpsee-server\"\nversion = \"0.16.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1fb69dad85df79527c019659a992498d03f8495390496da2f07e6c24c2b356fc\"\ndependencies = [\"futures-channel\", \"futures-util\", \"http\", \"hyper\", \"jsonrpsee-core\", \"jsonrpsee-types\", \"serde\", \"serde_json\", \"soketto\", \"tokio\", \"tokio-stream\", \"tokio-util\", \"tower\", \"tracing\"]\n\n[[package]]\nname = \"jsonrpsee-types\"\nversion = \"0.16.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5bd522fe1ce3702fd94812965d7bb7a3364b1c9aba743944c5a00529aae80f8c\"\ndependencies = [\"anyhow\", \"beef\", \"serde\", \"serde_json\", \"thiserror\", \"tracing\"]\n\n[[package]]\nname = \"jsonrpsee-ws-client\"\nversion = \"0.16.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0b83daeecfc6517cfe210df24e570fb06213533dfb990318fae781f4c7119dd9\"\ndependencies = [\"http\", \"jsonrpsee-client-transport\", \"jsonrpsee-core\", \"jsonrpsee-types\"]\n\n[[package]]\nname = \"k256\"\nversion = \"0.11.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b\"\ndependencies = [\"cfg-if\", \"ecdsa\", \"elliptic-curve\", \"sha2 0.10.6\"]\n\n[[package]]\nname = \"keccak\"\nversion = \"0.1.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768\"\ndependencies = [\"cpufeatures\"]\n\n[[package]]\nname = \"kvdb\"\nversion = \"0.13.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e7d770dcb02bf6835887c3a979b5107a04ff4bbde97a5f0928d27404a155add9\"\ndependencies = [\"smallvec\"]\n\n[[package]]\nname = \"kvdb-memorydb\"\nversion = \"0.13.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bf7a85fe66f9ff9cd74e169fdd2c94c6e1e74c412c99a73b4df3200b5d3760b2\"\ndependencies = [\"kvdb\", \"parking_lot 0.12.1\"]\n\n[[package]]\nname = \"kvdb-rocksdb\"\nversion = \"0.17.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2182b8219fee6bd83aacaab7344e840179ae079d5216aa4e249b4d704646a844\"\ndependencies = [\"kvdb\", \"num_cpus\", \"parking_lot 0.12.1\", \"regex\", \"rocksdb\", \"smallvec\"]\n\n[[package]]\nname = \"lazy_static\"\nversion = \"1.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646\"\n\n[[package]]\nname = \"lazycell\"\nversion = \"1.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55\"\n\n[[package]]\nname = \"libc\"\nversion = \"0.2.139\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79\"\n\n[[package]]\nname = \"libloading\"\nversion = \"0.7.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f\"\ndependencies = [\"cfg-if\", \"winapi\"]\n\n[[package]]\nname = \"libm\"\nversion = \"0.1.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a\"\n\n[[package]]\nname = \"libm\"\nversion = \"0.2.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb\"\n\n[[package]]\nname = \"libp2p\"\nversion = \"0.50.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2e0a0d2f693675f49ded13c5d510c48b78069e23cbd9108d7ccd59f6dc568819\"\ndependencies = [\"bytes\", \"futures\", \"futures-timer\", \"getrandom 0.2.8\", \"instant\", \"libp2p-core\", \"libp2p-dns\", \"libp2p-identify\", \"libp2p-kad\", \"libp2p-mdns\", \"libp2p-metrics\", \"libp2p-mplex\", \"libp2p-noise\", \"libp2p-ping\", \"libp2p-quic\", \"libp2p-request-response\", \"libp2p-swarm\", \"libp2p-tcp\", \"libp2p-wasm-ext\", \"libp2p-webrtc\", \"libp2p-websocket\", \"libp2p-yamux\", \"multiaddr\", \"parking_lot 0.12.1\", \"pin-project\", \"smallvec\"]\n\n[[package]]\nname = \"libp2p-core\"\nversion = \"0.38.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b6a8fcd392ff67af6cc3f03b1426c41f7f26b6b9aff2dc632c1c56dd649e571f\"\ndependencies = [\"asn1_der\", \"bs58\", \"ed25519-dalek\", \"either\", \"fnv\", \"futures\", \"futures-timer\", \"instant\", \"log\", \"multiaddr\", \"multihash\", \"multistream-select\", \"once_cell\", \"parking_lot 0.12.1\", \"pin-project\", \"prost\", \"prost-build\", \"rand 0.8.5\", \"rw-stream-sink\", \"sec1\", \"sha2 0.10.6\", \"smallvec\", \"thiserror\", \"unsigned-varint\", \"void\", \"zeroize\"]\n\n[[package]]\nname = \"libp2p-dns\"\nversion = \"0.38.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8e42a271c1b49f789b92f7fc87749fa79ce5c7bdc88cbdfacb818a4bca47fec5\"\ndependencies = [\"futures\", \"libp2p-core\", \"log\", \"parking_lot 0.12.1\", \"smallvec\", \"trust-dns-resolver\"]\n\n[[package]]\nname = \"libp2p-identify\"\nversion = \"0.41.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c052d0026f4817b44869bfb6810f4e1112f43aec8553f2cb38881c524b563abf\"\ndependencies = [\"asynchronous-codec\", \"futures\", \"futures-timer\", \"libp2p-core\", \"libp2p-swarm\", \"log\", \"lru 0.8.1\", \"prost\", \"prost-build\", \"prost-codec\", \"smallvec\", \"thiserror\", \"void\"]\n\n[[package]]\nname = \"libp2p-kad\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2766dcd2be8c87d5e1f35487deb22d765f49c6ae1251b3633efe3b25698bd3d2\"\ndependencies = [\"arrayvec 0.7.2\", \"asynchronous-codec\", \"bytes\", \"either\", \"fnv\", \"futures\", \"futures-timer\", \"instant\", \"libp2p-core\", \"libp2p-swarm\", \"log\", \"prost\", \"prost-build\", \"rand 0.8.5\", \"sha2 0.10.6\", \"smallvec\", \"thiserror\", \"uint\", \"unsigned-varint\", \"void\"]\n\n[[package]]\nname = \"libp2p-mdns\"\nversion = \"0.42.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"04f378264aade9872d6ccd315c0accc18be3a35d15fc1b9c36e5b6f983b62b5b\"\ndependencies = [\"data-encoding\", \"futures\", \"if-watch\", \"libp2p-core\", \"libp2p-swarm\", \"log\", \"rand 0.8.5\", \"smallvec\", \"socket2\", \"tokio\", \"trust-dns-proto\", \"void\"]\n\n[[package]]\nname = \"libp2p-metrics\"\nversion = \"0.11.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5ad8a64f29da86005c86a4d2728b8a0719e9b192f4092b609fd8790acb9dec55\"\ndependencies = [\"libp2p-core\", \"libp2p-identify\", \"libp2p-kad\", \"libp2p-ping\", \"libp2p-swarm\", \"prometheus-client\"]\n\n[[package]]\nname = \"libp2p-mplex\"\nversion = \"0.38.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"03805b44107aa013e7cbbfa5627b31c36cbedfdfb00603c0311998882bc4bace\"\ndependencies = [\"asynchronous-codec\", \"bytes\", \"futures\", \"libp2p-core\", \"log\", \"nohash-hasher\", \"parking_lot 0.12.1\", \"rand 0.8.5\", \"smallvec\", \"unsigned-varint\"]\n\n[[package]]\nname = \"libp2p-noise\"\nversion = \"0.41.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a978cb57efe82e892ec6f348a536bfbd9fee677adbe5689d7a93ad3a9bffbf2e\"\ndependencies = [\"bytes\", \"curve25519-dalek 3.2.0\", \"futures\", \"libp2p-core\", \"log\", \"once_cell\", \"prost\", \"prost-build\", \"rand 0.8.5\", \"sha2 0.10.6\", \"snow\", \"static_assertions\", \"thiserror\", \"x25519-dalek 1.1.1\", \"zeroize\"]\n\n[[package]]\nname = \"libp2p-ping\"\nversion = \"0.41.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"929fcace45a112536e22b3dcfd4db538723ef9c3cb79f672b98be2cc8e25f37f\"\ndependencies = [\"futures\", \"futures-timer\", \"instant\", \"libp2p-core\", \"libp2p-swarm\", \"log\", \"rand 0.8.5\", \"void\"]\n\n[[package]]\nname = \"libp2p-quic\"\nversion = \"0.7.0-alpha\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"01e7c867e95c8130667b24409d236d37598270e6da69b3baf54213ba31ffca59\"\ndependencies = [\"bytes\", \"futures\", \"futures-timer\", \"if-watch\", \"libp2p-core\", \"libp2p-tls\", \"log\", \"parking_lot 0.12.1\", \"quinn-proto\", \"rand 0.8.5\", \"rustls 0.20.8\", \"thiserror\", \"tokio\"]\n\n[[package]]\nname = \"libp2p-request-response\"\nversion = \"0.23.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3236168796727bfcf4927f766393415361e2c644b08bedb6a6b13d957c9a4884\"\ndependencies = [\"async-trait\", \"bytes\", \"futures\", \"instant\", \"libp2p-core\", \"libp2p-swarm\", \"log\", \"rand 0.8.5\", \"smallvec\", \"unsigned-varint\"]\n\n[[package]]\nname = \"libp2p-swarm\"\nversion = \"0.41.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b2a35472fe3276b3855c00f1c032ea8413615e030256429ad5349cdf67c6e1a0\"\ndependencies = [\"either\", \"fnv\", \"futures\", \"futures-timer\", \"instant\", \"libp2p-core\", \"libp2p-swarm-derive\", \"log\", \"pin-project\", \"rand 0.8.5\", \"smallvec\", \"thiserror\", \"tokio\", \"void\"]\n\n[[package]]\nname = \"libp2p-swarm-derive\"\nversion = \"0.31.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9d527d5827582abd44a6d80c07ff8b50b4ee238a8979e05998474179e79dc400\"\ndependencies = [\"heck\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"libp2p-tcp\"\nversion = \"0.38.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b4b257baf6df8f2df39678b86c578961d48cc8b68642a12f0f763f56c8e5858d\"\ndependencies = [\"futures\", \"futures-timer\", \"if-watch\", \"libc\", \"libp2p-core\", \"log\", \"socket2\", \"tokio\"]\n\n[[package]]\nname = \"libp2p-tls\"\nversion = \"0.1.0-alpha\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f7905ce0d040576634e8a3229a7587cc8beab83f79db6023800f1792895defa8\"\ndependencies = [\"futures\", \"futures-rustls\", \"libp2p-core\", \"rcgen 0.10.0\", \"ring\", \"rustls 0.20.8\", \"thiserror\", \"webpki 0.22.0\", \"x509-parser 0.14.0\", \"yasna\"]\n\n[[package]]\nname = \"libp2p-wasm-ext\"\nversion = \"0.38.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1bb1a35299860e0d4b3c02a3e74e3b293ad35ae0cee8a056363b0c862d082069\"\ndependencies = [\"futures\", \"js-sys\", \"libp2p-core\", \"parity-send-wrapper\", \"wasm-bindgen\", \"wasm-bindgen-futures\"]\n\n[[package]]\nname = \"libp2p-webrtc\"\nversion = \"0.4.0-alpha\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cdb6cd86dd68cba72308ea05de1cebf3ba0ae6e187c40548167955d4e3970f6a\"\ndependencies = [\"async-trait\", \"asynchronous-codec\", \"bytes\", \"futures\", \"futures-timer\", \"hex\", \"if-watch\", \"libp2p-core\", \"libp2p-noise\", \"log\", \"multihash\", \"prost\", \"prost-build\", \"prost-codec\", \"rand 0.8.5\", \"rcgen 0.9.3\", \"serde\", \"stun\", \"thiserror\", \"tinytemplate\", \"tokio\", \"tokio-util\", \"webrtc\"]\n\n[[package]]\nname = \"libp2p-websocket\"\nversion = \"0.40.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1d705506030d5c0aaf2882437c70dab437605f21c5f9811978f694e6917a3b54\"\ndependencies = [\"either\", \"futures\", \"futures-rustls\", \"libp2p-core\", \"log\", \"parking_lot 0.12.1\", \"quicksink\", \"rw-stream-sink\", \"soketto\", \"url\", \"webpki-roots\"]\n\n[[package]]\nname = \"libp2p-yamux\"\nversion = \"0.42.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4f63594a0aa818642d9d4915c791945053877253f08a3626f13416b5cd928a29\"\ndependencies = [\"futures\", \"libp2p-core\", \"log\", \"parking_lot 0.12.1\", \"thiserror\", \"yamux\"]\n\n[[package]]\nname = \"librocksdb-sys\"\nversion = \"0.8.0+7.4.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"611804e4666a25136fcc5f8cf425ab4d26c7f74ea245ffe92ea23b85b6420b5d\"\ndependencies = [\"bindgen\", \"bzip2-sys\", \"cc\", \"glob\", \"libc\", \"libz-sys\", \"tikv-jemalloc-sys\"]\n\n[[package]]\nname = \"libsecp256k1\"\nversion = \"0.7.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"95b09eff1b35ed3b33b877ced3a691fc7a481919c7e29c53c906226fcf55e2a1\"\ndependencies = [\"arrayref\", \"base64 0.13.1\", \"digest 0.9.0\", \"hmac-drbg\", \"libsecp256k1-core\", \"libsecp256k1-gen-ecmult\", \"libsecp256k1-gen-genmult\", \"rand 0.8.5\", \"serde\", \"sha2 0.9.9\", \"typenum 1.16.0 (registry+https://github.com/rust-lang/crates.io-index)\"]\n\n[[package]]\nname = \"libsecp256k1-core\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451\"\ndependencies = [\"crunchy\", \"digest 0.9.0\", \"subtle\"]\n\n[[package]]\nname = \"libsecp256k1-gen-ecmult\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3038c808c55c87e8a172643a7d87187fc6c4174468159cb3090659d55bcb4809\"\ndependencies = [\"libsecp256k1-core\"]\n\n[[package]]\nname = \"libsecp256k1-gen-genmult\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3db8d6ba2cec9eacc40e6e8ccc98931840301f1006e95647ceb2dd5c3aa06f7c\"\ndependencies = [\"libsecp256k1-core\"]\n\n[[package]]\nname = \"libz-sys\"\nversion = \"1.1.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf\"\ndependencies = [\"cc\", \"pkg-config\", \"vcpkg\"]\n\n[[package]]\nname = \"link-cplusplus\"\nversion = \"1.0.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5\"\ndependencies = [\"cc\"]\n\n[[package]]\nname = \"linked-hash-map\"\nversion = \"0.5.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f\"\n\n[[package]]\nname = \"linked_hash_set\"\nversion = \"0.1.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"47186c6da4d81ca383c7c47c1bfc80f4b95f4720514d860a5407aaf4233f9588\"\ndependencies = [\"linked-hash-map\"]\n\n[[package]]\nname = \"linregress\"\nversion = \"0.4.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d6c601a85f5ecd1aba625247bca0031585fb1c446461b142878a16f8245ddeb8\"\ndependencies = [\"nalgebra\", \"statrs\"]\n\n[[package]]\nname = \"linux-raw-sys\"\nversion = \"0.0.46\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d\"\n\n[[package]]\nname = \"linux-raw-sys\"\nversion = \"0.1.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4\"\n\n[[package]]\nname = \"lock_api\"\nversion = \"0.4.9\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df\"\ndependencies = [\"autocfg\", \"scopeguard\"]\n\n[[package]]\nname = \"log\"\nversion = \"0.4.17\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e\"\ndependencies = [\"cfg-if\"]\n\n[[package]]\nname = \"lru\"\nversion = \"0.7.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a\"\ndependencies = [\"hashbrown\"]\n\n[[package]]\nname = \"lru\"\nversion = \"0.8.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909\"\ndependencies = [\"hashbrown\"]\n\n[[package]]\nname = \"lru-cache\"\nversion = \"0.1.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c\"\ndependencies = [\"linked-hash-map\"]\n\n[[package]]\nname = \"lz4\"\nversion = \"1.24.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7e9e2dd86df36ce760a60f6ff6ad526f7ba1f14ba0356f8254fb6905e6494df1\"\ndependencies = [\"libc\", \"lz4-sys\"]\n\n[[package]]\nname = \"lz4-sys\"\nversion = \"1.9.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"57d27b317e207b10f69f5e75494119e391a96f48861ae870d1da6edac98ca900\"\ndependencies = [\"cc\", \"libc\"]\n\n[[package]]\nname = \"mach\"\nversion = \"0.3.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa\"\ndependencies = [\"libc\"]\n\n[[package]]\nname = \"match_cfg\"\nversion = \"0.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4\"\n\n[[package]]\nname = \"matchers\"\nversion = \"0.0.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f099785f7595cc4b4553a174ce30dd7589ef93391ff414dbb67f62392b9e0ce1\"\ndependencies = [\"regex-automata\"]\n\n[[package]]\nname = \"matches\"\nversion = \"0.1.10\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5\"\n\n[[package]]\nname = \"matrixmultiply\"\nversion = \"0.3.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"add85d4dd35074e6fedc608f8c8f513a3548619a9024b751949ef0e8e45a4d84\"\ndependencies = [\"rawpointer\"]\n\n[[package]]\nname = \"md-5\"\nversion = \"0.10.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca\"\ndependencies = [\"digest 0.10.6\"]\n\n[[package]]\nname = \"memchr\"\nversion = \"2.5.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d\"\n\n[[package]]\nname = \"memfd\"\nversion = \"0.6.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b20a59d985586e4a5aef64564ac77299f8586d8be6cf9106a5a40207e8908efb\"\ndependencies = [\"rustix 0.36.8\"]\n\n[[package]]\nname = \"memmap2\"\nversion = \"0.5.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4b182332558b18d807c4ce1ca8ca983b34c3ee32765e47b3f0f69b90355cc1dc\"\ndependencies = [\"libc\"]\n\n[[package]]\nname = \"memoffset\"\nversion = \"0.6.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce\"\ndependencies = [\"autocfg\"]\n\n[[package]]\nname = \"memoffset\"\nversion = \"0.7.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4\"\ndependencies = [\"autocfg\"]\n\n[[package]]\nname = \"memory-db\"\nversion = \"0.31.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66\"\ndependencies = [\"hash-db\", \"hashbrown\"]\n\n[[package]]\nname = \"memory_units\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3\"\n\n[[package]]\nname = \"merlin\"\nversion = \"2.0.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4e261cf0f8b3c42ded9f7d2bb59dea03aa52bc8a1cbc7482f9fc3fd1229d3b42\"\ndependencies = [\"byteorder\", \"keccak\", \"rand_core 0.5.1\", \"zeroize\"]\n\n[[package]]\nname = \"minimal-lexical\"\nversion = \"0.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a\"\n\n[[package]]\nname = \"miniz_oxide\"\nversion = \"0.6.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa\"\ndependencies = [\"adler\"]\n\n[[package]]\nname = \"mio\"\nversion = \"0.8.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de\"\ndependencies = [\"libc\", \"log\", \"wasi 0.11.0+wasi-snapshot-preview1\", \"windows-sys 0.42.0\"]\n\n[[package]]\nname = \"mockall\"\nversion = \"0.11.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"50e4a1c770583dac7ab5e2f6c139153b783a53a1bbee9729613f193e59828326\"\ndependencies = [\"cfg-if\", \"downcast\", \"fragile\", \"lazy_static\", \"mockall_derive\", \"predicates\", \"predicates-tree\"]\n\n[[package]]\nname = \"mockall_derive\"\nversion = \"0.11.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"832663583d5fa284ca8810bf7015e46c9fff9622d3cf34bd1eea5003fec06dd0\"\ndependencies = [\"cfg-if\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"multiaddr\"\nversion = \"0.16.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a4aebdb21e90f81d13ed01dc84123320838e53963c2ca94b60b305d3fa64f31e\"\ndependencies = [\"arrayref\", \"byteorder\", \"data-encoding\", \"multibase\", \"multihash\", \"percent-encoding\", \"serde\", \"static_assertions\", \"unsigned-varint\", \"url\"]\n\n[[package]]\nname = \"multibase\"\nversion = \"0.9.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9b3539ec3c1f04ac9748a260728e855f261b4977f5c3406612c884564f329404\"\ndependencies = [\"base-x\", \"data-encoding\", \"data-encoding-macro\"]\n\n[[package]]\nname = \"multihash\"\nversion = \"0.16.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1c346cf9999c631f002d8f977c4eaeaa0e6386f16007202308d0b3757522c2cc\"\ndependencies = [\"blake2b_simd\", \"blake2s_simd\", \"blake3\", \"core2\", \"digest 0.10.6\", \"multihash-derive\", \"sha2 0.10.6\", \"sha3\", \"unsigned-varint\"]\n\n[[package]]\nname = \"multihash-derive\"\nversion = \"0.8.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1d6d4752e6230d8ef7adf7bd5d8c4b1f6561c1014c5ba9a37445ccefe18aa1db\"\ndependencies = [\"proc-macro-crate\", \"proc-macro-error\", \"proc-macro2\", \"quote\", \"syn\", \"synstructure\"]\n\n[[package]]\nname = \"multimap\"\nversion = \"0.8.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a\"\n\n[[package]]\nname = \"multistream-select\"\nversion = \"0.12.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c8552ab875c1313b97b8d20cb857b9fd63e2d1d6a0a1b53ce9821e575405f27a\"\ndependencies = [\"bytes\", \"futures\", \"log\", \"pin-project\", \"smallvec\", \"unsigned-varint\"]\n\n[[package]]\nname = \"nalgebra\"\nversion = \"0.27.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"462fffe4002f4f2e1f6a9dcf12cc1a6fc0e15989014efc02a941d3e0f5dc2120\"\ndependencies = [\"approx\", \"matrixmultiply\", \"nalgebra-macros\", \"num-complex\", \"num-rational\", \"num-traits\", \"rand 0.8.5\", \"rand_distr\", \"simba\", \"typenum 1.16.0 (registry+https://github.com/rust-lang/crates.io-index)\"]\n\n[[package]]\nname = \"nalgebra-macros\"\nversion = \"0.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"names\"\nversion = \"0.13.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e7d66043b25d4a6cccb23619d10c19c25304b355a7dccd4a8e11423dd2382146\"\ndependencies = [\"rand 0.8.5\"]\n\n[[package]]\nname = \"ndarray\"\nversion = \"0.15.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32\"\ndependencies = [\"matrixmultiply\", \"num-complex\", \"num-integer\", \"num-traits\", \"rawpointer\"]\n\n[[package]]\nname = \"netlink-packet-core\"\nversion = \"0.4.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"345b8ab5bd4e71a2986663e88c56856699d060e78e152e6e9d7966fcd5491297\"\ndependencies = [\"anyhow\", \"byteorder\", \"libc\", \"netlink-packet-utils\"]\n\n[[package]]\nname = \"netlink-packet-route\"\nversion = \"0.12.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d9ea4302b9759a7a88242299225ea3688e63c85ea136371bb6cf94fd674efaab\"\ndependencies = [\"anyhow\", \"bitflags\", \"byteorder\", \"libc\", \"netlink-packet-core\", \"netlink-packet-utils\"]\n\n[[package]]\nname = \"netlink-packet-utils\"\nversion = \"0.5.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0ede8a08c71ad5a95cdd0e4e52facd37190977039a4704eb82a283f713747d34\"\ndependencies = [\"anyhow\", \"byteorder\", \"paste\", \"thiserror\"]\n\n[[package]]\nname = \"netlink-proto\"\nversion = \"0.10.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"65b4b14489ab424703c092062176d52ba55485a89c076b4f9db05092b7223aa6\"\ndependencies = [\"bytes\", \"futures\", \"log\", \"netlink-packet-core\", \"netlink-sys\", \"thiserror\", \"tokio\"]\n\n[[package]]\nname = \"netlink-sys\"\nversion = \"0.8.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"260e21fbb6f3d253a14df90eb0000a6066780a15dd901a7519ce02d77a94985b\"\ndependencies = [\"bytes\", \"futures\", \"libc\", \"log\", \"tokio\"]\n\n[[package]]\nname = \"nix\"\nversion = \"0.24.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069\"\ndependencies = [\"bitflags\", \"cfg-if\", \"libc\", \"memoffset 0.6.5\"]\n\n[[package]]\nname = \"node-subtensor\"\nversion = \"0.0.1\"\ndependencies = [\"clap\", \"frame-benchmarking\", \"frame-benchmarking-cli\", \"frame-system\", \"futures\", \"jsonrpsee\", \"memmap2\", \"node-subtensor-runtime\", \"pallet-transaction-payment\", \"pallet-transaction-payment-rpc\", \"sc-basic-authorship\", \"sc-cli\", \"sc-client-api\", \"sc-consensus\", \"sc-consensus-aura\", \"sc-executor\", \"sc-finality-grandpa\", \"sc-keystore\", \"sc-rpc\", \"sc-rpc-api\", \"sc-service\", \"sc-telemetry\", \"sc-transaction-pool\", \"sc-transaction-pool-api\", \"serde\", \"serde_json\", \"sp-api\", \"sp-block-builder\", \"sp-blockchain\", \"sp-consensus\", \"sp-consensus-aura\", \"sp-core\", \"sp-finality-grandpa\", \"sp-inherents\", \"sp-io\", \"sp-keyring\", \"sp-runtime\", \"sp-timestamp\", \"substrate-build-script-utils\", \"substrate-frame-rpc-system\", \"subtensor-custom-rpc\", \"subtensor-custom-rpc-runtime-api\", \"try-runtime-cli\"]\n\n[[package]]\nname = \"node-subtensor-runtime\"\nversion = \"0.0.1\"\ndependencies = [\"frame-benchmarking\", \"frame-executive\", \"frame-support\", \"frame-system\", \"frame-system-benchmarking\", \"frame-system-rpc-runtime-api\", \"frame-try-runtime\", \"pallet-aura\", \"pallet-balances\", \"pallet-grandpa\", \"pallet-randomness-collective-flip\", \"pallet-subtensor\", \"pallet-sudo\", \"pallet-timestamp\", \"pallet-transaction-payment\", \"pallet-transaction-payment-rpc-runtime-api\", \"parity-scale-codec\", \"scale-info\", \"smallvec\", \"sp-api\", \"sp-block-builder\", \"sp-consensus-aura\", \"sp-core\", \"sp-inherents\", \"sp-offchain\", \"sp-runtime\", \"sp-session\", \"sp-std\", \"sp-transaction-pool\", \"sp-version\", \"substrate-wasm-builder\", \"subtensor-custom-rpc-runtime-api\"]\n\n[[package]]\nname = \"nohash-hasher\"\nversion = \"0.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451\"\n\n[[package]]\nname = \"nom\"\nversion = \"7.1.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a\"\ndependencies = [\"memchr\", \"minimal-lexical\"]\n\n[[package]]\nname = \"normalize-line-endings\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be\"\n\n[[package]]\nname = \"num-bigint\"\nversion = \"0.4.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f\"\ndependencies = [\"autocfg\", \"num-integer\", \"num-traits\"]\n\n[[package]]\nname = \"num-complex\"\nversion = \"0.4.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d\"\ndependencies = [\"num-traits\"]\n\n[[package]]\nname = \"num-format\"\nversion = \"0.4.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3\"\ndependencies = [\"arrayvec 0.7.2\", \"itoa\"]\n\n[[package]]\nname = \"num-integer\"\nversion = \"0.1.45\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9\"\ndependencies = [\"autocfg\", \"num-traits\"]\n\n[[package]]\nname = \"num-rational\"\nversion = \"0.4.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0\"\ndependencies = [\"autocfg\", \"num-bigint\", \"num-integer\", \"num-traits\"]\n\n[[package]]\nname = \"num-traits\"\nversion = \"0.2.15\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd\"\ndependencies = [\"autocfg\", \"libm 0.2.6\"]\n\n[[package]]\nname = \"num_cpus\"\nversion = \"1.15.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b\"\ndependencies = [\"hermit-abi 0.2.6\", \"libc\"]\n\n[[package]]\nname = \"object\"\nversion = \"0.29.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53\"\ndependencies = [\"crc32fast\", \"hashbrown\", \"indexmap\", \"memchr\"]\n\n[[package]]\nname = \"object\"\nversion = \"0.30.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439\"\ndependencies = [\"memchr\"]\n\n[[package]]\nname = \"oid-registry\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"38e20717fa0541f39bd146692035c37bedfa532b3e5071b35761082407546b2a\"\ndependencies = [\"asn1-rs 0.3.1\"]\n\n[[package]]\nname = \"oid-registry\"\nversion = \"0.6.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff\"\ndependencies = [\"asn1-rs 0.5.1\"]\n\n[[package]]\nname = \"once_cell\"\nversion = \"1.17.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66\"\n\n[[package]]\nname = \"opaque-debug\"\nversion = \"0.2.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c\"\n\n[[package]]\nname = \"opaque-debug\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5\"\n\n[[package]]\nname = \"openssl-probe\"\nversion = \"0.1.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf\"\n\n[[package]]\nname = \"os_str_bytes\"\nversion = \"6.4.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee\"\n\n[[package]]\nname = \"p256\"\nversion = \"0.11.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594\"\ndependencies = [\"ecdsa\", \"elliptic-curve\", \"sha2 0.10.6\"]\n\n[[package]]\nname = \"p384\"\nversion = \"0.11.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"dfc8c5bf642dde52bb9e87c0ecd8ca5a76faac2eeed98dedb7c717997e1080aa\"\ndependencies = [\"ecdsa\", \"elliptic-curve\", \"sha2 0.10.6\"]\n\n[[package]]\nname = \"packed_simd_2\"\nversion = \"0.3.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a1914cd452d8fccd6f9db48147b29fd4ae05bea9dc5d9ad578509f72415de282\"\ndependencies = [\"cfg-if\", \"libm 0.1.4\"]\n\n[[package]]\nname = \"pallet-aura\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-support\", \"frame-system\", \"pallet-timestamp\", \"parity-scale-codec\", \"scale-info\", \"sp-application-crypto\", \"sp-consensus-aura\", \"sp-runtime\", \"sp-std\"]\n\n[[package]]\nname = \"pallet-authorship\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-support\", \"frame-system\", \"impl-trait-for-tuples\", \"parity-scale-codec\", \"scale-info\", \"sp-authorship\", \"sp-runtime\", \"sp-std\"]\n\n[[package]]\nname = \"pallet-balances\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-benchmarking\", \"frame-support\", \"frame-system\", \"log\", \"parity-scale-codec\", \"scale-info\", \"sp-runtime\", \"sp-std\"]\n\n[[package]]\nname = \"pallet-grandpa\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-benchmarking\", \"frame-support\", \"frame-system\", \"log\", \"pallet-authorship\", \"pallet-session\", \"parity-scale-codec\", \"scale-info\", \"sp-application-crypto\", \"sp-core\", \"sp-finality-grandpa\", \"sp-io\", \"sp-runtime\", \"sp-session\", \"sp-staking\", \"sp-std\"]\n\n[[package]]\nname = \"pallet-randomness-collective-flip\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-support\", \"frame-system\", \"parity-scale-codec\", \"safe-mix\", \"scale-info\", \"sp-runtime\", \"sp-std\"]\n\n[[package]]\nname = \"pallet-session\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-support\", \"frame-system\", \"impl-trait-for-tuples\", \"log\", \"pallet-timestamp\", \"parity-scale-codec\", \"scale-info\", \"sp-core\", \"sp-io\", \"sp-runtime\", \"sp-session\", \"sp-staking\", \"sp-std\", \"sp-trie\"]\n\n[[package]]\nname = \"pallet-subtensor\"\nversion = \"0.0.1\"\ndependencies = [\"frame-benchmarking\", \"frame-support\", \"frame-system\", \"log\", \"ndarray\", \"pallet-balances\", \"pallet-transaction-payment\", \"parity-scale-codec\", \"parity-util-mem\", \"rand 0.8.5\", \"scale-info\", \"serde\", \"serde-tuple-vec-map\", \"serde_bytes\", \"serde_with\", \"sp-core\", \"sp-io\", \"sp-runtime\", \"sp-std\", \"sp-tracing\", \"sp-version\", \"substrate-fixed\"]\n\n[[package]]\nname = \"pallet-sudo\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-support\", \"frame-system\", \"parity-scale-codec\", \"scale-info\", \"sp-io\", \"sp-runtime\", \"sp-std\"]\n\n[[package]]\nname = \"pallet-timestamp\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-benchmarking\", \"frame-support\", \"frame-system\", \"log\", \"parity-scale-codec\", \"scale-info\", \"sp-inherents\", \"sp-io\", \"sp-runtime\", \"sp-std\", \"sp-timestamp\"]\n\n[[package]]\nname = \"pallet-transaction-payment\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-support\", \"frame-system\", \"parity-scale-codec\", \"scale-info\", \"serde\", \"sp-core\", \"sp-io\", \"sp-runtime\", \"sp-std\"]\n\n[[package]]\nname = \"pallet-transaction-payment-rpc\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"jsonrpsee\", \"pallet-transaction-payment-rpc-runtime-api\", \"parity-scale-codec\", \"sp-api\", \"sp-blockchain\", \"sp-core\", \"sp-rpc\", \"sp-runtime\", \"sp-weights\"]\n\n[[package]]\nname = \"pallet-transaction-payment-rpc-runtime-api\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"pallet-transaction-payment\", \"parity-scale-codec\", \"sp-api\", \"sp-runtime\", \"sp-weights\"]\n\n[[package]]\nname = \"parity-db\"\nversion = \"0.4.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"dd684a725651d9588ef21f140a328b6b4f64e646b2e931f3e6f14f75eedf9980\"\ndependencies = [\"blake2\", \"crc32fast\", \"fs2\", \"hex\", \"libc\", \"log\", \"lz4\", \"memmap2\", \"parking_lot 0.12.1\", \"rand 0.8.5\", \"snap\"]\n\n[[package]]\nname = \"parity-scale-codec\"\nversion = \"3.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c3840933452adf7b3b9145e27086a5a3376c619dca1a21b1e5a5af0d54979bed\"\ndependencies = [\"arrayvec 0.7.2\", \"bitvec\", \"byte-slice-cast\", \"bytes\", \"impl-trait-for-tuples\", \"parity-scale-codec-derive\", \"serde\"]\n\n[[package]]\nname = \"parity-scale-codec-derive\"\nversion = \"3.1.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"86b26a931f824dd4eca30b3e43bb4f31cd5f0d3a403c5f5ff27106b805bfde7b\"\ndependencies = [\"proc-macro-crate\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"parity-send-wrapper\"\nversion = \"0.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"aa9777aa91b8ad9dd5aaa04a9b6bcb02c7f1deb952fca5a66034d5e63afc5c6f\"\n\n[[package]]\nname = \"parity-util-mem\"\nversion = \"0.11.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c32561d248d352148124f036cac253a644685a21dc9fea383eb4907d7bd35a8f\"\ndependencies = [\"cfg-if\", \"ethereum-types\", \"hashbrown\", \"impl-trait-for-tuples\", \"lru 0.7.8\", \"parity-util-mem-derive\", \"parking_lot 0.12.1\", \"primitive-types 0.11.1\", \"smallvec\", \"winapi\"]\n\n[[package]]\nname = \"parity-util-mem-derive\"\nversion = \"0.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2\"\ndependencies = [\"proc-macro2\", \"syn\", \"synstructure\"]\n\n[[package]]\nname = \"parity-wasm\"\nversion = \"0.45.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304\"\n\n[[package]]\nname = \"parking\"\nversion = \"2.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72\"\n\n[[package]]\nname = \"parking_lot\"\nversion = \"0.11.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99\"\ndependencies = [\"instant\", \"lock_api\", \"parking_lot_core 0.8.6\"]\n\n[[package]]\nname = \"parking_lot\"\nversion = \"0.12.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f\"\ndependencies = [\"lock_api\", \"parking_lot_core 0.9.7\"]\n\n[[package]]\nname = \"parking_lot_core\"\nversion = \"0.8.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc\"\ndependencies = [\"cfg-if\", \"instant\", \"libc\", \"redox_syscall\", \"smallvec\", \"winapi\"]\n\n[[package]]\nname = \"parking_lot_core\"\nversion = \"0.9.7\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521\"\ndependencies = [\"cfg-if\", \"libc\", \"redox_syscall\", \"smallvec\", \"windows-sys 0.45.0\"]\n\n[[package]]\nname = \"paste\"\nversion = \"1.0.11\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba\"\n\n[[package]]\nname = \"pbkdf2\"\nversion = \"0.8.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa\"\ndependencies = [\"crypto-mac 0.11.1\"]\n\n[[package]]\nname = \"pbkdf2\"\nversion = \"0.11.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917\"\ndependencies = [\"digest 0.10.6\"]\n\n[[package]]\nname = \"peeking_take_while\"\nversion = \"0.1.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099\"\n\n[[package]]\nname = \"pem\"\nversion = \"1.1.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8\"\ndependencies = [\"base64 0.13.1\"]\n\n[[package]]\nname = \"pem-rfc7468\"\nversion = \"0.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"24d159833a9105500e0398934e205e0773f0b27529557134ecfc51c27646adac\"\ndependencies = [\"base64ct\"]\n\n[[package]]\nname = \"percent-encoding\"\nversion = \"2.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e\"\n\n[[package]]\nname = \"pest\"\nversion = \"2.5.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4ab62d2fa33726dbe6321cc97ef96d8cde531e3eeaf858a058de53a8a6d40d8f\"\ndependencies = [\"thiserror\", \"ucd-trie\"]\n\n[[package]]\nname = \"pest_derive\"\nversion = \"2.5.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8bf026e2d0581559db66d837fe5242320f525d85c76283c61f4d51a1238d65ea\"\ndependencies = [\"pest\", \"pest_generator\"]\n\n[[package]]\nname = \"pest_generator\"\nversion = \"2.5.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2b27bd18aa01d91c8ed2b61ea23406a676b42d82609c6e2581fba42f0c15f17f\"\ndependencies = [\"pest\", \"pest_meta\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"pest_meta\"\nversion = \"2.5.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9f02b677c1859756359fc9983c2e56a0237f18624a3789528804406b7e915e5d\"\ndependencies = [\"once_cell\", \"pest\", \"sha2 0.10.6\"]\n\n[[package]]\nname = \"petgraph\"\nversion = \"0.6.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4\"\ndependencies = [\"fixedbitset\", \"indexmap\"]\n\n[[package]]\nname = \"pin-project\"\nversion = \"1.0.12\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc\"\ndependencies = [\"pin-project-internal\"]\n\n[[package]]\nname = \"pin-project-internal\"\nversion = \"1.0.12\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"pin-project-lite\"\nversion = \"0.1.12\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777\"\n\n[[package]]\nname = \"pin-project-lite\"\nversion = \"0.2.9\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116\"\n\n[[package]]\nname = \"pin-utils\"\nversion = \"0.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184\"\n\n[[package]]\nname = \"pkcs8\"\nversion = \"0.9.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba\"\ndependencies = [\"der\", \"spki\"]\n\n[[package]]\nname = \"pkg-config\"\nversion = \"0.3.26\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160\"\n\n[[package]]\nname = \"platforms\"\nversion = \"2.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e8d0eef3571242013a0d5dc84861c3ae4a652e56e12adf8bdc26ff5f8cb34c94\"\n\n[[package]]\nname = \"platforms\"\nversion = \"3.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e3d7ddaed09e0eb771a79ab0fd64609ba0afb0a8366421957936ad14cbd13630\"\n\n[[package]]\nname = \"polling\"\nversion = \"2.5.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"22122d5ec4f9fe1b3916419b76be1e80bcb93f618d071d2edf841b137b2a2bd6\"\ndependencies = [\"autocfg\", \"cfg-if\", \"libc\", \"log\", \"wepoll-ffi\", \"windows-sys 0.42.0\"]\n\n[[package]]\nname = \"poly1305\"\nversion = \"0.7.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"048aeb476be11a4b6ca432ca569e375810de9294ae78f4774e78ea98a9246ede\"\ndependencies = [\"cpufeatures\", \"opaque-debug 0.3.0\", \"universal-hash\"]\n\n[[package]]\nname = \"polyval\"\nversion = \"0.4.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd\"\ndependencies = [\"cpuid-bool\", \"opaque-debug 0.3.0\", \"universal-hash\"]\n\n[[package]]\nname = \"polyval\"\nversion = \"0.5.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1\"\ndependencies = [\"cfg-if\", \"cpufeatures\", \"opaque-debug 0.3.0\", \"universal-hash\"]\n\n[[package]]\nname = \"ppv-lite86\"\nversion = \"0.2.17\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de\"\n\n[[package]]\nname = \"predicates\"\nversion = \"2.1.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd\"\ndependencies = [\"difflib\", \"float-cmp\", \"itertools\", \"normalize-line-endings\", \"predicates-core\", \"regex\"]\n\n[[package]]\nname = \"predicates-core\"\nversion = \"1.0.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"72f883590242d3c6fc5bf50299011695fa6590c2c70eac95ee1bdb9a733ad1a2\"\n\n[[package]]\nname = \"predicates-tree\"\nversion = \"1.0.7\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"54ff541861505aabf6ea722d2131ee980b8276e10a1297b94e896dd8b621850d\"\ndependencies = [\"predicates-core\", \"termtree\"]\n\n[[package]]\nname = \"prettyplease\"\nversion = \"0.1.23\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e97e3215779627f01ee256d2fad52f3d95e8e1c11e9fc6fd08f7cd455d5d5c78\"\ndependencies = [\"proc-macro2\", \"syn\"]\n\n[[package]]\nname = \"primitive-types\"\nversion = \"0.11.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e28720988bff275df1f51b171e1b2a18c30d194c4d2b61defdacecd625a5d94a\"\ndependencies = [\"fixed-hash 0.7.0\", \"impl-codec\", \"impl-rlp\", \"impl-serde 0.3.2\", \"uint\"]\n\n[[package]]\nname = \"primitive-types\"\nversion = \"0.12.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66\"\ndependencies = [\"fixed-hash 0.8.0\", \"impl-codec\", \"impl-serde 0.4.0\", \"scale-info\", \"uint\"]\n\n[[package]]\nname = \"proc-macro-crate\"\nversion = \"1.1.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a\"\ndependencies = [\"thiserror\", \"toml\"]\n\n[[package]]\nname = \"proc-macro-error\"\nversion = \"1.0.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c\"\ndependencies = [\"proc-macro-error-attr\", \"proc-macro2\", \"quote\", \"syn\", \"version_check\"]\n\n[[package]]\nname = \"proc-macro-error-attr\"\nversion = \"1.0.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869\"\ndependencies = [\"proc-macro2\", \"quote\", \"version_check\"]\n\n[[package]]\nname = \"proc-macro2\"\nversion = \"1.0.51\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6\"\ndependencies = [\"unicode-ident\"]\n\n[[package]]\nname = \"prometheus\"\nversion = \"0.13.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"449811d15fbdf5ceb5c1144416066429cf82316e2ec8ce0c1f6f8a02e7bbcf8c\"\ndependencies = [\"cfg-if\", \"fnv\", \"lazy_static\", \"memchr\", \"parking_lot 0.12.1\", \"thiserror\"]\n\n[[package]]\nname = \"prometheus-client\"\nversion = \"0.18.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"83cd1b99916654a69008fd66b4f9397fbe08e6e51dfe23d4417acf5d3b8cb87c\"\ndependencies = [\"dtoa\", \"itoa\", \"parking_lot 0.12.1\", \"prometheus-client-derive-text-encode\"]\n\n[[package]]\nname = \"prometheus-client-derive-text-encode\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"66a455fbcb954c1a7decf3c586e860fd7889cddf4b8e164be736dbac95a953cd\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"prost\"\nversion = \"0.11.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"21dc42e00223fc37204bd4aa177e69420c604ca4a183209a8f9de30c6d934698\"\ndependencies = [\"bytes\", \"prost-derive\"]\n\n[[package]]\nname = \"prost-build\"\nversion = \"0.11.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a3f8ad728fb08fe212df3c05169e940fbb6d9d16a877ddde14644a983ba2012e\"\ndependencies = [\"bytes\", \"heck\", \"itertools\", \"lazy_static\", \"log\", \"multimap\", \"petgraph\", \"prettyplease\", \"prost\", \"prost-types\", \"regex\", \"syn\", \"tempfile\", \"which\"]\n\n[[package]]\nname = \"prost-codec\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0dc34979ff898b6e141106178981ce2596c387ea6e62533facfc61a37fc879c0\"\ndependencies = [\"asynchronous-codec\", \"bytes\", \"prost\", \"thiserror\", \"unsigned-varint\"]\n\n[[package]]\nname = \"prost-derive\"\nversion = \"0.11.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8bda8c0881ea9f722eb9629376db3d0b903b462477c1aafcb0566610ac28ac5d\"\ndependencies = [\"anyhow\", \"itertools\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"prost-types\"\nversion = \"0.11.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a5e0526209433e96d83d750dd81a99118edbc55739e7e61a46764fd2ad537788\"\ndependencies = [\"bytes\", \"prost\"]\n\n[[package]]\nname = \"psm\"\nversion = \"0.1.21\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874\"\ndependencies = [\"cc\"]\n\n[[package]]\nname = \"quick-error\"\nversion = \"1.2.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0\"\n\n[[package]]\nname = \"quicksink\"\nversion = \"0.1.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"77de3c815e5a160b1539c6592796801df2043ae35e123b46d73380cfa57af858\"\ndependencies = [\"futures-core\", \"futures-sink\", \"pin-project-lite 0.1.12\"]\n\n[[package]]\nname = \"quinn-proto\"\nversion = \"0.9.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"72ef4ced82a24bb281af338b9e8f94429b6eca01b4e66d899f40031f074e74c9\"\ndependencies = [\"bytes\", \"rand 0.8.5\", \"ring\", \"rustc-hash\", \"rustls 0.20.8\", \"slab\", \"thiserror\", \"tinyvec\", \"tracing\", \"webpki 0.22.0\"]\n\n[[package]]\nname = \"quote\"\nversion = \"1.0.23\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b\"\ndependencies = [\"proc-macro2\"]\n\n[[package]]\nname = \"radium\"\nversion = \"0.7.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09\"\n\n[[package]]\nname = \"rand\"\nversion = \"0.7.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03\"\ndependencies = [\"getrandom 0.1.16\", \"libc\", \"rand_chacha 0.2.2\", \"rand_core 0.5.1\", \"rand_hc\"]\n\n[[package]]\nname = \"rand\"\nversion = \"0.8.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404\"\ndependencies = [\"libc\", \"rand_chacha 0.3.1\", \"rand_core 0.6.4\"]\n\n[[package]]\nname = \"rand_chacha\"\nversion = \"0.2.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402\"\ndependencies = [\"ppv-lite86\", \"rand_core 0.5.1\"]\n\n[[package]]\nname = \"rand_chacha\"\nversion = \"0.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88\"\ndependencies = [\"ppv-lite86\", \"rand_core 0.6.4\"]\n\n[[package]]\nname = \"rand_core\"\nversion = \"0.5.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19\"\ndependencies = [\"getrandom 0.1.16\"]\n\n[[package]]\nname = \"rand_core\"\nversion = \"0.6.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c\"\ndependencies = [\"getrandom 0.2.8\"]\n\n[[package]]\nname = \"rand_distr\"\nversion = \"0.4.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31\"\ndependencies = [\"num-traits\", \"rand 0.8.5\"]\n\n[[package]]\nname = \"rand_hc\"\nversion = \"0.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c\"\ndependencies = [\"rand_core 0.5.1\"]\n\n[[package]]\nname = \"rand_pcg\"\nversion = \"0.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e\"\ndependencies = [\"rand_core 0.6.4\"]\n\n[[package]]\nname = \"rawpointer\"\nversion = \"0.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3\"\n\n[[package]]\nname = \"rayon\"\nversion = \"1.6.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7\"\ndependencies = [\"either\", \"rayon-core\"]\n\n[[package]]\nname = \"rayon-core\"\nversion = \"1.10.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"356a0625f1954f730c0201cdab48611198dc6ce21f4acff55089b5a78e6e835b\"\ndependencies = [\"crossbeam-channel\", \"crossbeam-deque\", \"crossbeam-utils\", \"num_cpus\"]\n\n[[package]]\nname = \"rcgen\"\nversion = \"0.9.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd\"\ndependencies = [\"pem\", \"ring\", \"time 0.3.17\", \"x509-parser 0.13.2\", \"yasna\"]\n\n[[package]]\nname = \"rcgen\"\nversion = \"0.10.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b\"\ndependencies = [\"pem\", \"ring\", \"time 0.3.17\", \"yasna\"]\n\n[[package]]\nname = \"redox_syscall\"\nversion = \"0.2.16\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a\"\ndependencies = [\"bitflags\"]\n\n[[package]]\nname = \"redox_users\"\nversion = \"0.4.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b\"\ndependencies = [\"getrandom 0.2.8\", \"redox_syscall\", \"thiserror\"]\n\n[[package]]\nname = \"ref-cast\"\nversion = \"1.0.14\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8c78fb8c9293bcd48ef6fce7b4ca950ceaf21210de6e105a883ee280c0f7b9ed\"\ndependencies = [\"ref-cast-impl\"]\n\n[[package]]\nname = \"ref-cast-impl\"\nversion = \"1.0.14\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9f9c0c92af03644e4806106281fe2e068ac5bc0ae74a707266d06ea27bccee5f\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"regalloc2\"\nversion = \"0.3.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d43a209257d978ef079f3d446331d0f1794f5e0fc19b306a199983857833a779\"\ndependencies = [\"fxhash\", \"log\", \"slice-group-by\", \"smallvec\"]\n\n[[package]]\nname = \"regex\"\nversion = \"1.7.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733\"\ndependencies = [\"aho-corasick\", \"memchr\", \"regex-syntax\"]\n\n[[package]]\nname = \"regex-automata\"\nversion = \"0.1.10\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132\"\ndependencies = [\"regex-syntax\"]\n\n[[package]]\nname = \"regex-syntax\"\nversion = \"0.6.28\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848\"\n\n[[package]]\nname = \"remove_dir_all\"\nversion = \"0.5.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7\"\ndependencies = [\"winapi\"]\n\n[[package]]\nname = \"resolv-conf\"\nversion = \"0.7.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00\"\ndependencies = [\"hostname\", \"quick-error\"]\n\n[[package]]\nname = \"rfc6979\"\nversion = \"0.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb\"\ndependencies = [\"crypto-bigint\", \"hmac 0.12.1\", \"zeroize\"]\n\n[[package]]\nname = \"ring\"\nversion = \"0.16.20\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc\"\ndependencies = [\"cc\", \"libc\", \"once_cell\", \"spin\", \"untrusted\", \"web-sys\", \"winapi\"]\n\n[[package]]\nname = \"rlp\"\nversion = \"0.5.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec\"\ndependencies = [\"bytes\", \"rustc-hex\"]\n\n[[package]]\nname = \"rocksdb\"\nversion = \"0.19.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7e9562ea1d70c0cc63a34a22d977753b50cca91cc6b6527750463bd5dd8697bc\"\ndependencies = [\"libc\", \"librocksdb-sys\"]\n\n[[package]]\nname = \"rpassword\"\nversion = \"7.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6678cf63ab3491898c0d021b493c94c9b221d91295294a2a5746eacbe5928322\"\ndependencies = [\"libc\", \"rtoolbox\", \"winapi\"]\n\n[[package]]\nname = \"rtcp\"\nversion = \"0.7.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1919efd6d4a6a85d13388f9487549bb8e359f17198cc03ffd72f79b553873691\"\ndependencies = [\"bytes\", \"thiserror\", \"webrtc-util\"]\n\n[[package]]\nname = \"rtnetlink\"\nversion = \"0.10.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"322c53fd76a18698f1c27381d58091de3a043d356aa5bd0d510608b565f469a0\"\ndependencies = [\"futures\", \"log\", \"netlink-packet-route\", \"netlink-proto\", \"nix\", \"thiserror\", \"tokio\"]\n\n[[package]]\nname = \"rtoolbox\"\nversion = \"0.0.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"034e22c514f5c0cb8a10ff341b9b048b5ceb21591f31c8f44c43b960f9b3524a\"\ndependencies = [\"libc\", \"winapi\"]\n\n[[package]]\nname = \"rtp\"\nversion = \"0.6.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a2a095411ff00eed7b12e4c6a118ba984d113e1079582570d56a5ee723f11f80\"\ndependencies = [\"async-trait\", \"bytes\", \"rand 0.8.5\", \"serde\", \"thiserror\", \"webrtc-util\"]\n\n[[package]]\nname = \"rustc-demangle\"\nversion = \"0.1.21\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342\"\n\n[[package]]\nname = \"rustc-hash\"\nversion = \"1.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2\"\n\n[[package]]\nname = \"rustc-hex\"\nversion = \"2.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6\"\n\n[[package]]\nname = \"rustc_version\"\nversion = \"0.2.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a\"\ndependencies = [\"semver 0.9.0\"]\n\n[[package]]\nname = \"rustc_version\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366\"\ndependencies = [\"semver 1.0.16\"]\n\n[[package]]\nname = \"rusticata-macros\"\nversion = \"4.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632\"\ndependencies = [\"nom\"]\n\n[[package]]\nname = \"rustix\"\nversion = \"0.35.13\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"727a1a6d65f786ec22df8a81ca3121107f235970dc1705ed681d3e6e8b9cd5f9\"\ndependencies = [\"bitflags\", \"errno\", \"io-lifetimes 0.7.5\", \"libc\", \"linux-raw-sys 0.0.46\", \"windows-sys 0.42.0\"]\n\n[[package]]\nname = \"rustix\"\nversion = \"0.36.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f43abb88211988493c1abb44a70efa56ff0ce98f233b7b276146f1f3f7ba9644\"\ndependencies = [\"bitflags\", \"errno\", \"io-lifetimes 1.0.5\", \"libc\", \"linux-raw-sys 0.1.4\", \"windows-sys 0.45.0\"]\n\n[[package]]\nname = \"rustls\"\nversion = \"0.19.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7\"\ndependencies = [\"base64 0.13.1\", \"log\", \"ring\", \"sct 0.6.1\", \"webpki 0.21.4\"]\n\n[[package]]\nname = \"rustls\"\nversion = \"0.20.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f\"\ndependencies = [\"log\", \"ring\", \"sct 0.7.0\", \"webpki 0.22.0\"]\n\n[[package]]\nname = \"rustls-native-certs\"\nversion = \"0.6.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50\"\ndependencies = [\"openssl-probe\", \"rustls-pemfile\", \"schannel\", \"security-framework\"]\n\n[[package]]\nname = \"rustls-pemfile\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b\"\ndependencies = [\"base64 0.21.0\"]\n\n[[package]]\nname = \"rustversion\"\nversion = \"1.0.11\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70\"\n\n[[package]]\nname = \"rw-stream-sink\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"26338f5e09bb721b85b135ea05af7767c90b52f6de4f087d4f4a3a9d64e7dc04\"\ndependencies = [\"futures\", \"pin-project\", \"static_assertions\"]\n\n[[package]]\nname = \"ryu\"\nversion = \"1.0.12\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde\"\n\n[[package]]\nname = \"safe-mix\"\nversion = \"1.0.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6d3d055a2582e6b00ed7a31c1524040aa391092bf636328350813f3a0605215c\"\ndependencies = [\"rustc_version 0.2.3\"]\n\n[[package]]\nname = \"same-file\"\nversion = \"1.0.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502\"\ndependencies = [\"winapi-util\"]\n\n[[package]]\nname = \"sc-allocator\"\nversion = \"4.1.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"log\", \"sp-core\", \"sp-wasm-interface\", \"thiserror\"]\n\n[[package]]\nname = \"sc-basic-authorship\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"futures\", \"futures-timer\", \"log\", \"parity-scale-codec\", \"sc-block-builder\", \"sc-client-api\", \"sc-proposer-metrics\", \"sc-telemetry\", \"sc-transaction-pool-api\", \"sp-api\", \"sp-blockchain\", \"sp-consensus\", \"sp-core\", \"sp-inherents\", \"sp-runtime\", \"substrate-prometheus-endpoint\"]\n\n[[package]]\nname = \"sc-block-builder\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"parity-scale-codec\", \"sc-client-api\", \"sp-api\", \"sp-block-builder\", \"sp-blockchain\", \"sp-core\", \"sp-inherents\", \"sp-runtime\", \"sp-state-machine\"]\n\n[[package]]\nname = \"sc-chain-spec\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"memmap2\", \"sc-chain-spec-derive\", \"sc-network-common\", \"sc-telemetry\", \"serde\", \"serde_json\", \"sp-core\", \"sp-runtime\"]\n\n[[package]]\nname = \"sc-chain-spec-derive\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"proc-macro-crate\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"sc-cli\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"array-bytes\", \"chrono\", \"clap\", \"fdlimit\", \"futures\", \"libp2p\", \"log\", \"names\", \"parity-scale-codec\", \"rand 0.8.5\", \"regex\", \"rpassword\", \"sc-client-api\", \"sc-client-db\", \"sc-keystore\", \"sc-network\", \"sc-network-common\", \"sc-service\", \"sc-telemetry\", \"sc-tracing\", \"sc-utils\", \"serde\", \"serde_json\", \"sp-blockchain\", \"sp-core\", \"sp-keyring\", \"sp-keystore\", \"sp-panic-handler\", \"sp-runtime\", \"sp-version\", \"thiserror\", \"tiny-bip39\", \"tokio\"]\n\n[[package]]\nname = \"sc-client-api\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"fnv\", \"futures\", \"log\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"sc-executor\", \"sc-transaction-pool-api\", \"sc-utils\", \"sp-api\", \"sp-blockchain\", \"sp-consensus\", \"sp-core\", \"sp-database\", \"sp-externalities\", \"sp-keystore\", \"sp-runtime\", \"sp-state-machine\", \"sp-storage\", \"substrate-prometheus-endpoint\"]\n\n[[package]]\nname = \"sc-client-db\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"hash-db\", \"kvdb\", \"kvdb-memorydb\", \"kvdb-rocksdb\", \"linked-hash-map\", \"log\", \"parity-db\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"sc-client-api\", \"sc-state-db\", \"sp-arithmetic\", \"sp-blockchain\", \"sp-core\", \"sp-database\", \"sp-runtime\", \"sp-state-machine\", \"sp-trie\"]\n\n[[package]]\nname = \"sc-consensus\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"futures\", \"futures-timer\", \"libp2p\", \"log\", \"mockall\", \"parking_lot 0.12.1\", \"sc-client-api\", \"sc-utils\", \"serde\", \"sp-api\", \"sp-blockchain\", \"sp-consensus\", \"sp-core\", \"sp-runtime\", \"sp-state-machine\", \"substrate-prometheus-endpoint\", \"thiserror\"]\n\n[[package]]\nname = \"sc-consensus-aura\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"futures\", \"log\", \"parity-scale-codec\", \"sc-block-builder\", \"sc-client-api\", \"sc-consensus\", \"sc-consensus-slots\", \"sc-telemetry\", \"sp-api\", \"sp-application-crypto\", \"sp-block-builder\", \"sp-blockchain\", \"sp-consensus\", \"sp-consensus-aura\", \"sp-consensus-slots\", \"sp-core\", \"sp-inherents\", \"sp-keystore\", \"sp-runtime\", \"substrate-prometheus-endpoint\", \"thiserror\"]\n\n[[package]]\nname = \"sc-consensus-slots\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"futures\", \"futures-timer\", \"log\", \"parity-scale-codec\", \"sc-client-api\", \"sc-consensus\", \"sc-telemetry\", \"sp-arithmetic\", \"sp-blockchain\", \"sp-consensus\", \"sp-consensus-slots\", \"sp-core\", \"sp-inherents\", \"sp-runtime\", \"sp-state-machine\"]\n\n[[package]]\nname = \"sc-executor\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"lru 0.8.1\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"sc-executor-common\", \"sc-executor-wasmi\", \"sc-executor-wasmtime\", \"sp-api\", \"sp-core\", \"sp-externalities\", \"sp-io\", \"sp-panic-handler\", \"sp-runtime-interface\", \"sp-trie\", \"sp-version\", \"sp-wasm-interface\", \"tracing\", \"wasmi\"]\n\n[[package]]\nname = \"sc-executor-common\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"sc-allocator\", \"sp-maybe-compressed-blob\", \"sp-wasm-interface\", \"thiserror\", \"wasm-instrument\", \"wasmi\"]\n\n[[package]]\nname = \"sc-executor-wasmi\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"log\", \"sc-allocator\", \"sc-executor-common\", \"sp-runtime-interface\", \"sp-wasm-interface\", \"wasmi\"]\n\n[[package]]\nname = \"sc-executor-wasmtime\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"cfg-if\", \"libc\", \"log\", \"once_cell\", \"rustix 0.35.13\", \"sc-allocator\", \"sc-executor-common\", \"sp-runtime-interface\", \"sp-wasm-interface\", \"wasmtime\"]\n\n[[package]]\nname = \"sc-finality-grandpa\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"ahash\", \"array-bytes\", \"async-trait\", \"dyn-clone\", \"finality-grandpa\", \"fork-tree\", \"futures\", \"futures-timer\", \"log\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"rand 0.8.5\", \"sc-block-builder\", \"sc-chain-spec\", \"sc-client-api\", \"sc-consensus\", \"sc-network\", \"sc-network-common\", \"sc-network-gossip\", \"sc-telemetry\", \"sc-utils\", \"serde_json\", \"sp-api\", \"sp-application-crypto\", \"sp-arithmetic\", \"sp-blockchain\", \"sp-consensus\", \"sp-core\", \"sp-finality-grandpa\", \"sp-keystore\", \"sp-runtime\", \"substrate-prometheus-endpoint\", \"thiserror\"]\n\n[[package]]\nname = \"sc-informant\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"ansi_term\", \"futures\", \"futures-timer\", \"log\", \"sc-client-api\", \"sc-network-common\", \"sp-blockchain\", \"sp-runtime\"]\n\n[[package]]\nname = \"sc-keystore\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"array-bytes\", \"async-trait\", \"parking_lot 0.12.1\", \"serde_json\", \"sp-application-crypto\", \"sp-core\", \"sp-keystore\", \"thiserror\"]\n\n[[package]]\nname = \"sc-network\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"array-bytes\", \"async-trait\", \"asynchronous-codec\", \"backtrace\", \"bytes\", \"either\", \"fnv\", \"futures\", \"futures-timer\", \"ip_network\", \"libp2p\", \"log\", \"lru 0.8.1\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"pin-project\", \"rand 0.8.5\", \"sc-block-builder\", \"sc-client-api\", \"sc-consensus\", \"sc-network-common\", \"sc-peerset\", \"sc-utils\", \"serde\", \"serde_json\", \"smallvec\", \"sp-arithmetic\", \"sp-blockchain\", \"sp-consensus\", \"sp-core\", \"sp-runtime\", \"substrate-prometheus-endpoint\", \"thiserror\", \"unsigned-varint\", \"zeroize\"]\n\n[[package]]\nname = \"sc-network-bitswap\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"cid\", \"futures\", \"libp2p\", \"log\", \"prost\", \"prost-build\", \"sc-client-api\", \"sc-network-common\", \"sp-blockchain\", \"sp-runtime\", \"thiserror\", \"unsigned-varint\"]\n\n[[package]]\nname = \"sc-network-common\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"bitflags\", \"bytes\", \"futures\", \"futures-timer\", \"libp2p\", \"linked_hash_set\", \"parity-scale-codec\", \"prost-build\", \"sc-consensus\", \"sc-peerset\", \"serde\", \"smallvec\", \"sp-blockchain\", \"sp-consensus\", \"sp-finality-grandpa\", \"sp-runtime\", \"substrate-prometheus-endpoint\", \"thiserror\"]\n\n[[package]]\nname = \"sc-network-gossip\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"ahash\", \"futures\", \"futures-timer\", \"libp2p\", \"log\", \"lru 0.8.1\", \"sc-network-common\", \"sc-peerset\", \"sp-runtime\", \"substrate-prometheus-endpoint\", \"tracing\"]\n\n[[package]]\nname = \"sc-network-light\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"array-bytes\", \"futures\", \"libp2p\", \"log\", \"parity-scale-codec\", \"prost\", \"prost-build\", \"sc-client-api\", \"sc-network-common\", \"sc-peerset\", \"sp-blockchain\", \"sp-core\", \"sp-runtime\", \"thiserror\"]\n\n[[package]]\nname = \"sc-network-sync\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"array-bytes\", \"async-trait\", \"fork-tree\", \"futures\", \"libp2p\", \"log\", \"lru 0.8.1\", \"mockall\", \"parity-scale-codec\", \"prost\", \"prost-build\", \"sc-client-api\", \"sc-consensus\", \"sc-network-common\", \"sc-peerset\", \"sc-utils\", \"smallvec\", \"sp-arithmetic\", \"sp-blockchain\", \"sp-consensus\", \"sp-core\", \"sp-finality-grandpa\", \"sp-runtime\", \"substrate-prometheus-endpoint\", \"thiserror\"]\n\n[[package]]\nname = \"sc-network-transactions\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"array-bytes\", \"futures\", \"libp2p\", \"log\", \"parity-scale-codec\", \"pin-project\", \"sc-network-common\", \"sc-peerset\", \"sc-utils\", \"sp-consensus\", \"sp-runtime\", \"substrate-prometheus-endpoint\"]\n\n[[package]]\nname = \"sc-offchain\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"array-bytes\", \"bytes\", \"fnv\", \"futures\", \"futures-timer\", \"hyper\", \"hyper-rustls\", \"libp2p\", \"num_cpus\", \"once_cell\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"rand 0.8.5\", \"sc-client-api\", \"sc-network-common\", \"sc-peerset\", \"sc-utils\", \"sp-api\", \"sp-core\", \"sp-offchain\", \"sp-runtime\", \"threadpool\", \"tracing\"]\n\n[[package]]\nname = \"sc-peerset\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"futures\", \"libp2p\", \"log\", \"sc-utils\", \"serde_json\", \"wasm-timer\"]\n\n[[package]]\nname = \"sc-proposer-metrics\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"log\", \"substrate-prometheus-endpoint\"]\n\n[[package]]\nname = \"sc-rpc\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"futures\", \"jsonrpsee\", \"log\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"sc-block-builder\", \"sc-chain-spec\", \"sc-client-api\", \"sc-rpc-api\", \"sc-tracing\", \"sc-transaction-pool-api\", \"sc-utils\", \"serde_json\", \"sp-api\", \"sp-blockchain\", \"sp-core\", \"sp-keystore\", \"sp-offchain\", \"sp-rpc\", \"sp-runtime\", \"sp-session\", \"sp-version\"]\n\n[[package]]\nname = \"sc-rpc-api\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"jsonrpsee\", \"parity-scale-codec\", \"sc-chain-spec\", \"sc-transaction-pool-api\", \"scale-info\", \"serde\", \"serde_json\", \"sp-core\", \"sp-rpc\", \"sp-runtime\", \"sp-version\", \"thiserror\"]\n\n[[package]]\nname = \"sc-rpc-server\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"http\", \"jsonrpsee\", \"log\", \"serde_json\", \"substrate-prometheus-endpoint\", \"tokio\", \"tower\", \"tower-http\"]\n\n[[package]]\nname = \"sc-rpc-spec-v2\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"array-bytes\", \"futures\", \"futures-util\", \"hex\", \"jsonrpsee\", \"log\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"sc-chain-spec\", \"sc-client-api\", \"sc-transaction-pool-api\", \"serde\", \"sp-api\", \"sp-blockchain\", \"sp-core\", \"sp-runtime\", \"sp-version\", \"thiserror\", \"tokio-stream\"]\n\n[[package]]\nname = \"sc-service\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"directories\", \"exit-future\", \"futures\", \"futures-timer\", \"jsonrpsee\", \"log\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"pin-project\", \"rand 0.8.5\", \"sc-block-builder\", \"sc-chain-spec\", \"sc-client-api\", \"sc-client-db\", \"sc-consensus\", \"sc-executor\", \"sc-informant\", \"sc-keystore\", \"sc-network\", \"sc-network-bitswap\", \"sc-network-common\", \"sc-network-light\", \"sc-network-sync\", \"sc-network-transactions\", \"sc-offchain\", \"sc-rpc\", \"sc-rpc-server\", \"sc-rpc-spec-v2\", \"sc-sysinfo\", \"sc-telemetry\", \"sc-tracing\", \"sc-transaction-pool\", \"sc-transaction-pool-api\", \"sc-utils\", \"serde\", \"serde_json\", \"sp-api\", \"sp-blockchain\", \"sp-consensus\", \"sp-core\", \"sp-externalities\", \"sp-keystore\", \"sp-runtime\", \"sp-session\", \"sp-state-machine\", \"sp-storage\", \"sp-transaction-pool\", \"sp-transaction-storage-proof\", \"sp-trie\", \"sp-version\", \"static_init\", \"substrate-prometheus-endpoint\", \"tempfile\", \"thiserror\", \"tokio\", \"tracing\", \"tracing-futures\"]\n\n[[package]]\nname = \"sc-state-db\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"log\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"sp-core\"]\n\n[[package]]\nname = \"sc-sysinfo\"\nversion = \"6.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"futures\", \"libc\", \"log\", \"rand 0.8.5\", \"rand_pcg\", \"regex\", \"sc-telemetry\", \"serde\", \"serde_json\", \"sp-core\", \"sp-io\", \"sp-std\"]\n\n[[package]]\nname = \"sc-telemetry\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"chrono\", \"futures\", \"libp2p\", \"log\", \"parking_lot 0.12.1\", \"pin-project\", \"rand 0.8.5\", \"sc-utils\", \"serde\", \"serde_json\", \"thiserror\", \"wasm-timer\"]\n\n[[package]]\nname = \"sc-tracing\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"ansi_term\", \"atty\", \"chrono\", \"lazy_static\", \"libc\", \"log\", \"once_cell\", \"parking_lot 0.12.1\", \"regex\", \"rustc-hash\", \"sc-client-api\", \"sc-rpc-server\", \"sc-tracing-proc-macro\", \"serde\", \"sp-api\", \"sp-blockchain\", \"sp-core\", \"sp-rpc\", \"sp-runtime\", \"sp-tracing\", \"thiserror\", \"tracing\", \"tracing-log\", \"tracing-subscriber\"]\n\n[[package]]\nname = \"sc-tracing-proc-macro\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"proc-macro-crate\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"sc-transaction-pool\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"futures\", \"futures-timer\", \"linked-hash-map\", \"log\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"sc-client-api\", \"sc-transaction-pool-api\", \"sc-utils\", \"serde\", \"sp-api\", \"sp-blockchain\", \"sp-core\", \"sp-runtime\", \"sp-tracing\", \"sp-transaction-pool\", \"substrate-prometheus-endpoint\", \"thiserror\"]\n\n[[package]]\nname = \"sc-transaction-pool-api\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"futures\", \"log\", \"serde\", \"sp-blockchain\", \"sp-runtime\", \"thiserror\"]\n\n[[package]]\nname = \"sc-utils\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"backtrace\", \"futures\", \"futures-timer\", \"lazy_static\", \"log\", \"parking_lot 0.12.1\", \"prometheus\"]\n\n[[package]]\nname = \"scale-info\"\nversion = \"2.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"001cf62ece89779fd16105b5f515ad0e5cedcd5440d3dd806bb067978e7c3608\"\ndependencies = [\"bitvec\", \"cfg-if\", \"derive_more\", \"parity-scale-codec\", \"scale-info-derive\", \"serde\"]\n\n[[package]]\nname = \"scale-info-derive\"\nversion = \"2.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"303959cf613a6f6efd19ed4b4ad5bf79966a13352716299ad532cfb115f4205c\"\ndependencies = [\"proc-macro-crate\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"schannel\"\nversion = \"0.1.21\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3\"\ndependencies = [\"windows-sys 0.42.0\"]\n\n[[package]]\nname = \"schnorrkel\"\nversion = \"0.9.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"021b403afe70d81eea68f6ea12f6b3c9588e5d536a94c3bf80f15e7faa267862\"\ndependencies = [\"arrayref\", \"arrayvec 0.5.2\", \"curve25519-dalek 2.1.3\", \"getrandom 0.1.16\", \"merlin\", \"rand 0.7.3\", \"rand_core 0.5.1\", \"sha2 0.8.2\", \"subtle\", \"zeroize\"]\n\n[[package]]\nname = \"scopeguard\"\nversion = \"1.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd\"\n\n[[package]]\nname = \"scratch\"\nversion = \"1.0.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2\"\n\n[[package]]\nname = \"sct\"\nversion = \"0.6.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce\"\ndependencies = [\"ring\", \"untrusted\"]\n\n[[package]]\nname = \"sct\"\nversion = \"0.7.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4\"\ndependencies = [\"ring\", \"untrusted\"]\n\n[[package]]\nname = \"sdp\"\nversion = \"0.5.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4d22a5ef407871893fd72b4562ee15e4742269b173959db4b8df6f538c414e13\"\ndependencies = [\"rand 0.8.5\", \"substring\", \"thiserror\", \"url\"]\n\n[[package]]\nname = \"sec1\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928\"\ndependencies = [\"base16ct\", \"der\", \"generic-array 0.14.6\", \"pkcs8\", \"subtle\", \"zeroize\"]\n\n[[package]]\nname = \"secp256k1\"\nversion = \"0.24.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62\"\ndependencies = [\"secp256k1-sys\"]\n\n[[package]]\nname = \"secp256k1-sys\"\nversion = \"0.6.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"83080e2c2fc1006e625be82e5d1eb6a43b7fd9578b617fcc55814daf286bba4b\"\ndependencies = [\"cc\"]\n\n[[package]]\nname = \"secrecy\"\nversion = \"0.8.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91e\"\ndependencies = [\"zeroize\"]\n\n[[package]]\nname = \"security-framework\"\nversion = \"2.8.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254\"\ndependencies = [\"bitflags\", \"core-foundation\", \"core-foundation-sys\", \"libc\", \"security-framework-sys\"]\n\n[[package]]\nname = \"security-framework-sys\"\nversion = \"2.8.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4\"\ndependencies = [\"core-foundation-sys\", \"libc\"]\n\n[[package]]\nname = \"semver\"\nversion = \"0.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7a3186ec9e65071a2095434b1f5bb24838d4e8e130f584c790f6033c79943537\"\ndependencies = [\"semver-parser\"]\n\n[[package]]\nname = \"semver\"\nversion = \"0.9.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403\"\ndependencies = [\"semver-parser\"]\n\n[[package]]\nname = \"semver\"\nversion = \"1.0.16\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a\"\ndependencies = [\"serde\"]\n\n[[package]]\nname = \"semver-parser\"\nversion = \"0.7.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3\"\n\n[[package]]\nname = \"serde\"\nversion = \"1.0.152\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb\"\ndependencies = [\"serde_derive\"]\n\n[[package]]\nname = \"serde-tuple-vec-map\"\nversion = \"1.0.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a04d0ebe0de77d7d445bb729a895dcb0a288854b267ca85f030ce51cdc578c82\"\ndependencies = [\"serde\"]\n\n[[package]]\nname = \"serde_bytes\"\nversion = \"0.11.9\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"416bda436f9aab92e02c8e10d49a15ddd339cea90b6e340fe51ed97abb548294\"\ndependencies = [\"serde\"]\n\n[[package]]\nname = \"serde_derive\"\nversion = \"1.0.152\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"serde_json\"\nversion = \"1.0.92\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7434af0dc1cbd59268aa98b4c22c131c0584d2232f6fb166efb993e2832e896a\"\ndependencies = [\"itoa\", \"ryu\", \"serde\"]\n\n[[package]]\nname = \"serde_with\"\nversion = \"2.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"89df7a26519371a3cce44fbb914c2819c84d9b897890987fa3ab096491cc0ea8\"\ndependencies = [\"serde\", \"serde_with_macros\"]\n\n[[package]]\nname = \"serde_with_macros\"\nversion = \"2.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a1966009f3c05f095697c537312f5415d1e3ed31ce0a56942bac4c771c5c335e\"\ndependencies = [\"darling\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"sha-1\"\nversion = \"0.9.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6\"\ndependencies = [\"block-buffer 0.9.0\", \"cfg-if\", \"cpufeatures\", \"digest 0.9.0\", \"opaque-debug 0.3.0\"]\n\n[[package]]\nname = \"sha2\"\nversion = \"0.8.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69\"\ndependencies = [\"block-buffer 0.7.3\", \"digest 0.8.1\", \"fake-simd\", \"opaque-debug 0.2.3\"]\n\n[[package]]\nname = \"sha2\"\nversion = \"0.9.9\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800\"\ndependencies = [\"block-buffer 0.9.0\", \"cfg-if\", \"cpufeatures\", \"digest 0.9.0\", \"opaque-debug 0.3.0\"]\n\n[[package]]\nname = \"sha2\"\nversion = \"0.10.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0\"\ndependencies = [\"cfg-if\", \"cpufeatures\", \"digest 0.10.6\"]\n\n[[package]]\nname = \"sha3\"\nversion = \"0.10.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9\"\ndependencies = [\"digest 0.10.6\", \"keccak\"]\n\n[[package]]\nname = \"sharded-slab\"\nversion = \"0.1.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31\"\ndependencies = [\"lazy_static\"]\n\n[[package]]\nname = \"shlex\"\nversion = \"1.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3\"\n\n[[package]]\nname = \"signal-hook-registry\"\nversion = \"1.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0\"\ndependencies = [\"libc\"]\n\n[[package]]\nname = \"signature\"\nversion = \"1.6.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c\"\ndependencies = [\"digest 0.10.6\", \"rand_core 0.6.4\"]\n\n[[package]]\nname = \"simba\"\nversion = \"0.5.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8e82063457853d00243beda9952e910b82593e4b07ae9f721b9278a99a0d3d5c\"\ndependencies = [\"approx\", \"num-complex\", \"num-traits\", \"paste\"]\n\n[[package]]\nname = \"slab\"\nversion = \"0.4.7\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef\"\ndependencies = [\"autocfg\"]\n\n[[package]]\nname = \"slice-group-by\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"03b634d87b960ab1a38c4fe143b508576f075e7c978bfad18217645ebfdfa2ec\"\n\n[[package]]\nname = \"smallvec\"\nversion = \"1.10.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0\"\n\n[[package]]\nname = \"snap\"\nversion = \"1.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5e9f0ab6ef7eb7353d9119c170a436d1bf248eea575ac42d19d12f4e34130831\"\n\n[[package]]\nname = \"snow\"\nversion = \"0.9.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"12ba5f4d4ff12bdb6a169ed51b7c48c0e0ac4b0b4b31012b2571e97d78d3201d\"\ndependencies = [\"aes-gcm 0.9.4\", \"blake2\", \"chacha20poly1305\", \"curve25519-dalek 4.0.0-rc.0\", \"rand_core 0.6.4\", \"ring\", \"rustc_version 0.4.0\", \"sha2 0.10.6\", \"subtle\"]\n\n[[package]]\nname = \"socket2\"\nversion = \"0.4.7\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd\"\ndependencies = [\"libc\", \"winapi\"]\n\n[[package]]\nname = \"soketto\"\nversion = \"0.7.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2\"\ndependencies = [\"base64 0.13.1\", \"bytes\", \"flate2\", \"futures\", \"http\", \"httparse\", \"log\", \"rand 0.8.5\", \"sha-1\"]\n\n[[package]]\nname = \"sp-api\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"hash-db\", \"log\", \"parity-scale-codec\", \"sp-api-proc-macro\", \"sp-core\", \"sp-runtime\", \"sp-state-machine\", \"sp-std\", \"sp-trie\", \"sp-version\", \"thiserror\"]\n\n[[package]]\nname = \"sp-api-proc-macro\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"blake2\", \"proc-macro-crate\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"sp-application-crypto\"\nversion = \"7.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"parity-scale-codec\", \"scale-info\", \"serde\", \"sp-core\", \"sp-io\", \"sp-std\"]\n\n[[package]]\nname = \"sp-arithmetic\"\nversion = \"6.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"integer-sqrt\", \"num-traits\", \"parity-scale-codec\", \"scale-info\", \"serde\", \"sp-std\", \"static_assertions\"]\n\n[[package]]\nname = \"sp-authorship\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"parity-scale-codec\", \"sp-inherents\", \"sp-runtime\", \"sp-std\"]\n\n[[package]]\nname = \"sp-block-builder\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"parity-scale-codec\", \"sp-api\", \"sp-inherents\", \"sp-runtime\", \"sp-std\"]\n\n[[package]]\nname = \"sp-blockchain\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"futures\", \"log\", \"lru 0.8.1\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"sp-api\", \"sp-consensus\", \"sp-database\", \"sp-runtime\", \"sp-state-machine\", \"thiserror\"]\n\n[[package]]\nname = \"sp-consensus\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"futures\", \"log\", \"parity-scale-codec\", \"sp-core\", \"sp-inherents\", \"sp-runtime\", \"sp-state-machine\", \"sp-std\", \"sp-version\", \"thiserror\"]\n\n[[package]]\nname = \"sp-consensus-aura\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"parity-scale-codec\", \"scale-info\", \"sp-api\", \"sp-application-crypto\", \"sp-consensus\", \"sp-consensus-slots\", \"sp-inherents\", \"sp-runtime\", \"sp-std\", \"sp-timestamp\"]\n\n[[package]]\nname = \"sp-consensus-slots\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"parity-scale-codec\", \"scale-info\", \"serde\", \"sp-std\", \"sp-timestamp\"]\n\n[[package]]\nname = \"sp-core\"\nversion = \"7.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"array-bytes\", \"base58\", \"bitflags\", \"blake2\", \"dyn-clonable\", \"ed25519-zebra\", \"futures\", \"hash-db\", \"hash256-std-hasher\", \"impl-serde 0.4.0\", \"lazy_static\", \"libsecp256k1\", \"log\", \"merlin\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"primitive-types 0.12.1\", \"rand 0.8.5\", \"regex\", \"scale-info\", \"schnorrkel\", \"secp256k1\", \"secrecy\", \"serde\", \"sp-core-hashing\", \"sp-debug-derive\", \"sp-externalities\", \"sp-runtime-interface\", \"sp-std\", \"sp-storage\", \"ss58-registry\", \"substrate-bip39\", \"thiserror\", \"tiny-bip39\", \"zeroize\"]\n\n[[package]]\nname = \"sp-core-hashing\"\nversion = \"5.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"blake2\", \"byteorder\", \"digest 0.10.6\", \"sha2 0.10.6\", \"sha3\", \"sp-std\", \"twox-hash\"]\n\n[[package]]\nname = \"sp-core-hashing-proc-macro\"\nversion = \"5.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"proc-macro2\", \"quote\", \"sp-core-hashing\", \"syn\"]\n\n[[package]]\nname = \"sp-database\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"kvdb\", \"parking_lot 0.12.1\"]\n\n[[package]]\nname = \"sp-debug-derive\"\nversion = \"5.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"sp-externalities\"\nversion = \"0.13.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"environmental\", \"parity-scale-codec\", \"sp-std\", \"sp-storage\"]\n\n[[package]]\nname = \"sp-finality-grandpa\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"finality-grandpa\", \"log\", \"parity-scale-codec\", \"scale-info\", \"serde\", \"sp-api\", \"sp-application-crypto\", \"sp-core\", \"sp-keystore\", \"sp-runtime\", \"sp-std\"]\n\n[[package]]\nname = \"sp-inherents\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"impl-trait-for-tuples\", \"parity-scale-codec\", \"sp-core\", \"sp-runtime\", \"sp-std\", \"thiserror\"]\n\n[[package]]\nname = \"sp-io\"\nversion = \"7.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"bytes\", \"ed25519\", \"ed25519-dalek\", \"futures\", \"libsecp256k1\", \"log\", \"parity-scale-codec\", \"secp256k1\", \"sp-core\", \"sp-externalities\", \"sp-keystore\", \"sp-runtime-interface\", \"sp-state-machine\", \"sp-std\", \"sp-tracing\", \"sp-trie\", \"tracing\", \"tracing-core\"]\n\n[[package]]\nname = \"sp-keyring\"\nversion = \"7.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"lazy_static\", \"sp-core\", \"sp-runtime\", \"strum\"]\n\n[[package]]\nname = \"sp-keystore\"\nversion = \"0.13.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"futures\", \"merlin\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"schnorrkel\", \"serde\", \"sp-core\", \"sp-externalities\", \"thiserror\"]\n\n[[package]]\nname = \"sp-maybe-compressed-blob\"\nversion = \"4.1.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"thiserror\", \"zstd\"]\n\n[[package]]\nname = \"sp-offchain\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"sp-api\", \"sp-core\", \"sp-runtime\"]\n\n[[package]]\nname = \"sp-panic-handler\"\nversion = \"5.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"backtrace\", \"lazy_static\", \"regex\"]\n\n[[package]]\nname = \"sp-rpc\"\nversion = \"6.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"rustc-hash\", \"serde\", \"sp-core\"]\n\n[[package]]\nname = \"sp-runtime\"\nversion = \"7.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"either\", \"hash256-std-hasher\", \"impl-trait-for-tuples\", \"log\", \"parity-scale-codec\", \"paste\", \"rand 0.8.5\", \"scale-info\", \"serde\", \"sp-application-crypto\", \"sp-arithmetic\", \"sp-core\", \"sp-io\", \"sp-std\", \"sp-weights\"]\n\n[[package]]\nname = \"sp-runtime-interface\"\nversion = \"7.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"bytes\", \"impl-trait-for-tuples\", \"parity-scale-codec\", \"primitive-types 0.12.1\", \"sp-externalities\", \"sp-runtime-interface-proc-macro\", \"sp-std\", \"sp-storage\", \"sp-tracing\", \"sp-wasm-interface\", \"static_assertions\"]\n\n[[package]]\nname = \"sp-runtime-interface-proc-macro\"\nversion = \"6.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"Inflector\", \"proc-macro-crate\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"sp-session\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"parity-scale-codec\", \"scale-info\", \"sp-api\", \"sp-core\", \"sp-runtime\", \"sp-staking\", \"sp-std\"]\n\n[[package]]\nname = \"sp-staking\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"parity-scale-codec\", \"scale-info\", \"sp-core\", \"sp-runtime\", \"sp-std\"]\n\n[[package]]\nname = \"sp-state-machine\"\nversion = \"0.13.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"hash-db\", \"log\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"rand 0.8.5\", \"smallvec\", \"sp-core\", \"sp-externalities\", \"sp-panic-handler\", \"sp-std\", \"sp-trie\", \"thiserror\", \"tracing\"]\n\n[[package]]\nname = \"sp-std\"\nversion = \"5.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\n\n[[package]]\nname = \"sp-storage\"\nversion = \"7.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"impl-serde 0.4.0\", \"parity-scale-codec\", \"ref-cast\", \"serde\", \"sp-debug-derive\", \"sp-std\"]\n\n[[package]]\nname = \"sp-timestamp\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"futures-timer\", \"log\", \"parity-scale-codec\", \"sp-inherents\", \"sp-runtime\", \"sp-std\", \"thiserror\"]\n\n[[package]]\nname = \"sp-tracing\"\nversion = \"6.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"parity-scale-codec\", \"sp-std\", \"tracing\", \"tracing-core\", \"tracing-subscriber\"]\n\n[[package]]\nname = \"sp-transaction-pool\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"sp-api\", \"sp-runtime\"]\n\n[[package]]\nname = \"sp-transaction-storage-proof\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"log\", \"parity-scale-codec\", \"scale-info\", \"sp-core\", \"sp-inherents\", \"sp-runtime\", \"sp-std\", \"sp-trie\"]\n\n[[package]]\nname = \"sp-trie\"\nversion = \"7.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"ahash\", \"hash-db\", \"hashbrown\", \"lazy_static\", \"lru 0.8.1\", \"memory-db\", \"nohash-hasher\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"scale-info\", \"sp-core\", \"sp-std\", \"thiserror\", \"tracing\", \"trie-db\", \"trie-root\"]\n\n[[package]]\nname = \"sp-version\"\nversion = \"5.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"impl-serde 0.4.0\", \"parity-scale-codec\", \"parity-wasm\", \"scale-info\", \"serde\", \"sp-core-hashing-proc-macro\", \"sp-runtime\", \"sp-std\", \"sp-version-proc-macro\", \"thiserror\"]\n\n[[package]]\nname = \"sp-version-proc-macro\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"parity-scale-codec\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"sp-wasm-interface\"\nversion = \"7.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"impl-trait-for-tuples\", \"log\", \"parity-scale-codec\", \"sp-std\", \"wasmi\", \"wasmtime\"]\n\n[[package]]\nname = \"sp-weights\"\nversion = \"4.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"parity-scale-codec\", \"scale-info\", \"serde\", \"smallvec\", \"sp-arithmetic\", \"sp-core\", \"sp-debug-derive\", \"sp-std\"]\n\n[[package]]\nname = \"spin\"\nversion = \"0.5.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d\"\n\n[[package]]\nname = \"spki\"\nversion = \"0.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b\"\ndependencies = [\"base64ct\", \"der\"]\n\n[[package]]\nname = \"ss58-registry\"\nversion = \"1.38.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e40c020d72bc0a9c5660bb71e4a6fdef081493583062c474740a7d59f55f0e7b\"\ndependencies = [\"Inflector\", \"num-format\", \"proc-macro2\", \"quote\", \"serde\", \"serde_json\", \"unicode-xid\"]\n\n[[package]]\nname = \"stable_deref_trait\"\nversion = \"1.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3\"\n\n[[package]]\nname = \"static_assertions\"\nversion = \"1.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f\"\n\n[[package]]\nname = \"static_init\"\nversion = \"1.0.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8a2a1c578e98c1c16fc3b8ec1328f7659a500737d7a0c6d625e73e830ff9c1f6\"\ndependencies = [\"bitflags\", \"cfg_aliases\", \"libc\", \"parking_lot 0.11.2\", \"parking_lot_core 0.8.6\", \"static_init_macro\", \"winapi\"]\n\n[[package]]\nname = \"static_init_macro\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"70a2595fc3aa78f2d0e45dd425b22282dd863273761cc77780914b2cf3003acf\"\ndependencies = [\"cfg_aliases\", \"memchr\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"statrs\"\nversion = \"0.15.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"05bdbb8e4e78216a85785a85d3ec3183144f98d0097b9281802c019bb07a6f05\"\ndependencies = [\"approx\", \"lazy_static\", \"nalgebra\", \"num-traits\", \"rand 0.8.5\"]\n\n[[package]]\nname = \"strsim\"\nversion = \"0.10.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623\"\n\n[[package]]\nname = \"strum\"\nversion = \"0.24.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f\"\ndependencies = [\"strum_macros\"]\n\n[[package]]\nname = \"strum_macros\"\nversion = \"0.24.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59\"\ndependencies = [\"heck\", \"proc-macro2\", \"quote\", \"rustversion\", \"syn\"]\n\n[[package]]\nname = \"stun\"\nversion = \"0.4.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a7e94b1ec00bad60e6410e058b52f1c66de3dc5fe4d62d09b3e52bb7d3b73e25\"\ndependencies = [\"base64 0.13.1\", \"crc\", \"lazy_static\", \"md-5\", \"rand 0.8.5\", \"ring\", \"subtle\", \"thiserror\", \"tokio\", \"url\", \"webrtc-util\"]\n\n[[package]]\nname = \"substrate-bip39\"\nversion = \"0.4.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"49eee6965196b32f882dd2ee85a92b1dbead41b04e53907f269de3b0dc04733c\"\ndependencies = [\"hmac 0.11.0\", \"pbkdf2 0.8.0\", \"schnorrkel\", \"sha2 0.9.9\", \"zeroize\"]\n\n[[package]]\nname = \"substrate-build-script-utils\"\nversion = \"3.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"platforms 2.0.0\"]\n\n[[package]]\nname = \"substrate-fixed\"\nversion = \"0.5.9\"\nsource = \"git+https://github.com/encointer/substrate-fixed.git?tag=v0.5.9#a4fb461aae6205ffc55bed51254a40c52be04e5d\"\ndependencies = [\"parity-scale-codec\", \"scale-info\", \"typenum 1.16.0 (git+https://github.com/encointer/typenum?tag=v1.16.0)\"]\n\n[[package]]\nname = \"substrate-frame-rpc-system\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-system-rpc-runtime-api\", \"futures\", \"jsonrpsee\", \"log\", \"parity-scale-codec\", \"sc-rpc-api\", \"sc-transaction-pool-api\", \"sp-api\", \"sp-block-builder\", \"sp-blockchain\", \"sp-core\", \"sp-runtime\"]\n\n[[package]]\nname = \"substrate-prometheus-endpoint\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"hyper\", \"log\", \"prometheus\", \"thiserror\", \"tokio\"]\n\n[[package]]\nname = \"substrate-rpc-client\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"jsonrpsee\", \"log\", \"sc-rpc-api\", \"serde\", \"sp-runtime\"]\n\n[[package]]\nname = \"substrate-wasm-builder\"\nversion = \"5.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"ansi_term\", \"build-helper\", \"cargo_metadata\", \"filetime\", \"sp-maybe-compressed-blob\", \"strum\", \"tempfile\", \"toml\", \"walkdir\", \"wasm-opt\"]\n\n[[package]]\nname = \"substring\"\nversion = \"1.4.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"42ee6433ecef213b2e72f587ef64a2f5943e7cd16fbd82dbe8bc07486c534c86\"\ndependencies = [\"autocfg\"]\n\n[[package]]\nname = \"subtensor-custom-rpc\"\nversion = \"0.0.1\"\ndependencies = [\"jsonrpsee\", \"pallet-subtensor\", \"parity-scale-codec\", \"serde\", \"sp-api\", \"sp-blockchain\", \"sp-rpc\", \"sp-runtime\", \"subtensor-custom-rpc-runtime-api\"]\n\n[[package]]\nname = \"subtensor-custom-rpc-runtime-api\"\nversion = \"0.0.1\"\ndependencies = [\"frame-support\", \"pallet-subtensor\", \"serde\", \"sp-api\"]\n\n[[package]]\nname = \"subtle\"\nversion = \"2.4.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601\"\n\n[[package]]\nname = \"syn\"\nversion = \"1.0.107\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5\"\ndependencies = [\"proc-macro2\", \"quote\", \"unicode-ident\"]\n\n[[package]]\nname = \"synstructure\"\nversion = \"0.12.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\", \"unicode-xid\"]\n\n[[package]]\nname = \"system-configuration\"\nversion = \"0.5.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d75182f12f490e953596550b65ee31bda7c8e043d9386174b353bda50838c3fd\"\ndependencies = [\"bitflags\", \"core-foundation\", \"system-configuration-sys\"]\n\n[[package]]\nname = \"system-configuration-sys\"\nversion = \"0.5.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9\"\ndependencies = [\"core-foundation-sys\", \"libc\"]\n\n[[package]]\nname = \"tap\"\nversion = \"1.0.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369\"\n\n[[package]]\nname = \"target-lexicon\"\nversion = \"0.12.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9410d0f6853b1d94f0e519fb95df60f29d2c1eff2d921ffdf01a4c8a3b54f12d\"\n\n[[package]]\nname = \"tempfile\"\nversion = \"3.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4\"\ndependencies = [\"cfg-if\", \"fastrand\", \"libc\", \"redox_syscall\", \"remove_dir_all\", \"winapi\"]\n\n[[package]]\nname = \"termcolor\"\nversion = \"1.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6\"\ndependencies = [\"winapi-util\"]\n\n[[package]]\nname = \"termtree\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"95059e91184749cb66be6dc994f67f182b6d897cb3df74a5bf66b5e709295fd8\"\n\n[[package]]\nname = \"thiserror\"\nversion = \"1.0.38\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0\"\ndependencies = [\"thiserror-impl\"]\n\n[[package]]\nname = \"thiserror-impl\"\nversion = \"1.0.38\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"thousands\"\nversion = \"0.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3bf63baf9f5039dadc247375c29eb13706706cfde997d0330d05aa63a77d8820\"\n\n[[package]]\nname = \"thread_local\"\nversion = \"1.1.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180\"\ndependencies = [\"once_cell\"]\n\n[[package]]\nname = \"threadpool\"\nversion = \"1.8.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa\"\ndependencies = [\"num_cpus\"]\n\n[[package]]\nname = \"tikv-jemalloc-sys\"\nversion = \"0.5.3+5.3.0-patched\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a678df20055b43e57ef8cddde41cdfda9a3c1a060b67f4c5836dfb1d78543ba8\"\ndependencies = [\"cc\", \"libc\"]\n\n[[package]]\nname = \"time\"\nversion = \"0.1.45\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a\"\ndependencies = [\"libc\", \"wasi 0.10.0+wasi-snapshot-preview1\", \"winapi\"]\n\n[[package]]\nname = \"time\"\nversion = \"0.3.17\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376\"\ndependencies = [\"itoa\", \"serde\", \"time-core\", \"time-macros\"]\n\n[[package]]\nname = \"time-core\"\nversion = \"0.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd\"\n\n[[package]]\nname = \"time-macros\"\nversion = \"0.2.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2\"\ndependencies = [\"time-core\"]\n\n[[package]]\nname = \"tiny-bip39\"\nversion = \"1.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"62cc94d358b5a1e84a5cb9109f559aa3c4d634d2b1b4de3d0fa4adc7c78e2861\"\ndependencies = [\"anyhow\", \"hmac 0.12.1\", \"once_cell\", \"pbkdf2 0.11.0\", \"rand 0.8.5\", \"rustc-hash\", \"sha2 0.10.6\", \"thiserror\", \"unicode-normalization\", \"wasm-bindgen\", \"zeroize\"]\n\n[[package]]\nname = \"tiny-keccak\"\nversion = \"2.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237\"\ndependencies = [\"crunchy\"]\n\n[[package]]\nname = \"tinytemplate\"\nversion = \"1.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc\"\ndependencies = [\"serde\", \"serde_json\"]\n\n[[package]]\nname = \"tinyvec\"\nversion = \"1.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50\"\ndependencies = [\"tinyvec_macros\"]\n\n[[package]]\nname = \"tinyvec_macros\"\nversion = \"0.1.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20\"\n\n[[package]]\nname = \"tokio\"\nversion = \"1.25.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af\"\ndependencies = [\"autocfg\", \"bytes\", \"libc\", \"memchr\", \"mio\", \"num_cpus\", \"parking_lot 0.12.1\", \"pin-project-lite 0.2.9\", \"signal-hook-registry\", \"socket2\", \"tokio-macros\", \"windows-sys 0.42.0\"]\n\n[[package]]\nname = \"tokio-macros\"\nversion = \"1.8.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"tokio-rustls\"\nversion = \"0.23.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59\"\ndependencies = [\"rustls 0.20.8\", \"tokio\", \"webpki 0.22.0\"]\n\n[[package]]\nname = \"tokio-stream\"\nversion = \"0.1.11\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d660770404473ccd7bc9f8b28494a811bc18542b915c0855c51e8f419d5223ce\"\ndependencies = [\"futures-core\", \"pin-project-lite 0.2.9\", \"tokio\", \"tokio-util\"]\n\n[[package]]\nname = \"tokio-util\"\nversion = \"0.7.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740\"\ndependencies = [\"bytes\", \"futures-core\", \"futures-io\", \"futures-sink\", \"pin-project-lite 0.2.9\", \"tokio\", \"tracing\"]\n\n[[package]]\nname = \"toml\"\nversion = \"0.5.11\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234\"\ndependencies = [\"serde\"]\n\n[[package]]\nname = \"tower\"\nversion = \"0.4.13\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c\"\ndependencies = [\"tower-layer\", \"tower-service\", \"tracing\"]\n\n[[package]]\nname = \"tower-http\"\nversion = \"0.3.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858\"\ndependencies = [\"bitflags\", \"bytes\", \"futures-core\", \"futures-util\", \"http\", \"http-body\", \"http-range-header\", \"pin-project-lite 0.2.9\", \"tower-layer\", \"tower-service\"]\n\n[[package]]\nname = \"tower-layer\"\nversion = \"0.3.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0\"\n\n[[package]]\nname = \"tower-service\"\nversion = \"0.3.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52\"\n\n[[package]]\nname = \"tracing\"\nversion = \"0.1.37\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8\"\ndependencies = [\"cfg-if\", \"log\", \"pin-project-lite 0.2.9\", \"tracing-attributes\", \"tracing-core\"]\n\n[[package]]\nname = \"tracing-attributes\"\nversion = \"0.1.23\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"tracing-core\"\nversion = \"0.1.30\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a\"\ndependencies = [\"once_cell\", \"valuable\"]\n\n[[package]]\nname = \"tracing-futures\"\nversion = \"0.2.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2\"\ndependencies = [\"pin-project\", \"tracing\"]\n\n[[package]]\nname = \"tracing-log\"\nversion = \"0.1.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922\"\ndependencies = [\"lazy_static\", \"log\", \"tracing-core\"]\n\n[[package]]\nname = \"tracing-serde\"\nversion = \"0.1.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1\"\ndependencies = [\"serde\", \"tracing-core\"]\n\n[[package]]\nname = \"tracing-subscriber\"\nversion = \"0.2.25\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0e0d2eaa99c3c2e41547cfa109e910a68ea03823cccad4a0525dcbc9b01e8c71\"\ndependencies = [\"ansi_term\", \"chrono\", \"lazy_static\", \"matchers\", \"parking_lot 0.11.2\", \"regex\", \"serde\", \"serde_json\", \"sharded-slab\", \"smallvec\", \"thread_local\", \"tracing\", \"tracing-core\", \"tracing-log\", \"tracing-serde\"]\n\n[[package]]\nname = \"trie-db\"\nversion = \"0.24.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908\"\ndependencies = [\"hash-db\", \"hashbrown\", \"log\", \"rustc-hex\", \"smallvec\"]\n\n[[package]]\nname = \"trie-root\"\nversion = \"0.17.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9a36c5ca3911ed3c9a5416ee6c679042064b93fc637ded67e25f92e68d783891\"\ndependencies = [\"hash-db\"]\n\n[[package]]\nname = \"trust-dns-proto\"\nversion = \"0.22.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4f7f83d1e4a0e4358ac54c5c3681e5d7da5efc5a7a632c90bb6d6669ddd9bc26\"\ndependencies = [\"async-trait\", \"cfg-if\", \"data-encoding\", \"enum-as-inner\", \"futures-channel\", \"futures-io\", \"futures-util\", \"idna 0.2.3\", \"ipnet\", \"lazy_static\", \"rand 0.8.5\", \"smallvec\", \"socket2\", \"thiserror\", \"tinyvec\", \"tokio\", \"tracing\", \"url\"]\n\n[[package]]\nname = \"trust-dns-resolver\"\nversion = \"0.22.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"aff21aa4dcefb0a1afbfac26deb0adc93888c7d295fb63ab273ef276ba2b7cfe\"\ndependencies = [\"cfg-if\", \"futures-util\", \"ipconfig\", \"lazy_static\", \"lru-cache\", \"parking_lot 0.12.1\", \"resolv-conf\", \"smallvec\", \"thiserror\", \"tokio\", \"tracing\", \"trust-dns-proto\"]\n\n[[package]]\nname = \"try-lock\"\nversion = \"0.2.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed\"\n\n[[package]]\nname = \"try-runtime-cli\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.39#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"clap\", \"frame-remote-externalities\", \"frame-try-runtime\", \"hex\", \"log\", \"parity-scale-codec\", \"sc-cli\", \"sc-executor\", \"sc-service\", \"serde\", \"serde_json\", \"sp-api\", \"sp-core\", \"sp-debug-derive\", \"sp-externalities\", \"sp-io\", \"sp-keystore\", \"sp-rpc\", \"sp-runtime\", \"sp-state-machine\", \"sp-version\", \"sp-weights\", \"substrate-rpc-client\", \"zstd\"]\n\n[[package]]\nname = \"tt-call\"\nversion = \"1.0.9\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f4f195fd851901624eee5a58c4bb2b4f06399148fcd0ed336e6f1cb60a9881df\"\n\n[[package]]\nname = \"turn\"\nversion = \"0.6.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4712ee30d123ec7ae26d1e1b218395a16c87cdbaf4b3925d170d684af62ea5e8\"\ndependencies = [\"async-trait\", \"base64 0.13.1\", \"futures\", \"log\", \"md-5\", \"rand 0.8.5\", \"ring\", \"stun\", \"thiserror\", \"tokio\", \"webrtc-util\"]\n\n[[package]]\nname = \"twox-hash\"\nversion = \"1.6.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675\"\ndependencies = [\"cfg-if\", \"digest 0.10.6\", \"rand 0.8.5\", \"static_assertions\"]\n\n[[package]]\nname = \"typenum\"\nversion = \"1.16.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba\"\n\n[[package]]\nname = \"typenum\"\nversion = \"1.16.0\"\nsource = \"git+https://github.com/encointer/typenum?tag=v1.16.0#4c8dddaa8bdd13130149e43b4085ad14e960617f\"\ndependencies = [\"parity-scale-codec\", \"scale-info\"]\n\n[[package]]\nname = \"ucd-trie\"\nversion = \"0.1.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81\"\n\n[[package]]\nname = \"uint\"\nversion = \"0.9.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52\"\ndependencies = [\"byteorder\", \"crunchy\", \"hex\", \"static_assertions\"]\n\n[[package]]\nname = \"unicode-bidi\"\nversion = \"0.3.10\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58\"\n\n[[package]]\nname = \"unicode-ident\"\nversion = \"1.0.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc\"\n\n[[package]]\nname = \"unicode-normalization\"\nversion = \"0.1.22\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921\"\ndependencies = [\"tinyvec\"]\n\n[[package]]\nname = \"unicode-width\"\nversion = \"0.1.10\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b\"\n\n[[package]]\nname = \"unicode-xid\"\nversion = \"0.2.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c\"\n\n[[package]]\nname = \"universal-hash\"\nversion = \"0.4.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05\"\ndependencies = [\"generic-array 0.14.6\", \"subtle\"]\n\n[[package]]\nname = \"unsigned-varint\"\nversion = \"0.7.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d86a8dc7f45e4c1b0d30e43038c38f274e77af056aa5f74b93c2cf9eb3c1c836\"\ndependencies = [\"asynchronous-codec\", \"bytes\", \"futures-io\", \"futures-util\"]\n\n[[package]]\nname = \"untrusted\"\nversion = \"0.7.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a\"\n\n[[package]]\nname = \"url\"\nversion = \"2.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643\"\ndependencies = [\"form_urlencoded\", \"idna 0.3.0\", \"percent-encoding\"]\n\n[[package]]\nname = \"uuid\"\nversion = \"1.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1674845326ee10d37ca60470760d4288a6f80f304007d92e5c53bab78c9cfd79\"\ndependencies = [\"getrandom 0.2.8\"]\n\n[[package]]\nname = \"valuable\"\nversion = \"0.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d\"\n\n[[package]]\nname = \"vcpkg\"\nversion = \"0.2.15\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426\"\n\n[[package]]\nname = \"version_check\"\nversion = \"0.9.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f\"\n\n[[package]]\nname = \"void\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d\"\n\n[[package]]\nname = \"waitgroup\"\nversion = \"0.1.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d1f50000a783467e6c0200f9d10642f4bc424e39efc1b770203e88b488f79292\"\ndependencies = [\"atomic-waker\"]\n\n[[package]]\nname = \"waker-fn\"\nversion = \"1.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca\"\n\n[[package]]\nname = \"walkdir\"\nversion = \"2.3.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56\"\ndependencies = [\"same-file\", \"winapi\", \"winapi-util\"]\n\n[[package]]\nname = \"want\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0\"\ndependencies = [\"log\", \"try-lock\"]\n\n[[package]]\nname = \"wasi\"\nversion = \"0.9.0+wasi-snapshot-preview1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519\"\n\n[[package]]\nname = \"wasi\"\nversion = \"0.10.0+wasi-snapshot-preview1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f\"\n\n[[package]]\nname = \"wasi\"\nversion = \"0.11.0+wasi-snapshot-preview1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423\"\n\n[[package]]\nname = \"wasm-bindgen\"\nversion = \"0.2.84\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b\"\ndependencies = [\"cfg-if\", \"wasm-bindgen-macro\"]\n\n[[package]]\nname = \"wasm-bindgen-backend\"\nversion = \"0.2.84\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9\"\ndependencies = [\"bumpalo\", \"log\", \"once_cell\", \"proc-macro2\", \"quote\", \"syn\", \"wasm-bindgen-shared\"]\n\n[[package]]\nname = \"wasm-bindgen-futures\"\nversion = \"0.4.34\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454\"\ndependencies = [\"cfg-if\", \"js-sys\", \"wasm-bindgen\", \"web-sys\"]\n\n[[package]]\nname = \"wasm-bindgen-macro\"\nversion = \"0.2.84\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5\"\ndependencies = [\"quote\", \"wasm-bindgen-macro-support\"]\n\n[[package]]\nname = \"wasm-bindgen-macro-support\"\nversion = \"0.2.84\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\", \"wasm-bindgen-backend\", \"wasm-bindgen-shared\"]\n\n[[package]]\nname = \"wasm-bindgen-shared\"\nversion = \"0.2.84\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d\"\n\n[[package]]\nname = \"wasm-instrument\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"aa1dafb3e60065305741e83db35c6c2584bb3725b692b5b66148a38d72ace6cd\"\ndependencies = [\"parity-wasm\"]\n\n[[package]]\nname = \"wasm-opt\"\nversion = \"0.110.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b68e8037b4daf711393f4be2056246d12d975651b14d581520ad5d1f19219cec\"\ndependencies = [\"anyhow\", \"libc\", \"strum\", \"strum_macros\", \"tempfile\", \"thiserror\", \"wasm-opt-cxx-sys\", \"wasm-opt-sys\"]\n\n[[package]]\nname = \"wasm-opt-cxx-sys\"\nversion = \"0.110.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"91adbad477e97bba3fbd21dd7bfb594e7ad5ceb9169ab1c93ab9cb0ada636b6f\"\ndependencies = [\"anyhow\", \"cxx\", \"cxx-build\", \"wasm-opt-sys\"]\n\n[[package]]\nname = \"wasm-opt-sys\"\nversion = \"0.110.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ec4fa5a322a4e6ac22fd141f498d56afbdbf9df5debeac32380d2dcaa3e06941\"\ndependencies = [\"anyhow\", \"cc\", \"cxx\", \"cxx-build\", \"regex\"]\n\n[[package]]\nname = \"wasm-timer\"\nversion = \"0.2.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f\"\ndependencies = [\"futures\", \"js-sys\", \"parking_lot 0.11.2\", \"pin-utils\", \"wasm-bindgen\", \"wasm-bindgen-futures\", \"web-sys\"]\n\n[[package]]\nname = \"wasmi\"\nversion = \"0.13.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422\"\ndependencies = [\"parity-wasm\", \"wasmi-validation\", \"wasmi_core\"]\n\n[[package]]\nname = \"wasmi-validation\"\nversion = \"0.5.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"91ff416ad1ff0c42e5a926ed5d5fab74c0f098749aa0ad8b2a34b982ce0e867b\"\ndependencies = [\"parity-wasm\"]\n\n[[package]]\nname = \"wasmi_core\"\nversion = \"0.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"57d20cb3c59b788653d99541c646c561c9dd26506f25c0cebfe810659c54c6d7\"\ndependencies = [\"downcast-rs\", \"libm 0.2.6\", \"memory_units\", \"num-rational\", \"num-traits\"]\n\n[[package]]\nname = \"wasmparser\"\nversion = \"0.89.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ab5d3e08b13876f96dd55608d03cd4883a0545884932d5adf11925876c96daef\"\ndependencies = [\"indexmap\"]\n\n[[package]]\nname = \"wasmtime\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4ad5af6ba38311282f2a21670d96e78266e8c8e2f38cbcd52c254df6ccbc7731\"\ndependencies = [\"anyhow\", \"bincode\", \"cfg-if\", \"indexmap\", \"libc\", \"log\", \"object 0.29.0\", \"once_cell\", \"paste\", \"psm\", \"rayon\", \"serde\", \"target-lexicon\", \"wasmparser\", \"wasmtime-cache\", \"wasmtime-cranelift\", \"wasmtime-environ\", \"wasmtime-jit\", \"wasmtime-runtime\", \"windows-sys 0.36.1\"]\n\n[[package]]\nname = \"wasmtime-asm-macros\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"45de63ddfc8b9223d1adc8f7b2ee5f35d1f6d112833934ad7ea66e4f4339e597\"\ndependencies = [\"cfg-if\"]\n\n[[package]]\nname = \"wasmtime-cache\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bcd849399d17d2270141cfe47fa0d91ee52d5f8ea9b98cf7ddde0d53e5f79882\"\ndependencies = [\"anyhow\", \"base64 0.13.1\", \"bincode\", \"directories-next\", \"file-per-thread-logger\", \"log\", \"rustix 0.35.13\", \"serde\", \"sha2 0.9.9\", \"toml\", \"windows-sys 0.36.1\", \"zstd\"]\n\n[[package]]\nname = \"wasmtime-cranelift\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4bd91339b742ff20bfed4532a27b73c86b5bcbfedd6bea2dcdf2d64471e1b5c6\"\ndependencies = [\"anyhow\", \"cranelift-codegen\", \"cranelift-entity\", \"cranelift-frontend\", \"cranelift-native\", \"cranelift-wasm\", \"gimli 0.26.2\", \"log\", \"object 0.29.0\", \"target-lexicon\", \"thiserror\", \"wasmparser\", \"wasmtime-environ\"]\n\n[[package]]\nname = \"wasmtime-environ\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ebb881c61f4f627b5d45c54e629724974f8a8890d455bcbe634330cc27309644\"\ndependencies = [\"anyhow\", \"cranelift-entity\", \"gimli 0.26.2\", \"indexmap\", \"log\", \"object 0.29.0\", \"serde\", \"target-lexicon\", \"thiserror\", \"wasmparser\", \"wasmtime-types\"]\n\n[[package]]\nname = \"wasmtime-jit\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1985c628011fe26adf5e23a5301bdc79b245e0e338f14bb58b39e4e25e4d8681\"\ndependencies = [\"addr2line 0.17.0\", \"anyhow\", \"bincode\", \"cfg-if\", \"cpp_demangle\", \"gimli 0.26.2\", \"log\", \"object 0.29.0\", \"rustc-demangle\", \"rustix 0.35.13\", \"serde\", \"target-lexicon\", \"thiserror\", \"wasmtime-environ\", \"wasmtime-jit-debug\", \"wasmtime-runtime\", \"windows-sys 0.36.1\"]\n\n[[package]]\nname = \"wasmtime-jit-debug\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f671b588486f5ccec8c5a3dba6b4c07eac2e66ab8c60e6f4e53717c77f709731\"\ndependencies = [\"object 0.29.0\", \"once_cell\", \"rustix 0.35.13\"]\n\n[[package]]\nname = \"wasmtime-runtime\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ee8f92ad4b61736339c29361da85769ebc200f184361959d1792832e592a1afd\"\ndependencies = [\"anyhow\", \"cc\", \"cfg-if\", \"indexmap\", \"libc\", \"log\", \"mach\", \"memfd\", \"memoffset 0.6.5\", \"paste\", \"rand 0.8.5\", \"rustix 0.35.13\", \"thiserror\", \"wasmtime-asm-macros\", \"wasmtime-environ\", \"wasmtime-jit-debug\", \"windows-sys 0.36.1\"]\n\n[[package]]\nname = \"wasmtime-types\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d23d61cb4c46e837b431196dd06abb11731541021916d03476a178b54dc07aeb\"\ndependencies = [\"cranelift-entity\", \"serde\", \"thiserror\", \"wasmparser\"]\n\n[[package]]\nname = \"web-sys\"\nversion = \"0.3.61\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97\"\ndependencies = [\"js-sys\", \"wasm-bindgen\"]\n\n[[package]]\nname = \"webpki\"\nversion = \"0.21.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea\"\ndependencies = [\"ring\", \"untrusted\"]\n\n[[package]]\nname = \"webpki\"\nversion = \"0.22.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd\"\ndependencies = [\"ring\", \"untrusted\"]\n\n[[package]]\nname = \"webpki-roots\"\nversion = \"0.22.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87\"\ndependencies = [\"webpki 0.22.0\"]\n\n[[package]]\nname = \"webrtc\"\nversion = \"0.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2d3bc9049bdb2cea52f5fd4f6f728184225bdb867ed0dc2410eab6df5bdd67bb\"\ndependencies = [\"arc-swap\", \"async-trait\", \"bytes\", \"hex\", \"interceptor\", \"lazy_static\", \"log\", \"rand 0.8.5\", \"rcgen 0.9.3\", \"regex\", \"ring\", \"rtcp\", \"rtp\", \"rustls 0.19.1\", \"sdp\", \"serde\", \"serde_json\", \"sha2 0.10.6\", \"stun\", \"thiserror\", \"time 0.3.17\", \"tokio\", \"turn\", \"url\", \"waitgroup\", \"webrtc-data\", \"webrtc-dtls\", \"webrtc-ice\", \"webrtc-mdns\", \"webrtc-media\", \"webrtc-sctp\", \"webrtc-srtp\", \"webrtc-util\"]\n\n[[package]]\nname = \"webrtc-data\"\nversion = \"0.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0ef36a4d12baa6e842582fe9ec16a57184ba35e1a09308307b67d43ec8883100\"\ndependencies = [\"bytes\", \"derive_builder\", \"log\", \"thiserror\", \"tokio\", \"webrtc-sctp\", \"webrtc-util\"]\n\n[[package]]\nname = \"webrtc-dtls\"\nversion = \"0.7.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7021987ae0a2ed6c8cd33f68e98e49bb6e74ffe9543310267b48a1bbe3900e5f\"\ndependencies = [\"aes 0.6.0\", \"aes-gcm 0.8.0\", \"async-trait\", \"bincode\", \"block-modes\", \"byteorder\", \"ccm\", \"curve25519-dalek 3.2.0\", \"der-parser 8.1.0\", \"elliptic-curve\", \"hkdf\", \"hmac 0.10.1\", \"log\", \"oid-registry 0.6.1\", \"p256\", \"p384\", \"rand 0.8.5\", \"rand_core 0.6.4\", \"rcgen 0.9.3\", \"ring\", \"rustls 0.19.1\", \"sec1\", \"serde\", \"sha-1\", \"sha2 0.9.9\", \"signature\", \"subtle\", \"thiserror\", \"tokio\", \"webpki 0.21.4\", \"webrtc-util\", \"x25519-dalek 2.0.0-pre.1\", \"x509-parser 0.13.2\"]\n\n[[package]]\nname = \"webrtc-ice\"\nversion = \"0.9.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"494483fbb2f5492620871fdc78b084aed8807377f6e3fe88b2e49f0a9c9c41d7\"\ndependencies = [\"arc-swap\", \"async-trait\", \"crc\", \"log\", \"rand 0.8.5\", \"serde\", \"serde_json\", \"stun\", \"thiserror\", \"tokio\", \"turn\", \"url\", \"uuid\", \"waitgroup\", \"webrtc-mdns\", \"webrtc-util\"]\n\n[[package]]\nname = \"webrtc-mdns\"\nversion = \"0.5.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f08dfd7a6e3987e255c4dbe710dde5d94d0f0574f8a21afa95d171376c143106\"\ndependencies = [\"log\", \"socket2\", \"thiserror\", \"tokio\", \"webrtc-util\"]\n\n[[package]]\nname = \"webrtc-media\"\nversion = \"0.5.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ee2a3c157a040324e5049bcbd644ffc9079e6738fa2cfab2bcff64e5cc4c00d7\"\ndependencies = [\"byteorder\", \"bytes\", \"derive_builder\", \"displaydoc\", \"rand 0.8.5\", \"rtp\", \"thiserror\", \"webrtc-util\"]\n\n[[package]]\nname = \"webrtc-sctp\"\nversion = \"0.7.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0d47adcd9427eb3ede33d5a7f3424038f63c965491beafcc20bc650a2f6679c0\"\ndependencies = [\"arc-swap\", \"async-trait\", \"bytes\", \"crc\", \"log\", \"rand 0.8.5\", \"thiserror\", \"tokio\", \"webrtc-util\"]\n\n[[package]]\nname = \"webrtc-srtp\"\nversion = \"0.9.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6183edc4c1c6c0175f8812eefdce84dfa0aea9c3ece71c2bf6ddd3c964de3da5\"\ndependencies = [\"aead 0.4.3\", \"aes 0.7.5\", \"aes-gcm 0.9.4\", \"async-trait\", \"byteorder\", \"bytes\", \"ctr 0.8.0\", \"hmac 0.11.0\", \"log\", \"rtcp\", \"rtp\", \"sha-1\", \"subtle\", \"thiserror\", \"tokio\", \"webrtc-util\"]\n\n[[package]]\nname = \"webrtc-util\"\nversion = \"0.7.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"93f1db1727772c05cf7a2cfece52c3aca8045ca1e176cd517d323489aa3c6d87\"\ndependencies = [\"async-trait\", \"bitflags\", \"bytes\", \"cc\", \"ipnet\", \"lazy_static\", \"libc\", \"log\", \"nix\", \"rand 0.8.5\", \"thiserror\", \"tokio\", \"winapi\"]\n\n[[package]]\nname = \"wepoll-ffi\"\nversion = \"0.1.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d743fdedc5c64377b5fc2bc036b01c7fd642205a0d96356034ae3404d49eb7fb\"\ndependencies = [\"cc\"]\n\n[[package]]\nname = \"which\"\nversion = \"4.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269\"\ndependencies = [\"either\", \"libc\", \"once_cell\"]\n\n[[package]]\nname = \"widestring\"\nversion = \"0.5.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"17882f045410753661207383517a6f62ec3dbeb6a4ed2acce01f0728238d1983\"\n\n[[package]]\nname = \"winapi\"\nversion = \"0.3.9\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419\"\ndependencies = [\"winapi-i686-pc-windows-gnu\", \"winapi-x86_64-pc-windows-gnu\"]\n\n[[package]]\nname = \"winapi-i686-pc-windows-gnu\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6\"\n\n[[package]]\nname = \"winapi-util\"\nversion = \"0.1.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178\"\ndependencies = [\"winapi\"]\n\n[[package]]\nname = \"winapi-x86_64-pc-windows-gnu\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f\"\n\n[[package]]\nname = \"windows\"\nversion = \"0.34.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"45296b64204227616fdbf2614cefa4c236b98ee64dfaaaa435207ed99fe7829f\"\ndependencies = [\"windows_aarch64_msvc 0.34.0\", \"windows_i686_gnu 0.34.0\", \"windows_i686_msvc 0.34.0\", \"windows_x86_64_gnu 0.34.0\", \"windows_x86_64_msvc 0.34.0\"]\n\n[[package]]\nname = \"windows-sys\"\nversion = \"0.36.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2\"\ndependencies = [\"windows_aarch64_msvc 0.36.1\", \"windows_i686_gnu 0.36.1\", \"windows_i686_msvc 0.36.1\", \"windows_x86_64_gnu 0.36.1\", \"windows_x86_64_msvc 0.36.1\"]\n\n[[package]]\nname = \"windows-sys\"\nversion = \"0.42.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7\"\ndependencies = [\"windows_aarch64_gnullvm\", \"windows_aarch64_msvc 0.42.1\", \"windows_i686_gnu 0.42.1\", \"windows_i686_msvc 0.42.1\", \"windows_x86_64_gnu 0.42.1\", \"windows_x86_64_gnullvm\", \"windows_x86_64_msvc 0.42.1\"]\n\n[[package]]\nname = \"windows-sys\"\nversion = \"0.45.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0\"\ndependencies = [\"windows-targets\"]\n\n[[package]]\nname = \"windows-targets\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7\"\ndependencies = [\"windows_aarch64_gnullvm\", \"windows_aarch64_msvc 0.42.1\", \"windows_i686_gnu 0.42.1\", \"windows_i686_msvc 0.42.1\", \"windows_x86_64_gnu 0.42.1\", \"windows_x86_64_gnullvm\", \"windows_x86_64_msvc 0.42.1\"]\n\n[[package]]\nname = \"windows_aarch64_gnullvm\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608\"\n\n[[package]]\nname = \"windows_aarch64_msvc\"\nversion = \"0.34.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"17cffbe740121affb56fad0fc0e421804adf0ae00891205213b5cecd30db881d\"\n\n[[package]]\nname = \"windows_aarch64_msvc\"\nversion = \"0.36.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47\"\n\n[[package]]\nname = \"windows_aarch64_msvc\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7\"\n\n[[package]]\nname = \"windows_i686_gnu\"\nversion = \"0.34.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2564fde759adb79129d9b4f54be42b32c89970c18ebf93124ca8870a498688ed\"\n\n[[package]]\nname = \"windows_i686_gnu\"\nversion = \"0.36.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6\"\n\n[[package]]\nname = \"windows_i686_gnu\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640\"\n\n[[package]]\nname = \"windows_i686_msvc\"\nversion = \"0.34.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9cd9d32ba70453522332c14d38814bceeb747d80b3958676007acadd7e166956\"\n\n[[package]]\nname = \"windows_i686_msvc\"\nversion = \"0.36.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024\"\n\n[[package]]\nname = \"windows_i686_msvc\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605\"\n\n[[package]]\nname = \"windows_x86_64_gnu\"\nversion = \"0.34.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cfce6deae227ee8d356d19effc141a509cc503dfd1f850622ec4b0f84428e1f4\"\n\n[[package]]\nname = \"windows_x86_64_gnu\"\nversion = \"0.36.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1\"\n\n[[package]]\nname = \"windows_x86_64_gnu\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45\"\n\n[[package]]\nname = \"windows_x86_64_gnullvm\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463\"\n\n[[package]]\nname = \"windows_x86_64_msvc\"\nversion = \"0.34.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d19538ccc21819d01deaf88d6a17eae6596a12e9aafdbb97916fb49896d89de9\"\n\n[[package]]\nname = \"windows_x86_64_msvc\"\nversion = \"0.36.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680\"\n\n[[package]]\nname = \"windows_x86_64_msvc\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd\"\n\n[[package]]\nname = \"winreg\"\nversion = \"0.10.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d\"\ndependencies = [\"winapi\"]\n\n[[package]]\nname = \"wyz\"\nversion = \"0.5.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed\"\ndependencies = [\"tap\"]\n\n[[package]]\nname = \"x25519-dalek\"\nversion = \"1.1.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5a0c105152107e3b96f6a00a65e86ce82d9b125230e1c4302940eca58ff71f4f\"\ndependencies = [\"curve25519-dalek 3.2.0\", \"rand_core 0.5.1\", \"zeroize\"]\n\n[[package]]\nname = \"x25519-dalek\"\nversion = \"2.0.0-pre.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e5da623d8af10a62342bcbbb230e33e58a63255a58012f8653c578e54bab48df\"\ndependencies = [\"curve25519-dalek 3.2.0\", \"rand_core 0.6.4\", \"zeroize\"]\n\n[[package]]\nname = \"x509-parser\"\nversion = \"0.13.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9fb9bace5b5589ffead1afb76e43e34cff39cd0f3ce7e170ae0c29e53b88eb1c\"\ndependencies = [\"asn1-rs 0.3.1\", \"base64 0.13.1\", \"data-encoding\", \"der-parser 7.0.0\", \"lazy_static\", \"nom\", \"oid-registry 0.4.0\", \"ring\", \"rusticata-macros\", \"thiserror\", \"time 0.3.17\"]\n\n[[package]]\nname = \"x509-parser\"\nversion = \"0.14.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e0ecbeb7b67ce215e40e3cc7f2ff902f94a223acf44995934763467e7b1febc8\"\ndependencies = [\"asn1-rs 0.5.1\", \"base64 0.13.1\", \"data-encoding\", \"der-parser 8.1.0\", \"lazy_static\", \"nom\", \"oid-registry 0.6.1\", \"rusticata-macros\", \"thiserror\", \"time 0.3.17\"]\n\n[[package]]\nname = \"yamux\"\nversion = \"0.10.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e5d9ba232399af1783a58d8eb26f6b5006fbefe2dc9ef36bd283324792d03ea5\"\ndependencies = [\"futures\", \"log\", \"nohash-hasher\", \"parking_lot 0.12.1\", \"rand 0.8.5\", \"static_assertions\"]\n\n[[package]]\nname = \"yasna\"\nversion = \"0.5.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"aed2e7a52e3744ab4d0c05c20aa065258e84c49fd4226f5191b2ed29712710b4\"\ndependencies = [\"time 0.3.17\"]\n\n[[package]]\nname = \"zeroize\"\nversion = \"1.5.7\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f\"\ndependencies = [\"zeroize_derive\"]\n\n[[package]]\nname = \"zeroize_derive\"\nversion = \"1.3.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"44bf07cb3e50ea2003396695d58bf46bc9887a1f362260446fad6bc4e79bd36c\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\", \"synstructure\"]\n\n[[package]]\nname = \"zstd\"\nversion = \"0.11.2+zstd.1.5.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4\"\ndependencies = [\"zstd-safe\"]\n\n[[package]]\nname = \"zstd-safe\"\nversion = \"5.0.2+zstd.1.5.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db\"\ndependencies = [\"libc\", \"zstd-sys\"]\n\n[[package]]\nname = \"zstd-sys\"\nversion = \"2.0.6+zstd.1.5.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"68a3f9792c0c3dc6c165840a75f47ae1f4da402c2d006881129579f6597e801b\"\ndependencies = [\"cc\", \"libc\", \"pkg-config\"]\n"}} \ No newline at end of file +{ + "skeleton": { + "manifests": [ + { + "relative_path": "Cargo.toml", + "contents": "[workspace]\nmembers = [\"node\", \"pallets/subtensor\", \"runtime\"]\n[profile.release]\npanic = \"unwind\"\n\n[profile.release.package]\n\n[profile.test]\nopt-level = 3\n\n[profile.test.package]\n" + }, + { + "relative_path": "node/Cargo.toml", + "contents": "bench = []\ntest = []\nexample = []\n\n[[bin]]\nname = \"node-subtensor\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nrequired-features = []\n\n[package]\nname = \"node-subtensor\"\nedition = \"2021\"\nversion = \"0.0.1\"\nbuild = \"build.rs\"\nauthors = [\"Substrate DevHub \"]\ndescription = \"A fresh FRAME-based Substrate node, ready for hacking.\"\nhomepage = \"https://substrate.io/\"\nlicense = \"Unlicense\"\nrepository = \"https://github.com/opentensor/subtensor\"\nautobins = true\nautoexamples = true\nautotests = true\nautobenches = true\npublish = false\n[package.metadata.docs.rs]\ntargets = [\"x86_64-unknown-linux-gnu\"]\n\n[dependencies]\nmemmap2 = \"0.5.0\"\nserde_json = \"1.0.85\"\n\n[dependencies.clap]\nversion = \"4.0.9\"\nfeatures = [\"derive\"]\n\n[dependencies.frame-benchmarking]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.frame-benchmarking-cli]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.frame-system]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.futures]\nversion = \"0.3.21\"\nfeatures = [\"thread-pool\"]\n\n[dependencies.jsonrpsee]\nversion = \"0.16.2\"\nfeatures = [\"server\"]\n\n[dependencies.node-subtensor-runtime]\nversion = \"0.0.1\"\npath = \"../runtime\"\n\n[dependencies.pallet-transaction-payment]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.pallet-transaction-payment-rpc]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.sc-basic-authorship]\nversion = \"0.10.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.sc-cli]\nversion = \"0.10.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.sc-client-api]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.sc-consensus]\nversion = \"0.10.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.sc-consensus-aura]\nversion = \"0.10.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.sc-executor]\nversion = \"0.10.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.sc-consensus-grandpa]\nversion = \"0.10.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.sc-keystore]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.sc-rpc]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.sc-rpc-api]\nversion = \"0.10.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.sc-service]\nversion = \"0.10.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.sc-telemetry]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.sc-transaction-pool]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.sc-transaction-pool-api]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.serde]\nversion = \"1.0.145\"\nfeatures = [\"derive\"]\n\n[dependencies.sp-api]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.sp-block-builder]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.sp-blockchain]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.sp-consensus]\nversion = \"0.10.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.sp-consensus-aura]\nversion = \"0.10.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.sp-core]\nversion = \"24\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.sp-consensus-grandpa]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.sp-inherents]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.sp-io]\nversion = \"24\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.sp-keyring]\nversion = \"24\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.sp-runtime]\nversion = \"24\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.sp-timestamp]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.substrate-frame-rpc-system]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[dependencies.subtensor-custom-rpc]\npath = \"../pallets/subtensor/rpc\"\n\n[dependencies.subtensor-custom-rpc-runtime-api]\npath = \"../pallets/subtensor/runtime-api\"\n\n[dependencies.try-runtime-cli]\nversion = \"0.10.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\noptional = true\n[build-dependencies.substrate-build-script-utils]\nversion = \"3.0.0\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\n\n[features]\ndefault = []\nruntime-benchmarks = [\"node-subtensor-runtime/runtime-benchmarks\", \"frame-benchmarking/runtime-benchmarks\", \"frame-benchmarking-cli/runtime-benchmarks\"]\ntry-runtime = [\"node-subtensor-runtime/try-runtime\", \"try-runtime-cli/try-runtime\"]\n\n[lib]\npath = \"src/lib.rs\"\nname = \"node_subtensor\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\ncrate-type = [\"rlib\"]\n" + }, + { + "relative_path": "pallets/subtensor/Cargo.toml", + "contents": "bin = []\nbench = []\nexample = []\n\n[[test]]\npath = \"tests/block_step.rs\"\nname = \"block_step\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\n\n[[test]]\npath = \"tests/difficulty.rs\"\nname = \"difficulty\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\n\n[[test]]\npath = \"tests/epoch.rs\"\nname = \"epoch\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\n\n[[test]]\npath = \"tests/mock.rs\"\nname = \"mock\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\n\n[[test]]\npath = \"tests/networks.rs\"\nname = \"networks\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\n\n[[test]]\npath = \"tests/registration.rs\"\nname = \"registration\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\n\n[[test]]\npath = \"tests/serving.rs\"\nname = \"serving\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\n\n[[test]]\npath = \"tests/staking.rs\"\nname = \"staking\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\n\n[[test]]\npath = \"tests/sudo.rs\"\nname = \"sudo\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\n\n[[test]]\npath = \"tests/weights.rs\"\nname = \"weights\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\n\n[package]\nname = \"pallet-subtensor\"\nedition = \"2021\"\nversion = \"0.0.1\"\nauthors = [\"Bittensor Nucleus Team\"]\ndescription = \"FRAME pallet for runtime logic of Subtensor Blockchain.\"\nhomepage = \"https://bittensor.com\"\nlicense = \"Unlicense\"\nrepository = \"https://github.com/opentensor/subtensor\"\nautobins = true\nautoexamples = true\nautotests = true\nautobenches = true\npublish = false\n[package.metadata.docs.rs]\ntargets = [\"x86_64-unknown-linux-gnu\"]\n[dependencies.codec]\nversion = \"3.0.0\"\nfeatures = [\"derive\"]\ndefault-features = false\npackage = \"parity-scale-codec\"\n\n[dependencies.frame-benchmarking]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\noptional = true\ndefault-features = false\n\n[dependencies.frame-support]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.frame-system]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.log]\nversion = \"0.4.14\"\ndefault-features = false\n\n[dependencies.ndarray]\nversion = \"0.15.0\"\ndefault-features = false\n\n[dependencies.pallet-balances]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.pallet-transaction-payment]\ngit = \"https://github.com/paritytech/substrate\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.scale-info]\nversion = \"2.1.1\"\nfeatures = [\"derive\"]\ndefault-features = false\n\n[dependencies.serde]\nversion = \"1.0.132\"\nfeatures = [\"derive\"]\ndefault-features = false\n\n[dependencies.serde-tuple-vec-map]\nversion = \"1.0.1\"\ndefault-features = false\n\n[dependencies.serde_bytes]\nversion = \"0.11.8\"\nfeatures = [\"alloc\"]\ndefault-features = false\n\n[dependencies.serde_with]\nversion = \"=2.0.0\"\nfeatures = [\"macros\"]\ndefault-features = false\n\n[dependencies.sp-core]\ngit = \"https://github.com/paritytech/substrate\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.sp-io]\nversion = \"24\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.sp-runtime]\nversion = \"24\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.sp-std]\ngit = \"https://github.com/paritytech/substrate\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.substrate-fixed]\ngit = \"https://github.com/encointer/substrate-fixed.git\"\ntag = \"v0.5.9\"\n\n[dev-dependencies]\nrand = \"0.8\"\n\n[dev-dependencies.pallet-balances]\ngit = \"https://github.com/paritytech/substrate\"\nbranch = \"polkadot-v1.0.0\"\nfeatures = [\"std\"]\ndefault-features = false\n\n[dev-dependencies.parity-util-mem]\nversion = \"0.11.0\"\nfeatures = [\"primitive-types\"]\n\n[dev-dependencies.sp-core]\ngit = \"https://github.com/paritytech/substrate\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dev-dependencies.sp-tracing]\ngit = \"https://github.com/paritytech/substrate\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dev-dependencies.sp-version]\ngit = \"https://github.com/paritytech/substrate\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[features]\ndefault = [\"std\"]\nruntime-benchmarks = [\"frame-benchmarking/runtime-benchmarks\"]\nstd = [\"codec/std\", \"frame-benchmarking/std\", \"frame-support/std\", \"frame-system/std\", \"scale-info/std\"]\ntry-runtime = [\"frame-support/try-runtime\"]\n\n[lib]\npath = \"src/lib.rs\"\nname = \"pallet_subtensor\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\ncrate-type = [\"rlib\"]\n" + }, + { + "relative_path": "pallets/subtensor/rpc/Cargo.toml", + "contents": "bin = []\nbench = []\ntest = []\nexample = []\n\n[package]\nname = \"subtensor-custom-rpc\"\nedition = \"2021\"\nversion = \"0.0.1\"\nauthors = [\"Cameron Fairchild \"]\ndescription = \"A pallet that adds custom RPC calls to subtensor\"\nlicense = \"MIT\"\nrepository = \"https://github.com/opentensor/subtensor\"\nautobins = true\nautoexamples = true\nautotests = true\nautobenches = true\npublish = false\n[dependencies.codec]\nversion = \"3.0.0\"\nfeatures = [\"derive\"]\ndefault-features = false\npackage = \"parity-scale-codec\"\n\n[dependencies.jsonrpsee]\nversion = \"0.16.2\"\nfeatures = [\"client-core\", \"server\", \"macros\"]\ndefault-features = false\n\n[dependencies.pallet-subtensor]\nversion = \"0.0.1\"\npath = \"../../subtensor\"\ndefault-features = false\n\n[dependencies.serde]\nversion = \"1.0.132\"\nfeatures = [\"derive\"]\ndefault-features = false\n\n[dependencies.sp-api]\ngit = \"https://github.com/paritytech/substrate\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.sp-blockchain]\ngit = \"https://github.com/paritytech/substrate\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.sp-rpc]\ngit = \"https://github.com/paritytech/substrate\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.sp-runtime]\ngit = \"https://github.com/paritytech/substrate\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.subtensor-custom-rpc-runtime-api]\nversion = \"0.0.1\"\npath = \"../runtime-api\"\ndefault-features = false\n\n[features]\ndefault = [\"std\"]\nstd = [\"sp-api/std\", \"sp-runtime/std\", \"subtensor-custom-rpc-runtime-api/std\"]\n\n[lib]\npath = \"src/lib.rs\"\nname = \"subtensor_custom_rpc\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\ncrate-type = [\"rlib\"]\n" + }, + { + "relative_path": "pallets/subtensor/runtime-api/Cargo.toml", + "contents": "bin = []\nbench = []\ntest = []\nexample = []\n\n[package]\nname = \"subtensor-custom-rpc-runtime-api\"\nedition = \"2021\"\nversion = \"0.0.1\"\nauthors = [\"Cameron Fairchild \"]\ndescription = \"A pallet that adds a custom runtime API to Subtensor\"\nlicense = \"MIT\"\nrepository = \"https://github.com/opentensor/subtensor\"\nautobins = true\nautoexamples = true\nautotests = true\nautobenches = true\npublish = false\n[dependencies.frame-support]\ngit = \"https://github.com/paritytech/substrate\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.pallet-subtensor]\nversion = \"0.0.1\"\npath = \"../../subtensor\"\ndefault-features = false\n\n[dependencies.serde]\nversion = \"1.0.132\"\nfeatures = [\"derive\"]\ndefault-features = false\n\n[dependencies.sp-api]\ngit = \"https://github.com/paritytech/substrate\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[features]\ndefault = [\"std\"]\nstd = [\"sp-api/std\"]\n\n[lib]\npath = \"src/lib.rs\"\nname = \"subtensor_custom_rpc_runtime_api\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\ncrate-type = [\"rlib\"]\n" + }, + { + "relative_path": "runtime/Cargo.toml", + "contents": "bin = []\nbench = []\ntest = []\nexample = []\n\n[package]\nname = \"node-subtensor-runtime\"\nedition = \"2021\"\nversion = \"0.0.1\"\nbuild = \"build.rs\"\nauthors = [\"Substrate DevHub \"]\ndescription = \"A fresh FRAME-based Substrate node, ready for hacking.\"\nhomepage = \"https://substrate.io/\"\nlicense = \"Unlicense\"\nrepository = \"https://github.com/substrate-developer-hub/substrate-node-subtensor/\"\nautobins = true\nautoexamples = true\nautotests = true\nautobenches = true\npublish = false\n[package.metadata.docs.rs]\ntargets = [\"x86_64-unknown-linux-gnu\"]\n\n[dependencies]\nsmallvec = \"1.6.1\"\n\n[dependencies.codec]\nversion = \"3.0.0\"\nfeatures = [\"derive\"]\ndefault-features = false\npackage = \"parity-scale-codec\"\n\n[dependencies.frame-benchmarking]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\noptional = true\ndefault-features = false\n\n[dependencies.frame-executive]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.frame-support]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.frame-system]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.frame-system-benchmarking]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\noptional = true\ndefault-features = false\n\n[dependencies.frame-system-rpc-runtime-api]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.frame-try-runtime]\nversion = \"0.10.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\noptional = true\ndefault-features = false\n\n[dependencies.pallet-aura]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.pallet-balances]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.pallet-grandpa]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.pallet-randomness-collective-flip]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.pallet-subtensor]\nversion = \"0.0.1\"\npath = \"../pallets/subtensor\"\ndefault-features = false\n\n[dependencies.pallet-sudo]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.pallet-timestamp]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.pallet-transaction-payment]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.pallet-transaction-payment-rpc-runtime-api]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.scale-info]\nversion = \"2.1.1\"\nfeatures = [\"derive\"]\ndefault-features = false\n\n[dependencies.sp-api]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.sp-block-builder]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.sp-consensus-aura]\nversion = \"0.10.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.sp-core]\nversion = \"24\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.sp-inherents]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.sp-offchain]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.sp-runtime]\nversion = \"24\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.sp-session]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.sp-std]\nversion = \"5.0.0\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.sp-transaction-pool]\nversion = \"4.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.sp-version]\nversion = \"5.0.0\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\ndefault-features = false\n\n[dependencies.subtensor-custom-rpc-runtime-api]\nversion = \"0.0.1\"\npath = \"../pallets/subtensor/runtime-api\"\ndefault-features = false\n[build-dependencies.substrate-wasm-builder]\nversion = \"5.0.0-dev\"\ngit = \"https://github.com/paritytech/substrate.git\"\nbranch = \"polkadot-v1.0.0\"\noptional = true\n\n[features]\ndefault = [\"std\"]\nruntime-benchmarks = [\"frame-benchmarking/runtime-benchmarks\", \"frame-support/runtime-benchmarks\", \"frame-system-benchmarking/runtime-benchmarks\", \"frame-system/runtime-benchmarks\", \"pallet-balances/runtime-benchmarks\", \"pallet-grandpa/runtime-benchmarks\", \"pallet-timestamp/runtime-benchmarks\", \"sp-runtime/runtime-benchmarks\", \"pallet-subtensor/runtime-benchmarks\"]\nstd = [\"frame-try-runtime?/std\", \"frame-system-benchmarking?/std\", \"frame-benchmarking/std\", \"codec/std\", \"scale-info/std\", \"frame-executive/std\", \"frame-support/std\", \"frame-system-rpc-runtime-api/std\", \"frame-system/std\", \"frame-try-runtime/std\", \"pallet-subtensor/std\", \"pallet-aura/std\", \"pallet-balances/std\", \"pallet-grandpa/std\", \"pallet-randomness-collective-flip/std\", \"pallet-sudo/std\", \"pallet-timestamp/std\", \"pallet-transaction-payment-rpc-runtime-api/std\", \"pallet-transaction-payment/std\", \"sp-api/std\", \"sp-block-builder/std\", \"sp-consensus-aura/std\", \"sp-core/std\", \"sp-inherents/std\", \"sp-offchain/std\", \"sp-runtime/std\", \"sp-session/std\", \"sp-std/std\", \"sp-transaction-pool/std\", \"sp-version/std\", \"substrate-wasm-builder\"]\ntry-runtime = [\"frame-try-runtime/try-runtime\", \"frame-executive/try-runtime\", \"frame-system/try-runtime\", \"frame-support/try-runtime\", \"pallet-aura/try-runtime\", \"pallet-balances/try-runtime\", \"pallet-grandpa/try-runtime\", \"pallet-randomness-collective-flip/try-runtime\", \"pallet-sudo/try-runtime\", \"pallet-timestamp/try-runtime\", \"pallet-transaction-payment/try-runtime\", \"pallet-subtensor/try-runtime\"]\n\n[lib]\npath = \"src/lib.rs\"\nname = \"node_subtensor_runtime\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nedition = \"2021\"\nrequired-features = []\ncrate-type = [\"rlib\"]\n[profile.test]\nopt-level = 3\n\n[profile.test.package]\n" + }, + { + "relative_path": "target/debug/wbuild/node-subtensor-runtime/Cargo.toml", + "contents": "bin = []\nbench = []\ntest = []\nexample = []\n\n[package]\nname = \"node-subtensor-runtime-wasm\"\nedition = \"2021\"\nversion = \"0.0.1\"\nautobins = true\nautoexamples = true\nautotests = true\nautobenches = true\n\n[workspace]\nmembers = []\n[dependencies.wasm-project]\npath = \"/Users/alashaabana/.bittensor/subtensorv3/runtime\"\nfeatures = [\"frame-try-runtime\", \"frame-benchmarking\"]\ndefault-features = false\npackage = \"node-subtensor-runtime\"\n\n[lib]\nname = \"node_subtensor_runtime\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nrequired-features = []\ncrate-type = [\"cdylib\"]\n[profile.release]\nlto = \"thin\"\npanic = \"abort\"\n\n[profile.release.package]\n\n[profile.dev]\npanic = \"abort\"\n\n[profile.dev.package]\n\n[profile.production]\ninherits = \"release\"\nlto = \"fat\"\ncodegen-units = 1\n\n[profile.production.package]\n" + }, + { + "relative_path": "target/debug/wbuild/node-template-runtime/Cargo.toml", + "contents": "bin = []\nbench = []\ntest = []\nexample = []\n\n[package]\nname = \"node-template-runtime-wasm\"\nedition = \"2021\"\nversion = \"0.0.1\"\nautobins = true\nautoexamples = true\nautotests = true\nautobenches = true\n\n[workspace]\nmembers = []\n[dependencies.wasm-project]\npath = \"/Users/alashaabana/.bittensor/subtensorv3/runtime\"\nfeatures = [\"frame-try-runtime\"]\ndefault-features = false\npackage = \"node-template-runtime\"\n\n[lib]\nname = \"node_template_runtime\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nrequired-features = []\ncrate-type = [\"cdylib\"]\n[profile.release]\nlto = \"thin\"\npanic = \"abort\"\n\n[profile.release.package]\n\n[profile.dev]\npanic = \"abort\"\n\n[profile.dev.package]\n\n[profile.production]\ninherits = \"release\"\nlto = \"fat\"\ncodegen-units = 1\n\n[profile.production.package]\n" + }, + { + "relative_path": "target/release/wbuild/node-subtensor-runtime/Cargo.toml", + "contents": "bin = []\nbench = []\ntest = []\nexample = []\n\n[package]\nname = \"node-subtensor-runtime-wasm\"\nedition = \"2021\"\nversion = \"0.0.1\"\nautobins = true\nautoexamples = true\nautotests = true\nautobenches = true\n\n[workspace]\nmembers = []\n[dependencies.wasm-project]\npath = \"/Users/alashaabana/.bittensor/subtensorv3/runtime\"\nfeatures = [\"frame-system-benchmarking\", \"frame-try-runtime\", \"frame-benchmarking\", \"runtime-benchmarks\"]\ndefault-features = false\npackage = \"node-subtensor-runtime\"\n\n[lib]\nname = \"node_subtensor_runtime\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nrequired-features = []\ncrate-type = [\"cdylib\"]\n[profile.release]\nlto = \"thin\"\npanic = \"abort\"\n\n[profile.release.package]\n\n[profile.dev]\npanic = \"abort\"\n\n[profile.dev.package]\n\n[profile.production]\ninherits = \"release\"\nlto = \"fat\"\ncodegen-units = 1\n\n[profile.production.package]\n" + }, + { + "relative_path": "target/release/wbuild/node-template-runtime/Cargo.toml", + "contents": "bin = []\nbench = []\ntest = []\nexample = []\n\n[package]\nname = \"node-template-runtime-wasm\"\nedition = \"2021\"\nversion = \"0.0.1\"\nautobins = true\nautoexamples = true\nautotests = true\nautobenches = true\n\n[workspace]\nmembers = []\n[dependencies.wasm-project]\npath = \"/Users/alashaabana/.bittensor/subtensorv3/runtime\"\nfeatures = [\"frame-system-benchmarking\", \"runtime-benchmarks\", \"frame-try-runtime\", \"frame-benchmarking\"]\ndefault-features = false\npackage = \"node-template-runtime\"\n\n[lib]\nname = \"node_template_runtime\"\ntest = true\ndoctest = true\nbench = true\ndoc = true\nplugin = false\nproc-macro = false\nharness = true\nrequired-features = []\ncrate-type = [\"cdylib\"]\n[profile.release]\nlto = \"thin\"\npanic = \"abort\"\n\n[profile.release.package]\n\n[profile.dev]\npanic = \"abort\"\n\n[profile.dev.package]\n\n[profile.production]\ninherits = \"release\"\nlto = \"fat\"\ncodegen-units = 1\n\n[profile.production.package]\n" + } + ], + "config_file": null, + "lock_file": "version = 3\n\n[[package]]\nname = \"Inflector\"\nversion = \"0.11.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3\"\ndependencies = [\"lazy_static\", \"regex\"]\n\n[[package]]\nname = \"addr2line\"\nversion = \"0.17.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b\"\ndependencies = [\"gimli 0.26.2\"]\n\n[[package]]\nname = \"addr2line\"\nversion = \"0.19.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97\"\ndependencies = [\"gimli 0.27.1\"]\n\n[[package]]\nname = \"adler\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe\"\n\n[[package]]\nname = \"aead\"\nversion = \"0.3.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331\"\ndependencies = [\"generic-array 0.14.6\"]\n\n[[package]]\nname = \"aead\"\nversion = \"0.4.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877\"\ndependencies = [\"generic-array 0.14.6\", \"rand_core 0.6.4\"]\n\n[[package]]\nname = \"aes\"\nversion = \"0.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"884391ef1066acaa41e766ba8f596341b96e93ce34f9a43e7d24bf0a0eaf0561\"\ndependencies = [\"aes-soft\", \"aesni\", \"cipher 0.2.5\"]\n\n[[package]]\nname = \"aes\"\nversion = \"0.7.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8\"\ndependencies = [\"cfg-if\", \"cipher 0.3.0\", \"cpufeatures\", \"opaque-debug 0.3.0\"]\n\n[[package]]\nname = \"aes-gcm\"\nversion = \"0.8.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5278b5fabbb9bd46e24aa69b2fdea62c99088e0a950a9be40e3e0101298f88da\"\ndependencies = [\"aead 0.3.2\", \"aes 0.6.0\", \"cipher 0.2.5\", \"ctr 0.6.0\", \"ghash 0.3.1\", \"subtle\"]\n\n[[package]]\nname = \"aes-gcm\"\nversion = \"0.9.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"df5f85a83a7d8b0442b6aa7b504b8212c1733da07b98aae43d4bc21b2cb3cdf6\"\ndependencies = [\"aead 0.4.3\", \"aes 0.7.5\", \"cipher 0.3.0\", \"ctr 0.8.0\", \"ghash 0.4.4\", \"subtle\"]\n\n[[package]]\nname = \"aes-soft\"\nversion = \"0.6.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"be14c7498ea50828a38d0e24a765ed2effe92a705885b57d029cd67d45744072\"\ndependencies = [\"cipher 0.2.5\", \"opaque-debug 0.3.0\"]\n\n[[package]]\nname = \"aesni\"\nversion = \"0.10.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ea2e11f5e94c2f7d386164cc2aa1f97823fed6f259e486940a71c174dd01b0ce\"\ndependencies = [\"cipher 0.2.5\", \"opaque-debug 0.3.0\"]\n\n[[package]]\nname = \"ahash\"\nversion = \"0.7.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47\"\ndependencies = [\"getrandom 0.2.8\", \"once_cell\", \"version_check\"]\n\n[[package]]\nname = \"aho-corasick\"\nversion = \"0.7.20\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac\"\ndependencies = [\"memchr\"]\n\n[[package]]\nname = \"android_system_properties\"\nversion = \"0.1.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311\"\ndependencies = [\"libc\"]\n\n[[package]]\nname = \"ansi_term\"\nversion = \"0.12.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2\"\ndependencies = [\"winapi\"]\n\n[[package]]\nname = \"anyhow\"\nversion = \"1.0.69\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800\"\n\n[[package]]\nname = \"approx\"\nversion = \"0.5.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6\"\ndependencies = [\"num-traits\"]\n\n[[package]]\nname = \"arc-swap\"\nversion = \"1.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6\"\n\n[[package]]\nname = \"array-bytes\"\nversion = \"4.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f52f63c5c1316a16a4b35eaac8b76a98248961a533f061684cb2a7cb0eafb6c6\"\n\n[[package]]\nname = \"arrayref\"\nversion = \"0.3.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544\"\n\n[[package]]\nname = \"arrayvec\"\nversion = \"0.5.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b\"\n\n[[package]]\nname = \"arrayvec\"\nversion = \"0.7.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6\"\n\n[[package]]\nname = \"asn1-rs\"\nversion = \"0.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"30ff05a702273012438132f449575dbc804e27b2f3cbe3069aa237d26c98fa33\"\ndependencies = [\"asn1-rs-derive 0.1.0\", \"asn1-rs-impl\", \"displaydoc\", \"nom\", \"num-traits\", \"rusticata-macros\", \"thiserror\", \"time 0.3.17\"]\n\n[[package]]\nname = \"asn1-rs\"\nversion = \"0.5.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cf6690c370453db30743b373a60ba498fc0d6d83b11f4abfd87a84a075db5dd4\"\ndependencies = [\"asn1-rs-derive 0.4.0\", \"asn1-rs-impl\", \"displaydoc\", \"nom\", \"num-traits\", \"rusticata-macros\", \"thiserror\", \"time 0.3.17\"]\n\n[[package]]\nname = \"asn1-rs-derive\"\nversion = \"0.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"db8b7511298d5b7784b40b092d9e9dcd3a627a5707e4b5e507931ab0d44eeebf\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\", \"synstructure\"]\n\n[[package]]\nname = \"asn1-rs-derive\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\", \"synstructure\"]\n\n[[package]]\nname = \"asn1-rs-impl\"\nversion = \"0.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"asn1_der\"\nversion = \"0.7.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e22d1f4b888c298a027c99dc9048015fac177587de20fc30232a057dfbe24a21\"\n\n[[package]]\nname = \"async-io\"\nversion = \"1.12.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8c374dda1ed3e7d8f0d9ba58715f924862c63eae6849c92d3a18e7fbde9e2794\"\ndependencies = [\"async-lock\", \"autocfg\", \"concurrent-queue\", \"futures-lite\", \"libc\", \"log\", \"parking\", \"polling\", \"slab\", \"socket2\", \"waker-fn\", \"windows-sys 0.42.0\"]\n\n[[package]]\nname = \"async-lock\"\nversion = \"2.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c8101efe8695a6c17e02911402145357e718ac92d3ff88ae8419e84b1707b685\"\ndependencies = [\"event-listener\", \"futures-lite\"]\n\n[[package]]\nname = \"async-trait\"\nversion = \"0.1.64\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"asynchronous-codec\"\nversion = \"0.6.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"06a0daa378f5fd10634e44b0a29b2a87b890657658e072a30d6f26e57ddee182\"\ndependencies = [\"bytes\", \"futures-sink\", \"futures-util\", \"memchr\", \"pin-project-lite 0.2.9\"]\n\n[[package]]\nname = \"atomic-waker\"\nversion = \"1.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"debc29dde2e69f9e47506b525f639ed42300fc014a3e007832592448fa8e4599\"\n\n[[package]]\nname = \"atty\"\nversion = \"0.2.14\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8\"\ndependencies = [\"hermit-abi 0.1.19\", \"libc\", \"winapi\"]\n\n[[package]]\nname = \"autocfg\"\nversion = \"1.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa\"\n\n[[package]]\nname = \"backtrace\"\nversion = \"0.3.67\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca\"\ndependencies = [\"addr2line 0.19.0\", \"cc\", \"cfg-if\", \"libc\", \"miniz_oxide\", \"object 0.30.3\", \"rustc-demangle\"]\n\n[[package]]\nname = \"base-x\"\nversion = \"0.2.11\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270\"\n\n[[package]]\nname = \"base16ct\"\nversion = \"0.1.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce\"\n\n[[package]]\nname = \"base58\"\nversion = \"0.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6107fe1be6682a68940da878d9e9f5e90ca5745b3dec9fd1bb393c8777d4f581\"\n\n[[package]]\nname = \"base64\"\nversion = \"0.13.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8\"\n\n[[package]]\nname = \"base64\"\nversion = \"0.21.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a\"\n\n[[package]]\nname = \"base64ct\"\nversion = \"1.5.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf\"\n\n[[package]]\nname = \"beef\"\nversion = \"0.5.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1\"\ndependencies = [\"serde\"]\n\n[[package]]\nname = \"bincode\"\nversion = \"1.3.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad\"\ndependencies = [\"serde\"]\n\n[[package]]\nname = \"bindgen\"\nversion = \"0.60.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"062dddbc1ba4aca46de6338e2bf87771414c335f7b2f2036e8f3e9befebf88e6\"\ndependencies = [\"bitflags\", \"cexpr\", \"clang-sys\", \"lazy_static\", \"lazycell\", \"peeking_take_while\", \"proc-macro2\", \"quote\", \"regex\", \"rustc-hash\", \"shlex\"]\n\n[[package]]\nname = \"bitflags\"\nversion = \"1.3.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a\"\n\n[[package]]\nname = \"bitvec\"\nversion = \"1.0.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c\"\ndependencies = [\"funty\", \"radium\", \"tap\", \"wyz\"]\n\n[[package]]\nname = \"blake2\"\nversion = \"0.10.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe\"\ndependencies = [\"digest 0.10.6\"]\n\n[[package]]\nname = \"blake2b_simd\"\nversion = \"1.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"72936ee4afc7f8f736d1c38383b56480b5497b4617b4a77bdbf1d2ababc76127\"\ndependencies = [\"arrayref\", \"arrayvec 0.7.2\", \"constant_time_eq 0.1.5\"]\n\n[[package]]\nname = \"blake2s_simd\"\nversion = \"1.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"db539cc2b5f6003621f1cd9ef92d7ded8ea5232c7de0f9faa2de251cd98730d4\"\ndependencies = [\"arrayref\", \"arrayvec 0.7.2\", \"constant_time_eq 0.1.5\"]\n\n[[package]]\nname = \"blake3\"\nversion = \"1.3.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"42ae2468a89544a466886840aa467a25b766499f4f04bf7d9fcd10ecee9fccef\"\ndependencies = [\"arrayref\", \"arrayvec 0.7.2\", \"cc\", \"cfg-if\", \"constant_time_eq 0.2.4\"]\n\n[[package]]\nname = \"block-buffer\"\nversion = \"0.7.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b\"\ndependencies = [\"block-padding 0.1.5\", \"byte-tools\", \"byteorder\", \"generic-array 0.12.4\"]\n\n[[package]]\nname = \"block-buffer\"\nversion = \"0.9.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4\"\ndependencies = [\"generic-array 0.14.6\"]\n\n[[package]]\nname = \"block-buffer\"\nversion = \"0.10.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e\"\ndependencies = [\"generic-array 0.14.6\"]\n\n[[package]]\nname = \"block-modes\"\nversion = \"0.7.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"57a0e8073e8baa88212fb5823574c02ebccb395136ba9a164ab89379ec6072f0\"\ndependencies = [\"block-padding 0.2.1\", \"cipher 0.2.5\"]\n\n[[package]]\nname = \"block-padding\"\nversion = \"0.1.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5\"\ndependencies = [\"byte-tools\"]\n\n[[package]]\nname = \"block-padding\"\nversion = \"0.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae\"\n\n[[package]]\nname = \"bs58\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3\"\n\n[[package]]\nname = \"bstr\"\nversion = \"1.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b7f0778972c64420fdedc63f09919c8a88bda7b25135357fd25a5d9f3257e832\"\ndependencies = [\"memchr\", \"serde\"]\n\n[[package]]\nname = \"build-helper\"\nversion = \"0.1.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bdce191bf3fa4995ce948c8c83b4640a1745457a149e73c6db75b4ffe36aad5f\"\ndependencies = [\"semver 0.6.0\"]\n\n[[package]]\nname = \"bumpalo\"\nversion = \"3.12.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535\"\n\n[[package]]\nname = \"byte-slice-cast\"\nversion = \"1.2.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c\"\n\n[[package]]\nname = \"byte-tools\"\nversion = \"0.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7\"\n\n[[package]]\nname = \"byteorder\"\nversion = \"1.4.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610\"\n\n[[package]]\nname = \"bytes\"\nversion = \"1.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be\"\n\n[[package]]\nname = \"bzip2-sys\"\nversion = \"0.1.11+1.0.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc\"\ndependencies = [\"cc\", \"libc\", \"pkg-config\"]\n\n[[package]]\nname = \"camino\"\nversion = \"1.1.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c77df041dc383319cc661b428b6961a005db4d6808d5e12536931b1ca9556055\"\ndependencies = [\"serde\"]\n\n[[package]]\nname = \"cargo-platform\"\nversion = \"0.1.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27\"\ndependencies = [\"serde\"]\n\n[[package]]\nname = \"cargo_metadata\"\nversion = \"0.14.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa\"\ndependencies = [\"camino\", \"cargo-platform\", \"semver 1.0.16\", \"serde\", \"serde_json\"]\n\n[[package]]\nname = \"cc\"\nversion = \"1.0.79\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f\"\ndependencies = [\"jobserver\"]\n\n[[package]]\nname = \"ccm\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5aca1a8fbc20b50ac9673ff014abfb2b5f4085ee1a850d408f14a159c5853ac7\"\ndependencies = [\"aead 0.3.2\", \"cipher 0.2.5\", \"subtle\"]\n\n[[package]]\nname = \"cexpr\"\nversion = \"0.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766\"\ndependencies = [\"nom\"]\n\n[[package]]\nname = \"cfg-expr\"\nversion = \"0.10.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0aacacf4d96c24b2ad6eb8ee6df040e4f27b0d0b39a5710c30091baa830485db\"\ndependencies = [\"smallvec\"]\n\n[[package]]\nname = \"cfg-if\"\nversion = \"1.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd\"\n\n[[package]]\nname = \"cfg_aliases\"\nversion = \"0.1.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e\"\n\n[[package]]\nname = \"chacha20\"\nversion = \"0.8.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5c80e5460aa66fe3b91d40bcbdab953a597b60053e34d684ac6903f863b680a6\"\ndependencies = [\"cfg-if\", \"cipher 0.3.0\", \"cpufeatures\", \"zeroize\"]\n\n[[package]]\nname = \"chacha20poly1305\"\nversion = \"0.9.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a18446b09be63d457bbec447509e85f662f32952b035ce892290396bc0b0cff5\"\ndependencies = [\"aead 0.4.3\", \"chacha20\", \"cipher 0.3.0\", \"poly1305\", \"zeroize\"]\n\n[[package]]\nname = \"chrono\"\nversion = \"0.4.23\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f\"\ndependencies = [\"iana-time-zone\", \"js-sys\", \"num-integer\", \"num-traits\", \"time 0.1.45\", \"wasm-bindgen\", \"winapi\"]\n\n[[package]]\nname = \"cid\"\nversion = \"0.8.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f6ed9c8b2d17acb8110c46f1da5bf4a696d745e1474a16db0cd2b49cd0249bf2\"\ndependencies = [\"core2\", \"multibase\", \"multihash\", \"serde\", \"unsigned-varint\"]\n\n[[package]]\nname = \"cipher\"\nversion = \"0.2.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801\"\ndependencies = [\"generic-array 0.14.6\"]\n\n[[package]]\nname = \"cipher\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7\"\ndependencies = [\"generic-array 0.14.6\"]\n\n[[package]]\nname = \"clang-sys\"\nversion = \"1.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3\"\ndependencies = [\"glob\", \"libc\", \"libloading\"]\n\n[[package]]\nname = \"clap\"\nversion = \"4.1.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f13b9c79b5d1dd500d20ef541215a6423c75829ef43117e1b4d17fd8af0b5d76\"\ndependencies = [\"bitflags\", \"clap_derive\", \"clap_lex\", \"is-terminal\", \"once_cell\", \"strsim\", \"termcolor\"]\n\n[[package]]\nname = \"clap_derive\"\nversion = \"4.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8\"\ndependencies = [\"heck\", \"proc-macro-error\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"clap_lex\"\nversion = \"0.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade\"\ndependencies = [\"os_str_bytes\"]\n\n[[package]]\nname = \"codespan-reporting\"\nversion = \"0.11.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e\"\ndependencies = [\"termcolor\", \"unicode-width\"]\n\n[[package]]\nname = \"comfy-table\"\nversion = \"6.1.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6e7b787b0dc42e8111badfdbe4c3059158ccb2db8780352fa1b01e8ccf45cc4d\"\ndependencies = [\"strum\", \"strum_macros\", \"unicode-width\"]\n\n[[package]]\nname = \"concurrent-queue\"\nversion = \"2.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c278839b831783b70278b14df4d45e1beb1aad306c07bb796637de9a0e323e8e\"\ndependencies = [\"crossbeam-utils\"]\n\n[[package]]\nname = \"const-oid\"\nversion = \"0.9.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b\"\n\n[[package]]\nname = \"constant_time_eq\"\nversion = \"0.1.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc\"\n\n[[package]]\nname = \"constant_time_eq\"\nversion = \"0.2.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f3ad85c1f65dc7b37604eb0e89748faf0b9653065f2a8ef69f96a687ec1e9279\"\n\n[[package]]\nname = \"core-foundation\"\nversion = \"0.9.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146\"\ndependencies = [\"core-foundation-sys\", \"libc\"]\n\n[[package]]\nname = \"core-foundation-sys\"\nversion = \"0.8.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc\"\n\n[[package]]\nname = \"core2\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505\"\ndependencies = [\"memchr\"]\n\n[[package]]\nname = \"cpp_demangle\"\nversion = \"0.3.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f\"\ndependencies = [\"cfg-if\"]\n\n[[package]]\nname = \"cpufeatures\"\nversion = \"0.2.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320\"\ndependencies = [\"libc\"]\n\n[[package]]\nname = \"cpuid-bool\"\nversion = \"0.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba\"\n\n[[package]]\nname = \"cranelift-bforest\"\nversion = \"0.88.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"52056f6d0584484b57fa6c1a65c1fcb15f3780d8b6a758426d9e3084169b2ddd\"\ndependencies = [\"cranelift-entity\"]\n\n[[package]]\nname = \"cranelift-codegen\"\nversion = \"0.88.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"18fed94c8770dc25d01154c3ffa64ed0b3ba9d583736f305fed7beebe5d9cf74\"\ndependencies = [\"arrayvec 0.7.2\", \"bumpalo\", \"cranelift-bforest\", \"cranelift-codegen-meta\", \"cranelift-codegen-shared\", \"cranelift-entity\", \"cranelift-isle\", \"gimli 0.26.2\", \"log\", \"regalloc2\", \"smallvec\", \"target-lexicon\"]\n\n[[package]]\nname = \"cranelift-codegen-meta\"\nversion = \"0.88.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1c451b81faf237d11c7e4f3165eeb6bac61112762c5cfe7b4c0fb7241474358f\"\ndependencies = [\"cranelift-codegen-shared\"]\n\n[[package]]\nname = \"cranelift-codegen-shared\"\nversion = \"0.88.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e7c940133198426d26128f08be2b40b0bd117b84771fd36798969c4d712d81fc\"\n\n[[package]]\nname = \"cranelift-entity\"\nversion = \"0.88.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"87a0f1b2fdc18776956370cf8d9b009ded3f855350c480c1c52142510961f352\"\ndependencies = [\"serde\"]\n\n[[package]]\nname = \"cranelift-frontend\"\nversion = \"0.88.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"34897538b36b216cc8dd324e73263596d51b8cf610da6498322838b2546baf8a\"\ndependencies = [\"cranelift-codegen\", \"log\", \"smallvec\", \"target-lexicon\"]\n\n[[package]]\nname = \"cranelift-isle\"\nversion = \"0.88.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1b2629a569fae540f16a76b70afcc87ad7decb38dc28fa6c648ac73b51e78470\"\n\n[[package]]\nname = \"cranelift-native\"\nversion = \"0.88.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"20937dab4e14d3e225c5adfc9c7106bafd4ac669bdb43027b911ff794c6fb318\"\ndependencies = [\"cranelift-codegen\", \"libc\", \"target-lexicon\"]\n\n[[package]]\nname = \"cranelift-wasm\"\nversion = \"0.88.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"80fc2288957a94fd342a015811479de1837850924166d1f1856d8406e6f3609b\"\ndependencies = [\"cranelift-codegen\", \"cranelift-entity\", \"cranelift-frontend\", \"itertools\", \"log\", \"smallvec\", \"wasmparser\", \"wasmtime-types\"]\n\n[[package]]\nname = \"crc\"\nversion = \"3.0.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe\"\ndependencies = [\"crc-catalog\"]\n\n[[package]]\nname = \"crc-catalog\"\nversion = \"2.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484\"\n\n[[package]]\nname = \"crc32fast\"\nversion = \"1.3.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d\"\ndependencies = [\"cfg-if\"]\n\n[[package]]\nname = \"crossbeam-channel\"\nversion = \"0.5.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521\"\ndependencies = [\"cfg-if\", \"crossbeam-utils\"]\n\n[[package]]\nname = \"crossbeam-deque\"\nversion = \"0.8.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc\"\ndependencies = [\"cfg-if\", \"crossbeam-epoch\", \"crossbeam-utils\"]\n\n[[package]]\nname = \"crossbeam-epoch\"\nversion = \"0.9.13\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a\"\ndependencies = [\"autocfg\", \"cfg-if\", \"crossbeam-utils\", \"memoffset 0.7.1\", \"scopeguard\"]\n\n[[package]]\nname = \"crossbeam-utils\"\nversion = \"0.8.14\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f\"\ndependencies = [\"cfg-if\"]\n\n[[package]]\nname = \"crunchy\"\nversion = \"0.2.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7\"\n\n[[package]]\nname = \"crypto-bigint\"\nversion = \"0.4.9\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef\"\ndependencies = [\"generic-array 0.14.6\", \"rand_core 0.6.4\", \"subtle\", \"zeroize\"]\n\n[[package]]\nname = \"crypto-common\"\nversion = \"0.1.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3\"\ndependencies = [\"generic-array 0.14.6\", \"typenum 1.16.0 (registry+https://github.com/rust-lang/crates.io-index)\"]\n\n[[package]]\nname = \"crypto-mac\"\nversion = \"0.8.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab\"\ndependencies = [\"generic-array 0.14.6\", \"subtle\"]\n\n[[package]]\nname = \"crypto-mac\"\nversion = \"0.10.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bff07008ec701e8028e2ceb8f83f0e4274ee62bd2dbdc4fefff2e9a91824081a\"\ndependencies = [\"generic-array 0.14.6\", \"subtle\"]\n\n[[package]]\nname = \"crypto-mac\"\nversion = \"0.11.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714\"\ndependencies = [\"generic-array 0.14.6\", \"subtle\"]\n\n[[package]]\nname = \"ctr\"\nversion = \"0.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fb4a30d54f7443bf3d6191dcd486aca19e67cb3c49fa7a06a319966346707e7f\"\ndependencies = [\"cipher 0.2.5\"]\n\n[[package]]\nname = \"ctr\"\nversion = \"0.8.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea\"\ndependencies = [\"cipher 0.3.0\"]\n\n[[package]]\nname = \"curve25519-dalek\"\nversion = \"2.1.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4a9b85542f99a2dfa2a1b8e192662741c9859a846b296bef1c92ef9b58b5a216\"\ndependencies = [\"byteorder\", \"digest 0.8.1\", \"rand_core 0.5.1\", \"subtle\", \"zeroize\"]\n\n[[package]]\nname = \"curve25519-dalek\"\nversion = \"3.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61\"\ndependencies = [\"byteorder\", \"digest 0.9.0\", \"rand_core 0.5.1\", \"subtle\", \"zeroize\"]\n\n[[package]]\nname = \"curve25519-dalek\"\nversion = \"4.0.0-rc.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8da00a7a9a4eb92a0a0f8e75660926d48f0d0f3c537e455c457bcdaa1e16b1ac\"\ndependencies = [\"cfg-if\", \"fiat-crypto\", \"packed_simd_2\", \"platforms 3.0.2\", \"subtle\", \"zeroize\"]\n\n[[package]]\nname = \"cxx\"\nversion = \"1.0.89\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bc831ee6a32dd495436e317595e639a587aa9907bef96fe6e6abc290ab6204e9\"\ndependencies = [\"cc\", \"cxxbridge-flags\", \"cxxbridge-macro\", \"link-cplusplus\"]\n\n[[package]]\nname = \"cxx-build\"\nversion = \"1.0.89\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"94331d54f1b1a8895cd81049f7eaaaef9d05a7dcb4d1fd08bf3ff0806246789d\"\ndependencies = [\"cc\", \"codespan-reporting\", \"once_cell\", \"proc-macro2\", \"quote\", \"scratch\", \"syn\"]\n\n[[package]]\nname = \"cxxbridge-flags\"\nversion = \"1.0.89\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"48dcd35ba14ca9b40d6e4b4b39961f23d835dbb8eed74565ded361d93e1feb8a\"\n\n[[package]]\nname = \"cxxbridge-macro\"\nversion = \"1.0.89\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"81bbeb29798b407ccd82a3324ade1a7286e0d29851475990b612670f6f5124d2\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"darling\"\nversion = \"0.14.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c0808e1bd8671fb44a113a14e13497557533369847788fa2ae912b6ebfce9fa8\"\ndependencies = [\"darling_core\", \"darling_macro\"]\n\n[[package]]\nname = \"darling_core\"\nversion = \"0.14.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"001d80444f28e193f30c2f293455da62dcf9a6b29918a4253152ae2b1de592cb\"\ndependencies = [\"fnv\", \"ident_case\", \"proc-macro2\", \"quote\", \"strsim\", \"syn\"]\n\n[[package]]\nname = \"darling_macro\"\nversion = \"0.14.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b36230598a2d5de7ec1c6f51f72d8a99a9208daff41de2084d06e3fd3ea56685\"\ndependencies = [\"darling_core\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"data-encoding\"\nversion = \"2.3.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"23d8666cb01533c39dde32bcbab8e227b4ed6679b2c925eba05feabea39508fb\"\n\n[[package]]\nname = \"data-encoding-macro\"\nversion = \"0.1.12\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"86927b7cd2fe88fa698b87404b287ab98d1a0063a34071d92e575b72d3029aca\"\ndependencies = [\"data-encoding\", \"data-encoding-macro-internal\"]\n\n[[package]]\nname = \"data-encoding-macro-internal\"\nversion = \"0.1.10\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a5bbed42daaa95e780b60a50546aa345b8413a1e46f9a40a12907d3598f038db\"\ndependencies = [\"data-encoding\", \"syn\"]\n\n[[package]]\nname = \"der\"\nversion = \"0.6.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de\"\ndependencies = [\"const-oid\", \"pem-rfc7468\", \"zeroize\"]\n\n[[package]]\nname = \"der-parser\"\nversion = \"24\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fe398ac75057914d7d07307bf67dc7f3f574a26783b4fc7805a20ffa9f506e82\"\ndependencies = [\"asn1-rs 0.3.1\", \"displaydoc\", \"nom\", \"num-bigint\", \"num-traits\", \"rusticata-macros\"]\n\n[[package]]\nname = \"der-parser\"\nversion = \"8.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"42d4bc9b0db0a0df9ae64634ac5bdefb7afcb534e182275ca0beadbe486701c1\"\ndependencies = [\"asn1-rs 0.5.1\", \"displaydoc\", \"nom\", \"num-bigint\", \"num-traits\", \"rusticata-macros\"]\n\n[[package]]\nname = \"derive_builder\"\nversion = \"0.11.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d07adf7be193b71cc36b193d0f5fe60b918a3a9db4dad0449f57bcfd519704a3\"\ndependencies = [\"derive_builder_macro\"]\n\n[[package]]\nname = \"derive_builder_core\"\nversion = \"0.11.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1f91d4cfa921f1c05904dc3c57b4a32c38aed3340cce209f3a6fd1478babafc4\"\ndependencies = [\"darling\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"derive_builder_macro\"\nversion = \"0.11.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8f0314b72bed045f3a68671b3c86328386762c93f82d98c65c3cb5e5f573dd68\"\ndependencies = [\"derive_builder_core\", \"syn\"]\n\n[[package]]\nname = \"derive_more\"\nversion = \"0.99.17\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"difflib\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8\"\n\n[[package]]\nname = \"digest\"\nversion = \"0.8.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5\"\ndependencies = [\"generic-array 0.12.4\"]\n\n[[package]]\nname = \"digest\"\nversion = \"0.9.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066\"\ndependencies = [\"generic-array 0.14.6\"]\n\n[[package]]\nname = \"digest\"\nversion = \"0.10.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f\"\ndependencies = [\"block-buffer 0.10.3\", \"crypto-common\", \"subtle\"]\n\n[[package]]\nname = \"directories\"\nversion = \"4.0.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f51c5d4ddabd36886dd3e1438cb358cdcb0d7c499cb99cb4ac2e38e18b5cb210\"\ndependencies = [\"dirs-sys\"]\n\n[[package]]\nname = \"directories-next\"\nversion = \"2.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"339ee130d97a610ea5a5872d2bbb130fdf68884ff09d3028b81bec8a1ac23bbc\"\ndependencies = [\"cfg-if\", \"dirs-sys-next\"]\n\n[[package]]\nname = \"dirs-sys\"\nversion = \"0.3.7\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6\"\ndependencies = [\"libc\", \"redox_users\", \"winapi\"]\n\n[[package]]\nname = \"dirs-sys-next\"\nversion = \"0.1.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d\"\ndependencies = [\"libc\", \"redox_users\", \"winapi\"]\n\n[[package]]\nname = \"displaydoc\"\nversion = \"0.2.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3bf95dc3f046b9da4f2d51833c0d3547d8564ef6910f5c1ed130306a75b92886\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"downcast\"\nversion = \"0.11.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1\"\n\n[[package]]\nname = \"downcast-rs\"\nversion = \"1.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650\"\n\n[[package]]\nname = \"dtoa\"\nversion = \"1.0.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c00704156a7de8df8da0911424e30c2049957b0a714542a44e05fe693dd85313\"\n\n[[package]]\nname = \"dyn-clonable\"\nversion = \"0.9.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4e9232f0e607a262ceb9bd5141a3dfb3e4db6994b31989bbfd845878cba59fd4\"\ndependencies = [\"dyn-clonable-impl\", \"dyn-clone\"]\n\n[[package]]\nname = \"dyn-clonable-impl\"\nversion = \"0.9.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"558e40ea573c374cf53507fd240b7ee2f5477df7cfebdb97323ec61c719399c5\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"dyn-clone\"\nversion = \"1.0.10\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c9b0705efd4599c15a38151f4721f7bc388306f61084d3bfd50bd07fbca5cb60\"\n\n[[package]]\nname = \"ecdsa\"\nversion = \"0.14.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c\"\ndependencies = [\"der\", \"elliptic-curve\", \"rfc6979\", \"signature\"]\n\n[[package]]\nname = \"ed25519\"\nversion = \"1.5.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7\"\ndependencies = [\"signature\"]\n\n[[package]]\nname = \"ed25519-dalek\"\nversion = \"1.0.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d\"\ndependencies = [\"curve25519-dalek 3.2.0\", \"ed25519\", \"rand 0.7.3\", \"serde\", \"sha2 0.9.9\", \"zeroize\"]\n\n[[package]]\nname = \"ed25519-zebra\"\nversion = \"3.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6\"\ndependencies = [\"curve25519-dalek 3.2.0\", \"hashbrown\", \"hex\", \"rand_core 0.6.4\", \"sha2 0.9.9\", \"zeroize\"]\n\n[[package]]\nname = \"either\"\nversion = \"1.8.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91\"\n\n[[package]]\nname = \"elliptic-curve\"\nversion = \"0.12.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3\"\ndependencies = [\"base16ct\", \"crypto-bigint\", \"der\", \"digest 0.10.6\", \"ff\", \"generic-array 0.14.6\", \"group\", \"hkdf\", \"pem-rfc7468\", \"pkcs8\", \"rand_core 0.6.4\", \"sec1\", \"subtle\", \"zeroize\"]\n\n[[package]]\nname = \"enum-as-inner\"\nversion = \"0.5.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c9720bba047d567ffc8a3cba48bf19126600e249ab7f128e9233e6376976a116\"\ndependencies = [\"heck\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"env_logger\"\nversion = \"0.10.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0\"\ndependencies = [\"humantime\", \"is-terminal\", \"log\", \"regex\", \"termcolor\"]\n\n[[package]]\nname = \"environmental\"\nversion = \"1.1.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b\"\n\n[[package]]\nname = \"errno\"\nversion = \"0.2.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1\"\ndependencies = [\"errno-dragonfly\", \"libc\", \"winapi\"]\n\n[[package]]\nname = \"errno-dragonfly\"\nversion = \"0.1.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf\"\ndependencies = [\"cc\", \"libc\"]\n\n[[package]]\nname = \"ethbloom\"\nversion = \"0.12.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"11da94e443c60508eb62cf256243a64da87304c2802ac2528847f79d750007ef\"\ndependencies = [\"crunchy\", \"fixed-hash 0.7.0\", \"impl-rlp\", \"impl-serde 0.3.2\", \"tiny-keccak\"]\n\n[[package]]\nname = \"ethereum-types\"\nversion = \"0.13.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b2827b94c556145446fcce834ca86b7abf0c39a805883fe20e72c5bfdb5a0dc6\"\ndependencies = [\"ethbloom\", \"fixed-hash 0.7.0\", \"impl-rlp\", \"impl-serde 0.3.2\", \"primitive-types 0.11.1\", \"uint\"]\n\n[[package]]\nname = \"event-listener\"\nversion = \"2.5.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0\"\n\n[[package]]\nname = \"exit-future\"\nversion = \"0.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5\"\ndependencies = [\"futures\"]\n\n[[package]]\nname = \"fake-simd\"\nversion = \"0.1.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed\"\n\n[[package]]\nname = \"fallible-iterator\"\nversion = \"0.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7\"\n\n[[package]]\nname = \"fastrand\"\nversion = \"1.8.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499\"\ndependencies = [\"instant\"]\n\n[[package]]\nname = \"fdlimit\"\nversion = \"0.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2c4c9e43643f5a3be4ca5b67d26b98031ff9db6806c3440ae32e02e3ceac3f1b\"\ndependencies = [\"libc\"]\n\n[[package]]\nname = \"ff\"\nversion = \"0.12.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160\"\ndependencies = [\"rand_core 0.6.4\", \"subtle\"]\n\n[[package]]\nname = \"fiat-crypto\"\nversion = \"0.1.17\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a214f5bb88731d436478f3ae1f8a277b62124089ba9fb67f4f93fb100ef73c90\"\n\n[[package]]\nname = \"file-per-thread-logger\"\nversion = \"0.1.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"84f2e425d9790201ba4af4630191feac6dcc98765b118d4d18e91d23c2353866\"\ndependencies = [\"env_logger\", \"log\"]\n\n[[package]]\nname = \"filetime\"\nversion = \"0.2.19\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4e884668cd0c7480504233e951174ddc3b382f7c2666e3b7310b5c4e7b0c37f9\"\ndependencies = [\"cfg-if\", \"libc\", \"redox_syscall\", \"windows-sys 0.42.0\"]\n\n[[package]]\nname = \"finality-grandpa\"\nversion = \"0.16.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e24e6c429951433ccb7c87fd528c60084834dcd14763182c1f83291bcde24c34\"\ndependencies = [\"either\", \"futures\", \"futures-timer\", \"log\", \"num-traits\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"scale-info\"]\n\n[[package]]\nname = \"fixed-hash\"\nversion = \"0.7.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c\"\ndependencies = [\"byteorder\", \"rand 0.8.5\", \"rustc-hex\", \"static_assertions\"]\n\n[[package]]\nname = \"fixed-hash\"\nversion = \"0.8.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534\"\ndependencies = [\"byteorder\", \"rand 0.8.5\", \"rustc-hex\", \"static_assertions\"]\n\n[[package]]\nname = \"fixedbitset\"\nversion = \"0.4.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80\"\n\n[[package]]\nname = \"flate2\"\nversion = \"1.0.25\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841\"\ndependencies = [\"crc32fast\", \"libz-sys\", \"miniz_oxide\"]\n\n[[package]]\nname = \"float-cmp\"\nversion = \"0.9.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4\"\ndependencies = [\"num-traits\"]\n\n[[package]]\nname = \"fnv\"\nversion = \"1.0.7\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1\"\n\n[[package]]\nname = \"fork-tree\"\nversion = \"3.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"parity-scale-codec\"]\n\n[[package]]\nname = \"form_urlencoded\"\nversion = \"1.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8\"\ndependencies = [\"percent-encoding\"]\n\n[[package]]\nname = \"fragile\"\nversion = \"2.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa\"\n\n[[package]]\nname = \"frame-benchmarking\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-support\", \"frame-system\", \"linregress\", \"log\", \"parity-scale-codec\", \"paste\", \"scale-info\", \"serde\", \"sp-api\", \"sp-application-crypto\", \"sp-core\", \"sp-io\", \"sp-runtime\", \"sp-runtime-interface\", \"sp-std\", \"sp-storage\"]\n\n[[package]]\nname = \"frame-benchmarking-cli\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"Inflector\", \"array-bytes\", \"chrono\", \"clap\", \"comfy-table\", \"frame-benchmarking\", \"frame-support\", \"frame-system\", \"gethostname\", \"handlebars\", \"itertools\", \"lazy_static\", \"linked-hash-map\", \"log\", \"parity-scale-codec\", \"rand 0.8.5\", \"rand_pcg\", \"sc-block-builder\", \"sc-cli\", \"sc-client-api\", \"sc-client-db\", \"sc-executor\", \"sc-service\", \"sc-sysinfo\", \"serde\", \"serde_json\", \"sp-api\", \"sp-blockchain\", \"sp-core\", \"sp-database\", \"sp-externalities\", \"sp-inherents\", \"sp-keystore\", \"sp-runtime\", \"sp-state-machine\", \"sp-std\", \"sp-storage\", \"sp-trie\", \"thiserror\", \"thousands\"]\n\n[[package]]\nname = \"frame-executive\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-support\", \"frame-system\", \"frame-try-runtime\", \"parity-scale-codec\", \"scale-info\", \"sp-core\", \"sp-io\", \"sp-runtime\", \"sp-std\", \"sp-tracing\"]\n\n[[package]]\nname = \"frame-metadata\"\nversion = \"15.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"df6bb8542ef006ef0de09a5c4420787d79823c0ed7924225822362fd2bf2ff2d\"\ndependencies = [\"cfg-if\", \"parity-scale-codec\", \"scale-info\", \"serde\"]\n\n[[package]]\nname = \"frame-remote-externalities\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"futures\", \"log\", \"parity-scale-codec\", \"serde\", \"sp-core\", \"sp-io\", \"sp-runtime\", \"substrate-rpc-client\", \"tokio\"]\n\n[[package]]\nname = \"frame-support\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"bitflags\", \"frame-metadata\", \"frame-support-procedural\", \"impl-trait-for-tuples\", \"k256\", \"log\", \"once_cell\", \"parity-scale-codec\", \"paste\", \"scale-info\", \"serde\", \"smallvec\", \"sp-api\", \"sp-arithmetic\", \"sp-core\", \"sp-core-hashing-proc-macro\", \"sp-inherents\", \"sp-io\", \"sp-runtime\", \"sp-staking\", \"sp-state-machine\", \"sp-std\", \"sp-tracing\", \"sp-weights\", \"tt-call\"]\n\n[[package]]\nname = \"frame-support-procedural\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"Inflector\", \"cfg-expr\", \"frame-support-procedural-tools\", \"itertools\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"frame-support-procedural-tools\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-support-procedural-tools-derive\", \"proc-macro-crate\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"frame-support-procedural-tools-derive\"\nversion = \"3.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"frame-system\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-support\", \"log\", \"parity-scale-codec\", \"scale-info\", \"serde\", \"sp-core\", \"sp-io\", \"sp-runtime\", \"sp-std\", \"sp-version\", \"sp-weights\"]\n\n[[package]]\nname = \"frame-system-benchmarking\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-benchmarking\", \"frame-support\", \"frame-system\", \"parity-scale-codec\", \"scale-info\", \"sp-core\", \"sp-runtime\", \"sp-std\"]\n\n[[package]]\nname = \"frame-system-rpc-runtime-api\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"parity-scale-codec\", \"sp-api\"]\n\n[[package]]\nname = \"frame-try-runtime\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-support\", \"parity-scale-codec\", \"sp-api\", \"sp-runtime\", \"sp-std\"]\n\n[[package]]\nname = \"fs2\"\nversion = \"0.4.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213\"\ndependencies = [\"libc\", \"winapi\"]\n\n[[package]]\nname = \"funty\"\nversion = \"2.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c\"\n\n[[package]]\nname = \"futures\"\nversion = \"0.3.26\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"13e2792b0ff0340399d58445b88fd9770e3489eff258a4cbc1523418f12abf84\"\ndependencies = [\"futures-channel\", \"futures-core\", \"futures-executor\", \"futures-io\", \"futures-sink\", \"futures-task\", \"futures-util\"]\n\n[[package]]\nname = \"futures-channel\"\nversion = \"0.3.26\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5\"\ndependencies = [\"futures-core\", \"futures-sink\"]\n\n[[package]]\nname = \"futures-core\"\nversion = \"0.3.26\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608\"\n\n[[package]]\nname = \"futures-executor\"\nversion = \"0.3.26\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e\"\ndependencies = [\"futures-core\", \"futures-task\", \"futures-util\", \"num_cpus\"]\n\n[[package]]\nname = \"futures-io\"\nversion = \"0.3.26\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531\"\n\n[[package]]\nname = \"futures-lite\"\nversion = \"1.12.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48\"\ndependencies = [\"fastrand\", \"futures-core\", \"futures-io\", \"memchr\", \"parking\", \"pin-project-lite 0.2.9\", \"waker-fn\"]\n\n[[package]]\nname = \"futures-macro\"\nversion = \"0.3.26\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"futures-rustls\"\nversion = \"0.22.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d2411eed028cdf8c8034eaf21f9915f956b6c3abec4d4c7949ee67f0721127bd\"\ndependencies = [\"futures-io\", \"rustls 0.20.8\", \"webpki 0.22.0\"]\n\n[[package]]\nname = \"futures-sink\"\nversion = \"0.3.26\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364\"\n\n[[package]]\nname = \"futures-task\"\nversion = \"0.3.26\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366\"\n\n[[package]]\nname = \"futures-timer\"\nversion = \"3.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c\"\n\n[[package]]\nname = \"futures-util\"\nversion = \"0.3.26\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1\"\ndependencies = [\"futures-channel\", \"futures-core\", \"futures-io\", \"futures-macro\", \"futures-sink\", \"futures-task\", \"memchr\", \"pin-project-lite 0.2.9\", \"pin-utils\", \"slab\"]\n\n[[package]]\nname = \"fxhash\"\nversion = \"0.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c\"\ndependencies = [\"byteorder\"]\n\n[[package]]\nname = \"generic-array\"\nversion = \"0.12.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd\"\ndependencies = [\"typenum 1.16.0 (registry+https://github.com/rust-lang/crates.io-index)\"]\n\n[[package]]\nname = \"generic-array\"\nversion = \"0.14.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9\"\ndependencies = [\"typenum 1.16.0 (registry+https://github.com/rust-lang/crates.io-index)\", \"version_check\"]\n\n[[package]]\nname = \"gethostname\"\nversion = \"0.2.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e\"\ndependencies = [\"libc\", \"winapi\"]\n\n[[package]]\nname = \"getrandom\"\nversion = \"0.1.16\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce\"\ndependencies = [\"cfg-if\", \"libc\", \"wasi 0.9.0+wasi-snapshot-preview1\"]\n\n[[package]]\nname = \"getrandom\"\nversion = \"0.2.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31\"\ndependencies = [\"cfg-if\", \"libc\", \"wasi 0.11.0+wasi-snapshot-preview1\"]\n\n[[package]]\nname = \"ghash\"\nversion = \"0.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375\"\ndependencies = [\"opaque-debug 0.3.0\", \"polyval 0.4.5\"]\n\n[[package]]\nname = \"ghash\"\nversion = \"0.4.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99\"\ndependencies = [\"opaque-debug 0.3.0\", \"polyval 0.5.3\"]\n\n[[package]]\nname = \"gimli\"\nversion = \"0.26.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d\"\ndependencies = [\"fallible-iterator\", \"indexmap\", \"stable_deref_trait\"]\n\n[[package]]\nname = \"gimli\"\nversion = \"0.27.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"221996f774192f0f718773def8201c4ae31f02616a54ccfc2d358bb0e5cefdec\"\n\n[[package]]\nname = \"glob\"\nversion = \"0.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b\"\n\n[[package]]\nname = \"globset\"\nversion = \"0.4.10\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc\"\ndependencies = [\"aho-corasick\", \"bstr\", \"fnv\", \"log\", \"regex\"]\n\n[[package]]\nname = \"group\"\nversion = \"0.12.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7\"\ndependencies = [\"ff\", \"rand_core 0.6.4\", \"subtle\"]\n\n[[package]]\nname = \"h2\"\nversion = \"0.3.15\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4\"\ndependencies = [\"bytes\", \"fnv\", \"futures-core\", \"futures-sink\", \"futures-util\", \"http\", \"indexmap\", \"slab\", \"tokio\", \"tokio-util\", \"tracing\"]\n\n[[package]]\nname = \"handlebars\"\nversion = \"4.3.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"035ef95d03713f2c347a72547b7cd38cbc9af7cd51e6099fb62d586d4a6dee3a\"\ndependencies = [\"log\", \"pest\", \"pest_derive\", \"serde\", \"serde_json\", \"thiserror\"]\n\n[[package]]\nname = \"hash-db\"\nversion = \"0.15.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d23bd4e7b5eda0d0f3a307e8b381fdc8ba9000f26fbe912250c0a4cc3956364a\"\n\n[[package]]\nname = \"hash256-std-hasher\"\nversion = \"0.15.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"92c171d55b98633f4ed3860808f004099b36c1cc29c42cfc53aa8591b21efcf2\"\ndependencies = [\"crunchy\"]\n\n[[package]]\nname = \"hashbrown\"\nversion = \"0.12.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888\"\ndependencies = [\"ahash\"]\n\n[[package]]\nname = \"heck\"\nversion = \"0.4.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8\"\n\n[[package]]\nname = \"hermit-abi\"\nversion = \"0.1.19\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33\"\ndependencies = [\"libc\"]\n\n[[package]]\nname = \"hermit-abi\"\nversion = \"0.2.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7\"\ndependencies = [\"libc\"]\n\n[[package]]\nname = \"hermit-abi\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"856b5cb0902c2b6d65d5fd97dfa30f9b70c7538e770b98eab5ed52d8db923e01\"\n\n[[package]]\nname = \"hex\"\nversion = \"0.4.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70\"\n\n[[package]]\nname = \"hkdf\"\nversion = \"0.12.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437\"\ndependencies = [\"hmac 0.12.1\"]\n\n[[package]]\nname = \"hmac\"\nversion = \"0.8.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840\"\ndependencies = [\"crypto-mac 0.8.0\", \"digest 0.9.0\"]\n\n[[package]]\nname = \"hmac\"\nversion = \"0.10.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c1441c6b1e930e2817404b5046f1f989899143a12bf92de603b69f4e0aee1e15\"\ndependencies = [\"crypto-mac 0.10.1\", \"digest 0.9.0\"]\n\n[[package]]\nname = \"hmac\"\nversion = \"0.11.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b\"\ndependencies = [\"crypto-mac 0.11.1\", \"digest 0.9.0\"]\n\n[[package]]\nname = \"hmac\"\nversion = \"0.12.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e\"\ndependencies = [\"digest 0.10.6\"]\n\n[[package]]\nname = \"hmac-drbg\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1\"\ndependencies = [\"digest 0.9.0\", \"generic-array 0.14.6\", \"hmac 0.8.1\"]\n\n[[package]]\nname = \"hostname\"\nversion = \"0.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867\"\ndependencies = [\"libc\", \"match_cfg\", \"winapi\"]\n\n[[package]]\nname = \"http\"\nversion = \"0.2.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399\"\ndependencies = [\"bytes\", \"fnv\", \"itoa\"]\n\n[[package]]\nname = \"http-body\"\nversion = \"0.4.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1\"\ndependencies = [\"bytes\", \"http\", \"pin-project-lite 0.2.9\"]\n\n[[package]]\nname = \"http-range-header\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29\"\n\n[[package]]\nname = \"httparse\"\nversion = \"1.8.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904\"\n\n[[package]]\nname = \"httpdate\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421\"\n\n[[package]]\nname = \"humantime\"\nversion = \"2.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4\"\n\n[[package]]\nname = \"hyper\"\nversion = \"0.14.24\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5e011372fa0b68db8350aa7a248930ecc7839bf46d8485577d69f117a75f164c\"\ndependencies = [\"bytes\", \"futures-channel\", \"futures-core\", \"futures-util\", \"h2\", \"http\", \"http-body\", \"httparse\", \"httpdate\", \"itoa\", \"pin-project-lite 0.2.9\", \"socket2\", \"tokio\", \"tower-service\", \"tracing\", \"want\"]\n\n[[package]]\nname = \"hyper-rustls\"\nversion = \"0.23.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c\"\ndependencies = [\"http\", \"hyper\", \"log\", \"rustls 0.20.8\", \"rustls-native-certs\", \"tokio\", \"tokio-rustls\"]\n\n[[package]]\nname = \"iana-time-zone\"\nversion = \"0.1.53\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765\"\ndependencies = [\"android_system_properties\", \"core-foundation-sys\", \"iana-time-zone-haiku\", \"js-sys\", \"wasm-bindgen\", \"winapi\"]\n\n[[package]]\nname = \"iana-time-zone-haiku\"\nversion = \"0.1.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca\"\ndependencies = [\"cxx\", \"cxx-build\"]\n\n[[package]]\nname = \"ident_case\"\nversion = \"1.0.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39\"\n\n[[package]]\nname = \"idna\"\nversion = \"0.2.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8\"\ndependencies = [\"matches\", \"unicode-bidi\", \"unicode-normalization\"]\n\n[[package]]\nname = \"idna\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6\"\ndependencies = [\"unicode-bidi\", \"unicode-normalization\"]\n\n[[package]]\nname = \"if-addrs\"\nversion = \"0.7.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cbc0fa01ffc752e9dbc72818cdb072cd028b86be5e09dd04c5a643704fe101a9\"\ndependencies = [\"libc\", \"winapi\"]\n\n[[package]]\nname = \"if-watch\"\nversion = \"3.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ba7abdbb86e485125dad06c2691e1e393bf3b08c7b743b43aa162a00fd39062e\"\ndependencies = [\"async-io\", \"core-foundation\", \"fnv\", \"futures\", \"if-addrs\", \"ipnet\", \"log\", \"rtnetlink\", \"system-configuration\", \"tokio\", \"windows\"]\n\n[[package]]\nname = \"impl-codec\"\nversion = \"0.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f\"\ndependencies = [\"parity-scale-codec\"]\n\n[[package]]\nname = \"impl-rlp\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808\"\ndependencies = [\"rlp\"]\n\n[[package]]\nname = \"impl-serde\"\nversion = \"0.3.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4551f042f3438e64dbd6226b20527fc84a6e1fe65688b58746a2f53623f25f5c\"\ndependencies = [\"serde\"]\n\n[[package]]\nname = \"impl-serde\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd\"\ndependencies = [\"serde\"]\n\n[[package]]\nname = \"impl-trait-for-tuples\"\nversion = \"0.2.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"indexmap\"\nversion = \"1.9.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399\"\ndependencies = [\"autocfg\", \"hashbrown\", \"serde\"]\n\n[[package]]\nname = \"instant\"\nversion = \"0.1.12\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c\"\ndependencies = [\"cfg-if\"]\n\n[[package]]\nname = \"integer-sqrt\"\nversion = \"0.1.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770\"\ndependencies = [\"num-traits\"]\n\n[[package]]\nname = \"interceptor\"\nversion = \"0.8.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1e8a11ae2da61704edada656798b61c94b35ecac2c58eb955156987d5e6be90b\"\ndependencies = [\"async-trait\", \"bytes\", \"log\", \"rand 0.8.5\", \"rtcp\", \"rtp\", \"thiserror\", \"tokio\", \"waitgroup\", \"webrtc-srtp\", \"webrtc-util\"]\n\n[[package]]\nname = \"io-lifetimes\"\nversion = \"0.7.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074\"\n\n[[package]]\nname = \"io-lifetimes\"\nversion = \"1.0.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3\"\ndependencies = [\"libc\", \"windows-sys 0.45.0\"]\n\n[[package]]\nname = \"ip_network\"\nversion = \"0.4.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"aa2f047c0a98b2f299aa5d6d7088443570faae494e9ae1305e48be000c9e0eb1\"\n\n[[package]]\nname = \"ipconfig\"\nversion = \"0.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bd302af1b90f2463a98fa5ad469fc212c8e3175a41c3068601bfa2727591c5be\"\ndependencies = [\"socket2\", \"widestring\", \"winapi\", \"winreg\"]\n\n[[package]]\nname = \"ipnet\"\nversion = \"2.7.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146\"\n\n[[package]]\nname = \"is-terminal\"\nversion = \"0.4.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"22e18b0a45d56fe973d6db23972bf5bc46f988a4a2385deac9cc29572f09daef\"\ndependencies = [\"hermit-abi 0.3.0\", \"io-lifetimes 1.0.5\", \"rustix 0.36.8\", \"windows-sys 0.45.0\"]\n\n[[package]]\nname = \"itertools\"\nversion = \"0.10.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473\"\ndependencies = [\"either\"]\n\n[[package]]\nname = \"itoa\"\nversion = \"1.0.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440\"\n\n[[package]]\nname = \"jobserver\"\nversion = \"0.1.25\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b\"\ndependencies = [\"libc\"]\n\n[[package]]\nname = \"js-sys\"\nversion = \"0.3.61\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730\"\ndependencies = [\"wasm-bindgen\"]\n\n[[package]]\nname = \"jsonrpsee\"\nversion = \"0.16.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7d291e3a5818a2384645fd9756362e6d89cf0541b0b916fa7702ea4a9833608e\"\ndependencies = [\"jsonrpsee-core\", \"jsonrpsee-proc-macros\", \"jsonrpsee-server\", \"jsonrpsee-types\", \"jsonrpsee-ws-client\", \"tracing\"]\n\n[[package]]\nname = \"jsonrpsee-client-transport\"\nversion = \"0.16.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"965de52763f2004bc91ac5bcec504192440f0b568a5d621c59d9dbd6f886c3fb\"\ndependencies = [\"futures-util\", \"http\", \"jsonrpsee-core\", \"jsonrpsee-types\", \"pin-project\", \"rustls-native-certs\", \"soketto\", \"thiserror\", \"tokio\", \"tokio-rustls\", \"tokio-util\", \"tracing\", \"webpki-roots\"]\n\n[[package]]\nname = \"jsonrpsee-core\"\nversion = \"0.16.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a4e70b4439a751a5de7dd5ed55eacff78ebf4ffe0fc009cb1ebb11417f5b536b\"\ndependencies = [\"anyhow\", \"arrayvec 0.7.2\", \"async-lock\", \"async-trait\", \"beef\", \"futures-channel\", \"futures-timer\", \"futures-util\", \"globset\", \"hyper\", \"jsonrpsee-types\", \"parking_lot 0.12.1\", \"rand 0.8.5\", \"rustc-hash\", \"serde\", \"serde_json\", \"soketto\", \"thiserror\", \"tokio\", \"tracing\"]\n\n[[package]]\nname = \"jsonrpsee-proc-macros\"\nversion = \"0.16.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"baa6da1e4199c10d7b1d0a6e5e8bd8e55f351163b6f4b3cbb044672a69bd4c1c\"\ndependencies = [\"heck\", \"proc-macro-crate\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"jsonrpsee-server\"\nversion = \"0.16.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1fb69dad85df79527c019659a992498d03f8495390496da2f07e6c24c2b356fc\"\ndependencies = [\"futures-channel\", \"futures-util\", \"http\", \"hyper\", \"jsonrpsee-core\", \"jsonrpsee-types\", \"serde\", \"serde_json\", \"soketto\", \"tokio\", \"tokio-stream\", \"tokio-util\", \"tower\", \"tracing\"]\n\n[[package]]\nname = \"jsonrpsee-types\"\nversion = \"0.16.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5bd522fe1ce3702fd94812965d7bb7a3364b1c9aba743944c5a00529aae80f8c\"\ndependencies = [\"anyhow\", \"beef\", \"serde\", \"serde_json\", \"thiserror\", \"tracing\"]\n\n[[package]]\nname = \"jsonrpsee-ws-client\"\nversion = \"0.16.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0b83daeecfc6517cfe210df24e570fb06213533dfb990318fae781f4c7119dd9\"\ndependencies = [\"http\", \"jsonrpsee-client-transport\", \"jsonrpsee-core\", \"jsonrpsee-types\"]\n\n[[package]]\nname = \"k256\"\nversion = \"0.11.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b\"\ndependencies = [\"cfg-if\", \"ecdsa\", \"elliptic-curve\", \"sha2 0.10.6\"]\n\n[[package]]\nname = \"keccak\"\nversion = \"0.1.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768\"\ndependencies = [\"cpufeatures\"]\n\n[[package]]\nname = \"kvdb\"\nversion = \"0.13.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e7d770dcb02bf6835887c3a979b5107a04ff4bbde97a5f0928d27404a155add9\"\ndependencies = [\"smallvec\"]\n\n[[package]]\nname = \"kvdb-memorydb\"\nversion = \"0.13.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bf7a85fe66f9ff9cd74e169fdd2c94c6e1e74c412c99a73b4df3200b5d3760b2\"\ndependencies = [\"kvdb\", \"parking_lot 0.12.1\"]\n\n[[package]]\nname = \"kvdb-rocksdb\"\nversion = \"0.17.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2182b8219fee6bd83aacaab7344e840179ae079d5216aa4e249b4d704646a844\"\ndependencies = [\"kvdb\", \"num_cpus\", \"parking_lot 0.12.1\", \"regex\", \"rocksdb\", \"smallvec\"]\n\n[[package]]\nname = \"lazy_static\"\nversion = \"1.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646\"\n\n[[package]]\nname = \"lazycell\"\nversion = \"1.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55\"\n\n[[package]]\nname = \"libc\"\nversion = \"0.2.139\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79\"\n\n[[package]]\nname = \"libloading\"\nversion = \"0.7.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f\"\ndependencies = [\"cfg-if\", \"winapi\"]\n\n[[package]]\nname = \"libm\"\nversion = \"0.1.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a\"\n\n[[package]]\nname = \"libm\"\nversion = \"0.2.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb\"\n\n[[package]]\nname = \"libp2p\"\nversion = \"0.50.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2e0a0d2f693675f49ded13c5d510c48b78069e23cbd9108d7ccd59f6dc568819\"\ndependencies = [\"bytes\", \"futures\", \"futures-timer\", \"getrandom 0.2.8\", \"instant\", \"libp2p-core\", \"libp2p-dns\", \"libp2p-identify\", \"libp2p-kad\", \"libp2p-mdns\", \"libp2p-metrics\", \"libp2p-mplex\", \"libp2p-noise\", \"libp2p-ping\", \"libp2p-quic\", \"libp2p-request-response\", \"libp2p-swarm\", \"libp2p-tcp\", \"libp2p-wasm-ext\", \"libp2p-webrtc\", \"libp2p-websocket\", \"libp2p-yamux\", \"multiaddr\", \"parking_lot 0.12.1\", \"pin-project\", \"smallvec\"]\n\n[[package]]\nname = \"libp2p-core\"\nversion = \"0.38.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b6a8fcd392ff67af6cc3f03b1426c41f7f26b6b9aff2dc632c1c56dd649e571f\"\ndependencies = [\"asn1_der\", \"bs58\", \"ed25519-dalek\", \"either\", \"fnv\", \"futures\", \"futures-timer\", \"instant\", \"log\", \"multiaddr\", \"multihash\", \"multistream-select\", \"once_cell\", \"parking_lot 0.12.1\", \"pin-project\", \"prost\", \"prost-build\", \"rand 0.8.5\", \"rw-stream-sink\", \"sec1\", \"sha2 0.10.6\", \"smallvec\", \"thiserror\", \"unsigned-varint\", \"void\", \"zeroize\"]\n\n[[package]]\nname = \"libp2p-dns\"\nversion = \"0.38.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8e42a271c1b49f789b92f7fc87749fa79ce5c7bdc88cbdfacb818a4bca47fec5\"\ndependencies = [\"futures\", \"libp2p-core\", \"log\", \"parking_lot 0.12.1\", \"smallvec\", \"trust-dns-resolver\"]\n\n[[package]]\nname = \"libp2p-identify\"\nversion = \"0.41.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c052d0026f4817b44869bfb6810f4e1112f43aec8553f2cb38881c524b563abf\"\ndependencies = [\"asynchronous-codec\", \"futures\", \"futures-timer\", \"libp2p-core\", \"libp2p-swarm\", \"log\", \"lru 0.8.1\", \"prost\", \"prost-build\", \"prost-codec\", \"smallvec\", \"thiserror\", \"void\"]\n\n[[package]]\nname = \"libp2p-kad\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2766dcd2be8c87d5e1f35487deb22d765f49c6ae1251b3633efe3b25698bd3d2\"\ndependencies = [\"arrayvec 0.7.2\", \"asynchronous-codec\", \"bytes\", \"either\", \"fnv\", \"futures\", \"futures-timer\", \"instant\", \"libp2p-core\", \"libp2p-swarm\", \"log\", \"prost\", \"prost-build\", \"rand 0.8.5\", \"sha2 0.10.6\", \"smallvec\", \"thiserror\", \"uint\", \"unsigned-varint\", \"void\"]\n\n[[package]]\nname = \"libp2p-mdns\"\nversion = \"0.42.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"04f378264aade9872d6ccd315c0accc18be3a35d15fc1b9c36e5b6f983b62b5b\"\ndependencies = [\"data-encoding\", \"futures\", \"if-watch\", \"libp2p-core\", \"libp2p-swarm\", \"log\", \"rand 0.8.5\", \"smallvec\", \"socket2\", \"tokio\", \"trust-dns-proto\", \"void\"]\n\n[[package]]\nname = \"libp2p-metrics\"\nversion = \"0.11.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5ad8a64f29da86005c86a4d2728b8a0719e9b192f4092b609fd8790acb9dec55\"\ndependencies = [\"libp2p-core\", \"libp2p-identify\", \"libp2p-kad\", \"libp2p-ping\", \"libp2p-swarm\", \"prometheus-client\"]\n\n[[package]]\nname = \"libp2p-mplex\"\nversion = \"0.38.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"03805b44107aa013e7cbbfa5627b31c36cbedfdfb00603c0311998882bc4bace\"\ndependencies = [\"asynchronous-codec\", \"bytes\", \"futures\", \"libp2p-core\", \"log\", \"nohash-hasher\", \"parking_lot 0.12.1\", \"rand 0.8.5\", \"smallvec\", \"unsigned-varint\"]\n\n[[package]]\nname = \"libp2p-noise\"\nversion = \"0.41.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a978cb57efe82e892ec6f348a536bfbd9fee677adbe5689d7a93ad3a9bffbf2e\"\ndependencies = [\"bytes\", \"curve25519-dalek 3.2.0\", \"futures\", \"libp2p-core\", \"log\", \"once_cell\", \"prost\", \"prost-build\", \"rand 0.8.5\", \"sha2 0.10.6\", \"snow\", \"static_assertions\", \"thiserror\", \"x25519-dalek 1.1.1\", \"zeroize\"]\n\n[[package]]\nname = \"libp2p-ping\"\nversion = \"0.41.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"929fcace45a112536e22b3dcfd4db538723ef9c3cb79f672b98be2cc8e25f37f\"\ndependencies = [\"futures\", \"futures-timer\", \"instant\", \"libp2p-core\", \"libp2p-swarm\", \"log\", \"rand 0.8.5\", \"void\"]\n\n[[package]]\nname = \"libp2p-quic\"\nversion = \"0.7.0-alpha\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"01e7c867e95c8130667b24409d236d37598270e6da69b3baf54213ba31ffca59\"\ndependencies = [\"bytes\", \"futures\", \"futures-timer\", \"if-watch\", \"libp2p-core\", \"libp2p-tls\", \"log\", \"parking_lot 0.12.1\", \"quinn-proto\", \"rand 0.8.5\", \"rustls 0.20.8\", \"thiserror\", \"tokio\"]\n\n[[package]]\nname = \"libp2p-request-response\"\nversion = \"0.23.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3236168796727bfcf4927f766393415361e2c644b08bedb6a6b13d957c9a4884\"\ndependencies = [\"async-trait\", \"bytes\", \"futures\", \"instant\", \"libp2p-core\", \"libp2p-swarm\", \"log\", \"rand 0.8.5\", \"smallvec\", \"unsigned-varint\"]\n\n[[package]]\nname = \"libp2p-swarm\"\nversion = \"0.41.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b2a35472fe3276b3855c00f1c032ea8413615e030256429ad5349cdf67c6e1a0\"\ndependencies = [\"either\", \"fnv\", \"futures\", \"futures-timer\", \"instant\", \"libp2p-core\", \"libp2p-swarm-derive\", \"log\", \"pin-project\", \"rand 0.8.5\", \"smallvec\", \"thiserror\", \"tokio\", \"void\"]\n\n[[package]]\nname = \"libp2p-swarm-derive\"\nversion = \"0.31.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9d527d5827582abd44a6d80c07ff8b50b4ee238a8979e05998474179e79dc400\"\ndependencies = [\"heck\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"libp2p-tcp\"\nversion = \"0.38.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b4b257baf6df8f2df39678b86c578961d48cc8b68642a12f0f763f56c8e5858d\"\ndependencies = [\"futures\", \"futures-timer\", \"if-watch\", \"libc\", \"libp2p-core\", \"log\", \"socket2\", \"tokio\"]\n\n[[package]]\nname = \"libp2p-tls\"\nversion = \"0.1.0-alpha\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f7905ce0d040576634e8a3229a7587cc8beab83f79db6023800f1792895defa8\"\ndependencies = [\"futures\", \"futures-rustls\", \"libp2p-core\", \"rcgen 0.10.0\", \"ring\", \"rustls 0.20.8\", \"thiserror\", \"webpki 0.22.0\", \"x509-parser 0.14.0\", \"yasna\"]\n\n[[package]]\nname = \"libp2p-wasm-ext\"\nversion = \"0.38.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1bb1a35299860e0d4b3c02a3e74e3b293ad35ae0cee8a056363b0c862d082069\"\ndependencies = [\"futures\", \"js-sys\", \"libp2p-core\", \"parity-send-wrapper\", \"wasm-bindgen\", \"wasm-bindgen-futures\"]\n\n[[package]]\nname = \"libp2p-webrtc\"\nversion = \"0.4.0-alpha\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cdb6cd86dd68cba72308ea05de1cebf3ba0ae6e187c40548167955d4e3970f6a\"\ndependencies = [\"async-trait\", \"asynchronous-codec\", \"bytes\", \"futures\", \"futures-timer\", \"hex\", \"if-watch\", \"libp2p-core\", \"libp2p-noise\", \"log\", \"multihash\", \"prost\", \"prost-build\", \"prost-codec\", \"rand 0.8.5\", \"rcgen 0.9.3\", \"serde\", \"stun\", \"thiserror\", \"tinytemplate\", \"tokio\", \"tokio-util\", \"webrtc\"]\n\n[[package]]\nname = \"libp2p-websocket\"\nversion = \"0.40.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1d705506030d5c0aaf2882437c70dab437605f21c5f9811978f694e6917a3b54\"\ndependencies = [\"either\", \"futures\", \"futures-rustls\", \"libp2p-core\", \"log\", \"parking_lot 0.12.1\", \"quicksink\", \"rw-stream-sink\", \"soketto\", \"url\", \"webpki-roots\"]\n\n[[package]]\nname = \"libp2p-yamux\"\nversion = \"0.42.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4f63594a0aa818642d9d4915c791945053877253f08a3626f13416b5cd928a29\"\ndependencies = [\"futures\", \"libp2p-core\", \"log\", \"parking_lot 0.12.1\", \"thiserror\", \"yamux\"]\n\n[[package]]\nname = \"librocksdb-sys\"\nversion = \"0.8.0+7.4.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"611804e4666a25136fcc5f8cf425ab4d26c7f74ea245ffe92ea23b85b6420b5d\"\ndependencies = [\"bindgen\", \"bzip2-sys\", \"cc\", \"glob\", \"libc\", \"libz-sys\", \"tikv-jemalloc-sys\"]\n\n[[package]]\nname = \"libsecp256k1\"\nversion = \"0.7.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"95b09eff1b35ed3b33b877ced3a691fc7a481919c7e29c53c906226fcf55e2a1\"\ndependencies = [\"arrayref\", \"base64 0.13.1\", \"digest 0.9.0\", \"hmac-drbg\", \"libsecp256k1-core\", \"libsecp256k1-gen-ecmult\", \"libsecp256k1-gen-genmult\", \"rand 0.8.5\", \"serde\", \"sha2 0.9.9\", \"typenum 1.16.0 (registry+https://github.com/rust-lang/crates.io-index)\"]\n\n[[package]]\nname = \"libsecp256k1-core\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451\"\ndependencies = [\"crunchy\", \"digest 0.9.0\", \"subtle\"]\n\n[[package]]\nname = \"libsecp256k1-gen-ecmult\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3038c808c55c87e8a172643a7d87187fc6c4174468159cb3090659d55bcb4809\"\ndependencies = [\"libsecp256k1-core\"]\n\n[[package]]\nname = \"libsecp256k1-gen-genmult\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3db8d6ba2cec9eacc40e6e8ccc98931840301f1006e95647ceb2dd5c3aa06f7c\"\ndependencies = [\"libsecp256k1-core\"]\n\n[[package]]\nname = \"libz-sys\"\nversion = \"1.1.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf\"\ndependencies = [\"cc\", \"pkg-config\", \"vcpkg\"]\n\n[[package]]\nname = \"link-cplusplus\"\nversion = \"1.0.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5\"\ndependencies = [\"cc\"]\n\n[[package]]\nname = \"linked-hash-map\"\nversion = \"0.5.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f\"\n\n[[package]]\nname = \"linked_hash_set\"\nversion = \"0.1.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"47186c6da4d81ca383c7c47c1bfc80f4b95f4720514d860a5407aaf4233f9588\"\ndependencies = [\"linked-hash-map\"]\n\n[[package]]\nname = \"linregress\"\nversion = \"0.4.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d6c601a85f5ecd1aba625247bca0031585fb1c446461b142878a16f8245ddeb8\"\ndependencies = [\"nalgebra\", \"statrs\"]\n\n[[package]]\nname = \"linux-raw-sys\"\nversion = \"0.0.46\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d\"\n\n[[package]]\nname = \"linux-raw-sys\"\nversion = \"0.1.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4\"\n\n[[package]]\nname = \"lock_api\"\nversion = \"0.4.9\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df\"\ndependencies = [\"autocfg\", \"scopeguard\"]\n\n[[package]]\nname = \"log\"\nversion = \"0.4.17\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e\"\ndependencies = [\"cfg-if\"]\n\n[[package]]\nname = \"lru\"\nversion = \"0.7.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a\"\ndependencies = [\"hashbrown\"]\n\n[[package]]\nname = \"lru\"\nversion = \"0.8.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909\"\ndependencies = [\"hashbrown\"]\n\n[[package]]\nname = \"lru-cache\"\nversion = \"0.1.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c\"\ndependencies = [\"linked-hash-map\"]\n\n[[package]]\nname = \"lz4\"\nversion = \"1.24.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7e9e2dd86df36ce760a60f6ff6ad526f7ba1f14ba0356f8254fb6905e6494df1\"\ndependencies = [\"libc\", \"lz4-sys\"]\n\n[[package]]\nname = \"lz4-sys\"\nversion = \"1.9.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"57d27b317e207b10f69f5e75494119e391a96f48861ae870d1da6edac98ca900\"\ndependencies = [\"cc\", \"libc\"]\n\n[[package]]\nname = \"mach\"\nversion = \"0.3.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa\"\ndependencies = [\"libc\"]\n\n[[package]]\nname = \"match_cfg\"\nversion = \"0.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4\"\n\n[[package]]\nname = \"matchers\"\nversion = \"0.0.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f099785f7595cc4b4553a174ce30dd7589ef93391ff414dbb67f62392b9e0ce1\"\ndependencies = [\"regex-automata\"]\n\n[[package]]\nname = \"matches\"\nversion = \"0.1.10\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5\"\n\n[[package]]\nname = \"matrixmultiply\"\nversion = \"0.3.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"add85d4dd35074e6fedc608f8c8f513a3548619a9024b751949ef0e8e45a4d84\"\ndependencies = [\"rawpointer\"]\n\n[[package]]\nname = \"md-5\"\nversion = \"0.10.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca\"\ndependencies = [\"digest 0.10.6\"]\n\n[[package]]\nname = \"memchr\"\nversion = \"2.5.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d\"\n\n[[package]]\nname = \"memfd\"\nversion = \"0.6.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b20a59d985586e4a5aef64564ac77299f8586d8be6cf9106a5a40207e8908efb\"\ndependencies = [\"rustix 0.36.8\"]\n\n[[package]]\nname = \"memmap2\"\nversion = \"0.5.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4b182332558b18d807c4ce1ca8ca983b34c3ee32765e47b3f0f69b90355cc1dc\"\ndependencies = [\"libc\"]\n\n[[package]]\nname = \"memoffset\"\nversion = \"0.6.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce\"\ndependencies = [\"autocfg\"]\n\n[[package]]\nname = \"memoffset\"\nversion = \"0.7.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4\"\ndependencies = [\"autocfg\"]\n\n[[package]]\nname = \"memory-db\"\nversion = \"0.31.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66\"\ndependencies = [\"hash-db\", \"hashbrown\"]\n\n[[package]]\nname = \"memory_units\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3\"\n\n[[package]]\nname = \"merlin\"\nversion = \"2.0.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4e261cf0f8b3c42ded9f7d2bb59dea03aa52bc8a1cbc7482f9fc3fd1229d3b42\"\ndependencies = [\"byteorder\", \"keccak\", \"rand_core 0.5.1\", \"zeroize\"]\n\n[[package]]\nname = \"minimal-lexical\"\nversion = \"0.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a\"\n\n[[package]]\nname = \"miniz_oxide\"\nversion = \"0.6.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa\"\ndependencies = [\"adler\"]\n\n[[package]]\nname = \"mio\"\nversion = \"0.8.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de\"\ndependencies = [\"libc\", \"log\", \"wasi 0.11.0+wasi-snapshot-preview1\", \"windows-sys 0.42.0\"]\n\n[[package]]\nname = \"mockall\"\nversion = \"0.11.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"50e4a1c770583dac7ab5e2f6c139153b783a53a1bbee9729613f193e59828326\"\ndependencies = [\"cfg-if\", \"downcast\", \"fragile\", \"lazy_static\", \"mockall_derive\", \"predicates\", \"predicates-tree\"]\n\n[[package]]\nname = \"mockall_derive\"\nversion = \"0.11.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"832663583d5fa284ca8810bf7015e46c9fff9622d3cf34bd1eea5003fec06dd0\"\ndependencies = [\"cfg-if\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"multiaddr\"\nversion = \"0.16.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a4aebdb21e90f81d13ed01dc84123320838e53963c2ca94b60b305d3fa64f31e\"\ndependencies = [\"arrayref\", \"byteorder\", \"data-encoding\", \"multibase\", \"multihash\", \"percent-encoding\", \"serde\", \"static_assertions\", \"unsigned-varint\", \"url\"]\n\n[[package]]\nname = \"multibase\"\nversion = \"0.9.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9b3539ec3c1f04ac9748a260728e855f261b4977f5c3406612c884564f329404\"\ndependencies = [\"base-x\", \"data-encoding\", \"data-encoding-macro\"]\n\n[[package]]\nname = \"multihash\"\nversion = \"0.16.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1c346cf9999c631f002d8f977c4eaeaa0e6386f16007202308d0b3757522c2cc\"\ndependencies = [\"blake2b_simd\", \"blake2s_simd\", \"blake3\", \"core2\", \"digest 0.10.6\", \"multihash-derive\", \"sha2 0.10.6\", \"sha3\", \"unsigned-varint\"]\n\n[[package]]\nname = \"multihash-derive\"\nversion = \"0.8.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1d6d4752e6230d8ef7adf7bd5d8c4b1f6561c1014c5ba9a37445ccefe18aa1db\"\ndependencies = [\"proc-macro-crate\", \"proc-macro-error\", \"proc-macro2\", \"quote\", \"syn\", \"synstructure\"]\n\n[[package]]\nname = \"multimap\"\nversion = \"0.8.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a\"\n\n[[package]]\nname = \"multistream-select\"\nversion = \"0.12.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c8552ab875c1313b97b8d20cb857b9fd63e2d1d6a0a1b53ce9821e575405f27a\"\ndependencies = [\"bytes\", \"futures\", \"log\", \"pin-project\", \"smallvec\", \"unsigned-varint\"]\n\n[[package]]\nname = \"nalgebra\"\nversion = \"0.27.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"462fffe4002f4f2e1f6a9dcf12cc1a6fc0e15989014efc02a941d3e0f5dc2120\"\ndependencies = [\"approx\", \"matrixmultiply\", \"nalgebra-macros\", \"num-complex\", \"num-rational\", \"num-traits\", \"rand 0.8.5\", \"rand_distr\", \"simba\", \"typenum 1.16.0 (registry+https://github.com/rust-lang/crates.io-index)\"]\n\n[[package]]\nname = \"nalgebra-macros\"\nversion = \"0.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"names\"\nversion = \"0.13.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e7d66043b25d4a6cccb23619d10c19c25304b355a7dccd4a8e11423dd2382146\"\ndependencies = [\"rand 0.8.5\"]\n\n[[package]]\nname = \"ndarray\"\nversion = \"0.15.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32\"\ndependencies = [\"matrixmultiply\", \"num-complex\", \"num-integer\", \"num-traits\", \"rawpointer\"]\n\n[[package]]\nname = \"netlink-packet-core\"\nversion = \"0.4.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"345b8ab5bd4e71a2986663e88c56856699d060e78e152e6e9d7966fcd5491297\"\ndependencies = [\"anyhow\", \"byteorder\", \"libc\", \"netlink-packet-utils\"]\n\n[[package]]\nname = \"netlink-packet-route\"\nversion = \"0.12.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d9ea4302b9759a7a88242299225ea3688e63c85ea136371bb6cf94fd674efaab\"\ndependencies = [\"anyhow\", \"bitflags\", \"byteorder\", \"libc\", \"netlink-packet-core\", \"netlink-packet-utils\"]\n\n[[package]]\nname = \"netlink-packet-utils\"\nversion = \"0.5.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0ede8a08c71ad5a95cdd0e4e52facd37190977039a4704eb82a283f713747d34\"\ndependencies = [\"anyhow\", \"byteorder\", \"paste\", \"thiserror\"]\n\n[[package]]\nname = \"netlink-proto\"\nversion = \"0.10.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"65b4b14489ab424703c092062176d52ba55485a89c076b4f9db05092b7223aa6\"\ndependencies = [\"bytes\", \"futures\", \"log\", \"netlink-packet-core\", \"netlink-sys\", \"thiserror\", \"tokio\"]\n\n[[package]]\nname = \"netlink-sys\"\nversion = \"0.8.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"260e21fbb6f3d253a14df90eb0000a6066780a15dd901a7519ce02d77a94985b\"\ndependencies = [\"bytes\", \"futures\", \"libc\", \"log\", \"tokio\"]\n\n[[package]]\nname = \"nix\"\nversion = \"0.24.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069\"\ndependencies = [\"bitflags\", \"cfg-if\", \"libc\", \"memoffset 0.6.5\"]\n\n[[package]]\nname = \"node-subtensor\"\nversion = \"0.0.1\"\ndependencies = [\"clap\", \"frame-benchmarking\", \"frame-benchmarking-cli\", \"frame-system\", \"futures\", \"jsonrpsee\", \"memmap2\", \"node-subtensor-runtime\", \"pallet-transaction-payment\", \"pallet-transaction-payment-rpc\", \"sc-basic-authorship\", \"sc-cli\", \"sc-client-api\", \"sc-consensus\", \"sc-consensus-aura\", \"sc-executor\", \"sc-consensus-grandpa\", \"sc-keystore\", \"sc-rpc\", \"sc-rpc-api\", \"sc-service\", \"sc-telemetry\", \"sc-transaction-pool\", \"sc-transaction-pool-api\", \"serde\", \"serde_json\", \"sp-api\", \"sp-block-builder\", \"sp-blockchain\", \"sp-consensus\", \"sp-consensus-aura\", \"sp-core\", \"sp-consensus-grandpa\", \"sp-inherents\", \"sp-io\", \"sp-keyring\", \"sp-runtime\", \"sp-timestamp\", \"substrate-build-script-utils\", \"substrate-frame-rpc-system\", \"subtensor-custom-rpc\", \"subtensor-custom-rpc-runtime-api\", \"try-runtime-cli\"]\n\n[[package]]\nname = \"node-subtensor-runtime\"\nversion = \"0.0.1\"\ndependencies = [\"frame-benchmarking\", \"frame-executive\", \"frame-support\", \"frame-system\", \"frame-system-benchmarking\", \"frame-system-rpc-runtime-api\", \"frame-try-runtime\", \"pallet-aura\", \"pallet-balances\", \"pallet-grandpa\", \"pallet-randomness-collective-flip\", \"pallet-subtensor\", \"pallet-sudo\", \"pallet-timestamp\", \"pallet-transaction-payment\", \"pallet-transaction-payment-rpc-runtime-api\", \"parity-scale-codec\", \"scale-info\", \"smallvec\", \"sp-api\", \"sp-block-builder\", \"sp-consensus-aura\", \"sp-core\", \"sp-inherents\", \"sp-offchain\", \"sp-runtime\", \"sp-session\", \"sp-std\", \"sp-transaction-pool\", \"sp-version\", \"substrate-wasm-builder\", \"subtensor-custom-rpc-runtime-api\"]\n\n[[package]]\nname = \"nohash-hasher\"\nversion = \"0.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451\"\n\n[[package]]\nname = \"nom\"\nversion = \"7.1.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a\"\ndependencies = [\"memchr\", \"minimal-lexical\"]\n\n[[package]]\nname = \"normalize-line-endings\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be\"\n\n[[package]]\nname = \"num-bigint\"\nversion = \"0.4.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f\"\ndependencies = [\"autocfg\", \"num-integer\", \"num-traits\"]\n\n[[package]]\nname = \"num-complex\"\nversion = \"0.4.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d\"\ndependencies = [\"num-traits\"]\n\n[[package]]\nname = \"num-format\"\nversion = \"0.4.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3\"\ndependencies = [\"arrayvec 0.7.2\", \"itoa\"]\n\n[[package]]\nname = \"num-integer\"\nversion = \"0.1.45\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9\"\ndependencies = [\"autocfg\", \"num-traits\"]\n\n[[package]]\nname = \"num-rational\"\nversion = \"0.4.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0\"\ndependencies = [\"autocfg\", \"num-bigint\", \"num-integer\", \"num-traits\"]\n\n[[package]]\nname = \"num-traits\"\nversion = \"0.2.15\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd\"\ndependencies = [\"autocfg\", \"libm 0.2.6\"]\n\n[[package]]\nname = \"num_cpus\"\nversion = \"1.15.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b\"\ndependencies = [\"hermit-abi 0.2.6\", \"libc\"]\n\n[[package]]\nname = \"object\"\nversion = \"0.29.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53\"\ndependencies = [\"crc32fast\", \"hashbrown\", \"indexmap\", \"memchr\"]\n\n[[package]]\nname = \"object\"\nversion = \"0.30.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439\"\ndependencies = [\"memchr\"]\n\n[[package]]\nname = \"oid-registry\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"38e20717fa0541f39bd146692035c37bedfa532b3e5071b35761082407546b2a\"\ndependencies = [\"asn1-rs 0.3.1\"]\n\n[[package]]\nname = \"oid-registry\"\nversion = \"0.6.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff\"\ndependencies = [\"asn1-rs 0.5.1\"]\n\n[[package]]\nname = \"once_cell\"\nversion = \"1.17.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66\"\n\n[[package]]\nname = \"opaque-debug\"\nversion = \"0.2.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c\"\n\n[[package]]\nname = \"opaque-debug\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5\"\n\n[[package]]\nname = \"openssl-probe\"\nversion = \"0.1.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf\"\n\n[[package]]\nname = \"os_str_bytes\"\nversion = \"6.4.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee\"\n\n[[package]]\nname = \"p256\"\nversion = \"0.11.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594\"\ndependencies = [\"ecdsa\", \"elliptic-curve\", \"sha2 0.10.6\"]\n\n[[package]]\nname = \"p384\"\nversion = \"0.11.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"dfc8c5bf642dde52bb9e87c0ecd8ca5a76faac2eeed98dedb7c717997e1080aa\"\ndependencies = [\"ecdsa\", \"elliptic-curve\", \"sha2 0.10.6\"]\n\n[[package]]\nname = \"packed_simd_2\"\nversion = \"0.3.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a1914cd452d8fccd6f9db48147b29fd4ae05bea9dc5d9ad578509f72415de282\"\ndependencies = [\"cfg-if\", \"libm 0.1.4\"]\n\n[[package]]\nname = \"pallet-aura\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-support\", \"frame-system\", \"pallet-timestamp\", \"parity-scale-codec\", \"scale-info\", \"sp-application-crypto\", \"sp-consensus-aura\", \"sp-runtime\", \"sp-std\"]\n\n[[package]]\nname = \"pallet-authorship\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-support\", \"frame-system\", \"impl-trait-for-tuples\", \"parity-scale-codec\", \"scale-info\", \"sp-authorship\", \"sp-runtime\", \"sp-std\"]\n\n[[package]]\nname = \"pallet-balances\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-benchmarking\", \"frame-support\", \"frame-system\", \"log\", \"parity-scale-codec\", \"scale-info\", \"sp-runtime\", \"sp-std\"]\n\n[[package]]\nname = \"pallet-grandpa\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-benchmarking\", \"frame-support\", \"frame-system\", \"log\", \"pallet-authorship\", \"pallet-session\", \"parity-scale-codec\", \"scale-info\", \"sp-application-crypto\", \"sp-core\", \"sp-consensus-grandpa\", \"sp-io\", \"sp-runtime\", \"sp-session\", \"sp-staking\", \"sp-std\"]\n\n[[package]]\nname = \"pallet-randomness-collective-flip\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-support\", \"frame-system\", \"parity-scale-codec\", \"safe-mix\", \"scale-info\", \"sp-runtime\", \"sp-std\"]\n\n[[package]]\nname = \"pallet-session\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-support\", \"frame-system\", \"impl-trait-for-tuples\", \"log\", \"pallet-timestamp\", \"parity-scale-codec\", \"scale-info\", \"sp-core\", \"sp-io\", \"sp-runtime\", \"sp-session\", \"sp-staking\", \"sp-std\", \"sp-trie\"]\n\n[[package]]\nname = \"pallet-subtensor\"\nversion = \"0.0.1\"\ndependencies = [\"frame-benchmarking\", \"frame-support\", \"frame-system\", \"log\", \"ndarray\", \"pallet-balances\", \"pallet-transaction-payment\", \"parity-scale-codec\", \"parity-util-mem\", \"rand 0.8.5\", \"scale-info\", \"serde\", \"serde-tuple-vec-map\", \"serde_bytes\", \"serde_with\", \"sp-core\", \"sp-io\", \"sp-runtime\", \"sp-std\", \"sp-tracing\", \"sp-version\", \"substrate-fixed\"]\n\n[[package]]\nname = \"pallet-sudo\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-support\", \"frame-system\", \"parity-scale-codec\", \"scale-info\", \"sp-io\", \"sp-runtime\", \"sp-std\"]\n\n[[package]]\nname = \"pallet-timestamp\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-benchmarking\", \"frame-support\", \"frame-system\", \"log\", \"parity-scale-codec\", \"scale-info\", \"sp-inherents\", \"sp-io\", \"sp-runtime\", \"sp-std\", \"sp-timestamp\"]\n\n[[package]]\nname = \"pallet-transaction-payment\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-support\", \"frame-system\", \"parity-scale-codec\", \"scale-info\", \"serde\", \"sp-core\", \"sp-io\", \"sp-runtime\", \"sp-std\"]\n\n[[package]]\nname = \"pallet-transaction-payment-rpc\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"jsonrpsee\", \"pallet-transaction-payment-rpc-runtime-api\", \"parity-scale-codec\", \"sp-api\", \"sp-blockchain\", \"sp-core\", \"sp-rpc\", \"sp-runtime\", \"sp-weights\"]\n\n[[package]]\nname = \"pallet-transaction-payment-rpc-runtime-api\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"pallet-transaction-payment\", \"parity-scale-codec\", \"sp-api\", \"sp-runtime\", \"sp-weights\"]\n\n[[package]]\nname = \"parity-db\"\nversion = \"0.4.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"dd684a725651d9588ef21f140a328b6b4f64e646b2e931f3e6f14f75eedf9980\"\ndependencies = [\"blake2\", \"crc32fast\", \"fs2\", \"hex\", \"libc\", \"log\", \"lz4\", \"memmap2\", \"parking_lot 0.12.1\", \"rand 0.8.5\", \"snap\"]\n\n[[package]]\nname = \"parity-scale-codec\"\nversion = \"3.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c3840933452adf7b3b9145e27086a5a3376c619dca1a21b1e5a5af0d54979bed\"\ndependencies = [\"arrayvec 0.7.2\", \"bitvec\", \"byte-slice-cast\", \"bytes\", \"impl-trait-for-tuples\", \"parity-scale-codec-derive\", \"serde\"]\n\n[[package]]\nname = \"parity-scale-codec-derive\"\nversion = \"3.1.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"86b26a931f824dd4eca30b3e43bb4f31cd5f0d3a403c5f5ff27106b805bfde7b\"\ndependencies = [\"proc-macro-crate\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"parity-send-wrapper\"\nversion = \"0.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"aa9777aa91b8ad9dd5aaa04a9b6bcb02c7f1deb952fca5a66034d5e63afc5c6f\"\n\n[[package]]\nname = \"parity-util-mem\"\nversion = \"0.11.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c32561d248d352148124f036cac253a644685a21dc9fea383eb4907d7bd35a8f\"\ndependencies = [\"cfg-if\", \"ethereum-types\", \"hashbrown\", \"impl-trait-for-tuples\", \"lru 0.7.8\", \"parity-util-mem-derive\", \"parking_lot 0.12.1\", \"primitive-types 0.11.1\", \"smallvec\", \"winapi\"]\n\n[[package]]\nname = \"parity-util-mem-derive\"\nversion = \"0.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2\"\ndependencies = [\"proc-macro2\", \"syn\", \"synstructure\"]\n\n[[package]]\nname = \"parity-wasm\"\nversion = \"0.45.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304\"\n\n[[package]]\nname = \"parking\"\nversion = \"2.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72\"\n\n[[package]]\nname = \"parking_lot\"\nversion = \"0.11.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99\"\ndependencies = [\"instant\", \"lock_api\", \"parking_lot_core 0.8.6\"]\n\n[[package]]\nname = \"parking_lot\"\nversion = \"0.12.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f\"\ndependencies = [\"lock_api\", \"parking_lot_core 0.9.7\"]\n\n[[package]]\nname = \"parking_lot_core\"\nversion = \"0.8.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc\"\ndependencies = [\"cfg-if\", \"instant\", \"libc\", \"redox_syscall\", \"smallvec\", \"winapi\"]\n\n[[package]]\nname = \"parking_lot_core\"\nversion = \"0.9.7\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521\"\ndependencies = [\"cfg-if\", \"libc\", \"redox_syscall\", \"smallvec\", \"windows-sys 0.45.0\"]\n\n[[package]]\nname = \"paste\"\nversion = \"1.0.11\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba\"\n\n[[package]]\nname = \"pbkdf2\"\nversion = \"0.8.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa\"\ndependencies = [\"crypto-mac 0.11.1\"]\n\n[[package]]\nname = \"pbkdf2\"\nversion = \"0.11.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917\"\ndependencies = [\"digest 0.10.6\"]\n\n[[package]]\nname = \"peeking_take_while\"\nversion = \"0.1.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099\"\n\n[[package]]\nname = \"pem\"\nversion = \"1.1.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8\"\ndependencies = [\"base64 0.13.1\"]\n\n[[package]]\nname = \"pem-rfc7468\"\nversion = \"0.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"24d159833a9105500e0398934e205e0773f0b27529557134ecfc51c27646adac\"\ndependencies = [\"base64ct\"]\n\n[[package]]\nname = \"percent-encoding\"\nversion = \"2.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e\"\n\n[[package]]\nname = \"pest\"\nversion = \"2.5.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4ab62d2fa33726dbe6321cc97ef96d8cde531e3eeaf858a058de53a8a6d40d8f\"\ndependencies = [\"thiserror\", \"ucd-trie\"]\n\n[[package]]\nname = \"pest_derive\"\nversion = \"2.5.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8bf026e2d0581559db66d837fe5242320f525d85c76283c61f4d51a1238d65ea\"\ndependencies = [\"pest\", \"pest_generator\"]\n\n[[package]]\nname = \"pest_generator\"\nversion = \"2.5.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2b27bd18aa01d91c8ed2b61ea23406a676b42d82609c6e2581fba42f0c15f17f\"\ndependencies = [\"pest\", \"pest_meta\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"pest_meta\"\nversion = \"2.5.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9f02b677c1859756359fc9983c2e56a0237f18624a3789528804406b7e915e5d\"\ndependencies = [\"once_cell\", \"pest\", \"sha2 0.10.6\"]\n\n[[package]]\nname = \"petgraph\"\nversion = \"0.6.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4\"\ndependencies = [\"fixedbitset\", \"indexmap\"]\n\n[[package]]\nname = \"pin-project\"\nversion = \"1.0.12\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc\"\ndependencies = [\"pin-project-internal\"]\n\n[[package]]\nname = \"pin-project-internal\"\nversion = \"1.0.12\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"pin-project-lite\"\nversion = \"0.1.12\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777\"\n\n[[package]]\nname = \"pin-project-lite\"\nversion = \"0.2.9\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116\"\n\n[[package]]\nname = \"pin-utils\"\nversion = \"0.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184\"\n\n[[package]]\nname = \"pkcs8\"\nversion = \"0.9.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba\"\ndependencies = [\"der\", \"spki\"]\n\n[[package]]\nname = \"pkg-config\"\nversion = \"0.3.26\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160\"\n\n[[package]]\nname = \"platforms\"\nversion = \"2.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e8d0eef3571242013a0d5dc84861c3ae4a652e56e12adf8bdc26ff5f8cb34c94\"\n\n[[package]]\nname = \"platforms\"\nversion = \"3.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e3d7ddaed09e0eb771a79ab0fd64609ba0afb0a8366421957936ad14cbd13630\"\n\n[[package]]\nname = \"polling\"\nversion = \"2.5.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"22122d5ec4f9fe1b3916419b76be1e80bcb93f618d071d2edf841b137b2a2bd6\"\ndependencies = [\"autocfg\", \"cfg-if\", \"libc\", \"log\", \"wepoll-ffi\", \"windows-sys 0.42.0\"]\n\n[[package]]\nname = \"poly1305\"\nversion = \"0.7.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"048aeb476be11a4b6ca432ca569e375810de9294ae78f4774e78ea98a9246ede\"\ndependencies = [\"cpufeatures\", \"opaque-debug 0.3.0\", \"universal-hash\"]\n\n[[package]]\nname = \"polyval\"\nversion = \"0.4.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd\"\ndependencies = [\"cpuid-bool\", \"opaque-debug 0.3.0\", \"universal-hash\"]\n\n[[package]]\nname = \"polyval\"\nversion = \"0.5.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1\"\ndependencies = [\"cfg-if\", \"cpufeatures\", \"opaque-debug 0.3.0\", \"universal-hash\"]\n\n[[package]]\nname = \"ppv-lite86\"\nversion = \"0.2.17\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de\"\n\n[[package]]\nname = \"predicates\"\nversion = \"2.1.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd\"\ndependencies = [\"difflib\", \"float-cmp\", \"itertools\", \"normalize-line-endings\", \"predicates-core\", \"regex\"]\n\n[[package]]\nname = \"predicates-core\"\nversion = \"1.0.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"72f883590242d3c6fc5bf50299011695fa6590c2c70eac95ee1bdb9a733ad1a2\"\n\n[[package]]\nname = \"predicates-tree\"\nversion = \"1.0.7\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"54ff541861505aabf6ea722d2131ee980b8276e10a1297b94e896dd8b621850d\"\ndependencies = [\"predicates-core\", \"termtree\"]\n\n[[package]]\nname = \"prettyplease\"\nversion = \"0.1.23\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e97e3215779627f01ee256d2fad52f3d95e8e1c11e9fc6fd08f7cd455d5d5c78\"\ndependencies = [\"proc-macro2\", \"syn\"]\n\n[[package]]\nname = \"primitive-types\"\nversion = \"0.11.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e28720988bff275df1f51b171e1b2a18c30d194c4d2b61defdacecd625a5d94a\"\ndependencies = [\"fixed-hash 0.7.0\", \"impl-codec\", \"impl-rlp\", \"impl-serde 0.3.2\", \"uint\"]\n\n[[package]]\nname = \"primitive-types\"\nversion = \"0.12.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66\"\ndependencies = [\"fixed-hash 0.8.0\", \"impl-codec\", \"impl-serde 0.4.0\", \"scale-info\", \"uint\"]\n\n[[package]]\nname = \"proc-macro-crate\"\nversion = \"1.1.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a\"\ndependencies = [\"thiserror\", \"toml\"]\n\n[[package]]\nname = \"proc-macro-error\"\nversion = \"1.0.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c\"\ndependencies = [\"proc-macro-error-attr\", \"proc-macro2\", \"quote\", \"syn\", \"version_check\"]\n\n[[package]]\nname = \"proc-macro-error-attr\"\nversion = \"1.0.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869\"\ndependencies = [\"proc-macro2\", \"quote\", \"version_check\"]\n\n[[package]]\nname = \"proc-macro2\"\nversion = \"1.0.51\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6\"\ndependencies = [\"unicode-ident\"]\n\n[[package]]\nname = \"prometheus\"\nversion = \"0.13.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"449811d15fbdf5ceb5c1144416066429cf82316e2ec8ce0c1f6f8a02e7bbcf8c\"\ndependencies = [\"cfg-if\", \"fnv\", \"lazy_static\", \"memchr\", \"parking_lot 0.12.1\", \"thiserror\"]\n\n[[package]]\nname = \"prometheus-client\"\nversion = \"0.18.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"83cd1b99916654a69008fd66b4f9397fbe08e6e51dfe23d4417acf5d3b8cb87c\"\ndependencies = [\"dtoa\", \"itoa\", \"parking_lot 0.12.1\", \"prometheus-client-derive-text-encode\"]\n\n[[package]]\nname = \"prometheus-client-derive-text-encode\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"66a455fbcb954c1a7decf3c586e860fd7889cddf4b8e164be736dbac95a953cd\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"prost\"\nversion = \"0.11.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"21dc42e00223fc37204bd4aa177e69420c604ca4a183209a8f9de30c6d934698\"\ndependencies = [\"bytes\", \"prost-derive\"]\n\n[[package]]\nname = \"prost-build\"\nversion = \"0.11.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a3f8ad728fb08fe212df3c05169e940fbb6d9d16a877ddde14644a983ba2012e\"\ndependencies = [\"bytes\", \"heck\", \"itertools\", \"lazy_static\", \"log\", \"multimap\", \"petgraph\", \"prettyplease\", \"prost\", \"prost-types\", \"regex\", \"syn\", \"tempfile\", \"which\"]\n\n[[package]]\nname = \"prost-codec\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0dc34979ff898b6e141106178981ce2596c387ea6e62533facfc61a37fc879c0\"\ndependencies = [\"asynchronous-codec\", \"bytes\", \"prost\", \"thiserror\", \"unsigned-varint\"]\n\n[[package]]\nname = \"prost-derive\"\nversion = \"0.11.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8bda8c0881ea9f722eb9629376db3d0b903b462477c1aafcb0566610ac28ac5d\"\ndependencies = [\"anyhow\", \"itertools\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"prost-types\"\nversion = \"0.11.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a5e0526209433e96d83d750dd81a99118edbc55739e7e61a46764fd2ad537788\"\ndependencies = [\"bytes\", \"prost\"]\n\n[[package]]\nname = \"psm\"\nversion = \"0.1.21\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874\"\ndependencies = [\"cc\"]\n\n[[package]]\nname = \"quick-error\"\nversion = \"1.2.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0\"\n\n[[package]]\nname = \"quicksink\"\nversion = \"0.1.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"77de3c815e5a160b1539c6592796801df2043ae35e123b46d73380cfa57af858\"\ndependencies = [\"futures-core\", \"futures-sink\", \"pin-project-lite 0.1.12\"]\n\n[[package]]\nname = \"quinn-proto\"\nversion = \"0.9.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"72ef4ced82a24bb281af338b9e8f94429b6eca01b4e66d899f40031f074e74c9\"\ndependencies = [\"bytes\", \"rand 0.8.5\", \"ring\", \"rustc-hash\", \"rustls 0.20.8\", \"slab\", \"thiserror\", \"tinyvec\", \"tracing\", \"webpki 0.22.0\"]\n\n[[package]]\nname = \"quote\"\nversion = \"1.0.23\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b\"\ndependencies = [\"proc-macro2\"]\n\n[[package]]\nname = \"radium\"\nversion = \"0.7.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09\"\n\n[[package]]\nname = \"rand\"\nversion = \"0.7.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03\"\ndependencies = [\"getrandom 0.1.16\", \"libc\", \"rand_chacha 0.2.2\", \"rand_core 0.5.1\", \"rand_hc\"]\n\n[[package]]\nname = \"rand\"\nversion = \"0.8.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404\"\ndependencies = [\"libc\", \"rand_chacha 0.3.1\", \"rand_core 0.6.4\"]\n\n[[package]]\nname = \"rand_chacha\"\nversion = \"0.2.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402\"\ndependencies = [\"ppv-lite86\", \"rand_core 0.5.1\"]\n\n[[package]]\nname = \"rand_chacha\"\nversion = \"0.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88\"\ndependencies = [\"ppv-lite86\", \"rand_core 0.6.4\"]\n\n[[package]]\nname = \"rand_core\"\nversion = \"0.5.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19\"\ndependencies = [\"getrandom 0.1.16\"]\n\n[[package]]\nname = \"rand_core\"\nversion = \"0.6.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c\"\ndependencies = [\"getrandom 0.2.8\"]\n\n[[package]]\nname = \"rand_distr\"\nversion = \"0.4.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31\"\ndependencies = [\"num-traits\", \"rand 0.8.5\"]\n\n[[package]]\nname = \"rand_hc\"\nversion = \"0.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c\"\ndependencies = [\"rand_core 0.5.1\"]\n\n[[package]]\nname = \"rand_pcg\"\nversion = \"0.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e\"\ndependencies = [\"rand_core 0.6.4\"]\n\n[[package]]\nname = \"rawpointer\"\nversion = \"0.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3\"\n\n[[package]]\nname = \"rayon\"\nversion = \"1.6.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7\"\ndependencies = [\"either\", \"rayon-core\"]\n\n[[package]]\nname = \"rayon-core\"\nversion = \"1.10.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"356a0625f1954f730c0201cdab48611198dc6ce21f4acff55089b5a78e6e835b\"\ndependencies = [\"crossbeam-channel\", \"crossbeam-deque\", \"crossbeam-utils\", \"num_cpus\"]\n\n[[package]]\nname = \"rcgen\"\nversion = \"0.9.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd\"\ndependencies = [\"pem\", \"ring\", \"time 0.3.17\", \"x509-parser 0.13.2\", \"yasna\"]\n\n[[package]]\nname = \"rcgen\"\nversion = \"0.10.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b\"\ndependencies = [\"pem\", \"ring\", \"time 0.3.17\", \"yasna\"]\n\n[[package]]\nname = \"redox_syscall\"\nversion = \"0.2.16\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a\"\ndependencies = [\"bitflags\"]\n\n[[package]]\nname = \"redox_users\"\nversion = \"0.4.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b\"\ndependencies = [\"getrandom 0.2.8\", \"redox_syscall\", \"thiserror\"]\n\n[[package]]\nname = \"ref-cast\"\nversion = \"1.0.14\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8c78fb8c9293bcd48ef6fce7b4ca950ceaf21210de6e105a883ee280c0f7b9ed\"\ndependencies = [\"ref-cast-impl\"]\n\n[[package]]\nname = \"ref-cast-impl\"\nversion = \"1.0.14\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9f9c0c92af03644e4806106281fe2e068ac5bc0ae74a707266d06ea27bccee5f\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"regalloc2\"\nversion = \"0.3.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d43a209257d978ef079f3d446331d0f1794f5e0fc19b306a199983857833a779\"\ndependencies = [\"fxhash\", \"log\", \"slice-group-by\", \"smallvec\"]\n\n[[package]]\nname = \"regex\"\nversion = \"1.7.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733\"\ndependencies = [\"aho-corasick\", \"memchr\", \"regex-syntax\"]\n\n[[package]]\nname = \"regex-automata\"\nversion = \"0.1.10\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132\"\ndependencies = [\"regex-syntax\"]\n\n[[package]]\nname = \"regex-syntax\"\nversion = \"0.6.28\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848\"\n\n[[package]]\nname = \"remove_dir_all\"\nversion = \"0.5.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7\"\ndependencies = [\"winapi\"]\n\n[[package]]\nname = \"resolv-conf\"\nversion = \"0.7.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00\"\ndependencies = [\"hostname\", \"quick-error\"]\n\n[[package]]\nname = \"rfc6979\"\nversion = \"0.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb\"\ndependencies = [\"crypto-bigint\", \"hmac 0.12.1\", \"zeroize\"]\n\n[[package]]\nname = \"ring\"\nversion = \"0.16.20\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc\"\ndependencies = [\"cc\", \"libc\", \"once_cell\", \"spin\", \"untrusted\", \"web-sys\", \"winapi\"]\n\n[[package]]\nname = \"rlp\"\nversion = \"0.5.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec\"\ndependencies = [\"bytes\", \"rustc-hex\"]\n\n[[package]]\nname = \"rocksdb\"\nversion = \"0.19.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7e9562ea1d70c0cc63a34a22d977753b50cca91cc6b6527750463bd5dd8697bc\"\ndependencies = [\"libc\", \"librocksdb-sys\"]\n\n[[package]]\nname = \"rpassword\"\nversion = \"7.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6678cf63ab3491898c0d021b493c94c9b221d91295294a2a5746eacbe5928322\"\ndependencies = [\"libc\", \"rtoolbox\", \"winapi\"]\n\n[[package]]\nname = \"rtcp\"\nversion = \"0.7.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1919efd6d4a6a85d13388f9487549bb8e359f17198cc03ffd72f79b553873691\"\ndependencies = [\"bytes\", \"thiserror\", \"webrtc-util\"]\n\n[[package]]\nname = \"rtnetlink\"\nversion = \"0.10.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"322c53fd76a18698f1c27381d58091de3a043d356aa5bd0d510608b565f469a0\"\ndependencies = [\"futures\", \"log\", \"netlink-packet-route\", \"netlink-proto\", \"nix\", \"thiserror\", \"tokio\"]\n\n[[package]]\nname = \"rtoolbox\"\nversion = \"0.0.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"034e22c514f5c0cb8a10ff341b9b048b5ceb21591f31c8f44c43b960f9b3524a\"\ndependencies = [\"libc\", \"winapi\"]\n\n[[package]]\nname = \"rtp\"\nversion = \"0.6.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a2a095411ff00eed7b12e4c6a118ba984d113e1079582570d56a5ee723f11f80\"\ndependencies = [\"async-trait\", \"bytes\", \"rand 0.8.5\", \"serde\", \"thiserror\", \"webrtc-util\"]\n\n[[package]]\nname = \"rustc-demangle\"\nversion = \"0.1.21\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342\"\n\n[[package]]\nname = \"rustc-hash\"\nversion = \"1.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2\"\n\n[[package]]\nname = \"rustc-hex\"\nversion = \"2.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6\"\n\n[[package]]\nname = \"rustc_version\"\nversion = \"0.2.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a\"\ndependencies = [\"semver 0.9.0\"]\n\n[[package]]\nname = \"rustc_version\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366\"\ndependencies = [\"semver 1.0.16\"]\n\n[[package]]\nname = \"rusticata-macros\"\nversion = \"4.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632\"\ndependencies = [\"nom\"]\n\n[[package]]\nname = \"rustix\"\nversion = \"0.35.13\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"727a1a6d65f786ec22df8a81ca3121107f235970dc1705ed681d3e6e8b9cd5f9\"\ndependencies = [\"bitflags\", \"errno\", \"io-lifetimes 0.7.5\", \"libc\", \"linux-raw-sys 0.0.46\", \"windows-sys 0.42.0\"]\n\n[[package]]\nname = \"rustix\"\nversion = \"0.36.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f43abb88211988493c1abb44a70efa56ff0ce98f233b7b276146f1f3f7ba9644\"\ndependencies = [\"bitflags\", \"errno\", \"io-lifetimes 1.0.5\", \"libc\", \"linux-raw-sys 0.1.4\", \"windows-sys 0.45.0\"]\n\n[[package]]\nname = \"rustls\"\nversion = \"0.19.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7\"\ndependencies = [\"base64 0.13.1\", \"log\", \"ring\", \"sct 0.6.1\", \"webpki 0.21.4\"]\n\n[[package]]\nname = \"rustls\"\nversion = \"0.20.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f\"\ndependencies = [\"log\", \"ring\", \"sct 0.7.0\", \"webpki 0.22.0\"]\n\n[[package]]\nname = \"rustls-native-certs\"\nversion = \"0.6.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50\"\ndependencies = [\"openssl-probe\", \"rustls-pemfile\", \"schannel\", \"security-framework\"]\n\n[[package]]\nname = \"rustls-pemfile\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b\"\ndependencies = [\"base64 0.21.0\"]\n\n[[package]]\nname = \"rustversion\"\nversion = \"1.0.11\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70\"\n\n[[package]]\nname = \"rw-stream-sink\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"26338f5e09bb721b85b135ea05af7767c90b52f6de4f087d4f4a3a9d64e7dc04\"\ndependencies = [\"futures\", \"pin-project\", \"static_assertions\"]\n\n[[package]]\nname = \"ryu\"\nversion = \"1.0.12\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde\"\n\n[[package]]\nname = \"safe-mix\"\nversion = \"1.0.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6d3d055a2582e6b00ed7a31c1524040aa391092bf636328350813f3a0605215c\"\ndependencies = [\"rustc_version 0.2.3\"]\n\n[[package]]\nname = \"same-file\"\nversion = \"1.0.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502\"\ndependencies = [\"winapi-util\"]\n\n[[package]]\nname = \"sc-allocator\"\nversion = \"4.1.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"log\", \"sp-core\", \"sp-wasm-interface\", \"thiserror\"]\n\n[[package]]\nname = \"sc-basic-authorship\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"futures\", \"futures-timer\", \"log\", \"parity-scale-codec\", \"sc-block-builder\", \"sc-client-api\", \"sc-proposer-metrics\", \"sc-telemetry\", \"sc-transaction-pool-api\", \"sp-api\", \"sp-blockchain\", \"sp-consensus\", \"sp-core\", \"sp-inherents\", \"sp-runtime\", \"substrate-prometheus-endpoint\"]\n\n[[package]]\nname = \"sc-block-builder\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"parity-scale-codec\", \"sc-client-api\", \"sp-api\", \"sp-block-builder\", \"sp-blockchain\", \"sp-core\", \"sp-inherents\", \"sp-runtime\", \"sp-state-machine\"]\n\n[[package]]\nname = \"sc-chain-spec\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"memmap2\", \"sc-chain-spec-derive\", \"sc-network-common\", \"sc-telemetry\", \"serde\", \"serde_json\", \"sp-core\", \"sp-runtime\"]\n\n[[package]]\nname = \"sc-chain-spec-derive\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"proc-macro-crate\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"sc-cli\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"array-bytes\", \"chrono\", \"clap\", \"fdlimit\", \"futures\", \"libp2p\", \"log\", \"names\", \"parity-scale-codec\", \"rand 0.8.5\", \"regex\", \"rpassword\", \"sc-client-api\", \"sc-client-db\", \"sc-keystore\", \"sc-network\", \"sc-network-common\", \"sc-service\", \"sc-telemetry\", \"sc-tracing\", \"sc-utils\", \"serde\", \"serde_json\", \"sp-blockchain\", \"sp-core\", \"sp-keyring\", \"sp-keystore\", \"sp-panic-handler\", \"sp-runtime\", \"sp-version\", \"thiserror\", \"tiny-bip39\", \"tokio\"]\n\n[[package]]\nname = \"sc-client-api\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"fnv\", \"futures\", \"log\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"sc-executor\", \"sc-transaction-pool-api\", \"sc-utils\", \"sp-api\", \"sp-blockchain\", \"sp-consensus\", \"sp-core\", \"sp-database\", \"sp-externalities\", \"sp-keystore\", \"sp-runtime\", \"sp-state-machine\", \"sp-storage\", \"substrate-prometheus-endpoint\"]\n\n[[package]]\nname = \"sc-client-db\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"hash-db\", \"kvdb\", \"kvdb-memorydb\", \"kvdb-rocksdb\", \"linked-hash-map\", \"log\", \"parity-db\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"sc-client-api\", \"sc-state-db\", \"sp-arithmetic\", \"sp-blockchain\", \"sp-core\", \"sp-database\", \"sp-runtime\", \"sp-state-machine\", \"sp-trie\"]\n\n[[package]]\nname = \"sc-consensus\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"futures\", \"futures-timer\", \"libp2p\", \"log\", \"mockall\", \"parking_lot 0.12.1\", \"sc-client-api\", \"sc-utils\", \"serde\", \"sp-api\", \"sp-blockchain\", \"sp-consensus\", \"sp-core\", \"sp-runtime\", \"sp-state-machine\", \"substrate-prometheus-endpoint\", \"thiserror\"]\n\n[[package]]\nname = \"sc-consensus-aura\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"futures\", \"log\", \"parity-scale-codec\", \"sc-block-builder\", \"sc-client-api\", \"sc-consensus\", \"sc-consensus-slots\", \"sc-telemetry\", \"sp-api\", \"sp-application-crypto\", \"sp-block-builder\", \"sp-blockchain\", \"sp-consensus\", \"sp-consensus-aura\", \"sp-consensus-slots\", \"sp-core\", \"sp-inherents\", \"sp-keystore\", \"sp-runtime\", \"substrate-prometheus-endpoint\", \"thiserror\"]\n\n[[package]]\nname = \"sc-consensus-slots\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"futures\", \"futures-timer\", \"log\", \"parity-scale-codec\", \"sc-client-api\", \"sc-consensus\", \"sc-telemetry\", \"sp-arithmetic\", \"sp-blockchain\", \"sp-consensus\", \"sp-consensus-slots\", \"sp-core\", \"sp-inherents\", \"sp-runtime\", \"sp-state-machine\"]\n\n[[package]]\nname = \"sc-executor\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"lru 0.8.1\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"sc-executor-common\", \"sc-executor-wasmi\", \"sc-executor-wasmtime\", \"sp-api\", \"sp-core\", \"sp-externalities\", \"sp-io\", \"sp-panic-handler\", \"sp-runtime-interface\", \"sp-trie\", \"sp-version\", \"sp-wasm-interface\", \"tracing\", \"wasmi\"]\n\n[[package]]\nname = \"sc-executor-common\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"sc-allocator\", \"sp-maybe-compressed-blob\", \"sp-wasm-interface\", \"thiserror\", \"wasm-instrument\", \"wasmi\"]\n\n[[package]]\nname = \"sc-executor-wasmi\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"log\", \"sc-allocator\", \"sc-executor-common\", \"sp-runtime-interface\", \"sp-wasm-interface\", \"wasmi\"]\n\n[[package]]\nname = \"sc-executor-wasmtime\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"cfg-if\", \"libc\", \"log\", \"once_cell\", \"rustix 0.35.13\", \"sc-allocator\", \"sc-executor-common\", \"sp-runtime-interface\", \"sp-wasm-interface\", \"wasmtime\"]\n\n[[package]]\nname = \"sc-consensus-grandpa\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"ahash\", \"array-bytes\", \"async-trait\", \"dyn-clone\", \"finality-grandpa\", \"fork-tree\", \"futures\", \"futures-timer\", \"log\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"rand 0.8.5\", \"sc-block-builder\", \"sc-chain-spec\", \"sc-client-api\", \"sc-consensus\", \"sc-network\", \"sc-network-common\", \"sc-network-gossip\", \"sc-telemetry\", \"sc-utils\", \"serde_json\", \"sp-api\", \"sp-application-crypto\", \"sp-arithmetic\", \"sp-blockchain\", \"sp-consensus\", \"sp-core\", \"sp-consensus-grandpa\", \"sp-keystore\", \"sp-runtime\", \"substrate-prometheus-endpoint\", \"thiserror\"]\n\n[[package]]\nname = \"sc-informant\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"ansi_term\", \"futures\", \"futures-timer\", \"log\", \"sc-client-api\", \"sc-network-common\", \"sp-blockchain\", \"sp-runtime\"]\n\n[[package]]\nname = \"sc-keystore\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"array-bytes\", \"async-trait\", \"parking_lot 0.12.1\", \"serde_json\", \"sp-application-crypto\", \"sp-core\", \"sp-keystore\", \"thiserror\"]\n\n[[package]]\nname = \"sc-network\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"array-bytes\", \"async-trait\", \"asynchronous-codec\", \"backtrace\", \"bytes\", \"either\", \"fnv\", \"futures\", \"futures-timer\", \"ip_network\", \"libp2p\", \"log\", \"lru 0.8.1\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"pin-project\", \"rand 0.8.5\", \"sc-block-builder\", \"sc-client-api\", \"sc-consensus\", \"sc-network-common\", \"sc-peerset\", \"sc-utils\", \"serde\", \"serde_json\", \"smallvec\", \"sp-arithmetic\", \"sp-blockchain\", \"sp-consensus\", \"sp-core\", \"sp-runtime\", \"substrate-prometheus-endpoint\", \"thiserror\", \"unsigned-varint\", \"zeroize\"]\n\n[[package]]\nname = \"sc-network-bitswap\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"cid\", \"futures\", \"libp2p\", \"log\", \"prost\", \"prost-build\", \"sc-client-api\", \"sc-network-common\", \"sp-blockchain\", \"sp-runtime\", \"thiserror\", \"unsigned-varint\"]\n\n[[package]]\nname = \"sc-network-common\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"bitflags\", \"bytes\", \"futures\", \"futures-timer\", \"libp2p\", \"linked_hash_set\", \"parity-scale-codec\", \"prost-build\", \"sc-consensus\", \"sc-peerset\", \"serde\", \"smallvec\", \"sp-blockchain\", \"sp-consensus\", \"sp-consensus-grandpa\", \"sp-runtime\", \"substrate-prometheus-endpoint\", \"thiserror\"]\n\n[[package]]\nname = \"sc-network-gossip\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"ahash\", \"futures\", \"futures-timer\", \"libp2p\", \"log\", \"lru 0.8.1\", \"sc-network-common\", \"sc-peerset\", \"sp-runtime\", \"substrate-prometheus-endpoint\", \"tracing\"]\n\n[[package]]\nname = \"sc-network-light\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"array-bytes\", \"futures\", \"libp2p\", \"log\", \"parity-scale-codec\", \"prost\", \"prost-build\", \"sc-client-api\", \"sc-network-common\", \"sc-peerset\", \"sp-blockchain\", \"sp-core\", \"sp-runtime\", \"thiserror\"]\n\n[[package]]\nname = \"sc-network-sync\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"array-bytes\", \"async-trait\", \"fork-tree\", \"futures\", \"libp2p\", \"log\", \"lru 0.8.1\", \"mockall\", \"parity-scale-codec\", \"prost\", \"prost-build\", \"sc-client-api\", \"sc-consensus\", \"sc-network-common\", \"sc-peerset\", \"sc-utils\", \"smallvec\", \"sp-arithmetic\", \"sp-blockchain\", \"sp-consensus\", \"sp-core\", \"sp-consensus-grandpa\", \"sp-runtime\", \"substrate-prometheus-endpoint\", \"thiserror\"]\n\n[[package]]\nname = \"sc-network-transactions\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"array-bytes\", \"futures\", \"libp2p\", \"log\", \"parity-scale-codec\", \"pin-project\", \"sc-network-common\", \"sc-peerset\", \"sc-utils\", \"sp-consensus\", \"sp-runtime\", \"substrate-prometheus-endpoint\"]\n\n[[package]]\nname = \"sc-offchain\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"array-bytes\", \"bytes\", \"fnv\", \"futures\", \"futures-timer\", \"hyper\", \"hyper-rustls\", \"libp2p\", \"num_cpus\", \"once_cell\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"rand 0.8.5\", \"sc-client-api\", \"sc-network-common\", \"sc-peerset\", \"sc-utils\", \"sp-api\", \"sp-core\", \"sp-offchain\", \"sp-runtime\", \"threadpool\", \"tracing\"]\n\n[[package]]\nname = \"sc-peerset\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"futures\", \"libp2p\", \"log\", \"sc-utils\", \"serde_json\", \"wasm-timer\"]\n\n[[package]]\nname = \"sc-proposer-metrics\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"log\", \"substrate-prometheus-endpoint\"]\n\n[[package]]\nname = \"sc-rpc\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"futures\", \"jsonrpsee\", \"log\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"sc-block-builder\", \"sc-chain-spec\", \"sc-client-api\", \"sc-rpc-api\", \"sc-tracing\", \"sc-transaction-pool-api\", \"sc-utils\", \"serde_json\", \"sp-api\", \"sp-blockchain\", \"sp-core\", \"sp-keystore\", \"sp-offchain\", \"sp-rpc\", \"sp-runtime\", \"sp-session\", \"sp-version\"]\n\n[[package]]\nname = \"sc-rpc-api\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"jsonrpsee\", \"parity-scale-codec\", \"sc-chain-spec\", \"sc-transaction-pool-api\", \"scale-info\", \"serde\", \"serde_json\", \"sp-core\", \"sp-rpc\", \"sp-runtime\", \"sp-version\", \"thiserror\"]\n\n[[package]]\nname = \"sc-rpc-server\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"http\", \"jsonrpsee\", \"log\", \"serde_json\", \"substrate-prometheus-endpoint\", \"tokio\", \"tower\", \"tower-http\"]\n\n[[package]]\nname = \"sc-rpc-spec-v2\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"array-bytes\", \"futures\", \"futures-util\", \"hex\", \"jsonrpsee\", \"log\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"sc-chain-spec\", \"sc-client-api\", \"sc-transaction-pool-api\", \"serde\", \"sp-api\", \"sp-blockchain\", \"sp-core\", \"sp-runtime\", \"sp-version\", \"thiserror\", \"tokio-stream\"]\n\n[[package]]\nname = \"sc-service\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"directories\", \"exit-future\", \"futures\", \"futures-timer\", \"jsonrpsee\", \"log\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"pin-project\", \"rand 0.8.5\", \"sc-block-builder\", \"sc-chain-spec\", \"sc-client-api\", \"sc-client-db\", \"sc-consensus\", \"sc-executor\", \"sc-informant\", \"sc-keystore\", \"sc-network\", \"sc-network-bitswap\", \"sc-network-common\", \"sc-network-light\", \"sc-network-sync\", \"sc-network-transactions\", \"sc-offchain\", \"sc-rpc\", \"sc-rpc-server\", \"sc-rpc-spec-v2\", \"sc-sysinfo\", \"sc-telemetry\", \"sc-tracing\", \"sc-transaction-pool\", \"sc-transaction-pool-api\", \"sc-utils\", \"serde\", \"serde_json\", \"sp-api\", \"sp-blockchain\", \"sp-consensus\", \"sp-core\", \"sp-externalities\", \"sp-keystore\", \"sp-runtime\", \"sp-session\", \"sp-state-machine\", \"sp-storage\", \"sp-transaction-pool\", \"sp-transaction-storage-proof\", \"sp-trie\", \"sp-version\", \"static_init\", \"substrate-prometheus-endpoint\", \"tempfile\", \"thiserror\", \"tokio\", \"tracing\", \"tracing-futures\"]\n\n[[package]]\nname = \"sc-state-db\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"log\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"sp-core\"]\n\n[[package]]\nname = \"sc-sysinfo\"\nversion = \"6.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"futures\", \"libc\", \"log\", \"rand 0.8.5\", \"rand_pcg\", \"regex\", \"sc-telemetry\", \"serde\", \"serde_json\", \"sp-core\", \"sp-io\", \"sp-std\"]\n\n[[package]]\nname = \"sc-telemetry\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"chrono\", \"futures\", \"libp2p\", \"log\", \"parking_lot 0.12.1\", \"pin-project\", \"rand 0.8.5\", \"sc-utils\", \"serde\", \"serde_json\", \"thiserror\", \"wasm-timer\"]\n\n[[package]]\nname = \"sc-tracing\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"ansi_term\", \"atty\", \"chrono\", \"lazy_static\", \"libc\", \"log\", \"once_cell\", \"parking_lot 0.12.1\", \"regex\", \"rustc-hash\", \"sc-client-api\", \"sc-rpc-server\", \"sc-tracing-proc-macro\", \"serde\", \"sp-api\", \"sp-blockchain\", \"sp-core\", \"sp-rpc\", \"sp-runtime\", \"sp-tracing\", \"thiserror\", \"tracing\", \"tracing-log\", \"tracing-subscriber\"]\n\n[[package]]\nname = \"sc-tracing-proc-macro\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"proc-macro-crate\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"sc-transaction-pool\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"futures\", \"futures-timer\", \"linked-hash-map\", \"log\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"sc-client-api\", \"sc-transaction-pool-api\", \"sc-utils\", \"serde\", \"sp-api\", \"sp-blockchain\", \"sp-core\", \"sp-runtime\", \"sp-tracing\", \"sp-transaction-pool\", \"substrate-prometheus-endpoint\", \"thiserror\"]\n\n[[package]]\nname = \"sc-transaction-pool-api\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"futures\", \"log\", \"serde\", \"sp-blockchain\", \"sp-runtime\", \"thiserror\"]\n\n[[package]]\nname = \"sc-utils\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"backtrace\", \"futures\", \"futures-timer\", \"lazy_static\", \"log\", \"parking_lot 0.12.1\", \"prometheus\"]\n\n[[package]]\nname = \"scale-info\"\nversion = \"2.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"001cf62ece89779fd16105b5f515ad0e5cedcd5440d3dd806bb067978e7c3608\"\ndependencies = [\"bitvec\", \"cfg-if\", \"derive_more\", \"parity-scale-codec\", \"scale-info-derive\", \"serde\"]\n\n[[package]]\nname = \"scale-info-derive\"\nversion = \"2.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"303959cf613a6f6efd19ed4b4ad5bf79966a13352716299ad532cfb115f4205c\"\ndependencies = [\"proc-macro-crate\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"schannel\"\nversion = \"0.1.21\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3\"\ndependencies = [\"windows-sys 0.42.0\"]\n\n[[package]]\nname = \"schnorrkel\"\nversion = \"0.9.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"021b403afe70d81eea68f6ea12f6b3c9588e5d536a94c3bf80f15e7faa267862\"\ndependencies = [\"arrayref\", \"arrayvec 0.5.2\", \"curve25519-dalek 2.1.3\", \"getrandom 0.1.16\", \"merlin\", \"rand 0.7.3\", \"rand_core 0.5.1\", \"sha2 0.8.2\", \"subtle\", \"zeroize\"]\n\n[[package]]\nname = \"scopeguard\"\nversion = \"1.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd\"\n\n[[package]]\nname = \"scratch\"\nversion = \"1.0.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2\"\n\n[[package]]\nname = \"sct\"\nversion = \"0.6.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce\"\ndependencies = [\"ring\", \"untrusted\"]\n\n[[package]]\nname = \"sct\"\nversion = \"0.7.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4\"\ndependencies = [\"ring\", \"untrusted\"]\n\n[[package]]\nname = \"sdp\"\nversion = \"0.5.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4d22a5ef407871893fd72b4562ee15e4742269b173959db4b8df6f538c414e13\"\ndependencies = [\"rand 0.8.5\", \"substring\", \"thiserror\", \"url\"]\n\n[[package]]\nname = \"sec1\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928\"\ndependencies = [\"base16ct\", \"der\", \"generic-array 0.14.6\", \"pkcs8\", \"subtle\", \"zeroize\"]\n\n[[package]]\nname = \"secp256k1\"\nversion = \"0.24.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62\"\ndependencies = [\"secp256k1-sys\"]\n\n[[package]]\nname = \"secp256k1-sys\"\nversion = \"0.6.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"83080e2c2fc1006e625be82e5d1eb6a43b7fd9578b617fcc55814daf286bba4b\"\ndependencies = [\"cc\"]\n\n[[package]]\nname = \"secrecy\"\nversion = \"0.8.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91e\"\ndependencies = [\"zeroize\"]\n\n[[package]]\nname = \"security-framework\"\nversion = \"2.8.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254\"\ndependencies = [\"bitflags\", \"core-foundation\", \"core-foundation-sys\", \"libc\", \"security-framework-sys\"]\n\n[[package]]\nname = \"security-framework-sys\"\nversion = \"2.8.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4\"\ndependencies = [\"core-foundation-sys\", \"libc\"]\n\n[[package]]\nname = \"semver\"\nversion = \"0.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7a3186ec9e65071a2095434b1f5bb24838d4e8e130f584c790f6033c79943537\"\ndependencies = [\"semver-parser\"]\n\n[[package]]\nname = \"semver\"\nversion = \"0.9.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403\"\ndependencies = [\"semver-parser\"]\n\n[[package]]\nname = \"semver\"\nversion = \"1.0.16\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a\"\ndependencies = [\"serde\"]\n\n[[package]]\nname = \"semver-parser\"\nversion = \"0.7.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3\"\n\n[[package]]\nname = \"serde\"\nversion = \"1.0.152\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb\"\ndependencies = [\"serde_derive\"]\n\n[[package]]\nname = \"serde-tuple-vec-map\"\nversion = \"1.0.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a04d0ebe0de77d7d445bb729a895dcb0a288854b267ca85f030ce51cdc578c82\"\ndependencies = [\"serde\"]\n\n[[package]]\nname = \"serde_bytes\"\nversion = \"0.11.9\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"416bda436f9aab92e02c8e10d49a15ddd339cea90b6e340fe51ed97abb548294\"\ndependencies = [\"serde\"]\n\n[[package]]\nname = \"serde_derive\"\nversion = \"1.0.152\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"serde_json\"\nversion = \"1.0.92\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7434af0dc1cbd59268aa98b4c22c131c0584d2232f6fb166efb993e2832e896a\"\ndependencies = [\"itoa\", \"ryu\", \"serde\"]\n\n[[package]]\nname = \"serde_with\"\nversion = \"2.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"89df7a26519371a3cce44fbb914c2819c84d9b897890987fa3ab096491cc0ea8\"\ndependencies = [\"serde\", \"serde_with_macros\"]\n\n[[package]]\nname = \"serde_with_macros\"\nversion = \"2.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a1966009f3c05f095697c537312f5415d1e3ed31ce0a56942bac4c771c5c335e\"\ndependencies = [\"darling\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"sha-1\"\nversion = \"0.9.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6\"\ndependencies = [\"block-buffer 0.9.0\", \"cfg-if\", \"cpufeatures\", \"digest 0.9.0\", \"opaque-debug 0.3.0\"]\n\n[[package]]\nname = \"sha2\"\nversion = \"0.8.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69\"\ndependencies = [\"block-buffer 0.7.3\", \"digest 0.8.1\", \"fake-simd\", \"opaque-debug 0.2.3\"]\n\n[[package]]\nname = \"sha2\"\nversion = \"0.9.9\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800\"\ndependencies = [\"block-buffer 0.9.0\", \"cfg-if\", \"cpufeatures\", \"digest 0.9.0\", \"opaque-debug 0.3.0\"]\n\n[[package]]\nname = \"sha2\"\nversion = \"0.10.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0\"\ndependencies = [\"cfg-if\", \"cpufeatures\", \"digest 0.10.6\"]\n\n[[package]]\nname = \"sha3\"\nversion = \"0.10.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9\"\ndependencies = [\"digest 0.10.6\", \"keccak\"]\n\n[[package]]\nname = \"sharded-slab\"\nversion = \"0.1.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31\"\ndependencies = [\"lazy_static\"]\n\n[[package]]\nname = \"shlex\"\nversion = \"1.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3\"\n\n[[package]]\nname = \"signal-hook-registry\"\nversion = \"1.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0\"\ndependencies = [\"libc\"]\n\n[[package]]\nname = \"signature\"\nversion = \"1.6.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c\"\ndependencies = [\"digest 0.10.6\", \"rand_core 0.6.4\"]\n\n[[package]]\nname = \"simba\"\nversion = \"0.5.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8e82063457853d00243beda9952e910b82593e4b07ae9f721b9278a99a0d3d5c\"\ndependencies = [\"approx\", \"num-complex\", \"num-traits\", \"paste\"]\n\n[[package]]\nname = \"slab\"\nversion = \"0.4.7\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef\"\ndependencies = [\"autocfg\"]\n\n[[package]]\nname = \"slice-group-by\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"03b634d87b960ab1a38c4fe143b508576f075e7c978bfad18217645ebfdfa2ec\"\n\n[[package]]\nname = \"smallvec\"\nversion = \"1.10.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0\"\n\n[[package]]\nname = \"snap\"\nversion = \"1.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5e9f0ab6ef7eb7353d9119c170a436d1bf248eea575ac42d19d12f4e34130831\"\n\n[[package]]\nname = \"snow\"\nversion = \"0.9.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"12ba5f4d4ff12bdb6a169ed51b7c48c0e0ac4b0b4b31012b2571e97d78d3201d\"\ndependencies = [\"aes-gcm 0.9.4\", \"blake2\", \"chacha20poly1305\", \"curve25519-dalek 4.0.0-rc.0\", \"rand_core 0.6.4\", \"ring\", \"rustc_version 0.4.0\", \"sha2 0.10.6\", \"subtle\"]\n\n[[package]]\nname = \"socket2\"\nversion = \"0.4.7\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd\"\ndependencies = [\"libc\", \"winapi\"]\n\n[[package]]\nname = \"soketto\"\nversion = \"0.7.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2\"\ndependencies = [\"base64 0.13.1\", \"bytes\", \"flate2\", \"futures\", \"http\", \"httparse\", \"log\", \"rand 0.8.5\", \"sha-1\"]\n\n[[package]]\nname = \"sp-api\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"hash-db\", \"log\", \"parity-scale-codec\", \"sp-api-proc-macro\", \"sp-core\", \"sp-runtime\", \"sp-state-machine\", \"sp-std\", \"sp-trie\", \"sp-version\", \"thiserror\"]\n\n[[package]]\nname = \"sp-api-proc-macro\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"blake2\", \"proc-macro-crate\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"sp-application-crypto\"\nversion = \"24\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"parity-scale-codec\", \"scale-info\", \"serde\", \"sp-core\", \"sp-io\", \"sp-std\"]\n\n[[package]]\nname = \"sp-arithmetic\"\nversion = \"6.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"integer-sqrt\", \"num-traits\", \"parity-scale-codec\", \"scale-info\", \"serde\", \"sp-std\", \"static_assertions\"]\n\n[[package]]\nname = \"sp-authorship\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"parity-scale-codec\", \"sp-inherents\", \"sp-runtime\", \"sp-std\"]\n\n[[package]]\nname = \"sp-block-builder\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"parity-scale-codec\", \"sp-api\", \"sp-inherents\", \"sp-runtime\", \"sp-std\"]\n\n[[package]]\nname = \"sp-blockchain\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"futures\", \"log\", \"lru 0.8.1\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"sp-api\", \"sp-consensus\", \"sp-database\", \"sp-runtime\", \"sp-state-machine\", \"thiserror\"]\n\n[[package]]\nname = \"sp-consensus\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"futures\", \"log\", \"parity-scale-codec\", \"sp-core\", \"sp-inherents\", \"sp-runtime\", \"sp-state-machine\", \"sp-std\", \"sp-version\", \"thiserror\"]\n\n[[package]]\nname = \"sp-consensus-aura\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"parity-scale-codec\", \"scale-info\", \"sp-api\", \"sp-application-crypto\", \"sp-consensus\", \"sp-consensus-slots\", \"sp-inherents\", \"sp-runtime\", \"sp-std\", \"sp-timestamp\"]\n\n[[package]]\nname = \"sp-consensus-slots\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"parity-scale-codec\", \"scale-info\", \"serde\", \"sp-std\", \"sp-timestamp\"]\n\n[[package]]\nname = \"sp-core\"\nversion = \"24\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"array-bytes\", \"base58\", \"bitflags\", \"blake2\", \"dyn-clonable\", \"ed25519-zebra\", \"futures\", \"hash-db\", \"hash256-std-hasher\", \"impl-serde 0.4.0\", \"lazy_static\", \"libsecp256k1\", \"log\", \"merlin\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"primitive-types 0.12.1\", \"rand 0.8.5\", \"regex\", \"scale-info\", \"schnorrkel\", \"secp256k1\", \"secrecy\", \"serde\", \"sp-core-hashing\", \"sp-debug-derive\", \"sp-externalities\", \"sp-runtime-interface\", \"sp-std\", \"sp-storage\", \"ss58-registry\", \"substrate-bip39\", \"thiserror\", \"tiny-bip39\", \"zeroize\"]\n\n[[package]]\nname = \"sp-core-hashing\"\nversion = \"5.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"blake2\", \"byteorder\", \"digest 0.10.6\", \"sha2 0.10.6\", \"sha3\", \"sp-std\", \"twox-hash\"]\n\n[[package]]\nname = \"sp-core-hashing-proc-macro\"\nversion = \"5.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"proc-macro2\", \"quote\", \"sp-core-hashing\", \"syn\"]\n\n[[package]]\nname = \"sp-database\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"kvdb\", \"parking_lot 0.12.1\"]\n\n[[package]]\nname = \"sp-debug-derive\"\nversion = \"5.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"sp-externalities\"\nversion = \"0.13.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"environmental\", \"parity-scale-codec\", \"sp-std\", \"sp-storage\"]\n\n[[package]]\nname = \"sp-consensus-grandpa\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"finality-grandpa\", \"log\", \"parity-scale-codec\", \"scale-info\", \"serde\", \"sp-api\", \"sp-application-crypto\", \"sp-core\", \"sp-keystore\", \"sp-runtime\", \"sp-std\"]\n\n[[package]]\nname = \"sp-inherents\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"impl-trait-for-tuples\", \"parity-scale-codec\", \"sp-core\", \"sp-runtime\", \"sp-std\", \"thiserror\"]\n\n[[package]]\nname = \"sp-io\"\nversion = \"24\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"bytes\", \"ed25519\", \"ed25519-dalek\", \"futures\", \"libsecp256k1\", \"log\", \"parity-scale-codec\", \"secp256k1\", \"sp-core\", \"sp-externalities\", \"sp-keystore\", \"sp-runtime-interface\", \"sp-state-machine\", \"sp-std\", \"sp-tracing\", \"sp-trie\", \"tracing\", \"tracing-core\"]\n\n[[package]]\nname = \"sp-keyring\"\nversion = \"24\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"lazy_static\", \"sp-core\", \"sp-runtime\", \"strum\"]\n\n[[package]]\nname = \"sp-keystore\"\nversion = \"0.13.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"futures\", \"merlin\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"schnorrkel\", \"serde\", \"sp-core\", \"sp-externalities\", \"thiserror\"]\n\n[[package]]\nname = \"sp-maybe-compressed-blob\"\nversion = \"4.1.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"thiserror\", \"zstd\"]\n\n[[package]]\nname = \"sp-offchain\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"sp-api\", \"sp-core\", \"sp-runtime\"]\n\n[[package]]\nname = \"sp-panic-handler\"\nversion = \"5.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"backtrace\", \"lazy_static\", \"regex\"]\n\n[[package]]\nname = \"sp-rpc\"\nversion = \"6.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"rustc-hash\", \"serde\", \"sp-core\"]\n\n[[package]]\nname = \"sp-runtime\"\nversion = \"24\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"either\", \"hash256-std-hasher\", \"impl-trait-for-tuples\", \"log\", \"parity-scale-codec\", \"paste\", \"rand 0.8.5\", \"scale-info\", \"serde\", \"sp-application-crypto\", \"sp-arithmetic\", \"sp-core\", \"sp-io\", \"sp-std\", \"sp-weights\"]\n\n[[package]]\nname = \"sp-runtime-interface\"\nversion = \"24\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"bytes\", \"impl-trait-for-tuples\", \"parity-scale-codec\", \"primitive-types 0.12.1\", \"sp-externalities\", \"sp-runtime-interface-proc-macro\", \"sp-std\", \"sp-storage\", \"sp-tracing\", \"sp-wasm-interface\", \"static_assertions\"]\n\n[[package]]\nname = \"sp-runtime-interface-proc-macro\"\nversion = \"6.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"Inflector\", \"proc-macro-crate\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"sp-session\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"parity-scale-codec\", \"scale-info\", \"sp-api\", \"sp-core\", \"sp-runtime\", \"sp-staking\", \"sp-std\"]\n\n[[package]]\nname = \"sp-staking\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"parity-scale-codec\", \"scale-info\", \"sp-core\", \"sp-runtime\", \"sp-std\"]\n\n[[package]]\nname = \"sp-state-machine\"\nversion = \"0.13.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"hash-db\", \"log\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"rand 0.8.5\", \"smallvec\", \"sp-core\", \"sp-externalities\", \"sp-panic-handler\", \"sp-std\", \"sp-trie\", \"thiserror\", \"tracing\"]\n\n[[package]]\nname = \"sp-std\"\nversion = \"5.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\n\n[[package]]\nname = \"sp-storage\"\nversion = \"24\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"impl-serde 0.4.0\", \"parity-scale-codec\", \"ref-cast\", \"serde\", \"sp-debug-derive\", \"sp-std\"]\n\n[[package]]\nname = \"sp-timestamp\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"futures-timer\", \"log\", \"parity-scale-codec\", \"sp-inherents\", \"sp-runtime\", \"sp-std\", \"thiserror\"]\n\n[[package]]\nname = \"sp-tracing\"\nversion = \"6.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"parity-scale-codec\", \"sp-std\", \"tracing\", \"tracing-core\", \"tracing-subscriber\"]\n\n[[package]]\nname = \"sp-transaction-pool\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"sp-api\", \"sp-runtime\"]\n\n[[package]]\nname = \"sp-transaction-storage-proof\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"log\", \"parity-scale-codec\", \"scale-info\", \"sp-core\", \"sp-inherents\", \"sp-runtime\", \"sp-std\", \"sp-trie\"]\n\n[[package]]\nname = \"sp-trie\"\nversion = \"24\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"ahash\", \"hash-db\", \"hashbrown\", \"lazy_static\", \"lru 0.8.1\", \"memory-db\", \"nohash-hasher\", \"parity-scale-codec\", \"parking_lot 0.12.1\", \"scale-info\", \"sp-core\", \"sp-std\", \"thiserror\", \"tracing\", \"trie-db\", \"trie-root\"]\n\n[[package]]\nname = \"sp-version\"\nversion = \"5.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"impl-serde 0.4.0\", \"parity-scale-codec\", \"parity-wasm\", \"scale-info\", \"serde\", \"sp-core-hashing-proc-macro\", \"sp-runtime\", \"sp-std\", \"sp-version-proc-macro\", \"thiserror\"]\n\n[[package]]\nname = \"sp-version-proc-macro\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"parity-scale-codec\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"sp-wasm-interface\"\nversion = \"24\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"impl-trait-for-tuples\", \"log\", \"parity-scale-codec\", \"sp-std\", \"wasmi\", \"wasmtime\"]\n\n[[package]]\nname = \"sp-weights\"\nversion = \"4.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"parity-scale-codec\", \"scale-info\", \"serde\", \"smallvec\", \"sp-arithmetic\", \"sp-core\", \"sp-debug-derive\", \"sp-std\"]\n\n[[package]]\nname = \"spin\"\nversion = \"0.5.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d\"\n\n[[package]]\nname = \"spki\"\nversion = \"0.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b\"\ndependencies = [\"base64ct\", \"der\"]\n\n[[package]]\nname = \"ss58-registry\"\nversion = \"1.38.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e40c020d72bc0a9c5660bb71e4a6fdef081493583062c474740a7d59f55f0e7b\"\ndependencies = [\"Inflector\", \"num-format\", \"proc-macro2\", \"quote\", \"serde\", \"serde_json\", \"unicode-xid\"]\n\n[[package]]\nname = \"stable_deref_trait\"\nversion = \"1.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3\"\n\n[[package]]\nname = \"static_assertions\"\nversion = \"1.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f\"\n\n[[package]]\nname = \"static_init\"\nversion = \"1.0.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8a2a1c578e98c1c16fc3b8ec1328f7659a500737d7a0c6d625e73e830ff9c1f6\"\ndependencies = [\"bitflags\", \"cfg_aliases\", \"libc\", \"parking_lot 0.11.2\", \"parking_lot_core 0.8.6\", \"static_init_macro\", \"winapi\"]\n\n[[package]]\nname = \"static_init_macro\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"70a2595fc3aa78f2d0e45dd425b22282dd863273761cc77780914b2cf3003acf\"\ndependencies = [\"cfg_aliases\", \"memchr\", \"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"statrs\"\nversion = \"0.15.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"05bdbb8e4e78216a85785a85d3ec3183144f98d0097b9281802c019bb07a6f05\"\ndependencies = [\"approx\", \"lazy_static\", \"nalgebra\", \"num-traits\", \"rand 0.8.5\"]\n\n[[package]]\nname = \"strsim\"\nversion = \"0.10.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623\"\n\n[[package]]\nname = \"strum\"\nversion = \"0.24.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f\"\ndependencies = [\"strum_macros\"]\n\n[[package]]\nname = \"strum_macros\"\nversion = \"0.24.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59\"\ndependencies = [\"heck\", \"proc-macro2\", \"quote\", \"rustversion\", \"syn\"]\n\n[[package]]\nname = \"stun\"\nversion = \"0.4.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a7e94b1ec00bad60e6410e058b52f1c66de3dc5fe4d62d09b3e52bb7d3b73e25\"\ndependencies = [\"base64 0.13.1\", \"crc\", \"lazy_static\", \"md-5\", \"rand 0.8.5\", \"ring\", \"subtle\", \"thiserror\", \"tokio\", \"url\", \"webrtc-util\"]\n\n[[package]]\nname = \"substrate-bip39\"\nversion = \"0.4.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"49eee6965196b32f882dd2ee85a92b1dbead41b04e53907f269de3b0dc04733c\"\ndependencies = [\"hmac 0.11.0\", \"pbkdf2 0.8.0\", \"schnorrkel\", \"sha2 0.9.9\", \"zeroize\"]\n\n[[package]]\nname = \"substrate-build-script-utils\"\nversion = \"3.0.0\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"platforms 2.0.0\"]\n\n[[package]]\nname = \"substrate-fixed\"\nversion = \"0.5.9\"\nsource = \"git+https://github.com/encointer/substrate-fixed.git?tag=v0.5.9#a4fb461aae6205ffc55bed51254a40c52be04e5d\"\ndependencies = [\"parity-scale-codec\", \"scale-info\", \"typenum 1.16.0 (git+https://github.com/encointer/typenum?tag=v1.16.0)\"]\n\n[[package]]\nname = \"substrate-frame-rpc-system\"\nversion = \"4.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"frame-system-rpc-runtime-api\", \"futures\", \"jsonrpsee\", \"log\", \"parity-scale-codec\", \"sc-rpc-api\", \"sc-transaction-pool-api\", \"sp-api\", \"sp-block-builder\", \"sp-blockchain\", \"sp-core\", \"sp-runtime\"]\n\n[[package]]\nname = \"substrate-prometheus-endpoint\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"hyper\", \"log\", \"prometheus\", \"thiserror\", \"tokio\"]\n\n[[package]]\nname = \"substrate-rpc-client\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"async-trait\", \"jsonrpsee\", \"log\", \"sc-rpc-api\", \"serde\", \"sp-runtime\"]\n\n[[package]]\nname = \"substrate-wasm-builder\"\nversion = \"5.0.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"ansi_term\", \"build-helper\", \"cargo_metadata\", \"filetime\", \"sp-maybe-compressed-blob\", \"strum\", \"tempfile\", \"toml\", \"walkdir\", \"wasm-opt\"]\n\n[[package]]\nname = \"substring\"\nversion = \"1.4.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"42ee6433ecef213b2e72f587ef64a2f5943e7cd16fbd82dbe8bc07486c534c86\"\ndependencies = [\"autocfg\"]\n\n[[package]]\nname = \"subtensor-custom-rpc\"\nversion = \"0.0.1\"\ndependencies = [\"jsonrpsee\", \"pallet-subtensor\", \"parity-scale-codec\", \"serde\", \"sp-api\", \"sp-blockchain\", \"sp-rpc\", \"sp-runtime\", \"subtensor-custom-rpc-runtime-api\"]\n\n[[package]]\nname = \"subtensor-custom-rpc-runtime-api\"\nversion = \"0.0.1\"\ndependencies = [\"frame-support\", \"pallet-subtensor\", \"serde\", \"sp-api\"]\n\n[[package]]\nname = \"subtle\"\nversion = \"2.4.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601\"\n\n[[package]]\nname = \"syn\"\nversion = \"1.0.107\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5\"\ndependencies = [\"proc-macro2\", \"quote\", \"unicode-ident\"]\n\n[[package]]\nname = \"synstructure\"\nversion = \"0.12.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\", \"unicode-xid\"]\n\n[[package]]\nname = \"system-configuration\"\nversion = \"0.5.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d75182f12f490e953596550b65ee31bda7c8e043d9386174b353bda50838c3fd\"\ndependencies = [\"bitflags\", \"core-foundation\", \"system-configuration-sys\"]\n\n[[package]]\nname = \"system-configuration-sys\"\nversion = \"0.5.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9\"\ndependencies = [\"core-foundation-sys\", \"libc\"]\n\n[[package]]\nname = \"tap\"\nversion = \"1.0.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369\"\n\n[[package]]\nname = \"target-lexicon\"\nversion = \"0.12.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9410d0f6853b1d94f0e519fb95df60f29d2c1eff2d921ffdf01a4c8a3b54f12d\"\n\n[[package]]\nname = \"tempfile\"\nversion = \"3.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4\"\ndependencies = [\"cfg-if\", \"fastrand\", \"libc\", \"redox_syscall\", \"remove_dir_all\", \"winapi\"]\n\n[[package]]\nname = \"termcolor\"\nversion = \"1.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6\"\ndependencies = [\"winapi-util\"]\n\n[[package]]\nname = \"termtree\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"95059e91184749cb66be6dc994f67f182b6d897cb3df74a5bf66b5e709295fd8\"\n\n[[package]]\nname = \"thiserror\"\nversion = \"1.0.38\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0\"\ndependencies = [\"thiserror-impl\"]\n\n[[package]]\nname = \"thiserror-impl\"\nversion = \"1.0.38\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"thousands\"\nversion = \"0.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3bf63baf9f5039dadc247375c29eb13706706cfde997d0330d05aa63a77d8820\"\n\n[[package]]\nname = \"thread_local\"\nversion = \"1.1.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180\"\ndependencies = [\"once_cell\"]\n\n[[package]]\nname = \"threadpool\"\nversion = \"1.8.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa\"\ndependencies = [\"num_cpus\"]\n\n[[package]]\nname = \"tikv-jemalloc-sys\"\nversion = \"0.5.3+5.3.0-patched\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a678df20055b43e57ef8cddde41cdfda9a3c1a060b67f4c5836dfb1d78543ba8\"\ndependencies = [\"cc\", \"libc\"]\n\n[[package]]\nname = \"time\"\nversion = \"0.1.45\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a\"\ndependencies = [\"libc\", \"wasi 0.10.0+wasi-snapshot-preview1\", \"winapi\"]\n\n[[package]]\nname = \"time\"\nversion = \"0.3.17\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376\"\ndependencies = [\"itoa\", \"serde\", \"time-core\", \"time-macros\"]\n\n[[package]]\nname = \"time-core\"\nversion = \"0.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd\"\n\n[[package]]\nname = \"time-macros\"\nversion = \"0.2.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2\"\ndependencies = [\"time-core\"]\n\n[[package]]\nname = \"tiny-bip39\"\nversion = \"1.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"62cc94d358b5a1e84a5cb9109f559aa3c4d634d2b1b4de3d0fa4adc7c78e2861\"\ndependencies = [\"anyhow\", \"hmac 0.12.1\", \"once_cell\", \"pbkdf2 0.11.0\", \"rand 0.8.5\", \"rustc-hash\", \"sha2 0.10.6\", \"thiserror\", \"unicode-normalization\", \"wasm-bindgen\", \"zeroize\"]\n\n[[package]]\nname = \"tiny-keccak\"\nversion = \"2.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237\"\ndependencies = [\"crunchy\"]\n\n[[package]]\nname = \"tinytemplate\"\nversion = \"1.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc\"\ndependencies = [\"serde\", \"serde_json\"]\n\n[[package]]\nname = \"tinyvec\"\nversion = \"1.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50\"\ndependencies = [\"tinyvec_macros\"]\n\n[[package]]\nname = \"tinyvec_macros\"\nversion = \"0.1.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20\"\n\n[[package]]\nname = \"tokio\"\nversion = \"1.25.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af\"\ndependencies = [\"autocfg\", \"bytes\", \"libc\", \"memchr\", \"mio\", \"num_cpus\", \"parking_lot 0.12.1\", \"pin-project-lite 0.2.9\", \"signal-hook-registry\", \"socket2\", \"tokio-macros\", \"windows-sys 0.42.0\"]\n\n[[package]]\nname = \"tokio-macros\"\nversion = \"1.8.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"tokio-rustls\"\nversion = \"0.23.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59\"\ndependencies = [\"rustls 0.20.8\", \"tokio\", \"webpki 0.22.0\"]\n\n[[package]]\nname = \"tokio-stream\"\nversion = \"0.1.11\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d660770404473ccd7bc9f8b28494a811bc18542b915c0855c51e8f419d5223ce\"\ndependencies = [\"futures-core\", \"pin-project-lite 0.2.9\", \"tokio\", \"tokio-util\"]\n\n[[package]]\nname = \"tokio-util\"\nversion = \"0.7.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740\"\ndependencies = [\"bytes\", \"futures-core\", \"futures-io\", \"futures-sink\", \"pin-project-lite 0.2.9\", \"tokio\", \"tracing\"]\n\n[[package]]\nname = \"toml\"\nversion = \"0.5.11\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234\"\ndependencies = [\"serde\"]\n\n[[package]]\nname = \"tower\"\nversion = \"0.4.13\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c\"\ndependencies = [\"tower-layer\", \"tower-service\", \"tracing\"]\n\n[[package]]\nname = \"tower-http\"\nversion = \"0.3.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858\"\ndependencies = [\"bitflags\", \"bytes\", \"futures-core\", \"futures-util\", \"http\", \"http-body\", \"http-range-header\", \"pin-project-lite 0.2.9\", \"tower-layer\", \"tower-service\"]\n\n[[package]]\nname = \"tower-layer\"\nversion = \"0.3.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0\"\n\n[[package]]\nname = \"tower-service\"\nversion = \"0.3.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52\"\n\n[[package]]\nname = \"tracing\"\nversion = \"0.1.37\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8\"\ndependencies = [\"cfg-if\", \"log\", \"pin-project-lite 0.2.9\", \"tracing-attributes\", \"tracing-core\"]\n\n[[package]]\nname = \"tracing-attributes\"\nversion = \"0.1.23\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\"]\n\n[[package]]\nname = \"tracing-core\"\nversion = \"0.1.30\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a\"\ndependencies = [\"once_cell\", \"valuable\"]\n\n[[package]]\nname = \"tracing-futures\"\nversion = \"0.2.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2\"\ndependencies = [\"pin-project\", \"tracing\"]\n\n[[package]]\nname = \"tracing-log\"\nversion = \"0.1.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922\"\ndependencies = [\"lazy_static\", \"log\", \"tracing-core\"]\n\n[[package]]\nname = \"tracing-serde\"\nversion = \"0.1.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1\"\ndependencies = [\"serde\", \"tracing-core\"]\n\n[[package]]\nname = \"tracing-subscriber\"\nversion = \"0.2.25\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0e0d2eaa99c3c2e41547cfa109e910a68ea03823cccad4a0525dcbc9b01e8c71\"\ndependencies = [\"ansi_term\", \"chrono\", \"lazy_static\", \"matchers\", \"parking_lot 0.11.2\", \"regex\", \"serde\", \"serde_json\", \"sharded-slab\", \"smallvec\", \"thread_local\", \"tracing\", \"tracing-core\", \"tracing-log\", \"tracing-serde\"]\n\n[[package]]\nname = \"trie-db\"\nversion = \"0.24.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908\"\ndependencies = [\"hash-db\", \"hashbrown\", \"log\", \"rustc-hex\", \"smallvec\"]\n\n[[package]]\nname = \"trie-root\"\nversion = \"0.17.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9a36c5ca3911ed3c9a5416ee6c679042064b93fc637ded67e25f92e68d783891\"\ndependencies = [\"hash-db\"]\n\n[[package]]\nname = \"trust-dns-proto\"\nversion = \"0.22.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4f7f83d1e4a0e4358ac54c5c3681e5d7da5efc5a7a632c90bb6d6669ddd9bc26\"\ndependencies = [\"async-trait\", \"cfg-if\", \"data-encoding\", \"enum-as-inner\", \"futures-channel\", \"futures-io\", \"futures-util\", \"idna 0.2.3\", \"ipnet\", \"lazy_static\", \"rand 0.8.5\", \"smallvec\", \"socket2\", \"thiserror\", \"tinyvec\", \"tokio\", \"tracing\", \"url\"]\n\n[[package]]\nname = \"trust-dns-resolver\"\nversion = \"0.22.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"aff21aa4dcefb0a1afbfac26deb0adc93888c7d295fb63ab273ef276ba2b7cfe\"\ndependencies = [\"cfg-if\", \"futures-util\", \"ipconfig\", \"lazy_static\", \"lru-cache\", \"parking_lot 0.12.1\", \"resolv-conf\", \"smallvec\", \"thiserror\", \"tokio\", \"tracing\", \"trust-dns-proto\"]\n\n[[package]]\nname = \"try-lock\"\nversion = \"0.2.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed\"\n\n[[package]]\nname = \"try-runtime-cli\"\nversion = \"0.10.0-dev\"\nsource = \"git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#946507ba9ef13e263534176b7b74e26fc56efbd4\"\ndependencies = [\"clap\", \"frame-remote-externalities\", \"frame-try-runtime\", \"hex\", \"log\", \"parity-scale-codec\", \"sc-cli\", \"sc-executor\", \"sc-service\", \"serde\", \"serde_json\", \"sp-api\", \"sp-core\", \"sp-debug-derive\", \"sp-externalities\", \"sp-io\", \"sp-keystore\", \"sp-rpc\", \"sp-runtime\", \"sp-state-machine\", \"sp-version\", \"sp-weights\", \"substrate-rpc-client\", \"zstd\"]\n\n[[package]]\nname = \"tt-call\"\nversion = \"1.0.9\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f4f195fd851901624eee5a58c4bb2b4f06399148fcd0ed336e6f1cb60a9881df\"\n\n[[package]]\nname = \"turn\"\nversion = \"0.6.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4712ee30d123ec7ae26d1e1b218395a16c87cdbaf4b3925d170d684af62ea5e8\"\ndependencies = [\"async-trait\", \"base64 0.13.1\", \"futures\", \"log\", \"md-5\", \"rand 0.8.5\", \"ring\", \"stun\", \"thiserror\", \"tokio\", \"webrtc-util\"]\n\n[[package]]\nname = \"twox-hash\"\nversion = \"1.6.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675\"\ndependencies = [\"cfg-if\", \"digest 0.10.6\", \"rand 0.8.5\", \"static_assertions\"]\n\n[[package]]\nname = \"typenum\"\nversion = \"1.16.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba\"\n\n[[package]]\nname = \"typenum\"\nversion = \"1.16.0\"\nsource = \"git+https://github.com/encointer/typenum?tag=v1.16.0#4c8dddaa8bdd13130149e43b4085ad14e960617f\"\ndependencies = [\"parity-scale-codec\", \"scale-info\"]\n\n[[package]]\nname = \"ucd-trie\"\nversion = \"0.1.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81\"\n\n[[package]]\nname = \"uint\"\nversion = \"0.9.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52\"\ndependencies = [\"byteorder\", \"crunchy\", \"hex\", \"static_assertions\"]\n\n[[package]]\nname = \"unicode-bidi\"\nversion = \"0.3.10\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58\"\n\n[[package]]\nname = \"unicode-ident\"\nversion = \"1.0.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc\"\n\n[[package]]\nname = \"unicode-normalization\"\nversion = \"0.1.22\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921\"\ndependencies = [\"tinyvec\"]\n\n[[package]]\nname = \"unicode-width\"\nversion = \"0.1.10\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b\"\n\n[[package]]\nname = \"unicode-xid\"\nversion = \"0.2.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c\"\n\n[[package]]\nname = \"universal-hash\"\nversion = \"0.4.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05\"\ndependencies = [\"generic-array 0.14.6\", \"subtle\"]\n\n[[package]]\nname = \"unsigned-varint\"\nversion = \"0.7.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d86a8dc7f45e4c1b0d30e43038c38f274e77af056aa5f74b93c2cf9eb3c1c836\"\ndependencies = [\"asynchronous-codec\", \"bytes\", \"futures-io\", \"futures-util\"]\n\n[[package]]\nname = \"untrusted\"\nversion = \"0.7.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a\"\n\n[[package]]\nname = \"url\"\nversion = \"2.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643\"\ndependencies = [\"form_urlencoded\", \"idna 0.3.0\", \"percent-encoding\"]\n\n[[package]]\nname = \"uuid\"\nversion = \"1.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1674845326ee10d37ca60470760d4288a6f80f304007d92e5c53bab78c9cfd79\"\ndependencies = [\"getrandom 0.2.8\"]\n\n[[package]]\nname = \"valuable\"\nversion = \"0.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d\"\n\n[[package]]\nname = \"vcpkg\"\nversion = \"0.2.15\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426\"\n\n[[package]]\nname = \"version_check\"\nversion = \"0.9.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f\"\n\n[[package]]\nname = \"void\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d\"\n\n[[package]]\nname = \"waitgroup\"\nversion = \"0.1.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d1f50000a783467e6c0200f9d10642f4bc424e39efc1b770203e88b488f79292\"\ndependencies = [\"atomic-waker\"]\n\n[[package]]\nname = \"waker-fn\"\nversion = \"1.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca\"\n\n[[package]]\nname = \"walkdir\"\nversion = \"2.3.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56\"\ndependencies = [\"same-file\", \"winapi\", \"winapi-util\"]\n\n[[package]]\nname = \"want\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0\"\ndependencies = [\"log\", \"try-lock\"]\n\n[[package]]\nname = \"wasi\"\nversion = \"0.9.0+wasi-snapshot-preview1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519\"\n\n[[package]]\nname = \"wasi\"\nversion = \"0.10.0+wasi-snapshot-preview1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f\"\n\n[[package]]\nname = \"wasi\"\nversion = \"0.11.0+wasi-snapshot-preview1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423\"\n\n[[package]]\nname = \"wasm-bindgen\"\nversion = \"0.2.84\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b\"\ndependencies = [\"cfg-if\", \"wasm-bindgen-macro\"]\n\n[[package]]\nname = \"wasm-bindgen-backend\"\nversion = \"0.2.84\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9\"\ndependencies = [\"bumpalo\", \"log\", \"once_cell\", \"proc-macro2\", \"quote\", \"syn\", \"wasm-bindgen-shared\"]\n\n[[package]]\nname = \"wasm-bindgen-futures\"\nversion = \"0.4.34\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454\"\ndependencies = [\"cfg-if\", \"js-sys\", \"wasm-bindgen\", \"web-sys\"]\n\n[[package]]\nname = \"wasm-bindgen-macro\"\nversion = \"0.2.84\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5\"\ndependencies = [\"quote\", \"wasm-bindgen-macro-support\"]\n\n[[package]]\nname = \"wasm-bindgen-macro-support\"\nversion = \"0.2.84\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\", \"wasm-bindgen-backend\", \"wasm-bindgen-shared\"]\n\n[[package]]\nname = \"wasm-bindgen-shared\"\nversion = \"0.2.84\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d\"\n\n[[package]]\nname = \"wasm-instrument\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"aa1dafb3e60065305741e83db35c6c2584bb3725b692b5b66148a38d72ace6cd\"\ndependencies = [\"parity-wasm\"]\n\n[[package]]\nname = \"wasm-opt\"\nversion = \"0.110.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b68e8037b4daf711393f4be2056246d12d975651b14d581520ad5d1f19219cec\"\ndependencies = [\"anyhow\", \"libc\", \"strum\", \"strum_macros\", \"tempfile\", \"thiserror\", \"wasm-opt-cxx-sys\", \"wasm-opt-sys\"]\n\n[[package]]\nname = \"wasm-opt-cxx-sys\"\nversion = \"0.110.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"91adbad477e97bba3fbd21dd7bfb594e7ad5ceb9169ab1c93ab9cb0ada636b6f\"\ndependencies = [\"anyhow\", \"cxx\", \"cxx-build\", \"wasm-opt-sys\"]\n\n[[package]]\nname = \"wasm-opt-sys\"\nversion = \"0.110.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ec4fa5a322a4e6ac22fd141f498d56afbdbf9df5debeac32380d2dcaa3e06941\"\ndependencies = [\"anyhow\", \"cc\", \"cxx\", \"cxx-build\", \"regex\"]\n\n[[package]]\nname = \"wasm-timer\"\nversion = \"0.2.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f\"\ndependencies = [\"futures\", \"js-sys\", \"parking_lot 0.11.2\", \"pin-utils\", \"wasm-bindgen\", \"wasm-bindgen-futures\", \"web-sys\"]\n\n[[package]]\nname = \"wasmi\"\nversion = \"0.13.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422\"\ndependencies = [\"parity-wasm\", \"wasmi-validation\", \"wasmi_core\"]\n\n[[package]]\nname = \"wasmi-validation\"\nversion = \"0.5.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"91ff416ad1ff0c42e5a926ed5d5fab74c0f098749aa0ad8b2a34b982ce0e867b\"\ndependencies = [\"parity-wasm\"]\n\n[[package]]\nname = \"wasmi_core\"\nversion = \"0.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"57d20cb3c59b788653d99541c646c561c9dd26506f25c0cebfe810659c54c6d7\"\ndependencies = [\"downcast-rs\", \"libm 0.2.6\", \"memory_units\", \"num-rational\", \"num-traits\"]\n\n[[package]]\nname = \"wasmparser\"\nversion = \"0.89.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ab5d3e08b13876f96dd55608d03cd4883a0545884932d5adf11925876c96daef\"\ndependencies = [\"indexmap\"]\n\n[[package]]\nname = \"wasmtime\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4ad5af6ba38311282f2a21670d96e78266e8c8e2f38cbcd52c254df6ccbc7731\"\ndependencies = [\"anyhow\", \"bincode\", \"cfg-if\", \"indexmap\", \"libc\", \"log\", \"object 0.29.0\", \"once_cell\", \"paste\", \"psm\", \"rayon\", \"serde\", \"target-lexicon\", \"wasmparser\", \"wasmtime-cache\", \"wasmtime-cranelift\", \"wasmtime-environ\", \"wasmtime-jit\", \"wasmtime-runtime\", \"windows-sys 0.36.1\"]\n\n[[package]]\nname = \"wasmtime-asm-macros\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"45de63ddfc8b9223d1adc8f7b2ee5f35d1f6d112833934ad7ea66e4f4339e597\"\ndependencies = [\"cfg-if\"]\n\n[[package]]\nname = \"wasmtime-cache\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bcd849399d17d2270141cfe47fa0d91ee52d5f8ea9b98cf7ddde0d53e5f79882\"\ndependencies = [\"anyhow\", \"base64 0.13.1\", \"bincode\", \"directories-next\", \"file-per-thread-logger\", \"log\", \"rustix 0.35.13\", \"serde\", \"sha2 0.9.9\", \"toml\", \"windows-sys 0.36.1\", \"zstd\"]\n\n[[package]]\nname = \"wasmtime-cranelift\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4bd91339b742ff20bfed4532a27b73c86b5bcbfedd6bea2dcdf2d64471e1b5c6\"\ndependencies = [\"anyhow\", \"cranelift-codegen\", \"cranelift-entity\", \"cranelift-frontend\", \"cranelift-native\", \"cranelift-wasm\", \"gimli 0.26.2\", \"log\", \"object 0.29.0\", \"target-lexicon\", \"thiserror\", \"wasmparser\", \"wasmtime-environ\"]\n\n[[package]]\nname = \"wasmtime-environ\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ebb881c61f4f627b5d45c54e629724974f8a8890d455bcbe634330cc27309644\"\ndependencies = [\"anyhow\", \"cranelift-entity\", \"gimli 0.26.2\", \"indexmap\", \"log\", \"object 0.29.0\", \"serde\", \"target-lexicon\", \"thiserror\", \"wasmparser\", \"wasmtime-types\"]\n\n[[package]]\nname = \"wasmtime-jit\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1985c628011fe26adf5e23a5301bdc79b245e0e338f14bb58b39e4e25e4d8681\"\ndependencies = [\"addr2line 0.17.0\", \"anyhow\", \"bincode\", \"cfg-if\", \"cpp_demangle\", \"gimli 0.26.2\", \"log\", \"object 0.29.0\", \"rustc-demangle\", \"rustix 0.35.13\", \"serde\", \"target-lexicon\", \"thiserror\", \"wasmtime-environ\", \"wasmtime-jit-debug\", \"wasmtime-runtime\", \"windows-sys 0.36.1\"]\n\n[[package]]\nname = \"wasmtime-jit-debug\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f671b588486f5ccec8c5a3dba6b4c07eac2e66ab8c60e6f4e53717c77f709731\"\ndependencies = [\"object 0.29.0\", \"once_cell\", \"rustix 0.35.13\"]\n\n[[package]]\nname = \"wasmtime-runtime\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ee8f92ad4b61736339c29361da85769ebc200f184361959d1792832e592a1afd\"\ndependencies = [\"anyhow\", \"cc\", \"cfg-if\", \"indexmap\", \"libc\", \"log\", \"mach\", \"memfd\", \"memoffset 0.6.5\", \"paste\", \"rand 0.8.5\", \"rustix 0.35.13\", \"thiserror\", \"wasmtime-asm-macros\", \"wasmtime-environ\", \"wasmtime-jit-debug\", \"windows-sys 0.36.1\"]\n\n[[package]]\nname = \"wasmtime-types\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d23d61cb4c46e837b431196dd06abb11731541021916d03476a178b54dc07aeb\"\ndependencies = [\"cranelift-entity\", \"serde\", \"thiserror\", \"wasmparser\"]\n\n[[package]]\nname = \"web-sys\"\nversion = \"0.3.61\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97\"\ndependencies = [\"js-sys\", \"wasm-bindgen\"]\n\n[[package]]\nname = \"webpki\"\nversion = \"0.21.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea\"\ndependencies = [\"ring\", \"untrusted\"]\n\n[[package]]\nname = \"webpki\"\nversion = \"0.22.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd\"\ndependencies = [\"ring\", \"untrusted\"]\n\n[[package]]\nname = \"webpki-roots\"\nversion = \"0.22.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87\"\ndependencies = [\"webpki 0.22.0\"]\n\n[[package]]\nname = \"webrtc\"\nversion = \"0.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2d3bc9049bdb2cea52f5fd4f6f728184225bdb867ed0dc2410eab6df5bdd67bb\"\ndependencies = [\"arc-swap\", \"async-trait\", \"bytes\", \"hex\", \"interceptor\", \"lazy_static\", \"log\", \"rand 0.8.5\", \"rcgen 0.9.3\", \"regex\", \"ring\", \"rtcp\", \"rtp\", \"rustls 0.19.1\", \"sdp\", \"serde\", \"serde_json\", \"sha2 0.10.6\", \"stun\", \"thiserror\", \"time 0.3.17\", \"tokio\", \"turn\", \"url\", \"waitgroup\", \"webrtc-data\", \"webrtc-dtls\", \"webrtc-ice\", \"webrtc-mdns\", \"webrtc-media\", \"webrtc-sctp\", \"webrtc-srtp\", \"webrtc-util\"]\n\n[[package]]\nname = \"webrtc-data\"\nversion = \"0.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0ef36a4d12baa6e842582fe9ec16a57184ba35e1a09308307b67d43ec8883100\"\ndependencies = [\"bytes\", \"derive_builder\", \"log\", \"thiserror\", \"tokio\", \"webrtc-sctp\", \"webrtc-util\"]\n\n[[package]]\nname = \"webrtc-dtls\"\nversion = \"0.7.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7021987ae0a2ed6c8cd33f68e98e49bb6e74ffe9543310267b48a1bbe3900e5f\"\ndependencies = [\"aes 0.6.0\", \"aes-gcm 0.8.0\", \"async-trait\", \"bincode\", \"block-modes\", \"byteorder\", \"ccm\", \"curve25519-dalek 3.2.0\", \"der-parser 8.1.0\", \"elliptic-curve\", \"hkdf\", \"hmac 0.10.1\", \"log\", \"oid-registry 0.6.1\", \"p256\", \"p384\", \"rand 0.8.5\", \"rand_core 0.6.4\", \"rcgen 0.9.3\", \"ring\", \"rustls 0.19.1\", \"sec1\", \"serde\", \"sha-1\", \"sha2 0.9.9\", \"signature\", \"subtle\", \"thiserror\", \"tokio\", \"webpki 0.21.4\", \"webrtc-util\", \"x25519-dalek 2.0.0-pre.1\", \"x509-parser 0.13.2\"]\n\n[[package]]\nname = \"webrtc-ice\"\nversion = \"0.9.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"494483fbb2f5492620871fdc78b084aed8807377f6e3fe88b2e49f0a9c9c41d7\"\ndependencies = [\"arc-swap\", \"async-trait\", \"crc\", \"log\", \"rand 0.8.5\", \"serde\", \"serde_json\", \"stun\", \"thiserror\", \"tokio\", \"turn\", \"url\", \"uuid\", \"waitgroup\", \"webrtc-mdns\", \"webrtc-util\"]\n\n[[package]]\nname = \"webrtc-mdns\"\nversion = \"0.5.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f08dfd7a6e3987e255c4dbe710dde5d94d0f0574f8a21afa95d171376c143106\"\ndependencies = [\"log\", \"socket2\", \"thiserror\", \"tokio\", \"webrtc-util\"]\n\n[[package]]\nname = \"webrtc-media\"\nversion = \"0.5.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ee2a3c157a040324e5049bcbd644ffc9079e6738fa2cfab2bcff64e5cc4c00d7\"\ndependencies = [\"byteorder\", \"bytes\", \"derive_builder\", \"displaydoc\", \"rand 0.8.5\", \"rtp\", \"thiserror\", \"webrtc-util\"]\n\n[[package]]\nname = \"webrtc-sctp\"\nversion = \"0.7.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0d47adcd9427eb3ede33d5a7f3424038f63c965491beafcc20bc650a2f6679c0\"\ndependencies = [\"arc-swap\", \"async-trait\", \"bytes\", \"crc\", \"log\", \"rand 0.8.5\", \"thiserror\", \"tokio\", \"webrtc-util\"]\n\n[[package]]\nname = \"webrtc-srtp\"\nversion = \"0.9.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6183edc4c1c6c0175f8812eefdce84dfa0aea9c3ece71c2bf6ddd3c964de3da5\"\ndependencies = [\"aead 0.4.3\", \"aes 0.7.5\", \"aes-gcm 0.9.4\", \"async-trait\", \"byteorder\", \"bytes\", \"ctr 0.8.0\", \"hmac 0.11.0\", \"log\", \"rtcp\", \"rtp\", \"sha-1\", \"subtle\", \"thiserror\", \"tokio\", \"webrtc-util\"]\n\n[[package]]\nname = \"webrtc-util\"\nversion = \"0.7.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"93f1db1727772c05cf7a2cfece52c3aca8045ca1e176cd517d323489aa3c6d87\"\ndependencies = [\"async-trait\", \"bitflags\", \"bytes\", \"cc\", \"ipnet\", \"lazy_static\", \"libc\", \"log\", \"nix\", \"rand 0.8.5\", \"thiserror\", \"tokio\", \"winapi\"]\n\n[[package]]\nname = \"wepoll-ffi\"\nversion = \"0.1.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d743fdedc5c64377b5fc2bc036b01c7fd642205a0d96356034ae3404d49eb7fb\"\ndependencies = [\"cc\"]\n\n[[package]]\nname = \"which\"\nversion = \"4.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269\"\ndependencies = [\"either\", \"libc\", \"once_cell\"]\n\n[[package]]\nname = \"widestring\"\nversion = \"0.5.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"17882f045410753661207383517a6f62ec3dbeb6a4ed2acce01f0728238d1983\"\n\n[[package]]\nname = \"winapi\"\nversion = \"0.3.9\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419\"\ndependencies = [\"winapi-i686-pc-windows-gnu\", \"winapi-x86_64-pc-windows-gnu\"]\n\n[[package]]\nname = \"winapi-i686-pc-windows-gnu\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6\"\n\n[[package]]\nname = \"winapi-util\"\nversion = \"0.1.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178\"\ndependencies = [\"winapi\"]\n\n[[package]]\nname = \"winapi-x86_64-pc-windows-gnu\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f\"\n\n[[package]]\nname = \"windows\"\nversion = \"0.34.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"45296b64204227616fdbf2614cefa4c236b98ee64dfaaaa435207ed99fe7829f\"\ndependencies = [\"windows_aarch64_msvc 0.34.0\", \"windows_i686_gnu 0.34.0\", \"windows_i686_msvc 0.34.0\", \"windows_x86_64_gnu 0.34.0\", \"windows_x86_64_msvc 0.34.0\"]\n\n[[package]]\nname = \"windows-sys\"\nversion = \"0.36.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2\"\ndependencies = [\"windows_aarch64_msvc 0.36.1\", \"windows_i686_gnu 0.36.1\", \"windows_i686_msvc 0.36.1\", \"windows_x86_64_gnu 0.36.1\", \"windows_x86_64_msvc 0.36.1\"]\n\n[[package]]\nname = \"windows-sys\"\nversion = \"0.42.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7\"\ndependencies = [\"windows_aarch64_gnullvm\", \"windows_aarch64_msvc 0.42.1\", \"windows_i686_gnu 0.42.1\", \"windows_i686_msvc 0.42.1\", \"windows_x86_64_gnu 0.42.1\", \"windows_x86_64_gnullvm\", \"windows_x86_64_msvc 0.42.1\"]\n\n[[package]]\nname = \"windows-sys\"\nversion = \"0.45.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0\"\ndependencies = [\"windows-targets\"]\n\n[[package]]\nname = \"windows-targets\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7\"\ndependencies = [\"windows_aarch64_gnullvm\", \"windows_aarch64_msvc 0.42.1\", \"windows_i686_gnu 0.42.1\", \"windows_i686_msvc 0.42.1\", \"windows_x86_64_gnu 0.42.1\", \"windows_x86_64_gnullvm\", \"windows_x86_64_msvc 0.42.1\"]\n\n[[package]]\nname = \"windows_aarch64_gnullvm\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608\"\n\n[[package]]\nname = \"windows_aarch64_msvc\"\nversion = \"0.34.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"17cffbe740121affb56fad0fc0e421804adf0ae00891205213b5cecd30db881d\"\n\n[[package]]\nname = \"windows_aarch64_msvc\"\nversion = \"0.36.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47\"\n\n[[package]]\nname = \"windows_aarch64_msvc\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7\"\n\n[[package]]\nname = \"windows_i686_gnu\"\nversion = \"0.34.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2564fde759adb79129d9b4f54be42b32c89970c18ebf93124ca8870a498688ed\"\n\n[[package]]\nname = \"windows_i686_gnu\"\nversion = \"0.36.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6\"\n\n[[package]]\nname = \"windows_i686_gnu\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640\"\n\n[[package]]\nname = \"windows_i686_msvc\"\nversion = \"0.34.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9cd9d32ba70453522332c14d38814bceeb747d80b3958676007acadd7e166956\"\n\n[[package]]\nname = \"windows_i686_msvc\"\nversion = \"0.36.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024\"\n\n[[package]]\nname = \"windows_i686_msvc\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605\"\n\n[[package]]\nname = \"windows_x86_64_gnu\"\nversion = \"0.34.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cfce6deae227ee8d356d19effc141a509cc503dfd1f850622ec4b0f84428e1f4\"\n\n[[package]]\nname = \"windows_x86_64_gnu\"\nversion = \"0.36.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1\"\n\n[[package]]\nname = \"windows_x86_64_gnu\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45\"\n\n[[package]]\nname = \"windows_x86_64_gnullvm\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463\"\n\n[[package]]\nname = \"windows_x86_64_msvc\"\nversion = \"0.34.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d19538ccc21819d01deaf88d6a17eae6596a12e9aafdbb97916fb49896d89de9\"\n\n[[package]]\nname = \"windows_x86_64_msvc\"\nversion = \"0.36.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680\"\n\n[[package]]\nname = \"windows_x86_64_msvc\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd\"\n\n[[package]]\nname = \"winreg\"\nversion = \"0.10.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d\"\ndependencies = [\"winapi\"]\n\n[[package]]\nname = \"wyz\"\nversion = \"0.5.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed\"\ndependencies = [\"tap\"]\n\n[[package]]\nname = \"x25519-dalek\"\nversion = \"1.1.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5a0c105152107e3b96f6a00a65e86ce82d9b125230e1c4302940eca58ff71f4f\"\ndependencies = [\"curve25519-dalek 3.2.0\", \"rand_core 0.5.1\", \"zeroize\"]\n\n[[package]]\nname = \"x25519-dalek\"\nversion = \"2.0.0-pre.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e5da623d8af10a62342bcbbb230e33e58a63255a58012f8653c578e54bab48df\"\ndependencies = [\"curve25519-dalek 3.2.0\", \"rand_core 0.6.4\", \"zeroize\"]\n\n[[package]]\nname = \"x509-parser\"\nversion = \"0.13.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9fb9bace5b5589ffead1afb76e43e34cff39cd0f3ce7e170ae0c29e53b88eb1c\"\ndependencies = [\"asn1-rs 0.3.1\", \"base64 0.13.1\", \"data-encoding\", \"der-parser 24\", \"lazy_static\", \"nom\", \"oid-registry 0.4.0\", \"ring\", \"rusticata-macros\", \"thiserror\", \"time 0.3.17\"]\n\n[[package]]\nname = \"x509-parser\"\nversion = \"0.14.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e0ecbeb7b67ce215e40e3cc7f2ff902f94a223acf44995934763467e7b1febc8\"\ndependencies = [\"asn1-rs 0.5.1\", \"base64 0.13.1\", \"data-encoding\", \"der-parser 8.1.0\", \"lazy_static\", \"nom\", \"oid-registry 0.6.1\", \"rusticata-macros\", \"thiserror\", \"time 0.3.17\"]\n\n[[package]]\nname = \"yamux\"\nversion = \"0.10.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e5d9ba232399af1783a58d8eb26f6b5006fbefe2dc9ef36bd283324792d03ea5\"\ndependencies = [\"futures\", \"log\", \"nohash-hasher\", \"parking_lot 0.12.1\", \"rand 0.8.5\", \"static_assertions\"]\n\n[[package]]\nname = \"yasna\"\nversion = \"0.5.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"aed2e7a52e3744ab4d0c05c20aa065258e84c49fd4226f5191b2ed29712710b4\"\ndependencies = [\"time 0.3.17\"]\n\n[[package]]\nname = \"zeroize\"\nversion = \"1.5.7\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f\"\ndependencies = [\"zeroize_derive\"]\n\n[[package]]\nname = \"zeroize_derive\"\nversion = \"1.3.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"44bf07cb3e50ea2003396695d58bf46bc9887a1f362260446fad6bc4e79bd36c\"\ndependencies = [\"proc-macro2\", \"quote\", \"syn\", \"synstructure\"]\n\n[[package]]\nname = \"zstd\"\nversion = \"0.11.2+zstd.1.5.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4\"\ndependencies = [\"zstd-safe\"]\n\n[[package]]\nname = \"zstd-safe\"\nversion = \"5.0.2+zstd.1.5.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db\"\ndependencies = [\"libc\", \"zstd-sys\"]\n\n[[package]]\nname = \"zstd-sys\"\nversion = \"2.0.6+zstd.1.5.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"68a3f9792c0c3dc6c165840a75f47ae1f4da402c2d006881129579f6597e801b\"\ndependencies = [\"cc\", \"libc\", \"pkg-config\"]\n" + } +} \ No newline at end of file diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index 919e64fb2..cad2e98d9 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -25,52 +25,52 @@ scale-info = { version = "2.1.1", default-features = false, features = [ serde_json = { version = "1.0.85", default-features = false, features = [ "alloc", ] } -pallet-aura = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -pallet-balances = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -frame-support = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -pallet-grandpa = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -pallet-insecure-randomness-collective-flip = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -frame-system = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -frame-try-runtime = { version = "0.10.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", optional = true, branch = "polkadot-v0.9.39" } -pallet-timestamp = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -pallet-transaction-payment = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -pallet-utility = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -frame-executive = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-api = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-block-builder = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-consensus-aura = { version = "0.10.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-core = { version = "7.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-inherents = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-offchain = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-runtime = { version = "7.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-session = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-std = { version = "5.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-transaction-pool = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -sp-version = { version = "5.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } +pallet-aura = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-balances = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +frame-support = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-grandpa = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-insecure-randomness-collective-flip = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +frame-system = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +frame-try-runtime = { version = "0.10.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", optional = true, branch = "polkadot-v1.0.0" } +pallet-timestamp = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-transaction-payment = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-utility = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +frame-executive = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-api = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-block-builder = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-consensus-aura = { version = "0.10.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-core = { version = "21", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-inherents = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-offchain = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-runtime = { version = "24", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-session = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-std = { version = "8", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-transaction-pool = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-version = { version = "22", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } # Temporary sudo -pallet-sudo = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } +pallet-sudo = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } pallet-admin-utils = { version = "4.0.0-dev", default-features = false, path = "../pallets/admin-utils" } # Used for sudo decentralization pallet-collective = { version = "4.0.0-dev", default-features = false, path = "../pallets/collective" } -pallet-membership = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } +pallet-membership = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } # Multisig -pallet-multisig = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } +pallet-multisig = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } # Scheduler pallet -pallet-scheduler = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -pallet-preimage = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } +pallet-scheduler = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-preimage = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } # Used for the node subtensor's RPCs -frame-system-rpc-runtime-api = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } -pallet-transaction-payment-rpc-runtime-api = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" } +frame-system-rpc-runtime-api = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-transaction-payment-rpc-runtime-api = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } # Used for runtime benchmarking -frame-benchmarking = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", optional = true, branch = "polkadot-v0.9.39" } -frame-system-benchmarking = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", optional = true, branch = "polkadot-v0.9.39" } +frame-benchmarking = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", optional = true, branch = "polkadot-v1.0.0" } +frame-system-benchmarking = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", optional = true, branch = "polkadot-v1.0.0" } # Identity registry pallet for registering project info pallet-registry = { version = "4.0.0-dev", default-features = false, path = "../pallets/registry" } @@ -79,7 +79,7 @@ pallet-registry = { version = "4.0.0-dev", default-features = false, path = "../ pallet-commitments = { version = "4.0.0-dev", default-features = false, path = "../pallets/commitments" } [build-dependencies] -substrate-wasm-builder = { version = "5.0.0-dev", git = "https://github.com/paritytech/substrate.git", optional = true, branch = "polkadot-v0.9.39" } +substrate-wasm-builder = { version = "5.0.0-dev", git = "https://github.com/paritytech/substrate.git", optional = true, branch = "polkadot-v1.0.0" } [features] default = ["std"] diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 9b8fe1591..c2332c1b2 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -40,8 +40,8 @@ use sp_version::RuntimeVersion; pub use frame_support::{ construct_runtime, parameter_types, traits::{ - ConstU128, ConstU32, ConstU64, ConstU8, KeyOwnerProofSystem, PrivilegeCmp, Randomness, - StorageInfo, + ConstBool, ConstU128, ConstU32, ConstU64, ConstU8, KeyOwnerProofSystem, PrivilegeCmp, + Randomness, StorageInfo, }, weights::{ constants::{ @@ -85,6 +85,8 @@ pub type Hash = sp_core::H256; // Member type for membership type MemberCount = u32; +pub type Nonce = u32; + // Opaque types. These are used by the CLI to instantiate machinery that don't need to know // the specifics of the runtime. They can then be made to be agnostic over specific formats // of data like extrinsics, allowing for them to continue syncing the network through upgrades @@ -121,7 +123,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { // `spec_version`, and `authoring_version` are the same between Wasm and native. // This value is set to 100 to notify Polkadot-JS App (https://polkadot.js.org/apps) to use // the compatible custom types. - spec_version: 144, + spec_version: 145, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, @@ -185,16 +187,10 @@ impl frame_system::Config for Runtime { type RuntimeCall = RuntimeCall; // The lookup mechanism to get account ID from whatever is passed in dispatchers. type Lookup = AccountIdLookup; - // The index type for storing how many extrinsics an account has signed. - type Index = Index; - // The index type for blocks. - type BlockNumber = BlockNumber; // The type for hashing blocks and tries. type Hash = Hash; // The hashing algorithm used. type Hashing = BlakeTwo256; - // The header type. - type Header = generic::Header; // The ubiquitous event type. type RuntimeEvent = RuntimeEvent; // The ubiquitous origin type. @@ -222,6 +218,8 @@ impl frame_system::Config for Runtime { // The set code logic, just the default since we're not a parachain. type OnSetCode = (); type MaxConsumers = frame_support::traits::ConstU32<16>; + type Nonce = Nonce; + type Block = Block; } impl pallet_insecure_randomness_collective_flip::Config for Runtime {} @@ -230,26 +228,19 @@ impl pallet_aura::Config for Runtime { type AuthorityId = AuraId; type DisabledValidators = (); type MaxAuthorities = ConstU32<32>; + type AllowMultipleBlocksPerSlot = ConstBool; } impl pallet_grandpa::Config for Runtime { type RuntimeEvent = RuntimeEvent; - type KeyOwnerProofSystem = (); - - type KeyOwnerProof = - >::Proof; - - type KeyOwnerIdentification = >::IdentificationTuple; - - type HandleEquivocation = (); + type KeyOwnerProof = sp_core::Void; type WeightInfo = (); type MaxAuthorities = ConstU32<32>; type MaxSetIdSessionEntries = ConstU64<0>; + + type EquivocationReportSystem = (); } impl pallet_timestamp::Config for Runtime { @@ -282,6 +273,11 @@ impl pallet_balances::Config for Runtime { type ExistentialDeposit = ConstU64; type AccountStore = System; type WeightInfo = pallet_balances::weights::SubstrateWeight; + + type RuntimeHoldReason = (); + type FreezeIdentifier = (); + type MaxHolds = (); + type MaxFreezes = (); } pub struct LinearWeightToFee(sp_std::marker::PhantomData); @@ -471,6 +467,8 @@ impl pallet_membership::Config for Runtime { impl pallet_sudo::Config for Runtime { type RuntimeEvent = RuntimeEvent; type RuntimeCall = RuntimeCall; + + type WeightInfo = pallet_sudo::weights::SubstrateWeight; } parameter_types! { @@ -976,10 +974,6 @@ impl pallet_admin_utils::Config for Runtime { // Create the runtime by composing the FRAME pallets that were previously configured. construct_runtime!( pub struct Runtime - where - Block = Block, - NodeBlock = opaque::Block, - UncheckedExtrinsic = UncheckedExtrinsic, { System: frame_system, RandomnessCollectiveFlip: pallet_insecure_randomness_collective_flip, @@ -1074,6 +1068,14 @@ impl_runtime_apis! { fn metadata() -> OpaqueMetadata { OpaqueMetadata::new(Runtime::metadata().into()) } + + fn metadata_at_version(version: u32) -> Option { + Runtime::metadata_at_version(version) + } + + fn metadata_versions() -> sp_std::vec::Vec { + Runtime::metadata_versions() + } } impl sp_block_builder::BlockBuilder for Runtime { diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 47c123a14..aecd2b0c8 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,5 +1,5 @@ [toolchain] -channel = "nightly-2023-03-01" +channel = "nightly-2024-03-05" components = [ "rustfmt" ] targets = [ "wasm32-unknown-unknown" ] -profile = "minimal" \ No newline at end of file +profile = "minimal"