diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000000..12cbabfd43 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,17 @@ +{ + "name": "Ubuntu Development", + "image": "ubuntu:22.04", + + "customizations": { + "vscode": { + "extensions": [ + "ms-vscode.rust-analyzer" + ] + } + }, + + "features": { + "ghcr.io/devcontainers/features/git:1": {}, + "ghcr.io/devcontainers/features/github-cli:1": {} + } +} \ No newline at end of file diff --git a/.github/actions/install-android-dep/action.yaml b/.github/actions/install-android-dep/action.yaml new file mode 100644 index 0000000000..0b28256aa2 --- /dev/null +++ b/.github/actions/install-android-dep/action.yaml @@ -0,0 +1,20 @@ +name: 'Install Android Dependencies' +description: 'Sets up JDK and Android SDK/NDK' + +runs: + using: "composite" + steps: + - name: Set up JDK environment + uses: actions/setup-java@v4 + with: + distribution: 'adopt' + java-version: 17 + + - name: Setup Android SDK + uses: android-actions/setup-android@v3 + with: + cmdline-tools-version: 12266719 + + - name: Install NDK + shell: bash + run: echo "y" | ${ANDROID_SDK_ROOT}/cmdline-tools/16.0/bin/sdkmanager --install "ndk;24.0.8215888" --sdk_root=${ANDROID_SDK_ROOT} diff --git a/.github/workflows/actions.yml b/.github/workflows/actions.yml index c621e225dc..abe4b7ca53 100644 --- a/.github/workflows/actions.yml +++ b/.github/workflows/actions.yml @@ -14,14 +14,9 @@ on: jobs: check: name: Check on MacOS - runs-on: macos-13 + runs-on: macos-15 steps: - - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # 0.12.1 - with: - access_token: ${{ github.token }} - - name: Checkout sources uses: actions/checkout@v4.1.1 with: @@ -32,22 +27,25 @@ jobs: uses: ruby/setup-ruby@v1 with: ruby-version: '2.7' - bundler-cache: true + bundler-cache: false - name: Setup - Xcode - run: sudo xcode-select -switch '/Applications/Xcode_15.0.app/Contents/Developer' && /usr/bin/xcodebuild -version + uses: maxim-lobanov/setup-xcode@v1 + with: + xcode-version: 16 - name: Install dependencies run: | brew install sourcery + bundle install - - name: Get cached Swift Packages managed by Xcode - uses: actions/cache@v3 - with: - path: ~/Library/Developer/Xcode/DerivedData/**/SourcePackages/ - key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }} - restore-keys: | - ${{ runner.os }}-spm- + # - name: Get cached Swift Packages managed by Xcode + # uses: actions/cache@v3 + # with: + # path: ~/Library/Developer/Xcode/DerivedData/**/SourcePackages/ + # key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }} + # restore-keys: | + # ${{ runner.os }}-spm- - name: Install Rust targets uses: dtolnay/rust-toolchain@stable @@ -60,12 +58,12 @@ jobs: with: crate: uniffi_bindgen version: 0.22.0 # Must be in sync with version in Cargo.toml - use-tool-cache: true + use-tool-cache: false - - name: Rust Cache - uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3 - with: - workspaces: rust -> rust/target + # - name: Rust Cache + # uses: Swatinem/rust-cache@27b8ea9368cf428f0bfe41b0876b1a7e809d9844 # v2.7.7 + # with: + # workspaces: rust -> rust/target - name: Build iOS and run tests shell: bash diff --git a/.github/workflows/android-app.yml b/.github/workflows/android-app.yml index 8f168b6fe9..7bda8b0c7b 100644 --- a/.github/workflows/android-app.yml +++ b/.github/workflows/android-app.yml @@ -15,11 +15,9 @@ jobs: build: name: Build runs-on: ubuntu-22.04 + container: + image: ghcr.io/${{ github.repository }}/opencv-builder:4.11.0 steps: - - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # 0.12.1 - with: - access_token: ${{ github.token }} - name: Checkout Sources uses: actions/checkout@v4.1.1 @@ -30,7 +28,7 @@ jobs: - name: Install System Dependencies (Linux) run: | sudo apt-get update - sudo apt-get install -y clang libclang-dev libopencv-dev + sudo apt-get install -y clang libclang-dev - name: Install Rust stable toolchain uses: dtolnay/rust-toolchain@stable @@ -40,34 +38,28 @@ jobs: with: crate: uniffi_bindgen version: 0.22.0 # Must be in sync with version in Cargo.toml - use-tool-cache: true + use-tool-cache: false - name: Install additional rust targets run: rustup target add aarch64-linux-android armv7-linux-androideabi x86_64-linux-android - - - name: Set up JDK environment - uses: actions/setup-java@v4 - with: - distribution: 'adopt' - java-version: 17 - - - name: Install NDK - run: echo "y" | sudo ${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --install "ndk;24.0.8215888" --sdk_root=${ANDROID_SDK_ROOT} - - - name: Rust Cache - uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3 - with: - workspaces: rust -> rust/target - - - name: Gradle Cache - uses: actions/cache@v3 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - key: ${{ runner.os }}-gradle-${{ hashFiles('**/.gradle*', '**/gradle-wrapper.properties') }} - restore-keys: | - ${{ runner.os }}-gradle- + + - name: Install Android Dependencies + uses: ./.github/actions/install-android-dep + + # - name: Rust Cache + # uses: Swatinem/rust-cache@27b8ea9368cf428f0bfe41b0876b1a7e809d9844 # v2.7.7 + # with: + # workspaces: rust -> rust/target + + # - name: Gradle Cache + # uses: actions/cache@v3 + # with: + # path: | + # ~/.gradle/caches + # ~/.gradle/wrapper + # key: ${{ runner.os }}-gradle-${{ hashFiles('**/.gradle*', '**/gradle-wrapper.properties') }} + # restore-keys: | + # ${{ runner.os }}-gradle- - name: Build run: | @@ -76,12 +68,10 @@ jobs: makeapk: name: Build unsigned APKs runs-on: ubuntu-22.04 + container: + image: ghcr.io/${{ github.repository }}/opencv-builder:4.11.0 # if: github.ref == ' refs/head/main' steps: - - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # 0.12.1 - with: - access_token: ${{ github.token }} - name: Checkout Sources uses: actions/checkout@v4.1.1 @@ -90,10 +80,9 @@ jobs: submodules: 'recursive' - name: Install System Dependencies (Linux) - if: runner.os == 'Linux' run: | sudo apt-get update - sudo apt-get install -y clang libclang-dev libopencv-dev + sudo apt-get install -y clang libclang-dev - name: Install Rust stable toolchain uses: dtolnay/rust-toolchain@stable @@ -103,41 +92,35 @@ jobs: with: crate: uniffi_bindgen version: 0.22.0 # Must be in sync with version in Cargo.toml - use-tool-cache: true + use-tool-cache: false - name: Install additional rust targets run: rustup target add aarch64-linux-android armv7-linux-androideabi x86_64-linux-android - - name: Set up JDK environment - uses: actions/setup-java@v4 - with: - distribution: 'adopt' - java-version: 17 + - name: Install Android Dependencies + uses: ./.github/actions/install-android-dep - - name: Install NDK - run: echo "y" | sudo ${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --install "ndk;24.0.8215888" --sdk_root=${ANDROID_SDK_ROOT} + # - name: Rust Cache + # uses: Swatinem/rust-cache@27b8ea9368cf428f0bfe41b0876b1a7e809d9844 # v2.7.7 + # with: + # workspaces: rust -> rust/target - - name: Rust Cache - uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3 - with: - workspaces: rust -> rust/target - - - name: Gradle Cache - uses: actions/cache@v3 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - key: ${{ runner.os }}-gradle-${{ hashFiles('**/.gradle*', '**/gradle-wrapper.properties') }} - restore-keys: | - ${{ runner.os }}-gradle- + # - name: Gradle Cache + # uses: actions/cache@v3 + # with: + # path: | + # ~/.gradle/caches + # ~/.gradle/wrapper + # key: ${{ runner.os }}-gradle-${{ hashFiles('**/.gradle*', '**/gradle-wrapper.properties') }} + # restore-keys: | + # ${{ runner.os }}-gradle- - name: Assemble unsigned debug apk run: | ./gradlew clean assembleDebug --stacktrace - name: Upload Gplay unsigned APKs - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: signer-debug-unsigned path: | diff --git a/.github/workflows/android-release.yml b/.github/workflows/android-release.yml index 2fd966c4e4..e01880829b 100644 --- a/.github/workflows/android-release.yml +++ b/.github/workflows/android-release.yml @@ -11,11 +11,9 @@ jobs: build: name: Build android unit test runs-on: ubuntu-22.04 + container: + image: ghcr.io/${{ github.repository }}/opencv-builder:4.11.0 steps: - - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # 0.12.1 - with: - access_token: ${{ github.token }} - name: Checkout Sources uses: actions/checkout@v4.1.1 @@ -26,7 +24,7 @@ jobs: - name: Install System Dependencies (Linux) run: | sudo apt-get update - sudo apt-get install -y clang libclang-dev libopencv-dev + sudo apt-get install -y clang libclang-dev - name: Install Rust stable toolchain uses: dtolnay/rust-toolchain@stable @@ -36,34 +34,28 @@ jobs: with: crate: uniffi_bindgen version: 0.22.0 # Must be in sync with version in Cargo.toml - use-tool-cache: true + use-tool-cache: false - name: Install additional rust targets run: rustup target add aarch64-linux-android armv7-linux-androideabi x86_64-linux-android - - name: Set up JDK environment - uses: actions/setup-java@v4 - with: - distribution: 'adopt' - java-version: 17 + - name: Install Android Dependencies + uses: ./.github/actions/install-android-dep - - name: Install NDK - run: echo "y" | sudo ${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --install "ndk;24.0.8215888" --sdk_root=${ANDROID_SDK_ROOT} + # - name: Rust Cache + # uses: Swatinem/rust-cache@27b8ea9368cf428f0bfe41b0876b1a7e809d9844 # v2.7.7 + # with: + # workspaces: rust -> rust/target - - name: Rust Cache - uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3 - with: - workspaces: rust -> rust/target - - - name: Gradle Cache - uses: actions/cache@v3 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - key: ${{ runner.os }}-gradle-${{ hashFiles('**/.gradle*', '**/gradle-wrapper.properties') }} - restore-keys: | - ${{ runner.os }}-gradle- + # - name: Gradle Cache + # uses: actions/cache@v3 + # with: + # path: | + # ~/.gradle/caches + # ~/.gradle/wrapper + # key: ${{ runner.os }}-gradle-${{ hashFiles('**/.gradle*', '**/gradle-wrapper.properties') }} + # restore-keys: | + # ${{ runner.os }}-gradle- - name: Build run: | @@ -72,12 +64,10 @@ jobs: make: name: Build signed APKs runs-on: ubuntu-22.04 + container: + image: ghcr.io/${{ github.repository }}/opencv-builder:4.11.0 # if: github.ref == ' refs/head/main' steps: - - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # 0.12.1 - with: - access_token: ${{ github.token }} - name: Checkout Sources uses: actions/checkout@v4.1.1 @@ -88,7 +78,7 @@ jobs: - name: Install System Dependencies (Linux) run: | sudo apt-get update - sudo apt-get install -y clang libclang-dev libopencv-dev + sudo apt-get install -y clang libclang-dev - name: Install Rust stable toolchain uses: dtolnay/rust-toolchain@stable @@ -98,34 +88,28 @@ jobs: with: crate: uniffi_bindgen version: 0.22.0 # Must be in sync with version in Cargo.toml - use-tool-cache: true + use-tool-cache: false - name: Install additional rust targets run: rustup target add aarch64-linux-android armv7-linux-androideabi x86_64-linux-android - - name: Set up JDK environment - uses: actions/setup-java@v4 - with: - distribution: 'adopt' - java-version: 17 + - name: Install Android Dependencies + uses: ./.github/actions/install-android-dep - - name: Install NDK - run: echo "y" | sudo ${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --install "ndk;24.0.8215888" --sdk_root=${ANDROID_SDK_ROOT} + # - name: Rust Cache + # uses: Swatinem/rust-cache@27b8ea9368cf428f0bfe41b0876b1a7e809d9844 # v2.7.7 + # with: + # workspaces: rust -> rust/target - - name: Rust Cache - uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3 - with: - workspaces: rust -> rust/target - - - name: Gradle Cache - uses: actions/cache@v3 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - key: ${{ runner.os }}-gradle-${{ hashFiles('**/.gradle*', '**/gradle-wrapper.properties') }} - restore-keys: | - ${{ runner.os }}-gradle- + # - name: Gradle Cache + # uses: actions/cache@v3 + # with: + # path: | + # ~/.gradle/caches + # ~/.gradle/wrapper + # key: ${{ runner.os }}-gradle-${{ hashFiles('**/.gradle*', '**/gradle-wrapper.properties') }} + # restore-keys: | + # ${{ runner.os }}-gradle- # Build and publish @@ -154,7 +138,7 @@ jobs: BUILD_TOOLS_VERSION: ${{ env.BUILD_TOOL_VERSION }} - name: Upload Gplay release APKs - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: signer-release-signed path: | diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index cacde40f3f..b7b0aaa1c7 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -13,14 +13,11 @@ on: jobs: rustdocs_user_docs: name: Build rustdocs, user-docs and check links - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 + container: + image: ghcr.io/${{ github.repository }}/opencv-builder:4.11.0 steps: - - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # 0.12.1 - with: - access_token: ${{ github.token }} - - name: Checkout sources uses: actions/checkout@v4.1.1 with: @@ -31,12 +28,15 @@ jobs: - name: Install rustdocs dependencies run: | sudo apt update - sudo apt install -y clang libclang-dev libopencv-dev + sudo apt install -y clang libclang-dev - - name: Rust Cache - uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3 - with: - workspaces: rust -> rust/target + - name: Install Rust stable toolchain + uses: dtolnay/rust-toolchain@stable + + # - name: Rust Cache + # uses: Swatinem/rust-cache@27b8ea9368cf428f0bfe41b0876b1a7e809d9844 # v2.7.7 + # with: + # workspaces: rust -> rust/target - name: Install cargo-spellcheck uses: baptiste0928/cargo-install@1cd874a5478fdca35d868ccc74640c5aabbb8f1b # v3.0.0 @@ -48,7 +48,7 @@ jobs: with: crate: uniffi_bindgen version: 0.22.0 # Must be in sync with version in Cargo.toml - use-tool-cache: true + use-tool-cache: false - name: Run spellcheck run: | diff --git a/.github/workflows/opencv-docker.yml b/.github/workflows/opencv-docker.yml new file mode 100644 index 0000000000..044bdf0aa8 --- /dev/null +++ b/.github/workflows/opencv-docker.yml @@ -0,0 +1,37 @@ +name: Build OpenCV Docker Image + +on: + workflow_dispatch: + push: + paths: + - 'docker/opencv.Dockerfile' + branches: + - master + +jobs: + build-and-push: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Log in to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push Docker image + uses: docker/build-push-action@v5 + with: + context: . + file: docker/opencv.Dockerfile + push: true + tags: | + ghcr.io/${{ github.repository }}/opencv-builder:latest + ghcr.io/${{ github.repository }}/opencv-builder:4.11.0 diff --git a/.github/workflows/rust-cargo-deny.yml b/.github/workflows/rust-cargo-deny.yml index 1f0305f942..97dfde20e2 100644 --- a/.github/workflows/rust-cargo-deny.yml +++ b/.github/workflows/rust-cargo-deny.yml @@ -26,6 +26,7 @@ jobs: uses: actions/checkout@v4.1.1 - name: Run cargo-deny - uses: EmbarkStudios/cargo-deny-action@5def368d93be6684ad20a0fdec5f23c8ea11e022 # v1.5.13 + uses: EmbarkStudios/cargo-deny-action@v2.0.4 with: - command: --manifest-path=./rust/Cargo.toml check ${{ matrix.checks }} + manifest-path: ./rust/Cargo.toml + command: check ${{ matrix.checks }} diff --git a/.github/workflows/rust-clippy.yml b/.github/workflows/rust-clippy.yml index 7934ab70a5..fc5ab9ca98 100644 --- a/.github/workflows/rust-clippy.yml +++ b/.github/workflows/rust-clippy.yml @@ -13,14 +13,11 @@ on: jobs: linter: name: Cargo clippy - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 + container: + image: ghcr.io/${{ github.repository }}/opencv-builder:4.11.0 steps: - - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # 0.12.1 - with: - access_token: ${{ github.token }} - - name: Checkout sources uses: actions/checkout@v4.1.1 with: @@ -30,7 +27,7 @@ jobs: - name: Install system dependancies run: | sudo apt update - sudo apt install -y clang libclang-dev libopencv-dev + sudo apt install -y clang libclang-dev - name: Install Rust stable toolchain uses: dtolnay/rust-toolchain@stable @@ -40,12 +37,12 @@ jobs: with: crate: uniffi_bindgen version: 0.22.0 # Must be in sync with version in Cargo.toml - use-tool-cache: true + use-tool-cache: false - - name: Rust Cache - uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3 - with: - workspaces: rust -> rust/target + # - name: Rust Cache + # uses: Swatinem/rust-cache@27b8ea9368cf428f0bfe41b0876b1a7e809d9844 # v2.7.7 + # with: + # workspaces: rust -> rust/target - name: cargo clippy run: | diff --git a/.github/workflows/rust-fmt.yml b/.github/workflows/rust-fmt.yml index 8f813f7290..98967f8745 100644 --- a/.github/workflows/rust-fmt.yml +++ b/.github/workflows/rust-fmt.yml @@ -16,11 +16,6 @@ jobs: runs-on: ubuntu-latest steps: - - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # 0.12.1 - with: - access_token: ${{ github.token }} - - name: Checkout sources uses: actions/checkout@v4.1.1 with: diff --git a/.github/workflows/rust-test-android.yml b/.github/workflows/rust-test-android.yml index d6380b3739..473789c78c 100644 --- a/.github/workflows/rust-test-android.yml +++ b/.github/workflows/rust-test-android.yml @@ -14,13 +14,10 @@ jobs: check: name: Cargo test on Ubuntu runs-on: ubuntu-22.04 + container: + image: ghcr.io/${{ github.repository }}/opencv-builder:4.11.0 steps: - - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # 0.12.1 - with: - access_token: ${{ github.token }} - - name: Checkout sources uses: actions/checkout@v4.1.1 with: @@ -30,7 +27,7 @@ jobs: - name: Install system dependancies run: | sudo apt update - sudo apt install -y clang libclang-dev libopencv-dev + sudo apt install -y clang libclang-dev - name: Install Rust stable toolchain uses: dtolnay/rust-toolchain@stable @@ -46,12 +43,12 @@ jobs: with: crate: uniffi_bindgen version: 0.22.0 # Must be in sync with version in Cargo.toml - use-tool-cache: true + use-tool-cache: false - - name: Rust Cache - uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3 - with: - workspaces: rust -> rust/target + # - name: Rust Cache + # uses: Swatinem/rust-cache@27b8ea9368cf428f0bfe41b0876b1a7e809d9844 # v2.7.7 + # with: + # workspaces: rust -> rust/target - name: cargo nextest run: | diff --git a/.github/workflows/rust-test-ios.yml b/.github/workflows/rust-test-ios.yml index a4ef8d750d..8f17d46955 100644 --- a/.github/workflows/rust-test-ios.yml +++ b/.github/workflows/rust-test-ios.yml @@ -16,11 +16,6 @@ jobs: runs-on: macos-latest steps: - - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # 0.12.1 - with: - access_token: ${{ github.token }} - - name: Checkout sources uses: actions/checkout@v4.1.1 with: @@ -45,12 +40,12 @@ jobs: with: crate: uniffi_bindgen version: 0.22.0 # Must be in sync with version in Cargo.toml - use-tool-cache: true + use-tool-cache: false - - name: Rust Cache - uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3 - with: - workspaces: rust -> rust/target + # - name: Rust Cache + # uses: Swatinem/rust-cache@27b8ea9368cf428f0bfe41b0876b1a7e809d9844 # v2.7.7 + # with: + # workspaces: rust -> rust/target - name: cargo nextest shell: bash diff --git a/.github/workflows/testflight-prod.yml b/.github/workflows/testflight-prod.yml index 935b2d68c5..138ae8b41d 100644 --- a/.github/workflows/testflight-prod.yml +++ b/.github/workflows/testflight-prod.yml @@ -1,19 +1,19 @@ name: Distribute TestFlight Production Build +concurrency: + group: ${{ github.workflow }} + cancel-in-progress: false + on: workflow_dispatch: jobs: distribute_testflight: if: contains('["krodak","ERussel","stepanLav"]', github.actor) - runs-on: macos-13 + runs-on: macos-15 name: Distribute TestFlight Production Build steps: - - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # 0.12.1 - with: - access_token: ${{ github.token }} - name: Checkout repository uses: actions/checkout@v4.1.1 @@ -22,22 +22,25 @@ jobs: uses: ruby/setup-ruby@v1 with: ruby-version: '2.7' - bundler-cache: true + bundler-cache: false - name: Setup - Xcode - run: sudo xcode-select -switch '/Applications/Xcode_15.0.app/Contents/Developer' && /usr/bin/xcodebuild -version + uses: maxim-lobanov/setup-xcode@v1 + with: + xcode-version: 16 - name: Install dependencies run: | brew install sourcery + bundle install - - name: Get cached Swift Packages managed by Xcode - uses: actions/cache@v3 - with: - path: ~/Library/Developer/Xcode/DerivedData/**/SourcePackages/ - key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }} - restore-keys: | - ${{ runner.os }}-spm- + # - name: Get cached Swift Packages managed by Xcode + # uses: actions/cache@v3 + # with: + # path: ~/Library/Developer/Xcode/DerivedData/**/SourcePackages/ + # key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }} + # restore-keys: | + # ${{ runner.os }}-spm- - name: Install Rust targets uses: dtolnay/rust-toolchain@stable @@ -50,12 +53,12 @@ jobs: with: crate: uniffi_bindgen version: 0.22.0 # Must be in sync with version in Cargo.toml - use-tool-cache: true + use-tool-cache: false - - name: Rust Cache - uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3 - with: - workspaces: rust -> rust/target + # - name: Rust Cache + # uses: Swatinem/rust-cache@27b8ea9368cf428f0bfe41b0876b1a7e809d9844 # v2.7.7 + # with: + # workspaces: rust -> rust/target - name: Install the Apple certificate and provisioning profile env: diff --git a/.github/workflows/testflight-qa.yml b/.github/workflows/testflight-qa.yml index 9db441a895..216217b00d 100644 --- a/.github/workflows/testflight-qa.yml +++ b/.github/workflows/testflight-qa.yml @@ -1,19 +1,19 @@ name: Distribute TestFlight QA Build +concurrency: + group: ${{ github.workflow }} + cancel-in-progress: false + on: workflow_dispatch: jobs: distribute_testflight: if: contains('["krodak","ERussel","stepanLav"]', github.actor) - runs-on: macos-13 + runs-on: macos-15 name: Distribute TestFlight QA Build steps: - - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # 0.12.1 - with: - access_token: ${{ github.token }} - name: Checkout repository uses: actions/checkout@v4.1.1 @@ -22,22 +22,25 @@ jobs: uses: ruby/setup-ruby@v1 with: ruby-version: '2.7' - bundler-cache: true + bundler-cache: false - name: Setup - Xcode - run: sudo xcode-select -switch '/Applications/Xcode_15.0.app/Contents/Developer' && /usr/bin/xcodebuild -version + uses: maxim-lobanov/setup-xcode@v1 + with: + xcode-version: 16 - name: Install dependencies run: | brew install sourcery + bundle install - - name: Get cached Swift Packages managed by Xcode - uses: actions/cache@v3 - with: - path: ~/Library/Developer/Xcode/DerivedData/**/SourcePackages/ - key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }} - restore-keys: | - ${{ runner.os }}-spm- + # - name: Get cached Swift Packages managed by Xcode + # uses: actions/cache@v3 + # with: + # path: ~/Library/Developer/Xcode/DerivedData/**/SourcePackages/ + # key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }} + # restore-keys: | + # ${{ runner.os }}-spm- - name: Install Rust targets uses: dtolnay/rust-toolchain@stable @@ -52,10 +55,10 @@ jobs: version: 0.22.0 # Must be in sync with version in Cargo.toml use-tool-cache: true - - name: Rust Cache - uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3 - with: - workspaces: rust -> rust/target + # - name: Rust Cache + # uses: Swatinem/rust-cache@27b8ea9368cf428f0bfe41b0876b1a7e809d9844 # v2.7.7 + # with: + # workspaces: rust -> rust/target - name: Install the Apple certificate and provisioning profile env: diff --git a/.gitignore b/.gitignore index 41fa18705e..d199f5e4d7 100644 --- a/.gitignore +++ b/.gitignore @@ -64,10 +64,10 @@ android/libs # For more information about the recommended setup visit: # https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md -fastlane/report.xml -fastlane/Preview.html -fastlane/screenshots -fastlane/test_output +ios/fastlane/report.xml +ios/fastlane/Preview.html +ios/fastlane/screenshots +ios/fastlane/test_output # vim *.swp diff --git a/.spellcheck/config.toml b/.spellcheck/config.toml index ab5c53af0d..dbdda2f6ab 100644 --- a/.spellcheck/config.toml +++ b/.spellcheck/config.toml @@ -23,5 +23,6 @@ transform_regex = [ # 22_100 "^(?:[0-9]+_)+[0-9]+$" ] + allow_concatenation = true allow_dashes = true diff --git a/Gemfile.lock b/Gemfile.lock index c5d0b50971..652c86904d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,43 +1,46 @@ GEM remote: https://rubygems.org/ specs: - CFPropertyList (3.0.6) + CFPropertyList (3.0.7) + base64 + nkf rexml - addressable (2.8.5) - public_suffix (>= 2.0.2, < 6.0) - artifactory (3.0.15) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + artifactory (3.0.17) atomos (0.1.3) - aws-eventstream (1.2.0) - aws-partitions (1.834.0) - aws-sdk-core (3.185.1) - aws-eventstream (~> 1, >= 1.0.2) - aws-partitions (~> 1, >= 1.651.0) - aws-sigv4 (~> 1.5) + aws-eventstream (1.3.1) + aws-partitions (1.1051.0) + aws-sdk-core (3.218.1) + aws-eventstream (~> 1, >= 1.3.0) + aws-partitions (~> 1, >= 1.992.0) + aws-sigv4 (~> 1.9) + base64 jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.72.0) - aws-sdk-core (~> 3, >= 3.184.0) - aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.136.0) - aws-sdk-core (~> 3, >= 3.181.0) + aws-sdk-kms (1.98.0) + aws-sdk-core (~> 3, >= 3.216.0) + aws-sigv4 (~> 1.5) + aws-sdk-s3 (1.181.0) + aws-sdk-core (~> 3, >= 3.216.0) aws-sdk-kms (~> 1) - aws-sigv4 (~> 1.6) - aws-sigv4 (1.6.0) + aws-sigv4 (~> 1.5) + aws-sigv4 (1.11.0) aws-eventstream (~> 1, >= 1.0.2) babosa (1.0.4) + base64 (0.2.0) claide (1.1.0) colored (1.2) colored2 (3.1.2) commander (4.6.0) highline (~> 2.0.0) declarative (0.0.20) - digest-crc (0.6.5) + digest-crc (0.7.0) rake (>= 12.0.0, < 14.0.0) - domain_name (0.5.20190701) - unf (>= 0.0.5, < 1.0.0) + domain_name (0.6.20240107) dotenv (2.8.1) emoji_regex (3.2.3) - excon (0.104.0) - faraday (1.10.3) + excon (0.112.0) + faraday (1.10.4) faraday-em_http (~> 1.0) faraday-em_synchrony (~> 1.0) faraday-excon (~> 1.1) @@ -56,24 +59,24 @@ GEM faraday-em_synchrony (1.0.0) faraday-excon (1.1.0) faraday-httpclient (1.0.1) - faraday-multipart (1.0.4) - multipart-post (~> 2) - faraday-net_http (1.0.1) + faraday-multipart (1.1.0) + multipart-post (~> 2.0) + faraday-net_http (1.0.2) faraday-net_http_persistent (1.2.0) faraday-patron (1.0.0) faraday-rack (1.0.0) faraday-retry (1.0.3) - faraday_middleware (1.2.0) + faraday_middleware (1.2.1) faraday (~> 1.0) - fastimage (2.2.7) - fastlane (2.216.0) + fastimage (2.4.0) + fastlane (2.226.0) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.8, < 3.0.0) artifactory (~> 3.0) aws-sdk-s3 (~> 1.0) babosa (>= 1.0.3, < 2.0.0) bundler (>= 1.12.0, < 3.0.0) - colored + colored (~> 1.2) commander (~> 4.6) dotenv (>= 2.1.1, < 3.0.0) emoji_regex (>= 0.1, < 4.0) @@ -82,9 +85,11 @@ GEM faraday-cookie_jar (~> 0.0.6) faraday_middleware (~> 1.0) fastimage (>= 2.1.0, < 3.0.0) + fastlane-sirp (>= 1.0.0) gh_inspector (>= 1.1.2, < 2.0.0) google-apis-androidpublisher_v3 (~> 0.3) google-apis-playcustomapp_v1 (~> 0.1) + google-cloud-env (>= 1.6.0, < 2.0.0) google-cloud-storage (~> 1.31) highline (~> 2.0) http-cookie (~> 1.0.5) @@ -93,10 +98,10 @@ GEM mini_magick (>= 4.9.4, < 5.0.0) multipart-post (>= 2.0.0, < 3.0.0) naturally (~> 2.2) - optparse (~> 0.1.1) + optparse (>= 0.1.1, < 1.0.0) plist (>= 3.1.0, < 4.0.0) rubyzip (>= 2.0.0, < 3.0.0) - security (= 0.1.3) + security (= 0.1.5) simctl (~> 1.6.3) terminal-notifier (>= 2.0.0, < 3.0.0) terminal-table (~> 3) @@ -104,12 +109,14 @@ GEM tty-spinner (>= 0.8.0, < 1.0.0) word_wrap (~> 1.0.0) xcodeproj (>= 1.13.0, < 2.0.0) - xcpretty (~> 0.3.0) - xcpretty-travis-formatter (>= 0.0.3) + xcpretty (~> 0.4.0) + xcpretty-travis-formatter (>= 0.0.3, < 2.0.0) + fastlane-sirp (1.0.0) + sysrandom (~> 1.0) gh_inspector (1.1.3) - google-apis-androidpublisher_v3 (0.50.0) + google-apis-androidpublisher_v3 (0.54.0) google-apis-core (>= 0.11.0, < 2.a) - google-apis-core (0.11.1) + google-apis-core (0.11.3) addressable (~> 2.5, >= 2.5.1) googleauth (>= 0.16.2, < 2.a) httpclient (>= 2.8.1, < 3.a) @@ -117,24 +124,23 @@ GEM representable (~> 3.0) retriable (>= 2.0, < 4.a) rexml - webrick google-apis-iamcredentials_v1 (0.17.0) google-apis-core (>= 0.11.0, < 2.a) google-apis-playcustomapp_v1 (0.13.0) google-apis-core (>= 0.11.0, < 2.a) - google-apis-storage_v1 (0.19.0) - google-apis-core (>= 0.9.0, < 2.a) - google-cloud-core (1.6.0) - google-cloud-env (~> 1.0) + google-apis-storage_v1 (0.31.0) + google-apis-core (>= 0.11.0, < 2.a) + google-cloud-core (1.7.1) + google-cloud-env (>= 1.0, < 3.a) google-cloud-errors (~> 1.0) google-cloud-env (1.6.0) faraday (>= 0.17.3, < 3.0) - google-cloud-errors (1.3.1) - google-cloud-storage (1.44.0) + google-cloud-errors (1.4.0) + google-cloud-storage (1.47.0) addressable (~> 2.8) digest-crc (~> 0.4) google-apis-iamcredentials_v1 (~> 0.1) - google-apis-storage_v1 (~> 0.19.0) + google-apis-storage_v1 (~> 0.31.0) google-cloud-core (~> 1.6) googleauth (>= 0.16.2, < 2.a) mini_mime (~> 1.0) @@ -145,34 +151,36 @@ GEM os (>= 0.9, < 2.0) signet (>= 0.16, < 2.a) highline (2.0.3) - http-cookie (1.0.5) + http-cookie (1.0.8) domain_name (~> 0.5) httpclient (2.8.3) jmespath (1.6.2) - json (2.6.3) - jwt (2.7.1) - mini_magick (4.12.0) + json (2.10.1) + jwt (2.10.1) + base64 + mini_magick (4.13.2) mini_mime (1.1.5) multi_json (1.15.0) - multipart-post (2.3.0) - nanaimo (0.3.0) + multipart-post (2.4.1) + nanaimo (0.4.0) naturally (2.2.1) - optparse (0.1.1) + nkf (0.2.0) + optparse (0.6.0) os (1.1.4) - plist (3.7.0) - public_suffix (5.0.3) - rake (13.0.6) + plist (3.7.2) + public_suffix (6.0.1) + rake (13.2.1) representable (3.2.0) declarative (< 0.1.0) trailblazer-option (>= 0.1.1, < 0.2.0) uber (< 0.2.0) retriable (3.1.2) - rexml (3.2.6) - rouge (2.0.7) + rexml (3.4.1) + rouge (3.28.0) ruby2_keywords (0.0.5) - rubyzip (2.3.2) - security (0.1.3) - signet (0.18.0) + rubyzip (2.4.1) + security (0.1.5) + signet (0.19.0) addressable (~> 2.8) faraday (>= 0.17.5, < 3.a) jwt (>= 1.5, < 3.0) @@ -180,35 +188,33 @@ GEM simctl (1.6.10) CFPropertyList naturally + sysrandom (1.0.5) terminal-notifier (2.0.0) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) trailblazer-option (0.1.2) tty-cursor (0.7.1) - tty-screen (0.8.1) + tty-screen (0.8.2) tty-spinner (0.9.3) tty-cursor (~> 0.7) uber (0.1.0) - unf (0.1.4) - unf_ext - unf_ext (0.0.8.2) - unicode-display_width (2.5.0) - webrick (1.8.1) + unicode-display_width (2.6.0) word_wrap (1.0.0) - xcodeproj (1.23.0) + xcodeproj (1.27.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) colored2 (~> 3.1) - nanaimo (~> 0.3.0) - rexml (~> 3.2.4) - xcpretty (0.3.0) - rouge (~> 2.0.7) + nanaimo (~> 0.4.0) + rexml (>= 3.3.6, < 4.0) + xcpretty (0.4.0) + rouge (~> 3.28.0) xcpretty-travis-formatter (1.0.1) xcpretty (~> 0.2, >= 0.0.7) PLATFORMS arm64-darwin-22 + arm64-darwin-23 x86_64-darwin-20 DEPENDENCIES diff --git a/docker/opencv.Dockerfile b/docker/opencv.Dockerfile new file mode 100644 index 0000000000..ab6feba05e --- /dev/null +++ b/docker/opencv.Dockerfile @@ -0,0 +1,44 @@ +FROM ghcr.io/catthehacker/ubuntu:rust-22.04 + +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get update && apt-get install -y \ + libjpeg-dev \ + libtiff-dev \ + libpng-dev \ + libavcodec-dev \ + libavformat-dev \ + libswscale-dev \ + libv4l-dev \ + libxvidcore-dev \ + libx264-dev \ + libgtk-3-dev \ + libatlas-base-dev \ + gfortran \ + python3-dev \ + unzip \ + wget \ + cmake \ + g++ + +WORKDIR /tmp + +RUN wget -O opencv.zip https://github.com/opencv/opencv/archive/4.11.0.zip && \ + wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.11.0.zip && \ + unzip opencv.zip && \ + unzip opencv_contrib.zip && \ + cd opencv-4.11.0 && \ + mkdir build && cd build && \ + cmake -D CMAKE_BUILD_TYPE=RELEASE \ + -D CMAKE_INSTALL_PREFIX=/usr/local \ + -D OPENCV_ENABLE_NONFREE=ON \ + -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.11.0/modules \ + -D BUILD_EXAMPLES=OFF .. && \ + make -j2 && \ + make install && \ + ldconfig && \ + cd /tmp && \ + rm -rf opencv* && \ + apt-get clean + +WORKDIR /build \ No newline at end of file diff --git a/ios/PolkadotVault.xcodeproj/project.pbxproj b/ios/PolkadotVault.xcodeproj/project.pbxproj index f61f3b7992..bafd877cd2 100644 --- a/ios/PolkadotVault.xcodeproj/project.pbxproj +++ b/ios/PolkadotVault.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 0C2F8C4D2D512C34003A9DA0 /* PlainTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C2F8C4C2D512C34003A9DA0 /* PlainTextField.swift */; }; 2D48F35127609CDE004B27BE /* HistoryCard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D48F35027609CDE004B27BE /* HistoryCard.swift */; }; 2D48F3532760A2D8004B27BE /* PrimaryFont.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D48F3522760A2D8004B27BE /* PrimaryFont.swift */; }; 2D48F3D2277A0AB2004B27BE /* HistoryCardExtended.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D48F3D1277A0AB2004B27BE /* HistoryCardExtended.swift */; }; @@ -427,6 +428,7 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 0C2F8C4C2D512C34003A9DA0 /* PlainTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlainTextField.swift; sourceTree = ""; }; 2D48F35027609CDE004B27BE /* HistoryCard.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HistoryCard.swift; sourceTree = ""; }; 2D48F3522760A2D8004B27BE /* PrimaryFont.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrimaryFont.swift; sourceTree = ""; }; 2D48F3D1277A0AB2004B27BE /* HistoryCardExtended.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HistoryCardExtended.swift; sourceTree = ""; }; @@ -2273,6 +2275,7 @@ 6D932CE5292E0CE6008AD883 /* PrimaryTextField.swift */, 6DA08B8729ACFC230027CFCB /* InlineTextField.swift */, 6D850BE1292F85F200BA9017 /* SecuredTextField.swift */, + 0C2F8C4C2D512C34003A9DA0 /* PlainTextField.swift */, ); path = TextFields; sourceTree = ""; @@ -2573,7 +2576,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if [ $ACTION != \"indexbuild\" ]; then\n bash $PROJECT_DIR/scripts/build_libsigner.sh\nfi\n"; + shellScript = "if [ $ACTION != \"indexbuild\" ]; then\n if [ \"$PLATFORM_NAME\" = \"iphoneos\" ]; then\n bash \"$PROJECT_DIR/scripts/build_libsigner.sh\" device\n else\n bash \"$PROJECT_DIR/scripts/build_libsigner.sh\" simulator\n fi\nfi\n"; }; 6DDEF13A28AE744F004CA2FD /* Generate Database */ = { isa = PBXShellScriptBuildPhase; @@ -2640,7 +2643,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if [ $ACTION != \"indexbuild\" ]; then\n sourcery --config \"${SRCROOT}/sourcery.yml\" && bash \"${SRCROOT}/PolkadotVaultTests/Generated/AutoMockable/Scripts/initial_setup.sh\"\nfi\n"; + shellScript = "if [ $ACTION != \"indexbuild\" ]; then\n export PATH=\"/opt/homebrew/bin:/usr/local/bin:$PATH\"\n sourcery --config \"${SRCROOT}/sourcery.yml\" && bash \"${SRCROOT}/PolkadotVaultTests/Generated/AutoMockable/Scripts/initial_setup.sh\"\nfi\n"; }; /* End PBXShellScriptBuildPhase section */ @@ -2656,6 +2659,7 @@ 6DF5E7A42923DD4400F2B5B4 /* Text+Markdown.swift in Sources */, 6D7DE0D42ACB178800BFAACA /* DatabaseVersionMediator.swift in Sources */, 6DDEF13228AE6039004CA2FD /* signer.udl in Sources */, + 0C2F8C4D2D512C34003A9DA0 /* PlainTextField.swift in Sources */, 6DF8316728F9BA4A00CB2BCE /* CapsuleButton.swift in Sources */, 6DCC572728D8C0490014278A /* BackupModal.swift in Sources */, 6DDD73732940471900F04CE7 /* Event+AdditionalValue.swift in Sources */, @@ -3190,7 +3194,6 @@ DEVELOPMENT_TEAM = QXCVVJ6654; ENABLE_BITCODE = NO; ENABLE_PREVIEWS = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; INFOPLIST_FILE = PolkadotVault/Info.plist; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.finance"; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; @@ -3256,7 +3259,6 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = QXCVVJ6654; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; INFOPLIST_FILE = PolkadotVaultTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", diff --git a/ios/PolkadotVault/Cards/TransactionCardSelector.swift b/ios/PolkadotVault/Cards/TransactionCardSelector.swift index ad8e1b3e9b..0125a40c17 100644 --- a/ios/PolkadotVault/Cards/TransactionCardSelector.swift +++ b/ios/PolkadotVault/Cards/TransactionCardSelector.swift @@ -16,7 +16,6 @@ struct TransactionCardSelector: View { TCAuthorPlain(value: value) case let .authorPublicKeyCard(value): // Not present on new designs TCAuthorPublicKey(value: value) - // Foldable Markdown values on tap case let .callCard(value): // This is used to present `Method` and provides details on tap TCCall(value: value) @@ -26,7 +25,6 @@ struct TransactionCardSelector: View { TCFieldName(value: value) case let .fieldNumberCard(value): TCFieldNumber(value: value) - // Sections case let .newSpecsCard(value): // User when adding new network, redesigned TCAddNewNetwork(value: value) @@ -39,13 +37,11 @@ struct TransactionCardSelector: View { case let .txSpecPlainCard(value): // Unknown network information for given transaction, not present on new // designs TCTXSpecPlain(content: value) - // Error handling case let .errorCard(text): TCError(text: text) case let .warningCard(text): TCWarning(text: text) - // Simple values with identicons / icons / markdown case let .networkInfoCard(value): // Not present in new designs TCNetworkInfo(content: value) @@ -53,7 +49,6 @@ struct TransactionCardSelector: View { TCTypesInfo(content: value) case let .textCard(text): // Markdown text field, not present on new designs TCText(text: text) - // Simple values - redesigned case let .authorCard(author): TCNamedValueCard(name: Localizable.TCName.from.string, value: author.base58, valueInSameLine: false) diff --git a/ios/PolkadotVault/Components/TextFields/PlainTextField.swift b/ios/PolkadotVault/Components/TextFields/PlainTextField.swift new file mode 100644 index 0000000000..922528479f --- /dev/null +++ b/ios/PolkadotVault/Components/TextFields/PlainTextField.swift @@ -0,0 +1,45 @@ +// +// PlainTextField.swift +// Polkadot Vault +// +// Created by Ruslan Rezin on 03/02/2025. +// + +import SwiftUI + +struct PlainTextFieldStyle: ViewModifier { + let placeholder: String + let keyboardType: UIKeyboardType + @Binding var text: String + @Binding var isValid: Bool + + func body(content: Content) -> some View { + content + .foregroundColor(isValid ? .textAndIconsPrimary : .accentRed300) + .placeholder(placeholder, when: text.isEmpty) + .font(PrimaryFont.bodyL.font) + .autocapitalization(.none) + .disableAutocorrection(true) + .keyboardType(keyboardType) + .submitLabel(.return) + .frame(height: Heights.textFieldHeight) + } +} + +extension View { + func plainTextFieldStyle( + _ placeholder: String, + keyboardType: UIKeyboardType = .asciiCapable, + text: Binding, + isValid: Binding = Binding.constant(true) + ) -> some View { + modifier( + PlainTextFieldStyle( + placeholder: placeholder, + keyboardType: keyboardType, + text: text, + isValid: isValid + ) + ) + } +} diff --git a/ios/PolkadotVault/Components/TextFields/SecuredTextField.swift b/ios/PolkadotVault/Components/TextFields/SecuredTextField.swift index 8bc9d1aad3..ed9ca99614 100644 --- a/ios/PolkadotVault/Components/TextFields/SecuredTextField.swift +++ b/ios/PolkadotVault/Components/TextFields/SecuredTextField.swift @@ -22,7 +22,7 @@ struct SecurePrimaryTextField: View { var onCommit: (() -> Void) = {} var body: some View { - ZStack(alignment: .trailing) { + HStack(alignment: .center, spacing: Spacing.minimal) { ZStack { SecureField("", text: $text, onCommit: { onCommit() @@ -39,7 +39,7 @@ struct SecurePrimaryTextField: View { .focused($focusedField, equals: .plain) .opacity(isSecured ? 0 : 1) } - .primaryTextFieldStyle(placeholder, text: $text, isValid: $isValid) + .plainTextFieldStyle(placeholder, text: $text, isValid: $isValid) .onChange(of: text) { _ in isValid = true } @@ -50,9 +50,10 @@ struct SecurePrimaryTextField: View { } ) { Image(isSecured ? .showPassword : .hidePassword) - .padding(.trailing, Spacing.medium) .foregroundColor(.textAndIconsTertiary) } } + .padding(.horizontal, Spacing.medium) + .containerBackground(CornerRadius.small, state: isValid ? .standard : .error) } } diff --git a/ios/PolkadotVault/Helpers/URLOpening.swift b/ios/PolkadotVault/Helpers/URLOpening.swift index 0ea6d33bb5..922de1c7fb 100644 --- a/ios/PolkadotVault/Helpers/URLOpening.swift +++ b/ios/PolkadotVault/Helpers/URLOpening.swift @@ -15,7 +15,7 @@ protocol URLOpening: AnyObject { func open( _ url: URL, options: [UIApplication.OpenExternalURLOptionsKey: Any], - completionHandler completion: ((Bool) -> Void)? + completionHandler completion: (@MainActor @Sendable (Bool) -> Void)? ) } diff --git a/ios/PolkadotVault/Screens/KeyDetails/Views/KeyDetailsView+EmptyState.swift b/ios/PolkadotVault/Screens/KeyDetails/Views/KeyDetailsView+EmptyState.swift index d12b2bb699..ec53194028 100644 --- a/ios/PolkadotVault/Screens/KeyDetails/Views/KeyDetailsView+EmptyState.swift +++ b/ios/PolkadotVault/Screens/KeyDetails/Views/KeyDetailsView+EmptyState.swift @@ -9,7 +9,21 @@ import SwiftUI extension KeyDetailsView { @ViewBuilder - func emptyState() -> some View { + func emptyKeysList() -> some View { + VStack(spacing: 0) { + // Main key cell + rootKeyHeader() + // Derived Keys header + listHeader() + Spacer() + // Empty state + emptyState() + Spacer() + } + } + + @ViewBuilder + private func emptyState() -> some View { VStack(spacing: 0) { Localizable.KeyDetails.Label.EmptyState.header.text .font(PrimaryFont.titleM.font) diff --git a/ios/PolkadotVault/Screens/KeyDetails/Views/KeyDetailsView+Header.swift b/ios/PolkadotVault/Screens/KeyDetails/Views/KeyDetailsView+Header.swift index 4c8f9260db..0233b231dc 100644 --- a/ios/PolkadotVault/Screens/KeyDetails/Views/KeyDetailsView+Header.swift +++ b/ios/PolkadotVault/Screens/KeyDetails/Views/KeyDetailsView+Header.swift @@ -53,4 +53,24 @@ extension KeyDetailsView { EmptyView() } } + + @ViewBuilder + func listHeader() -> some View { + HStack { + Localizable.KeyDetails.Label.derived.text + .font(PrimaryFont.bodyM.font) + Spacer().frame(maxWidth: .infinity) + Image(.switches) + .foregroundColor( + viewModel.isFilteringActive ? .accentPink300 : .textAndIconsTertiary + ) + .frame(width: Heights.actionSheetButton) + .onTapGesture { + viewModel.onNetworkSelectionTap() + } + } + .foregroundColor(.textAndIconsTertiary) + .padding(.horizontal, Spacing.large) + .padding(.top, Spacing.medium) + } } diff --git a/ios/PolkadotVault/Screens/KeyDetails/Views/KeyDetailsView+MainList.swift b/ios/PolkadotVault/Screens/KeyDetails/Views/KeyDetailsView+MainList.swift index 6a81cd95fb..dc43c627bb 100644 --- a/ios/PolkadotVault/Screens/KeyDetails/Views/KeyDetailsView+MainList.swift +++ b/ios/PolkadotVault/Screens/KeyDetails/Views/KeyDetailsView+MainList.swift @@ -11,27 +11,14 @@ extension KeyDetailsView { @ViewBuilder func derivedKeysList() -> some View { ScrollView(showsIndicators: false) { - // Main key cell - rootKeyHeader() - // Derived Keys header - HStack { - Localizable.KeyDetails.Label.derived.text - .font(PrimaryFont.bodyM.font) - Spacer().frame(maxWidth: .infinity) - Image(.switches) - .foregroundColor( - viewModel.isFilteringActive ? .accentPink300 : .textAndIconsTertiary - ) - .frame(width: Heights.actionSheetButton) - .onTapGesture { - viewModel.onNetworkSelectionTap() - } + VStack(spacing: 0) { + // Main key cell + rootKeyHeader() + // Derived Keys header + listHeader() + // List + derivedKeys() } - .foregroundColor(.textAndIconsTertiary) - .padding(.horizontal, Spacing.large) - .padding(.top, Spacing.medium) - // List - derivedKeys() } } diff --git a/ios/PolkadotVault/Screens/KeyDetails/Views/KeyDetailsView.swift b/ios/PolkadotVault/Screens/KeyDetails/Views/KeyDetailsView.swift index 1730fdc1ce..a607a5c72e 100644 --- a/ios/PolkadotVault/Screens/KeyDetails/Views/KeyDetailsView.swift +++ b/ios/PolkadotVault/Screens/KeyDetails/Views/KeyDetailsView.swift @@ -30,10 +30,7 @@ struct KeyDetailsView: View { case .list: derivedKeysList() case .emptyState: - rootKeyHeader() - Spacer() - emptyState() - Spacer() + emptyKeysList() } } .navigationBarHidden(true) diff --git a/ios/PolkadotVault/Screens/Scan/Models/MTransaction+ImportDerivedKeys.swift b/ios/PolkadotVault/Screens/Scan/Models/MTransaction+ImportDerivedKeys.swift index bf6e63a220..42d44c7ccb 100644 --- a/ios/PolkadotVault/Screens/Scan/Models/MTransaction+ImportDerivedKeys.swift +++ b/ios/PolkadotVault/Screens/Scan/Models/MTransaction+ImportDerivedKeys.swift @@ -61,7 +61,7 @@ extension MTransaction { var hasImportableKeys: Bool { switch ttype { case .importDerivations: - var hasImportableKeys: Bool = false + var hasImportableKeys = false sortedValueCards().forEach { if case let .derivationsCard(keys) = $0.card { hasImportableKeys = keys diff --git a/ios/scripts/build_libsigner.sh b/ios/scripts/build_libsigner.sh old mode 100644 new mode 100755 index 44ba9ea5bc..c34bedd6f5 --- a/ios/scripts/build_libsigner.sh +++ b/ios/scripts/build_libsigner.sh @@ -2,10 +2,22 @@ set -e source $HOME/.cargo/env -IOS_ARCHS=(aarch64-apple-ios x86_64-apple-ios) LIB_NAME=signer +IOS_VERSION=15.8.1 -printf "Building iOS targets..."; +# Validate the input argument +if [ "$1" == "device" ]; then + ARM_ARCH=aarch64-apple-ios + echo "Building for iOS Device (x86_64-apple-ios and aarch64-apple-ios)" +elif [ "$1" == "simulator" ]; then + ARM_ARCH=aarch64-apple-ios-sim + echo "Building for iOS Simulator (x86_64-apple-ios and aarch64-apple-ios-sim)" +else + echo "Usage: $0 [device|simulator]" + exit 1 +fi + +IOS_ARCHS=(x86_64-apple-ios ${ARM_ARCH}) # XCode tries to be helpful and overwrites the PATH. Reset that. PATH="$(bash -l -c 'echo $PATH')" @@ -15,9 +27,10 @@ cd "$(dirname "${0}")/../../rust/signer" for i in "${IOS_ARCHS[@]}"; do rustup target add "$i"; - env -i PATH="${PATH}" \ + env -i PATH="${PATH}" IPHONEOS_DEPLOYMENT_TARGET="${IOS_VERSION}" \ + RUSTFLAGS="-C link-arg=-mios-version-min=${IOS_VERSION}" "${HOME}"/.cargo/bin/cargo build --locked --target "$i" --release --no-default-features done -lipo -create -output "../../ios/PolkadotVault/lib${LIB_NAME}.a" ../target/x86_64-apple-ios/release/libsigner.a ../target/aarch64-apple-ios/release/libsigner.a -lipo -create -output "lib${LIB_NAME}.a" ../target/x86_64-apple-ios/release/libsigner.a ../target/aarch64-apple-ios/release/libsigner.a +lipo -create -output "../../ios/PolkadotVault/lib${LIB_NAME}.a" ../target/x86_64-apple-ios/release/libsigner.a ../target/${ARM_ARCH}/release/libsigner.a +lipo -create -output "lib${LIB_NAME}.a" ../target/x86_64-apple-ios/release/libsigner.a ../target/${ARM_ARCH}/release/libsigner.a \ No newline at end of file diff --git a/rust/Cargo.lock b/rust/Cargo.lock index 9b81d5cb16..15932ae828 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "Inflector" @@ -14,24 +14,24 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.17.0" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" dependencies = [ "gimli", ] [[package]] -name = "adler" -version = "1.0.2" +name = "adler2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" [[package]] name = "aead" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c192eb8f11fc081b0fe4259ba5af04217d4e0faddd02417310a927911abd7c8" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" dependencies = [ "crypto-common", "generic-array 0.14.7", @@ -39,29 +39,35 @@ dependencies = [ [[package]] name = "ahash" -version = "0.7.6" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" dependencies = [ - "getrandom 0.2.14", + "getrandom 0.2.15", "once_cell", "version_check", ] [[package]] name = "aho-corasick" -version = "1.0.1" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + [[package]] name = "android_log-sys" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27f0fc03f560e1aebde41c2398b691cb98b5ea5996a6184a7a67bbbb77448969" +checksum = "5ecc8056bf6ab9892dcd53216c83d1597487d7dacac16c8df6b877d127df9937" [[package]] name = "android_logger" @@ -77,9 +83,9 @@ dependencies = [ [[package]] name = "android_system_properties" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7ed72e1635e121ca3e79420540282af22da58be50de153d36f81ddc6b83aa9e" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" dependencies = [ "libc", ] @@ -95,69 +101,71 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.7" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd2405b3ac1faab2990b74d728624cd9fd115651fcecc7c2d8daf01376275ba" +checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", + "is_terminal_polyfill", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.1" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" [[package]] name = "anstyle-parse" -version = "0.2.1" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" +checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.0" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.2" +version = "3.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" +checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" dependencies = [ "anstyle", - "windows-sys 0.52.0", + "once_cell", + "windows-sys 0.59.0", ] [[package]] name = "anyhow" -version = "1.0.82" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" +checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" [[package]] name = "array-bytes" -version = "4.1.0" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a913633b0c922e6b745072795f50d90ebea78ba31a57e2ac8c2fc7b50950949" +checksum = "f52f63c5c1316a16a4b35eaac8b76a98248961a533f061684cb2a7cb0eafb6c6" [[package]] name = "arrayref" -version = "0.3.6" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "arrayvec" @@ -167,9 +175,9 @@ checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" [[package]] name = "arrayvec" -version = "0.7.2" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "askama" @@ -190,7 +198,7 @@ checksum = "87bf87e6e8b47264efa9bde63d6225c6276a52e05e91bf37eaa8afd0032d6b71" dependencies = [ "askama_shared", "proc-macro2", - "syn 1.0.102", + "syn 1.0.109", ] [[package]] @@ -212,19 +220,20 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 1.0.102", + "syn 1.0.109", "toml", ] [[package]] name = "assert_cmd" -version = "2.0.14" +version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed72493ac66d5804837f480ab3766c72bdfab91a65e565fc54fa9e42db0073a8" +checksum = "dc1835b7f27878de8525dc71410b5a31cdcc5f230aed5ba5df968e09c201b23d" dependencies = [ "anstyle", "bstr", "doc-comment", + "libc", "predicates", "predicates-core", "predicates-tree", @@ -233,43 +242,43 @@ dependencies = [ [[package]] name = "async-lock" -version = "2.5.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e97a171d191782fba31bb902b14ad94e24a68145032b7eedf871ab0bc0d077b6" +checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" dependencies = [ "event-listener", ] [[package]] name = "async-trait" -version = "0.1.58" +version = "0.1.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e805d94e6b5001b651426cf4cd446b1ab5f319d27bab5c644f61de0a804360c" +checksum = "644dd749086bf3771a2fbc5f256fdb982d53f011c7d5d560304eafeecebce79d" dependencies = [ "proc-macro2", "quote", - "syn 1.0.102", + "syn 2.0.98", ] [[package]] name = "autocfg" -version = "1.1.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "backtrace" -version = "0.3.64" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e121dee8023ce33ab248d9ce1493df03c3b38a659b240096fcbd7048ff9c31f" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" dependencies = [ "addr2line", - "cc", "cfg-if", "libc", - "miniz_oxide 0.4.4", + "miniz_oxide", "object", "rustc-demangle", + "windows-targets 0.52.6", ] [[package]] @@ -277,7 +286,7 @@ name = "banana_recovery" version = "0.2.0" source = "git+https://github.com/paritytech/banana-recovery-rust#a6d8d3214fa1abccca4a64a73a34d610ed02cb10" dependencies = [ - "base64 0.21.5", + "base64 0.21.7", "bitvec", "crypto_secretbox", "hex", @@ -286,7 +295,7 @@ dependencies = [ "scrypt", "serde", "serde_json", - "sha2 0.10.2", + "sha2 0.10.8", "thiserror", "zeroize", ] @@ -299,27 +308,27 @@ checksum = "6107fe1be6682a68940da878d9e9f5e90ca5745b3dec9fd1bb393c8777d4f581" [[package]] name = "base64" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.5" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "base64ct" -version = "1.0.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a32fd6af2b5827bce66c29053ba0e7c42b9dcab01835835058558c10851a46b" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" [[package]] name = "beef" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bed554bd50246729a1ec158d08aa3235d1b69d94ad120ebe187e28894787e736" +checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" dependencies = [ "serde", ] @@ -335,9 +344,9 @@ dependencies = [ [[package]] name = "bit_field" -version = "0.10.1" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcb6dd1c2376d2e096796e234a70e17e94cc2d5d54ff8ce42b28cef1d0d359a4" +checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61" [[package]] name = "bitflags" @@ -347,9 +356,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.1" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" [[package]] name = "bitvec" @@ -395,9 +404,9 @@ dependencies = [ [[package]] name = "block-buffer" -version = "0.10.2" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" dependencies = [ "generic-array 0.14.7", ] @@ -413,20 +422,20 @@ dependencies = [ [[package]] name = "bstr" -version = "1.6.0" +version = "1.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05" +checksum = "531a9155a481e2ee699d4f98f43c0ca4ff8ee1bfd55c31e9e98fb29d2b176fe0" dependencies = [ "memchr", - "regex-automata 0.3.9", + "regex-automata 0.4.9", "serde", ] [[package]] name = "bumpalo" -version = "3.12.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" [[package]] name = "byte-slice-cast" @@ -442,45 +451,45 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.13.1" +version = "1.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" +checksum = "ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3" [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.1.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" +checksum = "f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9" [[package]] name = "camino" -version = "1.0.9" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "869119e97797867fd90f5e22af7d0bd274bd4635ebb9eb68c04f3f513ae6c412" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" dependencies = [ "serde", ] [[package]] name = "cargo-platform" -version = "0.1.2" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" dependencies = [ "serde", ] [[package]] name = "cargo_metadata" -version = "0.15.2" +version = "0.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "982a0cf6a99c350d7246035613882e376d58cebe571785abc5da4f648d53ac0a" +checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a" dependencies = [ "camino", "cargo-platform", @@ -492,11 +501,13 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.73" +version = "1.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" +checksum = "0c3d1b2e905a3a7b00a6141adb0e4c0bb941d11caf55349d863942a1cc44e3c9" dependencies = [ "jobserver", + "libc", + "shlex", ] [[package]] @@ -507,23 +518,21 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.21" +version = "0.4.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f725f340c3854e3cb3ab736dc21f0cca183303acea3b3ffec30f141503ac8eb" +checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" dependencies = [ + "android-tzdata", "iana-time-zone", - "js-sys", - "num-integer", "num-traits", - "wasm-bindgen", - "winapi", + "windows-targets 0.52.6", ] [[package]] name = "cipher" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1873270f8f7942c191139cb8a40fd228da6c3fd2fc376d7e92d47aa14aeb59e" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" dependencies = [ "crypto-common", "inout", @@ -542,9 +551,9 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.3.1" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cc00842eed744b858222c4c9faf7243aafc6d33f92f96935263ef4d8a41ce21" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" dependencies = [ "glob", "libc", @@ -552,9 +561,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.2" +version = "4.5.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b230ab84b0ffdf890d5a10abdbc8b83ae1c4918275daea1ab8801f71536b2651" +checksum = "92b7b18d71fad5313a1e320fa9897994228ce274b60faa4d694fe0ea89cd9e6d" dependencies = [ "clap_builder", "clap_derive", @@ -562,33 +571,33 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.2" +version = "4.5.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" +checksum = "a35db2071778a7344791a4fb4f95308b5673d219dee3ae348b86642574ecc90c" dependencies = [ "anstream", "anstyle", "clap_lex", - "strsim 0.11.0", + "strsim 0.11.1", ] [[package]] name = "clap_derive" -version = "4.5.0" +version = "4.5.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47" +checksum = "bf4ced95c6f4a675af3da73304b9ac4ed991640c36374e4b46795c49e17cf1ed" dependencies = [ - "heck", + "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.47", + "syn 2.0.98", ] [[package]] name = "clap_lex" -version = "0.7.0" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" +checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" [[package]] name = "color_quant" @@ -598,23 +607,41 @@ checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" [[package]] name = "colorchoice" -version = "1.0.0" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" [[package]] name = "console" -version = "0.15.0" +version = "0.15.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28b32d32ca44b70c3e4acd7db1babf555fa026e385fb95f18028f88848b3c31" +checksum = "ea3c6ecd8059b57859df5c69830340ed3c41d30e3da0c1cbed90a96ac853041b" dependencies = [ "encode_unicode", "libc", "once_cell", - "regex", - "terminal_size", "unicode-width", - "winapi", + "windows-sys 0.59.0", +] + +[[package]] +name = "const_format" +version = "0.2.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "126f97965c8ad46d6d9163268ff28432e8f6a1196a55578867832e3049df63dd" +dependencies = [ + "const_format_proc_macros", +] + +[[package]] +name = "const_format_proc_macros" +version = "0.2.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", ] [[package]] @@ -626,9 +653,9 @@ dependencies = [ [[package]] name = "core-foundation" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" dependencies = [ "core-foundation-sys", "libc", @@ -636,78 +663,58 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.3" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.2" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] [[package]] name = "crc32fast" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.4" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aaa7bd5fb665c6864b5f963dd9097905c54125909c7aa94c9e18507cdbe6c53" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if", - "crossbeam-utils", ] [[package]] name = "crossbeam-deque" -version = "0.8.1" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ - "cfg-if", "crossbeam-epoch", "crossbeam-utils", ] [[package]] name = "crossbeam-epoch" -version = "0.9.8" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1145cf131a2c6ba0615079ab6a638f7e1973ac9c2634fcbeaaad6114246efe8c" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "autocfg", - "cfg-if", "crossbeam-utils", - "lazy_static", - "memoffset", - "scopeguard", ] [[package]] name = "crossbeam-utils" -version = "0.8.8" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38" -dependencies = [ - "cfg-if", - "lazy_static", -] +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crunchy" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" [[package]] name = "crypto-common" @@ -802,7 +809,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.10.0", - "syn 1.0.102", + "syn 1.0.109", ] [[package]] @@ -813,18 +820,20 @@ checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" dependencies = [ "darling_core", "quote", - "syn 1.0.102", + "syn 1.0.109", ] [[package]] name = "dashmap" -version = "5.3.3" +version = "5.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "391b56fbd302e585b7a9494fb70e40949567b1cf9003a8e4a6041a1687c26573" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", - "hashbrown 0.12.3", + "hashbrown 0.14.5", "lock_api", + "once_cell", + "parking_lot_core 0.9.10", ] [[package]] @@ -886,9 +895,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.9" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" dependencies = [ "powerfmt", ] @@ -901,25 +910,34 @@ checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ "proc-macro2", "quote", - "syn 1.0.102", + "syn 1.0.109", ] [[package]] name = "derive_more" -version = "0.99.17" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 1.0.102", + "syn 2.0.98", ] [[package]] name = "diff" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e25ea47919b1560c4e3b7fe0aaab9becf5b84a10325ddf7db0f0ba5e1026499" +checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" [[package]] name = "difflib" @@ -951,11 +969,22 @@ version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer 0.10.2", + "block-buffer 0.10.4", "crypto-common", "subtle", ] +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.98", +] + [[package]] name = "doc-comment" version = "0.3.3" @@ -964,21 +993,21 @@ checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" [[package]] name = "downcast-rs" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" +checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" [[package]] name = "dunce" -version = "1.0.2" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "453440c271cf5577fd2a40e4942540cb7d0d2f85e27c8d07dd0023c925a67541" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "dyn-clonable" -version = "0.9.0" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e9232f0e607a262ceb9bd5141a3dfb3e4db6994b31989bbfd845878cba59fd4" +checksum = "a36efbb9bfd58e1723780aa04b61aba95ace6a05d9ffabfdb0b43672552f0805" dependencies = [ "dyn-clonable-impl", "dyn-clone", @@ -986,20 +1015,20 @@ dependencies = [ [[package]] name = "dyn-clonable-impl" -version = "0.9.0" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "558e40ea573c374cf53507fd240b7ee2f5477df7cfebdb97323ec61c719399c5" +checksum = "7e8671d54058979a37a26f3511fbf8d198ba1aa35ffb202c42587d918d77213a" dependencies = [ "proc-macro2", "quote", - "syn 1.0.102", + "syn 2.0.98", ] [[package]] name = "dyn-clone" -version = "1.0.5" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21e50f3adc76d6a43f5ed73b698a87d0760ca74617f60f7c3b879003536fdd28" +checksum = "feeef44e73baff3a26d371801df019877a9866a8c493d315ab00177843314f35" [[package]] name = "ed25519-zebra" @@ -1017,15 +1046,15 @@ dependencies = [ [[package]] name = "either" -version = "1.9.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "encode_unicode" -version = "0.3.6" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" +checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" [[package]] name = "env_logger" @@ -1042,45 +1071,45 @@ dependencies = [ [[package]] name = "environmental" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b91989ae21441195d7d9b9993a2f9295c7e1a8c96255d8b729accddc124797" +checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" [[package]] name = "equivalent" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.8" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "event-listener" -version = "2.5.2" +version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77f3309417938f28bf8228fcff79a4a37103981e3e186d2ccd19c74b38f4eb71" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "exr" -version = "1.5.1" +version = "1.73.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9a7880199e74c6d3fe45579df2f436c5913a71405494cb89d59234d86b47dc5" +checksum = "f83197f59927b46c04a183a619b7c29df34e63e63c7869320862268c0ef687e0" dependencies = [ "bit_field", - "flume", "half", "lebe", - "miniz_oxide 0.5.4", + "miniz_oxide", + "rayon-core", "smallvec", - "threadpool", + "zune-inflate", ] [[package]] @@ -1091,15 +1120,15 @@ checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" [[package]] name = "fastrand" -version = "2.0.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "fdeflate" -version = "0.3.3" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "209098dd6dfc4445aa6111f0e98653ac323eaa4dfd212c9ca3931bf9955c31bd" +checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" dependencies = [ "simd-adler32", ] @@ -1128,25 +1157,12 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.24" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6" +checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" dependencies = [ "crc32fast", - "miniz_oxide 0.5.4", -] - -[[package]] -name = "flume" -version = "0.10.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843c03199d0c0ca54bc1ea90ac0d507274c28abcc4f691ae8b4eaa375087c76a" -dependencies = [ - "futures-core", - "futures-sink", - "nanorand", - "pin-project", - "spin 0.9.3", + "miniz_oxide", ] [[package]] @@ -1157,9 +1173,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "form_urlencoded" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" dependencies = [ "percent-encoding", ] @@ -1190,9 +1206,12 @@ dependencies = [ [[package]] name = "fs-err" -version = "2.8.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64db3e262960f0662f43a6366788d5f10f7f244b8f7d7d987f560baf5ded5c50" +checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41" +dependencies = [ + "autocfg", +] [[package]] name = "fs2" @@ -1212,9 +1231,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.28" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ "futures-channel", "futures-core", @@ -1227,9 +1246,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.28" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -1237,15 +1256,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.28" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" -version = "0.3.28" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" dependencies = [ "futures-core", "futures-task", @@ -1255,44 +1274,44 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.28" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-macro" -version = "0.3.28" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.47", + "syn 2.0.98", ] [[package]] name = "futures-sink" -version = "0.3.28" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.28" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-timer" -version = "3.0.2" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" +checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" [[package]] name = "futures-util" -version = "0.3.28" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -1326,7 +1345,7 @@ dependencies = [ "defaults", "definitions", "hex", - "jsonrpsee 0.20.3", + "jsonrpsee 0.20.4", "lazy_static", "parity-scale-codec", "qrcode_rtx", @@ -1376,9 +1395,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "js-sys", @@ -1387,6 +1406,18 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "getrandom" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.13.3+wasi-0.2.2", + "windows-targets 0.52.6", +] + [[package]] name = "gif" version = "0.13.1" @@ -1399,21 +1430,21 @@ dependencies = [ [[package]] name = "gimli" -version = "0.26.1" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "glob" -version = "0.3.0" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" +checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" [[package]] name = "goblin" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "572564d6cba7d09775202c8e7eebc4d534d5ae36578ab402fb21e182a0ac9505" +checksum = "0d6b4de4a8eb6c46a8c77e1d3be942cb9a8bf073c22374578e5ba4b08ed0ff68" dependencies = [ "log", "plain", @@ -1441,9 +1472,13 @@ dependencies = [ [[package]] name = "half" -version = "1.8.2" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" +checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" +dependencies = [ + "cfg-if", + "crunchy", +] [[package]] name = "hash-db" @@ -1471,9 +1506,15 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" + +[[package]] +name = "hashbrown" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" [[package]] name = "heck" @@ -1482,28 +1523,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] -name = "hermit-abi" -version = "0.1.19" +name = "heck" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "hermit-abi" -version = "0.2.6" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" -dependencies = [ - "libc", -] +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" [[package]] name = "hermit-abi" -version = "0.3.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" [[package]] name = "hex" @@ -1553,9 +1588,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.6" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f4c6746584866f0feabcc69893c5b51beef3831656a968ed7ae254cdc4fd03" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" dependencies = [ "bytes", "fnv", @@ -1564,9 +1599,9 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ "bytes", "http", @@ -1575,9 +1610,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.6.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9100414882e15fb7feccb4897e5f0ff0ff1ca7d1a86a23208ada4d7a18e6c6c4" +checksum = "f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a" [[package]] name = "httpdate" @@ -1593,9 +1628,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.20" +version = "0.14.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02c929dc5c39e335a03c405292728118860721b10190d98c2a0f0efd5baafbac" +checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" dependencies = [ "bytes", "futures-channel", @@ -1608,7 +1643,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.4.9", + "socket2", "tokio", "tower-service", "tracing", @@ -1617,9 +1652,9 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.24.1" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97" +checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", "http", @@ -1629,197 +1664,322 @@ dependencies = [ "rustls-native-certs", "tokio", "tokio-rustls", - "webpki-roots 0.23.1", + "webpki-roots", ] [[package]] name = "iana-time-zone" -version = "0.1.41" +version = "0.1.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1779539f58004e5dba1c1f093d44325ebeb244bfc04b791acdc0aaeca9c04570" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" dependencies = [ "android_system_properties", - "core-foundation", + "core-foundation-sys", + "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "winapi", + "windows-core 0.52.0", ] [[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - -[[package]] -name = "idna" -version = "0.4.0" +name = "iana-time-zone-haiku" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "cc", ] [[package]] -name = "image" -version = "0.24.9" +name = "icu_collections" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" dependencies = [ - "bytemuck", - "byteorder", - "color_quant", - "exr", - "gif", - "jpeg-decoder", - "num-traits", - "png", - "qoi", - "tiff", + "displaydoc", + "yoke", + "zerofrom", + "zerovec", ] [[package]] -name = "impl-codec" -version = "0.6.0" +name = "icu_locid" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" dependencies = [ - "parity-scale-codec", + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", ] [[package]] -name = "impl-serde" -version = "0.4.0" +name = "icu_locid_transform" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" dependencies = [ - "serde", + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", ] [[package]] -name = "impl-trait-for-tuples" -version = "0.2.2" +name = "icu_locid_transform_data" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.102", -] +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" [[package]] -name = "indexmap" -version = "2.1.0" +name = "icu_normalizer" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" dependencies = [ - "equivalent", - "hashbrown 0.14.3", + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", ] [[package]] -name = "indicatif" -version = "0.17.8" +name = "icu_normalizer_data" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" -dependencies = [ - "console", - "instant", - "number_prefix", - "portable-atomic", - "unicode-width", -] +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" [[package]] -name = "inout" -version = "0.1.3" +name = "icu_properties" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" dependencies = [ - "generic-array 0.14.7", + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", ] [[package]] -name = "instant" -version = "0.1.12" +name = "icu_properties_data" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" dependencies = [ - "cfg-if", + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", ] [[package]] -name = "integer-sqrt" -version = "0.1.5" +name = "icu_provider_macros" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.98", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "image" +version = "0.24.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d" dependencies = [ + "bytemuck", + "byteorder", + "color_quant", + "exr", + "gif", + "jpeg-decoder", "num-traits", + "png", + "qoi", + "tiff", ] [[package]] -name = "io-lifetimes" -version = "1.0.11" +name = "impl-codec" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" dependencies = [ - "hermit-abi 0.3.1", - "libc", - "windows-sys 0.48.0", + "parity-scale-codec", ] [[package]] -name = "is-terminal" -version = "0.4.2" +name = "impl-serde" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189" +checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" dependencies = [ - "hermit-abi 0.2.6", - "io-lifetimes", - "rustix 0.36.16", - "windows-sys 0.42.0", + "serde", ] [[package]] -name = "itertools" -version = "0.10.3" +name = "impl-trait-for-tuples" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3" +checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ - "either", + "proc-macro2", + "quote", + "syn 2.0.98", ] +[[package]] +name = "indexmap" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" +dependencies = [ + "equivalent", + "hashbrown 0.15.2", +] + +[[package]] +name = "indicatif" +version = "0.17.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "183b3088984b400f4cfac3620d5e076c84da5364016b4f49473de574b2586235" +dependencies = [ + "console", + "number_prefix", + "portable-atomic", + "unicode-width", + "web-time", +] + +[[package]] +name = "inout" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +dependencies = [ + "generic-array 0.14.7", +] + +[[package]] +name = "instant" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "integer-sqrt" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" +dependencies = [ + "num-traits", +] + +[[package]] +name = "is-terminal" +version = "0.4.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e19b23d53f35ce9f56aebc7d1bb4e6ac1e9c0db7ac85c8d1760c04379edced37" +dependencies = [ + "hermit-abi 0.4.0", + "libc", + "windows-sys 0.59.0", +] + +[[package]] +name = "is_terminal_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" + [[package]] name = "itoa" -version = "1.0.5" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" +checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "jobserver" -version = "0.1.25" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b" +checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" dependencies = [ "libc", ] [[package]] name = "jpeg-decoder" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e" +checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0" dependencies = [ "rayon", ] [[package]] name = "js-sys" -version = "0.3.59" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "258451ab10b34f8af53416d1fdab72c22e805f0c92a1136d59470ec0b11138b2" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ + "once_cell", "wasm-bindgen", ] @@ -1843,12 +2003,12 @@ dependencies = [ [[package]] name = "jsonrpsee" -version = "0.20.3" +version = "0.20.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "affdc52f7596ccb2d7645231fc6163bb314630c989b64998f3699a28b4d5d4dc" +checksum = "138572befc78a9793240645926f30161f8b4143d2be18d09e44ed9814bd7ee2c" dependencies = [ - "jsonrpsee-core 0.20.3", - "jsonrpsee-types 0.20.3", + "jsonrpsee-core 0.20.4", + "jsonrpsee-types 0.20.4", "jsonrpsee-ws-client", ] @@ -1870,18 +2030,18 @@ dependencies = [ "tokio-rustls", "tokio-util", "tracing", - "webpki-roots 0.25.2", + "webpki-roots", ] [[package]] name = "jsonrpsee-client-transport" -version = "0.20.3" +version = "0.20.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b005c793122d03217da09af68ba9383363caa950b90d3436106df8cabce935" +checksum = "5c671353e4adf926799107bd7f5724a06b6bc0a333db442a0843c58640bdd0c1" dependencies = [ "futures-util", "http", - "jsonrpsee-core 0.20.3", + "jsonrpsee-core 0.20.4", "pin-project", "rustls-native-certs", "soketto", @@ -1918,9 +2078,9 @@ dependencies = [ [[package]] name = "jsonrpsee-core" -version = "0.20.3" +version = "0.20.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da2327ba8df2fdbd5e897e2b5ed25ce7f299d345b9736b6828814c3dbd1fd47b" +checksum = "f24ea59b037b6b9b0e2ebe2c30a3e782b56bd7c76dcc5d6d70ba55d442af56e3" dependencies = [ "anyhow", "async-lock", @@ -1928,7 +2088,7 @@ dependencies = [ "beef", "futures-timer", "futures-util", - "jsonrpsee-types 0.20.3", + "jsonrpsee-types 0.20.4", "rustc-hash", "serde", "serde_json", @@ -1972,9 +2132,9 @@ dependencies = [ [[package]] name = "jsonrpsee-types" -version = "0.20.3" +version = "0.20.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be0be325642e850ed0bdff426674d2e66b2b7117c9be23a7caef68a2902b7d9" +checksum = "3264e339143fe37ed081953842ee67bfafa99e3b91559bdded6e4abd8fc8535e" dependencies = [ "anyhow", "beef", @@ -1986,28 +2146,31 @@ dependencies = [ [[package]] name = "jsonrpsee-ws-client" -version = "0.20.3" +version = "0.20.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bca9cb3933ccae417eb6b08c3448eb1cb46e39834e5b503e395e5e5bd08546c0" +checksum = "6d06eeabbb55f0af8405288390a358ebcceb6e79e1390741e6f152309c4d6076" dependencies = [ "http", - "jsonrpsee-client-transport 0.20.3", - "jsonrpsee-core 0.20.3", - "jsonrpsee-types 0.20.3", + "jsonrpsee-client-transport 0.20.4", + "jsonrpsee-core 0.20.4", + "jsonrpsee-types 0.20.4", "url", ] [[package]] name = "keccak" -version = "0.1.0" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +dependencies = [ + "cpufeatures", +] [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "lebe" @@ -2017,15 +2180,15 @@ checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" [[package]] name = "libc" -version = "0.2.153" +version = "0.2.169" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" [[package]] name = "libm" -version = "0.2.5" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "292a948cd991e376cf75541fe5b97a1081d713c618b4f1b9500f8844e49eb565" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" [[package]] name = "libsecp256k1" @@ -2034,7 +2197,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95b09eff1b35ed3b33b877ced3a691fc7a481919c7e29c53c906226fcf55e2a1" dependencies = [ "arrayref", - "base64 0.13.0", + "base64 0.13.1", "digest 0.9.0", "hmac-drbg", "libsecp256k1-core", @@ -2077,21 +2240,21 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.1.3" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f9f08d8963a6c613f4b1a78f4f4a4dbfadf8e6545b2d72861731e4858b8b47f" +checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" [[package]] -name = "linux-raw-sys" -version = "0.4.12" +name = "litemap" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" +checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" [[package]] name = "lock_api" -version = "0.4.7" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", @@ -2099,9 +2262,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.21" +version = "0.4.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" [[package]] name = "lru" @@ -2123,18 +2286,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" - -[[package]] -name = "memoffset" -version = "0.6.5" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memory-db" @@ -2167,15 +2321,15 @@ dependencies = [ [[package]] name = "mime" -version = "0.3.16" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "mime_guess" -version = "2.0.4" +version = "2.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" dependencies = [ "mime", "unicase", @@ -2189,51 +2343,23 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" -dependencies = [ - "adler", - "autocfg", -] - -[[package]] -name = "miniz_oxide" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" -dependencies = [ - "adler", -] - -[[package]] -name = "miniz_oxide" -version = "0.7.1" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +checksum = "b3b1c9bd4fe1f0f8b387f6eb9eb3b4a1aa26185e5750efb9140301703f62cd1b" dependencies = [ - "adler", + "adler2", "simd-adler32", ] [[package]] name = "mio" -version = "0.8.11" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ "libc", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.48.0", -] - -[[package]] -name = "nanorand" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" -dependencies = [ - "getrandom 0.2.14", + "windows-sys 0.52.0", ] [[package]] @@ -2280,11 +2406,10 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.4" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ - "autocfg", "num-integer", "num-traits", ] @@ -2297,13 +2422,13 @@ checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" [[package]] name = "num-derive" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfb77679af88f8b125209d354a202862602672222e7f2313fdd6dc349bad4712" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.47", + "syn 2.0.98", ] [[package]] @@ -2312,27 +2437,25 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" dependencies = [ - "arrayvec 0.7.2", + "arrayvec 0.7.6", "itoa", ] [[package]] name = "num-integer" -version = "0.1.44" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "autocfg", "num-traits", ] [[package]] name = "num-rational" -version = "0.4.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d41702bd167c2df5520b384281bc111a4b5efcf7fbc4c9c222c815b07e0a6a6a" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" dependencies = [ - "autocfg", "num-bigint", "num-integer", "num-traits", @@ -2340,20 +2463,20 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.16" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", ] [[package]] name = "num_cpus" -version = "1.13.1" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.1.19", + "hermit-abi 0.3.9", "libc", ] @@ -2365,18 +2488,18 @@ checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" [[package]] name = "object" -version = "0.27.1" +version = "0.36.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67ac1d3f9a1d3616fd9a60c8d74296f22406a238b6a72f5cc1e6f314df4ffbf9" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.13.0" +version = "1.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1" +checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" [[package]] name = "opaque-debug" @@ -2386,15 +2509,15 @@ checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" [[package]] name = "opaque-debug" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "opencv" -version = "0.88.7" +version = "0.94.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "461ace7d1fd13b846ef1096dc7cac0f2ac39e8803360953eb869a42e8e1e5baa" +checksum = "f80fd7d018d20b1e49bdd65e72350f1f63cad6bc9c15f850c47c31a6ad8d0d20" dependencies = [ "cc", "dunce", @@ -2407,13 +2530,14 @@ dependencies = [ "semver", "shlex", "vcpkg", + "windows", ] [[package]] name = "opencv-binding-generator" -version = "0.84.0" +version = "0.95.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e842c276fd00b26100de550e2b47f6ded4f06213c62f0575cb7242aecde2efd" +checksum = "7283829fe440be381fea73521f850b287fd44f994acd6453e1e19b3d479ef7fc" dependencies = [ "clang", "clang-sys", @@ -2421,13 +2545,14 @@ dependencies = [ "once_cell", "percent-encoding", "regex", + "shlex", ] [[package]] name = "openssl-probe" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "oslog" @@ -2442,29 +2567,31 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.6.9" +version = "3.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "881331e34fa842a2fb61cc2db9643a8fedc615e47cfcc52597d1af0db9a7e8fe" +checksum = "c9fde3d0718baf5bc92f577d652001da0f8d54cd03a7974e118d04fc888dc23d" dependencies = [ - "arrayvec 0.7.2", + "arrayvec 0.7.6", "bitvec", "byte-slice-cast", "bytes", + "const_format", "impl-trait-for-tuples", "parity-scale-codec-derive", + "rustversion", "serde", ] [[package]] name = "parity-scale-codec-derive" -version = "3.6.9" +version = "3.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be30eaf4b0a9fba5336683b38de57bb86d179a35862ba6bfcf57625d006bde5b" +checksum = "581c837bb6b9541ce7faa9377c20616e4fb7650f6b0f68bc93c827ee504fb7b3" dependencies = [ - "proc-macro-crate 2.0.0", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 1.0.102", + "syn 2.0.98", ] [[package]] @@ -2477,7 +2604,7 @@ dependencies = [ "hashbrown 0.12.3", "impl-trait-for-tuples", "parity-util-mem-derive", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "primitive-types", "winapi", ] @@ -2489,8 +2616,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2" dependencies = [ "proc-macro2", - "syn 1.0.102", - "synstructure", + "syn 1.0.109", + "synstructure 0.12.6", ] [[package]] @@ -2507,44 +2634,44 @@ checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" dependencies = [ "instant", "lock_api", - "parking_lot_core 0.8.5", + "parking_lot_core 0.8.6", ] [[package]] name = "parking_lot" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", - "parking_lot_core 0.9.2", + "parking_lot_core 0.9.10", ] [[package]] name = "parking_lot_core" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216" +checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" dependencies = [ "cfg-if", "instant", "libc", - "redox_syscall", + "redox_syscall 0.2.16", "smallvec", "winapi", ] [[package]] name = "parking_lot_core" -version = "0.9.2" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "995f667a6c822200b0433ac218e05582f0e2efa1b922a3fd2fbaadc5f87bab37" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall", + "redox_syscall 0.5.8", "smallvec", - "windows-sys 0.34.0", + "windows-targets 0.52.6", ] [[package]] @@ -2583,9 +2710,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.7" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c520e05135d6e763148b6426a837e239041653ba7becd2e538c076c738025fc" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "pbkdf2" @@ -2626,35 +2753,35 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pin-project" -version = "1.0.10" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58ad3879ad3baf4e44784bc6a718a8698867bb991f8ce24d1bcbe2cfb4c3a75e" +checksum = "dfe2e71e1471fe07709406bf725f710b02927c9c54b2b5b2ec0e8087d97c327d" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.0.10" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "744b6f092ba29c3650faf274db506afd39944f48420f6c86b17cfe0ee1cb36bb" +checksum = "f6e859e6e5bd50440ab63c47e3ebabc90f26251f7c73c3d3e837b74a1cc3fa67" dependencies = [ "proc-macro2", "quote", - "syn 1.0.102", + "syn 2.0.98", ] [[package]] name = "pin-project-lite" -version = "0.2.12" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] name = "pin-utils" @@ -2664,9 +2791,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.25" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" +checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" [[package]] name = "plain" @@ -2676,15 +2803,15 @@ checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" [[package]] name = "png" -version = "0.17.13" +version = "0.17.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1" +checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526" dependencies = [ "bitflags 1.3.2", "crc32fast", "fdeflate", "flate2", - "miniz_oxide 0.7.1", + "miniz_oxide", ] [[package]] @@ -2694,15 +2821,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" dependencies = [ "cpufeatures", - "opaque-debug 0.3.0", + "opaque-debug 0.3.1", "universal-hash", ] [[package]] name = "portable-atomic" -version = "1.3.2" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc59d1bcc64fc5d021d67521f818db868368028108d37f0e98d74e33f68297b5" +checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6" [[package]] name = "powerfmt" @@ -2712,33 +2839,35 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.16" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] [[package]] name = "predicates" -version = "3.0.3" +version = "3.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09963355b9f467184c04017ced4a2ba2d75cbcb4e7462690d388233253d4b1a9" +checksum = "a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573" dependencies = [ "anstyle", "difflib", - "itertools", "predicates-core", ] [[package]] name = "predicates-core" -version = "1.0.6" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" +checksum = "727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa" [[package]] name = "predicates-tree" -version = "1.0.5" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d86de6de25020a36c6d3643a86d9a6a9f552107c0559c60ea03551b5e16c032" +checksum = "72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c" dependencies = [ "predicates-core", "termtree", @@ -2746,9 +2875,9 @@ dependencies = [ [[package]] name = "pretty_assertions" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66" +checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d" dependencies = [ "diff", "yansi", @@ -2756,9 +2885,9 @@ dependencies = [ [[package]] name = "primitive-types" -version = "0.12.1" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66" +checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" dependencies = [ "fixed-hash", "impl-codec", @@ -2773,21 +2902,21 @@ version = "0.1.0" [[package]] name = "proc-macro-crate" -version = "1.1.3" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" dependencies = [ - "thiserror", - "toml", + "once_cell", + "toml_edit 0.19.15", ] [[package]] name = "proc-macro-crate" -version = "2.0.0" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" +checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" dependencies = [ - "toml_edit", + "toml_edit 0.22.24", ] [[package]] @@ -2799,7 +2928,7 @@ dependencies = [ "proc-macro-error-attr", "proc-macro2", "quote", - "syn 1.0.102", + "syn 1.0.109", "version_check", ] @@ -2816,9 +2945,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.75" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "907a61bd0f64c2f29cd1cf1dc34d05176426a3f504a78010f08416ddb7b13708" +checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" dependencies = [ "unicode-ident", ] @@ -2905,9 +3034,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.35" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" dependencies = [ "proc-macro2", ] @@ -2978,7 +3107,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.14", + "getrandom 0.2.15", ] [[package]] @@ -3007,68 +3136,72 @@ checksum = "7cc8cd0bcb2d520fff368264b5a6295e064c60955349517d09b14473afae4856" [[package]] name = "rayon" -version = "1.5.1" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" dependencies = [ - "autocfg", - "crossbeam-deque", "either", "rayon-core", ] [[package]] name = "rayon-core" -version = "1.9.1" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" dependencies = [ - "crossbeam-channel", "crossbeam-deque", "crossbeam-utils", - "lazy_static", - "num_cpus", ] [[package]] name = "redox_syscall" -version = "0.2.13" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "redox_syscall" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" +dependencies = [ + "bitflags 2.8.0", +] + [[package]] name = "ref-cast" -version = "1.0.6" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "300f2a835d808734ee295d45007adacb9ebb29dd3ae2424acfa17930cae541da" +checksum = "ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.6" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c38e3aecd2b21cb3959637b883bb3714bc7e43f0268b9a29d3743ee3e55cdd2" +checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ "proc-macro2", "quote", - "syn 1.0.102", + "syn 2.0.98", ] [[package]] name = "regex" -version = "1.10.3" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.4", - "regex-syntax 0.8.2", + "regex-automata 0.4.9", + "regex-syntax 0.8.5", ] [[package]] @@ -3082,19 +3215,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59b23e92ee4318893fa3fe3e6fb365258efbfe6ac6ab30f090cdcbb7aa37efa9" - -[[package]] -name = "regex-automata" -version = "0.4.4" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b7fa1134405e2ec9353fd416b17f8dacd46c473d7d3fd1cf202706a14eb792a" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.2", + "regex-syntax 0.8.5", ] [[package]] @@ -3105,24 +3232,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" - -[[package]] -name = "ring" -version = "0.16.20" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" -dependencies = [ - "cc", - "libc", - "once_cell", - "spin 0.5.2", - "untrusted 0.7.1", - "web-sys", - "winapi", -] +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "ring" @@ -3131,18 +3243,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9babe80d5c16becf6594aa32ad2be8fe08498e7ae60b77de8df700e67f191d7e" dependencies = [ "cc", - "getrandom 0.2.14", + "getrandom 0.2.15", "libc", - "spin 0.9.3", - "untrusted 0.9.0", + "spin", + "untrusted", "windows-sys 0.48.0", ] [[package]] name = "rustc-demangle" -version = "0.1.21" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" @@ -3158,29 +3270,15 @@ checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" [[package]] name = "rustix" -version = "0.36.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6da3636faa25820d8648e0e31c5d519bbb01f72fdf57131f0f5f7da5fed36eab" -dependencies = [ - "bitflags 1.3.2", - "errno", - "io-lifetimes", - "libc", - "linux-raw-sys 0.1.3", - "windows-sys 0.45.0", -] - -[[package]] -name = "rustix" -version = "0.38.31" +version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.8.0", "errno", "libc", - "linux-raw-sys 0.4.12", - "windows-sys 0.52.0", + "linux-raw-sys", + "windows-sys 0.59.0", ] [[package]] @@ -3190,16 +3288,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" dependencies = [ "log", - "ring 0.17.3", - "rustls-webpki 0.101.7", + "ring", + "rustls-webpki", "sct", ] [[package]] name = "rustls-native-certs" -version = "0.6.1" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca9ebdfa27d3fc180e42879037b5338ab1c040c06affd00d8338598e7800943" +checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" dependencies = [ "openssl-probe", "rustls-pemfile", @@ -3209,44 +3307,34 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "0.2.1" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eebeaeb360c87bfb72e84abdb3447159c0eaececf1bef2aecd65a8be949d1c9" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" dependencies = [ - "base64 0.13.0", + "base64 0.21.7", ] [[package]] name = "rustls-webpki" -version = "0.100.2" +version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e98ff011474fa39949b7e5c0428f9b4937eda7da7848bbb947786b7be0b27dab" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ - "ring 0.16.20", - "untrusted 0.7.1", + "ring", + "untrusted", ] [[package]] -name = "rustls-webpki" -version = "0.101.7" +name = "rustversion" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" -dependencies = [ - "ring 0.17.3", - "untrusted 0.9.0", -] - -[[package]] -name = "rustversion" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8" +checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4" [[package]] name = "ryu" -version = "1.0.9" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f" +checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" [[package]] name = "salsa20" @@ -3260,7 +3348,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" dependencies = [ "log", "sp-core", @@ -3271,7 +3359,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" dependencies = [ "environmental", "parity-scale-codec", @@ -3287,7 +3375,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" dependencies = [ "log", "parity-scale-codec", @@ -3324,9 +3412,9 @@ dependencies = [ [[package]] name = "scale-info" -version = "2.10.0" +version = "2.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7d66a1128282b7ef025a8ead62a4a9fcf017382ec53b8ffbf4d7bf77bd3c60" +checksum = "346a3b32eba2640d17a9cb5927056b08f3de90f65b72fe09402c2ad07d684d0b" dependencies = [ "bitvec", "cfg-if", @@ -3338,14 +3426,14 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.10.0" +version = "2.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abf2c68b89cafb3b8d918dd07b42be0da66ff202cf1155c5739a4e0c1ea0dc19" +checksum = "c6630024bf739e2179b91fb424b28898baf819414262c5d376677dbff1fe7ebf" dependencies = [ - "proc-macro-crate 1.1.3", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 1.0.102", + "syn 2.0.98", ] [[package]] @@ -3367,12 +3455,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.19" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75" +checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" dependencies = [ - "lazy_static", - "winapi", + "windows-sys 0.59.0", ] [[package]] @@ -3395,9 +3482,9 @@ dependencies = [ [[package]] name = "scopeguard" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "scroll" @@ -3410,13 +3497,13 @@ dependencies = [ [[package]] name = "scroll_derive" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdbda6ac5cd1321e724fa9cee216f3a61885889b896f073b8f82322789c5250e" +checksum = "1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae" dependencies = [ "proc-macro2", "quote", - "syn 1.0.102", + "syn 2.0.98", ] [[package]] @@ -3428,24 +3515,24 @@ dependencies = [ "password-hash", "pbkdf2 0.12.2", "salsa20", - "sha2 0.10.2", + "sha2 0.10.8", ] [[package]] name = "sct" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ - "ring 0.16.20", - "untrusted 0.7.1", + "ring", + "untrusted", ] [[package]] name = "secp256k1" -version = "0.24.2" +version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9512ffd81e3a3503ed401f79c33168b9148c75038956039166cd750eaa037c3" +checksum = "6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62" dependencies = [ "secp256k1-sys", ] @@ -3470,11 +3557,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.6.1" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dc14f172faf8a0194a3aded622712b0de276821addc574fa54fc0a1167e10dc" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.8.0", "core-foundation", "core-foundation-sys", "libc", @@ -3483,9 +3570,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.6.1" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" +checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" dependencies = [ "core-foundation-sys", "libc", @@ -3493,40 +3580,41 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.7" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d65bd28f48be7196d222d95b9243287f48d27aca604e08497513019ff0502cc4" +checksum = "f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03" dependencies = [ "serde", ] [[package]] name = "serde" -version = "1.0.194" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b114498256798c94a0689e1a15fec6005dee8ac1f41de56404b67afc2a4b773" +checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.194" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3385e45322e8f9931410f01b3031ec534c3947d0e94c18049af4d9f9907d4e0" +checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.47", + "syn 2.0.98", ] [[package]] name = "serde_json" -version = "1.0.114" +version = "1.0.138" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" +checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] @@ -3541,7 +3629,7 @@ dependencies = [ "cfg-if", "cpufeatures", "digest 0.9.0", - "opaque-debug 0.3.0", + "opaque-debug 0.3.1", ] [[package]] @@ -3566,14 +3654,14 @@ dependencies = [ "cfg-if", "cpufeatures", "digest 0.9.0", - "opaque-debug 0.3.0", + "opaque-debug 0.3.1", ] [[package]] name = "sha2" -version = "0.10.2" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if", "cpufeatures", @@ -3582,9 +3670,9 @@ dependencies = [ [[package]] name = "sha3" -version = "0.10.1" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "881bf8156c87b6301fc5ca6b27f11eeb2761224c7081e69b409d5a1951a70c86" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" dependencies = [ "digest 0.10.7", "keccak", @@ -3592,9 +3680,9 @@ dependencies = [ [[package]] name = "sharded-slab" -version = "0.1.4" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" dependencies = [ "lazy_static", ] @@ -3607,9 +3695,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.0" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" dependencies = [ "libc", ] @@ -3644,21 +3732,24 @@ dependencies = [ [[package]] name = "simd-adler32" -version = "0.3.5" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "238abfbb77c1915110ad968465608b68e869e0772622c9656714e73e5a1a522f" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" [[package]] name = "siphasher" -version = "0.3.10" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" [[package]] name = "slab" -version = "0.4.6" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] [[package]] name = "sled" @@ -3678,28 +3769,18 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" [[package]] name = "socket2" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "socket2" -version = "0.5.5" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" dependencies = [ "libc", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -3708,7 +3789,7 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" dependencies = [ - "base64 0.13.0", + "base64 0.13.1", "bytes", "futures", "httparse", @@ -3720,7 +3801,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" dependencies = [ "parity-scale-codec", "scale-info", @@ -3733,7 +3814,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" dependencies = [ "integer-sqrt", "num-traits", @@ -3748,7 +3829,7 @@ dependencies = [ [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" dependencies = [ "array-bytes", "base58", @@ -3768,7 +3849,7 @@ dependencies = [ "num-traits", "parity-scale-codec", "parity-util-mem", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "primitive-types", "rand 0.7.3", "regex", @@ -3794,12 +3875,12 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" dependencies = [ "blake2", "byteorder", "digest 0.10.7", - "sha2 0.10.2", + "sha2 0.10.8", "sha3", "sp-std 4.0.0", "twox-hash", @@ -3814,7 +3895,7 @@ dependencies = [ "blake2", "byteorder", "digest 0.10.7", - "sha2 0.10.2", + "sha2 0.10.8", "sha3", "sp-std 6.0.0", "twox-hash", @@ -3823,28 +3904,28 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" dependencies = [ "proc-macro2", "quote", "sp-core-hashing 4.0.0", - "syn 1.0.102", + "syn 1.0.109", ] [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" dependencies = [ "proc-macro2", "quote", - "syn 1.0.102", + "syn 1.0.109", ] [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" dependencies = [ "environmental", "parity-scale-codec", @@ -3855,7 +3936,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" dependencies = [ "bytes", "futures", @@ -3863,7 +3944,7 @@ dependencies = [ "libsecp256k1", "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "secp256k1", "sp-core", "sp-externalities", @@ -3881,7 +3962,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" dependencies = [ "lazy_static", "sp-core", @@ -3892,13 +3973,13 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" dependencies = [ "async-trait", "futures", "merlin", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "schnorrkel", "sp-core", "sp-externalities", @@ -3908,7 +3989,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" dependencies = [ "thiserror", "zstd", @@ -3917,7 +3998,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" dependencies = [ "backtrace", "lazy_static", @@ -3927,7 +4008,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" dependencies = [ "either", "hash256-std-hasher", @@ -3950,7 +4031,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -3968,19 +4049,19 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" dependencies = [ "Inflector", - "proc-macro-crate 1.1.3", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 1.0.102", + "syn 1.0.109", ] [[package]] name = "sp-sandbox" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" dependencies = [ "log", "parity-scale-codec", @@ -3994,13 +4075,13 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" dependencies = [ "hash-db", "log", "num-traits", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rand 0.7.3", "smallvec", "sp-core", @@ -4016,7 +4097,7 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" [[package]] name = "sp-std" @@ -4027,7 +4108,7 @@ checksum = "af0ee286f98455272f64ac5bb1384ff21ac029fbb669afbaf48477faff12760e" [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" dependencies = [ "impl-serde", "parity-scale-codec", @@ -4040,7 +4121,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" dependencies = [ "parity-scale-codec", "sp-std 4.0.0", @@ -4052,7 +4133,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" dependencies = [ "ahash", "hash-db", @@ -4062,7 +4143,7 @@ dependencies = [ "memory-db", "nohash-hasher", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "scale-info", "sp-core", "sp-std 4.0.0", @@ -4075,7 +4156,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" dependencies = [ "impl-serde", "parity-scale-codec", @@ -4092,18 +4173,18 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" dependencies = [ "parity-scale-codec", "proc-macro2", "quote", - "syn 1.0.102", + "syn 1.0.109", ] [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" dependencies = [ "impl-trait-for-tuples", "log", @@ -4115,7 +4196,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate#49734dd1d72a00b9d3b87ba397661a63e0e17af3" +source = "git+https://github.com/paritytech/substrate?rev=49734dd1d72a00b9d3b87ba397661a63e0e17af3#49734dd1d72a00b9d3b87ba397661a63e0e17af3" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -4130,24 +4211,15 @@ dependencies = [ [[package]] name = "spin" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" - -[[package]] -name = "spin" -version = "0.9.3" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c530c2b0d0bf8b69304b39fe2001993e267461948b890cd037d8ad4293fa1a0d" -dependencies = [ - "lock_api", -] +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" [[package]] name = "ss58-registry" -version = "1.37.0" +version = "1.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d44528162f980c0e03c71e005d334332c8da0aec9f2b0b4bdc557ed4a9f24776" +checksum = "19409f13998e55816d1c728395af0b52ec066206341d939e22e7766df9b494b8" dependencies = [ "Inflector", "num-format", @@ -4158,6 +4230,12 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + [[package]] name = "static_assertions" version = "1.1.0" @@ -4172,9 +4250,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "strsim" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "strum" @@ -4191,11 +4269,11 @@ version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" dependencies = [ - "heck", + "heck 0.4.1", "proc-macro2", "quote", "rustversion", - "syn 1.0.102", + "syn 1.0.109", ] [[package]] @@ -4228,11 +4306,11 @@ dependencies = [ "derivative", "frame-metadata 15.1.0", "futures", - "getrandom 0.2.14", + "getrandom 0.2.15", "hex", "impl-serde", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "primitive-types", "scale-bits", "scale-decode", @@ -4255,7 +4333,7 @@ checksum = "b8e86cb719003f1cedf2710a6e55ca4c37aba4c989bbd3b81dd1c52af9e4827e" dependencies = [ "darling", "frame-metadata 15.1.0", - "heck", + "heck 0.4.1", "hex", "jsonrpsee 0.16.3", "parity-scale-codec", @@ -4264,7 +4342,7 @@ dependencies = [ "quote", "scale-info", "subxt-metadata", - "syn 1.0.102", + "syn 1.0.109", "tokio", ] @@ -4277,7 +4355,7 @@ dependencies = [ "darling", "proc-macro-error", "subxt-codegen", - "syn 1.0.102", + "syn 1.0.109", ] [[package]] @@ -4294,9 +4372,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.102" +version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fcd952facd492f9be3ef0d0b7032a6e442ee9b361d4acc2b1d0c4aaa5f613a1" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", "quote", @@ -4305,9 +4383,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.47" +version = "2.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1726efe18f42ae774cc644f330953a5e7b3c3003d3edcecf18850fe9d4dd9afb" +checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" dependencies = [ "proc-macro2", "quote", @@ -4322,10 +4400,21 @@ checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ "proc-macro2", "quote", - "syn 1.0.102", + "syn 1.0.109", "unicode-xid", ] +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.98", +] + [[package]] name = "tap" version = "1.0.1" @@ -4334,84 +4423,68 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.10.1" +version = "3.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +checksum = "22e5a0acb1f3f55f65cc4a866c361b2fb2a0ff6366785ae6fbb5f85df07ba230" dependencies = [ "cfg-if", "fastrand", - "rustix 0.38.31", - "windows-sys 0.52.0", + "getrandom 0.3.1", + "once_cell", + "rustix", + "windows-sys 0.59.0", ] [[package]] name = "termcolor" -version = "1.1.3" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" dependencies = [ "winapi-util", ] -[[package]] -name = "terminal_size" -version = "0.1.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df" -dependencies = [ - "libc", - "winapi", -] - [[package]] name = "termtree" -version = "0.2.4" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "507e9898683b6c43a9aa55b64259b721b52ba226e0f3779137e50ad114a4c90b" +checksum = "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683" [[package]] name = "thiserror" -version = "1.0.57" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.57" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.47", + "syn 2.0.98", ] [[package]] name = "thread_local" -version = "1.1.4" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" dependencies = [ + "cfg-if", "once_cell", ] -[[package]] -name = "threadpool" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" -dependencies = [ - "num_cpus", -] - [[package]] name = "tiff" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d172b0f4d3fba17ba89811858b9d3d97f928aece846475bbda076ca46736211" +checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e" dependencies = [ "flate2", "jpeg-decoder", @@ -4420,9 +4493,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.36" +version = "0.3.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" dependencies = [ "deranged", "itoa", @@ -4441,9 +4514,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" dependencies = [ "num-conv", "time-core", @@ -4480,56 +4553,65 @@ dependencies = [ "pbkdf2 0.11.0", "rand 0.8.5", "rustc-hash", - "sha2 0.10.2", + "sha2 0.10.8", "thiserror", "unicode-normalization", "wasm-bindgen", "zeroize", ] +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + [[package]] name = "tinyvec" -version = "1.5.1" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2" +checksum = "022db8904dfa342efe721985167e9fcd16c29b226db4397ed752a761cfce81e8" dependencies = [ "tinyvec_macros", ] [[package]] name = "tinyvec_macros" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.36.0" +version = "1.43.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" +checksum = "3d61fa4ffa3de412bfea335c6ecff681de2b609ba3c77ef3e00e521813a9ed9e" dependencies = [ "backtrace", "bytes", "libc", "mio", - "num_cpus", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.5", + "socket2", "tokio-macros", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "tokio-macros" -version = "2.2.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.47", + "syn 2.0.98", ] [[package]] @@ -4544,9 +4626,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.3" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc463cd8deddc3770d20f9852143d50bf6094e640b485cb2e189a2099085ff45" +checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" dependencies = [ "bytes", "futures-core", @@ -4554,48 +4636,57 @@ dependencies = [ "futures-sink", "pin-project-lite", "tokio", - "tracing", ] [[package]] name = "toml" -version = "0.5.9" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" dependencies = [ "serde", ] [[package]] name = "toml_datetime" -version = "0.6.5" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" + +[[package]] +name = "toml_edit" +version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow 0.5.40", +] [[package]] name = "toml_edit" -version = "0.20.7" +version = "0.22.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" +checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" dependencies = [ "indexmap", "toml_datetime", - "winnow", + "winnow 0.7.2", ] [[package]] name = "tower-service" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.35" +version = "0.1.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a400e31aa60b9d44a52a8ee0343b5b18566b03a8321e0d321f695cf56e940160" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" dependencies = [ - "cfg-if", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -4603,20 +4694,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.20" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e65ce065b4b5c53e73bb28912318cb8c9e9ad3921f1d669eb0e68b4c8143a2b" +checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 1.0.102", + "syn 2.0.98", ] [[package]] name = "tracing-core" -version = "0.1.28" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b7358be39f2f274f322d2aaed611acc57f382e8eb1e5b48cb9ae30933495ce7" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" dependencies = [ "once_cell", "valuable", @@ -4624,12 +4715,12 @@ dependencies = [ [[package]] name = "tracing-log" -version = "0.1.2" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6923477a48e41c1951f1999ef8bb5a3023eb723ceadafe78ffb65dc366761e3" +checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" dependencies = [ - "lazy_static", "log", + "once_cell", "tracing-core", ] @@ -4730,9 +4821,9 @@ dependencies = [ [[package]] name = "try-lock" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "twox-hash" @@ -4748,15 +4839,15 @@ dependencies = [ [[package]] name = "typenum" -version = "1.15.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" [[package]] name = "uint" -version = "0.9.3" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f03af7ccf01dd611cc450a0d10dbc9b745770d096473e2faf0ca6e2d66d1e0" +checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" dependencies = [ "byteorder", "crunchy", @@ -4766,45 +4857,36 @@ dependencies = [ [[package]] name = "unicase" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" -dependencies = [ - "version_check", -] - -[[package]] -name = "unicode-bidi" -version = "0.3.13" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" +checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" [[package]] name = "unicode-ident" -version = "1.0.4" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd" +checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034" [[package]] name = "unicode-normalization" -version = "0.1.22" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" dependencies = [ "tinyvec", ] [[package]] name = "unicode-width" -version = "0.1.9" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973" +checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" [[package]] name = "unicode-xid" -version = "0.2.2" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "uniffi" @@ -4835,7 +4917,7 @@ dependencies = [ "fs-err", "glob", "goblin", - "heck", + "heck 0.4.1", "once_cell", "paste", "serde", @@ -4864,7 +4946,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f55105cc7e1ac83ca1eb29587e3b7f65737f9142dc65d54b63502c2589c9d6a5" dependencies = [ "quote", - "syn 1.0.102", + "syn 1.0.109", ] [[package]] @@ -4880,7 +4962,7 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 1.0.102", + "syn 1.0.109", "toml", "uniffi_build", "uniffi_meta", @@ -4914,20 +4996,14 @@ dependencies = [ [[package]] name = "universal-hash" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d3160b73c9a19f7e2939a2fdad446c57c1bbbbf4d919d3213ff1267a580d8b5" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" dependencies = [ "crypto-common", "subtle", ] -[[package]] -name = "untrusted" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" - [[package]] name = "untrusted" version = "0.9.0" @@ -4936,26 +5012,38 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.4.0" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" dependencies = [ "form_urlencoded", "idna", "percent-encoding", ] +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + [[package]] name = "utf8parse" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "valuable" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "vcpkg" @@ -4965,15 +5053,15 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "wait-timeout" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" dependencies = [ "libc", ] @@ -4999,36 +5087,46 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi" +version = "0.13.3+wasi-0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wasm-bindgen" -version = "0.2.82" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7652e3f6c4706c8d9cd54832c4a4ccb9b5336e2c3bd154d5cccfbf1c1f5f7d" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", + "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.82" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "662cd44805586bd52971b9586b1df85cdbbd9112e4ef4d8f41559c334dc6ac3f" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", - "syn 1.0.102", + "syn 2.0.98", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.82" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b260f13d3012071dfb1512849c033b1925038373aea48ced3012c09df952c602" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -5036,22 +5134,25 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.82" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be8e654bdd9b79216c2929ab90721aa82faf65c48cdf08bdc4e7f51357b80da" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 1.0.102", + "syn 2.0.98", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.82" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6598dd0bd3c7d51095ff6531a5b23e02acdc81804e30d8f07afb77b7215a140a" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "wasm-instrument" @@ -5096,10 +5197,10 @@ dependencies = [ ] [[package]] -name = "web-sys" -version = "0.3.57" +name = "web-time" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b17e741662c70c8bd24ac5c5b18de314a2c26c32bf8346ee1e6f53de919c283" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" dependencies = [ "js-sys", "wasm-bindgen", @@ -5107,18 +5208,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.23.1" +version = "0.25.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b03058f88386e5ff5310d9111d53f48b17d732b401aeb83a8d5190f2ac459338" -dependencies = [ - "rustls-webpki 0.100.2", -] - -[[package]] -name = "webpki-roots" -version = "0.25.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "weedle2" @@ -5153,11 +5245,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.5" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "winapi", + "windows-sys 0.59.0", ] [[package]] @@ -5167,40 +5259,75 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] -name = "windows-sys" -version = "0.34.0" +name = "windows" +version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5acdd78cb4ba54c0045ac14f62d8f94a03d10047904ae2a40afa1e99d8f70825" +checksum = "7f919aee0a93304be7f62e8e5027811bbba96bcb1de84d6618be56e43f8a32a1" dependencies = [ - "windows_aarch64_msvc 0.34.0", - "windows_i686_gnu 0.34.0", - "windows_i686_msvc 0.34.0", - "windows_x86_64_gnu 0.34.0", - "windows_x86_64_msvc 0.34.0", + "windows-core 0.59.0", + "windows-targets 0.53.0", ] [[package]] -name = "windows-sys" -version = "0.42.0" +name = "windows-core" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows_aarch64_gnullvm 0.42.1", - "windows_aarch64_msvc 0.42.1", - "windows_i686_gnu 0.42.1", - "windows_i686_msvc 0.42.1", - "windows_x86_64_gnu 0.42.1", - "windows_x86_64_gnullvm 0.42.1", - "windows_x86_64_msvc 0.42.1", + "windows-targets 0.52.6", ] [[package]] -name = "windows-sys" -version = "0.45.0" +name = "windows-core" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "810ce18ed2112484b0d4e15d022e5f598113e220c53e373fb31e67e21670c1ce" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-result", + "windows-strings", + "windows-targets 0.53.0", +] + +[[package]] +name = "windows-implement" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83577b051e2f49a058c308f17f273b570a6a758386fc291b5f6a934dd84e48c1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.98", +] + +[[package]] +name = "windows-interface" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb26fd936d991781ea39e87c3a27285081e3c0da5ca0fcbc02d368cc6f52ff01" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.98", +] + +[[package]] +name = "windows-result" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +checksum = "d08106ce80268c4067c0571ca55a9b4e9516518eaa1a1fe9b37ca403ae1d1a34" dependencies = [ - "windows-targets 0.42.1", + "windows-targets 0.53.0", +] + +[[package]] +name = "windows-strings" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b888f919960b42ea4e11c2f408fadb55f78a9f236d5eef084103c8ce52893491" +dependencies = [ + "windows-targets 0.53.0", ] [[package]] @@ -5209,7 +5336,7 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets 0.48.0", + "windows-targets 0.48.5", ] [[package]] @@ -5218,233 +5345,256 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.0", + "windows-targets 0.52.6", ] [[package]] -name = "windows-targets" -version = "0.42.1" +name = "windows-sys" +version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" dependencies = [ - "windows_aarch64_gnullvm 0.42.1", - "windows_aarch64_msvc 0.42.1", - "windows_i686_gnu 0.42.1", - "windows_i686_msvc 0.42.1", - "windows_x86_64_gnu 0.42.1", - "windows_x86_64_gnullvm 0.42.1", - "windows_x86_64_msvc 0.42.1", + "windows-targets 0.52.6", ] [[package]] name = "windows-targets" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" dependencies = [ - "windows_aarch64_gnullvm 0.48.0", - "windows_aarch64_msvc 0.48.0", - "windows_i686_gnu 0.48.0", - "windows_i686_msvc 0.48.0", - "windows_x86_64_gnu 0.48.0", - "windows_x86_64_gnullvm 0.48.0", - "windows_x86_64_msvc 0.48.0", + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", ] [[package]] name = "windows-targets" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.0", - "windows_aarch64_msvc 0.52.0", - "windows_i686_gnu 0.52.0", - "windows_i686_msvc 0.52.0", - "windows_x86_64_gnu 0.52.0", - "windows_x86_64_gnullvm 0.52.0", - "windows_x86_64_msvc 0.52.0", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm 0.52.6", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] [[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.1" +name = "windows-targets" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" +checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" +dependencies = [ + "windows_aarch64_gnullvm 0.53.0", + "windows_aarch64_msvc 0.53.0", + "windows_i686_gnu 0.53.0", + "windows_i686_gnullvm 0.53.0", + "windows_i686_msvc 0.53.0", + "windows_x86_64_gnu 0.53.0", + "windows_x86_64_gnullvm 0.53.0", + "windows_x86_64_msvc 0.53.0", +] [[package]] name = "windows_aarch64_gnullvm" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] -name = "windows_aarch64_msvc" -version = "0.34.0" +name = "windows_aarch64_gnullvm" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17cffbe740121affb56fad0fc0e421804adf0ae00891205213b5cecd30db881d" +checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" [[package]] name = "windows_aarch64_msvc" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.48.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_aarch64_msvc" -version = "0.52.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" +checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" [[package]] name = "windows_i686_gnu" -version = "0.34.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2564fde759adb79129d9b4f54be42b32c89970c18ebf93124ca8870a498688ed" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.42.1" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnu" -version = "0.48.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" +checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" [[package]] -name = "windows_i686_gnu" -version = "0.52.0" +name = "windows_i686_gnullvm" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] -name = "windows_i686_msvc" -version = "0.34.0" +name = "windows_i686_gnullvm" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cd9d32ba70453522332c14d38814bceeb747d80b3958676007acadd7e166956" +checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" [[package]] name = "windows_i686_msvc" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.48.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_i686_msvc" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.34.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfce6deae227ee8d356d19effc141a509cc503dfd1f850622ec4b0f84428e1f4" +checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" [[package]] name = "windows_x86_64_gnu" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.48.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnu" -version = "0.52.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" +checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.48.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" +checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" [[package]] name = "windows_x86_64_msvc" -version = "0.34.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d19538ccc21819d01deaf88d6a17eae6596a12e9aafdbb97916fb49896d89de9" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.42.1" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "windows_x86_64_msvc" -version = "0.48.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" +checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" [[package]] -name = "windows_x86_64_msvc" -version = "0.52.0" +name = "winnow" +version = "0.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] [[package]] name = "winnow" -version = "0.5.19" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b" +checksum = "59690dea168f2198d1a3b0cac23b8063efcd11012f10ae4698f284808c8ef603" dependencies = [ "memchr", ] +[[package]] +name = "wit-bindgen-rt" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +dependencies = [ + "bitflags 2.8.0", +] + +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + [[package]] name = "wyz" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b31594f29d27036c383b53b59ed3476874d518f0efb151b27a4c275141390e" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" dependencies = [ "tap", ] [[package]] name = "yansi" -version = "0.5.1" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" +checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" [[package]] name = "yap" @@ -5452,25 +5602,112 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5fc77f52dc9e9b10d55d3f4462c3b7fc393c4f17975d641542833ab2d3bc26ef" +[[package]] +name = "yoke" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.98", + "synstructure 0.13.1", +] + +[[package]] +name = "zerocopy" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +dependencies = [ + "byteorder", + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.98", +] + +[[package]] +name = "zerofrom" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.98", + "synstructure 0.13.1", +] + [[package]] name = "zeroize" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" dependencies = [ "zeroize_derive", ] [[package]] name = "zeroize_derive" -version = "1.3.2" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f8f187641dad4f680d25c4bfc4225b418165984179f26ca76ec4fb6441d3a17" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 1.0.102", - "synstructure", + "syn 2.0.98", +] + +[[package]] +name = "zerovec" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.98", ] [[package]] @@ -5494,10 +5731,19 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.1+zstd.1.5.2" +version = "2.0.13+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fd07cbbc53846d9145dbffdf6dd09a7a0aa52be46741825f5c97bdd4f73f12b" +checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" dependencies = [ "cc", - "libc", + "pkg-config", +] + +[[package]] +name = "zune-inflate" +version = "0.2.54" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02" +dependencies = [ + "simd-adler32", ] diff --git a/rust/constants/src/lib.rs b/rust/constants/src/lib.rs index 8f70170e71..a102404cd2 100644 --- a/rust/constants/src/lib.rs +++ b/rust/constants/src/lib.rs @@ -13,13 +13,13 @@ //! //! - [`SPECSTREE`], with network specs in cold database format //! - [`VERIFIERS`], with network verifiers, i.e. data on who user trusts to -//! sign updates for a given network +//! sign updates for a given network //! - [`METATREE`], with network metadata //! - [`ADDRTREE`], with user addresses public information //! - [`SETTREE`], containing general verifier, types information, and Vault -//! danger status +//! danger status //! - [`TRANSACTION`], used to store temporarily transaction data while the -//! user accepts or declines it +//! user accepts or declines it //! - [`HISTORY`], with history log //! //! Hot database contains following trees: @@ -34,7 +34,7 @@ //! //! - tree names in cold database alone or shared between cold and hot databases //! - key names in [`SPECSTREE`] tree of cold database alone or shared between -//! cold and hot databases +//! cold and hot databases //! - recurring throughout the Vault seed phrase for Alice //! - QR graphic settings, used for both static and animated PNG QR codes //! @@ -43,7 +43,7 @@ //! air-gapped device. It includes: //! //! - keys for [`TRANSACTION`] tree, used for temporary storage for various -//! kinds of transactions while they are shown to user for approval +//! kinds of transactions while they are shown to user for approval //! - display settings for history log and word guesser //! //! Feature `"active"` corresponds to all Vault-related things happening @@ -54,7 +54,7 @@ //! - default color settings for network specs //! - default files and folders name fragments, for use with `generate_message` //! - fountain qr generation parameters (large apng fountain qr codes are -//! generated only on the hot side) +//! generated only on the hot side) //! //! Feature `"test"` includes all `"signer"` and `"active"` contents, and some //! recurring data for integration testing, such as known identicons and known diff --git a/rust/db_handling/Cargo.toml b/rust/db_handling/Cargo.toml index f621abac5d..9b2ee56575 100644 --- a/rust/db_handling/Cargo.toml +++ b/rust/db_handling/Cargo.toml @@ -16,8 +16,8 @@ lazy_static = "1.4.0" parity-scale-codec = {version = "3.6.9", features = ["derive"]} regex = "1.10.3" sled = "0.34.6" -sp-core = {git = "https://github.com/paritytech/substrate", default-features = false, features = ["full_crypto"], optional = true} -sp-runtime = {git = "https://github.com/paritytech/substrate", default-features = false, optional = true} +sp-core = {git = "https://github.com/paritytech/substrate", rev = "49734dd1d72a00b9d3b87ba397661a63e0e17af3", default-features = false, features = ["full_crypto"], optional = true} +sp-runtime = {git = "https://github.com/paritytech/substrate", rev = "49734dd1d72a00b9d3b87ba397661a63e0e17af3", default-features = false, optional = true} thiserror = "1.0.57" time = {version = "0.3.36", features = ["formatting", "macros"]} tiny-bip39 = {version = "1.0.0", default-features = false, optional = true} @@ -30,6 +30,7 @@ tempfile = { version = "3.10" } [features] default = [] active = ["defaults/active", "definitions/active", "tiny-bip39", "sp-core", "sp-runtime", "zeroize"] +test = [] [lib] name = "db_handling" diff --git a/rust/db_handling/src/cold_default.rs b/rust/db_handling/src/cold_default.rs index 7ed364d03f..e09b64565c 100644 --- a/rust/db_handling/src/cold_default.rs +++ b/rust/db_handling/src/cold_default.rs @@ -8,7 +8,7 @@ //! - `HISTORY` with Vault history log //! - `METATREE` with network metadata //! - `SETTREE` with settings: types information, Vault dangerous exposures -//! record and Vault database general verifier +//! record and Vault database general verifier //! - `SPECSTREE` with network specs //! - `TRANSACTION` for temporary storage of the transaction data //! - `VERIFIERS` with network verifiers data @@ -19,10 +19,10 @@ //! Before the database could be used, it must be initiated: //! //! - History log old entries (if any are present) are removed and a new entry -//! `Event::DatabaseInitiated` is added +//! `Event::DatabaseInitiated` is added //! - General verifier is set and this event is recorded in the history log. By -//! default, Vault sets up Parity-associated key as a general verifier. This -//! could be later on changed by the user. +//! default, Vault sets up Parity-associated key as a general verifier. This +//! could be later on changed by the user. //! //! Vault then reads and updates the database as it operates. //! @@ -31,13 +31,13 @@ //! state. The difference would be only in the general verifier setting: //! //! - `Wipe all data` would set the general verifier to default `Some(_)`, -//! with Parity-associated key inside +//! with Parity-associated key inside //! - `Remove general certificate` would set the general verifier to `None`. -//! User would then be able to set up own general verifier, preferably -//! immediately afterwards, by loading to Vault any verified data. -//! Setting up a new general verifier would remove all data associated with the -//! general verifier from the Vault database to avoid confusion as to who -//! verified what information. +//! User would then be able to set up own general verifier, preferably +//! immediately afterwards, by loading to Vault any verified data. +//! Setting up a new general verifier would remove all data associated with the +//! general verifier from the Vault database to avoid confusion as to who +//! verified what information. #[cfg(feature = "active")] use parity_scale_codec::Encode; #[cfg(feature = "active")] diff --git a/rust/db_handling/src/db_transactions.rs b/rust/db_handling/src/db_transactions.rs index 9868a762db..32fdbcb7e2 100644 --- a/rust/db_handling/src/db_transactions.rs +++ b/rust/db_handling/src/db_transactions.rs @@ -498,8 +498,8 @@ impl TrDbColdStub { /// cold database: /// /// - Add a (key, value) pair to the metadata additions queue in - /// `metadata_stub`. Key is [`MetaKey`] in key form, value is metadata in - /// `Vec` format. + /// `metadata_stub`. Key is [`MetaKey`] in key form, value is metadata in + /// `Vec` format. /// - Add corresponding `Event::MetadataAdded(_)` into `history_stub`. pub fn add_metadata(mut self, meta_values: &MetaValues) -> Self { let meta_key = MetaKey::from_parts(&meta_values.name, meta_values.version); @@ -515,7 +515,7 @@ impl TrDbColdStub { /// Prepare removing the metadata from the cold database: /// /// - Add [`MetaKey`] in key form to the metadata removals queue in - /// `metadata_stub`. + /// `metadata_stub`. /// - Add corresponding `Event::MetadataRemoved(_)` into `history_stub`. /// /// Function is used for `Hold` and `GeneralHold` processing when, @@ -532,26 +532,26 @@ impl TrDbColdStub { /// Prepare adding [`OrderedNetworkSpecs`] into the cold database: /// /// - Transform received in `add_specs` payload [`NetworkSpecs`] - /// into [`OrderedNetworkSpecs`] by adding `order` field. Networks are always added - /// in the end of the network list, with order set to the total number of - /// network specs entries currently in Vault. When a network is removed, - /// the order of the remaining networks gets rearranged, see details in - /// function [`remove_network`](crate::helpers::remove_network). + /// into [`OrderedNetworkSpecs`] by adding `order` field. Networks are always added + /// in the end of the network list, with order set to the total number of + /// network specs entries currently in Vault. When a network is removed, + /// the order of the remaining networks gets rearranged, see details in + /// function [`remove_network`](crate::helpers::remove_network). /// - Add a (key, value) pair to the network specs additions queue in - /// `network_specs_stub`. Key is [`NetworkSpecsKey`] in key form, value is - /// SCALE-encoded [`OrderedNetworkSpecs`]. + /// `network_specs_stub`. Key is [`NetworkSpecsKey`] in key form, value is + /// SCALE-encoded [`OrderedNetworkSpecs`]. /// - Add corresponding `Event::NetworkSpecsAdded(_)` into `history_stub`. /// - Add root address for the network if the - /// [`AddressDetails`](definitions::users::AddressDetails) entry with - /// matching [`Encryption`](definitions::crypto::Encryption) already exists, - /// i.e. add (key, value) pair to the address additions queue in - /// `addresses_stub`. Key is - /// [`AddressKey`](definitions::keyring::AddressKey) - /// in key form, value is - /// SCALE-encoded updated - /// [`AddressDetails`](definitions::users::AddressDetails). + /// [`AddressDetails`](definitions::users::AddressDetails) entry with + /// matching [`Encryption`](definitions::crypto::Encryption) already exists, + /// i.e. add (key, value) pair to the address additions queue in + /// `addresses_stub`. Key is + /// [`AddressKey`](definitions::keyring::AddressKey) + /// in key form, value is + /// SCALE-encoded updated + /// [`AddressDetails`](definitions::users::AddressDetails). /// - If address was added, add corresponding `Event::IdentityAdded(_)` - /// into `history_stub`. + /// into `history_stub`. /// /// Note that `add_network_specs` does not deal with network verifiers: /// verifier data is not necessarily updated each time the network @@ -589,7 +589,7 @@ impl TrDbColdStub { /// Prepare removing [`OrderedNetworkSpecs`] from the cold database: /// /// - Add [`NetworkSpecsKey`] in key form to the network specs removal queue - /// in `network_specs_stub`. + /// in `network_specs_stub`. /// - Add corresponding `Event::NetworkSpecsRemoved(_)` into `history_stub`. /// /// Function is used for `Hold` and `GeneralHold` processing when, @@ -627,8 +627,8 @@ impl TrDbColdStub { /// database: /// /// - Add a (key, value) pair to the settings additions queue in - /// `settings_stub`. Key is [`GENERALVERIFIER`] and the value is - /// SCALE-encoded [`Verifier`] that is set to be the new general verifier. + /// `settings_stub`. Key is [`GENERALVERIFIER`] and the value is + /// SCALE-encoded [`Verifier`] that is set to be the new general verifier. /// - Add corresponding `Event::GeneralVerifierSet(_)` into `history_stub`. pub fn new_general_verifier(mut self, general_verifier: &Verifier) -> Self { self.settings_stub = self @@ -644,8 +644,8 @@ impl TrDbColdStub { /// `load_types` update into the cold database: /// /// - Add a (key, value) pair to the settings additions queue in - /// `settings_stub`. Key is [`TYPES`] and the value is [`ContentLoadTypes`] - /// types information in `store` format (SCALE-encoded). + /// `settings_stub`. Key is [`TYPES`] and the value is [`ContentLoadTypes`] + /// types information in `store` format (SCALE-encoded). /// - Add corresponding `Event::TypesAdded(_)` into `history_stub`. pub fn add_types(mut self, types: &ContentLoadTypes, general_verifier: &Verifier) -> Self { self.settings_stub = self @@ -676,9 +676,9 @@ impl TrDbColdStub { /// cold database: /// /// - Add a (key, value) pair to the verifiers additions queue in - /// `verifiers_stub`. Key is [`VerifierKey`] and the value is SCALE-encoded - /// [`ValidCurrentVerifier`] that is set to be the new verifier for the - /// network. + /// `verifiers_stub`. Key is [`VerifierKey`] and the value is SCALE-encoded + /// [`ValidCurrentVerifier`] that is set to be the new verifier for the + /// network. /// - Add corresponding `Event::NetworkVerifierSet(_)` into `history_stub`. pub fn new_network_verifier( mut self, @@ -748,9 +748,9 @@ impl Default for TrDbColdStub { /// - [`SignContent`] with data to sign /// - name of the network in which the transaction is made /// - derivation path of the address used, whether the address has password, -/// corresponding [`MultiSigner`] value +/// corresponding [`MultiSigner`] value /// - relevant history [`Event`] set: warnings that were shown during the -/// parsing +/// parsing #[derive(Debug, Decode, Default, Encode)] pub struct TrDbColdSign { /// Bulk of transactions to sign. @@ -803,17 +803,17 @@ impl TrDbColdSign { /// Possible history log entries are: /// /// - `Event::TransactionSigned(_)` and `Event::MessageSigned(_)` for the - /// cases when the signature was generated and displayed through the user - /// interface + /// cases when the signature was generated and displayed through the user + /// interface /// - `Event::TransactionSignError(_)` and `Event::MessageSignError(_)` for - /// the cases when the user has entered the wrong password and no signature - /// was generated. Vault current policy is to log all wrong password entry - /// attempts. + /// the cases when the user has entered the wrong password and no signature + /// was generated. Vault current policy is to log all wrong password entry + /// attempts. /// /// Required input: /// /// - `wrong_password` flag; for entries with `true` value the signature - /// was not generated, because user has entered the wrong password; + /// was not generated, because user has entered the wrong password; /// - user-added text comment for the transaction /// - index of the transaction in the bulk /// - database name, into which the data is added @@ -939,7 +939,7 @@ impl TrDbColdSignOne { /// - [`SignContent`] with data to sign /// - name of the network in which the transaction is made /// - derivation path of the address used, whether the address has password, - /// corresponding [`MultiSigner`] value + /// corresponding [`MultiSigner`] value /// - relevant history [`Event`] set pub fn generate( content: SignContent, diff --git a/rust/db_handling/src/error.rs b/rust/db_handling/src/error.rs index 52f4f7384f..53234f1b13 100644 --- a/rust/db_handling/src/error.rs +++ b/rust/db_handling/src/error.rs @@ -221,7 +221,7 @@ pub enum Error { /// /// Associated error content is: /// - [`MultiSigner`](https://docs.rs/sp-runtime/6.0.0/sp_runtime/enum.MultiSigner.html) - /// of the already existing address + /// of the already existing address /// - [`AddressDetails`] for already existing address /// - [`NetworkSpecsKey`] of the associated network #[error( diff --git a/rust/db_handling/src/helpers.rs b/rust/db_handling/src/helpers.rs index a9a97f98c9..c5c0a3b31f 100644 --- a/rust/db_handling/src/helpers.rs +++ b/rust/db_handling/src/helpers.rs @@ -266,9 +266,9 @@ pub fn try_get_types(database: &sled::Db) -> Result>> { /// Types data is expected to be found, for example, in: /// /// - hot database, from which the types data could not be removed using -/// standard operations +/// standard operations /// - cold database, when transactions made using `RuntimeMetadata` `V12` or `V13` are -/// being decoded +/// being decoded /// /// Not finding types data results in an error. pub fn get_types(database: &sled::Db) -> Result> { @@ -455,9 +455,9 @@ pub fn transfer_metadata_to_cold(database_hot: &sled::Db, database_cold: &sled:: /// Removing a network means: /// /// - Remove from [`SPECSTREE`] all [`OrderedNetworkSpecs`] that have genesis hash -/// associated with given `NetworkSpecsKey` +/// associated with given `NetworkSpecsKey` /// - Remove from [`METATREE`] all metadata entries corresponding to the network -/// name, as found in `OrderedNetworkSpecs` +/// name, as found in `OrderedNetworkSpecs` /// - Remove from [`ADDRTREE`] all addresses in the networks being removed /// - Modify `Verifier` data if necessary. /// diff --git a/rust/db_handling/src/hot_default.rs b/rust/db_handling/src/hot_default.rs index 6587d4fac8..890be18932 100644 --- a/rust/db_handling/src/hot_default.rs +++ b/rust/db_handling/src/hot_default.rs @@ -6,15 +6,15 @@ //! Hot database contains following trees: //! //! - [`ADDRESS_BOOK`](constants::ADDRESS_BOOK) with information needed to -//! perform RPC calls on networks +//! perform RPC calls on networks //! - [`METATREE`](constants::METATREE) with network metadata fetched through -//! RPC calls, maximum two entries are allowed for each network, empty by -//! default +//! RPC calls, maximum two entries are allowed for each network, empty by +//! default //! - [`META_HISTORY`](constants::META_HISTORY) with block hashes for metadata -//! fetched through RPC calls, empty by default +//! fetched through RPC calls, empty by default //! - [`SETTREE`](constants::SETTREE) with types information //! - [`SPECSTREEPREP`](constants::SPECSTREEPREP) with network specs entries -//! [`NetworkSpecs`](definitions::network_specs::NetworkSpecs) +//! [`NetworkSpecs`](definitions::network_specs::NetworkSpecs) use parity_scale_codec::Encode; use sled::Batch; diff --git a/rust/db_handling/src/identities.rs b/rust/db_handling/src/identities.rs index 4319f30137..7b4c6eb791 100644 --- a/rust/db_handling/src/identities.rs +++ b/rust/db_handling/src/identities.rs @@ -7,9 +7,9 @@ //! Required data to generate address: //! //! - seed phrase (secret words set, must be always zeroized after use and is -//! never stored in Rust database) +//! never stored in Rust database) //! - derivation path (`/soft//hard///password`); password part, i.e. whatever -//! follows `///` is not stored in Rust database and must be zeroized after use +//! follows `///` is not stored in Rust database and must be zeroized after use //! - [`NetworkSpecsKey`](definitions::keyring::NetworkSpecsKey) //! //! The combination of seed phrase and derivation path allows to generate key @@ -767,10 +767,10 @@ pub(crate) struct PrepData { /// The output [`PrepData`] contains: /// /// - `address_prep` set of `(AddressKey, AddressDetails)` values that -/// eventually will be transformed into [`Batch`](sled::Batch) to update the -/// `ADDRTREE` of the cold database +/// eventually will be transformed into [`Batch`](sled::Batch) to update the +/// `ADDRTREE` of the cold database /// - output `Event` set that will be eventually added into `HISTORY` as a part -/// of single `Entry`(definitions::history::Entry) +/// of single `Entry`(definitions::history::Entry) /// /// Function creates only **one** address, and output `PrepData` **updates** /// address preparation set received as input. @@ -1003,10 +1003,10 @@ fn do_create_address( /// The output [`PrepData`] contains: /// /// - `address_prep` set of `(AddressKey, AddressDetails)` values that -/// eventually will be transformed into [`Batch`](sled::Batch) to update the -/// `ADDRTREE` of the cold database +/// eventually will be transformed into [`Batch`](sled::Batch) to update the +/// `ADDRTREE` of the cold database /// - output `Event` set that will be eventually added into `HISTORY` as a part -/// of single `Entry`(definitions::history::Entry) +/// of single `Entry`(definitions::history::Entry) /// /// All output `PrepData` elements are generated within this function. /// It does not input addresses previously processed for the same transaction @@ -1464,7 +1464,7 @@ pub fn try_create_address( /// Function wipes [`ADDRTREE`] and adds: /// /// - seed key, i.e. seed addresses for all 3 default networks (Polkadot, -/// Kusama, Westend) +/// Kusama, Westend) /// - addresses with default derivation path in each default network /// - address with `//Alice` derivation path in Westend network #[cfg(feature = "active")] diff --git a/rust/db_handling/src/lib.rs b/rust/db_handling/src/lib.rs index f16945f5c5..738c3f846e 100644 --- a/rust/db_handling/src/lib.rs +++ b/rust/db_handling/src/lib.rs @@ -6,11 +6,11 @@ //! //! - contains helpers to operate the databases, used throughout Vault system //! - generates cold (used in air-gapped Vault) and hot (used in -//! `generate_message` client) databases with default settings +//! `generate_message` client) databases with default settings //! - deals with taking data out of the database and putting the data in the -//! database +//! database //! - contains Vault interface interactions, allowing exports of data to the -//! interface +//! interface //! - deals with address generation for Vault //! //! # Features @@ -67,7 +67,7 @@ use hot_default::reset_hot_database; /// /// - network specs for default networks (Polkadot, Kusama, Westend) /// - verifier information for default networks, with verifiers set to the -/// general one +/// general one /// - two latest metadata versions for default networks /// - default types information and clean danger status /// diff --git a/rust/db_handling/src/manage_history.rs b/rust/db_handling/src/manage_history.rs index c96f5ceec0..9dddabe43e 100644 --- a/rust/db_handling/src/manage_history.rs +++ b/rust/db_handling/src/manage_history.rs @@ -145,7 +145,7 @@ pub fn history_entry_system(database: &sled::Db, event: Event) -> Result<()> { /// /// - Add history log entry with `Event::DeviceWasOnline`. /// - Update [`DangerRecord`] stored in [`SETTREE`](constants::SETTREE) with -/// `device_was_online = true` flag. +/// `device_was_online = true` flag. /// /// Unacknowledged non-safe [`DangerRecord`] block the use of Vault in the /// frontend. @@ -164,7 +164,7 @@ pub fn device_was_online(database: &sled::Db) -> Result<()> { /// /// - Add history log entry with `Event::ResetDangerRecord`. /// - Reset [`DangerRecord`] stored in [`SETTREE`](constants::SETTREE) to -/// `safe`, i.e. with `device_was_online = false` flag. +/// `safe`, i.e. with `device_was_online = false` flag. /// /// Acknowledged and reset [`DangerRecord`] allow to resume the use of Vault in /// the frontend. Use it wisely. diff --git a/rust/defaults/Cargo.toml b/rust/defaults/Cargo.toml index 94e2289090..679ba839d3 100644 --- a/rust/defaults/Cargo.toml +++ b/rust/defaults/Cargo.toml @@ -9,8 +9,8 @@ edition = "2021" definitions = {path = "../definitions", default-features = false, optional = true} lazy_static = {version = "1.4.0", optional = true} regex = {version = "1.10.3", optional = true} -sp-core = {git = "https://github.com/paritytech/substrate", default-features = false, features = ["full_crypto"]} -sp-runtime = {git = "https://github.com/paritytech/substrate", default-features = false} +sp-core = {git = "https://github.com/paritytech/substrate", rev = "49734dd1d72a00b9d3b87ba397661a63e0e17af3", default-features = false, features = ["full_crypto"]} +sp-runtime = {git = "https://github.com/paritytech/substrate", rev = "49734dd1d72a00b9d3b87ba397661a63e0e17af3", default-features = false} thiserror = "1.0.57" [features] diff --git a/rust/defaults/src/lib.rs b/rust/defaults/src/lib.rs index 7a07c32011..445c7d4d2a 100644 --- a/rust/defaults/src/lib.rs +++ b/rust/defaults/src/lib.rs @@ -12,10 +12,10 @@ //! Default build of the cold database for Vault includes: //! //! - general verifier `Verifier` set to `Some(VerifierValue)` with Parity -//! public key as a verifier value +//! public key as a verifier value //! - network specs `OrderedNetworkSpecs` for default networks //! - verifiers for default networks, set to -//! `CurrentVerifier::Valid(ValidCurrentVerifier::General)` +//! `CurrentVerifier::Valid(ValidCurrentVerifier::General)` //! - two latest metadata versions for each of the default networks //! - default types information //! diff --git a/rust/definitions/Cargo.toml b/rust/definitions/Cargo.toml index 2a7717c791..ac7a34f9c0 100644 --- a/rust/definitions/Cargo.toml +++ b/rust/definitions/Cargo.toml @@ -10,14 +10,14 @@ frame-metadata = {version = "16.0.0", features = ["std", "legacy"]} hex = "0.4.3" libsecp256k1 = "0.7.1" parity-scale-codec = {version = "3.6.9", features = ["derive"]} -sc-executor-common = {git = "https://github.com/paritytech/substrate"} -sc-executor-wasmi = {git = "https://github.com/paritytech/substrate", optional = true} +sc-executor-common = {git = "https://github.com/paritytech/substrate", rev = "49734dd1d72a00b9d3b87ba397661a63e0e17af3"} +sc-executor-wasmi = {git = "https://github.com/paritytech/substrate", rev = "49734dd1d72a00b9d3b87ba397661a63e0e17af3", optional = true} sled = "0.34.6" -sp-core = {git = "https://github.com/paritytech/substrate", default-features = false, features = ["full_crypto"]} -sp-io = {git = "https://github.com/paritytech/substrate", optional = true} -sp-runtime = {git = "https://github.com/paritytech/substrate", default-features = false} -sp-version = {git = "https://github.com/paritytech/substrate"} -sp-wasm-interface = {git = "https://github.com/paritytech/substrate", optional = true} +sp-core = {git = "https://github.com/paritytech/substrate", rev = "49734dd1d72a00b9d3b87ba397661a63e0e17af3", default-features = false, features = ["full_crypto"]} +sp-io = {git = "https://github.com/paritytech/substrate", rev = "49734dd1d72a00b9d3b87ba397661a63e0e17af3", optional = true} +sp-runtime = {git = "https://github.com/paritytech/substrate", rev = "49734dd1d72a00b9d3b87ba397661a63e0e17af3", default-features = false} +sp-version = {git = "https://github.com/paritytech/substrate", rev = "49734dd1d72a00b9d3b87ba397661a63e0e17af3"} +sp-wasm-interface = {git = "https://github.com/paritytech/substrate", rev = "49734dd1d72a00b9d3b87ba397661a63e0e17af3", optional = true} thiserror = "1.0.57" constants = {path = "../constants"} diff --git a/rust/definitions/src/error_signer.rs b/rust/definitions/src/error_signer.rs index 2067a097b1..a9b2d08e78 100644 --- a/rust/definitions/src/error_signer.rs +++ b/rust/definitions/src/error_signer.rs @@ -66,7 +66,7 @@ pub enum ParserError { /// `53xx00` and `53xx02` transcations consist of: /// /// - prelude, `53xx00` or `53xx02`, where `xx` stands for the encryption -/// algorithm associated with address and network used +/// algorithm associated with address and network used /// - public key corresponding to the address that can sign the transaction /// - encoded call data, the body of the transaction /// - extensions, as set in the network metadata @@ -126,7 +126,7 @@ pub enum ParserError { /// `53xx03` transaction consists of: /// /// - prelude `53xx03`, where `xx` stands for the encryption algorithm -/// associated with address and network used +/// associated with address and network used /// - public key corresponding to the address that can sign the transaction /// - SCALE-encoded `String` contents of the message /// - genesis hash of the network in which the transaction was generated diff --git a/rust/definitions/src/keyring.rs b/rust/definitions/src/keyring.rs index 74a65cf9ad..7285231871 100644 --- a/rust/definitions/src/keyring.rs +++ b/rust/definitions/src/keyring.rs @@ -3,32 +3,32 @@ //! Cold database has following trees: //! //! - `SPECSTREE`, for network specs `OrderedNetworkSpecs` entries, with keys -//! [`NetworkSpecsKey`] +//! [`NetworkSpecsKey`] //! - `VERIFIERS`, for network verifier [`CurrentVerifier`](crate::network_specs::CurrentVerifier) -//! entries, with keys [`VerifierKey`] +//! entries, with keys [`VerifierKey`] //! - `METATREE`, for `Vec` metadata entries, with keys [`MetaKey`] and -//! prefix search with [`MetaKeyPrefix`] +//! prefix search with [`MetaKeyPrefix`] //! - `ADDRTREE`, for [`AddressDetails`](crate::users::AddressDetails) entries -//! with public information associated with user addresses, with keys -//! [`AddressKey`] +//! with public information associated with user addresses, with keys +//! [`AddressKey`] //! - `SETTREE`, for types information, Vault danger status, and general -//! verifier +//! verifier //! - `TRANSACTION`, to temporarily store transaction information while waiting -//! for user approval +//! for user approval //! - `HISTORY`, for [`Entry`](crate::history::Entry) log of all events -//! happening in Vault, with keys [`Order`] +//! happening in Vault, with keys [`Order`] //! //! Hot database has following trees: //! //! - `SPECSTREEPREP`, for network specs [`NetworkSpecs`](crate::network_specs::NetworkSpecs) -//! entries, with keys [`NetworkSpecsKey`] +//! entries, with keys [`NetworkSpecsKey`] //! - `METATREE`, for `Vec` metadata entries, with keys [`MetaKey`] and -//! prefix search with [`MetaKeyPrefix`] +//! prefix search with [`MetaKeyPrefix`] //! - `META_HISTORY`, for [`H256`] block hash entries, with keys [`MetaKey`] and -//! prefix search with [`MetaKeyPrefix`] +//! prefix search with [`MetaKeyPrefix`] //! - `SETTREE`, for types information //! - `ADDRESS_BOOK` for `AddressBookEntry` data needed to maintain hot database -//! and send RPC calls to fetch network information, with keys `AddressBookKey` +//! and send RPC calls to fetch network information, with keys `AddressBookKey` //! use parity_scale_codec::{Decode, Encode}; use sled::IVec; @@ -164,7 +164,7 @@ impl VerifierKey { /// - derivation: soft (`/`) and hard (`//`) junctions and password (`///`) /// - encryption algorithm /// - network for address to be used with (network must support the encryption -/// algorithm) +/// algorithm) /// /// The seed phrase and password are **not** stored in rust-managed database. /// For storing seed phrases, Vault device's own key management system is used. @@ -263,13 +263,13 @@ impl AddressKey { /// entry has unique [`MetaKey`]. This is so because: /// /// - Metadata that could be used in Vault must contain `Version` constant in -/// pallet `System`, and only such metadata can be added in the databases. +/// pallet `System`, and only such metadata can be added in the databases. /// /// - Two raw metadata entries corresponding to same network name and network -/// version must be identical. If the metadata changes without bumping the -/// network version, both Vault and hot database client would produce an error. -/// It is not possible to switch the metadata in cold or hot database to the -/// changed one without removing the old entry first. +/// version must be identical. If the metadata changes without bumping the +/// network version, both Vault and hot database client would produce an error. +/// It is not possible to switch the metadata in cold or hot database to the +/// changed one without removing the old entry first. #[derive(Debug, Clone)] pub struct MetaKey(Vec); diff --git a/rust/definitions/src/metadata.rs b/rust/definitions/src/metadata.rs index d676f105e8..5612512d49 100644 --- a/rust/definitions/src/metadata.rs +++ b/rust/definitions/src/metadata.rs @@ -200,7 +200,7 @@ pub fn convert_wasm_into_metadata(filename: &str) -> Result> { /// - must have 'System' pallet /// - must have `Version` constant in `System` pallet, SCALE-decodeable /// - can have `SS58Prefix` constant in `System` pallet, and if it does, the -/// constant must be SCALE-decodeable +/// constant must be SCALE-decodeable /// /// Additionally, for [`RuntimeMetadataV14`](https://docs.rs/frame-metadata/15.0.0/frame_metadata/v14/struct.RuntimeMetadataV14.html) /// the extensions set must be decoding-compatible for any signable transaction. diff --git a/rust/definitions/src/network_specs.rs b/rust/definitions/src/network_specs.rs index 9778b9136d..6268b6503f 100644 --- a/rust/definitions/src/network_specs.rs +++ b/rust/definitions/src/network_specs.rs @@ -148,24 +148,24 @@ //! by accepting updating payloads: //! //! - `ValidCurrentVerifier::General` with general verifier `None` could be -//! upgraded to `ValidCurrentVerifier::General` with general verifier -//! `(Some(VerifierValue))`. Happens when Vault with no value set up for -//! the general verifier receives and accepts a verified update with any -//! network specs or types. +//! upgraded to `ValidCurrentVerifier::General` with general verifier +//! `(Some(VerifierValue))`. Happens when Vault with no value set up for +//! the general verifier receives and accepts a verified update with any +//! network specs or types. //! //! - Network `ValidCurrentVerifier::Custom(Some(VerifierValue))` could be -//! upgraded to `ValidCurrentVerifier::General` with general verifier set to -//! `(Some(VerifierValue))`. -//! Happens when Vault receives and accepts network specs update verified -//! by general verifier for this network. Note: metadata update with -//! verifier upgrade would be rejected. +//! upgraded to `ValidCurrentVerifier::General` with general verifier set to +//! `(Some(VerifierValue))`. +//! Happens when Vault receives and accepts network specs update verified +//! by general verifier for this network. Note: metadata update with +//! verifier upgrade would be rejected. //! //! - Network `ValidCurrentVerifier::Custom(None)` could be upgraded to -//! `ValidCurrentVerifier::General` with general verifier set to -//! `(Some(VerifierValue))`. -//! Happens when Vault receives and accepts network specs update verified -//! by general verifier for this network. Note: metadata update with -//! verifier upgrade would be rejected. +//! `ValidCurrentVerifier::General` with general verifier set to +//! `(Some(VerifierValue))`. +//! Happens when Vault receives and accepts network specs update verified +//! by general verifier for this network. Note: metadata update with +//! verifier upgrade would be rejected. //! //! If [`CurrentVerifier`] upgrade occurs, all pre-upgrade network information //! is wiped (Vault warns about that). diff --git a/rust/deny.toml b/rust/deny.toml index 2ab2b1b0ab..279639ba52 100644 --- a/rust/deny.toml +++ b/rust/deny.toml @@ -1,205 +1,46 @@ -# This template contains all of the possible sections and their default values - -# Note that all fields that take a lint level have these possible values: -# * deny - An error will be produced and the check will fail -# * warn - A warning will be produced, but the check will not fail -# * allow - No warning or error will be produced, though in some cases a note -# will be - -# The values provided in this template are the default values that will be used -# when any section or field is not specified in your own configuration - -# If 1 or more target triples (and optionally, target_features) are specified, -# only the specified targets will be checked when running `cargo deny check`. -# This means, if a particular package is only ever used as a target specific -# dependency, such as, for example, the `nix` crate only being used via the -# `target_family = "unix"` configuration, that only having windows targets in -# this list would mean the nix crate, as well as any of its exclusive -# dependencies not shared by any other crates, would be ignored, as the target -# list here is effectively saying which targets you are building for. -targets = [ - # The triple can be any string, but only the target triples built in to - # rustc (as of 1.40) can be checked against actual config expressions - #{ triple = "x86_64-unknown-linux-musl" }, - # You can also specify which target_features you promise are enabled for a - # particular target. target_features are currently not validated against - # the actual valid features supported by the target architecture. - #{ triple = "wasm32-unknown-unknown", features = ["atomics"] }, -] - -# This section is considered when running `cargo deny check advisories` -# More documentation for the advisories section can be found here: -# https://embarkstudios.github.io/cargo-deny/checks/advisories/cfg.html [advisories] -# The path where the advisory database is cloned/fetched into +version = 2 db-path = "~/.cargo/advisory-db" -# The URL(s) of the advisory databases to use db-urls = ["https://github.com/rustsec/advisory-db"] -# The lint level for security vulnerabilities -vulnerability = "deny" -# The lint level for unmaintained crates -unmaintained = "warn" -# The lint level for crates that have been yanked from their source registry yanked = "warn" -# The lint level for crates with security notices. Note that as of -# 2019-12-17 there are no security notice advisories in -# https://github.com/rustsec/advisory-db -notice = "warn" -# A list of advisory IDs to ignore. Note that ignored advisories will still -# output a note when they are encountered. + ignore = [ - #"RUSTSEC-0000-0000", + "RUSTSEC-2024-0344", + "RUSTSEC-2021-0139", + "RUSTSEC-2024-0370", + "RUSTSEC-2022-0061", + "RUSTSEC-2022-0081", + "RUSTSEC-2024-0384", + "RUSTSEC-2024-0388", + "RUSTSEC-2022-0080", ] -# Threshold for security vulnerabilities, any vulnerability with a CVSS score -# lower than the range specified will be ignored. Note that ignored advisories -# will still output a note when they are encountered. -# * None - CVSS Score 0.0 -# * Low - CVSS Score 0.1 - 3.9 -# * Medium - CVSS Score 4.0 - 6.9 -# * High - CVSS Score 7.0 - 8.9 -# * Critical - CVSS Score 9.0 - 10.0 -#severity-threshold = -# This section is considered when running `cargo deny check licenses` -# More documentation for the licenses section can be found here: -# https://embarkstudios.github.io/cargo-deny/checks/licenses/cfg.html [licenses] -# The lint level for crates which do not have a detectable license -unlicensed = "deny" -# List of explicitly allowed licenses -# See https://spdx.org/licenses/ for list of possible licenses -# [possible values: any SPDX 3.11 short identifier (+ optional exception)]. -allow = [ - #"MIT", - #"Apache-2.0", - #"Apache-2.0 WITH LLVM-exception", -] -# List of explicitly disallowed licenses -# See https://spdx.org/licenses/ for list of possible licenses -# [possible values: any SPDX 3.11 short identifier (+ optional exception)]. -deny = [ - #"Nokia", -] -# Lint level for licenses considered copyleft -copyleft = "warn" -# Blanket approval or denial for OSI-approved or FSF Free/Libre licenses -# * both - The license will be approved if it is both OSI-approved *AND* FSF -# * either - The license will be approved if it is either OSI-approved *OR* FSF -# * osi-only - The license will be approved if is OSI-approved *AND NOT* FSF -# * fsf-only - The license will be approved if is FSF *AND NOT* OSI-approved -# * neither - This predicate is ignored and the default lint level is used -allow-osi-fsf-free = "neither" -# Lint level used when no other predicates are matched -# 1. License isn't in the allow or deny lists -# 2. License isn't copyleft -# 3. License isn't OSI/FSF, or allow-osi-fsf-free = "neither" -default = "deny" -# The confidence threshold for detecting a license from license text. -# The higher the value, the more closely the license text must be to the -# canonical license text of a valid SPDX license file. -# [possible values: any between 0.0 and 1.0]. +version = 2 +allow = [] confidence-threshold = 0.8 -# Allow 1 or more licenses on a per-crate basis, so that particular licenses -# aren't accepted for every possible crate as with the normal allow list -exceptions = [ - # Each entry is the crate and version constraint, and its specific allow - # list - #{ allow = ["Zlib"], name = "adler32", version = "*" }, -] - -# Some crates don't have (easily) machine readable licensing information, -# adding a clarification entry for it allows you to manually specify the -# licensing information -#[[licenses.clarify]] -# The name of the crate the clarification applies to -#name = "ring" -# The optional version constraint for the crate -#version = "*" -# The SPDX expression for the license requirements of the crate -#expression = "MIT AND ISC AND OpenSSL" -# One or more files in the crate's source used as the "source of truth" for -# the license expression. If the contents match, the clarification will be used -# when running the license check, otherwise the clarification will be ignored -# and the crate will be checked normally, which may produce warnings or errors -# depending on the rest of your configuration -#license-files = [ - # Each entry is a crate relative path, and the (opaque) hash of its contents - #{ path = "LICENSE", hash = 0xbd0eed23 } -#] [licenses.private] -# If true, ignores workspace crates that aren't published, or are only -# published to private registries. -# To see how to mark a crate as unpublished (to the official registry), -# visit https://doc.rust-lang.org/cargo/reference/manifest.html#the-publish-field. ignore = false -# One or more private registries that you might publish crates to, if a crate -# is only published to private registries, and ignore is true, the crate will -# not have its license(s) checked registries = [ - #"https://sekretz.com/registry ] -# This section is considered when running `cargo deny check bans`. -# More documentation about the 'bans' section can be found here: -# https://embarkstudios.github.io/cargo-deny/checks/bans/cfg.html [bans] -# Lint level for when multiple versions of the same crate are detected multiple-versions = "warn" -# Lint level for when a crate version requirement is `*` wildcards = "allow" -# The graph highlighting used when creating dotgraphs for crates -# with multiple versions -# * lowest-version - The path to the lowest versioned duplicate is highlighted -# * simplest-path - The path to the version with the fewest edges is highlighted -# * all - Both lowest-version and simplest-path are used highlight = "all" -# List of crates that are allowed. Use with care! -allow = [ - #{ name = "ansi_term", version = "=0.11.0" }, -] -# List of crates to deny -deny = [ - # Each entry the name of a crate and a version range. If version is - # not specified, all versions will be matched. - #{ name = "ansi_term", version = "=0.11.0" }, - # - # Wrapper crates can optionally be specified to allow the crate when it - # is a direct dependency of the otherwise banned crate - #{ name = "ansi_term", version = "=0.11.0", wrappers = [] }, -] -# Certain crates/versions that will be skipped when doing duplicate detection. -skip = [ - #{ name = "ansi_term", version = "=0.11.0" }, -] -# Similarly to `skip` allows you to skip certain crates during duplicate -# detection. Unlike skip, it also includes the entire tree of transitive -# dependencies starting at the specified crate, up to a certain depth, which is -# by default infinite -skip-tree = [ - #{ name = "ansi_term", version = "=0.11.0", depth = 20 }, -] +allow = [] +deny = [] +skip = [] +skip-tree = [] -# This section is considered when running `cargo deny check sources`. -# More documentation about the 'sources' section can be found here: -# https://embarkstudios.github.io/cargo-deny/checks/sources/cfg.html [sources] -# Lint level for what to happen when a crate from a crate registry that is not -# in the allow list is encountered unknown-registry = "warn" -# Lint level for what to happen when a crate from a git repository that is not -# in the allow list is encountered unknown-git = "warn" -# List of URLs for allowed crate registries. Defaults to the crates.io index -# if not specified. If it is specified but empty, no registries are allowed. allow-registry = ["https://github.com/rust-lang/crates.io-index"] -# List of URLs for allowed Git repositories allow-git = [] [sources.allow-org] -# 1 or more github.com organizations to allow git sources for github = [""] -# 1 or more gitlab.com organizations to allow git sources for gitlab = [""] -# 1 or more bitbucket.org organizations to allow git sources for bitbucket = [""] diff --git a/rust/generate_message/Cargo.toml b/rust/generate_message/Cargo.toml index 19b47e36aa..c787bd442a 100644 --- a/rust/generate_message/Cargo.toml +++ b/rust/generate_message/Cargo.toml @@ -19,9 +19,9 @@ qrcode_rtx = {path = "../qrcode_rtx"} regex = "1.10.3" serde_json = "1.0.114" sled = "0.34.6" -sp-core = {git = "https://github.com/paritytech/substrate", default-features = false, features = ["full_crypto"]} -sp-runtime = { git = "https://github.com/paritytech/substrate", default-features = false } -sp-keyring = { git = "https://github.com/paritytech/substrate", default-features = false } +sp-core = {git = "https://github.com/paritytech/substrate", rev = "49734dd1d72a00b9d3b87ba397661a63e0e17af3", default-features = false, features = ["full_crypto"]} +sp-runtime = { git = "https://github.com/paritytech/substrate", rev = "49734dd1d72a00b9d3b87ba397661a63e0e17af3", default-features = false } +sp-keyring = { git = "https://github.com/paritytech/substrate", rev = "49734dd1d72a00b9d3b87ba397661a63e0e17af3", default-features = false } thiserror = "1.0.57" tokio = { version = "1", features = ["full"] } diff --git a/rust/generate_message/src/error.rs b/rust/generate_message/src/error.rs index bb186f6e04..6644ad6698 100644 --- a/rust/generate_message/src/error.rs +++ b/rust/generate_message/src/error.rs @@ -466,13 +466,13 @@ pub enum Changed { /// Network name is stored in multiple places in the hot database: /// /// - in `name` field of network specs - /// [`NetworkSpecs`](crate::network_specs::NetworkSpecs) stored - /// in `SPECSTREEPREP` tree + /// [`NetworkSpecs`](crate::network_specs::NetworkSpecs) stored + /// in `SPECSTREEPREP` tree /// - in `name` field of address book entry - /// [`AddressBookEntry`](crate::metadata::AddressBookEntry) stored in - /// `ADDRESS_BOOK` tree + /// [`AddressBookEntry`](crate::metadata::AddressBookEntry) stored in + /// `ADDRESS_BOOK` tree /// - encoded as a part of [`MetaKey`] and inside the network metadata - /// stored in `METATREE` tree + /// stored in `METATREE` tree /// /// All those entries eventually are produced from network name that is /// part of `Version` constant in `System` pallet of the network metadata. diff --git a/rust/generate_message/src/helpers.rs b/rust/generate_message/src/helpers.rs index 03d411b22b..a6da8bd6c2 100644 --- a/rust/generate_message/src/helpers.rs +++ b/rust/generate_message/src/helpers.rs @@ -762,9 +762,9 @@ pub fn update_known_specs( /// /// - `&str` address to make RPC calls /// - `NetworkSpecs` as they were found in the database, to be modified -/// here +/// here /// - new `Encryption` to apply to `encryption` and `title` (if no title -/// override was entered) fields of the `NetworkSpecs` +/// override was entered) fields of the `NetworkSpecs` /// - optional title override /// - optional token override pub fn update_modify_encryption_specs( diff --git a/rust/generate_message/src/interpret_specs.rs b/rust/generate_message/src/interpret_specs.rs index 357c8ad39a..e106046aa8 100644 --- a/rust/generate_message/src/interpret_specs.rs +++ b/rust/generate_message/src/interpret_specs.rs @@ -8,9 +8,9 @@ //! //! - base58 prefix for the network (to be fit into `u16`) //! - decimals to display balance-related values with correct order of magnitude -//! (to be fit into `u8`) +//! (to be fit into `u8`) //! - unit to display balance-related values with correct units (to be fit into -//! `String`) +//! `String`) //! //! There could be base58 prefix information in network metadata. If base58 //! prefix is fetched via `system_properties` RPC call and the metadata contains diff --git a/rust/generate_message/src/lib.rs b/rust/generate_message/src/lib.rs index cec353a7cf..6e4cba4191 100644 --- a/rust/generate_message/src/lib.rs +++ b/rust/generate_message/src/lib.rs @@ -7,11 +7,11 @@ //! - fetch network data through RPC calls //! - prepare Vault update and derivation import payloads //! - generate Vault update QR codes, either signed or unsigned, and -//! derivations import QR codes, to be scanned into Vault +//! derivations import QR codes, to be scanned into Vault //! - maintain the `hot` database on the network-connected device, to store and -//! manage the data that went into update QR codes +//! manage the data that went into update QR codes //! - maintain Vault default network metadata set in `defaults` crate and -//! prepare the `cold` database for the Vault release +//! prepare the `cold` database for the Vault release //! //! # Supported Vault updates //! @@ -20,11 +20,11 @@ //! //! - `add-specs`, to add a new network (i.e. the network specs) into the Vault //! - `load-metadata`, to load into the Vault the network metadata, for -//! networks that already have corresponding network specs entry in the Vault -//! database +//! networks that already have corresponding network specs entry in the Vault +//! database //! - `load-types`, to load types information (it is used to support the -//! transactions parsing in networks with legacy metadata, `RuntimeMetadata` -//! version below `V14`) +//! transactions parsing in networks with legacy metadata, `RuntimeMetadata` +//! version below `V14`) //! //! Updates are assembled as `Vec` and could be transformed into: //! @@ -110,7 +110,7 @@ //! 1. make update payload //! 2. (optional) make signature for update payload //! 3. make update QR code (optionally signed), that could be scanned into -//! Vault +//! Vault //! //! Steps (1) and (3) are done in `generate_message`, the signature is produced //! in other tools, except the test "signed" updates with Alice as a verifier, @@ -151,13 +151,13 @@ //! [`ADDRESS_BOOK`](constants::ADDRESS_BOOK) tree: //! //! - address book title for the network `-`, -//! used only to distinguish between address book entries +//! used only to distinguish between address book entries //! - URL address at which RPC calls are made for the network //! - network encryption //! - additional marker that the network is a default one, i.e. entry has not -//! changed since the database generation +//! changed since the database generation //! - network title as it will be displayed in Vault, from -//! [`NetworkSpecs`](definitions::network_specs::NetworkSpecs) +//! [`NetworkSpecs`](definitions::network_specs::NetworkSpecs) //! //! ## Show network specs for a network, as recorded in the hot database //! @@ -179,9 +179,9 @@ //! Asserts that: //! //! - the file contains valid metadata, with retrievable network name and -//! version +//! version //! - if the metadata for same network name and version is in the hot -//! database, it completely matches the one from the file +//! database, it completely matches the one from the file //! //! ### Example //! @@ -214,13 +214,13 @@ //! Setting keys that could be used in command line (maximum one): //! //! - `-d`: do **not** update the database, make RPC calls, and produce -//! output files +//! output files //! - `-f`: do **not** run RPC calls, produce output files using data already in -//! the database +//! the database //! - `-p`: update or check database through RPC calls, do **not** produce any -//! output files +//! output files //! - `-t` (no setting key defaults here): update or check database through RPC -//! calls, produce output files +//! calls, produce output files //! //! //! @@ -258,11 +258,11 @@ //! Reference keys (exactly only one has to be used): //! //! - `--all`: all networks with entries in the -//! [`ADDRESS_BOOK`](constants::ADDRESS_BOOK) tree of the hot database +//! [`ADDRESS_BOOK`](constants::ADDRESS_BOOK) tree of the hot database //! - `--name` followed by single network address book title: for a network with -//! existing record in the [`ADDRESS_BOOK`](constants::ADDRESS_BOOK) +//! existing record in the [`ADDRESS_BOOK`](constants::ADDRESS_BOOK) //! - `--url` followed by single URL address: reserved for networks with no -//! record yet in the [`ADDRESS_BOOK`](constants::ADDRESS_BOOK) +//! record yet in the [`ADDRESS_BOOK`](constants::ADDRESS_BOOK) //! //! `--all` key could be used with `--pass-errors` key, to stop processing after first //! error. @@ -423,15 +423,15 @@ //! Setting keys that could be used in command line (maximum one): //! //! - `-d`: do **not** update the database, make RPC calls, and produce -//! output files +//! output files //! - `-f`: do **not** run RPC calls, produce output files from database as -//! it is +//! it is //! - `-k`: update database through RPC calls, produce output files only for -//! **new** database entries +//! **new** database entries //! - `-p`: update database through RPC calls, do **not** produce any output -//! files +//! files //! - `-t` (no setting key defaults here): update database through RPC -//! calls, produce output files +//! calls, produce output files //! //!
//! @@ -479,11 +479,11 @@ //! Reference keys (exactly only one has to be used): //! //! - `-a,--all`: all networks with entries in the -//! [`ADDRESS_BOOK`](constants::ADDRESS_BOOK) tree of the hot database +//! [`ADDRESS_BOOK`](constants::ADDRESS_BOOK) tree of the hot database //! - `-n,--name` followed by single network name: for a network with existing -//! record in the [`ADDRESS_BOOK`](constants::ADDRESS_BOOK) +//! record in the [`ADDRESS_BOOK`](constants::ADDRESS_BOOK) //! - `-u,--url` followed by single URL address: reserved for networks with no -//! record yet in the [`ADDRESS_BOOK`](constants::ADDRESS_BOOK) +//! record yet in the [`ADDRESS_BOOK`](constants::ADDRESS_BOOK) //! //! `-a` key could be used with `--pass-errors` key, to stop processing after first //! error. @@ -643,10 +643,10 @@ //! Command `make` is used to generate: //! //! - signed updates with a valid signature, associated public key and -//! encryption algorithm +//! encryption algorithm //! - test signed updates, i.e. updates signed by a key with -//! [Alice seed phrase](constants::ALICE_SEED_PHRASE) and derivation `//Alice`, -//! with encryption algorithm chosen by user, for tests +//! [Alice seed phrase](constants::ALICE_SEED_PHRASE) and derivation `//Alice`, +//! with encryption algorithm chosen by user, for tests //! - unsigned updates //! //! Signature for `make` command is generated for contents of raw `[u8]` update @@ -715,26 +715,26 @@ //! - `add-specs` //! //! - Key `--verifier` (can be entered only if the `--crypto` argument was -//! `ed25519`, `sr25519`, or `ecdsa`), followed by: +//! `ed25519`, `sr25519`, or `ecdsa`), followed by: //! - `Alice` to generate messages "verified" by -//! [Alice seed phrase](constants::ALICE_SEED_PHRASE) with derivation `//Alice` +//! [Alice seed phrase](constants::ALICE_SEED_PHRASE) with derivation `//Alice` //! - `-hex` followed by hex public key //! - `-file` followed by the path in dedicated [`FOLDER`](constants::FOLDER) -//! for file with public key as raw bytes +//! for file with public key as raw bytes //! //! - Key `--payload` followed by file path in dedicated -//! [`FOLDER`](constants::FOLDER) containing already generated payload as -//! raw bytes +//! [`FOLDER`](constants::FOLDER) containing already generated payload as +//! raw bytes //! //! - Key `--signature` (can be entered only if the `--crypto` argument was -//! `ed25519`, `sr25519`, or `ecdsa` **and** `--verifier` is not `Alice`), -//! followed by: +//! `ed25519`, `sr25519`, or `ecdsa` **and** `--verifier` is not `Alice`), +//! followed by: //! - `-hex` followed by hex signature //! - `-file` followed by the path in dedicated [`FOLDER`](constants::FOLDER) -//! for file with signature as raw bytes +//! for file with signature as raw bytes //! //! - Optional key `-name` followed by path override for export file in -//! dedicated [`EXPORT_FOLDER`](constants::EXPORT_FOLDER) +//! dedicated [`EXPORT_FOLDER`](constants::EXPORT_FOLDER) //! //! ### `sign` command //! @@ -749,10 +749,10 @@ //! //! - Key `-sufficient` followed by: //! - `-hex` followed by hexadecimal string with contents of Vault-produced -//! `SufficientCrypto` QR code +//! `SufficientCrypto` QR code //! - `-file` followed by file path in dedicated -//! [`FOLDER`](constants::FOLDER) for raw bytes file with contents of -//! Vault-produced `SufficientCrypto` QR code +//! [`FOLDER`](constants::FOLDER) for raw bytes file with contents of +//! Vault-produced `SufficientCrypto` QR code //! //! - Key `-msg` followed by message type: //! - `load-types` @@ -760,11 +760,11 @@ //! - `add-specs` //! //! - Key `--payload` followed by file path in dedicated -//! [`FOLDER`](constants::FOLDER) containing already generated payload as -//! raw bytes +//! [`FOLDER`](constants::FOLDER) containing already generated payload as +//! raw bytes //! //! - Optional key `-name` followed by path override for export file in -//! dedicated [`EXPORT_FOLDER`](constants::EXPORT_FOLDER) +//! dedicated [`EXPORT_FOLDER`](constants::EXPORT_FOLDER) //! //! Generating `SufficientCrypto` in Vault is suggested mainly for update //! distribution purposes. A dedicated (i.e. used only for updates signing), @@ -866,17 +866,17 @@ //! //! This will remove: //! - address book entry -//! [`AddressBookEntry`](definitions::metadata::AddressBookEntry) from -//! [`ADDRESS_BOOK`](constants::ADDRESS_BOOK) tree +//! [`AddressBookEntry`](definitions::metadata::AddressBookEntry) from +//! [`ADDRESS_BOOK`](constants::ADDRESS_BOOK) tree //! - network specs -//! [`NetworkSpecs`](definitions::network_specs::NetworkSpecs) -//! from [`SPECSTREEPREP`](constants::SPECSTREEPREP) tree +//! [`NetworkSpecs`](definitions::network_specs::NetworkSpecs) +//! from [`SPECSTREEPREP`](constants::SPECSTREEPREP) tree //! - all associated metadata entries from [`METATREE`](constants::METATREE) -//! if there are no other address book entries this metadata is associated -//! with +//! if there are no other address book entries this metadata is associated +//! with //! - all associated meta block history entries from -//! [`META_HISTORY`](constants::META_HISTORY) if there are no other address book -//! entries this block history entries are associated with +//! [`META_HISTORY`](constants::META_HISTORY) if there are no other address book +//! entries this block history entries are associated with //! //! ## Restore hot database to default state //! @@ -892,7 +892,7 @@ //! - types information in [`SETTREE`](constants::SETTREE) //! - **no** metadata entries in [`METATREE`](constants::METATREE) //! - **no** meta block history entries in -//! [`META_HISTORY`](constants::META_HISTORY) +//! [`META_HISTORY`](constants::META_HISTORY) //! //! Default networks are Polkadot, Kusama, and Westend. //! @@ -908,11 +908,11 @@ //! //! - [`SPECSTREE`](constants::SPECSTREE) entries for default networks //! - [`VERIFIERS`](constants::VERIFIERS) entries for default networks, with -//! verifiers set to the general one +//! verifiers set to the general one //! - two latest metadata versions for default networks in -//! [`METATREE`](constants::METATREE) +//! [`METATREE`](constants::METATREE) //! - default types information and clean danger status in -//! [`SETTREE`](constants::SETTREE) +//! [`SETTREE`](constants::SETTREE) //! //! Note that the general verifier is not specified and history is not //! started. This will be done only in Vault itself. Before initialization, @@ -938,19 +938,19 @@ //! Keys to be used in command line: //! //! - ``: `qr` will generate only apng QR code, `text` -//! will generate only text file with hex-encoded update. By default, i.e. if -//! content key is not provided, both QR code and text file are generated. -//! `` is expected immediately after `derivations` command, -//! if at all; keys to follow could go in any order, but with argument -//! immediately following the key. +//! will generate only text file with hex-encoded update. By default, i.e. if +//! content key is not provided, both QR code and text file are generated. +//! `` is expected immediately after `derivations` command, +//! if at all; keys to follow could go in any order, but with argument +//! immediately following the key. //! //! - Key `--derivations` followed by file path in `/generate_message/` folder. -//! File with derivations contains valid derivations, each on its own line. Only -//! suitable derivations will be processed. Processed derivations are also -//! printed for user to check. +//! File with derivations contains valid derivations, each on its own line. Only +//! suitable derivations will be processed. Processed derivations are also +//! printed for user to check. //! //! - Key `--title` followed by network address book title, to indicate to -//! which network the derivations belong. +//! which network the derivations belong. //! //! Output file is in `/generate_message/` folder, file name would be //! `derivations-`. diff --git a/rust/generate_message/src/load.rs b/rust/generate_message/src/load.rs index 41299a9dd7..13df855cbb 100644 --- a/rust/generate_message/src/load.rs +++ b/rust/generate_message/src/load.rs @@ -3,16 +3,16 @@ //! This module deals with processing commands: //! //! - `$ cargo run load-metadata <(argument)>` to produce -//! `load_metadata` update payloads from the database entries and through RPC -//! calls and update the hot database +//! `load_metadata` update payloads from the database entries and through RPC +//! calls and update the hot database //! //! - `$ cargo run unwasm -payload ` to -//! produce `load_metadata` update payloads from `.wasm` files and update the -//! hot database +//! produce `load_metadata` update payloads from `.wasm` files and update the +//! hot database //! //! - `$ cargo run meta_default_file -name -version //! ` to generates metadata files for `defaults` crate from -//! hot database entries +//! hot database entries use sp_core::H256; use std::path::Path; @@ -245,7 +245,7 @@ pub fn gen_load_meta(instruction: InstructionMeta) -> Result<()> { /// `load-metadata-f -a` for individual [`AddressSpecs`] value. /// /// - Get metadata entries from database [`METATREE`] by [`MetaKeyPrefix`] -/// generated with network name. At most two entries are expected. +/// generated with network name. At most two entries are expected. /// - Check the metadata integrity /// - Output raw bytes payload file fn meta_f_a_element

(database: &sled::Db, set_element: &AddressSpecs, files_dir: P) -> Result<()> @@ -279,9 +279,9 @@ where /// `load-metadata-f -n ` /// /// - Get all available [`AddressSpecs`] from the database and search for the -/// one with user-entered network name +/// one with user-entered network name /// - Get metadata entries from database [`METATREE`] by [`MetaKeyPrefix`] -/// generated with `name`. At most two entries are expected. +/// generated with `name`. At most two entries are expected. /// - Check the metadata integrity /// - Output raw bytes payload file fn meta_f_n

(database: &sled::Db, name: &str, files_dir: P) -> Result<()> @@ -294,7 +294,7 @@ where /// `load-metadata-d -a` for individual [`AddressSpecs`] value. /// /// - Fetch network information using RPC calls at `address` in [`AddressSpecs`] -/// and interpret it +/// and interpret it /// - Check the metadata integrity with the data on record in the database /// - Output raw bytes payload file fn meta_d_a_element

(set_element: &AddressSpecs, files_dir: P) -> Result<()> @@ -308,9 +308,9 @@ where /// `load-metadata-d -n ` /// /// - Get all available [`AddressSpecs`] from the database and search for the -/// one with user-entered network name +/// one with user-entered network name /// - Fetch network information using RPC calls at `address` in [`AddressSpecs`] -/// and interpret it +/// and interpret it /// - Check the metadata integrity with the data on record in the database /// - Output raw bytes payload file fn meta_d_n

(database: &sled::Db, name: &str, files_dir: P) -> Result<()> @@ -323,7 +323,7 @@ where /// `load-metadata-d -u ` /// /// - Fetch network information using RPC calls at user-entered `address` and -/// interpret it +/// interpret it /// - Output raw bytes payload file /// /// The command is intended to be used with unknown networks that do not have @@ -353,11 +353,11 @@ where /// /// - Get all available [`AddressSpecs`] from the database /// - Get and sort existing metadata entries from [`METATREE`], with block -/// data from [`META_HISTORY`](constants::META_HISTORY) if available +/// data from [`META_HISTORY`](constants::META_HISTORY) if available /// - Process each [`AddressSpecs`] and update sorted metadata entries in the -/// process. Input [`Write`] indicates if the payload file should be created. +/// process. Input [`Write`] indicates if the payload file should be created. /// - Rewrite the database [`METATREE`] with updated metadata set and update -/// [`META_HISTORY`](constants::META_HISTORY) +/// [`META_HISTORY`](constants::META_HISTORY) fn meta_kpt_a

(database: &sled::Db, write: &Write, pass_errors: bool, files_dir: P) -> Result<()> where P: AsRef, @@ -376,9 +376,9 @@ where /// `load-metadata<-k/-p/-t> -a` for individual [`AddressSpecs`] value. /// /// - Fetch network information using RPC calls at `address` in [`AddressSpecs`] -/// and interpret it +/// and interpret it /// - Check the metadata integrity with the data on record in the database, -/// insert it into received [`SortedMetaValues`] +/// insert it into received [`SortedMetaValues`] /// - Output raw bytes payload file, if requested by input [`Write`] /// /// Inputs [`AddressSpecs`] for the network currently processed, [`Write`] @@ -423,16 +423,16 @@ where /// `load-metadata<-k/-p/-t> -n ` /// /// - Get and sort existing metadata entries from [`METATREE`], with block -/// data from [`META_HISTORY`](constants::META_HISTORY) if available +/// data from [`META_HISTORY`](constants::META_HISTORY) if available /// - Get all available [`AddressSpecs`] from the database and search for the -/// one with user-entered network name +/// one with user-entered network name /// - Fetch network information using RPC calls at `address` in [`AddressSpecs`] -/// and interpret it +/// and interpret it /// - Check the metadata integrity with the data on record in the database, -/// insert it into [`SortedMetaValues`] +/// insert it into [`SortedMetaValues`] /// - Output raw bytes payload file, if requested by input [`Write`] /// - Rewrite the database [`METATREE`] with updated metadata set and update -/// [`META_HISTORY`](constants::META_HISTORY) +/// [`META_HISTORY`](constants::META_HISTORY) /// /// Inputs user-entered network name and [`Write`] indicating if the /// `load_metadata` payload should be created. diff --git a/rust/generate_message/src/parser.rs b/rust/generate_message/src/parser.rs index 7f0b70cbee..696188246d 100644 --- a/rust/generate_message/src/parser.rs +++ b/rust/generate_message/src/parser.rs @@ -35,17 +35,17 @@ pub enum Command { /// /// This will remove: /// - address book entry - /// [`AddressBookEntry`](definitions::metadata::AddressBookEntry) from - /// [`ADDRESS_BOOK`](constants::ADDRESS_BOOK) tree + /// [`AddressBookEntry`](definitions::metadata::AddressBookEntry) from + /// [`ADDRESS_BOOK`](constants::ADDRESS_BOOK) tree /// - network specs - /// [`NetworkSpecs`](definitions::network_specs::NetworkSpecs) - /// from [`SPECSTREEPREP`](constants::SPECSTREEPREP) tree + /// [`NetworkSpecs`](definitions::network_specs::NetworkSpecs) + /// from [`SPECSTREEPREP`](constants::SPECSTREEPREP) tree /// - all associated metadata entries from [`METATREE`](constants::METATREE) - /// if there are no other address book entries this metadata is associated - /// with + /// if there are no other address book entries this metadata is associated + /// with /// - all associated meta block history entries from - /// [`META_HISTORY`](constants::META_HISTORY) if there are no other address book - /// entries this block history entries are associated with + /// [`META_HISTORY`](constants::META_HISTORY) if there are no other address book + /// entries this block history entries are associated with #[command(name = "add-specs")] Specs { #[clap(flatten)] @@ -78,17 +78,17 @@ pub enum Command { /// /// This will remove: /// - address book entry - /// [`AddressBookEntry`](definitions::metadata::AddressBookEntry) from - /// [`ADDRESS_BOOK`](constants::ADDRESS_BOOK) tree + /// [`AddressBookEntry`](definitions::metadata::AddressBookEntry) from + /// [`ADDRESS_BOOK`](constants::ADDRESS_BOOK) tree /// - network specs - /// [`NetworkSpecs`](definitions::network_specs::NetworkSpecs) - /// from [`SPECSTREEPREP`](constants::SPECSTREEPREP) tree + /// [`NetworkSpecs`](definitions::network_specs::NetworkSpecs) + /// from [`SPECSTREEPREP`](constants::SPECSTREEPREP) tree /// - all associated metadata entries from [`METATREE`](constants::METATREE) - /// if there are no other address book entries this metadata is associated - /// with + /// if there are no other address book entries this metadata is associated + /// with /// - all associated meta block history entries from - /// [`META_HISTORY`](constants::META_HISTORY) if there are no other address book - /// entries this block history entries are associated with + /// [`META_HISTORY`](constants::META_HISTORY) if there are no other address book + /// entries this block history entries are associated with Remove { #[clap(subcommand)] r: Remove, @@ -110,7 +110,7 @@ pub enum Command { /// - types information in [`SETTREE`](constants::SETTREE) /// - **no** metadata entries in [`METATREE`](constants::METATREE) /// - **no** meta block history entries in - /// [`META_HISTORY`](constants::META_HISTORY) + /// [`META_HISTORY`](constants::META_HISTORY) /// /// Default networks are Polkadot, Kusama, and Westend. RestoreDefaults { @@ -129,11 +129,11 @@ pub enum Command { /// /// - [`SPECSTREE`](constants::SPECSTREE) entries for default networks /// - [`VERIFIERS`](constants::VERIFIERS) entries for default networks, with - /// verifiers set to the general one + /// verifiers set to the general one /// - two latest metadata versions for default networks in - /// [`METATREE`](constants::METATREE) + /// [`METATREE`](constants::METATREE) /// - default types information and clean danger status in - /// [`SETTREE`](constants::SETTREE) + /// [`SETTREE`](constants::SETTREE) /// /// Note that the general verifier is not specified and history is not /// started. This will be done only in Vault itself. Before initialization, @@ -782,7 +782,7 @@ pub struct Override { /// /// - network has no database record yet /// - network has multiple decimals and unit values, those were retrieved as - /// arrays of equal size. + /// arrays of equal size. #[arg(long)] pub token_decimals: Option, @@ -793,7 +793,7 @@ pub struct Override { /// /// - network has no database record yet /// - network has multiple decimals and unit values, those were retrieved as - /// arrays of equal size. + /// arrays of equal size. #[arg(long)] pub token_unit: Option, } diff --git a/rust/generate_message/src/remove.rs b/rust/generate_message/src/remove.rs index 960bf605b9..e7747461c9 100644 --- a/rust/generate_message/src/remove.rs +++ b/rust/generate_message/src/remove.rs @@ -35,16 +35,16 @@ //! Removed data associated with the address book title consists of: //! //! - address book entry -//! [`AddressBookEntry`](definitions::metadata::AddressBookEntry) from -//! [`ADDRESS_BOOK`](constants::ADDRESS_BOOK) tree +//! [`AddressBookEntry`](definitions::metadata::AddressBookEntry) from +//! [`ADDRESS_BOOK`](constants::ADDRESS_BOOK) tree //! - network specs -//! [`NetworkSpecs`](definitions::network_specs::NetworkSpecs) from -//! [`SPECSTREEPREP`](constants::SPECSTREEPREP) tree +//! [`NetworkSpecs`](definitions::network_specs::NetworkSpecs) from +//! [`SPECSTREEPREP`](constants::SPECSTREEPREP) tree //! - all associated metadata entries from [`METATREE`] if there are no other -//! address book entries this metadata is associated with +//! address book entries this metadata is associated with //! - all associated meta block history entries from [`META_HISTORY`] if there -//! are no other address book entries this block history entries are associated -//! with +//! are no other address book entries this block history entries are associated +//! with //! //! Note that single address book entry corresponds to single network specs //! entry, and they are created and removed always simultaneously. diff --git a/rust/generate_message/src/show.rs b/rust/generate_message/src/show.rs index 6a8497793b..0143976969 100644 --- a/rust/generate_message/src/show.rs +++ b/rust/generate_message/src/show.rs @@ -21,7 +21,7 @@ use crate::helpers::{ /// - network version /// - hexadecimal metadata hash /// - block hash at which the metadata was fetched if on record, from -/// [`META_HISTORY`](constants::META_HISTORY) tree +/// [`META_HISTORY`](constants::META_HISTORY) tree /// /// It could be called by: /// @@ -70,8 +70,8 @@ pub fn show_metadata(database: &sled::Db) -> Result<()> { /// - network encryption /// - additional marker that the network is a default one /// - network title as it will be displayed in Vault, from -/// [`NetworkSpecs`](definitions::network_specs::NetworkSpecs) in -/// [`SPECSTREEPREP`](constants::SPECSTREEPREP) tree +/// [`NetworkSpecs`](definitions::network_specs::NetworkSpecs) in +/// [`SPECSTREEPREP`](constants::SPECSTREEPREP) tree /// /// It could be called by: /// @@ -133,9 +133,9 @@ pub fn show_networks(database: &sled::Db) -> Result<()> { /// Function asserts that: /// /// - the file contains valid metadata, with retrievable network name and -/// version +/// version /// - if the metadata for same network name and version is in the hot database, -/// it completely matches the one from the file +/// it completely matches the one from the file /// /// Function could be used to check release metadata files in `defaults` crate. pub fn check_file(database: &sled::Db, path: String) -> Result<()> { diff --git a/rust/generate_message/src/specs.rs b/rust/generate_message/src/specs.rs index ca5776e220..df9a0718aa 100644 --- a/rust/generate_message/src/specs.rs +++ b/rust/generate_message/src/specs.rs @@ -255,8 +255,8 @@ pub fn gen_add_specs(instruction: InstructionSpecs) -> Result<()> { /// `add-specs -f -a` for individual address book entry. /// /// - Get network specs -/// [`NetworkSpecs`](definitions::network_specs::NetworkSpecs) from -/// the database using information in address book entry +/// [`NetworkSpecs`](definitions::network_specs::NetworkSpecs) from +/// the database using information in address book entry /// - Output raw bytes payload file fn specs_f_a_element

(database: &sled::Db, entry: &AddressBookEntry, files_dir: P) -> Result<()> where @@ -273,8 +273,8 @@ where /// /// - Get address book entry for the network using network address book `title` /// - Get network specs -/// [`NetworkSpecs`](definitions::network_specs::NetworkSpecs) from -/// the database using information in address book entry +/// [`NetworkSpecs`](definitions::network_specs::NetworkSpecs) from +/// the database using information in address book entry /// - Output raw bytes payload file fn specs_f_n

( database: &sled::Db, @@ -315,8 +315,8 @@ where /// /// - Fetch network information using RPC calls and interpret it /// - Construct -/// [`NetworkSpecs`](definitions::network_specs::NetworkSpecs) with -/// fetched values, user overrides and defaults +/// [`NetworkSpecs`](definitions::network_specs::NetworkSpecs) with +/// fetched values, user overrides and defaults /// - Output raw bytes payload file fn specs_d_u

( address: &str, @@ -346,16 +346,16 @@ where /// `printing` flag indicating if payload file should be made. /// /// - Search for an address book entry by address book title and get -/// corresponding -/// [`NetworkSpecs`](definitions::network_specs::NetworkSpecs) +/// corresponding +/// [`NetworkSpecs`](definitions::network_specs::NetworkSpecs) /// - Fetch network specs through RPC calls and check that the network specs -/// from the database are still valid +/// from the database are still valid /// - Modify network specs according to the overrides requested /// - Update database as needed: [`ADDRESS_BOOK`](constants::ADDRESS_BOOK) and -/// [`SPECSTREEPREP`](constants::SPECSTREEPREP) are updated if the encryption -/// was not previously in the database for this network, -/// [`SPECSTREEPREP`](constants::SPECSTREEPREP) alone is updated if the -/// overrides modified network specs entry +/// [`SPECSTREEPREP`](constants::SPECSTREEPREP) are updated if the encryption +/// was not previously in the database for this network, +/// [`SPECSTREEPREP`](constants::SPECSTREEPREP) alone is updated if the +/// overrides modified network specs entry /// - Print payload files if requested /// /// Network address book title for new address book entries is constructed as @@ -470,10 +470,10 @@ where /// - Check that the URL address is unknown to the database /// - Fetch network information using RPC calls and interpret it /// - Check that there is no entries with same genesis hash as was just fetched -/// in the database +/// in the database /// - Construct -/// [`NetworkSpecs`](definitions::network_specs::NetworkSpecs) with -/// fetched values, user overrides and defaults +/// [`NetworkSpecs`](definitions::network_specs::NetworkSpecs) with +/// fetched values, user overrides and defaults /// - Construct `AddressBookEntry` /// - Update the database (network specs and address book) /// - Output raw bytes payload files if requested diff --git a/rust/generate_message/tests/common/mod.rs b/rust/generate_message/tests/common/mod.rs index 1a0e66cb88..c892c76424 100644 --- a/rust/generate_message/tests/common/mod.rs +++ b/rust/generate_message/tests/common/mod.rs @@ -22,7 +22,7 @@ pub fn base_cmd() -> Command { pub fn assert_cmd_stdout(command: &str, output: &'static str) { base_cmd() - .args(&command.split(' ').collect::>()) + .args(command.split(' ').collect::>()) .assert() .success() .code(0) diff --git a/rust/navigator/Cargo.toml b/rust/navigator/Cargo.toml index 4eae0ccc3f..9830169e09 100644 --- a/rust/navigator/Cargo.toml +++ b/rust/navigator/Cargo.toml @@ -10,7 +10,7 @@ db_handling = {path = "../db_handling", default-features = false } definitions = {path = "../definitions", default-features = false } hex = "0.4.3" lazy_static = "1.4.0" -sp-runtime = {git = "https://github.com/paritytech/substrate", default-features = false} +sp-runtime = {git = "https://github.com/paritytech/substrate", rev = "49734dd1d72a00b9d3b87ba397661a63e0e17af3", default-features = false} banana_recovery = { git = "https://github.com/paritytech/banana-recovery-rust" } thiserror = "1.0.57" transaction_parsing = {path = "../transaction_parsing"} @@ -25,7 +25,7 @@ log = "0.4" pretty_assertions = "1" tempfile = "3.10" regex = { version = "1.10.3" } -sp-core = { git = "https://github.com/paritytech/substrate", default-features = false, features = ["full_crypto"] } +sp-core = { git = "https://github.com/paritytech/substrate", rev = "49734dd1d72a00b9d3b87ba397661a63e0e17af3", default-features = false, features = ["full_crypto"] } constants = { path = "../constants" } parser = { path = "../parser", default-features = false } diff --git a/rust/navigator/src/tests.rs b/rust/navigator/src/tests.rs index 4b0ca3674d..1df63fece1 100644 --- a/rust/navigator/src/tests.rs +++ b/rust/navigator/src/tests.rs @@ -6205,7 +6205,7 @@ fn test_sign_dd_transaction() { "530102".to_string() + &alice_westend_public + tx + WESTEND_GENESIS; assert!(signature_is_good( &non_dynamic_transaction, - &String::from_utf8(transaction.signature.signatures[0].data().to_vec()).unwrap() + core::str::from_utf8(transaction.signature.signatures[0].data()).unwrap() )); } diff --git a/rust/parser/Cargo.toml b/rust/parser/Cargo.toml index 84b76effef..d0f67b76f6 100644 --- a/rust/parser/Cargo.toml +++ b/rust/parser/Cargo.toml @@ -17,9 +17,9 @@ parity-scale-codec = {version = "3.6.9", features = ["derive", "bit-vec"]} printing_balance = {path = "../printing_balance"} regex = "1.10.3" scale-info = "2.10.0" -sp-arithmetic = {git = "https://github.com/paritytech/substrate"} -sp-core = {git = "https://github.com/paritytech/substrate", default-features = false, features = ["full_crypto"]} -sp-runtime = {git = "https://github.com/paritytech/substrate", default-features = false} +sp-arithmetic = {git = "https://github.com/paritytech/substrate", rev = "49734dd1d72a00b9d3b87ba397661a63e0e17af3"} +sp-core = {git = "https://github.com/paritytech/substrate", rev = "49734dd1d72a00b9d3b87ba397661a63e0e17af3", default-features = false, features = ["full_crypto"]} +sp-runtime = {git = "https://github.com/paritytech/substrate", rev = "49734dd1d72a00b9d3b87ba397661a63e0e17af3", default-features = false} thiserror = "1.0.57" [dev-dependencies] diff --git a/rust/parser/src/decoding_older.rs b/rust/parser/src/decoding_older.rs index 86379e37ef..cc806e5e71 100644 --- a/rust/parser/src/decoding_older.rs +++ b/rust/parser/src/decoding_older.rs @@ -159,11 +159,11 @@ fn decode_primitive( /// - `data` (remaining `Vec` of data), /// - `meta` (metadata for the network used), /// - `type_database` (it describes all fundamental types that could be encountered in known networks -/// and are not primitive types (i.e. types decoded by `decode_primitive` function), this database -/// currently is retrieved and decoded from the database on device used), +/// and are not primitive types (i.e. types decoded by `decode_primitive` function), this database +/// currently is retrieved and decoded from the database on device used), /// - `indent` used for creating properly formatted js cards, /// - `short_specs` (network parameters, such as base58 prefix, currency units and decimals), -/// all those are used in some cases for proper output formatting). +/// all those are used in some cases for proper output formatting). /// /// The function outputs the `DecodedOut` value in case of success. /// @@ -226,11 +226,11 @@ fn decode_complex( /// - `data` (call itself), /// - `meta` (metadata for the network used), /// - `type_database` (it describes all fundamental types that could be encountered in known networks -/// and are not primitive types (i.e. types decoded by `decode_primitive` function), this database -/// currently is retrieved and decoded from the database on device used), +/// and are not primitive types (i.e. types decoded by `decode_primitive` function), this database +/// currently is retrieved and decoded from the database on device used), /// - `indent` used for creating properly formatted js cards, /// - `short_specs` (network parameters, such as base58 prefix, currency units and decimals), -/// all those are used in some cases for proper output formatting). +/// all those are used in some cases for proper output formatting). /// /// The function outputs the `DecodedOut` value in case of success. /// @@ -314,11 +314,11 @@ lazy_static! { /// - `inner_ty` (type inside Option, found using regular expressions) /// - `data` (remaining `Vec` of data), /// - `type_database` (it describes all fundamental types that could be encountered in known networks -/// and are not primitive types (i.e. types decoded by `decode_primitive` function), this database -/// currently is retrieved and decoded from the database on device used), +/// and are not primitive types (i.e. types decoded by `decode_primitive` function), this database +/// currently is retrieved and decoded from the database on device used), /// - `indent` used for creating properly formatted js cards, /// - `short_specs` (network parameters, such as base58 prefix, currency units and decimals), -/// all those are used in some cases for proper output formatting). +/// all those are used in some cases for proper output formatting). /// /// The function outputs the `DecodedOut` value in case of success. /// @@ -410,11 +410,11 @@ fn deal_with_option( /// - `inner_ty` (type inside `Vec`, found using regular expressions) /// - `data` (remaining `Vec` of data), /// - `type_database` (it describes all fundamental types that could be encountered in known networks -/// and are not primitive types (i.e. types decoded by `decode_primitive` function), this database -/// currently is retrieved and decoded from the database on device used), +/// and are not primitive types (i.e. types decoded by `decode_primitive` function), this database +/// currently is retrieved and decoded from the database on device used), /// - `indent` used for creating properly formatted js cards, /// - `short_specs` (network parameters, such as base58 prefix, currency units and decimals), -/// all those are used in some cases for proper output formatting). +/// all those are used in some cases for proper output formatting). /// /// The function outputs the `DecodedOut` value in case of success. fn deal_with_vector( @@ -468,11 +468,11 @@ fn deal_with_vector( /// - `number_of_elements` (number of array elements, found using regular expressions) /// - `data` (remaining `Vec` of data), /// - `type_database` (it describes all fundamental types that could be encountered in known networks -/// and are not primitive types (i.e. types decoded by `decode_primitive` function), this database -/// currently is retrieved and decoded from the database on device used), +/// and are not primitive types (i.e. types decoded by `decode_primitive` function), this database +/// currently is retrieved and decoded from the database on device used), /// - `indent` used for creating properly formatted js cards, /// - `short_specs` (network parameters, such as base58 prefix, currency units and decimals), -/// all those are used in some cases for proper output formatting). +/// all those are used in some cases for proper output formatting). /// /// The function outputs the `DecodedOut` value in case of success. fn deal_with_array( @@ -508,8 +508,8 @@ fn deal_with_array( /// The function takes as arguments /// - data (remaining `Vec` of data), /// - `type_database` (it describes all fundamental types that could be encountered in known networks -/// and are not primitive types (i.e. types decoded by `decode_primitive` function), this database -/// currently is retrieved and decoded from the database on device used), +/// and are not primitive types (i.e. types decoded by `decode_primitive` function), this database +/// currently is retrieved and decoded from the database on device used), /// - indent used for creating properly formatted js cards. /// /// The function outputs the `DecodedOut` value in case of success. @@ -700,11 +700,11 @@ fn special_case_balance( /// - vector of `StructField` of currently processed type, as found in `type_database` /// - data (remaining `Vec` of data), /// - `type_database` (it describes all fundamental types that could be encountered in known networks -/// and are not primitive types (i.e. types decoded by `decode_primitive` function), this database -/// currently is retrieved and decoded from the database on device used), +/// and are not primitive types (i.e. types decoded by `decode_primitive` function), this database +/// currently is retrieved and decoded from the database on device used), /// - indent used for creating properly formatted js cards, /// - `short_specs` (network parameters, such as base58 prefix, currency units and decimals), -/// all those are used in some cases for proper output formatting). +/// all those are used in some cases for proper output formatting). /// /// The function outputs the `DecodedOut` value in case of success. fn deal_with_struct( @@ -758,11 +758,11 @@ fn deal_with_struct( /// - vector of `EnumVariant` of currently processed type, as found in `type_database` /// - data (remaining `Vec` of data), /// - `type_database` (it describes all fundamental types that could be encountered in known networks -/// and are not primitive types (i.e. types decoded by `decode_primitive` function), this database -/// currently is retrieved and decoded from the database on device used), +/// and are not primitive types (i.e. types decoded by `decode_primitive` function), this database +/// currently is retrieved and decoded from the database on device used), /// - indent used for creating properly formatted js cards, /// - `short_specs` (network parameters, such as base58 prefix, currency units and decimals), -/// all those are used in some cases for proper output formatting). +/// all those are used in some cases for proper output formatting). /// /// The function outputs the `DecodedOut` value in case of success. fn deal_with_enum( @@ -869,11 +869,11 @@ fn deal_with_enum( /// - found_ty (type of the argument found in the previous iteration, to be interpreted on run) /// - data (remaining `Vec` of data), /// - `type_database` (it describes all fundamental types that could be encountered in known networks -/// and are not primitive types (i.e. types decoded by `decode_primitive` function), this database -/// currently is retrieved and decoded from the database on device used), +/// and are not primitive types (i.e. types decoded by `decode_primitive` function), this database +/// currently is retrieved and decoded from the database on device used), /// - indent used for creating properly formatted js cards, /// - `short_specs` (network parameters, such as base58 prefix, currency units and decimals), -/// all those are used in some cases for proper output formatting). +/// all those are used in some cases for proper output formatting). /// /// The function outputs the `DecodedOut` value in case of success. fn decode_simple( diff --git a/rust/parser/src/error.rs b/rust/parser/src/error.rs index 98e109b032..b5822c72ed 100644 --- a/rust/parser/src/error.rs +++ b/rust/parser/src/error.rs @@ -120,7 +120,7 @@ pub enum ParserMetadataError { /// `53xx00` and `53xx02` transcations consist of: /// /// - prelude, `53xx00` or `53xx02`, where `xx` stands for the encryption -/// algorithm associated with address and network used +/// algorithm associated with address and network used /// - public key corresponding to the address that can sign the transaction /// - encoded call data, the body of the transaction /// - extensions, as set in the network metadata @@ -180,7 +180,7 @@ pub enum ParserMetadataError { /// `53xx03` transaction consists of: /// /// - prelude `53xx03`, where `xx` stands for the encryption algorithm -/// associated with address and network used +/// associated with address and network used /// - public key corresponding to the address that can sign the transaction /// - SCALE-encoded `String` contents of the message /// - genesis hash of the network in which the transaction was generated diff --git a/rust/parser/src/method.rs b/rust/parser/src/method.rs index 8db84ec103..20d1c525fc 100644 --- a/rust/parser/src/method.rs +++ b/rust/parser/src/method.rs @@ -34,7 +34,6 @@ pub enum OlderMeta<'a> { /// in case of success outputs Method value. /// Pallet index is explicitly recorded in network metadata as a number. /// Method index is ordinal number in vector of calls within pallet. - fn find_method_v12( pallet_index: u8, method_index: u8, @@ -133,7 +132,6 @@ fn find_method_v12( /// in case of success outputs Method value. /// Pallet index is explicitly recorded in network metadata as a number. /// Method index is ordinal number in vector of calls within pallet. - fn find_method_v13( pallet_index: u8, method_index: u8, @@ -230,7 +228,6 @@ fn find_method_v13( /// Function to find method for current call for metadata in `V12` or `V13` /// Outputs `NextDecode` value. - pub(crate) fn what_next_old(data: Vec, meta: &OlderMeta) -> Result { if data.len() < 2 { return Err(Error::Decoding(ParserDecodingError::DataTooShort)); diff --git a/rust/printing_balance/src/lib.rs b/rust/printing_balance/src/lib.rs index 73464bef94..dd62f3b3e0 100644 --- a/rust/printing_balance/src/lib.rs +++ b/rust/printing_balance/src/lib.rs @@ -27,7 +27,6 @@ fn assist(a: String, decimals: u8, order: u8) -> (String, Option, i8) { /// Input `balance` has to be a printed number. Likely `u128` or `u64`. /// Validity of input is checked elsewhere. - pub fn convert_balance_pretty(balance: &str, decimals: u8, units: &str) -> PrettyOutput { let order = (balance.len() as u8) - 1; diff --git a/rust/qr_reader_pc/Cargo.toml b/rust/qr_reader_pc/Cargo.toml index 9451b35599..d16adf8335 100644 --- a/rust/qr_reader_pc/Cargo.toml +++ b/rust/qr_reader_pc/Cargo.toml @@ -15,6 +15,11 @@ quircs = "0.10.2" indicatif = "0.17.8" [dependencies.opencv] -version = "0.88" +version = "0.94.2" default-features = false features = ["videoio", "imgproc", "highgui"] + +[lints.rust] +unexpected_cfgs = { level = "warn", check-cfg = [ + 'cfg(ocvrs_opencv_branch_32)', +] } diff --git a/rust/qr_reader_pc/src/lib.rs b/rust/qr_reader_pc/src/lib.rs index d318a33b49..f9189de748 100644 --- a/rust/qr_reader_pc/src/lib.rs +++ b/rust/qr_reader_pc/src/lib.rs @@ -13,6 +13,7 @@ use indicatif::ProgressBar; use qr_reader_phone::process_payload::{process_decoded_payload, InProgress, Ready}; use opencv::{ + core::AlgorithmHint, highgui, imgproc::{cvt_color, COLOR_BGR2GRAY}, prelude::*, @@ -123,7 +124,13 @@ fn camera_capture(camera: &mut videoio::VideoCapture, window: &str) -> Result) -> anyhow::Result { let mut settings = CameraSettings { index: None }; while let Some(arg) = args.next() { - let par = match args.next() { - Some(x) => x, - None => String::from(""), - }; + let par = args.next().unwrap_or_default(); match &arg[..] { "d" | "-d" | "--device" => match par.trim().parse() { diff --git a/rust/signer/Cargo.toml b/rust/signer/Cargo.toml index 1db6047b84..7c124c68ec 100644 --- a/rust/signer/Cargo.toml +++ b/rust/signer/Cargo.toml @@ -12,8 +12,8 @@ uniffi = { version = "0.22.0" } lazy_static = "1.4.0" sled = "0.34" -sp-runtime = { git = "https://github.com/paritytech/substrate", default-features = false } -sp-core = { git = "https://github.com/paritytech/substrate", default-features = false, features = ["full_crypto"] } +sp-runtime = { git = "https://github.com/paritytech/substrate", rev = "49734dd1d72a00b9d3b87ba397661a63e0e17af3", default-features = false } +sp-core = { git = "https://github.com/paritytech/substrate", rev = "49734dd1d72a00b9d3b87ba397661a63e0e17af3", default-features = false, features = ["full_crypto"] } db_handling = { path = "../db_handling", default-features = false } definitions = { path = "../definitions", default-features = false } diff --git a/rust/transaction_parsing/Cargo.toml b/rust/transaction_parsing/Cargo.toml index 6d40f979b6..c88211cb78 100644 --- a/rust/transaction_parsing/Cargo.toml +++ b/rust/transaction_parsing/Cargo.toml @@ -15,8 +15,8 @@ hex = "0.4.3" parity-scale-codec = "3.6.9" parser = {path = "../parser", default-features = false} sled = "0.34.6" -sp-core = {git = "https://github.com/paritytech/substrate", default-features = false, features = ["full_crypto"]} -sp-runtime = {git = "https://github.com/paritytech/substrate", default-features = false} +sp-core = {git = "https://github.com/paritytech/substrate", rev = "49734dd1d72a00b9d3b87ba397661a63e0e17af3", default-features = false, features = ["full_crypto"]} +sp-runtime = {git = "https://github.com/paritytech/substrate", rev = "49734dd1d72a00b9d3b87ba397661a63e0e17af3", default-features = false} thiserror = "1.0.57" nom = "7.1.3" log = "0.4" diff --git a/rust/transaction_parsing/src/cards.rs b/rust/transaction_parsing/src/cards.rs index 1d2ee661a1..af3f4dffd6 100644 --- a/rust/transaction_parsing/src/cards.rs +++ b/rust/transaction_parsing/src/cards.rs @@ -77,7 +77,7 @@ pub(crate) enum Warning<'a> { MetadataExtensionsIncomplete, } -impl<'a> Warning<'a> { +impl Warning<'_> { pub(crate) fn show(&self) -> String { match &self { Warning::AuthorNotFound => String::from("Transaction author public key not found."), @@ -97,7 +97,7 @@ impl<'a> Warning<'a> { } } -impl<'a> Card<'a> { +impl Card<'_> { pub(crate) fn card(&self, index: &mut u32, indent: u32) -> TransactionCard { let card = match &self { Card::ParserCard(m) => match m { diff --git a/rust/transaction_parsing/src/error.rs b/rust/transaction_parsing/src/error.rs index de88ea4466..cedb724b0b 100644 --- a/rust/transaction_parsing/src/error.rs +++ b/rust/transaction_parsing/src/error.rs @@ -306,7 +306,6 @@ pub enum Error { /// /// Custom verifier could be upgraded only to general one, see /// [here](definitions::network_specs). - #[error( "Network {name} current verifier is {}. Received add_specs message \ is verified by {}, which is neither current network verifier not the \ diff --git a/rust/transaction_parsing/src/lib.rs b/rust/transaction_parsing/src/lib.rs index 78feb86f41..061ea38c06 100644 --- a/rust/transaction_parsing/src/lib.rs +++ b/rust/transaction_parsing/src/lib.rs @@ -37,10 +37,9 @@ pub use crate::error::{Error, Result}; /// Payload in hex format as it arrives into handling contains following elements: /// - prelude, length 6 symbols ("53" stands for substrate, ** - crypto type, ** - transaction type), -/// see the standard for details, +/// see the standard for details, /// - actual content (differs between transaction types, could be even empty) -/// actual content is handled individually depending on prelude - +/// actual content is handled individually depending on prelude fn handle_scanner_input(database: &sled::Db, payload: &str) -> Result { let data_hex = { if let Some(a) = payload.strip_prefix("0x") { diff --git a/rust/transaction_parsing/src/parse_transaction.rs b/rust/transaction_parsing/src/parse_transaction.rs index 236f296e17..8c5ffdcc0c 100644 --- a/rust/transaction_parsing/src/parse_transaction.rs +++ b/rust/transaction_parsing/src/parse_transaction.rs @@ -26,11 +26,10 @@ use crate::TransactionAction; /// Transaction payload in hex format as it arrives into parsing program contains following elements: /// - prelude, length 6 symbols ("53" stands for substrate, ** - crypto type, 00 or 02 - transaction type), -/// see the standard for details, +/// see the standard for details, /// - author public key (length depends on cryptography used), /// - method, extensions, network genesis hash - -/// Enum to move around cards in preparatory stage (author details or author card, and warning card) +/// Enum to move around cards in preparatory stage (author details or author card, and warning card) enum CardsPrep<'a> { SignProceed(AddressDetails, Option>), ShowOnly(TransactionCard, Box), @@ -44,7 +43,6 @@ enum CardsPrep<'a> { /// Transaction format corresponds to what we get from qr code: /// i.e. it starts with 53****, followed by author address, followed by actual transaction piece, /// followed by extrinsics, concluded with chain genesis hash - pub(crate) fn parse_transaction(database: &sled::Db, data_hex: &str) -> Result { let (author_multi_signer, call_data, genesis_hash, encryption) = multisigner_msg_genesis_encryption(database, data_hex)?; diff --git a/rust/transaction_signing/Cargo.toml b/rust/transaction_signing/Cargo.toml index 059b7c8e16..1ec1b0a048 100644 --- a/rust/transaction_signing/Cargo.toml +++ b/rust/transaction_signing/Cargo.toml @@ -12,8 +12,8 @@ zeroize = { version = "1.7.0", features = ["std"] } definitions = { path = "../definitions", default-features = false } db_handling = { path = "../db_handling", default-features = false } -sp-core = { git = "https://github.com/paritytech/substrate", default-features = false, features = ["full_crypto"] } -sp-runtime = { git = "https://github.com/paritytech/substrate", default-features = false } +sp-core = { git = "https://github.com/paritytech/substrate", rev = "49734dd1d72a00b9d3b87ba397661a63e0e17af3", default-features = false, features = ["full_crypto"] } +sp-runtime = { git = "https://github.com/paritytech/substrate", rev = "49734dd1d72a00b9d3b87ba397661a63e0e17af3", default-features = false } thiserror = "1.0.57" anyhow = "1.0.82" sled = "0.34"