625: Release version 0.8.0 r=da-kami a=comit-botty-mc-botface
Hi @da-kami!
This PR was created in response to a manual trigger of the release workflow here: https://github.com/comit-network/xmr-btc-swap/actions/runs/1013671991.
I've updated the changelog and bumped the versions in the manifest files in this commit: 403e3d2b33.
Merging this PR will create a GitHub release and upload any assets that are created as part of the release build.
Co-authored-by: COMIT Botty McBotface <botty@coblox.tech>
624: Remove rendezvous point default r=da-kami a=thomaseizinger
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
Co-authored-by: Daniel Karzel <daniel@comit.network>
622: Bump hyper from 0.14.9 to 0.14.10 r=thomaseizinger a=dependabot[bot]
Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.9 to 0.14.10.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/hyperium/hyper/releases">hyper's releases</a>.</em></p>
<blockquote>
<h2>v0.14.10</h2>
<h2>Bug Fixes</h2>
<ul>
<li><strong>http1:</strong>
<ul>
<li>reject content-lengths that have a plus sign prefix (<a href="06335158ca">06335158</a>) (<strong>Security</strong> GHSA-f3pg-qwvg-p99c)</li>
<li>protect against overflow in chunked decoder (<a href="efd9a9821f">efd9a982</a>) (<strong>Security</strong> GHSA-5h46-h7hh-c6x9)</li>
</ul>
</li>
</ul>
<h2>Features</h2>
<ul>
<li><strong>ffi:</strong> add option to get raw headers from response (<a href="8c89a8c166">8c89a8c1</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/hyperium/hyper/blob/master/CHANGELOG.md">hyper's changelog</a>.</em></p>
<blockquote>
<h3>v0.14.10 (2021-07-07)</h3>
<h4>Bug Fixes</h4>
<ul>
<li><strong>http1:</strong>
<ul>
<li>reject content-lengths that have a plus sign prefix (<a href="06335158ca">06335158</a>)</li>
<li>protect against overflow in chunked decoder (<a href="efd9a9821f">efd9a982</a>)</li>
</ul>
</li>
</ul>
<h4>Features</h4>
<ul>
<li><strong>ffi:</strong> add option to get raw headers from response (<a href="8c89a8c166">8c89a8c1</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="9b69cbc254"><code>9b69cbc</code></a> v0.14.10</li>
<li><a href="1fb719e0b6"><code>1fb719e</code></a> fix(http1): reject content-lengths that have a plus sign prefix</li>
<li><a href="1068b994df"><code>1068b99</code></a> fix(http1): protect against overflow in chunked decoder</li>
<li><a href="11cb4725ad"><code>11cb472</code></a> refactor(http2): fix unstable name clash of Cursor::remaining</li>
<li><a href="13594c377d"><code>13594c3</code></a> chore(github): merge duplicate issue templates</li>
<li><a href="c60a9dd9c9"><code>c60a9dd</code></a> chore(github): add issue templates</li>
<li><a href="8c89a8c166"><code>8c89a8c</code></a> feat(ffi): add option to get raw headers from response</li>
<li><a href="08b2138e40"><code>08b2138</code></a> refactor(error): add header parse error details in <code>hyper::Error</code></li>
<li><a href="ea8b0cd86e"><code>ea8b0cd</code></a> refactor(error): remove PartialEq derives for error kind enums</li>
<li>See full diff in <a href="https://github.com/hyperium/hyper/compare/v0.14.9...v0.14.10">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hyper&package-manager=cargo&previous-version=0.14.9&new-version=0.14.10)](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>
615: Update default Monero node URLs and info r=thomaseizinger a=da-kami
xmr.to nodes are not served at the xmr.to domain but moved to melo.tools
Co-authored-by: Daniel Karzel <daniel@comit.network>
617: Sort seller list inside of `list_sellers` r=thomaseizinger a=da-kami
By sorting the list inside we have a more deterministic output that makes processing in JSON easier.
Co-authored-by: Daniel Karzel <daniel@comit.network>
The Rust compiler doesn't guarantee in which order field initialization
are executed. By extracting them, we can make sure they run in a certain
order. This will be important as we add more validations that can
fail.
613: Bump vergen from 5.1.11 to 5.1.12 r=thomaseizinger a=dependabot[bot]
Bumps [vergen](https://github.com/rustyhorde/vergen) from 5.1.11 to 5.1.12.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rustyhorde/vergen/releases">vergen's releases</a>.</em></p>
<blockquote>
<h2>v5.1.12</h2>
<ul>
<li>Pinned <code>sysinfo</code> crate to 0.19.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="a113046c21"><code>a113046</code></a> version bump for next release</li>
<li><a href="a2ee46f16a"><code>a2ee46f</code></a> pin sysinfo to lowest supported version (<a href="https://github-redirect.dependabot.com/rustyhorde/vergen/issues/81">#81</a>)</li>
<li>See full diff in <a href="https://github.com/rustyhorde/vergen/compare/5.1.11...5.1.12">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=vergen&package-manager=cargo&previous-version=5.1.11&new-version=5.1.12)](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>
611: Release version 0.8.0 r=da-kami a=comit-botty-mc-botface
Hi @da-kami!
This PR was created in response to a manual trigger of the release workflow here: https://github.com/comit-network/xmr-btc-swap/actions/runs/1007327199.
I've updated the changelog and bumped the versions in the manifest files in this commit: 50da958078.
Merging this PR will create a GitHub release and upload any assets that are created as part of the release build.
Co-authored-by: COMIT Botty McBotface <botty@coblox.tech>
610: Provide a commit-specific version output r=da-kami a=thomaseizinger
For builds made directly on the tag, the output of `--version` will
not change. For builds not made on a tagged commit, the output will
look something like this:
```
> swap --version
swap 0.7.0-117-g93161f9
```
Fixes#409.
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
For builds made directly on the tag, the output of `--version` will
not change. For builds not made on a tagged commit, the output will
look something like this:
```
> swap --version
swap 0.7.0-117-g93161f9
```
Fixes#409.
606: Script to list sellers and auto trigger swap + docs r=da-kami a=da-kami
Uses best price to determine the seller to swap with.
TODO:
- [x] Codebase to be tested on test-/stagenet.
- [x] Update readme
- [x] Update docs
This includes a couple of changes that I found while toying with the output and writing docs. Can drop the individual commits if necessary (but would need to adapt the docs then).
Co-authored-by: Daniel Karzel <daniel@comit.network>
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
We emit an `info!` log for every peer that we discover but only ever
emitted a `debug!` log if we fail to connect. This leads to a situation
where the user would run `swap list-sellers`, the logs would say
"Discovered XYZ at ABC" but then get a potentially empty table.
To not confuse the user, we include unreachable nodes in the table output.
For example:
```
Connected to rendezvous point, discovering nodes in 'xmr-btc-swap-testnet' namespace ...
Discovered peer 12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx at /dns4/ac4hgzmsmekwekjbdl77brufqqbylddugzze4tel6qsnlympgmr46iid.onion/tcp/8765
+-------+--------------+--------------+-------------+----------------------------------------------------------------------------------------------------------------------------------------+
| PRICE | MIN_QUANTITY | MAX_QUANTITY | STATUS | ADDRESS |
+============================================================================================================================================================================================+
| ??? | ??? | ??? | Unreachable | /dns4/ac4hgzmsmekwekjbdl77brufqqbylddugzze4tel6qsnlympgmr46iid.onion/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx |
+-------+--------------+--------------+-------------+----------------------------------------------------------------------------------------------------------------------------------------+
```
1. Clearly separate the log messages from any fields that are
captured. The log message itself should be meaningful because it
depends on the underlying formatter, how/if the fields are displayed.
2. Some log messages had very little context, expand that.
3. Wording of errors was inconsistent, hopefully all errors should
now start with `Failed to ...`.
4. Some log messages were duplicated across multiple layers (like opening
the database).
5. Some log messages were split into two where one part is now an `error!`
and the 2nd part is an `info!` on what is happening next.
6. Where appropriate, punctuation has been removed to not interrupt
the reader's flow.