From a9d0f7157a894a243e4cfbd41483571db18ef62f Mon Sep 17 00:00:00 2001 From: undercover-cactus Date: Wed, 10 Sep 2025 08:15:27 +0200 Subject: [PATCH] feat: storage hub client (#149) Co-authored-by: Steve Degosserie <723552+stiiifff@users.noreply.github.com> Co-authored-by: Claude --- .../workflows/actions/setup-env/action.yml | 153 +- .github/workflows/task-build-operator.yml | 6 +- .github/workflows/task-rust-lint.yml | 4 +- .github/workflows/task-rust-tests.yml | 7 +- operator/Cargo.lock | 5143 +++++++++++++---- operator/Cargo.toml | 112 +- operator/node/Cargo.toml | 33 + operator/node/src/cli.rs | 462 +- operator/node/src/command.rs | 111 +- operator/node/src/service.rs | 403 +- operator/runtime/common/Cargo.toml | 2 +- operator/runtime/mainnet/Cargo.toml | 3 + .../mainnet/src/configs/storagehub/client.rs | 74 + .../mainnet/src/configs/storagehub/mod.rs | 5 +- operator/runtime/mainnet/src/lib.rs | 163 + operator/runtime/stagenet/Cargo.toml | 5 +- .../stagenet/src/configs/runtime_params.rs | 1 + .../stagenet/src/configs/storagehub/client.rs | 74 + .../stagenet/src/configs/storagehub/mod.rs | 5 +- operator/runtime/stagenet/src/lib.rs | 164 + operator/runtime/testnet/Cargo.toml | 3 + .../testnet/src/configs/storagehub/client.rs | 74 + .../testnet/src/configs/storagehub/mod.rs | 5 +- operator/runtime/testnet/src/lib.rs | 163 + operator/rust-toolchain.toml | 2 +- test/.papi/descriptors/package.json | 2 +- test/.papi/metadata/datahaven.scale | Bin 594579 -> 602083 bytes 27 files changed, 6033 insertions(+), 1146 deletions(-) create mode 100644 operator/runtime/mainnet/src/configs/storagehub/client.rs create mode 100644 operator/runtime/stagenet/src/configs/storagehub/client.rs create mode 100644 operator/runtime/testnet/src/configs/storagehub/client.rs diff --git a/.github/workflows/actions/setup-env/action.yml b/.github/workflows/actions/setup-env/action.yml index c7d33775..75755771 100644 --- a/.github/workflows/actions/setup-env/action.yml +++ b/.github/workflows/actions/setup-env/action.yml @@ -68,9 +68,160 @@ runs: shell: bash run: sudo apt-get update && sudo apt-get install -y libpq-dev libclang-dev + # Auto-install missing dependencies when install-deps is false (for self-hosted runners) + - name: Setup system dependencies (self-hosted) + if: inputs.install-deps == 'false' + shell: bash + run: | + echo "Checking and installing system dependencies locally if needed..." + + # Setup local directories + LOCAL_DIR="$HOME/.local" + LOCAL_BIN="$LOCAL_DIR/bin" + LOCAL_LIB="$LOCAL_DIR/lib" + LOCAL_INCLUDE="$LOCAL_DIR/include" + LOCAL_PKG_CONFIG="$LOCAL_DIR/lib/pkgconfig" + + mkdir -p "$LOCAL_BIN" "$LOCAL_LIB" "$LOCAL_INCLUDE" "$LOCAL_PKG_CONFIG" + + # Export paths for future steps (avoid duplication) + echo "$LOCAL_BIN" >> $GITHUB_PATH + echo "LD_LIBRARY_PATH=$LOCAL_LIB:${LD_LIBRARY_PATH:-}" >> $GITHUB_ENV + echo "PKG_CONFIG_PATH=$LOCAL_PKG_CONFIG:${PKG_CONFIG_PATH:-}" >> $GITHUB_ENV + echo "C_INCLUDE_PATH=$LOCAL_INCLUDE:${C_INCLUDE_PATH:-}" >> $GITHUB_ENV + echo "CPLUS_INCLUDE_PATH=$LOCAL_INCLUDE:${CPLUS_INCLUDE_PATH:-}" >> $GITHUB_ENV + + # Check and install PostgreSQL client libraries if needed + if ! pkg-config --exists libpq 2>/dev/null; then + echo "Installing libpq..." + ARCH=$(dpkg --print-architecture 2>/dev/null || echo "amd64") + WORK_DIR="$LOCAL_DIR/tmp" + mkdir -p "$WORK_DIR" && cd "$WORK_DIR" + + # Download PostgreSQL 17 packages + wget -q "https://apt.postgresql.org/pub/repos/apt/pool/main/p/postgresql-17/libpq5_17.6-1.pgdg+1_${ARCH}.deb" + wget -q "https://apt.postgresql.org/pub/repos/apt/pool/main/p/postgresql-17/libpq-dev_17.6-1.pgdg+1_${ARCH}.deb" + + # Extract and install + for pkg in *.deb; do + ar p "$pkg" data.tar.xz | tar -xJ --no-same-owner 2>/dev/null || true + done + + cp -r usr/lib/*/libpq* usr/lib/libpq* "$LOCAL_LIB/" 2>/dev/null || true + cp -r usr/include/* "$LOCAL_INCLUDE/" 2>/dev/null || true + find usr -name "*.pc" -exec cp {} "$LOCAL_PKG_CONFIG/" \; 2>/dev/null || true + + # Fix pkg-config paths + sed -i "s|/usr|$LOCAL_DIR|g" "$LOCAL_PKG_CONFIG"/*.pc 2>/dev/null || true + + cd "$HOME" && rm -rf "$WORK_DIR" + + # Export build flags for libpq + echo "LDFLAGS=-L$LOCAL_LIB ${LDFLAGS:-}" >> $GITHUB_ENV + echo "CPPFLAGS=-I$LOCAL_INCLUDE ${CPPFLAGS:-}" >> $GITHUB_ENV + echo "LIBRARY_PATH=$LOCAL_LIB:${LIBRARY_PATH:-}" >> $GITHUB_ENV + echo "RUSTFLAGS=-L $LOCAL_LIB" >> $GITHUB_ENV + + echo "✓ libpq installed" + else + echo "✓ libpq found: $(pkg-config --modversion libpq 2>/dev/null || echo 'version unknown')" + fi + + # Check and install LLVM/Clang if needed + if ! command -v clang &> /dev/null || ! ls $LOCAL_LIB/libclang* 2>/dev/null && ! ldconfig -p 2>/dev/null | grep -q libclang; then + echo "LLVM/Clang not found, installing locally..." + LLVM_VERSION="18.1.8" + ARCH=$(uname -m) + + # Map architecture names + case "$ARCH" in + x86_64) LLVM_ARCH="x86_64-linux-gnu-ubuntu-22.04" ;; + aarch64) LLVM_ARCH="aarch64-linux-gnu" ;; + *) LLVM_ARCH="$ARCH-linux-gnu" ;; + esac + + # Download pre-built LLVM/Clang binaries + echo "Downloading LLVM ${LLVM_VERSION} for ${LLVM_ARCH}..." + wget -q -O- "https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/clang+llvm-${LLVM_VERSION}-${LLVM_ARCH}.tar.xz" | \ + tar -xJf - -C /tmp --strip-components=1 || { + echo "Failed to download pre-built binaries, trying alternative version..." + # Try an older, more widely available version + LLVM_VERSION="17.0.6" + wget -q -O- "https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/clang+llvm-${LLVM_VERSION}-${LLVM_ARCH}.tar.xz" | \ + tar -xJf - -C /tmp --strip-components=1 + } + + # Copy required files + if [ -d "/tmp/bin" ]; then + cp /tmp/bin/clang* "$LOCAL_BIN/" 2>/dev/null || true + cp /tmp/bin/llvm-config "$LOCAL_BIN/" 2>/dev/null || true + cp -r /tmp/lib/libclang* "$LOCAL_LIB/" 2>/dev/null || true + cp -r /tmp/lib/clang "$LOCAL_LIB/" 2>/dev/null || true + cp -r /tmp/include/clang* "$LOCAL_INCLUDE/" 2>/dev/null || true + rm -rf /tmp/bin /tmp/lib /tmp/include /tmp/share + + # Set LIBCLANG_PATH for rust bindgen + echo "LIBCLANG_PATH=$LOCAL_LIB" >> $GITHUB_ENV + echo "LLVM_CONFIG_PATH=$LOCAL_BIN/llvm-config" >> $GITHUB_ENV + fi + + echo "✓ LLVM/Clang ${LLVM_VERSION} installed locally" + else + echo "✓ clang found: $(clang --version 2>/dev/null | head -n1 || echo 'installed')" + fi + + echo "All required system dependencies ready!" + # Install protoc only when install-deps is true - name: Install Protoc if: inputs.install-deps == 'true' uses: arduino/setup-protoc@v3 with: - repo-token: ${{ github.token }} \ No newline at end of file + repo-token: ${{ github.token }} + + # Auto-install protoc when install-deps is false (for self-hosted runners) + - name: Setup Protoc (self-hosted) + if: inputs.install-deps == 'false' + shell: bash + run: | + echo "Checking and installing protoc locally if needed..." + + if ! command -v protoc &> /dev/null; then + echo "protoc not found, installing locally..." + + PROTOC_VERSION="28.3" + ARCH=$(uname -m) + + # Map architecture names for protoc + case "$ARCH" in + x86_64) PROTOC_ARCH="x86_64" ;; + aarch64) PROTOC_ARCH="aarch_64" ;; + *) PROTOC_ARCH="$ARCH" ;; + esac + + # Download and install protoc + mkdir -p ~/.local/bin + wget -q -O /tmp/protoc.zip "https://github.com/protocolbuffers/protobuf/releases/download/v${PROTOC_VERSION}/protoc-${PROTOC_VERSION}-linux-${PROTOC_ARCH}.zip" + unzip -q -o /tmp/protoc.zip -d ~/.local + rm /tmp/protoc.zip + + # Make sure it's executable + chmod +x ~/.local/bin/protoc + + # Add to PATH if not already there + echo "$HOME/.local/bin" >> $GITHUB_PATH + export PATH="$HOME/.local/bin:$PATH" + + echo "✓ protoc ${PROTOC_VERSION} installed locally" + else + PROTOC_VERSION=$(protoc --version | grep -oP '\d+\.\d+(\.\d+)?') + echo "✓ protoc found: version $PROTOC_VERSION" + + # Check minimum version (3.0 or higher recommended) + MAJOR_VERSION=$(echo $PROTOC_VERSION | cut -d. -f1) + if [ "$MAJOR_VERSION" -lt 3 ]; then + echo "WARNING: protoc version $PROTOC_VERSION is older than recommended (3.0+)" + fi + fi + + echo "Protoc ready!" \ No newline at end of file diff --git a/.github/workflows/task-build-operator.yml b/.github/workflows/task-build-operator.yml index 6ca71e68..479b3ae3 100644 --- a/.github/workflows/task-build-operator.yml +++ b/.github/workflows/task-build-operator.yml @@ -21,7 +21,6 @@ jobs: RUSTC_WRAPPER: "sccache" CARGO_INCREMENTAL: "0" CARGO_TERM_COLOR: always - RUSTFLAGS: "-C linker=clang -C link-arg=-fuse-ld=mold" SCCACHE_GHA_ENABLED: "true" defaults: run: @@ -38,7 +37,10 @@ jobs: - uses: ./.github/workflows/actions/setup-env with: cache-key: BUILD-RELEASE - install-deps: false # Self-hosted runners have deps pre-installed + install-deps: false + + - name: Set build flags + run: echo "RUSTFLAGS=${{ env.RUSTFLAGS }} -C linker=clang -C link-arg=-fuse-ld=mold" >> $GITHUB_ENV - name: Build node binary run: | diff --git a/.github/workflows/task-rust-lint.yml b/.github/workflows/task-rust-lint.yml index 6b9f7923..58c2b3d0 100644 --- a/.github/workflows/task-rust-lint.yml +++ b/.github/workflows/task-rust-lint.yml @@ -17,7 +17,6 @@ on: env: CARGO_TERM_COLOR: always WORKING_DIR: operator - RUSTFLAGS: "-C linker=clang -C link-arg=-fuse-ld=mold" SCCACHE_GHA_ENABLED: "true" RUSTC_WRAPPER: "sccache" @@ -56,6 +55,9 @@ jobs: cache-key: LINT install-deps: false # Self-hosted runners have deps pre-installed + - name: Set build flags + run: echo "RUSTFLAGS=${{ env.RUSTFLAGS }} -C linker=clang -C link-arg=-fuse-ld=mold" >> $GITHUB_ENV + - name: Run cargo clippy run: SKIP_WASM_BUILD=1 cargo clippy --features try-runtime,runtime-benchmarks --locked --release diff --git a/.github/workflows/task-rust-tests.yml b/.github/workflows/task-rust-tests.yml index 8e2adce2..fe0cf49e 100644 --- a/.github/workflows/task-rust-tests.yml +++ b/.github/workflows/task-rust-tests.yml @@ -22,7 +22,6 @@ jobs: RUSTC_WRAPPER: "sccache" CARGO_INCREMENTAL: "0" CARGO_TERM_COLOR: always - RUSTFLAGS: "-C linker=clang -C link-arg=-fuse-ld=mold" SCCACHE_GHA_ENABLED: "true" defaults: run: @@ -35,7 +34,11 @@ jobs: - uses: ./.github/workflows/actions/setup-env with: cache-key: "TEST" - install-deps: false # Self-hosted runners have deps pre-installed + install-deps: false + + - name: Set build flags + run: echo "RUSTFLAGS=${{ env.RUSTFLAGS }} -C linker=clang -C link-arg=-fuse-ld=mold" >> $GITHUB_ENV + # Cleanup-runner skipped on self-hosted runners (bare-metal manages disk space externally) - name: Install nextest run: | diff --git a/operator/Cargo.lock b/operator/Cargo.lock index 0e3ea5a6..00546f88 100644 --- a/operator/Cargo.lock +++ b/operator/Cargo.lock @@ -32,9 +32,9 @@ dependencies = [ [[package]] name = "adler2" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "aead" @@ -152,9 +152,9 @@ dependencies = [ "cfg-if", "const-hex", "derive_more 2.0.1", - "foldhash", - "hashbrown 0.15.3", - "indexmap 2.9.0", + "foldhash 0.1.5", + "hashbrown 0.15.5", + "indexmap 2.11.0", "itoa", "k256", "keccak-asm", @@ -170,9 +170,9 @@ dependencies = [ [[package]] name = "alloy-rlp" -version = "0.3.11" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6c1d995bff8d011f7cd6c81820d51825e6e06d6db73914c1630ecf544d83d6" +checksum = "5f70d83b765fdc080dbcd4f4db70d8d23fe4761f2f02ebfa9146b833900634b4" dependencies = [ "arrayvec 0.7.6", "bytes", @@ -189,7 +189,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -201,11 +201,11 @@ dependencies = [ "alloy-sol-macro-input", "const-hex", "heck 0.5.0", - "indexmap 2.9.0", + "indexmap 2.11.0", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", "syn-solidity", "tiny-keccak", ] @@ -222,7 +222,7 @@ dependencies = [ "macro-string", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", "syn-solidity", ] @@ -250,10 +250,10 @@ dependencies = [ ] [[package]] -name = "android-tzdata" -version = "0.1.1" +name = "always-assert" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" +checksum = "4436e0292ab1bb631b42973c61205e704475fe8126af845c8d923c0996328127" [[package]] name = "android_system_properties" @@ -266,9 +266,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.18" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" +checksum = "3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192" dependencies = [ "anstyle", "anstyle-parse", @@ -281,44 +281,44 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" +checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" [[package]] name = "anstyle-parse" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" +checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.2" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" +checksum = "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] name = "anstyle-wincon" -version = "3.0.7" +version = "3.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" +checksum = "3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a" dependencies = [ "anstyle", - "once_cell", - "windows-sys 0.59.0", + "once_cell_polyfill", + "windows-sys 0.60.2", ] [[package]] name = "anyhow" -version = "1.0.98" +version = "1.0.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" +checksum = "b0674a1ddeecb70197781e945de4b3b8ffb61fa939a5597bcf48503737663100" [[package]] name = "approx" @@ -340,7 +340,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -587,7 +587,7 @@ dependencies = [ "nom", "num-traits", "rusticata-macros", - "thiserror 2.0.12", + "thiserror 2.0.16", "time", ] @@ -611,7 +611,7 @@ checksum = "3109e49b1e4909e9db6515a30c633684d68cdeaa252f215214cb4fa1a5bfee2c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", "synstructure 0.13.2", ] @@ -634,7 +634,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -656,9 +656,9 @@ dependencies = [ [[package]] name = "async-channel" -version = "2.3.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" +checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" dependencies = [ "concurrent-queue", "event-listener-strategy", @@ -668,105 +668,213 @@ dependencies = [ [[package]] name = "async-executor" -version = "1.13.2" +version = "1.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb812ffb58524bdd10860d7d974e2f01cc0950c2438a74ee5ec2e2280c6c4ffa" +checksum = "497c00e0fd83a72a79a39fcbd8e3e2f055d6f6c7e025f3b3d91f4f8e76527fb8" dependencies = [ "async-task", "concurrent-queue", - "fastrand", - "futures-lite", + "fastrand 2.3.0", + "futures-lite 2.6.1", "pin-project-lite", "slab", ] [[package]] name = "async-fs" -version = "2.1.2" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" +checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" dependencies = [ - "async-lock", + "async-lock 2.8.0", + "autocfg", "blocking", - "futures-lite", + "futures-lite 1.13.0", +] + +[[package]] +name = "async-fs" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09f7e37c0ed80b2a977691c47dae8625cfb21e205827106c64f7c588766b2e50" +dependencies = [ + "async-lock 3.4.1", + "blocking", + "futures-lite 2.6.1", +] + +[[package]] +name = "async-global-executor" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c" +dependencies = [ + "async-channel 2.5.0", + "async-executor", + "async-io 2.5.0", + "async-lock 3.4.1", + "blocking", + "futures-lite 2.6.1", + "once_cell", ] [[package]] name = "async-io" -version = "2.4.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a2b323ccce0a1d90b449fd71f2a06ca7faa7c54c2751f06c9bd851fc061059" +checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" dependencies = [ - "async-lock", + "async-lock 2.8.0", + "autocfg", + "cfg-if", + "concurrent-queue", + "futures-lite 1.13.0", + "log", + "parking", + "polling 2.8.0", + "rustix 0.37.28", + "slab", + "socket2 0.4.10", + "waker-fn", +] + +[[package]] +name = "async-io" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19634d6336019ef220f09fd31168ce5c184b295cbf80345437cc36094ef223ca" +dependencies = [ + "async-lock 3.4.1", "cfg-if", "concurrent-queue", "futures-io", - "futures-lite", + "futures-lite 2.6.1", "parking", - "polling", - "rustix 0.38.44", + "polling 3.10.0", + "rustix 1.0.8", "slab", - "tracing", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] name = "async-lock" -version = "3.4.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" +checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" dependencies = [ - "event-listener 5.4.0", + "event-listener 2.5.3", +] + +[[package]] +name = "async-lock" +version = "3.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fd03604047cee9b6ce9de9f70c6cd540a0520c813cbd49bae61f33ab80ed1dc" +dependencies = [ + "event-listener 5.4.1", "event-listener-strategy", "pin-project-lite", ] +[[package]] +name = "async-net" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0434b1ed18ce1cf5769b8ac540e33f01fa9471058b5e89da9e06f3c882a8c12f" +dependencies = [ + "async-io 1.13.0", + "blocking", + "futures-lite 1.13.0", +] + [[package]] name = "async-net" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7" dependencies = [ - "async-io", + "async-io 2.5.0", "blocking", - "futures-lite", + "futures-lite 2.6.1", ] [[package]] name = "async-process" -version = "2.3.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63255f1dc2381611000436537bbedfe83183faa303a5a0edaf191edef06526bb" +checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88" dependencies = [ - "async-channel 2.3.1", - "async-io", - "async-lock", + "async-io 1.13.0", + "async-lock 2.8.0", + "async-signal", + "blocking", + "cfg-if", + "event-listener 3.1.0", + "futures-lite 1.13.0", + "rustix 0.38.44", + "windows-sys 0.48.0", +] + +[[package]] +name = "async-process" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65daa13722ad51e6ab1a1b9c01299142bc75135b337923cfa10e79bbbd669f00" +dependencies = [ + "async-channel 2.5.0", + "async-io 2.5.0", + "async-lock 3.4.1", "async-signal", "async-task", "blocking", "cfg-if", - "event-listener 5.4.0", - "futures-lite", - "rustix 0.38.44", - "tracing", + "event-listener 5.4.1", + "futures-lite 2.6.1", + "rustix 1.0.8", ] [[package]] name = "async-signal" -version = "0.2.10" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "637e00349800c0bdf8bfc21ebbc0b6524abea702b0da4168ac00d070d0c0b9f3" +checksum = "f567af260ef69e1d52c2b560ce0ea230763e6fbb9214a85d768760a920e3e3c1" dependencies = [ - "async-io", - "async-lock", + "async-io 2.5.0", + "async-lock 3.4.1", "atomic-waker", "cfg-if", "futures-core", "futures-io", - "rustix 0.38.44", + "rustix 1.0.8", "signal-hook-registry", "slab", - "windows-sys 0.59.0", + "windows-sys 0.60.2", +] + +[[package]] +name = "async-std" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c8e079a4ab67ae52b7403632e4618815d6db36d2a010cfe41b02c1b1578f93b" +dependencies = [ + "async-channel 1.9.0", + "async-global-executor", + "async-io 2.5.0", + "async-lock 3.4.1", + "crossbeam-utils", + "futures-channel", + "futures-core", + "futures-io", + "futures-lite 2.6.1", + "gloo-timers", + "kv-log-macro", + "log", + "memchr", + "once_cell", + "pin-project-lite", + "pin-utils", + "slab", + "wasm-bindgen-futures", ] [[package]] @@ -777,13 +885,13 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.88" +version = "0.1.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" +checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -839,14 +947,14 @@ checksum = "ffdcb70bdbc4d478427380519163274ac86e52916e10f0a8889adf0f96d3fee7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "autocfg" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "backtrace" @@ -901,9 +1009,21 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" -version = "1.7.3" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" +checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" + +[[package]] +name = "bb8" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89aabfae550a5c44b43ab941844ffcd2e993cb6900b342debf59e9ea74acdb8" +dependencies = [ + "async-trait", + "futures-util", + "parking_lot 0.12.4", + "tokio", +] [[package]] name = "beef" @@ -914,10 +1034,24 @@ dependencies = [ "serde", ] +[[package]] +name = "bigdecimal" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a22f228ab7a1b23027ccc6c350b72868017af7ea8356fbdf19f8d991c690013" +dependencies = [ + "autocfg", + "libm", + "num-bigint", + "num-integer", + "num-traits", + "serde", +] + [[package]] name = "binary-merkle-tree" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "hash-db", "log", @@ -951,7 +1085,25 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.101", + "syn 2.0.106", +] + +[[package]] +name = "bindgen" +version = "0.72.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" +dependencies = [ + "bitflags 2.9.4", + "cexpr", + "clang-sys", + "itertools 0.12.1", + "proc-macro2", + "quote", + "regex", + "rustc-hash 2.1.1", + "shlex", + "syn 2.0.106", ] [[package]] @@ -973,9 +1125,9 @@ dependencies = [ [[package]] name = "bip39" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33415e24172c1b7d6066f6d999545375ab8e1d95421d6784bdfff9496f292387" +checksum = "43d193de1f7487df1914d3a568b772458861d33f9c54249612cc2893d6915054" dependencies = [ "bitcoin_hashes", "serde", @@ -1021,9 +1173,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.9.0" +version = "2.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" +checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" [[package]] name = "bitvec" @@ -1124,14 +1276,14 @@ dependencies = [ [[package]] name = "blocking" -version = "1.6.1" +version = "1.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" +checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21" dependencies = [ - "async-channel 2.3.1", + "async-channel 2.5.0", "async-task", "futures-io", - "futures-lite", + "futures-lite 2.6.1", "piper", ] @@ -1159,7 +1311,7 @@ dependencies = [ [[package]] name = "bp-header-chain" version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "bp-runtime", "finality-grandpa", @@ -1176,7 +1328,7 @@ dependencies = [ [[package]] name = "bp-messages" version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "bp-header-chain", "bp-runtime", @@ -1192,7 +1344,7 @@ dependencies = [ [[package]] name = "bp-parachains" version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "bp-header-chain", "bp-polkadot-core", @@ -1209,7 +1361,7 @@ dependencies = [ [[package]] name = "bp-polkadot-core" version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "bp-messages", "bp-runtime", @@ -1226,7 +1378,7 @@ dependencies = [ [[package]] name = "bp-relayers" version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "bp-header-chain", "bp-messages", @@ -1244,7 +1396,7 @@ dependencies = [ [[package]] name = "bp-runtime" version = "0.19.1" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-support", "frame-system", @@ -1261,13 +1413,13 @@ dependencies = [ "sp-state-machine", "sp-std", "sp-trie", - "trie-db", + "trie-db 0.29.1", ] [[package]] name = "bridge-hub-common" version = "0.12.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1316,7 +1468,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4" dependencies = [ "memchr", - "regex-automata 0.4.9", + "regex-automata", "serde", ] @@ -1331,9 +1483,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.17.0" +version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" +checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" [[package]] name = "byte-slice-cast" @@ -1349,9 +1501,9 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.23.0" +version = "1.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9134a6ef01ce4b366b50689c94f82c14bc72bc5d0386829828a2e2752ef7958c" +checksum = "3995eaeebcdf32f91f980d360f78732ddc061097ab4e39991ae7a6ace9194677" [[package]] name = "byteorder" @@ -1390,9 +1542,9 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.9" +version = "1.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" +checksum = "dd0b03af37dad7a14518b7691d81acb0f8222604ad3d1b02f6b4bed5188c0cd5" dependencies = [ "serde", ] @@ -1428,10 +1580,11 @@ checksum = "fd6c0e7b807d60291f42f33f58480c0bfafe28ed08286446f45e463728cf9c1c" [[package]] name = "cc" -version = "1.2.22" +version = "1.2.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32db95edf998450acc7881c932f94cd9b05c87b4b2599e8bab064753da4acfd1" +checksum = "5252b3d2648e5eedbc1a6f501e3c795e07025c1e93bbf8bbdd6eef7f447a6d54" dependencies = [ + "find-msvc-tools", "jobserver", "libc", "shlex", @@ -1463,9 +1616,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" [[package]] name = "cfg_aliases" @@ -1515,16 +1668,15 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.41" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" +checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" dependencies = [ - "android-tzdata", "iana-time-zone", "js-sys", "num-traits", "wasm-bindgen", - "windows-link", + "windows-link 0.2.0", ] [[package]] @@ -1585,9 +1737,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.38" +version = "4.5.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed93b9805f8ba930df42c2590f05453d5ec36cbb85d018868a5b24d31f6ac000" +checksum = "7eac00902d9d136acd712710d71823fb8ac8004ca445a89e73a41d45aa712931" dependencies = [ "clap_builder", "clap_derive", @@ -1595,9 +1747,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.38" +version = "4.5.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "379026ff283facf611b0ea629334361c4211d1b12ee01024eec1591133b04120" +checksum = "2ad9bbf750e73b5884fb8a211a9424a1906c1e156724260fdae972f31d70e1d6" dependencies = [ "anstream", "anstyle", @@ -1608,21 +1760,21 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.32" +version = "4.5.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" +checksum = "bbfd7eae0b0f1a6e63d4b13c9c478de77c2eb546fba158ad50b4203dc24b9f9c" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "clap_lex" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" +checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" [[package]] name = "coarsetime" @@ -1648,9 +1800,9 @@ dependencies = [ [[package]] name = "colorchoice" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" +checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" [[package]] name = "combine" @@ -1664,9 +1816,9 @@ dependencies = [ [[package]] name = "comfy-table" -version = "7.1.4" +version = "7.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a65ebfec4fb190b6f90e944a817d60499ee0744e582530e2c9900a22e591d9a" +checksum = "3f8e18d0dca9578507f13f9803add0df13362b02c501c1c17734f0dbb52eaf0b" dependencies = [ "unicode-segmentation", "unicode-width", @@ -1702,9 +1854,9 @@ dependencies = [ [[package]] name = "const-hex" -version = "1.14.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b0485bab839b018a8f1723fc5391819fea5f8f0f32288ef8a735fd096b6160c" +checksum = "dccd746bf9b1038c0507b7cec21eb2b11222db96a2902c96e8c185d6d20fb9c4" dependencies = [ "cfg-if", "cpufeatures", @@ -1789,9 +1941,9 @@ dependencies = [ [[package]] name = "core-foundation" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" dependencies = [ "core-foundation-sys", "libc", @@ -1821,6 +1973,16 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "cpu-time" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9e393a7668fe1fad3075085b86c781883000b4ede868f43627b34a87c8b7ded" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "cpufeatures" version = "0.2.17" @@ -1945,9 +2107,9 @@ checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" [[package]] name = "crc32fast" -version = "1.4.2" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" dependencies = [ "cfg-if", ] @@ -2003,9 +2165,9 @@ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crunchy" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "crypto-bigint" @@ -2059,10 +2221,106 @@ dependencies = [ "cipher 0.4.4", ] +[[package]] +name = "cumulus-client-cli" +version = "0.21.1" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "clap", + "parity-scale-codec", + "sc-chain-spec", + "sc-cli", + "sc-client-api", + "sc-service", + "sp-blockchain", + "sp-core", + "sp-runtime", + "url", +] + +[[package]] +name = "cumulus-client-collator" +version = "0.21.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "cumulus-client-consensus-common", + "cumulus-client-network", + "cumulus-primitives-core", + "futures", + "parity-scale-codec", + "parking_lot 0.12.4", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-overseer", + "polkadot-primitives", + "sc-client-api", + "sp-api", + "sp-consensus", + "sp-core", + "sp-runtime", + "tracing", +] + +[[package]] +name = "cumulus-client-consensus-common" +version = "0.21.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "async-trait", + "cumulus-client-pov-recovery", + "cumulus-primitives-core", + "cumulus-relay-chain-interface", + "dyn-clone", + "futures", + "log", + "parity-scale-codec", + "polkadot-primitives", + "sc-client-api", + "sc-consensus", + "sc-consensus-babe", + "schnellru", + "sp-blockchain", + "sp-consensus", + "sp-consensus-slots", + "sp-core", + "sp-runtime", + "sp-timestamp", + "sp-trie", + "sp-version", + "substrate-prometheus-endpoint", + "tracing", +] + +[[package]] +name = "cumulus-client-network" +version = "0.21.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "async-trait", + "cumulus-relay-chain-interface", + "futures", + "futures-timer", + "parity-scale-codec", + "parking_lot 0.12.4", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-parachain-primitives", + "polkadot-primitives", + "sc-client-api", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-runtime", + "sp-state-machine", + "sp-version", + "tracing", +] + [[package]] name = "cumulus-client-parachain-inherent" version = "0.15.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2072,7 +2330,7 @@ dependencies = [ "parity-scale-codec", "sc-client-api", "sp-api", - "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6)", "sp-inherents", "sp-runtime", "sp-state-machine", @@ -2081,10 +2339,73 @@ dependencies = [ "tracing", ] +[[package]] +name = "cumulus-client-pov-recovery" +version = "0.21.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "async-trait", + "cumulus-primitives-core", + "cumulus-relay-chain-interface", + "futures", + "futures-timer", + "parity-scale-codec", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-overseer", + "polkadot-primitives", + "rand 0.8.5", + "sc-client-api", + "sc-consensus", + "sp-api", + "sp-consensus", + "sp-maybe-compressed-blob", + "sp-runtime", + "sp-version", + "tracing", +] + +[[package]] +name = "cumulus-client-service" +version = "0.22.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "cumulus-client-cli", + "cumulus-client-collator", + "cumulus-client-consensus-common", + "cumulus-client-network", + "cumulus-client-pov-recovery", + "cumulus-primitives-core", + "cumulus-primitives-proof-size-hostfunction", + "cumulus-relay-chain-inprocess-interface", + "cumulus-relay-chain-interface", + "cumulus-relay-chain-minimal-node", + "futures", + "polkadot-primitives", + "sc-client-api", + "sc-consensus", + "sc-network", + "sc-network-sync", + "sc-network-transactions", + "sc-rpc", + "sc-service", + "sc-sysinfo", + "sc-telemetry", + "sc-transaction-pool", + "sc-utils", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-io", + "sp-runtime", + "sp-transaction-pool", +] + [[package]] name = "cumulus-primitives-core" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -2100,7 +2421,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-parachain-inherent" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2114,17 +2435,75 @@ dependencies = [ [[package]] name = "cumulus-primitives-proof-size-hostfunction" version = "0.11.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "sp-externalities", "sp-runtime-interface", "sp-trie", ] +[[package]] +name = "cumulus-primitives-storage-weight-reclaim" +version = "9.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "cumulus-primitives-core", + "cumulus-primitives-proof-size-hostfunction", + "docify", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sp-runtime", +] + +[[package]] +name = "cumulus-primitives-utility" +version = "0.18.1" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "cumulus-primitives-core", + "frame-support", + "log", + "pallet-asset-conversion", + "parity-scale-codec", + "polkadot-runtime-common", + "sp-runtime", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", +] + +[[package]] +name = "cumulus-relay-chain-inprocess-interface" +version = "0.22.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "async-trait", + "cumulus-primitives-core", + "cumulus-relay-chain-interface", + "futures", + "futures-timer", + "polkadot-cli", + "polkadot-service", + "sc-cli", + "sc-client-api", + "sc-sysinfo", + "sc-telemetry", + "sc-tracing", + "sp-api", + "sp-consensus", + "sp-core", + "sp-runtime", + "sp-state-machine", +] + [[package]] name = "cumulus-relay-chain-interface" version = "0.21.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2140,10 +2519,86 @@ dependencies = [ "thiserror 1.0.69", ] +[[package]] +name = "cumulus-relay-chain-minimal-node" +version = "0.22.2" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "array-bytes", + "async-trait", + "cumulus-primitives-core", + "cumulus-relay-chain-interface", + "cumulus-relay-chain-rpc-interface", + "futures", + "polkadot-core-primitives", + "polkadot-network-bridge", + "polkadot-node-network-protocol", + "polkadot-node-subsystem-util", + "polkadot-overseer", + "polkadot-primitives", + "polkadot-service", + "sc-authority-discovery", + "sc-client-api", + "sc-network", + "sc-network-common", + "sc-service", + "sc-tracing", + "sc-utils", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", + "sp-runtime", + "substrate-prometheus-endpoint", + "tokio", + "tracing", +] + +[[package]] +name = "cumulus-relay-chain-rpc-interface" +version = "0.21.2" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "async-trait", + "cumulus-primitives-core", + "cumulus-relay-chain-interface", + "either", + "futures", + "futures-timer", + "jsonrpsee 0.24.9", + "parity-scale-codec", + "pin-project", + "polkadot-overseer", + "prometheus", + "rand 0.8.5", + "sc-client-api", + "sc-rpc-api", + "sc-service", + "schnellru", + "serde", + "serde_json", + "smoldot 0.11.0", + "smoldot-light 0.9.0", + "sp-api", + "sp-authority-discovery", + "sp-consensus-babe", + "sp-core", + "sp-runtime", + "sp-state-machine", + "sp-storage", + "sp-version", + "substrate-prometheus-endpoint", + "thiserror 1.0.69", + "tokio", + "tokio-util", + "tracing", + "url", +] + [[package]] name = "cumulus-test-relay-sproof-builder" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", @@ -2177,66 +2632,82 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", +] + +[[package]] +name = "curve25519-dalek-ng" +version = "4.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c359b7249347e46fb28804470d071c921156ad62b3eef5d34e2ba867533dec8" +dependencies = [ + "byteorder", + "digest 0.9.0", + "rand_core 0.6.4", + "subtle-ng", + "zeroize", ] [[package]] name = "cxx" -version = "1.0.158" +version = "1.0.179" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a71ea7f29c73f7ffa64c50b83c9fe4d3a6d4be89a86b009eb80d5a6d3429d741" +checksum = "85b04ade63e106c145cdcd3482932299c2dcd36b15f1d5c596c06edf365966fe" dependencies = [ "cc", "cxxbridge-cmd", "cxxbridge-flags", "cxxbridge-macro", - "foldhash", + "foldhash 0.2.0", "link-cplusplus", ] [[package]] name = "cxx-build" -version = "1.0.158" +version = "1.0.179" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36a8232661d66dcf713394726157d3cfe0a89bfc85f52d6e9f9bbc2306797fe7" +checksum = "ba16a03d510b0e52be1952831ae1656e3ac9f6ac0c293a7b261670a0c7ff3b54" dependencies = [ "cc", "codespan-reporting", + "indexmap 2.11.0", "proc-macro2", "quote", "scratch", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "cxxbridge-cmd" -version = "1.0.158" +version = "1.0.179" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f44296c8693e9ea226a48f6a122727f77aa9e9e338380cb021accaeeb7ee279" +checksum = "1c3aefd0d58a2df90cd67fe2eccdf7fb6e6905e9886ae5feb2258ce0dec23063" dependencies = [ "clap", "codespan-reporting", + "indexmap 2.11.0", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "cxxbridge-flags" -version = "1.0.158" +version = "1.0.179" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c42f69c181c176981ae44ba9876e2ea41ce8e574c296b38d06925ce9214fb8e4" +checksum = "0b735d976ca632f9e94b9de9b0ab8283de65e2641e7ae9d5abc3e6b467ea6673" [[package]] name = "cxxbridge-macro" -version = "1.0.158" +version = "1.0.179" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8faff5d4467e0709448187df29ccbf3b0982cc426ee444a193f87b11afb565a8" +checksum = "42fffb686dc0b7bab364ee41fcf5a04c295c7e7a5f07cd38155c1c3bda437666" dependencies = [ + "indexmap 2.11.0", "proc-macro2", "quote", "rustversion", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -2284,7 +2755,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -2306,7 +2777,7 @@ checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ "darling_core 0.20.11", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -2319,7 +2790,7 @@ dependencies = [ "hashbrown 0.14.5", "lock_api", "once_cell", - "parking_lot_core 0.9.10", + "parking_lot_core 0.9.11", ] [[package]] @@ -2345,7 +2816,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d162beedaa69905488a8da94f5ac3edb4dd4788b732fadb7bd120b2625c1976" dependencies = [ "data-encoding", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -2434,6 +2905,7 @@ dependencies = [ "precompile-utils", "scale-info", "serde_json", + "shc-common", "shp-constants", "shp-data-price-updater", "shp-file-key-verifier", @@ -2487,7 +2959,9 @@ dependencies = [ name = "datahaven-node" version = "0.1.0" dependencies = [ + "async-channel 1.9.0", "clap", + "cumulus-client-service", "datahaven-mainnet-runtime", "datahaven-runtime-common", "datahaven-stagenet-runtime", @@ -2516,8 +2990,16 @@ dependencies = [ "openssl-sys", "pallet-beefy-mmr", "pallet-ethereum", + "pallet-file-system", + "pallet-file-system-runtime-api", "pallet-im-online", "pallet-mmr", + "pallet-payment-streams", + "pallet-payment-streams-runtime-api", + "pallet-proofs-dealer", + "pallet-proofs-dealer-runtime-api", + "pallet-storage-providers", + "pallet-storage-providers-runtime-api", "pallet-transaction-payment", "pallet-transaction-payment-rpc", "pallet-transaction-payment-rpc-runtime-api", @@ -2540,7 +3022,26 @@ dependencies = [ "sc-telemetry", "sc-transaction-pool", "sc-transaction-pool-api", + "serde", "serde_json", + "shc-actors-derive", + "shc-actors-framework", + "shc-blockchain-service", + "shc-client", + "shc-common", + "shc-file-manager", + "shc-file-transfer-service", + "shc-fisherman-service", + "shc-forest-manager", + "shc-indexer-db", + "shc-indexer-service", + "shc-rpc", + "shp-constants", + "shp-file-key-verifier", + "shp-file-metadata", + "shp-opaque", + "shp-traits", + "shp-types", "sp-api", "sp-block-builder", "sp-blockchain", @@ -2552,6 +3053,7 @@ dependencies = [ "sp-inherents", "sp-io", "sp-keyring", + "sp-keystore", "sp-offchain", "sp-runtime", "sp-session", @@ -2668,6 +3170,7 @@ dependencies = [ "precompile-utils", "scale-info", "serde_json", + "shc-common", "shp-constants", "shp-data-price-updater", "shp-file-key-verifier", @@ -2803,6 +3306,7 @@ dependencies = [ "precompile-utils", "scale-info", "serde_json", + "shc-common", "shp-constants", "shp-data-price-updater", "shp-file-key-verifier", @@ -2859,6 +3363,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" dependencies = [ "const-oid", + "pem-rfc7468", "zeroize", ] @@ -2892,9 +3397,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.4.0" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" +checksum = "d630bccd429a5bb5a64b5e94f693bfc48c9f8566418fda4c494cc94f911f87cc" dependencies = [ "powerfmt", ] @@ -2918,18 +3423,18 @@ checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "derive-where" -version = "1.4.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e73f2692d4bd3cac41dca28934a39894200c9fabf49586d77d0e5954af1d7902" +checksum = "ef941ded77d15ca19b40374869ac6000af1c9f2a4c0f3d4c70926287e6364a8f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -2942,7 +3447,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version 0.4.1", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -2971,7 +3476,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", "unicode-xid", ] @@ -2983,7 +3488,7 @@ checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", "unicode-xid", ] @@ -3003,6 +3508,61 @@ dependencies = [ "sp-std", ] +[[package]] +name = "diesel" +version = "2.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "229850a212cd9b84d4f0290ad9d294afc0ae70fccaa8949dbe8b43ffafa1e20c" +dependencies = [ + "bigdecimal", + "bitflags 2.9.4", + "byteorder", + "chrono", + "diesel_derives", + "itoa", + "num-bigint", + "num-integer", + "num-traits", + "pq-sys", +] + +[[package]] +name = "diesel-async" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51a307ac00f7c23f526a04a77761a0519b9f0eb2838ebf5b905a58580095bdcb" +dependencies = [ + "async-trait", + "bb8", + "diesel", + "futures-util", + "scoped-futures", + "tokio", + "tokio-postgres", +] + +[[package]] +name = "diesel_derives" +version = "2.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b96984c469425cb577bf6f17121ecb3e4fe1e81de5d8f780dd372802858d756" +dependencies = [ + "diesel_table_macro_syntax", + "dsl_auto_type", + "proc-macro2", + "quote", + "syn 2.0.106", +] + +[[package]] +name = "diesel_table_macro_syntax" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "209c735641a413bc68c4923a9d6ad4bcb3ca306b794edaa7eb0b3228a99ffb25" +dependencies = [ + "syn 2.0.106", +] + [[package]] name = "diff" version = "0.1.13" @@ -3095,7 +3655,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -3125,9 +3685,9 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.101", + "syn 2.0.106", "termcolor", - "toml 0.8.22", + "toml 0.8.23", "walkdir", ] @@ -3149,6 +3709,20 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" +[[package]] +name = "dsl_auto_type" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "139ae9aca7527f85f26dd76483eb38533fd84bd571065da1739656ef71c5ff5b" +dependencies = [ + "darling 0.20.11", + "either", + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.106", +] + [[package]] name = "dtoa" version = "1.0.10" @@ -3179,14 +3753,14 @@ checksum = "7e8671d54058979a37a26f3511fbf8d198ba1aa35ffb202c42587d918d77213a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "dyn-clone" -version = "1.0.19" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005" +checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" [[package]] name = "ecdsa" @@ -3215,9 +3789,9 @@ dependencies = [ [[package]] name = "ed25519-dalek" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" +checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" dependencies = [ "curve25519-dalek", "ed25519", @@ -3230,16 +3804,17 @@ dependencies = [ [[package]] name = "ed25519-zebra" -version = "4.0.3" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d9ce6874da5d4415896cd45ffbc4d1cfc0c4f9c079427bd870742c30f2f65a9" +checksum = "0017d969298eec91e3db7a2985a8cab4df6341d86e6f3a6f5878b13fb7846bc9" dependencies = [ "curve25519-dalek", "ed25519", - "hashbrown 0.14.5", - "hex", + "hashbrown 0.15.5", + "pkcs8", "rand_core 0.6.4", "sha2 0.10.9", + "subtle 2.6.1", "zeroize", ] @@ -3299,27 +3874,27 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "enumflags2" -version = "0.7.11" +version = "0.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba2f4b465f5318854c6f8dd686ede6c0a9dc67d4b1ac241cf0eb51521a309147" +checksum = "1027f7680c853e056ebcec683615fb6fbbc07dbaa13b4d5d9442b146ded4ecef" dependencies = [ "enumflags2_derive", ] [[package]] name = "enumflags2_derive" -version = "0.7.11" +version = "0.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc4caf64a58d7a6d65ab00639b046ff54399a39f5f2554728895ace4b297cd79" +checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -3330,7 +3905,7 @@ checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -3360,12 +3935,12 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.11" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e" +checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -3432,6 +4007,17 @@ version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" +[[package]] +name = "event-listener" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + [[package]] name = "event-listener" version = "4.0.3" @@ -3444,9 +4030,9 @@ dependencies = [ [[package]] name = "event-listener" -version = "5.4.0" +version = "5.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" +checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" dependencies = [ "concurrent-queue", "parking", @@ -3459,7 +4045,7 @@ version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" dependencies = [ - "event-listener 5.4.0", + "event-listener 5.4.1", "pin-project-lite", ] @@ -3538,7 +4124,7 @@ dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -3553,6 +4139,15 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" +[[package]] +name = "fastrand" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +dependencies = [ + "instant", +] + [[package]] name = "fastrand" version = "2.3.0" @@ -3598,17 +4193,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eb42427514b063d97ce21d5199f36c0c307d981434a6be32582bc79fe5bd2303" dependencies = [ "expander", - "indexmap 2.9.0", + "indexmap 2.11.0", "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "fc-api" version = "1.0.0-dev" -source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#75329a2df49e2cc7981485392c31160929d1bd48" dependencies = [ "async-trait", "fp-storage", @@ -3620,7 +4215,7 @@ dependencies = [ [[package]] name = "fc-cli" version = "1.0.0-dev" -source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#75329a2df49e2cc7981485392c31160929d1bd48" dependencies = [ "clap", "ethereum-types", @@ -3638,7 +4233,7 @@ dependencies = [ [[package]] name = "fc-consensus" version = "2.0.0-dev" -source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#75329a2df49e2cc7981485392c31160929d1bd48" dependencies = [ "async-trait", "fp-consensus", @@ -3654,7 +4249,7 @@ dependencies = [ [[package]] name = "fc-db" version = "2.0.0-dev" -source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#75329a2df49e2cc7981485392c31160929d1bd48" dependencies = [ "async-trait", "ethereum", @@ -3668,7 +4263,7 @@ dependencies = [ "log", "parity-db", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "sc-client-api", "sc-client-db", "smallvec", @@ -3684,7 +4279,7 @@ dependencies = [ [[package]] name = "fc-mapping-sync" version = "2.0.0-dev" -source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#75329a2df49e2cc7981485392c31160929d1bd48" dependencies = [ "fc-db", "fc-storage", @@ -3693,7 +4288,7 @@ dependencies = [ "futures", "futures-timer", "log", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "sc-client-api", "sc-utils", "sp-api", @@ -3707,7 +4302,7 @@ dependencies = [ [[package]] name = "fc-rpc" version = "2.0.0-dev" -source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#75329a2df49e2cc7981485392c31160929d1bd48" dependencies = [ "ethereum", "ethereum-types", @@ -3758,7 +4353,7 @@ dependencies = [ [[package]] name = "fc-rpc-core" version = "1.1.0-dev" -source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#75329a2df49e2cc7981485392c31160929d1bd48" dependencies = [ "ethereum", "ethereum-types", @@ -3767,13 +4362,13 @@ dependencies = [ "rustc-hex", "serde", "serde_json", - "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6)", ] [[package]] name = "fc-storage" version = "1.0.0-dev" -source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#75329a2df49e2cc7981485392c31160929d1bd48" dependencies = [ "ethereum", "ethereum-types", @@ -3835,14 +4430,14 @@ dependencies = [ [[package]] name = "filetime" -version = "0.2.25" +version = "0.2.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" +checksum = "bc0505cd1b6fa6580283f6bdf70a73fcf4aba1184038c90902b92b3dd0df63ed" dependencies = [ "cfg-if", "libc", "libredox", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -3857,10 +4452,16 @@ dependencies = [ "log", "num-traits", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "scale-info", ] +[[package]] +name = "find-msvc-tools" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fd99930f64d146689264c637b5af2f0233a933bef0d8570e2526bf9e083192d" + [[package]] name = "finito" version = "0.1.0" @@ -3889,6 +4490,12 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +[[package]] +name = "fixedbitset" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" + [[package]] name = "float-cmp" version = "0.9.0" @@ -3934,6 +4541,12 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + [[package]] name = "foreign-types" version = "0.3.2" @@ -3952,16 +4565,16 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "fork-tree" version = "13.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "parity-scale-codec", ] [[package]] name = "form_urlencoded" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" dependencies = [ "percent-encoding", ] @@ -3979,7 +4592,7 @@ dependencies = [ [[package]] name = "fp-account" version = "1.0.0-dev" -source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#75329a2df49e2cc7981485392c31160929d1bd48" dependencies = [ "hex", "impl-serde 0.5.0", @@ -3998,7 +4611,7 @@ dependencies = [ [[package]] name = "fp-consensus" version = "2.0.0-dev" -source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#75329a2df49e2cc7981485392c31160929d1bd48" dependencies = [ "ethereum", "parity-scale-codec", @@ -4009,7 +4622,7 @@ dependencies = [ [[package]] name = "fp-ethereum" version = "1.0.0-dev" -source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#75329a2df49e2cc7981485392c31160929d1bd48" dependencies = [ "ethereum", "ethereum-types", @@ -4021,7 +4634,7 @@ dependencies = [ [[package]] name = "fp-evm" version = "3.0.0-dev" -source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#75329a2df49e2cc7981485392c31160929d1bd48" dependencies = [ "environmental", "evm", @@ -4037,7 +4650,7 @@ dependencies = [ [[package]] name = "fp-rpc" version = "3.0.0-dev" -source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#75329a2df49e2cc7981485392c31160929d1bd48" dependencies = [ "ethereum", "ethereum-types", @@ -4053,7 +4666,7 @@ dependencies = [ [[package]] name = "fp-self-contained" version = "1.0.0-dev" -source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#75329a2df49e2cc7981485392c31160929d1bd48" dependencies = [ "frame-support", "parity-scale-codec", @@ -4065,7 +4678,7 @@ dependencies = [ [[package]] name = "fp-storage" version = "2.0.0" -source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#75329a2df49e2cc7981485392c31160929d1bd48" dependencies = [ "parity-scale-codec", "serde", @@ -4080,7 +4693,7 @@ checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" [[package]] name = "frame-benchmarking" version = "39.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-support", "frame-support-procedural", @@ -4104,7 +4717,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "46.2.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "Inflector", "array-bytes", @@ -4142,7 +4755,7 @@ dependencies = [ "sp-block-builder", "sp-blockchain", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6)", "sp-database", "sp-externalities", "sp-genesis-builder", @@ -4166,18 +4779,18 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "14.0.2" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "frame-election-provider-support" version = "39.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -4193,7 +4806,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "39.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "aquamarine", "frame-support", @@ -4246,7 +4859,7 @@ dependencies = [ [[package]] name = "frame-metadata-hash-extension" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "array-bytes", "const-hex", @@ -4262,7 +4875,7 @@ dependencies = [ [[package]] name = "frame-support" version = "39.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "aquamarine", "array-bytes", @@ -4305,7 +4918,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "31.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "Inflector", "cfg-expr", @@ -4318,36 +4931,36 @@ dependencies = [ "proc-macro-warning 1.84.1", "proc-macro2", "quote", - "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)", - "syn 2.0.101", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6)", + "syn 2.0.106", ] [[package]] name = "frame-support-procedural-tools" version = "13.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "frame-support-procedural-tools-derive" version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "frame-support-test" version = "3.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-benchmarking", "frame-executive", @@ -4374,7 +4987,7 @@ dependencies = [ [[package]] name = "frame-support-test-pallet" version = "4.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-support", "frame-system", @@ -4387,7 +5000,7 @@ dependencies = [ [[package]] name = "frame-system" version = "39.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "cfg-if", "docify", @@ -4407,7 +5020,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-benchmarking", "frame-support", @@ -4421,7 +5034,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "docify", "parity-scale-codec", @@ -4431,7 +5044,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.45.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-support", "parity-scale-codec", @@ -4458,6 +5071,16 @@ dependencies = [ "winapi", ] +[[package]] +name = "fs4" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29f9df8a11882c4e3335eb2d18a0137c505d9ca927470b0cac9c6f0ae07d28f7" +dependencies = [ + "rustix 0.38.44", + "windows-sys 0.48.0", +] + [[package]] name = "funty" version = "2.0.0" @@ -4525,7 +5148,7 @@ checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" dependencies = [ "futures-core", "lock_api", - "parking_lot 0.12.3", + "parking_lot 0.12.4", ] [[package]] @@ -4536,11 +5159,26 @@ checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-lite" -version = "2.6.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" +checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" dependencies = [ - "fastrand", + "fastrand 1.9.0", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", +] + +[[package]] +name = "futures-lite" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" +dependencies = [ + "fastrand 2.3.0", "futures-core", "futures-io", "parking", @@ -4555,7 +5193,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -4615,16 +5253,16 @@ dependencies = [ [[package]] name = "generator" -version = "0.8.5" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d18470a76cb7f8ff746cf1f7470914f900252ec36bbc40b569d74b1258446827" +checksum = "605183a538e3e2a9c1038635cc5c2d194e2ee8fd0d1b66b8349fad7dbacce5a2" dependencies = [ "cc", "cfg-if", "libc", "log", "rustversion", - "windows 0.61.1", + "windows 0.61.3", ] [[package]] @@ -4666,7 +5304,7 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.11.1+wasi-snapshot-preview1", "wasm-bindgen", ] @@ -4677,9 +5315,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" dependencies = [ "cfg-if", + "js-sys", "libc", "r-efi", - "wasi 0.14.2+wasi-0.2.4", + "wasi 0.14.4+wasi-0.2.4", + "wasm-bindgen", ] [[package]] @@ -4731,9 +5371,21 @@ checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "glob" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" + +[[package]] +name = "gloo-timers" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbb143cf96099802033e0d4f4963b19fd2e0b728bcf076cd9cf7f6634f092994" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", +] [[package]] name = "governor" @@ -4747,7 +5399,7 @@ dependencies = [ "futures-timer", "no-std-compat", "nonzero_ext", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "portable-atomic", "quanta", "rand 0.8.5", @@ -4768,9 +5420,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.26" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +checksum = "0beca50380b1fc32983fc1cb4587bfa4bb9e78fc259aad4a0032d2080309222d" dependencies = [ "bytes", "fnv", @@ -4778,7 +5430,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.9.0", + "indexmap 2.11.0", "slab", "tokio", "tokio-util", @@ -4787,9 +5439,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.10" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9421a676d1b147b16b82c9225157dc629087ef8ec4d5e2960f9437a90dac0a5" +checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386" dependencies = [ "atomic-waker", "bytes", @@ -4797,7 +5449,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.3.1", - "indexmap 2.9.0", + "indexmap 2.11.0", "slab", "tokio", "tokio-util", @@ -4861,13 +5513,13 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.3" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ "allocator-api2", "equivalent", - "foldhash", + "foldhash 0.1.5", "serde", ] @@ -4903,15 +5555,9 @@ checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" [[package]] name = "hermit-abi" -version = "0.4.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" - -[[package]] -name = "hermit-abi" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f154ce46856750ed433c8649605bf7ed2de3bc35fd9d2a9f30cddd873c80cb08" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hex" @@ -4953,12 +5599,12 @@ dependencies = [ "futures-channel", "futures-io", "futures-util", - "idna 1.0.3", + "idna 1.1.0", "ipnet", "once_cell", - "rand 0.9.1", + "rand 0.9.2", "ring 0.17.14", - "thiserror 2.0.12", + "thiserror 2.0.16", "tinyvec", "tokio", "tracing", @@ -4977,11 +5623,11 @@ dependencies = [ "ipconfig", "moka", "once_cell", - "parking_lot 0.12.3", - "rand 0.9.1", + "parking_lot 0.12.4", + "rand 0.9.2", "resolv-conf", "smallvec", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tracing", ] @@ -5109,14 +5755,14 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2 0.3.26", + "h2 0.3.27", "http 0.2.12", "http-body 0.4.6", "httparse", "httpdate", "itoa", "pin-project-lite", - "socket2 0.5.9", + "socket2 0.5.10", "tokio", "tower-service", "tracing", @@ -5125,20 +5771,22 @@ dependencies = [ [[package]] name = "hyper" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" +checksum = "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e" dependencies = [ + "atomic-waker", "bytes", "futures-channel", - "futures-util", - "h2 0.4.10", + "futures-core", + "h2 0.4.12", "http 1.3.1", "http-body 1.0.1", "httparse", "httpdate", "itoa", "pin-project-lite", + "pin-utils", "smallvec", "tokio", "want", @@ -5162,38 +5810,42 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.5" +version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" +checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ - "futures-util", "http 1.3.1", - "hyper 1.6.0", + "hyper 1.7.0", "hyper-util", "log", - "rustls 0.23.27", + "rustls 0.23.31", "rustls-native-certs 0.8.1", "rustls-pki-types", "tokio", "tokio-rustls 0.26.2", "tower-service", + "webpki-roots 1.0.2", ] [[package]] name = "hyper-util" -version = "0.1.11" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497bbc33a26fdd4af9ed9c70d63f61cf56a938375fbb32df34db9b1cd6d643f2" +checksum = "8d9b05277c7e8da2c93a568989bb6207bef0112e8d17df7a6eda4a3cf143bc5e" dependencies = [ + "base64 0.22.1", "bytes", "futures-channel", + "futures-core", "futures-util", "http 1.3.1", "http-body 1.0.1", - "hyper 1.6.0", + "hyper 1.7.0", + "ipnet", "libc", + "percent-encoding", "pin-project-lite", - "socket2 0.5.9", + "socket2 0.6.0", "tokio", "tower-service", "tracing", @@ -5211,7 +5863,7 @@ dependencies = [ "js-sys", "log", "wasm-bindgen", - "windows-core 0.61.0", + "windows-core 0.61.2", ] [[package]] @@ -5272,9 +5924,9 @@ checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" [[package]] name = "icu_properties" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2549ca8c7241c82f59c80ba2a6f415d931c5b58d24fb8412caa1a1f02c49139a" +checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" dependencies = [ "displaydoc", "icu_collections", @@ -5288,9 +5940,9 @@ dependencies = [ [[package]] name = "icu_properties_data" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8197e866e47b68f8f7d95249e172903bec06004b18b2937f1095d40a0c57de04" +checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" [[package]] name = "icu_provider" @@ -5338,9 +5990,9 @@ dependencies = [ [[package]] name = "idna" -version = "1.0.3" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" dependencies = [ "idna_adapter", "smallvec", @@ -5373,7 +6025,7 @@ version = "3.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdf9d64cfcf380606e64f9a0bcf493616b65331199f984151a6fa11a7b3cde38" dependencies = [ - "async-io", + "async-io 2.5.0", "core-foundation 0.9.4", "fnv", "futures", @@ -5473,7 +6125,7 @@ checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -5508,12 +6160,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.9.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +checksum = "f2481980430f9f78649238835720ddccc57e52df14ffce1c6f37391d61b563e9" dependencies = [ "equivalent", - "hashbrown 0.15.3", + "hashbrown 0.15.5", "serde", ] @@ -5561,6 +6213,17 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "io-uring" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b" +dependencies = [ + "bitflags 2.9.4", + "cfg-if", + "libc", +] + [[package]] name = "ip_network" version = "0.4.1" @@ -5573,7 +6236,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "socket2 0.5.9", + "socket2 0.5.10", "widestring", "windows-sys 0.48.0", "winreg", @@ -5585,17 +6248,36 @@ version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" +[[package]] +name = "iri-string" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" +dependencies = [ + "memchr", + "serde", +] + [[package]] name = "is-terminal" version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" dependencies = [ - "hermit-abi 0.5.1", + "hermit-abi 0.5.2", "libc", "windows-sys 0.59.0", ] +[[package]] +name = "is_executable" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baabb8b4867b26294d818bf3f651a454b6901431711abb96e296245888d6e8c4" +dependencies = [ + "windows-sys 0.60.2", +] + [[package]] name = "is_terminal_polyfill" version = "1.70.1" @@ -5658,6 +6340,22 @@ dependencies = [ "walkdir", ] +[[package]] +name = "jni" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if", + "combine", + "jni-sys", + "log", + "thiserror 1.0.69", + "walkdir", + "windows-sys 0.45.0", +] + [[package]] name = "jni-sys" version = "0.3.0" @@ -5666,9 +6364,9 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "jobserver" -version = "0.1.33" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ "getrandom 0.3.3", "libc", @@ -5676,9 +6374,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.77" +version = "0.3.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +checksum = "0c0b063578492ceec17683ef2f8c5e89121fbd0b172cbc280635ab7567db2738" dependencies = [ "once_cell", "wasm-bindgen", @@ -5704,7 +6402,7 @@ checksum = "62b089779ad7f80768693755a031cc14a7766aba707cbe886674e3f79e9b7e47" dependencies = [ "jsonrpsee-core 0.23.2", "jsonrpsee-types 0.23.2", - "jsonrpsee-ws-client", + "jsonrpsee-ws-client 0.23.2", ] [[package]] @@ -5717,6 +6415,7 @@ dependencies = [ "jsonrpsee-proc-macros", "jsonrpsee-server", "jsonrpsee-types 0.24.9", + "jsonrpsee-ws-client 0.24.9", "tokio", "tracing", ] @@ -5753,9 +6452,32 @@ dependencies = [ "http 1.3.1", "jsonrpsee-core 0.23.2", "pin-project", - "rustls 0.23.27", + "rustls 0.23.31", "rustls-pki-types", - "rustls-platform-verifier", + "rustls-platform-verifier 0.3.4", + "soketto 0.8.1", + "thiserror 1.0.69", + "tokio", + "tokio-rustls 0.26.2", + "tokio-util", + "tracing", + "url", +] + +[[package]] +name = "jsonrpsee-client-transport" +version = "0.24.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bacb85abf4117092455e1573625e21b8f8ef4dec8aff13361140b2dc266cdff2" +dependencies = [ + "base64 0.22.1", + "futures-util", + "http 1.3.1", + "jsonrpsee-core 0.24.9", + "pin-project", + "rustls 0.23.31", + "rustls-pki-types", + "rustls-platform-verifier 0.5.3", "soketto 0.8.1", "thiserror 1.0.69", "tokio", @@ -5818,18 +6540,21 @@ checksum = "456196007ca3a14db478346f58c7238028d55ee15c1df15115596e411ff27925" dependencies = [ "async-trait", "bytes", + "futures-timer", "futures-util", "http 1.3.1", "http-body 1.0.1", "http-body-util", "jsonrpsee-types 0.24.9", - "parking_lot 0.12.3", + "parking_lot 0.12.4", + "pin-project", "rand 0.8.5", "rustc-hash 2.1.1", "serde", "serde_json", "thiserror 1.0.69", "tokio", + "tokio-stream", "tracing", ] @@ -5848,7 +6573,7 @@ dependencies = [ "serde_json", "thiserror 1.0.69", "tokio", - "tower", + "tower 0.4.13", "tracing", "url", ] @@ -5863,7 +6588,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -5876,7 +6601,7 @@ dependencies = [ "http 1.3.1", "http-body 1.0.1", "http-body-util", - "hyper 1.6.0", + "hyper 1.7.0", "hyper-util", "jsonrpsee-core 0.24.9", "jsonrpsee-types 0.24.9", @@ -5889,7 +6614,7 @@ dependencies = [ "tokio", "tokio-stream", "tokio-util", - "tower", + "tower 0.4.13", "tracing", ] @@ -5944,6 +6669,19 @@ dependencies = [ "url", ] +[[package]] +name = "jsonrpsee-ws-client" +version = "0.24.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01b3323d890aa384f12148e8d2a1fd18eb66e9e7e825f9de4fa53bcc19b93eef" +dependencies = [ + "http 1.3.1", + "jsonrpsee-client-transport 0.24.9", + "jsonrpsee-core 0.24.9", + "jsonrpsee-types 0.24.9", + "url", +] + [[package]] name = "k256" version = "0.13.4" @@ -5987,12 +6725,32 @@ dependencies = [ "tiny-keccak", ] +[[package]] +name = "keccak-hasher" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ea4653859ca2266a86419d3f592d3f22e7a854b482f99180d2498507902048" +dependencies = [ + "hash-db", + "hash256-std-hasher", + "tiny-keccak", +] + [[package]] name = "keystream" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c33070833c9ee02266356de0c43f723152bd38bd96ddf52c82b3af10c9138b28" +[[package]] +name = "kv-log-macro" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" +dependencies = [ + "log", +] + [[package]] name = "kvdb" version = "0.13.0" @@ -6009,7 +6767,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf7a85fe66f9ff9cd74e169fdd2c94c6e1e74c412c99a73b4df3200b5d3760b2" dependencies = [ "kvdb", - "parking_lot 0.12.3", + "parking_lot 0.12.4", ] [[package]] @@ -6020,12 +6778,46 @@ checksum = "b644c70b92285f66bfc2032922a79000ea30af7bc2ab31902992a5dcb9b434f6" dependencies = [ "kvdb", "num_cpus", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "regex", "rocksdb", "smallvec", ] +[[package]] +name = "landlock" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9baa9eeb6e315942429397e617a190f4fdc696ef1ee0342939d641029cbb4ea7" +dependencies = [ + "enumflags2", + "libc", + "thiserror 1.0.69", +] + +[[package]] +name = "lazy-regex" +version = "3.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60c7310b93682b36b98fa7ea4de998d3463ccbebd94d935d6b48ba5b6ffa7126" +dependencies = [ + "lazy-regex-proc_macros", + "once_cell", + "regex", +] + +[[package]] +name = "lazy-regex-proc_macros" +version = "3.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ba01db5ef81e17eb10a5e0f2109d1b3a3e29bac3070fdbd7d156bf7dbd206a1" +dependencies = [ + "proc-macro2", + "quote", + "regex", + "syn 2.0.106", +] + [[package]] name = "lazy_static" version = "1.5.0" @@ -6043,18 +6835,18 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.172" +version = "0.2.175" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" +checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" [[package]] name = "libloading" -version = "0.8.7" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a793df0d7afeac54f95b471d3af7f0d4fb975699f972341a4b76988d49cdf0c" +checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" dependencies = [ "cfg-if", - "windows-targets 0.53.0", + "windows-targets 0.53.3", ] [[package]] @@ -6141,7 +6933,7 @@ dependencies = [ "multihash 0.19.3", "multistream-select", "once_cell", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "pin-project", "quick-protobuf", "rand 0.8.5", @@ -6163,7 +6955,7 @@ dependencies = [ "libp2p-core", "libp2p-identity", "log", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "smallvec", "trust-dns-resolver", ] @@ -6183,7 +6975,7 @@ dependencies = [ "libp2p-identity", "libp2p-swarm", "log", - "lru", + "lru 0.12.5", "quick-protobuf", "quick-protobuf-codec", "smallvec", @@ -6193,9 +6985,9 @@ dependencies = [ [[package]] name = "libp2p-identity" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbb68ea10844211a59ce46230909fd0ea040e8a192454d4cc2ee0d53e12280eb" +checksum = "3104e13b51e4711ff5738caa1fb54467c8604c2e94d607e27745bcf709068774" dependencies = [ "bs58", "ed25519-dalek", @@ -6204,7 +6996,7 @@ dependencies = [ "quick-protobuf", "rand 0.8.5", "sha2 0.10.9", - "thiserror 2.0.12", + "thiserror 2.0.16", "tracing", "zeroize", ] @@ -6253,7 +7045,7 @@ dependencies = [ "log", "rand 0.8.5", "smallvec", - "socket2 0.5.9", + "socket2 0.5.10", "tokio", "trust-dns-proto 0.22.0", "void", @@ -6333,12 +7125,12 @@ dependencies = [ "libp2p-identity", "libp2p-tls", "log", - "parking_lot 0.12.3", - "quinn", + "parking_lot 0.12.4", + "quinn 0.10.2", "rand 0.8.5", "ring 0.16.20", "rustls 0.21.12", - "socket2 0.5.9", + "socket2 0.5.10", "thiserror 1.0.69", "tokio", ] @@ -6394,7 +7186,7 @@ dependencies = [ "proc-macro-warning 0.4.2", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -6410,7 +7202,7 @@ dependencies = [ "libp2p-core", "libp2p-identity", "log", - "socket2 0.5.9", + "socket2 0.5.10", "tokio", ] @@ -6475,7 +7267,7 @@ dependencies = [ "libp2p-core", "libp2p-identity", "log", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "pin-project-lite", "rw-stream-sink", "soketto 0.8.1", @@ -6499,13 +7291,13 @@ dependencies = [ [[package]] name = "libredox" -version = "0.1.3" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +checksum = "391290121bad3d37fbddad76d8f5d1c1c314cfc646d143d7e07a3086ddff0ce3" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.4", "libc", - "redox_syscall 0.5.12", + "redox_syscall 0.5.17", ] [[package]] @@ -6514,13 +7306,15 @@ version = "0.11.0+8.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3386f101bcb4bd252d8e9d2fb41ec3b0862a15a62b478c355b2982efa469e3e" dependencies = [ - "bindgen", + "bindgen 0.65.1", "bzip2-sys", "cc", "glob", "libc", "libz-sys", + "lz4-sys", "tikv-jemalloc-sys", + "zstd-sys", ] [[package]] @@ -6595,9 +7389,9 @@ dependencies = [ [[package]] name = "link-cplusplus" -version = "1.0.10" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a6f6da007f968f9def0d65a05b187e2960183de70c160204ecfccf0ee330212" +checksum = "7f78c730aaa7d0b9336a299029ea49f9ee53b0ed06e9202e8cb7db9bae7b8c82" dependencies = [ "cc", ] @@ -6632,6 +7426,12 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" +[[package]] +name = "linux-raw-sys" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" + [[package]] name = "linux-raw-sys" version = "0.4.15" @@ -6676,24 +7476,24 @@ dependencies = [ "futures", "futures-timer", "hickory-resolver", - "indexmap 2.9.0", + "indexmap 2.11.0", "libc", "mockall 0.13.1", "multiaddr 0.17.1", "multihash 0.17.0", "network-interface", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "pin-project", "prost 0.13.5", - "prost-build", + "prost-build 0.13.5", "rand 0.8.5", "serde", "sha2 0.10.9", "simple-dns", "smallvec", "snow", - "socket2 0.5.9", - "thiserror 2.0.12", + "socket2 0.5.10", + "thiserror 2.0.16", "tokio", "tokio-stream", "tokio-tungstenite", @@ -6704,16 +7504,16 @@ dependencies = [ "url", "x25519-dalek", "x509-parser 0.17.0", - "yamux 0.13.5", + "yamux 0.13.6", "yasna", "zeroize", ] [[package]] name = "lock_api" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" dependencies = [ "autocfg", "scopeguard", @@ -6721,9 +7521,12 @@ dependencies = [ [[package]] name = "log" -version = "0.4.27" +version = "0.4.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" +checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" +dependencies = [ + "value-bag", +] [[package]] name = "loom" @@ -6738,13 +7541,19 @@ dependencies = [ "tracing-subscriber", ] +[[package]] +name = "lru" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a83fb7698b3643a0e34f9ae6f2e8f0178c0fd42f8b59d493aa271ff3a5bf21" + [[package]] name = "lru" version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "hashbrown 0.15.3", + "hashbrown 0.15.5", ] [[package]] @@ -6756,6 +7565,12 @@ dependencies = [ "linked-hash-map", ] +[[package]] +name = "lru-slab" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" + [[package]] name = "lz4" version = "1.28.1" @@ -6792,7 +7607,7 @@ checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -6804,7 +7619,7 @@ dependencies = [ "macro_magic_core", "macro_magic_macros", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -6818,7 +7633,7 @@ dependencies = [ "macro_magic_core_macros", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -6829,7 +7644,7 @@ checksum = "b02abfe41815b5bd98dbd4260173db2c116dda171dc0fe7838cb206333b83308" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -6840,16 +7655,16 @@ checksum = "73ea28ee64b88876bf45277ed9a5817c1817df061a74f2b988971a12570e5869" dependencies = [ "macro_magic_core", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "matchers" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" dependencies = [ - "regex-automata 0.1.10", + "regex-automata", ] [[package]] @@ -6869,18 +7684,28 @@ dependencies = [ ] [[package]] -name = "memchr" -version = "2.7.4" +name = "md-5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest 0.10.7", +] + +[[package]] +name = "memchr" +version = "2.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "memfd" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" +checksum = "ad38eb12aea514a0466ea40a80fd8cc83637065948eb4a426e4aa46261175227" dependencies = [ - "rustix 0.38.44", + "rustix 1.0.8", ] [[package]] @@ -6894,9 +7719,9 @@ dependencies = [ [[package]] name = "memmap2" -version = "0.9.5" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" +checksum = "843a98750cd611cc2965a8213b53b43e715f13c37a9e096c6408e69990961db7" dependencies = [ "libc", ] @@ -6945,6 +7770,22 @@ dependencies = [ "zeroize", ] +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "mime_guess" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" +dependencies = [ + "mime", + "unicase", +] + [[package]] name = "minimal-lexical" version = "0.2.1" @@ -6953,22 +7794,22 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", ] [[package]] name = "mio" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" dependencies = [ "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", + "wasi 0.11.1+wasi-snapshot-preview1", + "windows-sys 0.59.0", ] [[package]] @@ -6987,7 +7828,7 @@ dependencies = [ "hashlink", "lioness", "log", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "rand 0.8.5", "rand_chacha 0.3.1", "rand_distr", @@ -6996,10 +7837,29 @@ dependencies = [ "zeroize", ] +[[package]] +name = "mmr-gadget" +version = "43.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "futures", + "log", + "parity-scale-codec", + "sc-client-api", + "sc-offchain", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-consensus-beefy", + "sp-core", + "sp-mmr-primitives", + "sp-runtime", +] + [[package]] name = "mmr-rpc" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "jsonrpsee 0.24.9", "parity-scale-codec", @@ -7061,7 +7921,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -7074,7 +7934,7 @@ dependencies = [ "crossbeam-epoch", "crossbeam-utils", "loom", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "portable-atomic", "rustc_version 0.4.1", "smallvec", @@ -7291,7 +8151,7 @@ dependencies = [ "log", "netlink-packet-core", "netlink-sys", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] @@ -7309,13 +8169,13 @@ dependencies = [ [[package]] name = "network-interface" -version = "2.0.1" +version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3329f515506e4a2de3aa6e07027a6758e22e0f0e8eaf64fa47261cec2282602" +checksum = "07709a6d4eba90ab10ec170a0530b3aafc81cb8a2d380e4423ae41fc55fe5745" dependencies = [ "cc", "libc", - "thiserror 1.0.69", + "thiserror 2.0.16", "winapi", ] @@ -7330,6 +8190,18 @@ dependencies = [ "libc", ] +[[package]] +name = "nix" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" +dependencies = [ + "bitflags 2.9.4", + "cfg-if", + "cfg_aliases 0.1.1", + "libc", +] + [[package]] name = "no-std-compat" version = "0.4.1" @@ -7384,12 +8256,11 @@ checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" [[package]] name = "nu-ansi-term" -version = "0.46.0" +version = "0.50.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +checksum = "d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399" dependencies = [ - "overload", - "winapi", + "windows-sys 0.52.0", ] [[package]] @@ -7484,33 +8355,34 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" dependencies = [ - "hermit-abi 0.3.9", + "hermit-abi 0.5.2", "libc", ] [[package]] name = "num_enum" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" +checksum = "a973b4e44ce6cad84ce69d797acf9a044532e4184c4f267913d1b546a0727b7a" dependencies = [ "num_enum_derive", + "rustversion", ] [[package]] name = "num_enum_derive" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" +checksum = "77e878c846a8abae00dd069496dbe8751b16ac1c3d6bd2a7283a938e8228f90d" dependencies = [ - "proc-macro-crate 3.3.0", + "proc-macro-crate 1.1.3", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -7571,6 +8443,12 @@ dependencies = [ "portable-atomic", ] +[[package]] +name = "once_cell_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" + [[package]] name = "opaque-debug" version = "0.2.3" @@ -7585,11 +8463,11 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "openssl" -version = "0.10.72" +version = "0.10.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da" +checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.4", "cfg-if", "foreign-types", "libc", @@ -7606,7 +8484,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -7617,18 +8495,18 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-src" -version = "300.4.2+3.4.1" +version = "300.5.2+3.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168ce4e058f975fe43e89d9ccf78ca668601887ae736090aacc23ae353c298e2" +checksum = "d270b79e2926f5150189d475bc7e9d2c69f9c4697b185fa917d5a32b792d21b4" dependencies = [ "cc", ] [[package]] name = "openssl-sys" -version = "0.9.108" +version = "0.9.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e145e1651e858e820e4860f7b9c5e169bc1d8ce1c86043be79fa7b7634821847" +checksum = "90096e2e47630d78b7d1c20952dc621f957103f8bc2c8359ec81290d75238571" dependencies = [ "cc", "libc", @@ -7645,9 +8523,9 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "orchestra" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f6bbacc8c189a3f2e45e0fd0436e5d97f194db888e721bdbc3973e7dbed4c2" +checksum = "19051f0b0512402f5d52d6776999f55996f01887396278aeeccbbdfbc83eef2d" dependencies = [ "async-trait", "dyn-clonable", @@ -7662,14 +8540,14 @@ dependencies = [ [[package]] name = "orchestra-proc-macro" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7b1d40dd8f367db3c65bec8d3dd47d4a604ee8874480738f93191bddab4e0e0" +checksum = "43dfaf083aef571385fccfdc3a2f8ede8d0a1863160455d4f2b014d8f7d04a3f" dependencies = [ "expander", - "indexmap 2.9.0", + "indexmap 2.11.0", "itertools 0.11.0", - "petgraph", + "petgraph 0.6.5", "proc-macro-crate 3.3.0", "proc-macro2", "quote", @@ -7677,15 +8555,18 @@ dependencies = [ ] [[package]] -name = "overload" -version = "0.1.1" +name = "ordered-float" +version = "3.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" +checksum = "f1e1c390732d15f1d48471625cd92d154e66db2c56645e29a9cd26f4699f72dc" +dependencies = [ + "num-traits", +] [[package]] name = "pallet-asset-conversion" version = "21.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-benchmarking", "frame-support", @@ -7703,7 +8584,7 @@ dependencies = [ [[package]] name = "pallet-asset-rate" version = "18.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-benchmarking", "frame-support", @@ -7714,10 +8595,43 @@ dependencies = [ "sp-runtime", ] +[[package]] +name = "pallet-asset-tx-payment" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "pallet-transaction-payment", + "parity-scale-codec", + "scale-info", + "serde", + "sp-core", + "sp-io", + "sp-runtime", +] + +[[package]] +name = "pallet-assets" +version = "41.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "scale-info", + "sp-core", + "sp-runtime", +] + [[package]] name = "pallet-authority-discovery" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-support", "frame-system", @@ -7732,7 +8646,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-support", "frame-system", @@ -7745,7 +8659,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "39.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-benchmarking", "frame-support", @@ -7768,7 +8682,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "40.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "docify", "frame-benchmarking", @@ -7783,7 +8697,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "40.1.1" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-support", "frame-system", @@ -7802,7 +8716,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "40.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "array-bytes", "binary-merkle-tree", @@ -7827,7 +8741,7 @@ dependencies = [ [[package]] name = "pallet-broker" version = "0.18.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "bitvec", "frame-benchmarking", @@ -7845,7 +8759,7 @@ dependencies = [ [[package]] name = "pallet-bucket-nfts" version = "0.1.0" -source = "git+https://github.com/Moonsong-Labs/storage-hub?rev=f8281283b6003a3009a32431ed0f3cd628561d6b#f8281283b6003a3009a32431ed0f3cd628561d6b" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" dependencies = [ "frame-benchmarking", "frame-support", @@ -7866,10 +8780,29 @@ dependencies = [ "sp-std", ] +[[package]] +name = "pallet-collator-selection" +version = "20.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-authorship", + "pallet-balances", + "pallet-session", + "parity-scale-codec", + "rand 0.8.5", + "scale-info", + "sp-runtime", + "sp-staking", +] + [[package]] name = "pallet-collective" version = "39.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "docify", "frame-benchmarking", @@ -7886,7 +8819,7 @@ dependencies = [ [[package]] name = "pallet-conviction-voting" version = "39.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "assert_matches", "frame-benchmarking", @@ -7902,7 +8835,7 @@ dependencies = [ [[package]] name = "pallet-cr-randomness" version = "0.1.0" -source = "git+https://github.com/Moonsong-Labs/storage-hub?rev=f8281283b6003a3009a32431ed0f3cd628561d6b#f8281283b6003a3009a32431ed0f3cd628561d6b" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" dependencies = [ "frame-support", "frame-system", @@ -7942,7 +8875,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "38.2.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -7964,7 +8897,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-support-benchmarking" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -7977,7 +8910,7 @@ dependencies = [ [[package]] name = "pallet-ethereum" version = "4.0.0-dev" -source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#75329a2df49e2cc7981485392c31160929d1bd48" dependencies = [ "ethereum", "ethereum-types", @@ -8000,7 +8933,7 @@ dependencies = [ [[package]] name = "pallet-evm" version = "6.0.0-dev" -source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#75329a2df49e2cc7981485392c31160929d1bd48" dependencies = [ "environmental", "evm", @@ -8023,7 +8956,7 @@ dependencies = [ [[package]] name = "pallet-evm-chain-id" version = "1.0.0-dev" -source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#75329a2df49e2cc7981485392c31160929d1bd48" dependencies = [ "frame-support", "frame-system", @@ -8055,7 +8988,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-blake2" version = "2.0.0-dev" -source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#75329a2df49e2cc7981485392c31160929d1bd48" dependencies = [ "fp-evm", ] @@ -8063,7 +8996,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-bn128" version = "2.0.0-dev" -source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#75329a2df49e2cc7981485392c31160929d1bd48" dependencies = [ "fp-evm", "sp-core", @@ -8095,7 +9028,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-modexp" version = "2.0.0-dev" -source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#75329a2df49e2cc7981485392c31160929d1bd48" dependencies = [ "fp-evm", "num", @@ -8122,7 +9055,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-sha3fips" version = "2.0.0-dev" -source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#75329a2df49e2cc7981485392c31160929d1bd48" dependencies = [ "fp-evm", "tiny-keccak", @@ -8131,7 +9064,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-simple" version = "2.0.0-dev" -source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#75329a2df49e2cc7981485392c31160929d1bd48" dependencies = [ "fp-evm", "ripemd", @@ -8200,7 +9133,7 @@ dependencies = [ [[package]] name = "pallet-fast-unstake" version = "38.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "docify", "frame-benchmarking", @@ -8218,7 +9151,7 @@ dependencies = [ [[package]] name = "pallet-file-system" version = "0.1.0" -source = "git+https://github.com/Moonsong-Labs/storage-hub?rev=f8281283b6003a3009a32431ed0f3cd628561d6b#f8281283b6003a3009a32431ed0f3cd628561d6b" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" dependencies = [ "frame-benchmarking", "frame-support", @@ -8245,7 +9178,7 @@ dependencies = [ [[package]] name = "pallet-file-system-runtime-api" version = "0.1.0" -source = "git+https://github.com/Moonsong-Labs/storage-hub?rev=f8281283b6003a3009a32431ed0f3cd628561d6b#f8281283b6003a3009a32431ed0f3cd628561d6b" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" dependencies = [ "parity-scale-codec", "scale-info", @@ -8258,7 +9191,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "39.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-benchmarking", "frame-support", @@ -8280,7 +9213,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "39.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "enumflags2", "frame-benchmarking", @@ -8296,7 +9229,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "38.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-benchmarking", "frame-support", @@ -8315,7 +9248,7 @@ dependencies = [ [[package]] name = "pallet-message-queue" version = "42.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "environmental", "frame-benchmarking", @@ -8334,7 +9267,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-benchmarking", "frame-support", @@ -8351,7 +9284,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "39.1.1" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "log", "parity-scale-codec", @@ -8362,7 +9295,7 @@ dependencies = [ [[package]] name = "pallet-nfts" version = "33.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "enumflags2", "frame-benchmarking", @@ -8379,7 +9312,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-support", "frame-system", @@ -8406,7 +9339,7 @@ dependencies = [ [[package]] name = "pallet-parameters" version = "0.10.1" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "docify", "frame-benchmarking", @@ -8423,7 +9356,7 @@ dependencies = [ [[package]] name = "pallet-payment-streams" version = "0.1.0" -source = "git+https://github.com/Moonsong-Labs/storage-hub?rev=f8281283b6003a3009a32431ed0f3cd628561d6b#f8281283b6003a3009a32431ed0f3cd628561d6b" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" dependencies = [ "frame-benchmarking", "frame-support", @@ -8443,7 +9376,7 @@ dependencies = [ [[package]] name = "pallet-payment-streams-runtime-api" version = "0.1.0" -source = "git+https://github.com/Moonsong-Labs/storage-hub?rev=f8281283b6003a3009a32431ed0f3cd628561d6b#f8281283b6003a3009a32431ed0f3cd628561d6b" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" dependencies = [ "parity-scale-codec", "scale-info", @@ -8455,7 +9388,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "39.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-benchmarking", "frame-support", @@ -8471,7 +9404,7 @@ dependencies = [ [[package]] name = "pallet-proofs-dealer" version = "0.1.0" -source = "git+https://github.com/Moonsong-Labs/storage-hub?rev=f8281283b6003a3009a32431ed0f3cd628561d6b#f8281283b6003a3009a32431ed0f3cd628561d6b" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" dependencies = [ "frame-benchmarking", "frame-support", @@ -8493,7 +9426,7 @@ dependencies = [ [[package]] name = "pallet-proofs-dealer-runtime-api" version = "0.1.0" -source = "git+https://github.com/Moonsong-Labs/storage-hub?rev=f8281283b6003a3009a32431ed0f3cd628561d6b#f8281283b6003a3009a32431ed0f3cd628561d6b" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" dependencies = [ "parity-scale-codec", "scale-info", @@ -8505,7 +9438,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "39.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -8515,7 +9448,7 @@ dependencies = [ [[package]] name = "pallet-randomness" version = "0.1.0" -source = "git+https://github.com/Moonsong-Labs/storage-hub?rev=f8281283b6003a3009a32431ed0f3cd628561d6b#f8281283b6003a3009a32431ed0f3cd628561d6b" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" dependencies = [ "frame-support", "frame-system", @@ -8534,7 +9467,7 @@ dependencies = [ [[package]] name = "pallet-referenda" version = "39.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "assert_matches", "frame-benchmarking", @@ -8552,7 +9485,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "40.2.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "docify", "frame-benchmarking", @@ -8569,7 +9502,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-support", "frame-system", @@ -8590,7 +9523,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "39.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -8612,7 +9545,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "22.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "log", "sp-arithmetic", @@ -8621,7 +9554,7 @@ dependencies = [ [[package]] name = "pallet-storage-providers" version = "0.1.0" -source = "git+https://github.com/Moonsong-Labs/storage-hub?rev=f8281283b6003a3009a32431ed0f3cd628561d6b#f8281283b6003a3009a32431ed0f3cd628561d6b" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" dependencies = [ "frame-benchmarking", "frame-support", @@ -8643,7 +9576,7 @@ dependencies = [ [[package]] name = "pallet-storage-providers-runtime-api" version = "0.1.0" -source = "git+https://github.com/Moonsong-Labs/storage-hub?rev=f8281283b6003a3009a32431ed0f3cd628561d6b#f8281283b6003a3009a32431ed0f3cd628561d6b" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" dependencies = [ "parity-scale-codec", "scale-info", @@ -8654,7 +9587,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "docify", "frame-benchmarking", @@ -8669,7 +9602,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "docify", "frame-benchmarking", @@ -8688,7 +9621,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "39.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-benchmarking", "frame-support", @@ -8704,7 +9637,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "42.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "jsonrpsee 0.24.9", "pallet-transaction-payment-rpc-runtime-api", @@ -8720,7 +9653,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -8732,7 +9665,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "38.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "docify", "frame-benchmarking", @@ -8751,7 +9684,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "39.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-benchmarking", "frame-support", @@ -8766,7 +9699,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "39.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-benchmarking", "frame-support", @@ -8780,7 +9713,7 @@ dependencies = [ [[package]] name = "pallet-whitelist" version = "38.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-benchmarking", "frame-support", @@ -8794,7 +9727,7 @@ dependencies = [ [[package]] name = "pallet-xcm" version = "18.1.1" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "bounded-collections", "frame-benchmarking", @@ -8814,6 +9747,36 @@ dependencies = [ "xcm-runtime-apis", ] +[[package]] +name = "parachains-common" +version = "19.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "cumulus-primitives-core", + "cumulus-primitives-utility", + "frame-support", + "frame-system", + "log", + "pallet-asset-tx-payment", + "pallet-assets", + "pallet-authorship", + "pallet-balances", + "pallet-collator-selection", + "pallet-message-queue", + "pallet-xcm", + "parity-scale-codec", + "polkadot-primitives", + "scale-info", + "sp-consensus-aura", + "sp-core", + "sp-io", + "sp-runtime", + "staging-parachain-info", + "staging-xcm", + "staging-xcm-executor", + "substrate-wasm-builder", +] + [[package]] name = "parity-bip39" version = "2.0.1" @@ -8847,7 +9810,7 @@ dependencies = [ "log", "lz4", "memmap2 0.5.10", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "rand 0.8.5", "siphasher 0.3.11", "snap", @@ -8856,9 +9819,9 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.7.4" +version = "3.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9fde3d0718baf5bc92f577d652001da0f8d54cd03a7974e118d04fc888dc23d" +checksum = "799781ae679d79a948e13d4824a40970bfa500058d245760dd857301059810fa" dependencies = [ "arrayvec 0.7.6", "bitvec", @@ -8873,14 +9836,14 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.7.4" +version = "3.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "581c837bb6b9541ce7faa9377c20616e4fb7650f6b0f68bc93c827ee504fb7b3" +checksum = "34b4653168b563151153c9e4c08ebed57fb8262bebfa79711552fa983c623e7a" dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -8908,12 +9871,12 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" dependencies = [ "lock_api", - "parking_lot_core 0.9.10", + "parking_lot_core 0.9.11", ] [[package]] @@ -8932,13 +9895,13 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.10" +version = "0.9.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.12", + "redox_syscall 0.5.17", "smallvec", "windows-targets 0.52.6", ] @@ -8992,27 +9955,36 @@ dependencies = [ ] [[package]] -name = "percent-encoding" -version = "2.3.1" +name = "pem-rfc7468" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + +[[package]] +name = "percent-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "pest" -version = "2.8.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "198db74531d58c70a361c42201efde7e2591e976d518caf7662a47dc5720e7b6" +checksum = "1db05f56d34358a8b1066f67cbb203ee3e7ed2ba674a6263a1d5ec6db2204323" dependencies = [ "memchr", - "thiserror 2.0.12", + "thiserror 2.0.16", "ucd-trie", ] [[package]] name = "pest_derive" -version = "2.8.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d725d9cfd79e87dccc9341a2ef39d1b6f6353d68c4b33c177febbe1a402c97c5" +checksum = "bb056d9e8ea77922845ec74a1c4e8fb17e7c218cc4fc11a15c5d25e189aa40bc" dependencies = [ "pest", "pest_generator", @@ -9020,24 +9992,23 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.8.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db7d01726be8ab66ab32f9df467ae8b1148906685bbe75c82d1e65d7f5b3f841" +checksum = "87e404e638f781eb3202dc82db6760c8ae8a1eeef7fb3fa8264b2ef280504966" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "pest_meta" -version = "2.8.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9f832470494906d1fca5329f8ab5791cc60beb230c74815dff541cbd2b5ca0" +checksum = "edd1101f170f5903fde0914f899bb503d9ff5271d7ba76bbb70bea63690cc0d5" dependencies = [ - "once_cell", "pest", "sha2 0.10.9", ] @@ -9048,8 +10019,36 @@ version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ - "fixedbitset", - "indexmap 2.9.0", + "fixedbitset 0.4.2", + "indexmap 2.11.0", +] + +[[package]] +name = "petgraph" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" +dependencies = [ + "fixedbitset 0.5.7", + "indexmap 2.11.0", +] + +[[package]] +name = "phf" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" +dependencies = [ + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" +dependencies = [ + "siphasher 1.0.1", ] [[package]] @@ -9069,7 +10068,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -9091,7 +10090,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" dependencies = [ "atomic-waker", - "fastrand", + "fastrand 2.3.0", "futures-io", ] @@ -9111,6 +10110,88 @@ version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" +[[package]] +name = "polkadot-approval-distribution" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "bitvec", + "futures", + "futures-timer", + "itertools 0.11.0", + "polkadot-node-metrics", + "polkadot-node-network-protocol", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "rand 0.8.5", + "tracing-gum", +] + +[[package]] +name = "polkadot-availability-bitfield-distribution" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "always-assert", + "futures", + "futures-timer", + "polkadot-node-network-protocol", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "rand 0.8.5", + "tracing-gum", +] + +[[package]] +name = "polkadot-availability-distribution" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "derive_more 0.99.20", + "fatality", + "futures", + "parity-scale-codec", + "polkadot-erasure-coding", + "polkadot-node-network-protocol", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "rand 0.8.5", + "sc-network", + "schnellru", + "sp-core", + "sp-keystore", + "thiserror 1.0.69", + "tracing-gum", +] + +[[package]] +name = "polkadot-availability-recovery" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "async-trait", + "fatality", + "futures", + "parity-scale-codec", + "polkadot-erasure-coding", + "polkadot-node-network-protocol", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "rand 0.8.5", + "sc-network", + "schnellru", + "thiserror 1.0.69", + "tokio", + "tracing-gum", +] + [[package]] name = "polkadot-ckb-merkle-mountain-range" version = "0.7.0" @@ -9121,10 +10202,61 @@ dependencies = [ "itertools 0.10.5", ] +[[package]] +name = "polkadot-cli" +version = "22.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "cfg-if", + "clap", + "frame-benchmarking-cli", + "futures", + "log", + "polkadot-node-metrics", + "polkadot-node-primitives", + "polkadot-service", + "sc-cli", + "sc-executor", + "sc-service", + "sc-storage-monitor", + "sc-sysinfo", + "sc-tracing", + "sp-core", + "sp-io", + "sp-keyring", + "sp-maybe-compressed-blob", + "sp-runtime", + "substrate-build-script-utils", + "thiserror 1.0.69", +] + +[[package]] +name = "polkadot-collator-protocol" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "bitvec", + "fatality", + "futures", + "futures-timer", + "polkadot-node-network-protocol", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "schnellru", + "sp-core", + "sp-keystore", + "sp-runtime", + "thiserror 1.0.69", + "tokio-util", + "tracing-gum", +] + [[package]] name = "polkadot-core-primitives" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "parity-scale-codec", "scale-info", @@ -9132,10 +10264,441 @@ dependencies = [ "sp-runtime", ] +[[package]] +name = "polkadot-dispute-distribution" +version = "21.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "derive_more 0.99.20", + "fatality", + "futures", + "futures-timer", + "indexmap 2.11.0", + "parity-scale-codec", + "polkadot-erasure-coding", + "polkadot-node-network-protocol", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "sc-network", + "schnellru", + "sp-application-crypto", + "sp-keystore", + "thiserror 1.0.69", + "tracing-gum", +] + +[[package]] +name = "polkadot-erasure-coding" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "parity-scale-codec", + "polkadot-node-primitives", + "polkadot-primitives", + "reed-solomon-novelpoly", + "sp-core", + "sp-trie", + "thiserror 1.0.69", +] + +[[package]] +name = "polkadot-gossip-support" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "futures", + "futures-timer", + "polkadot-node-network-protocol", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "rand 0.8.5", + "rand_chacha 0.3.1", + "sc-network", + "sc-network-common", + "sp-application-crypto", + "sp-core", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6)", + "sp-keystore", + "tracing-gum", +] + +[[package]] +name = "polkadot-network-bridge" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "always-assert", + "async-trait", + "bytes", + "fatality", + "futures", + "parity-scale-codec", + "parking_lot 0.12.4", + "polkadot-node-metrics", + "polkadot-node-network-protocol", + "polkadot-node-subsystem", + "polkadot-overseer", + "polkadot-primitives", + "sc-network", + "sp-consensus", + "thiserror 1.0.69", + "tracing-gum", +] + +[[package]] +name = "polkadot-node-collation-generation" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "futures", + "parity-scale-codec", + "polkadot-erasure-coding", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "schnellru", + "sp-core", + "sp-maybe-compressed-blob", + "thiserror 1.0.69", + "tracing-gum", +] + +[[package]] +name = "polkadot-node-core-approval-voting" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "async-trait", + "bitvec", + "derive_more 0.99.20", + "futures", + "futures-timer", + "itertools 0.11.0", + "kvdb", + "merlin", + "parity-scale-codec", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-overseer", + "polkadot-primitives", + "rand 0.8.5", + "rand_chacha 0.3.1", + "rand_core 0.6.4", + "sc-keystore", + "schnellru", + "schnorrkel 0.11.5", + "sp-application-crypto", + "sp-consensus", + "sp-consensus-slots", + "sp-runtime", + "thiserror 1.0.69", + "tracing-gum", +] + +[[package]] +name = "polkadot-node-core-approval-voting-parallel" +version = "0.4.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "async-trait", + "futures", + "futures-timer", + "itertools 0.11.0", + "polkadot-approval-distribution", + "polkadot-node-core-approval-voting", + "polkadot-node-metrics", + "polkadot-node-network-protocol", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-overseer", + "polkadot-primitives", + "rand 0.8.5", + "rand_chacha 0.3.1", + "rand_core 0.6.4", + "sc-keystore", + "sp-application-crypto", + "sp-consensus", + "sp-consensus-slots", + "sp-runtime", + "thiserror 1.0.69", + "tracing-gum", +] + +[[package]] +name = "polkadot-node-core-av-store" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "bitvec", + "futures", + "futures-timer", + "kvdb", + "parity-scale-codec", + "polkadot-erasure-coding", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-overseer", + "polkadot-primitives", + "sp-consensus", + "thiserror 1.0.69", + "tracing-gum", +] + +[[package]] +name = "polkadot-node-core-backing" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "bitvec", + "fatality", + "futures", + "polkadot-erasure-coding", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-parachain-primitives", + "polkadot-primitives", + "polkadot-statement-table", + "schnellru", + "sp-keystore", + "thiserror 1.0.69", + "tracing-gum", +] + +[[package]] +name = "polkadot-node-core-bitfield-signing" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "futures", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "sp-keystore", + "thiserror 1.0.69", + "tracing-gum", + "wasm-timer", +] + +[[package]] +name = "polkadot-node-core-candidate-validation" +version = "21.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "async-trait", + "futures", + "futures-timer", + "parity-scale-codec", + "polkadot-node-core-pvf", + "polkadot-node-metrics", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-overseer", + "polkadot-parachain-primitives", + "polkadot-primitives", + "sp-application-crypto", + "sp-keystore", + "tracing-gum", +] + +[[package]] +name = "polkadot-node-core-chain-api" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "futures", + "polkadot-node-metrics", + "polkadot-node-subsystem", + "polkadot-node-subsystem-types", + "sc-client-api", + "sc-consensus-babe", + "tracing-gum", +] + +[[package]] +name = "polkadot-node-core-chain-selection" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "futures", + "futures-timer", + "kvdb", + "parity-scale-codec", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "thiserror 1.0.69", + "tracing-gum", +] + +[[package]] +name = "polkadot-node-core-dispute-coordinator" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "fatality", + "futures", + "kvdb", + "parity-scale-codec", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "sc-keystore", + "schnellru", + "thiserror 1.0.69", + "tracing-gum", +] + +[[package]] +name = "polkadot-node-core-parachains-inherent" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "async-trait", + "futures", + "futures-timer", + "polkadot-node-subsystem", + "polkadot-overseer", + "polkadot-primitives", + "sp-blockchain", + "sp-inherents", + "thiserror 1.0.69", + "tracing-gum", +] + +[[package]] +name = "polkadot-node-core-prospective-parachains" +version = "20.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "fatality", + "futures", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "thiserror 1.0.69", + "tracing-gum", +] + +[[package]] +name = "polkadot-node-core-provisioner" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "bitvec", + "fatality", + "futures", + "futures-timer", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "schnellru", + "thiserror 1.0.69", + "tracing-gum", +] + +[[package]] +name = "polkadot-node-core-pvf" +version = "21.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "always-assert", + "array-bytes", + "blake3", + "cfg-if", + "futures", + "futures-timer", + "parity-scale-codec", + "pin-project", + "polkadot-core-primitives", + "polkadot-node-core-pvf-common", + "polkadot-node-metrics", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-parachain-primitives", + "polkadot-primitives", + "rand 0.8.5", + "slotmap", + "sp-core", + "strum 0.26.3", + "tempfile", + "thiserror 1.0.69", + "tokio", + "tracing-gum", +] + +[[package]] +name = "polkadot-node-core-pvf-checker" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "futures", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-overseer", + "polkadot-primitives", + "sp-keystore", + "thiserror 1.0.69", + "tracing-gum", +] + +[[package]] +name = "polkadot-node-core-pvf-common" +version = "17.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "cpu-time", + "futures", + "landlock", + "libc", + "nix 0.28.0", + "parity-scale-codec", + "polkadot-parachain-primitives", + "polkadot-primitives", + "sc-executor", + "sc-executor-common", + "sc-executor-wasmtime", + "seccompiler", + "sp-core", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6)", + "sp-externalities", + "sp-io", + "sp-tracing", + "thiserror 1.0.69", + "tracing-gum", +] + +[[package]] +name = "polkadot-node-core-runtime-api" +version = "21.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "futures", + "polkadot-node-metrics", + "polkadot-node-subsystem", + "polkadot-node-subsystem-types", + "polkadot-primitives", + "schnellru", + "sp-consensus-babe", + "tracing-gum", +] + [[package]] name = "polkadot-node-metrics" version = "21.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "bs58", "futures", @@ -9154,7 +10717,7 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "async-channel 1.9.0", "async-trait", @@ -9179,7 +10742,7 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" version = "17.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "bitvec", "bounded-vec", @@ -9189,7 +10752,7 @@ dependencies = [ "polkadot-parachain-primitives", "polkadot-primitives", "sc-keystore", - "schnorrkel", + "schnorrkel 0.11.5", "serde", "sp-application-crypto", "sp-consensus-babe", @@ -9202,10 +10765,19 @@ dependencies = [ "zstd 0.12.4", ] +[[package]] +name = "polkadot-node-subsystem" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "polkadot-node-subsystem-types", + "polkadot-overseer", +] + [[package]] name = "polkadot-node-subsystem-types" version = "21.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "async-trait", "bitvec", @@ -9231,16 +10803,51 @@ dependencies = [ "thiserror 1.0.69", ] +[[package]] +name = "polkadot-node-subsystem-util" +version = "21.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "async-trait", + "derive_more 0.99.20", + "fatality", + "futures", + "futures-channel", + "itertools 0.11.0", + "kvdb", + "parity-db", + "parity-scale-codec", + "parking_lot 0.12.4", + "pin-project", + "polkadot-erasure-coding", + "polkadot-node-metrics", + "polkadot-node-network-protocol", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-types", + "polkadot-overseer", + "polkadot-primitives", + "prioritized-metered-channel", + "rand 0.8.5", + "sc-client-api", + "schnellru", + "sp-application-crypto", + "sp-core", + "sp-keystore", + "thiserror 1.0.69", + "tracing-gum", +] + [[package]] name = "polkadot-overseer" version = "21.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "async-trait", "futures", "futures-timer", "orchestra", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "polkadot-node-metrics", "polkadot-node-network-protocol", "polkadot-node-primitives", @@ -9256,7 +10863,7 @@ dependencies = [ [[package]] name = "polkadot-parachain-primitives" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "bounded-collections", "derive_more 0.99.20", @@ -9272,7 +10879,7 @@ dependencies = [ [[package]] name = "polkadot-primitives" version = "17.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "bitvec", "hex-literal 0.4.1", @@ -9297,10 +10904,45 @@ dependencies = [ "thiserror 1.0.69", ] +[[package]] +name = "polkadot-rpc" +version = "22.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "jsonrpsee 0.24.9", + "mmr-rpc", + "pallet-transaction-payment-rpc", + "polkadot-primitives", + "sc-chain-spec", + "sc-client-api", + "sc-consensus-babe", + "sc-consensus-babe-rpc", + "sc-consensus-beefy", + "sc-consensus-beefy-rpc", + "sc-consensus-epochs", + "sc-consensus-grandpa", + "sc-consensus-grandpa-rpc", + "sc-rpc", + "sc-rpc-spec-v2", + "sc-sync-state-rpc", + "sc-transaction-pool-api", + "sp-api", + "sp-application-crypto", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", + "sp-consensus-beefy", + "sp-keystore", + "sp-runtime", + "substrate-frame-rpc-system", + "substrate-state-trie-migration-rpc", +] + [[package]] name = "polkadot-runtime-common" version = "18.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "bitvec", "frame-benchmarking", @@ -9351,7 +10993,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "bs58", "frame-benchmarking", @@ -9363,7 +11005,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" version = "18.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "bitflags 1.3.2", "bitvec", @@ -9412,7 +11054,7 @@ dependencies = [ [[package]] name = "polkadot-sdk-frame" version = "0.8.1" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "docify", "frame-benchmarking", @@ -9443,10 +11085,139 @@ dependencies = [ "sp-version", ] +[[package]] +name = "polkadot-service" +version = "22.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "async-trait", + "frame-benchmarking", + "frame-benchmarking-cli", + "frame-system", + "frame-system-rpc-runtime-api", + "futures", + "is_executable", + "kvdb", + "kvdb-rocksdb", + "log", + "mmr-gadget", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "parity-db", + "parity-scale-codec", + "parking_lot 0.12.4", + "polkadot-approval-distribution", + "polkadot-availability-bitfield-distribution", + "polkadot-availability-distribution", + "polkadot-availability-recovery", + "polkadot-collator-protocol", + "polkadot-core-primitives", + "polkadot-dispute-distribution", + "polkadot-gossip-support", + "polkadot-network-bridge", + "polkadot-node-collation-generation", + "polkadot-node-core-approval-voting", + "polkadot-node-core-approval-voting-parallel", + "polkadot-node-core-av-store", + "polkadot-node-core-backing", + "polkadot-node-core-bitfield-signing", + "polkadot-node-core-candidate-validation", + "polkadot-node-core-chain-api", + "polkadot-node-core-chain-selection", + "polkadot-node-core-dispute-coordinator", + "polkadot-node-core-parachains-inherent", + "polkadot-node-core-prospective-parachains", + "polkadot-node-core-provisioner", + "polkadot-node-core-pvf", + "polkadot-node-core-pvf-checker", + "polkadot-node-core-runtime-api", + "polkadot-node-network-protocol", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-types", + "polkadot-node-subsystem-util", + "polkadot-overseer", + "polkadot-primitives", + "polkadot-rpc", + "polkadot-runtime-parachains", + "polkadot-statement-distribution", + "sc-authority-discovery", + "sc-basic-authorship", + "sc-chain-spec", + "sc-client-api", + "sc-consensus", + "sc-consensus-babe", + "sc-consensus-beefy", + "sc-consensus-grandpa", + "sc-consensus-slots", + "sc-executor", + "sc-keystore", + "sc-network", + "sc-network-sync", + "sc-offchain", + "sc-service", + "sc-sync-state-rpc", + "sc-sysinfo", + "sc-telemetry", + "sc-transaction-pool", + "sc-transaction-pool-api", + "serde", + "serde_json", + "sp-api", + "sp-authority-discovery", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", + "sp-consensus-beefy", + "sp-consensus-grandpa", + "sp-core", + "sp-genesis-builder", + "sp-inherents", + "sp-io", + "sp-keyring", + "sp-mmr-primitives", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-timestamp", + "sp-transaction-pool", + "sp-version", + "sp-weights", + "staging-xcm", + "substrate-prometheus-endpoint", + "thiserror 1.0.69", + "tracing-gum", + "xcm-runtime-apis", +] + +[[package]] +name = "polkadot-statement-distribution" +version = "21.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "arrayvec 0.7.6", + "bitvec", + "fatality", + "futures", + "futures-timer", + "indexmap 2.11.0", + "parity-scale-codec", + "polkadot-node-network-protocol", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "sp-keystore", + "sp-staking", + "thiserror 1.0.69", + "tracing-gum", +] + [[package]] name = "polkadot-statement-table" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -9503,7 +11274,7 @@ dependencies = [ "polkavm-common", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -9513,7 +11284,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429" dependencies = [ "polkavm-derive-impl", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -9539,17 +11310,32 @@ checksum = "26e85d3456948e650dff0cfc85603915847faf893ed1e66b020bb82ef4557120" [[package]] name = "polling" -version = "3.7.4" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f" +checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" +dependencies = [ + "autocfg", + "bitflags 1.3.2", + "cfg-if", + "concurrent-queue", + "libc", + "log", + "pin-project-lite", + "windows-sys 0.48.0", +] + +[[package]] +name = "polling" +version = "3.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5bd19146350fe804f7cb2669c851c03d69da628803dab0d98018142aaa5d829" dependencies = [ "cfg-if", "concurrent-queue", - "hermit-abi 0.4.0", + "hermit-abi 0.5.2", "pin-project-lite", - "rustix 0.38.44", - "tracing", - "windows-sys 0.59.0", + "rustix 1.0.8", + "windows-sys 0.60.2", ] [[package]] @@ -9577,15 +11363,44 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" +checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" + +[[package]] +name = "postgres-protocol" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76ff0abab4a9b844b93ef7b81f1efc0a366062aaef2cd702c76256b5dc075c54" +dependencies = [ + "base64 0.22.1", + "byteorder", + "bytes", + "fallible-iterator 0.2.0", + "hmac 0.12.1", + "md-5", + "memchr", + "rand 0.9.2", + "sha2 0.10.9", + "stringprep", +] + +[[package]] +name = "postgres-types" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613283563cd90e1dfc3518d548caee47e0e725455ed619881f5cf21f36de4b48" +dependencies = [ + "bytes", + "fallible-iterator 0.2.0", + "postgres-protocol", +] [[package]] name = "potential_utf" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +checksum = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a" dependencies = [ "zerovec", ] @@ -9605,10 +11420,20 @@ dependencies = [ "zerocopy", ] +[[package]] +name = "pq-sys" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfd6cf44cca8f9624bc19df234fc4112873432f5fda1caff174527846d026fa9" +dependencies = [ + "libc", + "vcpkg", +] + [[package]] name = "precompile-utils" version = "0.1.0" -source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#75329a2df49e2cc7981485392c31160929d1bd48" dependencies = [ "derive_more 1.0.0", "environmental", @@ -9637,15 +11462,15 @@ dependencies = [ [[package]] name = "precompile-utils-macro" version = "0.1.0" -source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#75329a2df49e2cc7981485392c31160929d1bd48" dependencies = [ "case", "num_enum", "prettyplease", "proc-macro2", "quote", - "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)", - "syn 2.0.101", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6)", + "syn 2.0.106", ] [[package]] @@ -9700,12 +11525,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.32" +version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "664ec5419c51e34154eec046ebcba56312d5a2fc3b09a06da188e1ad21afadf6" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -9752,6 +11577,16 @@ dependencies = [ "tracing", ] +[[package]] +name = "priority-queue" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0bda9164fe05bc9225752d54aae413343c36f684380005398a6a8fde95fe785" +dependencies = [ + "autocfg", + "indexmap 1.9.3", +] + [[package]] name = "proc-macro-crate" version = "1.1.3" @@ -9814,7 +11649,7 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -9825,7 +11660,7 @@ checksum = "3d1eaa7fa0aa1929ffdf7eeb6eac234dde6268914a14ad44d23521ab6a9b258e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -9836,14 +11671,14 @@ checksum = "75eea531cfcd120e0851a3f8aed42c4841f78c889eefafd96339c72677ae42c3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "proc-macro2" -version = "1.0.95" +version = "1.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" dependencies = [ "unicode-ident", ] @@ -9858,7 +11693,7 @@ dependencies = [ "fnv", "lazy_static", "memchr", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "thiserror 1.0.69", ] @@ -9870,7 +11705,7 @@ checksum = "3c99afa9a01501019ac3a14d71d9f94050346f55ca471ce90c799a15c58f61e2" dependencies = [ "dtoa", "itoa", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "prometheus-client-derive-encode", ] @@ -9882,24 +11717,24 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "proptest" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" +checksum = "6fcdab19deb5195a31cf7726a210015ff1496ba1464fd42cb4f537b8b01b471f" dependencies = [ "bit-set", "bit-vec", - "bitflags 2.9.0", + "bitflags 2.9.4", "lazy_static", "num-traits", - "rand 0.8.5", - "rand_chacha 0.3.1", + "rand 0.9.2", + "rand_chacha 0.9.0", "rand_xorshift", - "regex-syntax 0.8.5", + "regex-syntax", "rusty-fork", "tempfile", "unarray", @@ -9925,6 +11760,27 @@ dependencies = [ "prost-derive 0.13.5", ] +[[package]] +name = "prost-build" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" +dependencies = [ + "bytes", + "heck 0.5.0", + "itertools 0.12.1", + "log", + "multimap", + "once_cell", + "petgraph 0.6.5", + "prettyplease", + "prost 0.12.6", + "prost-types 0.12.6", + "regex", + "syn 2.0.106", + "tempfile", +] + [[package]] name = "prost-build" version = "0.13.5" @@ -9936,12 +11792,12 @@ dependencies = [ "log", "multimap", "once_cell", - "petgraph", + "petgraph 0.7.1", "prettyplease", "prost 0.13.5", - "prost-types", + "prost-types 0.13.5", "regex", - "syn 2.0.101", + "syn 2.0.106", "tempfile", ] @@ -9955,7 +11811,7 @@ dependencies = [ "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -9968,7 +11824,16 @@ dependencies = [ "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", +] + +[[package]] +name = "prost-types" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" +dependencies = [ + "prost 0.12.6", ] [[package]] @@ -9991,15 +11856,15 @@ dependencies = [ [[package]] name = "quanta" -version = "0.12.5" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bd1fe6824cea6538803de3ff1bc0cf3949024db3d43c9643024bfb33a807c0e" +checksum = "f3ab5a9d756f0d97bdc89019bd2e4ea098cf9cde50ee7564dde6b81ccc8f06c7" dependencies = [ "crossbeam-utils", "libc", "once_cell", "raw-cpuid", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.11.1+wasi-snapshot-preview1", "web-sys", "winapi", ] @@ -10041,8 +11906,8 @@ dependencies = [ "bytes", "futures-io", "pin-project-lite", - "quinn-proto", - "quinn-udp", + "quinn-proto 0.10.6", + "quinn-udp 0.4.1", "rustc-hash 1.1.0", "rustls 0.21.12", "thiserror 1.0.69", @@ -10050,6 +11915,26 @@ dependencies = [ "tracing", ] +[[package]] +name = "quinn" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" +dependencies = [ + "bytes", + "cfg_aliases 0.2.1", + "pin-project-lite", + "quinn-proto 0.11.13", + "quinn-udp 0.5.14", + "rustc-hash 2.1.1", + "rustls 0.23.31", + "socket2 0.6.0", + "thiserror 2.0.16", + "tokio", + "tracing", + "web-time", +] + [[package]] name = "quinn-proto" version = "0.10.6" @@ -10067,6 +11952,27 @@ dependencies = [ "tracing", ] +[[package]] +name = "quinn-proto" +version = "0.11.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" +dependencies = [ + "bytes", + "getrandom 0.3.3", + "lru-slab", + "rand 0.9.2", + "ring 0.17.14", + "rustc-hash 2.1.1", + "rustls 0.23.31", + "rustls-pki-types", + "slab", + "thiserror 2.0.16", + "tinyvec", + "tracing", + "web-time", +] + [[package]] name = "quinn-udp" version = "0.4.1" @@ -10075,11 +11981,25 @@ checksum = "055b4e778e8feb9f93c4e439f71dc2156ef13360b432b799e179a8c4cdf0b1d7" dependencies = [ "bytes", "libc", - "socket2 0.5.9", + "socket2 0.5.10", "tracing", "windows-sys 0.48.0", ] +[[package]] +name = "quinn-udp" +version = "0.5.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" +dependencies = [ + "cfg_aliases 0.2.1", + "libc", + "once_cell", + "socket2 0.6.0", + "tracing", + "windows-sys 0.60.2", +] + [[package]] name = "quote" version = "1.0.40" @@ -10091,9 +12011,9 @@ dependencies = [ [[package]] name = "r-efi" -version = "5.2.0" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] name = "radium" @@ -10115,9 +12035,9 @@ dependencies = [ [[package]] name = "rand" -version = "0.9.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" dependencies = [ "rand_chacha 0.9.0", "rand_core 0.9.3", @@ -10182,20 +12102,20 @@ dependencies = [ [[package]] name = "rand_xorshift" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" +checksum = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a" dependencies = [ - "rand_core 0.6.4", + "rand_core 0.9.3", ] [[package]] name = "raw-cpuid" -version = "11.5.0" +version = "11.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6df7ab838ed27997ba19a4664507e6f82b41fe6e20be42929332156e5e85146" +checksum = "498cd0dc59d73224351ee52a95fee0f1a617a2eae0e7d9d720cc622c73a54186" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.4", ] [[package]] @@ -10206,9 +12126,9 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" [[package]] name = "rayon" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" dependencies = [ "either", "rayon-core", @@ -10216,9 +12136,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.12.1" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" dependencies = [ "crossbeam-deque", "crossbeam-utils", @@ -10263,11 +12183,11 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.12" +version = "0.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" +checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.4", ] [[package]] @@ -10281,6 +12201,18 @@ dependencies = [ "thiserror 1.0.69", ] +[[package]] +name = "reed-solomon-novelpoly" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87413ebb313323d431e85d0afc5a68222aaed972843537cbfe5f061cf1b4bcab" +dependencies = [ + "derive_more 0.99.20", + "fs-err", + "static_init", + "thiserror 1.0.69", +] + [[package]] name = "ref-cast" version = "1.0.24" @@ -10298,7 +12230,22 @@ checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", +] + +[[package]] +name = "reference-trie" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07d0cce9052afc45cefde7166ad8b8a165c7136de8b57634c7789f14eebed06c" +dependencies = [ + "hash-db", + "hashbrown 0.13.2", + "keccak-hasher", + "parity-scale-codec", + "paste", + "trie-db 0.27.1", + "trie-root", ] [[package]] @@ -10328,53 +12275,79 @@ dependencies = [ [[package]] name = "regex" -version = "1.11.1" +version = "1.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +checksum = "23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.9", - "regex-syntax 0.8.5", + "regex-automata", + "regex-syntax", ] [[package]] name = "regex-automata" -version = "0.1.10" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" -dependencies = [ - "regex-syntax 0.6.29", -] - -[[package]] -name = "regex-automata" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +checksum = "6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.5", + "regex-syntax", ] [[package]] name = "regex-syntax" -version = "0.6.29" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" +checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" [[package]] -name = "regex-syntax" -version = "0.8.5" +name = "reqwest" +version = "0.12.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +checksum = "d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-core", + "futures-util", + "http 1.3.1", + "http-body 1.0.1", + "http-body-util", + "hyper 1.7.0", + "hyper-rustls 0.27.7", + "hyper-util", + "js-sys", + "log", + "percent-encoding", + "pin-project-lite", + "quinn 0.11.9", + "rustls 0.23.31", + "rustls-pki-types", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tokio-rustls 0.26.2", + "tokio-util", + "tower 0.5.2", + "tower-http 0.6.6", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", + "webpki-roots 1.0.2", +] [[package]] name = "resolv-conf" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7c8f7f733062b66dc1c63f9db168ac0b97a9210e247fa90fdc9ad08f51b302" +checksum = "95325155c684b1c89f7765e30bc1c42e4a6da51ca513615660cb8a62ef9a88e3" [[package]] name = "rfc6979" @@ -10453,7 +12426,7 @@ checksum = "652db34deaaa57929e10ca18e5454a32cb0efc351ae80d320334bbf907b908b3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -10496,7 +12469,7 @@ dependencies = [ "netlink-packet-utils", "netlink-proto", "netlink-sys", - "nix", + "nix 0.26.4", "thiserror 1.0.69", "tokio", ] @@ -10513,9 +12486,9 @@ dependencies = [ [[package]] name = "ruint" -version = "1.14.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78a46eb779843b2c4f21fac5773e25d6d5b7c8f0922876c91541790d2ca27eef" +checksum = "9ecb38f82477f20c5c3d62ef52d7c4e536e38ea9b73fb570a20c5cae0e14bcf6" dependencies = [ "alloy-rlp", "ark-ff 0.3.0", @@ -10530,7 +12503,7 @@ dependencies = [ "primitive-types 0.12.2", "proptest", "rand 0.8.5", - "rand 0.9.1", + "rand 0.9.2", "rlp 0.5.2", "ruint-macro", "serde", @@ -10546,9 +12519,9 @@ checksum = "48fd7bd8a6377e15ad9d42a8ec25371b94ddc67abe7c8b9127bec79bebaaae18" [[package]] name = "rustc-demangle" -version = "0.1.24" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" [[package]] name = "rustc-hash" @@ -10609,13 +12582,27 @@ dependencies = [ "windows-sys 0.45.0", ] +[[package]] +name = "rustix" +version = "0.37.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "519165d378b97752ca44bbe15047d5d3409e875f39327546b42ac81d7e18c1b6" +dependencies = [ + "bitflags 1.3.2", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys 0.3.8", + "windows-sys 0.48.0", +] + [[package]] name = "rustix" version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.4", "errno", "libc", "linux-raw-sys 0.4.15", @@ -10624,15 +12611,15 @@ dependencies = [ [[package]] name = "rustix" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" +checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.4", "errno", "libc", "linux-raw-sys 0.9.4", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -10663,15 +12650,15 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.27" +version = "0.23.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "730944ca083c1c233a75c09f199e973ca499344a2b7ba9e755c457e86fb4a321" +checksum = "c0ebcbd2f03de0fc1122ad9bb24b127a5a6cd51d72604a3f3c50ac459762b6cc" dependencies = [ "log", "once_cell", "ring 0.17.14", "rustls-pki-types", - "rustls-webpki 0.103.3", + "rustls-webpki 0.103.4", "subtle 2.6.1", "zeroize", ] @@ -10710,7 +12697,7 @@ dependencies = [ "openssl-probe", "rustls-pki-types", "schannel", - "security-framework 3.2.0", + "security-framework 3.4.0", ] [[package]] @@ -10737,6 +12724,7 @@ version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" dependencies = [ + "web-time", "zeroize", ] @@ -10748,10 +12736,10 @@ checksum = "afbb878bdfdf63a336a5e63561b1835e7a8c91524f51621db870169eac84b490" dependencies = [ "core-foundation 0.9.4", "core-foundation-sys", - "jni", + "jni 0.19.0", "log", "once_cell", - "rustls 0.23.27", + "rustls 0.23.31", "rustls-native-certs 0.7.3", "rustls-platform-verifier-android", "rustls-webpki 0.102.8", @@ -10761,6 +12749,27 @@ dependencies = [ "winapi", ] +[[package]] +name = "rustls-platform-verifier" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19787cda76408ec5404443dc8b31795c87cd8fec49762dc75fa727740d34acc1" +dependencies = [ + "core-foundation 0.10.1", + "core-foundation-sys", + "jni 0.21.1", + "log", + "once_cell", + "rustls 0.23.31", + "rustls-native-certs 0.8.1", + "rustls-platform-verifier-android", + "rustls-webpki 0.103.4", + "security-framework 3.4.0", + "security-framework-sys", + "webpki-root-certs 0.26.11", + "windows-sys 0.59.0", +] + [[package]] name = "rustls-platform-verifier-android" version = "0.1.1" @@ -10790,9 +12799,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.103.3" +version = "0.103.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435" +checksum = "0a17884ae0c1b773f1ccd2bd4a8c72f16da897310a98b0e84bf349ad5ead92fc" dependencies = [ "ring 0.17.14", "rustls-pki-types", @@ -10801,9 +12810,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.20" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "rusty-fork" @@ -10817,6 +12826,17 @@ dependencies = [ "wait-timeout", ] +[[package]] +name = "ruzstd" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3ffab8f9715a0d455df4bbb9d21e91135aab3cd3ca187af0cd0c3c3f868fdc" +dependencies = [ + "byteorder", + "thiserror-core", + "twox-hash", +] + [[package]] name = "ruzstd" version = "0.5.0" @@ -10866,7 +12886,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "log", "sp-core", @@ -10877,7 +12897,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.48.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "async-trait", "futures", @@ -10889,7 +12909,7 @@ dependencies = [ "multihash 0.19.3", "parity-scale-codec", "prost 0.12.6", - "prost-build", + "prost-build 0.13.5", "rand 0.8.5", "sc-client-api", "sc-network", @@ -10907,7 +12927,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.48.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "futures", "futures-timer", @@ -10929,7 +12949,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "parity-scale-codec", "sp-api", @@ -10944,12 +12964,12 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "41.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "array-bytes", "docify", "log", - "memmap2 0.9.5", + "memmap2 0.9.8", "parity-scale-codec", "sc-chain-spec-derive", "sc-client-api", @@ -10960,7 +12980,7 @@ dependencies = [ "serde_json", "sp-blockchain", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6)", "sp-genesis-builder", "sp-io", "sp-runtime", @@ -10971,18 +12991,18 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "sc-cli" version = "0.50.1" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "array-bytes", "chrono", @@ -11024,13 +13044,13 @@ dependencies = [ [[package]] name = "sc-client-api" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "fnv", "futures", "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "sc-executor", "sc-transaction-pool-api", "sc-utils", @@ -11051,7 +13071,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.45.1" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "hash-db", "kvdb", @@ -11061,7 +13081,7 @@ dependencies = [ "log", "parity-db", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "sc-client-api", "sc-state-db", "schnellru", @@ -11077,13 +13097,13 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.47.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "async-trait", "futures", "log", "mockall 0.11.4", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "sc-client-api", "sc-network-types", "sc-utils", @@ -11101,7 +13121,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.48.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "async-trait", "futures", @@ -11130,7 +13150,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.48.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "async-trait", "fork-tree", @@ -11140,7 +13160,7 @@ dependencies = [ "num-rational", "num-traits", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "sc-client-api", "sc-consensus", "sc-consensus-epochs", @@ -11155,7 +13175,7 @@ dependencies = [ "sp-consensus-babe", "sp-consensus-slots", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6)", "sp-inherents", "sp-keystore", "sp-runtime", @@ -11163,10 +13183,32 @@ dependencies = [ "thiserror 1.0.69", ] +[[package]] +name = "sc-consensus-babe-rpc" +version = "0.48.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "futures", + "jsonrpsee 0.24.9", + "sc-consensus-babe", + "sc-consensus-epochs", + "sc-rpc-api", + "serde", + "sp-api", + "sp-application-crypto", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", + "sp-core", + "sp-keystore", + "sp-runtime", + "thiserror 1.0.69", +] + [[package]] name = "sc-consensus-beefy" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -11175,7 +13217,7 @@ dependencies = [ "futures", "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "sc-client-api", "sc-consensus", "sc-network", @@ -11190,7 +13232,7 @@ dependencies = [ "sp-consensus", "sp-consensus-beefy", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6)", "sp-keystore", "sp-runtime", "substrate-prometheus-endpoint", @@ -11202,13 +13244,13 @@ dependencies = [ [[package]] name = "sc-consensus-beefy-rpc" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "futures", "jsonrpsee 0.24.9", "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "sc-consensus-beefy", "sc-rpc", "serde", @@ -11222,7 +13264,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.47.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "fork-tree", "parity-scale-codec", @@ -11235,7 +13277,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "ahash", "array-bytes", @@ -11247,7 +13289,7 @@ dependencies = [ "futures-timer", "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "rand 0.8.5", "sc-block-builder", "sc-chain-spec", @@ -11269,17 +13311,37 @@ dependencies = [ "sp-consensus", "sp-consensus-grandpa", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6)", "sp-keystore", "sp-runtime", "substrate-prometheus-endpoint", "thiserror 1.0.69", ] +[[package]] +name = "sc-consensus-grandpa-rpc" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "finality-grandpa", + "futures", + "jsonrpsee 0.24.9", + "log", + "parity-scale-codec", + "sc-client-api", + "sc-consensus-grandpa", + "sc-rpc", + "serde", + "sp-blockchain", + "sp-core", + "sp-runtime", + "thiserror 1.0.69", +] + [[package]] name = "sc-consensus-manual-seal" version = "0.49.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "assert_matches", "async-trait", @@ -11314,7 +13376,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.47.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "async-trait", "futures", @@ -11337,10 +13399,10 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.41.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "sc-executor-common", "sc-executor-polkavm", "sc-executor-wasmtime", @@ -11360,7 +13422,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.36.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "polkavm", "sc-allocator", @@ -11373,7 +13435,7 @@ dependencies = [ [[package]] name = "sc-executor-polkavm" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "log", "polkavm", @@ -11384,13 +13446,13 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.36.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "anyhow", "cfg-if", "libc", "log", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "rustix 0.36.17", "sc-allocator", "sc-executor-common", @@ -11402,7 +13464,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.47.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "console", "futures", @@ -11419,10 +13481,10 @@ dependencies = [ [[package]] name = "sc-keystore" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "array-bytes", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "serde_json", "sp-application-crypto", "sp-core", @@ -11433,7 +13495,7 @@ dependencies = [ [[package]] name = "sc-mixnet" version = "0.18.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "array-bytes", "arrayvec 0.7.6", @@ -11445,7 +13507,7 @@ dependencies = [ "mixnet", "multiaddr 0.18.2", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "sc-client-api", "sc-network", "sc-network-types", @@ -11462,7 +13524,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.48.4" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -11482,11 +13544,11 @@ dependencies = [ "mockall 0.11.4", "once_cell", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "partial_sort", "pin-project", "prost 0.12.6", - "prost-build", + "prost-build 0.13.5", "rand 0.8.5", "sc-client-api", "sc-network-common", @@ -11513,14 +13575,14 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.47.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "async-trait", "bitflags 1.3.2", "futures", "libp2p-identity", "parity-scale-codec", - "prost-build", + "prost-build 0.13.5", "sc-consensus", "sc-network-types", "sp-consensus", @@ -11531,7 +13593,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.48.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "ahash", "futures", @@ -11550,7 +13612,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.47.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -11558,7 +13620,7 @@ dependencies = [ "log", "parity-scale-codec", "prost 0.12.6", - "prost-build", + "prost-build 0.13.5", "sc-client-api", "sc-network", "sc-network-types", @@ -11571,7 +13633,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.47.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -11583,7 +13645,7 @@ dependencies = [ "mockall 0.11.4", "parity-scale-codec", "prost 0.12.6", - "prost-build", + "prost-build 0.13.5", "sc-client-api", "sc-consensus", "sc-network", @@ -11607,7 +13669,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.47.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "array-bytes", "futures", @@ -11626,7 +13688,7 @@ dependencies = [ [[package]] name = "sc-network-types" version = "0.15.2" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "bs58", "ed25519-dalek", @@ -11643,7 +13705,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "43.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "array-bytes", "bytes", @@ -11651,16 +13713,16 @@ dependencies = [ "futures", "futures-timer", "http-body-util", - "hyper 1.6.0", - "hyper-rustls 0.27.5", + "hyper 1.7.0", + "hyper-rustls 0.27.7", "hyper-util", "log", "num_cpus", "once_cell", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "rand 0.8.5", - "rustls 0.23.27", + "rustls 0.23.31", "sc-client-api", "sc-network", "sc-network-common", @@ -11680,7 +13742,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.18.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -11689,13 +13751,13 @@ dependencies = [ [[package]] name = "sc-rpc" version = "43.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "futures", "jsonrpsee 0.24.9", "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "sc-block-builder", "sc-chain-spec", "sc-client-api", @@ -11721,7 +13783,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.47.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "jsonrpsee 0.24.9", "parity-scale-codec", @@ -11741,7 +13803,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "dyn-clone", "forwarded-header-value", @@ -11749,7 +13811,7 @@ dependencies = [ "governor", "http 1.3.1", "http-body-util", - "hyper 1.6.0", + "hyper 1.7.0", "ip_network", "jsonrpsee 0.24.9", "log", @@ -11758,14 +13820,14 @@ dependencies = [ "serde_json", "substrate-prometheus-endpoint", "tokio", - "tower", - "tower-http", + "tower 0.4.13", + "tower-http 0.5.2", ] [[package]] name = "sc-rpc-spec-v2" version = "0.48.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "array-bytes", "futures", @@ -11775,7 +13837,7 @@ dependencies = [ "jsonrpsee 0.24.9", "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "rand 0.8.5", "sc-chain-spec", "sc-client-api", @@ -11797,7 +13859,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.49.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "async-trait", "directories", @@ -11807,7 +13869,7 @@ dependencies = [ "jsonrpsee 0.24.9", "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "pin-project", "rand 0.8.5", "sc-chain-spec", @@ -11861,18 +13923,50 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.37.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "sp-core", ] +[[package]] +name = "sc-storage-monitor" +version = "0.23.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "clap", + "fs4", + "log", + "sp-core", + "thiserror 1.0.69", + "tokio", +] + +[[package]] +name = "sc-sync-state-rpc" +version = "0.48.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "jsonrpsee 0.24.9", + "parity-scale-codec", + "sc-chain-spec", + "sc-client-api", + "sc-consensus-babe", + "sc-consensus-epochs", + "sc-consensus-grandpa", + "serde", + "serde_json", + "sp-blockchain", + "sp-runtime", + "thiserror 1.0.69", +] + [[package]] name = "sc-sysinfo" version = "41.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "derive_more 0.99.20", "futures", @@ -11885,7 +13979,7 @@ dependencies = [ "serde", "serde_json", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6)", "sp-io", "sp-std", ] @@ -11893,13 +13987,13 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "chrono", "futures", "libp2p", "log", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "pin-project", "rand 0.8.5", "sc-network", @@ -11913,7 +14007,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "chrono", "console", @@ -11921,7 +14015,7 @@ dependencies = [ "libc", "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "rustc-hash 1.1.0", "sc-client-api", "sc-tracing-proc-macro", @@ -11941,28 +14035,28 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "sc-transaction-pool" version = "38.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "async-trait", "futures", "futures-timer", - "indexmap 2.9.0", + "indexmap 2.11.0", "itertools 0.11.0", "linked-hash-map", "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "sc-client-api", "sc-transaction-pool-api", "sc-utils", @@ -11970,7 +14064,7 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6)", "sp-runtime", "sp-tracing", "sp-transaction-pool", @@ -11983,7 +14077,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "38.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "async-trait", "futures", @@ -11999,13 +14093,13 @@ dependencies = [ [[package]] name = "sc-utils" version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "async-channel 1.9.0", "futures", "futures-timer", "log", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "prometheus", "sp-arithmetic", ] @@ -12074,7 +14168,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -12100,7 +14194,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -12122,7 +14216,7 @@ dependencies = [ "proc-macro2", "quote", "scale-info", - "syn 2.0.101", + "syn 2.0.106", "thiserror 1.0.69", ] @@ -12169,9 +14263,25 @@ dependencies = [ [[package]] name = "schnorrkel" -version = "0.11.4" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de18f6d8ba0aad7045f5feae07ec29899c1112584a38509a84ad7b04451eaa0" +checksum = "844b7645371e6ecdf61ff246ba1958c29e802881a749ae3fb1993675d210d28d" +dependencies = [ + "arrayref", + "arrayvec 0.7.6", + "curve25519-dalek-ng", + "merlin", + "rand_core 0.6.4", + "sha2 0.9.9", + "subtle-ng", + "zeroize", +] + +[[package]] +name = "schnorrkel" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e9fcb6c2e176e86ec703e22560d99d65a5ee9056ae45a08e13e84ebf796296f" dependencies = [ "aead", "arrayref", @@ -12186,6 +14296,15 @@ dependencies = [ "zeroize", ] +[[package]] +name = "scoped-futures" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b24aae2d0636530f359e9d5ef0c04669d11c5e756699b27a6a6d845d8329091" +dependencies = [ + "pin-project-lite", +] + [[package]] name = "scoped-tls" version = "1.0.1" @@ -12200,9 +14319,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "scratch" -version = "1.0.8" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6280af86e5f559536da57a45ebc84948833b3bee313a7dd25232e09c878a52" +checksum = "d68f2ec51b097e4c1a75b681a8bec621909b5e91f15bb7b840c4f2f7b01148b2" [[package]] name = "sct" @@ -12229,13 +14348,22 @@ dependencies = [ "zeroize", ] +[[package]] +name = "seccompiler" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "345a3e4dddf721a478089d4697b83c6c0a8f5bf16086f6c13397e4534eb6e2e5" +dependencies = [ + "libc", +] + [[package]] name = "secp256k1" version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25996b82292a7a57ed3508f052cfff8640d38d32018784acd714758b43da9c8f" dependencies = [ - "secp256k1-sys 0.8.1", + "secp256k1-sys 0.8.2", ] [[package]] @@ -12249,9 +14377,9 @@ dependencies = [ [[package]] name = "secp256k1-sys" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a129b9e9efbfb223753b9163c4ab3b13cff7fd9c7f010fbac25ab4099fa07e" +checksum = "4473013577ec77b4ee3668179ef1186df3146e2cf2d927bd200974c6fe60fd99" dependencies = [ "cc", ] @@ -12280,7 +14408,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.4", "core-foundation 0.9.4", "core-foundation-sys", "libc", @@ -12290,12 +14418,12 @@ dependencies = [ [[package]] name = "security-framework" -version = "3.2.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" +checksum = "60b369d18893388b345804dc0007963c99b7d665ae71d275812d828c6f089640" dependencies = [ - "bitflags 2.9.0", - "core-foundation 0.10.0", + "bitflags 2.9.4", + "core-foundation 0.10.1", "core-foundation-sys", "libc", "security-framework-sys", @@ -12303,9 +14431,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.14.0" +version = "2.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" +checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0" dependencies = [ "core-foundation-sys", "libc", @@ -12394,14 +14522,14 @@ checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "serde_json" -version = "1.0.140" +version = "1.0.143" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +checksum = "d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a" dependencies = [ "itoa", "memchr", @@ -12411,13 +14539,34 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" dependencies = [ "serde", ] +[[package]] +name = "serde_spanned" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + [[package]] name = "serdect" version = "0.2.0" @@ -12505,6 +14654,435 @@ dependencies = [ "lazy_static", ] +[[package]] +name = "shc-actors-derive" +version = "0.1.0" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" +dependencies = [ + "once_cell", + "proc-macro2", + "quote", + "shc-actors-framework", + "syn 2.0.106", + "trybuild", +] + +[[package]] +name = "shc-actors-framework" +version = "0.1.0" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" +dependencies = [ + "anyhow", + "bincode", + "futures", + "sc-service", + "sc-tracing", + "sc-utils", + "serde", + "serde_json", + "sp-core", + "sp-runtime", + "tokio", +] + +[[package]] +name = "shc-blockchain-service" +version = "0.1.0" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" +dependencies = [ + "anyhow", + "array-bytes", + "async-trait", + "frame-support", + "frame-system", + "futures", + "lazy_static", + "log", + "pallet-file-system", + "pallet-file-system-runtime-api", + "pallet-payment-streams", + "pallet-payment-streams-runtime-api", + "pallet-proofs-dealer", + "pallet-proofs-dealer-runtime-api", + "pallet-storage-providers", + "pallet-storage-providers-runtime-api", + "pallet-transaction-payment", + "parity-scale-codec", + "polkadot-primitives", + "polkadot-runtime-common", + "rocksdb", + "sc-client-api", + "sc-network", + "sc-service", + "sc-tracing", + "sc-utils", + "serde", + "serde_json", + "shc-actors-derive", + "shc-actors-framework", + "shc-common", + "shc-forest-manager", + "shp-constants", + "shp-file-key-verifier", + "shp-file-metadata", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-keystore", + "sp-runtime", + "substrate-frame-rpc-system", + "thiserror 1.0.69", + "tokio", +] + +[[package]] +name = "shc-client" +version = "0.1.0" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" +dependencies = [ + "anyhow", + "array-bytes", + "async-channel 1.9.0", + "async-trait", + "chrono", + "frame-benchmarking", + "frame-benchmarking-cli", + "frame-support", + "frame-system", + "futures", + "hex", + "jsonrpsee 0.24.9", + "kvdb", + "kvdb-rocksdb", + "lazy_static", + "log", + "ordered-float", + "pallet-file-system", + "pallet-file-system-runtime-api", + "pallet-payment-streams", + "pallet-payment-streams-runtime-api", + "pallet-proofs-dealer", + "pallet-proofs-dealer-runtime-api", + "pallet-storage-providers", + "pallet-transaction-payment", + "parity-scale-codec", + "polkadot-primitives", + "priority-queue", + "rand 0.8.5", + "rocksdb", + "sc-client-api", + "sc-network", + "sc-service", + "sc-tracing", + "serde", + "serde_json", + "shc-actors-derive", + "shc-actors-framework", + "shc-blockchain-service", + "shc-common", + "shc-file-manager", + "shc-file-transfer-service", + "shc-fisherman-service", + "shc-forest-manager", + "shc-indexer-db", + "shc-indexer-service", + "shc-rpc", + "shp-constants", + "shp-file-metadata", + "shp-traits", + "shp-types", + "sp-core", + "sp-keystore", + "sp-runtime", + "sp-trie", + "substrate-build-script-utils", + "thiserror 1.0.69", + "tokio", +] + +[[package]] +name = "shc-common" +version = "0.1.0" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" +dependencies = [ + "anyhow", + "bigdecimal", + "bincode", + "cumulus-client-service", + "cumulus-primitives-core", + "cumulus-primitives-storage-weight-reclaim", + "fp-account", + "frame-benchmarking", + "frame-metadata-hash-extension", + "frame-support", + "frame-system", + "lazy_static", + "log", + "pallet-balances", + "pallet-bucket-nfts", + "pallet-file-system", + "pallet-file-system-runtime-api", + "pallet-nfts", + "pallet-payment-streams", + "pallet-payment-streams-runtime-api", + "pallet-proofs-dealer", + "pallet-proofs-dealer-runtime-api", + "pallet-randomness", + "pallet-storage-providers", + "pallet-storage-providers-runtime-api", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc", + "parity-scale-codec", + "polkadot-primitives", + "rocksdb", + "sc-client-api", + "sc-executor", + "sc-network", + "sc-service", + "scale-info", + "serde", + "shp-constants", + "shp-file-key-verifier", + "shp-file-metadata", + "shp-forest-verifier", + "shp-opaque", + "shp-traits", + "shp-types", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-core", + "sp-io", + "sp-keystore", + "sp-rpc", + "sp-runtime", + "sp-std", + "sp-trie", + "substrate-frame-rpc-system", + "thiserror 1.0.69", + "trie-db 0.29.1", +] + +[[package]] +name = "shc-file-manager" +version = "0.1.0" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" +dependencies = [ + "bincode", + "hash-db", + "kvdb", + "kvdb-memorydb", + "kvdb-rocksdb", + "log", + "parity-scale-codec", + "serde_json", + "shc-common", + "shp-traits", + "sp-core", + "sp-runtime", + "sp-state-machine", + "sp-trie", + "strum 0.26.3", + "thiserror 1.0.69", + "trie-db 0.29.1", +] + +[[package]] +name = "shc-file-transfer-service" +version = "0.1.0" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" +dependencies = [ + "anyhow", + "array-bytes", + "async-channel 1.9.0", + "async-trait", + "chrono", + "futures", + "parity-scale-codec", + "prost 0.12.6", + "prost-build 0.12.6", + "sc-client-api", + "sc-network", + "sc-network-types", + "sc-service", + "sc-tracing", + "sc-utils", + "shc-actors-derive", + "shc-actors-framework", + "shc-common", + "shp-file-key-verifier", + "shp-file-metadata", + "thiserror 1.0.69", + "tokio", +] + +[[package]] +name = "shc-fisherman-service" +version = "0.1.0" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" +dependencies = [ + "async-trait", + "diesel", + "diesel-async", + "futures", + "log", + "pallet-file-system", + "pallet-file-system-runtime-api", + "pallet-proofs-dealer", + "pallet-proofs-dealer-runtime-api", + "pallet-storage-providers-runtime-api", + "parity-scale-codec", + "sc-client-api", + "sc-utils", + "shc-actors-derive", + "shc-actors-framework", + "shc-common", + "shc-indexer-db", + "shp-types", + "sp-api", + "sp-core", + "sp-runtime", + "thiserror 1.0.69", + "tokio", +] + +[[package]] +name = "shc-forest-manager" +version = "0.1.0" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" +dependencies = [ + "async-trait", + "bincode", + "hash-db", + "kvdb", + "kvdb-memorydb", + "kvdb-rocksdb", + "log", + "parity-scale-codec", + "reference-trie", + "serde", + "shc-common", + "sp-core", + "sp-runtime", + "sp-state-machine", + "sp-trie", + "thiserror 1.0.69", + "tokio", + "trie-db 0.29.1", +] + +[[package]] +name = "shc-indexer-db" +version = "0.1.0" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" +dependencies = [ + "bigdecimal", + "chrono", + "diesel", + "diesel-async", + "futures", + "hex", + "log", + "sc-network", + "serde", + "serde_json", + "shc-common", + "shp-types", + "sp-core", + "thiserror 1.0.69", + "tokio", +] + +[[package]] +name = "shc-indexer-service" +version = "0.1.0" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" +dependencies = [ + "anyhow", + "array-bytes", + "bigdecimal", + "cumulus-primitives-core", + "cumulus-primitives-storage-weight-reclaim", + "diesel", + "diesel-async", + "frame-support", + "frame-system", + "futures", + "lazy_static", + "log", + "pallet-bucket-nfts", + "pallet-file-system", + "pallet-file-system-runtime-api", + "pallet-payment-streams", + "pallet-payment-streams-runtime-api", + "pallet-proofs-dealer", + "pallet-proofs-dealer-runtime-api", + "pallet-randomness", + "pallet-storage-providers", + "pallet-storage-providers-runtime-api", + "pallet-transaction-payment", + "parity-scale-codec", + "polkadot-primitives", + "polkadot-runtime-common", + "sc-client-api", + "sc-network", + "sc-service", + "sc-tracing", + "sc-utils", + "serde", + "serde_json", + "shc-actors-framework", + "shc-common", + "shc-indexer-db", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-keystore", + "sp-runtime", + "substrate-frame-rpc-system", + "thiserror 1.0.69", + "tokio", +] + +[[package]] +name = "shc-rpc" +version = "0.1.0" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" +dependencies = [ + "array-bytes", + "async-trait", + "bytes", + "futures", + "futures-util", + "hex", + "jsonrpsee 0.24.9", + "log", + "mime_guess", + "pallet-file-system-runtime-api", + "pallet-proofs-dealer-runtime-api", + "reqwest", + "sc-rpc-api", + "serde", + "shc-common", + "shc-file-manager", + "shc-forest-manager", + "shp-constants", + "shp-traits", + "shp-types", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-keystore", + "sp-runtime", + "sp-runtime-interface", + "sp-trie", + "suppaftp", + "thiserror 1.0.69", + "tokio", + "tokio-util", + "url", +] + [[package]] name = "shlex" version = "1.3.0" @@ -12514,7 +15092,7 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "shp-constants" version = "0.1.0" -source = "git+https://github.com/Moonsong-Labs/storage-hub?rev=f8281283b6003a3009a32431ed0f3cd628561d6b#f8281283b6003a3009a32431ed0f3cd628561d6b" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" dependencies = [ "sp-core", "sp-runtime", @@ -12523,7 +15101,7 @@ dependencies = [ [[package]] name = "shp-data-price-updater" version = "0.1.0" -source = "git+https://github.com/Moonsong-Labs/storage-hub?rev=f8281283b6003a3009a32431ed0f3cd628561d6b#f8281283b6003a3009a32431ed0f3cd628561d6b" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" dependencies = [ "frame-support", "parity-scale-codec", @@ -12538,7 +15116,7 @@ dependencies = [ [[package]] name = "shp-file-key-verifier" version = "0.1.0" -source = "git+https://github.com/Moonsong-Labs/storage-hub?rev=f8281283b6003a3009a32431ed0f3cd628561d6b#f8281283b6003a3009a32431ed0f3cd628561d6b" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" dependencies = [ "frame-support", "parity-scale-codec", @@ -12550,13 +15128,13 @@ dependencies = [ "sp-runtime", "sp-std", "sp-trie", - "trie-db", + "trie-db 0.29.1", ] [[package]] name = "shp-file-metadata" version = "0.1.0" -source = "git+https://github.com/Moonsong-Labs/storage-hub?rev=f8281283b6003a3009a32431ed0f3cd628561d6b#f8281283b6003a3009a32431ed0f3cd628561d6b" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" dependencies = [ "hex", "num-bigint", @@ -12572,7 +15150,7 @@ dependencies = [ [[package]] name = "shp-forest-verifier" version = "0.1.0" -source = "git+https://github.com/Moonsong-Labs/storage-hub?rev=f8281283b6003a3009a32431ed0f3cd628561d6b#f8281283b6003a3009a32431ed0f3cd628561d6b" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" dependencies = [ "frame-support", "parity-scale-codec", @@ -12583,13 +15161,22 @@ dependencies = [ "sp-runtime", "sp-std", "sp-trie", - "trie-db", + "trie-db 0.29.1", +] + +[[package]] +name = "shp-opaque" +version = "0.1.0" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" +dependencies = [ + "parachains-common", + "sp-runtime", ] [[package]] name = "shp-session-keys" version = "0.1.0" -source = "git+https://github.com/Moonsong-Labs/storage-hub?rev=f8281283b6003a3009a32431ed0f3cd628561d6b#f8281283b6003a3009a32431ed0f3cd628561d6b" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" dependencies = [ "async-trait", "parity-scale-codec", @@ -12604,7 +15191,7 @@ dependencies = [ [[package]] name = "shp-traits" version = "0.1.0" -source = "git+https://github.com/Moonsong-Labs/storage-hub?rev=f8281283b6003a3009a32431ed0f3cd628561d6b#f8281283b6003a3009a32431ed0f3cd628561d6b" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" dependencies = [ "frame-support", "parity-scale-codec", @@ -12618,7 +15205,7 @@ dependencies = [ [[package]] name = "shp-treasury-funding" version = "0.1.0" -source = "git+https://github.com/Moonsong-Labs/storage-hub?rev=f8281283b6003a3009a32431ed0f3cd628561d6b#f8281283b6003a3009a32431ed0f3cd628561d6b" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" dependencies = [ "log", "shp-traits", @@ -12626,11 +15213,21 @@ dependencies = [ "sp-core", ] +[[package]] +name = "shp-types" +version = "0.1.0" +source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=b78b5648a38849cee1a462a1b938d63d27e68547#b78b5648a38849cee1a462a1b938d63d27e68547" +dependencies = [ + "sp-core", + "sp-runtime", + "sp-trie", +] + [[package]] name = "signal-hook-registry" -version = "1.4.5" +version = "1.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" +checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" dependencies = [ "libc", ] @@ -12647,9 +15244,9 @@ dependencies = [ [[package]] name = "simba" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3a386a501cd104797982c15ae17aafe8b9261315b5d07e3ec803f2ea26be0fa" +checksum = "c99284beb21666094ba2b75bbceda012e610f5479dfcc2d6e2426f53197ffd95" dependencies = [ "approx", "num-complex", @@ -12684,7 +15281,7 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dee851d0e5e7af3721faea1843e8015e820a234f81fda3dea9247e15bac9a86a" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.4", ] [[package]] @@ -12707,12 +15304,9 @@ checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" [[package]] name = "slab" -version = "0.4.9" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] +checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" [[package]] name = "slice-group-by" @@ -12723,7 +15317,7 @@ checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" [[package]] name = "slot-range-helper" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "enumn", "parity-scale-codec", @@ -12732,10 +15326,36 @@ dependencies = [ ] [[package]] -name = "smallvec" -version = "1.15.0" +name = "slotmap" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" +checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" +dependencies = [ + "version_check", +] + +[[package]] +name = "smallvec" +version = "1.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" + +[[package]] +name = "smol" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13f2b548cd8447f8de0fdf1c592929f70f4fc7039a05e47404b0d096ec6987a1" +dependencies = [ + "async-channel 1.9.0", + "async-executor", + "async-fs 1.6.0", + "async-io 1.13.0", + "async-lock 2.8.0", + "async-net 1.8.0", + "async-process 1.8.1", + "blocking", + "futures-lite 1.13.0", +] [[package]] name = "smol" @@ -12743,15 +15363,69 @@ version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a33bd3e260892199c3ccfc487c88b2da2265080acb316cd920da72fdfd7c599f" dependencies = [ - "async-channel 2.3.1", + "async-channel 2.5.0", "async-executor", - "async-fs", - "async-io", - "async-lock", - "async-net", - "async-process", + "async-fs 2.1.3", + "async-io 2.5.0", + "async-lock 3.4.1", + "async-net 2.0.0", + "async-process 2.4.0", "blocking", - "futures-lite", + "futures-lite 2.6.1", +] + +[[package]] +name = "smoldot" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0bb30cf57b7b5f6109ce17c3164445e2d6f270af2cb48f6e4d31c2967c9a9f5" +dependencies = [ + "arrayvec 0.7.6", + "async-lock 2.8.0", + "atomic-take", + "base64 0.21.7", + "bip39", + "blake2-rfc", + "bs58", + "chacha20", + "crossbeam-queue", + "derive_more 0.99.20", + "ed25519-zebra", + "either", + "event-listener 2.5.3", + "fnv", + "futures-lite 1.13.0", + "futures-util", + "hashbrown 0.14.5", + "hex", + "hmac 0.12.1", + "itertools 0.11.0", + "libsecp256k1", + "merlin", + "no-std-net", + "nom", + "num-bigint", + "num-rational", + "num-traits", + "pbkdf2", + "pin-project", + "poly1305", + "rand 0.8.5", + "rand_chacha 0.3.1", + "ruzstd 0.4.0", + "schnorrkel 0.10.2", + "serde", + "serde_json", + "sha2 0.10.9", + "sha3", + "siphasher 0.3.11", + "slab", + "smallvec", + "soketto 0.7.1", + "twox-hash", + "wasmi", + "x25519-dalek", + "zeroize", ] [[package]] @@ -12761,7 +15435,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6d1eaa97d77be4d026a1e7ffad1bb3b78448763b357ea6f8188d3e6f736a9b9" dependencies = [ "arrayvec 0.7.6", - "async-lock", + "async-lock 3.4.1", "atomic-take", "base64 0.21.7", "bip39", @@ -12774,7 +15448,7 @@ dependencies = [ "either", "event-listener 4.0.3", "fnv", - "futures-lite", + "futures-lite 2.6.1", "futures-util", "hashbrown 0.14.5", "hex", @@ -12793,8 +15467,8 @@ dependencies = [ "poly1305", "rand 0.8.5", "rand_chacha 0.3.1", - "ruzstd", - "schnorrkel", + "ruzstd 0.5.0", + "schnorrkel 0.11.5", "serde", "serde_json", "sha2 0.10.9", @@ -12809,14 +15483,50 @@ dependencies = [ "zeroize", ] +[[package]] +name = "smoldot-light" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "256b5bad1d6b49045e95fe87492ce73d5af81545d8b4d8318a872d2007024c33" +dependencies = [ + "async-channel 1.9.0", + "async-lock 2.8.0", + "base64 0.21.7", + "blake2-rfc", + "derive_more 0.99.20", + "either", + "event-listener 2.5.3", + "fnv", + "futures-channel", + "futures-lite 1.13.0", + "futures-util", + "hashbrown 0.14.5", + "hex", + "itertools 0.11.0", + "log", + "lru 0.11.1", + "no-std-net", + "parking_lot 0.12.4", + "pin-project", + "rand 0.8.5", + "rand_chacha 0.3.1", + "serde", + "serde_json", + "siphasher 0.3.11", + "slab", + "smol 1.3.0", + "smoldot 0.11.0", + "zeroize", +] + [[package]] name = "smoldot-light" version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5496f2d116b7019a526b1039ec2247dd172b8670633b1a64a614c9ea12c9d8c7" dependencies = [ - "async-channel 2.3.1", - "async-lock", + "async-channel 2.5.0", + "async-lock 3.4.1", "base64 0.21.7", "blake2-rfc", "derive_more 0.99.20", @@ -12824,15 +15534,15 @@ dependencies = [ "event-listener 4.0.3", "fnv", "futures-channel", - "futures-lite", + "futures-lite 2.6.1", "futures-util", "hashbrown 0.14.5", "hex", "itertools 0.12.1", "log", - "lru", + "lru 0.12.5", "no-std-net", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "pin-project", "rand 0.8.5", "rand_chacha 0.3.1", @@ -12840,8 +15550,8 @@ dependencies = [ "serde_json", "siphasher 1.0.1", "slab", - "smol", - "smoldot", + "smol 2.0.2", + "smoldot 0.16.0", "zeroize", ] @@ -12903,7 +15613,7 @@ dependencies = [ [[package]] name = "snowbridge-beacon-primitives" version = "0.12.1" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "byte-slice-cast", "frame-support", @@ -12950,7 +15660,7 @@ dependencies = [ [[package]] name = "snowbridge-core" version = "0.12.2" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "ethabi-decode", "frame-support", @@ -12994,7 +15704,7 @@ dependencies = [ [[package]] name = "snowbridge-ethereum" version = "0.11.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "ethabi-decode", "ethbloom", @@ -13046,7 +15756,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6)", "sp-runtime", "sp-tracing", ] @@ -13069,7 +15779,7 @@ dependencies = [ [[package]] name = "snowbridge-outbound-queue-merkle-tree" version = "0.10.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "parity-scale-codec", "scale-info", @@ -13205,7 +15915,7 @@ dependencies = [ [[package]] name = "snowbridge-pallet-outbound-queue" version = "0.12.1" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "bridge-hub-common 0.12.0", "ethabi-decode", @@ -13366,14 +16076,24 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" dependencies = [ "libc", "windows-sys 0.52.0", ] +[[package]] +name = "socket2" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + [[package]] name = "soketto" version = "0.7.1" @@ -13408,7 +16128,7 @@ dependencies = [ [[package]] name = "sp-api" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "docify", "hash-db", @@ -13430,7 +16150,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "Inflector", "blake2 0.10.6", @@ -13438,13 +16158,13 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "sp-application-crypto" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "parity-scale-codec", "scale-info", @@ -13456,7 +16176,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "docify", "integer-sqrt", @@ -13470,7 +16190,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "parity-scale-codec", "scale-info", @@ -13482,7 +16202,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "sp-api", "sp-inherents", @@ -13492,11 +16212,11 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "futures", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "schnellru", "sp-api", "sp-consensus", @@ -13511,7 +16231,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.41.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "async-trait", "futures", @@ -13526,7 +16246,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.41.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "async-trait", "parity-scale-codec", @@ -13542,7 +16262,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.41.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "async-trait", "parity-scale-codec", @@ -13560,7 +16280,7 @@ dependencies = [ [[package]] name = "sp-consensus-beefy" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "parity-scale-codec", "scale-info", @@ -13568,7 +16288,7 @@ dependencies = [ "sp-api", "sp-application-crypto", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6)", "sp-io", "sp-keystore", "sp-mmr-primitives", @@ -13580,7 +16300,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "22.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "finality-grandpa", "log", @@ -13597,7 +16317,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.41.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "parity-scale-codec", "scale-info", @@ -13608,7 +16328,7 @@ dependencies = [ [[package]] name = "sp-core" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "array-bytes", "bitflags 1.3.2", @@ -13628,16 +16348,16 @@ dependencies = [ "merlin", "parity-bip39", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "paste", "primitive-types 0.13.1", "rand 0.8.5", "scale-info", - "schnorrkel", + "schnorrkel 0.11.5", "secp256k1 0.28.2", "secrecy", "serde", - "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6)", "sp-debug-derive", "sp-externalities", "sp-runtime-interface", @@ -13668,7 +16388,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "blake2b_simd", "byteorder", @@ -13681,36 +16401,36 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "quote", - "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)", - "syn 2.0.101", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6)", + "syn 2.0.106", ] [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "kvdb", - "parking_lot 0.12.3", + "parking_lot 0.12.4", ] [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "sp-externalities" version = "0.30.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "environmental", "parity-scale-codec", @@ -13720,7 +16440,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.16.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "parity-scale-codec", "scale-info", @@ -13732,7 +16452,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -13745,7 +16465,7 @@ dependencies = [ [[package]] name = "sp-io" version = "39.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "bytes", "docify", @@ -13757,7 +16477,7 @@ dependencies = [ "rustversion", "secp256k1 0.28.2", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6)", "sp-externalities", "sp-keystore", "sp-runtime-interface", @@ -13771,7 +16491,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "40.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "sp-core", "sp-runtime", @@ -13781,10 +16501,10 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.41.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "sp-core", "sp-externalities", ] @@ -13792,7 +16512,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "thiserror 1.0.69", "zstd 0.12.4", @@ -13801,7 +16521,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.8.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-metadata 18.0.0", "parity-scale-codec", @@ -13811,7 +16531,7 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.13.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "parity-scale-codec", "scale-info", @@ -13822,7 +16542,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "log", "parity-scale-codec", @@ -13839,7 +16559,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "35.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "parity-scale-codec", "scale-info", @@ -13852,7 +16572,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "sp-api", "sp-core", @@ -13862,7 +16582,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "backtrace", "regex", @@ -13871,7 +16591,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "33.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "rustc-hash 1.1.0", "serde", @@ -13881,7 +16601,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "40.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "binary-merkle-tree", "docify", @@ -13910,7 +16630,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -13929,20 +16649,20 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "Inflector", "expander", "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "sp-session" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "parity-scale-codec", "scale-info", @@ -13956,7 +16676,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -13969,12 +16689,12 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "hash-db", "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "rand 0.8.5", "smallvec", "sp-core", @@ -13983,13 +16703,13 @@ dependencies = [ "sp-trie", "thiserror 1.0.69", "tracing", - "trie-db", + "trie-db 0.29.1", ] [[package]] name = "sp-statement-store" version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "aes-gcm", "curve25519-dalek", @@ -14002,7 +16722,7 @@ dependencies = [ "sp-api", "sp-application-crypto", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6)", "sp-externalities", "sp-runtime", "sp-runtime-interface", @@ -14013,12 +16733,12 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" [[package]] name = "sp-storage" version = "22.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "impl-serde 0.5.0", "parity-scale-codec", @@ -14030,7 +16750,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "async-trait", "parity-scale-codec", @@ -14042,7 +16762,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "17.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "parity-scale-codec", "tracing", @@ -14053,7 +16773,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "sp-api", "sp-runtime", @@ -14062,7 +16782,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "async-trait", "parity-scale-codec", @@ -14076,14 +16796,14 @@ dependencies = [ [[package]] name = "sp-trie" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "ahash", "hash-db", "memory-db", "nohash-hasher", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "rand 0.8.5", "scale-info", "schnellru", @@ -14091,14 +16811,14 @@ dependencies = [ "sp-externalities", "thiserror 1.0.69", "tracing", - "trie-db", + "trie-db 0.29.1", "trie-root", ] [[package]] name = "sp-version" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "impl-serde 0.5.0", "parity-scale-codec", @@ -14115,19 +16835,19 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "parity-scale-codec", "proc-macro-warning 1.84.1", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "sp-wasm-interface" version = "21.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -14139,7 +16859,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "31.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -14226,7 +16946,7 @@ dependencies = [ "futures-util", "hashlink", "hex", - "indexmap 2.9.0", + "indexmap 2.11.0", "log", "memchr", "native-tls", @@ -14348,10 +17068,23 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +[[package]] +name = "staging-parachain-info" +version = "0.18.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "cumulus-primitives-core", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "sp-runtime", +] + [[package]] name = "staging-xcm" version = "15.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "array-bytes", "bounded-collections", @@ -14372,7 +17105,7 @@ dependencies = [ [[package]] name = "staging-xcm-builder" version = "18.2.1" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-support", "frame-system", @@ -14394,7 +17127,7 @@ dependencies = [ [[package]] name = "staging-xcm-executor" version = "18.0.3" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "environmental", "frame-benchmarking", @@ -14419,15 +17152,15 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "static_init" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a2a1c578e98c1c16fc3b8ec1328f7659a500737d7a0c6d625e73e830ff9c1f6" +checksum = "8bae1df58c5fea7502e8e352ec26b5579f6178e1fdb311e088580c980dee25ed" dependencies = [ "bitflags 1.3.2", - "cfg_aliases 0.1.1", + "cfg_aliases 0.2.1", "libc", - "parking_lot 0.11.2", - "parking_lot_core 0.8.6", + "parking_lot 0.12.4", + "parking_lot_core 0.9.11", "static_init_macro", "winapi", ] @@ -14445,6 +17178,17 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "stringprep" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" +dependencies = [ + "unicode-bidi", + "unicode-normalization", + "unicode-properties", +] + [[package]] name = "strsim" version = "0.10.0" @@ -14495,17 +17239,17 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "substrate-bip39" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "hmac 0.12.1", "pbkdf2", - "schnorrkel", + "schnorrkel 0.11.5", "sha2 0.10.9", "zeroize", ] @@ -14526,12 +17270,12 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" [[package]] name = "substrate-frame-rpc-system" version = "42.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "docify", "frame-system-rpc-runtime-api", @@ -14551,10 +17295,10 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.17.1" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "http-body-util", - "hyper 1.6.0", + "hyper 1.7.0", "hyper-util", "log", "prometheus", @@ -14562,10 +17306,27 @@ dependencies = [ "tokio", ] +[[package]] +name = "substrate-state-trie-migration-rpc" +version = "41.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +dependencies = [ + "jsonrpsee 0.24.9", + "parity-scale-codec", + "sc-client-api", + "sc-rpc-api", + "serde", + "sp-core", + "sp-runtime", + "sp-state-machine", + "sp-trie", + "trie-db 0.29.1", +] + [[package]] name = "substrate-wasm-builder" version = "25.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "array-bytes", "build-helper", @@ -14587,7 +17348,7 @@ dependencies = [ "sp-version", "strum 0.26.3", "tempfile", - "toml 0.8.22", + "toml 0.8.23", "walkdir", "wasm-opt", ] @@ -14604,6 +17365,12 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" +[[package]] +name = "subtle-ng" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" + [[package]] name = "subxt" version = "0.37.0" @@ -14656,7 +17423,7 @@ dependencies = [ "scale-info", "scale-typegen", "subxt-metadata", - "syn 2.0.101", + "syn 2.0.106", "thiserror 1.0.69", "tokio", ] @@ -14698,7 +17465,7 @@ dependencies = [ "futures-util", "serde", "serde_json", - "smoldot-light", + "smoldot-light 0.14.0", "thiserror 1.0.69", "tokio", "tokio-stream", @@ -14717,7 +17484,7 @@ dependencies = [ "quote", "scale-typegen", "subxt-codegen", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -14748,7 +17515,7 @@ dependencies = [ "parity-scale-codec", "pbkdf2", "regex", - "schnorrkel", + "schnorrkel 0.11.5", "secp256k1 0.28.2", "secrecy", "sha2 0.10.9", @@ -14757,6 +17524,23 @@ dependencies = [ "zeroize", ] +[[package]] +name = "suppaftp" +version = "6.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9d869e942cc5f349ad91645925a9e6b570f62c4c170ad1c7b92b867bd16bd54" +dependencies = [ + "async-std", + "async-trait", + "chrono", + "futures-lite 2.6.1", + "lazy-regex", + "log", + "pin-project", + "rustls 0.23.31", + "thiserror 2.0.16", +] + [[package]] name = "syn" version = "1.0.109" @@ -14770,9 +17554,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.101" +version = "2.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" +checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" dependencies = [ "proc-macro2", "quote", @@ -14788,7 +17572,16 @@ dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", +] + +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", ] [[package]] @@ -14811,7 +17604,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -14820,7 +17613,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.4", "core-foundation 0.9.4", "system-configuration-sys", ] @@ -14861,15 +17654,15 @@ checksum = "1ac9aa371f599d22256307c24a9d748c041e548cbf599f35d890f9d365361790" [[package]] name = "tempfile" -version = "3.20.0" +version = "3.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" +checksum = "15b61f8f20e3a6f7e0649d825294eaf317edce30f82cf6026e7e4cb9222a7d1e" dependencies = [ - "fastrand", + "fastrand 2.3.0", "getrandom 0.3.3", "once_cell", - "rustix 1.0.7", - "windows-sys 0.59.0", + "rustix 1.0.8", + "windows-sys 0.60.2", ] [[package]] @@ -14883,12 +17676,12 @@ dependencies = [ [[package]] name = "terminal_size" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45c6481c4829e4cc63825e62c49186a34538b7b2750b73b266581ffb612fb5ed" +checksum = "60b8cb979cb11c32ce1603f8137b22262a9d131aaa5c37b5678025f22b8becd0" dependencies = [ - "rustix 1.0.7", - "windows-sys 0.59.0", + "rustix 1.0.8", + "windows-sys 0.60.2", ] [[package]] @@ -14908,11 +17701,31 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.12" +version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +checksum = "3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0" dependencies = [ - "thiserror-impl 2.0.12", + "thiserror-impl 2.0.16", +] + +[[package]] +name = "thiserror-core" +version = "1.0.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c001ee18b7e5e3f62cbf58c7fe220119e68d902bb7443179c0c8aef30090e999" +dependencies = [ + "thiserror-core-impl", +] + +[[package]] +name = "thiserror-core-impl" +version = "1.0.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4c60d69f36615a077cc7663b9cb8e42275722d23e58a7fa3d2c7f2915d09d04" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", ] [[package]] @@ -14923,18 +17736,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "thiserror-impl" -version = "2.0.12" +version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +checksum = "6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -14945,12 +17758,11 @@ checksum = "3bf63baf9f5039dadc247375c29eb13706706cfde997d0330d05aa63a77d8820" [[package]] name = "thread_local" -version = "1.1.8" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" dependencies = [ "cfg-if", - "once_cell", ] [[package]] @@ -14985,12 +17797,11 @@ dependencies = [ [[package]] name = "time" -version = "0.3.41" +version = "0.3.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" +checksum = "83bde6f1ec10e72d583d91623c939f623002284ef622b87de38cfd546cbf2031" dependencies = [ "deranged", - "itoa", "num-conv", "powerfmt", "serde", @@ -15000,15 +17811,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.4" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" +checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b" [[package]] name = "time-macros" -version = "0.2.22" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" +checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3" dependencies = [ "num-conv", "time-core", @@ -15035,9 +17846,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" +checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" dependencies = [ "tinyvec_macros", ] @@ -15050,20 +17861,22 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.45.0" +version = "1.47.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2513ca694ef9ede0fb23fe71a4ee4107cb102b9dc1930f6d0fd77aae068ae165" +checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" dependencies = [ "backtrace", "bytes", + "io-uring", "libc", "mio", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.9", + "slab", + "socket2 0.6.0", "tokio-macros", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -15074,7 +17887,33 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", +] + +[[package]] +name = "tokio-postgres" +version = "0.7.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c95d533c83082bb6490e0189acaa0bbeef9084e60471b696ca6988cd0541fb0" +dependencies = [ + "async-trait", + "byteorder", + "bytes", + "fallible-iterator 0.2.0", + "futures-channel", + "futures-util", + "log", + "parking_lot 0.12.4", + "percent-encoding", + "phf", + "pin-project-lite", + "postgres-protocol", + "postgres-types", + "rand 0.9.2", + "socket2 0.5.10", + "tokio", + "tokio-util", + "whoami", ] [[package]] @@ -15104,7 +17943,7 @@ version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" dependencies = [ - "rustls 0.23.27", + "rustls 0.23.31", "tokio", ] @@ -15128,7 +17967,7 @@ checksum = "7a9daff607c6d2bf6c16fd681ccb7eecc83e4e2cdc1ca067ffaadfca5de7f084" dependencies = [ "futures-util", "log", - "rustls 0.23.27", + "rustls 0.23.31", "rustls-native-certs 0.8.1", "rustls-pki-types", "tokio", @@ -15138,9 +17977,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.15" +version = "0.7.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" +checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5" dependencies = [ "bytes", "futures-core", @@ -15161,44 +18000,83 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.22" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae" +checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" dependencies = [ "serde", - "serde_spanned", - "toml_datetime", + "serde_spanned 0.6.9", + "toml_datetime 0.6.11", "toml_edit", ] [[package]] -name = "toml_datetime" -version = "0.6.9" +name = "toml" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3" +checksum = "75129e1dc5000bfbaa9fee9d1b21f974f9fbad9daec557a521ee6e080825f6e8" +dependencies = [ + "indexmap 2.11.0", + "serde", + "serde_spanned 1.0.0", + "toml_datetime 0.7.0", + "toml_parser", + "toml_writer", + "winnow", +] + +[[package]] +name = "toml_datetime" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_datetime" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3" dependencies = [ "serde", ] [[package]] name = "toml_edit" -version = "0.22.26" +version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e" +checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.9.0", + "indexmap 2.11.0", "serde", - "serde_spanned", - "toml_datetime", + "serde_spanned 0.6.9", + "toml_datetime 0.6.11", "toml_write", "winnow", ] [[package]] -name = "toml_write" -version = "0.1.1" +name = "toml_parser" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076" +checksum = "b551886f449aa90d4fe2bdaa9f4a2577ad2dde302c61ecf262d80b116db95c10" +dependencies = [ + "winnow", +] + +[[package]] +name = "toml_write" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" + +[[package]] +name = "toml_writer" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc842091f2def52017664b53082ecbbeb5c7731092bad69d2c63050401dfd64" [[package]] name = "tower" @@ -15215,13 +18093,28 @@ dependencies = [ "tracing", ] +[[package]] +name = "tower" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper", + "tokio", + "tower-layer", + "tower-service", +] + [[package]] name = "tower-http" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.4", "bytes", "http 1.3.1", "http-body 1.0.1", @@ -15231,6 +18124,24 @@ dependencies = [ "tower-service", ] +[[package]] +name = "tower-http" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" +dependencies = [ + "bitflags 2.9.4", + "bytes", + "futures-util", + "http 1.3.1", + "http-body 1.0.1", + "iri-string", + "pin-project-lite", + "tower 0.5.2", + "tower-layer", + "tower-service", +] + [[package]] name = "tower-layer" version = "0.3.3" @@ -15257,20 +18168,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.28" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" +checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "tracing-core" -version = "0.1.33" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" dependencies = [ "once_cell", "valuable", @@ -15289,7 +18200,7 @@ dependencies = [ [[package]] name = "tracing-gum" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "coarsetime", "polkadot-primitives", @@ -15300,13 +18211,13 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" version = "5.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "expander", "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -15322,15 +18233,15 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.19" +version = "0.3.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" +checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5" dependencies = [ "matchers", "nu-ansi-term", "once_cell", - "parking_lot 0.12.3", - "regex", + "parking_lot 0.12.4", + "regex-automata", "sharded-slab", "smallvec", "thread_local", @@ -15340,6 +18251,19 @@ dependencies = [ "tracing-log", ] +[[package]] +name = "trie-db" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "767abe6ffed88a1889671a102c2861ae742726f52e0a5a425b92c9fbfa7e9c85" +dependencies = [ + "hash-db", + "hashbrown 0.13.2", + "log", + "rustc-hex", + "smallvec", +] + [[package]] name = "trie-db" version = "0.29.1" @@ -15423,7 +18347,7 @@ dependencies = [ "ipconfig", "lru-cache", "once_cell", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "rand 0.8.5", "resolv-conf", "smallvec", @@ -15441,9 +18365,9 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "trybuild" -version = "1.0.105" +version = "1.0.110" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c9bf9513a2f4aeef5fdac8677d7d349c79fdbcc03b9c86da6e9d254f1e43be2" +checksum = "32e257d7246e7a9fd015fb0b28b330a8d4142151a33f03e6a497754f4b1f6a8e" dependencies = [ "dissimilar", "glob", @@ -15452,7 +18376,7 @@ dependencies = [ "serde_json", "target-triple", "termcolor", - "toml 0.8.22", + "toml 0.9.5", ] [[package]] @@ -15472,11 +18396,11 @@ dependencies = [ "http 1.3.1", "httparse", "log", - "rand 0.9.1", - "rustls 0.23.27", + "rand 0.9.2", + "rustls 0.23.31", "rustls-pki-types", "sha1", - "thiserror 2.0.12", + "thiserror 2.0.16", "url", "utf-8", ] @@ -15541,6 +18465,12 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" +[[package]] +name = "unicase" +version = "2.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" + [[package]] name = "unicode-bidi" version = "0.3.18" @@ -15562,6 +18492,12 @@ dependencies = [ "tinyvec", ] +[[package]] +name = "unicode-properties" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" + [[package]] name = "unicode-segmentation" version = "1.12.0" @@ -15570,9 +18506,9 @@ checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "unicode-width" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" +checksum = "4a1a07cc7db3810833284e8d372ccdc6da29741639ecc70c9ec107df0fa6154c" [[package]] name = "unicode-xid" @@ -15632,13 +18568,14 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.4" +version = "2.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" dependencies = [ "form_urlencoded", - "idna 1.0.3", + "idna 1.1.0", "percent-encoding", + "serde", ] [[package]] @@ -15667,9 +18604,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.17.0" +version = "1.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cf4199d1e5d15ddd86a694e4d0dffa9c323ce759fea589f00fef9d81cc1931d" +checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" dependencies = [ "getrandom 0.3.3", "js-sys", @@ -15682,6 +18619,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" +[[package]] +name = "value-bag" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "943ce29a8a743eb10d6082545d861b24f9d1b160b7d741e0f2cdf726bec909c5" + [[package]] name = "vcpkg" version = "0.2.15" @@ -15731,6 +18674,12 @@ dependencies = [ "libc", ] +[[package]] +name = "waker-fn" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" + [[package]] name = "walkdir" version = "2.5.0" @@ -15752,59 +18701,66 @@ dependencies = [ [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasi" -version = "0.14.2+wasi-0.2.4" +version = "0.14.4+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +checksum = "88a5f4a424faf49c3c2c344f166f0662341d470ea185e939657aaff130f0ec4a" dependencies = [ - "wit-bindgen-rt", + "wit-bindgen", ] +[[package]] +name = "wasite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" + [[package]] name = "wasix" version = "0.12.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1fbb4ef9bbca0c1170e0b00dd28abc9e3b68669821600cad1caaed606583c6d" dependencies = [ - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.11.1+wasi-snapshot-preview1", ] [[package]] name = "wasm-bindgen" -version = "0.2.100" +version = "0.2.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +checksum = "7e14915cadd45b529bb8d1f343c4ed0ac1de926144b746e2710f9cd05df6603b" dependencies = [ "cfg-if", "once_cell", "rustversion", "wasm-bindgen-macro", + "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.100" +version = "0.2.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" +checksum = "e28d1ba982ca7923fd01448d5c30c6864d0a14109560296a162f80f305fb93bb" dependencies = [ "bumpalo", "log", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.50" +version = "0.4.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" +checksum = "0ca85039a9b469b38336411d6d6ced91f3fc87109a2a27b0c197663f5144dffe" dependencies = [ "cfg-if", "js-sys", @@ -15815,9 +18771,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.100" +version = "0.2.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +checksum = "7c3d463ae3eff775b0c45df9da45d68837702ac35af998361e2c84e7c5ec1b0d" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -15825,22 +18781,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.100" +version = "0.2.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +checksum = "7bb4ce89b08211f923caf51d527662b75bdc9c9c7aab40f86dcb9fb85ac552aa" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.100" +version = "0.2.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +checksum = "f143854a3b13752c6950862c906306adb27c7e839f7414cec8fea35beab624c1" dependencies = [ "unicode-ident", ] @@ -15894,6 +18850,19 @@ dependencies = [ "cxx-build", ] +[[package]] +name = "wasm-streams" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + [[package]] name = "wasm-timer" version = "0.2.5" @@ -16156,9 +19125,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.77" +version = "0.3.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" +checksum = "77e4b637749ff0d92b8fad63aa1f7cff3cbe125fd49c175cd6345e7272638b12" dependencies = [ "js-sys", "wasm-bindgen", @@ -16174,6 +19143,24 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "webpki-root-certs" +version = "0.26.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75c7f0ef91146ebfb530314f5f1d24528d7f0767efbfd31dce919275413e393e" +dependencies = [ + "webpki-root-certs 1.0.2", +] + +[[package]] +name = "webpki-root-certs" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e4ffd8df1c57e87c325000a3d6ef93db75279dc3a231125aac571650f22b12a" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "webpki-roots" version = "0.25.4" @@ -16186,23 +19173,34 @@ version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" dependencies = [ - "webpki-roots 1.0.0", + "webpki-roots 1.0.2", ] [[package]] name = "webpki-roots" -version = "1.0.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2853738d1cc4f2da3a225c18ec6c3721abb31961096e9dbf5ab35fa88b19cfdb" +checksum = "7e8983c3ab33d6fb807cfcdad2491c4ea8cbc8ed839181c7dfd9c67c83e261b2" dependencies = [ "rustls-pki-types", ] [[package]] -name = "wide" -version = "0.7.32" +name = "whoami" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41b5576b9a81633f3e8df296ce0063042a73507636cbe956c61133dd7034ab22" +checksum = "5d4a4db5077702ca3015d3d02d74974948aba2ad9e12ab7df718ee64ccd7e97d" +dependencies = [ + "libredox", + "wasite", + "web-sys", +] + +[[package]] +name = "wide" +version = "0.7.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce5da8ecb62bcd8ec8b7ea19f69a51275e91299be594ea5cc6ef7819e16cd03" dependencies = [ "bytemuck", "safe_arch", @@ -16232,11 +19230,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.9" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.0", ] [[package]] @@ -16257,14 +19255,14 @@ dependencies = [ [[package]] name = "windows" -version = "0.61.1" +version = "0.61.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5ee8f3d025738cb02bad7868bbb5f8a6327501e870bf51f1b455b0a2454a419" +checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" dependencies = [ "windows-collections", - "windows-core 0.61.0", + "windows-core 0.61.2", "windows-future", - "windows-link", + "windows-link 0.1.3", "windows-numerics", ] @@ -16274,7 +19272,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" dependencies = [ - "windows-core 0.61.0", + "windows-core 0.61.2", ] [[package]] @@ -16289,25 +19287,26 @@ dependencies = [ [[package]] name = "windows-core" -version = "0.61.0" +version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4763c1de310c86d75a878046489e2e5ba02c649d185f21c67d4cf8a56d098980" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ "windows-implement", "windows-interface", - "windows-link", - "windows-result 0.3.2", + "windows-link 0.1.3", + "windows-result 0.3.4", "windows-strings", ] [[package]] name = "windows-future" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a1d6bbefcb7b60acd19828e1bc965da6fcf18a7e39490c5f8be71e54a19ba32" +checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" dependencies = [ - "windows-core 0.61.0", - "windows-link", + "windows-core 0.61.2", + "windows-link 0.1.3", + "windows-threading", ] [[package]] @@ -16318,7 +19317,7 @@ checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -16329,14 +19328,20 @@ checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "windows-link" -version = "0.1.1" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" + +[[package]] +name = "windows-link" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65" [[package]] name = "windows-numerics" @@ -16344,8 +19349,8 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" dependencies = [ - "windows-core 0.61.0", - "windows-link", + "windows-core 0.61.2", + "windows-link 0.1.3", ] [[package]] @@ -16359,20 +19364,20 @@ dependencies = [ [[package]] name = "windows-result" -version = "0.3.2" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" dependencies = [ - "windows-link", + "windows-link 0.1.3", ] [[package]] name = "windows-strings" -version = "0.4.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2ba9642430ee452d5a7aa78d72907ebe8cfda358e8cb7918a2050581322f97" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" dependencies = [ - "windows-link", + "windows-link 0.1.3", ] [[package]] @@ -16411,6 +19416,24 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.3", +] + +[[package]] +name = "windows-sys" +version = "0.61.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e201184e40b2ede64bc2ea34968b28e33622acdbbf37104f0e4a33f7abe657aa" +dependencies = [ + "windows-link 0.2.0", +] + [[package]] name = "windows-targets" version = "0.42.2" @@ -16459,10 +19482,11 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.53.0" +version = "0.53.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" +checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91" dependencies = [ + "windows-link 0.1.3", "windows_aarch64_gnullvm 0.53.0", "windows_aarch64_msvc 0.53.0", "windows_i686_gnu 0.53.0", @@ -16473,6 +19497,15 @@ dependencies = [ "windows_x86_64_msvc 0.53.0", ] +[[package]] +name = "windows-threading" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" +dependencies = [ + "windows-link 0.1.3", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.42.2" @@ -16655,9 +19688,9 @@ checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" [[package]] name = "winnow" -version = "0.7.10" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" +checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" dependencies = [ "memchr", ] @@ -16673,13 +19706,10 @@ dependencies = [ ] [[package]] -name = "wit-bindgen-rt" -version = "0.39.0" +name = "wit-bindgen" +version = "0.45.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" -dependencies = [ - "bitflags 2.9.0", -] +checksum = "5c573471f125075647d03df72e026074b7203790d41351cd6edc96f46bcccd36" [[package]] name = "writeable" @@ -16738,25 +19768,25 @@ dependencies = [ "nom", "oid-registry 0.8.1", "rusticata-macros", - "thiserror 2.0.12", + "thiserror 2.0.16", "time", ] [[package]] name = "xcm-procedural" version = "11.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "Inflector", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "xcm-runtime-apis" version = "0.5.3" -source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753" dependencies = [ "frame-support", "parity-scale-codec", @@ -16769,9 +19799,9 @@ dependencies = [ [[package]] name = "xml-rs" -version = "0.8.26" +version = "0.8.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a62ce76d9b56901b19a74f19431b0d8b3bc7ca4ad685a746dfd78ca8f4fc6bda" +checksum = "6fd8403733700263c6eb89f192880191f1b83e332f7a20371ddcf421c4a337c7" [[package]] name = "xmltree" @@ -16791,7 +19821,7 @@ dependencies = [ "futures", "log", "nohash-hasher", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "pin-project", "rand 0.8.5", "static_assertions", @@ -16799,16 +19829,16 @@ dependencies = [ [[package]] name = "yamux" -version = "0.13.5" +version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3da1acad1c2dc53f0dde419115a38bd8221d8c3e47ae9aeceaf453266d29307e" +checksum = "2b2dd50a6d6115feb3e5d7d0efd45e8ca364b6c83722c1e9c602f5764e0e9597" dependencies = [ "futures", "log", "nohash-hasher", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "pin-project", - "rand 0.9.1", + "rand 0.9.2", "static_assertions", "web-time", ] @@ -16854,28 +19884,28 @@ checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", "synstructure 0.13.2", ] [[package]] name = "zerocopy" -version = "0.8.25" +version = "0.8.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" +checksum = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.25" +version = "0.8.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" +checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -16895,7 +19925,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", "synstructure 0.13.2", ] @@ -16916,7 +19946,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -16932,9 +19962,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.2" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" +checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" dependencies = [ "yoke", "zerofrom", @@ -16949,7 +19979,7 @@ checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -16992,10 +20022,11 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.15+zstd.1.5.7" +version = "2.0.16+zstd.1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb81183ddd97d0c74cedf1d50d85c8d08c1b8b68ee863bdee9e706eedba1a237" +checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748" dependencies = [ + "bindgen 0.72.1", "cc", "pkg-config", ] diff --git a/operator/Cargo.toml b/operator/Cargo.toml index 0aa69ae6..b2a4bd9c 100644 --- a/operator/Cargo.toml +++ b/operator/Cargo.toml @@ -39,6 +39,7 @@ alloy-core = { version = "0.8.15", default-features = false } alloy-primitives = { version = "0.4.2", default-features = false } alloy-sol-types = { version = "0.4.2", default-features = false } array-bytes = { version = "6.2.2", default-features = false } +async-channel = "1.8.0" async-trait = { version = "0.1.42" } blake2-rfc = { version = "0.2.18", default-features = false } byte-slice-cast = { version = "1.2.1", default-features = false } @@ -96,6 +97,7 @@ frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-s frame-try-runtime = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false } mmr-rpc = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false } pallet-authorship = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false } +pallet-assets = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false } pallet-babe = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false } pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false } pallet-beefy = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false } @@ -109,6 +111,7 @@ pallet-multisig = { git = "https://github.com/paritytech/polkadot-sdk", tag = "p pallet-offences = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false } pallet-parameters = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false } pallet-preimage = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false } +pallet-collator-selection = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2412-6", default-features = false } pallet-collective = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false } pallet-conviction-voting = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false } pallet-nfts = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false } @@ -125,6 +128,8 @@ pallet-treasury = { git = "https://github.com/paritytech/polkadot-sdk", tag = "p pallet-utility = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false } pallet-whitelist = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false } pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false } +parachain-info = { package = "staging-parachain-info", git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2412-6", default-features = false } +parachains-common = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2412-6", default-features = false } polkadot-parachain-primitives = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false } polkadot-primitives = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false } polkadot-runtime-common = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false } @@ -207,52 +212,69 @@ snowbridge-verification-primitives = { path = "primitives/snowbridge/verificatio # Frontier (wasm) evm = { git = "https://github.com/rust-ethereum/evm", rev = "6d86fe2d3bcc14887c2575f62958a67ac2d523db", default-features = false } -fp-account = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false } -fp-evm = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false } -fp-rpc = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false } -fp-self-contained = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false } -fp-storage = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false } -pallet-base-fee = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false } -pallet-dynamic-fee = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false } -pallet-ethereum = { git = "https://github.com/polkadot-evm/frontier/", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false } -pallet-evm = { git = "https://github.com/polkadot-evm/frontier/", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false } -pallet-evm-chain-id = { git = "https://github.com/polkadot-evm/frontier/", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false } -pallet-evm-precompile-blake2 = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false } -pallet-evm-precompile-bn128 = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false } -pallet-evm-precompile-modexp = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false } -pallet-evm-precompile-sha3fips = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false } -pallet-evm-precompile-simple = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false } -pallet-hotfix-sufficients = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false } -precompile-utils = { git = "https://github.com/polkadot-evm/frontier/", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false } -precompile-utils-macro = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false } +fp-account = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false } +fp-evm = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false } +fp-rpc = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false } +fp-self-contained = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false } +fp-storage = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false } +pallet-base-fee = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false } +pallet-dynamic-fee = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false } +pallet-ethereum = { git = "https://github.com/polkadot-evm/frontier/", branch = "stable2412", default-features = false } +pallet-evm = { git = "https://github.com/polkadot-evm/frontier/", branch = "stable2412", default-features = false } +pallet-evm-chain-id = { git = "https://github.com/polkadot-evm/frontier/", branch = "stable2412", default-features = false } +pallet-evm-precompile-blake2 = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false } +pallet-evm-precompile-bn128 = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false } +pallet-evm-precompile-modexp = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false } +pallet-evm-precompile-sha3fips = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false } +pallet-evm-precompile-simple = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false } +pallet-hotfix-sufficients = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false } +precompile-utils = { git = "https://github.com/polkadot-evm/frontier/", branch = "stable2412", default-features = false } +precompile-utils-macro = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false } # Frontier (client) -fc-api = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false } -fc-cli = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false } -fc-consensus = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false } -fc-db = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48" } -fc-mapping-sync = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false } -fc-rpc = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false } -fc-rpc-core = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false } -fc-storage = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false } +fc-api = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false } +fc-cli = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false } +fc-consensus = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false } +fc-db = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412" } +fc-mapping-sync = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false } +fc-rpc = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false } +fc-rpc-core = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false } +fc-storage = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false } # StorageHub -storage-hub-runtime = { git = "https://github.com/Moonsong-Labs/storage-hub", rev = "f8281283b6003a3009a32431ed0f3cd628561d6b", default-features = false } -pallet-bucket-nfts = { git = "https://github.com/Moonsong-Labs/storage-hub", rev = "f8281283b6003a3009a32431ed0f3cd628561d6b", default-features = false } -pallet-cr-randomness = { git = "https://github.com/Moonsong-Labs/storage-hub", rev = "f8281283b6003a3009a32431ed0f3cd628561d6b", default-features = false } -pallet-file-system = { git = "https://github.com/Moonsong-Labs/storage-hub", rev = "f8281283b6003a3009a32431ed0f3cd628561d6b", default-features = false } -pallet-file-system-runtime-api = { git = "https://github.com/Moonsong-Labs/storage-hub", rev = "f8281283b6003a3009a32431ed0f3cd628561d6b", default-features = false } -pallet-payment-streams = { git = "https://github.com/Moonsong-Labs/storage-hub", rev = "f8281283b6003a3009a32431ed0f3cd628561d6b", default-features = false } -pallet-payment-streams-runtime-api = { git = "https://github.com/Moonsong-Labs/storage-hub", rev = "f8281283b6003a3009a32431ed0f3cd628561d6b", default-features = false } -pallet-proofs-dealer = { git = "https://github.com/Moonsong-Labs/storage-hub", rev = "f8281283b6003a3009a32431ed0f3cd628561d6b", default-features = false } -pallet-proofs-dealer-runtime-api = { git = "https://github.com/Moonsong-Labs/storage-hub", rev = "f8281283b6003a3009a32431ed0f3cd628561d6b", default-features = false } -pallet-randomness = { git = "https://github.com/Moonsong-Labs/storage-hub", rev = "f8281283b6003a3009a32431ed0f3cd628561d6b", default-features = false } -pallet-storage-providers = { git = "https://github.com/Moonsong-Labs/storage-hub", rev = "f8281283b6003a3009a32431ed0f3cd628561d6b", default-features = false } -pallet-storage-providers-runtime-api = { git = "https://github.com/Moonsong-Labs/storage-hub", rev = "f8281283b6003a3009a32431ed0f3cd628561d6b", default-features = false } -shp-constants = { git = "https://github.com/Moonsong-Labs/storage-hub", rev = "f8281283b6003a3009a32431ed0f3cd628561d6b", default-features = false } -shp-file-metadata = { git = "https://github.com/Moonsong-Labs/storage-hub", rev = "f8281283b6003a3009a32431ed0f3cd628561d6b", default-features = false } -shp-traits = { git = "https://github.com/Moonsong-Labs/storage-hub", rev = "f8281283b6003a3009a32431ed0f3cd628561d6b", default-features = false } -shp-treasury-funding = { git = "https://github.com/Moonsong-Labs/storage-hub", rev = "f8281283b6003a3009a32431ed0f3cd628561d6b", default-features = false } -shp-forest-verifier = { git = "https://github.com/Moonsong-Labs/storage-hub", rev = "f8281283b6003a3009a32431ed0f3cd628561d6b", default-features = false } -shp-file-key-verifier = { git = "https://github.com/Moonsong-Labs/storage-hub", rev = "f8281283b6003a3009a32431ed0f3cd628561d6b", default-features = false } -shp-data-price-updater = { git = "https://github.com/Moonsong-Labs/storage-hub", rev = "f8281283b6003a3009a32431ed0f3cd628561d6b", default-features = false } +## Runtime +storage-hub-runtime = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +pallet-bucket-nfts = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +pallet-cr-randomness = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +pallet-file-system = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +pallet-file-system-runtime-api = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +pallet-payment-streams = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +pallet-payment-streams-runtime-api = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +pallet-proofs-dealer = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +pallet-proofs-dealer-runtime-api = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +pallet-randomness = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +pallet-storage-providers = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +pallet-storage-providers-runtime-api = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +shp-constants = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +shp-file-metadata = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +shp-traits = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +shp-treasury-funding = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +shp-forest-verifier = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +shp-file-key-verifier = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +shp-data-price-updater = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +## Client +shc-actors-framework = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +shc-actors-derive = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +shc-blockchain-service = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +shc-file-transfer-service = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +shc-indexer-service = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +shc-indexer-db = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +shc-common = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +shc-file-manager = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +shc-fisherman-service = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +shc-forest-manager = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +shc-rpc = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +shc-client = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +shp-opaque = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +shp-types = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "b78b5648a38849cee1a462a1b938d63d27e68547", default-features = false } +cumulus-client-service = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2412-6", default-features = false } diff --git a/operator/node/Cargo.toml b/operator/node/Cargo.toml index 285aab7f..aae128b4 100644 --- a/operator/node/Cargo.toml +++ b/operator/node/Cargo.toml @@ -32,6 +32,7 @@ log = { workspace = true } openssl-sys = { workspace = true } serde_json = { workspace = true, default-features = true } url = { workspace = true } +async-channel = { workspace = true } #MMR mmr-rpc = { workspace = true, default-features = true } @@ -99,6 +100,37 @@ fp-evm = { workspace = true } fp-rpc = { workspace = true } pallet-ethereum = { workspace = true } +# StorageHub +pallet-file-system = { workspace = true } +pallet-file-system-runtime-api = { workspace = true } +pallet-payment-streams = { workspace = true } +pallet-payment-streams-runtime-api = { workspace = true } +pallet-proofs-dealer = { workspace = true } +pallet-proofs-dealer-runtime-api = { workspace = true } +pallet-storage-providers = { workspace = true } +pallet-storage-providers-runtime-api = { workspace = true } +shc-actors-framework = { workspace = true } +shc-actors-derive = { workspace = true } +shc-blockchain-service = { workspace = true } +shc-file-transfer-service = { workspace = true } +shc-common = { workspace = true } +shc-file-manager = { workspace = true } +shc-fisherman-service = { workspace = true } +shc-forest-manager = { workspace = true } +shc-indexer-db = { workspace = true } +shc-indexer-service = { workspace = true } +shc-rpc = { workspace = true } +shc-client = { workspace = true } +shp-constants = { workspace = true } +shp-file-key-verifier = { workspace = true } +shp-file-metadata = { workspace = true } +shp-opaque = { workspace = true } +shp-traits = { workspace = true } +shp-types = { workspace = true } +sp-keystore = { workspace = true } +serde = { workspace = true, default-features = true } +cumulus-client-service = { workspace = true } + [build-dependencies] substrate-build-script-utils = { workspace = true, default-features = true } @@ -109,6 +141,7 @@ std = [ "datahaven-stagenet-runtime/std", "datahaven-mainnet-runtime/std", "datahaven-testnet-runtime/std", + "shp-opaque/std" ] # Dependencies that are only required if runtime benchmarking should be build. diff --git a/operator/node/src/cli.rs b/operator/node/src/cli.rs index 2ee5e6ab..b55c8841 100644 --- a/operator/node/src/cli.rs +++ b/operator/node/src/cli.rs @@ -1,7 +1,18 @@ +use crate::command::ProviderOptions; use crate::eth::EthConfiguration; +use clap::{Parser, ValueEnum}; use sc_cli::RunCmd; +use serde::{Deserialize, Deserializer}; +use shc_client::builder::{ + BlockchainServiceOptions, BspChargeFeesOptions, BspMoveBucketOptions, BspSubmitProofOptions, + BspUploadFileOptions, FishermanOptions, IndexerOptions, MspChargeFeesOptions, + MspMoveBucketOptions, +}; +use shc_rpc::RpcConfig; +use shp_types::StorageDataUnit; + // Available Sealing methods. -#[derive(Copy, Clone, Debug, Default, clap::ValueEnum)] +#[derive(Copy, Clone, Debug, Default, ValueEnum)] pub enum Sealing { /// Seal using rpc method. #[default] @@ -10,7 +21,7 @@ pub enum Sealing { Instant, } -#[derive(Debug, clap::Parser)] +#[derive(Debug, Parser)] pub struct Cli { #[command(subcommand)] pub subcommand: Option, @@ -25,6 +36,10 @@ pub struct Cli { #[command(flatten)] pub eth: EthConfiguration, + + /// Provider configurations + #[command(flatten)] + pub provider_config: ProviderConfigurations, } #[derive(Debug, clap::Subcommand)] @@ -62,3 +77,446 @@ pub enum Subcommand { /// Db meta columns information. ChainInfo(sc_cli::ChainInfoCmd), } + +#[derive(ValueEnum, Clone, Debug, Eq, PartialEq)] +pub enum ProviderType { + /// Main Storage Provider + Msp, + /// Backup Storage Provider + Bsp, + /// User role + User, +} + +impl<'de> serde::Deserialize<'de> for ProviderType { + fn deserialize>(d: D) -> Result { + let s = String::deserialize(d)?; + + let provider_type = match s.as_str() { + "bsp" => ProviderType::Bsp, + "msp" => ProviderType::Msp, + "user" => ProviderType::User, + _ => { + return Err(serde::de::Error::custom( + "Cannot parse `provider_type`. Invalid value.", + )) + } + }; + + Ok(provider_type) + } +} + +#[derive(ValueEnum, Clone, Debug)] +pub enum StorageLayer { + /// RocksDB with path. + RocksDB, + /// In Memory + Memory, +} + +impl<'de> serde::Deserialize<'de> for StorageLayer { + fn deserialize>(d: D) -> Result { + let s = String::deserialize(d)?; + + let storage_layer = match s.as_str() { + "rocksdb" => StorageLayer::RocksDB, + "memory" => StorageLayer::Memory, + _ => { + return Err(serde::de::Error::custom( + "Cannot parse `storage_type`. Invalid value.", + )) + } + }; + + Ok(storage_layer) + } +} + +#[derive(Debug, Parser)] +#[group(skip)] +pub struct ProviderConfigurations { + /// Run node as a StorageHub provider. + #[arg(long)] + pub provider: bool, + + /// Run the node in maintenance mode. + /// In this mode, the node will not import blocks or participate in consensus, + /// but will allow specific RPC calls for file and storage management. + #[arg(long, default_value = "false")] + pub maintenance_mode: bool, + + /// Type of StorageHub provider. + #[arg( + long, + value_enum, + value_name = "PROVIDER_TYPE", + required_if_eq("provider", "true") + )] + pub provider_type: Option, + + /// Maximum storage capacity of the provider (bytes). + #[arg(long, required_if_eq_all([ + ("provider", "true"), + ("provider_type", "msp"), + ]), required_if_eq_all([ + ("provider", "true"), + ("provider_type", "bsp"), + ]))] + pub max_storage_capacity: Option, + + /// Jump capacity (bytes). + #[arg(long, required_if_eq_all([ + ("provider", "true"), + ("provider_type", "msp"), + ]), required_if_eq_all([ + ("provider", "true"), + ("provider_type", "bsp"), + ]))] + pub jump_capacity: Option, + + /// Type of StorageHub provider. + /// Currently: `memory` and `rocks-db`. + #[arg( + long, + value_enum, + value_name = "STORAGE_LAYER", + default_value = "memory" + )] + pub storage_layer: Option, + + /// Storage location in the file system + #[arg(long, required_if_eq("storage_layer", "rocks-db"))] + pub storage_path: Option, + + /// Extrinsic retry timeout in seconds. + #[arg(long, default_value = "60")] + pub extrinsic_retry_timeout: Option, + + /// The minimum number of blocks behind the current best block to consider the node out of sync. + #[arg(long, default_value = "5")] + pub sync_mode_min_blocks_behind: Option, + + /// On blocks that are multiples of this number, the blockchain service will trigger the catch of proofs. + #[arg(long, default_value = "4")] + pub check_for_pending_proofs_period: Option, + + /// The maximum number of blocks from the past that will be processed for catching up the root changes. + #[arg(long, default_value = "10")] + pub max_blocks_behind_to_catch_up_root_changes: Option, + + // ============== Provider RPC options ============== + // ============== Remote file upload/download options ============== + /// Maximum file size in bytes (default: 10GB) + #[arg( + long, + value_name = "BYTES", + help_heading = "RPC - Remote File Options", + default_value = "10737418240" + )] + pub max_file_size: Option, + + /// Connection timeout in seconds (default: 30) + #[arg(long, value_name = "SECONDS", default_value = "30")] + pub connection_timeout: Option, + + /// Read timeout in seconds (default: 300) + #[arg(long, value_name = "SECONDS", default_value = "300")] + pub read_timeout: Option, + + /// Whether to follow redirects (default: true) + #[arg(long, value_name = "BOOLEAN", default_value = "true")] + pub follow_redirects: Option, + + /// Maximum number of redirects (default: 10) + #[arg(long, value_name = "COUNT", default_value = "10")] + pub max_redirects: Option, + + /// User agent string (default: "StorageHub-Client/1.0") + #[arg(long, value_name = "STRING", default_value = "StorageHub-Client/1.0")] + pub user_agent: Option, + + /// Chunk size in bytes. This is different from the FILE_CHUNK_SIZE constant in the runtime, as it only affects file upload/download. (default: 8KB) + #[arg(long, value_name = "BYTES", default_value = "8192")] + pub chunk_size: Option, + + /// Number of `chunk_size` chunks to buffer during upload/download. (default: 512) + #[arg(long, value_name = "COUNT", default_value = "512")] + pub chunks_buffer: Option, + + // ============== MSP Charge Fees task options ============== + /// Enable and configure MSP Charge Fees task. + #[arg(long)] + pub msp_charge_fees_task: bool, + + /// Minimum debt threshold for charging users. + #[arg( + long, + value_name = "AMOUNT", + help_heading = "MSP Charge Fees Options", + required_if_eq_all([ + ("msp_charge_fees_task", "true"), + ("provider_type", "msp"), + ]) + )] + pub msp_charge_fees_min_debt: Option, + + /// MSP charging fees period (in blocks). + /// Setting it to 600 with a block every 6 seconds will charge user every hour. + #[arg(long, required_if_eq_all([ + ("provider", "true"), + ("provider_type", "msp"), + ]))] + pub msp_charging_period: Option, + + // ============== MSP Move Bucket task options ============== + /// Enable and configure MSP Move Bucket task. + #[arg(long)] + pub msp_move_bucket_task: bool, + + /// Maximum number of times to retry a move bucket request. + #[arg( + long, + value_name = "COUNT", + help_heading = "MSP Move Bucket Options", + required_if_eq_all([ + ("msp_move_bucket_task", "true"), + ("provider_type", "msp"), + ]) + )] + pub msp_move_bucket_max_try_count: Option, + + /// Maximum tip amount to use when submitting a move bucket request extrinsic. + #[arg( + long, + value_name = "AMOUNT", + help_heading = "MSP Move Bucket Options", + required_if_eq_all([ + ("msp_move_bucket_task", "true"), + ("provider_type", "msp"), + ]) + )] + pub msp_move_bucket_max_tip: Option, + + // ============== BSP Upload File task options ============== + /// Enable and configure BSP Upload File task. + #[arg(long)] + pub bsp_upload_file_task: bool, + + /// Maximum number of times to retry an upload file request. + #[arg( + long, + value_name = "COUNT", + help_heading = "BSP Upload File Options", + required_if_eq_all([ + ("bsp_upload_file_task", "true"), + ("provider_type", "bsp"), + ]) + )] + pub bsp_upload_file_max_try_count: Option, + + /// Maximum tip amount to use when submitting an upload file request extrinsic. + #[arg( + long, + value_name = "AMOUNT", + help_heading = "BSP Upload File Options", + required_if_eq_all([ + ("bsp_upload_file_task", "true"), + ("provider_type", "bsp"), + ]) + )] + pub bsp_upload_file_max_tip: Option, + + // ============== BSP Move Bucket task options ============== + /// Enable and configure BSP Move Bucket task. + #[arg(long)] + pub bsp_move_bucket_task: bool, + + /// Grace period in seconds to accept download requests after a bucket move is accepted. + #[arg( + long, + value_name = "SECONDS", + help_heading = "BSP Move Bucket Options", + required_if_eq_all([ + ("bsp_move_bucket_task", "true"), + ("provider_type", "bsp"), + ]) + )] + pub bsp_move_bucket_grace_period: Option, + + // ============== BSP Charge Fees task options ============== + /// Enable and configure BSP Charge Fees task. + #[arg(long)] + pub bsp_charge_fees_task: bool, + + /// Minimum debt threshold for charging users. + #[arg( + long, + value_name = "AMOUNT", + help_heading = "BSP Charge Fees Options", + required_if_eq_all([ + ("bsp_charge_fees_task", "true"), + ("provider_type", "bsp"), + ]) + )] + pub bsp_charge_fees_min_debt: Option, + + // ============== BSP Submit Proof task options ============== + /// Enable and configure BSP Submit Proof task. + #[arg(long)] + pub bsp_submit_proof_task: bool, + + /// Maximum number of attempts to submit a proof. + #[arg( + long, + value_name = "COUNT", + help_heading = "BSP Submit Proof Options", + required_if_eq_all([ + ("bsp_submit_proof_task", "true"), + ("provider_type", "bsp"), + ]) + )] + pub bsp_submit_proof_max_attempts: Option, +} + +impl ProviderConfigurations { + pub fn provider_options(&self) -> ProviderOptions { + // Configure RPC options for Provider + let mut rpc_config = RpcConfig::default(); + if let Some(max_file_size) = self.max_file_size { + rpc_config.remote_file.max_file_size = max_file_size; + } + if let Some(connection_timeout) = self.connection_timeout { + rpc_config.remote_file.connection_timeout = connection_timeout; + } + if let Some(read_timeout) = self.read_timeout { + rpc_config.remote_file.read_timeout = read_timeout; + } + if let Some(follow_redirects) = self.follow_redirects { + rpc_config.remote_file.follow_redirects = follow_redirects; + } + if let Some(max_redirects) = self.max_redirects { + rpc_config.remote_file.max_redirects = max_redirects; + } + if let Some(user_agent) = self.user_agent.clone() { + rpc_config.remote_file.user_agent = user_agent; + } + if let Some(chunk_size) = self.chunk_size { + if chunk_size > 0 { + rpc_config.remote_file.chunk_size = chunk_size as usize; + } + } + if let Some(chunks_buffer) = self.chunks_buffer { + if chunks_buffer > 0 { + rpc_config.remote_file.chunks_buffer = chunks_buffer as usize; + } + } + + // Get provider type to conditionally apply options + let provider_type = self + .provider_type + .clone() + .expect("Provider type is required"); + + let mut msp_charge_fees = None; + let mut msp_move_bucket = None; + let mut bsp_upload_file = None; + let mut bsp_move_bucket = None; + let mut bsp_charge_fees = None; + let mut bsp_submit_proof = None; + + // Only set MSP options if provider_type is MSP + if provider_type == ProviderType::Msp { + // If specific task flags are enabled, use the provided options + if self.msp_charge_fees_task { + let mut options = MspChargeFeesOptions::default(); + options.min_debt = self.msp_charge_fees_min_debt; + msp_charge_fees = Some(options); + } + + if self.msp_move_bucket_task { + let mut options = MspMoveBucketOptions::default(); + options.max_try_count = self.msp_move_bucket_max_try_count; + options.max_tip = self.msp_move_bucket_max_tip; + msp_move_bucket = Some(options); + } + } + + // Only set BSP options if provider_type is BSP + if provider_type == ProviderType::Bsp { + if self.bsp_upload_file_task { + let mut options = BspUploadFileOptions::default(); + options.max_try_count = self.bsp_upload_file_max_try_count; + options.max_tip = self.bsp_upload_file_max_tip; + bsp_upload_file = Some(options); + } + + if self.bsp_move_bucket_task { + let mut options = BspMoveBucketOptions::default(); + options.move_bucket_accepted_grace_period = self.bsp_move_bucket_grace_period; + bsp_move_bucket = Some(options); + } + + if self.bsp_charge_fees_task { + let mut options = BspChargeFeesOptions::default(); + options.min_debt = self.bsp_charge_fees_min_debt; + bsp_charge_fees = Some(options); + } + + if self.bsp_submit_proof_task { + let mut options = BspSubmitProofOptions::default(); + options.max_submission_attempts = self.bsp_submit_proof_max_attempts; + bsp_submit_proof = Some(options); + } + } + + let mut blockchain_service = None; + if let Some(extrinsic_retry_timeout) = self.extrinsic_retry_timeout { + let mut default_config = BlockchainServiceOptions::default(); + default_config.extrinsic_retry_timeout = Some(extrinsic_retry_timeout); + blockchain_service = Some(default_config); + } + + if let Some(sync_mode_min_blocks_behind) = self.sync_mode_min_blocks_behind { + let mut default_config = BlockchainServiceOptions::default(); + default_config.sync_mode_min_blocks_behind = Some(sync_mode_min_blocks_behind); + blockchain_service = Some(default_config); + } + + if let Some(check_for_pending_proofs_period) = self.check_for_pending_proofs_period { + let mut default_config = BlockchainServiceOptions::default(); + default_config.check_for_pending_proofs_period = Some(check_for_pending_proofs_period); + blockchain_service = Some(default_config); + } + + if let Some(max_blocks_behind_to_catch_up_root_changes) = + self.max_blocks_behind_to_catch_up_root_changes + { + let mut default_config = BlockchainServiceOptions::default(); + default_config.max_blocks_behind_to_catch_up_root_changes = + Some(max_blocks_behind_to_catch_up_root_changes); + blockchain_service = Some(default_config); + } + + ProviderOptions { + provider_type, + storage_layer: self + .storage_layer + .clone() + .expect("Storage layer is required"), + storage_path: self.storage_path.clone(), + max_storage_capacity: self.max_storage_capacity, + jump_capacity: self.jump_capacity, + rpc_config: rpc_config, + msp_charging_period: self.msp_charging_period, + msp_charge_fees, + msp_move_bucket, + bsp_upload_file, + bsp_move_bucket, + bsp_charge_fees, + bsp_submit_proof, + blockchain_service, + maintenance_mode: self.maintenance_mode, + } + } +} diff --git a/operator/node/src/command.rs b/operator/node/src/command.rs index d0bd9966..eca65dc3 100644 --- a/operator/node/src/command.rs +++ b/operator/node/src/command.rs @@ -4,13 +4,64 @@ use crate::service::frontier_database_dir; use crate::{ benchmarking::{inherent_benchmark_data, RemarkBuilder, TransferKeepAliveBuilder}, chain_spec::{self, NetworkType}, - cli::{Cli, Subcommand}, + cli::{Cli, ProviderType, StorageLayer, Subcommand}, service, }; use datahaven_runtime_common::Block; use frame_benchmarking_cli::{BenchmarkCmd, ExtrinsicFactory, SUBSTRATE_REFERENCE_HARDWARE}; use sc_cli::SubstrateCli; use sc_service::DatabaseSource; +use serde::Deserialize; +use shc_client::builder::{ + BlockchainServiceOptions, BspChargeFeesOptions, BspMoveBucketOptions, BspSubmitProofOptions, + BspUploadFileOptions, MspChargeFeesOptions, MspMoveBucketOptions, +}; +use shc_rpc::RpcConfig; +use shp_types::StorageDataUnit; + +/// Configuration for the provider. +#[derive(Debug, Clone, Deserialize)] +pub struct ProviderOptions { + /// Provider type. + pub provider_type: ProviderType, + /// Storage layer. + pub storage_layer: StorageLayer, + /// RocksDB Path. + pub storage_path: Option, + /// Maximum storage capacity of the Storage Provider (bytes). + pub max_storage_capacity: Option, + /// Jump capacity (bytes). + pub jump_capacity: Option, + /// RPC configuration options. + #[serde(default)] + pub rpc_config: RpcConfig, + /// MSP charging fees frequency. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub msp_charging_period: Option, + /// Configuration options for MSP charge fees task. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub msp_charge_fees: Option, + /// Configuration options for MSP move bucket task. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub msp_move_bucket: Option, + /// Configuration options for BSP upload file task. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub bsp_upload_file: Option, + /// Configuration options for BSP move bucket task. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub bsp_move_bucket: Option, + /// Configuration options for BSP charge fees task. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub bsp_charge_fees: Option, + /// Configuration options for BSP submit proof task. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub bsp_submit_proof: Option, + /// Configuration options for blockchain service. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub blockchain_service: Option, + /// Whether the node is running in maintenance mode. + pub maintenance_mode: bool, +} impl SubstrateCli for Cli { fn impl_name() -> String { @@ -58,7 +109,7 @@ macro_rules! construct_async_run { match runner.config().chain_spec { ref spec if spec.is_mainnet() => { runner.async_run(|$config| { - let $components = service::new_partial::( + let $components = service::new_partial::( &$config, &mut $cli.eth.clone() )?; @@ -68,7 +119,7 @@ macro_rules! construct_async_run { } ref spec if spec.is_testnet() => { runner.async_run(|$config| { - let $components = service::new_partial::( + let $components = service::new_partial::( &$config, &mut $cli.eth.clone() )?; @@ -78,7 +129,7 @@ macro_rules! construct_async_run { } _ => { runner.async_run(|$config| { - let $components = service::new_partial::( + let $components = service::new_partial::( &$config, &mut $cli.eth.clone() )?; @@ -94,24 +145,24 @@ macro_rules! construct_benchmark_partials { ($cli:expr, $config:expr, |$partials:ident| $code:expr) => { match $config.chain_spec { ref spec if spec.is_mainnet() => { - let $partials = service::new_partial::( - &$config, - &mut $cli.eth.clone(), - )?; + let $partials = service::new_partial::< + datahaven_mainnet_runtime::Runtime, + datahaven_mainnet_runtime::RuntimeApi, + >(&$config, &mut $cli.eth.clone())?; $code } ref spec if spec.is_testnet() => { - let $partials = service::new_partial::( - &$config, - &mut $cli.eth.clone(), - )?; + let $partials = service::new_partial::< + datahaven_testnet_runtime::Runtime, + datahaven_testnet_runtime::RuntimeApi, + >(&$config, &mut $cli.eth.clone())?; $code } _ => { - let $partials = service::new_partial::( - &$config, - &mut $cli.eth.clone(), - )?; + let $partials = service::new_partial::< + datahaven_stagenet_runtime::Runtime, + datahaven_stagenet_runtime::RuntimeApi, + >(&$config, &mut $cli.eth.clone())?; $code } } @@ -261,7 +312,13 @@ pub fn run() -> sc_cli::Result<()> { runner.sync_run(|config| cmd.run::(&config)) } None => { + let mut provider_options: Option = None; let runner = cli.create_runner(&cli.run)?; + + if cli.provider_config.provider { + provider_options = Some(cli.provider_config.provider_options()); + }; + runner.run_node_until_exit(|config| async move { match config.network.network_backend { // TODO: Litep2p becomes standard with Polkadot SDK stable2412-7 (should move None to other arm) @@ -270,23 +327,26 @@ pub fn run() -> sc_cli::Result<()> { match config.chain_spec { ref spec if spec.is_mainnet() => { service::new_full::< + datahaven_mainnet_runtime::Runtime, datahaven_mainnet_runtime::RuntimeApi, sc_network::NetworkWorker<_, _>, - >(config, cli.eth) + >(config, cli.eth, provider_options) .await } ref spec if spec.is_testnet() => { service::new_full::< - datahaven_testnet_runtime::RuntimeApi, + datahaven_mainnet_runtime::Runtime, + datahaven_mainnet_runtime::RuntimeApi, sc_network::NetworkWorker<_, _>, - >(config, cli.eth) + >(config, cli.eth, provider_options) .await } _ => { service::new_full::< - datahaven_stagenet_runtime::RuntimeApi, + datahaven_mainnet_runtime::Runtime, + datahaven_mainnet_runtime::RuntimeApi, sc_network::NetworkWorker<_, _>, - >(config, cli.eth) + >(config, cli.eth, provider_options) .await } } @@ -296,23 +356,26 @@ pub fn run() -> sc_cli::Result<()> { match config.chain_spec { ref spec if spec.is_mainnet() => { service::new_full::< + datahaven_mainnet_runtime::Runtime, datahaven_mainnet_runtime::RuntimeApi, sc_network::Litep2pNetworkBackend, - >(config, cli.eth) + >(config, cli.eth, provider_options) .await } ref spec if spec.is_testnet() => { service::new_full::< + datahaven_testnet_runtime::Runtime, datahaven_testnet_runtime::RuntimeApi, sc_network::Litep2pNetworkBackend, - >(config, cli.eth) + >(config, cli.eth, provider_options) .await } _ => { service::new_full::< + datahaven_stagenet_runtime::Runtime, datahaven_stagenet_runtime::RuntimeApi, sc_network::Litep2pNetworkBackend, - >(config, cli.eth) + >(config, cli.eth, provider_options) .await } } diff --git a/operator/node/src/service.rs b/operator/node/src/service.rs index 5cfe7f75..85d6573f 100644 --- a/operator/node/src/service.rs +++ b/operator/node/src/service.rs @@ -1,11 +1,15 @@ //! Service and ServiceFactory implementation. Specialized wrapper over substrate service. +use crate::cli::ProviderType; +use crate::cli::StorageLayer; +use crate::command::ProviderOptions; use crate::eth::{ new_frontier_partial, spawn_frontier_tasks, BackendType, FrontierBackend, FrontierPartialComponents, FrontierTasksParams, }; use crate::eth::{EthConfiguration, StorageOverrideHandler}; use crate::rpc::BeefyDeps; +use async_channel::Receiver; use datahaven_runtime_common::{AccountId, Balance, Block, BlockNumber, Hash, Nonce}; use fc_consensus::FrontierBlockImport; use fc_db::DatabaseSource; @@ -15,20 +19,46 @@ use sc_client_api::{AuxStore, Backend, BlockBackend, StateBackend, StorageProvid use sc_consensus_babe::ImportQueueParams; use sc_consensus_grandpa::SharedVoterState; use sc_executor::{HeapAllocStrategy, WasmExecutor, DEFAULT_HEAP_ALLOC_STRATEGY}; +use sc_network::config::FullNetworkConfiguration; +use sc_network::request_responses::IncomingRequest; +use sc_network::service::traits::NetworkService; +use sc_network::ProtocolName; +use sc_service::RpcHandlers; use sc_service::{error::Error as ServiceError, Configuration, TaskManager, WarpSyncConfig}; use sc_telemetry::{Telemetry, TelemetryWorker}; use sc_transaction_pool::{BasicPool, FullChainApi}; use sc_transaction_pool_api::OffchainTransactionPoolFactory; +use shc_actors_framework::actor::TaskSpawner; +use shc_blockchain_service::capacity_manager::CapacityConfig; +use shc_client::builder::IndexerOptions; +use shc_client::{ + builder::{Buildable, StorageHubBuilder, StorageLayerBuilder}, + handler::{RunnableTasks, StorageHubHandler}, + types::{ + BspProvider, FishermanRole, InMemoryStorageLayer, MspProvider, NoStorageLayer, + RocksDbStorageLayer, ShNodeType, ShRole, ShStorageLayer, UserRole, + }, +}; +use shc_common::traits::StorageEnableRuntime; +use shc_common::types::BlockHash; +use shc_common::types::OpaqueBlock; +use shc_common::types::BCSV_KEY_TYPE; +use shc_indexer_db::DbPool; +use shc_rpc::StorageHubClientRpcConfig; use sp_api::ProvideRuntimeApi; use sp_blockchain::{Error as BlockChainError, HeaderBackend, HeaderMetadata}; use sp_consensus_beefy::ecdsa_crypto::AuthorityId as BeefyId; +use sp_core::H256; +use sp_keystore::KeystorePtr; use sp_runtime::traits::BlakeTwo256; +use sp_runtime::SaturatedConversion; +use std::path::PathBuf; use std::{default::Default, path::Path, sync::Arc, time::Duration}; pub(crate) type FullClient = sc_service::TFullClient< Block, RuntimeApi, - sc_executor::WasmExecutor, + sc_executor::WasmExecutor, >; type FullBackend = sc_service::TFullBackend; @@ -99,7 +129,10 @@ pub type Service = sc_service::PartialComponents< FullBackend, FullSelectChain, sc_consensus::DefaultImportQueue, - SingleStatePool, + sc_transaction_pool::BasicPool< + sc_transaction_pool::FullChainApi, Block>, + Block, + >, ( sc_consensus_babe::BabeBlockImport< Block, @@ -124,6 +157,10 @@ pub type Service = sc_service::PartialComponents< ), >; +// StorageHub Enable client +pub(crate) type StorageEnableClient = + shc_common::types::ParachainClient<::RuntimeApi>; + pub fn frontier_database_dir(config: &Configuration, path: &str) -> std::path::PathBuf { config .base_path @@ -199,11 +236,12 @@ where Ok(frontier_backend) } -pub fn new_partial( +pub fn new_partial( config: &Configuration, eth_config: &mut EthConfiguration, ) -> Result, ServiceError> where + Runtime: shc_common::traits::StorageEnableRuntime, RuntimeApi: sp_api::ConstructRuntimeApi> + Send + Sync + 'static, RuntimeApi::RuntimeApi: FullRuntimeApi, { @@ -340,16 +378,25 @@ where } /// Builds a new service for a full client. -pub async fn new_full< +// TODO: Find a way to remove `RuntimeApi` and to just keep `Runtime` +pub async fn new_full_impl< + R: ShRole, + S: ShStorageLayer, + Runtime, RuntimeApi, N: sc_network::NetworkBackend::Hash>, >( config: Configuration, mut eth_config: EthConfiguration, + provider_options: Option, ) -> Result where + Runtime: shc_common::traits::StorageEnableRuntime, RuntimeApi: sp_api::ConstructRuntimeApi> + Send + Sync + 'static, RuntimeApi::RuntimeApi: FullRuntimeApi, + (R, S): ShNodeType, + StorageHubBuilder: StorageLayerBuilder + Buildable<(R, S), Runtime>, + StorageHubHandler<(R, S), Runtime>: RunnableTasks, { let sc_service::PartialComponents { client, @@ -370,7 +417,7 @@ where storage_override, mut telemetry, ), - } = new_partial::(&config, &mut eth_config)?; + } = new_partial::(&config, &mut eth_config)?; let FrontierPartialComponents { filter_pool, @@ -384,6 +431,23 @@ where N, >::new(&config.network, config.prometheus_registry().cloned()); + // Starting StorageHub file transfer service. + // TODO: add fisherman + let mut file_transfer_request_protocol = None; + if provider_options.is_some() { + let genesis_hash = client + .block_hash(0u32.into()) + .ok() + .flatten() + .expect("Genesis block exists; qed"); + + file_transfer_request_protocol = Some(configure_file_transfer_network::<_>( + genesis_hash, + &config, + &mut net_config, + )); + } + let metrics = N::register_notification_metrics(config.prometheus_registry()); let peer_store_handle = net_config.peer_store_handle(); @@ -470,6 +534,31 @@ where ); } + let signing_dev_key = config + .dev_key_seed + .clone() + .expect("Dev key seed must be present in dev mode."); + let keystore = keystore_container.keystore(); + + // Initialise seed for signing transactions using blockchain service. + // In dev mode we use a well known dev account. + keystore + .sr25519_generate_new(BCSV_KEY_TYPE, Some(signing_dev_key.as_ref())) + .expect("Invalid dev signing key provided."); + + // Storage Hub builder + let (sh_builder, maybe_storage_hub_client_rpc_config) = init_sh_builder::( + &provider_options, + &task_manager, + file_transfer_request_protocol, + network.clone(), + keystore.clone(), + client.clone(), + // indexer_options.clone(), FIXME + None, + ) + .await?; + let role = config.role; let force_authoring = config.force_authoring; let backoff_authoring_blocks: Option<()> = None; @@ -513,6 +602,8 @@ where ) .await; + let base_path = config.base_path.path().to_path_buf().clone(); + let rpc_extensions_builder = { let client = client.clone(); let pool = transaction_pool.clone(); @@ -557,7 +648,7 @@ where }) }; - let _rpc_handlers = sc_service::spawn_tasks(sc_service::SpawnTasksParams { + let rpc_handlers = sc_service::spawn_tasks(sc_service::SpawnTasksParams { network: Arc::new(network.clone()), client: client.clone(), keystore: keystore_container.keystore(), @@ -707,6 +798,306 @@ where .spawn_blocking("beefy-gadget", None, gadget); } + if let Some(_) = provider_options { + // Finishing building storage hub + finish_sh_builder_and_run_tasks( + sh_builder.unwrap(), + client.clone(), + rpc_handlers.clone(), + keystore_container.keystore(), + base_path.clone(), + false, + ) + .await?; + } + network_starter.start_network(); Ok(task_manager) } + +pub async fn new_full< + Runtime, + RuntimeApi, + N: sc_network::NetworkBackend::Hash>, +>( + config: Configuration, + mut eth_config: EthConfiguration, + provider_options: Option, +) -> Result +where + Runtime: shc_common::traits::StorageEnableRuntime, + RuntimeApi: sp_api::ConstructRuntimeApi> + Send + Sync + 'static, + RuntimeApi::RuntimeApi: FullRuntimeApi, +{ + if let Some(provider_options) = provider_options { + match ( + &provider_options.provider_type, + &provider_options.storage_layer, + ) { + (&ProviderType::Bsp, &StorageLayer::Memory) => { + return new_full_impl::( + config, + eth_config, + Some(provider_options), + ) + .await; + } + (&ProviderType::Bsp, &StorageLayer::RocksDB) => { + return new_full_impl::( + config, + eth_config, + Some(provider_options), + ) + .await; + } + (&ProviderType::Msp, &StorageLayer::Memory) => { + return new_full_impl::( + config, + eth_config, + Some(provider_options), + ) + .await; + } + (&ProviderType::Msp, &StorageLayer::RocksDB) => { + return new_full_impl::( + config, + eth_config, + Some(provider_options), + ) + .await; + } + (&ProviderType::User, _) => { + return new_full_impl::( + config, + eth_config, + Some(provider_options), + ) + .await; + } + }; + } else { + return new_full_impl::( + config, eth_config, None, + ) + .await; + }; +} + +/// Storage Hub + +/// Maximum memory usage target for queued requests (8GB) +// TODO: Make this a configurable parameter +const MAX_QUEUED_REQUESTS_MEMORY_BYTES: u64 = 8 * 1024 * 1024 * 1024; + +/// Max size of request packet. Calculated based on batch chunk size plus overhead percentage +const MAX_REQUEST_PACKET_SIZE_BYTES: u64 = { + let base_size = shc_common::types::BATCH_CHUNK_FILE_TRANSFER_MAX_SIZE as u64; + + /// Percentage increase for packet overhead + /// + /// This will cover any additional overhead required for the [`RemoteUploadDataRequest`](schema::v1::provider::request::Request::RemoteUploadDataRequest) payload. + // TODO: Make this a configurable parameter + const OVERHEAD_PERCENTILE: u64 = 100; + + base_size.saturating_mul(100 + OVERHEAD_PERCENTILE) / 100 +}; + +/// Max number of queued requests. Calculated to limit total memory usage +const MAX_FILE_TRANSFER_REQUESTS_QUEUE: usize = { + let max_requests = MAX_QUEUED_REQUESTS_MEMORY_BYTES / MAX_REQUEST_PACKET_SIZE_BYTES; + max_requests as usize +}; + +// TODO: Remove this once the `configure_file_transfer_network` from storage hub allow us to not pass the full client +pub fn configure_file_transfer_network< + Network: sc_network::NetworkBackend, +>( + genesis_hash: H256, + parachain_config: &Configuration, + net_config: &mut FullNetworkConfiguration, +) -> (ProtocolName, async_channel::Receiver) { + let (tx, request_receiver) = async_channel::bounded(MAX_FILE_TRANSFER_REQUESTS_QUEUE); + + let mut protocol_config = shc_file_transfer_service::generate_protocol_config( + genesis_hash, + parachain_config.chain_spec.fork_id(), + ); + protocol_config.inbound_queue = Some(tx); + + let request_response_config = Network::request_response_config( + protocol_config.name.clone(), + protocol_config.fallback_names.clone(), + protocol_config.max_request_size, + protocol_config.max_response_size, + protocol_config.request_timeout, + protocol_config.inbound_queue, + ); + + net_config.add_request_response_protocol(request_response_config); + + (protocol_config.name, request_receiver) +} + +// Initialize the StorageHubBuilder for the StorageHub node. +async fn init_sh_builder( + provider_options: &Option, + task_manager: &TaskManager, + file_transfer_request_protocol: Option<(ProtocolName, Receiver)>, + network: Arc, + keystore: KeystorePtr, + client: Arc>, + indexer_options: Option, +) -> Result< + ( + Option>, + Option< + StorageHubClientRpcConfig< + <(R, S) as ShNodeType>::FL, + <(R, S) as ShNodeType>::FSH, + Runtime, + >, + >, + ), + sc_service::Error, +> +where + R: ShRole, + S: ShStorageLayer, + (R, S): ShNodeType, + StorageHubBuilder: StorageLayerBuilder, +{ + let maybe_indexer_db_pool = + configure_and_spawn_indexer::(&indexer_options, &task_manager, client.clone()) + .await?; + + if let Some(provider_options) = provider_options { + // Start building the StorageHubHandler, if running as a provider. + let task_spawner = TaskSpawner::new(task_manager.spawn_handle(), "sh-builder"); + let mut storage_hub_builder = StorageHubBuilder::::new(task_spawner); + + // Setup and spawn the File Transfer Service. + let (file_transfer_request_protocol_name, file_transfer_request_receiver) = + file_transfer_request_protocol + .expect("FileTransfer request protocol should already be initialised."); + + storage_hub_builder + .with_file_transfer( + file_transfer_request_receiver, + file_transfer_request_protocol_name, + network.clone(), + ) + .await; + + // Setup the `ShStorageLayer` and additional configuration parameters. + storage_hub_builder + .setup_storage_layer(provider_options.storage_path.clone()) + .with_capacity_config(Some(CapacityConfig::new( + provider_options + .max_storage_capacity + .unwrap_or_default() + .saturated_into(), + provider_options + .jump_capacity + .unwrap_or_default() + .saturated_into(), + ))); + + storage_hub_builder.with_msp_charge_fees_config(provider_options.msp_charge_fees.clone()); + storage_hub_builder.with_msp_move_bucket_config(provider_options.msp_move_bucket.clone()); + storage_hub_builder.with_bsp_upload_file_config(provider_options.bsp_upload_file.clone()); + storage_hub_builder.with_bsp_move_bucket_config(provider_options.bsp_move_bucket.clone()); + storage_hub_builder.with_bsp_charge_fees_config(provider_options.bsp_charge_fees.clone()); + storage_hub_builder.with_bsp_submit_proof_config(provider_options.bsp_submit_proof.clone()); + + // Setup specific configuration for the MSP node. + if provider_options.provider_type == ProviderType::Msp { + storage_hub_builder + .with_notify_period(provider_options.msp_charging_period) + .with_indexer_db_pool(maybe_indexer_db_pool); + } + + if let Some(c) = &provider_options.blockchain_service { + storage_hub_builder.with_blockchain_service_config(c.clone()); + } + + // Get the RPC configuration to use for this StorageHub node client. + let storage_hub_client_rpc_config = + storage_hub_builder.create_rpc_config(keystore, provider_options.rpc_config.clone()); + + return Ok(( + Some(storage_hub_builder), + Some(storage_hub_client_rpc_config), + )); + }; + + Ok((None, None)) +} + +/// Configure and spawn the indexer service. +async fn configure_and_spawn_indexer( + indexer_options: &Option, + task_manager: &TaskManager, + client: Arc::RuntimeApi>>, +) -> Result, sc_service::Error> { + let indexer_options = match indexer_options { + Some(config) => config, + None => return Ok(None), + }; + + // Setup database pool + let db_pool = shc_indexer_db::setup_db_pool(indexer_options.database_url.clone()) + .await + .map_err(|e| sc_service::Error::Application(Box::new(e)))?; + + let task_spawner = TaskSpawner::new(task_manager.spawn_handle(), "indexer-service"); + shc_indexer_service::spawn_indexer_service::( + &task_spawner, + client.clone(), + db_pool.clone(), + indexer_options.indexer_mode, + ) + .await; + + Ok(Some(db_pool)) +} + +/// Finish the StorageHubBuilder and run the tasks. +async fn finish_sh_builder_and_run_tasks( + mut sh_builder: StorageHubBuilder, + client: Arc>, + rpc_handlers: RpcHandlers, + keystore: KeystorePtr, + rocksdb_root_path: impl Into, + maintenance_mode: bool, +) -> Result<(), sc_service::Error> +where + R: ShRole, + S: ShStorageLayer, + (R, S): ShNodeType, + StorageHubBuilder: StorageLayerBuilder + Buildable<(R, S), Runtime>, + StorageHubHandler<(R, S), Runtime>: RunnableTasks, +{ + let rocks_db_path = rocksdb_root_path.into(); + + // Spawn the Blockchain Service if node is running as a Storage Provider + sh_builder + .with_blockchain( + client.clone(), + keystore.clone(), + Arc::new(rpc_handlers), + rocks_db_path.clone(), + maintenance_mode, + ) + .await; + + // Initialize the BSP peer manager + sh_builder.with_peer_manager(rocks_db_path.clone()); + + // Build the StorageHubHandler + let mut sh_handler = sh_builder.build(); + + // Run StorageHub tasks according to the node role + sh_handler.run_tasks().await; + + Ok(()) +} diff --git a/operator/runtime/common/Cargo.toml b/operator/runtime/common/Cargo.toml index 87d4e00a..ff28e402 100644 --- a/operator/runtime/common/Cargo.toml +++ b/operator/runtime/common/Cargo.toml @@ -6,7 +6,7 @@ version = "0.1.0" [dependencies] codec = { workspace = true } -fp-account = { workspace = true } +fp-account = { workspace = true, features = ["serde"] } frame-support = { workspace = true } frame-system = { workspace = true } pallet-authorship = { workspace = true } diff --git a/operator/runtime/mainnet/Cargo.toml b/operator/runtime/mainnet/Cargo.toml index 40af3f27..7ac278de 100644 --- a/operator/runtime/mainnet/Cargo.toml +++ b/operator/runtime/mainnet/Cargo.toml @@ -137,6 +137,7 @@ pallet-proofs-dealer-runtime-api = { workspace = true } pallet-randomness = { workspace = true } pallet-storage-providers = { workspace = true } pallet-storage-providers-runtime-api = { workspace = true } +shc-common = { workspace = true, optional = true } shp-constants = { workspace = true } shp-file-metadata = { workspace = true } shp-traits = { workspace = true } @@ -266,6 +267,8 @@ std = [ "pallet-randomness/std", "pallet-storage-providers/std", "pallet-storage-providers-runtime-api/std", + "dep:shc-common", + "shc-common/std", "shp-constants/std", "shp-file-metadata/std", "shp-forest-verifier/std", diff --git a/operator/runtime/mainnet/src/configs/storagehub/client.rs b/operator/runtime/mainnet/src/configs/storagehub/client.rs new file mode 100644 index 00000000..58449409 --- /dev/null +++ b/operator/runtime/mainnet/src/configs/storagehub/client.rs @@ -0,0 +1,74 @@ +// This module implements the StorageHub client traits for the runtime types. +// It is only compiled for native (std) builds to avoid pulling `shc-common` into the +// no_std Wasm runtime. +use shc_common::{ + traits::{ExtensionOperations, StorageEnableRuntime}, + types::{MinimalExtension, StorageEnableEvents}, +}; +use sp_core::H256; + +// Implement the client-facing runtime trait for the concrete runtime. +impl StorageEnableRuntime for crate::Runtime { + type Address = crate::Address; + type Call = crate::RuntimeCall; + type Signature = crate::Signature; + type Extension = crate::SignedExtra; + type RuntimeApi = crate::RuntimeApi; +} + +// Implement the transaction extension helpers for the concrete runtime's TxExtension. +impl ExtensionOperations for crate::SignedExtra { + type Hash = H256; + + fn from_minimal_extension(minimal: MinimalExtension) -> Self { + ( + frame_system::CheckNonZeroSender::::new(), + frame_system::CheckSpecVersion::::new(), + frame_system::CheckTxVersion::::new(), + frame_system::CheckGenesis::::new(), + frame_system::CheckEra::::from(minimal.era), + frame_system::CheckNonce::::from(minimal.nonce), + frame_system::CheckWeight::::new(), + pallet_transaction_payment::ChargeTransactionPayment::::from( + minimal.tip, + ), + frame_metadata_hash_extension::CheckMetadataHash::new(false), + ) + } + + fn implicit(genesis_block_hash: Self::Hash, current_block_hash: Self::Hash) -> Self::Implicit { + ( + (), + crate::VERSION.spec_version, + crate::VERSION.transaction_version, + genesis_block_hash, + current_block_hash, + (), + (), + (), + None, + ) + } +} + +// Map the runtime event into the client-facing storage events enum. +impl Into> for crate::RuntimeEvent { + fn into(self) -> StorageEnableEvents { + match self { + crate::RuntimeEvent::System(event) => StorageEnableEvents::System(event), + crate::RuntimeEvent::Providers(event) => StorageEnableEvents::StorageProviders(event), + crate::RuntimeEvent::ProofsDealer(event) => StorageEnableEvents::ProofsDealer(event), + crate::RuntimeEvent::PaymentStreams(event) => { + StorageEnableEvents::PaymentStreams(event) + } + crate::RuntimeEvent::FileSystem(event) => StorageEnableEvents::FileSystem(event), + crate::RuntimeEvent::TransactionPayment(event) => { + StorageEnableEvents::TransactionPayment(event) + } + crate::RuntimeEvent::Balances(event) => StorageEnableEvents::Balances(event), + crate::RuntimeEvent::BucketNfts(event) => StorageEnableEvents::BucketNfts(event), + crate::RuntimeEvent::Randomness(event) => StorageEnableEvents::Randomness(event), + _ => StorageEnableEvents::Other(self), + } + } +} diff --git a/operator/runtime/mainnet/src/configs/storagehub/mod.rs b/operator/runtime/mainnet/src/configs/storagehub/mod.rs index c683983d..f2bf1bb3 100644 --- a/operator/runtime/mainnet/src/configs/storagehub/mod.rs +++ b/operator/runtime/mainnet/src/configs/storagehub/mod.rs @@ -40,6 +40,9 @@ use sp_std::convert::{From, Into}; use sp_std::vec; use sp_trie::{LayoutV1, TrieConfiguration, TrieLayout}; +#[cfg(feature = "std")] +pub mod client; // StorageHub client trait only build for std build + /// Type representing the storage data units in StorageHub. pub type StorageDataUnit = u64; @@ -302,6 +305,7 @@ impl pallet_proofs_dealer::Config for Runtime { type ChallengesQueueLength = ChallengesQueueLength; type CheckpointChallengePeriod = runtime_config::CheckpointChallengePeriod; type ChallengesFee = ChallengesFee; + type PriorityChallengesFee = PriorityChallengesFee; type Treasury = TreasuryAccount; // TODO: Once the client logic to keep track of CR randomness deadlines and execute their submissions is implemented // AND after the chain has been live for enough time to have enough providers to avoid the commit-reveal randomness being @@ -314,7 +318,6 @@ impl pallet_proofs_dealer::Config for Runtime { type BlockFullnessHeadroom = BlockFullnessHeadroom; type MinNotFullBlocksRatio = MinNotFullBlocksRatio; type MaxSlashableProvidersPerTick = MaxSlashableProvidersPerTick; - type PriorityChallengesFee = PriorityChallengesFee; type ChallengeOrigin = EnsureRoot; type PriorityChallengeOrigin = EnsureRoot; } diff --git a/operator/runtime/mainnet/src/lib.rs b/operator/runtime/mainnet/src/lib.rs index 267f297a..586053b3 100644 --- a/operator/runtime/mainnet/src/lib.rs +++ b/operator/runtime/mainnet/src/lib.rs @@ -33,8 +33,21 @@ pub use pallet_balances::Call as BalancesCall; use pallet_ethereum::{Call::transact, Transaction as EthereumTransaction}; use pallet_evm::{Account as EVMAccount, FeeCalculator, GasWeightMapping, Runner}; use pallet_external_validators::traits::EraIndex; +use pallet_file_system::types::StorageRequestMetadata; +use pallet_file_system_runtime_api::*; use pallet_grandpa::{fg_primitives, AuthorityId as GrandpaId}; +use pallet_payment_streams_runtime_api::*; +use pallet_proofs_dealer::types::{ + CustomChallenge, KeyFor, ProviderIdFor as ProofsDealerProviderIdFor, RandomnessOutputFor, +}; +use pallet_proofs_dealer_runtime_api::*; +use pallet_storage_providers::types::{ + BackupStorageProvider, BackupStorageProviderId, BucketId, MainStorageProviderId, + Multiaddresses, ProviderIdFor, StorageDataUnit, StorageProviderId, ValuePropositionWithId, +}; +use pallet_storage_providers_runtime_api::*; pub use pallet_timestamp::Call as TimestampCall; +use shp_file_metadata::ChunkId; use smallvec::smallvec; use snowbridge_core::AgentId; use snowbridge_merkle_tree::MerkleProof; @@ -52,6 +65,7 @@ use sp_runtime::{ transaction_validity::TransactionSource, ApplyExtrinsicResult, Perbill, Permill, }; +use sp_std::collections::btree_map::BTreeMap; #[cfg(feature = "std")] use sp_version::NativeVersion; use sp_version::RuntimeVersion; @@ -1197,6 +1211,155 @@ impl_runtime_apis! { ) } } + + //╔═══════════════════════════════════════════════════════════════════════════════════════════════════════════════╗ + //║ STORAGEHUB APIS ║ + //╚═══════════════════════════════════════════════════════════════════════════════════════════════════════════════╝ + + impl pallet_file_system_runtime_api::FileSystemApi, MainStorageProviderId, H256, BlockNumber, ChunkId, BucketId, StorageRequestMetadata> for Runtime { + fn is_storage_request_open_to_volunteers(file_key: H256) -> Result { + FileSystem::is_storage_request_open_to_volunteers(file_key) + } + + fn query_earliest_file_volunteer_tick(bsp_id: BackupStorageProviderId, file_key: H256) -> Result { + FileSystem::query_earliest_file_volunteer_tick(bsp_id, file_key) + } + + fn query_bsp_confirm_chunks_to_prove_for_file(bsp_id: BackupStorageProviderId, file_key: H256) -> Result, QueryBspConfirmChunksToProveForFileError> { + FileSystem::query_bsp_confirm_chunks_to_prove_for_file(bsp_id, file_key) + } + + fn query_msp_confirm_chunks_to_prove_for_file(msp_id: MainStorageProviderId, file_key: H256) -> Result, QueryMspConfirmChunksToProveForFileError> { + FileSystem::query_msp_confirm_chunks_to_prove_for_file(msp_id, file_key) + } + + fn decode_generic_apply_delta_event_info(encoded_event_info: Vec) -> Result, GenericApplyDeltaEventInfoError> { + FileSystem::decode_generic_apply_delta_event_info(encoded_event_info) + } + + fn pending_storage_requests_by_msp(msp_id: MainStorageProviderId) -> BTreeMap> { + FileSystem::pending_storage_requests_by_msp(msp_id) + } + } + + impl pallet_payment_streams_runtime_api::PaymentStreamsApi, Balance, AccountId> for Runtime { + fn get_users_with_debt_over_threshold(provider_id: &ProviderIdFor, threshold: Balance) -> Result, GetUsersWithDebtOverThresholdError> { + PaymentStreams::get_users_with_debt_over_threshold(provider_id, threshold) + } + fn get_users_of_payment_streams_of_provider(provider_id: &ProviderIdFor) -> Vec { + PaymentStreams::get_users_of_payment_streams_of_provider(provider_id) + } + fn get_providers_with_payment_streams_with_user(user_account: &AccountId) -> Vec> { + PaymentStreams::get_providers_with_payment_streams_with_user(user_account) + } + } + + impl pallet_proofs_dealer_runtime_api::ProofsDealerApi, BlockNumber, KeyFor, RandomnessOutputFor, CustomChallenge> for Runtime { + fn get_last_tick_provider_submitted_proof(provider_id: &ProofsDealerProviderIdFor) -> Result { + ProofsDealer::get_last_tick_provider_submitted_proof(provider_id) + } + + fn get_next_tick_to_submit_proof_for(provider_id: &ProofsDealerProviderIdFor) -> Result { + ProofsDealer::get_next_tick_to_submit_proof_for(provider_id) + } + + fn get_last_checkpoint_challenge_tick() -> BlockNumber { + ProofsDealer::get_last_checkpoint_challenge_tick() + } + + fn get_checkpoint_challenges( + tick: BlockNumber + ) -> Result>, GetCheckpointChallengesError> { + ProofsDealer::get_checkpoint_challenges(tick) + } + + fn get_challenge_seed(tick: BlockNumber) -> Result, GetChallengeSeedError> { + ProofsDealer::get_challenge_seed(tick) + } + + fn get_challenge_period(provider_id: &ProofsDealerProviderIdFor) -> Result { + ProofsDealer::get_challenge_period(provider_id) + } + + fn get_checkpoint_challenge_period() -> BlockNumber { + ProofsDealer::get_checkpoint_challenge_period() + } + + fn get_challenges_from_seed(seed: &RandomnessOutputFor, provider_id: &ProofsDealerProviderIdFor, count: u32) -> Vec> { + ProofsDealer::get_challenges_from_seed(seed, provider_id, count) + } + + fn get_forest_challenges_from_seed(seed: &RandomnessOutputFor, provider_id: &ProofsDealerProviderIdFor) -> Vec> { + ProofsDealer::get_forest_challenges_from_seed(seed, provider_id) + } + + fn get_current_tick() -> BlockNumber { + ProofsDealer::get_current_tick() + } + + fn get_next_deadline_tick(provider_id: &ProofsDealerProviderIdFor) -> Result { + ProofsDealer::get_next_deadline_tick(provider_id) + } + } + + + impl pallet_storage_providers_runtime_api::StorageProvidersApi, BackupStorageProvider, MainStorageProviderId, AccountId, ProviderIdFor, StorageProviderId, StorageDataUnit, Balance, BucketId, Multiaddresses, ValuePropositionWithId> for Runtime { + fn get_bsp_info(bsp_id: &BackupStorageProviderId) -> Result, GetBspInfoError> { + Providers::get_bsp_info(bsp_id) + } + + fn get_storage_provider_id(who: &AccountId) -> Option> { + Providers::get_storage_provider_id(who) + } + + fn query_msp_id_of_bucket_id(bucket_id: &BucketId) -> Result>, QueryMspIdOfBucketIdError> { + Providers::query_msp_id_of_bucket_id(bucket_id) + } + + fn query_provider_multiaddresses(provider_id: &ProviderIdFor) -> Result, QueryProviderMultiaddressesError> { + Providers::query_provider_multiaddresses(provider_id) + } + + fn query_storage_provider_capacity(provider_id: &ProviderIdFor) -> Result, QueryStorageProviderCapacityError> { + Providers::query_storage_provider_capacity(provider_id) + } + + fn query_available_storage_capacity(provider_id: &ProviderIdFor) -> Result, QueryAvailableStorageCapacityError> { + Providers::query_available_storage_capacity(provider_id) + } + + fn query_earliest_change_capacity_block(provider_id: &BackupStorageProviderId) -> Result { + Providers::query_earliest_change_capacity_block(provider_id) + } + + fn get_worst_case_scenario_slashable_amount(provider_id: ProviderIdFor) -> Option { + Providers::get_worst_case_scenario_slashable_amount(&provider_id).ok() + } + + fn get_slash_amount_per_max_file_size() -> Balance { + Providers::get_slash_amount_per_max_file_size() + } + + fn query_value_propositions_for_msp(msp_id: &MainStorageProviderId) -> Vec> { + Providers::query_value_propositions_for_msp(msp_id) + } + + fn get_bsp_stake(bsp_id: &BackupStorageProviderId) -> Result { + Providers::get_bsp_stake(bsp_id) + } + + fn can_delete_provider(provider_id: &ProviderIdFor) -> bool { + Providers::can_delete_provider(provider_id) + } + + fn query_buckets_for_msp(msp_id: &MainStorageProviderId) -> Result>, QueryBucketsForMspError> { + Providers::query_buckets_for_msp(msp_id) + } + + fn query_buckets_of_user_stored_by_msp(msp_id: &ProviderIdFor, user: &AccountId) -> Result>, QueryBucketsOfUserStoredByMspError> { + Ok(sp_runtime::Vec::from_iter(Providers::query_buckets_of_user_stored_by_msp(msp_id, user)?)) + } + } } // Shorthand for a Get field of a pallet Config. diff --git a/operator/runtime/stagenet/Cargo.toml b/operator/runtime/stagenet/Cargo.toml index 2afea9cb..14a48582 100644 --- a/operator/runtime/stagenet/Cargo.toml +++ b/operator/runtime/stagenet/Cargo.toml @@ -17,7 +17,7 @@ bridge-hub-common = { workspace = true, optional = true } codec = { workspace = true, features = ["derive"] } datahaven-runtime-common = { workspace = true } dhp-bridge = { workspace = true } -fp-account = { workspace = true, features = ["serde"] } +fp-account = { workspace = true } fp-evm = { workspace = true, features = ["serde"] } fp-rpc = { workspace = true } fp-self-contained = { workspace = true, features = ["serde", "try-runtime"] } @@ -137,6 +137,7 @@ pallet-proofs-dealer-runtime-api = { workspace = true } pallet-randomness = { workspace = true } pallet-storage-providers = { workspace = true } pallet-storage-providers-runtime-api = { workspace = true } +shc-common = { workspace = true, optional = true } shp-constants = { workspace = true } shp-file-metadata = { workspace = true } shp-traits = { workspace = true } @@ -266,6 +267,8 @@ std = [ "pallet-randomness/std", "pallet-storage-providers/std", "pallet-storage-providers-runtime-api/std", + "dep:shc-common", + "shc-common/std", "shp-constants/std", "shp-file-metadata/std", "shp-forest-verifier/std", diff --git a/operator/runtime/stagenet/src/configs/runtime_params.rs b/operator/runtime/stagenet/src/configs/runtime_params.rs index 8623fb77..e0c6a368 100644 --- a/operator/runtime/stagenet/src/configs/runtime_params.rs +++ b/operator/runtime/stagenet/src/configs/runtime_params.rs @@ -12,6 +12,7 @@ use datahaven_runtime_common::{Balance, BlockNumber}; #[dynamic_params(RuntimeParameters, pallet_parameters::Parameters::)] pub mod dynamic_params { use super::*; + #[dynamic_pallet_params] #[codec(index = 0)] pub mod runtime_config { diff --git a/operator/runtime/stagenet/src/configs/storagehub/client.rs b/operator/runtime/stagenet/src/configs/storagehub/client.rs new file mode 100644 index 00000000..58449409 --- /dev/null +++ b/operator/runtime/stagenet/src/configs/storagehub/client.rs @@ -0,0 +1,74 @@ +// This module implements the StorageHub client traits for the runtime types. +// It is only compiled for native (std) builds to avoid pulling `shc-common` into the +// no_std Wasm runtime. +use shc_common::{ + traits::{ExtensionOperations, StorageEnableRuntime}, + types::{MinimalExtension, StorageEnableEvents}, +}; +use sp_core::H256; + +// Implement the client-facing runtime trait for the concrete runtime. +impl StorageEnableRuntime for crate::Runtime { + type Address = crate::Address; + type Call = crate::RuntimeCall; + type Signature = crate::Signature; + type Extension = crate::SignedExtra; + type RuntimeApi = crate::RuntimeApi; +} + +// Implement the transaction extension helpers for the concrete runtime's TxExtension. +impl ExtensionOperations for crate::SignedExtra { + type Hash = H256; + + fn from_minimal_extension(minimal: MinimalExtension) -> Self { + ( + frame_system::CheckNonZeroSender::::new(), + frame_system::CheckSpecVersion::::new(), + frame_system::CheckTxVersion::::new(), + frame_system::CheckGenesis::::new(), + frame_system::CheckEra::::from(minimal.era), + frame_system::CheckNonce::::from(minimal.nonce), + frame_system::CheckWeight::::new(), + pallet_transaction_payment::ChargeTransactionPayment::::from( + minimal.tip, + ), + frame_metadata_hash_extension::CheckMetadataHash::new(false), + ) + } + + fn implicit(genesis_block_hash: Self::Hash, current_block_hash: Self::Hash) -> Self::Implicit { + ( + (), + crate::VERSION.spec_version, + crate::VERSION.transaction_version, + genesis_block_hash, + current_block_hash, + (), + (), + (), + None, + ) + } +} + +// Map the runtime event into the client-facing storage events enum. +impl Into> for crate::RuntimeEvent { + fn into(self) -> StorageEnableEvents { + match self { + crate::RuntimeEvent::System(event) => StorageEnableEvents::System(event), + crate::RuntimeEvent::Providers(event) => StorageEnableEvents::StorageProviders(event), + crate::RuntimeEvent::ProofsDealer(event) => StorageEnableEvents::ProofsDealer(event), + crate::RuntimeEvent::PaymentStreams(event) => { + StorageEnableEvents::PaymentStreams(event) + } + crate::RuntimeEvent::FileSystem(event) => StorageEnableEvents::FileSystem(event), + crate::RuntimeEvent::TransactionPayment(event) => { + StorageEnableEvents::TransactionPayment(event) + } + crate::RuntimeEvent::Balances(event) => StorageEnableEvents::Balances(event), + crate::RuntimeEvent::BucketNfts(event) => StorageEnableEvents::BucketNfts(event), + crate::RuntimeEvent::Randomness(event) => StorageEnableEvents::Randomness(event), + _ => StorageEnableEvents::Other(self), + } + } +} diff --git a/operator/runtime/stagenet/src/configs/storagehub/mod.rs b/operator/runtime/stagenet/src/configs/storagehub/mod.rs index c683983d..f2bf1bb3 100644 --- a/operator/runtime/stagenet/src/configs/storagehub/mod.rs +++ b/operator/runtime/stagenet/src/configs/storagehub/mod.rs @@ -40,6 +40,9 @@ use sp_std::convert::{From, Into}; use sp_std::vec; use sp_trie::{LayoutV1, TrieConfiguration, TrieLayout}; +#[cfg(feature = "std")] +pub mod client; // StorageHub client trait only build for std build + /// Type representing the storage data units in StorageHub. pub type StorageDataUnit = u64; @@ -302,6 +305,7 @@ impl pallet_proofs_dealer::Config for Runtime { type ChallengesQueueLength = ChallengesQueueLength; type CheckpointChallengePeriod = runtime_config::CheckpointChallengePeriod; type ChallengesFee = ChallengesFee; + type PriorityChallengesFee = PriorityChallengesFee; type Treasury = TreasuryAccount; // TODO: Once the client logic to keep track of CR randomness deadlines and execute their submissions is implemented // AND after the chain has been live for enough time to have enough providers to avoid the commit-reveal randomness being @@ -314,7 +318,6 @@ impl pallet_proofs_dealer::Config for Runtime { type BlockFullnessHeadroom = BlockFullnessHeadroom; type MinNotFullBlocksRatio = MinNotFullBlocksRatio; type MaxSlashableProvidersPerTick = MaxSlashableProvidersPerTick; - type PriorityChallengesFee = PriorityChallengesFee; type ChallengeOrigin = EnsureRoot; type PriorityChallengeOrigin = EnsureRoot; } diff --git a/operator/runtime/stagenet/src/lib.rs b/operator/runtime/stagenet/src/lib.rs index ab072071..2dcc00a3 100644 --- a/operator/runtime/stagenet/src/lib.rs +++ b/operator/runtime/stagenet/src/lib.rs @@ -30,8 +30,21 @@ pub use pallet_balances::Call as BalancesCall; use pallet_ethereum::{Call::transact, Transaction as EthereumTransaction}; use pallet_evm::{Account as EVMAccount, FeeCalculator, GasWeightMapping, Runner}; use pallet_external_validators::traits::EraIndex; +use pallet_file_system::types::StorageRequestMetadata; +use pallet_file_system_runtime_api::*; use pallet_grandpa::{fg_primitives, AuthorityId as GrandpaId}; +use pallet_payment_streams_runtime_api::*; +use pallet_proofs_dealer::types::{ + CustomChallenge, KeyFor, ProviderIdFor as ProofsDealerProviderIdFor, RandomnessOutputFor, +}; +use pallet_proofs_dealer_runtime_api::*; +use pallet_storage_providers::types::{ + BackupStorageProvider, BackupStorageProviderId, BucketId, MainStorageProviderId, + Multiaddresses, ProviderIdFor, StorageDataUnit, StorageProviderId, ValuePropositionWithId, +}; +use pallet_storage_providers_runtime_api::*; pub use pallet_timestamp::Call as TimestampCall; +use shp_file_metadata::ChunkId; use smallvec::smallvec; use snowbridge_core::AgentId; use snowbridge_merkle_tree::MerkleProof; @@ -49,6 +62,7 @@ use sp_runtime::{ transaction_validity::TransactionSource, ApplyExtrinsicResult, Perbill, Permill, }; +use sp_std::collections::btree_map::BTreeMap; #[cfg(feature = "std")] use sp_version::NativeVersion; use sp_version::RuntimeVersion; @@ -1198,6 +1212,156 @@ impl_runtime_apis! { ) } } + + //╔═══════════════════════════════════════════════════════════════════════════════════════════════════════════════╗ + //║ STORAGEHUB APIS ║ + //╚═══════════════════════════════════════════════════════════════════════════════════════════════════════════════╝ + + impl pallet_file_system_runtime_api::FileSystemApi, MainStorageProviderId, H256, BlockNumber, ChunkId, BucketId, StorageRequestMetadata> for Runtime { + fn is_storage_request_open_to_volunteers(file_key: H256) -> Result { + FileSystem::is_storage_request_open_to_volunteers(file_key) + } + + fn query_earliest_file_volunteer_tick(bsp_id: BackupStorageProviderId, file_key: H256) -> Result { + FileSystem::query_earliest_file_volunteer_tick(bsp_id, file_key) + } + + fn query_bsp_confirm_chunks_to_prove_for_file(bsp_id: BackupStorageProviderId, file_key: H256) -> Result, QueryBspConfirmChunksToProveForFileError> { + FileSystem::query_bsp_confirm_chunks_to_prove_for_file(bsp_id, file_key) + } + + fn query_msp_confirm_chunks_to_prove_for_file(msp_id: MainStorageProviderId, file_key: H256) -> Result, QueryMspConfirmChunksToProveForFileError> { + FileSystem::query_msp_confirm_chunks_to_prove_for_file(msp_id, file_key) + } + + fn decode_generic_apply_delta_event_info(encoded_event_info: Vec) -> Result, GenericApplyDeltaEventInfoError> { + FileSystem::decode_generic_apply_delta_event_info(encoded_event_info) + } + + fn pending_storage_requests_by_msp(msp_id: MainStorageProviderId) -> BTreeMap> { + FileSystem::pending_storage_requests_by_msp(msp_id) + } + } + + impl pallet_payment_streams_runtime_api::PaymentStreamsApi, Balance, AccountId> for Runtime { + fn get_users_with_debt_over_threshold(provider_id: &ProviderIdFor, threshold: Balance) -> Result, GetUsersWithDebtOverThresholdError> { + PaymentStreams::get_users_with_debt_over_threshold(provider_id, threshold) + } + fn get_users_of_payment_streams_of_provider(provider_id: &ProviderIdFor) -> Vec { + PaymentStreams::get_users_of_payment_streams_of_provider(provider_id) + } + fn get_providers_with_payment_streams_with_user(user_account: &AccountId) -> Vec> { + PaymentStreams::get_providers_with_payment_streams_with_user(user_account) + } + } + + impl pallet_proofs_dealer_runtime_api::ProofsDealerApi, BlockNumber, KeyFor, RandomnessOutputFor, CustomChallenge> for Runtime { + fn get_last_tick_provider_submitted_proof(provider_id: &ProofsDealerProviderIdFor) -> Result { + ProofsDealer::get_last_tick_provider_submitted_proof(provider_id) + } + + fn get_next_tick_to_submit_proof_for(provider_id: &ProofsDealerProviderIdFor) -> Result { + ProofsDealer::get_next_tick_to_submit_proof_for(provider_id) + } + + fn get_last_checkpoint_challenge_tick() -> BlockNumber { + ProofsDealer::get_last_checkpoint_challenge_tick() + } + + fn get_checkpoint_challenges( + tick: BlockNumber + ) -> Result>, GetCheckpointChallengesError> { + ProofsDealer::get_checkpoint_challenges(tick) + } + + fn get_challenge_seed(tick: BlockNumber) -> Result, GetChallengeSeedError> { + ProofsDealer::get_challenge_seed(tick) + } + + fn get_challenge_period(provider_id: &ProofsDealerProviderIdFor) -> Result { + ProofsDealer::get_challenge_period(provider_id) + } + + fn get_checkpoint_challenge_period() -> BlockNumber { + ProofsDealer::get_checkpoint_challenge_period() + } + + fn get_challenges_from_seed(seed: &RandomnessOutputFor, provider_id: &ProofsDealerProviderIdFor, count: u32) -> Vec> { + ProofsDealer::get_challenges_from_seed(seed, provider_id, count) + } + + fn get_forest_challenges_from_seed(seed: &RandomnessOutputFor, provider_id: &ProofsDealerProviderIdFor) -> Vec> { + ProofsDealer::get_forest_challenges_from_seed(seed, provider_id) + } + + fn get_current_tick() -> BlockNumber { + ProofsDealer::get_current_tick() + } + + fn get_next_deadline_tick(provider_id: &ProofsDealerProviderIdFor) -> Result { + ProofsDealer::get_next_deadline_tick(provider_id) + } + } + + + impl pallet_storage_providers_runtime_api::StorageProvidersApi, BackupStorageProvider, MainStorageProviderId, AccountId, ProviderIdFor, StorageProviderId, StorageDataUnit, Balance, BucketId, Multiaddresses, ValuePropositionWithId> for Runtime { + fn get_bsp_info(bsp_id: &BackupStorageProviderId) -> Result, GetBspInfoError> { + Providers::get_bsp_info(bsp_id) + } + + fn get_storage_provider_id(who: &AccountId) -> Option> { + Providers::get_storage_provider_id(who) + } + + fn query_msp_id_of_bucket_id(bucket_id: &BucketId) -> Result>, QueryMspIdOfBucketIdError> { + Providers::query_msp_id_of_bucket_id(bucket_id) + } + + fn query_provider_multiaddresses(provider_id: &ProviderIdFor) -> Result, QueryProviderMultiaddressesError> { + Providers::query_provider_multiaddresses(provider_id) + } + + fn query_storage_provider_capacity(provider_id: &ProviderIdFor) -> Result, QueryStorageProviderCapacityError> { + Providers::query_storage_provider_capacity(provider_id) + } + + fn query_available_storage_capacity(provider_id: &ProviderIdFor) -> Result, QueryAvailableStorageCapacityError> { + Providers::query_available_storage_capacity(provider_id) + } + + fn query_earliest_change_capacity_block(provider_id: &BackupStorageProviderId) -> Result { + Providers::query_earliest_change_capacity_block(provider_id) + } + + fn get_worst_case_scenario_slashable_amount(provider_id: ProviderIdFor) -> Option { + Providers::get_worst_case_scenario_slashable_amount(&provider_id).ok() + } + + fn get_slash_amount_per_max_file_size() -> Balance { + Providers::get_slash_amount_per_max_file_size() + } + + fn query_value_propositions_for_msp(msp_id: &MainStorageProviderId) -> Vec> { + Providers::query_value_propositions_for_msp(msp_id) + } + + fn get_bsp_stake(bsp_id: &BackupStorageProviderId) -> Result { + Providers::get_bsp_stake(bsp_id) + } + + fn can_delete_provider(provider_id: &ProviderIdFor) -> bool { + Providers::can_delete_provider(provider_id) + } + + fn query_buckets_for_msp(msp_id: &MainStorageProviderId) -> Result>, QueryBucketsForMspError> { + Providers::query_buckets_for_msp(msp_id) + } + + fn query_buckets_of_user_stored_by_msp(msp_id: &ProviderIdFor, user: &AccountId) -> Result>, QueryBucketsOfUserStoredByMspError> { + Ok(sp_runtime::Vec::from_iter(Providers::query_buckets_of_user_stored_by_msp(msp_id, user)?)) + } + } + } // Shorthand for a Get field of a pallet Config. diff --git a/operator/runtime/testnet/Cargo.toml b/operator/runtime/testnet/Cargo.toml index 598b5fe0..54744b7c 100644 --- a/operator/runtime/testnet/Cargo.toml +++ b/operator/runtime/testnet/Cargo.toml @@ -137,6 +137,7 @@ pallet-proofs-dealer-runtime-api = { workspace = true } pallet-randomness = { workspace = true } pallet-storage-providers = { workspace = true } pallet-storage-providers-runtime-api = { workspace = true } +shc-common = { workspace = true, optional = true } shp-constants = { workspace = true } shp-file-metadata = { workspace = true } shp-traits = { workspace = true } @@ -267,6 +268,8 @@ std = [ "pallet-randomness/std", "pallet-storage-providers/std", "pallet-storage-providers-runtime-api/std", + "dep:shc-common", + "shc-common/std", "shp-constants/std", "shp-file-metadata/std", "shp-forest-verifier/std", diff --git a/operator/runtime/testnet/src/configs/storagehub/client.rs b/operator/runtime/testnet/src/configs/storagehub/client.rs new file mode 100644 index 00000000..58449409 --- /dev/null +++ b/operator/runtime/testnet/src/configs/storagehub/client.rs @@ -0,0 +1,74 @@ +// This module implements the StorageHub client traits for the runtime types. +// It is only compiled for native (std) builds to avoid pulling `shc-common` into the +// no_std Wasm runtime. +use shc_common::{ + traits::{ExtensionOperations, StorageEnableRuntime}, + types::{MinimalExtension, StorageEnableEvents}, +}; +use sp_core::H256; + +// Implement the client-facing runtime trait for the concrete runtime. +impl StorageEnableRuntime for crate::Runtime { + type Address = crate::Address; + type Call = crate::RuntimeCall; + type Signature = crate::Signature; + type Extension = crate::SignedExtra; + type RuntimeApi = crate::RuntimeApi; +} + +// Implement the transaction extension helpers for the concrete runtime's TxExtension. +impl ExtensionOperations for crate::SignedExtra { + type Hash = H256; + + fn from_minimal_extension(minimal: MinimalExtension) -> Self { + ( + frame_system::CheckNonZeroSender::::new(), + frame_system::CheckSpecVersion::::new(), + frame_system::CheckTxVersion::::new(), + frame_system::CheckGenesis::::new(), + frame_system::CheckEra::::from(minimal.era), + frame_system::CheckNonce::::from(minimal.nonce), + frame_system::CheckWeight::::new(), + pallet_transaction_payment::ChargeTransactionPayment::::from( + minimal.tip, + ), + frame_metadata_hash_extension::CheckMetadataHash::new(false), + ) + } + + fn implicit(genesis_block_hash: Self::Hash, current_block_hash: Self::Hash) -> Self::Implicit { + ( + (), + crate::VERSION.spec_version, + crate::VERSION.transaction_version, + genesis_block_hash, + current_block_hash, + (), + (), + (), + None, + ) + } +} + +// Map the runtime event into the client-facing storage events enum. +impl Into> for crate::RuntimeEvent { + fn into(self) -> StorageEnableEvents { + match self { + crate::RuntimeEvent::System(event) => StorageEnableEvents::System(event), + crate::RuntimeEvent::Providers(event) => StorageEnableEvents::StorageProviders(event), + crate::RuntimeEvent::ProofsDealer(event) => StorageEnableEvents::ProofsDealer(event), + crate::RuntimeEvent::PaymentStreams(event) => { + StorageEnableEvents::PaymentStreams(event) + } + crate::RuntimeEvent::FileSystem(event) => StorageEnableEvents::FileSystem(event), + crate::RuntimeEvent::TransactionPayment(event) => { + StorageEnableEvents::TransactionPayment(event) + } + crate::RuntimeEvent::Balances(event) => StorageEnableEvents::Balances(event), + crate::RuntimeEvent::BucketNfts(event) => StorageEnableEvents::BucketNfts(event), + crate::RuntimeEvent::Randomness(event) => StorageEnableEvents::Randomness(event), + _ => StorageEnableEvents::Other(self), + } + } +} diff --git a/operator/runtime/testnet/src/configs/storagehub/mod.rs b/operator/runtime/testnet/src/configs/storagehub/mod.rs index c683983d..f2bf1bb3 100644 --- a/operator/runtime/testnet/src/configs/storagehub/mod.rs +++ b/operator/runtime/testnet/src/configs/storagehub/mod.rs @@ -40,6 +40,9 @@ use sp_std::convert::{From, Into}; use sp_std::vec; use sp_trie::{LayoutV1, TrieConfiguration, TrieLayout}; +#[cfg(feature = "std")] +pub mod client; // StorageHub client trait only build for std build + /// Type representing the storage data units in StorageHub. pub type StorageDataUnit = u64; @@ -302,6 +305,7 @@ impl pallet_proofs_dealer::Config for Runtime { type ChallengesQueueLength = ChallengesQueueLength; type CheckpointChallengePeriod = runtime_config::CheckpointChallengePeriod; type ChallengesFee = ChallengesFee; + type PriorityChallengesFee = PriorityChallengesFee; type Treasury = TreasuryAccount; // TODO: Once the client logic to keep track of CR randomness deadlines and execute their submissions is implemented // AND after the chain has been live for enough time to have enough providers to avoid the commit-reveal randomness being @@ -314,7 +318,6 @@ impl pallet_proofs_dealer::Config for Runtime { type BlockFullnessHeadroom = BlockFullnessHeadroom; type MinNotFullBlocksRatio = MinNotFullBlocksRatio; type MaxSlashableProvidersPerTick = MaxSlashableProvidersPerTick; - type PriorityChallengesFee = PriorityChallengesFee; type ChallengeOrigin = EnsureRoot; type PriorityChallengeOrigin = EnsureRoot; } diff --git a/operator/runtime/testnet/src/lib.rs b/operator/runtime/testnet/src/lib.rs index c79b01c0..dff2654e 100644 --- a/operator/runtime/testnet/src/lib.rs +++ b/operator/runtime/testnet/src/lib.rs @@ -32,8 +32,21 @@ pub use pallet_balances::Call as BalancesCall; use pallet_ethereum::{Call::transact, Transaction as EthereumTransaction}; use pallet_evm::{Account as EVMAccount, FeeCalculator, GasWeightMapping, Runner}; use pallet_external_validators::traits::EraIndex; +use pallet_file_system::types::StorageRequestMetadata; +use pallet_file_system_runtime_api::*; use pallet_grandpa::{fg_primitives, AuthorityId as GrandpaId}; +use pallet_payment_streams_runtime_api::*; +use pallet_proofs_dealer::types::{ + CustomChallenge, KeyFor, ProviderIdFor as ProofsDealerProviderIdFor, RandomnessOutputFor, +}; +use pallet_proofs_dealer_runtime_api::*; +use pallet_storage_providers::types::{ + BackupStorageProvider, BackupStorageProviderId, BucketId, MainStorageProviderId, + Multiaddresses, ProviderIdFor, StorageDataUnit, StorageProviderId, ValuePropositionWithId, +}; +use pallet_storage_providers_runtime_api::*; pub use pallet_timestamp::Call as TimestampCall; +use shp_file_metadata::ChunkId; use smallvec::smallvec; use snowbridge_core::AgentId; use snowbridge_merkle_tree::MerkleProof; @@ -51,6 +64,7 @@ use sp_runtime::{ transaction_validity::TransactionSource, ApplyExtrinsicResult, Perbill, Permill, }; +use sp_std::collections::btree_map::BTreeMap; #[cfg(feature = "std")] use sp_version::NativeVersion; use sp_version::RuntimeVersion; @@ -1196,6 +1210,155 @@ impl_runtime_apis! { ) } } + + //╔═══════════════════════════════════════════════════════════════════════════════════════════════════════════════╗ + //║ STORAGEHUB APIS ║ + //╚═══════════════════════════════════════════════════════════════════════════════════════════════════════════════╝ + + impl pallet_file_system_runtime_api::FileSystemApi, MainStorageProviderId, H256, BlockNumber, ChunkId, BucketId, StorageRequestMetadata> for Runtime { + fn is_storage_request_open_to_volunteers(file_key: H256) -> Result { + FileSystem::is_storage_request_open_to_volunteers(file_key) + } + + fn query_earliest_file_volunteer_tick(bsp_id: BackupStorageProviderId, file_key: H256) -> Result { + FileSystem::query_earliest_file_volunteer_tick(bsp_id, file_key) + } + + fn query_bsp_confirm_chunks_to_prove_for_file(bsp_id: BackupStorageProviderId, file_key: H256) -> Result, QueryBspConfirmChunksToProveForFileError> { + FileSystem::query_bsp_confirm_chunks_to_prove_for_file(bsp_id, file_key) + } + + fn query_msp_confirm_chunks_to_prove_for_file(msp_id: MainStorageProviderId, file_key: H256) -> Result, QueryMspConfirmChunksToProveForFileError> { + FileSystem::query_msp_confirm_chunks_to_prove_for_file(msp_id, file_key) + } + + fn decode_generic_apply_delta_event_info(encoded_event_info: Vec) -> Result, GenericApplyDeltaEventInfoError> { + FileSystem::decode_generic_apply_delta_event_info(encoded_event_info) + } + + fn pending_storage_requests_by_msp(msp_id: MainStorageProviderId) -> BTreeMap> { + FileSystem::pending_storage_requests_by_msp(msp_id) + } + } + + impl pallet_payment_streams_runtime_api::PaymentStreamsApi, Balance, AccountId> for Runtime { + fn get_users_with_debt_over_threshold(provider_id: &ProviderIdFor, threshold: Balance) -> Result, GetUsersWithDebtOverThresholdError> { + PaymentStreams::get_users_with_debt_over_threshold(provider_id, threshold) + } + fn get_users_of_payment_streams_of_provider(provider_id: &ProviderIdFor) -> Vec { + PaymentStreams::get_users_of_payment_streams_of_provider(provider_id) + } + fn get_providers_with_payment_streams_with_user(user_account: &AccountId) -> Vec> { + PaymentStreams::get_providers_with_payment_streams_with_user(user_account) + } + } + + impl pallet_proofs_dealer_runtime_api::ProofsDealerApi, BlockNumber, KeyFor, RandomnessOutputFor, CustomChallenge> for Runtime { + fn get_last_tick_provider_submitted_proof(provider_id: &ProofsDealerProviderIdFor) -> Result { + ProofsDealer::get_last_tick_provider_submitted_proof(provider_id) + } + + fn get_next_tick_to_submit_proof_for(provider_id: &ProofsDealerProviderIdFor) -> Result { + ProofsDealer::get_next_tick_to_submit_proof_for(provider_id) + } + + fn get_last_checkpoint_challenge_tick() -> BlockNumber { + ProofsDealer::get_last_checkpoint_challenge_tick() + } + + fn get_checkpoint_challenges( + tick: BlockNumber + ) -> Result>, GetCheckpointChallengesError> { + ProofsDealer::get_checkpoint_challenges(tick) + } + + fn get_challenge_seed(tick: BlockNumber) -> Result, GetChallengeSeedError> { + ProofsDealer::get_challenge_seed(tick) + } + + fn get_challenge_period(provider_id: &ProofsDealerProviderIdFor) -> Result { + ProofsDealer::get_challenge_period(provider_id) + } + + fn get_checkpoint_challenge_period() -> BlockNumber { + ProofsDealer::get_checkpoint_challenge_period() + } + + fn get_challenges_from_seed(seed: &RandomnessOutputFor, provider_id: &ProofsDealerProviderIdFor, count: u32) -> Vec> { + ProofsDealer::get_challenges_from_seed(seed, provider_id, count) + } + + fn get_forest_challenges_from_seed(seed: &RandomnessOutputFor, provider_id: &ProofsDealerProviderIdFor) -> Vec> { + ProofsDealer::get_forest_challenges_from_seed(seed, provider_id) + } + + fn get_current_tick() -> BlockNumber { + ProofsDealer::get_current_tick() + } + + fn get_next_deadline_tick(provider_id: &ProofsDealerProviderIdFor) -> Result { + ProofsDealer::get_next_deadline_tick(provider_id) + } + } + + + impl pallet_storage_providers_runtime_api::StorageProvidersApi, BackupStorageProvider, MainStorageProviderId, AccountId, ProviderIdFor, StorageProviderId, StorageDataUnit, Balance, BucketId, Multiaddresses, ValuePropositionWithId> for Runtime { + fn get_bsp_info(bsp_id: &BackupStorageProviderId) -> Result, GetBspInfoError> { + Providers::get_bsp_info(bsp_id) + } + + fn get_storage_provider_id(who: &AccountId) -> Option> { + Providers::get_storage_provider_id(who) + } + + fn query_msp_id_of_bucket_id(bucket_id: &BucketId) -> Result>, QueryMspIdOfBucketIdError> { + Providers::query_msp_id_of_bucket_id(bucket_id) + } + + fn query_provider_multiaddresses(provider_id: &ProviderIdFor) -> Result, QueryProviderMultiaddressesError> { + Providers::query_provider_multiaddresses(provider_id) + } + + fn query_storage_provider_capacity(provider_id: &ProviderIdFor) -> Result, QueryStorageProviderCapacityError> { + Providers::query_storage_provider_capacity(provider_id) + } + + fn query_available_storage_capacity(provider_id: &ProviderIdFor) -> Result, QueryAvailableStorageCapacityError> { + Providers::query_available_storage_capacity(provider_id) + } + + fn query_earliest_change_capacity_block(provider_id: &BackupStorageProviderId) -> Result { + Providers::query_earliest_change_capacity_block(provider_id) + } + + fn get_worst_case_scenario_slashable_amount(provider_id: ProviderIdFor) -> Option { + Providers::get_worst_case_scenario_slashable_amount(&provider_id).ok() + } + + fn get_slash_amount_per_max_file_size() -> Balance { + Providers::get_slash_amount_per_max_file_size() + } + + fn query_value_propositions_for_msp(msp_id: &MainStorageProviderId) -> Vec> { + Providers::query_value_propositions_for_msp(msp_id) + } + + fn get_bsp_stake(bsp_id: &BackupStorageProviderId) -> Result { + Providers::get_bsp_stake(bsp_id) + } + + fn can_delete_provider(provider_id: &ProviderIdFor) -> bool { + Providers::can_delete_provider(provider_id) + } + + fn query_buckets_for_msp(msp_id: &MainStorageProviderId) -> Result>, QueryBucketsForMspError> { + Providers::query_buckets_for_msp(msp_id) + } + + fn query_buckets_of_user_stored_by_msp(msp_id: &ProviderIdFor, user: &AccountId) -> Result>, QueryBucketsOfUserStoredByMspError> { + Ok(sp_runtime::Vec::from_iter(Providers::query_buckets_of_user_stored_by_msp(msp_id, user)?)) + } + } } // Shorthand for a Get field of a pallet Config. diff --git a/operator/rust-toolchain.toml b/operator/rust-toolchain.toml index 926c88e4..d06910c4 100644 --- a/operator/rust-toolchain.toml +++ b/operator/rust-toolchain.toml @@ -1,5 +1,5 @@ [toolchain] -channel = "1.85" +channel = "1.87" components = [ "cargo", "clippy", diff --git a/test/.papi/descriptors/package.json b/test/.papi/descriptors/package.json index d179a916..ace6b396 100644 --- a/test/.papi/descriptors/package.json +++ b/test/.papi/descriptors/package.json @@ -1,5 +1,5 @@ { - "version": "0.1.0-autogenerated.7914682730988627992", + "version": "0.1.0-autogenerated.15314170487867117571", "name": "@polkadot-api/descriptors", "files": [ "dist" diff --git a/test/.papi/metadata/datahaven.scale b/test/.papi/metadata/datahaven.scale index 59781dde8fd7280f039be5c86a59b960a91809d3..615a2e2e37278a8cffb8d3617776598913542f36 100644 GIT binary patch delta 16298 zcmch84|Eho)^Al;b*ASZOdx>-5|}^&L=s3a0RjmSLVzp;0tsN0FbtUv8S`f*GZP>x zMpm=JF08~DYxx8v3St)d69wCdLF2b5xWaDKxU#!Z*cB9aS&dKjTUOEUR`*OYL*SkF zy?4$#XU=qY^}V-#_tvdjRkx~}_Q(JA(|BE#?6VKvV{X&+5}f$*bz;-ei(z;tYbhoX zO>U!A(CeBWH%=4GI%eyjBbzQ8V{v#BHBH8mO=+f?IJU`cT2AA1_;k~j6C;`~n9^y2 z4!_C%wv$*N&M-fkVa7^^S$K02Uab6krm%5j(hCl`QufKVGG`_HxjZ&!b*Zb$t(JLx zE{}b^Z1c!9wX)Y|VyTNr44dl_#;_49h0*mxBC_#3mECH$ask#dkE_aRueSCJu}<*F z_sXR{*^y+GH@Tf2*l-sJT9Koj-lt)$d*qj;@VcDLJEy?&B4&u86WuXKV? z4zJwqyDcYY?5kg`$D4E<_pt<&u$J4oATTSpEg*41b@{TV0-g%&zB@h6Qm5TI-{k>u zNuaC4xmu61TkSw%&%QK5+C0T>%6O*h(GiDfAUYRtC zJv)a);`7R@bI9>9+@n-4Acf%*c5`ygc^vbh|^(H#-@-xPgpef4PfHna~wR3lXBII}As0rHW=D)D;FLQd)xu zr3eY|cs`76IY(01!5%VH=m}$8S#$);DJFO0i^|i*WipT}!45!X-^utX0R8&pch&bSeVGmAVT0 zr+{^AZz-89h&t9)3W~w?aw&<27^9dR#E5y6$*!PL?9F=xoibe}=LQSmI##)f#wrQ5 z8JN*v49JVxpu3YoV0qmaaIJVw663Cb5c$p;uGvezFc zE2Lx{DE2W*WzkKf2B))MG?CTJ+YI{u&_w3rESCEO87E}vn$}vPnmTag^lTk6;izgC zM1jg|9i~MHC%N3RM^(MAC>~-2_^``Ur_rEn_Wl#31?MtfGr0rjv1gje2qCXeEc>FF z+==s9%#$P&FJr||l7n~!6B(J6xI#xwIj)VA7U5zYcnSO=^-n0#A^1Ui=!pf{bxljm z!p4Q=CpdMQdsXTB-OH)+-M}fRiW>kPYgCq$Iny=b+92XuPBI1fnaH*aB%WwQ=TmL;xg8PHe?T~*N7n}H6qnmuGR)9oh1@fJ3EHyKa1=`h>5heS^n zP)ea(>H@=f>Q*kFPtgt?E($Iw@W}I=>!HITg3uP$xSMPm+MvTJD?Md}&h^!HU#$nK zYhW>Z$SS;zzmMUPSKuAmz3?=#--4l$ZGaa-v!>y=U4DD)2~u&FYL65P+QW5)rxs=M zGvpW+_6J!qvenPo7R1@gCOu1{+2R(mXz(E&j#)0-y{>96LWgusECjrqS~{7~I=l zhiLN1J~9ILuxIv>bb3*Tw=#PN^t`Y4kwGBq$9*JC=+ZTft{B0V?k5w3?x6egI#!cT zMzBBZC)q*|^yMrX!6rRVmI@bx`Y(I>c{1K`i7RW&?k4yKGaV%Ep;+R*V`nB3)tfX6(zA!oksNGRFG9G~ z)HOPmrN2m0heS#^N%QW^+No&}fg{0wfeaVoE381I1-N2N>sJujV$cmZXod=`YVq$bnYku3Wtc?f5- zw~mr0AxIRr5eEc`lWk-wTmpjP+2ohV5S*{feTm! zLfb;>Y8Y4-r-Zt8upuW&`iMp#NLo?tpQp(VK<#suR>;0)WX3#fh3PW&<^2QtFR|4M8uAU-M%>5S0#jWg> zw}=Za-0rD|{1$8rvfv@LPD>3zZEz>R<8iels$D|uoGk};X!h^)bDs&~hO!|0pBjks zl!o(^hH3e4NQM3kucuQ&XM?bJY469JB89kHyZ_}WvLNcbgy$9br>L3!7y|x&o|CLM z^>CynWH~RPi^|%!Nv_UtNd=FlqbuylS#khhWvkAS32@<>2)z=sO~g@3&pDDyg=E&{Du{Yk&`n12YgIQX6!iM03u{KP3*E#5 zowK)_+#!VP*;mVP6jLseK}ya?WFj#|>Up<|)<>aey*e3+jMZ!Y8>jE@VX^Fu^Q18% z4v2+VJxWlS5`ihv&y?(EN)2L4X03lD59(7nQ?eeVD=B{>c>-H`kt|?u_K-t3TdDqp zd?5(AnhAkYR709vwlvj?8s+i3G~b#J_CQLV)HJMDe$DeVV9sc6tj;n zk%iC~<1UlY&=<2W!<463lRUn}56>P1uSBiDat0$iM+lEH7dMifzYMb!C%<0@6{$5m z_c?j^Ceby1(Y1cjbwQ$QRnhG*iqvt@@VHqOt$g|g*-l^(ulze{!VOPeg#fjKZMh09 zzk}6$O(wASufkZ} z$e#O}EQZef_19z^yi@5?ddUJH*xO6SCpPMXdq}f>K!j=rO`s>0?jN8{laDp@{8Et<_T_WNzt8f3Hm8c`H#g&P5$4)JT79>EW|+wpNdIET~!z{g#}W-J!>@kl7?V@}{OCY~5sYm6dsA z-%Z7Jw<;D8>R=ZyH z<)}?Pq)UHMkGk0Df0Gv=V$^&`q86P8e- zb5HH`nbx_BmoCk>73STYTY{hz!CVfS0-_1~@H>)-FR>rKBXMxCeow}XyrjnqbMp#P z)6+AS%cZi@?VATHKLl!AVkO^`yGQrek1dt1_1R7V%K_zSy$Lc-;?nWiGKK= zL?vA7Zy_Azs;Yt&_;o!_;^YfuJ1oe7<0_kZgB-@^*_SuSlZIX}(n4;eUiR}J$iy+% zxQaalUFX-UdUS(d!6w)M*DgI04b0LBG3l!x$TNc8z;^yfrW?)hl1jU98VXlF_>tT# z2$2Ss`aX_lg#w)=MEf5Ufu_K+L$} zj{SttDT5LWIA(#zRqI}mickVOM`-j!lU(XH<>nM1Sc%Y0i3TjqFF=^q_1)d)zk@jm zFeD65Hel0S=X!)qn`Cb~JUH*1f>5$5ZK`RVbG`Z&QA{_c8gSY@Ipww06*H|%7UwR3 zHcaKH2EjBx-N1iHG@=Z@PMax>ma`1l0_*<@grn@0KD*P?Ul6}euB@~}5@l0=Sxl+j z%}e`BA{=tHysrN_2GTjDK2JXd%JSDYTBH*p5-$?zQv~NKpG#m;Ay<7licK@n4G@tJ z8|WemOR3)tp^)`elG!SYbdb*gq_E3X8SSpFkikw*W;ki1KS0?ZhtZGeW`k7F)Mkia?+&N;LcmRrqIpSM z48bw30UG(HSy%%gf{xV?U_Kc|3kGe2LMmm57PKQ!o)S$TfRK79nkK=8>&euqO|vp; z1Z^e4E(4#sTiKOZIsxxtLq^f5!XAIwy`yLvZeh>x%YOFZD0&BL97D$_*3r}fYa>6^ z^H!P))1i;8bhgl{l_?o<^e!wM@>9G#hJI&gQ?aF`L1g48Ms@mg5A8wLZs%t13_~3% z;|L`#o<24lcPec&X&A<**sGcJ@|05{ra3dvG-ou^@Czg>tS~DA{*ml&Su`DYX-(bj zZ|d_wm3M1oKb=KC(Vyo)x(%pDD|=)%H2OvDK7J0}0`ZHBG(OayGGb?;0LQTGLYOF8 zX2Q}WWsWe4b*vC(S_|BAwFB~Vwsl@NWHKQ)Vz2aGG2jpVsVw&9V?u+!feusBE9uAG}g*@*f~p5cNR zlkfDZ2{^QphGSl4!cvXLsOcN z9GlPcb7&QPB5!P8-t*@47bH-9ko5#YX8(+gHT0@&Wl2NVSmQmk8Rm}tI^Iz4hutby zg^gOGV@*Bu#(%7)x+KwvljatAWVulGshKp`O`29AVz%S8S zrs}CG`a1(oR4O*n^O&{V4{cO@A3YwK%4Nay+Je$msmOvdjO>$d1#5Jc5s*oEdXB4- z$3MukEO%8xz9WmRzMtm8;xPFEaN>^p>BvF3#`tVEZxnDNSRh`$pN>h$GvfY2gkv1C z+vRooa*a4!^F#F8|bZlh45l>f*ly7%uE=sblgrPE@eg6QBidqIZ z5&sib7!mxy6lgy|#Vlzv1eOxkx|vQC>_)a`GmU~p=2x5P6u69ekp6Up%&9Gw{lpv= z9)_GMZ?{-wL{;qMgS6gMqn1RqVpQ9YD0xWT%}rRx_SDnicr!a*PcI8wG<(4W^5jEw zn9yKkk6jlc+20<5K)y|xxP_(~=?-IP-cQH2ZKrb~{=K)IjvLn)a0$>>qKh!1E3pNP z-wb%vKLHwNmlCyuUcw{xaFFpW#{I@t;~`_4vEA5V>@=P-q89e$V~{jSeT=5CF)h$E z4?G5=Q>#|`)?;)$KE&@cahq0@y_1eJ95-T9uE&nhaiwM_ZL{EZ?PXRAgy#-+Zws9v zbQ)RqaY${w)dHqG#b!NAtt|3cI?8y)h%NcB@qo}7UOGoOYh=rw1IpdcQWHcrkQm8M zK1;{I?Cm04B72}&`Sd3@u#o}H+RdV#qh(>B7KJt6BhS(KFdI@iFFZ$=3{lH7!45s3 zx6o~bdE1ga7sdt+cd) zqThpX1V->s)TFejA>5C=Zo~^$R995HHdYsT?A2bo+99~)YYGrk z3=smZW7(_E(Vh3BeD1Sx+*N z*~GRTpvxj|7;#EoHSF*}zFeJ$qHq&y+)v}!;1}rB)JRjXPSK`drJ}jyP_3fVp@@p7Y)u;JV6eLQ^oa-Bz6FARP-%ZtH4L4)es%5 z_az$3K0HRJg#xY*1>6~e^vb{${1sTOfniUD(A^kF$5(YgcP4}m51dBU^JO0po(0I% z)M+|pI%7gzAzb=_()F73Zq6iia+dSJ(jN=0V2mCxv)Zq${l@442B@sZByDoTcC+lW zvDSUWSa0*xR{NY)vd!*xK9T1Qooy|JSz?iErK=KXWLWR2GeCr;yF$tOCS?evD{4l({F1x3gbgeZ8Gd*ii$hF3wWfQHvhkmH0V;AKLu3H9w@FA_?Nx08y5;ad?x|AwyhSdadX-_ltXhjt*kM_I zJDs7qLbxfqZo*Hff5POK@Xhv)Wy-S#!r* zm_Gmir|Fl4n(7v&7tO&@fRC>FfL=kPt6oz}e=D^fSO9qvIBx+{|H?Wzw&1hp@}2!W z*x2{?Fq$+EHdq~UpgoY;96A$9gNab50bDm6>QVoMNHc;T#HuuS5gh_@H;v21u>q93 z`+G{PhBDSHZDm`YC&NOlzjcA^Tj7OZw94r#pC_;LErk;yMdffnq})~M2*iS-z!n6= zrseW_IOYP=F6dRr7kI(hUA4XfdtDW1S?B|os`7#x-IZMh>qZ}UKD%eV%%#_t!SNjM zp4FkRR=_b4kNS$BlmHU-nW8y?IGF8rYM3BW#D%EOLt#QddkBSrIFX=fpJ0|A3PkD` ziiz1091(qB1a{#8DYD+Lu<5o6R|XVb0tYobg|+LdoIY5TL#e9_)Ex*EdP!mk(5qp9 zG&z8jpV zlfz38?Owuc8>PsldDUvcZ6KzGK;-_O9zYo6@9CN?(*yWIJgErq^+kt5Sq?alX)UjK zu3QIa2{=OjiVt|I|IFj>^1J}9T%KR69vQd|!i*4vytT8;vHnmK)ZAGb#H?FFTpbLt z0D7k@08+YbgAZ&`7<94+fXNM*D+o(2V9^0}?k&Nr1u#qC(Aqr6c2_#9Wo`+7%UW)W z=B_^Xb3rI^`kZil%nO#pXkj*ts^u{7IZJsb^Y^h(^fUMX2B$UhLg2R;z?k^~{4Fqz z3OHoGX3TuEw3Btlkf@OM&IJ50UQ1)Aba;TtS*voS)Et^}*_r>%2ym7i#@V}i2${{dP0EIJv zBBkFjP7Q+-Fu2)UF=Tj18$P0f@J~Mj2FkI!?WHhH^E>11yT(A%R1LsXb2FwvV3-;W zRLw07vsJ~Ey#Z#O_H~uAAKd=~sM-)vJaW_pK>0hX+FErQsJdH%(q>(O`7(q#m{tWK z!H!#B&;6emYco_Rw1=TBA^4&IUjxTCf~Q}i`dhL=!`E<2d}+`b3w`zq|6~IHPjGAt zslP=406PK(Qgg5VOvw%nzz*(8FtcQ*Vn{@YH?3A%PIFx^OtHYZ|1W%~aUh)LTfu4O za3D-H2Mn@2cu3d0$d6@d8K2^4gU;N#AXrxDVcFGC0A?QO&AZHM!mepH)w4;jPz&TO zX1@aIix%d51(x;K*^{rpIzF0p@k=r@DReTV9WoWz=gMbQ3Xqhr|KJyyy~7JPvwtbD z`O?Dfcom*5vU~WYmu-I)NUpJVehFunU!}=#v@xQcPNUg+{JnY@?6r1!hk6(+FQ{ZL z-K@uZS?6Wg!iahe7Wk*w^w%H>d4^TIMpFgY{(Sm1dIyL+^BOGHvl%`?3uvAJpJr_a zNZ|eU1Py0fPtX{_X=v)vPhjUx(6O|}fcG}J4N=VeI-LL;U`^EqD_iwC9W68)nvNKv zS>x+826CT=U#Bx+KjX{S0cN<-f8d;DbkKOntgq>y8E|IvR~=xGZR~Uhok@2Y{fEkx z@h54L2q&+K{*$f|aH{h1DO%1?c*eW~64TjT??8?-gFW*O-4AE0a!=EvV9bA>rZ&1v zXBS!V8PISo+kS?Ao!tI;&3)(Y$vq1(8Cf>{;l=p9_YdOt#?P(Wir#q}&R-z(WEuVO z^Isl)94mG20yb#Er+*7cWLf$0xAY)^>yy8uPhr^po6<##ahxH-^G?+a_x zL5@F}z1U4-Sk6cEe%!3Q@ezHB!bzih{zR{Z!8Y5nztDf<<81L?=?l1%UHdCE-W6r+ zXLJSy|5)<{bwaxH^cU18z;VA>SLjwjl-TJj^dEv=Vy}Kl?>Ffss6)io9GAPUDZ3+v z-SaoPg}?peZ}b2*D?j@?oriI_^4qJlMTA2DRsV|)!#GxX*?Wquq#)byAb$r7=+ z1TRxIVet>EK0C)e9p?7?8lV?)LFz`?deh!@FOsf)>x;!51DydEh&jNvf&oZ;fXbDNNGp{YtAt;i#!3s}fAG`*o8!R#?o0=UYf zG16rLdQbIe$&R7ne{Yo_8Lp(qNmcl_USwY-jhLF2>7PXS zKjeUQDHUJ=4NkZ)^bO2k;iV)9ZHBW-+bU_80O{D%#nL)3$;7**Lg-obcT3xd)CJ6@ zhpYw6zD9~wlGjKj0%VeJzcW1vm0+v-0Zf(lS&0=6W0Y2StzPzU8LVi_?Hgq6TZfR3Y5dVT>16Yp@@#R_mQ)&9#@7TVav!sS8xKvD^to z!3>1fOFloaGbxil(m;iPYwbr7s!xC_0?J3cBit& zA-xoiuPWgiBp7-wDfexZ#uD7CJbj9g0=}*ssh65CzMplaxxuThcT!I>A_kCiv(7Wj=6~vmy@HAs8V~ zyaT-|nf>VTL?hvhw3}o|8LZ`uR0Tn3@Vnrq#jNyQDGjC{zj{}iNMxgv zz5T9qCv?nzzbj?HW=Yy_rEZ8lhWDhOLquqPPl7RR3rp>iQt3A1-H6q9Nm1;Xg z=BTBGZn<Llees*5E*VtvW z@XwrX7-9SIyYtfDBf?FRZ&SB%0-UTXt+2rdMdfLc%6EU1P6+T>jPhy^G!+~>`1lj) zNoYCOr&2w%+*hAUbKsJ40a`9q>AWDN5Rz`nP!hh7MheQ{%hFJRWNFV!1!zm4n6I4p zQrbmfDzxG&X(~*Gwtpp6z-jV-eI>m;sMr(%oz7KeH#toa-?FveNF$WXU&DK2&>Lm- zH_{t?;uG_&R0NlrZ>2M^Z#nat^s_Li%w)}F6TXlpD&Jg_GKHvGQzjfXvB6HR%(v`7 zxJr|y(bW7)+O0vfd?!@|LoC8<&0nN#?3o{>UYvcrQ9m6^-9{7SpDlH)3+tl|{-@0* z#D)|7C^kgU!-R`f3i|u-X6181KL*2z00Y$<;mU@I`Xq3=98o_WH!2mPz8BMG6Igbw zPQRMKsL^52@4B_=JV{cPbN{f5XEQ@aVJmDYOrwy;fY9Ms7^7^I&JqbV7z z&w|l3d$4|5%vlqf)Az|B-!*`gCN*vHd3%i4*b{^GCEy|74A#F*dW_x535)(5u7~|~ zl*ZHKg>{est%6)+)Dupxjfcmej~;FCfl;;1=dx|++vuTc%(H=E)6SdF)*8P5Vw3%w zFWQbpAF&PMT7?v~4t7nQj7+?g2u_;`Qx;$l%M|d^6Gf_)jr4sW#n5(xMB(j zsQNz=z^Q^E)TiArp(h+_&f2zK%WlIy7o@js@EM)YZtMSajV_ec%_2uoS*B=45BP_& zn{DQ`t*f&^eKg8nsTme`^Fou!+4XLxY3q8}YOCe>Y8xLKq2hHu8|dw^`2sm>DJd`z zarE(h^3wS^ALL#qH_JCI;{fbvp3As+SG5dtVNn(GxSnFA#mBg9RBb<-b)Jw7T1Kz2c zt1?UbQoPXm{w*H0A~>Gp;1X^{;H4JsSe8UHTBy+kIK41T`(LJ-QGxcdKJXSkmV+#5 zD4Gmt$lKLp(-;8C+K_6zHvYA(jaO!}@c*KR<(p)IJ6t4b3<`g|n+25jJgTpiAbN z(dzZgj)kH1;9%6WvD^juOytx0W}oj>g`^ont6X754vk!MckX%X)D$3>7~glBRsxpR z2m?W;PkyQ0U9YC;LPg7F^pM734`k5#IvcRuf}_fec4{1b5eeK1@>{k5y%t9M3{dOu zM;oD$z{N}LUfJd?h3OS|ip>iyTF&!!HoLm<6N;_{_Jz4oRVqIP_ZVB1eUlakz0Uh& z$a?v8fFpCYGVd(v={Oj@!4KezbAP0$SK||;(b579<>e``KA>C7XmP2%nnx%8!Fs@S yp^&VoNYh@kdPoJT{B35mJ(L1kON{~Jc%#S;f9#S1vCG0=qDFA5^Z2e^X7t|#&{{f32rVI7+a&#z;nrA`CHtdsoV*gE!*bk+dh z{8aLRu~x~b#jR%>CEBI!-M}tL^b*8mu?%S6#ByEl>!h0o?YS%#hdA)$O)18^+rU>4 z!by*T`mVNRC9F&$q#H)$Fl#`Mfe@+NKrZQRuYur0xQOjDkUn@ehmEKG@MaDhD_u9h z$sFd3-GAn=X?iy>mrWUS(?AoJ6_(l^1qnLgvbZE9ebWG&a#<)USbHXysZ^py_&QIz zPdl=iog7JJZO2yj1Eq@g`p&sz7YIafbFha-;X*5*qVh>VJ`1>waj@marmRnGzQv$ zg-bEUnvE7;ShkmW$4xg9GxaTS6z5y>rW+|=N$6xpp{>}ePv$NtG~Zf~Z7p>am%DJt zbQjg^J?xi|1#Ao$_A)P;2myPUzm#~F{vw(Td-k#fnhIz4vV$}YDqdhok!eP5PH{ZS z`AV8@M1$ZDasEh|MuHEjUSSrp%2>11V~lqD1-6UPwXpGbY*zSsqsxX?dPz;zd7+DUt#M;mm6vH>f)Rg z_S^z%X<0E6Er&g?ur+kMj#Q)%(P=(j&#eCicPD&{AEZhnRNR!J!>inLt{yapD(9S| zEu>nX4EAcZgTG}*DBbJSlXsnaOv9itbr90PeBm#@V@pQV8)@Kjo3+GIP(nz({$ZA> zK_^vbB#kb@hBykop53oq2^wBU^;yzi(sDh+S0~tGBz;=cLG}2n^_A-cNV2Huye|lv53!h0ilCF-UZ!kDEP5CPt{q}wl825Hrp4V6p>*Ql3lBq3fWnV~i6-51sy@VV5#GhCJT|c0KM5}Ob-a(@gHfYz{aB1DM zYi&p#cdZQ?kFxI+yUxriNIty&E=pabjXcJ-QrxT0yvLUFazQg7xQ%(ix9_2o-wr-) zY{ArW=fsIG**=69BHznP$3$Kg@ar}<-G3({OkPz`Y%40Wm6Y1DQR-5A))rf7C3Ls3 zBw7W5@3Y0yP65@gvmki-eU>z>(#311AXP({RSsvSqaw5F0R_Q(v!zkAR-652wnxI9 z|3AmsdRhllKV%MU?yjVmdbb`M2I;Zh$=FiFNCUn}*llz|e47Mm8W`(Zmdyiz#1=QP zql1VcY>-h}hs)mTlD!q){tMfo9Mw6t2+}q{)-{#m@bpJ)3vS2nPkZ2Zgu?g$)`M0%7Ob4bz6}WAs-rD=;F)ERwTmzi} z6dwAsd)S-ObOo9Zpf7ZaH~MpSOoHnd*}{8)=42;((n?9H0-h8{gkMJAoCe!2vs7w@ z_b#)kQkwhIh+c%H!^&QCq-&wBm)(c^_h>H$J?SnHCSHGAeB7B&})2)mm_{vZ~1CyQ1*d-8P_*e%lLUSazg z?)=X0*l76AH|$AT4nMn!O$D6p$2Hs&W zaqo78=0S8n`tq*-Wux5;R2rOZ%d%(N3vzeDeb>-=Rzco17LMM>DcNh+SbAiIGI&EF zoqIjccAOSEgPm~g8jFBk*U(Puud|;_s~R$}dicO<*Fe4D!g7w(y0jR-*R936L0a7F zLh>bb_#$DiUT+%|f)9>vrHu+{bV;52Z+2yTlR~{x%8DPcVGx;bFW690R#@mLE*$`) zXK~K4@&-HQ+pN&w1@^7B?6euNga&Wj;K<1-v6VJM;dji(bI4bTkY<4ISfpo*Ld|x> zCoL#~Y$mN555`ed*>UBpLXN}yAK3wPCw)IM--#V4-Ml=9BcG6V z#FBOzNQWYVZKazx>CijhIO&8bx0$!O6Oov%WI@hC#%&BTx?tOF7J|*b+iV;*$8O`g z=z^}>?4kPxs8dUxBe$eop}~4Cu*8w8rx~@&c|=kV>UNRMict-r(WS-Kf)Z<%9%q;I z4k(@aI`Z=|?CDeJWPQ8~A4&AoYWz*w0XdjYnJ%Fk7U^oZ1O|yu8rQ2&sGE^Kz3ov* zzuuw-uIue_h1^uY(uU4yi^N}+ZYf}9JWi!1-HLl@ERnTkj6WnviV0%Q&`>xf^CZc` z-I-?K(U^&38+cNvw+UTx*`_>u)?!!c25pVd=z^9JzGtt0> z#g4MVg)xNqfx*Zlf`Uv`EXW{~m*0Kc=6=K2`ziQmlbT89lUf&>eBUugz20|V9XwA(jOwLB+4!KO(XZS#h9pNfunc} zp}y9n_KxNcpqKq(G@m1-o16!UPo~LrkgPHd93+`;{C!@0p|VOR zl4&Aqp~#zu!zge5upV1^^Dbnw*oS|LzI^-`zEHB6VB=>r1gggH1Jn*PeECjhH;LUN zSs47omoMe{CUYJXb@Bi$!;i}paaQ~DbF>Ji1n>&73|1R%tRrOaS-Rnu9o|fmJ|5 zc?j4-_yk%FzYgIuuyKOE4B@f7)qS7iqxk16{`?}#-%v&^xcgvdATDGllDmW_=pM~BSpD8`4xQJh!{0Axv&s(RBK)d zW=3@g!{)sT?lUq*rGfKpg^m(?DdtWCgN$&yg0GgQtNIRhYHTDt_7oq#AYP?$PPL_5 z3lkPk4qlDkK3?U)cVL1qri8Di4Gg7BMA@A`QnE_$!39I`L#mt4ji>l#4AwU8;FHj0 z{AvgHlhReVe+SBst+TS!w}Th>X6hp?mImfw@HCKBPC94hwJP*H#eJai=X{HKy%Xr$ zNQreo5syLcJ~O*?k+@bK+-n4=2ssLO&Z zDsT?Y9|>)~Q#-YbU!wk%`ou!3)M~X>-K*BA4Qiv>q&BOh3hHaQKV1F|`s`}g`?OkA zWUcGHyp~6x`#_uobRSOC?`nCtsa~b#)M6_k^|0{(daA_Te4m9jxG=80#wXK82-(kP zu_o1>9hdLtQ)x52v7aZYEh@F7JF;=LwdjCg@IJtUrB>BhCh-VdURF?Q&)2I`{+;K+Thdyo@2lXatwZEH}VBo5z%D=Xyi*rIpGON zsU0;SwW*j&-Dt$Kr4#18&LdZ!RR{a#@SBd%Ds zg_F~|oT!XqPP$#l-O%AOAvLC`(Y1(Ms@0C}E$#3#AvlSdQP#p9y57UJQ4nAh$kU;(ng8jD z_#tDW2aky!HYRZhayBv~{>^&@W5ErTDbTdiCS1HX*(#&FhN#Tb4{NfFT#rAwV zOgPLV(N!%!j7NDUR37HZ8!~m=XtHVuvm=9f9T~=IEg}yXZ2fQ*tw*A0u=Qq9Q}}@w zBp$)QARRUz!Jy4*uCevZmmg@q7$<@cjXr50P*4sqo`r zJ`pao-~!(NHqVYM8^XDKIOlQ~=W>YE_|xdI{-~i#sDR5Fk5G2%Q!O))O7MM$&%*F# z#XCIW{^}t!uhrF@=eA=l4!EP`Jm-vRq2LcZ2#&wQr~B_U)4)|Fw(N!05<(|GYP08V zF5O@+$Z^!cXMf;xb0UbP2GSLs=OhG4~ODo|}C!fKa zbqr@EpPu2tm^zO;gT!x{-1m`?(t+ciI>Sd}JXiCv8UVjPgR1d{(`QgMWxGE?$GB5V z_=GQ$v55VvbNpe6hG}2_9YY?x16%nSevX9aKf_Zm3O@aeH(;%LdpCazwR!(}zJaG2 z>p4`P$4O?u2j}@!?TZUMgkt^K(1Q`yT5Wj`KZqAi+K*rG7b))l7rx|cX})&tOYYAx zEgAVW--gYzU-NymQj564U*uSO{qt3R-GEU+>ka-rp7Te(!z`)=*55?6bZfu7iFQVN ze|U@AvA7uhBQKS%8{xGd`7_c@BShck|B`MQYlG#-^rlYUj}0uKGT!NF|Dy7IinoN* zm|QPY5ACdweJJ(Rt|;Zr6rA&F_nn{u*g9ekhWOl zc+5h-vB=vPP1JtsC0isZS=2lydqcI4yp*PD7k%VU8HSAS_{;e;O$!f@6J?sIWe3ZT zQ@m7s3+g|?L&go1)Iak6(nj0>MV_Nv@aCr_? zh07D+M!0MldDB=eIBv2oiC!eQhJ7Mr45qZC2)Uc0-U1`#6BrToM#?>`O&o`giSlaN zu7ysLcTn1?9hfYCZ^R}4YOEa2xCTmBF$x3DNdUWE#NDFKy%3;a-$JQh9J$t3v$>ZjGrk$X8VqwVwM znW)eHh4Le)Pi^u7c^5^69$P5KXh-JDkGg>&6e=H(i|`)gKM%+=AC{-56V`3U-GqbQqV00m6?#7mF2+ra0TAXT61kBlnP0rrdVkH zf`^z0RXD9M5L`pgu9cVRH_d;4NM1{257Y8j7d@14n`CF{8Qd}2tGXzFH zTHOp0Ea7%~H%{D#{@{F^n2P%Fj2FLU+f5bP+wmevMh9^{Nkkc{Oq@*UgSn@LmzFR` zM9GFagoJwN5O1hU69L-G^F@Y)s=K;CJS))#?XfhG#|*VPT96Y>lhVa(6MjirBg`^w z)E2K3+bvU@O&Mgu0(+iqMLAy1zXewuA^=`k!$!jU4iSn=<)02w$>?#ds6$wa%h=dVy5ipsjegw=9THUT1#_EQBfT-m5l^_bp3fWuOGCX7q#e&*IW?K zTe{vP3v{|ZR!5wYld9`6y8Sf;uP-sln2aOGU= z5%Cx^`+qLZV(fMGbMY)L-pBqS(BtOAn9CvtcT(DAu@v3mp34INyiyLQdqolE{qw#O zcKU=LO0-kW!7QkYma|GVbWzG?Th{wwdz!GegdStE>x}wmQwHhm~nDtky zmN+MDr$p$?);NQ& zM)k{HP(D;s&0bhAapa_%S80cg$}@BbWS*iN)6Zf_RaRoNMpfGJgb6V# zPaBZFIXD$Y+!m9xb7mz$^0k^1w%E!yI36vq>1hNKb>bwtaMp}e_DQZ$>s^r0QA(m) zx)-SSgSWDcqO6aOQR3*NHr1SGE3nwiWIo>87ME|xvDr3c