diff --git a/.cargo/config.toml b/.cargo/config.toml
index b707df9d..0c1c209f 100644
--- a/.cargo/config.toml
+++ b/.cargo/config.toml
@@ -1,6 +1,2 @@
[target.armv7-unknown-linux-gnueabihf]
linker = "arm-linux-gnueabihf-gcc"
-
-# windows defaults to smaller stack sizes which isn't enough
-[target.'cfg(windows)']
-rustflags = ["-C", "link-args=/STACK:8388608"]
diff --git a/.github/workflows/build-release-binaries.yml b/.github/workflows/build-release-binaries.yml
index 2fdaabdc..e95c7e32 100644
--- a/.github/workflows/build-release-binaries.yml
+++ b/.github/workflows/build-release-binaries.yml
@@ -6,9 +6,8 @@ on:
jobs:
build_binaries:
- name: Build
+ name: Build swap and asb binaries
strategy:
- fail-fast: false
matrix:
include:
- bin: swap
@@ -21,10 +20,6 @@ jobs:
archive_ext: tar
- bin: swap
target: x86_64-apple-darwin
- os: macos-12
- archive_ext: tar
- - bin: swap
- target: aarch64-apple-darwin
os: macos-latest
archive_ext: tar
- bin: swap
@@ -41,10 +36,6 @@ jobs:
archive_ext: tar
- bin: asb
target: x86_64-apple-darwin
- os: macos-12
- archive_ext: tar
- - bin: asb
- target: aarch64-apple-darwin
os: macos-latest
archive_ext: tar
- bin: asb
@@ -54,33 +45,33 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout tagged commit
- uses: actions/checkout@v4.2.1
+ uses: actions/checkout@v3.3.0
with:
ref: ${{ github.event.release.target_commitish }}
token: ${{ secrets.BOTTY_GITHUB_TOKEN }}
- - uses: Swatinem/rust-cache@v2.7.5
+ - uses: Swatinem/rust-cache@v2.2.0
- - uses: dtolnay/rust-toolchain@master
+ - uses: dtolnay/rust-toolchain@stable
with:
- toolchain: "1.74"
-
- - name: Cross Build ${{ matrix.target }} ${{ matrix.bin }} binary
- if: matrix.target == 'armv7-unknown-linux-gnueabihf'
- run: |
- curl -L "https://github.com/cross-rs/cross/releases/download/v0.2.5/cross-x86_64-unknown-linux-gnu.tar.gz" | tar xzv
- sudo mv cross /usr/bin
- sudo mv cross-util /usr/bin
- cross build --target=${{ matrix.target }} --release --package swap --bin ${{ matrix.bin }}
+ targets: armv7-unknown-linux-gnueabihf
- name: Build ${{ matrix.target }} ${{ matrix.bin }} release binary
- if: matrix.target != 'armv7-unknown-linux-gnueabihf'
- run: cargo build --target=${{ matrix.target }} --release --package swap --bin ${{ matrix.bin }}
+ uses: actions-rs/cargo@v1
+ with:
+ command: build
+ args: --target=${{ matrix.target }} --release --package swap --bin ${{ matrix.bin }}
+ use-cross: true
- name: Smoke test the binary
- if: matrix.target != 'armv7-unknown-linux-gnueabihf'
+ if: matrix.target != 'armv7-unknown-linux-gnueabihf' # armv7-unknown-linux-gnueabihf is only cross-compiled, no smoke test
run: target/${{ matrix.target }}/release/${{ matrix.bin }} --help
+ # Remove once python 3 is the default
+ - uses: actions/setup-python@v4
+ with:
+ python-version: "3.x"
+
- id: create-archive-name
shell: python # Use python to have a prettier name for the archive on Windows.
run: |
@@ -97,7 +88,7 @@ jobs:
print(f'::set-output name=archive::{archive_name}')
- name: Pack macos archive
- if: startsWith(matrix.os, 'macos')
+ if: matrix.os == 'macos-latest'
shell: bash
run: gtar -C ./target/${{ matrix.target }}/release --create --file=${{ steps.create-archive-name.outputs.archive }} ${{ matrix.bin }}
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index eda55e3e..695da64a 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -4,6 +4,8 @@ on:
pull_request: # Need to run on pull-requests, otherwise PRs from forks don't run
push:
branches:
+ - "staging" # Bors uses this branch
+ - "trying" # Bors uses this branch
- "master" # Always build head of master for the badge in the README
jobs:
@@ -11,19 +13,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
- uses: actions/checkout@v4.2.1
+ uses: actions/checkout@v3.3.0
- - uses: dtolnay/rust-toolchain@master
- with:
- toolchain: "1.74"
- components: clippy,rustfmt
-
- - uses: Swatinem/rust-cache@v2.7.5
+ - uses: Swatinem/rust-cache@v2.2.0
- name: Check formatting
- uses: dprint/check@v2.2
- with:
- dprint-version: 0.39.1
+ uses: dprint/check@v2.1
- name: Run clippy with default features
run: cargo clippy --workspace --all-targets -- -D warnings
@@ -35,9 +30,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
- uses: actions/checkout@v4.2.1
+ uses: actions/checkout@v3.3.0
- - uses: Swatinem/rust-cache@v2.7.5
+ - uses: Swatinem/rust-cache@v2.0.2
- name: Build swap
run: cargo build --bin swap
@@ -49,12 +44,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
- uses: actions/checkout@v4.2.1
+ uses: actions/checkout@v3.3.0
- - uses: Swatinem/rust-cache@v2.7.5
+ - uses: Swatinem/rust-cache@v2.0.2
- name: Install sqlx-cli
- run: cargo install --locked --version 0.6.3 sqlx-cli
+ run: cargo install sqlx-cli
- name: Run sqlite_dev_setup.sh script
run: |
@@ -70,21 +65,18 @@ jobs:
- target: armv7-unknown-linux-gnueabihf
os: ubuntu-latest
- target: x86_64-apple-darwin
- os: macos-12
- - target: aarch64-apple-darwin
os: macos-latest
- target: x86_64-pc-windows-msvc
os: windows-latest
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
- uses: actions/checkout@v4.2.1
+ uses: actions/checkout@v3.3.0
- - uses: Swatinem/rust-cache@v2.7.5
+ - uses: Swatinem/rust-cache@v2.2.0
- - uses: dtolnay/rust-toolchain@master
+ - uses: dtolnay/rust-toolchain@stable
with:
- toolchain: "1.74"
targets: armv7-unknown-linux-gnueabihf
- name: Build binary
@@ -100,13 +92,13 @@ jobs:
run: cross build -p swap --target ${{ matrix.target }}
- name: Upload swap binary
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v3
with:
name: swap-${{ matrix.target }}
path: target/${{ matrix.target }}/debug/swap
- name: Upload asb binary
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v3
with:
name: asb-${{ matrix.target }}
path: target/${{ matrix.target }}/debug/asb
@@ -117,23 +109,10 @@ jobs:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- - name: (Free disk space on Ubuntu)
- if: matrix.os == 'ubuntu-latest'
- uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be
- with:
- # removing all of these takes ~10 mins, so just do as needed
- android: true
- dotnet: true
- haskell: true
- docker-images: false
- large-packages: false
- swap-storage: false
- tool-cache: false
-
- name: Checkout sources
- uses: actions/checkout@v4.2.1
+ uses: actions/checkout@v3.3.0
- - uses: Swatinem/rust-cache@v2.7.5
+ - uses: Swatinem/rust-cache@v2.2.0
- name: Build tests
run: cargo build --tests --workspace --all-features
@@ -157,47 +136,20 @@ jobs:
alice_and_bob_refund_using_cancel_and_refund_command,
alice_and_bob_refund_using_cancel_then_refund_command,
alice_and_bob_refund_using_cancel_and_refund_command_timelock_not_expired,
- alice_manually_punishes_after_bob_dead_and_bob_cancels,
punish,
alice_punishes_after_restart_bob_dead,
alice_manually_punishes_after_bob_dead,
alice_refunds_after_restart_bob_refunded,
ensure_same_swap_id,
concurrent_bobs_before_xmr_lock_proof_sent,
- concurrent_bobs_after_xmr_lock_proof_sent,
alice_manually_redeems_after_enc_sig_learned,
- happy_path_bob_offline_while_alice_redeems_btc,
]
runs-on: ubuntu-latest
steps:
- name: Checkout sources
- uses: actions/checkout@v4.2.1
+ uses: actions/checkout@v3.3.0
- - uses: Swatinem/rust-cache@v2.7.5
+ - uses: Swatinem/rust-cache@v2.2.0
- name: Run test ${{ matrix.test_name }}
run: cargo test --package swap --all-features --test ${{ matrix.test_name }} -- --nocapture
-
- rpc_tests:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout sources
- uses: actions/checkout@v4.2.1
-
- - uses: Swatinem/rust-cache@v2.7.5
-
- - name: Run RPC server tests
- run: cargo test --package swap --all-features --test rpc -- --nocapture
-
- check_stable:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout sources
- uses: actions/checkout@v4.2.1
-
- - uses: dtolnay/rust-toolchain@stable
-
- - uses: Swatinem/rust-cache@v2.7.5
-
- - name: Run cargo check on stable rust
- run: cargo check --all-targets
diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml
index 3dcd492d..40e79474 100644
--- a/.github/workflows/create-release.yml
+++ b/.github/workflows/create-release.yml
@@ -11,7 +11,7 @@ jobs:
if: github.event.pull_request.merged == true && startsWith(github.event.pull_request.head.ref, 'release/')
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4.2.1
+ - uses: actions/checkout@v3.3.0
- name: Extract version from branch name
id: extract-version
diff --git a/.github/workflows/draft-new-release.yml b/.github/workflows/draft-new-release.yml
index bd926d53..bd9a8298 100644
--- a/.github/workflows/draft-new-release.yml
+++ b/.github/workflows/draft-new-release.yml
@@ -12,7 +12,7 @@ jobs:
name: "Draft a new release"
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4.2.1
+ - uses: actions/checkout@v3.3.0
with:
token: ${{ secrets.BOTTY_GITHUB_TOKEN }}
@@ -20,7 +20,7 @@ jobs:
run: git checkout -b release/${{ github.event.inputs.version }}
- name: Update changelog
- uses: thomaseizinger/keep-a-changelog-new-release@3.1.0
+ uses: thomaseizinger/keep-a-changelog-new-release@1.3.0
with:
version: ${{ github.event.inputs.version }}
changelogPath: CHANGELOG.md
@@ -41,12 +41,8 @@ jobs:
- name: Commit changelog and manifest files
id: make-commit
- env:
- DPRINT_VERSION: "0.39.1"
- RUST_TOOLCHAIN: "1.74"
run: |
- rustup component add rustfmt --toolchain "$RUST_TOOLCHAIN-x86_64-unknown-linux-gnu"
- curl -fsSL https://dprint.dev/install.sh | sh -s $DPRINT_VERSION
+ curl -fsSL https://dprint.dev/install.sh | sh
/home/runner/.dprint/bin/dprint fmt
git add CHANGELOG.md Cargo.lock swap/Cargo.toml
@@ -58,7 +54,7 @@ jobs:
run: git push origin release/${{ github.event.inputs.version }} --force
- name: Create pull request
- uses: thomaseizinger/create-pull-request@1.4.0
+ uses: thomaseizinger/create-pull-request@1.3.0
with:
GITHUB_TOKEN: ${{ secrets.BOTTY_GITHUB_TOKEN }}
head: release/${{ github.event.inputs.version }}
diff --git a/.github/workflows/preview-release.yml b/.github/workflows/preview-release.yml
index b216d283..180b8ebb 100644
--- a/.github/workflows/preview-release.yml
+++ b/.github/workflows/preview-release.yml
@@ -10,7 +10,7 @@ jobs:
name: Create preview release
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4.2.1
+ - uses: actions/checkout@v3.3.0
- name: Delete 'preview' release
uses: larryjoelane/delete-release-action@v1.0.24
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c22e533e..9af3e634 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,46 +7,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
-- ASB + CLI: You can now use the `logs` command to retrieve logs stored in the past, redacting addresses and id's using `logs --redact`.
-- ASB: The `--disable-timestamp` flag has been removed
-
-## [0.13.4] - 2024-07-25
-
-- ASB: The `history` command can now be used while the asb is running.
-- ASB: Retry locking of Monero if it fails on first attempt
-
-## [0.13.3] - 2024-07-15
-
-- Introduced a cooperative Monero redeem feature for Bob to request from Alice if Bob is punished for not refunding in time. Alice can choose to cooperate but is not obligated to do so. This change is backwards compatible. To attempt recovery, resume a swap in the "Bitcoin punished" state. Success depends on Alice being active and still having a record of the swap. Note that Alice's cooperation is voluntary and recovery is not guaranteed
-- CLI: `--change-address` can now be omitted. In that case, any change is refunded to the internal bitcoin wallet.
-
-## [0.13.2] - 2024-07-02
-
-- CLI: Buffer received transfer proofs for later processing if we're currently running a different swap
-- CLI: We now display the reason for a failed cancel-refund operation to the user (#683)
-
-## [0.13.1] - 2024-06-10
-
-- Add retry logic to monero-wallet-rpc wallet refresh
-
-## [0.13.0] - 2024-05-29
-
-- Minimum Supported Rust Version (MSRV) bumped to 1.74
-- Lowered default Bitcoin confirmation target for Bob to 1 to make sure Bitcoin transactions get confirmed in time
-- Added support for starting the CLI (using the `start-daemon` subcommand) as a Daemon that accepts JSON-RPC requests
-- Update monero-wallet-rpc version to v0.18.3.1
-
-## [0.12.3] - 2023-09-20
-
-- Swap: If no Monero daemon is manually specified, we will automatically choose one from a list of public daemons by connecting to each and checking their availability.
-
-## [0.12.2] - 2023-08-08
-
-### Changed
-
-- Minimum Supported Rust Version (MSRV) bumped to 1.67
-- ASB can now register with multiple rendezvous nodes. The `rendezvous_point` option in `config.toml` can be a string with comma separated addresses, or a toml array of address strings.
-
## [0.12.1] - 2023-01-09
### Changed
@@ -378,14 +338,7 @@ It is possible to migrate critical data from the old db to the sqlite but there
- Fixed an issue where Alice would not verify if Bob's Bitcoin lock transaction is semantically correct, i.e. pays the agreed upon amount to an output owned by both of them.
Fixing this required a **breaking change** on the network layer and hence old versions are not compatible with this version.
-[unreleased]: https://github.com/comit-network/xmr-btc-swap/compare/0.13.4...HEAD
-[0.13.4]: https://github.com/comit-network/xmr-btc-swap/compare/0.13.3...0.13.4
-[0.13.3]: https://github.com/comit-network/xmr-btc-swap/compare/0.13.2...0.13.3
-[0.13.2]: https://github.com/comit-network/xmr-btc-swap/compare/0.13.1...0.13.2
-[0.13.1]: https://github.com/comit-network/xmr-btc-swap/compare/0.13.0...0.13.1
-[0.13.0]: https://github.com/comit-network/xmr-btc-swap/compare/0.12.3...0.13.0
-[0.12.3]: https://github.com/comit-network/xmr-btc-swap/compare/0.12.2...0.12.3
-[0.12.2]: https://github.com/comit-network/xmr-btc-swap/compare/0.12.1...0.12.2
+[Unreleased]: https://github.com/comit-network/xmr-btc-swap/compare/0.12.1...HEAD
[0.12.1]: https://github.com/comit-network/xmr-btc-swap/compare/0.12.0...0.12.1
[0.12.0]: https://github.com/comit-network/xmr-btc-swap/compare/0.11.0...0.12.0
[0.11.0]: https://github.com/comit-network/xmr-btc-swap/compare/0.10.2...0.11.0
diff --git a/Cargo.lock b/Cargo.lock
index c31fffba..57bdbe74 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2,21 +2,6 @@
# It is not intended for manual editing.
version = 3
-[[package]]
-name = "addr2line"
-version = "0.21.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
-dependencies = [
- "gimli",
-]
-
-[[package]]
-name = "adler"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
-
[[package]]
name = "adler32"
version = "1.2.0"
@@ -64,7 +49,7 @@ version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
dependencies = [
- "getrandom 0.2.11",
+ "getrandom 0.2.6",
"once_cell",
"version_check",
]
@@ -78,15 +63,6 @@ dependencies = [
"memchr",
]
-[[package]]
-name = "aho-corasick"
-version = "1.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
-dependencies = [
- "memchr",
-]
-
[[package]]
name = "ansi_term"
version = "0.11.0"
@@ -107,9 +83,9 @@ dependencies = [
[[package]]
name = "anyhow"
-version = "1.0.91"
+version = "1.0.68"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c042108f3ed77fd83760a5fd79b53be043192bb3b9dba91d8c574c0ada7850c8"
+checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61"
[[package]]
name = "arrayref"
@@ -129,16 +105,6 @@ version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d6e24d2cce90c53b948c46271bfb053e4bdc2db9b5d3f65e20f8cf28a1b7fc3"
-[[package]]
-name = "assert-json-diff"
-version = "2.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "47e4f2b81832e72834d7518d8487a0396a28cc408186a2e8854c0f98011faf12"
-dependencies = [
- "serde",
- "serde_json",
-]
-
[[package]]
name = "async-compression"
version = "0.3.15"
@@ -148,28 +114,19 @@ dependencies = [
"bzip2",
"futures-core",
"memchr",
- "pin-project-lite 0.2.13",
+ "pin-project-lite 0.2.9",
"tokio",
]
-[[package]]
-name = "async-lock"
-version = "2.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7"
-dependencies = [
- "event-listener",
-]
-
[[package]]
name = "async-trait"
-version = "0.1.83"
+version = "0.1.61"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd"
+checksum = "705339e0e4a9690e2908d2b3d049d85682cf19fbd5782494498fbf7003a6a282"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn",
]
[[package]]
@@ -182,7 +139,7 @@ dependencies = [
"futures-sink",
"futures-util",
"memchr",
- "pin-project-lite 0.2.13",
+ "pin-project-lite 0.2.9",
]
[[package]]
@@ -209,7 +166,7 @@ version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
dependencies = [
- "hermit-abi 0.1.18",
+ "hermit-abi",
"libc",
"winapi",
]
@@ -227,28 +184,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1"
dependencies = [
"futures-core",
- "getrandom 0.2.11",
+ "getrandom 0.2.6",
"instant",
- "pin-project-lite 0.2.13",
+ "pin-project-lite 0.2.9",
"rand 0.8.3",
"tokio",
]
-[[package]]
-name = "backtrace"
-version = "0.3.69"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
-dependencies = [
- "addr2line",
- "cc",
- "cfg-if 1.0.0",
- "libc",
- "miniz_oxide 0.7.1",
- "object",
- "rustc-demangle",
-]
-
[[package]]
name = "base32"
version = "0.4.0"
@@ -278,21 +220,21 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
[[package]]
name = "base64"
-version = "0.22.1"
+version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
+checksum = "0ea22880d78093b0cbe17c89f64a7d457941e65759157ec6cb31a31d652b05e5"
[[package]]
name = "bdk"
-version = "0.28.0"
+version = "0.25.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e9b650f45ae7dc8558544448253f3e1ae443433637ccd9f9d14d2089ff913480"
+checksum = "c1e7eb54c6288eca1b698e6e33dd82ebe6c08a93ec1a96bb6926ddceed22c703"
dependencies = [
"async-trait",
"bdk-macros",
"bitcoin",
"electrum-client",
- "getrandom 0.2.11",
+ "getrandom 0.2.6",
"js-sys",
"log",
"miniscript",
@@ -311,7 +253,7 @@ checksum = "81c1980e50ae23bb6efa9283ae8679d6ea2c6fa6a99fe62533f65f4a25a1a56c"
dependencies = [
"proc-macro2",
"quote",
- "syn 1.0.109",
+ "syn",
]
[[package]]
@@ -320,15 +262,6 @@ version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445"
-[[package]]
-name = "beef"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1"
-dependencies = [
- "serde",
-]
-
[[package]]
name = "big-bytes"
version = "1.0.0"
@@ -350,25 +283,6 @@ dependencies = [
"serde",
]
-[[package]]
-name = "bincode"
-version = "2.0.0-rc.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f11ea1a0346b94ef188834a65c068a03aec181c94896d481d7a0a40d85b0ce95"
-dependencies = [
- "bincode_derive",
- "serde",
-]
-
-[[package]]
-name = "bincode_derive"
-version = "2.0.0-rc.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e30759b3b99a1b802a7a3aa21c85c3ded5c28e1c83170d82d70f08bbf7f3e4c"
-dependencies = [
- "virtue",
-]
-
[[package]]
name = "bit-set"
version = "0.5.2"
@@ -393,28 +307,26 @@ dependencies = [
"base64 0.13.1",
"bech32",
"bitcoin_hashes",
- "secp256k1 0.24.1",
+ "secp256k1",
"serde",
]
[[package]]
name = "bitcoin-harness"
-version = "0.2.1"
-source = "git+https://github.com/delta1/bitcoin-harness-rs.git?rev=80cc8d05db2610d8531011be505b7bee2b5cdf9f#80cc8d05db2610d8531011be505b7bee2b5cdf9f"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6b6a18713ec8acbc96d1e843f6998f00e8c5d81173e38760023b84926b8db3b8"
dependencies = [
"base64 0.12.3",
"bitcoin",
"bitcoincore-rpc-json",
"futures",
"hex",
- "hmac 0.12.1",
"jsonrpc_client",
- "rand 0.8.3",
"reqwest",
"serde",
"serde_json",
- "sha2 0.10.8",
- "testcontainers",
+ "testcontainers 0.14.0",
"thiserror",
"tokio",
"tracing",
@@ -447,12 +359,6 @@ version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-[[package]]
-name = "bitflags"
-version = "2.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
-
[[package]]
name = "blake2"
version = "0.9.2"
@@ -501,57 +407,58 @@ dependencies = [
[[package]]
name = "bollard-stubs"
-version = "1.42.0-rc.3"
+version = "1.41.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed59b5c00048f48d7af971b71f800fdf23e858844a6f9e4d32ca72e9399e7864"
+checksum = "ed2f2e73fffe9455141e170fb9c1feb0ac521ec7e7dcd47a7cab72a658490fb8"
dependencies = [
+ "chrono",
"serde",
"serde_with",
]
[[package]]
name = "borsh"
-version = "0.10.0"
+version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "822462c1e7b17b31961798a6874b36daea6818e99e0cb7d3b7b0fa3c477751c3"
+checksum = "15bf3650200d8bffa99015595e10f1fbd17de07abbc25bb067da79e769939bfa"
dependencies = [
"borsh-derive",
- "hashbrown 0.12.3",
+ "hashbrown 0.11.2",
]
[[package]]
name = "borsh-derive"
-version = "0.10.0"
+version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37626c9e941a687ee9abef6065b44c379478ae563b7483c613dd705ef1dff59e"
+checksum = "6441c552f230375d18e3cc377677914d2ca2b0d36e52129fe15450a2dce46775"
dependencies = [
"borsh-derive-internal",
"borsh-schema-derive-internal",
"proc-macro-crate 0.1.5",
"proc-macro2",
- "syn 1.0.109",
+ "syn",
]
[[package]]
name = "borsh-derive-internal"
-version = "0.10.0"
+version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61820b4c5693eafb998b1e67485423c923db4a75f72585c247bdee32bad81e7b"
+checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065"
dependencies = [
"proc-macro2",
"quote",
- "syn 1.0.109",
+ "syn",
]
[[package]]
name = "borsh-schema-derive-internal"
-version = "0.10.0"
+version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c76cdbfa13def20d1f8af3ae7b3c6771f06352a74221d8851262ac384c122b8e"
+checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0"
dependencies = [
"proc-macro2",
"quote",
- "syn 1.0.109",
+ "syn",
]
[[package]]
@@ -560,16 +467,6 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3"
-[[package]]
-name = "bstr"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05"
-dependencies = [
- "memchr",
- "serde",
-]
-
[[package]]
name = "bumpalo"
version = "3.6.1"
@@ -594,14 +491,14 @@ checksum = "13e576ebe98e605500b3c8041bb888e966653577172df6dd97398714eb30b9bf"
dependencies = [
"proc-macro2",
"quote",
- "syn 1.0.109",
+ "syn",
]
[[package]]
name = "bytemuck"
-version = "1.14.0"
+version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6"
+checksum = "bed57e2090563b83ba8f83366628ce535a7584c9afa4c9fc0612a03925c6df58"
[[package]]
name = "byteorder"
@@ -638,12 +535,11 @@ dependencies = [
[[package]]
name = "cc"
-version = "1.0.83"
+version = "1.0.67"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+checksum = "e3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fd"
dependencies = [
"jobserver",
- "libc",
]
[[package]]
@@ -660,21 +556,21 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "chacha20"
-version = "0.7.1"
+version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fee7ad89dc1128635074c268ee661f90c3f7e83d9fd12910608c36b47d6c3412"
+checksum = "f08493fa7707effc63254c66c6ea908675912493cd67952eda23c09fae2610b1"
dependencies = [
"cfg-if 1.0.0",
"cipher",
- "cpufeatures 0.1.4",
+ "cpufeatures 0.2.1",
"zeroize",
]
[[package]]
name = "chacha20poly1305"
-version = "0.8.0"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1580317203210c517b6d44794abfbe600698276db18127e37ad3e69bf5e848e5"
+checksum = "b6547abe025f4027edacd9edaa357aded014eecec42a5070d9b885c3c334aba2"
dependencies = [
"aead",
"chacha20",
@@ -683,6 +579,12 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "checked_int_cast"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "17cc5e6b5ab06331c33589842070416baa137e8b0eb912b008cfd4a78ada7919"
+
[[package]]
name = "chrono"
version = "0.4.19"
@@ -692,6 +594,8 @@ dependencies = [
"libc",
"num-integer",
"num-traits",
+ "serde",
+ "time 0.1.43",
"winapi",
]
@@ -712,7 +616,7 @@ checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002"
dependencies = [
"ansi_term 0.11.0",
"atty",
- "bitflags 1.3.2",
+ "bitflags",
"strsim 0.8.0",
"textwrap",
"unicode-width",
@@ -720,21 +624,16 @@ dependencies = [
]
[[package]]
-name = "colored"
-version = "2.0.4"
+name = "color_quant"
+version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2674ec482fbc38012cf31e6c42ba0177b431a0cb6f15fe40efa5aab1bda516f6"
-dependencies = [
- "is-terminal",
- "lazy_static",
- "windows-sys 0.48.0",
-]
+checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
[[package]]
name = "comfy-table"
-version = "7.1.1"
+version = "6.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b34115915337defe99b2aff5c2ce6771e5fbc4079f4b506301f5cf394c8452f7"
+checksum = "6e7b787b0dc42e8111badfdbe4c3059158ccb2db8780352fa1b01e8ccf45cc4d"
dependencies = [
"crossterm",
"strum",
@@ -744,22 +643,23 @@ dependencies = [
[[package]]
name = "config"
-version = "0.14.0"
+version = "0.13.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7328b20597b53c2454f0b1919720c25c7339051c02b72b7e05409e00b14132be"
+checksum = "d379af7f68bfc21714c6c7dea883544201741d2ce8274bb12fa54f89507f52a7"
dependencies = [
+ "async-trait",
"lazy_static",
"nom",
"pathdiff",
"serde",
- "toml 0.8.19",
+ "toml",
]
[[package]]
name = "conquer-once"
-version = "0.4.0"
+version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d008a441c0f269f36ca13712528069a86a3e60dffee1d98b976eb3b0b2160b4"
+checksum = "7c6d3a9775a69f6d1fe2cc888999b67ed30257d3da4d2af91984e722f2ec918a"
dependencies = [
"conquer-util",
]
@@ -857,9 +757,9 @@ dependencies = [
[[package]]
name = "crossbeam-channel"
-version = "0.5.9"
+version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c3242926edf34aec4ac3a77108ad4854bffaa2e4ddc1824124ce59231302d5"
+checksum = "dca26ee1f8d361640700bde38b2c37d8c22b3ce2d360e1fc1c74ea4b0aa7d775"
dependencies = [
"cfg-if 1.0.0",
"crossbeam-utils",
@@ -890,31 +790,35 @@ dependencies = [
[[package]]
name = "crossbeam-utils"
-version = "0.8.17"
+version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c06d96137f14f244c37f989d9fff8f95e6c18b918e71f36638f8c49112e4c78f"
+checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db"
dependencies = [
"cfg-if 1.0.0",
+ "lazy_static",
]
[[package]]
name = "crossterm"
-version = "0.27.0"
+version = "0.25.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df"
+checksum = "e64e6c0fbe2c17357405f7c758c1ef960fce08bdfb2c03d88d2a18d7e09c4b67"
dependencies = [
- "bitflags 2.4.0",
+ "bitflags",
"crossterm_winapi",
"libc",
+ "mio",
"parking_lot 0.12.0",
+ "signal-hook",
+ "signal-hook-mio",
"winapi",
]
[[package]]
name = "crossterm_winapi"
-version = "0.9.1"
+version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b"
+checksum = "2ae1b35a484aa10e07fe0638d02301c5ad24de82d310ccbd2f3693da5f09bf1c"
dependencies = [
"winapi",
]
@@ -947,9 +851,19 @@ dependencies = [
[[package]]
name = "crypto-mac"
-version = "0.11.0"
+version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25fab6889090c8133f3deb8f73ba3c65a7f456f66436fc012a1b1e272b1e103e"
+checksum = "4857fd85a0c34b3c3297875b747c1e02e06b6a0ea32dd892d8192b9ce0813ea6"
+dependencies = [
+ "generic-array",
+ "subtle",
+]
+
+[[package]]
+name = "crypto-mac"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714"
dependencies = [
"generic-array",
"subtle",
@@ -1012,7 +926,7 @@ dependencies = [
"proc-macro2",
"quote",
"strsim 0.10.0",
- "syn 1.0.109",
+ "syn",
]
[[package]]
@@ -1023,23 +937,25 @@ checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835"
dependencies = [
"darling_core",
"quote",
- "syn 1.0.109",
+ "syn",
+]
+
+[[package]]
+name = "dashmap"
+version = "5.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c8858831f7781322e539ea39e72449c46b059638250c14344fec8d0aa6e539c"
+dependencies = [
+ "cfg-if 1.0.0",
+ "num_cpus",
+ "parking_lot 0.12.0",
]
[[package]]
name = "data-encoding"
-version = "2.6.0"
+version = "2.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2"
-
-[[package]]
-name = "deranged"
-version = "0.3.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8eb30d70a07a3b04884d2677f06bec33509dc67ca60d92949e5535352d3191dc"
-dependencies = [
- "powerfmt",
-]
+checksum = "23d8666cb01533c39dde32bcbab8e227b4ed6679b2c925eba05feabea39508fb"
[[package]]
name = "derive_more"
@@ -1051,19 +967,17 @@ dependencies = [
"proc-macro2",
"quote",
"rustc_version",
- "syn 1.0.109",
+ "syn",
]
[[package]]
name = "dialoguer"
-version = "0.11.0"
+version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "658bce805d770f407bc62102fca7c2c64ceef2fbcb2b8bd19d2765ce093980de"
+checksum = "a92e7e37ecef6857fdc0c0c5d42fd5b0938e46590c2183cc92dd310a6d078eb1"
dependencies = [
"console",
- "shell-words",
"tempfile",
- "thiserror",
"zeroize",
]
@@ -1078,9 +992,9 @@ dependencies = [
[[package]]
name = "digest"
-version = "0.10.7"
+version = "0.10.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
+checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c"
dependencies = [
"block-buffer 0.10.2",
"crypto-common",
@@ -1122,11 +1036,10 @@ checksum = "5caaa75cbd2b960ff1e5392d2cfb1f44717fffe12fc1f32b7b5d1267f99732a6"
[[package]]
name = "ecdsa_fun"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fd850b7ece4e4ddaa1478d5de36b6d4d599f2d521f73456ca706b4e2b32a4ec"
+version = "0.7.1"
+source = "git+https://github.com/LLFourn/secp256kfun#9657d8c12fd26df5e57254a0063eaf41082a38ca"
dependencies = [
- "bincode 1.3.3",
+ "bincode",
"rand_chacha 0.3.1",
"secp256kfun",
"sigma_fun",
@@ -1188,6 +1101,15 @@ version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
+[[package]]
+name = "encoding_rs"
+version = "0.8.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "80df024fbc5ac80f87dfef0d9f5209a252f2a497f7f42944cff24d8253cac065"
+dependencies = [
+ "cfg-if 1.0.0",
+]
+
[[package]]
name = "enum-as-inner"
version = "0.3.3"
@@ -1197,23 +1119,27 @@ dependencies = [
"heck 0.3.2",
"proc-macro2",
"quote",
- "syn 1.0.109",
+ "syn",
]
[[package]]
-name = "equivalent"
-version = "1.0.1"
+name = "enum-iterator"
+version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+checksum = "45a0ac4aeb3a18f92eaf09c6bb9b3ac30ff61ca95514fc58cbead1c9a6bf5401"
+dependencies = [
+ "enum-iterator-derive",
+]
[[package]]
-name = "errno"
-version = "0.3.8"
+name = "enum-iterator-derive"
+version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
+checksum = "828de45d0ca18782232dfb8f3ea9cc428e8ced380eb26a520baaacfc70de39ce"
dependencies = [
- "libc",
- "windows-sys 0.52.0",
+ "proc-macro2",
+ "quote",
+ "syn",
]
[[package]]
@@ -1224,9 +1150,12 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
[[package]]
name = "fastrand"
-version = "2.1.1"
+version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6"
+checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf"
+dependencies = [
+ "instant",
+]
[[package]]
name = "filetime"
@@ -1236,7 +1165,7 @@ checksum = "1d34cfa13a63ae058bfa601fe9e313bbdb3746427c1459185464ce0fcf62e1e8"
dependencies = [
"cfg-if 1.0.0",
"libc",
- "redox_syscall 0.2.10",
+ "redox_syscall",
"winapi",
]
@@ -1268,7 +1197,7 @@ dependencies = [
"crc32fast",
"libc",
"libz-sys",
- "miniz_oxide 0.3.7",
+ "miniz_oxide",
]
[[package]]
@@ -1291,9 +1220,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
[[package]]
name = "form_urlencoded"
-version = "1.2.1"
+version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
+checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
dependencies = [
"percent-encoding",
]
@@ -1309,10 +1238,16 @@ dependencies = [
]
[[package]]
-name = "futures"
-version = "0.3.31"
+name = "fuchsia-cprng"
+version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876"
+checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
+
+[[package]]
+name = "futures"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0"
dependencies = [
"futures-channel",
"futures-core",
@@ -1325,9 +1260,9 @@ dependencies = [
[[package]]
name = "futures-channel"
-version = "0.3.31"
+version = "0.3.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10"
+checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed"
dependencies = [
"futures-core",
"futures-sink",
@@ -1335,15 +1270,15 @@ dependencies = [
[[package]]
name = "futures-core"
-version = "0.3.31"
+version = "0.3.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
+checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac"
[[package]]
name = "futures-executor"
-version = "0.3.31"
+version = "0.3.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f"
+checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2"
dependencies = [
"futures-core",
"futures-task",
@@ -1364,19 +1299,19 @@ dependencies = [
[[package]]
name = "futures-io"
-version = "0.3.31"
+version = "0.3.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"
+checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb"
[[package]]
name = "futures-macro"
-version = "0.3.31"
+version = "0.3.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
+checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn",
]
[[package]]
@@ -1392,15 +1327,15 @@ dependencies = [
[[package]]
name = "futures-sink"
-version = "0.3.31"
+version = "0.3.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7"
+checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9"
[[package]]
name = "futures-task"
-version = "0.3.31"
+version = "0.3.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"
+checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea"
[[package]]
name = "futures-timer"
@@ -1410,9 +1345,9 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c"
[[package]]
name = "futures-util"
-version = "0.3.31"
+version = "0.3.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
+checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6"
dependencies = [
"futures-channel",
"futures-core",
@@ -1421,7 +1356,7 @@ dependencies = [
"futures-sink",
"futures-task",
"memchr",
- "pin-project-lite 0.2.13",
+ "pin-project-lite 0.2.9",
"pin-utils",
"slab",
]
@@ -1465,13 +1400,25 @@ dependencies = [
[[package]]
name = "getrandom"
-version = "0.2.11"
+version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
+checksum = "9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad"
dependencies = [
"cfg-if 1.0.0",
"libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi 0.10.2+wasi-snapshot-preview1",
+]
+
+[[package]]
+name = "getset"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e45727250e75cc04ff2846a66397da8ef2b3db8e40e0cef4df67950a07621eb9"
+dependencies = [
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn",
]
[[package]]
@@ -1484,73 +1431,35 @@ dependencies = [
"polyval",
]
-[[package]]
-name = "gimli"
-version = "0.28.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
-
[[package]]
name = "git2"
-version = "0.19.0"
+version = "0.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b903b73e45dc0c6c596f2d37eccece7c1c8bb6e4407b001096387c63d0d93724"
+checksum = "2994bee4a3a6a51eb90c218523be382fd7ea09b16380b9312e9dbe955ff7c7d1"
dependencies = [
- "bitflags 2.4.0",
+ "bitflags",
"libc",
"libgit2-sys",
"log",
"url",
]
-[[package]]
-name = "globset"
-version = "0.4.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc"
-dependencies = [
- "aho-corasick 0.7.18",
- "bstr",
- "fnv",
- "log",
- "regex",
-]
-
[[package]]
name = "h2"
-version = "0.3.18"
+version = "0.3.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17f8a914c2987b688368b5138aa05321db91f4090cf26118185672ad588bce21"
+checksum = "d9f1f717ddc7b2ba36df7e871fd88db79326551d3d6f1fc406fbfd28b582ff8e"
dependencies = [
"bytes",
"fnv",
"futures-core",
"futures-sink",
"futures-util",
- "http 0.2.11",
- "indexmap 1.7.0",
+ "http",
+ "indexmap",
"slab",
"tokio",
- "tokio-util",
- "tracing",
-]
-
-[[package]]
-name = "h2"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51ee2dd2e4f378392eeff5d51618cd9a63166a2513846bbc55f21cfacd9199d4"
-dependencies = [
- "bytes",
- "fnv",
- "futures-core",
- "futures-sink",
- "futures-util",
- "http 1.0.0",
- "indexmap 2.1.0",
- "slab",
- "tokio",
- "tokio-util",
+ "tokio-util 0.6.9",
"tracing",
]
@@ -1578,12 +1487,6 @@ dependencies = [
"ahash",
]
-[[package]]
-name = "hashbrown"
-version = "0.14.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
-
[[package]]
name = "hashlink"
version = "0.8.1"
@@ -1604,19 +1507,13 @@ dependencies = [
[[package]]
name = "heck"
-version = "0.4.1"
+version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
dependencies = [
"unicode-segmentation",
]
-[[package]]
-name = "heck"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
-
[[package]]
name = "hermit-abi"
version = "0.1.18"
@@ -1626,12 +1523,6 @@ dependencies = [
"libc",
]
-[[package]]
-name = "hermit-abi"
-version = "0.3.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "379dada1584ad501b383485dd706b8afb7a70fcbc7f4da7d780638a5a6124a60"
-
[[package]]
name = "hex"
version = "0.4.3"
@@ -1645,10 +1536,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0"
[[package]]
-name = "hex-literal"
-version = "0.4.1"
+name = "hmac"
+version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46"
+checksum = "c1441c6b1e930e2817404b5046f1f989899143a12bf92de603b69f4e0aee1e15"
+dependencies = [
+ "crypto-mac 0.10.0",
+ "digest 0.9.0",
+]
[[package]]
name = "hmac"
@@ -1656,7 +1551,7 @@ version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b"
dependencies = [
- "crypto-mac 0.11.0",
+ "crypto-mac 0.11.1",
"digest 0.9.0",
]
@@ -1666,7 +1561,7 @@ version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
dependencies = [
- "digest 0.10.7",
+ "digest 0.10.5",
]
[[package]]
@@ -1682,24 +1577,13 @@ dependencies = [
[[package]]
name = "http"
-version = "0.2.11"
+version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
+checksum = "7245cd7449cc792608c3c8a9eaf69bd4eabbabf802713748fd739c98b82f0747"
dependencies = [
"bytes",
"fnv",
- "itoa",
-]
-
-[[package]]
-name = "http"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b32afd38673a8016f7c9ae69e5af41a58f81b1d31689040f2f1959594ce194ea"
-dependencies = [
- "bytes",
- "fnv",
- "itoa",
+ "itoa 0.4.7",
]
[[package]]
@@ -1709,30 +1593,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2861bd27ee074e5ee891e8b539837a9430012e249d7f0ca2d795650f579c1994"
dependencies = [
"bytes",
- "http 0.2.11",
-]
-
-[[package]]
-name = "http-body"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643"
-dependencies = [
- "bytes",
- "http 1.0.0",
-]
-
-[[package]]
-name = "http-body-util"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d"
-dependencies = [
- "bytes",
- "futures-core",
- "http 1.0.0",
- "http-body 1.0.0",
- "pin-project-lite 0.2.13",
+ "http",
]
[[package]]
@@ -1749,84 +1610,39 @@ checksum = "05842d0d43232b23ccb7060ecb0f0626922c21f30012e97b767b30afd4a5d4b9"
[[package]]
name = "hyper"
-version = "0.14.28"
+version = "0.14.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80"
+checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c"
dependencies = [
"bytes",
"futures-channel",
"futures-core",
"futures-util",
- "h2 0.3.18",
- "http 0.2.11",
- "http-body 0.4.0",
+ "h2",
+ "http",
+ "http-body",
"httparse",
"httpdate",
- "itoa",
- "pin-project-lite 0.2.13",
+ "itoa 1.0.1",
+ "pin-project-lite 0.2.9",
+ "socket2 0.4.7",
"tokio",
"tower-service",
"tracing",
"want",
]
-[[package]]
-name = "hyper"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbbff0a806a4728c99295b254c8838933b5b082d75e3cb70c8dab21fdfbcfa9a"
-dependencies = [
- "bytes",
- "futures-channel",
- "futures-util",
- "h2 0.4.3",
- "http 1.0.0",
- "http-body 1.0.0",
- "httparse",
- "httpdate",
- "itoa",
- "pin-project-lite 0.2.13",
- "smallvec",
- "tokio",
- "want",
-]
-
[[package]]
name = "hyper-rustls"
-version = "0.27.2"
+version = "0.23.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155"
+checksum = "d87c48c02e0dc5e3b849a2041db3029fd066650f8f717c07bf8ed78ccb895cac"
dependencies = [
- "futures-util",
- "http 1.0.0",
- "hyper 1.5.0",
- "hyper-util",
- "rustls 0.23.10",
- "rustls-pki-types",
+ "http",
+ "hyper",
+ "rustls 0.20.2",
"tokio",
- "tokio-rustls 0.26.0",
- "tower-service",
- "webpki-roots 0.26.1",
-]
-
-[[package]]
-name = "hyper-util"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa"
-dependencies = [
- "bytes",
- "futures-channel",
- "futures-util",
- "http 1.0.0",
- "http-body 1.0.0",
- "hyper 1.5.0",
- "pin-project-lite 0.2.13",
- "socket2 0.5.5",
- "tokio",
- "tower",
- "tower-service",
- "tracing",
+ "tokio-rustls 0.23.1",
]
[[package]]
@@ -1848,9 +1664,9 @@ dependencies = [
[[package]]
name = "idna"
-version = "0.5.0"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
+checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
dependencies = [
"unicode-bidi",
"unicode-normalization",
@@ -1868,12 +1684,15 @@ dependencies = [
[[package]]
name = "image"
-version = "0.25.0"
+version = "0.23.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9b4f005360d32e9325029b38ba47ebd7a56f3316df09249368939562d518645"
+checksum = "24ffcb7e7244a9bf19d35bf2883b9c080c4ced3c07a9895572178cdb8f13f6a1"
dependencies = [
"bytemuck",
"byteorder",
+ "color_quant",
+ "num-iter",
+ "num-rational 0.3.2",
"num-traits",
]
@@ -1887,16 +1706,6 @@ dependencies = [
"hashbrown 0.11.2",
]
-[[package]]
-name = "indexmap"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
-dependencies = [
- "equivalent",
- "hashbrown 0.14.3",
-]
-
[[package]]
name = "instant"
version = "0.1.12"
@@ -1915,7 +1724,7 @@ dependencies = [
"socket2 0.3.19",
"widestring",
"winapi",
- "winreg",
+ "winreg 0.6.2",
]
[[package]]
@@ -1924,17 +1733,6 @@ version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "47be2f14c678be2fdcab04ab1171db51b2762ce6f0a8ee87c8dd4a04ed216135"
-[[package]]
-name = "is-terminal"
-version = "0.4.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b"
-dependencies = [
- "hermit-abi 0.3.8",
- "libc",
- "windows-sys 0.52.0",
-]
-
[[package]]
name = "itertools"
version = "0.10.5"
@@ -1945,13 +1743,10 @@ dependencies = [
]
[[package]]
-name = "itertools"
-version = "0.13.0"
+name = "itoa"
+version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186"
-dependencies = [
- "either",
-]
+checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"
[[package]]
name = "itoa"
@@ -1970,9 +1765,9 @@ dependencies = [
[[package]]
name = "js-sys"
-version = "0.3.67"
+version = "0.3.48"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1"
+checksum = "dc9f84f9b115ce7843d60706df1422a916680bfdfcbdb0447c5614ff9d7e4d78"
dependencies = [
"wasm-bindgen",
]
@@ -1980,7 +1775,8 @@ dependencies = [
[[package]]
name = "jsonrpc_client"
version = "0.7.1"
-source = "git+https://github.com/delta1/rust-jsonrpc-client.git?rev=3b6081697cd616c952acb9c2f02d546357d35506#3b6081697cd616c952acb9c2f02d546357d35506"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a0c1ec33c537dc1d5a8b597313db6d213fee54320f81ea0d19b0c3869b282e1a"
dependencies = [
"async-trait",
"jsonrpc_client_macro",
@@ -1993,119 +1789,11 @@ dependencies = [
[[package]]
name = "jsonrpc_client_macro"
version = "0.3.0"
-source = "git+https://github.com/delta1/rust-jsonrpc-client.git?rev=3b6081697cd616c952acb9c2f02d546357d35506#3b6081697cd616c952acb9c2f02d546357d35506"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97c11e429f0eaa41fe659013680b459d2368d8f0a3e69dccfb7a35800b0dc27b"
dependencies = [
"quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "jsonrpsee"
-version = "0.16.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d291e3a5818a2384645fd9756362e6d89cf0541b0b916fa7702ea4a9833608e"
-dependencies = [
- "jsonrpsee-core",
- "jsonrpsee-server",
- "jsonrpsee-types",
- "jsonrpsee-ws-client",
-]
-
-[[package]]
-name = "jsonrpsee-client-transport"
-version = "0.16.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "965de52763f2004bc91ac5bcec504192440f0b568a5d621c59d9dbd6f886c3fb"
-dependencies = [
- "futures-util",
- "http 0.2.11",
- "jsonrpsee-core",
- "jsonrpsee-types",
- "pin-project 1.0.5",
- "rustls-native-certs 0.6.3",
- "soketto",
- "thiserror",
- "tokio",
- "tokio-rustls 0.23.1",
- "tokio-util",
- "tracing",
- "webpki-roots 0.22.2",
-]
-
-[[package]]
-name = "jsonrpsee-core"
-version = "0.16.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4e70b4439a751a5de7dd5ed55eacff78ebf4ffe0fc009cb1ebb11417f5b536b"
-dependencies = [
- "anyhow",
- "arrayvec",
- "async-lock",
- "async-trait",
- "beef",
- "futures-channel",
- "futures-timer",
- "futures-util",
- "globset",
- "hyper 0.14.28",
- "jsonrpsee-types",
- "parking_lot 0.12.0",
- "rand 0.8.3",
- "rustc-hash",
- "serde",
- "serde_json",
- "soketto",
- "thiserror",
- "tokio",
- "tracing",
-]
-
-[[package]]
-name = "jsonrpsee-server"
-version = "0.16.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fb69dad85df79527c019659a992498d03f8495390496da2f07e6c24c2b356fc"
-dependencies = [
- "futures-channel",
- "futures-util",
- "http 0.2.11",
- "hyper 0.14.28",
- "jsonrpsee-core",
- "jsonrpsee-types",
- "serde",
- "serde_json",
- "soketto",
- "tokio",
- "tokio-stream",
- "tokio-util",
- "tower",
- "tracing",
-]
-
-[[package]]
-name = "jsonrpsee-types"
-version = "0.16.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bd522fe1ce3702fd94812965d7bb7a3364b1c9aba743944c5a00529aae80f8c"
-dependencies = [
- "anyhow",
- "beef",
- "serde",
- "serde_json",
- "thiserror",
- "tracing",
-]
-
-[[package]]
-name = "jsonrpsee-ws-client"
-version = "0.16.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b83daeecfc6517cfe210df24e570fb06213533dfb990318fae781f4c7119dd9"
-dependencies = [
- "http 0.2.11",
- "jsonrpsee-client-transport",
- "jsonrpsee-core",
- "jsonrpsee-types",
+ "syn",
]
[[package]]
@@ -2132,15 +1820,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
-version = "0.2.159"
+version = "0.2.137"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5"
+checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89"
[[package]]
name = "libgit2-sys"
-version = "0.17.0+1.8.1"
+version = "0.14.0+1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10472326a8a6477c3c20a64547b0059e4b0d086869eee31e6d7da728a8eb7224"
+checksum = "47a00859c70c8a4f7218e6d1cc32875c4b55f6799445b842b0d8ed5e4c3d959b"
dependencies = [
"cc",
"libc",
@@ -2148,12 +1836,6 @@ dependencies = [
"pkg-config",
]
-[[package]]
-name = "libm"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb"
-
[[package]]
name = "libp2p"
version = "0.42.2"
@@ -2164,7 +1846,7 @@ dependencies = [
"bytes",
"futures",
"futures-timer",
- "getrandom 0.2.11",
+ "getrandom 0.2.6",
"instant",
"lazy_static",
"libp2p-core",
@@ -2212,9 +1894,9 @@ dependencies = [
"prost",
"prost-build",
"rand 0.8.3",
- "ring 0.16.20",
+ "ring",
"rw-stream-sink",
- "sha2 0.10.8",
+ "sha2 0.10.6",
"smallvec",
"thiserror",
"unsigned-varint",
@@ -2298,7 +1980,7 @@ dependencies = [
"prost",
"prost-build",
"rand 0.8.3",
- "sha2 0.10.8",
+ "sha2 0.10.6",
"snow",
"static_assertions",
"x25519-dalek",
@@ -2338,7 +2020,7 @@ dependencies = [
"prost",
"prost-build",
"rand 0.8.3",
- "sha2 0.10.8",
+ "sha2 0.10.6",
"thiserror",
"unsigned-varint",
"void",
@@ -2386,7 +2068,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33b4d0acd47739fe0b570728d8d11bbb535050d84c0cf05d6477a4891fceae10"
dependencies = [
"quote",
- "syn 1.0.109",
+ "syn",
]
[[package]]
@@ -2466,12 +2148,6 @@ version = "0.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3"
-[[package]]
-name = "linux-raw-sys"
-version = "0.4.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
-
[[package]]
name = "lock_api"
version = "0.4.6"
@@ -2483,9 +2159,12 @@ dependencies = [
[[package]]
name = "log"
-version = "0.4.20"
+version = "0.4.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
+dependencies = [
+ "cfg-if 1.0.0",
+]
[[package]]
name = "lru"
@@ -2517,7 +2196,7 @@ version = "0.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f099785f7595cc4b4553a174ce30dd7589ef93391ff414dbb67f62392b9e0ce1"
dependencies = [
- "regex-automata 0.1.9",
+ "regex-automata",
]
[[package]]
@@ -2526,7 +2205,7 @@ version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
dependencies = [
- "regex-automata 0.1.9",
+ "regex-automata",
]
[[package]]
@@ -2537,9 +2216,9 @@ checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
[[package]]
name = "memchr"
-version = "2.6.4"
+version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
+checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
[[package]]
name = "memoffset"
@@ -2564,9 +2243,9 @@ checksum = "0c835948974f68e0bd58636fc6c5b1fbff7b297e3046f11b3b3c18bbac012c6d"
[[package]]
name = "miniscript"
-version = "9.0.2"
+version = "8.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5b106477a0709e2da253e5559ba4ab20a272f8577f1eefff72f3a905b5d35f5"
+checksum = "7f4975078076f0b7b914a3044ad7432d2a7fcec38edb855afdc672e24ca35b69"
dependencies = [
"bitcoin",
"serde",
@@ -2581,48 +2260,16 @@ dependencies = [
"adler32",
]
-[[package]]
-name = "miniz_oxide"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
-dependencies = [
- "adler",
-]
-
[[package]]
name = "mio"
-version = "0.8.10"
+version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
+checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf"
dependencies = [
"libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "mockito"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09b34bd91b9e5c5b06338d392463e1318d683cf82ec3d3af4014609be6e2108d"
-dependencies = [
- "assert-json-diff",
- "bytes",
- "colored",
- "futures-util",
- "http 1.0.0",
- "http-body 1.0.0",
- "http-body-util",
- "hyper 1.5.0",
- "hyper-util",
"log",
- "rand 0.8.3",
- "regex",
- "serde_json",
- "serde_urlencoded",
- "similar",
- "tokio",
+ "wasi 0.11.0+wasi-snapshot-preview1",
+ "windows-sys 0.36.1",
]
[[package]]
@@ -2634,7 +2281,7 @@ dependencies = [
"curve25519-dalek-ng",
"fixed-hash",
"hex",
- "hex-literal 0.3.4",
+ "hex-literal",
"keccak-hash",
"serde",
"serde-big-array",
@@ -2659,10 +2306,11 @@ dependencies = [
"futures",
"monero-rpc",
"rand 0.7.3",
- "testcontainers",
+ "spectral",
+ "testcontainers 0.12.0",
"tokio",
"tracing",
- "tracing-subscriber 0.3.18",
+ "tracing-subscriber 0.2.25",
]
[[package]]
@@ -2672,7 +2320,7 @@ dependencies = [
"anyhow",
"curve25519-dalek",
"hex",
- "hex-literal 0.4.1",
+ "hex-literal",
"jsonrpc_client",
"monero",
"monero-epee-bin-serde",
@@ -2695,7 +2343,7 @@ dependencies = [
"monero-harness",
"monero-rpc",
"rand 0.7.3",
- "testcontainers",
+ "testcontainers 0.12.0",
"tokio",
"tracing-subscriber 0.2.25",
]
@@ -2741,7 +2389,7 @@ dependencies = [
"proc-macro-error",
"proc-macro2",
"quote",
- "syn 1.0.109",
+ "syn",
"synstructure",
]
@@ -2783,20 +2431,40 @@ dependencies = [
]
[[package]]
-name = "nu-ansi-term"
-version = "0.46.0"
+name = "num"
+version = "0.1.42"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
+checksum = "4703ad64153382334aa8db57c637364c322d3372e097840c72000dabdcf6156e"
dependencies = [
- "overload",
- "winapi",
+ "num-bigint",
+ "num-complex",
+ "num-integer",
+ "num-iter",
+ "num-rational 0.1.42",
+ "num-traits",
]
[[package]]
-name = "num-conv"
-version = "0.1.0"
+name = "num-bigint"
+version = "0.1.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
+checksum = "e63899ad0da84ce718c14936262a41cee2c79c981fc0a0e7c7beb47d5a07e8c1"
+dependencies = [
+ "num-integer",
+ "num-traits",
+ "rand 0.4.6",
+ "rustc-serialize",
+]
+
+[[package]]
+name = "num-complex"
+version = "0.1.43"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b288631d7878aaf59442cffd36910ea604ecd7745c36054328595114001c9656"
+dependencies = [
+ "num-traits",
+ "rustc-serialize",
+]
[[package]]
name = "num-integer"
@@ -2809,13 +2477,46 @@ dependencies = [
]
[[package]]
-name = "num-traits"
-version = "0.2.15"
+name = "num-iter"
+version = "0.1.42"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+checksum = "b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-rational"
+version = "0.1.42"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee314c74bd753fc86b4780aa9475da469155f3848473a261d2d18e35245a784e"
+dependencies = [
+ "num-bigint",
+ "num-integer",
+ "num-traits",
+ "rustc-serialize",
+]
+
+[[package]]
+name = "num-rational"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
dependencies = [
"autocfg",
- "libm",
]
[[package]]
@@ -2824,33 +2525,15 @@ version = "1.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5"
dependencies = [
- "hermit-abi 0.1.18",
+ "hermit-abi",
"libc",
]
-[[package]]
-name = "num_threads"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "object"
-version = "0.32.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
-dependencies = [
- "memchr",
-]
-
[[package]]
name = "once_cell"
-version = "1.20.2"
+version = "1.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
+checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1"
[[package]]
name = "opaque-debug"
@@ -2865,7 +2548,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f85842b073145726190373213c63f852020fb884c841a3a1f390637267a2fb8c"
dependencies = [
"dtoa",
- "itoa",
+ "itoa 1.0.1",
"open-metrics-client-derive-text-encode",
"owning_ref",
]
@@ -2878,7 +2561,7 @@ checksum = "a15c83b586f00268c619c1cb3340ec1a6f59dd9ba1d9833a273a68e6d5cd8ffc"
dependencies = [
"proc-macro2",
"quote",
- "syn 1.0.109",
+ "syn",
]
[[package]]
@@ -2887,12 +2570,6 @@ version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a"
-[[package]]
-name = "overload"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
-
[[package]]
name = "owning_ref"
version = "0.4.1"
@@ -2932,7 +2609,7 @@ dependencies = [
"cfg-if 1.0.0",
"instant",
"libc",
- "redox_syscall 0.2.10",
+ "redox_syscall",
"smallvec",
"winapi",
]
@@ -2945,7 +2622,7 @@ checksum = "28141e0cc4143da2443301914478dc976a61ffdb3f043058310c70df2fed8954"
dependencies = [
"cfg-if 1.0.0",
"libc",
- "redox_syscall 0.2.10",
+ "redox_syscall",
"smallvec",
"windows-sys 0.32.0",
]
@@ -2964,19 +2641,18 @@ checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
[[package]]
name = "pem"
-version = "3.0.4"
+version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae"
+checksum = "03c64931a1a212348ec4f3b4362585eca7159d0d09cbdf4a7f74f02173596fd4"
dependencies = [
- "base64 0.22.1",
- "serde",
+ "base64 0.13.1",
]
[[package]]
name = "percent-encoding"
-version = "2.3.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
+checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
[[package]]
name = "pest"
@@ -2994,7 +2670,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4a13a2fa9d0b63e5f22328828741e523766fff0ee9e779316902290dff3f824f"
dependencies = [
"fixedbitset",
- "indexmap 1.7.0",
+ "indexmap",
]
[[package]]
@@ -3023,7 +2699,7 @@ checksum = "851c8d0ce9bebe43790dedfc86614c23494ac9f423dd618d3a61fc693eafe61e"
dependencies = [
"proc-macro2",
"quote",
- "syn 1.0.109",
+ "syn",
]
[[package]]
@@ -3034,7 +2710,7 @@ checksum = "758669ae3558c6f74bd2a18b41f7ac0b5a195aea6639d6a9b5e5d1ad5ba24c0b"
dependencies = [
"proc-macro2",
"quote",
- "syn 1.0.109",
+ "syn",
]
[[package]]
@@ -3045,9 +2721,9 @@ checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777"
[[package]]
name = "pin-project-lite"
-version = "0.2.13"
+version = "0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
[[package]]
name = "pin-utils"
@@ -3085,15 +2761,9 @@ dependencies = [
[[package]]
name = "port_check"
-version = "0.2.1"
+version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2110609fb863cdb367d4e69d6c43c81ba6a8c7d18e80082fe9f3ef16b23afeed"
-
-[[package]]
-name = "powerfmt"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+checksum = "f6519412c9e0d4be579b9f0618364d19cb434b324fc6ddb1b27b1e682c7105ed"
[[package]]
name = "ppv-lite86"
@@ -3117,7 +2787,7 @@ version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785"
dependencies = [
- "toml 0.5.11",
+ "toml",
]
[[package]]
@@ -3127,7 +2797,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ebace6889caf889b4d3f76becee12e90353f2b8c7d875534a71e5742f8f6f83"
dependencies = [
"thiserror",
- "toml 0.5.11",
+ "toml",
]
[[package]]
@@ -3139,7 +2809,7 @@ dependencies = [
"proc-macro-error-attr",
"proc-macro2",
"quote",
- "syn 1.0.109",
+ "syn",
"version_check",
]
@@ -3156,31 +2826,31 @@ dependencies = [
[[package]]
name = "proc-macro2"
-version = "1.0.87"
+version = "1.0.47"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3e4daa0dcf6feba26f985457cdf104d4b4256fc5a09547140f3631bb076b19a"
+checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725"
dependencies = [
"unicode-ident",
]
[[package]]
name = "proptest"
-version = "1.5.0"
+version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d"
+checksum = "1e0d9cc07f18492d879586c92b485def06bc850da3118075cd45d50e9c95b0e5"
dependencies = [
"bit-set",
- "bit-vec",
- "bitflags 2.4.0",
+ "bitflags",
+ "byteorder",
"lazy_static",
"num-traits",
+ "quick-error 2.0.0",
"rand 0.8.3",
"rand_chacha 0.3.1",
"rand_xorshift",
- "regex-syntax 0.8.5",
+ "regex-syntax",
"rusty-fork",
"tempfile",
- "unarray",
]
[[package]]
@@ -3201,7 +2871,7 @@ checksum = "62941722fb675d463659e49c4f3fe1fe792ff24fe5bbaa9c08cd3b98a1c354f5"
dependencies = [
"bytes",
"heck 0.3.2",
- "itertools 0.10.5",
+ "itertools",
"lazy_static",
"log",
"multimap",
@@ -3220,10 +2890,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe"
dependencies = [
"anyhow",
- "itertools 0.10.5",
+ "itertools",
"proc-macro2",
"quote",
- "syn 1.0.109",
+ "syn",
]
[[package]]
@@ -3253,15 +2923,16 @@ checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac"
dependencies = [
"proc-macro2",
"quote",
- "syn 1.0.109",
+ "syn",
]
[[package]]
name = "qrcode"
-version = "0.14.1"
+version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d68782463e408eb1e668cf6152704bd856c78c5b6417adaee3203d8f4c1fc9ec"
+checksum = "16d2f1455f3630c6e5107b4f2b94e74d76dea80736de0981fd27644216cff57f"
dependencies = [
+ "checked_int_cast",
"image",
]
@@ -3271,6 +2942,12 @@ version = "1.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
+[[package]]
+name = "quick-error"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3ac73b1112776fc109b2e61909bc46c7e1bf0d7f690ffb1676553acce16d5cda"
+
[[package]]
name = "quicksink"
version = "0.1.2"
@@ -3282,62 +2959,28 @@ dependencies = [
"pin-project-lite 0.1.12",
]
-[[package]]
-name = "quinn"
-version = "0.11.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e4ceeeeabace7857413798eb1ffa1e9c905a9946a57d81fb69b4b71c4d8eb3ad"
-dependencies = [
- "bytes",
- "pin-project-lite 0.2.13",
- "quinn-proto",
- "quinn-udp",
- "rustc-hash",
- "rustls 0.23.10",
- "thiserror",
- "tokio",
- "tracing",
-]
-
-[[package]]
-name = "quinn-proto"
-version = "0.11.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddf517c03a109db8100448a4be38d498df8a210a99fe0e1b9eaf39e78c640efe"
-dependencies = [
- "bytes",
- "rand 0.8.3",
- "ring 0.17.3",
- "rustc-hash",
- "rustls 0.23.10",
- "slab",
- "thiserror",
- "tinyvec",
- "tracing",
-]
-
-[[package]]
-name = "quinn-udp"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9096629c45860fc7fb143e125eb826b5e721e10be3263160c7d60ca832cf8c46"
-dependencies = [
- "libc",
- "once_cell",
- "socket2 0.5.5",
- "tracing",
- "windows-sys 0.52.0",
-]
-
[[package]]
name = "quote"
-version = "1.0.35"
+version = "1.0.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
dependencies = [
"proc-macro2",
]
+[[package]]
+name = "rand"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
+dependencies = [
+ "fuchsia-cprng",
+ "libc",
+ "rand_core 0.3.1",
+ "rdrand",
+ "winapi",
+]
+
[[package]]
name = "rand"
version = "0.7.3"
@@ -3383,6 +3026,21 @@ dependencies = [
"rand_core 0.6.2",
]
+[[package]]
+name = "rand_core"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
+dependencies = [
+ "rand_core 0.4.2",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
+
[[package]]
name = "rand_core"
version = "0.5.1"
@@ -3398,7 +3056,7 @@ version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
dependencies = [
- "getrandom 0.2.11",
+ "getrandom 0.2.6",
]
[[package]]
@@ -3428,22 +3086,22 @@ dependencies = [
"rand_core 0.6.2",
]
+[[package]]
+name = "rdrand"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
+dependencies = [
+ "rand_core 0.3.1",
+]
+
[[package]]
name = "redox_syscall"
version = "0.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff"
dependencies = [
- "bitflags 1.3.2",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
-dependencies = [
- "bitflags 1.3.2",
+ "bitflags",
]
[[package]]
@@ -3452,20 +3110,19 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64"
dependencies = [
- "getrandom 0.2.11",
- "redox_syscall 0.2.10",
+ "getrandom 0.2.6",
+ "redox_syscall",
]
[[package]]
name = "regex"
-version = "1.11.0"
+version = "1.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8"
+checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286"
dependencies = [
- "aho-corasick 1.1.3",
+ "aho-corasick",
"memchr",
- "regex-automata 0.4.8",
- "regex-syntax 0.8.5",
+ "regex-syntax",
]
[[package]]
@@ -3475,32 +3132,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae1ded71d66a4a97f5e961fd0cb25a5f366a42a41570d16a763a69c092c26ae4"
dependencies = [
"byteorder",
- "regex-syntax 0.6.29",
+ "regex-syntax",
]
[[package]]
-name = "regex-automata"
-version = "0.4.8"
+name = "regex-syntax"
+version = "0.6.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3"
+checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
+
+[[package]]
+name = "remove_dir_all"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
dependencies = [
- "aho-corasick 1.1.3",
- "memchr",
- "regex-syntax 0.8.5",
+ "winapi",
]
-[[package]]
-name = "regex-syntax"
-version = "0.6.29"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
-
-[[package]]
-name = "regex-syntax"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
-
[[package]]
name = "rend"
version = "0.3.6"
@@ -3512,48 +3161,43 @@ dependencies = [
[[package]]
name = "reqwest"
-version = "0.12.8"
+version = "0.11.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f713147fbe92361e52392c73b8c9e48c04c6625bce969ef54dc901e58e042a7b"
+checksum = "68cc60575865c7831548863cc02356512e3f1dc2f3f82cb837d7fc4cc8f3c97c"
dependencies = [
- "base64 0.22.1",
+ "base64 0.13.1",
"bytes",
+ "encoding_rs",
"futures-core",
"futures-util",
- "h2 0.4.3",
- "http 1.0.0",
- "http-body 1.0.0",
- "http-body-util",
- "hyper 1.5.0",
+ "h2",
+ "http",
+ "http-body",
+ "hyper",
"hyper-rustls",
- "hyper-util",
"ipnet",
"js-sys",
"log",
"mime",
"once_cell",
"percent-encoding",
- "pin-project-lite 0.2.13",
- "quinn",
- "rustls 0.23.10",
- "rustls-pemfile 2.1.2",
- "rustls-pki-types",
+ "pin-project-lite 0.2.9",
+ "rustls 0.20.2",
+ "rustls-pemfile",
"serde",
"serde_json",
"serde_urlencoded",
- "sync_wrapper",
"tokio",
- "tokio-rustls 0.26.0",
+ "tokio-rustls 0.23.1",
"tokio-socks",
- "tokio-util",
+ "tokio-util 0.7.3",
"tower-service",
"url",
"wasm-bindgen",
"wasm-bindgen-futures",
- "wasm-streams",
"web-sys",
- "webpki-roots 0.26.1",
- "windows-registry",
+ "webpki-roots 0.22.2",
+ "winreg 0.10.1",
]
[[package]]
@@ -3563,7 +3207,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00"
dependencies = [
"hostname",
- "quick-error",
+ "quick-error 1.2.3",
]
[[package]]
@@ -3576,25 +3220,11 @@ dependencies = [
"libc",
"once_cell",
"spin 0.5.2",
- "untrusted 0.7.1",
+ "untrusted",
"web-sys",
"winapi",
]
-[[package]]
-name = "ring"
-version = "0.17.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9babe80d5c16becf6594aa32ad2be8fe08498e7ae60b77de8df700e67f191d7e"
-dependencies = [
- "cc",
- "getrandom 0.2.11",
- "libc",
- "spin 0.9.4",
- "untrusted 0.9.0",
- "windows-sys 0.48.0",
-]
-
[[package]]
name = "rkyv"
version = "0.7.39"
@@ -3617,14 +3247,14 @@ checksum = "6eaedadc88b53e36dd32d940ed21ae4d850d5916f2581526921f553a72ac34c4"
dependencies = [
"proc-macro2",
"quote",
- "syn 1.0.109",
+ "syn",
]
[[package]]
name = "rust_decimal"
-version = "1.30.0"
+version = "1.27.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0446843641c69436765a35a5a77088e28c2e6a12da93e84aa3ab1cd4aa5a042"
+checksum = "33c321ee4e17d2b7abe12b5d20c1231db708dd36185c8a21e9de5fed6da4dbe9"
dependencies = [
"arrayvec",
"borsh",
@@ -3640,32 +3270,26 @@ dependencies = [
[[package]]
name = "rust_decimal_macros"
-version = "1.30.0"
+version = "1.27.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ca5c398d85f83b9a44de754a2048625a8c5eafcf070da7b8f116b685e2f6608"
+checksum = "5a7e2dba1342e9f1166786a4329ba0d6d6b8d9db7e81d702ec9ba3b39591ddff"
dependencies = [
"quote",
"rust_decimal",
]
-[[package]]
-name = "rustc-demangle"
-version = "0.1.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
-
-[[package]]
-name = "rustc-hash"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
-
[[package]]
name = "rustc-hex"
version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6"
+[[package]]
+name = "rustc-serialize"
+version = "0.3.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda"
+
[[package]]
name = "rustc_version"
version = "0.3.3"
@@ -3675,19 +3299,6 @@ dependencies = [
"semver",
]
-[[package]]
-name = "rustix"
-version = "0.38.37"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811"
-dependencies = [
- "bitflags 2.4.0",
- "errno",
- "libc",
- "linux-raw-sys",
- "windows-sys 0.52.0",
-]
-
[[package]]
name = "rustls"
version = "0.19.0"
@@ -3696,7 +3307,7 @@ checksum = "064fd21ff87c6e87ed4506e68beb42459caa4a0e2eb144932e6776768556980b"
dependencies = [
"base64 0.13.1",
"log",
- "ring 0.16.20",
+ "ring",
"sct 0.6.0",
"webpki 0.21.4",
]
@@ -3708,25 +3319,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d37e5e2290f3e040b594b1a9e04377c2c671f1a1cfd9bfdef82106ac1c113f84"
dependencies = [
"log",
- "ring 0.16.20",
+ "ring",
"sct 0.7.0",
"webpki 0.22.0",
]
-[[package]]
-name = "rustls"
-version = "0.23.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05cff451f60db80f490f3c182b77c35260baace73209e9cdbbe526bfe3a4d402"
-dependencies = [
- "once_cell",
- "ring 0.17.3",
- "rustls-pki-types",
- "rustls-webpki",
- "subtle",
- "zeroize",
-]
-
[[package]]
name = "rustls-native-certs"
version = "0.5.0"
@@ -3739,18 +3336,6 @@ dependencies = [
"security-framework",
]
-[[package]]
-name = "rustls-native-certs"
-version = "0.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00"
-dependencies = [
- "openssl-probe",
- "rustls-pemfile 1.0.0",
- "schannel",
- "security-framework",
-]
-
[[package]]
name = "rustls-pemfile"
version = "1.0.0"
@@ -3760,38 +3345,11 @@ dependencies = [
"base64 0.13.1",
]
-[[package]]
-name = "rustls-pemfile"
-version = "2.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d"
-dependencies = [
- "base64 0.22.1",
- "rustls-pki-types",
-]
-
-[[package]]
-name = "rustls-pki-types"
-version = "1.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d"
-
-[[package]]
-name = "rustls-webpki"
-version = "0.102.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e"
-dependencies = [
- "ring 0.17.3",
- "rustls-pki-types",
- "untrusted 0.9.0",
-]
-
[[package]]
name = "rustversion"
-version = "1.0.14"
+version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
+checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8"
[[package]]
name = "rusty-fork"
@@ -3800,7 +3358,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f"
dependencies = [
"fnv",
- "quick-error",
+ "quick-error 1.2.3",
"tempfile",
"wait-timeout",
]
@@ -3822,15 +3380,6 @@ version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
-[[package]]
-name = "scc"
-version = "2.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76ad2bbb0ae5100a07b7a6f2ed7ab5fd0045551a4c507989b7a620046ea3efdc"
-dependencies = [
- "sdd",
-]
-
[[package]]
name = "schannel"
version = "0.1.19"
@@ -3853,8 +3402,8 @@ version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3042af939fca8c3453b7af0f1c66e533a15a86169e39de2657310ade8f98d3c"
dependencies = [
- "ring 0.16.20",
- "untrusted 0.7.1",
+ "ring",
+ "untrusted",
]
[[package]]
@@ -3863,16 +3412,10 @@ version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
dependencies = [
- "ring 0.16.20",
- "untrusted 0.7.1",
+ "ring",
+ "untrusted",
]
-[[package]]
-name = "sdd"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b84345e4c9bd703274a082fb80caaa99b7612be48dfaa1dd9266577ec412309d"
-
[[package]]
name = "seahash"
version = "4.1.0"
@@ -3887,27 +3430,7 @@ checksum = "ff55dc09d460954e9ef2fa8a7ced735a964be9981fd50e870b2b3b0705e14964"
dependencies = [
"bitcoin_hashes",
"rand 0.8.3",
- "secp256k1-sys 0.6.1",
- "serde",
-]
-
-[[package]]
-name = "secp256k1"
-version = "0.27.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25996b82292a7a57ed3508f052cfff8640d38d32018784acd714758b43da9c8f"
-dependencies = [
- "secp256k1-sys 0.8.1",
- "serde",
-]
-
-[[package]]
-name = "secp256k1"
-version = "0.28.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d24b59d129cdadea20aea4fb2352fa053712e5d713eee47d700cd4b2bc002f10"
-dependencies = [
- "secp256k1-sys 0.9.2",
+ "secp256k1-sys",
"serde",
]
@@ -3920,57 +3443,25 @@ dependencies = [
"cc",
]
-[[package]]
-name = "secp256k1-sys"
-version = "0.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70a129b9e9efbfb223753b9163c4ab3b13cff7fd9c7f010fbac25ab4099fa07e"
-dependencies = [
- "cc",
-]
-
-[[package]]
-name = "secp256k1-sys"
-version = "0.9.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5d1746aae42c19d583c3c1a8c646bfad910498e2051c551a7f2e3c0c9fbb7eb"
-dependencies = [
- "cc",
-]
-
[[package]]
name = "secp256kfun"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ecc2adce3ef929c5dc7dacdd612d65ab98002ee18119215ce25d8054ed53c1a"
+version = "0.7.1"
+source = "git+https://github.com/LLFourn/secp256kfun#9657d8c12fd26df5e57254a0063eaf41082a38ca"
dependencies = [
- "bincode 2.0.0-rc.3",
- "digest 0.10.7",
+ "digest 0.10.5",
"rand_core 0.6.2",
- "secp256k1 0.27.0",
- "secp256k1 0.28.2",
- "secp256kfun_arithmetic_macros",
+ "secp256k1",
"serde",
"subtle-ng",
]
-[[package]]
-name = "secp256kfun_arithmetic_macros"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91b7c385a72530ebfe6010ff476ad9e235743fb33408a360052bb706f1481e1e"
-dependencies = [
- "proc-macro2",
- "quote",
-]
-
[[package]]
name = "security-framework"
version = "2.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23a2ac85147a3a11d77ecf1bc7166ec0b92febfa4461c37944e180f319ece467"
dependencies = [
- "bitflags 1.3.2",
+ "bitflags",
"core-foundation",
"core-foundation-sys",
"libc",
@@ -4005,26 +3496,11 @@ dependencies = [
"pest",
]
-[[package]]
-name = "sequential-macro"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb5facc5f409a55d25bf271c853402a00e1187097d326757043f5dd711944d07"
-
-[[package]]
-name = "sequential-test"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0d9c0d773bc7e7733264f460e5dfa00b2510421ddd6284db0749eef8dfb79e9"
-dependencies = [
- "sequential-macro",
-]
-
[[package]]
name = "serde"
-version = "1.0.210"
+version = "1.0.152"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a"
+checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb"
dependencies = [
"serde_derive",
]
@@ -4051,36 +3527,26 @@ dependencies = [
[[package]]
name = "serde_derive"
-version = "1.0.210"
+version = "1.0.152"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f"
+checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn",
]
[[package]]
name = "serde_json"
-version = "1.0.132"
+version = "1.0.91"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03"
+checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883"
dependencies = [
- "itoa",
- "memchr",
+ "itoa 1.0.1",
"ryu",
"serde",
]
-[[package]]
-name = "serde_spanned"
-version = "0.6.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d"
-dependencies = [
- "serde",
-]
-
[[package]]
name = "serde_urlencoded"
version = "0.7.1"
@@ -4088,7 +3554,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
dependencies = [
"form_urlencoded",
- "itoa",
+ "itoa 1.0.1",
"ryu",
"serde",
]
@@ -4112,32 +3578,32 @@ dependencies = [
"darling",
"proc-macro2",
"quote",
- "syn 1.0.109",
+ "syn",
]
[[package]]
name = "serial_test"
-version = "3.1.1"
+version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b4b487fe2acf240a021cf57c6b2b4903b1e78ca0ecd862a71b71d2a51fed77d"
+checksum = "1c789ec87f4687d022a2405cf46e0cd6284889f1839de292cadeb6c6019506f2"
dependencies = [
+ "dashmap",
"futures",
+ "lazy_static",
"log",
- "once_cell",
"parking_lot 0.12.0",
- "scc",
"serial_test_derive",
]
[[package]]
name = "serial_test_derive"
-version = "3.1.1"
+version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67"
+checksum = "b64f9e531ce97c88b4778aad0ceee079216071cffec6ac9b904277f8f92e7fe3"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn",
]
[[package]]
@@ -4168,13 +3634,13 @@ dependencies = [
[[package]]
name = "sha2"
-version = "0.10.8"
+version = "0.10.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
+checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0"
dependencies = [
"cfg-if 1.0.0",
"cpufeatures 0.2.1",
- "digest 0.10.7",
+ "digest 0.10.5",
]
[[package]]
@@ -4191,33 +3657,47 @@ dependencies = [
[[package]]
name = "sharded-slab"
-version = "0.1.7"
+version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
+checksum = "79c719719ee05df97490f80a45acfc99e5a30ce98a1e4fb67aee422745ae14e3"
dependencies = [
"lazy_static",
]
-[[package]]
-name = "shell-words"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
-
[[package]]
name = "sigma_fun"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b8e9462de42c6f14c7e20154d18d8e9e8683750798885e76f06973317b1cb1d"
+version = "0.4.1"
+source = "git+https://github.com/LLFourn/secp256kfun#9657d8c12fd26df5e57254a0063eaf41082a38ca"
dependencies = [
"curve25519-dalek-ng",
- "digest 0.10.7",
+ "digest 0.10.5",
"generic-array",
"rand_core 0.6.2",
"secp256kfun",
"serde",
]
+[[package]]
+name = "signal-hook"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "647c97df271007dcea485bb74ffdb57f2e683f1306c854f468a0c244badabf2d"
+dependencies = [
+ "libc",
+ "signal-hook-registry",
+]
+
+[[package]]
+name = "signal-hook-mio"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af"
+dependencies = [
+ "libc",
+ "mio",
+ "signal-hook",
+]
+
[[package]]
name = "signal-hook-registry"
version = "1.4.0"
@@ -4233,12 +3713,6 @@ version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f0242b8e50dd9accdd56170e94ca1ebd223b098eb9c83539a6e367d0f36ae68"
-[[package]]
-name = "similar"
-version = "2.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2aeaf503862c419d66959f5d7ca015337d864e9c49485d771b732e2a20453597"
-
[[package]]
name = "slab"
version = "0.4.2"
@@ -4263,9 +3737,9 @@ dependencies = [
[[package]]
name = "smallvec"
-version = "1.13.2"
+version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
+checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
[[package]]
name = "snow"
@@ -4278,7 +3752,7 @@ dependencies = [
"chacha20poly1305",
"rand 0.8.3",
"rand_core 0.6.2",
- "ring 0.16.20",
+ "ring",
"rustc_version",
"sha2 0.9.8",
"subtle",
@@ -4306,33 +3780,31 @@ dependencies = [
"winapi",
]
-[[package]]
-name = "socket2"
-version = "0.5.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
-dependencies = [
- "libc",
- "windows-sys 0.48.0",
-]
-
[[package]]
name = "soketto"
-version = "0.7.1"
+version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2"
+checksum = "083624472e8817d44d02c0e55df043737ff11f279af924abdf93845717c2b75c"
dependencies = [
"base64 0.13.1",
"bytes",
"flate2",
"futures",
- "http 0.2.11",
"httparse",
"log",
"rand 0.8.3",
"sha-1",
]
+[[package]]
+name = "spectral"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae3c15181f4b14e52eeaac3efaeec4d2764716ce9c86da0c934c3e318649c5ba"
+dependencies = [
+ "num",
+]
+
[[package]]
name = "spin"
version = "0.5.2"
@@ -4354,16 +3826,16 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f87e292b4291f154971a43c3774364e2cbcaec599d3f5bf6fa9d122885dbc38a"
dependencies = [
- "itertools 0.10.5",
+ "itertools",
"nom",
"unicode_categories",
]
[[package]]
name = "sqlx"
-version = "0.6.3"
+version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8de3b03a925878ed54a954f621e64bf55a3c1bd29652d0d1a17830405350188"
+checksum = "9249290c05928352f71c077cc44a464d880c63f26f7534728cca008e135c0428"
dependencies = [
"sqlx-core",
"sqlx-macros",
@@ -4371,13 +3843,13 @@ dependencies = [
[[package]]
name = "sqlx-core"
-version = "0.6.3"
+version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa8241483a83a3f33aa5fff7e7d9def398ff9990b2752b6c6112b83c6d246029"
+checksum = "dcbc16ddba161afc99e14d1713a453747a2b07fc097d2009f4c300ec99286105"
dependencies = [
"ahash",
"atoi",
- "bitflags 1.3.2",
+ "bitflags",
"byteorder",
"bytes",
"crc",
@@ -4393,8 +3865,8 @@ dependencies = [
"futures-util",
"hashlink",
"hex",
- "indexmap 1.7.0",
- "itoa",
+ "indexmap",
+ "itoa 1.0.1",
"libc",
"libsqlite3-sys",
"log",
@@ -4403,9 +3875,9 @@ dependencies = [
"paste",
"percent-encoding",
"rustls 0.20.2",
- "rustls-pemfile 1.0.0",
+ "rustls-pemfile",
"serde",
- "sha2 0.10.8",
+ "sha2 0.10.6",
"smallvec",
"sqlformat",
"sqlx-rt",
@@ -4418,31 +3890,31 @@ dependencies = [
[[package]]
name = "sqlx-macros"
-version = "0.6.3"
+version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9966e64ae989e7e575b19d7265cb79d7fc3cbbdf179835cb0d716f294c2049c9"
+checksum = "b850fa514dc11f2ee85be9d055c512aa866746adfacd1cb42d867d68e6a5b0d9"
dependencies = [
"dotenvy",
"either",
- "heck 0.4.1",
+ "heck 0.4.0",
"hex",
"once_cell",
"proc-macro2",
"quote",
"serde",
"serde_json",
- "sha2 0.10.8",
+ "sha2 0.10.6",
"sqlx-core",
"sqlx-rt",
- "syn 1.0.109",
+ "syn",
"url",
]
[[package]]
name = "sqlx-rt"
-version = "0.6.3"
+version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "804d3f245f894e61b1e6263c84b23ca675d96753b5abfd5cc8597d86806e8024"
+checksum = "24c5b2d25fa654cc5f841750b8e1cdedbe21189bf9a9382ee90bfa9dd3562396"
dependencies = [
"once_cell",
"tokio",
@@ -4504,36 +3976,36 @@ dependencies = [
"proc-macro-error",
"proc-macro2",
"quote",
- "syn 1.0.109",
+ "syn",
]
[[package]]
name = "strum"
-version = "0.26.3"
+version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06"
+checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
dependencies = [
"strum_macros",
]
[[package]]
name = "strum_macros"
-version = "0.26.4"
+version = "0.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be"
+checksum = "6878079b17446e4d3eba6192bb0a2950d5b14f0ed8424b852310e5a94345d0ef"
dependencies = [
- "heck 0.5.0",
+ "heck 0.4.0",
"proc-macro2",
"quote",
"rustversion",
- "syn 2.0.79",
+ "syn",
]
[[package]]
name = "subtle"
-version = "2.5.0"
+version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
+checksum = "1e81da0851ada1f3e9d4312c704aa4f8806f0f9d69faaf8df2f3464b4a9437c2"
[[package]]
name = "subtle-ng"
@@ -4543,14 +4015,14 @@ checksum = "8049cf85f0e715d6af38dde439cb0ccb91f67fb9f5f63c80f8b43e48356e1a3f"
[[package]]
name = "swap"
-version = "0.13.4"
+version = "0.12.1"
dependencies = [
"anyhow",
"async-compression",
"async-trait",
"atty",
"backoff",
- "base64 0.22.1",
+ "base64 0.20.0",
"bdk",
"big-bytes",
"bitcoin",
@@ -4562,59 +4034,53 @@ dependencies = [
"curve25519-dalek-ng",
"data-encoding",
"dialoguer",
- "digest 0.10.7",
"directories-next",
"ecdsa_fun",
"ed25519-dalek",
"futures",
"get-port",
"hex",
- "hyper 1.5.0",
- "itertools 0.13.0",
- "jsonrpsee",
- "jsonrpsee-core",
+ "hyper",
+ "itertools",
"libp2p",
- "mockito",
"monero",
"monero-harness",
"monero-rpc",
- "once_cell",
"pem",
"port_check",
"proptest",
"qrcode",
"rand 0.8.3",
"rand_chacha 0.3.1",
- "regex",
"reqwest",
"rust_decimal",
"rust_decimal_macros",
- "sequential-test",
"serde",
"serde_cbor",
"serde_json",
"serde_with",
"serial_test",
- "sha2 0.10.8",
+ "sha2 0.10.6",
"sigma_fun",
+ "spectral",
"sqlx",
"structopt",
"strum",
"tempfile",
- "testcontainers",
+ "testcontainers 0.12.0",
"thiserror",
- "time 0.3.36",
+ "time 0.3.17",
"tokio",
"tokio-socks",
"tokio-tar",
"tokio-tungstenite",
- "tokio-util",
- "toml 0.8.19",
+ "tokio-util 0.7.3",
+ "toml",
"torut",
"tracing",
"tracing-appender",
"tracing-futures",
- "tracing-subscriber 0.3.18",
+ "tracing-subscriber 0.3.15",
"url",
"uuid",
"vergen",
@@ -4624,35 +4090,15 @@ dependencies = [
[[package]]
name = "syn"
-version = "1.0.109"
+version = "1.0.104"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+checksum = "4ae548ec36cf198c0ef7710d3c230987c2d6d7bd98ad6edc0274462724c585ce"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
-[[package]]
-name = "syn"
-version = "2.0.79"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "sync_wrapper"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394"
-dependencies = [
- "futures-core",
-]
-
[[package]]
name = "synstructure"
version = "0.12.4"
@@ -4661,21 +4107,22 @@ checksum = "b834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701"
dependencies = [
"proc-macro2",
"quote",
- "syn 1.0.109",
+ "syn",
"unicode-xid",
]
[[package]]
name = "tempfile"
-version = "3.13.0"
+version = "3.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b"
+checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
dependencies = [
"cfg-if 1.0.0",
"fastrand",
- "once_cell",
- "rustix",
- "windows-sys 0.59.0",
+ "libc",
+ "redox_syscall",
+ "remove_dir_all",
+ "winapi",
]
[[package]]
@@ -4690,9 +4137,24 @@ dependencies = [
[[package]]
name = "testcontainers"
-version = "0.15.0"
+version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f83d2931d7f521af5bae989f716c3fa43a6af9af7ec7a5e21b59ae40878cec00"
+checksum = "d5e3ed6e3598dbf32cba8cb356b881c085e0adea57597f387723430dd94b4084"
+dependencies = [
+ "hex",
+ "hmac 0.10.1",
+ "log",
+ "rand 0.8.3",
+ "serde",
+ "serde_json",
+ "sha2 0.9.8",
+]
+
+[[package]]
+name = "testcontainers"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e2b1567ca8a2b819ea7b28c92be35d9f76fb9edb214321dcc86eb96023d1f87"
dependencies = [
"bollard-stubs",
"futures",
@@ -4702,7 +4164,7 @@ dependencies = [
"rand 0.8.3",
"serde",
"serde_json",
- "sha2 0.10.8",
+ "sha2 0.10.6",
]
[[package]]
@@ -4716,22 +4178,22 @@ dependencies = [
[[package]]
name = "thiserror"
-version = "1.0.65"
+version = "1.0.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d11abd9594d9b38965ef50805c5e469ca9cc6f197f883f717e0269a3057b3d5"
+checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.65"
+version = "1.0.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae71770322cbd277e69d762a16c444af02aa0575ac0d174f0b9562d3b37f8602"
+checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn",
]
[[package]]
@@ -4755,16 +4217,11 @@ dependencies = [
[[package]]
name = "time"
-version = "0.3.36"
+version = "0.3.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
+checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376"
dependencies = [
- "deranged",
- "itoa",
- "libc",
- "num-conv",
- "num_threads",
- "powerfmt",
+ "itoa 1.0.1",
"serde",
"time-core",
"time-macros",
@@ -4772,17 +4229,16 @@ dependencies = [
[[package]]
name = "time-core"
-version = "0.1.2"
+version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
+checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
[[package]]
name = "time-macros"
-version = "0.2.18"
+version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
+checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2"
dependencies = [
- "num-conv",
"time-core",
]
@@ -4812,32 +4268,33 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
[[package]]
name = "tokio"
-version = "1.38.1"
+version = "1.19.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb2caba9f80616f438e09748d5acda951967e1ea58508ef53d9c6402485a46df"
+checksum = "c51a52ed6686dd62c320f9b89299e9dfb46f730c7a48e635c19f21d116cb1439"
dependencies = [
- "backtrace",
"bytes",
"libc",
+ "memchr",
"mio",
"num_cpus",
+ "once_cell",
"parking_lot 0.12.0",
- "pin-project-lite 0.2.13",
+ "pin-project-lite 0.2.9",
"signal-hook-registry",
- "socket2 0.5.5",
+ "socket2 0.4.7",
"tokio-macros",
- "windows-sys 0.48.0",
+ "winapi",
]
[[package]]
name = "tokio-macros"
-version = "2.3.0"
+version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a"
+checksum = "b557f72f448c511a979e2564e55d74e6c4432fc96ff4f6241bc6bded342643b7"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn",
]
[[package]]
@@ -4862,22 +4319,11 @@ dependencies = [
"webpki 0.22.0",
]
-[[package]]
-name = "tokio-rustls"
-version = "0.26.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4"
-dependencies = [
- "rustls 0.23.10",
- "rustls-pki-types",
- "tokio",
-]
-
[[package]]
name = "tokio-socks"
-version = "0.5.2"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d4770b8024672c1101b3f6733eab95b18007dbe0847a8afe341fcf79e06043f"
+checksum = "51165dfa029d2a65969413a6cc96f354b86b464498702f174a4efa13608fd8c0"
dependencies = [
"either",
"futures-util",
@@ -4892,20 +4338,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d660770404473ccd7bc9f8b28494a811bc18542b915c0855c51e8f419d5223ce"
dependencies = [
"futures-core",
- "pin-project-lite 0.2.13",
+ "pin-project-lite 0.2.9",
"tokio",
]
[[package]]
name = "tokio-tar"
-version = "0.3.1"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d5714c010ca3e5c27114c1cdeb9d14641ace49874aa5626d7149e47aedace75"
+checksum = "a50188549787c32c1c3d9c8c71ad7e003ccf2f102489c5a96e385c84760477f4"
dependencies = [
"filetime",
"futures-core",
"libc",
- "redox_syscall 0.3.5",
+ "redox_syscall",
"tokio",
"tokio-stream",
"xattr",
@@ -4930,59 +4376,39 @@ dependencies = [
[[package]]
name = "tokio-util"
-version = "0.7.12"
+version = "0.6.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a"
+checksum = "9e99e1983e5d376cd8eb4b66604d2e99e79f5bd988c3055891dcd8c9e2604cc0"
dependencies = [
"bytes",
"futures-core",
- "futures-io",
"futures-sink",
- "pin-project-lite 0.2.13",
+ "log",
+ "pin-project-lite 0.2.9",
"tokio",
]
[[package]]
-name = "toml"
-version = "0.5.11"
+name = "tokio-util"
+version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
+checksum = "cc463cd8deddc3770d20f9852143d50bf6094e640b485cb2e189a2099085ff45"
dependencies = [
- "serde",
+ "bytes",
+ "futures-core",
+ "futures-sink",
+ "pin-project-lite 0.2.9",
+ "tokio",
+ "tracing",
]
[[package]]
name = "toml"
-version = "0.8.19"
+version = "0.5.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e"
+checksum = "1333c76748e868a4d9d1017b5ab53171dfd095f70c712fdb4653a406547f598f"
dependencies = [
"serde",
- "serde_spanned",
- "toml_datetime",
- "toml_edit",
-]
-
-[[package]]
-name = "toml_datetime"
-version = "0.6.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "toml_edit"
-version = "0.22.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d"
-dependencies = [
- "indexmap 2.1.0",
- "serde",
- "serde_spanned",
- "toml_datetime",
- "winnow",
]
[[package]]
@@ -5003,28 +4429,6 @@ dependencies = [
"tokio",
]
-[[package]]
-name = "tower"
-version = "0.4.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c"
-dependencies = [
- "futures-core",
- "futures-util",
- "pin-project 1.0.5",
- "pin-project-lite 0.2.13",
- "tokio",
- "tower-layer",
- "tower-service",
- "tracing",
-]
-
-[[package]]
-name = "tower-layer"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0"
-
[[package]]
name = "tower-service"
version = "0.3.1"
@@ -5033,44 +4437,43 @@ checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6"
[[package]]
name = "tracing"
-version = "0.1.40"
+version = "0.1.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
+checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
dependencies = [
- "log",
- "pin-project-lite 0.2.13",
+ "cfg-if 1.0.0",
+ "pin-project-lite 0.2.9",
"tracing-attributes",
"tracing-core",
]
[[package]]
name = "tracing-appender"
-version = "0.2.3"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf"
+checksum = "09d48f71a791638519505cefafe162606f706c25592e4bde4d97600c0195312e"
dependencies = [
"crossbeam-channel",
- "thiserror",
- "time 0.3.36",
- "tracing-subscriber 0.3.18",
+ "time 0.3.17",
+ "tracing-subscriber 0.3.15",
]
[[package]]
name = "tracing-attributes"
-version = "0.1.27"
+version = "0.1.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
+checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn",
]
[[package]]
name = "tracing-core"
-version = "0.1.32"
+version = "0.1.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
+checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
dependencies = [
"once_cell",
"valuable",
@@ -5099,17 +4502,6 @@ dependencies = [
"tracing-core",
]
-[[package]]
-name = "tracing-log"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
-dependencies = [
- "log",
- "once_cell",
- "tracing-core",
-]
-
[[package]]
name = "tracing-serde"
version = "0.1.3"
@@ -5135,27 +4527,27 @@ dependencies = [
"thread_local",
"tracing",
"tracing-core",
- "tracing-log 0.1.2",
+ "tracing-log",
]
[[package]]
name = "tracing-subscriber"
-version = "0.3.18"
+version = "0.3.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"
+checksum = "60db860322da191b40952ad9affe65ea23e7dd6a5c442c2c42865810c6ab8e6b"
dependencies = [
+ "ansi_term 0.12.1",
"matchers 0.1.0",
- "nu-ansi-term",
"once_cell",
"regex",
"serde",
"serde_json",
"sharded-slab",
"thread_local",
- "time 0.3.36",
+ "time 0.3.17",
"tracing",
"tracing-core",
- "tracing-log 0.2.0",
+ "tracing-log",
"tracing-serde",
]
@@ -5219,12 +4611,12 @@ dependencies = [
"base64 0.13.1",
"byteorder",
"bytes",
- "http 0.2.11",
+ "http",
"httparse",
"log",
"rand 0.8.3",
"rustls 0.19.0",
- "rustls-native-certs 0.5.0",
+ "rustls-native-certs",
"sha-1",
"thiserror",
"url",
@@ -5256,17 +4648,14 @@ dependencies = [
"static_assertions",
]
-[[package]]
-name = "unarray"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94"
-
[[package]]
name = "unicode-bidi"
-version = "0.3.13"
+version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
+checksum = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
+dependencies = [
+ "matches",
+]
[[package]]
name = "unicode-ident"
@@ -5276,9 +4665,9 @@ checksum = "15c61ba63f9235225a22310255a29b806b907c9b8c964bcbd0a2c70f3f2deea7"
[[package]]
name = "unicode-normalization"
-version = "0.1.22"
+version = "0.1.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+checksum = "07fbfce1c8a97d547e8b5334978438d9d6ec8c20e38f56d4a4374d181493eaef"
dependencies = [
"tinyvec",
]
@@ -5335,20 +4724,14 @@ version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
-[[package]]
-name = "untrusted"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
-
[[package]]
name = "url"
-version = "2.5.2"
+version = "2.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c"
+checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
dependencies = [
"form_urlencoded",
- "idna 0.5.0",
+ "idna 0.3.0",
"percent-encoding",
"serde",
]
@@ -5361,11 +4744,11 @@ checksum = "05e42f7c18b8f902290b009cde6d651262f956c98bc51bca4cd1d511c9cd85c7"
[[package]]
name = "uuid"
-version = "1.11.0"
+version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a"
+checksum = "422ee0de9031b5b948b97a8fc04e3aa35230001a722ddd27943e0be31564ce4c"
dependencies = [
- "getrandom 0.2.11",
+ "getrandom 0.2.6",
"serde",
]
@@ -5389,15 +4772,18 @@ checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
[[package]]
name = "vergen"
-version = "8.3.2"
+version = "7.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2990d9ea5967266ea0ccf413a4aa5c42a93dbcfda9cb49a97de6931726b12566"
+checksum = "efadd36bc6fde40c6048443897d69511a19161c0756cb704ed403f8dfd2b7d1c"
dependencies = [
"anyhow",
"cfg-if 1.0.0",
+ "enum-iterator",
+ "getset",
"git2",
"rustversion",
- "time 0.3.36",
+ "thiserror",
+ "time 0.3.17",
]
[[package]]
@@ -5406,12 +4792,6 @@ version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe"
-[[package]]
-name = "virtue"
-version = "0.0.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9dcc60c0624df774c82a0ef104151231d37da4962957d691c011c852b2473314"
-
[[package]]
name = "void"
version = "1.0.2"
@@ -5443,6 +4823,12 @@ version = "0.9.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
+[[package]]
+name = "wasi"
+version = "0.10.2+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
+
[[package]]
name = "wasi"
version = "0.11.0+wasi-snapshot-preview1"
@@ -5451,9 +4837,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "wasm-bindgen"
-version = "0.2.90"
+version = "0.2.71"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406"
+checksum = "7ee1280240b7c461d6a0071313e08f34a60b0365f14260362e5a2b17d1d31aa7"
dependencies = [
"cfg-if 1.0.0",
"wasm-bindgen-macro",
@@ -5461,24 +4847,24 @@ dependencies = [
[[package]]
name = "wasm-bindgen-backend"
-version = "0.2.90"
+version = "0.2.71"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd"
+checksum = "5b7d8b6942b8bb3a9b0e73fc79b98095a27de6fa247615e59d096754a3bc2aa8"
dependencies = [
"bumpalo",
+ "lazy_static",
"log",
- "once_cell",
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-futures"
-version = "0.4.40"
+version = "0.4.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461"
+checksum = "8e67a5806118af01f0d9045915676b22aaebecf4178ae7021bc171dab0b897ab"
dependencies = [
"cfg-if 1.0.0",
"js-sys",
@@ -5488,9 +4874,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.90"
+version = "0.2.71"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999"
+checksum = "e5ac38da8ef716661f0f36c0d8320b89028efe10c7c0afde65baffb496ce0d3b"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -5498,41 +4884,28 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.90"
+version = "0.2.71"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7"
+checksum = "cc053ec74d454df287b9374ee8abb36ffd5acb95ba87da3ba5b7d3fe20eb401e"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.90"
+version = "0.2.71"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b"
-
-[[package]]
-name = "wasm-streams"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129"
-dependencies = [
- "futures-util",
- "js-sys",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "web-sys",
-]
+checksum = "7d6f8ec44822dd71f5f221a5847fb34acd9060535c1211b70a05844c0f6383b1"
[[package]]
name = "web-sys"
-version = "0.3.67"
+version = "0.3.48"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed"
+checksum = "ec600b26223b2948cedfde2a0aa6756dcf1fef616f43d7b3097aaf53a6c4d92b"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ -5544,8 +4917,8 @@ version = "0.21.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea"
dependencies = [
- "ring 0.16.20",
- "untrusted 0.7.1",
+ "ring",
+ "untrusted",
]
[[package]]
@@ -5554,8 +4927,8 @@ version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd"
dependencies = [
- "ring 0.16.20",
- "untrusted 0.7.1",
+ "ring",
+ "untrusted",
]
[[package]]
@@ -5576,15 +4949,6 @@ dependencies = [
"webpki 0.22.0",
]
-[[package]]
-name = "webpki-roots"
-version = "0.26.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009"
-dependencies = [
- "rustls-pki-types",
-]
-
[[package]]
name = "which"
version = "4.0.2"
@@ -5623,36 +4987,6 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-[[package]]
-name = "windows-registry"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0"
-dependencies = [
- "windows-result",
- "windows-strings",
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "windows-result"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e"
-dependencies = [
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "windows-strings"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10"
-dependencies = [
- "windows-result",
- "windows-targets 0.52.6",
-]
-
[[package]]
name = "windows-sys"
version = "0.32.0"
@@ -5668,74 +5002,17 @@ dependencies = [
[[package]]
name = "windows-sys"
-version = "0.48.0"
+version = "0.36.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2"
dependencies = [
- "windows-targets 0.48.0",
+ "windows_aarch64_msvc 0.36.1",
+ "windows_i686_gnu 0.36.1",
+ "windows_i686_msvc 0.36.1",
+ "windows_x86_64_gnu 0.36.1",
+ "windows_x86_64_msvc 0.36.1",
]
-[[package]]
-name = "windows-sys"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
-dependencies = [
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.59.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
-dependencies = [
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
-dependencies = [
- "windows_aarch64_gnullvm 0.48.0",
- "windows_aarch64_msvc 0.48.0",
- "windows_i686_gnu 0.48.0",
- "windows_i686_msvc 0.48.0",
- "windows_x86_64_gnu 0.48.0",
- "windows_x86_64_gnullvm 0.48.0",
- "windows_x86_64_msvc 0.48.0",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
-dependencies = [
- "windows_aarch64_gnullvm 0.52.6",
- "windows_aarch64_msvc 0.52.6",
- "windows_i686_gnu 0.52.6",
- "windows_i686_gnullvm",
- "windows_i686_msvc 0.52.6",
- "windows_x86_64_gnu 0.52.6",
- "windows_x86_64_gnullvm 0.52.6",
- "windows_x86_64_msvc 0.52.6",
-]
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
-
[[package]]
name = "windows_aarch64_msvc"
version = "0.32.0"
@@ -5744,15 +5021,9 @@ checksum = "d8e92753b1c443191654ec532f14c199742964a061be25d77d7a96f09db20bf5"
[[package]]
name = "windows_aarch64_msvc"
-version = "0.48.0"
+version = "0.36.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
+checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47"
[[package]]
name = "windows_i686_gnu"
@@ -5762,21 +5033,9 @@ checksum = "6a711c68811799e017b6038e0922cb27a5e2f43a2ddb609fe0b6f3eeda9de615"
[[package]]
name = "windows_i686_gnu"
-version = "0.48.0"
+version = "0.36.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
-
-[[package]]
-name = "windows_i686_gnullvm"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
+checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6"
[[package]]
name = "windows_i686_msvc"
@@ -5786,15 +5045,9 @@ checksum = "146c11bb1a02615db74680b32a68e2d61f553cc24c4eb5b4ca10311740e44172"
[[package]]
name = "windows_i686_msvc"
-version = "0.48.0"
+version = "0.36.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
+checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024"
[[package]]
name = "windows_x86_64_gnu"
@@ -5804,27 +5057,9 @@ checksum = "c912b12f7454c6620635bbff3450962753834be2a594819bd5e945af18ec64bc"
[[package]]
name = "windows_x86_64_gnu"
-version = "0.48.0"
+version = "0.36.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
+checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1"
[[package]]
name = "windows_x86_64_msvc"
@@ -5834,24 +5069,9 @@ checksum = "504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316"
[[package]]
name = "windows_x86_64_msvc"
-version = "0.48.0"
+version = "0.36.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
-
-[[package]]
-name = "winnow"
-version = "0.6.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f"
-dependencies = [
- "memchr",
-]
+checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680"
[[package]]
name = "winreg"
@@ -5862,6 +5082,15 @@ dependencies = [
"winapi",
]
+[[package]]
+name = "winreg"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d"
+dependencies = [
+ "winapi",
+]
+
[[package]]
name = "x25519-dalek"
version = "1.1.0"
@@ -5875,13 +5104,11 @@ dependencies = [
[[package]]
name = "xattr"
-version = "1.1.3"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7dae5072fe1f8db8f8d29059189ac175196e410e40ba42d5d4684ae2f750995"
+checksum = "244c3741f4240ef46274860397c7c74e50eb23624996930e484c16679633a54c"
dependencies = [
"libc",
- "linux-raw-sys",
- "rustix",
]
[[package]]
@@ -5900,22 +5127,23 @@ dependencies = [
[[package]]
name = "zeroize"
-version = "1.7.0"
+version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
+checksum = "81a974bcdd357f0dca4d41677db03436324d45a4c9ed2d0b873a5a360ce41c36"
dependencies = [
"zeroize_derive",
]
[[package]]
name = "zeroize_derive"
-version = "1.4.2"
+version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
+checksum = "c3f369ddb18862aba61aa49bf31e74d29f0f162dec753063200e1dc084345d16"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn",
+ "synstructure",
]
[[package]]
diff --git a/Cargo.toml b/Cargo.toml
index c3d131a1..0f654d91 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,8 +1,5 @@
[workspace]
-resolver = "2"
members = [ "monero-harness", "monero-rpc", "swap", "monero-wallet" ]
[patch.crates-io]
-# patch until new release https://github.com/thomaseizinger/rust-jsonrpc-client/pull/51
-jsonrpc_client = { git = "https://github.com/delta1/rust-jsonrpc-client.git", rev = "3b6081697cd616c952acb9c2f02d546357d35506" }
monero = { git = "https://github.com/comit-network/monero-rs", rev = "818f38b" }
diff --git a/Dockerfile b/Dockerfile
deleted file mode 100644
index 05e5d64c..00000000
--- a/Dockerfile
+++ /dev/null
@@ -1,22 +0,0 @@
-# This Dockerfile builds the asb binary
-
-FROM rust:1.79-slim AS builder
-
-WORKDIR /build
-
-RUN apt-get update
-RUN apt-get install -y git clang cmake libsnappy-dev
-
-COPY . .
-
-WORKDIR /build/swap
-
-RUN cargo build --release --bin=asb
-
-FROM debian:bookworm-slim
-
-WORKDIR /data
-
-COPY --from=builder /build/target/release/asb /bin/asb
-
-ENTRYPOINT ["asb"]
diff --git a/README.md b/README.md
index 72130de7..9b4a0476 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,3 @@
-> [!CAUTION]
-> # THIS REPO IS UNMAINTAINED
PLEASE USE [UNSTOPPABLESWAP]([url](https://github.com/UnstoppableSwap/core)) INSTEAD
-
-**This repository is unmaintained**. The original developers (@comit-network) have moved on to other projects. Community volunteers are continuing development at [UnstoppableSwap/core](https://github.com/UnstoppableSwap/core), which includes a graphical user interface. Please note that the fork has introduced network-level breaking changes, making it incompatible with peers running this repository - you will not be able to initiate swaps with them.
-
# XMR to BTC Atomic Swap
This repository hosts an MVP for atomically swapping BTC to XMR.
@@ -49,13 +44,13 @@ It is not recommended to bump fees when swapping because it can have unpredictab
## Contributing
-We encourage community contributions whether it be a bug fix or an improvement to the documentation.
+We are encourage community contributions whether it be a bug fix or an improvement to the documentation.
Please have a look at the [contribution guidelines](./CONTRIBUTING.md).
## Rust Version Support
Please note that only the latest stable Rust toolchain is supported.
-All stable toolchains since 1.74 _should_ work.
+All stable toolchains since 1.62 _should_ work.
## Contact
diff --git a/bors.toml b/bors.toml
new file mode 100644
index 00000000..92e8a84c
--- /dev/null
+++ b/bors.toml
@@ -0,0 +1,25 @@
+status = [
+ "static_analysis",
+ "bdk_test",
+ "sqlx_test",
+ "build (x86_64-unknown-linux-gnu, ubuntu-latest)",
+ "build (armv7-unknown-linux-gnueabihf, ubuntu-latest)",
+ "build (x86_64-apple-darwin, macos-latest)",
+ "build (x86_64-pc-windows-msvc, windows-latest)",
+ "test (ubuntu-latest)",
+ "test (macos-latest)",
+ "docker_tests (happy_path)",
+ "docker_tests (happy_path_restart_bob_after_xmr_locked)",
+ "docker_tests (happy_path_restart_alice_after_xmr_locked)",
+ "docker_tests (happy_path_restart_bob_before_xmr_locked)",
+ "docker_tests (alice_and_bob_refund_using_cancel_and_refund_command)",
+ "docker_tests (alice_and_bob_refund_using_cancel_then_refund_command)",
+ "docker_tests (alice_and_bob_refund_using_cancel_and_refund_command_timelock_not_expired)",
+ "docker_tests (punish)",
+ "docker_tests (alice_punishes_after_restart_bob_dead)",
+ "docker_tests (alice_manually_punishes_after_bob_dead)",
+ "docker_tests (alice_refunds_after_restart_bob_refunded)",
+ "docker_tests (ensure_same_swap_id)",
+ "docker_tests (concurrent_bobs_before_xmr_lock_proof_sent)",
+ "docker_tests (alice_manually_redeems_after_enc_sig_learned)"
+]
diff --git a/docs/asb/README.md b/docs/asb/README.md
index 88448b71..e0991d8d 100644
--- a/docs/asb/README.md
+++ b/docs/asb/README.md
@@ -42,16 +42,13 @@ Since the ASB is a long running task we specify the person running an ASB as ser
The ASB daemon supports the libp2p [rendezvous-protocol](https://github.com/libp2p/specs/tree/master/rendezvous).
Usage of the rendezvous functionality is entirely optional.
-You can configure one or more rendezvous points in the `[network]` section of your config file.
+You can configure a rendezvous point in the `[network]` section of your config file.
For the registration to be successful, you also need to configure the externally reachable addresses within the `[network]` section.
For example:
```toml
[network]
-rendezvous_point = [
- "/dns4/discover.unstoppableswap.net/tcp/8888/p2p/12D3KooWA6cnqJpVnreBVnoro8midDL9Lpzmg8oJPoAGi7YYaamE",
- "/dns4/eratosthen.es/tcp/7798/p2p/12D3KooWAh7EXXa2ZyegzLGdjvj1W4G3EXrTGrf6trraoT1MEobs",
-]
+rendezvous_point = "/dns4/discover.unstoppableswap.net/tcp/8888/p2p/12D3KooWA6cnqJpVnreBVnoro8midDL9Lpzmg8oJPoAGi7YYaamE"
external_addresses = ["/dns4/example.com/tcp/9939"]
```
@@ -110,7 +107,7 @@ The minimum and maximum amount as well as a spread, that is added on top of the
In order to be able to trade, the ASB must define a price to be able to agree on the amounts to be swapped with a CLI.
The `XMR<>BTC` price is currently determined by the price from the central exchange Kraken.
Upon startup the ASB connects to the Kraken price websocket and listens on the stream for price updates.
-You can plug in a different price ticker websocket using the `price_ticker_ws_url` configuration option.
+You can plug in a different price ticker websocket using the the `price_ticker_ws_url` configuration option.
You will have to make sure that the format returned is the same as the format used by Kraken.
Currently, we use a spot-price model, i.e. the ASB dictates the price to the CLI.
@@ -164,38 +161,3 @@ May 01 01:32:05.018 INFO Tor found. Setting up hidden service.
May 01 01:32:07.475 INFO /onion3/z4findrdwtfbpoq64ayjtmxvr52vvxnsynerlenlfkmm52dqxsl4deyd:9939
May 01 01:32:07.476 INFO /onion3/z4findrdwtfbpoq64ayjtmxvr52vvxnsynerlenlfkmm52dqxsl4deyd:9940
```
-
-### Exporting the Bitcoin wallet descriptor
-
-First use `swap` or `asb` with the `export-bitcoin-wallet` subcommand.
-
-Output example:
-
-```json
-{"descriptor":"wpkh(tprv8Zgredacted.../84'/1'/0'/0/*)","blockheight":2415616,"label":"asb-testnet"}
-```
-
-The wallet can theoretically be directly imported into
-[bdk-cli](https://bitcoindevkit.org/bdk-cli/installation/) but it is easier to
-use Sparrow Wallet.
-
-Sparrow wallet import works as follows:
-
-- File -> New wallet -> Give it a name
-- Select "New or Imported Software Wallet"
-- Click "Enter Private Key" for "Master Private Key (BIP32)"
-- Enter the `xprv...` or `tprv...` part of the descriptor (example above is `tprv8Zgredacted...`:
-
-
-
-- Click "Import"
-- Leave the derivation path as `m/84'/0'/0'` and click "Import Keystore" button
-- Click "Apply" and then supply password
-
-
-
-- Click Transactions tab
-- ???
-- Profit!
-
-
diff --git a/docs/asb/enter-master-private-key.png b/docs/asb/enter-master-private-key.png
deleted file mode 100644
index 7b69b550..00000000
Binary files a/docs/asb/enter-master-private-key.png and /dev/null differ
diff --git a/docs/asb/import-keystore.png b/docs/asb/import-keystore.png
deleted file mode 100644
index 83d748ff..00000000
Binary files a/docs/asb/import-keystore.png and /dev/null differ
diff --git a/docs/asb/transactions-tab.png b/docs/asb/transactions-tab.png
deleted file mode 100644
index 7b0532af..00000000
Binary files a/docs/asb/transactions-tab.png and /dev/null differ
diff --git a/docs/cli/README.md b/docs/cli/README.md
index eff9d072..d95d90ef 100644
--- a/docs/cli/README.md
+++ b/docs/cli/README.md
@@ -75,7 +75,7 @@ OPTIONS:
This command has three core options:
-- `--change-address`: A Bitcoin address you control. Will be used for refunds of any kind. You can also omit this flag which will refund any change to the internal wallet.
+- `--change-address`: A Bitcoin address you control. Will be used for refunds of any kind.
- `--receive-address`: A Monero address you control. This is where you will receive the Monero after the swap.
- `--seller`: The multiaddress of the seller you want to swap with.
diff --git a/dprint.json b/dprint.json
index 8f18b0bf..18c300b2 100644
--- a/dprint.json
+++ b/dprint.json
@@ -3,16 +3,22 @@
"projectType": "openSource",
"incremental": true,
"markdown": {},
- "exec": {
- "associations": "**/*.{rs}",
- "rustfmt": "rustfmt --edition 2021",
- "rustfmt.associations": "**/*.rs"
+ "rustfmt": {
+ "edition": 2021,
+ "condense_wildcard_suffixes": true,
+ "format_macro_matchers": true,
+ "imports_granularity": "Module",
+ "use_field_init_shorthand": true,
+ "format_code_in_doc_comments": true,
+ "normalize_comments": true,
+ "wrap_comments": true,
+ "overflow_delimited_expr": true
},
"includes": ["**/*.{md}", "**/*.{toml}", "**/*.{rs}"],
"excludes": ["target/"],
"plugins": [
"https://plugins.dprint.dev/markdown-0.13.1.wasm",
"https://github.com/thomaseizinger/dprint-plugin-cargo-toml/releases/download/0.1.0/cargo-toml-0.1.0.wasm",
- "https://plugins.dprint.dev/exec-0.3.5.json@d687dda57be0fe9a0088ccdaefa5147649ff24127d8b3ea227536c68ee7abeab"
+ "https://plugins.dprint.dev/rustfmt-0.6.1.exe-plugin@99b89a0599fd3a63e597e03436862157901f3facae2f0c2fbd0b9f656cdbc2a5"
]
}
diff --git a/monero-harness/Cargo.toml b/monero-harness/Cargo.toml
index e15c751d..b659220b 100644
--- a/monero-harness/Cargo.toml
+++ b/monero-harness/Cargo.toml
@@ -10,7 +10,8 @@ anyhow = "1"
futures = "0.3"
monero-rpc = { path = "../monero-rpc" }
rand = "0.7"
-testcontainers = "0.15"
+spectral = "0.6"
+testcontainers = "0.12"
tokio = { version = "1", default-features = false, features = [ "rt-multi-thread", "time", "macros" ] }
tracing = "0.1"
-tracing-subscriber = { version = "0.3", default-features = false, features = [ "fmt", "ansi", "env-filter", "tracing-log" ] }
+tracing-subscriber = { version = "0.2", default-features = false, features = [ "fmt", "ansi", "env-filter", "tracing-log" ] }
diff --git a/monero-harness/src/image.rs b/monero-harness/src/image.rs
index d4dd3942..63cc4b20 100644
--- a/monero-harness/src/image.rs
+++ b/monero-harness/src/image.rs
@@ -1,4 +1,6 @@
-use testcontainers::{core::WaitFor, Image, ImageArgs};
+use std::collections::HashMap;
+use testcontainers::core::{Container, Docker, WaitForMessage};
+use testcontainers::Image;
pub const MONEROD_DAEMON_CONTAINER_NAME: &str = "monerod";
pub const MONEROD_DEFAULT_NETWORK: &str = "monero_network";
@@ -11,22 +13,43 @@ pub const MONEROD_DEFAULT_NETWORK: &str = "monero_network";
/// this doesn't matter.
pub const RPC_PORT: u16 = 18081;
-#[derive(Clone, Copy, Debug, Default)]
-pub struct Monerod;
+#[derive(Debug, Default)]
+pub struct Monerod {
+ args: MonerodArgs,
+}
impl Image for Monerod {
type Args = MonerodArgs;
+ type EnvVars = HashMap;
+ type Volumes = HashMap;
+ type EntryPoint = str;
- fn name(&self) -> String {
- "rinocommunity/monero".into()
+ fn descriptor(&self) -> String {
+ "rinocommunity/monero:v0.18.1.2".to_owned()
}
- fn tag(&self) -> String {
- "v0.18.1.2".into()
+ fn wait_until_ready(&self, container: &Container<'_, D, Self>) {
+ container
+ .logs()
+ .stdout
+ .wait_for_message("RPC server started ok")
+ .unwrap();
}
- fn ready_conditions(&self) -> Vec {
- vec![WaitFor::message_on_stdout("RPC server started ok")]
+ fn args(&self) -> ::Args {
+ self.args.clone()
+ }
+
+ fn volumes(&self) -> Self::Volumes {
+ HashMap::new()
+ }
+
+ fn env_vars(&self) -> Self::EnvVars {
+ HashMap::new()
+ }
+
+ fn with_args(self, args: ::Args) -> Self {
+ Self { args }
}
fn entrypoint(&self) -> Option {
@@ -35,22 +58,43 @@ impl Image for Monerod {
}
}
-#[derive(Clone, Copy, Debug)]
-pub struct MoneroWalletRpc;
+#[derive(Debug, Default)]
+pub struct MoneroWalletRpc {
+ args: MoneroWalletRpcArgs,
+}
impl Image for MoneroWalletRpc {
type Args = MoneroWalletRpcArgs;
+ type EnvVars = HashMap;
+ type Volumes = HashMap;
+ type EntryPoint = str;
- fn name(&self) -> String {
- "rinocommunity/monero".into()
+ fn descriptor(&self) -> String {
+ "rinocommunity/monero:v0.18.1.2".to_owned()
}
- fn tag(&self) -> String {
- "v0.18.1.2".into()
+ fn wait_until_ready(&self, container: &Container<'_, D, Self>) {
+ container
+ .logs()
+ .stdout
+ .wait_for_message("Run server thread name: RPC")
+ .unwrap();
}
- fn ready_conditions(&self) -> Vec {
- vec![WaitFor::message_on_stdout("Run server thread name: RPC")]
+ fn args(&self) -> ::Args {
+ self.args.clone()
+ }
+
+ fn volumes(&self) -> Self::Volumes {
+ HashMap::new()
+ }
+
+ fn env_vars(&self) -> Self::EnvVars {
+ HashMap::new()
+ }
+
+ fn with_args(self, args: ::Args) -> Self {
+ Self { args }
}
fn entrypoint(&self) -> Option {
@@ -60,9 +104,10 @@ impl Image for MoneroWalletRpc {
}
impl MoneroWalletRpc {
- pub fn new(name: &str, daemon_address: String) -> (Self, MoneroWalletRpcArgs) {
- let args = MoneroWalletRpcArgs::new(name, daemon_address);
- (Self, args)
+ pub fn new(name: &str, daemon_address: String) -> Self {
+ Self {
+ args: MoneroWalletRpcArgs::new(name, daemon_address),
+ }
}
}
@@ -146,12 +191,6 @@ impl IntoIterator for MonerodArgs {
}
}
-impl ImageArgs for MonerodArgs {
- fn into_iterator(self) -> Box> {
- Box::new(self.into_iter())
- }
-}
-
#[derive(Debug, Clone)]
pub struct MoneroWalletRpcArgs {
pub disable_rpc_login: bool,
@@ -161,6 +200,12 @@ pub struct MoneroWalletRpcArgs {
pub daemon_address: String,
}
+impl Default for MoneroWalletRpcArgs {
+ fn default() -> Self {
+ unimplemented!("A default instance for `MoneroWalletRpc` doesn't make sense because we always need to connect to a node.")
+ }
+}
+
impl MoneroWalletRpcArgs {
pub fn new(wallet_name: &str, daemon_address: String) -> Self {
Self {
@@ -202,9 +247,3 @@ impl IntoIterator for MoneroWalletRpcArgs {
args.into_iter()
}
}
-
-impl ImageArgs for MoneroWalletRpcArgs {
- fn into_iterator(self) -> Box> {
- Box::new(self.into_iter())
- }
-}
diff --git a/monero-harness/src/lib.rs b/monero-harness/src/lib.rs
index 61c12a27..f762d5c5 100644
--- a/monero-harness/src/lib.rs
+++ b/monero-harness/src/lib.rs
@@ -20,20 +20,17 @@
//! every BLOCK_TIME_SECS seconds.
//!
//! Also provides standalone JSON RPC clients for monerod and monero-wallet-rpc.
-use std::time::Duration;
+pub mod image;
+use crate::image::{MONEROD_DAEMON_CONTAINER_NAME, MONEROD_DEFAULT_NETWORK, RPC_PORT};
use anyhow::{anyhow, bail, Context, Result};
-use testcontainers::clients::Cli;
-use testcontainers::{Container, RunnableImage};
-use tokio::time;
-
use monero_rpc::monerod;
use monero_rpc::monerod::MonerodRpc as _;
use monero_rpc::wallet::{self, GetAddress, MoneroWalletRpc as _, Refreshed, Transfer};
-
-use crate::image::{MONEROD_DAEMON_CONTAINER_NAME, MONEROD_DEFAULT_NETWORK, RPC_PORT};
-
-pub mod image;
+use std::time::Duration;
+use testcontainers::clients::Cli;
+use testcontainers::{Container, Docker, RunArgs};
+use tokio::time;
/// How often we mine a block.
const BLOCK_TIME_SECS: u64 = 1;
@@ -59,8 +56,8 @@ impl<'c> Monero {
additional_wallets: Vec<&'static str>,
) -> Result<(
Self,
- Container<'c, image::Monerod>,
- Vec>,
+ Container<'c, Cli, image::Monerod>,
+ Vec>,
)> {
let prefix = format!("{}_", random_prefix());
let monerod_name = format!("{}{}", prefix, MONEROD_DAEMON_CONTAINER_NAME);
@@ -224,14 +221,15 @@ impl<'c> Monerod {
cli: &'c Cli,
name: String,
network: String,
- ) -> Result<(Self, Container<'c, image::Monerod>)> {
- let image = image::Monerod;
- let image: RunnableImage = RunnableImage::from(image)
- .with_container_name(name.clone())
+ ) -> Result<(Self, Container<'c, Cli, image::Monerod>)> {
+ let image = image::Monerod::default();
+ let run_args = RunArgs::default()
+ .with_name(name.clone())
.with_network(network.clone());
-
- let container = cli.run(image);
- let monerod_rpc_port = container.get_host_port_ipv4(RPC_PORT);
+ let container = cli.run_with_args(image, run_args);
+ let monerod_rpc_port = container
+ .get_host_port(RPC_PORT)
+ .context("port not exposed")?;
Ok((
Self {
@@ -251,7 +249,7 @@ impl<'c> Monerod {
/// address
pub async fn start_miner(&self, miner_wallet_address: &str) -> Result<()> {
let monerod = self.client().clone();
- tokio::spawn(mine(monerod, miner_wallet_address.to_string()));
+ let _ = tokio::spawn(mine(monerod, miner_wallet_address.to_string()));
Ok(())
}
}
@@ -264,15 +262,19 @@ impl<'c> MoneroWalletRpc {
name: &str,
monerod: &Monerod,
prefix: String,
- ) -> Result<(Self, Container<'c, image::MoneroWalletRpc>)> {
+ ) -> Result<(Self, Container<'c, Cli, image::MoneroWalletRpc>)> {
let daemon_address = format!("{}:{}", monerod.name, RPC_PORT);
- let (image, args) = image::MoneroWalletRpc::new(name, daemon_address);
- let image = RunnableImage::from((image, args))
- .with_container_name(format!("{}{}", prefix, name))
- .with_network(monerod.network.clone());
+ let image = image::MoneroWalletRpc::new(name, daemon_address);
- let container = cli.run(image);
- let wallet_rpc_port = container.get_host_port_ipv4(RPC_PORT);
+ let network = monerod.network.clone();
+ let run_args = RunArgs::default()
+ // prefix the container name so we can run multiple tests
+ .with_name(format!("{}{}", prefix, name))
+ .with_network(network.clone());
+ let container = cli.run_with_args(image, run_args);
+ let wallet_rpc_port = container
+ .get_host_port(RPC_PORT)
+ .context("port not exposed")?;
let client = wallet::Client::localhost(wallet_rpc_port)?;
diff --git a/monero-harness/tests/monerod.rs b/monero-harness/tests/monerod.rs
index f454fb74..d218167b 100644
--- a/monero-harness/tests/monerod.rs
+++ b/monero-harness/tests/monerod.rs
@@ -1,5 +1,6 @@
use monero_harness::Monero;
use monero_rpc::monerod::MonerodRpc as _;
+use spectral::prelude::*;
use std::time::Duration;
use testcontainers::clients::Cli;
use tokio::time;
@@ -20,12 +21,12 @@ async fn init_miner_and_mine_to_miner_address() {
let miner_wallet = monero.wallet("miner").unwrap();
let got_miner_balance = miner_wallet.balance().await.unwrap();
- assert!(got_miner_balance > 0);
+ assert_that!(got_miner_balance).is_greater_than(0);
time::sleep(Duration::from_millis(1010)).await;
// after a bit more than 1 sec another block should have been mined
let block_height = monerod.client().get_block_count().await.unwrap().count;
- assert!(block_height > 70);
+ assert_that(&block_height).is_greater_than(70);
}
diff --git a/monero-harness/tests/wallet.rs b/monero-harness/tests/wallet.rs
index 67d11645..b25683ad 100644
--- a/monero-harness/tests/wallet.rs
+++ b/monero-harness/tests/wallet.rs
@@ -1,5 +1,6 @@
use monero_harness::{Monero, MoneroWalletRpc};
use monero_rpc::wallet::MoneroWalletRpc as _;
+use spectral::prelude::*;
use std::time::Duration;
use testcontainers::clients::Cli;
use tokio::time::sleep;
@@ -28,7 +29,7 @@ async fn fund_transfer_and_check_tx_key() {
// check alice balance
let got_alice_balance = alice_wallet.balance().await.unwrap();
- assert_eq!(got_alice_balance, fund_alice);
+ assert_that(&got_alice_balance).is_equal_to(fund_alice);
// transfer from alice to bob
let bob_address = bob_wallet.address().await.unwrap().address;
@@ -40,7 +41,7 @@ async fn fund_transfer_and_check_tx_key() {
wait_for_wallet_to_catch_up(bob_wallet, send_to_bob).await;
let got_bob_balance = bob_wallet.balance().await.unwrap();
- assert_eq!(got_bob_balance, send_to_bob);
+ assert_that(&got_bob_balance).is_equal_to(send_to_bob);
// check if tx was actually seen
let tx_id = transfer.tx_hash;
@@ -51,7 +52,7 @@ async fn fund_transfer_and_check_tx_key() {
.await
.expect("failed to check tx by key");
- assert_eq!(res.received, send_to_bob);
+ assert_that!(res.received).is_equal_to(send_to_bob);
}
async fn wait_for_wallet_to_catch_up(wallet: &MoneroWalletRpc, expected_balance: u64) {
diff --git a/monero-rpc/Cargo.toml b/monero-rpc/Cargo.toml
index 18843745..427345d6 100644
--- a/monero-rpc/Cargo.toml
+++ b/monero-rpc/Cargo.toml
@@ -12,12 +12,12 @@ jsonrpc_client = { version = "0.7", features = [ "reqwest" ] }
monero = "0.12"
monero-epee-bin-serde = "1"
rand = "0.7"
-reqwest = { version = "0.12", default-features = false, features = [ "json" ] }
+reqwest = { version = "0.11", default-features = false, features = [ "json" ] }
rust_decimal = { version = "1", features = [ "serde-float" ] }
serde = { version = "1.0", features = [ "derive" ] }
serde_json = "1.0"
tracing = "0.1"
[dev-dependencies]
-hex-literal = "0.4"
+hex-literal = "0.3"
tokio = { version = "1", features = [ "full" ] }
diff --git a/monero-rpc/src/monerod.rs b/monero-rpc/src/monerod.rs
index debb999f..32e79cec 100644
--- a/monero-rpc/src/monerod.rs
+++ b/monero-rpc/src/monerod.rs
@@ -47,10 +47,9 @@ impl Client {
}
pub async fn get_o_indexes(&self, txid: Hash) -> Result {
- self.binary_request(
- self.get_o_indexes_bin_url.clone(),
- GetOIndexesPayload { txid },
- )
+ self.binary_request(self.get_o_indexes_bin_url.clone(), GetOIndexesPayload {
+ txid,
+ })
.await
}
@@ -158,7 +157,7 @@ pub struct OutKey {
pub unlocked: bool,
}
-#[derive(Clone, Debug, Deserialize, PartialEq, Eq)]
+#[derive(Clone, Debug, Deserialize, PartialEq)]
pub struct BaseResponse {
pub credits: u64,
pub status: Status,
@@ -166,7 +165,7 @@ pub struct BaseResponse {
pub untrusted: bool,
}
-#[derive(Clone, Debug, Deserialize, PartialEq, Eq)]
+#[derive(Clone, Debug, Deserialize, PartialEq)]
pub struct GetOIndexesResponse {
#[serde(flatten)]
pub base: BaseResponse,
@@ -174,7 +173,7 @@ pub struct GetOIndexesResponse {
pub o_indexes: Vec,
}
-#[derive(Clone, Copy, Debug, Deserialize, PartialEq, Eq)]
+#[derive(Clone, Copy, Debug, Deserialize, PartialEq)]
pub enum Status {
#[serde(rename = "OK")]
Ok,
@@ -195,7 +194,7 @@ mod monero_serde_hex_block {
{
let hex = String::deserialize(deserializer)?;
- let bytes = hex::decode(hex).map_err(D::Error::custom)?;
+ let bytes = hex::decode(&hex).map_err(D::Error::custom)?;
let mut cursor = Cursor::new(bytes);
let block = monero::Block::consensus_decode(&mut cursor).map_err(D::Error::custom)?;
diff --git a/monero-rpc/src/wallet.rs b/monero-rpc/src/wallet.rs
index 3e21ad1b..404e9693 100644
--- a/monero-rpc/src/wallet.rs
+++ b/monero-rpc/src/wallet.rs
@@ -157,17 +157,11 @@ pub struct Transfer {
pub unsigned_txset: String,
}
-#[derive(Clone, Copy, Debug, Deserialize, Serialize, PartialEq, Eq)]
+#[derive(Clone, Copy, Debug, Deserialize, Serialize, PartialEq)]
pub struct BlockHeight {
pub height: u32,
}
-impl fmt::Display for BlockHeight {
- fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
- write!(f, "{}", self.height)
- }
-}
-
#[derive(Clone, Copy, Debug, Deserialize)]
#[serde(from = "CheckTxKeyResponse")]
pub struct CheckTxKey {
diff --git a/monero-wallet/Cargo.toml b/monero-wallet/Cargo.toml
index 99bd3f4d..f767b08e 100644
--- a/monero-wallet/Cargo.toml
+++ b/monero-wallet/Cargo.toml
@@ -14,6 +14,6 @@ rand = "0.7"
curve25519-dalek = "3"
monero-harness = { path = "../monero-harness" }
rand = "0.7"
-testcontainers = "0.15"
+testcontainers = "0.12"
tokio = { version = "1", features = [ "rt-multi-thread", "time", "macros", "sync", "process", "fs" ] }
tracing-subscriber = { version = "0.2", default-features = false, features = [ "fmt", "ansi", "env-filter", "chrono", "tracing-log" ] }
diff --git a/monero-wallet/src/lib.rs b/monero-wallet/src/lib.rs
index 7f2928c3..2058f476 100644
--- a/monero-wallet/src/lib.rs
+++ b/monero-wallet/src/lib.rs
@@ -61,12 +61,13 @@ mod tests {
use monero_harness::image::Monerod;
use monero_rpc::monerod::{Client, GetOutputsOut};
use testcontainers::clients::Cli;
+ use testcontainers::Docker;
#[tokio::test]
async fn get_outs_for_key_offsets() {
let cli = Cli::default();
- let container = cli.run(Monerod);
- let rpc_client = Client::localhost(container.get_host_port_ipv4(18081)).unwrap();
+ let container = cli.run(Monerod::default());
+ let rpc_client = Client::localhost(container.get_host_port(18081).unwrap()).unwrap();
rpc_client.generateblocks(150, "498AVruCDWgP9Az9LjMm89VWjrBrSZ2W2K3HFBiyzzrRjUJWUcCVxvY1iitfuKoek2FdX6MKGAD9Qb1G1P8QgR5jPmmt3Vj".to_owned()).await.unwrap();
let wallet = Wallet {
client: rpc_client.clone(),
diff --git a/rust-toolchain.toml b/rust-toolchain.toml
index cc47d97a..54776f48 100644
--- a/rust-toolchain.toml
+++ b/rust-toolchain.toml
@@ -1,4 +1,4 @@
[toolchain]
-channel = "1.74" # also update this in the readme, changelog, and github actions
+channel = "1.62"
components = ["clippy"]
targets = ["armv7-unknown-linux-gnueabihf"]
diff --git a/swap/Cargo.toml b/swap/Cargo.toml
index 678fdb8d..3f40ce71 100644
--- a/swap/Cargo.toml
+++ b/swap/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "swap"
-version = "0.13.4"
+version = "0.12.1"
authors = [ "The COMIT guys " ]
edition = "2021"
description = "XMR/BTC trustless atomic swaps."
@@ -14,37 +14,32 @@ async-compression = { version = "0.3", features = [ "bzip2", "tokio" ] }
async-trait = "0.1"
atty = "0.2"
backoff = { version = "0.4", features = [ "tokio" ] }
-base64 = "0.22"
-bdk = "0.28"
+base64 = "0.20"
+bdk = "0.25"
big-bytes = "1"
bitcoin = { version = "0.29", features = [ "rand", "serde" ] }
bmrng = "0.5"
-comfy-table = "7.1"
-config = { version = "0.14", default-features = false, features = [ "toml" ] }
-conquer-once = "0.4"
+comfy-table = "6.1"
+config = { version = "0.13", default-features = false, features = [ "toml" ] }
+conquer-once = "0.3"
curve25519-dalek = { package = "curve25519-dalek-ng", version = "4" }
-data-encoding = "2.6"
-dialoguer = "0.11"
-digest = "0.10.7"
+data-encoding = "2.3"
+dialoguer = "0.10"
directories-next = "2"
-ecdsa_fun = { version = "0.10", default-features = false, features = [ "libsecp_compat", "serde", "adaptor" ] }
+ecdsa_fun = { git = "https://github.com/LLFourn/secp256kfun", default-features = false, features = [ "libsecp_compat", "serde", "adaptor" ] }
ed25519-dalek = "1"
futures = { version = "0.3", default-features = false }
hex = "0.4"
-itertools = "0.13"
-jsonrpsee = { version = "0.16.2", features = [ "server" ] }
-jsonrpsee-core = "0.16.2"
+itertools = "0.10"
libp2p = { version = "0.42.2", default-features = false, features = [ "tcp-tokio", "yamux", "mplex", "dns-tokio", "noise", "request-response", "websocket", "ping", "rendezvous", "identify" ] }
monero = { version = "0.12", features = [ "serde_support" ] }
monero-rpc = { path = "../monero-rpc" }
-once_cell = "1.20"
-pem = "3.0"
+pem = "1.1"
proptest = "1"
-qrcode = "0.14"
+qrcode = "0.12"
rand = "0.8"
rand_chacha = "0.3"
-regex = "1.11"
-reqwest = { version = "0.12", features = [ "http2", "rustls-tls", "stream", "socks" ], default-features = false }
+reqwest = { version = "0.11", features = [ "rustls-tls", "stream", "socks" ], default-features = false }
rust_decimal = { version = "1", features = [ "serde-float" ] }
rust_decimal_macros = "1"
serde = { version = "1", features = [ "derive" ] }
@@ -52,24 +47,24 @@ serde_cbor = "0.11"
serde_json = "1"
serde_with = { version = "1", features = [ "macros" ] }
sha2 = "0.10"
-sigma_fun = { version = "0.7", default-features = false, features = [ "ed25519", "serde", "secp256k1", "alloc" ] }
-sqlx = { version = "0.6.3", features = [ "sqlite", "runtime-tokio-rustls", "offline" ] }
+sigma_fun = { git = "https://github.com/LLFourn/secp256kfun", default-features = false, features = [ "ed25519", "serde", "secp256k1", "alloc" ] }
+sqlx = { version = "0.6", features = [ "sqlite", "runtime-tokio-rustls", "offline" ] }
structopt = "0.3"
-strum = { version = "0.26", features = [ "derive" ] }
+strum = { version = "0.24", features = [ "derive" ] }
thiserror = "1"
time = "0.3"
-tokio = { version = "1", features = [ "rt-multi-thread", "time", "macros", "sync", "process", "fs", "net", "parking_lot" ] }
+tokio = { version = "1", features = [ "rt-multi-thread", "time", "macros", "sync", "process", "fs", "net" ] }
tokio-socks = "0.5"
tokio-tungstenite = { version = "0.15", features = [ "rustls-tls" ] }
tokio-util = { version = "0.7", features = [ "io", "codec" ] }
-toml = "0.8"
+toml = "0.5"
torut = { version = "0.2", default-features = false, features = [ "v3", "control" ] }
tracing = { version = "0.1", features = [ "attributes" ] }
tracing-appender = "0.2"
tracing-futures = { version = "0.2", features = [ "std-future", "futures-03" ] }
tracing-subscriber = { version = "0.3", default-features = false, features = [ "fmt", "ansi", "env-filter", "time", "tracing-log", "json" ] }
url = { version = "2", features = [ "serde" ] }
-uuid = { version = "1.11", features = [ "serde", "v4" ] }
+uuid = { version = "1.2", features = [ "serde", "v4" ] }
void = "1"
[target.'cfg(not(windows))'.dependencies]
@@ -79,20 +74,18 @@ tokio-tar = "0.3"
zip = "0.5"
[dev-dependencies]
-bitcoin-harness = { git = "https://github.com/delta1/bitcoin-harness-rs.git", rev = "80cc8d05db2610d8531011be505b7bee2b5cdf9f" }
+bitcoin-harness = "0.2.2"
get-port = "3"
-hyper = "1.5"
-jsonrpsee = { version = "0.16.2", features = [ "ws-client" ] }
-mockito = "1.5"
+hyper = "0.14"
monero-harness = { path = "../monero-harness" }
-port_check = "0.2"
+port_check = "0.1"
proptest = "1"
-sequential-test = "0.2.4"
serde_cbor = "0.11"
-serial_test = "3.1"
+serial_test = "0.10"
+spectral = "0.6"
tempfile = "3"
-testcontainers = "0.15"
+testcontainers = "0.12"
[build-dependencies]
anyhow = "1"
-vergen = { version = "8.3", default-features = false, features = [ "build", "git", "git2" ] }
+vergen = { version = "7", default-features = false, features = [ "git", "build" ] }
diff --git a/swap/build.rs b/swap/build.rs
index 57bbce40..10b11e3c 100644
--- a/swap/build.rs
+++ b/swap/build.rs
@@ -1,9 +1,9 @@
use anyhow::Result;
-use vergen::EmitBuilder;
+use vergen::{vergen, Config, SemverKind};
fn main() -> Result<()> {
- EmitBuilder::builder()
- .git_describe(true, true, None)
- .emit()?;
- Ok(())
+ let mut config = Config::default();
+ *config.git_mut().semver_kind_mut() = SemverKind::Lightweight;
+
+ vergen(config)
}
diff --git a/swap/migrations/20240615140942_btcpunished_update.sql b/swap/migrations/20240615140942_btcpunished_update.sql
deleted file mode 100644
index b4c9a8a5..00000000
--- a/swap/migrations/20240615140942_btcpunished_update.sql
+++ /dev/null
@@ -1,135 +0,0 @@
--- This migration script modifies swap states to be compatible with the new state structure introduced in PR #1676.
--- The following changes are made:
--- 1. Bob: BtcPunished state now has a new attribute 'state' (type: State6), 'tx_lock_id' (type: string) remains the same
--- 2. Bob: State6 has two new attributes: 'v' (monero viewkey) and 'monero_wallet_restore_blockheight' (type: BlockHeight)
--- State6 is used in BtcPunished, CancelTimelockExpired, BtcCancelled, BtcRefunded states
--- 3. Alice: BtcPunished state now has a new attribute 'state3' (type: State3)
-
--- Alice: Add new attribute 'state3' (type: State3) to the BtcPunished state by copying it from the BtcLocked state
-UPDATE swap_states SET
- state = json_replace( -- Replaces "{"Alice":{"Done":"BtcPunished"}}" with "{"Alice": {"Done": "BtcPunished": {"state": } }}"
- state,
- '$.Alice.Done',
- json_object(
- 'BtcPunished',
- (
- SELECT json_extract(states.state, '$.Alice.BtcLocked') -- Read state3 object from BtcLocked
- FROM swap_states AS states
- WHERE
- states.swap_id = swap_states.swap_id -- swap_states.swap_id is id of the BtcPunished row
- AND json_extract(states.state, '$.Alice.BtcLocked') IS NOT NULL -- Filters out only the BtcLocked state
- )
- )
- )
-WHERE json_extract(state, '$.Alice.Done') = 'BtcPunished'; -- Apply update only to BtcPunished state rows
-
--- Bob: Add new attribute 'state6' (type: State6) to the BtcPunished state by copying it from the BtcCancelled state
--- and add new State6 attributes 'v' and 'monero_wallet_restore_blockheight' from the BtcLocked state
-UPDATE swap_states SET
- state = json_replace(
- state,
- '$.Bob', -- Replace '{"Bob":{"Done": {"BtcPunished": {"tx_lock_id":"..."} }}}' with {"Bob":{"BtcPunished":{"state":{}, "tx_lock_id": "..."}}}
- json_object(
- 'BtcPunished', -- {"Bob":{"BtcPunished":{}}
- json_object(
- 'state', -- {"Bob":{"BtcPunished":{"state": {}}}
- json_insert(
- ( -- object that we insert properties into (original state6 from BtcCancelled state)
- SELECT json_extract(states.state, '$.Bob.BtcCancelled') -- Get state6 from BtcCancelled state
- FROM swap_states AS states
- WHERE
- states.swap_id = swap_states.swap_id
- AND json_extract(states.state, '$.Bob.BtcCancelled') IS NOT NULL -- Filters out only the BtcCancelled state
- ),
- '$.v', -- {"Bob":{"BtcPunished":{"state": {..., "v": "..."}, "tx_lock_id": "..."}}}
- ( -- Get v property from BtcLocked state
- SELECT json_extract(states.state, '$.Bob.BtcLocked.state3.v')
- FROM swap_states AS states
- WHERE
- states.swap_id = swap_states.swap_id -- swap_states.swap_id is id of the BtcPunished row
- AND json_extract(states.state, '$.Bob.BtcLocked') IS NOT NULL -- Filters out only the BtcLocked state
- ),
- '$.monero_wallet_restore_blockheight', -- { "Bob": { "BtcPunished":{"state": {..., "monero_wallet_restore_blockheight": {"height":...}} }, "tx_lock_id": "..."} } }
- ( -- Get monero_wallet_restore_blockheight property from BtcLocked state
- SELECT json_extract(states.state, '$.Bob.BtcLocked.monero_wallet_restore_blockheight')
- FROM swap_states AS states
- WHERE
- states.swap_id = swap_states.swap_id -- swap_states.swap_id is id of the BtcPunished row, states.swap_id is id of the row that we are looking for
- AND json_extract(states.state, '$.Bob.BtcLocked') IS NOT NULL -- Filters out only the BtcLocked state
- )
- ),
- 'tx_lock_id', -- Insert tx_lock_id BtcPunished -> {"Bob": {"Done": {"BtcPunished": {"state":{}, "tx_lock_id": "..."} } }
- json_extract(state, '$.Bob.Done.BtcPunished.tx_lock_id') -- Gets tx_lock_id from original state row
- )
- )
- )
-WHERE json_extract(state, '$.Bob.Done.BtcPunished') IS NOT NULL; -- Apply update only to BtcPunished state rows
-
--- Bob: Add new State6 attributes 'v' and 'monero_wallet_restore_blockheight' to the BtcRefunded state
-UPDATE swap_states SET
- state = json_insert(
- state, -- Object that we insert properties into (original state from the row)
- '$.Bob.Done.BtcRefunded.v', -- {"Bob":{"BtcRefunded":{..., "v": "..."}}}
- (
- SELECT json_extract(states.state, '$.Bob.BtcLocked.state3.v')
- FROM swap_states AS states
- WHERE
- states.swap_id = swap_states.swap_id -- swap_states.swap_id is id of the BtcRefunded row, states.swap_id is id of the row that we are looking for
- AND json_extract(states.state, '$.Bob.BtcLocked') IS NOT NULL
- ),
- '$.Bob.Done.BtcRefunded.monero_wallet_restore_blockheight', -- {"Bob":{"BtcRefunded":{..., "monero_wallet_restore_blockheight": {"height":...}} }}
- (
- SELECT json_extract(states.state, '$.Bob.BtcLocked.monero_wallet_restore_blockheight')
- FROM swap_states AS states
- WHERE
- states.swap_id = swap_states.swap_id
- AND json_extract(states.state, '$.Bob.BtcLocked') IS NOT NULL
- )
- )
-WHERE json_extract(state, '$.Bob.Done.BtcRefunded') IS NOT NULL; -- Apply update only to BtcRefunded state rows
-
--- Bob: Add new State6 attributes 'v' and 'monero_wallet_restore_blockheight' to the BtcCancelled state
-UPDATE swap_states SET
- state = json_insert(
- state,
- '$.Bob.BtcCancelled.v',
- (
- SELECT json_extract(states.state, '$.Bob.BtcLocked.state3.v')
- FROM swap_states AS states
- WHERE
- states.swap_id = swap_states.swap_id
- AND json_extract(states.state, '$.Bob.BtcLocked') IS NOT NULL
- ),
- '$.Bob.BtcCancelled.monero_wallet_restore_blockheight',
- (
- SELECT json_extract(states.state, '$.Bob.BtcLocked.monero_wallet_restore_blockheight')
- FROM swap_states AS states
- WHERE
- states.swap_id = swap_states.swap_id
- AND json_extract(states.state, '$.Bob.BtcLocked') IS NOT NULL
- )
- )
-WHERE json_extract(state, '$.Bob.BtcCancelled') IS NOT NULL; -- Apply update only to BtcCancelled state rows
-
--- Bob: Add new State6 attributes 'v' and 'monero_wallet_restore_blockheight' to the CancelTimelockExpired state
-UPDATE swap_states SET
- state = json_insert(
- state,
- '$.Bob.CancelTimelockExpired.v',
- (
- SELECT json_extract(states.state, '$.Bob.BtcLocked.state3.v')
- FROM swap_states AS states
- WHERE
- states.swap_id = swap_states.swap_id
- AND json_extract(states.state, '$.Bob.BtcLocked') IS NOT NULL
- ),
- '$.Bob.CancelTimelockExpired.monero_wallet_restore_blockheight',
- (
- SELECT json_extract(states.state, '$.Bob.BtcLocked.monero_wallet_restore_blockheight')
- FROM swap_states AS states
- WHERE
- states.swap_id = swap_states.swap_id
- AND json_extract(states.state, '$.Bob.BtcLocked') IS NOT NULL
- )
- )
-WHERE json_extract(state, '$.Bob.CancelTimelockExpired') IS NOT NULL; -- Apply update only to CancelTimelockExpired state rows
\ No newline at end of file
diff --git a/swap/migrations/20240701231624_create_buffered_transfer_proofs_table.sql b/swap/migrations/20240701231624_create_buffered_transfer_proofs_table.sql
deleted file mode 100644
index 32d2c918..00000000
--- a/swap/migrations/20240701231624_create_buffered_transfer_proofs_table.sql
+++ /dev/null
@@ -1,5 +0,0 @@
-CREATE TABLE if NOT EXISTS buffered_transfer_proofs
-(
- swap_id TEXT PRIMARY KEY NOT NULL,
- proof TEXT NOT NULL
-);
\ No newline at end of file
diff --git a/swap/sqlite_dev_setup.sh b/swap/sqlite_dev_setup.sh
index a30adaff..67d2c9da 100755
--- a/swap/sqlite_dev_setup.sh
+++ b/swap/sqlite_dev_setup.sh
@@ -1,8 +1,7 @@
#!/bin/bash
# run this script from the swap dir
-# make sure you have sqlx-cli installed: cargo install --version 0.6.3 sqlx-cli
-# it's advised for the sqlx-cli to be the same version as specified in cargo.toml
+# make sure you have sqlx-cli installed: cargo install sqlx-cli
# this script creates a temporary sqlite database
# then runs the migration scripts to create the tables (migrations folder)
diff --git a/swap/sqlx-data.json b/swap/sqlx-data.json
index 6ab0f14a..fd50cd87 100644
--- a/swap/sqlx-data.json
+++ b/swap/sqlx-data.json
@@ -28,24 +28,6 @@
},
"query": "\n insert into peer_addresses (\n peer_id,\n address\n ) values (?, ?);\n "
},
- "0d465a17ebbb5761421def759c73cad023c30705d5b41a1399ef79d8d2571d7c": {
- "describe": {
- "columns": [
- {
- "name": "start_date",
- "ordinal": 0,
- "type_info": "Text"
- }
- ],
- "nullable": [
- true
- ],
- "parameters": {
- "Right": 1
- }
- },
- "query": "\n SELECT min(entered_at) as start_date\n FROM swap_states\n WHERE swap_id = ?\n "
- },
"1ec38c85e7679b2eb42b3df75d9098772ce44fdb8db3012d3c2410d828b74157": {
"describe": {
"columns": [
@@ -80,30 +62,6 @@
},
"query": "\n insert into peers (\n swap_id,\n peer_id\n ) values (?, ?);\n "
},
- "3f2bfdd2d134586ccad22171cd85a465800fc5c4fdaf191d206974e530240c87": {
- "describe": {
- "columns": [
- {
- "name": "swap_id",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "state",
- "ordinal": 1,
- "type_info": "Text"
- }
- ],
- "nullable": [
- false,
- false
- ],
- "parameters": {
- "Right": 0
- }
- },
- "query": "\n SELECT swap_id, state\n FROM swap_states\n "
- },
"50a5764546f69c118fa0b64120da50f51073d36257d49768de99ff863e3511e0": {
"describe": {
"columns": [],
@@ -132,6 +90,24 @@
},
"query": "\n SELECT state\n FROM swap_states\n WHERE swap_id = ?\n ORDER BY id desc\n LIMIT 1;\n\n "
},
+ "a0eb85d04ee3842c52291dad4d225941d1141af735922fcbc665868997fce304": {
+ "describe": {
+ "columns": [
+ {
+ "name": "address",
+ "ordinal": 0,
+ "type_info": "Text"
+ }
+ ],
+ "nullable": [
+ false
+ ],
+ "parameters": {
+ "Right": 1
+ }
+ },
+ "query": "\n SELECT address\n FROM peer_addresses\n WHERE peer_id = ?\n "
+ },
"b703032b4ddc627a1124817477e7a8e5014bdc694c36a14053ef3bb2fc0c69b0": {
"describe": {
"columns": [],
@@ -159,69 +135,5 @@
}
},
"query": "\n SELECT address\n FROM monero_addresses\n WHERE swap_id = ?\n "
- },
- "d78acba5eb8563826dd190e0886aa665aae3c6f1e312ee444e65df1c95afe8b2": {
- "describe": {
- "columns": [
- {
- "name": "address",
- "ordinal": 0,
- "type_info": "Text"
- }
- ],
- "nullable": [
- false
- ],
- "parameters": {
- "Right": 1
- }
- },
- "query": "\n SELECT DISTINCT address\n FROM peer_addresses\n WHERE peer_id = ?\n "
- },
- "e05620f420f8c1022971eeb66a803323a8cf258cbebb2834e3f7cf8f812fa646": {
- "describe": {
- "columns": [
- {
- "name": "state",
- "ordinal": 0,
- "type_info": "Text"
- }
- ],
- "nullable": [
- false
- ],
- "parameters": {
- "Right": 1
- }
- },
- "query": "\n SELECT state\n FROM swap_states\n WHERE swap_id = ?\n "
- },
- "e36c287aa98ae80ad4b6bb6f7e4b59cced041406a9db71da827b09f0d3bacfd6": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 2
- }
- },
- "query": "\n INSERT INTO buffered_transfer_proofs (\n swap_id,\n proof\n ) VALUES (?, ?);\n "
- },
- "e9d422daf774d099fcbde6c4cda35821da948bd86cc57798b4d8375baf0b51ae": {
- "describe": {
- "columns": [
- {
- "name": "proof",
- "ordinal": 0,
- "type_info": "Text"
- }
- ],
- "nullable": [
- false
- ],
- "parameters": {
- "Right": 1
- }
- },
- "query": "\n SELECT proof\n FROM buffered_transfer_proofs\n WHERE swap_id = ?\n "
}
}
\ No newline at end of file
diff --git a/swap/src/api.rs b/swap/src/api.rs
deleted file mode 100644
index ea87aae3..00000000
--- a/swap/src/api.rs
+++ /dev/null
@@ -1,478 +0,0 @@
-pub mod request;
-use crate::cli::command::{Bitcoin, Monero, Tor};
-use crate::common::tracing_util::Format;
-use crate::database::{open_db, AccessMode};
-use crate::env::{Config as EnvConfig, GetConfig, Mainnet, Testnet};
-use crate::fs::system_data_dir;
-use crate::network::rendezvous::XmrBtcNamespace;
-use crate::protocol::Database;
-use crate::seed::Seed;
-use crate::{bitcoin, common, monero};
-use anyhow::{bail, Context as AnyContext, Error, Result};
-use futures::future::try_join_all;
-use std::fmt;
-use std::future::Future;
-use std::net::SocketAddr;
-use std::path::PathBuf;
-use std::sync::{Arc, Once};
-use tokio::sync::{broadcast, broadcast::Sender, Mutex, RwLock};
-use tokio::task::JoinHandle;
-use tracing::level_filters::LevelFilter;
-use tracing::Level;
-use url::Url;
-
-static START: Once = Once::new();
-
-#[derive(Clone, PartialEq, Debug)]
-pub struct Config {
- tor_socks5_port: u16,
- namespace: XmrBtcNamespace,
- server_address: Option,
- pub env_config: EnvConfig,
- seed: Option,
- debug: bool,
- json: bool,
- data_dir: PathBuf,
- is_testnet: bool,
-}
-
-use uuid::Uuid;
-
-#[derive(Default)]
-pub struct PendingTaskList(Mutex>>);
-
-impl PendingTaskList {
- pub async fn spawn(&self, future: F)
- where
- F: Future