Bob validates that incoming transfer proof messages are coming from the peer-id of Alice.
Currently Bob will ignore any transfer proof message that is not coming from the counterparty peer-id associated to the current swap in execution.
Once we add support for trying to save received transfer proofs for swaps that are currently not in execution we can also adapy allowing this for different counterparty peer-ids. This requires access to the database in Bob's event loop.
Alice validates that incoming encsig messages are coming from the peer-id that is associated with the swap.
Encsig message from a peer-id different to the one associated with the swap are ignored.
Invoking cargo tomlfmt on all files is a PITA and as we can see from
the CI scripts, it is often forgotten to as new crates are added to
the workspace.
Using dprint for toml files fixes this.
Unfortunately, we can't use dprint for Rust code yet because there
hasn't been a release of rustfmt in quite a while but we are already
using features from a newer rustfmt via rustup.
438: Add support for swapping through Tor. r=bonomat a=bonomat
Resolves: #447
This PR does a few things.
* It adds a TorTransport which either dials through Tor's socks5 proxy or via clearnet.
* It enables ASB to register hidden services for each network it is listening on. We assume that we only care about different ports and re-use the same onion-address for all of them. The ASB requires to have access to Tor's control port.
* It adds support to dial through a local Tor socks5 proxy. We assume that Tor is always available on localhost. Swap cli only requires Tor to be running so that it can send messages via Tor's socks5 proxy.
* It adds a new e2e test which swaps through Tor. For this we assume that Tor is currently running on localhost. All other tests are running via clear net.
Note: It is expected that the new test will fail on CI because we do not have Tor running. That's why it wasn't added yet. I'll play around in my own fork to not use precious CI resources :)
The rest is ready for review.
// edit:
Swapping through Tor on one machine seems to be working:
Asb:
```
cargo run --bin asb -- --config "/Users/bonomat/Library/Application Support/xmr-btc-swap/asb/config.toml" start
Finished dev [unoptimized + debuginfo] target(s) in 0.30s
Running `target/debug/asb --config '/Users/bonomat/Library/Application Support/xmr-btc-swap/asb/config.toml' start`
Apr 22 11:14:05.090 INFO Initialized tracing with level: debug
Apr 22 11:14:05.092 INFO Using config file at default path: /Users/bonomat/Library/Application Support/xmr-btc-swap/asb/config.toml
Apr 22 11:14:05.094 INFO Database and Seed will be stored in directory: /Users/bonomat/Library/Application Support/xmr-btc-swap/asb
Apr 22 11:14:05.094 DEBUG Opening database at /Users/bonomat/Library/Application Support/xmr-btc-swap/asb/database
Apr 22 11:14:05.226 DEBUG Reading in seed from /Users/bonomat/Library/Application Support/xmr-btc-swap/asb/seed.pem
Apr 22 11:14:06.903 INFO Tor found. Setting up hidden service.
Apr 22 11:14:08.805 INFO /onion3/jugnrrdp7imu5tqphvlrctudguq3sapmjideu6d63i5y7qqtzzwvf4id:9939
Apr 22 11:14:08.805 INFO /onion3/jugnrrdp7imu5tqphvlrctudguq3sapmjideu6d63i5y7qqtzzwvf4id:9940
Apr 22 11:14:13.431 DEBUG Opened Monero wallet asb-wallet
Apr 22 11:14:13.433 INFO Bitcoin balance: 0.00000000 BTC
Apr 22 11:14:13.433 WARN The Monero balance is 0, make sure to deposit funds at: 5A3iBfDbhGfUUL5WKFcdY5JK7oLcMXYmD9VnUjxmBgFHXswtENMjFsHUDeeCWVvRYaNRCAJDRS7jY85iyNt7s3syVNJtwLd
Apr 22 11:14:13.436 DEBUG Trying to listen on: /ip4/0.0.0.0/tcp/9939
Apr 22 11:14:13.437 DEBUG Trying to listen on: /ip4/0.0.0.0/tcp/9940
Apr 22 11:14:13.437 INFO Our peer id is 12D3KooWNqWpoLUp6YSoUYTinwJFh92wzggeanLgSutmZbZYG9cN
Apr 22 11:14:13.438 INFO Listening on /ip4/127.0.0.1/tcp/9940/ws
Apr 22 11:14:13.438 INFO Listening on /ip4/127.0.0.1/tcp/9939
Apr 22 11:14:13.438 INFO Listening on /ip4/192.168.1.63/tcp/9940/ws
Apr 22 11:14:13.438 INFO Listening on /ip4/192.168.1.63/tcp/9939
Apr 22 11:14:14.275 DEBUG Connected to Kraken websocket API
Apr 22 11:14:14.462 DEBUG Subscribed to updates for ticker
Apr 22 11:23:11.833 DEBUG New connection established peer=12D3KooWHBMKm8Wnq4WD7ehVdSHaf4ccjdzR97UTFtMGT6LBmRev address=/ip4/127.0.0.1/tcp/63655
Apr 22 11:23:25.700 INFO swap{id=c4f51a28-b2fb-4885-9f7a-5d1852de5f0d}: Current state: started
Apr 22 11:23:25.700 INFO swap{id=c4f51a28-b2fb-4885-9f7a-5d1852de5f0d}: Waiting for 1 confirmation of Bitcoin transaction txid=537070d7a6f75e74caa65cebbbf0997b50914fd86b7a752f0d74eb0c5701291f
Apr 22 11:23:33.732 DEBUG Transaction is in mempool txid=537070d7a6f75e74caa65cebbbf0997b50914fd86b7a752f0d74eb0c5701291f
Apr 22 11:42:49.668 DEBUG Transaction is confirmed with 1 blocks txid=537070d7a6f75e74caa65cebbbf0997b50914fd86b7a752f0d74eb0c5701291f
Apr 22 11:42:49.671 INFO swap{id=c4f51a28-b2fb-4885-9f7a-5d1852de5f0d}: Bitcoin tx has 1 out of 1 confirmation txid=537070d7a6f75e74caa65cebbbf0997b50914fd86b7a752f0d74eb0c5701291f
Apr 22 11:42:49.703 INFO swap{id=c4f51a28-b2fb-4885-9f7a-5d1852de5f0d}: Current state: btc is locked
Apr 22 11:43:02.670 DEBUG swap{id=c4f51a28-b2fb-4885-9f7a-5d1852de5f0d}: sent transfer of 0.695214974374 XMR to 05d77c136ad84eff1184a14971f8ec7f5884bb25b646a6c1eb95e0c26782f0a5 in c00f4543d9c9831fa892a2180b4dabbc33eff1fcd6f58ac24495dcf1450bbab3
Apr 22 11:43:02.740 INFO swap{id=c4f51a28-b2fb-4885-9f7a-5d1852de5f0d}: Current state: xmr lock transaction sent
...
```
Swap:
```
cargo run --bin swap buy-xmr --seller-peer-id 12D3KooWNqWpoLUp6YSoUYTinwJFh92wzggeanLgSutmZbZYG9cN --seller-addr /onion3/jugnrrdp7imu5tqphvlrctudguq3sapmjideu6d63i5y7qqtzzwvf4id:9939 --receive-address 5A3iBfDbhGfUUL5WKFcdY5JK7oLcMXYmD9VnUjxmBgFHXswtENMjFsHUDeeCWVvRYaNRCAJDRS7jY85iyNt7s3syVNJtwLd
Finished dev [unoptimized + debuginfo] target(s) in 0.37s
Running `target/debug/swap buy-xmr --seller-peer-id 12D3KooWNqWpoLUp6YSoUYTinwJFh92wzggeanLgSutmZbZYG9cN --seller-addr '/onion3/jugnrrdp7imu5tqphvlrctudguq3sapmjideu6d63i5y7qqtzzwvf4id:9939' --receive-address 5A3iBfDbhGfUUL5WKFcdY5JK7oLcMXYmD9VnUjxmBgFHXswtENMjFsHUDeeCWVvRYaNRCAJDRS7jY85iyNt7s3syVNJtwLd`
Connecting to Tor proxy ...
Connection established
Connected to Alice at /onion3/jugnrrdp7imu5tqphvlrctudguq3sapmjideu6d63i5y7qqtzzwvf4id:9939/p2p/12D3KooWNqWpoLUp6YSoUYTinwJFh92wzggeanLgSutmZbZYG9cN
Received quote: 1 XMR ~ 0.00719202 BTC
Found 0.01559763 BTC in wallet
Swapping 0.00500000 BTC with 0.00000610 BTC fees
Spot price for 0.00500000 BTC is 0.695214974374 XMR
Published Bitcoin lock transaction txid=537070d7a6f75e74caa65cebbbf0997b50914fd86b7a752f0d74eb0c5701291f
Waiting for Alice to lock Monero
Alice locked Monero txid=c00f4543d9c9831fa892a2180b4dabbc33eff1fcd6f58ac24495dcf1450bbab3
Waiting for 10 confirmations of Monero transaction txid=c00f4543d9c9831fa892a2180b4dabbc33eff1fcd6f58ac24495dcf1450bbab3
Monero lock tx has 1 out of 10 confirmations txid=c00f4543d9c9831fa892a2180b4dabbc33eff1fcd6f58ac24495dcf1450bbab3
Monero lock tx has 2 out of 10 confirmations txid=c00f4543d9c9831fa892a2180b4dabbc33eff1fcd6f58ac24495dcf1450bbab3
Monero lock tx has 3 out of 10 confirmations txid=c00f4543d9c9831fa892a2180b4dabbc33eff1fcd6f58ac24495dcf1450bbab3
...
```
Co-authored-by: Philipp Hoenisch <philipp@hoenisch.at>
Co-authored-by: Philipp Hoenisch <philipp@coblox.tech>
453: Fix messages for awaiting containers ready r=da-kami a=da-kami
The message `JOINING all threads` is unfortunately not deterministic, it can happen that it just is not printed in the logs.
For Monerod container the message is set to `RPC server started ok`. This message appears in both a test run that was hanging with `JOINING all threads` and a successful run. Initially the message was set to `core RPC server started ok` with `core` being a variable value. We assume that `core` does not change, but did not to further code analysis what values it can be.
For Monero Wallet RPC container the message is set to `Run server thread name: RPC` which is what it was set to initially. After several container runs this message seems to be reasonable - there are no recorded issues of the Wallet RPC container hanging, but we had problems with Monerod in the past.
Co-authored-by: Daniel Karzel <daniel@comit.network>
The message `JOINING all threads` is unfortunately not deterministic, it can happen that it just is not printed in the logs.
For Monerod container the message is set to `RPC server started ok`. This message appears in both a test run that was hanging with `JOINING all threads` and a successful run. Initially the message was set to `core RPC server started ok` with `core` being a variable value. We assume that `core` does not change, but did not to further code analysis what values it can be.
For Monero Wallet RPC container the message is set to `Run server thread name: RPC` which is what it was set to initially. After several container runs this message seems to be reasonable - there are no recorded issues of the Wallet RPC container hanging, but we had problems with Monerod in the past.
This PR does a few things.
* It adds a TorTransport which either dials through Tor's socks5 proxy or via clearnet.
* It enables ASB to register hidden services for each network it is listening on. We assume that we only care about different ports and re-use the same onion-address for all of them. The ASB requires to have access to Tor's control port.
* It adds support to dial through a local Tor socks5 proxy. We assume that Tor is always available on localhost. Swap cli only requires Tor to be running so that it can send messages via Tor's socks5 proxy.
* It adds a new e2e test which swaps through Tor. For this we assume that Tor is currently running on localhost. All other tests are running via clear net.
442: Minor cleanups towards implementing a Monero wallet for local signing r=thomaseizinger a=thomaseizinger
Extracted out of #434.
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
450: Bump async-compression from 0.3.7 to 0.3.8 r=thomaseizinger a=dependabot[bot]
Bumps [async-compression](https://github.com/Nemo157/async-compression) from 0.3.7 to 0.3.8.
<details>
<summary>Commits</summary>
<ul>
<li><a href="acae25bdf9"><code>acae25b</code></a> Merge <a href="https://github-redirect.dependabot.com/Nemo157/async-compression/issues/119">#119</a></li>
<li><a href="19fd03f8bb"><code>19fd03f</code></a> Update all locked dependencies</li>
<li><a href="f145824fe7"><code>f145824</code></a> Upgrade ntest</li>
<li><a href="1808080c46"><code>1808080</code></a> Merge <a href="https://github-redirect.dependabot.com/Nemo157/async-compression/issues/118">#118</a></li>
<li><a href="2538217702"><code>2538217</code></a> Bump version to 0.3.8</li>
<li><a href="a23d7a6076"><code>a23d7a6</code></a> Merge <a href="https://github-redirect.dependabot.com/Nemo157/async-compression/issues/115">#115</a></li>
<li><a href="b064a5744d"><code>b064a57</code></a> Merge <a href="https://github-redirect.dependabot.com/Nemo157/async-compression/issues/117">#117</a></li>
<li><a href="c7fe7f9512"><code>c7fe7f9</code></a> update zstd dependency to 1.4.9</li>
<li><a href="429c5b4185"><code>429c5b4</code></a> Use ReaderStream to convert from IO to Stream<Bytes></li>
<li><a href="f0d69901c6"><code>f0d6990</code></a> Test that replacements do result in the same thing</li>
<li>Additional commits viewable in <a href="https://github.com/Nemo157/async-compression/compare/0.3.7...0.3.8">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=async-compression&package-manager=cargo&previous-version=0.3.7&new-version=0.3.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
449: Bump rust_decimal from 1.11.1 to 1.12.2 r=thomaseizinger a=dependabot[bot]
Bumps [rust_decimal](https://github.com/paupino/rust-decimal) from 1.11.1 to 1.12.2.
<details>
<summary>Commits</summary>
<ul>
<li><a href="5f7f94fb3e"><code>5f7f94f</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/357">#357</a> from paupino/version/1.12.2</li>
<li><a href="6779bec5b7"><code>6779bec</code></a> Added zero inverse property tests</li>
<li><a href="41c0bc30f7"><code>41c0bc3</code></a> Version 1.12.2</li>
<li><a href="ca01086b4c"><code>ca01086</code></a> Merge branch 'master' of github.com:paupino/rust-decimal into doc/readme</li>
<li><a href="55de2037cf"><code>55de203</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/356">#356</a> from KonishchevDmitry/master</li>
<li><a href="1b6a708f55"><code>1b6a708</code></a> Fix <code>0 - 0 = -0</code> -> <code>0 - 0 = 0</code></li>
<li><a href="4c387bf589"><code>4c387bf</code></a> Fixes minor omission from docs</li>
<li><a href="000fab7856"><code>000fab7</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/352">#352</a> from paupino/version/1.12.1</li>
<li><a href="9209ad6c3b"><code>9209ad6</code></a> Version 1.12.1</li>
<li><a href="d51e8096f1"><code>d51e809</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/351">#351</a> from paupino/version/1.12</li>
<li>Additional commits viewable in <a href="https://github.com/paupino/rust-decimal/compare/1.11.1...1.12.2">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rust_decimal&package-manager=cargo&previous-version=1.11.1&new-version=1.12.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1. Split up image::Monero into Monerod and MoneroWalletRpc
2. Don't use `bash` to run the internal command. Instead we disable
the entrypoint script as per https://github.com/XMRto/monero#raw-commands
3. Remove the start up delay by listening for the correct log message.
To make this more resilient, we make the log level NOT configurable and
instead always log verbosely.
441: Print peer ID on debog when starting CLI r=da-kami a=da-kami
In order to add more context to the debug logs we print Bob's peer ID.
This allows identifying peer related logs on the ASB.
Co-authored-by: Daniel Karzel <daniel@comit.network>
435: Bump rust_decimal from 1.11.0 to 1.11.1 r=thomaseizinger a=dependabot[bot]
Bumps [rust_decimal](https://github.com/paupino/rust-decimal) from 1.11.0 to 1.11.1.
<details>
<summary>Commits</summary>
<ul>
<li><a href="044225ec03"><code>044225e</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/346">#346</a> from paupino/version/1.11.1</li>
<li><a href="f8df779589"><code>f8df779</code></a> Version 1.11.1</li>
<li><a href="6605da6019"><code>6605da6</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/345">#345</a> from c410-f3r/patch-2</li>
<li><a href="e531d286fc"><code>e531d28</code></a> [docs.rs] Enable all-features</li>
<li>See full diff in <a href="https://github.com/paupino/rust-decimal/compare/1.11.0...1.11.1">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rust_decimal&package-manager=cargo&previous-version=1.11.0&new-version=1.11.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
429: Bump dprint/check from v1.2 to v1.3 r=thomaseizinger a=dependabot[bot]
Bumps [dprint/check](https://github.com/dprint/check) from v1.2 to v1.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dprint/check/releases">dprint/check's releases</a>.</em></p>
<blockquote>
<h2>v1.3</h2>
<p>Support dprint 0.13.0</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="73e06d8656"><code>73e06d8</code></a> chore(release): v1.3</li>
<li>See full diff in <a href="https://github.com/dprint/check/compare/v1.2...73e06d86562a052a5fa32b01e1350a7b8de99966">compare view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
420: Bump libp2p from 0.36.0 to 0.37.1 r=thomaseizinger a=dependabot[bot]
Bumps [libp2p](https://github.com/libp2p/rust-libp2p) from 0.36.0 to 0.37.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/libp2p/rust-libp2p/releases">libp2p's releases</a>.</em></p>
<blockquote>
<h2>v0.37.1</h2>
<p>See individual <a href="https://github.com/libp2p/rust-libp2p/blob/HEAD/CHANGELOG.md">changelogs</a> for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/libp2p/rust-libp2p/blob/master/CHANGELOG.md">libp2p's changelog</a>.</em></p>
<blockquote>
<h2>Version 0.37.1 [2021-04-14]</h2>
<ul>
<li>Update individual crates.
<ul>
<li><code>libp2p-swarm-derive</code></li>
</ul>
</li>
</ul>
<h2>Version 0.37.0 [2021-04-13]</h2>
<ul>
<li>
<p>Update individual crates.</p>
<ul>
<li><code>libp2p-core</code></li>
<li><code>libp2p-dns</code></li>
<li><code>libp2p-floodsub</code></li>
<li><code>libp2p-gossipsub</code></li>
<li><code>libp2p-kad</code></li>
<li><code>libp2p-mdns</code></li>
<li><code>libp2p-ping</code></li>
<li><code>libp2p-relay</code></li>
<li><code>libp2p-request-response</code></li>
<li><code>libp2p-swarm</code></li>
<li><code>libp2p-wasm-ext</code></li>
<li><code>libp2p-yamux</code></li>
</ul>
</li>
<li>
<p>Drop support for <code>wasm32-unknown-unknown</code> in favor of
<code>wasm32-unknown-emscripten</code> and <code>wasm32-wasi</code> <a href="https://github-redirect.dependabot.com/libp2p/rust-libp2p/pull/2038">PR
2038</a>.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="40c4287bc9"><code>40c4287</code></a> *: Prepare libp2p-swarm-derive v0.23.0 and libp2p v0.37.1</li>
<li><a href="42441dbd86"><code>42441db</code></a> *: Prepare v0.37.0 release (<a href="https://github-redirect.dependabot.com/libp2p/rust-libp2p/issues/2049">#2049</a>)</li>
<li><a href="807ce10656"><code>807ce10</code></a> build(deps): bump actions/cache from v2.1.4 to v2.1.5 (<a href="https://github-redirect.dependabot.com/libp2p/rust-libp2p/issues/2050">#2050</a>)</li>
<li><a href="05aa794552"><code>05aa794</code></a> Derive debug for RelayConfig. (<a href="https://github-redirect.dependabot.com/libp2p/rust-libp2p/issues/2048">#2048</a>)</li>
<li><a href="426a20c66b"><code>426a20c</code></a> Update yamux requirement from 0.8.0 to 0.9.0 (<a href="https://github-redirect.dependabot.com/libp2p/rust-libp2p/issues/1960">#1960</a>)</li>
<li><a href="8ccb96a9f3"><code>8ccb96a</code></a> *: Drop generic wasm32-unknown-unknown support (<a href="https://github-redirect.dependabot.com/libp2p/rust-libp2p/issues/2038">#2038</a>)</li>
<li><a href="687145d784"><code>687145d</code></a> protocols: Derive debug for MemoryStoreConfig and IdentifyConfig (<a href="https://github-redirect.dependabot.com/libp2p/rust-libp2p/issues/2029">#2029</a>)</li>
<li><a href="b1b6f2bafe"><code>b1b6f2b</code></a> build(deps): bump styfle/cancel-workflow-action from 0.8.0 to 0.9.0 (<a href="https://github-redirect.dependabot.com/libp2p/rust-libp2p/issues/2045">#2045</a>)</li>
<li><a href="de261d5280"><code>de261d5</code></a> .github: Only test benchmarks, don't run them (<a href="https://github-redirect.dependabot.com/libp2p/rust-libp2p/issues/2042">#2042</a>)</li>
<li><a href="2d995a62e7"><code>2d995a6</code></a> *: Fix redundant_semicolons warnings (<a href="https://github-redirect.dependabot.com/libp2p/rust-libp2p/issues/2039">#2039</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/libp2p/rust-libp2p/compare/v0.36.0...v0.37.1">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=libp2p&package-manager=cargo&previous-version=0.36.0&new-version=0.37.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
430: Bump zip from 0.5.11 to 0.5.12 r=thomaseizinger a=dependabot[bot]
Bumps [zip](https://github.com/zip-rs/zip) from 0.5.11 to 0.5.12.
<details>
<summary>Commits</summary>
<ul>
<li><a href="88e6f87884"><code>88e6f87</code></a> chore: release 0.5.12</li>
<li><a href="2d99f88870"><code>2d99f88</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/zip-rs/zip/issues/222">#222</a> from mbrubeck/flate2</li>
<li><a href="c0ef84dd4e"><code>c0ef84d</code></a> Allow flate2 >1.0.14</li>
<li>See full diff in <a href="https://github.com/zip-rs/zip/compare/v0.5.11...v0.5.12">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip&package-manager=cargo&previous-version=0.5.11&new-version=0.5.12)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
431: Bump async-trait from 0.1.49 to 0.1.50 r=thomaseizinger a=dependabot[bot]
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.49 to 0.1.50.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/async-trait/releases">async-trait's releases</a>.</em></p>
<blockquote>
<h2>0.1.50</h2>
<ul>
<li>Make compatible with <code>tokio::select</code>, <code>futures::select</code> and similar macros (<a href="https://github-redirect.dependabot.com/dtolnay/async-trait/issues/161">#161</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="651ddc1131"><code>651ddc1</code></a> Release 0.1.50</li>
<li><a href="979ecce801"><code>979ecce</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/async-trait/issues/162">#162</a> from dtolnay/select</li>
<li><a href="4db8933f5f"><code>4db8933</code></a> Suppress clippy mut_mut pedantic lint in test suite</li>
<li><a href="54c5d9ca61"><code>54c5d9c</code></a> Treat select macro always as expression</li>
<li><a href="62f9924834"><code>62f9924</code></a> Add regression test for issue 161</li>
<li>See full diff in <a href="https://github.com/dtolnay/async-trait/compare/0.1.49...0.1.50">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=async-trait&package-manager=cargo&previous-version=0.1.49&new-version=0.1.50)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
432: Bump rust_decimal from 1.10.3 to 1.11.0 r=thomaseizinger a=dependabot[bot]
Bumps [rust_decimal](https://github.com/paupino/rust-decimal) from 1.10.3 to 1.11.0.
<details>
<summary>Commits</summary>
<ul>
<li><a href="b5ffa94060"><code>b5ffa94</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/344">#344</a> from paupino/version/1.11</li>
<li><a href="467a08d532"><code>467a08d</code></a> Fix up readme.mdg</li>
<li><a href="9bf9e296ca"><code>9bf9e29</code></a> Exclude generated tests</li>
<li><a href="e4d2f94c60"><code>e4d2f94</code></a> Version 1.11</li>
<li><a href="4334b15bbe"><code>4334b15</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/343">#343</a> from paupino/issue/316</li>
<li><a href="711c0fb2af"><code>711c0fb</code></a> Add macro tests to github workflow</li>
<li><a href="e524da308c"><code>e524da3</code></a> Allow reexportable macros via feature flags</li>
<li><a href="e59749aa94"><code>e59749a</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/342">#342</a> from paupino/feature/docs</li>
<li><a href="432aede688"><code>432aede</code></a> Merge branch 'master' into feature/docs</li>
<li><a href="a16e060982"><code>a16e060</code></a> Update documentation</li>
<li>Additional commits viewable in <a href="https://github.com/paupino/rust-decimal/compare/1.10.3...1.11.0">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rust_decimal&package-manager=cargo&previous-version=1.10.3&new-version=1.11.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
428: Change the public ASB to use the default port r=da-kami a=da-kami
I noticed that out public ASB is not using the configured default port for `tcp` connections.
I don't know why that is, but I felt it would be better to update it to use the default port. I already opened port `9939` and closed `9876`.
This has the side-effect that releases prior to `0.4.0` will NOT just work upon startup anymore, because the ASB is not running on the auto-configured port anymore. I think that is a good thing, because the public ASB does not support these versions anymore.
Co-authored-by: Daniel Karzel <daniel@comit.network>