Merge #295: Remove deprecated nanopos & lightning-charge

79f4723cda lightning-charge: remove package and module (Jonas Nick)
58de79d401 nanopos: remove package and module (Jonas Nick)

Pull request description:

ACKs for top commit:
  erikarvstedt:
    ACK 79f4723cda

Tree-SHA512: 853022697966159a3d1d32317b2d2e11d1f3d1f014956cf8ca72d12b30c8990a097ae17e2a11bcd666ade798695787a28f75fee1b42b21ac4bbe0d9875d112a2
This commit is contained in:
Jonas Nick 2021-01-01 20:47:08 +00:00
commit 0c6579b942
No known key found for this signature in database
GPG Key ID: 4861DBF262123605
31 changed files with 4 additions and 7815 deletions

View File

@ -68,8 +68,6 @@ NixOS modules
* [electrs](https://github.com/romanz/electrs)
* [btcpayserver](https://github.com/btcpayserver/btcpayserver)
* [liquid](https://github.com/elementsproject/elements)
* [lightning charge](https://github.com/ElementsProject/lightning-charge) (deprecated)
* [nanopos](https://github.com/ElementsProject/nanopos) (deprecated)
* [Lightning Loop](https://github.com/lightninglabs/loop)
* [JoinMarket](https://github.com/joinmarket-org/joinmarket-clientserver)
* [recurring-donations](modules/recurring-donations.nix): for periodic lightning payments

View File

@ -101,22 +101,9 @@
# tool run as user operator.
# services.liquidd.enable = true;
### LIGHTNING CHARGE
# Enable this module to use lightning-charge, a simple drop-in solution for
# accepting lightning payments.
# Automatically enables clightning.
# services.lightning-charge.enable = true;
### NANOPOS
# Enable this module to use nanopos, a simple Lightning point-of-sale
# system, powered by Lightning Charge.
# Automatically enables lightning-charge.
# services.nanopos.enable = true;
### WEBINDEX
# Enable this module to use the nix-bitcoin-webindex, a simple website
# displaying your node information and link to nanopos store. Only available
# if clightning, lightning-charge, and nanopos are enabled.
# displaying your node information. Only available if clightning is enabled.
# services.nix-bitcoin-webindex.enable = true;
### RECURRING-DONATIONS

View File

@ -15,7 +15,6 @@ let
${optionalString (!cfg.with-bulk-data) "- ${config.services.liquidd.dataDir}/*/chainstate"}
${config.services.liquidd.dataDir}
${optionalString cfg.with-bulk-data "${config.services.electrs.dataDir}"}
${config.services.lightning-charge.dataDir}
${config.services.nbxplorer.dataDir}
${config.services.btcpayserver.dataDir}
${config.services.joinmarket.dataDir}

View File

@ -4,9 +4,7 @@
clightning = ./clightning.nix;
default = ./default.nix;
electrs = ./electrs.nix;
lightning-charge = ./lightning-charge.nix;
liquid = ./liquid.nix;
nanopos = ./nanopos.nix;
presets.secure-node = ./presets/secure-node.nix;
nix-bitcoin-webindex = ./nix-bitcoin-webindex.nix;
spark-wallet = ./spark-wallet.nix;

View File

@ -1,84 +0,0 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.lightning-charge;
inherit (config) nix-bitcoin-services;
user = config.users.users.lightning-charge.name;
group = config.users.users.lightning-charge.group;
in {
options.services.lightning-charge = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
If enabled, the lightning-charge service will be installed.
'';
};
dataDir = mkOption {
type = types.path;
default = "/var/lib/lightning-charge";
description = "The data directory for lightning-charge.";
};
host = mkOption {
type = types.str;
default = "127.0.0.1";
description = "http server listen address";
};
extraArgs = mkOption {
type = types.separatedString " ";
default = "";
description = "Extra command line arguments passed to lightning-charge.";
};
enforceTor = nix-bitcoin-services.enforceTor;
};
config = mkIf cfg.enable {
warnings = [''
The lightning-charge module is deprecated and will be removed soon.
''];
services.clightning.enable = true;
users.users.lightning-charge = {
description = "lightning-charge User";
group = "lightning-charge";
extraGroups = [ "clightning" ];
};
users.groups.lightning-charge = {};
systemd.tmpfiles.rules = [
"d '${cfg.dataDir}' 0700 ${user} ${group} - -"
];
systemd.services.lightning-charge = {
description = "Run lightning-charge";
wantedBy = [ "multi-user.target" ];
requires = [ "clightning.service" ];
after = [ "clightning.service" ];
preStart = ''
# Move existing lightning-charge.db
# TODO: Remove eventually
if [[ -e ${config.services.clightning.dataDir}/lightning-charge.db ]]; then
mv ${config.services.clightning.dataDir}/lightning-charge.db ${cfg.dataDir}/lightning-charge.db
chown ${user}: ${cfg.dataDir}/lightning-charge.db
chmod 600 ${cfg.dataDir}/lightning-charge.db
fi
'';
serviceConfig = nix-bitcoin-services.defaultHardening // {
# Needed to access clightning.dataDir in preStart
PermissionsStartOnly = "true";
EnvironmentFile = "${config.nix-bitcoin.secretsDir}/lightning-charge-env";
ExecStart = "${config.nix-bitcoin.pkgs.lightning-charge}/bin/charged -l ${config.services.clightning.dataDir}/bitcoin -d ${cfg.dataDir}/lightning-charge.db -i ${cfg.host} ${cfg.extraArgs}";
User = user;
Restart = "on-failure";
RestartSec = "10s";
ReadWritePaths = "${cfg.dataDir}";
} // (if cfg.enforceTor
then nix-bitcoin-services.allowTor
else nix-bitcoin-services.allowAnyIP)
// nix-bitcoin-services.nodejs;
};
nix-bitcoin.secrets.lightning-charge-env.user = user;
};
}

View File

@ -11,8 +11,6 @@ with lib;
./bitcoind.nix
./clightning.nix
./clightning-plugins
./lightning-charge.nix
./nanopos.nix
./spark-wallet.nix
./lnd.nix
./lightning-loop.nix

View File

@ -1,118 +0,0 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.nanopos;
inherit (config) nix-bitcoin-services;
defaultItemsFile = pkgs.writeText "items.yaml" ''
tea:
price: 0.02 # denominated in the currency specified by --currency
title: Green Tea # title is optional, defaults to the key
coffee:
price: 1
bamba:
price: 3
beer:
price: 7
hat:
price: 15
tshirt:
price: 25
'';
in {
options.services.nanopos = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
If enabled, the nanopos service will be installed.
'';
};
port = mkOption {
type = types.port;
default = 9116;
description = ''
"The port on which to listen for connections.";
'';
};
itemsFile = mkOption {
type = types.path;
default = defaultItemsFile;
description = ''
"The items file (see nanopos README).";
'';
};
charged-url = mkOption {
type = types.str;
default = "http://localhost:9112";
description = ''
"The lightning charge server url.";
'';
};
host = mkOption {
type = types.str;
default = "127.0.0.1";
description = ''
"http server listen address.";
'';
};
extraArgs = mkOption {
type = types.separatedString " ";
default = "";
description = "Extra command line arguments passed to nanopos.";
};
enforceTor = nix-bitcoin-services.enforceTor;
};
config = mkIf cfg.enable {
warnings = [''
The nanopos module is deprecated and will be removed soon. You can use the
btcpayserver module instead.
''];
services.lightning-charge.enable = true;
services.nginx = {
enable = true;
virtualHosts."_" = {
root = "/var/www";
extraConfig = ''
location /store/ {
proxy_pass http://${toString cfg.host}:${toString cfg.port};
rewrite /store/(.*) /$1 break;
}
'';
};
};
systemd.services.nanopos = {
description = "Run nanopos";
wantedBy = [ "multi-user.target" ];
requires = [ "lightning-charge.service" ];
after = [ "lightning-charge.service" ];
serviceConfig = nix-bitcoin-services.defaultHardening // {
EnvironmentFile = "${config.nix-bitcoin.secretsDir}/nanopos-env";
ExecStart = "${config.nix-bitcoin.pkgs.nanopos}/bin/nanopos -y ${cfg.itemsFile} -i ${toString cfg.host} -p ${toString cfg.port} -c ${toString cfg.charged-url} --show-bolt11 ${cfg.extraArgs}";
User = "nanopos";
Restart = "on-failure";
RestartSec = "10s";
} // (if cfg.enforceTor
then nix-bitcoin-services.allowTor
else nix-bitcoin-services.allowAnyIP)
// nix-bitcoin-services.nodejs;
};
users.users.nanopos = {
description = "nanopos User";
group = "nanopos";
};
users.groups.nanopos = {};
nix-bitcoin.secrets.nanopos-env.user = "nanopos";
};
}

View File

@ -217,14 +217,6 @@ in {
id = 17;
# communicates with clightning over lightning-rpc socket
};
lightning-charge = {
id = 18;
# communicates with clightning over lightning-rpc socket
};
nanopos = {
id = 19;
connections = [ "nginx" "lightning-charge" ];
};
recurring-donations = {
id = 20;
# communicates with clightning over lightning-rpc socket
@ -286,13 +278,6 @@ in {
extraArgs = "--no-tls";
};
services.lightning-charge.host = netns.lightning-charge.address;
services.nanopos = {
charged-url = "http://${netns.lightning-charge.address}:9112";
host = netns.nanopos.address;
};
services.lightning-loop.rpcAddress = netns.lightning-loop.address;
services.nbxplorer.bind = netns.nbxplorer.address;

View File

@ -13,7 +13,6 @@ let
nix-bitcoin
</h1>
</p>
${optionalString config.services.nanopos.enable ''<p><h2><a href="store/">store</a></h2></p>''}
<p>
<h3>
lightning node: CLIGHTNING_ID
@ -52,8 +51,8 @@ in {
config = mkIf cfg.enable {
assertions = [
{ assertion = config.services.nanopos.enable;
message = "nix-bitcoin-webindex requires nanopos.";
{ assertion = config.services.clightning.enable;
message = "nix-bitcoin-webindex requires clightning.";
}
];

View File

@ -111,10 +111,6 @@ in {
enforceTor = true;
};
services.lightning-charge.enforceTor = true;
services.nanopos.enforceTor = true;
services.recurring-donations.enforceTor = true;
services.nix-bitcoin-webindex.enforceTor = true;

View File

@ -1,7 +1,5 @@
{ pkgs ? import <nixpkgs> {} }:
let self = {
lightning-charge = pkgs.callPackage ./lightning-charge { };
nanopos = pkgs.callPackage ./nanopos { };
spark-wallet = pkgs.callPackage ./spark-wallet { };
electrs = pkgs.callPackage ./electrs { };
elementsd = pkgs.callPackage ./elementsd { withGui = false; };

View File

@ -18,7 +18,6 @@ makePasswordSecret bitcoin-rpcpassword-btcpayserver
makePasswordSecret bitcoin-rpcpassword-public
makePasswordSecret lnd-wallet-password
makePasswordSecret liquid-rpcpassword
makePasswordSecret lightning-charge-token
makePasswordSecret spark-wallet-password
makePasswordSecret backup-encryption-password
makePasswordSecret jm-wallet-password
@ -26,8 +25,6 @@ makePasswordSecret jm-wallet-password
[[ -e bitcoin-HMAC-privileged ]] || makeHMAC privileged
[[ -e bitcoin-HMAC-public ]] || makeHMAC public
[[ -e bitcoin-HMAC-btcpayserver ]] || makeHMAC btcpayserver
[[ -e lightning-charge-env ]] || echo "API_TOKEN=$(cat lightning-charge-token)" > lightning-charge-env
[[ -e nanopos-env ]] || echo "CHARGE_TOKEN=$(cat lightning-charge-token)" > nanopos-env
[[ -e spark-wallet-login ]] || echo "login=spark-wallet:$(cat spark-wallet-password)" > spark-wallet-login
[[ -e backup-encryption-env ]] || echo "PASSPHRASE=$(cat backup-encryption-password)" > backup-encryption-env

View File

@ -37,7 +37,6 @@ rename() {
extractPassword bitcoinrpcpassword bitcoin-rpcpassword
extractPassword lnd-wallet-password
extractPassword liquidrpcpassword liquid-rpcpassword
extractPassword lightning-charge-api-token lightning-charge-token
extractPassword spark-wallet-password
rename lnd.key lnd-key

View File

@ -1,21 +0,0 @@
# This file has been generated by node2nix 1.7.0. Do not edit!
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-10_x"}:
let
globalBuildInputs = pkgs.lib.attrValues (import ./supplement.nix {
inherit nodeEnv;
inherit (pkgs) fetchurl fetchgit;
});
nodeEnv = import ./node-env.nix {
inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
inherit nodejs;
libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
};
in
import ./node-packages.nix {
inherit (pkgs) fetchurl fetchgit;
inherit nodeEnv globalBuildInputs;
}

View File

@ -1,5 +0,0 @@
{ stdenv, pkgs, lib }:
lib.head (lib.attrValues (import ./composition.nix {
inherit pkgs;
inherit (stdenv.hostPlatform) system;
}))

View File

@ -1,3 +0,0 @@
#!/usr/bin/env nix-shell
#! nix-shell -i bash -p nodePackages.node2nix
exec node2nix --nodejs-10 -i pkg.json -c composition.nix --no-copy-node-env --supplement-input supplement.json

View File

@ -1 +0,0 @@
import <nixpkgs/pkgs/development/node-packages/node-env.nix>

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +0,0 @@
[
{ "lightning-charge": "^0.4.19" }
]

View File

@ -1,3 +0,0 @@
[
"node-pre-gyp"
]

View File

@ -1,680 +0,0 @@
# This file has been generated by node2nix 1.7.0. Do not edit!
{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
let
sources = {
"abbrev-1.1.1" = {
name = "abbrev";
packageName = "abbrev";
version = "1.1.1";
src = fetchurl {
url = "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz";
sha512 = "nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==";
};
};
"ansi-regex-2.1.1" = {
name = "ansi-regex";
packageName = "ansi-regex";
version = "2.1.1";
src = fetchurl {
url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz";
sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
};
};
"aproba-1.2.0" = {
name = "aproba";
packageName = "aproba";
version = "1.2.0";
src = fetchurl {
url = "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz";
sha512 = "Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==";
};
};
"are-we-there-yet-1.1.5" = {
name = "are-we-there-yet";
packageName = "are-we-there-yet";
version = "1.1.5";
src = fetchurl {
url = "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz";
sha512 = "5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==";
};
};
"balanced-match-1.0.0" = {
name = "balanced-match";
packageName = "balanced-match";
version = "1.0.0";
src = fetchurl {
url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz";
sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
};
};
"brace-expansion-1.1.11" = {
name = "brace-expansion";
packageName = "brace-expansion";
version = "1.1.11";
src = fetchurl {
url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz";
sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==";
};
};
"chownr-1.1.4" = {
name = "chownr";
packageName = "chownr";
version = "1.1.4";
src = fetchurl {
url = "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz";
sha512 = "jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==";
};
};
"code-point-at-1.1.0" = {
name = "code-point-at";
packageName = "code-point-at";
version = "1.1.0";
src = fetchurl {
url = "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz";
sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77";
};
};
"concat-map-0.0.1" = {
name = "concat-map";
packageName = "concat-map";
version = "0.0.1";
src = fetchurl {
url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
};
};
"console-control-strings-1.1.0" = {
name = "console-control-strings";
packageName = "console-control-strings";
version = "1.1.0";
src = fetchurl {
url = "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz";
sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e";
};
};
"core-util-is-1.0.2" = {
name = "core-util-is";
packageName = "core-util-is";
version = "1.0.2";
src = fetchurl {
url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
};
};
"debug-3.2.6" = {
name = "debug";
packageName = "debug";
version = "3.2.6";
src = fetchurl {
url = "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz";
sha512 = "mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==";
};
};
"deep-extend-0.6.0" = {
name = "deep-extend";
packageName = "deep-extend";
version = "0.6.0";
src = fetchurl {
url = "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz";
sha512 = "LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==";
};
};
"delegates-1.0.0" = {
name = "delegates";
packageName = "delegates";
version = "1.0.0";
src = fetchurl {
url = "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz";
sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
};
};
"detect-libc-1.0.3" = {
name = "detect-libc";
packageName = "detect-libc";
version = "1.0.3";
src = fetchurl {
url = "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz";
sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b";
};
};
"fs-minipass-1.2.7" = {
name = "fs-minipass";
packageName = "fs-minipass";
version = "1.2.7";
src = fetchurl {
url = "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz";
sha512 = "GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==";
};
};
"fs.realpath-1.0.0" = {
name = "fs.realpath";
packageName = "fs.realpath";
version = "1.0.0";
src = fetchurl {
url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz";
sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
};
};
"gauge-2.7.4" = {
name = "gauge";
packageName = "gauge";
version = "2.7.4";
src = fetchurl {
url = "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz";
sha1 = "2c03405c7538c39d7eb37b317022e325fb018bf7";
};
};
"glob-7.1.6" = {
name = "glob";
packageName = "glob";
version = "7.1.6";
src = fetchurl {
url = "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz";
sha512 = "LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==";
};
};
"has-unicode-2.0.1" = {
name = "has-unicode";
packageName = "has-unicode";
version = "2.0.1";
src = fetchurl {
url = "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz";
sha1 = "e0e6fe6a28cf51138855e086d1691e771de2a8b9";
};
};
"iconv-lite-0.4.24" = {
name = "iconv-lite";
packageName = "iconv-lite";
version = "0.4.24";
src = fetchurl {
url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz";
sha512 = "v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==";
};
};
"ignore-walk-3.0.3" = {
name = "ignore-walk";
packageName = "ignore-walk";
version = "3.0.3";
src = fetchurl {
url = "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz";
sha512 = "m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==";
};
};
"inflight-1.0.6" = {
name = "inflight";
packageName = "inflight";
version = "1.0.6";
src = fetchurl {
url = "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz";
sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
};
};
"inherits-2.0.4" = {
name = "inherits";
packageName = "inherits";
version = "2.0.4";
src = fetchurl {
url = "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz";
sha512 = "k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==";
};
};
"ini-1.3.5" = {
name = "ini";
packageName = "ini";
version = "1.3.5";
src = fetchurl {
url = "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz";
sha512 = "RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==";
};
};
"is-fullwidth-code-point-1.0.0" = {
name = "is-fullwidth-code-point";
packageName = "is-fullwidth-code-point";
version = "1.0.0";
src = fetchurl {
url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz";
sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb";
};
};
"isarray-1.0.0" = {
name = "isarray";
packageName = "isarray";
version = "1.0.0";
src = fetchurl {
url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz";
sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
};
};
"minimatch-3.0.4" = {
name = "minimatch";
packageName = "minimatch";
version = "3.0.4";
src = fetchurl {
url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
};
};
"minimist-1.2.5" = {
name = "minimist";
packageName = "minimist";
version = "1.2.5";
src = fetchurl {
url = "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz";
sha512 = "FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==";
};
};
"minipass-2.9.0" = {
name = "minipass";
packageName = "minipass";
version = "2.9.0";
src = fetchurl {
url = "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz";
sha512 = "wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==";
};
};
"minizlib-1.3.3" = {
name = "minizlib";
packageName = "minizlib";
version = "1.3.3";
src = fetchurl {
url = "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz";
sha512 = "6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==";
};
};
"mkdirp-0.5.5" = {
name = "mkdirp";
packageName = "mkdirp";
version = "0.5.5";
src = fetchurl {
url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz";
sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==";
};
};
"ms-2.1.2" = {
name = "ms";
packageName = "ms";
version = "2.1.2";
src = fetchurl {
url = "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz";
sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==";
};
};
"needle-2.4.1" = {
name = "needle";
packageName = "needle";
version = "2.4.1";
src = fetchurl {
url = "https://registry.npmjs.org/needle/-/needle-2.4.1.tgz";
sha512 = "x/gi6ijr4B7fwl6WYL9FwlCvRQKGlUNvnceho8wxkwXqN8jvVmmmATTmZPRRG7b/yC1eode26C2HO9jl78Du9g==";
};
};
"nopt-4.0.3" = {
name = "nopt";
packageName = "nopt";
version = "4.0.3";
src = fetchurl {
url = "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz";
sha512 = "CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==";
};
};
"npm-bundled-1.1.1" = {
name = "npm-bundled";
packageName = "npm-bundled";
version = "1.1.1";
src = fetchurl {
url = "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz";
sha512 = "gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==";
};
};
"npm-normalize-package-bin-1.0.1" = {
name = "npm-normalize-package-bin";
packageName = "npm-normalize-package-bin";
version = "1.0.1";
src = fetchurl {
url = "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz";
sha512 = "EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==";
};
};
"npm-packlist-1.4.8" = {
name = "npm-packlist";
packageName = "npm-packlist";
version = "1.4.8";
src = fetchurl {
url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz";
sha512 = "5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==";
};
};
"npmlog-4.1.2" = {
name = "npmlog";
packageName = "npmlog";
version = "4.1.2";
src = fetchurl {
url = "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz";
sha512 = "2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==";
};
};
"number-is-nan-1.0.1" = {
name = "number-is-nan";
packageName = "number-is-nan";
version = "1.0.1";
src = fetchurl {
url = "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz";
sha1 = "097b602b53422a522c1afb8790318336941a011d";
};
};
"object-assign-4.1.1" = {
name = "object-assign";
packageName = "object-assign";
version = "4.1.1";
src = fetchurl {
url = "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz";
sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863";
};
};
"once-1.4.0" = {
name = "once";
packageName = "once";
version = "1.4.0";
src = fetchurl {
url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz";
sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
};
};
"os-homedir-1.0.2" = {
name = "os-homedir";
packageName = "os-homedir";
version = "1.0.2";
src = fetchurl {
url = "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz";
sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3";
};
};
"os-tmpdir-1.0.2" = {
name = "os-tmpdir";
packageName = "os-tmpdir";
version = "1.0.2";
src = fetchurl {
url = "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz";
sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274";
};
};
"osenv-0.1.5" = {
name = "osenv";
packageName = "osenv";
version = "0.1.5";
src = fetchurl {
url = "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz";
sha512 = "0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==";
};
};
"path-is-absolute-1.0.1" = {
name = "path-is-absolute";
packageName = "path-is-absolute";
version = "1.0.1";
src = fetchurl {
url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
};
};
"process-nextick-args-2.0.1" = {
name = "process-nextick-args";
packageName = "process-nextick-args";
version = "2.0.1";
src = fetchurl {
url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz";
sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==";
};
};
"rc-1.2.8" = {
name = "rc";
packageName = "rc";
version = "1.2.8";
src = fetchurl {
url = "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz";
sha512 = "y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==";
};
};
"readable-stream-2.3.7" = {
name = "readable-stream";
packageName = "readable-stream";
version = "2.3.7";
src = fetchurl {
url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz";
sha512 = "Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==";
};
};
"rimraf-2.7.1" = {
name = "rimraf";
packageName = "rimraf";
version = "2.7.1";
src = fetchurl {
url = "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz";
sha512 = "uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==";
};
};
"safe-buffer-5.1.2" = {
name = "safe-buffer";
packageName = "safe-buffer";
version = "5.1.2";
src = fetchurl {
url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz";
sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==";
};
};
"safer-buffer-2.1.2" = {
name = "safer-buffer";
packageName = "safer-buffer";
version = "2.1.2";
src = fetchurl {
url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz";
sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
};
};
"sax-1.2.4" = {
name = "sax";
packageName = "sax";
version = "1.2.4";
src = fetchurl {
url = "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz";
sha512 = "NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==";
};
};
"semver-5.7.1" = {
name = "semver";
packageName = "semver";
version = "5.7.1";
src = fetchurl {
url = "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz";
sha512 = "sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==";
};
};
"set-blocking-2.0.0" = {
name = "set-blocking";
packageName = "set-blocking";
version = "2.0.0";
src = fetchurl {
url = "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz";
sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
};
};
"signal-exit-3.0.3" = {
name = "signal-exit";
packageName = "signal-exit";
version = "3.0.3";
src = fetchurl {
url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz";
sha512 = "VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==";
};
};
"string-width-1.0.2" = {
name = "string-width";
packageName = "string-width";
version = "1.0.2";
src = fetchurl {
url = "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz";
sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3";
};
};
"string_decoder-1.1.1" = {
name = "string_decoder";
packageName = "string_decoder";
version = "1.1.1";
src = fetchurl {
url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz";
sha512 = "n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==";
};
};
"strip-ansi-3.0.1" = {
name = "strip-ansi";
packageName = "strip-ansi";
version = "3.0.1";
src = fetchurl {
url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";
sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
};
};
"strip-json-comments-2.0.1" = {
name = "strip-json-comments";
packageName = "strip-json-comments";
version = "2.0.1";
src = fetchurl {
url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz";
sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a";
};
};
"tar-4.4.13" = {
name = "tar";
packageName = "tar";
version = "4.4.13";
src = fetchurl {
url = "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz";
sha512 = "w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==";
};
};
"util-deprecate-1.0.2" = {
name = "util-deprecate";
packageName = "util-deprecate";
version = "1.0.2";
src = fetchurl {
url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz";
sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
};
};
"wide-align-1.1.3" = {
name = "wide-align";
packageName = "wide-align";
version = "1.1.3";
src = fetchurl {
url = "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz";
sha512 = "QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==";
};
};
"wrappy-1.0.2" = {
name = "wrappy";
packageName = "wrappy";
version = "1.0.2";
src = fetchurl {
url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";
sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
};
};
"yallist-3.1.1" = {
name = "yallist";
packageName = "yallist";
version = "3.1.1";
src = fetchurl {
url = "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz";
sha512 = "a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==";
};
};
};
in
{
node-pre-gyp = nodeEnv.buildNodePackage {
name = "node-pre-gyp";
packageName = "node-pre-gyp";
version = "0.14.0";
src = fetchurl {
url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz";
sha512 = "+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==";
};
dependencies = [
sources."abbrev-1.1.1"
sources."ansi-regex-2.1.1"
sources."aproba-1.2.0"
sources."are-we-there-yet-1.1.5"
sources."balanced-match-1.0.0"
sources."brace-expansion-1.1.11"
sources."chownr-1.1.4"
sources."code-point-at-1.1.0"
sources."concat-map-0.0.1"
sources."console-control-strings-1.1.0"
sources."core-util-is-1.0.2"
sources."debug-3.2.6"
sources."deep-extend-0.6.0"
sources."delegates-1.0.0"
sources."detect-libc-1.0.3"
sources."fs-minipass-1.2.7"
sources."fs.realpath-1.0.0"
sources."gauge-2.7.4"
sources."glob-7.1.6"
sources."has-unicode-2.0.1"
sources."iconv-lite-0.4.24"
sources."ignore-walk-3.0.3"
sources."inflight-1.0.6"
sources."inherits-2.0.4"
sources."ini-1.3.5"
sources."is-fullwidth-code-point-1.0.0"
sources."isarray-1.0.0"
sources."minimatch-3.0.4"
sources."minimist-1.2.5"
sources."minipass-2.9.0"
sources."minizlib-1.3.3"
sources."mkdirp-0.5.5"
sources."ms-2.1.2"
sources."needle-2.4.1"
sources."nopt-4.0.3"
sources."npm-bundled-1.1.1"
sources."npm-normalize-package-bin-1.0.1"
sources."npm-packlist-1.4.8"
sources."npmlog-4.1.2"
sources."number-is-nan-1.0.1"
sources."object-assign-4.1.1"
sources."once-1.4.0"
sources."os-homedir-1.0.2"
sources."os-tmpdir-1.0.2"
sources."osenv-0.1.5"
sources."path-is-absolute-1.0.1"
sources."process-nextick-args-2.0.1"
sources."rc-1.2.8"
sources."readable-stream-2.3.7"
sources."rimraf-2.7.1"
sources."safe-buffer-5.1.2"
sources."safer-buffer-2.1.2"
sources."sax-1.2.4"
sources."semver-5.7.1"
sources."set-blocking-2.0.0"
sources."signal-exit-3.0.3"
sources."string-width-1.0.2"
sources."string_decoder-1.1.1"
sources."strip-ansi-3.0.1"
sources."strip-json-comments-2.0.1"
sources."tar-4.4.13"
sources."util-deprecate-1.0.2"
sources."wide-align-1.1.3"
sources."wrappy-1.0.2"
sources."yallist-3.1.1"
];
buildInputs = globalBuildInputs;
meta = {
description = "Node.js native addon binary install tool";
homepage = "https://github.com/mapbox/node-pre-gyp#readme";
license = "BSD-3-Clause";
};
production = true;
bypassCache = true;
reconstructLock = true;
};
}

View File

@ -1,21 +0,0 @@
# This file has been generated by node2nix 1.6.1. Do not edit!
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-10_x"}:
let
globalBuildInputs = pkgs.lib.attrValues (import ./supplement.nix {
inherit nodeEnv;
inherit (pkgs) fetchurl fetchgit;
});
nodeEnv = import ./node-env.nix {
inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
inherit nodejs;
libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
};
in
import ./node-packages.nix {
inherit (pkgs) fetchurl fetchgit;
inherit nodeEnv globalBuildInputs;
}

View File

@ -1,5 +0,0 @@
{ stdenv, pkgs, lib }:
lib.head (lib.attrValues (import ./composition.nix {
inherit pkgs;
inherit (stdenv.hostPlatform) system;
}))

View File

@ -1,3 +0,0 @@
#!/usr/bin/env nix-shell
#! nix-shell -i bash -p nodePackages.node2nix
exec node2nix --nodejs-10 -i pkg.json -c composition.nix --no-copy-node-env --supplement-input supplement.json

View File

@ -1 +0,0 @@
import <nixpkgs/pkgs/development/node-packages/node-env.nix>

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +0,0 @@
[
{ "nanopos": "^0.1.5" }
]

View File

@ -1,2 +0,0 @@
[
]

View File

@ -1,8 +0,0 @@
# This file has been generated by node2nix 1.6.1. Do not edit!
{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
let
sources = {};
in
{}

View File

@ -43,8 +43,6 @@ let testEnv = rec {
tests.spark-wallet = cfg.spark-wallet.enable;
tests.nanopos = cfg.nanopos.enable;
tests.lnd = cfg.lnd.enable;
services.lnd.listenPort = 9736;
@ -113,8 +111,6 @@ let testEnv = rec {
services.clightning.enable = true;
test.features.clightningPlugins = true;
services.spark-wallet.enable = true;
services.lightning-charge.enable = true;
services.nanopos.enable = true;
services.lnd.enable = true;
services.lightning-loop.enable = true;
services.electrs.enable = true;

View File

@ -201,24 +201,6 @@ def _():
assert_matches(f"curl -s {spark_auth}@{ip('spark-wallet')}:9737", "Spark")
@test("lightning-charge")
def _():
assert_running("lightning-charge")
wait_for_open_port(ip("lightning-charge"), 9112)
machine.wait_until_succeeds(f"nc -z {ip('lightning-charge')} 9112")
charge_auth = re.search("API_TOKEN=(.*)", succeed("cat /secrets/lightning-charge-env"))[1]
assert_matches(
f"curl -s api-token:{charge_auth}@{ip('lightning-charge')}:9112/info | jq", '"id"'
)
@test("nanopos")
def _():
assert_running("nanopos")
wait_for_open_port(ip("nanopos"), 9116)
assert_matches(f"curl {ip('nanopos')}:9116", "tshirt")
@test("joinmarket")
def _():
assert_running("joinmarket")
@ -245,7 +227,6 @@ def _():
assert_running("nginx")
wait_for_open_port(ip("nginx"), 80)
assert_matches(f"curl {ip('nginx')}", "nix-bitcoin")
assert_matches(f"curl -L {ip('nginx')}/store", "tshirt")
# Run this test before the following tests that shut down services
@ -325,9 +306,7 @@ def _():
pre_restart = succeed("date +%s.%6N").rstrip()
# Sanity-check system by restarting all services
succeed(
"systemctl restart bitcoind clightning lnd lightning-loop spark-wallet lightning-charge nanopos liquidd"
)
succeed("systemctl restart bitcoind clightning lnd lightning-loop spark-wallet liquidd")
# Now that the bitcoind restart triggered a banlist import restart, check that
# re-importing already banned addresses works