1428: Fix issue where Windows cannot open ASB wallet to create lock XMR transaction r=delta1 a=pokkst
It seems on Windows that opening an already opened wallet results in an error/crash. This does not seem to be the case for Linux and macOS. Removing this line fixed the issue on Windows, and had no regressions on macOS/Linux from my testing.
Co-authored-by: pokkst <pokkst@protonmail.com>
some of the dependency updates are requiring a higher version of the
rust toolchain. bump to 1.67 and fix new clippy lints.
also fix dprint to 0.39.1 because 0.40 has breaking changes.
1357: build(deps): bump conquer-once from 0.3.2 to 0.4.0 r=delta1 a=dependabot[bot]
Bumps [conquer-once](https://github.com/oliver-giersch/conquer-once) from 0.3.2 to 0.4.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/oliver-giersch/conquer-once/releases">conquer-once's releases</a>.</em></p>
<blockquote>
<h2>v0.4.0</h2>
<p>This release bumps the MSRV to <code>1.49.0</code>, allowing some depracated <code>std</code> functionality to be replaced with alternatives that were stabilized in that version.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/oliver-giersch/conquer-once/blob/master/RELEASES.md">conquer-once's changelog</a>.</em></p>
<blockquote>
<h3>Release <code>0.3.2</code></h3>
<ul>
<li>fixes potential UB due to insufficiently strict bounds on <code>Sync</code> implementation for <code>OnceCell</code> (see [Issue <a href="https://redirect.github.com/oliver-giersch/conquer-once/issues/3">#3</a>](<a href="https://redirect.github.com/oliver-giersch/conquer-once/issues/3">oliver-giersch/conquer-once#3</a>))</li>
</ul>
<h3>Release <code>0.3.3</code></h3>
<ul>
<li>improves and clarifies wording of public documentation</li>
<li>improves internal documentation around all uses of unsafe code</li>
</ul>
<h2>Release <code>0.4.0</code></h2>
<ul>
<li>bumps MSRV to 1.49.0</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="82747caafd"><code>82747ca</code></a> bump version in README</li>
<li><a href="3ef336f03e"><code>3ef336f</code></a> revert edition bump</li>
<li><a href="43f816a162"><code>43f816a</code></a> bump Cargo.toml version, rust edition to 2021,MSRV</li>
<li><a href="9370e0a194"><code>9370e0a</code></a> bump MSRV to 1.49.0</li>
<li><a href="82ebf601ea"><code>82ebf60</code></a> bump version to 0.3.3</li>
<li><a href="f788ee4855"><code>f788ee4</code></a> completes internal unsafe docs/clarification</li>
<li><a href="f75a52e371"><code>f75a52e</code></a> fix clippy warning under 1.36.0</li>
<li><a href="6f2924915e"><code>6f29249</code></a> clippy 1.36 should fail but doesn't?</li>
<li><a href="dc267663b1"><code>dc26766</code></a> fix CI toolchain</li>
<li><a href="4bc74b003d"><code>4bc74b0</code></a> fix CI</li>
<li>Additional commits viewable in <a href="https://github.com/oliver-giersch/conquer-once/compare/v0.3.2...v0.4.0">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=conquer-once&package-manager=cargo&previous-version=0.3.2&new-version=0.4.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
You can trigger a rebase of this PR 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>
1358: build(deps): bump serial_test from 1.0.0 to 2.0.0 r=delta1 a=dependabot[bot]
Bumps [serial_test](https://github.com/palfrey/serial_test) from 1.0.0 to 2.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/palfrey/serial_test/releases">serial_test's releases</a>.</em></p>
<blockquote>
<h2>v2.0.0</h2>
<p>Main change is the <a href="https://redirect.github.com/palfrey/serial_test/pull/96">Syn 2.x upgrade</a> which required an MSRV bump. MSRV is now 1.68.2. Note this is minimum <em>supported</em>, as it may well compile with lower versions, but they're not supported at all.</p>
<p>There's also a small bug fix for an issue when <a href="https://redirect.github.com/palfrey/serial_test/pull/94">running under vscode and stripping attributes</a></p>
<p><strong>Full Changelog</strong>: <a href="https://github.com/palfrey/serial_test/compare/v1.0.0...v2.0.0">https://github.com/palfrey/serial_test/compare/v1.0.0...v2.0.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7e3a5ca6f3"><code>7e3a5ca</code></a> 2.0.0</li>
<li><a href="a7222e1f35"><code>a7222e1</code></a> Merge pull request <a href="https://redirect.github.com/palfrey/serial_test/issues/96">#96</a> from palfrey/syn-2</li>
<li><a href="113f07662e"><code>113f076</code></a> Upgrade to Syn 2</li>
<li><a href="21b7a7fa6f"><code>21b7a7f</code></a> Merge pull request <a href="https://redirect.github.com/palfrey/serial_test/issues/94">#94</a> from palfrey/remove-ignore-ignore</li>
<li><a href="fc0497c8e8"><code>fc0497c</code></a> Stop stripping ignore/should_panic attributes</li>
<li><a href="7d6af096bf"><code>7d6af09</code></a> Merge pull request <a href="https://redirect.github.com/palfrey/serial_test/issues/91">#91</a> from palfrey/dependabot/cargo/tokio-1.18.5</li>
<li><a href="1607dec900"><code>1607dec</code></a> Bump tokio from 1.18.4 to 1.18.5</li>
<li><a href="30b772a3d1"><code>30b772a</code></a> Merge pull request <a href="https://redirect.github.com/palfrey/serial_test/issues/92">#92</a> from palfrey/test-rust-version</li>
<li><a href="c1c65d24ea"><code>c1c65d2</code></a> Set rust-version in test to fix clippy issue</li>
<li>See full diff in <a href="https://github.com/palfrey/serial_test/compare/v1.0.0...v2.0.0">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serial_test&package-manager=cargo&previous-version=1.0.0&new-version=2.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
You can trigger a rebase of this PR 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>
1359: build(deps): bump async-trait from 0.1.67 to 0.1.68 r=delta1 a=dependabot[bot]
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.67 to 0.1.68.
<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.68</h2>
<ul>
<li>Improve error message if an async fn is written without a function body in an impl block</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="dce60601d7"><code>dce6060</code></a> Release 0.1.68</li>
<li><a href="346f0509c6"><code>346f050</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/async-trait/issues/244">#244</a> from dtolnay/verbatimfn</li>
<li><a href="344a4f2a68"><code>344a4f2</code></a> Handle async impl fn without body</li>
<li>See full diff in <a href="https://github.com/dtolnay/async-trait/compare/0.1.67...0.1.68">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.67&new-version=0.1.68)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
You can trigger a rebase of this PR 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>
1231: feat(asb): allow config overrides from env vars r=delta1 a=delta1
- upgrades config crate to 0.13.2 #1087
- adds environment source for config overrides
This change allows the ASB config to be overridden by env vars starting with `ASB__`.
Adds a test to check this, and updates the de/serialization of the network `listen` and `external_addresses` fields to be a comma separated string from the environment. The `separator` is a pair of underscores, which is necessary since some of the fields already have underscores in their names.
Example env var: `ASB__NETWORK__EXTERNAL_ADDRESSES="/dns4/example.org/tcp/9939,/ip4/1.2.3.4/tcp/9940"`
This particular change will help when running the ASB as a docker container (wip), allowing the config to be set in the env for docker-compose etc.
Co-authored-by: Byron Hambly <bhambly@blockstream.com>
- upgrades to bdk 0.24 #1198
- adds a regression test for opening older wallets #1183
- adds a migration for older wallets that encounter the ChecksumMismatch
error #1182
- bdk to 0.22.0 #1126
- ecdsa_fun to 7c3d592 #1127
- sigma_fun to 7c3d592 #1128
- sha2 to 0.10.2 #948
- serde to 1.0.144 #1115
- bitcoin-harness to bff9a64
Revert "ci: specify previous dprint version until fixed"
This reverts commit 11eb1737ce.
- swap cli will check its wallet rpc version and delete the binary if
its version does not match on "Fluorine Fermi". it will then download
the newer version.
- adds download progress for wallet rpc
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>
1071: Bump pem from 1.0.2 to 1.1.0 r=delta1 a=dependabot[bot]
Bumps [pem](https://github.com/jcreekmore/pem-rs) from 1.0.2 to 1.1.0.
<details>
<summary>Commits</summary>
<ul>
<li><a href="2d83242a3e"><code>2d83242</code></a> (cargo-release) version 1.1.0</li>
<li><a href="0b37bd8925"><code>0b37bd8</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/jcreekmore/pem-rs/issues/34">#34</a> from tmpfs/serde-feature</li>
<li><a href="6381ef4f29"><code>6381ef4</code></a> Update docs.</li>
<li><a href="1f22b5fd0a"><code>1f22b5f</code></a> Update serde implementation to use encode()/parse().</li>
<li><a href="79cf854fca"><code>79cf854</code></a> Support optional serde feature.</li>
<li><a href="2ebf2b1857"><code>2ebf2b1</code></a> (cargo-release) start next development iteration 1.0.3-alpha.0</li>
<li>See full diff in <a href="https://github.com/jcreekmore/pem-rs/compare/v1.0.2...v1.1.0">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pem&package-manager=cargo&previous-version=1.0.2&new-version=1.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
You can trigger a rebase of this PR 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>
1083: build(deps): bump async-trait from 0.1.56 to 0.1.57 r=delta1 a=dependabot[bot]
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.56 to 0.1.57.
<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.57</h2>
<ul>
<li>Add categories to crates.io metadata</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7aa083ce02"><code>7aa083c</code></a> Release 0.1.57</li>
<li><a href="4124033b58"><code>4124033</code></a> Revert "Temporarily disable clippy on tests due to ICE"</li>
<li><a href="81704b37d0"><code>81704b3</code></a> Add categories to crates.io metadata</li>
<li><a href="f997ace3e9"><code>f997ace</code></a> Sort package entries in Cargo.toml</li>
<li><a href="a386446d3d"><code>a386446</code></a> Avoid cargo 1.43–1.45 in GitHub Actions</li>
<li><a href="2cc3532baf"><code>2cc3532</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/async-trait/issues/209">#209</a> from dtolnay/ice</li>
<li><a href="f1d674605b"><code>f1d6746</code></a> Temporarily disable clippy on tests due to ICE</li>
<li><a href="c93e97c451"><code>c93e97c</code></a> Ignore explicit_auto_deref clippy lint</li>
<li><a href="408e77f5d4"><code>408e77f</code></a> Update ui test suite to nightly-2022-07-02</li>
<li><a href="d0a7da03f5"><code>d0a7da0</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/async-trait/issues/208">#208</a> from dtolnay/oncecell</li>
<li>Additional commits viewable in <a href="https://github.com/dtolnay/async-trait/compare/0.1.56...0.1.57">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.56&new-version=0.1.57)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
You can trigger a rebase of this PR 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>
1088: feat: add debugging info for failed to fetch transaction r=delta1 a=delta1
Add the jsonrpc error message and data to tracing calls to try debug #1061 "monero-wallet-rpc failed to fetch transaction"
Co-authored-by: Byron Hambly <bhambly@blockstream.com>
1086: fix btc for xmr calculation error r=delta1 a=delta1
The calculation overflow fix in #1068 did not account for XMR < 1 which
resulted in truncation when dividing by the PICO_OFFSET.
This commit uses `Decimal` to do the calculation at fixed precision and
adds a number of test values to verify the calculation.
Closes#1084
Co-authored-by: Byron Hambly <bhambly@blockstream.com>
The calculation overflow fix in #1068 did not account for XMR < 1 which
resulted in truncation when dividing by the PICO_OFFSET.
This commit uses `Decimal` to do the calculation at fixed precision and
adds a number of test values to verify the calculation.
Closes#1084
1068: fix potential overflow in `max_bitcoin_for_price` r=delta1 a=delta1
In testing, ASB panicked in `max_bitcoin_for_price` when the Monero balance x Bitcoin price was enough to overflow `u64`.
This PR changes the function to do the piconero offset division first, and then to use `checked_mul` to return None if the calculation would overflow. This required changing the function return signature to an `Option`. Additional tests for the function were also added.
MONERO_FEE was also changed from 0.000030 to 0.000016, which is still double the current median transaction fee listed at
https://www.monero.how/monero-transaction-fees as of 2022-07-28.
Co-authored-by: Byron Hambly <bhambly@blockstream.com>
In testing, ASB panicked in `max_bitcoin_for_price` when the Monero
balance x Bitcoin price was enough to overflow `u64`.
This commit changes the function to do the piconero offset division
first, and then to use `checked_mul` to return None if the calculation
would overflow. This required changing the function return
signature to an `Option`. Additional tests for the function were also added.
MONERO_FEE was changed from 0.000030 to 0.000016, which is still
double the current median transaction fee listed at
https://www.monero.how/monero-transaction-fees as of 2022-07-28.
On Linux and macOS, no program output was being observed.
This is referenced in the [LocalTime] docs for `tracing-subscriber`,
which links to this [unsoundness issue] in the time crate.
Rather than introducing a possible vector for undefined behaviour and
segfaults, I have just changed the logging to use UTC time instead.
When running the ASB as a systemd service, one would generally use the
`--disable-timestamps` flag anyway as systemd adds its own timestamps
which can be local to the server.
If the situation with `tracing-subscriber` and the time crate is fixed
then this can be updated.
This commit also updates the `tracing-subscriber` and `tracing-appender`
dependencies, closing #987.
[LocalTime]: https://docs.rs/tracing-subscriber/latest/tracing_subscriber/fmt/time/struct.LocalTime.html
[unsoundness issue]: https://github.com/time-rs/time/issues/293#issuecomment-748151025
934: Don't wait for refund transaction to receive confirmations r=binarybaron a=binarybaron
Don't wait for refund transaction to receive confirmations to mitigate a scenario where the swap is stuck in `BtcCancelled` because it's not resumable.
Closes https://github.com/comit-network/xmr-btc-swap/issues/903
Co-authored-by: binarybaron <86064887+binarybaron@users.noreply.github.com>
894: Reduce `bitcoin_finality_confirmations` from 2 to 1 r=binarybaron a=binarybaron
Reduces `bitcoin_finality_confirmations` from 2 to 1. This lowers the total time needed for a swap by an average of 10 minutes
I'm aware that this has been proposed before (https://github.com/comit-network/xmr-btc-swap/pull/800) and was rejected.
> On the ASB, the bitcoin finality confirmations can be set to 1 using the config file. This will get you the swap reduction time you desire.
I believe this is not correct. There is no way for ASB operators to configure the `bitcoin_finality_confirmations` setting. Only the `target_block` can be configured manually, but this is only used for estimating the fee rate when a btc transaction is published and not for deciding when it is safe to assume that the transaction is finalized.
E.g the `config.toml` file of my (testate) asb
```
[data]
dir = "/root/.local/share/xmr-btc-swap/asb/testnet"
[network]
listen = ["/ip4/0.0.0.0/tcp/9939", "/ip4/0.0.0.0/tcp/9940/ws"]
external_addresses = ["/dnsaddr/unstoppableswap.net"]
rendezvous_point = "/dnsaddr/discover.unstoppableswap.net/p2p/12D3KooWA6cnqJpVnreBVnoro8midDL9Lpzmg8oJPoAGi7YYaamE"
[bitcoin]
electrum_rpc_url = "ssl://electrum.blockstream.info:60002"
target_block = 1 # My asb still waits for 2 confirmations on the btc lock tx
network = "Testnet"
[monero]
wallet_rpc_url = "http://127.0.0.1:38083/json_rpc"
network = "Stagenet"
[tor]
control_port = 9051
socks5_port = 9050
[maker]
min_buy_btc = 0.0001
max_buy_btc = 0.1
ask_spread = 0.00
price_ticker_ws_url = "wss://ws.kraken.com"
```
Co-authored-by: binarybaron <you@domain.com>
Don't wait for refund transaction to receive confirmations to mitigate a scenario where the swap is stuck in `BtcCancelled` because it's not resumable.
975: change to rino docker containers r=lescuer97 a=lescuer97
this is for updating from the melo tools dockers to the rino ones
Fixes#969
Co-authored-by: leonardo <leoescuer@protonmail.com>
This commit updates the rust-toolchain to the current stable version
1.59, and fixes a number of new clippy warnings from that change.
Other changes:
- updates backoff to 0.4
- updates swap to 2021 edition
- updates comfy-table to 5.0
- updates monero-wallet to 2021 edition
- updates moneor-harness to 2021 edition
- updates bdk and rust_decimal
- updates tokio-util to 0.7
- updates workflow to use actions/setup-python@3
- updates pem and serde_with
- adds stable rust toolchain notice to readme
953: Adjust quote based on Bitcoin balance r=lescuer97 a=lescuer97
Fixes#939#963
Please comment in the new method for getting a Monero value, I had to allow clippy::cast_precision_loss to convert to a f64, for our use case I don't really thing we will lose much precision.
Please comment on the implementation of the check.
Co-authored-by: leonardo <leoescuer@protonmail.com>
927: Bump time from 0.3.3 to 0.3.7 r=delta1 a=dependabot[bot]
Bumps [time](https://github.com/time-rs/time) from 0.3.3 to 0.3.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/time-rs/time/releases">time's releases</a>.</em></p>
<blockquote>
<h2>v0.3.7</h2>
<p>See the <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a> for details.</p>
<h2>v0.3.6</h2>
<p>See the <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a> for details.</p>
<h2>v0.3.5</h2>
<p>See the <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a> for details.</p>
<h2>v0.3.4</h2>
<p>No release notes provided.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">time's changelog</a>.</em></p>
<blockquote>
<h2>0.3.7 [2021-01-26]</h2>
<h3>Fixed</h3>
<p>Solaris and Illumos build again.</p>
<h2>0.3.6 [2022-01-20]</h2>
<h3>Added</h3>
<ul>
<li><code>Date::saturating_add</code></li>
<li><code>Date::saturating_sub</code></li>
<li><code>PrimitiveDateTime::saturating_add</code></li>
<li><code>PrimitiveDateTime::saturating_sub</code></li>
<li><code>OffsetDateTime::saturating_add</code></li>
<li><code>OffsetDateTime::saturating_sub</code></li>
<li><code>PrimitiveDatetime::MIN</code></li>
<li><code>PrimitiveDatetime::MAX</code></li>
<li><code>Rfc2822</code> format description</li>
<li>Serde support for well-known formats
<ul>
<li>This is placed behind the new <code>serde-well-known</code> feature flag.</li>
</ul>
</li>
</ul>
<h3>Changed</h3>
<ul>
<li>MacOS and FreeBSD are supported obtaining the local offset when single-threaded.
<ul>
<li>Starting with this version, this is delegated to the <code>num_threads</code> crate.</li>
</ul>
</li>
<li>Leap seconds are now parsed as the final nanosecond of the preceding second.</li>
<li>The minimum supported Rust version is now 1.53.0.</li>
<li>Deserializers for human readable formats will fall back to the binary format if the human readable
format fails to deserialize.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Deserialization will no longer fail when given a non-borrowed string.</li>
</ul>
<h2>0.3.5 [2021-11-12]</h2>
<h3>Added</h3>
<ul>
<li><code>Date::checked_add</code></li>
<li><code>Date::checked_sub</code></li>
<li><code>PrimitiveDateTime::checked_add</code></li>
<li><code>PrimitiveDateTime::checked_sub</code></li>
<li><code>OffsetDateTime::checked_add</code></li>
<li><code>OffsetDateTime::checked_sub</code></li>
</ul>
<h3>Changed</h3>
<ul>
<li>Attempts to obtain the local UTC offset will now succeed on Linux if the process is
single-threaded. This does not affect other Unix platforms. As a reminder, the relevant methods</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="592ef915cf"><code>592ef91</code></a> v0.3.7 release</li>
<li><a href="deb8161b84"><code>deb8161</code></a> Update CI targets, powerset frequency</li>
<li><a href="83da427e50"><code>83da427</code></a> Fix Solaris/Illumos build</li>
<li><a href="4c63a8a492"><code>4c63a8a</code></a> Add 0.3.6 changelog section (<a href="https://github-redirect.dependabot.com/time-rs/time/issues/435">#435</a>)</li>
<li><a href="3ff4543511"><code>3ff4543</code></a> 0.3.6 release</li>
<li><a href="1dfb2682d9"><code>1dfb268</code></a> Mention, that Instant has no serde support</li>
<li><a href="2b9e193afa"><code>2b9e193</code></a> Bump license year</li>
<li><a href="bf5f830605"><code>bf5f830</code></a> Defer to <code>num_threads</code> for OS support</li>
<li><a href="f6baa3f07e"><code>f6baa3f</code></a> Use more correct feature gates</li>
<li><a href="eef9bafc1a"><code>eef9baf</code></a> Add test for multithreaded Unix systems</li>
<li>Additional commits viewable in <a href="https://github.com/time-rs/time/compare/v0.3.3...v0.3.7">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=time&package-manager=cargo&previous-version=0.3.3&new-version=0.3.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
You can trigger a rebase of this PR 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>
928: Bump tokio from 1.12.0 to 1.16.1 r=delta1 a=dependabot[bot]
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.12.0 to 1.16.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/tokio-rs/tokio/releases">tokio's releases</a>.</em></p>
<blockquote>
<h2>Tokio v1.16.1</h2>
<h1>1.16.1 (January 28, 2022)</h1>
<p>This release fixes a bug in <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4428">#4428</a> with the change <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4437">#4437</a>.</p>
<p><a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4428">#4428</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/pull/4428">tokio-rs/tokio#4428</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4437">#4437</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/pull/4437">tokio-rs/tokio#4437</a></p>
<h2>Tokio v1.16.0</h2>
<p>Fixes a soundness bug in <code>io::Take</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4428">#4428</a>). The unsoundness is exposed when
leaking memory in the given <code>AsyncRead</code> implementation and then overwriting the
supplied buffer:</p>
<pre lang="rust"><code>impl AsyncRead for Buggy {
fn poll_read(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
buf: &mut ReadBuf<'_>
) -> Poll<Result<()>> {
let new_buf = vec![0; 5].leak();
*buf = ReadBuf::new(new_buf);
buf.put_slice(b"hello");
Poll::Ready(Ok(()))
}
}
</code></pre>
<p>Also, this release includes improvements to the multi-threaded scheduler that
can increase throughput by up to 20% in some cases (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4383">#4383</a>).</p>
<h3>Fixed</h3>
<ul>
<li>io: <strong>soundness</strong> don't expose uninitialized memory when using <code>io::Take</code> in edge case (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4428">#4428</a>)</li>
<li>fs: ensure <code>File::write</code> results in a <code>write</code> syscall when the runtime shuts down (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4316">#4316</a>)</li>
<li>process: drop pipe after child exits in <code>wait_with_output</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4315">#4315</a>)</li>
<li>rt: improve error message when spawning a thread fails (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4398">#4398</a>)</li>
<li>rt: reduce false-positive thread wakups in the multi-threaded scheduler (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4383">#4383</a>)</li>
<li>sync: don't inherit <code>Send</code> from <code>parking_lot::*Guard</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4359">#4359</a>)</li>
</ul>
<h3>Added</h3>
<ul>
<li>net: <code>TcpSocket::linger()</code> and <code>set_linger()</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4324">#4324</a>)</li>
<li>net: impl <code>UnwindSafe</code> for socket types (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4384">#4384</a>)</li>
<li>rt: impl <code>UnwindSafe</code> for <code>JoinHandle</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4418">#4418</a>)</li>
<li>sync: <code>watch::Receiver::has_changed()</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4342">#4342</a>)</li>
<li>sync: <code>oneshot::Receiver::blocking_recv()</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4334">#4334</a>)</li>
<li>sync: <code>RwLock</code> blocking operations (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4425">#4425</a>)</li>
</ul>
<h3>Unstable</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="91b9850505"><code>91b9850</code></a> chore: prepare Tokio v1.16.1 release (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4438">#4438</a>)</li>
<li><a href="3c467056e9"><code>3c46705</code></a> io: fix take pointer check (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4437">#4437</a>)</li>
<li><a href="afd2189eec"><code>afd2189</code></a> chore: prepare Tokio v1.16 release (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4431">#4431</a>)</li>
<li><a href="986b88b3f1"><code>986b88b</code></a> chore: update year in LICENSE files (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4429">#4429</a>)</li>
<li><a href="257053e40b"><code>257053e</code></a> util: add <code>spawn_pinned</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/3370">#3370</a>)</li>
<li><a href="5af9e0db2b"><code>5af9e0d</code></a> sync: add blocking lock methods to <code>RwLock</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4425">#4425</a>)</li>
<li><a href="8f77ee8609"><code>8f77ee8</code></a> net: add generic trait to combine UnixListener and TcpListener (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4385">#4385</a>)</li>
<li><a href="2747043f6f"><code>2747043</code></a> tests: enable running wasm32-unknown-unknown tests (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4421">#4421</a>)</li>
<li><a href="2a5071fc2d"><code>2a5071f</code></a> feat: implement <code>Framed::map_codec</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4427">#4427</a>)</li>
<li><a href="621790e165"><code>621790e</code></a> io: fix <code>take</code> when using evil reader (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4428">#4428</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/tokio-rs/tokio/compare/tokio-1.12.0...tokio-1.16.1">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tokio&package-manager=cargo&previous-version=1.12.0&new-version=1.16.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
You can trigger a rebase of this PR 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>
945: Bump dialoguer from 0.8.0 to 0.10.0 r=delta1 a=dependabot[bot]
Bumps [dialoguer](https://github.com/mitsuhiko/dialoguer) from 0.8.0 to 0.10.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/mitsuhiko/dialoguer/blob/master/CHANGELOG.md">dialoguer's changelog</a>.</em></p>
<blockquote>
<h2>0.10.0</h2>
<h3>Enhancements</h3>
<ul>
<li>Loosen some trait bounds</li>
<li>Improve keyboard interactions (<a href="https://github-redirect.dependabot.com/mitsuhiko/dialoguer/issues/141">#141</a>, <a href="https://github-redirect.dependabot.com/mitsuhiko/dialoguer/issues/162">#162</a>)</li>
<li>Added <code>max_length</code> to <code>MultiSelect</code>, <code>Select</code> and <code>Sort</code></li>
<li>Allow completion support for <code>Input::interact_text*</code> behind <code>completion</code> feature</li>
</ul>
<h3>Breaking</h3>
<ul>
<li>All prompts <code>*::new</code> will now don't report selected values unless <code>report(true)</code> is called on them.</li>
</ul>
<h2>0.9.0</h2>
<h3>Enhancements</h3>
<ul>
<li>Apply input validation to the default value too in <code>Input</code></li>
<li>Added <code>FuzzySelect</code> behind <code>fuzzy-select</code> feature</li>
<li>Allow history processing for <code>Input::interact_text*</code> behind <code>history</code> feature</li>
<li>Added <code>interact_*_opt</code> methods for <code>MultiSelect</code> and <code>Sort</code>.</li>
</ul>
<h3>Breaking</h3>
<ul>
<li>Updated MSRV to <code>1.51.0</code></li>
<li><code>Editor</code> is gated behind <code>editor</code> feature</li>
<li><code>Password</code>, <code>Theme::format_password_prompt</code> and <code>Theme::format_password_prompt_selection</code> are gated behind <code>password</code> feature</li>
<li>Remove <code>Select::paged()</code>, <code>Sort::paged()</code> and <code>MultiSelect::paged()</code> in favor of automatic paging based on terminal size</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="e93d99320d"><code>e93d993</code></a> Release 0.10.0</li>
<li><a href="c93224aec4"><code>c93224a</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/mitsuhiko/dialoguer/issues/162">#162</a> from craciuncezar/limit-visible-options-in-fuzzy-select</li>
<li><a href="dee84e93f3"><code>dee84e9</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/mitsuhiko/dialoguer/issues/169">#169</a> from bryanhitc/bryanhitc/fix-completion-buffer-overflow</li>
<li><a href="e4ffea8902"><code>e4ffea8</code></a> fix formatting and improve naming</li>
<li><a href="cb1e9a5ce6"><code>cb1e9a5</code></a> Fix buffer overflow for completion example</li>
<li><a href="252a183fe0"><code>252a183</code></a> Fix linting warnings</li>
<li><a href="f1e46a55e9"><code>f1e46a5</code></a> Add scroll functionality</li>
<li><a href="94a276d9e8"><code>94a276d</code></a> Limit the number of visible options in fuzzy select</li>
<li><a href="29da763bf7"><code>29da763</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/mitsuhiko/dialoguer/issues/153">#153</a> from danieleades/refactor/clippy</li>
<li><a href="8fde6ae39b"><code>8fde6ae</code></a> lint examples and tests</li>
<li>Additional commits viewable in <a href="https://github.com/mitsuhiko/dialoguer/compare/0.8.0...v0.10.0">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=dialoguer&package-manager=cargo&previous-version=0.8.0&new-version=0.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
You can trigger a rebase of this PR 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>
881: Record the monero-wallet-restore blockcheight before locking BTC r=da-kami a=da-kami
This solves issues where the CLI went offline after sending the BTC transaction, and the monero wallet restore blockheight being recorded after Alice locked the Monero, resulting in the generated XMR redeem wallet not detecting the transaction and reporting `No unlocked balance in the specified account`.
Co-authored-by: Daniel Karzel <daniel@comit.network>
This solves issues where the CLI went offline after sending the BTC transaction, and the monero wallet restore blockheight being recorded after Alice locked the Monero, resulting in the generated XMR redeem wallet not detecting the transaction and reporting `No unlocked balance in the specified account`.