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>