diff --git a/.github/ISSUE_TEMPLATE/EXTERNAL_ISSUE_FORM.yml b/.github/ISSUE_TEMPLATE/EXTERNAL_ISSUE_FORM.yml
index c37983e8d3..bf2657b95a 100644
--- a/.github/ISSUE_TEMPLATE/EXTERNAL_ISSUE_FORM.yml
+++ b/.github/ISSUE_TEMPLATE/EXTERNAL_ISSUE_FORM.yml
@@ -24,7 +24,7 @@ body:
placeholder: |
Include other details here such as: open questions, directions to reproduce a bug, relevant error logs, etc.
- E.g. To reproduce this bug run `just async_std test_basic`. You should see logs similar to the ones below:
+ E.g. To reproduce this bug run `just test_basic`. You should see logs similar to the ones below:
`ERROR: This is an important error!`
validations:
required: false
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 4fbeb81866..221dd5f345 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -15,6 +15,10 @@ updates:
- "*"
exclude-patterns:
- "cdn-*"
+ - "ark-*"
cdn:
patterns:
- "cdn-*"
+ ark:
+ patterns:
+ - "ark-*"
diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml
index 0aacdac8ea..d8836d871d 100644
--- a/.github/workflows/build-and-test.yml
+++ b/.github/workflows/build-and-test.yml
@@ -18,9 +18,6 @@ jobs:
test:
strategy:
matrix:
- just_variants:
- - async-std
- - tokio
test_suites:
- test-ci-1
- test-ci-2
@@ -41,31 +38,22 @@ jobs:
name: Enable Rust Caching
with:
shared-key: "test"
- prefix-key: ${{ matrix.just_variants }}
cache-on-failure: "true"
save-if: ${{ github.ref == 'refs/heads/main' && matrix.test_suites == 'test-ci-rest' }}
- - name: Install Just
- run: |
- wget https://github.com/casey/just/releases/download/1.14.0/just-1.14.0-x86_64-unknown-linux-musl.tar.gz
- tar -vxf just-1.14.0-x86_64-unknown-linux-musl.tar.gz just
- sudo cp just /usr/bin/just
+ - uses: taiki-e/install-action@just
- uses: taiki-e/install-action@nextest
- name: Unit and integration tests for all crates in workspace
run: |
- just ${{ matrix.just_variants }} ${{ matrix.test_suites }}
+ just ${{ matrix.test_suites }}
timeout-minutes: 60
env:
RUST_BACKTRACE: full
test-examples:
strategy:
- matrix:
- just_variants:
- - async-std
- - tokio
fail-fast: false
runs-on: ubuntu-latest
steps:
@@ -79,27 +67,18 @@ jobs:
name: Enable Rust Caching
with:
shared-key: "examples"
- prefix-key: ${{ matrix.just_variants }}
cache-on-failure: "true"
save-if: ${{ github.ref == 'refs/heads/main' }}
- - name: Install Just
- run: |
- wget https://github.com/casey/just/releases/download/1.14.0/just-1.14.0-x86_64-unknown-linux-musl.tar.gz
- tar -vxf just-1.14.0-x86_64-unknown-linux-musl.tar.gz just
- sudo cp just /usr/bin/just
+ - uses: taiki-e/install-action@just
- name: Test examples
run: |
- just ${{ matrix.just_variants }} example all-push-cdn -- --config_file ./crates/orchestrator/run-config.toml
+ just example all-push-cdn -- --config_file ./crates/orchestrator/run-config.toml
timeout-minutes: 20
build-release:
strategy:
- matrix:
- just_variants:
- - async-std
- - tokio
fail-fast: false
runs-on: ubuntu-latest
steps:
@@ -113,39 +92,30 @@ jobs:
name: Enable Rust Caching
with:
shared-key: "build-release"
- prefix-key: ${{ matrix.just_variants }}
cache-on-failure: "true"
save-if: ${{ github.ref == 'refs/heads/main' }}
- - name: Install Just
- run: |
- wget https://github.com/casey/just/releases/download/1.14.0/just-1.14.0-x86_64-unknown-linux-musl.tar.gz
- tar -vxf just-1.14.0-x86_64-unknown-linux-musl.tar.gz just
- sudo cp just /usr/bin/just
+ - uses: taiki-e/install-action@just
- name: Build examples in release mode
- run: just ${{ matrix.just_variants }} build_release --examples --package hotshot-examples --no-default-features
+ run: just build_release --examples --package hotshot-examples --no-default-features
- name: Upload Binaries
uses: actions/upload-artifact@v4
with:
- name: binaries-amd64-${{ matrix.just_variants }}
+ name: binaries-amd64
path: |
- target/${{ matrix.just_variants }}/release/examples/counter
- target/${{ matrix.just_variants }}/release/examples/multi-validator-libp2p
- target/${{ matrix.just_variants }}/release/examples/validator-libp2p
- target/${{ matrix.just_variants }}/release/examples/validator-combined
- target/${{ matrix.just_variants }}/release/examples/validator-push-cdn
- target/${{ matrix.just_variants }}/release/examples/orchestrator
- target/${{ matrix.just_variants }}/release/examples/cdn-broker
- target/${{ matrix.just_variants }}/release/examples/cdn-marshal
+ target/release/examples/counter
+ target/release/examples/multi-validator-libp2p
+ target/release/examples/validator-libp2p
+ target/release/examples/validator-combined
+ target/release/examples/validator-push-cdn
+ target/release/examples/orchestrator
+ target/release/examples/cdn-broker
+ target/release/examples/cdn-marshal
build-arm-release:
strategy:
- matrix:
- just_variants:
- - async-std
- - tokio
fail-fast: false
runs-on: buildjet-4vcpu-ubuntu-2204-arm
if: ${{ github.ref == 'refs/heads/main' }}
@@ -158,33 +128,28 @@ jobs:
name: Enable Rust Caching
with:
shared-key: "build-arm-release"
- prefix-key: ${{ matrix.just_variants }}
cache-on-failure: "true"
save-if: ${{ github.ref == 'refs/heads/main' }}
- name: Build examples in release mode
- run: just ${{ matrix.just_variants }} build_release --examples --package hotshot-examples --no-default-features
+ run: just build_release --examples --package hotshot-examples --no-default-features
- name: Upload Binaries
uses: actions/upload-artifact@v4
with:
- name: binaries-aarch64-${{ matrix.just_variants }}
+ name: binaries-aarch64
path: |
- target/${{ matrix.just_variants }}/release/examples/counter
- target/${{ matrix.just_variants }}/release/examples/multi-validator-libp2p
- target/${{ matrix.just_variants }}/release/examples/validator-libp2p
- target/${{ matrix.just_variants }}/release/examples/validator-combined
- target/${{ matrix.just_variants }}/release/examples/validator-push-cdn
- target/${{ matrix.just_variants }}/release/examples/orchestrator
- target/${{ matrix.just_variants }}/release/examples/cdn-broker
- target/${{ matrix.just_variants }}/release/examples/cdn-marshal
+ target/release/examples/counter
+ target/release/examples/multi-validator-libp2p
+ target/release/examples/validator-libp2p
+ target/release/examples/validator-combined
+ target/release/examples/validator-push-cdn
+ target/release/examples/orchestrator
+ target/release/examples/cdn-broker
+ target/release/examples/cdn-marshal
build-dockers:
strategy:
- matrix:
- just_variants:
- - async-std
- - tokio
fail-fast: false
runs-on: ubuntu-latest
if: ${{ github.ref == 'refs/heads/main' }}
@@ -207,56 +172,50 @@ jobs:
- name: Download AMD executables
uses: actions/download-artifact@v4
with:
- name: binaries-amd64-${{ matrix.just_variants }}
- path: target/${{ matrix.just_variants }}/amd64/release/examples
+ name: binaries-amd64
+ path: target/amd64/release/examples
- name: Download ARM executables
uses: actions/download-artifact@v4
with:
- name: binaries-aarch64-${{ matrix.just_variants }}
- path: target/${{ matrix.just_variants }}/arm64/release/examples
+ name: binaries-aarch64
+ path: target/arm64/release/examples
- name: Generate validator-libp2p docker metadata
uses: docker/metadata-action@v5
id: validator-libp2p
with:
images: ghcr.io/espressosystems/hotshot/validator-libp2p
- flavor: suffix=-${{ matrix.just_variants }}
- name: Generate validator-combined docker metadata
uses: docker/metadata-action@v5
id: validator-combined
with:
images: ghcr.io/espressosystems/hotshot/validator-combined
- flavor: suffix=-${{ matrix.just_variants }}
- name: Generate validator-push-cdn docker metadata
uses: docker/metadata-action@v5
id: validator-push-cdn
with:
images: ghcr.io/espressosystems/hotshot/validator-push-cdn
- flavor: suffix=-${{ matrix.just_variants }}
- name: Generate orchestrator docker metadata
uses: docker/metadata-action@v5
id: orchestrator
with:
images: ghcr.io/espressosystems/hotshot/orchestrator
- flavor: suffix=-${{ matrix.just_variants }}
- name: Generate cdn-broker docker metadata
uses: docker/metadata-action@v5
id: cdn-broker
with:
images: ghcr.io/espressosystems/hotshot/cdn-broker
- flavor: suffix=-${{ matrix.just_variants }}
- name: Generate cdn-marshal docker metadata
uses: docker/metadata-action@v5
id: cdn-marshal
with:
images: ghcr.io/espressosystems/hotshot/cdn-marshal
- flavor: suffix=-${{ matrix.just_variants }}
- name: Build and push validator-libp2p docker
uses: docker/build-push-action@v6
@@ -269,8 +228,6 @@ jobs:
labels: ${{ steps.validator-libp2p.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
- build-args: |
- ASYNC_EXECUTOR=${{ matrix.just_variants }}
- name: Build and push validator-combined docker
uses: docker/build-push-action@v6
@@ -283,8 +240,6 @@ jobs:
labels: ${{ steps.validator-combined.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
- build-args: |
- ASYNC_EXECUTOR=${{ matrix.just_variants }}
- name: Build and push validator-push-cdn docker
uses: docker/build-push-action@v6
@@ -297,8 +252,6 @@ jobs:
labels: ${{ steps.validator-push-cdn.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
- build-args: |
- ASYNC_EXECUTOR=${{ matrix.just_variants }}
- name: Build and push orchestrator docker
uses: docker/build-push-action@v6
@@ -311,8 +264,6 @@ jobs:
labels: ${{ steps.orchestrator.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
- build-args: |
- ASYNC_EXECUTOR=${{ matrix.just_variants }}
- name: Build and push cdn-broker docker
uses: docker/build-push-action@v6
@@ -325,8 +276,6 @@ jobs:
labels: ${{ steps.cdn-broker.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
- build-args: |
- ASYNC_EXECUTOR=${{ matrix.just_variants }}
- name: Build and push cdn-marshal docker
uses: docker/build-push-action@v6
@@ -339,5 +288,3 @@ jobs:
labels: ${{ steps.cdn-marshal.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
- build-args: |
- ASYNC_EXECUTOR=${{ matrix.just_variants }}
diff --git a/.github/workflows/build-without-lockfile.yml b/.github/workflows/build-without-lockfile.yml
new file mode 100644
index 0000000000..632e882608
--- /dev/null
+++ b/.github/workflows/build-without-lockfile.yml
@@ -0,0 +1,37 @@
+name: Build without committed Cargo.lock
+
+on:
+ push:
+ branches:
+ - main
+ - release-*
+ tags:
+ # YYYYMMDD
+ - "20[0-9][0-9][0-1][0-9][0-3][0-9]*"
+ schedule:
+ - cron: "0 0 * * 1"
+ pull_request:
+ workflow_dispatch:
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ build-ignore-lockfile:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout Repository
+ uses: actions/checkout@v4
+ with:
+ submodules: recursive
+
+ - name: Enable Rust Caching
+ uses: Swatinem/rust-cache@v2
+ with:
+ prefix-key: v1-rust
+
+ - name: Build without committed Cargo.lock
+ run: |
+ cargo generate-lockfile
+ cargo check --all-targets
diff --git a/.github/workflows/build_nix.yml b/.github/workflows/build_nix.yml
index 4546cee028..f34421b8fe 100644
--- a/.github/workflows/build_nix.yml
+++ b/.github/workflows/build_nix.yml
@@ -45,4 +45,4 @@ jobs:
# sanity check that repository builds with nix
- name: Build
run: |
- nix develop -c just async-std build
+ nix develop -c just build
diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml
index 5d4606c541..3bbef19ffa 100644
--- a/.github/workflows/doc.yml
+++ b/.github/workflows/doc.yml
@@ -21,11 +21,7 @@ jobs:
- name: Checkout Repository
uses: actions/checkout@v4
- - name: Install Just
- run: |
- wget https://github.com/casey/just/releases/download/1.14.0/just-1.14.0-x86_64-unknown-linux-musl.tar.gz
- tar -vxf just-1.14.0-x86_64-unknown-linux-musl.tar.gz just
- sudo cp just /usr/bin/just
+ - uses: taiki-e/install-action@just
- uses: Swatinem/rust-cache@v2
name: Enable Rust Caching
@@ -35,16 +31,16 @@ jobs:
- name: Test Docs
run: |
- just async-std doc_test
+ just doc_test
- name: Build Docs
run: |
- just async-std doc
+ just doc
- name: Create documentation
if: ${{ github.ref == 'refs/heads/main' }}
run: |
- cp -R target/async-std/doc public
+ cp -R target/doc public
echo '' > public/index.html
- name: Deploy
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index 45de5cead7..23f6a6810f 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -17,10 +17,6 @@ concurrency:
jobs:
clippy:
strategy:
- matrix:
- just_variants:
- - async-std
- - tokio
fail-fast: false
runs-on: ubuntu-latest
steps:
@@ -34,18 +30,13 @@ jobs:
name: Enable Rust Caching
with:
shared-key: "lint"
- prefix-key: ${{ matrix.just_variants }}
save-if: ${{ github.ref == 'refs/heads/main' }}
- - name: Install Just
- run: |
- wget https://github.com/casey/just/releases/download/1.14.0/just-1.14.0-x86_64-unknown-linux-musl.tar.gz
- tar -vxf just-1.14.0-x86_64-unknown-linux-musl.tar.gz just
- sudo cp just /usr/bin/just
+ - uses: taiki-e/install-action@just
- name: Run clippy
run: |
- just ${{ matrix.just_variants }} clippy
+ just clippy
fmt:
runs-on: ubuntu-latest
@@ -56,12 +47,8 @@ jobs:
- name: Install Rust
uses: mkroening/rust-toolchain-toml@main
- - name: Install Just
- run: |
- wget https://github.com/casey/just/releases/download/1.14.0/just-1.14.0-x86_64-unknown-linux-musl.tar.gz
- tar -vxf just-1.14.0-x86_64-unknown-linux-musl.tar.gz just
- sudo cp just /usr/bin/just
+ - uses: taiki-e/install-action@just
- name: Check rustfmt
run: |
- just ${{ matrix.just_variants }} fmt_check
+ just fmt_check
diff --git a/.github/workflows/semver-check.yml b/.github/workflows/semver-check.yml
index 5d5551db74..a8e00d4418 100644
--- a/.github/workflows/semver-check.yml
+++ b/.github/workflows/semver-check.yml
@@ -16,11 +16,7 @@ jobs:
test-sequencer:
runs-on: ubuntu-latest
name: semver
- strategy:
- matrix:
- async_runtimes:
- - async-std
- - tokio
+
steps:
- uses: actions/checkout@v4
name: Checkout Repository
@@ -33,11 +29,7 @@ jobs:
path: baseline
ref: ${{ inputs.baseline }}
- - name: Install Just
- run: |
- wget https://github.com/casey/just/releases/download/1.14.0/just-1.14.0-x86_64-unknown-linux-musl.tar.gz
- tar -vxf just-1.14.0-x86_64-unknown-linux-musl.tar.gz just
- sudo cp just /usr/bin/just
+ - uses: taiki-e/install-action@just
- name: Install Rust
uses: mkroening/rust-toolchain-toml@main
@@ -46,7 +38,6 @@ jobs:
name: Enable Rust Caching
with:
shared-key: "build-and-test"
- prefix-key: ${{ matrix.just_variants }}
save-if: false
- name: Install cargo-semver-checks and cargo-workspaces
@@ -57,5 +48,5 @@ jobs:
- name: Run cargo-semver-checks
run: |
cd current
- just ${{matrix.async_runtimes}} semver --baseline-root ../baseline
+ just semver --baseline-root ../baseline
diff --git a/.github/workflows/test-sequencer.yml b/.github/workflows/test-sequencer.yml
index ace9831be5..2850764bd8 100644
--- a/.github/workflows/test-sequencer.yml
+++ b/.github/workflows/test-sequencer.yml
@@ -63,11 +63,9 @@ jobs:
- name: Build sequencer tests
working-directory: sequencer
run: |
- export RUSTFLAGS='--cfg async_executor_impl="async-std" --cfg async_channel_impl="async-std" --cfg hotshot_example'
cargo test --release --workspace --all-features --no-run
- name: Run sequencer tests
working-directory: sequencer
run: |
- export RUSTFLAGS='--cfg async_executor_impl="async-std" --cfg async_channel_impl="async-std" --cfg hotshot_example'
cargo test --release --workspace --all-features --verbose -- --test-threads 1 --nocapture
diff --git a/.vscode/settings.json.example b/.vscode/settings.json.example
deleted file mode 100644
index 891c599eff..0000000000
--- a/.vscode/settings.json.example
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "rust-analyzer.server.extraEnv": {
- "RUSTFLAGS": "--cfg async_executor_impl=\"async-std\" --cfg async_channel_impl=\"async-std\" --cfg hotshot_example",
- "CARGO_TARGET_DIR": "vsc/target"
- },
-}
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8522f9456d..8bcdeb6baf 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -23,7 +23,7 @@ Adds new type parameter, corresponding to the state type, to Message
### Features
- StatefulHandler trait
- Reexport traits from traits module
-- State Machine + NodeImplementation
+- State Machine + Node Implementation
- state machine mvp megasquash
- Replace tokio broadcast queue with unbounded equivalent
diff --git a/Cargo.lock b/Cargo.lock
index 0c69b1f5c4..358e89a2fa 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -4,18 +4,18 @@ version = 3
[[package]]
name = "addr2line"
-version = "0.21.0"
+version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
+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"
@@ -126,9 +126,9 @@ dependencies = [
[[package]]
name = "anstream"
-version = "0.6.14"
+version = "0.6.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b"
+checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b"
dependencies = [
"anstyle",
"anstyle-parse",
@@ -141,49 +141,49 @@ dependencies = [
[[package]]
name = "anstyle"
-version = "1.0.8"
+version = "1.0.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1"
+checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9"
[[package]]
name = "anstyle-parse"
-version = "0.2.4"
+version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4"
+checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9"
dependencies = [
"utf8parse",
]
[[package]]
name = "anstyle-query"
-version = "1.1.0"
+version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391"
+checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c"
dependencies = [
- "windows-sys 0.52.0",
+ "windows-sys 0.59.0",
]
[[package]]
name = "anstyle-wincon"
-version = "3.0.3"
+version = "3.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19"
+checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125"
dependencies = [
"anstyle",
- "windows-sys 0.52.0",
+ "windows-sys 0.59.0",
]
[[package]]
name = "anyhow"
-version = "1.0.91"
+version = "1.0.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c042108f3ed77fd83760a5fd79b53be043192bb3b9dba91d8c574c0ada7850c8"
+checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775"
[[package]]
name = "arbitrary"
-version = "1.3.2"
+version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110"
+checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223"
dependencies = [
"derive_arbitrary",
]
@@ -329,7 +329,7 @@ dependencies = [
"num-traits",
"paste",
"rayon",
- "rustc_version 0.4.0",
+ "rustc_version 0.4.1",
"zeroize",
]
@@ -469,84 +469,51 @@ dependencies = [
]
[[package]]
-name = "arrayref"
-version = "0.3.7"
+name = "arraydeque"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545"
+checksum = "7d902e3d592a523def97af8f317b08ce16b7ab854c1985a0c671e6f15cebc236"
[[package]]
-name = "arrayvec"
-version = "0.7.4"
+name = "arrayref"
+version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
+checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb"
[[package]]
-name = "asn1-rs"
-version = "0.5.2"
+name = "arrayvec"
+version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f6fd5ddaf0351dff5b8da21b2fb4ff8e08ddd02857f0bf69c47639106c0fff0"
-dependencies = [
- "asn1-rs-derive 0.4.0",
- "asn1-rs-impl 0.1.0",
- "displaydoc",
- "nom",
- "num-traits",
- "rusticata-macros",
- "thiserror",
- "time 0.3.36",
-]
+checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"
[[package]]
name = "asn1-rs"
-version = "0.6.1"
+version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22ad1373757efa0f70ec53939aabc7152e1591cb485208052993070ac8d2429d"
+checksum = "5493c3bedbacf7fd7382c6346bbd66687d12bbaad3a89a2d2c303ee6cf20b048"
dependencies = [
- "asn1-rs-derive 0.5.0",
- "asn1-rs-impl 0.2.0",
+ "asn1-rs-derive",
+ "asn1-rs-impl",
"displaydoc",
"nom",
"num-traits",
"rusticata-macros",
- "thiserror",
+ "thiserror 1.0.68",
"time 0.3.36",
]
[[package]]
name = "asn1-rs-derive"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
- "synstructure 0.12.6",
-]
-
-[[package]]
-name = "asn1-rs-derive"
-version = "0.5.0"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7378575ff571966e99a744addeff0bff98b8ada0dedf1956d59e634db95eaac1"
+checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
"synstructure 0.13.1",
]
-[[package]]
-name = "asn1-rs-impl"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
[[package]]
name = "asn1-rs-impl"
version = "0.2.0"
@@ -555,7 +522,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -583,7 +550,7 @@ dependencies = [
"event-listener 5.3.1",
"event-listener-strategy",
"futures-core",
- "pin-project-lite 0.2.14",
+ "pin-project-lite 0.2.15",
]
[[package]]
@@ -606,27 +573,7 @@ dependencies = [
"concurrent-queue",
"event-listener-strategy",
"futures-core",
- "pin-project-lite 0.2.14",
-]
-
-[[package]]
-name = "async-compatibility-layer"
-version = "1.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32dd1dfd4a05a197583e51036d9615f04a4d851089dc119ee965d440d0bcaa39"
-dependencies = [
- "async-lock 3.4.0",
- "async-std",
- "async-trait",
- "color-eyre",
- "console-subscriber 0.2.0",
- "flume",
- "futures",
- "tokio",
- "tokio-stream",
- "tracing",
- "tracing-error",
- "tracing-subscriber 0.3.18",
+ "pin-project-lite 0.2.15",
]
[[package]]
@@ -641,29 +588,17 @@ dependencies = [
[[package]]
name = "async-executor"
-version = "1.12.0"
+version = "1.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8828ec6e544c02b0d6691d21ed9f9218d0384a82542855073c2a3f58304aaf0"
+checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec"
dependencies = [
"async-task",
"concurrent-queue",
- "fastrand 2.1.0",
- "futures-lite 2.3.0",
+ "fastrand 2.1.1",
+ "futures-lite 2.4.0",
"slab",
]
-[[package]]
-name = "async-fs"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06"
-dependencies = [
- "async-lock 2.8.0",
- "autocfg",
- "blocking",
- "futures-lite 1.13.0",
-]
-
[[package]]
name = "async-global-executor"
version = "2.4.1"
@@ -672,10 +607,10 @@ checksum = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c"
dependencies = [
"async-channel 2.3.1",
"async-executor",
- "async-io 2.3.3",
+ "async-io 2.3.4",
"async-lock 3.4.0",
"blocking",
- "futures-lite 2.3.0",
+ "futures-lite 2.4.0",
"once_cell",
"tokio",
]
@@ -719,21 +654,21 @@ dependencies = [
[[package]]
name = "async-io"
-version = "2.3.3"
+version = "2.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d6baa8f0178795da0e71bc42c9e5d13261aac7ee549853162e66a241ba17964"
+checksum = "444b0228950ee6501b3568d3c93bf1176a1fdbc3b758dcd9475046d30f4dc7e8"
dependencies = [
"async-lock 3.4.0",
"cfg-if",
"concurrent-queue",
"futures-io",
- "futures-lite 2.3.0",
+ "futures-lite 2.4.0",
"parking",
- "polling 3.7.1",
- "rustix 0.38.34",
+ "polling 3.7.4",
+ "rustix 0.38.39",
"slab",
"tracing",
- "windows-sys 0.52.0",
+ "windows-sys 0.59.0",
]
[[package]]
@@ -753,7 +688,7 @@ checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18"
dependencies = [
"event-listener 5.3.1",
"event-listener-strategy",
- "pin-project-lite 0.2.14",
+ "pin-project-lite 0.2.15",
]
[[package]]
@@ -764,54 +699,45 @@ checksum = "9e9e7a929bd34c68a82d58a4de7f86fffdaf97fb2af850162a7bb19dd7269b33"
dependencies = [
"async-std",
"native-tls",
- "thiserror",
+ "thiserror 1.0.68",
"url",
]
-[[package]]
-name = "async-net"
-version = "1.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0434b1ed18ce1cf5769b8ac540e33f01fa9471058b5e89da9e06f3c882a8c12f"
-dependencies = [
- "async-io 1.13.0",
- "blocking",
- "futures-lite 1.13.0",
-]
-
[[package]]
name = "async-process"
-version = "1.8.1"
+version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88"
+checksum = "63255f1dc2381611000436537bbedfe83183faa303a5a0edaf191edef06526bb"
dependencies = [
- "async-io 1.13.0",
- "async-lock 2.8.0",
+ "async-channel 2.3.1",
+ "async-io 2.3.4",
+ "async-lock 3.4.0",
"async-signal",
+ "async-task",
"blocking",
"cfg-if",
- "event-listener 3.1.0",
- "futures-lite 1.13.0",
- "rustix 0.38.34",
- "windows-sys 0.48.0",
+ "event-listener 5.3.1",
+ "futures-lite 2.4.0",
+ "rustix 0.38.39",
+ "tracing",
]
[[package]]
name = "async-signal"
-version = "0.2.7"
+version = "0.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "329972aa325176e89114919f2a80fdae4f4c040f66a370b1a1159c6c0f94e7aa"
+checksum = "637e00349800c0bdf8bfc21ebbc0b6524abea702b0da4168ac00d070d0c0b9f3"
dependencies = [
- "async-io 2.3.3",
+ "async-io 2.3.4",
"async-lock 3.4.0",
"atomic-waker",
"cfg-if",
"futures-core",
"futures-io",
- "rustix 0.38.34",
+ "rustix 0.38.39",
"signal-hook-registry",
"slab",
- "windows-sys 0.52.0",
+ "windows-sys 0.59.0",
]
[[package]]
@@ -830,67 +756,52 @@ dependencies = [
[[package]]
name = "async-std"
-version = "1.12.0"
+version = "1.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d"
+checksum = "c634475f29802fde2b8f0b505b1bd00dfe4df7d4a000f0b36f7671197d5c3615"
dependencies = [
"async-attributes",
"async-channel 1.9.0",
"async-global-executor",
- "async-io 1.13.0",
- "async-lock 2.8.0",
+ "async-io 2.3.4",
+ "async-lock 3.4.0",
"async-process",
"crossbeam-utils",
"futures-channel",
"futures-core",
"futures-io",
- "futures-lite 1.13.0",
+ "futures-lite 2.4.0",
"gloo-timers",
"kv-log-macro",
"log",
"memchr",
"once_cell",
- "pin-project-lite 0.2.14",
+ "pin-project-lite 0.2.15",
"pin-utils",
"slab",
"wasm-bindgen-futures",
]
-[[package]]
-name = "async-std-resolver"
-version = "0.24.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc3b454643291f9a4a3bbdb35fa62efa4ba7be5ea13fe243e3be4352182ff4b8"
-dependencies = [
- "async-std",
- "async-trait",
- "futures-io",
- "futures-util",
- "hickory-resolver",
- "pin-utils",
- "socket2 0.5.7",
-]
-
[[package]]
name = "async-stream"
-version = "0.3.5"
+version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51"
+checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476"
dependencies = [
"async-stream-impl",
"futures-core",
- "pin-project-lite 0.2.14",
+ "pin-project-lite 0.2.15",
]
[[package]]
name = "async-stream-impl"
-version = "0.3.5"
+version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
+checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -920,7 +831,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -935,7 +846,7 @@ dependencies = [
"futures-io",
"futures-util",
"log",
- "pin-project-lite 0.2.14",
+ "pin-project-lite 0.2.15",
"tungstenite",
]
@@ -949,7 +860,7 @@ dependencies = [
"futures-sink",
"futures-util",
"memchr",
- "pin-project-lite 0.2.14",
+ "pin-project-lite 0.2.15",
]
[[package]]
@@ -962,7 +873,7 @@ dependencies = [
"futures-sink",
"futures-util",
"memchr",
- "pin-project-lite 0.2.14",
+ "pin-project-lite 0.2.15",
]
[[package]]
@@ -993,9 +904,9 @@ dependencies = [
[[package]]
name = "autocfg"
-version = "1.3.0"
+version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
+checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
[[package]]
name = "automod"
@@ -1005,7 +916,7 @@ checksum = "edf3ee19dbc0a46d740f6f0926bde8c50f02bdbc7b536842da28f6ac56513a8b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -1021,13 +932,13 @@ dependencies = [
"futures-util",
"http 0.2.12",
"http-body 0.4.6",
- "hyper 0.14.29",
+ "hyper 0.14.31",
"itoa",
"matchit",
"memchr",
"mime",
"percent-encoding",
- "pin-project-lite 0.2.14",
+ "pin-project-lite 0.2.15",
"rustversion",
"serde",
"sync_wrapper 0.1.2",
@@ -1055,17 +966,17 @@ dependencies = [
[[package]]
name = "backtrace"
-version = "0.3.71"
+version = "0.3.74"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d"
+checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a"
dependencies = [
"addr2line",
- "cc",
"cfg-if",
"libc",
"miniz_oxide",
"object",
"rustc-demangle",
+ "windows-targets 0.52.6",
]
[[package]]
@@ -1115,16 +1026,14 @@ dependencies = [
[[package]]
name = "bindgen"
-version = "0.69.4"
+version = "0.70.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0"
+checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f"
dependencies = [
- "bitflags 2.5.0",
+ "bitflags 2.6.0",
"cexpr",
"clang-sys",
- "itertools 0.12.1",
- "lazy_static",
- "lazycell",
+ "itertools 0.13.0",
"log",
"prettyplease",
"proc-macro2",
@@ -1132,8 +1041,7 @@ dependencies = [
"regex",
"rustc-hash 1.1.0",
"shlex",
- "syn 2.0.85",
- "which",
+ "syn 2.0.87",
]
[[package]]
@@ -1144,9 +1052,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
-version = "2.5.0"
+version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
+checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
dependencies = [
"serde",
]
@@ -1213,15 +1121,15 @@ dependencies = [
"async-channel 2.3.1",
"async-task",
"futures-io",
- "futures-lite 2.3.0",
+ "futures-lite 2.4.0",
"piper",
]
[[package]]
name = "blst"
-version = "0.3.12"
+version = "0.3.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62dc83a094a71d43eeadd254b1ec2d24cb6a0bb6cadce00df51f0db594711a32"
+checksum = "4378725facc195f1a538864863f6de233b500a8862747e7f165078a419d5e874"
dependencies = [
"cc",
"glob",
@@ -1274,9 +1182,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[package]]
name = "bytes"
-version = "1.6.0"
+version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
+checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da"
dependencies = [
"serde",
]
@@ -1301,18 +1209,18 @@ dependencies = [
[[package]]
name = "cbor4ii"
-version = "0.3.2"
+version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59b4c883b9cc4757b061600d39001d4d0232bece4a3174696cf8f58a14db107d"
+checksum = "472931dd4dfcc785075b09be910147f9c6258883fc4591d0dac6116392b2daa6"
dependencies = [
"serde",
]
[[package]]
name = "cc"
-version = "1.1.13"
+version = "1.1.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72db2f7947ecee9b03b510377e8bb9077afa27176fdbff55c51027e976fdcc48"
+checksum = "baee610e9452a8f6f0a1b6194ec09ff9e2d85dea54432acdae41aa0761c95d70"
dependencies = [
"shlex",
]
@@ -1322,13 +1230,12 @@ name = "cdn-broker"
version = "0.4.0"
source = "git+https://github.com/EspressoSystems/Push-CDN?tag=0.5.3#f4c54c9055b9f958eacf7c5b1759a559910893cc"
dependencies = [
- "async-std",
"cdn-proto",
"clap",
- "console-subscriber 0.3.0",
+ "console-subscriber",
"dashmap",
"derivative",
- "jf-signature",
+ "jf-signature 0.1.0",
"lazy_static",
"local-ip-address",
"parking_lot",
@@ -1346,10 +1253,9 @@ name = "cdn-client"
version = "0.4.0"
source = "git+https://github.com/EspressoSystems/Push-CDN?tag=0.5.3#f4c54c9055b9f958eacf7c5b1759a559910893cc"
dependencies = [
- "async-std",
"cdn-proto",
"clap",
- "jf-signature",
+ "jf-signature 0.1.0",
"parking_lot",
"rand 0.8.5",
"tokio",
@@ -1362,10 +1268,9 @@ name = "cdn-marshal"
version = "0.4.0"
source = "git+https://github.com/EspressoSystems/Push-CDN?tag=0.5.3#f4c54c9055b9f958eacf7c5b1759a559910893cc"
dependencies = [
- "async-std",
"cdn-proto",
"clap",
- "jf-signature",
+ "jf-signature 0.1.0",
"tokio",
"tracing",
"tracing-subscriber 0.3.18",
@@ -1382,22 +1287,22 @@ dependencies = [
"capnp",
"capnpc",
"derivative",
- "jf-signature",
+ "jf-signature 0.1.0",
"kanal",
"lazy_static",
"mnemonic",
"num_enum",
"pem",
"prometheus",
- "quinn 0.11.5",
+ "quinn",
"rand 0.8.5",
"rcgen 0.13.1",
"redis",
"rkyv",
- "rustls 0.23.7",
+ "rustls 0.23.16",
"rustls-pki-types",
"sqlx",
- "thiserror",
+ "thiserror 1.0.68",
"tokio",
"tokio-rustls",
"tracing",
@@ -1420,6 +1325,12 @@ version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+[[package]]
+name = "cfg_aliases"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
+
[[package]]
name = "chrono"
version = "0.4.38"
@@ -1481,59 +1392,32 @@ version = "4.5.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab"
dependencies = [
- "heck 0.5.0",
+ "heck",
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
name = "clap_lex"
-version = "0.7.0"
+version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
+checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97"
[[package]]
name = "cmake"
-version = "0.1.50"
+version = "0.1.51"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130"
+checksum = "fb1e43aa7fd152b1f968787f7dbcdeb306d1867ff373c69955211876c053f91a"
dependencies = [
"cc",
]
-[[package]]
-name = "color-eyre"
-version = "0.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55146f5e46f237f7423d74111267d4597b59b0dad0ffaf7303bce9945d843ad5"
-dependencies = [
- "backtrace",
- "color-spantrace",
- "eyre",
- "indenter",
- "once_cell",
- "owo-colors",
- "tracing-error",
-]
-
-[[package]]
-name = "color-spantrace"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd6be1b2a7e382e2b98b43b2adcca6bb0e465af0bdd38123873ae61eb17a72c2"
-dependencies = [
- "once_cell",
- "owo-colors",
- "tracing-core",
- "tracing-error",
-]
-
[[package]]
name = "colorchoice"
-version = "1.0.1"
+version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422"
+checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990"
[[package]]
name = "combine"
@@ -1544,7 +1428,7 @@ dependencies = [
"bytes",
"futures-core",
"memchr",
- "pin-project-lite 0.2.14",
+ "pin-project-lite 0.2.15",
"tokio",
"tokio-util",
]
@@ -1578,14 +1462,13 @@ dependencies = [
[[package]]
name = "config"
-version = "0.14.0"
+version = "0.14.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7328b20597b53c2454f0b1919720c25c7339051c02b72b7e05409e00b14132be"
+checksum = "68578f196d2a33ff61b27fae256c3164f65e36382648e30666dde05b8cc9dfdf"
dependencies = [
"async-trait",
"convert_case 0.6.0",
"json5",
- "lazy_static",
"nom",
"pathdiff",
"ron",
@@ -1593,20 +1476,7 @@ dependencies = [
"serde",
"serde_json",
"toml",
- "yaml-rust",
-]
-
-[[package]]
-name = "console-api"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd326812b3fd01da5bb1af7d340d0d555fd3d4b641e7f1dfcf5962a902952787"
-dependencies = [
- "futures-core",
- "prost",
- "prost-types",
- "tonic 0.10.2",
- "tracing-core",
+ "yaml-rust2",
]
[[package]]
@@ -1618,32 +1488,8 @@ dependencies = [
"futures-core",
"prost",
"prost-types",
- "tonic 0.11.0",
- "tracing-core",
-]
-
-[[package]]
-name = "console-subscriber"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7481d4c57092cd1c19dd541b92bdce883de840df30aa5d03fd48a3935c01842e"
-dependencies = [
- "console-api 0.6.0",
- "crossbeam-channel",
- "crossbeam-utils",
- "futures-task",
- "hdrhistogram",
- "humantime",
- "prost-types",
- "serde",
- "serde_json",
- "thread_local",
- "tokio",
- "tokio-stream",
- "tonic 0.10.2",
- "tracing",
+ "tonic",
"tracing-core",
- "tracing-subscriber 0.3.18",
]
[[package]]
@@ -1652,7 +1498,7 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "31c4cc54bae66f7d9188996404abdf7fdfa23034ef8e43478c8810828abad758"
dependencies = [
- "console-api 0.7.0",
+ "console-api",
"crossbeam-channel",
"crossbeam-utils",
"futures-task",
@@ -1665,7 +1511,7 @@ dependencies = [
"thread_local",
"tokio",
"tokio-stream",
- "tonic 0.11.0",
+ "tonic",
"tracing",
"tracing-core",
"tracing-subscriber 0.3.18",
@@ -1705,9 +1551,9 @@ checksum = "373e9fafaa20882876db20562275ff58d50e0caa2590077fe7ce7bef90211d0d"
[[package]]
name = "constant_time_eq"
-version = "0.3.0"
+version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2"
+checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6"
[[package]]
name = "convert_case"
@@ -1753,9 +1599,9 @@ dependencies = [
[[package]]
name = "core-foundation-sys"
-version = "0.8.6"
+version = "0.8.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
+checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
[[package]]
name = "core2"
@@ -1768,9 +1614,9 @@ dependencies = [
[[package]]
name = "cpufeatures"
-version = "0.2.12"
+version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
+checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0"
dependencies = [
"libc",
]
@@ -1893,9 +1739,9 @@ dependencies = [
[[package]]
name = "csv"
-version = "1.3.0"
+version = "1.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe"
+checksum = "acdc4883a9c96732e4733212c01447ebd805833b7275a73ca3ee080fd77afdaf"
dependencies = [
"csv-core",
"itoa",
@@ -1932,7 +1778,7 @@ dependencies = [
"curve25519-dalek-derive",
"digest 0.10.7",
"fiat-crypto",
- "rustc_version 0.4.0",
+ "rustc_version 0.4.1",
"subtle",
"zeroize",
]
@@ -1945,7 +1791,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -1989,7 +1835,7 @@ dependencies = [
"proc-macro2",
"quote",
"strsim",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -2000,7 +1846,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806"
dependencies = [
"darling_core",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -2051,7 +1897,7 @@ checksum = "bc2323e10c92e1cf4d86e11538512e6dc03ceb586842970b6332af3d4046a046"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -2065,27 +1911,13 @@ dependencies = [
"zeroize",
]
-[[package]]
-name = "der-parser"
-version = "8.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbd676fbbab537128ef0278adb5576cf363cff6aa22a7b24effe97347cfab61e"
-dependencies = [
- "asn1-rs 0.5.2",
- "displaydoc",
- "nom",
- "num-bigint",
- "num-traits",
- "rusticata-macros",
-]
-
[[package]]
name = "der-parser"
version = "9.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5cd0a5c643689626bec213c4d8bd4d96acc8ffdb4ad4bb6bc16abf27d5f4b553"
dependencies = [
- "asn1-rs 0.6.1",
+ "asn1-rs",
"displaydoc",
"nom",
"num-bigint",
@@ -2116,13 +1948,13 @@ dependencies = [
[[package]]
name = "derive_arbitrary"
-version = "1.3.2"
+version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611"
+checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -2143,7 +1975,7 @@ dependencies = [
"darling",
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -2153,7 +1985,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c"
dependencies = [
"derive_builder_core",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -2165,8 +1997,8 @@ dependencies = [
"convert_case 0.4.0",
"proc-macro2",
"quote",
- "rustc_version 0.4.0",
- "syn 2.0.85",
+ "rustc_version 0.4.1",
+ "syn 2.0.87",
]
[[package]]
@@ -2186,7 +2018,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -2254,7 +2086,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -2290,11 +2122,6 @@ version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125"
-[[package]]
-name = "dyn-clone"
-version = "1.0.17"
-source = "git+https://github.com/dtolnay/dyn-clone?tag=1.0.17#51bf8816be5a73e38b59fd4d9dda2bc18e9c2429"
-
[[package]]
name = "ed25519"
version = "2.2.3"
@@ -2322,9 +2149,9 @@ dependencies = [
[[package]]
name = "edit-distance"
-version = "2.1.0"
+version = "2.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbbaaaf38131deb9ca518a274a45bfdb8771f139517b073b16c2d3d32ae5037b"
+checksum = "e3f497e87b038c09a155dfd169faa5ec940d0644635555ef6bd464ac20e97397"
[[package]]
name = "either"
@@ -2343,23 +2170,23 @@ checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d"
[[package]]
name = "encoding_rs"
-version = "0.8.34"
+version = "0.8.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59"
+checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3"
dependencies = [
"cfg-if",
]
[[package]]
name = "enum-as-inner"
-version = "0.6.0"
+version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a"
+checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc"
dependencies = [
- "heck 0.4.1",
+ "heck",
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -2435,17 +2262,6 @@ version = "2.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
-[[package]]
-name = "event-listener"
-version = "3.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2"
-dependencies = [
- "concurrent-queue",
- "parking",
- "pin-project-lite 0.2.14",
-]
-
[[package]]
name = "event-listener"
version = "5.3.1"
@@ -2454,7 +2270,7 @@ checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba"
dependencies = [
"concurrent-queue",
"parking",
- "pin-project-lite 0.2.14",
+ "pin-project-lite 0.2.15",
]
[[package]]
@@ -2464,17 +2280,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1"
dependencies = [
"event-listener 5.3.1",
- "pin-project-lite 0.2.14",
-]
-
-[[package]]
-name = "eyre"
-version = "0.6.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec"
-dependencies = [
- "indenter",
- "once_cell",
+ "pin-project-lite 0.2.15",
]
[[package]]
@@ -2488,9 +2294,9 @@ dependencies = [
[[package]]
name = "fastrand"
-version = "2.1.0"
+version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a"
+checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6"
[[package]]
name = "fiat-crypto"
@@ -2511,9 +2317,9 @@ dependencies = [
[[package]]
name = "flate2"
-version = "1.0.30"
+version = "1.0.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae"
+checksum = "a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0"
dependencies = [
"crc32fast",
"miniz_oxide",
@@ -2521,13 +2327,12 @@ dependencies = [
[[package]]
name = "flume"
-version = "0.11.0"
+version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181"
+checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095"
dependencies = [
"futures-core",
"futures-sink",
- "nanorand",
"spin 0.9.8",
]
@@ -2654,21 +2459,21 @@ dependencies = [
"futures-io",
"memchr",
"parking",
- "pin-project-lite 0.2.14",
+ "pin-project-lite 0.2.15",
"waker-fn",
]
[[package]]
name = "futures-lite"
-version = "2.3.0"
+version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5"
+checksum = "3f1fa2f9765705486b33fd2acf1577f8ec449c2ba1f318ae5447697b7c08d210"
dependencies = [
- "fastrand 2.1.0",
+ "fastrand 2.1.1",
"futures-core",
"futures-io",
"parking",
- "pin-project-lite 0.2.14",
+ "pin-project-lite 0.2.15",
]
[[package]]
@@ -2679,17 +2484,18 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
name = "futures-rustls"
-version = "0.24.0"
+version = "0.26.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35bd3cf68c183738046838e300353e4716c674dc5e56890de4826801a6622a28"
+checksum = "a8f2f12607f92c69b12ed746fabf9ca4f5c482cba46679c1a75b874ed7c26adb"
dependencies = [
"futures-io",
- "rustls 0.21.11",
+ "rustls 0.23.16",
+ "rustls-pki-types",
]
[[package]]
@@ -2734,7 +2540,7 @@ dependencies = [
"futures-sink",
"futures-task",
"memchr",
- "pin-project-lite 0.2.14",
+ "pin-project-lite 0.2.15",
"pin-utils",
"slab",
]
@@ -2774,10 +2580,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
dependencies = [
"cfg-if",
- "js-sys",
"libc",
"wasi 0.11.0+wasi-snapshot-preview1",
- "wasm-bindgen",
]
[[package]]
@@ -2792,9 +2596,9 @@ dependencies = [
[[package]]
name = "gimli"
-version = "0.28.1"
+version = "0.31.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
+checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
[[package]]
name = "glob"
@@ -2804,9 +2608,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
[[package]]
name = "gloo-timers"
-version = "0.2.6"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c"
+checksum = "bbb143cf96099802033e0d4f4963b19fd2e0b728bcf076cd9cf7f6634f092994"
dependencies = [
"futures-channel",
"futures-core",
@@ -2826,7 +2630,7 @@ dependencies = [
"futures-sink",
"futures-util",
"http 0.2.12",
- "indexmap 2.2.6",
+ "indexmap 2.6.0",
"slab",
"tokio",
"tokio-util",
@@ -2835,9 +2639,9 @@ dependencies = [
[[package]]
name = "h2"
-version = "0.4.5"
+version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab"
+checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205"
dependencies = [
"atomic-waker",
"bytes",
@@ -2845,7 +2649,7 @@ dependencies = [
"futures-core",
"futures-sink",
"http 1.1.0",
- "indexmap 2.2.6",
+ "indexmap 2.6.0",
"slab",
"tokio",
"tokio-util",
@@ -2882,15 +2686,24 @@ dependencies = [
[[package]]
name = "hashbrown"
-version = "0.15.0"
+version = "0.15.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb"
+checksum = "3a9bfc1af68b1726ea47d3d5109de126281def866b33970e10fbab11b5dafab3"
dependencies = [
"allocator-api2",
"equivalent",
"foldhash",
]
+[[package]]
+name = "hashlink"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7"
+dependencies = [
+ "hashbrown 0.14.5",
+]
+
[[package]]
name = "hashlink"
version = "0.9.1"
@@ -2937,12 +2750,6 @@ dependencies = [
"http 0.2.12",
]
-[[package]]
-name = "heck"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
-
[[package]]
name = "heck"
version = "0.5.0"
@@ -2955,6 +2762,12 @@ version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
+[[package]]
+name = "hermit-abi"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc"
+
[[package]]
name = "hex"
version = "0.4.3"
@@ -2991,7 +2804,7 @@ dependencies = [
"once_cell",
"rand 0.8.5",
"socket2 0.5.7",
- "thiserror",
+ "thiserror 1.0.68",
"tinyvec",
"tokio",
"tracing",
@@ -3014,7 +2827,7 @@ dependencies = [
"rand 0.8.5",
"resolv-conf",
"smallvec",
- "thiserror",
+ "thiserror 1.0.68",
"tokio",
"tracing",
]
@@ -3104,9 +2917,7 @@ version = "0.5.79"
dependencies = [
"anyhow",
"async-broadcast",
- "async-compatibility-layer",
- "async-lock 2.8.0",
- "async-std",
+ "async-lock 3.4.0",
"async-trait",
"bimap",
"bincode",
@@ -3127,7 +2938,7 @@ dependencies = [
"hotshot-task",
"hotshot-task-impls",
"hotshot-types",
- "jf-signature",
+ "jf-signature 0.2.0",
"libp2p-identity",
"libp2p-networking",
"lru 0.12.5",
@@ -3138,7 +2949,7 @@ dependencies = [
"serde",
"sha2 0.10.8",
"surf-disco",
- "thiserror",
+ "thiserror 2.0.3",
"time 0.3.36",
"tokio",
"toml",
@@ -3162,7 +2973,7 @@ dependencies = [
"hotshot-types",
"serde",
"tagged-base64",
- "thiserror",
+ "thiserror 2.0.3",
"tide-disco",
"toml",
"vbs",
@@ -3174,9 +2985,7 @@ version = "0.5.79"
dependencies = [
"anyhow",
"async-broadcast",
- "async-compatibility-layer",
- "async-lock 2.8.0",
- "async-std",
+ "async-lock 3.4.0",
"async-trait",
"bitvec",
"committable",
@@ -3188,12 +2997,13 @@ dependencies = [
"hotshot-task",
"hotshot-task-impls",
"hotshot-types",
+ "jf-vid",
"rand 0.8.5",
"reqwest",
"serde",
"sha2 0.10.8",
"sha3",
- "thiserror",
+ "thiserror 2.0.3",
"time 0.3.36",
"tokio",
"tracing",
@@ -3207,9 +3017,7 @@ version = "0.5.79"
dependencies = [
"anyhow",
"async-broadcast",
- "async-compatibility-layer",
- "async-lock 2.8.0",
- "async-std",
+ "async-lock 3.4.0",
"async-trait",
"bimap",
"blake3",
@@ -3240,7 +3048,7 @@ dependencies = [
"serde",
"sha2 0.10.8",
"surf-disco",
- "thiserror",
+ "thiserror 2.0.3",
"time 0.3.36",
"tokio",
"toml",
@@ -3256,8 +3064,7 @@ name = "hotshot-fakeapi"
version = "0.5.79"
dependencies = [
"anyhow",
- "async-compatibility-layer",
- "async-lock 2.8.0",
+ "async-lock 3.4.0",
"async-trait",
"futures",
"hotshot-example-types",
@@ -3265,6 +3072,7 @@ dependencies = [
"rand 0.8.5",
"serde",
"tide-disco",
+ "tokio",
"toml",
"tracing",
"vbs",
@@ -3277,7 +3085,7 @@ dependencies = [
"derive_builder",
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -3285,9 +3093,7 @@ name = "hotshot-orchestrator"
version = "0.5.79"
dependencies = [
"anyhow",
- "async-compatibility-layer",
- "async-lock 2.8.0",
- "async-std",
+ "async-lock 3.4.0",
"bincode",
"blake3",
"clap",
@@ -3299,7 +3105,7 @@ dependencies = [
"serde",
"serde_json",
"surf-disco",
- "thiserror",
+ "thiserror 2.0.3",
"tide-disco",
"tokio",
"toml",
@@ -3322,7 +3128,7 @@ dependencies = [
"hotshot-types",
"jf-crhf",
"jf-rescue",
- "jf-signature",
+ "jf-signature 0.2.0",
"jf-utils",
"rand_chacha 0.3.1",
"serde",
@@ -3335,8 +3141,6 @@ version = "0.5.79"
dependencies = [
"anyhow",
"async-broadcast",
- "async-compatibility-layer",
- "async-std",
"async-trait",
"futures",
"tokio",
@@ -3350,9 +3154,7 @@ version = "0.5.79"
dependencies = [
"anyhow",
"async-broadcast",
- "async-compatibility-layer",
- "async-lock 2.8.0",
- "async-std",
+ "async-lock 3.4.0",
"async-trait",
"bincode",
"bitvec",
@@ -3364,14 +3166,15 @@ dependencies = [
"hotshot-builder-api",
"hotshot-task",
"hotshot-types",
- "jf-signature",
+ "jf-signature 0.2.0",
"jf-vid",
+ "lru 0.12.5",
"rand 0.8.5",
"serde",
"sha2 0.10.8",
"surf-disco",
"tagged-base64",
- "thiserror",
+ "thiserror 2.0.3",
"time 0.3.36",
"tokio",
"tracing",
@@ -3387,9 +3190,7 @@ version = "0.5.79"
dependencies = [
"anyhow",
"async-broadcast",
- "async-compatibility-layer",
- "async-lock 2.8.0",
- "async-std",
+ "async-lock 3.4.0",
"async-trait",
"automod",
"bitvec",
@@ -3407,7 +3208,7 @@ dependencies = [
"hotshot-task-impls",
"hotshot-types",
"itertools 0.13.0",
- "jf-signature",
+ "jf-signature 0.2.0",
"jf-vid",
"lru 0.12.5",
"portpicker",
@@ -3417,7 +3218,7 @@ dependencies = [
"sha2 0.10.8",
"sha3",
"tagged-base64",
- "thiserror",
+ "thiserror 2.0.3",
"tide-disco",
"tokio",
"tracing",
@@ -3437,9 +3238,7 @@ dependencies = [
"ark-serialize",
"ark-srs",
"ark-std",
- "async-compatibility-layer",
- "async-lock 2.8.0",
- "async-std",
+ "async-lock 3.4.0",
"async-trait",
"bincode",
"bitvec",
@@ -3451,13 +3250,13 @@ dependencies = [
"derivative",
"digest 0.10.7",
"displaydoc",
- "dyn-clone 1.0.17 (git+https://github.com/dtolnay/dyn-clone?tag=1.0.17)",
+ "dyn-clone",
"either",
"espresso-systems-common",
"ethereum-types",
"futures",
"jf-pcs",
- "jf-signature",
+ "jf-signature 0.2.0",
"jf-utils",
"jf-vid",
"lazy_static",
@@ -3473,7 +3272,7 @@ dependencies = [
"sha2 0.10.8",
"surf-disco",
"tagged-base64",
- "thiserror",
+ "thiserror 2.0.3",
"time 0.3.36",
"tokio",
"toml",
@@ -3515,14 +3314,14 @@ checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
dependencies = [
"bytes",
"http 0.2.12",
- "pin-project-lite 0.2.14",
+ "pin-project-lite 0.2.15",
]
[[package]]
name = "http-body"
-version = "1.0.0"
+version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643"
+checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184"
dependencies = [
"bytes",
"http 1.1.0",
@@ -3530,15 +3329,15 @@ dependencies = [
[[package]]
name = "http-body-util"
-version = "0.1.1"
+version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d"
+checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f"
dependencies = [
"bytes",
- "futures-core",
+ "futures-util",
"http 1.1.0",
- "http-body 1.0.0",
- "pin-project-lite 0.2.14",
+ "http-body 1.0.1",
+ "pin-project-lite 0.2.15",
]
[[package]]
@@ -3566,7 +3365,7 @@ dependencies = [
"cookie",
"futures-lite 1.13.0",
"infer",
- "pin-project-lite 0.2.14",
+ "pin-project-lite 0.2.15",
"rand 0.7.3",
"serde",
"serde_json",
@@ -3577,9 +3376,9 @@ dependencies = [
[[package]]
name = "httparse"
-version = "1.8.0"
+version = "1.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
+checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946"
[[package]]
name = "httpdate"
@@ -3595,9 +3394,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
[[package]]
name = "hyper"
-version = "0.14.29"
+version = "0.14.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33"
+checksum = "8c08302e8fa335b151b788c775ff56e7a03ae64ff85c548ee820fecb70356e85"
dependencies = [
"bytes",
"futures-channel",
@@ -3609,7 +3408,7 @@ dependencies = [
"httparse",
"httpdate",
"itoa",
- "pin-project-lite 0.2.14",
+ "pin-project-lite 0.2.15",
"socket2 0.5.7",
"tokio",
"tower-service",
@@ -3619,19 +3418,19 @@ dependencies = [
[[package]]
name = "hyper"
-version = "1.3.1"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d"
+checksum = "bbbff0a806a4728c99295b254c8838933b5b082d75e3cb70c8dab21fdfbcfa9a"
dependencies = [
"bytes",
"futures-channel",
"futures-util",
- "h2 0.4.5",
+ "h2 0.4.6",
"http 1.1.0",
- "http-body 1.0.0",
+ "http-body 1.0.1",
"httparse",
"itoa",
- "pin-project-lite 0.2.14",
+ "pin-project-lite 0.2.15",
"smallvec",
"tokio",
"want",
@@ -3639,15 +3438,15 @@ dependencies = [
[[package]]
name = "hyper-rustls"
-version = "0.27.2"
+version = "0.27.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155"
+checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333"
dependencies = [
"futures-util",
"http 1.1.0",
- "hyper 1.3.1",
+ "hyper 1.5.0",
"hyper-util",
- "rustls 0.23.7",
+ "rustls 0.23.16",
"rustls-pki-types",
"tokio",
"tokio-rustls",
@@ -3660,8 +3459,8 @@ version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1"
dependencies = [
- "hyper 0.14.29",
- "pin-project-lite 0.2.14",
+ "hyper 0.14.31",
+ "pin-project-lite 0.2.15",
"tokio",
"tokio-io-timeout",
]
@@ -3674,7 +3473,7 @@ checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0"
dependencies = [
"bytes",
"http-body-util",
- "hyper 1.3.1",
+ "hyper 1.5.0",
"hyper-util",
"native-tls",
"tokio",
@@ -3684,36 +3483,35 @@ dependencies = [
[[package]]
name = "hyper-util"
-version = "0.1.5"
+version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56"
+checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4"
dependencies = [
"bytes",
"futures-channel",
"futures-util",
"http 1.1.0",
- "http-body 1.0.0",
- "hyper 1.3.1",
- "pin-project-lite 0.2.14",
+ "http-body 1.0.1",
+ "hyper 1.5.0",
+ "pin-project-lite 0.2.15",
"socket2 0.5.7",
"tokio",
- "tower",
"tower-service",
"tracing",
]
[[package]]
name = "iana-time-zone"
-version = "0.1.60"
+version = "0.1.61"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141"
+checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220"
dependencies = [
"android_system_properties",
"core-foundation-sys",
"iana-time-zone-haiku",
"js-sys",
"wasm-bindgen",
- "windows-core",
+ "windows-core 0.52.0",
]
[[package]]
@@ -3758,6 +3556,124 @@ dependencies = [
"bitflags 1.3.2",
]
+[[package]]
+name = "icu_collections"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526"
+dependencies = [
+ "displaydoc",
+ "yoke",
+ "zerofrom",
+ "zerovec",
+]
+
+[[package]]
+name = "icu_locid"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637"
+dependencies = [
+ "displaydoc",
+ "litemap",
+ "tinystr",
+ "writeable",
+ "zerovec",
+]
+
+[[package]]
+name = "icu_locid_transform"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e"
+dependencies = [
+ "displaydoc",
+ "icu_locid",
+ "icu_locid_transform_data",
+ "icu_provider",
+ "tinystr",
+ "zerovec",
+]
+
+[[package]]
+name = "icu_locid_transform_data"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e"
+
+[[package]]
+name = "icu_normalizer"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f"
+dependencies = [
+ "displaydoc",
+ "icu_collections",
+ "icu_normalizer_data",
+ "icu_properties",
+ "icu_provider",
+ "smallvec",
+ "utf16_iter",
+ "utf8_iter",
+ "write16",
+ "zerovec",
+]
+
+[[package]]
+name = "icu_normalizer_data"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516"
+
+[[package]]
+name = "icu_properties"
+version = "1.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5"
+dependencies = [
+ "displaydoc",
+ "icu_collections",
+ "icu_locid_transform",
+ "icu_properties_data",
+ "icu_provider",
+ "tinystr",
+ "zerovec",
+]
+
+[[package]]
+name = "icu_properties_data"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569"
+
+[[package]]
+name = "icu_provider"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9"
+dependencies = [
+ "displaydoc",
+ "icu_locid",
+ "icu_provider_macros",
+ "stable_deref_trait",
+ "tinystr",
+ "writeable",
+ "yoke",
+ "zerofrom",
+ "zerovec",
+]
+
+[[package]]
+name = "icu_provider_macros"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.87",
+]
+
[[package]]
name = "ident_case"
version = "1.0.1"
@@ -3776,12 +3692,23 @@ dependencies = [
[[package]]
name = "idna"
-version = "0.5.0"
+version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
+checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e"
dependencies = [
- "unicode-bidi",
- "unicode-normalization",
+ "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]]
@@ -3800,7 +3727,7 @@ version = "3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d6b0422c86d7ce0e97169cc42e04ae643caf278874a7a3c87b8150a220dc7e1e"
dependencies = [
- "async-io 2.3.3",
+ "async-io 2.3.4",
"core-foundation",
"fnv",
"futures",
@@ -3808,7 +3735,6 @@ dependencies = [
"ipnet",
"log",
"rtnetlink",
- "smol",
"system-configuration 0.5.1",
"tokio",
"windows",
@@ -3825,7 +3751,7 @@ dependencies = [
"bytes",
"futures",
"http 0.2.12",
- "hyper 0.14.29",
+ "hyper 0.14.31",
"log",
"rand 0.8.5",
"tokio",
@@ -3844,29 +3770,23 @@ dependencies = [
[[package]]
name = "include_dir"
-version = "0.7.3"
+version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18762faeff7122e89e0857b02f7ce6fcc0d101d5e9ad2ad7846cc01d61b7f19e"
+checksum = "923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd"
dependencies = [
"include_dir_macros",
]
[[package]]
name = "include_dir_macros"
-version = "0.7.3"
+version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b139284b5cf57ecfa712bcc66950bb635b31aff41c188e8a4cfc758eca374a3f"
+checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75"
dependencies = [
"proc-macro2",
"quote",
]
-[[package]]
-name = "indenter"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683"
-
[[package]]
name = "indexmap"
version = "1.9.3"
@@ -3880,12 +3800,12 @@ dependencies = [
[[package]]
name = "indexmap"
-version = "2.2.6"
+version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
+checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da"
dependencies = [
"equivalent",
- "hashbrown 0.14.5",
+ "hashbrown 0.15.1",
"serde",
]
@@ -3919,7 +3839,7 @@ version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
dependencies = [
- "hermit-abi",
+ "hermit-abi 0.3.9",
"libc",
"windows-sys 0.48.0",
]
@@ -3938,15 +3858,15 @@ dependencies = [
[[package]]
name = "ipnet"
-version = "2.9.0"
+version = "2.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
+checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708"
[[package]]
name = "is_terminal_polyfill"
-version = "1.70.0"
+version = "1.70.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800"
+checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
[[package]]
name = "itertools"
@@ -4082,7 +4002,7 @@ dependencies = [
"derivative",
"displaydoc",
"downcast-rs",
- "dyn-clone 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)",
+ "dyn-clone",
"hashbrown 0.14.5",
"itertools 0.12.1",
"jf-utils",
@@ -4144,6 +4064,35 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "jf-signature"
+version = "0.2.0"
+source = "git+https://github.com/EspressoSystems/jellyfish?tag=jf-signature-v0.2.0#ca160ce3452b560cad512b750a742a87c48c5881"
+dependencies = [
+ "ark-bls12-381",
+ "ark-bn254",
+ "ark-ec",
+ "ark-ff",
+ "ark-serialize",
+ "ark-std",
+ "blst",
+ "derivative",
+ "digest 0.10.7",
+ "displaydoc",
+ "hashbrown 0.14.5",
+ "itertools 0.12.1",
+ "jf-crhf",
+ "jf-relation",
+ "jf-rescue",
+ "jf-utils",
+ "num-bigint",
+ "num-traits",
+ "serde",
+ "sha3",
+ "tagged-base64",
+ "zeroize",
+]
+
[[package]]
name = "jf-utils"
version = "0.4.4"
@@ -4191,9 +4140,9 @@ dependencies = [
[[package]]
name = "js-sys"
-version = "0.3.69"
+version = "0.3.72"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
+checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9"
dependencies = [
"wasm-bindgen",
]
@@ -4246,23 +4195,17 @@ dependencies = [
"spin 0.9.8",
]
-[[package]]
-name = "lazycell"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
-
[[package]]
name = "libc"
-version = "0.2.155"
+version = "0.2.162"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
+checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398"
[[package]]
name = "libloading"
-version = "0.8.3"
+version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19"
+checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4"
dependencies = [
"cfg-if",
"windows-targets 0.52.6",
@@ -4270,9 +4213,9 @@ dependencies = [
[[package]]
name = "libm"
-version = "0.2.8"
+version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
+checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa"
[[package]]
name = "libp2p"
@@ -4305,7 +4248,7 @@ dependencies = [
"multiaddr",
"pin-project",
"rw-stream-sink",
- "thiserror",
+ "thiserror 1.0.68",
]
[[package]]
@@ -4355,15 +4298,14 @@ dependencies = [
[[package]]
name = "libp2p-core"
-version = "0.41.2"
+version = "0.41.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8130a8269e65a2554d55131c770bdf4bcd94d2b8d4efb24ca23699be65066c05"
+checksum = "a5a8920cbd8540059a01950c1e5c96ea8d89eb50c51cd366fc18bdf540a6e48f"
dependencies = [
"either",
"fnv",
"futures",
"futures-timer",
- "instant",
"libp2p-identity",
"multiaddr",
"multihash",
@@ -4376,10 +4318,11 @@ dependencies = [
"rw-stream-sink",
"serde",
"smallvec",
- "thiserror",
+ "thiserror 1.0.68",
"tracing",
"unsigned-varint 0.8.0",
"void",
+ "web-time",
]
[[package]]
@@ -4388,7 +4331,6 @@ version = "0.41.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d17cbcf7160ff35c3e8e560de4a068fe9d6cb777ea72840e48eb76ff9576c4b6"
dependencies = [
- "async-std-resolver",
"async-trait",
"futures",
"hickory-resolver",
@@ -4449,7 +4391,7 @@ dependencies = [
"quick-protobuf",
"quick-protobuf-codec 0.3.1",
"smallvec",
- "thiserror",
+ "thiserror 1.0.68",
"tracing",
"void",
]
@@ -4470,7 +4412,7 @@ dependencies = [
"rand 0.8.5",
"serde",
"sha2 0.10.8",
- "thiserror",
+ "thiserror 1.0.68",
"tracing",
"zeroize",
]
@@ -4499,7 +4441,7 @@ dependencies = [
"serde",
"sha2 0.10.8",
"smallvec",
- "thiserror",
+ "thiserror 1.0.68",
"tracing",
"uint",
"void",
@@ -4511,8 +4453,6 @@ version = "0.45.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49007d9a339b3e1d7eeebc4d67c05dbf23d300b7d091193ec2d3f26802d7faf2"
dependencies = [
- "async-io 2.3.3",
- "async-std",
"data-encoding",
"futures",
"hickory-proto",
@@ -4551,9 +4491,7 @@ name = "libp2p-networking"
version = "0.5.79"
dependencies = [
"anyhow",
- "async-compatibility-layer",
- "async-lock 2.8.0",
- "async-std",
+ "async-lock 3.4.0",
"async-trait",
"bincode",
"blake3",
@@ -4563,6 +4501,7 @@ dependencies = [
"derive_builder",
"either",
"futures",
+ "hotshot-example-types",
"hotshot-types",
"lazy_static",
"libp2p",
@@ -4574,21 +4513,21 @@ dependencies = [
"serde",
"serde_bytes",
"serde_json",
- "thiserror",
+ "thiserror 2.0.3",
"tide",
"tokio",
"tokio-stream",
"tracing",
+ "tracing-subscriber 0.3.18",
"void",
]
[[package]]
name = "libp2p-quic"
-version = "0.10.2"
+version = "0.10.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0375cdfee57b47b313ef1f0fdb625b78aed770d33a40cf1c294a371ff5e6666"
+checksum = "c67296ad4e092e23f92aea3d2bdb6f24eab79c0929ed816dfb460ea2f4567d2b"
dependencies = [
- "async-std",
"bytes",
"futures",
"futures-timer",
@@ -4597,12 +4536,12 @@ dependencies = [
"libp2p-identity",
"libp2p-tls",
"parking_lot",
- "quinn 0.10.2",
+ "quinn",
"rand 0.8.5",
- "ring 0.16.20",
- "rustls 0.21.11",
+ "ring 0.17.8",
+ "rustls 0.23.16",
"socket2 0.5.7",
- "thiserror",
+ "thiserror 1.0.68",
"tokio",
"tracing",
]
@@ -4635,7 +4574,6 @@ version = "0.44.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "80cae6cb75f89dbca53862f9ebe0b9f463aa7b302762fcfaafb9e51dcc9b0f7e"
dependencies = [
- "async-std",
"either",
"fnv",
"futures",
@@ -4660,10 +4598,10 @@ version = "0.34.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5daceb9dd908417b6dfcfe8e94098bc4aac54500c282e78120b885dadc09b999"
dependencies = [
- "heck 0.5.0",
+ "heck",
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -4672,7 +4610,6 @@ version = "0.41.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b2460fc2748919adff99ecbc1aab296e4579e41f374fb164149bd2c9e529d4c"
dependencies = [
- "async-io 1.13.0",
"futures",
"futures-timer",
"if-watch",
@@ -4686,20 +4623,20 @@ dependencies = [
[[package]]
name = "libp2p-tls"
-version = "0.3.0"
+version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93ce7e3c2e7569d685d08ec795157981722ff96e9e9f9eae75df3c29d02b07a5"
+checksum = "72b7b831e55ce2aa6c354e6861a85fdd4dd0a2b97d5e276fabac0e4810a71776"
dependencies = [
"futures",
"futures-rustls",
"libp2p-core",
"libp2p-identity",
"rcgen 0.11.3",
- "ring 0.16.20",
- "rustls 0.21.11",
+ "ring 0.17.8",
+ "rustls 0.23.16",
"rustls-webpki 0.101.7",
- "thiserror",
- "x509-parser 0.15.1",
+ "thiserror 1.0.68",
+ "x509-parser",
"yasna",
]
@@ -4725,7 +4662,7 @@ version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
dependencies = [
- "bitflags 2.5.0",
+ "bitflags 2.6.0",
"libc",
]
@@ -4806,6 +4743,12 @@ version = "0.4.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
+[[package]]
+name = "litemap"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704"
+
[[package]]
name = "local-ip-address"
version = "0.6.3"
@@ -4814,7 +4757,7 @@ checksum = "3669cf5561f8d27e8fc84cc15e58350e70f557d4d65f70e3154e54cd2f8e1782"
dependencies = [
"libc",
"neli",
- "thiserror",
+ "thiserror 1.0.68",
"windows-sys 0.59.0",
]
@@ -4830,9 +4773,9 @@ dependencies = [
[[package]]
name = "log"
-version = "0.4.21"
+version = "0.4.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
+checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
dependencies = [
"value-bag",
]
@@ -4852,7 +4795,7 @@ version = "0.12.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38"
dependencies = [
- "hashbrown 0.15.0",
+ "hashbrown 0.15.1",
]
[[package]]
@@ -4916,7 +4859,7 @@ dependencies = [
"proc-macro-error",
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -4931,9 +4874,9 @@ dependencies = [
[[package]]
name = "memchr"
-version = "2.7.2"
+version = "2.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
+checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
[[package]]
name = "memoize"
@@ -4978,9 +4921,9 @@ 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",
@@ -4994,20 +4937,20 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
[[package]]
name = "miniz_oxide"
-version = "0.7.3"
+version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae"
+checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1"
dependencies = [
- "adler",
+ "adler2",
]
[[package]]
name = "mio"
-version = "1.0.1"
+version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4569e456d394deccd22ce1c1913e6ea0e54519f577285001215d33557431afe4"
+checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec"
dependencies = [
- "hermit-abi",
+ "hermit-abi 0.3.9",
"libc",
"wasi 0.11.0+wasi-snapshot-preview1",
"windows-sys 0.52.0",
@@ -5021,9 +4964,9 @@ checksum = "f2b8f3a258db515d5e91a904ce4ae3f73e091149b90cadbdb93d210bee07f63b"
[[package]]
name = "multiaddr"
-version = "0.18.1"
+version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b852bc02a2da5feed68cd14fa50d0774b92790a5bdbfa932a813926c8472070"
+checksum = "fe6351f60b488e04c1d21bc69e56b89cb3f5e8f5d22557d6e8031bdfd79b6961"
dependencies = [
"arrayref",
"byteorder",
@@ -5034,7 +4977,7 @@ dependencies = [
"percent-encoding",
"serde",
"static_assertions",
- "unsigned-varint 0.7.2",
+ "unsigned-varint 0.8.0",
"url",
]
@@ -5051,13 +4994,13 @@ dependencies = [
[[package]]
name = "multihash"
-version = "0.19.1"
+version = "0.19.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "076d548d76a0e2a0d4ab471d0b1c36c577786dfc4471242035d97a12a735c492"
+checksum = "cc41f430805af9d1cf4adae4ed2149c759b877b01d909a1f40256188d09345d2"
dependencies = [
"core2",
"serde",
- "unsigned-varint 0.7.2",
+ "unsigned-varint 0.8.0",
]
[[package]]
@@ -5074,15 +5017,6 @@ dependencies = [
"unsigned-varint 0.7.2",
]
-[[package]]
-name = "nanorand"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3"
-dependencies = [
- "getrandom 0.2.15",
-]
-
[[package]]
name = "native-tls"
version = "0.2.12"
@@ -5160,7 +5094,7 @@ dependencies = [
"anyhow",
"byteorder",
"paste",
- "thiserror",
+ "thiserror 1.0.68",
]
[[package]]
@@ -5174,7 +5108,7 @@ dependencies = [
"log",
"netlink-packet-core",
"netlink-sys",
- "thiserror",
+ "thiserror 1.0.68",
"tokio",
]
@@ -5184,7 +5118,6 @@ version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "416060d346fbaf1f23f9512963e3e878f1a78e707cb699ba9215761754244307"
dependencies = [
- "async-io 1.13.0",
"bytes",
"futures",
"libc",
@@ -5292,7 +5225,7 @@ version = "1.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
dependencies = [
- "hermit-abi",
+ "hermit-abi 0.3.9",
"libc",
]
@@ -5314,41 +5247,32 @@ dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
name = "object"
-version = "0.32.2"
+version = "0.36.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
+checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e"
dependencies = [
"memchr",
]
[[package]]
name = "oid-registry"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff"
-dependencies = [
- "asn1-rs 0.5.2",
-]
-
-[[package]]
-name = "oid-registry"
-version = "0.7.0"
+version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c958dd45046245b9c3c2547369bb634eb461670b2e7e0de552905801a648d1d"
+checksum = "a8d8034d9489cdaf79228eb9f6a3b8d7bb32ba00d6645ebd48eef4077ceb5bd9"
dependencies = [
- "asn1-rs 0.6.1",
+ "asn1-rs",
]
[[package]]
name = "once_cell"
-version = "1.19.0"
+version = "1.20.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
[[package]]
name = "opaque-debug"
@@ -5358,11 +5282,11 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
[[package]]
name = "openssl"
-version = "0.10.66"
+version = "0.10.68"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1"
+checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5"
dependencies = [
- "bitflags 2.5.0",
+ "bitflags 2.6.0",
"cfg-if",
"foreign-types",
"libc",
@@ -5379,7 +5303,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -5390,9 +5314,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
[[package]]
name = "openssl-sys"
-version = "0.9.103"
+version = "0.9.104"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6"
+checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741"
dependencies = [
"cc",
"libc",
@@ -5408,12 +5332,12 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
[[package]]
name = "ordered-multimap"
-version = "0.6.0"
+version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ed8acf08e98e744e5384c8bc63ceb0364e68a6854187221c18df61c4797690e"
+checksum = "49203cdcae0030493bad186b28da2fa25645fa276a51b6fec8010d281e02ef79"
dependencies = [
"dlv-list",
- "hashbrown 0.13.2",
+ "hashbrown 0.14.5",
]
[[package]]
@@ -5422,17 +5346,11 @@ version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
-[[package]]
-name = "owo-colors"
-version = "3.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f"
-
[[package]]
name = "parking"
-version = "2.2.0"
+version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
+checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba"
[[package]]
name = "parking_lot"
@@ -5452,7 +5370,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
dependencies = [
"cfg-if",
"libc",
- "redox_syscall 0.5.1",
+ "redox_syscall",
"smallvec",
"windows-targets 0.52.6",
]
@@ -5465,9 +5383,9 @@ checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
[[package]]
name = "pathdiff"
-version = "0.2.1"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
+checksum = "d61c5ce1153ab5b689d0c074c4e7fc613e942dfb7dd9eea5ab202d2ad91fe361"
[[package]]
name = "pem"
@@ -5496,20 +5414,20 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
[[package]]
name = "pest"
-version = "2.7.10"
+version = "2.7.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8"
+checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442"
dependencies = [
"memchr",
- "thiserror",
+ "thiserror 1.0.68",
"ucd-trie",
]
[[package]]
name = "pest_derive"
-version = "2.7.10"
+version = "2.7.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26293c9193fbca7b1a3bf9b79dc1e388e927e6cacaa78b4a3ab705a1d3d41459"
+checksum = "d214365f632b123a47fd913301e14c946c61d1c183ee245fa76eb752e59a02dd"
dependencies = [
"pest",
"pest_generator",
@@ -5517,22 +5435,22 @@ dependencies = [
[[package]]
name = "pest_generator"
-version = "2.7.10"
+version = "2.7.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ec22af7d3fb470a85dd2ca96b7c577a1eb4ef6f1683a9fe9a8c16e136c04687"
+checksum = "eb55586734301717aea2ac313f50b2eb8f60d2fc3dc01d190eefa2e625f60c4e"
dependencies = [
"pest",
"pest_meta",
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
name = "pest_meta"
-version = "2.7.10"
+version = "2.7.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7a240022f37c361ec1878d646fc5b7d7c4d28d5946e1a80ad5a7a4f4ca0bdcd"
+checksum = "b75da2a70cf4d9cb76833c990ac9cd3923c9a8905a8929789ce347c84564d03d"
dependencies = [
"once_cell",
"pest",
@@ -5541,22 +5459,22 @@ dependencies = [
[[package]]
name = "pin-project"
-version = "1.1.6"
+version = "1.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf123a161dde1e524adf36f90bc5d8d3462824a9c43553ad07a8183161189ec"
+checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95"
dependencies = [
"pin-project-internal",
]
[[package]]
name = "pin-project-internal"
-version = "1.1.6"
+version = "1.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4502d8515ca9f32f1fb543d987f63d95a14934883db45bdb48060b6b69257f8"
+checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -5567,9 +5485,9 @@ checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777"
[[package]]
name = "pin-project-lite"
-version = "0.2.14"
+version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"
+checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff"
[[package]]
name = "pin-utils"
@@ -5585,12 +5503,12 @@ checksum = "d15b6607fa632996eb8a17c9041cb6071cb75ac057abd45dece578723ea8c7c0"
[[package]]
name = "piper"
-version = "0.2.3"
+version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae1d5c74c9876f070d3e8fd503d748c7d974c3e48da8f41350fa5222ef9b4391"
+checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066"
dependencies = [
"atomic-waker",
- "fastrand 2.1.0",
+ "fastrand 2.1.1",
"futures-io",
]
@@ -5617,9 +5535,9 @@ dependencies = [
[[package]]
name = "pkg-config"
-version = "0.3.30"
+version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
+checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2"
[[package]]
name = "polling"
@@ -5633,23 +5551,23 @@ dependencies = [
"concurrent-queue",
"libc",
"log",
- "pin-project-lite 0.2.14",
+ "pin-project-lite 0.2.15",
"windows-sys 0.48.0",
]
[[package]]
name = "polling"
-version = "3.7.1"
+version = "3.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e6a007746f34ed64099e88783b0ae369eaa3da6392868ba262e2af9b8fbaea1"
+checksum = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f"
dependencies = [
"cfg-if",
"concurrent-queue",
- "hermit-abi",
- "pin-project-lite 0.2.14",
- "rustix 0.38.34",
+ "hermit-abi 0.4.0",
+ "pin-project-lite 0.2.15",
+ "rustix 0.38.39",
"tracing",
- "windows-sys 0.52.0",
+ "windows-sys 0.59.0",
]
[[package]]
@@ -5680,18 +5598,21 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
[[package]]
name = "ppv-lite86"
-version = "0.2.17"
+version = "0.2.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04"
+dependencies = [
+ "zerocopy",
+]
[[package]]
name = "prettyplease"
-version = "0.2.20"
+version = "0.2.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e"
+checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033"
dependencies = [
"proc-macro2",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -5707,11 +5628,11 @@ dependencies = [
[[package]]
name = "proc-macro-crate"
-version = "3.1.0"
+version = "3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284"
+checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b"
dependencies = [
- "toml_edit 0.21.1",
+ "toml_edit",
]
[[package]]
@@ -5764,14 +5685,14 @@ dependencies = [
"memchr",
"parking_lot",
"protobuf",
- "thiserror",
+ "thiserror 1.0.68",
]
[[package]]
name = "prometheus-client"
-version = "0.22.2"
+version = "0.22.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1ca959da22a332509f2a73ae9e5f23f9dcfc31fd3a54d71f159495bd5909baa"
+checksum = "504ee9ff529add891127c4827eb481bd69dc0ebc72e9a682e187db4caa60c3ca"
dependencies = [
"dtoa",
"itoa",
@@ -5787,7 +5708,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -5810,7 +5731,7 @@ dependencies = [
"itertools 0.12.1",
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -5872,7 +5793,7 @@ dependencies = [
"asynchronous-codec 0.6.2",
"bytes",
"quick-protobuf",
- "thiserror",
+ "thiserror 1.0.68",
"unsigned-varint 0.7.2",
]
@@ -5885,65 +5806,29 @@ dependencies = [
"asynchronous-codec 0.7.0",
"bytes",
"quick-protobuf",
- "thiserror",
+ "thiserror 1.0.68",
"unsigned-varint 0.8.0",
]
[[package]]
name = "quinn"
-version = "0.10.2"
+version = "0.11.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8cc2c5017e4b43d5995dcea317bc46c1e09404c0a9664d2908f7f02dfe943d75"
+checksum = "8c7c5fdde3cdae7203427dc4f0a68fe0ed09833edc525a03456b153b79828684"
dependencies = [
- "async-io 1.13.0",
- "async-std",
"bytes",
"futures-io",
- "pin-project-lite 0.2.14",
- "quinn-proto 0.10.6",
- "quinn-udp 0.4.1",
- "rustc-hash 1.1.0",
- "rustls 0.21.11",
- "thiserror",
- "tokio",
- "tracing",
-]
-
-[[package]]
-name = "quinn"
-version = "0.11.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c7c5fdde3cdae7203427dc4f0a68fe0ed09833edc525a03456b153b79828684"
-dependencies = [
- "bytes",
- "pin-project-lite 0.2.14",
- "quinn-proto 0.11.8",
- "quinn-udp 0.5.4",
+ "pin-project-lite 0.2.15",
+ "quinn-proto",
+ "quinn-udp",
"rustc-hash 2.0.0",
- "rustls 0.23.7",
+ "rustls 0.23.16",
"socket2 0.5.7",
- "thiserror",
+ "thiserror 1.0.68",
"tokio",
"tracing",
]
-[[package]]
-name = "quinn-proto"
-version = "0.10.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "141bf7dfde2fbc246bfd3fe12f2455aa24b0fbd9af535d8c86c7bd1381ff2b1a"
-dependencies = [
- "bytes",
- "rand 0.8.5",
- "ring 0.16.20",
- "rustc-hash 1.1.0",
- "rustls 0.21.11",
- "slab",
- "thiserror",
- "tinyvec",
- "tracing",
-]
-
[[package]]
name = "quinn-proto"
version = "0.11.8"
@@ -5954,37 +5839,25 @@ dependencies = [
"rand 0.8.5",
"ring 0.17.8",
"rustc-hash 2.0.0",
- "rustls 0.23.7",
+ "rustls 0.23.16",
"slab",
- "thiserror",
+ "thiserror 1.0.68",
"tinyvec",
"tracing",
]
[[package]]
name = "quinn-udp"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "055b4e778e8feb9f93c4e439f71dc2156ef13360b432b799e179a8c4cdf0b1d7"
-dependencies = [
- "bytes",
- "libc",
- "socket2 0.5.7",
- "tracing",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "quinn-udp"
-version = "0.5.4"
+version = "0.5.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8bffec3605b73c6f1754535084a85229fa8a30f86014e6c81aeec4abb68b0285"
+checksum = "7d5a626c6807713b15cac82a6acaccd6043c9a5408c24baae07611fec3f243da"
dependencies = [
+ "cfg_aliases",
"libc",
"once_cell",
"socket2 0.5.7",
"tracing",
- "windows-sys 0.52.0",
+ "windows-sys 0.59.0",
]
[[package]]
@@ -6115,7 +5988,7 @@ dependencies = [
"ring 0.17.8",
"rustls-pki-types",
"time 0.3.36",
- "x509-parser 0.16.0",
+ "x509-parser",
"yasna",
]
@@ -6134,7 +6007,7 @@ dependencies = [
"itoa",
"num-bigint",
"percent-encoding",
- "pin-project-lite 0.2.14",
+ "pin-project-lite 0.2.15",
"ryu",
"tokio",
"tokio-retry2",
@@ -6144,43 +6017,34 @@ dependencies = [
[[package]]
name = "redox_syscall"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
-dependencies = [
- "bitflags 1.3.2",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.5.1"
+version = "0.5.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e"
+checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f"
dependencies = [
- "bitflags 2.5.0",
+ "bitflags 2.6.0",
]
[[package]]
name = "redox_users"
-version = "0.4.5"
+version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891"
+checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43"
dependencies = [
"getrandom 0.2.15",
"libredox",
- "thiserror",
+ "thiserror 1.0.68",
]
[[package]]
name = "regex"
-version = "1.10.4"
+version = "1.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
+checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
dependencies = [
"aho-corasick",
"memchr",
- "regex-automata 0.4.6",
- "regex-syntax 0.8.3",
+ "regex-automata 0.4.8",
+ "regex-syntax 0.8.5",
]
[[package]]
@@ -6194,13 +6058,13 @@ dependencies = [
[[package]]
name = "regex-automata"
-version = "0.4.6"
+version = "0.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
+checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3"
dependencies = [
"aho-corasick",
"memchr",
- "regex-syntax 0.8.3",
+ "regex-syntax 0.8.5",
]
[[package]]
@@ -6211,9 +6075,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
[[package]]
name = "regex-syntax"
-version = "0.8.3"
+version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
+checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
[[package]]
name = "rend"
@@ -6226,20 +6090,20 @@ dependencies = [
[[package]]
name = "reqwest"
-version = "0.12.8"
+version = "0.12.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f713147fbe92361e52392c73b8c9e48c04c6625bce969ef54dc901e58e042a7b"
+checksum = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f"
dependencies = [
"base64 0.22.1",
"bytes",
"encoding_rs",
"futures-core",
"futures-util",
- "h2 0.4.5",
+ "h2 0.4.6",
"http 1.1.0",
- "http-body 1.0.0",
+ "http-body 1.0.1",
"http-body-util",
- "hyper 1.3.1",
+ "hyper 1.5.0",
"hyper-rustls",
"hyper-tls",
"hyper-util",
@@ -6250,13 +6114,13 @@ dependencies = [
"native-tls",
"once_cell",
"percent-encoding",
- "pin-project-lite 0.2.14",
+ "pin-project-lite 0.2.15",
"rustls-pemfile",
"serde",
"serde_json",
"serde_urlencoded",
"sync_wrapper 1.0.1",
- "system-configuration 0.6.0",
+ "system-configuration 0.6.1",
"tokio",
"tokio-native-tls",
"tower-service",
@@ -6309,9 +6173,9 @@ dependencies = [
[[package]]
name = "rkyv"
-version = "0.7.44"
+version = "0.7.45"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cba464629b3394fc4dbc6f940ff8f5b4ff5c7aef40f29166fd4ad12acbc99c0"
+checksum = "9008cd6385b9e161d8229e1f6549dd23c3d022f132a2ea37ac3a10ac4935779b"
dependencies = [
"bitvec",
"bytecheck",
@@ -6327,9 +6191,9 @@ dependencies = [
[[package]]
name = "rkyv_derive"
-version = "0.7.44"
+version = "0.7.45"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7dddfff8de25e6f62b9d64e6e432bf1c6736c57d20323e15ee10435fbda7c65"
+checksum = "503d1d27590a2b0a3a4ca4c94755aa2875657196ecbf401a42eff41d7de532c0"
dependencies = [
"proc-macro2",
"quote",
@@ -6343,7 +6207,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94"
dependencies = [
"base64 0.21.7",
- "bitflags 2.5.0",
+ "bitflags 2.6.0",
"serde",
"serde_derive",
]
@@ -6390,21 +6254,20 @@ version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "322c53fd76a18698f1c27381d58091de3a043d356aa5bd0d510608b565f469a0"
dependencies = [
- "async-global-executor",
"futures",
"log",
"netlink-packet-route",
"netlink-proto",
"nix",
- "thiserror",
+ "thiserror 1.0.68",
"tokio",
]
[[package]]
name = "rust-ini"
-version = "0.19.0"
+version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e2a3bcec1f113553ef1c88aae6c020a369d03d55b58de9869a0908930385091"
+checksum = "3e0698206bcb8882bf2a9ecb4c1e7785db57ff052297085a6efd4fe42302068a"
dependencies = [
"cfg-if",
"ordered-multimap",
@@ -6445,9 +6308,9 @@ dependencies = [
[[package]]
name = "rustc_version"
-version = "0.4.0"
+version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"
dependencies = [
"semver 1.0.23",
]
@@ -6477,11 +6340,11 @@ dependencies = [
[[package]]
name = "rustix"
-version = "0.38.34"
+version = "0.38.39"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f"
+checksum = "375116bee2be9ed569afe2154ea6a99dfdffd257f533f187498c2a8f5feaf4ee"
dependencies = [
- "bitflags 2.5.0",
+ "bitflags 2.6.0",
"errno",
"libc",
"linux-raw-sys 0.4.14",
@@ -6497,65 +6360,39 @@ dependencies = [
"base64 0.13.1",
"log",
"ring 0.16.20",
- "sct 0.6.1",
+ "sct",
"webpki",
]
[[package]]
name = "rustls"
-version = "0.21.11"
+version = "0.23.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fecbfb7b1444f477b345853b1fce097a2c6fb637b2bfb87e6bc5db0f043fae4"
+checksum = "eee87ff5d9b36712a58574e12e9f0ea80f915a5b0ac518d322b24a465617925e"
dependencies = [
"log",
- "ring 0.17.8",
- "rustls-webpki 0.101.7",
- "sct 0.7.1",
-]
-
-[[package]]
-name = "rustls"
-version = "0.22.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432"
-dependencies = [
- "log",
- "ring 0.17.8",
- "rustls-pki-types",
- "rustls-webpki 0.102.3",
- "subtle",
- "zeroize",
-]
-
-[[package]]
-name = "rustls"
-version = "0.23.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebbbdb961df0ad3f2652da8f3fdc4b36122f568f968f45ad3316f26c025c677b"
-dependencies = [
"once_cell",
"ring 0.17.8",
"rustls-pki-types",
- "rustls-webpki 0.102.3",
+ "rustls-webpki 0.102.8",
"subtle",
"zeroize",
]
[[package]]
name = "rustls-pemfile"
-version = "2.1.2"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d"
+checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50"
dependencies = [
- "base64 0.22.1",
"rustls-pki-types",
]
[[package]]
name = "rustls-pki-types"
-version = "1.4.1"
+version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247"
+checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b"
[[package]]
name = "rustls-webpki"
@@ -6569,9 +6406,9 @@ dependencies = [
[[package]]
name = "rustls-webpki"
-version = "0.102.3"
+version = "0.102.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3bce581c0dd41bce533ce695a1437fa16a7ab5ac3ccfa99fe1a620a7885eabf"
+checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9"
dependencies = [
"ring 0.17.8",
"rustls-pki-types",
@@ -6580,9 +6417,9 @@ dependencies = [
[[package]]
name = "rustversion"
-version = "1.0.15"
+version = "1.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47"
+checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248"
[[package]]
name = "rw-stream-sink"
@@ -6603,11 +6440,11 @@ checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
[[package]]
name = "schannel"
-version = "0.1.23"
+version = "0.1.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534"
+checksum = "01227be5826fa0690321a2ba6c5cd57a19cf3f6a09e76973b58e61de6ab9d1c1"
dependencies = [
- "windows-sys 0.52.0",
+ "windows-sys 0.59.0",
]
[[package]]
@@ -6632,16 +6469,6 @@ dependencies = [
"untrusted 0.7.1",
]
-[[package]]
-name = "sct"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
-dependencies = [
- "ring 0.17.8",
- "untrusted 0.9.0",
-]
-
[[package]]
name = "seahash"
version = "4.1.0"
@@ -6650,11 +6477,11 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
[[package]]
name = "security-framework"
-version = "2.11.0"
+version = "2.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0"
+checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02"
dependencies = [
- "bitflags 2.5.0",
+ "bitflags 2.6.0",
"core-foundation",
"core-foundation-sys",
"libc",
@@ -6663,9 +6490,9 @@ dependencies = [
[[package]]
name = "security-framework-sys"
-version = "2.11.0"
+version = "2.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7"
+checksum = "ea4a292869320c0272d7bc55a5a6aafaff59b4f63404a003887b679a2e05b4b6"
dependencies = [
"core-foundation-sys",
"libc",
@@ -6694,9 +6521,9 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
[[package]]
name = "serde"
-version = "1.0.213"
+version = "1.0.215"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ea7893ff5e2466df8d720bb615088341b295f849602c6956047f8f80f0e9bc1"
+checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f"
dependencies = [
"serde_derive",
]
@@ -6709,7 +6536,7 @@ checksum = "b3acbd21cb24261fc36f595b38d3b34d0ff4e31a6b42edd6a43387d27c5787c8"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -6723,13 +6550,13 @@ dependencies = [
[[package]]
name = "serde_derive"
-version = "1.0.213"
+version = "1.0.215"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e85ad2009c50b58e87caa8cd6dac16bdf511bbfb7af6c33df902396aa480fa5"
+checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -6761,14 +6588,14 @@ checksum = "c7715380eec75f029a4ef7de39a9200e0a63823176b759d055b613f5a87df6a6"
dependencies = [
"percent-encoding",
"serde",
- "thiserror",
+ "thiserror 1.0.68",
]
[[package]]
name = "serde_spanned"
-version = "0.6.6"
+version = "0.6.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0"
+checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1"
dependencies = [
"serde",
]
@@ -6787,15 +6614,15 @@ dependencies = [
[[package]]
name = "serde_with"
-version = "3.8.1"
+version = "3.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ad483d2ab0149d5a5ebcd9972a3852711e0153d863bf5a5d0391d28883c4a20"
+checksum = "8e28bdad6db2b8340e449f7108f020b3b092e8583a9e3fb82713e1d4e71fe817"
dependencies = [
"base64 0.22.1",
"chrono",
"hex",
"indexmap 1.9.3",
- "indexmap 2.2.6",
+ "indexmap 2.6.0",
"serde",
"serde_derive",
"serde_json",
@@ -6805,14 +6632,14 @@ dependencies = [
[[package]]
name = "serde_with_macros"
-version = "3.8.1"
+version = "3.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "65569b702f41443e8bc8bbb1c5779bd0450bbe723b56198980e80ec45780bce2"
+checksum = "9d846214a9854ef724f3da161b426242d8de7c1fc7de2f89bb1efcb154dca79d"
dependencies = [
"darling",
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -6850,9 +6677,9 @@ dependencies = [
[[package]]
name = "sha1_smol"
-version = "1.0.0"
+version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012"
+checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d"
[[package]]
name = "sha2"
@@ -6955,9 +6782,9 @@ dependencies = [
[[package]]
name = "simdutf8"
-version = "0.1.4"
+version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a"
+checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e"
[[package]]
name = "slab"
@@ -6997,23 +6824,6 @@ dependencies = [
"version_check",
]
-[[package]]
-name = "smol"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13f2b548cd8447f8de0fdf1c592929f70f4fc7039a05e47404b0d096ec6987a1"
-dependencies = [
- "async-channel 1.9.0",
- "async-executor",
- "async-fs",
- "async-io 1.13.0",
- "async-lock 2.8.0",
- "async-net",
- "async-process",
- "blocking",
- "futures-lite 1.13.0",
-]
-
[[package]]
name = "snafu"
version = "0.8.5"
@@ -7029,10 +6839,10 @@ version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "03c3c6b7927ffe7ecaa769ee0e3994da3b8cafc8f444578982c83ecb161af917"
dependencies = [
- "heck 0.5.0",
+ "heck",
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -7082,20 +6892,19 @@ dependencies = [
[[package]]
name = "sqlformat"
-version = "0.2.3"
+version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce81b7bd7c4493975347ef60d8c7e8b742d4694f4c49f93e0a12ea263938176c"
+checksum = "7bba3a93db0cc4f7bdece8bb09e77e2e785c20bfebf79eb8340ed80708048790"
dependencies = [
- "itertools 0.12.1",
"nom",
"unicode_categories",
]
[[package]]
name = "sqlx"
-version = "0.8.1"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcfa89bea9500db4a0d038513d7a060566bfc51d46d1c014847049a45cce85e8"
+checksum = "93334716a037193fac19df402f8571269c84a00852f6a7066b5d2616dcd64d3e"
dependencies = [
"sqlx-core",
"sqlx-macros",
@@ -7106,9 +6915,9 @@ dependencies = [
[[package]]
name = "sqlx-core"
-version = "0.8.1"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d06e2f2bd861719b1f3f0c7dbe1d80c30bf59e76cf019f07d9014ed7eefb8e08"
+checksum = "d4d8060b456358185f7d50c55d9b5066ad956956fddec42ee2e8567134a8936e"
dependencies = [
"atoi",
"byteorder",
@@ -7123,9 +6932,9 @@ dependencies = [
"futures-io",
"futures-util",
"hashbrown 0.14.5",
- "hashlink",
+ "hashlink 0.9.1",
"hex",
- "indexmap 2.2.6",
+ "indexmap 2.6.0",
"log",
"memchr",
"once_cell",
@@ -7136,7 +6945,7 @@ dependencies = [
"sha2 0.10.8",
"smallvec",
"sqlformat",
- "thiserror",
+ "thiserror 1.0.68",
"time 0.3.36",
"tokio",
"tokio-stream",
@@ -7146,26 +6955,26 @@ dependencies = [
[[package]]
name = "sqlx-macros"
-version = "0.8.1"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f998a9defdbd48ed005a89362bd40dd2117502f15294f61c8d47034107dbbdc"
+checksum = "cac0692bcc9de3b073e8d747391827297e075c7710ff6276d9f7a1f3d58c6657"
dependencies = [
"proc-macro2",
"quote",
"sqlx-core",
"sqlx-macros-core",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
name = "sqlx-macros-core"
-version = "0.8.1"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d100558134176a2629d46cec0c8891ba0be8910f7896abfdb75ef4ab6f4e7ce"
+checksum = "1804e8a7c7865599c9c79be146dc8a9fd8cc86935fa641d3ea58e5f0688abaa5"
dependencies = [
"dotenvy",
"either",
- "heck 0.5.0",
+ "heck",
"hex",
"once_cell",
"proc-macro2",
@@ -7177,7 +6986,7 @@ dependencies = [
"sqlx-mysql",
"sqlx-postgres",
"sqlx-sqlite",
- "syn 2.0.85",
+ "syn 2.0.87",
"tempfile",
"tokio",
"url",
@@ -7185,13 +6994,13 @@ dependencies = [
[[package]]
name = "sqlx-mysql"
-version = "0.8.1"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "936cac0ab331b14cb3921c62156d913e4c15b74fb6ec0f3146bd4ef6e4fb3c12"
+checksum = "64bb4714269afa44aef2755150a0fc19d756fb580a67db8885608cf02f47d06a"
dependencies = [
"atoi",
"base64 0.22.1",
- "bitflags 2.5.0",
+ "bitflags 2.6.0",
"byteorder",
"bytes",
"crc",
@@ -7220,7 +7029,7 @@ dependencies = [
"smallvec",
"sqlx-core",
"stringprep",
- "thiserror",
+ "thiserror 1.0.68",
"time 0.3.36",
"tracing",
"whoami",
@@ -7228,13 +7037,13 @@ dependencies = [
[[package]]
name = "sqlx-postgres"
-version = "0.8.1"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9734dbce698c67ecf67c442f768a5e90a49b2a4d61a9f1d59f73874bd4cf0710"
+checksum = "6fa91a732d854c5d7726349bb4bb879bb9478993ceb764247660aee25f67c2f8"
dependencies = [
"atoi",
"base64 0.22.1",
- "bitflags 2.5.0",
+ "bitflags 2.6.0",
"byteorder",
"crc",
"dotenvy",
@@ -7259,7 +7068,7 @@ dependencies = [
"smallvec",
"sqlx-core",
"stringprep",
- "thiserror",
+ "thiserror 1.0.68",
"time 0.3.36",
"tracing",
"whoami",
@@ -7267,9 +7076,9 @@ dependencies = [
[[package]]
name = "sqlx-sqlite"
-version = "0.8.1"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a75b419c3c1b1697833dd927bdc4c6545a620bc1bbafabd44e1efbe9afcd337e"
+checksum = "d5b2cf34a45953bfd3daaf3db0f7a7878ab9b7a6b91b422d24a7a9e4c857b680"
dependencies = [
"atoi",
"flume",
@@ -7289,6 +7098,12 @@ dependencies = [
"url",
]
+[[package]]
+name = "stable_deref_trait"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
+
[[package]]
name = "standback"
version = "0.2.17"
@@ -7372,9 +7187,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
[[package]]
name = "strum"
-version = "0.26.2"
+version = "0.26.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29"
+checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06"
[[package]]
name = "strum_macros"
@@ -7382,18 +7197,18 @@ version = "0.26.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be"
dependencies = [
- "heck 0.5.0",
+ "heck",
"proc-macro2",
"quote",
"rustversion",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
name = "subtle"
-version = "2.5.0"
+version = "2.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
+checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
[[package]]
name = "surf-disco"
@@ -7416,15 +7231,15 @@ dependencies = [
[[package]]
name = "sval"
-version = "2.13.0"
+version = "2.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53eb957fbc79a55306d5d25d87daf3627bc3800681491cda0709eef36c748bfe"
+checksum = "f6dc0f9830c49db20e73273ffae9b5240f63c42e515af1da1fceefb69fceafd8"
[[package]]
name = "sval_buffer"
-version = "2.13.0"
+version = "2.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96e860aef60e9cbf37888d4953a13445abf523c534640d1f6174d310917c410d"
+checksum = "429922f7ad43c0ef8fd7309e14d750e38899e32eb7e8da656ea169dd28ee212f"
dependencies = [
"sval",
"sval_ref",
@@ -7432,18 +7247,18 @@ dependencies = [
[[package]]
name = "sval_dynamic"
-version = "2.13.0"
+version = "2.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea3f2b07929a1127d204ed7cb3905049381708245727680e9139dac317ed556f"
+checksum = "68f16ff5d839396c11a30019b659b0976348f3803db0626f736764c473b50ff4"
dependencies = [
"sval",
]
[[package]]
name = "sval_fmt"
-version = "2.13.0"
+version = "2.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4e188677497de274a1367c4bda15bd2296de4070d91729aac8f0a09c1abf64d"
+checksum = "c01c27a80b6151b0557f9ccbe89c11db571dc5f68113690c1e028d7e974bae94"
dependencies = [
"itoa",
"ryu",
@@ -7452,9 +7267,9 @@ dependencies = [
[[package]]
name = "sval_json"
-version = "2.13.0"
+version = "2.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32f456c07dae652744781f2245d5e3b78e6a9ebad70790ac11eb15dbdbce5282"
+checksum = "0deef63c70da622b2a8069d8600cf4b05396459e665862e7bdb290fd6cf3f155"
dependencies = [
"itoa",
"ryu",
@@ -7463,9 +7278,9 @@ dependencies = [
[[package]]
name = "sval_nested"
-version = "2.13.0"
+version = "2.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "886feb24709f0476baaebbf9ac10671a50163caa7e439d7a7beb7f6d81d0a6fb"
+checksum = "a39ce5976ae1feb814c35d290cf7cf8cd4f045782fe1548d6bc32e21f6156e9f"
dependencies = [
"sval",
"sval_buffer",
@@ -7474,18 +7289,18 @@ dependencies = [
[[package]]
name = "sval_ref"
-version = "2.13.0"
+version = "2.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be2e7fc517d778f44f8cb64140afa36010999565528d48985f55e64d45f369ce"
+checksum = "bb7c6ee3751795a728bc9316a092023529ffea1783499afbc5c66f5fabebb1fa"
dependencies = [
"sval",
]
[[package]]
name = "sval_serde"
-version = "2.13.0"
+version = "2.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79bf66549a997ff35cd2114a27ac4b0c2843280f2cfa84b240d169ecaa0add46"
+checksum = "2a5572d0321b68109a343634e3a5d576bf131b82180c6c442dee06349dfc652a"
dependencies = [
"serde",
"sval",
@@ -7505,9 +7320,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.85"
+version = "2.0.87"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5023162dfcd14ef8f32034d8bcd4cc5ddc61ef7a247c024a33e24e1f24d21b56"
+checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d"
dependencies = [
"proc-macro2",
"quote",
@@ -7549,7 +7364,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -7565,11 +7380,11 @@ dependencies = [
[[package]]
name = "system-configuration"
-version = "0.6.0"
+version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "658bc6ee10a9b4fcf576e9b0819d95ec16f4d2c02d39fd83ac1c8789785c4a42"
+checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b"
dependencies = [
- "bitflags 2.5.0",
+ "bitflags 2.6.0",
"core-foundation",
"system-configuration-sys 0.6.0",
]
@@ -7628,34 +7443,55 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
[[package]]
name = "tempfile"
-version = "3.10.1"
+version = "3.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
+checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b"
dependencies = [
"cfg-if",
- "fastrand 2.1.0",
- "rustix 0.38.34",
- "windows-sys 0.52.0",
+ "fastrand 2.1.1",
+ "once_cell",
+ "rustix 0.38.39",
+ "windows-sys 0.59.0",
]
[[package]]
name = "thiserror"
-version = "1.0.65"
+version = "1.0.68"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02dd99dc800bbb97186339685293e1cc5d9df1f8fae2d0aecd9ff1c77efea892"
+dependencies = [
+ "thiserror-impl 1.0.68",
+]
+
+[[package]]
+name = "thiserror"
+version = "2.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c006c85c7651b3cf2ada4584faa36773bd07bac24acfb39f3c431b36d7e667aa"
+dependencies = [
+ "thiserror-impl 2.0.3",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.68"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d11abd9594d9b38965ef50805c5e469ca9cc6f197f883f717e0269a3057b3d5"
+checksum = "a7c61ec9a6f64d2793d8a45faba21efbe3ced62a886d44c36a009b2b519b4c7e"
dependencies = [
- "thiserror-impl",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.87",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.65"
+version = "2.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae71770322cbd277e69d762a16c444af02aa0575ac0d174f0b9562d3b37f8602"
+checksum = "f077553d607adc1caf65430528a576c757a71ed73944b66ebb58ef2bbd243568"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -7692,7 +7528,7 @@ dependencies = [
"http-types",
"kv-log-macro",
"log",
- "pin-project-lite 0.2.14",
+ "pin-project-lite 0.2.15",
"route-recognizer",
"serde",
"serde_json",
@@ -7849,11 +7685,21 @@ dependencies = [
"crunchy",
]
+[[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.6.0"
+version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
+checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938"
dependencies = [
"tinyvec_macros",
]
@@ -7866,17 +7712,16 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
-version = "1.41.0"
+version = "1.41.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "145f3413504347a2be84393cc8a7d2fb4d863b375909ea59f2158261aa258bbb"
+checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33"
dependencies = [
"backtrace",
"bytes",
"libc",
"mio",
"parking_lot",
- "pin-project-lite 0.2.14",
- "signal-hook-registry",
+ "pin-project-lite 0.2.15",
"socket2 0.5.7",
"tokio-macros",
"tracing",
@@ -7889,7 +7734,7 @@ version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf"
dependencies = [
- "pin-project-lite 0.2.14",
+ "pin-project-lite 0.2.15",
"tokio",
]
@@ -7901,7 +7746,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -7931,7 +7776,7 @@ version = "0.26.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4"
dependencies = [
- "rustls 0.23.7",
+ "rustls 0.23.16",
"rustls-pki-types",
"tokio",
]
@@ -7943,93 +7788,55 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1"
dependencies = [
"futures-core",
- "pin-project-lite 0.2.14",
+ "pin-project-lite 0.2.15",
"tokio",
]
[[package]]
name = "tokio-util"
-version = "0.7.11"
+version = "0.7.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1"
+checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a"
dependencies = [
"bytes",
"futures-core",
"futures-sink",
- "pin-project-lite 0.2.14",
+ "pin-project-lite 0.2.15",
"tokio",
]
[[package]]
name = "toml"
-version = "0.8.15"
+version = "0.8.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac2caab0bf757388c6c0ae23b3293fdb463fee59434529014f85e3263b995c28"
+checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e"
dependencies = [
"serde",
"serde_spanned",
"toml_datetime",
- "toml_edit 0.22.16",
+ "toml_edit",
]
[[package]]
name = "toml_datetime"
-version = "0.6.6"
+version = "0.6.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf"
+checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41"
dependencies = [
"serde",
]
[[package]]
name = "toml_edit"
-version = "0.21.1"
+version = "0.22.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
+checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5"
dependencies = [
- "indexmap 2.2.6",
- "toml_datetime",
- "winnow 0.5.40",
-]
-
-[[package]]
-name = "toml_edit"
-version = "0.22.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "278f3d518e152219c994ce877758516bca5e118eaed6996192a774fb9fbf0788"
-dependencies = [
- "indexmap 2.2.6",
+ "indexmap 2.6.0",
"serde",
"serde_spanned",
"toml_datetime",
- "winnow 0.6.11",
-]
-
-[[package]]
-name = "tonic"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d560933a0de61cf715926b9cac824d4c883c2c43142f787595e48280c40a1d0e"
-dependencies = [
- "async-stream",
- "async-trait",
- "axum",
- "base64 0.21.7",
- "bytes",
- "h2 0.3.26",
- "http 0.2.12",
- "http-body 0.4.6",
- "hyper 0.14.29",
- "hyper-timeout",
- "percent-encoding",
- "pin-project",
- "prost",
- "tokio",
- "tokio-stream",
- "tower",
- "tower-layer",
- "tower-service",
- "tracing",
+ "winnow",
]
[[package]]
@@ -8046,7 +7853,7 @@ dependencies = [
"h2 0.3.26",
"http 0.2.12",
"http-body 0.4.6",
- "hyper 0.14.29",
+ "hyper 0.14.31",
"hyper-timeout",
"percent-encoding",
"pin-project",
@@ -8069,7 +7876,7 @@ dependencies = [
"futures-util",
"indexmap 1.9.3",
"pin-project",
- "pin-project-lite 0.2.14",
+ "pin-project-lite 0.2.15",
"rand 0.8.5",
"slab",
"tokio",
@@ -8081,15 +7888,15 @@ dependencies = [
[[package]]
name = "tower-layer"
-version = "0.3.2"
+version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0"
+checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e"
[[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"
@@ -8098,7 +7905,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
dependencies = [
"log",
- "pin-project-lite 0.2.14",
+ "pin-project-lite 0.2.15",
"tracing-attributes",
"tracing-core",
]
@@ -8111,7 +7918,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
]
[[package]]
@@ -8136,16 +7943,6 @@ dependencies = [
"tracing-subscriber 0.3.18",
]
-[[package]]
-name = "tracing-error"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d686ec1c0f384b1277f097b2f279a2ecc11afe8c133c1aabf036a27cb4cd206e"
-dependencies = [
- "tracing",
- "tracing-subscriber 0.3.18",
-]
-
[[package]]
name = "tracing-futures"
version = "0.2.5"
@@ -8229,7 +8026,7 @@ dependencies = [
"native-tls",
"rand 0.8.5",
"sha-1",
- "thiserror",
+ "thiserror 1.0.68",
"url",
"utf-8",
]
@@ -8246,9 +8043,9 @@ dependencies = [
[[package]]
name = "typeid"
-version = "1.0.0"
+version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "059d83cc991e7a42fc37bd50941885db0888e34209f8cfd9aab07ddec03bc9cf"
+checksum = "0e13db2e0ccd5e14a544e8a246ba2312cd25223f616442d7f2cb0e3db614236e"
[[package]]
name = "typenum"
@@ -8258,9 +8055,9 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
[[package]]
name = "ucd-trie"
-version = "0.1.6"
+version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9"
+checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971"
[[package]]
name = "uint"
@@ -8276,51 +8073,48 @@ dependencies = [
[[package]]
name = "unicase"
-version = "2.7.0"
+version = "2.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89"
-dependencies = [
- "version_check",
-]
+checksum = "7e51b68083f157f853b6379db119d1c1be0e6e4dec98101079dec41f6f5cf6df"
[[package]]
name = "unicode-bidi"
-version = "0.3.15"
+version = "0.3.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
+checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893"
[[package]]
name = "unicode-ident"
-version = "1.0.12"
+version = "1.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe"
[[package]]
name = "unicode-normalization"
-version = "0.1.23"
+version = "0.1.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
+checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956"
dependencies = [
"tinyvec",
]
[[package]]
name = "unicode-properties"
-version = "0.1.1"
+version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e4259d9d4425d9f0661581b804cb85fe66a4c631cadd8f490d1c13a35d5d9291"
+checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0"
[[package]]
name = "unicode-segmentation"
-version = "1.11.0"
+version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
+checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
[[package]]
name = "unicode-xid"
-version = "0.2.4"
+version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
[[package]]
name = "unicode_categories"
@@ -8368,29 +8162,28 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
[[package]]
name = "ureq"
-version = "2.9.6"
+version = "2.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "11f214ce18d8b2cbe84ed3aa6486ed3f5b285cf8d8fbdbce9f3f767a724adc35"
+checksum = "b74fc6b57825be3373f7054754755f03ac3a8f5d70015ccad699ba2029956f4a"
dependencies = [
- "base64 0.21.7",
+ "base64 0.22.1",
"flate2",
"log",
"once_cell",
- "rustls 0.22.4",
+ "rustls 0.23.16",
"rustls-pki-types",
- "rustls-webpki 0.102.3",
"url",
- "webpki-roots 0.26.2",
+ "webpki-roots 0.26.6",
]
[[package]]
name = "url"
-version = "2.5.2"
+version = "2.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c"
+checksum = "8d157f1b96d14500ffdc1f10ba712e780825526c03d9a49b4d0324b0d9113ada"
dependencies = [
"form_urlencoded",
- "idna 0.5.0",
+ "idna 1.0.3",
"percent-encoding",
"serde",
]
@@ -8401,11 +8194,23 @@ version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
+[[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 = "utils"
@@ -8416,9 +8221,9 @@ dependencies = [
[[package]]
name = "uuid"
-version = "1.8.0"
+version = "1.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0"
+checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a"
[[package]]
name = "valuable"
@@ -8428,9 +8233,9 @@ checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
[[package]]
name = "value-bag"
-version = "1.9.0"
+version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a84c137d37ab0142f0f2ddfe332651fdbf252e7b7dbb4e67b6c1f1b2e925101"
+checksum = "3ef4c4aa54d5d05a279399bfa921ec387b7aba77caf7a682ae8d86785b8fdad2"
dependencies = [
"value-bag-serde1",
"value-bag-sval2",
@@ -8438,9 +8243,9 @@ dependencies = [
[[package]]
name = "value-bag-serde1"
-version = "1.9.0"
+version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccacf50c5cb077a9abb723c5bcb5e0754c1a433f1e1de89edc328e2760b6328b"
+checksum = "4bb773bd36fd59c7ca6e336c94454d9c66386416734817927ac93d81cb3c5b0b"
dependencies = [
"erased-serde",
"serde",
@@ -8449,9 +8254,9 @@ dependencies = [
[[package]]
name = "value-bag-sval2"
-version = "1.9.0"
+version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1785bae486022dfb9703915d42287dcb284c1ee37bd1080eeba78cc04721285b"
+checksum = "53a916a702cac43a88694c97657d449775667bcd14b70419441d05b7fea4a83a"
dependencies = [
"sval",
"sval_buffer",
@@ -8491,9 +8296,9 @@ dependencies = [
[[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 = "void"
@@ -8527,7 +8332,7 @@ dependencies = [
"futures-util",
"headers",
"http 0.2.12",
- "hyper 0.14.29",
+ "hyper 0.14.31",
"log",
"mime",
"mime_guess",
@@ -8563,11 +8368,12 @@ checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b"
[[package]]
name = "wasm-bindgen"
-version = "0.2.92"
+version = "0.2.95"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
+checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e"
dependencies = [
"cfg-if",
+ "once_cell",
"serde",
"serde_json",
"wasm-bindgen-macro",
@@ -8575,24 +8381,24 @@ dependencies = [
[[package]]
name = "wasm-bindgen-backend"
-version = "0.2.92"
+version = "0.2.95"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
+checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358"
dependencies = [
"bumpalo",
"log",
"once_cell",
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-futures"
-version = "0.4.42"
+version = "0.4.45"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0"
+checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b"
dependencies = [
"cfg-if",
"js-sys",
@@ -8602,9 +8408,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.92"
+version = "0.2.95"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
+checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -8612,28 +8418,38 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.92"
+version = "0.2.95"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
+checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.92"
+version = "0.2.95"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
+checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d"
[[package]]
name = "web-sys"
-version = "0.3.69"
+version = "0.3.72"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
+checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "web-time"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ -8660,32 +8476,20 @@ dependencies = [
[[package]]
name = "webpki-roots"
-version = "0.26.2"
+version = "0.26.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c452ad30530b54a4d8e71952716a212b08efd0f3562baa66c29a618b07da7c3"
+checksum = "841c67bff177718f1d4dfefde8d8f0e78f9b6589319ba88312f567fc5841a958"
dependencies = [
"rustls-pki-types",
]
-[[package]]
-name = "which"
-version = "4.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
-dependencies = [
- "either",
- "home",
- "once_cell",
- "rustix 0.38.34",
-]
-
[[package]]
name = "whoami"
-version = "1.5.1"
+version = "1.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a44ab49fad634e88f55bf8f9bb3abd2f27d7204172a112c7c9987e01c1c94ea9"
+checksum = "372d5b87f58ec45c384ba03563b03544dc5fadc3983e434b286913f5b4a9bb6d"
dependencies = [
- "redox_syscall 0.4.1",
+ "redox_syscall",
"wasite",
]
@@ -8723,7 +8527,7 @@ version = "0.51.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9"
dependencies = [
- "windows-core",
+ "windows-core 0.51.1",
"windows-targets 0.48.5",
]
@@ -8736,6 +8540,15 @@ dependencies = [
"windows-targets 0.48.5",
]
+[[package]]
+name = "windows-core"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
+dependencies = [
+ "windows-targets 0.52.6",
+]
+
[[package]]
name = "windows-registry"
version = "0.2.0"
@@ -8916,18 +8729,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
[[package]]
name = "winnow"
-version = "0.5.40"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "winnow"
-version = "0.6.11"
+version = "0.6.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56c52728401e1dc672a56e81e593e912aa54c78f40246869f78359a2bf24d29d"
+checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b"
dependencies = [
"memchr",
]
@@ -8942,6 +8746,18 @@ dependencies = [
"windows-sys 0.48.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.1"
@@ -8951,46 +8767,29 @@ dependencies = [
"tap",
]
-[[package]]
-name = "x509-parser"
-version = "0.15.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7069fba5b66b9193bd2c5d3d4ff12b839118f6bcbef5328efafafb5395cf63da"
-dependencies = [
- "asn1-rs 0.5.2",
- "data-encoding",
- "der-parser 8.2.0",
- "lazy_static",
- "nom",
- "oid-registry 0.6.1",
- "rusticata-macros",
- "thiserror",
- "time 0.3.36",
-]
-
[[package]]
name = "x509-parser"
version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fcbc162f30700d6f3f82a24bf7cc62ffe7caea42c0b2cba8bf7f3ae50cf51f69"
dependencies = [
- "asn1-rs 0.6.1",
+ "asn1-rs",
"data-encoding",
- "der-parser 9.0.0",
+ "der-parser",
"lazy_static",
"nom",
- "oid-registry 0.7.0",
+ "oid-registry",
"ring 0.17.8",
"rusticata-macros",
- "thiserror",
+ "thiserror 1.0.68",
"time 0.3.36",
]
[[package]]
name = "xml-rs"
-version = "0.8.20"
+version = "0.8.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "791978798f0597cfc70478424c2b4fdc2b7a8024aaff78497ef00f24ef674193"
+checksum = "af310deaae937e48a26602b730250b4949e125f468f11e6990be3e5304ddd96f"
[[package]]
name = "xmltree"
@@ -9002,12 +8801,14 @@ dependencies = [
]
[[package]]
-name = "yaml-rust"
-version = "0.4.5"
+name = "yaml-rust2"
+version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85"
+checksum = "8902160c4e6f2fb145dbe9d6760a75e3c9522d8bf796ed7047c85919ac7115f8"
dependencies = [
- "linked-hash-map",
+ "arraydeque",
+ "encoding_rs",
+ "hashlink 0.8.4",
]
[[package]]
@@ -9019,24 +8820,70 @@ dependencies = [
"time 0.3.36",
]
+[[package]]
+name = "yoke"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5"
+dependencies = [
+ "serde",
+ "stable_deref_trait",
+ "yoke-derive",
+ "zerofrom",
+]
+
+[[package]]
+name = "yoke-derive"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.87",
+ "synstructure 0.13.1",
+]
+
[[package]]
name = "zerocopy"
-version = "0.7.34"
+version = "0.7.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087"
+checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0"
dependencies = [
+ "byteorder",
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
-version = "0.7.34"
+version = "0.7.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b"
+checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
+]
+
+[[package]]
+name = "zerofrom"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55"
+dependencies = [
+ "zerofrom-derive",
+]
+
+[[package]]
+name = "zerofrom-derive"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.87",
+ "synstructure 0.13.1",
]
[[package]]
@@ -9056,5 +8903,27 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.85",
+ "syn 2.0.87",
+]
+
+[[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.87",
]
diff --git a/Cargo.toml b/Cargo.toml
index ce276fd907..73a80ba2e0 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -12,20 +12,21 @@ repository = "https://github.com/EspressoSystems/HotShot"
# when implementing traits externally
[workspace]
members = [
+ "crates/builder-api",
+ "crates/example-types",
+ "crates/examples",
+ "crates/fakeapi",
"crates/hotshot",
"crates/hotshot-stake-table",
"crates/libp2p-networking",
"crates/macros",
+ "crates/orchestrator"
+,
"crates/task",
"crates/task-impls",
"crates/testing",
- "crates/examples",
- "crates/example-types",
"crates/types",
- "crates/builder-api",
- "crates/fakeapi",
- "crates/utils",
-]
+ "crates/utils"]
resolver = "2"
[workspace.dependencies]
@@ -35,11 +36,8 @@ ark-ff = "0.4"
ark-serialize = "0.4"
ark-std = { version = "0.4", default-features = false }
async-broadcast = "0.7"
-async-compatibility-layer = { version = "1.2.1", default-features = false, features = [
- "logging-utils",
-] }
-async-lock = "2"
-async-std = { version = "1", features = ["attributes"] }
+tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
+async-lock = "3"
async-trait = "0.1"
bincode = "1"
bitvec = { version = "1", default-features = false, features = [
@@ -61,7 +59,7 @@ derive_more = { version = "1.0", features = ["from", "deref"] }
futures = { version = "0.3", default-features = false }
jf-crhf = { version = "0.1.0", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5" }
jf-vid = { version = "0.1.0", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5" }
-jf-signature = { version = "0.1.0", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5" }
+jf-signature = { git = "https://github.com/EspressoSystems/jellyfish", tag = "jf-signature-v0.2.0" }
jf-rescue = { version = "0.1.0", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5" }
jf-pcs = { version = "0.1.0", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5" }
jf-utils = { version = "0.4.4", git = "https://github.com/espressosystems/jellyfish", tag = "0.4.5" }
@@ -77,7 +75,7 @@ serde = { version = "1", features = ["derive"] }
serde_bytes = { version = "0.11" }
serde_json = { version = "1.0" }
sha2 = "0.10"
-thiserror = "1"
+thiserror = "2"
surf-disco = "0.9"
tagged-base64 = "0.4"
tide-disco = "0.9"
@@ -116,18 +114,12 @@ tokio = { version = "1", default-features = false, features = [
] }
anyhow = "1"
-
# Push CDN imports
cdn-client = { git = "https://github.com/EspressoSystems/Push-CDN", tag = "0.5.3" }
cdn-broker = { git = "https://github.com/EspressoSystems/Push-CDN", tag = "0.5.3" }
cdn-marshal = { git = "https://github.com/EspressoSystems/Push-CDN", tag = "0.5.3" }
cdn-proto = { git = "https://github.com/EspressoSystems/Push-CDN", tag = "0.5.3" }
-
-### Profiles
-###
-### Note: these only apply to example executables or tests built from within this crate. They have
-### no effect on crates that depend on this crate.
-
+### Profiles###### Note: these only apply to example executables or tests built from within this crate. They have### no effect on crates that depend on this crate.
## Apply some optimizations to test dependencies in debug/test builds
[profile.dev]
@@ -178,4 +170,4 @@ unexpected_cfgs = { level = "warn", check-cfg = [
'cfg(async_executor_impl, values("async-std"))',
'cfg(async_executor_impl, values("tokio"))',
'cfg(hotshot_example)',
-] }
\ No newline at end of file
+] }
diff --git a/README.md b/README.md
index ecb179469d..c641255b0f 100644
--- a/README.md
+++ b/README.md
@@ -61,7 +61,7 @@ scoop install protobuf cmake
Once dependencies have been installed, to build everything:
```sh
-just async_std build
+just build
```
@@ -74,7 +74,7 @@ HotShot supports static linking for its examples:
# Nix-shell is optional but recommended
nix develop .#staticShell
-just async_std build
+just build
```
# Testing
@@ -82,7 +82,7 @@ just async_std build
To test:
```sh
-RUST_LOG=$ERROR_LOG_LEVEL RUST_LOG_FORMAT=$ERROR_LOG_FORMAT just async_std test
+RUST_LOG=$ERROR_LOG_LEVEL RUST_LOG_FORMAT=$ERROR_LOG_FORMAT just test
```
- `RUST_LOG=$ERROR_LOG_LEVEL`: The basic levels of logging include `warn`, `error`, `info`.
@@ -92,7 +92,7 @@ RUST_LOG=$ERROR_LOG_LEVEL RUST_LOG_FORMAT=$ERROR_LOG_FORMAT just async_std test
To stress test, run the ignored tests prefixed with `test_stress`:
```sh
-RUST_LOG=$ERROR_LOG_LEVEL RUST_LOG_FORMAT=$ERROR_LOG_FORMAT just async_std run_test test_stress
+RUST_LOG=$ERROR_LOG_LEVEL RUST_LOG_FORMAT=$ERROR_LOG_FORMAT just run_test test_stress
```
## Careful
@@ -101,7 +101,7 @@ To double check for UB:
```bash
nix develop .#correctnessShell
-just async_std careful
+just careful
```
## Testing on CI
@@ -109,7 +109,6 @@ just async_std careful
To test as if running on CI, one must limit the number of cores and ram to match github runners (2 core, 7 gig ram). To limit the ram, spin up a virtual machine or container with 7 gigs ram. To limit the core count when running tests:
```
-ASYNC_STD_THREAD_COUNT=1 RUST_LOG=$ERROR_LOG_LEVEL RUST_LOG_FORMAT=$ERROR_LOG_FORMAT just async_std test
ASYNC_STD_THREAD_COUNT=1 RUST_LOG=$ERROR_LOG_LEVEL RUST_LOG_FORMAT=$ERROR_LOG_FORMAT just tokio test
```
@@ -202,7 +201,6 @@ For espresso developers we have written up a description of our workflow [here](
Choose an async runtime to use before launching a text editor. This may be done by setting the environment RUSTFLAGS. For example:
```
-export RUSTFLAGS='--cfg async_executor_impl="tokio" --cfg async_channel_impl="tokio"' # export RUSTFLAGS so the editor is aware of extra flags
nvim # launch text editor of choice. We choose neovim in this example
unset RUSTFLAGS # Unset rustflags so we may continue to use the justfile. The justfile sets these particular config options
```
diff --git a/crates/builder-api/Cargo.toml b/crates/builder-api/Cargo.toml
index 45fc2e89be..1e129d7f13 100644
--- a/crates/builder-api/Cargo.toml
+++ b/crates/builder-api/Cargo.toml
@@ -2,19 +2,18 @@
name = "hotshot-builder-api"
version = "0.1.7"
edition = "2021"
-
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
async-trait = { workspace = true }
clap = { workspace = true }
+committable = { workspace = true }
derive_more = { workspace = true }
futures = { workspace = true }
hotshot-types = { path = "../types" }
serde = { workspace = true }
-thiserror = { workspace = true }
tagged-base64 = { workspace = true }
+thiserror = { workspace = true }
tide-disco = { workspace = true }
toml = { workspace = true }
-committable = { workspace = true }
vbs = { workspace = true }
diff --git a/crates/builder-api/api/v0_1/builder.toml b/crates/builder-api/api/v0_1/builder.toml
index f16911a948..7e7ad9d853 100644
--- a/crates/builder-api/api/v0_1/builder.toml
+++ b/crates/builder-api/api/v0_1/builder.toml
@@ -59,6 +59,19 @@ Get the specified block candidate.
Returns application-specific encoded transactions type
"""
+[route.claim_block_with_num_nodes]
+PATH = ["claimblockwithnumnodes/:block_hash/:view_number/:sender/:signature/:num_nodes"]
+":block_hash" = "TaggedBase64"
+":view_number" = "Integer"
+":sender" = "TaggedBase64"
+":signature" = "TaggedBase64"
+":num_nodes" = "Integer"
+DOC = """
+Get the specified block candidate and provide the number of nodes.
+
+Returns application-specific encoded transactions type
+"""
+
[route.claim_header_input]
PATH = ["claimheaderinput/:block_hash/:view_number/:sender/:signature"]
":block_hash" = "TaggedBase64"
diff --git a/crates/builder-api/api/v0_1/submit.toml b/crates/builder-api/api/v0_1/submit.toml
index 929ec45854..71894f77be 100644
--- a/crates/builder-api/api/v0_1/submit.toml
+++ b/crates/builder-api/api/v0_1/submit.toml
@@ -44,3 +44,13 @@ Submit a list of transactions to builder's private mempool."
Returns the corresponding list of transaction hashes
"""
+
+[route.get_status]
+PATH = ["status/:transaction_hash"]
+METHOD = "GET"
+":transaction_hash" = "TaggedBase64"
+DOC = """
+Get the transaction's status.
+
+Returns "pending", "sequenced" or "rejected" with error.
+"""
\ No newline at end of file
diff --git a/crates/builder-api/src/v0_1/builder.rs b/crates/builder-api/src/v0_1/builder.rs
index 0e1066a8ba..235e7c8606 100644
--- a/crates/builder-api/src/v0_1/builder.rs
+++ b/crates/builder-api/src/v0_1/builder.rs
@@ -50,6 +50,15 @@ pub enum BuildError {
Error(String),
}
+/// Enum to keep track on status of a transaction
+#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
+pub enum TransactionStatus {
+ Pending,
+ Sequenced { leaf: u64 },
+ Rejected { reason: String }, // Rejection reason is in the String format
+ Unknown,
+}
+
#[derive(Clone, Debug, Error, Deserialize, Serialize)]
pub enum Error {
#[error("Error processing request: {0}")]
@@ -70,6 +79,8 @@ pub enum Error {
TxnSubmit(BuildError),
#[error("Error getting builder address: {0}")]
BuilderAddress(#[from] BuildError),
+ #[error("Error getting transaction status: {0}")]
+ TxnStat(BuildError),
#[error("Custom error {status}: {message}")]
Custom { message: String, status: StatusCode },
}
@@ -95,6 +106,7 @@ impl tide_disco::error::Error for Error {
Error::TxnSubmit { .. } => StatusCode::INTERNAL_SERVER_ERROR,
Error::Custom { .. } => StatusCode::INTERNAL_SERVER_ERROR,
Error::BuilderAddress { .. } => StatusCode::INTERNAL_SERVER_ERROR,
+ Error::TxnStat { .. } => StatusCode::INTERNAL_SERVER_ERROR,
}
}
}
@@ -158,6 +170,29 @@ where
}
.boxed()
})?
+ .get("claim_block_with_num_nodes", |req, state| {
+ async move {
+ let block_hash: BuilderCommitment = req.blob_param("block_hash")?;
+ let view_number = req.integer_param("view_number")?;
+ let signature = try_extract_param(&req, "signature")?;
+ let sender = try_extract_param(&req, "sender")?;
+ let num_nodes = req.integer_param("num_nodes")?;
+ state
+ .claim_block_with_num_nodes(
+ &block_hash,
+ view_number,
+ sender,
+ &signature,
+ num_nodes,
+ )
+ .await
+ .map_err(|source| Error::BlockClaim {
+ source,
+ resource: block_hash.to_string(),
+ })
+ }
+ .boxed()
+ })?
.get("claim_header_input", |req, state| {
async move {
let block_hash: BuilderCommitment = req.blob_param("block_hash")?;
@@ -216,6 +251,17 @@ where
Ok(hashes)
}
.boxed()
+ })?
+ .at("get_status", |req: RequestParams, state| {
+ async move {
+ let tx = req
+ .body_auto::<::Transaction, Ver>(Ver::instance())
+ .map_err(Error::TxnUnpack)?;
+ let hash = tx.commit();
+ state.txn_status(hash).await.map_err(Error::TxnStat)?;
+ Ok(hash)
+ }
+ .boxed()
})?;
Ok(api)
}
diff --git a/crates/builder-api/src/v0_1/data_source.rs b/crates/builder-api/src/v0_1/data_source.rs
index c36b457623..62f3703762 100644
--- a/crates/builder-api/src/v0_1/data_source.rs
+++ b/crates/builder-api/src/v0_1/data_source.rs
@@ -14,7 +14,7 @@ use hotshot_types::{
use super::{
block_info::{AvailableBlockData, AvailableBlockHeaderInput, AvailableBlockInfo},
- builder::BuildError,
+ builder::{BuildError, TransactionStatus},
};
#[async_trait]
@@ -28,7 +28,7 @@ pub trait BuilderDataSource {
signature: &::PureAssembledSignatureType,
) -> Result>, BuildError>;
- /// to claim a block from the list of provided available blocks
+ /// To claim a block from the list of provided available blocks
async fn claim_block(
&self,
block_hash: &BuilderCommitment,
@@ -37,6 +37,17 @@ pub trait BuilderDataSource {
signature: &::PureAssembledSignatureType,
) -> Result, BuildError>;
+ /// To claim a block from the list of provided available blocks and provide the number of nodes
+ /// information to the builder for VID computation.
+ async fn claim_block_with_num_nodes(
+ &self,
+ block_hash: &BuilderCommitment,
+ view_number: u64,
+ sender: TYPES::SignatureKey,
+ signature: &::PureAssembledSignatureType,
+ num_nodes: usize,
+ ) -> Result, BuildError>;
+
/// To claim a block header input
async fn claim_block_header_input(
&self,
@@ -59,4 +70,9 @@ where
&self,
txns: Vec<::Transaction>,
) -> Result::Transaction>>, BuildError>;
+
+ async fn txn_status(
+ &self,
+ txn_hash: Commitment<::Transaction>,
+ ) -> Result;
}
diff --git a/crates/example-types/Cargo.toml b/crates/example-types/Cargo.toml
index e55d756685..c9fcc541f5 100644
--- a/crates/example-types/Cargo.toml
+++ b/crates/example-types/Cargo.toml
@@ -12,40 +12,29 @@ slow-tests = []
gpu-vid = ["hotshot-task-impls/gpu-vid"]
[dependencies]
+anyhow = { workspace = true }
async-broadcast = { workspace = true }
-async-compatibility-layer = { workspace = true }
+async-lock = { workspace = true }
async-trait = { workspace = true }
-anyhow = { workspace = true }
-sha3 = "^0.10"
+bitvec = { workspace = true }
committable = { workspace = true }
either = { workspace = true }
+ethereum-types = { workspace = true }
futures = { workspace = true }
hotshot = { path = "../hotshot" }
-hotshot-types = { path = "../types" }
-hotshot-task-impls = { path = "../task-impls", version = "0.5.36", default-features = false }
hotshot-builder-api = { path = "../builder-api" }
+hotshot-task = { path = "../task" }
+hotshot-task-impls = { path = "../task-impls", version = "0.5.36", default-features = false }
+hotshot-types = { path = "../types" }
+jf-vid = { workspace = true }
rand = { workspace = true }
-thiserror = { workspace = true }
-tracing = { workspace = true }
+reqwest = { workspace = true }
serde = { workspace = true }
sha2 = { workspace = true }
+sha3 = "^0.10"
+thiserror = { workspace = true }
time = { workspace = true }
-async-lock = { workspace = true }
-bitvec = { workspace = true }
-ethereum-types = { workspace = true }
-hotshot-task = { path = "../task" }
-vbs = { workspace = true }
-url = { workspace = true }
-reqwest = { workspace = true }
-
-[target.'cfg(all(async_executor_impl = "tokio"))'.dependencies]
tokio = { workspace = true }
-[target.'cfg(all(async_executor_impl = "async-std"))'.dependencies]
-async-std = { workspace = true }
-
-[lints.rust]
-unexpected_cfgs = { level = "warn", check-cfg = [
- 'cfg(async_executor_impl, values("async-std"))',
- 'cfg(async_executor_impl, values("tokio"))',
- 'cfg(hotshot_example)',
-] }
+tracing = { workspace = true }
+url = { workspace = true }
+vbs = { workspace = true }
diff --git a/crates/example-types/src/block_types.rs b/crates/example-types/src/block_types.rs
index 7241ac49b1..add9d76269 100644
--- a/crates/example-types/src/block_types.rs
+++ b/crates/example-types/src/block_types.rs
@@ -337,6 +337,7 @@ impl<
builder_commitment: BuilderCommitment,
metadata: >::Metadata,
_builder_fee: Vec>,
+ _view_number: u64,
_vid_common: VidCommon,
_auction_results: Option,
_version: Version,
diff --git a/crates/example-types/src/node_types.rs b/crates/example-types/src/node_types.rs
index 8884d3e7ce..80b634515c 100644
--- a/crates/example-types/src/node_types.rs
+++ b/crates/example-types/src/node_types.rs
@@ -159,7 +159,7 @@ impl NodeImplementation for CombinedImpl {
}
impl NodeImplementation for Libp2pImpl {
- type Network = Libp2pNetwork;
+ type Network = Libp2pNetwork;
type Storage = TestStorage;
type AuctionResultsProvider = TestAuctionResultsProvider;
}
@@ -176,6 +176,8 @@ impl Versions for TestVersions {
];
type Marketplace = StaticVersion<0, 3>;
+
+ type Epochs = StaticVersion<0, 4>;
}
#[derive(Clone, Debug, Copy)]
@@ -190,6 +192,8 @@ impl Versions for MarketplaceUpgradeTestVersions {
];
type Marketplace = StaticVersion<0, 3>;
+
+ type Epochs = StaticVersion<0, 4>;
}
#[derive(Clone, Debug, Copy)]
@@ -204,6 +208,24 @@ impl Versions for MarketplaceTestVersions {
];
type Marketplace = StaticVersion<0, 3>;
+
+ type Epochs = StaticVersion<0, 4>;
+}
+
+#[derive(Clone, Debug, Copy)]
+pub struct EpochsTestVersions {}
+
+impl Versions for EpochsTestVersions {
+ type Base = StaticVersion<0, 4>;
+ type Upgrade = StaticVersion<0, 4>;
+ const UPGRADE_HASH: [u8; 32] = [
+ 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+ 0, 0,
+ ];
+
+ type Marketplace = StaticVersion<0, 3>;
+
+ type Epochs = StaticVersion<0, 4>;
}
#[cfg(test)]
@@ -230,8 +252,7 @@ mod tests {
}
}
- #[cfg_attr(async_executor_impl = "tokio", tokio::test(flavor = "multi_thread"))]
- #[cfg_attr(async_executor_impl = "async-std", async_std::test)]
+ #[tokio::test(flavor = "multi_thread")]
/// Test that the view number affects the commitment post-marketplace
async fn test_versioned_commitment_includes_view() {
let upgrade_lock = UpgradeLock::new();
diff --git a/crates/example-types/src/state_types.rs b/crates/example-types/src/state_types.rs
index 50c40fee73..c5fde414bf 100644
--- a/crates/example-types/src/state_types.rs
+++ b/crates/example-types/src/state_types.rs
@@ -107,6 +107,7 @@ impl ValidatedState for TestValidatedState {
_proposed_header: &TYPES::BlockHeader,
_vid_common: VidCommon,
_version: Version,
+ _view_number: u64,
) -> Result<(Self, Self::Delta), Self::Error> {
Self::run_delay_settings_from_config(&instance.delay_config).await;
Ok((
diff --git a/crates/example-types/src/storage_types.rs b/crates/example-types/src/storage_types.rs
index 2a093b1f02..c4be058fe4 100644
--- a/crates/example-types/src/storage_types.rs
+++ b/crates/example-types/src/storage_types.rs
@@ -23,8 +23,10 @@ use hotshot_types::{
storage::Storage,
},
utils::View,
+ vid::VidSchemeType,
vote::HasViewNumber,
};
+use jf_vid::VidScheme;
use crate::testable_delay::{DelayConfig, SupportedTraitTypesForAsyncDelay, TestableDelay};
@@ -40,6 +42,7 @@ pub struct TestStorageState {
proposals: BTreeMap>>,
high_qc: Option>,
action: TYPES::View,
+ epoch: TYPES::Epoch,
}
impl Default for TestStorageState {
@@ -50,6 +53,7 @@ impl Default for TestStorageState {
proposals: BTreeMap::new(),
high_qc: None,
action: TYPES::View::genesis(),
+ epoch: TYPES::Epoch::genesis(),
}
}
}
@@ -99,6 +103,9 @@ impl TestStorage {
pub async fn last_actioned_view(&self) -> TYPES::View {
self.inner.read().await.action
}
+ pub async fn last_actioned_epoch(&self) -> TYPES::Epoch {
+ self.inner.read().await.epoch
+ }
}
#[async_trait]
@@ -117,7 +124,11 @@ impl Storage for TestStorage {
Ok(())
}
- async fn append_da(&self, proposal: &Proposal>) -> Result<()> {
+ async fn append_da(
+ &self,
+ proposal: &Proposal>,
+ _vid_commit: ::Commit,
+ ) -> Result<()> {
if self.should_return_err {
bail!("Failed to append VID proposal to storage");
}
diff --git a/crates/example-types/src/testable_delay.rs b/crates/example-types/src/testable_delay.rs
index 98bb6c7d6b..07f460eaf3 100644
--- a/crates/example-types/src/testable_delay.rs
+++ b/crates/example-types/src/testable_delay.rs
@@ -1,8 +1,8 @@
use std::{collections::HashMap, time::Duration};
-use async_compatibility_layer::art::async_sleep;
use async_trait::async_trait;
use rand::Rng;
+use tokio::time::sleep;
#[derive(Eq, Hash, PartialEq, Debug, Clone)]
/// What type of delay we want to apply to
@@ -87,13 +87,13 @@ pub trait TestableDelay {
match settings.delay_option {
DelayOptions::None => {}
DelayOptions::Fixed => {
- async_sleep(Duration::from_millis(settings.fixed_time_in_milliseconds)).await;
+ sleep(Duration::from_millis(settings.fixed_time_in_milliseconds)).await;
}
DelayOptions::Random => {
let sleep_in_millis = rand::thread_rng().gen_range(
settings.min_time_in_milliseconds..=settings.max_time_in_milliseconds,
);
- async_sleep(Duration::from_millis(sleep_in_millis)).await;
+ sleep(Duration::from_millis(sleep_in_millis)).await;
}
}
}
diff --git a/crates/examples/Cargo.toml b/crates/examples/Cargo.toml
index 313c6ac746..dc6434bb75 100644
--- a/crates/examples/Cargo.toml
+++ b/crates/examples/Cargo.toml
@@ -82,7 +82,6 @@ path = "push-cdn/whitelist-adapter.rs"
[dependencies]
async-broadcast = { workspace = true }
-async-compatibility-layer = { workspace = true }
async-lock = { workspace = true }
async-trait = { workspace = true }
bimap = "0.6"
@@ -117,25 +116,12 @@ vec1 = { workspace = true }
url = { workspace = true }
tracing = { workspace = true }
-
-[target.'cfg(all(async_executor_impl = "tokio"))'.dependencies]
tokio = { workspace = true }
+
cdn-client = { workspace = true }
cdn-broker = { workspace = true, features = ["global-permits"] }
cdn-marshal = { workspace = true }
-[target.'cfg(all(async_executor_impl = "async-std"))'.dependencies]
-async-std = { workspace = true }
-cdn-client = { workspace = true, features = ["runtime-async-std"] }
-cdn-broker = { workspace = true, features = [
- "runtime-async-std",
- "global-permits",
-] }
-cdn-marshal = { workspace = true, features = [
- "runtime-async-std",
- "global-permits",
-] }
-
[dev-dependencies]
clap.workspace = true
toml = { workspace = true }
diff --git a/crates/examples/combined/all.rs b/crates/examples/combined/all.rs
index 567a5610cd..669b52e2f0 100644
--- a/crates/examples/combined/all.rs
+++ b/crates/examples/combined/all.rs
@@ -10,13 +10,10 @@ pub mod types;
use std::path::Path;
-use async_compatibility_layer::{
- art::async_spawn,
- logging::{setup_backtrace, setup_logging},
-};
use cdn_broker::{reexports::def::hook::NoMessageHook, Broker};
use cdn_marshal::Marshal;
use hotshot::{
+ helpers::initialize_logging,
traits::implementations::{HotShotMessageHook, KeyPair, TestingDef, WrappedSignatureKey},
types::SignatureKey,
};
@@ -25,6 +22,7 @@ use hotshot_orchestrator::client::ValidatorArgs;
use hotshot_types::traits::node_implementation::NodeType;
use infra::{gen_local_address, BUILDER_BASE_PORT, VALIDATOR_BASE_PORT};
use rand::{rngs::StdRng, RngCore, SeedableRng};
+use tokio::spawn;
use tracing::{error, instrument};
use crate::{
@@ -36,12 +34,11 @@ use crate::{
#[path = "../infra/mod.rs"]
pub mod infra;
-#[cfg_attr(async_executor_impl = "tokio", tokio::main(flavor = "multi_thread"))]
-#[cfg_attr(async_executor_impl = "async-std", async_std::main)]
+#[tokio::main]
#[instrument]
async fn main() {
- setup_logging();
- setup_backtrace();
+ // Initialize logging
+ initialize_logging();
let (config, orchestrator_url) = read_orchestrator_init_config::();
@@ -95,7 +92,7 @@ async fn main() {
};
// Create and spawn the broker
- async_spawn(async move {
+ spawn(async move {
let broker: Broker::SignatureKey>> =
Broker::new(config).await.expect("broker failed to start");
@@ -123,7 +120,7 @@ async fn main() {
};
// Spawn the marshal
- async_spawn(async move {
+ spawn(async move {
let marshal: Marshal::SignatureKey>> =
Marshal::new(marshal_config)
.await
@@ -136,7 +133,7 @@ async fn main() {
});
// orchestrator
- async_spawn(run_orchestrator::(OrchestratorArgs {
+ spawn(run_orchestrator::(OrchestratorArgs {
url: orchestrator_url.clone(),
config: config.clone(),
}));
@@ -150,7 +147,7 @@ async fn main() {
let orchestrator_url = orchestrator_url.clone();
let builder_address = gen_local_address::(i);
- let node = async_spawn(async move {
+ let node = spawn(async move {
infra::main_entry_point::(
ValidatorArgs {
url: orchestrator_url,
diff --git a/crates/examples/combined/multi-validator.rs b/crates/examples/combined/multi-validator.rs
index 71ab7afd91..b721cb5c4f 100644
--- a/crates/examples/combined/multi-validator.rs
+++ b/crates/examples/combined/multi-validator.rs
@@ -5,13 +5,11 @@
// along with the HotShot repository. If not, see .
//! A multi-validator using both the web server libp2p
-use async_compatibility_layer::{
- art::async_spawn,
- logging::{setup_backtrace, setup_logging},
-};
use clap::Parser;
+use hotshot::helpers::initialize_logging;
use hotshot_example_types::{node_types::TestVersions, state_types::TestTypes};
use hotshot_orchestrator::client::{MultiValidatorArgs, ValidatorArgs};
+use tokio::spawn;
use tracing::instrument;
use crate::types::{Network, NodeImpl, ThisRun};
@@ -23,19 +21,19 @@ pub mod types;
#[path = "../infra/mod.rs"]
pub mod infra;
-#[cfg_attr(async_executor_impl = "tokio", tokio::main(flavor = "multi_thread"))]
-#[cfg_attr(async_executor_impl = "async-std", async_std::main)]
+#[tokio::main]
#[instrument]
async fn main() {
- setup_logging();
- setup_backtrace();
+ // Initialize logging
+ initialize_logging();
+
let args = MultiValidatorArgs::parse();
tracing::debug!("connecting to orchestrator at {:?}", args.url);
let mut nodes = Vec::new();
for node_index in 0..args.num_nodes {
let args = args.clone();
- let node = async_spawn(async move {
+ let node = spawn(async move {
infra::main_entry_point::(
ValidatorArgs::from_multi_args(args, node_index),
)
diff --git a/crates/examples/combined/orchestrator.rs b/crates/examples/combined/orchestrator.rs
index 17b6f2dec2..c3d399f489 100644
--- a/crates/examples/combined/orchestrator.rs
+++ b/crates/examples/combined/orchestrator.rs
@@ -8,7 +8,7 @@
/// types used for this example
pub mod types;
-use async_compatibility_layer::logging::{setup_backtrace, setup_logging};
+use hotshot::helpers::initialize_logging;
use hotshot_example_types::state_types::TestTypes;
use tracing::instrument;
@@ -17,12 +17,12 @@ use crate::infra::{read_orchestrator_init_config, run_orchestrator, Orchestrator
#[path = "../infra/mod.rs"]
pub mod infra;
-#[cfg_attr(async_executor_impl = "tokio", tokio::main(flavor = "multi_thread"))]
-#[cfg_attr(async_executor_impl = "async-std", async_std::main)]
+#[tokio::main]
#[instrument]
async fn main() {
- setup_logging();
- setup_backtrace();
+ // Initialize logging
+ initialize_logging();
+
let (config, orchestrator_url) = read_orchestrator_init_config::();
run_orchestrator::(OrchestratorArgs:: {
url: orchestrator_url.clone(),
diff --git a/crates/examples/combined/validator.rs b/crates/examples/combined/validator.rs
index 5007181adc..fd6ff83957 100644
--- a/crates/examples/combined/validator.rs
+++ b/crates/examples/combined/validator.rs
@@ -6,8 +6,8 @@
//! A validator using both the web server and libp2p
-use async_compatibility_layer::logging::{setup_backtrace, setup_logging};
use clap::Parser;
+use hotshot::helpers::initialize_logging;
use hotshot_example_types::{node_types::TestVersions, state_types::TestTypes};
use hotshot_orchestrator::client::ValidatorArgs;
use local_ip_address::local_ip;
@@ -22,12 +22,11 @@ pub mod types;
#[path = "../infra/mod.rs"]
pub mod infra;
-#[cfg_attr(async_executor_impl = "tokio", tokio::main(flavor = "multi_thread"))]
-#[cfg_attr(async_executor_impl = "async-std", async_std::main)]
+#[tokio::main]
#[instrument]
async fn main() {
- setup_logging();
- setup_backtrace();
+ // Initialize logging
+ initialize_logging();
let mut args = ValidatorArgs::parse();
diff --git a/crates/examples/infra/mod.rs b/crates/examples/infra/mod.rs
index b79769df6e..9e031c02fa 100755
--- a/crates/examples/infra/mod.rs
+++ b/crates/examples/infra/mod.rs
@@ -15,7 +15,6 @@ use std::{
time::Instant,
};
-use async_compatibility_layer::logging::{setup_backtrace, setup_logging};
use async_trait::async_trait;
use cdn_broker::reexports::crypto::signature::KeyPair;
use chrono::Utc;
@@ -258,9 +257,6 @@ pub fn read_orchestrator_init_config() -> (NetworkConfig(
config_file: &str,
@@ -273,11 +269,6 @@ pub fn load_config_from_file(
let mut config: NetworkConfig = config_toml.into();
- // my_own_validator_config would be best to load from file,
- // but its type is too complex to load so we'll generate it from seed now.
- // Also this function is only used for orchestrator initialization now, so this value doesn't matter
- config.config.my_own_validator_config =
- ValidatorConfig::generated_from_seed_indexed(config.seed, config.node_index, 1, true);
// initialize it with size for better assignment of peers' config
config.config.known_nodes_with_stake =
vec![PeerConfig::default(); config.config.num_nodes_with_stake.get() as usize];
@@ -357,6 +348,7 @@ pub trait RunDa<
/// Initializes networking, returns self
async fn initialize_networking(
config: NetworkConfig,
+ validator_config: ValidatorConfig,
libp2p_advertise_address: Option,
) -> Self;
@@ -371,18 +363,17 @@ pub trait RunDa<
.expect("Couldn't generate genesis block");
let config = self.config();
+ let validator_config = self.validator_config();
// Get KeyPair for certificate Aggregation
- let pk = config.config.my_own_validator_config.public_key.clone();
- let sk = config.config.my_own_validator_config.private_key.clone();
+ let pk = validator_config.public_key.clone();
+ let sk = validator_config.private_key.clone();
let network = self.network();
let all_nodes = if cfg!(feature = "fixed-leader-election") {
let mut vec = config.config.known_nodes_with_stake.clone();
-
vec.truncate(config.config.fixed_leader_for_gpuvid);
-
vec
} else {
config.config.known_nodes_with_stake.clone()
@@ -602,6 +593,9 @@ pub trait RunDa<
/// Returns the config for this run
fn config(&self) -> NetworkConfig;
+
+ /// Returns the validator config with private signature keys for this run.
+ fn validator_config(&self) -> ValidatorConfig;
}
// Push CDN
@@ -610,6 +604,8 @@ pub trait RunDa<
pub struct PushCdnDaRun {
/// The underlying configuration
config: NetworkConfig,
+ /// The private validator config
+ validator_config: ValidatorConfig,
/// The underlying network
network: PushCdnNetwork,
}
@@ -638,20 +634,18 @@ where
{
async fn initialize_networking(
config: NetworkConfig,
+ validator_config: ValidatorConfig,
_libp2p_advertise_address: Option,
) -> PushCdnDaRun {
- // Get our own key
- let key = config.config.my_own_validator_config.clone();
-
// Convert to the Push-CDN-compatible type
let keypair = KeyPair {
- public_key: WrappedSignatureKey(key.public_key),
- private_key: key.private_key,
+ public_key: WrappedSignatureKey(validator_config.public_key.clone()),
+ private_key: validator_config.private_key.clone(),
};
// See if we should be DA, subscribe to the DA topic if so
let mut topics = vec![CdnTopic::Global];
- if config.config.my_own_validator_config.is_da {
+ if validator_config.is_da {
topics.push(CdnTopic::Da);
}
@@ -670,7 +664,11 @@ where
// Wait for the network to be ready
network.wait_for_ready().await;
- PushCdnDaRun { config, network }
+ PushCdnDaRun {
+ config,
+ validator_config,
+ network,
+ }
}
fn network(&self) -> PushCdnNetwork {
@@ -680,6 +678,10 @@ where
fn config(&self) -> NetworkConfig {
self.config.clone()
}
+
+ fn validator_config(&self) -> ValidatorConfig {
+ self.validator_config.clone()
+ }
}
// Libp2p
@@ -688,8 +690,10 @@ where
pub struct Libp2pDaRun {
/// The underlying network configuration
config: NetworkConfig,
+ /// The private validator config
+ validator_config: ValidatorConfig,
/// The underlying network
- network: Libp2pNetwork,
+ network: Libp2pNetwork,
}
#[async_trait]
@@ -702,12 +706,12 @@ impl<
>,
NODE: NodeImplementation<
TYPES,
- Network = Libp2pNetwork,
+ Network = Libp2pNetwork,
Storage = TestStorage,
AuctionResultsProvider = TestAuctionResultsProvider,
>,
V: Versions,
- > RunDa, NODE, V> for Libp2pDaRun
+ > RunDa, NODE, V> for Libp2pDaRun
where
::ValidatedState: TestableState,
::BlockPayload: TestableBlock,
@@ -716,12 +720,12 @@ where
{
async fn initialize_networking(
config: NetworkConfig,
+ validator_config: ValidatorConfig,
libp2p_advertise_address: Option,
) -> Libp2pDaRun {
// Extrapolate keys for ease of use
- let keys = config.clone().config.my_own_validator_config;
- let public_key = keys.public_key;
- let private_key = keys.private_key;
+ let public_key = &validator_config.public_key;
+ let private_key = &validator_config.private_key;
// In an example, we can calculate the libp2p bind address as a function
// of the advertise address.
@@ -746,6 +750,10 @@ where
.to_string()
};
+ // Create the qurorum membership from the list of known nodes
+ let all_nodes = config.config.known_nodes_with_stake.clone();
+ let quorum_membership = TYPES::Membership::new(all_nodes.clone(), all_nodes, Topic::Global);
+
// Derive the bind address
let bind_address =
derive_libp2p_multiaddr(&bind_address).expect("failed to derive bind address");
@@ -753,11 +761,12 @@ where
// Create the Libp2p network
let libp2p_network = Libp2pNetwork::from_config(
config.clone(),
+ quorum_membership,
GossipConfig::default(),
RequestResponseConfig::default(),
bind_address,
- &public_key,
- &private_key,
+ public_key,
+ private_key,
Libp2pMetricsValue::default(),
)
.await
@@ -768,17 +777,22 @@ where
Libp2pDaRun {
config,
+ validator_config,
network: libp2p_network,
}
}
- fn network(&self) -> Libp2pNetwork {
+ fn network(&self) -> Libp2pNetwork {
self.network.clone()
}
fn config(&self) -> NetworkConfig {
self.config.clone()
}
+
+ fn validator_config(&self) -> ValidatorConfig {
+ self.validator_config.clone()
+ }
}
// Combined network
@@ -787,6 +801,8 @@ where
pub struct CombinedDaRun {
/// The underlying network configuration
config: NetworkConfig,
+ /// The private validator config
+ validator_config: ValidatorConfig,
/// The underlying network
network: CombinedNetworks,
}
@@ -815,27 +831,34 @@ where
{
async fn initialize_networking(
config: NetworkConfig,
+ validator_config: ValidatorConfig,
libp2p_advertise_address: Option,
) -> CombinedDaRun {
// Initialize our Libp2p network
- let libp2p_network: Libp2pDaRun =
- as RunDa<
- TYPES,
- Libp2pNetwork,
- Libp2pImpl,
- V,
- >>::initialize_networking(config.clone(), libp2p_advertise_address.clone())
- .await;
+ let libp2p_network: Libp2pDaRun = as RunDa<
+ TYPES,
+ Libp2pNetwork,
+ Libp2pImpl,
+ V,
+ >>::initialize_networking(
+ config.clone(),
+ validator_config.clone(),
+ libp2p_advertise_address.clone(),
+ )
+ .await;
// Initialize our CDN network
- let cdn_network: PushCdnDaRun =
- as RunDa<
- TYPES,
- PushCdnNetwork,
- PushCdnImpl,
- V,
- >>::initialize_networking(config.clone(), libp2p_advertise_address)
- .await;
+ let cdn_network: PushCdnDaRun = as RunDa<
+ TYPES,
+ PushCdnNetwork,
+ PushCdnImpl,
+ V,
+ >>::initialize_networking(
+ config.clone(),
+ validator_config.clone(),
+ libp2p_advertise_address,
+ )
+ .await;
// Create our combined network config
let delay_duration = config
@@ -848,7 +871,11 @@ where
CombinedNetworks::new(cdn_network.network, libp2p_network.network, delay_duration);
// Return the run configuration
- CombinedDaRun { config, network }
+ CombinedDaRun {
+ config,
+ validator_config,
+ network,
+ }
}
fn network(&self) -> CombinedNetworks {
@@ -858,6 +885,10 @@ where
fn config(&self) -> NetworkConfig {
self.config.clone()
}
+
+ fn validator_config(&self) -> ValidatorConfig {
+ self.validator_config.clone()
+ }
}
/// Main entry point for validators
@@ -885,32 +916,30 @@ pub async fn main_entry_point<
::BlockPayload: TestableBlock,
Leaf: TestableLeaf,
{
- setup_logging();
- setup_backtrace();
+ // Initialize logging
+ hotshot::helpers::initialize_logging();
info!("Starting validator");
let orchestrator_client: OrchestratorClient = OrchestratorClient::new(args.url.clone());
// We assume one node will not call this twice to generate two validator_config-s with same identity.
- let my_own_validator_config =
- NetworkConfig::::generate_init_validator_config(
- orchestrator_client
- .get_node_index_for_init_validator_config()
- .await,
- // we assign nodes to the DA committee by default
- true,
- );
+ let validator_config = NetworkConfig::::generate_init_validator_config(
+ orchestrator_client
+ .get_node_index_for_init_validator_config()
+ .await,
+ // we assign nodes to the DA committee by default
+ true,
+ );
// Derives our Libp2p private key from our private key, and then returns the public key of that key
let libp2p_public_key =
- derive_libp2p_peer_id::(&my_own_validator_config.private_key)
+ derive_libp2p_peer_id::(&validator_config.private_key)
.expect("failed to derive Libp2p keypair");
// We need this to be able to register our node
let peer_config =
- PeerConfig::::to_bytes(&my_own_validator_config.public_config())
- .clone();
+ PeerConfig::::to_bytes(&validator_config.public_config()).clone();
// Derive the advertise multiaddress from the supplied string
let advertise_multiaddress = args.advertise_address.clone().map(|advertise_address| {
@@ -924,16 +953,22 @@ pub async fn main_entry_point<
// This function will be taken solely by sequencer right after OrchestratorClient::new,
// which means the previous `generate_validator_config_when_init` will not be taken by sequencer, it's only for key pair generation for testing in hotshot.
- let (mut run_config, source) = get_complete_config(
+ let (mut run_config, validator_config, source) = get_complete_config(
&orchestrator_client,
- my_own_validator_config,
+ validator_config,
advertise_multiaddress,
Some(libp2p_public_key),
)
.await
.expect("failed to get config");
- let builder_task = initialize_builder(&mut run_config, &args, &orchestrator_client).await;
+ let builder_task = initialize_builder(
+ &mut run_config,
+ &validator_config,
+ &args,
+ &orchestrator_client,
+ )
+ .await;
run_config.config.builder_urls = orchestrator_client
.get_builder_addresses()
@@ -953,7 +988,9 @@ pub async fn main_entry_point<
);
info!("Initializing networking");
- let run = RUNDA::initialize_networking(run_config.clone(), args.advertise_address).await;
+ let run =
+ RUNDA::initialize_networking(run_config.clone(), validator_config, args.advertise_address)
+ .await;
let hotshot = run.initialize_state_and_hotshot().await;
if let Some(task) = builder_task {
@@ -1014,6 +1051,7 @@ async fn initialize_builder<
>,
>(
run_config: &mut NetworkConfig<::SignatureKey>,
+ validator_config: &ValidatorConfig<::SignatureKey>,
args: &ValidatorArgs,
orchestrator_client: &OrchestratorClient,
) -> Option>>
@@ -1022,7 +1060,7 @@ where
::BlockPayload: TestableBlock,
Leaf: TestableLeaf,
{
- if !run_config.config.my_own_validator_config.is_da {
+ if !validator_config.is_da {
return None;
}
diff --git a/crates/examples/libp2p/all.rs b/crates/examples/libp2p/all.rs
index 7cf2101d9f..4fd99cd0e8 100644
--- a/crates/examples/libp2p/all.rs
+++ b/crates/examples/libp2p/all.rs
@@ -8,13 +8,11 @@
/// types used for this example
pub mod types;
-use async_compatibility_layer::{
- art::async_spawn,
- logging::{setup_backtrace, setup_logging},
-};
+use hotshot::helpers::initialize_logging;
use hotshot_example_types::{node_types::TestVersions, state_types::TestTypes};
use hotshot_orchestrator::client::ValidatorArgs;
use infra::{gen_local_address, BUILDER_BASE_PORT, VALIDATOR_BASE_PORT};
+use tokio::spawn;
use tracing::instrument;
use crate::{
@@ -26,18 +24,17 @@ use crate::{
#[path = "../infra/mod.rs"]
pub mod infra;
-#[cfg_attr(async_executor_impl = "tokio", tokio::main(flavor = "multi_thread"))]
-#[cfg_attr(async_executor_impl = "async-std", async_std::main)]
+#[tokio::main]
#[instrument]
async fn main() {
- setup_logging();
- setup_backtrace();
+ // Initialize logging
+ initialize_logging();
// use configfile args
let (config, orchestrator_url) = read_orchestrator_init_config::();
// orchestrator
- async_spawn(run_orchestrator::(OrchestratorArgs {
+ spawn(run_orchestrator::(OrchestratorArgs {
url: orchestrator_url.clone(),
config: config.clone(),
}));
@@ -50,7 +47,7 @@ async fn main() {
let advertise_address = gen_local_address::(i);
let builder_address = gen_local_address::(i);
let orchestrator_url = orchestrator_url.clone();
- let node = async_spawn(async move {
+ let node = spawn(async move {
infra::main_entry_point::(
ValidatorArgs {
url: orchestrator_url,
diff --git a/crates/examples/libp2p/multi-validator.rs b/crates/examples/libp2p/multi-validator.rs
index 42621d6946..0767245c3b 100644
--- a/crates/examples/libp2p/multi-validator.rs
+++ b/crates/examples/libp2p/multi-validator.rs
@@ -5,13 +5,11 @@
// along with the HotShot repository. If not, see .
//! A multi-validator using libp2p
-use async_compatibility_layer::{
- art::async_spawn,
- logging::{setup_backtrace, setup_logging},
-};
use clap::Parser;
+use hotshot::helpers::initialize_logging;
use hotshot_example_types::{node_types::TestVersions, state_types::TestTypes};
use hotshot_orchestrator::client::{MultiValidatorArgs, ValidatorArgs};
+use tokio::spawn;
use tracing::instrument;
use crate::types::{Network, NodeImpl, ThisRun};
@@ -23,19 +21,19 @@ pub mod types;
#[path = "../infra/mod.rs"]
pub mod infra;
-#[cfg_attr(async_executor_impl = "tokio", tokio::main(flavor = "multi_thread"))]
-#[cfg_attr(async_executor_impl = "async-std", async_std::main)]
+#[tokio::main]
#[instrument]
async fn main() {
- setup_logging();
- setup_backtrace();
+ // Initialize logging
+ initialize_logging();
+
let args = MultiValidatorArgs::parse();
tracing::debug!("connecting to orchestrator at {:?}", args.url);
let mut nodes = Vec::new();
for node_index in 0..args.num_nodes {
let args = args.clone();
- let node = async_spawn(async move {
+ let node = spawn(async move {
infra::main_entry_point::(
ValidatorArgs::from_multi_args(args, node_index),
)
diff --git a/crates/examples/libp2p/types.rs b/crates/examples/libp2p/types.rs
index afcfa236a1..ed8fbcda6f 100644
--- a/crates/examples/libp2p/types.rs
+++ b/crates/examples/libp2p/types.rs
@@ -11,7 +11,7 @@ use hotshot_example_types::{
auction_results_provider_types::TestAuctionResultsProvider, state_types::TestTypes,
storage_types::TestStorage,
};
-use hotshot_types::traits::node_implementation::{NodeImplementation, NodeType};
+use hotshot_types::traits::node_implementation::NodeImplementation;
use serde::{Deserialize, Serialize};
use crate::infra::Libp2pDaRun;
@@ -21,7 +21,7 @@ use crate::infra::Libp2pDaRun;
pub struct NodeImpl {}
/// Convenience type alias
-pub type Network = Libp2pNetwork<::SignatureKey>;
+pub type Network = Libp2pNetwork;
impl NodeImplementation for NodeImpl {
type Network = Network;
diff --git a/crates/examples/libp2p/validator.rs b/crates/examples/libp2p/validator.rs
index 1e2bb8d096..c85e52688e 100644
--- a/crates/examples/libp2p/validator.rs
+++ b/crates/examples/libp2p/validator.rs
@@ -6,8 +6,8 @@
//! A validator using libp2p
-use async_compatibility_layer::logging::{setup_backtrace, setup_logging};
use clap::Parser;
+use hotshot::helpers::initialize_logging;
use hotshot_example_types::{node_types::TestVersions, state_types::TestTypes};
use hotshot_orchestrator::client::ValidatorArgs;
use local_ip_address::local_ip;
@@ -22,12 +22,12 @@ pub mod types;
#[path = "../infra/mod.rs"]
pub mod infra;
-#[cfg_attr(async_executor_impl = "tokio", tokio::main(flavor = "multi_thread"))]
-#[cfg_attr(async_executor_impl = "async-std", async_std::main)]
+#[tokio::main]
#[instrument]
async fn main() {
- setup_logging();
- setup_backtrace();
+ // Initialize logging
+ initialize_logging();
+
let mut args = ValidatorArgs::parse();
// If we did not set the advertise address, use our local IP and port 8000
diff --git a/crates/examples/orchestrator.rs b/crates/examples/orchestrator.rs
index f78c0b35b1..3bb419b980 100644
--- a/crates/examples/orchestrator.rs
+++ b/crates/examples/orchestrator.rs
@@ -6,7 +6,7 @@
//! A orchestrator
-use async_compatibility_layer::logging::{setup_backtrace, setup_logging};
+use hotshot::helpers::initialize_logging;
use hotshot_example_types::state_types::TestTypes;
use tracing::instrument;
@@ -16,12 +16,12 @@ use crate::infra::{read_orchestrator_init_config, run_orchestrator, Orchestrator
#[path = "./infra/mod.rs"]
pub mod infra;
-#[cfg_attr(async_executor_impl = "tokio", tokio::main(flavor = "multi_thread"))]
-#[cfg_attr(async_executor_impl = "async-std", async_std::main)]
+#[tokio::main]
#[instrument]
async fn main() {
- setup_logging();
- setup_backtrace();
+ // Initialize logging
+ initialize_logging();
+
let (config, orchestrator_url) = read_orchestrator_init_config::();
run_orchestrator::(OrchestratorArgs:: {
url: orchestrator_url.clone(),
diff --git a/crates/examples/push-cdn/README.md b/crates/examples/push-cdn/README.md
index c49f7dedb2..c460beb89a 100644
--- a/crates/examples/push-cdn/README.md
+++ b/crates/examples/push-cdn/README.md
@@ -28,27 +28,27 @@ Examples:
**Run Locally**
-`just async_std example all-push-cdn -- --config_file ./crates/orchestrator/run-config.toml`
+`just example all-push-cdn -- --config_file ./crates/orchestrator/run-config.toml`
OR
```
docker run --rm -p 0.0.0.0:6379:6379 eqalpha/keydb
-just async_std example cdn-marshal -- -d redis://localhost:6379 -b 9000
-just async_std example cdn-broker -- -d redis://localhost:6379 --public-bind-endpoint 0.0.0.0:1740 --public-advertise-endpoint local_ip:1740 --private-bind-endpoint 0.0.0.0:1741 --private-advertise-endpoint local_ip:1741
-just async_std example orchestrator -- --config_file ./crates/orchestrator/run-config.toml --orchestrator_url http://0.0.0.0:4444
-just async_std example multi-validator-push-cdn -- 10 http://127.0.0.1:4444
+just example cdn-marshal -- -d redis://localhost:6379 -b 9000
+just example cdn-broker -- -d redis://localhost:6379 --public-bind-endpoint 0.0.0.0:1740 --public-advertise-endpoint local_ip:1740 --private-bind-endpoint 0.0.0.0:1741 --private-advertise-endpoint local_ip:1741
+just example orchestrator -- --config_file ./crates/orchestrator/run-config.toml --orchestrator_url http://0.0.0.0:4444
+just example multi-validator-push-cdn -- 10 http://127.0.0.1:4444
```
**Run with GPU-VID**
```
docker run --rm -p 0.0.0.0:6379:6379 eqalpha/keydb
-just async_std example cdn-marshal -- -d redis://localhost:6379 -b 9000
-just async_std example cdn-broker -- -d redis://localhost:6379 --public-bind-endpoint 0.0.0.0:1740 --public-advertise-endpoint local_ip:1740 --private-bind-endpoint 0.0.0.0:1741 --private-advertise-endpoint local_ip:1741
-just async_std example_fixed_leader orchestrator -- --config_file ./crates/orchestrator/run-config.toml --orchestrator_url http://0.0.0.0:4444 --fixed_leader_for_gpuvid 1
-just async_std example_gpuvid_leader multi-validator-push-cdn -- 1 http://127.0.0.1:4444
+just example cdn-marshal -- -d redis://localhost:6379 -b 9000
+just example cdn-broker -- -d redis://localhost:6379 --public-bind-endpoint 0.0.0.0:1740 --public-advertise-endpoint local_ip:1740 --private-bind-endpoint 0.0.0.0:1741 --private-advertise-endpoint local_ip:1741
+just example_fixed_leader orchestrator -- --config_file ./crates/orchestrator/run-config.toml --orchestrator_url http://0.0.0.0:4444 --fixed_leader_for_gpuvid 1
+just example_gpuvid_leader multi-validator-push-cdn -- 1 http://127.0.0.1:4444
sleep 1m
-just async_std example_fixed_leader multi-validator-push-cdn -- 9 http://127.0.0.1:4444
+just example_fixed_leader multi-validator-push-cdn -- 9 http://127.0.0.1:4444
```
Where ones using `example_gpuvid_leader` could be the leader and should be running on a nvidia GPU, and other validators using `example_fixed_leader` will never be a leader. In practice, these url should be changed to the corresponding ip and port.
@@ -57,12 +57,12 @@ Where ones using `example_gpuvid_leader` could be the leader and should be runni
If you don't have a gpu but want to test out fixed leader, you can run:
```
docker run --rm -p 0.0.0.0:6379:6379 eqalpha/keydb
-just async_std example cdn-marshal -- -d redis://localhost:6379 -b 9000
-just async_std example cdn-broker -- -d redis://localhost:6379 --public-bind-endpoint 0.0.0.0:1740 --public-advertise-endpoint local_ip:1740 --private-bind-endpoint 0.0.0.0:1741 --private-advertise-endpoint local_ip:1741
-just async_std example_fixed_leader orchestrator -- --config_file ./crates/orchestrator/run-config.toml --orchestrator_url http://0.0.0.0:4444 --fixed_leader_for_gpuvid 1
-just async_std example_fixed_leader multi-validator-push-cdn -- 1 http://127.0.0.1:4444
+just example cdn-marshal -- -d redis://localhost:6379 -b 9000
+just example cdn-broker -- -d redis://localhost:6379 --public-bind-endpoint 0.0.0.0:1740 --public-advertise-endpoint local_ip:1740 --private-bind-endpoint 0.0.0.0:1741 --private-advertise-endpoint local_ip:1741
+just example_fixed_leader orchestrator -- --config_file ./crates/orchestrator/run-config.toml --orchestrator_url http://0.0.0.0:4444 --fixed_leader_for_gpuvid 1
+just example_fixed_leader multi-validator-push-cdn -- 1 http://127.0.0.1:4444
sleep 1m
-just async_std example_fixed_leader multi-validator-push-cdn -- 9 http://127.0.0.1:4444
+just example_fixed_leader multi-validator-push-cdn -- 9 http://127.0.0.1:4444
```
Remember, you have to run leaders first, then other validators, so that leaders will have lower index.
\ No newline at end of file
diff --git a/crates/examples/push-cdn/all.rs b/crates/examples/push-cdn/all.rs
index 4312f32d12..76c97c0474 100644
--- a/crates/examples/push-cdn/all.rs
+++ b/crates/examples/push-cdn/all.rs
@@ -10,13 +10,13 @@ pub mod types;
use std::path::Path;
-use async_compatibility_layer::art::async_spawn;
use cdn_broker::{
reexports::{crypto::signature::KeyPair, def::hook::NoMessageHook},
Broker,
};
use cdn_marshal::Marshal;
use hotshot::{
+ helpers::initialize_logging,
traits::implementations::{HotShotMessageHook, TestingDef, WrappedSignatureKey},
types::SignatureKey,
};
@@ -25,6 +25,7 @@ use hotshot_orchestrator::client::ValidatorArgs;
use hotshot_types::traits::node_implementation::NodeType;
use infra::{gen_local_address, BUILDER_BASE_PORT};
use rand::{rngs::StdRng, RngCore, SeedableRng};
+use tokio::spawn;
use crate::{
infra::{read_orchestrator_init_config, run_orchestrator, OrchestratorArgs},
@@ -37,18 +38,16 @@ pub mod infra;
use tracing::error;
-#[cfg_attr(async_executor_impl = "tokio", tokio::main)]
-#[cfg_attr(async_executor_impl = "async-std", async_std::main)]
+#[tokio::main]
async fn main() {
- use async_compatibility_layer::logging::{setup_backtrace, setup_logging};
- setup_logging();
- setup_backtrace();
+ // Initialize logging
+ initialize_logging();
// use configfile args
let (config, orchestrator_url) = read_orchestrator_init_config::();
// Start the orhcestrator
- async_spawn(run_orchestrator::(OrchestratorArgs {
+ spawn(run_orchestrator::(OrchestratorArgs {
url: orchestrator_url.clone(),
config: config.clone(),
}));
@@ -104,7 +103,7 @@ async fn main() {
};
// Create and spawn the broker
- async_spawn(async move {
+ spawn(async move {
let broker: Broker::SignatureKey>> =
Broker::new(config).await.expect("broker failed to start");
@@ -132,7 +131,7 @@ async fn main() {
};
// Spawn the marshal
- async_spawn(async move {
+ spawn(async move {
let marshal: Marshal::SignatureKey>> =
Marshal::new(marshal_config)
.await
@@ -149,7 +148,7 @@ async fn main() {
for i in 0..(config.config.num_nodes_with_stake.get()) {
let orchestrator_url = orchestrator_url.clone();
let builder_address = gen_local_address::(i);
- let node = async_spawn(async move {
+ let node = spawn(async move {
infra::main_entry_point::(
ValidatorArgs {
url: orchestrator_url,
diff --git a/crates/examples/push-cdn/broker.rs b/crates/examples/push-cdn/broker.rs
index 6e58ae7ca8..0665fb9b61 100644
--- a/crates/examples/push-cdn/broker.rs
+++ b/crates/examples/push-cdn/broker.rs
@@ -70,8 +70,8 @@ struct Args {
#[arg(long, default_value_t = 1_073_741_824)]
global_memory_pool_size: usize,
}
-#[cfg_attr(async_executor_impl = "tokio", tokio::main)]
-#[cfg_attr(async_executor_impl = "async-std", async_std::main)]
+
+#[tokio::main]
async fn main() -> Result<()> {
// Parse command line arguments
let args = Args::parse();
diff --git a/crates/examples/push-cdn/marshal.rs b/crates/examples/push-cdn/marshal.rs
index 39d2267bd8..569cb0dc33 100644
--- a/crates/examples/push-cdn/marshal.rs
+++ b/crates/examples/push-cdn/marshal.rs
@@ -52,8 +52,7 @@ struct Args {
global_memory_pool_size: usize,
}
-#[cfg_attr(async_executor_impl = "tokio", tokio::main)]
-#[cfg_attr(async_executor_impl = "async-std", async_std::main)]
+#[tokio::main]
async fn main() -> Result<()> {
// Parse command-line arguments
let args = Args::parse();
diff --git a/crates/examples/push-cdn/multi-validator.rs b/crates/examples/push-cdn/multi-validator.rs
index b8070f8b1c..54718468b3 100644
--- a/crates/examples/push-cdn/multi-validator.rs
+++ b/crates/examples/push-cdn/multi-validator.rs
@@ -5,13 +5,11 @@
// along with the HotShot repository. If not, see .
//! A multi validator
-use async_compatibility_layer::{
- art::async_spawn,
- logging::{setup_backtrace, setup_logging},
-};
use clap::Parser;
+use hotshot::helpers::initialize_logging;
use hotshot_example_types::{node_types::TestVersions, state_types::TestTypes};
use hotshot_orchestrator::client::{MultiValidatorArgs, ValidatorArgs};
+use tokio::spawn;
use tracing::instrument;
use crate::types::{Network, NodeImpl, ThisRun};
@@ -23,19 +21,19 @@ pub mod types;
#[path = "../infra/mod.rs"]
pub mod infra;
-#[cfg_attr(async_executor_impl = "tokio", tokio::main(flavor = "multi_thread"))]
-#[cfg_attr(async_executor_impl = "async-std", async_std::main)]
+#[tokio::main]
#[instrument]
async fn main() {
- setup_logging();
- setup_backtrace();
+ // Initialize logging
+ initialize_logging();
+
let args = MultiValidatorArgs::parse();
tracing::debug!("connecting to orchestrator at {:?}", args.url);
let mut nodes = Vec::new();
for node_index in 0..args.num_nodes {
let args = args.clone();
- let node = async_spawn(async move {
+ let node = spawn(async move {
infra::main_entry_point::(
ValidatorArgs::from_multi_args(args, node_index),
)
diff --git a/crates/examples/push-cdn/validator.rs b/crates/examples/push-cdn/validator.rs
index 70d53cdc33..7b546dfabe 100644
--- a/crates/examples/push-cdn/validator.rs
+++ b/crates/examples/push-cdn/validator.rs
@@ -5,8 +5,8 @@
// along with the HotShot repository. If not, see .
//! A validator
-use async_compatibility_layer::logging::{setup_backtrace, setup_logging};
use clap::Parser;
+use hotshot::helpers::initialize_logging;
use hotshot_example_types::{node_types::TestVersions, state_types::TestTypes};
use hotshot_orchestrator::client::ValidatorArgs;
use tracing::{debug, instrument};
@@ -20,12 +20,12 @@ pub mod types;
#[path = "../infra/mod.rs"]
pub mod infra;
-#[cfg_attr(async_executor_impl = "tokio", tokio::main(flavor = "multi_thread"))]
-#[cfg_attr(async_executor_impl = "async-std", async_std::main)]
+#[tokio::main]
#[instrument]
async fn main() {
- setup_logging();
- setup_backtrace();
+ // Initialize logging
+ initialize_logging();
+
let args = ValidatorArgs::parse();
debug!("connecting to orchestrator at {:?}", args.url);
infra::main_entry_point::(args).await;
diff --git a/crates/examples/push-cdn/whitelist-adapter.rs b/crates/examples/push-cdn/whitelist-adapter.rs
index f787f271e4..e855a41aba 100644
--- a/crates/examples/push-cdn/whitelist-adapter.rs
+++ b/crates/examples/push-cdn/whitelist-adapter.rs
@@ -40,8 +40,7 @@ struct Args {
local_discovery: bool,
}
-#[cfg_attr(async_executor_impl = "tokio", tokio::main)]
-#[cfg_attr(async_executor_impl = "async-std", async_std::main)]
+#[tokio::main]
async fn main() -> Result<()> {
// Parse the command line arguments
let args = Args::parse();
diff --git a/crates/fakeapi/Cargo.toml b/crates/fakeapi/Cargo.toml
index 315af7f949..b2bd022c45 100644
--- a/crates/fakeapi/Cargo.toml
+++ b/crates/fakeapi/Cargo.toml
@@ -11,8 +11,8 @@ repository.workspace = true
[dependencies]
toml = { workspace = true }
tide-disco = { workspace = true }
+tokio = { workspace = true }
anyhow = { workspace = true }
-async-compatibility-layer = { workspace = true }
hotshot-types = { path = "../types" }
vbs = { workspace = true }
serde = { workspace = true }
diff --git a/crates/fakeapi/src/fake_solver.rs b/crates/fakeapi/src/fake_solver.rs
index 3c4beabd03..b52418cc9b 100644
--- a/crates/fakeapi/src/fake_solver.rs
+++ b/crates/fakeapi/src/fake_solver.rs
@@ -4,7 +4,6 @@ use std::{
};
use anyhow::Result;
-use async_compatibility_layer::art::async_sleep;
use async_lock::RwLock;
use futures::FutureExt;
use hotshot_example_types::auction_results_provider_types::TestAuctionResult;
@@ -95,7 +94,7 @@ impl FakeSolverState {
}
FakeSolverFaultType::TimeoutFault => {
// Sleep for the preconfigured 1 second timeout interval
- async_sleep(SOLVER_MAX_TIMEOUT_S).await;
+ tokio::time::sleep(SOLVER_MAX_TIMEOUT_S).await;
}
}
}
diff --git a/crates/hotshot/Cargo.toml b/crates/hotshot/Cargo.toml
index 1603f3f180..b842a404a5 100644
--- a/crates/hotshot/Cargo.toml
+++ b/crates/hotshot/Cargo.toml
@@ -24,7 +24,6 @@ hotshot-testing = []
[dependencies]
anyhow = { workspace = true }
async-broadcast = { workspace = true }
-async-compatibility-layer = { workspace = true }
async-lock = { workspace = true }
async-trait = { workspace = true }
bimap = "0.6"
@@ -51,6 +50,7 @@ thiserror = { workspace = true }
surf-disco = { workspace = true }
time = { workspace = true }
tracing = { workspace = true }
+tracing-subscriber = { workspace = true }
vbs = { workspace = true }
jf-signature.workspace = true
blake3.workspace = true
@@ -61,27 +61,12 @@ parking_lot = "0.12"
twox-hash = { version = "1", default-features = false }
utils = { path = "../utils" }
gcr = "0.1"
-tracing-subscriber = "0.3"
-[target.'cfg(all(async_executor_impl = "tokio"))'.dependencies]
tokio = { workspace = true }
cdn-client = { workspace = true }
cdn-broker = { workspace = true, features = ["global-permits"] }
cdn-marshal = { workspace = true }
-[target.'cfg(all(async_executor_impl = "async-std"))'.dependencies]
-async-std = { workspace = true }
-cdn-client = { workspace = true, features = ["runtime-async-std"] }
-cdn-broker = { workspace = true, features = [
- "runtime-async-std",
- "global-permits",
-] }
-cdn-marshal = { workspace = true, features = [
- "runtime-async-std",
- "global-permits",
-] }
-
-
[dev-dependencies]
blake3 = { workspace = true }
clap.workspace = true
diff --git a/crates/hotshot/src/helpers.rs b/crates/hotshot/src/helpers.rs
new file mode 100644
index 0000000000..e685e26cdd
--- /dev/null
+++ b/crates/hotshot/src/helpers.rs
@@ -0,0 +1,35 @@
+use tracing_subscriber::{fmt::format::FmtSpan, EnvFilter};
+
+/// Initializes logging
+pub fn initialize_logging() {
+ // Parse the `RUST_LOG_SPAN_EVENTS` environment variable
+ let span_event_filter = match std::env::var("RUST_LOG_SPAN_EVENTS") {
+ Ok(val) => val
+ .split(',')
+ .map(|s| match s.trim() {
+ "new" => FmtSpan::NEW,
+ "enter" => FmtSpan::ENTER,
+ "exit" => FmtSpan::EXIT,
+ "close" => FmtSpan::CLOSE,
+ "active" => FmtSpan::ACTIVE,
+ "full" => FmtSpan::FULL,
+ _ => FmtSpan::NONE,
+ })
+ .fold(FmtSpan::NONE, |acc, x| acc | x),
+ Err(_) => FmtSpan::NONE,
+ };
+
+ // Conditionally initialize in `json` mode
+ if std::env::var("RUST_LOG_FORMAT") == Ok("json".to_string()) {
+ let _ = tracing_subscriber::fmt()
+ .with_env_filter(EnvFilter::from_default_env())
+ .with_span_events(span_event_filter)
+ .json()
+ .try_init();
+ } else {
+ let _ = tracing_subscriber::fmt()
+ .with_env_filter(EnvFilter::from_default_env())
+ .with_span_events(span_event_filter)
+ .try_init();
+ };
+}
diff --git a/crates/hotshot/src/lib.rs b/crates/hotshot/src/lib.rs
index af7e210da2..05ccea0a0c 100644
--- a/crates/hotshot/src/lib.rs
+++ b/crates/hotshot/src/lib.rs
@@ -26,6 +26,9 @@ pub mod types;
pub mod tasks;
+/// Contains helper functions for the crate
+pub mod helpers;
+
use std::{
collections::{BTreeMap, HashMap},
num::NonZeroUsize,
@@ -34,7 +37,6 @@ use std::{
};
use async_broadcast::{broadcast, InactiveReceiver, Receiver, Sender};
-use async_compatibility_layer::art::{async_sleep, async_spawn};
use async_lock::RwLock;
use async_trait::async_trait;
use futures::join;
@@ -65,6 +67,7 @@ use hotshot_types::{
// External
/// Reexport rand crate
pub use rand;
+use tokio::{spawn, time::sleep};
use tracing::{debug, instrument, trace};
use crate::{
@@ -125,6 +128,9 @@ pub struct SystemContext, V: Versi
/// The view to enter when first starting consensus
start_view: TYPES::View,
+ /// The epoch to enter when first starting consensus
+ start_epoch: TYPES::Epoch,
+
/// Access to the output event stream.
output_event_stream: (Sender>, InactiveReceiver>),
@@ -168,6 +174,7 @@ impl, V: Versions> Clone
consensus: self.consensus.clone(),
instance_state: Arc::clone(&self.instance_state),
start_view: self.start_view,
+ start_epoch: self.start_epoch,
output_event_stream: self.output_event_stream.clone(),
external_event_stream: self.external_event_stream.clone(),
anchored_leaf: self.anchored_leaf.clone(),
@@ -325,6 +332,7 @@ impl, V: Versions> SystemContext, V: Versions> SystemContext, V: Versions> SystemContext, V: Versions> SystemContext, V: Versions> SystemContext, V: Versions> SystemContext, V: Versions> SystemContext, V: Versions> SystemContext(&mut handle).await;
@@ -705,7 +700,7 @@ where
let (network_task_sender, mut receiver_from_network): Channel> =
broadcast(EVENT_CHANNEL_SIZE);
- let _recv_loop_handle = async_spawn(async move {
+ let _recv_loop_handle = spawn(async move {
loop {
let msg = match select(left_receiver.recv(), right_receiver.recv()).await {
Either::Left(msg) => Either::Left(msg.0.unwrap().as_ref().clone()),
@@ -721,7 +716,7 @@ where
}
});
- let _send_loop_handle = async_spawn(async move {
+ let _send_loop_handle = spawn(async move {
loop {
if let Ok(msg) = receiver_from_network.recv().await {
let mut state = send_state.write().await;
@@ -765,6 +760,7 @@ where
SystemContextHandle,
SystemContextHandle,
) {
+ let epoch_height = config.epoch_height;
let left_system_context = SystemContext::new(
public_key.clone(),
private_key.clone(),
@@ -832,6 +828,7 @@ where
storage: Arc::clone(&left_system_context.storage),
network: Arc::clone(&left_system_context.network),
memberships: Arc::clone(&left_system_context.memberships),
+ epoch_height,
};
let mut right_handle = SystemContextHandle {
@@ -843,6 +840,7 @@ where
storage: Arc::clone(&right_system_context.storage),
network: Arc::clone(&right_system_context.network),
memberships: Arc::clone(&right_system_context.memberships),
+ epoch_height,
};
// add consensus tasks to each handle, using their individual internal event streams
@@ -977,6 +975,8 @@ pub struct HotShotInitializer {
/// Starting view number that should be equivelant to the view the node shut down with last.
start_view: TYPES::View,
+ /// Starting epoch number that should be equivelant to the epoch the node shut down with last.
+ start_epoch: TYPES::Epoch,
/// The view we last performed an action in. An action is Proposing or voting for
/// Either the quorum or DA.
actioned_view: TYPES::View,
@@ -1010,6 +1010,7 @@ impl HotShotInitializer {
validated_state: Some(Arc::new(validated_state)),
state_delta: Some(Arc::new(state_delta)),
start_view: TYPES::View::new(0),
+ start_epoch: TYPES::Epoch::new(0),
actioned_view: TYPES::View::new(0),
saved_proposals: BTreeMap::new(),
high_qc,
@@ -1024,15 +1025,16 @@ impl HotShotInitializer {
///
/// # Arguments
/// * `start_view` - The minimum view number that we are confident won't lead to a double vote
- /// after restart.
+ /// after restart.
/// * `validated_state` - Optional validated state that if given, will be used to construct the
- /// `SystemContext`.
+ /// `SystemContext`.
#[allow(clippy::too_many_arguments)]
pub fn from_reload(
anchor_leaf: Leaf,
instance_state: TYPES::InstanceState,
validated_state: Option>,
start_view: TYPES::View,
+ start_epoch: TYPES::Epoch,
actioned_view: TYPES::View,
saved_proposals: BTreeMap>>,
high_qc: QuorumCertificate,
@@ -1046,6 +1048,7 @@ impl HotShotInitializer {
validated_state,
state_delta: None,
start_view,
+ start_epoch,
actioned_view,
saved_proposals,
high_qc,
diff --git a/crates/hotshot/src/tasks/mod.rs b/crates/hotshot/src/tasks/mod.rs
index cca95d3c76..6ddd00b252 100644
--- a/crates/hotshot/src/tasks/mod.rs
+++ b/crates/hotshot/src/tasks/mod.rs
@@ -8,10 +8,14 @@
/// Provides trait to create task states from a `SystemContextHandle`
pub mod task_state;
-use std::{fmt::Debug, sync::Arc, time::Duration};
+use std::{collections::BTreeMap, fmt::Debug, num::NonZeroUsize, sync::Arc, time::Duration};
+use crate::{
+ tasks::task_state::CreateTaskState, types::SystemContextHandle, ConsensusApi,
+ ConsensusMetricsValue, ConsensusTaskRegistry, HotShotConfig, HotShotInitializer,
+ MarketplaceConfig, Memberships, NetworkTaskRegistry, SignatureKey, SystemContext, Versions,
+};
use async_broadcast::{broadcast, RecvError};
-use async_compatibility_layer::art::{async_sleep, async_spawn};
use async_lock::RwLock;
use async_trait::async_trait;
use futures::{
@@ -33,7 +37,7 @@ use hotshot_task_impls::{
view_sync::ViewSyncTaskState,
};
use hotshot_types::{
- consensus::Consensus,
+ consensus::{Consensus, OuterConsensus},
constants::EVENT_CHANNEL_SIZE,
message::{Message, UpgradeLock},
traits::{
@@ -41,14 +45,9 @@ use hotshot_types::{
node_implementation::{ConsensusTime, NodeImplementation, NodeType},
},
};
+use tokio::{spawn, time::sleep};
use vbs::version::StaticVersionType;
-use crate::{
- tasks::task_state::CreateTaskState, types::SystemContextHandle, ConsensusApi,
- ConsensusMetricsValue, ConsensusTaskRegistry, HotShotConfig, HotShotInitializer,
- MarketplaceConfig, Memberships, NetworkTaskRegistry, SignatureKey, SystemContext, Versions,
-};
-
/// event for global event stream
#[derive(Clone, Debug)]
pub enum GlobalEvent {
@@ -101,14 +100,14 @@ pub fn add_queue_len_task, V: Vers
let consensus = handle.hotshot.consensus();
let rx = handle.internal_event_stream.1.clone();
let shutdown_signal = create_shutdown_event_monitor(handle).fuse();
- let task_handle = async_spawn(async move {
+ let task_handle = spawn(async move {
futures::pin_mut!(shutdown_signal);
loop {
futures::select! {
() = shutdown_signal => {
return;
},
- () = async_sleep(Duration::from_millis(500)).fuse() => {
+ () = sleep(Duration::from_millis(500)).fuse() => {
consensus.read().await.metrics.internal_event_queue_len.set(rx.len());
}
}
@@ -118,6 +117,7 @@ pub fn add_queue_len_task, V: Vers
}
/// Add the network task to handle messages and publish events.
+#[allow(clippy::missing_panics_doc)]
pub fn add_network_message_task<
TYPES: NodeType,
I: NodeImplementation,
@@ -131,6 +131,7 @@ pub fn add_network_message_task<
internal_event_stream: handle.internal_event_stream.0.clone(),
external_event_stream: handle.output_event_stream.0.clone(),
public_key: handle.public_key().clone(),
+ transactions_cache: lru::LruCache::new(NonZeroUsize::new(100_000).unwrap()),
};
let upgrade_lock = handle.hotshot.upgrade_lock.clone();
@@ -138,7 +139,7 @@ pub fn add_network_message_task<
let network = Arc::clone(channel);
let mut state = network_state.clone();
let shutdown_signal = create_shutdown_event_monitor(handle).fuse();
- let task_handle = async_spawn(async move {
+ let task_handle = spawn(async move {
futures::pin_mut!(shutdown_signal);
loop {
@@ -198,8 +199,9 @@ pub fn add_network_event_task<
quorum_membership,
da_membership,
storage: Arc::clone(&handle.storage()),
- consensus: Arc::clone(&handle.consensus()),
+ consensus: OuterConsensus::new(handle.consensus()),
upgrade_lock: handle.hotshot.upgrade_lock.clone(),
+ transmit_tasks: BTreeMap::new(),
};
let task = Task::new(
network_state,
@@ -327,6 +329,7 @@ where
storage: I::Storage,
marketplace_config: MarketplaceConfig,
) -> SystemContextHandle {
+ let epoch_height = config.epoch_height;
let hotshot = SystemContext::new(
public_key,
private_key,
@@ -355,6 +358,7 @@ where
storage: Arc::clone(&hotshot.storage),
network: Arc::clone(&hotshot.network),
memberships: Arc::clone(&hotshot.memberships),
+ epoch_height,
};
add_consensus_tasks::(&mut handle).await;
@@ -408,7 +412,7 @@ where
let private_key = handle.private_key().clone();
let upgrade_lock = handle.hotshot.upgrade_lock.clone();
let consensus = Arc::clone(&handle.hotshot.consensus());
- let send_handle = async_spawn(async move {
+ let send_handle = spawn(async move {
futures::pin_mut!(shutdown_signal);
let recv_stream = stream::unfold(original_receiver, |mut recv| async move {
@@ -462,7 +466,7 @@ where
// spawn a task to listen on the newly created event stream,
// and broadcast the transformed events to the original internal event stream
let shutdown_signal = create_shutdown_event_monitor(handle).fuse();
- let recv_handle = async_spawn(async move {
+ let recv_handle = spawn(async move {
futures::pin_mut!(shutdown_signal);
let network_recv_stream =
diff --git a/crates/hotshot/src/tasks/task_state.rs b/crates/hotshot/src/tasks/task_state.rs
index ead7b745f6..09bc3b0eb4 100644
--- a/crates/hotshot/src/tasks/task_state.rs
+++ b/crates/hotshot/src/tasks/task_state.rs
@@ -9,7 +9,6 @@ use std::{
sync::{atomic::AtomicBool, Arc},
};
-use async_compatibility_layer::art::async_spawn;
use async_trait::async_trait;
use chrono::Utc;
use hotshot_task_impls::{
@@ -26,6 +25,7 @@ use hotshot_types::{
node_implementation::{ConsensusTime, NodeImplementation, NodeType},
},
};
+use tokio::spawn;
use crate::{types::SystemContextHandle, Versions};
@@ -241,6 +241,7 @@ impl, V: Versions> CreateTaskState
id: handle.hotshot.id,
storage: Arc::clone(&handle.storage),
upgrade_lock: handle.hotshot.upgrade_lock.clone(),
+ epoch_height: handle.hotshot.config.epoch_height,
}
}
}
@@ -268,6 +269,7 @@ impl, V: Versions> CreateTaskState
id: handle.hotshot.id,
formed_upgrade_certificate: None,
upgrade_lock: handle.hotshot.upgrade_lock.clone(),
+ epoch_height: handle.hotshot.config.epoch_height,
}
}
}
@@ -284,20 +286,15 @@ impl, V: Versions> CreateTaskState
private_key: handle.private_key().clone(),
consensus: OuterConsensus::new(consensus),
cur_view: handle.cur_view().await,
- cur_view_time: Utc::now().timestamp(),
cur_epoch: handle.cur_epoch().await,
- network: Arc::clone(&handle.hotshot.network),
quorum_membership: handle.hotshot.memberships.quorum_membership.clone().into(),
- timeout_membership: handle.hotshot.memberships.quorum_membership.clone().into(),
- timeout_task: async_spawn(async {}),
timeout: handle.hotshot.config.next_view_timeout,
output_event_stream: handle.hotshot.external_event_stream.0.clone(),
storage: Arc::clone(&handle.storage),
- proposal_cert: None,
spawned_tasks: BTreeMap::new(),
- instance_state: handle.hotshot.instance_state(),
id: handle.hotshot.id,
upgrade_lock: handle.hotshot.upgrade_lock.clone(),
+ epoch_height: handle.hotshot.config.epoch_height,
}
}
}
@@ -324,12 +321,12 @@ impl, V: Versions> CreateTaskState
cur_view_time: Utc::now().timestamp(),
cur_epoch: handle.cur_epoch().await,
output_event_stream: handle.hotshot.external_event_stream.0.clone(),
- timeout_task: async_spawn(async {}),
+ timeout_task: spawn(async {}),
timeout: handle.hotshot.config.next_view_timeout,
consensus: OuterConsensus::new(consensus),
- last_decided_view: handle.cur_view().await,
id: handle.hotshot.id,
upgrade_lock: handle.hotshot.upgrade_lock.clone(),
+ epoch_height: handle.hotshot.config.epoch_height,
}
}
}
diff --git a/crates/hotshot/src/traits/networking/combined_network.rs b/crates/hotshot/src/traits/networking/combined_network.rs
index 584e4e888e..6c891fa6f7 100644
--- a/crates/hotshot/src/traits/networking/combined_network.rs
+++ b/crates/hotshot/src/traits/networking/combined_network.rs
@@ -19,10 +19,6 @@ use std::{
};
use async_broadcast::{broadcast, InactiveReceiver, Sender};
-use async_compatibility_layer::{
- art::{async_sleep, async_spawn},
- channel::TrySendError,
-};
use async_lock::RwLock;
use async_trait::async_trait;
use futures::{join, select, FutureExt};
@@ -45,6 +41,7 @@ use hotshot_types::{
};
use lru::LruCache;
use parking_lot::RwLock as PlRwLock;
+use tokio::{spawn, sync::mpsc::error::TrySendError, time::sleep};
use tracing::{debug, info, warn};
use super::{push_cdn_network::PushCdnNetwork, NetworkError};
@@ -95,7 +92,7 @@ impl CombinedNetworks {
#[must_use]
pub fn new(
primary_network: PushCdnNetwork,
- secondary_network: Libp2pNetwork,
+ secondary_network: Libp2pNetwork,
delay_duration: Option,
) -> Self {
// Create networks from the ones passed in
@@ -127,7 +124,7 @@ impl CombinedNetworks {
/// Get a ref to the backup network
#[must_use]
- pub fn secondary(&self) -> &Libp2pNetwork {
+ pub fn secondary(&self) -> &Libp2pNetwork {
&self.networks.1
}
@@ -183,8 +180,8 @@ impl CombinedNetworks {
.1
.activate_cloned();
// Spawn a task that sleeps for `duration` and then sends the message if it wasn't cancelled
- async_spawn(async move {
- async_sleep(duration).await;
+ spawn(async move {
+ sleep(duration).await;
if receiver.try_recv().is_ok() {
// The task has been cancelled because the view progressed, it means the primary is working fine
debug!(
@@ -251,7 +248,7 @@ impl CombinedNetworks {
#[derive(Clone)]
pub struct UnderlyingCombinedNetworks(
pub PushCdnNetwork,
- pub Libp2pNetwork,
+ pub Libp2pNetwork,
);
#[cfg(feature = "hotshot-testing")]
@@ -273,7 +270,7 @@ impl TestableNetworkingImplementation for CombinedNetwor
None,
Duration::default(),
),
- as TestableNetworkingImplementation>::generator(
+ as TestableNetworkingImplementation>::generator(
expected_node_count,
num_bootstrap,
network_id,
@@ -297,7 +294,7 @@ impl TestableNetworkingImplementation for CombinedNetwor
// Combine the two
let underlying_combined = UnderlyingCombinedNetworks(
cdn.clone(),
- Arc::>::unwrap_or_clone(p2p),
+ Arc::>::unwrap_or_clone(p2p),
);
// We want to use the same message cache between the two networks
@@ -462,11 +459,8 @@ impl ConnectedNetwork for CombinedNetworks
// Calculate hash of the message
let message_hash = calculate_hash_of(&message);
- // Check if the hash is in the cache
- if !self.message_cache.read().contains(&message_hash) {
- // Add the hash to the cache
- self.message_cache.write().put(message_hash, ());
-
+ // Check if the hash is in the cache and update the cache
+ if self.message_cache.write().put(message_hash, ()).is_none() {
break Ok(message);
}
}
@@ -486,7 +480,7 @@ impl ConnectedNetwork for CombinedNetworks
T: NodeType + 'a,
{
let delayed_tasks_channels = Arc::clone(&self.delayed_tasks_channels);
- async_spawn(async move {
+ spawn(async move {
let mut map_lock = delayed_tasks_channels.write().await;
while let Some((first_view, _)) = map_lock.first_key_value() {
// Broadcast a cancelling signal to all the tasks related to each view older than the new one
diff --git a/crates/hotshot/src/traits/networking/libp2p_network.rs b/crates/hotshot/src/traits/networking/libp2p_network.rs
index 6567450243..0713429e66 100644
--- a/crates/hotshot/src/traits/networking/libp2p_network.rs
+++ b/crates/hotshot/src/traits/networking/libp2p_network.rs
@@ -23,20 +23,10 @@ use std::{
};
use anyhow::{anyhow, Context};
-use async_compatibility_layer::{
- art::{async_sleep, async_spawn},
- channel::{
- self, bounded, unbounded, Receiver as BoundedReceiver, Sender as BoundedSender,
- TrySendError, UnboundedReceiver, UnboundedSender,
- },
-};
use async_lock::RwLock;
use async_trait::async_trait;
use bimap::BiHashMap;
-use futures::{
- future::{join_all, Either},
- FutureExt,
-};
+use futures::future::join_all;
#[cfg(feature = "hotshot-testing")]
use hotshot_types::traits::network::{
AsyncGenerator, NetworkReliability, TestableNetworkingImplementation,
@@ -51,7 +41,7 @@ use hotshot_types::{
metrics::{Counter, Gauge, Metrics, NoMetrics},
network::{ConnectedNetwork, NetworkError, Topic},
node_implementation::{ConsensusTime, NodeType},
- signature_key::SignatureKey,
+ signature_key::{PrivateSignatureKey, SignatureKey},
},
BoxSyncFuture,
};
@@ -73,6 +63,14 @@ use libp2p_networking::{
};
use rand::{rngs::StdRng, seq::IteratorRandom, SeedableRng};
use serde::Serialize;
+use tokio::{
+ select, spawn,
+ sync::{
+ mpsc::{channel, error::TrySendError, Receiver, Sender},
+ Mutex,
+ },
+ time::sleep,
+};
use tracing::{error, info, instrument, trace, warn};
use crate::BroadcastDelay;
@@ -132,7 +130,7 @@ pub struct Empty {
byte: u8,
}
-impl Debug for Libp2pNetwork {
+impl Debug for Libp2pNetwork {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("Libp2p").field("inner", &"inner").finish()
}
@@ -143,17 +141,17 @@ pub type PeerInfoVec = Arc>>;
/// The underlying state of the libp2p network
#[derive(Debug)]
-struct Libp2pNetworkInner {
+struct Libp2pNetworkInner {
/// this node's public key
- pk: K,
+ pk: T::SignatureKey,
/// handle to control the network
- handle: Arc>,
+ handle: Arc>,
/// Message Receiver
- receiver: UnboundedReceiver>,
+ receiver: Mutex>>,
/// Sender for broadcast messages
- sender: UnboundedSender>,
+ sender: Sender>,
/// Sender for node lookup (relevant view number, key of node) (None for shutdown)
- node_lookup_send: BoundedSender