Commit graph

2425 commits

Author SHA1 Message Date
Adam Gibson
c2dd2534af
add archiving note 2026-04-27 09:22:47 -03:00
Adam Gibson
77a426c504
add release notes for 0.9.12 2026-04-20 12:34:06 -03:00
Adam Gibson
5252017f99
Merge JoinMarket-Org/joinmarket-clientserver#1838: Fix case commitments 2026-04-14 09:07:45 -03:00
Adam Gibson
092b48000f
Checks case of inbound commitments before comparison.
Before this change, a malicious taker could send the same
commitment with different case/formatting, and it would not
be rejected as reuse, which is the intended behaviour. The
commitment is defined by the H(P2) value, not the string.
Reported by @m0wer ; included feedback from @kristapsk and Copilot.
2026-04-13 16:43:45 -03:00
merge-script
ce32bafbb5
Merge JoinMarket-Org/joinmarket-clientserver#1820: ci: no fail-fast for unittests
9eaca78600 ci: no fail-fast for unittests (3np)

Pull request description:

  Let all unittest jobs finish to completion even if one in the matrix fails.

  This should make it easier and quicker to distinguish between:
  - Legitimate new regressions affecting all runtimes
  - Flaky tests
  - Differences between runtimes
  - Whether errors are consistent or intermittent

  without manually restarting or retrying.

  https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax#jobsjob_idstrategyfail-fast

  Also ensures results for `master` have complete coverage (for example one was skipped for 5246c1ccb5: https://github.com/JoinMarket-Org/joinmarket-clientserver/actions/runs/18861473464/job/53820509485 )

ACKs for top commit:
  kristapsk:
    cr utACK 9eaca78600

Tree-SHA512: 28c4b9b70b8bd27ef5729ff062c3062faf9954062085d126892f347e1ea430790a89dd46bef53e153b7880b6e0474769a34b1e383b90ec1e39892209388285da
2025-11-29 21:51:35 +02:00
merge-script
21cbc3179a
Merge JoinMarket-Org/joinmarket-clientserver#1814: chore(deps): bump upper python requirement to 3.13
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
2025-11-02 11:08:47 +02:00
3np
9eaca78600 ci: no fail-fast for unittests 2025-11-01 01:22:13 +00:00
merge-script
021e2e5437
Merge JoinMarket-Org/joinmarket-clientserver#1818: install.sh: use debian dist libffi
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
2025-10-31 10:36:11 +02:00
merge-script
69335d1bc0
Merge JoinMarket-Org/joinmarket-clientserver#1810: Replace default directory nodes with currently working ones
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
2025-10-31 09:25:32 +02:00
3np
8675a2979c install.sh: use debian dist libffi
only build libffi from source on non-debian targets
2025-10-30 03:15:35 +00:00
roshii
ea9557ba69 chore(deps): bump python upper version
chore(docs): update python version requirement
2025-10-28 10:52:22 +01:00
merge-script
5246c1ccb5
Merge JoinMarket-Org/joinmarket-clientserver#1817: Update minimum supported Bitcoin Core version to 28.1
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
2025-10-28 03:50:09 +02:00
3np
b4e3fdda47 Update minimum supported Bitcoin Core version to 28.1 2025-10-27 23:41:40 +00:00
merge-script
94660e7d24
Merge JoinMarket-Org/joinmarket-clientserver#1809: fix(deps): bencode library
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
2025-10-26 18:38:58 +02:00
roshii
091ce515e9 fix(deps): bencode library
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
2025-10-26 13:51:29 +01:00
merge-script
8b1cd5af7c
Merge JoinMarket-Org/joinmarket-clientserver#1732: Bump twisted from 23.10.0 to 24.7.0
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 />

  [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=twisted&package-manager=pip&previous-version=23.10.0&new-version=24.7.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

  Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

  [//]: # (dependabot-automerge-start)
  [//]: # (dependabot-automerge-end)

  ---

  <details>
  <summary>Dependabot commands and options</summary>
  <br />

  You can trigger Dependabot actions by commenting on this PR:
  - `@dependabot rebase` will rebase this PR
  - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
  - `@dependabot merge` will merge this PR after your CI passes on it
  - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
  - `@dependabot cancel merge` will cancel a previously requested merge and block automerging
  - `@dependabot reopen` will reopen this PR if it is closed
  - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  - `@dependabot 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
2025-10-26 13:44:05 +02:00
merge-script
992d798e5c
Merge JoinMarket-Org/joinmarket-clientserver#1536: RPC-API: Implement message signing
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
2025-10-19 21:26:01 +03:00
Kristaps Kaupe
646999179b
RPC-API: Implement message signing 2025-10-19 21:19:51 +03:00
Kristaps Kaupe
d87e7cb78a
Replace default directory nodes with currently working ones 2025-10-17 22:58:27 +03:00
merge-script
1b28c942be
Merge JoinMarket-Org/joinmarket-clientserver#1782: Update minimum supported Bitcoin Core version to 29.0
f952d7df2d Update minimum supported Bitcoin Core version to 29.0 (Kristaps Kaupe)

Pull request description:

  We should not recommend anything older, there have been vulnerabilty fix. https://bitcoincore.org/en/2025/04/28/disclose-cve-2024-52919/

Top commit has no ACKs.

Tree-SHA512: 398ece746c629a3a4adfc173580bc9420c450b2e7b98f657cc22c03642d116ed5b29cfe367d832de98d943f05818dcc3301a95cd2e0a329f1a0deae4f1b22d40
2025-10-17 22:38:53 +03:00
Kristaps Kaupe
f952d7df2d
Update minimum supported Bitcoin Core version to 29.0
We should not recommend anything older, there have been vulnerabilty fix. https://bitcoincore.org/en/2025/04/28/disclose-cve-2024-52919/
2025-10-17 22:32:11 +03:00
merge-script
e8113d8c87
Merge JoinMarket-Org/joinmarket-clientserver#1791: Fix Debian dependency check for non-English locales
8992e36609 Fix Debian dependency check for non-English locales (Kristaps Kaupe)

Pull request description:

  To check are packages already installed we search for string "Installed", but it's, of course, spelled differently in different languages. So, force English for this command.

Top commit has no ACKs.

Tree-SHA512: 27ca8ed9eace98b043bf1020a99f40a2a52a0188c62ba3ad6fd9881fa8ea2bf5d49b6ebf96195db788f57d18050ad0c0a384a004069806aa7c5f5b98c9212d0a
2025-07-19 21:12:36 +03:00
Kristaps Kaupe
8992e36609
Fix Debian dependency check for non-English locales 2025-07-19 08:27:26 +03:00
merge-script
a2fed54156
Merge JoinMarket-Org/joinmarket-clientserver#1788: Fix: GetAddressResponse schema to return an object with address property
d615688df3 Update GetAddressResponse schema to return an object with address property (Nischal Shetty)

Pull request description:

  Corrected the `GetAddressResponse` schema definition in `wallet-rpc.yaml` to properly represent the actual API response structure.

ACKs for top commit:
  kristapsk:
    cr utACK d615688df3

Tree-SHA512: 48fcf60615b1b26999a53c2d514313f0f8fb32546cd8d662b2908cc6d40c8d74c756cf5e298c2f01de16175430c7e52115fa30960d13e8c9042a19bf337da567
2025-07-05 03:41:00 +03:00
Nischal Shetty
d615688df3 Update GetAddressResponse schema to return an object with address property 2025-06-26 13:24:17 +05:30
merge-script
9e8b9a3687
Merge JoinMarket-Org/joinmarket-clientserver#1777: CI: Bump Bitcoin Core from 28.0 to 29.0
398f1c0e8e CI: Bump Bitcoin Core from 28.0 to 29.0 (Kristaps Kaupe)

Pull request description:

  .

Top commit has no ACKs.

Tree-SHA512: d1dc89e1baa3c4c1f9f0fc1374e9624d86b613a2f9e44bd33e0144f321e1f0a33daf513b9e3c629d72ac60895f7acf5e8315907009ee5c9b67ebbaa1a9d1493c
2025-04-25 02:56:08 +03:00
Kristaps Kaupe
398f1c0e8e CI: Bump Bitcoin Core from 28.0 to 29.0 2025-04-24 18:35:42 +03:00
merge-script
f9bb1592b0
Merge JoinMarket-Org/joinmarket-clientserver#1776: Update libsodium from 1.0.18 to 1.0.20
14a7b7ea16 Update libsodium from 1.0.18 to 1.0.20 (Kristaps Kaupe)

Pull request description:

  Fixes macOS build issues (CI failures).

Top commit has no ACKs.

Tree-SHA512: f91bbeced8ac5925fd02f01d493524246a926dce96144496782eef3a6b0e4642d3dfe633a039cc3a81a865a763b2d50b79f96c4f53290cea14447367a5cd55cc
2025-04-24 18:34:46 +03:00
Kristaps Kaupe
14a7b7ea16
Update libsodium from 1.0.18 to 1.0.20 2025-04-24 17:59:18 +03:00
merge-script
bfb01a0c31
Merge JoinMarket-Org/joinmarket-clientserver#1775: Support Bitcoin Core descriptor wallets (quick and dirty way)
f3630dc10b Support Bitcoin Core descriptor wallets (quick and dirty way) (Kristaps Kaupe)

Pull request description:

  Basically same as #1064, using `address()` descriptors and importing each watchable address separately, like with legacy wallets. There have been a lot of discussions about better proper implementation, but that requires more changes and nobody has written the code. IMHO this is better than nothing, more and more people are complaining about JoinMarket not working with newer Bitcoin Core versions (as it requires manual changes in `bitcoin.conf`).

  Note that I haven't re-tested this right now.

  Resolves #1571.

ACKs for top commit:
  laanwj:
    Tested ACK f3630dc10b. With this, i was able to recover an existing jm wallet into a new bitcoin core descriptor wallet, and get the same balances. Sending and receiving was also successful.

Tree-SHA512: 8bbce9637bdc0fa73956131f739424ee1247a659048807775d21e5f06da6053b7e93bcc4ee9a5c0dab2518ac4e5bd2bdfe0d789540d1d2c8879ab69dffe43c4c
2025-04-24 10:11:13 +03:00
Kristaps Kaupe
f3630dc10b
Support Bitcoin Core descriptor wallets (quick and dirty way)
Co-authored-by: laanwj <126646+laanwj@users.noreply.github.com>
2025-04-22 21:03:55 +03:00
merge-script
dcb00540b6
Merge JoinMarket-Org/joinmarket-clientserver#1599: Use coins_to_satoshi() and satoshi_to_coins() from bitcointx everywhere
395050cfa4 Use coins_to_satoshi() and satoshi_to_coins() from bitcointx everywhere (Kristaps Kaupe)

Pull request description:

  It's bad to have different functions for the same thing, `coins_to_satoshi()` were already used in some tests.

Top commit has no ACKs.

Tree-SHA512: aa9f464528472d9ffabea72b10212cb56f6ce3ee96c04ab4463053fa1361a01b171ac93671a1db54a026f427c65baefd8af81641cd22fe1f202d7dc4eb125434
2025-04-16 18:58:21 +03:00
Kristaps Kaupe
395050cfa4 Use coins_to_satoshi() and satoshi_to_coins() from bitcointx everywhere 2025-04-16 18:46:40 +03:00
merge-script
4062550bde
Merge JoinMarket-Org/joinmarket-clientserver#1658: Handle JsonRpcError in _estimate_fee_basic
100da5eb33 Handle JsonRpcError in _estimate_fee_basic (Kristaps Kaupe)

Pull request description:

  `_estimate_fee_basic` is supposed to return `None` if fee rate can't be estimated and then `estimate_fee_per_kb` handles that with hardcoded fallback fee. But `JsonRpcError` wasn't handled and it could fail when fee estimation is not working in Core.

  Fixes #1653.

  Previously it outputed unhandled error and hanged, now it's:

  ```
  2024-02-10 02:05:11,803 [DEBUG]  rpc: estimatesmartfee [3]
  2024-02-10 02:05:11,812 [WARNING]  Could not source a fee estimate from Core
  2024-02-10 02:05:11,813 [WARNING]  Fee estimation for 3 block confirmation target failed. Falling back to default (randomized for privacy): 11976 sat/kvB (11.9 sat/vB).
  2024-02-10 02:05:11,815 [DEBUG]  rpc: getmempoolinfo []
  2024-02-10 02:05:11,818 [DEBUG]  rpc: estimatesmartfee [3]
  2024-02-10 02:05:11,820 [WARNING]  Could not source a fee estimate from Core
  2024-02-10 02:05:11,821 [WARNING]  Fee estimation for 3 block confirmation target failed. Falling back to default (randomized for privacy): 10279 sat/kvB (10.2 sat/vB).
  2024-02-10 02:05:11,849 [INFO]  Using a fee of: 0.00001449 BTC (1449 sat).
  ```

Top commit has no ACKs.

Tree-SHA512: 45bf55530f48a75fdbcc808db3ca8884f273a5b625c2a0bf03a1090f2bd1ebcafc51808e3822cf7684903b4918642b99d400974847d5ebcf6d4e66cab44620b2
2025-04-16 18:32:01 +03:00
merge-script
5fd2c99509
Merge JoinMarket-Org/joinmarket-clientserver#1696: RPC API endpoint to get wallet rescan status
5b47d1c906 RPC API endpoint to get wallet rescan status (Kristaps Kaupe)

Pull request description:

  https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/1461#issuecomment-2079276604

Top commit has no ACKs.

Tree-SHA512: f2a641b8b601985d4b2d88f643f37540a7b247b01616d640c8f244c9762dcb5a8cbcffb8dc9b87889d54a5d0833a7753c7f0a3e77908a7208400d44e8262fe30
2025-04-16 18:27:12 +03:00
merge-script
68d36a06c2
Merge JoinMarket-Org/joinmarket-clientserver#1771: build(docker): update to debian bookworm
cf5184f244 test(ci): build docker image in github workflow (theborakompanioni)
9d8988a1fd build(docker): update to debian bookworm (theborakompanioni)

Pull request description:

  Updates `Dockerfile` base image from `debian:bullseye-slim` to `debian:bookworm-slim`.

  Bullseye default version of [`autoconf`](https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/1703) is incompatible with [`libffi` v3.4.6](cbd88681f9) (needed 2.71, installed v1.69):

  ```
  534.3 v3.4.6.tar.gz: OK
  534.3 /jm/clientserver/deps/libffi-3.4.6 /jm/clientserver/deps /jm/clientserver
  [...]
  536.0 configure.ac:3: error: Autoconf version 2.71 or higher is required
  536.0 configure.ac:3: the top level
  536.0 autom4te: /usr/bin/m4 failed with exit status: 63
  536.0 aclocal: error: /usr/bin/autom4te failed with exit status: 63
  536.0 autoreconf: aclocal failed with exit status: 63
  536.0 ./install.sh: line 247: ./configure: No such file or directory
  536.0 make: *** No rule to make target 'uninstall'.  Stop.
  536.0 make: *** No targets specified and no makefile found.  Stop.
  536.0 make: *** No rule to make target 'check'.  Stop.
  536.0 Libffi was not built. Exiting.
  ```

  ## How to test
  Run `docker build -t joinmarket-clientserver-pr-1771 .` and check if image is built successfully.

ACKs for top commit:
  kristapsk:
    cr utACK cf5184f244

Tree-SHA512: 7fc17f4326d026cc8f925893e3dc4f867dfa0aaa763d64fe5a9205acdb8d14aa615fa611cffc84f6a362d0cc7456bfe2b165949706332b1fd4b805a95d4bf524
2025-04-16 18:22:19 +03:00
merge-script
df23ba0240
Merge JoinMarket-Org/joinmarket-clientserver#1772: Mark my previous signing key as lost
b03c5effae Mark my previous signing key as lost (Adam Gibson)

Pull request description:

  This is a very overdue notification - I lost access to the signing key that existed in this file in a hard drive failure on my laptop. It was some time in August last year.

  So obviously this needs some consideration from a security POV.

  As I saw it happen in "real time" (and, you're going to laugh, but it literally was a case of coffee spilled on a laptop), I'm not in any doubt about the fact that it is lost (I tried to retrieve it in the succeeding hours, but failed), nor do I have any realistic worry that it was somehow compromised and accessed by anyone else - the chance of such a thing is never 0, but the point is it is not higher than previous to the accident. Of course, access to my code signing key would only allow code signing, the key has no other security significance. So obviously if you do see code signed or anything else signed with that key after August 2024 do not trust it and also alert me! (But, it's not going to happen).

  I have a new key, but, to state clearly what is probably by now obvious, I don't have any intention, currently, of continuing contributions to the Joinmarket project. So the new code signing key isn't added here.

  Equally, if people need my support in changing the status of the project, for example, adding new contributors commit rights, don't hesitate to ask.

ACKs for top commit:
  kristapsk:
    ACK b03c5effae

Tree-SHA512: 9113bcec70a73963f2a98da4daeabad90dece12f3a4618bd6f05de1b0ab5ccd6e890b06c2715327a3908c95ca0ded9d899aefe8e6b30e86d2eb4389ff7739e63
2025-04-16 18:20:32 +03:00
Adam Gibson
b03c5effae
Mark my previous signing key as lost 2025-03-28 10:54:12 -03:00
theborakompanioni
cf5184f244
test(ci): build docker image in github workflow 2025-03-05 17:52:33 +01:00
theborakompanioni
9d8988a1fd
build(docker): update to debian bookworm 2025-03-01 17:30:29 +01:00
merge-script
0e45c6991e
Merge JoinMarket-Org/joinmarket-clientserver#1766: Remove DarkScience IRC network from default config
c416a94410 Remove DarkScience IRC network from default config (Kristaps Kaupe)

Pull request description:

  As requested by DarkScience Operations Team.

  Resolves #1760.

Top commit has no ACKs.

Tree-SHA512: 1919a52a3bdfec70b58158367c11a6cf8fb51344d1f83c0e7fa6e23bf159bc5542c02545c68e062d54a5f6f500a506b495a27efc576427744f3bd2c737da3964
2025-02-12 18:22:31 +02:00
Kristaps Kaupe
c416a94410
Remove DarkScience IRC network from default config
As requested by DarkScience Operations Team.
2025-02-07 18:10:29 +02:00
merge-script
746e832a0d
Merge JoinMarket-Org/joinmarket-clientserver#1755: Bump libffi from 3.2.1 to latest 3.4.6
cbd88681f9 Bump libffi from 3.2.1 to latest 3.4.6 (Kristaps Kaupe)

Pull request description:

  There are bunch of various bugfixes between 3.2.1 and 3.4.6.

  Fixes #1752.

Top commit has no ACKs.

Tree-SHA512: 021144cb306157bcd90ac5316435b8ea1f2fe95160e57387a6badd027d3907036e2ae89a98f35116e23e63c95320e002a81387bb12f23855f16333870e360933
2025-01-09 20:50:35 +02:00
Kristaps Kaupe
cbd88681f9
Bump libffi from 3.2.1 to latest 3.4.6 2025-01-09 02:59:16 +02:00
merge-script
54fed902a4
Merge JoinMarket-Org/joinmarket-clientserver#1756: CI: Run bash scripts with -x
da5603aef6 CI: Run bash scripts with -x (Kristaps Kaupe)

Pull request description:

  Makes it easier to understand what's happening when, for example, some random `install.sh` dependency build fails.

Top commit has no ACKs.

Tree-SHA512: 242bb461c8451620eb58f0494539ebbe008d9af3740ccaa8aef8cee8172e0ef0e9cefd55a80d57f011babed4a9c01cac2e0b32b055fae2031f67fa183e97b46a
2025-01-08 21:06:21 +02:00
Kristaps Kaupe
da5603aef6
CI: Run bash scripts with -x 2025-01-08 20:27:59 +02:00
merge-script
be8f9e9937
Merge JoinMarket-Org/joinmarket-clientserver#1747: Bump built-in Tor from 0.4.8.10 to 0.4.8.13
114423371d Bump built-in Tor from 0.4.8.10 to 0.4.8.13 (Kristaps Kaupe)

Pull request description:

  There have been some bugfixes in between.

  [Full changes](https://gitlab.torproject.org/tpo/core/tor/-/raw/tor-0.4.8.13/ChangeLog):

  ```
  Changes in version 0.4.8.13 - 2024-10-24
    This is minor release fixing an important client circuit building (Conflux
    related) bug which lead to performance degradation and extra load on the
    network. Some minor memory leaks fixes as well as an important minor feature
    for pluggable transports. We strongly recommend to update as soon as possible
    for clients in order to neutralize this conflux bug.

    o Major bugfixes (circuit building):
      - Conflux circuit building was ignoring the "predicted ports" feature, which aims to make Tor stop building circuits if there have been no user requests lately. This bug led to every idle Tor on the network building and discarding circuits every 30 seconds, which added overall load to the network, used bandwidth and battery from clients that weren't actively using their Tor, and kept sockets open on guards which added connection padding essentially forever. Fixes bug 40981; bugfix on 0.4.8.1-alpha;

    o Minor feature (bridges, pluggable transport):
      - Add STATUS TYPE=version handler for Pluggable Transport. This allows us to gather version statistics on Pluggable Transport usage from bridge servers on our metrics portal. Closes ticket 11101.

    o Minor features (fallbackdir):
      - Regenerate fallback directories generated on October 24, 2024.

    o Minor features (geoip data):
      - Update the geoip files to match the IPFire Location Database, as retrieved on 2024/10/24.

    o Minor bugfixes (memleak, authority):
      - Fix a small memleak when computing a new consensus. This only affects directory authorities. Fixes bug 40966; bugfix on 0.3.5.1-alpha.

    o Minor bugfixes (memory):
      - Fix memory leaks of the CPU worker code during shutdown. Fixes bug 833; bugfix on 0.3.5.1-alpha.

  Changes in version 0.4.8.12 - 2024-06-06
    This is a minor release with couple bugfixes affecting conflux and logging.
    We also have the return of faravahar directory authority with new keys and
    address.

    o Minor feature (dirauth):
      - Add back faravahar with a new address and new keys. Closes 40689.

    o Minor features (fallbackdir):
      - Regenerate fallback directories generated on June 06, 2024.

    o Minor features (geoip data):
      - Update the geoip files to match the IPFire Location Database, as retrieved on 2024/06/06.

    o Minor bugfix (circuit):
      - Remove a log_warn being triggered by a protocol violation that already emits a protocol warning log. Fixes bug 40932; bugfix on 0.4.8.1-alpha.

    o Minor bugfixes (conflux):
      - Avoid a potential hard assert (crash) when sending a cell on a Conflux set. Fixes bug 40921; bugfix on 0.4.8.1-alpha.
      - Make sure we don't process a closed circuit when packaging data. This lead to a non fatal BUG() spamming logs. Fixes bug 40908; bugfix on 0.4.8.1-alpha.

  Changes in version 0.4.8.11 - 2024-04-10
    This is a minor release mostly to upgrade the fallbackdir list. Worth noting
    also that directory authority running this version will now automatically
    reject relays running the end of life 0.4.7.x version.

    o Minor feature (authority):
      - Reject 0.4.7.x series at the authority level. Closes ticket 40896.

    o Minor feature (dirauth, tor26):
      - New IP address and keys.

    o Minor feature (directory authority):
      - Allow BandwidthFiles "node_id" KeyValue without the dollar sign at the start of the hexdigit, in order to easier database queries combining Tor documents in which the relays fingerprint does not include it. Fixes bug 40891; bugfix on 0.4.7 (all supported versions of Tor).

    o Minor features (fallbackdir):
      - Regenerate fallback directories generated on April 10, 2024.

    o Minor features (geoip data):
      - Update the geoip files to match the IPFire Location Database, as retrieved on 2024/04/10.

    o Minor bugfixes (directory authorities):
      - Add a warning when publishing a vote or signatures to another directory authority fails. Fixes bug 40910; bugfix on 0.2.0.3-alpha.
   ```

Top commit has no ACKs.

Tree-SHA512: eac24042418742bc680b53563a47fef0038d2fece9c8084b03c93d6f777ad701b943dc2968e6d7fc54080a445f8ad34513efa99b3431f9dc38c1ec1bf6c80db5
2024-12-07 17:56:44 +02:00
Kristaps Kaupe
114423371d
Bump built-in Tor from 0.4.8.10 to 0.4.8.13
Changes in version 0.4.8.13 - 2024-10-24
  This is minor release fixing an important client circuit building (Conflux
  related) bug which lead to performance degradation and extra load on the
  network. Some minor memory leaks fixes as well as an important minor feature
  for pluggable transports. We strongly recommend to update as soon as possible
  for clients in order to neutralize this conflux bug.

  o Major bugfixes (circuit building):
    - Conflux circuit building was ignoring the "predicted ports"
      feature, which aims to make Tor stop building circuits if there
      have been no user requests lately. This bug led to every idle Tor
      on the network building and discarding circuits every 30 seconds,
      which added overall load to the network, used bandwidth and
      battery from clients that weren't actively using their Tor, and
      kept sockets open on guards which added connection padding
      essentially forever. Fixes bug 40981; bugfix on 0.4.8.1-alpha;

  o Minor feature (bridges, pluggable transport):
    - Add STATUS TYPE=version handler for Pluggable Transport. This
      allows us to gather version statistics on Pluggable Transport
      usage from bridge servers on our metrics portal. Closes
      ticket 11101.

  o Minor features (fallbackdir):
    - Regenerate fallback directories generated on October 24, 2024.

  o Minor features (geoip data):
    - Update the geoip files to match the IPFire Location Database, as
      retrieved on 2024/10/24.

  o Minor bugfixes (memleak, authority):
    - Fix a small memleak when computing a new consensus. This only
      affects directory authorities. Fixes bug 40966; bugfix
      on 0.3.5.1-alpha.

  o Minor bugfixes (memory):
    - Fix memory leaks of the CPU worker code during shutdown. Fixes bug
      833; bugfix on 0.3.5.1-alpha.

Changes in version 0.4.8.12 - 2024-06-06
  This is a minor release with couple bugfixes affecting conflux and logging.
  We also have the return of faravahar directory authority with new keys and
  address.

  o Minor feature (dirauth):
    - Add back faravahar with a new address and new keys. Closes 40689.

  o Minor features (fallbackdir):
    - Regenerate fallback directories generated on June 06, 2024.

  o Minor features (geoip data):
    - Update the geoip files to match the IPFire Location Database, as
      retrieved on 2024/06/06.

  o Minor bugfix (circuit):
    - Remove a log_warn being triggered by a protocol violation that
      already emits a protocol warning log. Fixes bug 40932; bugfix
      on 0.4.8.1-alpha.

  o Minor bugfixes (conflux):
    - Avoid a potential hard assert (crash) when sending a cell on a
      Conflux set. Fixes bug 40921; bugfix on 0.4.8.1-alpha.
    - Make sure we don't process a closed circuit when packaging data.
      This lead to a non fatal BUG() spamming logs. Fixes bug 40908;
      bugfix on 0.4.8.1-alpha.

Changes in version 0.4.8.11 - 2024-04-10
  This is a minor release mostly to upgrade the fallbackdir list. Worth noting
  also that directory authority running this version will now automatically
  reject relays running the end of life 0.4.7.x version.

  o Minor feature (authority):
    - Reject 0.4.7.x series at the authority level. Closes ticket 40896.

  o Minor feature (dirauth, tor26):
    - New IP address and keys.

  o Minor feature (directory authority):
    - Allow BandwidthFiles "node_id" KeyValue without the dollar sign at
      the start of the hexdigit, in order to easier database queries
      combining Tor documents in which the relays fingerprint does not
      include it. Fixes bug 40891; bugfix on 0.4.7 (all supported
      versions of Tor).

  o Minor features (fallbackdir):
    - Regenerate fallback directories generated on April 10, 2024.

  o Minor features (geoip data):
    - Update the geoip files to match the IPFire Location Database, as
      retrieved on 2024/04/10.

  o Minor bugfixes (directory authorities):
    - Add a warning when publishing a vote or signatures to another
      directory authority fails. Fixes bug 40910; bugfix
      on 0.2.0.3-alpha.
2024-11-29 23:26:36 +02:00
merge-script
59cd73c6c1
Merge JoinMarket-Org/joinmarket-clientserver#1745: Bump minimum required Bitcoin Core version from 24.0.1 to 25.1
6baf4a542d Bump minimum required Bitcoin Core version from 24.0.1 to 25.1 (Kristaps Kaupe)

Pull request description:

  Security vulnerability has been disclosed for versions older than 25.1, which are also currently EOL. https://bitcoincore.org/en/2024/11/05/cb-stall-hindering-propagation/

ACKs for top commit:
  MarnixCroes:
    ACK 6baf4a542d

Tree-SHA512: 439fe1f8ca85cbd6483b51ae2aa21046ceff2008f90b40d1c85b9dc8728c117f7a1b7be26223ee0fc6e41c0bf809a06eb64700b0d4e67c6509acea7f448ca423
2024-11-14 07:27:37 +02:00
merge-script
4e9a08d042
Merge JoinMarket-Org/joinmarket-clientserver#1744: doc: small install doc updates
6de1bab323 doc: small install doc updates (Marnix Croes)

Pull request description:

  Small doc improvements/updates

ACKs for top commit:
  kristapsk:
    ACK 6de1bab323

Tree-SHA512: 8b09046b7835a51a324e3e7b44fe71e4ef57d707342bc24ee38505a0bdfe2e1ddaf33d38de67ed368b6c1b5f72d178438335916cc91b26ea9893ab6a59345b9f
2024-11-05 22:22:37 +02:00