1008: Upgrade libp2p and stabilized the version r=delta1 a=lescuer97

This is an upgrade for libp2p, I did a previous PR but got mixed up with rebases

Co-authored-by: leonardo <leoescuer@protonmail.com>
Co-authored-by: Leonardo Escuer <47948594+lescuer97@users.noreply.github.com>
Co-authored-by: Byron Hambly <bhambly@blockstream.com>
pull/1103/head
bors[bot] 2 years ago committed by GitHub
commit 0d794a13d0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -4,9 +4,9 @@ on:
pull_request: # Need to run on pull-requests, otherwise PRs from forks don't run pull_request: # Need to run on pull-requests, otherwise PRs from forks don't run
push: push:
branches: branches:
- 'staging' # Bors uses this branch - "staging" # Bors uses this branch
- 'trying' # Bors uses this branch - "trying" # Bors uses this branch
- 'master' # Always build head of master for the badge in the README - "master" # Always build head of master for the badge in the README
jobs: jobs:
static_analysis: static_analysis:
@ -40,7 +40,6 @@ jobs:
os: windows-latest os: windows-latest
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Checkout sources - name: Checkout sources
uses: actions/checkout@v3.0.2 uses: actions/checkout@v3.0.2
@ -71,7 +70,7 @@ jobs:
test: test:
strategy: strategy:
matrix: matrix:
os: [ ubuntu-latest, macos-latest ] os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Checkout sources - name: Checkout sources
@ -92,7 +91,8 @@ jobs:
docker_tests: docker_tests:
strategy: strategy:
matrix: matrix:
test_name: [ test_name:
[
happy_path, happy_path,
happy_path_restart_bob_after_xmr_locked, happy_path_restart_bob_after_xmr_locked,
happy_path_restart_bob_before_xmr_locked, happy_path_restart_bob_before_xmr_locked,
@ -105,11 +105,10 @@ jobs:
alice_refunds_after_restart_bob_refunded, alice_refunds_after_restart_bob_refunded,
ensure_same_swap_id, ensure_same_swap_id,
concurrent_bobs_before_xmr_lock_proof_sent, concurrent_bobs_before_xmr_lock_proof_sent,
alice_manually_redeems_after_enc_sig_learned alice_manually_redeems_after_enc_sig_learned,
] ]
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout sources - name: Checkout sources
uses: actions/checkout@v3.0.2 uses: actions/checkout@v3.0.2

@ -4,7 +4,7 @@ on:
workflow_dispatch: workflow_dispatch:
inputs: inputs:
version: version:
description: 'The new version in X.Y.Z format.' description: "The new version in X.Y.Z format."
required: true required: true
jobs: jobs:

@ -21,6 +21,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Adjust quote based on Bitcoin balance. - Adjust quote based on Bitcoin balance.
If the max_buy_btc in the ASB config is higher than the available balance to trade, it will return the max available balance discounting the Monero locking fees. In the case the balance is lower than the min_buy_btc config it will return 0 to the CLI. If the ASB returns a quote of 0 the CLI will not allow you continue with a trade. If the max_buy_btc in the ASB config is higher than the available balance to trade, it will return the max available balance discounting the Monero locking fees. In the case the balance is lower than the min_buy_btc config it will return 0 to the CLI. If the ASB returns a quote of 0 the CLI will not allow you continue with a trade.
- Reduce required confirmations for Bitcoin transactions from 2 to 1 - Reduce required confirmations for Bitcoin transactions from 2 to 1
- Update from monero v17.2.0 to monero v17.3.0
- Both the ASB and CLI now support the [Identify](https://github.com/libp2p/specs/blob/master/identify/README.md) protocol. This makes its version and network (testnet/mainnet) avaliable to others - Both the ASB and CLI now support the [Identify](https://github.com/libp2p/specs/blob/master/identify/README.md) protocol. This makes its version and network (testnet/mainnet) avaliable to others
- Display minimum BTC deposit required to cover the minimum quantity plus fee in the Swap CLI - Display minimum BTC deposit required to cover the minimum quantity plus fee in the Swap CLI

420
Cargo.lock generated

@ -49,11 +49,20 @@ version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43bb833f0bf979d8475d38fbf09ed3b8a55e1885fe93ad3f93239fc6a4f17b98" checksum = "43bb833f0bf979d8475d38fbf09ed3b8a55e1885fe93ad3f93239fc6a4f17b98"
dependencies = [ dependencies = [
"getrandom 0.2.2", "getrandom 0.2.6",
"once_cell", "once_cell",
"version_check", "version_check",
] ]
[[package]]
name = "aho-corasick"
version = "0.7.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
dependencies = [
"memchr",
]
[[package]] [[package]]
name = "ansi_term" name = "ansi_term"
version = "0.11.0" version = "0.11.0"
@ -187,7 +196,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1"
dependencies = [ dependencies = [
"futures-core", "futures-core",
"getrandom 0.2.2", "getrandom 0.2.6",
"instant", "instant",
"pin-project-lite 0.2.9", "pin-project-lite 0.2.9",
"rand 0.8.3", "rand 0.8.3",
@ -376,12 +385,12 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]] [[package]]
name = "blake2" name = "blake2"
version = "0.9.1" version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "10a5720225ef5daecf08657f23791354e1685a8c91a4c60c7f3d3b2892f978f4" checksum = "0a4e37d16930f5459780f5621038b6382b9bb37c19016f39fb6b5808d831f174"
dependencies = [ dependencies = [
"crypto-mac 0.8.0", "crypto-mac 0.8.0",
"digest", "digest 0.9.0",
"opaque-debug", "opaque-debug",
] ]
@ -395,6 +404,15 @@ dependencies = [
"generic-array", "generic-array",
] ]
[[package]]
name = "block-buffer"
version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324"
dependencies = [
"generic-array",
]
[[package]] [[package]]
name = "block-padding" name = "block-padding"
version = "0.2.1" version = "0.2.1"
@ -485,21 +503,21 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]] [[package]]
name = "chacha20" name = "chacha20"
version = "0.7.1" version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fee7ad89dc1128635074c268ee661f90c3f7e83d9fd12910608c36b47d6c3412" checksum = "f08493fa7707effc63254c66c6ea908675912493cd67952eda23c09fae2610b1"
dependencies = [ dependencies = [
"cfg-if 1.0.0", "cfg-if 1.0.0",
"cipher", "cipher",
"cpufeatures 0.1.4", "cpufeatures 0.2.1",
"zeroize", "zeroize",
] ]
[[package]] [[package]]
name = "chacha20poly1305" name = "chacha20poly1305"
version = "0.8.0" version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1580317203210c517b6d44794abfbe600698276db18127e37ad3e69bf5e848e5" checksum = "b6547abe025f4027edacd9edaa357aded014eecec42a5070d9b885c3c334aba2"
dependencies = [ dependencies = [
"aead", "aead",
"chacha20", "chacha20",
@ -763,6 +781,16 @@ version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
[[package]]
name = "crypto-common"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8"
dependencies = [
"generic-array",
"typenum",
]
[[package]] [[package]]
name = "crypto-mac" name = "crypto-mac"
version = "0.8.0" version = "0.8.0"
@ -809,7 +837,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "639891fde0dbea823fc3d798a0fdf9d2f9440a42d64a78ab3488b0ca025117b3" checksum = "639891fde0dbea823fc3d798a0fdf9d2f9440a42d64a78ab3488b0ca025117b3"
dependencies = [ dependencies = [
"byteorder", "byteorder",
"digest", "digest 0.9.0",
"rand_core 0.5.1", "rand_core 0.5.1",
"subtle", "subtle",
"zeroize", "zeroize",
@ -822,7 +850,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "574d8b2cd0bae5434fd50d53280f8299d95557a978686555880aaf5b8f4f81e9" checksum = "574d8b2cd0bae5434fd50d53280f8299d95557a978686555880aaf5b8f4f81e9"
dependencies = [ dependencies = [
"byteorder", "byteorder",
"digest", "digest 0.9.0",
"rand_core 0.6.2", "rand_core 0.6.2",
"serde", "serde",
"subtle-ng", "subtle-ng",
@ -914,6 +942,16 @@ dependencies = [
"generic-array", "generic-array",
] ]
[[package]]
name = "digest"
version = "0.10.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506"
dependencies = [
"block-buffer 0.10.2",
"crypto-common",
]
[[package]] [[package]]
name = "directories-next" name = "directories-next"
version = "2.0.0" version = "2.0.0"
@ -943,9 +981,9 @@ checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f"
[[package]] [[package]]
name = "dtoa" name = "dtoa"
version = "0.4.8" version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0" checksum = "5caaa75cbd2b960ff1e5392d2cfb1f44717fffe12fc1f32b7b5d1267f99732a6"
[[package]] [[package]]
name = "ecdsa_fun" name = "ecdsa_fun"
@ -978,7 +1016,7 @@ dependencies = [
"ed25519", "ed25519",
"rand 0.7.3", "rand 0.7.3",
"serde", "serde",
"sha2", "sha2 0.9.8",
"zeroize", "zeroize",
] ]
@ -1089,9 +1127,9 @@ dependencies = [
[[package]] [[package]]
name = "fixedbitset" name = "fixedbitset"
version = "0.2.0" version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d" checksum = "279fb028e20b3c4c320317955b77c5e0c9701f05a1d309905d6fc702cdc5053e"
[[package]] [[package]]
name = "flate2" name = "flate2"
@ -1211,13 +1249,13 @@ dependencies = [
[[package]] [[package]]
name = "futures-rustls" name = "futures-rustls"
version = "0.21.1" version = "0.22.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3a1387e07917c711fb4ee4f48ea0adb04a3c9739e53ef85bf43ae1edc2937a8b" checksum = "e01fe9932a224b72b45336d96040aa86386d674a31d0af27d800ea7bc8ca97fe"
dependencies = [ dependencies = [
"futures-io", "futures-io",
"rustls 0.19.0", "rustls 0.20.2",
"webpki 0.21.4", "webpki 0.22.0",
] ]
[[package]] [[package]]
@ -1297,9 +1335,9 @@ dependencies = [
[[package]] [[package]]
name = "getrandom" name = "getrandom"
version = "0.2.2" version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8" checksum = "9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad"
dependencies = [ dependencies = [
"cfg-if 1.0.0", "cfg-if 1.0.0",
"libc", "libc",
@ -1427,7 +1465,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840"
dependencies = [ dependencies = [
"crypto-mac 0.8.0", "crypto-mac 0.8.0",
"digest", "digest 0.9.0",
] ]
[[package]] [[package]]
@ -1437,7 +1475,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1441c6b1e930e2817404b5046f1f989899143a12bf92de603b69f4e0aee1e15" checksum = "c1441c6b1e930e2817404b5046f1f989899143a12bf92de603b69f4e0aee1e15"
dependencies = [ dependencies = [
"crypto-mac 0.10.0", "crypto-mac 0.10.0",
"digest", "digest 0.9.0",
] ]
[[package]] [[package]]
@ -1447,18 +1485,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b"
dependencies = [ dependencies = [
"crypto-mac 0.11.1", "crypto-mac 0.11.1",
"digest", "digest 0.9.0",
]
[[package]]
name = "hmac-drbg"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1"
dependencies = [
"digest",
"generic-array",
"hmac 0.8.1",
] ]
[[package]] [[package]]
@ -1561,25 +1588,14 @@ dependencies = [
[[package]] [[package]]
name = "if-addrs" name = "if-addrs"
version = "0.6.5" version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28538916eb3f3976311f5dfbe67b5362d0add1293d0a9cad17debf86f8e3aa48" checksum = "cbc0fa01ffc752e9dbc72818cdb072cd028b86be5e09dd04c5a643704fe101a9"
dependencies = [ dependencies = [
"if-addrs-sys",
"libc", "libc",
"winapi 0.3.9", "winapi 0.3.9",
] ]
[[package]]
name = "if-addrs-sys"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "de74b9dd780476e837e5eb5ab7c88b49ed304126e412030a0adba99c8efe79ea"
dependencies = [
"cc",
"libc",
]
[[package]] [[package]]
name = "image" name = "image"
version = "0.23.14" version = "0.23.14"
@ -1606,9 +1622,9 @@ dependencies = [
[[package]] [[package]]
name = "instant" name = "instant"
version = "0.1.9" version = "0.1.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec" checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
dependencies = [ dependencies = [
"cfg-if 1.0.0", "cfg-if 1.0.0",
] ]
@ -1755,9 +1771,9 @@ dependencies = [
[[package]] [[package]]
name = "libc" name = "libc"
version = "0.2.119" version = "0.2.121"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1bf2e165bb3457c8e098ea76f3e3bc9db55f87aa90d52d0e6be741470916aaa4" checksum = "efaa7b300f3b5fe8eb6bf21ce3895e1751d9665086af2d64b42f19701015ff4f"
[[package]] [[package]]
name = "libgit2-sys" name = "libgit2-sys"
@ -1773,12 +1789,16 @@ dependencies = [
[[package]] [[package]]
name = "libp2p" name = "libp2p"
version = "0.40.0" version = "0.42.2"
source = "git+https://github.com/libp2p/rust-libp2p.git#6d3ab8a3debe8d69dcd004173999732f12d0da96" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f592f1b06f12a5686a5de7be9f289a161c96d5f89f12b04b7d14cf3d61d7381"
dependencies = [ dependencies = [
"atomic", "atomic",
"bytes", "bytes",
"futures", "futures",
"futures-timer",
"getrandom 0.2.6",
"instant",
"lazy_static", "lazy_static",
"libp2p-core", "libp2p-core",
"libp2p-dns", "libp2p-dns",
@ -1797,14 +1817,15 @@ dependencies = [
"multiaddr", "multiaddr",
"parking_lot 0.11.2", "parking_lot 0.11.2",
"pin-project 1.0.5", "pin-project 1.0.5",
"rand 0.7.3",
"smallvec", "smallvec",
"wasm-timer",
] ]
[[package]] [[package]]
name = "libp2p-core" name = "libp2p-core"
version = "0.30.0" version = "0.31.1"
source = "git+https://github.com/libp2p/rust-libp2p.git#6d3ab8a3debe8d69dcd004173999732f12d0da96" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77c4178afd65bf7c56744b4e0a6cfa6e9b694fe666efba596e03a46f79454d8d"
dependencies = [ dependencies = [
"asn1_der", "asn1_der",
"bs58", "bs58",
@ -1813,8 +1834,8 @@ dependencies = [
"fnv", "fnv",
"futures", "futures",
"futures-timer", "futures-timer",
"instant",
"lazy_static", "lazy_static",
"libsecp256k1",
"log", "log",
"multiaddr", "multiaddr",
"multihash", "multihash",
@ -1823,10 +1844,10 @@ dependencies = [
"pin-project 1.0.5", "pin-project 1.0.5",
"prost", "prost",
"prost-build", "prost-build",
"rand 0.7.3", "rand 0.8.3",
"ring", "ring",
"rw-stream-sink", "rw-stream-sink",
"sha2", "sha2 0.10.2",
"smallvec", "smallvec",
"thiserror", "thiserror",
"unsigned-varint", "unsigned-varint",
@ -1836,8 +1857,9 @@ dependencies = [
[[package]] [[package]]
name = "libp2p-dns" name = "libp2p-dns"
version = "0.30.0" version = "0.31.0"
source = "git+https://github.com/libp2p/rust-libp2p.git#6d3ab8a3debe8d69dcd004173999732f12d0da96" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39d4a2e7efe62c738833b6be6c0f158cf7ffccba462320f4b3bebe43e1050e7b"
dependencies = [ dependencies = [
"futures", "futures",
"libp2p-core", "libp2p-core",
@ -1848,24 +1870,26 @@ dependencies = [
[[package]] [[package]]
name = "libp2p-identify" name = "libp2p-identify"
version = "0.31.0" version = "0.33.0"
source = "git+https://github.com/libp2p/rust-libp2p.git#6d3ab8a3debe8d69dcd004173999732f12d0da96" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae5d84b4e57cb66abb9dd28ea36f69620816e004a7479c0ad76f45002820f99b"
dependencies = [ dependencies = [
"futures", "futures",
"futures-timer",
"libp2p-core", "libp2p-core",
"libp2p-swarm", "libp2p-swarm",
"log", "log",
"lru 0.6.6", "lru",
"prost", "prost",
"prost-build", "prost-build",
"smallvec", "smallvec",
"wasm-timer",
] ]
[[package]] [[package]]
name = "libp2p-metrics" name = "libp2p-metrics"
version = "0.1.0" version = "0.3.0"
source = "git+https://github.com/libp2p/rust-libp2p.git#6d3ab8a3debe8d69dcd004173999732f12d0da96" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0791098ddec13b0c2f9ed37a29175f7c712ce8804ebaba7cbd8bddbc83120190"
dependencies = [ dependencies = [
"libp2p-core", "libp2p-core",
"libp2p-identify", "libp2p-identify",
@ -1876,8 +1900,9 @@ dependencies = [
[[package]] [[package]]
name = "libp2p-mplex" name = "libp2p-mplex"
version = "0.30.0" version = "0.31.0"
source = "git+https://github.com/libp2p/rust-libp2p.git#6d3ab8a3debe8d69dcd004173999732f12d0da96" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49d470ee73a74340e429fa278469ed274a648738e3fb8de2e8d113482441732f"
dependencies = [ dependencies = [
"asynchronous-codec", "asynchronous-codec",
"bytes", "bytes",
@ -1893,8 +1918,9 @@ dependencies = [
[[package]] [[package]]
name = "libp2p-noise" name = "libp2p-noise"
version = "0.33.0" version = "0.34.0"
source = "git+https://github.com/libp2p/rust-libp2p.git#6d3ab8a3debe8d69dcd004173999732f12d0da96" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3676dc2df10a7f4f6a80fbeaf2ce4168a0ca6567273e3105b21fa4c877be9017"
dependencies = [ dependencies = [
"bytes", "bytes",
"curve25519-dalek", "curve25519-dalek",
@ -1905,7 +1931,7 @@ dependencies = [
"prost", "prost",
"prost-build", "prost-build",
"rand 0.8.3", "rand 0.8.3",
"sha2", "sha2 0.10.2",
"snow", "snow",
"static_assertions", "static_assertions",
"x25519-dalek", "x25519-dalek",
@ -1914,76 +1940,83 @@ dependencies = [
[[package]] [[package]]
name = "libp2p-ping" name = "libp2p-ping"
version = "0.31.0" version = "0.33.0"
source = "git+https://github.com/libp2p/rust-libp2p.git#6d3ab8a3debe8d69dcd004173999732f12d0da96" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d384b30135f122a59bf0d186647ad307da0878a9563232cb382d9dbded6a393e"
dependencies = [ dependencies = [
"futures", "futures",
"futures-timer",
"instant",
"libp2p-core", "libp2p-core",
"libp2p-swarm", "libp2p-swarm",
"log", "log",
"rand 0.7.3", "rand 0.7.3",
"void", "void",
"wasm-timer",
] ]
[[package]] [[package]]
name = "libp2p-rendezvous" name = "libp2p-rendezvous"
version = "0.1.0" version = "0.3.0"
source = "git+https://github.com/libp2p/rust-libp2p.git#6d3ab8a3debe8d69dcd004173999732f12d0da96" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec166a822f4167929c8e1673c05106f7c86a42b8e9e917b569e1d86f06b9d8b5"
dependencies = [ dependencies = [
"asynchronous-codec", "asynchronous-codec",
"bimap", "bimap",
"futures", "futures",
"futures-timer",
"instant",
"libp2p-core", "libp2p-core",
"libp2p-swarm", "libp2p-swarm",
"log", "log",
"prost", "prost",
"prost-build", "prost-build",
"rand 0.8.3", "rand 0.8.3",
"sha2", "sha2 0.10.2",
"thiserror", "thiserror",
"unsigned-varint", "unsigned-varint",
"void", "void",
"wasm-timer",
] ]
[[package]] [[package]]
name = "libp2p-request-response" name = "libp2p-request-response"
version = "0.13.0" version = "0.15.0"
source = "git+https://github.com/libp2p/rust-libp2p.git#6d3ab8a3debe8d69dcd004173999732f12d0da96" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "36194499f5b03d66d56badbed430d93bf1bfd9cec80311e03280de130fbe3d5e"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"bytes", "bytes",
"futures", "futures",
"instant",
"libp2p-core", "libp2p-core",
"libp2p-swarm", "libp2p-swarm",
"log", "log",
"lru 0.7.0",
"rand 0.7.3", "rand 0.7.3",
"smallvec", "smallvec",
"unsigned-varint", "unsigned-varint",
"wasm-timer",
] ]
[[package]] [[package]]
name = "libp2p-swarm" name = "libp2p-swarm"
version = "0.31.0" version = "0.33.0"
source = "git+https://github.com/libp2p/rust-libp2p.git#6d3ab8a3debe8d69dcd004173999732f12d0da96" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "db8ae0811c7a05b6edc6684eb5cc69b055cbb715ad780e6b97872d90308503c1"
dependencies = [ dependencies = [
"either", "either",
"futures", "futures",
"futures-timer",
"instant",
"libp2p-core", "libp2p-core",
"log", "log",
"rand 0.7.3", "rand 0.7.3",
"smallvec", "smallvec",
"void", "void",
"wasm-timer",
] ]
[[package]] [[package]]
name = "libp2p-swarm-derive" name = "libp2p-swarm-derive"
version = "0.25.0" version = "0.26.1"
source = "git+https://github.com/libp2p/rust-libp2p.git#6d3ab8a3debe8d69dcd004173999732f12d0da96" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33b4d0acd47739fe0b570728d8d11bbb535050d84c0cf05d6477a4891fceae10"
dependencies = [ dependencies = [
"quote", "quote",
"syn", "syn",
@ -1991,8 +2024,9 @@ dependencies = [
[[package]] [[package]]
name = "libp2p-tcp" name = "libp2p-tcp"
version = "0.30.0" version = "0.31.1"
source = "git+https://github.com/libp2p/rust-libp2p.git#6d3ab8a3debe8d69dcd004173999732f12d0da96" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52042e8796c5b58d0415bceb1bcb1bcca28b222339978e52b1a0305800bb5199"
dependencies = [ dependencies = [
"futures", "futures",
"futures-timer", "futures-timer",
@ -2007,8 +2041,9 @@ dependencies = [
[[package]] [[package]]
name = "libp2p-websocket" name = "libp2p-websocket"
version = "0.31.0" version = "0.33.0"
source = "git+https://github.com/libp2p/rust-libp2p.git#6d3ab8a3debe8d69dcd004173999732f12d0da96" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "83d788da0ab952632d6ead2486baf38a98db92907d4bc5d0f324af0d0fab803d"
dependencies = [ dependencies = [
"either", "either",
"futures", "futures",
@ -2019,13 +2054,14 @@ dependencies = [
"rw-stream-sink", "rw-stream-sink",
"soketto", "soketto",
"url", "url",
"webpki-roots 0.21.0", "webpki-roots 0.22.2",
] ]
[[package]] [[package]]
name = "libp2p-yamux" name = "libp2p-yamux"
version = "0.34.0" version = "0.35.0"
source = "git+https://github.com/libp2p/rust-libp2p.git#6d3ab8a3debe8d69dcd004173999732f12d0da96" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "053d13ce0670d29f9c5a974cf371e6cc4d2d864da1c72bf6870ac5d5e45e2036"
dependencies = [ dependencies = [
"futures", "futures",
"libp2p-core", "libp2p-core",
@ -2034,54 +2070,6 @@ dependencies = [
"yamux", "yamux",
] ]
[[package]]
name = "libsecp256k1"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c9d220bc1feda2ac231cb78c3d26f27676b8cf82c96971f7aeef3d0cf2797c73"
dependencies = [
"arrayref",
"base64 0.12.3",
"digest",
"hmac-drbg",
"libsecp256k1-core",
"libsecp256k1-gen-ecmult",
"libsecp256k1-gen-genmult",
"rand 0.7.3",
"serde",
"sha2",
"typenum",
]
[[package]]
name = "libsecp256k1-core"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d0f6ab710cec28cef759c5f18671a27dae2a5f952cdaaee1d8e2908cb2478a80"
dependencies = [
"crunchy",
"digest",
"subtle",
]
[[package]]
name = "libsecp256k1-gen-ecmult"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ccab96b584d38fac86a83f07e659f0deafd0253dc096dab5a36d53efe653c5c3"
dependencies = [
"libsecp256k1-core",
]
[[package]]
name = "libsecp256k1-gen-genmult"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "67abfe149395e3aa1c48a2beb32b068e2334402df8181f818d3aee2b304c4f5d"
dependencies = [
"libsecp256k1-core",
]
[[package]] [[package]]
name = "libsqlite3-sys" name = "libsqlite3-sys"
version = "0.22.2" version = "0.22.2"
@ -2131,18 +2119,9 @@ dependencies = [
[[package]] [[package]]
name = "lru" name = "lru"
version = "0.6.6" version = "0.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ea2d928b485416e8908cff2d97d621db22b27f7b3b6729e438bcf42c671ba91"
dependencies = [
"hashbrown",
]
[[package]]
name = "lru"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c748cfe47cb8da225c37595b3108bea1c198c84aaae8ea0ba76d01dda9fc803" checksum = "32613e41de4c47ab04970c348ca7ae7382cf116625755af070b008a15516a889"
dependencies = [ dependencies = [
"hashbrown", "hashbrown",
] ]
@ -2188,9 +2167,9 @@ checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
[[package]] [[package]]
name = "memchr" name = "memchr"
version = "2.3.4" version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525" checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
[[package]] [[package]]
name = "memoffset" name = "memoffset"
@ -2354,10 +2333,10 @@ version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "752a61cd890ff691b4411423d23816d5866dd5621e4d1c5687a53b94b5a979d8" checksum = "752a61cd890ff691b4411423d23816d5866dd5621e4d1c5687a53b94b5a979d8"
dependencies = [ dependencies = [
"digest", "digest 0.9.0",
"generic-array", "generic-array",
"multihash-derive", "multihash-derive",
"sha2", "sha2 0.9.8",
"unsigned-varint", "unsigned-varint",
] ]
@ -2383,8 +2362,9 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a"
[[package]] [[package]]
name = "multistream-select" name = "multistream-select"
version = "0.10.4" version = "0.11.0"
source = "git+https://github.com/libp2p/rust-libp2p.git#6d3ab8a3debe8d69dcd004173999732f12d0da96" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "363a84be6453a70e63513660f4894ef815daf88e3356bffcda9ca27d810ce83b"
dependencies = [ dependencies = [
"bytes", "bytes",
"futures", "futures",
@ -2553,12 +2533,12 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
[[package]] [[package]]
name = "open-metrics-client" name = "open-metrics-client"
version = "0.12.0" version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7337d80c23c2d8b1349563981bc4fb531220733743ba8115454a67b181173f0d" checksum = "f85842b073145726190373213c63f852020fb884c841a3a1f390637267a2fb8c"
dependencies = [ dependencies = [
"dtoa", "dtoa",
"itoa 0.4.7", "itoa 1.0.1",
"open-metrics-client-derive-text-encode", "open-metrics-client-derive-text-encode",
"owning_ref", "owning_ref",
] ]
@ -2663,9 +2643,9 @@ dependencies = [
[[package]] [[package]]
name = "petgraph" name = "petgraph"
version = "0.5.1" version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7" checksum = "4a13a2fa9d0b63e5f22328828741e523766fff0ee9e779316902290dff3f824f"
dependencies = [ dependencies = [
"fixedbitset", "fixedbitset",
"indexmap", "indexmap",
@ -2844,9 +2824,9 @@ dependencies = [
[[package]] [[package]]
name = "prost" name = "prost"
version = "0.8.0" version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "de5e2533f59d08fcf364fd374ebda0692a70bd6d7e66ef97f306f45c6c5d8020" checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001"
dependencies = [ dependencies = [
"bytes", "bytes",
"prost-derive", "prost-derive",
@ -2854,27 +2834,29 @@ dependencies = [
[[package]] [[package]]
name = "prost-build" name = "prost-build"
version = "0.8.0" version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "355f634b43cdd80724ee7848f95770e7e70eefa6dcf14fea676216573b8fd603" checksum = "62941722fb675d463659e49c4f3fe1fe792ff24fe5bbaa9c08cd3b98a1c354f5"
dependencies = [ dependencies = [
"bytes", "bytes",
"heck 0.3.2", "heck 0.3.2",
"itertools", "itertools",
"lazy_static",
"log", "log",
"multimap", "multimap",
"petgraph", "petgraph",
"prost", "prost",
"prost-types", "prost-types",
"regex",
"tempfile", "tempfile",
"which", "which",
] ]
[[package]] [[package]]
name = "prost-derive" name = "prost-derive"
version = "0.8.0" version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "600d2f334aa05acb02a755e217ef1ab6dea4d51b58b7846588b747edec04efba" checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"itertools", "itertools",
@ -2885,9 +2867,9 @@ dependencies = [
[[package]] [[package]]
name = "prost-types" name = "prost-types"
version = "0.8.0" version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "603bbd6394701d13f3f25aada59c7de9d35a6a5887cfc156181234a44002771b" checksum = "534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a"
dependencies = [ dependencies = [
"bytes", "bytes",
"prost", "prost",
@ -3052,7 +3034,7 @@ version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7" checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
dependencies = [ dependencies = [
"getrandom 0.2.2", "getrandom 0.2.6",
] ]
[[package]] [[package]]
@ -3168,16 +3150,18 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64" checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64"
dependencies = [ dependencies = [
"getrandom 0.2.2", "getrandom 0.2.6",
"redox_syscall", "redox_syscall",
] ]
[[package]] [[package]]
name = "regex" name = "regex"
version = "1.4.5" version = "1.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "957056ecddbeba1b26965114e191d2e8589ce74db242b6ea25fc4062427a5c19" checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286"
dependencies = [ dependencies = [
"aho-corasick",
"memchr",
"regex-syntax", "regex-syntax",
] ]
@ -3193,9 +3177,9 @@ dependencies = [
[[package]] [[package]]
name = "regex-syntax" name = "regex-syntax"
version = "0.6.23" version = "0.6.25"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24d5f089152e60f62d28b835fbff2cd2e8dc0baf1ac13343bef92ab7eed84548" checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
[[package]] [[package]]
name = "remove_dir_all" name = "remove_dir_all"
@ -3469,7 +3453,7 @@ name = "secp256kfun"
version = "0.6.2-alpha.0" version = "0.6.2-alpha.0"
source = "git+https://github.com/LLFourn/secp256kfun#84134daf34845434d7f38cdae7ffc31730a3b1e9" source = "git+https://github.com/LLFourn/secp256kfun#84134daf34845434d7f38cdae7ffc31730a3b1e9"
dependencies = [ dependencies = [
"digest", "digest 0.9.0",
"rand_core 0.6.2", "rand_core 0.6.2",
"secp256k1", "secp256k1",
"secp256kfun_parity_backend", "secp256kfun_parity_backend",
@ -3619,10 +3603,10 @@ version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dfebf75d25bd900fd1e7d11501efab59bc846dbc76196839663e6637bba9f25f" checksum = "dfebf75d25bd900fd1e7d11501efab59bc846dbc76196839663e6637bba9f25f"
dependencies = [ dependencies = [
"block-buffer", "block-buffer 0.9.0",
"cfg-if 1.0.0", "cfg-if 1.0.0",
"cpuid-bool", "cpuid-bool",
"digest", "digest 0.9.0",
"opaque-debug", "opaque-debug",
] ]
@ -3632,21 +3616,32 @@ version = "0.9.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b69f9a4c9740d74c5baa3fd2e547f9525fa8088a8a958e0ca2409a514e33f5fa" checksum = "b69f9a4c9740d74c5baa3fd2e547f9525fa8088a8a958e0ca2409a514e33f5fa"
dependencies = [ dependencies = [
"block-buffer", "block-buffer 0.9.0",
"cfg-if 1.0.0", "cfg-if 1.0.0",
"cpufeatures 0.2.1", "cpufeatures 0.2.1",
"digest", "digest 0.9.0",
"opaque-debug", "opaque-debug",
] ]
[[package]]
name = "sha2"
version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676"
dependencies = [
"cfg-if 1.0.0",
"cpufeatures 0.2.1",
"digest 0.10.3",
]
[[package]] [[package]]
name = "sha3" name = "sha3"
version = "0.9.1" version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809" checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809"
dependencies = [ dependencies = [
"block-buffer", "block-buffer 0.9.0",
"digest", "digest 0.9.0",
"keccak", "keccak",
"opaque-debug", "opaque-debug",
] ]
@ -3666,7 +3661,7 @@ version = "0.3.2-alpha.0"
source = "git+https://github.com/LLFourn/secp256kfun#84134daf34845434d7f38cdae7ffc31730a3b1e9" source = "git+https://github.com/LLFourn/secp256kfun#84134daf34845434d7f38cdae7ffc31730a3b1e9"
dependencies = [ dependencies = [
"curve25519-dalek-ng", "curve25519-dalek-ng",
"digest", "digest 0.9.0",
"generic-array", "generic-array",
"rand_core 0.6.2", "rand_core 0.6.2",
"secp256kfun", "secp256kfun",
@ -3750,7 +3745,7 @@ dependencies = [
"rand_core 0.6.2", "rand_core 0.6.2",
"ring", "ring",
"rustc_version", "rustc_version",
"sha2", "sha2 0.9.8",
"subtle", "subtle",
"x25519-dalek", "x25519-dalek",
] ]
@ -3873,7 +3868,7 @@ dependencies = [
"percent-encoding", "percent-encoding",
"rustls 0.19.0", "rustls 0.19.0",
"serde", "serde",
"sha2", "sha2 0.9.8",
"smallvec", "smallvec",
"sqlformat", "sqlformat",
"sqlx-rt", "sqlx-rt",
@ -3901,7 +3896,7 @@ dependencies = [
"quote", "quote",
"serde", "serde",
"serde_json", "serde_json",
"sha2", "sha2 0.9.8",
"sqlx-core", "sqlx-core",
"sqlx-rt", "sqlx-rt",
"syn", "syn",
@ -4076,7 +4071,7 @@ dependencies = [
"serde_cbor", "serde_cbor",
"serde_json", "serde_json",
"serde_with", "serde_with",
"sha2", "sha2 0.9.8",
"sigma_fun", "sigma_fun",
"spectral", "spectral",
"sqlx", "sqlx",
@ -4164,7 +4159,7 @@ dependencies = [
"rand 0.7.3", "rand 0.7.3",
"serde", "serde",
"serde_json", "serde_json",
"sha2", "sha2 0.9.8",
] ]
[[package]] [[package]]
@ -4179,7 +4174,7 @@ dependencies = [
"rand 0.8.3", "rand 0.8.3",
"serde", "serde",
"serde_json", "serde_json",
"sha2", "sha2 0.9.8",
] ]
[[package]] [[package]]
@ -4423,7 +4418,7 @@ dependencies = [
"hex", "hex",
"hmac 0.11.0", "hmac 0.11.0",
"rand 0.7.3", "rand 0.7.3",
"sha2", "sha2 0.9.8",
"sha3", "sha3",
"tokio", "tokio",
] ]
@ -4625,9 +4620,9 @@ dependencies = [
[[package]] [[package]]
name = "typenum" name = "typenum"
version = "1.13.0" version = "1.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
[[package]] [[package]]
name = "ucd-trie" name = "ucd-trie"
@ -4707,9 +4702,9 @@ dependencies = [
[[package]] [[package]]
name = "unsigned-varint" name = "unsigned-varint"
version = "0.7.0" version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f8d425fafb8cd76bc3f22aace4af471d3156301d7508f2107e98fbeae10bc7f" checksum = "d86a8dc7f45e4c1b0d30e43038c38f274e77af056aa5f74b93c2cf9eb3c1c836"
dependencies = [ dependencies = [
"asynchronous-codec", "asynchronous-codec",
"bytes", "bytes",
@ -4748,7 +4743,7 @@ version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd6469f4314d5f1ffec476e05f17cc9a78bc7a27a6a857842170bdf8d6f98d2f" checksum = "dd6469f4314d5f1ffec476e05f17cc9a78bc7a27a6a857842170bdf8d6f98d2f"
dependencies = [ dependencies = [
"getrandom 0.2.2", "getrandom 0.2.6",
"serde", "serde",
] ]
@ -4895,21 +4890,6 @@ version = "0.2.71"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d6f8ec44822dd71f5f221a5847fb34acd9060535c1211b70a05844c0f6383b1" checksum = "7d6f8ec44822dd71f5f221a5847fb34acd9060535c1211b70a05844c0f6383b1"
[[package]]
name = "wasm-timer"
version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f"
dependencies = [
"futures",
"js-sys",
"parking_lot 0.11.2",
"pin-utils",
"wasm-bindgen",
"wasm-bindgen-futures",
"web-sys",
]
[[package]] [[package]]
name = "web-sys" name = "web-sys"
version = "0.3.48" version = "0.3.48"
@ -5120,14 +5100,14 @@ dependencies = [
[[package]] [[package]]
name = "yamux" name = "yamux"
version = "0.9.0" version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7d9028f208dd5e63c614be69f115c1b53cacc1111437d4c765185856666c107" checksum = "0c0608f53c1dc0bad505d03a34bbd49fbf2ad7b51eb036123e896365532745a1"
dependencies = [ dependencies = [
"futures", "futures",
"log", "log",
"nohash-hasher", "nohash-hasher",
"parking_lot 0.11.2", "parking_lot 0.12.0",
"rand 0.8.3", "rand 0.8.3",
"static_assertions", "static_assertions",
] ]

@ -2,13 +2,12 @@
"$schema": "https://dprint.dev/schemas/v0.json", "$schema": "https://dprint.dev/schemas/v0.json",
"projectType": "openSource", "projectType": "openSource",
"incremental": true, "incremental": true,
"markdown": { "markdown": {},
},
"rustfmt": { "rustfmt": {
"edition": 2018, "edition": 2021,
"condense_wildcard_suffixes": true, "condense_wildcard_suffixes": true,
"format_macro_matchers": true, "format_macro_matchers": true,
"imports_granularity" : "Module", "imports_granularity": "Module",
"use_field_init_shorthand": true, "use_field_init_shorthand": true,
"format_code_in_doc_comments": true, "format_code_in_doc_comments": true,
"normalize_comments": true, "normalize_comments": true,
@ -16,7 +15,7 @@
"overflow_delimited_expr": true "overflow_delimited_expr": true
}, },
"includes": ["**/*.{md}", "**/*.{toml}", "**/*.{rs}"], "includes": ["**/*.{md}", "**/*.{toml}", "**/*.{rs}"],
"excludes": [ "target/" ], "excludes": ["target/"],
"plugins": [ "plugins": [
"https://plugins.dprint.dev/markdown-0.13.1.wasm", "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://github.com/thomaseizinger/dprint-plugin-cargo-toml/releases/download/0.1.0/cargo-toml-0.1.0.wasm",

@ -31,7 +31,7 @@ ed25519-dalek = "1"
futures = { version = "0.3", default-features = false } futures = { version = "0.3", default-features = false }
hex = "0.4" hex = "0.4"
itertools = "0.10" itertools = "0.10"
libp2p = { git = "https://github.com/libp2p/rust-libp2p.git", default-features = false, features = [ "tcp-tokio", "yamux", "mplex", "dns-tokio", "noise", "request-response", "websocket", "ping", "rendezvous", "identify" ] } 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 = { version = "0.12", features = [ "serde_support" ] }
monero-rpc = { path = "../monero-rpc" } monero-rpc = { path = "../monero-rpc" }
pem = "1.1" pem = "1.1"

@ -16,9 +16,10 @@ use libp2p::dns::TokioDnsConfig;
use libp2p::identify::{Identify, IdentifyConfig, IdentifyEvent}; use libp2p::identify::{Identify, IdentifyConfig, IdentifyEvent};
use libp2p::ping::{Ping, PingConfig, PingEvent}; use libp2p::ping::{Ping, PingConfig, PingEvent};
use libp2p::request_response::{RequestId, ResponseChannel}; use libp2p::request_response::{RequestId, ResponseChannel};
use libp2p::swarm::dial_opts::PeerCondition;
use libp2p::swarm::{ use libp2p::swarm::{
DialPeerCondition, IntoProtocolsHandler, NetworkBehaviour, NetworkBehaviourAction, IntoProtocolsHandler, NetworkBehaviour, NetworkBehaviourAction, PollParameters,
PollParameters, ProtocolsHandler, ProtocolsHandler,
}; };
use libp2p::tcp::TokioTcpConfig; use libp2p::tcp::TokioTcpConfig;
use libp2p::websocket::WsConfig; use libp2p::websocket::WsConfig;
@ -107,7 +108,7 @@ pub mod behaviour {
where where
LR: LatestRate + Send + 'static, LR: LatestRate + Send + 'static,
{ {
pub rendezvous: libp2p::swarm::toggle::Toggle<rendezous::Behaviour>, pub rendezvous: libp2p::swarm::behaviour::toggle::Toggle<rendezous::Behaviour>,
pub quote: quote::Behaviour, pub quote: quote::Behaviour,
pub swap_setup: alice::Behaviour<LR>, pub swap_setup: alice::Behaviour<LR>,
pub transfer_proof: transfer_proof::Behaviour, pub transfer_proof: transfer_proof::Behaviour,
@ -139,7 +140,7 @@ pub mod behaviour {
.with_agent_version(agentVersion); .with_agent_version(agentVersion);
Self { Self {
rendezvous: libp2p::swarm::toggle::Toggle::from(rendezvous_params.map( rendezvous: libp2p::swarm::behaviour::toggle::Toggle::from(rendezvous_params.map(
|(identity, rendezvous_peer_id, rendezvous_address, namespace)| { |(identity, rendezvous_peer_id, rendezvous_address, namespace)| {
rendezous::Behaviour::new( rendezous::Behaviour::new(
identity, identity,
@ -187,6 +188,7 @@ pub mod behaviour {
pub mod rendezous { pub mod rendezous {
use super::*; use super::*;
use libp2p::swarm::dial_opts::DialOpts;
use libp2p::swarm::DialError; use libp2p::swarm::DialError;
use std::pin::Pin; use std::pin::Pin;
@ -292,12 +294,14 @@ pub mod rendezous {
fn inject_dial_failure( fn inject_dial_failure(
&mut self, &mut self,
peer_id: &PeerId, peer_id: Option<PeerId>,
_handler: Self::ProtocolsHandler, _handler: Self::ProtocolsHandler,
_error: DialError, _error: &DialError,
) { ) {
if peer_id == &self.rendezvous_peer_id { if let Some(id) = peer_id {
self.connection_status = ConnectionStatus::Disconnected; if id == self.rendezvous_peer_id {
self.connection_status = ConnectionStatus::Disconnected;
}
} }
} }
@ -312,9 +316,11 @@ pub mod rendezous {
ConnectionStatus::Disconnected => { ConnectionStatus::Disconnected => {
self.connection_status = ConnectionStatus::Dialling; self.connection_status = ConnectionStatus::Dialling;
return Poll::Ready(NetworkBehaviourAction::DialPeer { return Poll::Ready(NetworkBehaviourAction::Dial {
peer_id: self.rendezvous_peer_id, opts: DialOpts::peer_id(self.rendezvous_peer_id)
condition: DialPeerCondition::Disconnected, .condition(PeerCondition::Disconnected)
.build(),
handler: Self::ProtocolsHandler::new(Duration::from_secs(30)), handler: Self::ProtocolsHandler::new(Duration::from_secs(30)),
}); });
} }
@ -335,9 +341,10 @@ pub mod rendezous {
self.registration_status = self.registration_status =
RegistrationStatus::RegisterOnNextConnection; RegistrationStatus::RegisterOnNextConnection;
return Poll::Ready(NetworkBehaviourAction::DialPeer { return Poll::Ready(NetworkBehaviourAction::Dial {
peer_id: self.rendezvous_peer_id, opts: DialOpts::peer_id(self.rendezvous_peer_id)
condition: DialPeerCondition::Disconnected, .condition(PeerCondition::Disconnected)
.build(),
handler: Self::ProtocolsHandler::new(Duration::from_secs(30)), handler: Self::ProtocolsHandler::new(Duration::from_secs(30)),
}); });
} }

@ -9,6 +9,7 @@ use anyhow::{Context, Result};
use futures::future::{BoxFuture, OptionFuture}; use futures::future::{BoxFuture, OptionFuture};
use futures::{FutureExt, StreamExt}; use futures::{FutureExt, StreamExt};
use libp2p::request_response::{RequestId, ResponseChannel}; use libp2p::request_response::{RequestId, ResponseChannel};
use libp2p::swarm::dial_opts::DialOpts;
use libp2p::swarm::SwarmEvent; use libp2p::swarm::SwarmEvent;
use libp2p::{PeerId, Swarm}; use libp2p::{PeerId, Swarm};
use std::collections::HashMap; use std::collections::HashMap;
@ -81,7 +82,7 @@ impl EventLoop {
} }
pub async fn run(mut self) { pub async fn run(mut self) {
match self.swarm.dial(&self.alice_peer_id) { match self.swarm.dial(DialOpts::from(self.alice_peer_id)) {
Ok(()) => {} Ok(()) => {}
Err(e) => { Err(e) => {
tracing::error!("Failed to initiate dial to Alice: {}", e); tracing::error!("Failed to initiate dial to Alice: {}", e);
@ -167,12 +168,13 @@ impl EventLoop {
tracing::info!("Successfully closed connection to Alice"); tracing::info!("Successfully closed connection to Alice");
return; return;
} }
SwarmEvent::UnreachableAddr { peer_id, address, attempts_remaining, error } if peer_id == self.alice_peer_id && attempts_remaining == 0 => { SwarmEvent::OutgoingConnectionError { peer_id, error } if matches!(peer_id, Some(alice_peer_id) if alice_peer_id == self.alice_peer_id) => {
tracing::warn!(%address, "Failed to dial Alice: {}", error); tracing::warn!( "Failed to dial Alice: {}", error);
if let Some(duration) = self.swarm.behaviour_mut().redial.until_next_redial() { if let Some(duration) = self.swarm.behaviour_mut().redial.until_next_redial() {
tracing::info!("Next redial attempt in {}s", duration.as_secs()); tracing::info!("Next redial attempt in {}s", duration.as_secs());
} }
} }
_ => {} _ => {}
} }

@ -6,6 +6,7 @@ use futures::StreamExt;
use libp2p::multiaddr::Protocol; use libp2p::multiaddr::Protocol;
use libp2p::ping::{Ping, PingConfig, PingEvent}; use libp2p::ping::{Ping, PingConfig, PingEvent};
use libp2p::request_response::{RequestResponseEvent, RequestResponseMessage}; use libp2p::request_response::{RequestResponseEvent, RequestResponseMessage};
use libp2p::swarm::dial_opts::DialOpts;
use libp2p::swarm::SwarmEvent; use libp2p::swarm::SwarmEvent;
use libp2p::{identity, rendezvous, Multiaddr, PeerId, Swarm}; use libp2p::{identity, rendezvous, Multiaddr, PeerId, Swarm};
use serde::Serialize; use serde::Serialize;
@ -42,8 +43,9 @@ pub async fn list_sellers(
.behaviour_mut() .behaviour_mut()
.quote .quote
.add_address(&rendezvous_node_peer_id, rendezvous_node_addr.clone()); .add_address(&rendezvous_node_peer_id, rendezvous_node_addr.clone());
swarm swarm
.dial(&rendezvous_node_peer_id) .dial(DialOpts::from(rendezvous_node_peer_id))
.context("Failed to dial rendezvous node")?; .context("Failed to dial rendezvous node")?;
let event_loop = EventLoop::new( let event_loop = EventLoop::new(
@ -147,7 +149,7 @@ impl EventLoop {
swarm_event = self.swarm.select_next_some() => { swarm_event = self.swarm.select_next_some() => {
match swarm_event { match swarm_event {
SwarmEvent::ConnectionEstablished { peer_id, endpoint, .. } => { SwarmEvent::ConnectionEstablished { peer_id, endpoint, .. } => {
if peer_id == self.rendezvous_peer_id{ if peer_id == self.rendezvous_peer_id {
tracing::info!( tracing::info!(
"Connected to rendezvous point, discovering nodes in '{}' namespace ...", "Connected to rendezvous point, discovering nodes in '{}' namespace ...",
self.namespace self.namespace
@ -161,35 +163,41 @@ impl EventLoop {
); );
} else { } else {
let address = endpoint.get_remote_address(); let address = endpoint.get_remote_address();
tracing::debug!(%peer_id, %address, "Connection established to peer");
self.reachable_asb_address.insert(peer_id, address.clone()); self.reachable_asb_address.insert(peer_id, address.clone());
} }
} }
SwarmEvent::UnreachableAddr { peer_id, error, address, .. } => { SwarmEvent::OutgoingConnectionError { peer_id, error } => {
if address == self.rendezvous_addr { if let Some(peer_id) = peer_id {
tracing::error!( if peer_id == self.rendezvous_peer_id {
"Failed to connect to rendezvous point at {}: {}", tracing::error!(
address, %peer_id,
error %self.rendezvous_addr,
); "Failed to connect to rendezvous point: {}",
error
// if the rendezvous node is unreachable we just stop );
return Vec::new();
} else { // if the rendezvous node is unreachable we just stop
tracing::debug!( return Vec::new();
"Failed to connect to peer at {}: {}", } else {
address, tracing::error!(
error %peer_id,
); "Failed to connect to peer: {}",
self.unreachable_asb_address.insert(peer_id, address.clone()); error
);
match self.asb_quote_status.entry(peer_id) { self.unreachable_asb_address.insert(peer_id, Multiaddr::empty());
Entry::Occupied(mut entry) => {
entry.insert(QuoteStatus::Received(Status::Unreachable)); match self.asb_quote_status.entry(peer_id) {
}, Entry::Occupied(mut entry) => {
_ => { entry.insert(QuoteStatus::Received(Status::Unreachable));
tracing::debug!(%peer_id, %error, "Connection error with unexpected peer") },
_ => {
tracing::debug!(%peer_id, %error, "Connection error with unexpected peer");
}
} }
} }
} else {
tracing::debug!("Failed to connect (no peer id): {}", error);
} }
} }
SwarmEvent::Behaviour(OutEvent::Rendezvous( SwarmEvent::Behaviour(OutEvent::Rendezvous(

@ -4,8 +4,9 @@ use backoff::ExponentialBackoff;
use futures::future::FutureExt; use futures::future::FutureExt;
use libp2p::core::connection::ConnectionId; use libp2p::core::connection::ConnectionId;
use libp2p::core::Multiaddr; use libp2p::core::Multiaddr;
use libp2p::swarm::dial_opts::{DialOpts, PeerCondition};
use libp2p::swarm::protocols_handler::DummyProtocolsHandler; use libp2p::swarm::protocols_handler::DummyProtocolsHandler;
use libp2p::swarm::{DialPeerCondition, NetworkBehaviour, NetworkBehaviourAction, PollParameters}; use libp2p::swarm::{NetworkBehaviour, NetworkBehaviourAction, PollParameters};
use libp2p::PeerId; use libp2p::PeerId;
use std::pin::Pin; use std::pin::Pin;
use std::task::{Context, Poll}; use std::task::{Context, Poll};
@ -112,9 +113,10 @@ impl NetworkBehaviour for Behaviour {
self.sleep = Some(Box::pin(tokio::time::sleep(next_dial_in))); self.sleep = Some(Box::pin(tokio::time::sleep(next_dial_in)));
Poll::Ready(NetworkBehaviourAction::DialPeer { Poll::Ready(NetworkBehaviourAction::Dial {
peer_id: self.peer, opts: DialOpts::peer_id(self.peer)
condition: DialPeerCondition::Disconnected, .condition(PeerCondition::Disconnected)
.build(),
handler: Self::ProtocolsHandler::default(), handler: Self::ProtocolsHandler::default(),
}) })
} }

@ -129,8 +129,9 @@ where
<T as NetworkBehaviour>::OutEvent: Debug, <T as NetworkBehaviour>::OutEvent: Debug,
{ {
let addr_to_dial = other.external_addresses().next().unwrap().addr.clone(); let addr_to_dial = other.external_addresses().next().unwrap().addr.clone();
let local_peer_id = *other.local_peer_id();
self.dial_addr(addr_to_dial.clone()).unwrap(); self.dial(addr_to_dial).unwrap();
let mut dialer_done = false; let mut dialer_done = false;
let mut listener_done = false; let mut listener_done = false;
@ -144,8 +145,8 @@ where
SwarmEvent::ConnectionEstablished { .. } => { SwarmEvent::ConnectionEstablished { .. } => {
dialer_done = true; dialer_done = true;
} }
SwarmEvent::UnknownPeerUnreachableAddr { address, error } if address == addr_to_dial => { SwarmEvent::OutgoingConnectionError { peer_id, error } if matches!(peer_id, Some(alice_peer_id) if alice_peer_id == local_peer_id) => {
panic!("Failed to dial address {}: {}", addr_to_dial, error) panic!("Failed to dial address {}: {}", peer_id.unwrap(), error)
} }
other => { other => {
tracing::debug!("Ignoring {:?}", other); tracing::debug!("Ignoring {:?}", other);

@ -60,6 +60,28 @@ impl Transport for TorDialOnlyTransport {
fn address_translation(&self, _: &Multiaddr, _: &Multiaddr) -> Option<Multiaddr> { fn address_translation(&self, _: &Multiaddr, _: &Multiaddr) -> Option<Multiaddr> {
None None
} }
fn dial_as_listener(self, addr: Multiaddr) -> Result<Self::Dial, TransportError<Self::Error>> {
let address = TorCompatibleAddress::from_multiaddr(Cow::Borrowed(&addr))?;
if address.is_certainly_not_reachable_via_tor_daemon() {
return Err(TransportError::MultiaddrNotSupported(addr));
}
let dial_future = async move {
tracing::debug!(address = %addr, "Establishing connection through Tor proxy");
let stream =
Socks5Stream::connect((Ipv4Addr::LOCALHOST, self.socks_port), address.to_string())
.await
.map_err(|e| io::Error::new(io::ErrorKind::ConnectionRefused, e))?;
tracing::debug!("Connection through Tor established");
Ok(TcpStream(stream.into_inner()))
};
Ok(dial_future.boxed())
}
} }
/// Represents an address that is _compatible_ with Tor, i.e. can be resolved by /// Represents an address that is _compatible_ with Tor, i.e. can be resolved by

Loading…
Cancel
Save