434: Introduce monero-wallet crate r=thomaseizinger a=thomaseizinger
This PR:
1. ~Introduce a crate for the epee binary serialization as a serde format~: Released here: https://github.com/comit-network/monero-epee-bin-serde
2. Extends the MoneroRPC client with two binary calls
3. Introduces a `monero-wallet` crate that for now just provides functionality for choosing random key offsets. Together with the the ability to produce bulletproofs and ring signatures, this should be enough for signing Monero transactions locally.
(1) and (2) are a prerequisite for (3).
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
This is fairly bare-bones for now and only contains one piece of
functionality: choosing random key offsets.
More functionality for actually signing Monero transactions will
be added later.
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>
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.
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>
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>
- Listen on both tcp and websockets as default
- Listening addresses in config as array
- Configure fallback transport using `or_transport` - if listening on a given address fails on WS, we fall back to TCP.
408: Improve error reporting of failed protocols r=thomaseizinger a=thomaseizinger
Instead of forwarding every error, we deliberately ignore certain
variants that are not worth being printed to the log. In particular,
this concerns "UnsupportedProtocols" and "ResponseOmission".
To make this less verbose we introduce a macro for mapping a
`RequestResponseEvent` to `{alice,bob}::OutEvent`. We use a macro
because those `OutEvent`s are different types and the only other
way of abstracting over them would be to introduce traits that we
implement on both of them.
To make the macro easier to use, we move all the `From` implementations
that convert between the protocol and the more high-level behaviour
into the actual protocol module.
417: Bump curve25519-dalek from 3.0.2 to 3.1.0 r=thomaseizinger a=dependabot[bot]
Bumps [curve25519-dalek](https://github.com/dalek-cryptography/curve25519-dalek) from 3.0.2 to 3.1.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/dalek-cryptography/curve25519-dalek/blob/main/CHANGELOG.md">curve25519-dalek's changelog</a>.</em></p>
<blockquote>
<h3>3.1.0</h3>
<ul>
<li>Add support for the Elligator2 encoding for Edwards points.</li>
<li>Add two optional formally-verified field arithmetic backends which
use the Fiat Crypto project's Rust code, which is generated from
proofs of functional correctness checked by the Coq theorem proving
system.</li>
<li>Add support for additional sizes of precomputed tables for basepoint
scalar multiplication.</li>
<li>Fix an unused import.</li>
<li>Add support for using the <code>zeroize</code> traits with all point types.
Note that points are not automatically zeroized on Drop, but that
consumers of <code>curve25519-dalek</code> should call these methods manually
when needed.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="2ea17d554a"><code>2ea17d5</code></a> Update CHANGELOG and README; bump to 3.1.0.</li>
<li><a href="5eca140010"><code>5eca140</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dalek-cryptography/curve25519-dalek/issues/351">#351</a> from isislovecruft/fix/cleanup-elligator</li>
<li><a href="cecc821f40"><code>cecc821</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dalek-cryptography/curve25519-dalek/issues/342">#342</a> from huitseeker/fiat4_with_u32</li>
<li><a href="35d4eab431"><code>35d4eab</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dalek-cryptography/curve25519-dalek/issues/349">#349</a> from huitseeker/modernize_benchmarks</li>
<li><a href="b05feec7aa"><code>b05feec</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dalek-cryptography/curve25519-dalek/issues/350">#350</a> from isislovecruft/develop</li>
<li><a href="0da8f08d65"><code>0da8f08</code></a> Maintain legacy 3.x support for lookup tables.</li>
<li><a href="ee90202a58"><code>ee90202</code></a> Trivial cleanups to Elligator2 encoding.</li>
<li><a href="d130b5f17e"><code>d130b5f</code></a> [benchmarks-only] Updates the benchmarks</li>
<li><a href="cc0c444fae"><code>cc0c444</code></a> Merge branch 'feature/dynamic-table-sizes' into develop</li>
<li><a href="1491f0db36"><code>1491f0d</code></a> Update copyright years.</li>
<li>Additional commits viewable in <a href="https://github.com/dalek-cryptography/curve25519-dalek/compare/3.0.2...3.1.0">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=curve25519-dalek&package-manager=cargo&previous-version=3.0.2&new-version=3.1.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: Thomas Eizinger <thomas@eizinger.io>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
415: Bump tokio-util from 0.6.5 to 0.6.6 r=thomaseizinger a=dependabot[bot]
Bumps [tokio-util](https://github.com/tokio-rs/tokio) from 0.6.5 to 0.6.6.
<details>
<summary>Commits</summary>
<ul>
<li><a href="917aad684b"><code>917aad6</code></a> chore: prepare tokio-util 0.6.6 (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/3696">#3696</a>)</li>
<li><a href="e366cf9b3e"><code>e366cf9</code></a> chore: upgrade loom to 0.5.0 (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/3697">#3697</a>)</li>
<li><a href="3a02d34d3a"><code>3a02d34</code></a> sync: document that Semaphore is fair (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/3693">#3693</a>)</li>
<li><a href="adad8fc3cd"><code>adad8fc</code></a> io: add a copy_bidirectional utility (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/3572">#3572</a>)</li>
<li><a href="08f1b67fcb"><code>08f1b67</code></a> sync: add <code>mpsc::Sender::capacity</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/3690">#3690</a>)</li>
<li><a href="28d6879897"><code>28d6879</code></a> macros: forward input arguments in <code>#[tokio::test]</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/3691">#3691</a>)</li>
<li><a href="1a72b28f53"><code>1a72b28</code></a> rt: fix panic in JoinHandle::abort() when called from other thread (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/3672">#3672</a>)</li>
<li><a href="1d5655272b"><code>1d56552</code></a> runtime: use Park::Error: Debug for better panic messages (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/3641">#3641</a>)</li>
<li><a href="5513b6b825"><code>5513b6b</code></a> time: change 300ms to 1s in documentation (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/3685">#3685</a>)</li>
<li><a href="787aca1826"><code>787aca1</code></a> net: implement IntoRawFd for TcpSocket (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/3684">#3684</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/tokio-rs/tokio/compare/tokio-util-0.6.5...tokio-util-0.6.6">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tokio-util&package-manager=cargo&previous-version=0.6.5&new-version=0.6.6)](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>
418: Bump async-trait from 0.1.48 to 0.1.49 r=thomaseizinger a=dependabot[bot]
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.48 to 0.1.49.
<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.49</h2>
<ul>
<li>Fix for use of <code>self::</code> as prefix of a path in expression position (<a href="https://github-redirect.dependabot.com/dtolnay/async-trait/issues/158">#158</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="fa92d1f8bc"><code>fa92d1f</code></a> Release 0.1.49</li>
<li><a href="797b6e8eaf"><code>797b6e8</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/async-trait/issues/160">#160</a> from dtolnay/self</li>
<li><a href="6029cbf375"><code>6029cbf</code></a> Preserve <code>self</code> as segment of path</li>
<li><a href="bb62922062"><code>bb62922</code></a> Add regression test for issue 158</li>
<li><a href="6bff4e0c59"><code>6bff4e0</code></a> Add to 'async' keyword on crates.io</li>
<li><a href="9f2acfc6ae"><code>9f2acfc</code></a> Update name of type alias impl trait feature in nightly</li>
<li><a href="25e8547d30"><code>25e8547</code></a> Remove recently stabilized min_const_generics feature gate</li>
<li><a href="12c51d210e"><code>12c51d2</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/async-trait/issues/157">#157</a> from dtolnay/tracingtest</li>
<li><a href="50d0b7ec4b"><code>50d0b7e</code></a> Remove unused tracing-futures dev dependency</li>
<li><a href="24afee4c72"><code>24afee4</code></a> Re-enable tracing attribute test</li>
<li>See full diff in <a href="https://github.com/dtolnay/async-trait/compare/0.1.48...0.1.49">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.48&new-version=0.1.49)](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>
EnvFilter is applied globally. This means you cannot log at INFO level
to the terminal and at DEBUG level to log files. To get a around this
limitation I had to implement the layer trait on a new type and filter
in the on_event() trait method. Each swap has its own log file denoted
by its swap_id. The logger appends to the existing file when resuming a
swap.
Closes#278
399: Bump bmrng from 0.5.0 to 0.5.1 r=thomaseizinger a=dependabot[bot]
Bumps [bmrng](https://github.com/oguzbilgener/bmrng) from 0.5.0 to 0.5.1.
<details>
<summary>Commits</summary>
<ul>
<li><a href="c2dad4d718"><code>c2dad4d</code></a> (cargo-release) version 0.5.1</li>
<li><a href="9c7b9b5e64"><code>9c7b9b5</code></a> fix: Implement for ReceiveError</li>
<li><a href="bfe74a5af9"><code>bfe74a5</code></a> docs: Fix inaccuracies around send</li>
<li><a href="d282479172"><code>d282479</code></a> (cargo-release) start next development iteration 0.5.1-alpha.0</li>
<li>See full diff in <a href="https://github.com/oguzbilgener/bmrng/compare/v0.5.0...v0.5.1">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=bmrng&package-manager=cargo&previous-version=0.5.0&new-version=0.5.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>
387: Improve the resilience of the network layer r=thomaseizinger a=thomaseizinger
We improve the resilience in two ways:
1. Use a timeout on Bob's side for the execution-setup.
2. Use the `bmrng` library to model the communication between Alice and Bob.
See commit messages for details.
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
Edge cases of UTXOs where value < fee cause the BDK's `coin_select` calculation to panic.
This issue was fixed upstream thus we point the BDK dependency against the commit of the merged fix.
bmrng is a library providing a request-response channel that allows
the receiving end of the channel to send a response back to the sender.
This allows us to more accurately implement the functions on the
`EventLoopHandle`. In particular, we now _wait_ for the ACK of specific
messages from the other party before resolving the future.
For example, when sending the encrypted signature, the async function
on the `EventLoopHandle` does not resolve until we received the ACK
from the other party.
We also delete the `Channels` abstraction in favor of directly creating
bmrng channels. This allows us to directly control the channel buffer
which we set to 1 because we don't need more than that on Bob's side.