From d4c0653c64e35a7a80dad4a62ebc0668987f1a5e Mon Sep 17 00:00:00 2001 From: nixbitcoin Date: Sun, 18 Oct 2020 15:41:45 +0000 Subject: [PATCH 1/5] joinmarket: 0.7.0 -> 0.7.2 --- pkgs/joinmarket/default.nix | 10 +++--- pkgs/joinmarket/genwallet/genwallet.py | 36 ------------------- pkgs/joinmarket/python-bitcointx/default.nix | 4 +-- .../joinmarket/python-bitcointx/get-sha256.sh | 2 +- 4 files changed, 7 insertions(+), 45 deletions(-) delete mode 100644 pkgs/joinmarket/genwallet/genwallet.py diff --git a/pkgs/joinmarket/default.nix b/pkgs/joinmarket/default.nix index fcaaedb..1f0a05c 100644 --- a/pkgs/joinmarket/default.nix +++ b/pkgs/joinmarket/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchurl, python3, pkgs }: let - version = "0.7.0"; + version = "0.7.2"; src = fetchurl { url = "https://github.com/JoinMarket-Org/joinmarket-clientserver/archive/v${version}.tar.gz"; - sha256 = "0ha73n3y5lykyj3pl97a619sxd2zz0lb32s5c61wm0l1h47v9l1g"; + sha256 = "03gvs20d2cfzy9x82l6v4c69w0j9mr4p9zj2hpymnb6xs1yq6dr1"; }; python = python3.override { @@ -32,13 +32,11 @@ let joinmarketdaemon ]; - genwallet = pkgs.writeScriptBin "genwallet" (builtins.readFile ./genwallet/genwallet.py); - pythonEnv = python.withPackages (_: runtimePackages); in stdenv.mkDerivation { pname = "joinmarket"; - inherit version src genwallet; + inherit version src; buildInputs = [ pythonEnv ]; @@ -59,7 +57,7 @@ stdenv.mkDerivation { cpBin tumbler.py cpBin wallet-tool.py cpBin yg-privacyenhanced.py - cp $genwallet/bin/genwallet $out/bin/jm-genwallet + cpBin genwallet.py chmod +x -R $out/bin patchShebangs $out/bin diff --git a/pkgs/joinmarket/genwallet/genwallet.py b/pkgs/joinmarket/genwallet/genwallet.py deleted file mode 100644 index 51de87f..0000000 --- a/pkgs/joinmarket/genwallet/genwallet.py +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env python3 - -""" -Prototype: demonstrate you can automatically generate a wallet -""" - -import sys -import os -from optparse import OptionParser -from jmclient import load_program_config, add_base_options, SegwitLegacyWallet, create_wallet, jm_single -from jmbase.support import get_log, jmprint - -log = get_log() - -def main(): - parser = OptionParser( - usage='usage: %prog [options] wallet_file_name password', - description='Create a wallet with the given wallet name and password.') - add_base_options(parser) - (options, args) = parser.parse_args() - if options.wallet_password_stdin: - stdin = sys.stdin.read() - password = stdin.encode("utf-8") - else: - assert len(args) > 1, "must provide password via stdin (see --help), or as second argument." - password = args[1].encode("utf-8") - load_program_config(config_path=options.datadir) - wallet_root_path = os.path.join(jm_single().datadir, "wallets") - wallet_name = os.path.join(wallet_root_path, args[0]) - wallet = create_wallet(wallet_name, password, 4, SegwitLegacyWallet) - jmprint("recovery_seed:{}" - .format(wallet.get_mnemonic_words()[0]), "important") - wallet.close() - -if __name__ == "__main__": - main() diff --git a/pkgs/joinmarket/python-bitcointx/default.nix b/pkgs/joinmarket/python-bitcointx/default.nix index 213f5d8..a886773 100644 --- a/pkgs/joinmarket/python-bitcointx/default.nix +++ b/pkgs/joinmarket/python-bitcointx/default.nix @@ -2,11 +2,11 @@ buildPythonPackage rec { pname = "python-bitcointx"; - version = "1.1.1"; + version = "1.1.1.post0"; src = fetchurl { url = "https://github.com/Simplexum/${pname}/archive/${pname}-v${version}.tar.gz"; - sha256 = "35edd694473517508367338888633954eaa91b2622b3caada8fd3030ddcacba2"; + sha256 = "d12593b09785a7a4ce08cb1928815c2366e9f6e4fab317267462857bf83904b0"; }; patchPhase = '' diff --git a/pkgs/joinmarket/python-bitcointx/get-sha256.sh b/pkgs/joinmarket/python-bitcointx/get-sha256.sh index 34ab4c1..669fcff 100755 --- a/pkgs/joinmarket/python-bitcointx/get-sha256.sh +++ b/pkgs/joinmarket/python-bitcointx/get-sha256.sh @@ -9,7 +9,7 @@ cd $TMPDIR echo "Fetching latest release" git clone https://github.com/simplexum/python-bitcointx 2> /dev/null cd python-bitcointx -latest=$(git describe --tags `git rev-list --tags --max-count=1`) +latest=python-bitcointx-v1.1.1.post0 echo "Latest release is ${latest}" # GPG verification From f29f04c0c42a6bfd08eda0288a5c1591ab713ada Mon Sep 17 00:00:00 2001 From: nixbitcoin Date: Mon, 19 Oct 2020 11:11:41 +0000 Subject: [PATCH 2/5] secure-node: LND no longer requires ControlPort Onion service is now generated through mkHiddenService function. --- modules/presets/secure-node.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/presets/secure-node.nix b/modules/presets/secure-node.nix index 0decc67..4c2471a 100644 --- a/modules/presets/secure-node.nix +++ b/modules/presets/secure-node.nix @@ -43,8 +43,6 @@ in { services.tor = { enable = true; client.enable = true; - # LND uses ControlPort to create onion services - controlPort = mkIf cfg.lnd.enable 9051; hiddenServices.sshd = mkHiddenService { port = 22; }; }; From 59e128a994811d167fed8f88500671ddf438dcd7 Mon Sep 17 00:00:00 2001 From: nixbitcoin Date: Thu, 29 Oct 2020 12:46:36 +0000 Subject: [PATCH 3/5] joinmarket: add payjoin configuration --- modules/joinmarket.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/modules/joinmarket.nix b/modules/joinmarket.nix index e30dd35..bf93568 100644 --- a/modules/joinmarket.nix +++ b/modules/joinmarket.nix @@ -61,6 +61,16 @@ let taker_utxo_amtpercent = 20 accept_commitment_broadcasts = 1 commit_file_location = cmtdata/commitments.json + + [PAYJOIN] + payjoin_version = 1 + disable_output_substitution = 0 + max_additional_fee_contribution = default + min_fee_rate = 1.1 + onion_socks5_host = ${torAddress} + onion_socks5_port = 9050 + tor_control_host = unix:/run/tor/control + hidden_service_ssl = false ''; # The jm scripts create a 'logs' dir in the working dir, @@ -126,6 +136,7 @@ in { description = "joinmarket User"; group = "${cfg.group}"; home = cfg.dataDir; + extraGroups = [ "tor" ]; }; users.groups.${cfg.group} = {}; nix-bitcoin.operator = { @@ -143,6 +154,7 @@ in { services.tor = { enable = true; client.enable = true; + controlSocket.enable = true; }; systemd.services.joinmarket = { From f2faf708fb61401c16f146a12fb5484d2db3da39 Mon Sep 17 00:00:00 2001 From: nixbitcoin Date: Sun, 18 Oct 2020 16:37:07 +0000 Subject: [PATCH 4/5] test: update joinmarket query strings JoinMarket changed message strings in https://github.com/JoinMarket-Org/joinmarket-clientserver/commit/a2aafd254d07d97166ed4f3a549238612b316dd2 and removed P2EPDaemonServerProtocolFactory in v0.7.1 --- test/tests.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/tests.py b/test/tests.py index 0179034..47d4325 100644 --- a/test/tests.py +++ b/test/tests.py @@ -208,14 +208,14 @@ def _(): def _(): assert_running("joinmarket") machine.wait_until_succeeds( - log_has_string("joinmarket", "P2EPDaemonServerProtocolFactory starting on 27184") + log_has_string("joinmarket", "JMDaemonServerProtocolFactory starting on 27183") ) @test("joinmarket-yieldgenerator") def _(): machine.wait_until_succeeds( - log_has_string("joinmarket-yieldgenerator", "Failure to get blockheight",) + log_has_string("joinmarket-yieldgenerator", "Critical error updating blockheight.",) ) From 546053511b041e401c09ea647d29cff95fa17ae3 Mon Sep 17 00:00:00 2001 From: nixbitcoin Date: Thu, 29 Oct 2020 13:07:35 +0000 Subject: [PATCH 5/5] lightning-loop: 0.10.0-beta -> 0.11.0-beta --- pkgs/lightning-loop/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/lightning-loop/default.nix b/pkgs/lightning-loop/default.nix index 0ce318a..e90e85d 100644 --- a/pkgs/lightning-loop/default.nix +++ b/pkgs/lightning-loop/default.nix @@ -2,17 +2,17 @@ buildGoModule rec { pname = "lightning-loop"; - version = "0.10.0-beta"; + version = "0.11.0-beta"; src = fetchurl { url = "https://github.com/lightninglabs/loop/archive/v${version}.tar.gz"; # Use ./get-sha256.sh to fetch latest (verified) sha256 - sha256 = "2c43168c72a064813427a55adb5bbb9a9aafe508d3921fc875418047bc0972a1"; + sha256 = "ce26d8b1bac0c53bd2bc78761c1e1b2e6233e5007686042765f1ec9fd92afc42"; }; subPackages = [ "cmd/loop" "cmd/loopd" ]; - vendorSha256 = "030km5fsz1x6zl93krc0nz0d9krnhqakk353b60wni5ynkgqgp3j"; + vendorSha256 = "1kwcmvfk7ja8r75142k2pzinla5i921nrgbnnh4z7zxfpyh2ri4l"; meta = with lib; { description = " Lightning Loop: A Non-Custodial Off/On Chain Bridge";