ea9557ba69 chore(deps): bump python upper version (roshii)
Pull request description:
ACKs for top commit:
kristapsk:
ACK ea9557ba69. Checked locally that tests passes and there are no other changes that could break things.
Tree-SHA512: ff929404e8baadf0c9c19210cbfb9095cc6dde8e795bfbb0b26bf3a4a8f033dd4156feedcc848dc50481b4e4372e152ac0faad1e3e1c42ad82458d253d4b859a
8675a2979c install.sh: use debian dist libffi (3np)
Pull request description:
We can use `libffi-dev` and `libffi8` debian packages instead of downloading and building from source. Significantly reduces build time.
- bookworm/oldstable: `3.4.4` (https://packages.debian.org/bookworm/libffi-dev)
- trixie/stable: `3.4.8` (https://packages.debian.org/trixie/libffi-dev)
fall back to installing libffi from source like before on non-debian targets
ACKs for top commit:
AdamISZ:
tACK 8675a2979c
kristapsk:
ACK 8675a2979c
Tree-SHA512: a88faff6452b4e75de6db095dff950667d5494045742a014150bd19187f34bc3f3c134ecb8bc6f3d1b03ff6fec091ecb270de0160efd9c892dfdbeed2a7a2210
d87e7cb78a Replace default directory nodes with currently working ones (Kristaps Kaupe)
Pull request description:
These ones are currently working ones according both to https://directories.w3ird.tech/ and my local monitoring using [jm-dn-uptime](https://github.com/kristapsk/jm-dn-uptime).
ACKs for top commit:
AdamISZ:
tACK the list in d87e7cb78a across a couple of runs (across several days).
Tree-SHA512: 9e40ee4d05562cd90bd15b811ccd0c765081776323244031c6d1c1f0988d6048a54a33cd9c335bbcefde868b9d6b0a23fdbaec950d2aa11a6cbac3004cf13af8
b4e3fdda47 Update minimum supported Bitcoin Core version to 28.1 (3np)
Pull request description:
Drop minimum supported Bitcoin Core version from 29.0 to 28.1.
Minimum version was lifted in #1782. The motivating bitcoin-core issue was patched in 28.1. Bitcoin Core 28.1 was released alongside 29.0. Bitcoin Core 28.3 was released in June this year and has more recent fixes backported than 29.0.
ACKs for top commit:
kristapsk:
utACK b4e3fdda47
Tree-SHA512: c4d4c4c09156e01667c87d0e0b5815c3106530363e7d2d2e3a015538520a6c6aeeef28edfd3aeb5ee40c6f0c879d81fb64daa244b8148c32da570b8439c917e5
091ce515e9 fix(deps): bencode library (roshii)
Pull request description:
Migrate from abandoned `bencoder.pyx` to `fastbencode`.
Update minimum Python version requirement to 3.9 (with 3.8 effectively eol since a year)
Python 3.13 compatibility will require other dependencies bumping such as `twisted` in https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/1732
Closes: https://github.com/JoinMarket-Org/joinmarket-clientserver/issues/1805
Top commit has no ACKs.
Tree-SHA512: b498fdead26b0f6b7b97448b3eee0a5b09ec379a63dbfa69b2b1c1d7e02f30e20ab15c52f7c4223f68189e2d244bf49d04dde4dbb2ae2f0cde865d4c5e0dc6da
style: revert formatting
fix(deps): update fastbencode to use rust variant
style: new line
chore: fix typo
Co-authored-by: Marnix Croes <93143998+MarnixCroes@users.noreply.github.com>
chore(deps): bump fastbencode to v0.3.6
chore(deps): remove fastbencode rust extra
c54c11cd17 Bump twisted from 23.10.0 to 24.7.0 (dependabot[bot])
Pull request description:
Bumps [twisted](https://github.com/twisted/twisted) from 23.10.0 to 24.7.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/twisted/twisted/releases">twisted's releases</a>.</em></p>
<blockquote>
<h1>Twisted 24.7.0 (2024-08-08)</h1>
<p>24.7.0.rc2 fixed an unreleased regression caused by PR 12109. (<a href="https://redirect.github.com/twisted/twisted/issues/12279">#12279</a>)
No other changes since 24.7.0.rc2</p>
<h2>Features</h2>
<ul>
<li>twisted.protocols.ftp now supports the IPv6 extensions defined in RFC 2428. (<a href="https://redirect.github.com/twisted/twisted/issues/9645">#9645</a>)</li>
<li>twisted.internet.defer.inlineCallbacks can now yield a coroutine. (<a href="https://redirect.github.com/twisted/twisted/issues/9972">#9972</a>)</li>
<li>twisted.python._shellcomp.ZshArgumentsGenerator was updated for Python 3.13. (<a href="https://redirect.github.com/twisted/twisted/issues/12065">#12065</a>)</li>
<li>twisted.web.wsgi request environment now contains the peer port number as <code>REMOTE_PORT</code>. (<a href="https://redirect.github.com/twisted/twisted/issues/12096">#12096</a>)</li>
<li>twisted.internet.defer.Deferred.callback() and twisted.internet.defer.Deferred.addCallbacks() no longer use <code>assert</code> to check the type of the arguments. You should now use type checking to validate your code. These changes were done to reduce the CPU usage. (<a href="https://redirect.github.com/twisted/twisted/issues/12122">#12122</a>)</li>
<li>Added two new methods, twisted.logger.Logger.failuresHandled and twisted.logger.Logger.failureHandler, which allow for more concise and convenient handling of exceptions when dispatching out to application code. The former can arbitrarily customize failure handling at the call site, and the latter can be used for performance-sensitive cases where no additional information needs to be logged. (<a href="https://redirect.github.com/twisted/twisted/issues/12188">#12188</a>)</li>
<li>twisted.internet.defer.Deferred.addCallback now runs about 10% faster. (<a href="https://redirect.github.com/twisted/twisted/issues/12223">#12223</a>)</li>
<li>twisted.internet.defer.Deferred error handling is now faster, taking 40% less time to run. (<a href="https://redirect.github.com/twisted/twisted/issues/12227">#12227</a>)</li>
</ul>
<h2>Bugfixes</h2>
<ul>
<li>Fixed unreleased regression caused by PR <a href="https://redirect.github.com/twisted/twisted/issues/12109">#12109</a>. (<a href="https://redirect.github.com/twisted/twisted/issues/12279">#12279</a>)</li>
<li>twisted.internet.ssl.Certificate.<strong>repr</strong> can now handle certificates without a common name (CN) in the certificate itself or the signing CA. (<a href="https://redirect.github.com/twisted/twisted/issues/5851">#5851</a>)</li>
<li>Type annotations have been added to twisted.conch.interfaces.IKnownHostEntry and its implementations, twisted.conch.client.knownhosts.PlainHost and twisted.conch.client.knownhosts.HashedHost, correcting a variety of type confusion issues throughout the conch client code. (<a href="https://redirect.github.com/twisted/twisted/issues/9713">#9713</a>)</li>
<li>twisted.python.failure.Failure once again utilizes the custom pickling logic it used to in the past. (<a href="https://redirect.github.com/twisted/twisted/issues/12112">#12112</a>)</li>
<li>twisted.conch.client.knownhosts.KnownHostsFile.verifyHostKey no longer logs an exception when automatically adding an IP address host key, which means the interactive <code>conch</code> command-line no longer will either. (<a href="https://redirect.github.com/twisted/twisted/issues/12141">#12141</a>)</li>
</ul>
<h2>Improved Documentation</h2>
<ul>
<li>The IRC server example found in the documentation was updated for readability. (<a href="https://redirect.github.com/twisted/twisted/issues/12097">#12097</a>)</li>
<li>Remove contextvars from list of optional dependencies. (<a href="https://redirect.github.com/twisted/twisted/issues/12128">#12128</a>)</li>
<li>The documentation for installing Twisted was moved into a single page. (<a href="https://redirect.github.com/twisted/twisted/issues/12145">#12145</a>)</li>
<li>The project's compatibility policy now clearly indicates that the GitHub Actions test matrix defines the supported platforms. (<a href="https://redirect.github.com/twisted/twisted/issues/12167">#12167</a>)</li>
<li>Updated imap4client.py example, it no longer references Python 2. (<a href="https://redirect.github.com/twisted/twisted/issues/12252">#12252</a>)</li>
</ul>
<h2>Deprecations and Removals</h2>
<ul>
<li>twisted.internet.defer.returnValue has been deprecated. You can replace it with the standard <code>return</code> statement. (<a href="https://redirect.github.com/twisted/twisted/issues/9930">#9930</a>)</li>
<li>The <code>twisted-iocpsupport</code> is no longer a hard dependency on Windows.
The IOCP support is now installed together with the other Windows soft
dependencies via <code>twisted[windows-platform]</code>. (<a href="https://redirect.github.com/twisted/twisted/issues/11893">#11893</a>)</li>
<li>twisted.python.deprecate helper function will now always strip whitespaces from the docstrings.
This is done to have the same behaviour as with Python 3.13. (<a href="https://redirect.github.com/twisted/twisted/issues/12063">#12063</a>)</li>
<li>twisted.conch.manhole.ManholeInterpreter.write, twisted.conch.manhole.ManholeInterpreter.addOutput, twisted.mail.imap4.IMAP4Server.sendUntaggedResponse <code>async</code> argument, deprecated since 18.9.0, has been removed. (<a href="https://redirect.github.com/twisted/twisted/issues/12130">#12130</a>)</li>
<li>twisted.web.soap was removed.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/twisted/twisted/blob/trunk/NEWS.rst">twisted's changelog</a>.</em></p>
<blockquote>
<h1>Twisted 24.7.0 (2024-08-08)</h1>
<p>24.7.0.rc2 fixed an unreleased regression caused by PR 12109. (<a href="https://redirect.github.com/twisted/twisted/issues/12279">#12279</a>)
No other changes since 24.7.0.rc2</p>
<h2>Security Advisories</h2>
<ul>
<li>twisted.web.util.redirectTo now HTML-escapes the provided URL in the fallback response body it returns (GHSA-cf56-g6w6-pqq2, CVE-2024-41810). (<a href="https://redirect.github.com/twisted/twisted/issues/9839">#9839</a>)</li>
<li>The HTTP 1.0 and 1.1 server provided by twisted.web could process pipelined HTTP requests out-of-order, possibly resulting in information disclosure (CVE-2024-41671/GHSA-c8m8-j448-xjx7) (<a href="https://redirect.github.com/twisted/twisted/issues/12248">#12248</a>)</li>
</ul>
<h2>Features</h2>
<ul>
<li>twisted.protocols.ftp now supports the IPv6 extensions defined in RFC 2428. (<a href="https://redirect.github.com/twisted/twisted/issues/9645">#9645</a>)</li>
<li>twisted.internet.defer.inlineCallbacks can now yield a coroutine. (<a href="https://redirect.github.com/twisted/twisted/issues/9972">#9972</a>)</li>
<li>twisted.python._shellcomp.ZshArgumentsGenerator was updated for Python 3.13. (<a href="https://redirect.github.com/twisted/twisted/issues/12065">#12065</a>)</li>
<li>twisted.web.wsgi request environment now contains the peer port number as <code>REMOTE_PORT</code>. (<a href="https://redirect.github.com/twisted/twisted/issues/12096">#12096</a>)</li>
<li>twisted.internet.defer.Deferred.callback() and twisted.internet.defer.Deferred.addCallbacks() no longer use <code>assert</code> to check the type of the arguments. You should now use type checking to validate your code. These changes were done to reduce the CPU usage. (<a href="https://redirect.github.com/twisted/twisted/issues/12122">#12122</a>)</li>
<li>Added two new methods, twisted.logger.Logger.failuresHandled and twisted.logger.Logger.failureHandler, which allow for more concise and convenient handling of exceptions when dispatching out to application code. The former can arbitrarily customize failure handling at the call site, and the latter can be used for performance-sensitive cases where no additional information needs to be logged. (<a href="https://redirect.github.com/twisted/twisted/issues/12188">#12188</a>)</li>
<li>twisted.internet.defer.Deferred.addCallback now runs about 10% faster. (<a href="https://redirect.github.com/twisted/twisted/issues/12223">#12223</a>)</li>
<li>twisted.internet.defer.Deferred error handling is now faster, taking 40% less time to run. (<a href="https://redirect.github.com/twisted/twisted/issues/12227">#12227</a>)</li>
</ul>
<h2>Bugfixes</h2>
<ul>
<li>twisted.internet.ssl.Certificate.<strong>repr</strong> can now handle certificates without a common name (CN) in the certificate itself or the signing CA. (<a href="https://redirect.github.com/twisted/twisted/issues/5851">#5851</a>)</li>
<li>Type annotations have been added to twisted.conch.interfaces.IKnownHostEntry and its implementations, twisted.conch.client.knownhosts.PlainHost and twisted.conch.client.knownhosts.HashedHost, correcting a variety of type confusion issues throughout the conch client code. (<a href="https://redirect.github.com/twisted/twisted/issues/9713">#9713</a>)</li>
<li>twisted.python.failure.Failure once again utilizes the custom pickling logic it used to in the past. (<a href="https://redirect.github.com/twisted/twisted/issues/12112">#12112</a>)</li>
<li>twisted.conch.client.knownhosts.KnownHostsFile.verifyHostKey no longer logs an exception when automatically adding an IP address host key, which means the interactive <code>conch</code> command-line no longer will either. (<a href="https://redirect.github.com/twisted/twisted/issues/12141">#12141</a>)</li>
</ul>
<h2>Improved Documentation</h2>
<ul>
<li>The IRC server example found in the documentation was updated for readability. (<a href="https://redirect.github.com/twisted/twisted/issues/12097">#12097</a>)</li>
<li>Remove contextvars from list of optional dependencies. (<a href="https://redirect.github.com/twisted/twisted/issues/12128">#12128</a>)</li>
<li>The documentation for installing Twisted was moved into a single page. (<a href="https://redirect.github.com/twisted/twisted/issues/12145">#12145</a>)</li>
<li>The project's compatibility policy now clearly indicates that the GitHub Actions test matrix defines the supported platforms. (<a href="https://redirect.github.com/twisted/twisted/issues/12167">#12167</a>)</li>
<li>Updated imap4client.py example, it no longer references Python 2. (<a href="https://redirect.github.com/twisted/twisted/issues/12252">#12252</a>)</li>
</ul>
<h2>Deprecations and Removals</h2>
<ul>
<li>twisted.internet.defer.returnValue has been deprecated. You can replace it with the standard <code>return</code> statement. (<a href="https://redirect.github.com/twisted/twisted/issues/9930">#9930</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="8cb7d2bcf5"><code>8cb7d2b</code></a> python -m incremental.update Twisted --newversion 24.7.0</li>
<li><a href="05b4a87fdc"><code>05b4a87</code></a> Update news.</li>
<li><a href="a30fcf654e"><code>a30fcf6</code></a> Fix conflict.</li>
<li><a href="db61dbb794"><code>db61dbb</code></a> tox -e towncrier</li>
<li><a href="34dc72e14e"><code>34dc72e</code></a> python -m incremental.update Twisted --rc</li>
<li><a href="4814526f91"><code>4814526</code></a> Fix regression in CopiedFailure</li>
<li><a href="b51c186006"><code>b51c186</code></a> Move securitu fixes to a separate security advisories.</li>
<li><a href="c0b035c85b"><code>c0b035c</code></a> Fix typos</li>
<li><a href="6970f5c650"><code>6970f5c</code></a> Fix typo.</li>
<li><a href="6d157ca99c"><code>6d157ca</code></a> tox -e towncrier</li>
<li>Additional commits viewable in <a href="https://github.com/twisted/twisted/compare/twisted-23.10.0...twisted-24.7.0">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@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)
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/JoinMarket-Org/joinmarket-clientserver/network/alerts).
</details>
ACKs for top commit:
roshii:
Tested ACK c54c11cd17
Tree-SHA512: de0dfb9e1675d7b37d712fcdc8bc677335dfac4e1e7cc470008cd09af81ce17388b4857a5d211b9bc4166a7cefc09e98cf3009c96f2574f19fdd5ebeae8aa998
646999179b RPC-API: Implement message signing (Kristaps Kaupe)
Pull request description:
Resolves#1533.
My first attempt at adding new RPC-API endpoint, there could be mistakes.
Didn't add tests in `jmclient/test/test_wallet_rpc.py` as message signing is currently supported for mainnet only, not regtest (but I tested HTTP 400 response with regtest).
Top commit has no ACKs.
Tree-SHA512: 927b1f97ef903e48f82aa3ae70c7ead05c919a28d016d1ad4fd9c7a8299f8faa7606c30ef24af0ce3cd504e8e27b37bc55d1989bf89da88572ac79af0e60ec12