joinmarket: 0.9.2 -> 0.9.3
This commit is contained in:
parent
721ba1aeba
commit
a10aa21c69
@ -31,9 +31,10 @@ task:
|
|||||||
- environment:
|
- environment:
|
||||||
scenario: netnsRegtest
|
scenario: netnsRegtest
|
||||||
|
|
||||||
- name: pkgs_unstable
|
# Disabled because this test is currently empty
|
||||||
environment:
|
# - name: pkgs_unstable
|
||||||
nixpkgs: nixpkgs-unstable
|
# environment:
|
||||||
|
# nixpkgs: nixpkgs-unstable
|
||||||
|
|
||||||
# This script is run as root
|
# This script is run as root
|
||||||
build_script:
|
build_script:
|
||||||
|
@ -4,6 +4,22 @@ with lib;
|
|||||||
let
|
let
|
||||||
options.services.joinmarket = {
|
options.services.joinmarket = {
|
||||||
enable = mkEnableOption "JoinMarket";
|
enable = mkEnableOption "JoinMarket";
|
||||||
|
payjoinAddress = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "127.0.0.1";
|
||||||
|
description = ''
|
||||||
|
The address where payjoin onion connections are forwarded to.
|
||||||
|
This address is never used directly, it only serves as the internal endpoint
|
||||||
|
for the payjoin onion service.
|
||||||
|
The onion service is automatically setup by joinmarket and accepts
|
||||||
|
connections at port 80.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
payjoinPort = mkOption {
|
||||||
|
type = types.port;
|
||||||
|
default = 64180; # A random private port
|
||||||
|
description = "The port corresponding to option `payjoinAddress`.";
|
||||||
|
};
|
||||||
dataDir = mkOption {
|
dataDir = mkOption {
|
||||||
type = types.path;
|
type = types.path;
|
||||||
default = "/var/lib/joinmarket";
|
default = "/var/lib/joinmarket";
|
||||||
@ -78,7 +94,7 @@ let
|
|||||||
The average transaction fee you're adding to coinjoin transactions
|
The average transaction fee you're adding to coinjoin transactions
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
txfee_factor = mkOption {
|
txfee_contribution_factor = mkOption {
|
||||||
type = types.float;
|
type = types.float;
|
||||||
default = 0.3;
|
default = 0.3;
|
||||||
description = ''
|
description = ''
|
||||||
@ -171,6 +187,7 @@ let
|
|||||||
native = true
|
native = true
|
||||||
merge_algorithm = default
|
merge_algorithm = default
|
||||||
tx_fees = 3
|
tx_fees = 3
|
||||||
|
tx_fees_factor = 0.2
|
||||||
absurd_fee_per_kb = 350000
|
absurd_fee_per_kb = 350000
|
||||||
max_sweep_fee_change = 0.8
|
max_sweep_fee_change = 0.8
|
||||||
tx_broadcast = self
|
tx_broadcast = self
|
||||||
@ -192,6 +209,8 @@ let
|
|||||||
onion_socks5_host = ${torAddress.addr}
|
onion_socks5_host = ${torAddress.addr}
|
||||||
onion_socks5_port = ${toString torAddress.port}
|
onion_socks5_port = ${toString torAddress.port}
|
||||||
tor_control_host = unix:/run/tor/control
|
tor_control_host = unix:/run/tor/control
|
||||||
|
onion_serving_host = ${cfg.payjoinAddress}
|
||||||
|
onion_serving_port = ${toString cfg.payjoinPort}
|
||||||
hidden_service_ssl = false
|
hidden_service_ssl = false
|
||||||
|
|
||||||
[YIELDGENERATOR]
|
[YIELDGENERATOR]
|
||||||
@ -199,8 +218,8 @@ let
|
|||||||
cjfee_a = ${toString yg.cjfee_a}
|
cjfee_a = ${toString yg.cjfee_a}
|
||||||
cjfee_r = ${toString yg.cjfee_r}
|
cjfee_r = ${toString yg.cjfee_r}
|
||||||
cjfee_factor = ${toString yg.cjfee_factor}
|
cjfee_factor = ${toString yg.cjfee_factor}
|
||||||
txfee = ${toString yg.txfee}
|
txfee_contribution = 0
|
||||||
txfee_factor = ${toString yg.txfee_factor}
|
txfee_contribution_factor = ${toString yg.txfee_contribution_factor}
|
||||||
minsize = ${toString yg.minsize}
|
minsize = ${toString yg.minsize}
|
||||||
size_factor = ${toString yg.size_factor}
|
size_factor = ${toString yg.size_factor}
|
||||||
gaplimit = 6
|
gaplimit = 6
|
||||||
|
@ -313,7 +313,10 @@ in {
|
|||||||
services.nbxplorer.address = netns.nbxplorer.address;
|
services.nbxplorer.address = netns.nbxplorer.address;
|
||||||
services.btcpayserver.address = netns.btcpayserver.address;
|
services.btcpayserver.address = netns.btcpayserver.address;
|
||||||
|
|
||||||
services.joinmarket.cliExec = mkCliExec "joinmarket";
|
services.joinmarket = {
|
||||||
|
payjoinAddress = netns.joinmarket.address;
|
||||||
|
cliExec = mkCliExec "joinmarket";
|
||||||
|
};
|
||||||
systemd.services.joinmarket-yieldgenerator.serviceConfig.NetworkNamespacePath = "/var/run/netns/nb-joinmarket";
|
systemd.services.joinmarket-yieldgenerator.serviceConfig.NetworkNamespacePath = "/var/run/netns/nb-joinmarket";
|
||||||
|
|
||||||
services.joinmarket-ob-watcher.address = netns.joinmarket-ob-watcher.address;
|
services.joinmarket-ob-watcher.address = netns.joinmarket-ob-watcher.address;
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
{ stdenv, lib, fetchurl, python3, nbPython3Packages, pkgs }:
|
{ stdenv, lib, fetchurl, python3, nbPython3Packages, pkgs }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "0.9.2";
|
version = "0.9.3";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/JoinMarket-Org/joinmarket-clientserver/archive/v${version}.tar.gz";
|
url = "https://github.com/JoinMarket-Org/joinmarket-clientserver/archive/v${version}.tar.gz";
|
||||||
sha256 = "0nzhnf2324d0qc9pljcjwpzpvhcclqg0ijvzb1skmn73s4f25akg";
|
sha256 = "0j00jjqbppvcj52dpyjfqzwsm86xf9h2yf15j35ah5gsdr317dgq";
|
||||||
};
|
};
|
||||||
|
|
||||||
runtimePackages = with nbPython3Packages; [
|
runtimePackages = with nbPython3Packages; [
|
||||||
|
@ -30,6 +30,15 @@ in {
|
|||||||
# twisted 20.3.0, required by joinmarketbase
|
# twisted 20.3.0, required by joinmarketbase
|
||||||
twisted = callPackage ./specific-versions/twisted.nix {};
|
twisted = callPackage ./specific-versions/twisted.nix {};
|
||||||
|
|
||||||
|
# autobahn 20.12.3, required by joinmarketclient
|
||||||
|
autobahn = callPackage ./specific-versions/autobahn.nix {};
|
||||||
|
|
||||||
|
# klein 20.6.0, required by joinmarketclient
|
||||||
|
klein = callPackage ./specific-versions/klein.nix {};
|
||||||
|
|
||||||
|
# tubes 0.2.0, required by klein
|
||||||
|
tubes = callPackage ./specific-versions/tubes.nix {};
|
||||||
|
|
||||||
# recommonmark 0.7.1, required by pyln-client
|
# recommonmark 0.7.1, required by pyln-client
|
||||||
recommonmark = callPackage ./specific-versions/recommonmark.nix { inherit (super) recommonmark; };
|
recommonmark = callPackage ./specific-versions/recommonmark.nix { inherit (super) recommonmark; };
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ version, src, lib, buildPythonPackage, fetchurl, future, configparser, joinmarketbase, joinmarketdaemon, mnemonic, argon2_cffi, bencoderpyx, pyaes, joinmarketbitcoin, txtorcon }:
|
{ version, src, lib, buildPythonPackage, fetchurl, future, configparser, joinmarketbase, joinmarketdaemon, mnemonic, argon2_cffi, bencoderpyx, pyaes, joinmarketbitcoin, txtorcon, klein, pyjwt, autobahn, cryptography }:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "joinmarketclient";
|
pname = "joinmarketclient";
|
||||||
@ -9,7 +9,7 @@ buildPythonPackage rec {
|
|||||||
checkInputs = [ joinmarketbitcoin joinmarketdaemon txtorcon ];
|
checkInputs = [ joinmarketbitcoin joinmarketdaemon txtorcon ];
|
||||||
|
|
||||||
# configparser may need to be compiled with python_version<"3.2"
|
# configparser may need to be compiled with python_version<"3.2"
|
||||||
propagatedBuildInputs = [ future configparser joinmarketbase mnemonic argon2_cffi bencoderpyx pyaes ];
|
propagatedBuildInputs = [ future configparser joinmarketbase mnemonic argon2_cffi bencoderpyx pyaes klein pyjwt autobahn cryptography ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Client library for Bitcoin coinjoins";
|
description = "Client library for Bitcoin coinjoins";
|
||||||
|
36
pkgs/python-packages/specific-versions/autobahn.nix
Normal file
36
pkgs/python-packages/specific-versions/autobahn.nix
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
# Like nixpkgs revision 8d668463b0883b2e21ba2e2635cd5f9bbc409b18
|
||||||
|
# but without Python 2 support
|
||||||
|
|
||||||
|
{ lib, buildPythonPackage, fetchPypi,
|
||||||
|
six, txaio, twisted, zope_interface, cffi,
|
||||||
|
mock, pytest, cryptography, pynacl
|
||||||
|
}:
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "autobahn";
|
||||||
|
version = "20.12.3";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "15b8zm7jalwisfwc08szxy3bh2bnn0hd41dbsnswi0lqwbh962j1";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ six txaio twisted zope_interface cffi cryptography pynacl ];
|
||||||
|
|
||||||
|
checkInputs = [ mock pytest ];
|
||||||
|
checkPhase = ''
|
||||||
|
runHook preCheck
|
||||||
|
USE_TWISTED=true py.test $out
|
||||||
|
runHook postCheck
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Tests do no seem to be compatible yet with pytest 5.1
|
||||||
|
# https://github.com/crossbario/autobahn-python/issues/1235
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "WebSocket and WAMP in Python for Twisted and asyncio.";
|
||||||
|
homepage = "https://crossbar.io/autobahn";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ nand0p ];
|
||||||
|
};
|
||||||
|
}
|
29
pkgs/python-packages/specific-versions/klein.nix
Normal file
29
pkgs/python-packages/specific-versions/klein.nix
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
{ lib, buildPythonPackage, fetchPypi, python
|
||||||
|
, attrs, enum34, hyperlink, incremental, six, twisted, typing, tubes, werkzeug, zope_interface
|
||||||
|
, hypothesis, treq
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "klein";
|
||||||
|
version = "20.6.0";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "sha256-ZYS5zf9JWbnc7pWhwcIAEPUhoqEsT/PN2LkDqbDpk/Y=";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ attrs enum34 hyperlink incremental six twisted typing tubes werkzeug zope_interface ];
|
||||||
|
|
||||||
|
checkInputs = [ hypothesis treq ];
|
||||||
|
|
||||||
|
checkPhase = ''
|
||||||
|
${python.interpreter} -m twisted.trial -j $NIX_BUILD_CORES klein
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Klein Web Micro-Framework";
|
||||||
|
homepage = "https://github.com/twisted/klein";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ exarkun ];
|
||||||
|
};
|
||||||
|
}
|
29
pkgs/python-packages/specific-versions/tubes.nix
Normal file
29
pkgs/python-packages/specific-versions/tubes.nix
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
{ lib, buildPythonPackage, fetchPypi, python
|
||||||
|
, characteristic, six, twisted
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "tubes";
|
||||||
|
version = "0.2.0";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
pname = "Tubes";
|
||||||
|
inherit version;
|
||||||
|
sha256 = "0sg1gg2002h1xsgxigznr1zk1skwmhss72dzk6iysb9k9kdgymcd";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ characteristic six twisted ];
|
||||||
|
|
||||||
|
checkPhase = ''
|
||||||
|
${python.interpreter} -m twisted.trial -j $NIX_BUILD_CORES tubes
|
||||||
|
'';
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "tubes" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "a data-processing and flow-control engine for event-driven programs";
|
||||||
|
homepage = "https://github.com/twisted/tubes";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ exarkun ];
|
||||||
|
};
|
||||||
|
}
|
@ -3,7 +3,8 @@ let
|
|||||||
pkgs = import pinned.nixpkgs-unstable {};
|
pkgs = import pinned.nixpkgs-unstable {};
|
||||||
nbPkgs = import ../pkgs { inherit pkgs; };
|
nbPkgs = import ../pkgs { inherit pkgs; };
|
||||||
pkgsUnstable = with nbPkgs; [
|
pkgsUnstable = with nbPkgs; [
|
||||||
joinmarket
|
# Disabled because joinmarket dependencies currently don't build on on unstable.
|
||||||
|
# joinmarket
|
||||||
];
|
];
|
||||||
in
|
in
|
||||||
pkgs.writeText "pkgs-unstable" (pkgs.lib.concatMapStringsSep "\n" toString pkgsUnstable)
|
pkgs.writeText "pkgs-unstable" (pkgs.lib.concatMapStringsSep "\n" toString pkgsUnstable)
|
||||||
|
Loading…
Reference in New Issue
Block a user