joinmarket: 0.9.2 -> 0.9.3
This commit is contained in:
parent
721ba1aeba
commit
a10aa21c69
|
@ -31,9 +31,10 @@ task:
|
|||
- environment:
|
||||
scenario: netnsRegtest
|
||||
|
||||
- name: pkgs_unstable
|
||||
environment:
|
||||
nixpkgs: nixpkgs-unstable
|
||||
# Disabled because this test is currently empty
|
||||
# - name: pkgs_unstable
|
||||
# environment:
|
||||
# nixpkgs: nixpkgs-unstable
|
||||
|
||||
# This script is run as root
|
||||
build_script:
|
||||
|
|
|
@ -4,6 +4,22 @@ with lib;
|
|||
let
|
||||
options.services.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 {
|
||||
type = types.path;
|
||||
default = "/var/lib/joinmarket";
|
||||
|
@ -78,7 +94,7 @@ let
|
|||
The average transaction fee you're adding to coinjoin transactions
|
||||
'';
|
||||
};
|
||||
txfee_factor = mkOption {
|
||||
txfee_contribution_factor = mkOption {
|
||||
type = types.float;
|
||||
default = 0.3;
|
||||
description = ''
|
||||
|
@ -171,6 +187,7 @@ let
|
|||
native = true
|
||||
merge_algorithm = default
|
||||
tx_fees = 3
|
||||
tx_fees_factor = 0.2
|
||||
absurd_fee_per_kb = 350000
|
||||
max_sweep_fee_change = 0.8
|
||||
tx_broadcast = self
|
||||
|
@ -192,6 +209,8 @@ let
|
|||
onion_socks5_host = ${torAddress.addr}
|
||||
onion_socks5_port = ${toString torAddress.port}
|
||||
tor_control_host = unix:/run/tor/control
|
||||
onion_serving_host = ${cfg.payjoinAddress}
|
||||
onion_serving_port = ${toString cfg.payjoinPort}
|
||||
hidden_service_ssl = false
|
||||
|
||||
[YIELDGENERATOR]
|
||||
|
@ -199,8 +218,8 @@ let
|
|||
cjfee_a = ${toString yg.cjfee_a}
|
||||
cjfee_r = ${toString yg.cjfee_r}
|
||||
cjfee_factor = ${toString yg.cjfee_factor}
|
||||
txfee = ${toString yg.txfee}
|
||||
txfee_factor = ${toString yg.txfee_factor}
|
||||
txfee_contribution = 0
|
||||
txfee_contribution_factor = ${toString yg.txfee_contribution_factor}
|
||||
minsize = ${toString yg.minsize}
|
||||
size_factor = ${toString yg.size_factor}
|
||||
gaplimit = 6
|
||||
|
|
|
@ -313,7 +313,10 @@ in {
|
|||
services.nbxplorer.address = netns.nbxplorer.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";
|
||||
|
||||
services.joinmarket-ob-watcher.address = netns.joinmarket-ob-watcher.address;
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
{ stdenv, lib, fetchurl, python3, nbPython3Packages, pkgs }:
|
||||
|
||||
let
|
||||
version = "0.9.2";
|
||||
version = "0.9.3";
|
||||
src = fetchurl {
|
||||
url = "https://github.com/JoinMarket-Org/joinmarket-clientserver/archive/v${version}.tar.gz";
|
||||
sha256 = "0nzhnf2324d0qc9pljcjwpzpvhcclqg0ijvzb1skmn73s4f25akg";
|
||||
sha256 = "0j00jjqbppvcj52dpyjfqzwsm86xf9h2yf15j35ah5gsdr317dgq";
|
||||
};
|
||||
|
||||
runtimePackages = with nbPython3Packages; [
|
||||
|
|
|
@ -30,6 +30,15 @@ in {
|
|||
# twisted 20.3.0, required by joinmarketbase
|
||||
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 = 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 {
|
||||
pname = "joinmarketclient";
|
||||
|
@ -9,7 +9,7 @@ buildPythonPackage rec {
|
|||
checkInputs = [ joinmarketbitcoin joinmarketdaemon txtorcon ];
|
||||
|
||||
# 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; {
|
||||
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 {};
|
||||
nbPkgs = import ../pkgs { inherit pkgs; };
|
||||
pkgsUnstable = with nbPkgs; [
|
||||
joinmarket
|
||||
# Disabled because joinmarket dependencies currently don't build on on unstable.
|
||||
# joinmarket
|
||||
];
|
||||
in
|
||||
pkgs.writeText "pkgs-unstable" (pkgs.lib.concatMapStringsSep "\n" toString pkgsUnstable)
|
||||
|
|
Loading…
Reference in New Issue
Block a user