From 4c139a6d7778abf0957cbcaca443bdddb42dcce7 Mon Sep 17 00:00:00 2001 From: nixbitcoin Date: Sun, 3 May 2020 10:23:50 +0200 Subject: [PATCH 01/13] electrs: Make TLSProxy truly optional If TLSProxy is disabled, bypass nginx by forwarding Tor HS traffic directly to electrs. --- modules/presets/secure-node.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/presets/secure-node.nix b/modules/presets/secure-node.nix index 8feb283..83b567e 100644 --- a/modules/presets/secure-node.nix +++ b/modules/presets/secure-node.nix @@ -99,7 +99,7 @@ in { }; services.tor.hiddenServices.electrs = mkHiddenService { port = cfg.electrs.onionport; - toPort = cfg.electrs.TLSProxy.port; + toPort = if cfg.electrs.TLSProxy.enable then cfg.electrs.TLSProxy.port else cfg.electrs.port; }; services.spark-wallet.onion-service = true; From 7cfae66db491b8eb2f128b85f69ede64bcb1531e Mon Sep 17 00:00:00 2001 From: nixbitcoin Date: Sun, 3 May 2020 10:25:13 +0200 Subject: [PATCH 02/13] electrs: Drop insecure TLS ciphers --- modules/electrs.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/electrs.nix b/modules/electrs.nix index c6e9dae..6e21a8d 100644 --- a/modules/electrs.nix +++ b/modules/electrs.nix @@ -136,7 +136,7 @@ in { ssl_certificate_key ${secretsDir}/nginx-key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 4h; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; + ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; } } From 393ab0fb3c160adfdf64786d5e9e360967dfb678 Mon Sep 17 00:00:00 2001 From: nixbitcoin Date: Sun, 3 May 2020 10:30:21 +0200 Subject: [PATCH 03/13] electrs: Remove electrs user from "bitcoinrpc" and "bitcoin" sometimes Electrs does not need to be a part of "bitcoinrpc" group because preStart electrs.toml creation is handled by PermissionsStartOnly. "bitcoin" group membership is only necessary when cfg.high-memory is enabled and electrs reads blocks directly from the blocks directory. --- modules/electrs.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/electrs.nix b/modules/electrs.nix index 6e21a8d..5b62149 100644 --- a/modules/electrs.nix +++ b/modules/electrs.nix @@ -106,7 +106,7 @@ in { users.users.${cfg.user} = { description = "electrs User"; group = cfg.group; - extraGroups = [ "bitcoinrpc" "bitcoin"]; + extraGroups = optionals cfg.high-memory [ "bitcoin" ]; }; users.groups.${cfg.group} = {}; } From 04c6936ce9030e7e99aa9bfedf0a73810f550ac1 Mon Sep 17 00:00:00 2001 From: nixbitcoin Date: Sun, 3 May 2020 11:03:24 +0200 Subject: [PATCH 04/13] clightning: Remove clightning "bitcoinrpc" membership Secrets are written to clightning config file during preStart with root permissions because of PermissionsStartOnly. --- modules/clightning.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/clightning.nix b/modules/clightning.nix index 11f1a92..2a41b11 100644 --- a/modules/clightning.nix +++ b/modules/clightning.nix @@ -76,7 +76,6 @@ in { users.users.clightning = { description = "clightning User"; group = "clightning"; - extraGroups = [ "bitcoinrpc" ]; }; users.groups.clightning = {}; From 304dd297ba6a128c21ebba20d83298c2c9cecbc8 Mon Sep 17 00:00:00 2001 From: nixbitcoin Date: Mon, 11 May 2020 13:59:53 +0200 Subject: [PATCH 05/13] clightning: remove config group read access --- modules/clightning.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modules/clightning.nix b/modules/clightning.nix index 2a41b11..619d210 100644 --- a/modules/clightning.nix +++ b/modules/clightning.nix @@ -89,10 +89,9 @@ in { mkdir -m 0770 -p ${cfg.dataDir} cp ${configFile} ${cfg.dataDir}/config chown -R 'clightning:clightning' '${cfg.dataDir}' - # give group read access to allow using lightning-cli - chmod u=rw,g=r,o= ${cfg.dataDir}/config # The RPC socket has to be removed otherwise we might have stale sockets rm -f ${cfg.dataDir}/bitcoin/lightning-rpc + chmod 600 ${cfg.dataDir}/config echo "bitcoin-rpcpassword=$(cat ${config.nix-bitcoin.secretsDir}/bitcoin-rpcpassword)" >> '${cfg.dataDir}/config' ''; serviceConfig = { From 0ba55757f8027da906f84a1330bd11fc3ae1f0f0 Mon Sep 17 00:00:00 2001 From: nixbitcoin Date: Mon, 18 May 2020 14:32:49 +0000 Subject: [PATCH 06/13] clightning: allow group access to RPC socket --- modules/clightning.nix | 7 ++++--- modules/presets/secure-node.nix | 5 ----- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/modules/clightning.nix b/modules/clightning.nix index 619d210..4a08ae0 100644 --- a/modules/clightning.nix +++ b/modules/clightning.nix @@ -13,6 +13,7 @@ let always-use-proxy=${if cfg.always-use-proxy then "true" else "false"} ${optionalString (cfg.bind-addr != null) "bind-addr=${cfg.bind-addr}"} bitcoin-rpcuser=${cfg.bitcoin-rpcuser} + rpc-file-mode=0660 ''; in { options.services.clightning = { @@ -61,10 +62,8 @@ in { cli = mkOption { readOnly = true; default = pkgs.writeScriptBin "lightning-cli" - # Switch user because c-lightning doesn't allow setting the permissions of the rpc socket - # https://github.com/ElementsProject/lightning/issues/1366 '' - exec sudo -u clightning ${pkgs.nix-bitcoin.clightning}/bin/lightning-cli --lightning-dir='${cfg.dataDir}' "$@" + ${pkgs.nix-bitcoin.clightning}/bin/lightning-cli --lightning-dir='${cfg.dataDir}' "$@" ''; description = "Binary to connect with the clightning instance."; }; @@ -110,6 +109,8 @@ in { while [[ ! -e ${cfg.dataDir}/bitcoin/lightning-rpc ]]; do sleep 0.1 done + # Needed to enable lightning-cli for users with group 'clightning' + chmod g+x ${cfg.dataDir}/bitcoin ''; }; }; diff --git a/modules/presets/secure-node.nix b/modules/presets/secure-node.nix index 83b567e..ebde6a9 100644 --- a/modules/presets/secure-node.nix +++ b/modules/presets/secure-node.nix @@ -132,12 +132,7 @@ in { services.onion-chef.enable = true; services.onion-chef.access.operator = [ "bitcoind" "clightning" "nginx" "liquidd" "spark-wallet" "electrs" "sshd" ]; - # Unfortunately c-lightning doesn't allow setting the permissions of the rpc socket - # https://github.com/ElementsProject/lightning/issues/1366 security.sudo.configFile = - (optionalString cfg.clightning.enable '' - operator ALL=(clightning) NOPASSWD: ALL - '') + (optionalString cfg.lnd.enable '' operator ALL=(lnd) NOPASSWD: ALL ''); From e67a81829722bd6c16b1450371d13b681f6de532 Mon Sep 17 00:00:00 2001 From: nixbitcoin Date: Mon, 18 May 2020 14:25:38 +0000 Subject: [PATCH 07/13] lightning-charge: 0.4.14 -> 0.4.19 --- pkgs/lightning-charge/node-packages.nix | 861 +++++++----------------- pkgs/lightning-charge/pkg.json | 2 +- pkgs/lightning-charge/supplement.nix | 85 +-- 3 files changed, 283 insertions(+), 665 deletions(-) diff --git a/pkgs/lightning-charge/node-packages.nix b/pkgs/lightning-charge/node-packages.nix index b86ffe9..f8a615f 100644 --- a/pkgs/lightning-charge/node-packages.nix +++ b/pkgs/lightning-charge/node-packages.nix @@ -4,13 +4,13 @@ let sources = { - "@babel/polyfill-7.7.0" = { + "@babel/polyfill-7.8.7" = { name = "_at_babel_slash_polyfill"; packageName = "@babel/polyfill"; - version = "7.7.0"; + version = "7.8.7"; src = fetchurl { - url = "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.7.0.tgz"; - sha512 = "/TS23MVvo34dFmf8mwCisCbWGrfhbiWZSwBo6HkADTBhUa2Q/jWltyY/tpofz/b6/RIhqaqQcquptCirqIhOaQ=="; + url = "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.8.7.tgz"; + sha512 = "LeSfP9bNZH2UOZgcGcZ0PIHUt1ZuHub1L3CVmEyqLxCeDLm4C5Gi8jRH8ZX2PNpDhQCo0z6y/+DIs2JlliXW8w=="; }; }; "@types/babel-types-7.0.7" = { @@ -94,15 +94,6 @@ let sha512 = "salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg=="; }; }; - "ajv-6.10.2" = { - name = "ajv"; - packageName = "ajv"; - version = "6.10.2"; - src = fetchurl { - url = "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz"; - sha512 = "TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw=="; - }; - }; "align-text-0.1.4" = { name = "align-text"; packageName = "align-text"; @@ -256,24 +247,6 @@ let sha1 = "e50347611d7e690943208bbdafebcbc2fb866d46"; }; }; - "asn1-0.2.4" = { - name = "asn1"; - packageName = "asn1"; - version = "0.2.4"; - src = fetchurl { - url = "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz"; - sha512 = "jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg=="; - }; - }; - "assert-plus-1.0.0" = { - name = "assert-plus"; - packageName = "assert-plus"; - version = "1.0.0"; - src = fetchurl { - url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"; - sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"; - }; - }; "assign-symbols-1.0.0" = { name = "assign-symbols"; packageName = "assign-symbols"; @@ -283,13 +256,13 @@ let sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"; }; }; - "ast-types-0.13.2" = { + "ast-types-0.13.3" = { name = "ast-types"; packageName = "ast-types"; - version = "0.13.2"; + version = "0.13.3"; src = fetchurl { - url = "https://registry.npmjs.org/ast-types/-/ast-types-0.13.2.tgz"; - sha512 = "uWMHxJxtfj/1oZClOxDEV1sQ1HCDkA4MG8Gr69KKeBjEVH0R84WlejZ0y2DcwyBlpAEMltmVYkVgqfLFb2oyiA=="; + url = "https://registry.npmjs.org/ast-types/-/ast-types-0.13.3.tgz"; + sha512 = "XTZ7xGML849LkQP86sWdQzfhwbt3YwIO6MqbX9mUNYY98VKaaVZP7YNNm70IpwecbkkxmfC5IYAzOQ/2p29zRA=="; }; }; "asynckit-0.4.0" = { @@ -310,24 +283,6 @@ let sha512 = "Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="; }; }; - "aws-sign2-0.7.0" = { - name = "aws-sign2"; - packageName = "aws-sign2"; - version = "0.7.0"; - src = fetchurl { - url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz"; - sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"; - }; - }; - "aws4-1.9.0" = { - name = "aws4"; - packageName = "aws4"; - version = "1.9.0"; - src = fetchurl { - url = "https://registry.npmjs.org/aws4/-/aws4-1.9.0.tgz"; - sha512 = "Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A=="; - }; - }; "babel-runtime-6.26.0" = { name = "babel-runtime"; packageName = "babel-runtime"; @@ -391,15 +346,6 @@ let sha512 = "NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg=="; }; }; - "bcrypt-pbkdf-1.0.2" = { - name = "bcrypt-pbkdf"; - packageName = "bcrypt-pbkdf"; - version = "1.0.2"; - src = fetchurl { - url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz"; - sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"; - }; - }; "big.js-5.2.2" = { name = "big.js"; packageName = "big.js"; @@ -409,15 +355,6 @@ let sha512 = "vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ=="; }; }; - "bluebird-3.7.2" = { - name = "bluebird"; - packageName = "bluebird"; - version = "3.7.2"; - src = fetchurl { - url = "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz"; - sha512 = "XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="; - }; - }; "body-parser-1.19.0" = { name = "body-parser"; packageName = "body-parser"; @@ -445,13 +382,13 @@ let sha512 = "aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w=="; }; }; - "buffer-5.4.3" = { + "buffer-5.6.0" = { name = "buffer"; packageName = "buffer"; - version = "5.4.3"; + version = "5.6.0"; src = fetchurl { - url = "https://registry.npmjs.org/buffer/-/buffer-5.4.3.tgz"; - sha512 = "zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A=="; + url = "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz"; + sha512 = "/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw=="; }; }; "buffer-alloc-1.2.0" = { @@ -544,15 +481,6 @@ let sha1 = "a2aa5fb1af688758259c32c141426d78923b9b77"; }; }; - "caseless-0.12.0" = { - name = "caseless"; - packageName = "caseless"; - version = "0.12.0"; - src = fetchurl { - url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz"; - sha1 = "1b681c21ff84033c826543090689420d187151dc"; - }; - }; "center-align-0.1.3" = { name = "center-align"; packageName = "center-align"; @@ -571,13 +499,13 @@ let sha1 = "c7ce28f36d4bcd9744e5ffc2c5fcde1c73261fc0"; }; }; - "chownr-1.1.3" = { + "chownr-1.1.4" = { name = "chownr"; packageName = "chownr"; - version = "1.1.3"; + version = "1.1.4"; src = fetchurl { - url = "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz"; - sha512 = "i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw=="; + url = "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz"; + sha512 = "jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="; }; }; "class-utils-0.3.6" = { @@ -589,13 +517,13 @@ let sha512 = "qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg=="; }; }; - "clean-css-4.2.1" = { + "clean-css-4.2.3" = { name = "clean-css"; packageName = "clean-css"; - version = "4.2.1"; + version = "4.2.3"; src = fetchurl { - url = "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz"; - sha512 = "4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g=="; + url = "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz"; + sha512 = "VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA=="; }; }; "clightning-client-0.1.2" = { @@ -688,13 +616,13 @@ let sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="; }; }; - "commander-4.1.0" = { + "commander-4.1.1" = { name = "commander"; packageName = "commander"; - version = "4.1.0"; + version = "4.1.1"; src = fetchurl { - url = "https://registry.npmjs.org/commander/-/commander-4.1.0.tgz"; - sha512 = "NIQrwvv9V39FHgGFm36+U9SMQzbiHvU79k+iADraJTpmrFFfx7Ds0IvDoAdZsDrknlkRk14OYoWXb57uTh7/sw=="; + url = "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz"; + sha512 = "NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="; }; }; "component-emitter-1.3.0" = { @@ -814,15 +742,6 @@ let sha1 = "988df33feab191ef799a61369dd76c17adf957ea"; }; }; - "dashdash-1.14.1" = { - name = "dashdash"; - packageName = "dashdash"; - version = "1.14.1"; - src = fetchurl { - url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz"; - sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"; - }; - }; "data-uri-to-buffer-1.2.0" = { name = "data-uri-to-buffer"; packageName = "data-uri-to-buffer"; @@ -976,6 +895,15 @@ let sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9"; }; }; + "depd-2.0.0" = { + name = "depd"; + packageName = "depd"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz"; + sha512 = "g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="; + }; + }; "destroy-1.0.4" = { name = "destroy"; packageName = "destroy"; @@ -1021,15 +949,6 @@ let sha1 = "ea80b106a87538774e8a3a4a5afe293de489e0a9"; }; }; - "ecc-jsbn-0.1.2" = { - name = "ecc-jsbn"; - packageName = "ecc-jsbn"; - version = "0.1.2"; - src = fetchurl { - url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz"; - sha1 = "3a83a904e54353287874c564b7549386849a98c9"; - }; - }; "ee-first-1.1.1" = { name = "ee-first"; packageName = "ee-first"; @@ -1102,13 +1021,22 @@ let sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988"; }; }; - "escodegen-1.12.1" = { + "escodegen-1.14.1" = { name = "escodegen"; packageName = "escodegen"; - version = "1.12.1"; + version = "1.14.1"; src = fetchurl { - url = "https://registry.npmjs.org/escodegen/-/escodegen-1.12.1.tgz"; - sha512 = "Q8t2YZ+0e0pc7NRVj3B4tSQ9rim1oi4Fh46k2xhJ2qOiEwhQfdjyEQddWdj7ZFaKmU+5104vn1qrcjEPWq+bgQ=="; + url = "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz"; + sha512 = "Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ=="; + }; + }; + "esm-3.2.25" = { + name = "esm"; + packageName = "esm"; + version = "3.2.25"; + src = fetchurl { + url = "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz"; + sha512 = "U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA=="; }; }; "esprima-3.1.3" = { @@ -1120,6 +1048,15 @@ let sha1 = "fdca51cee6133895e3c88d535ce49dbff62a4633"; }; }; + "esprima-4.0.1" = { + name = "esprima"; + packageName = "esprima"; + version = "4.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz"; + sha512 = "eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="; + }; + }; "estraverse-4.3.0" = { name = "estraverse"; packageName = "estraverse"; @@ -1210,33 +1147,6 @@ let sha512 = "Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw=="; }; }; - "extsprintf-1.3.0" = { - name = "extsprintf"; - packageName = "extsprintf"; - version = "1.3.0"; - src = fetchurl { - url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz"; - sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05"; - }; - }; - "fast-deep-equal-2.0.1" = { - name = "fast-deep-equal"; - packageName = "fast-deep-equal"; - version = "2.0.1"; - src = fetchurl { - url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz"; - sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"; - }; - }; - "fast-json-stable-stringify-2.1.0" = { - name = "fast-json-stable-stringify"; - packageName = "fast-json-stable-stringify"; - version = "2.1.0"; - src = fetchurl { - url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz"; - sha512 = "lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="; - }; - }; "fast-levenshtein-2.0.6" = { name = "fast-levenshtein"; packageName = "fast-levenshtein"; @@ -1327,6 +1237,15 @@ let sha512 = "lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q=="; }; }; + "fmtbtc-0.0.3" = { + name = "fmtbtc"; + packageName = "fmtbtc"; + version = "0.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/fmtbtc/-/fmtbtc-0.0.3.tgz"; + sha512 = "3awolswh6476ce5gIvzjw6OgT7ae2WD5NSinOC/de8gLeaDQPdYlW94Hb6nCoTXMUP6AFe3eh3IQiuT+dp4c8A=="; + }; + }; "for-in-1.0.2" = { name = "for-in"; packageName = "for-in"; @@ -1345,24 +1264,6 @@ let sha1 = "c63332f415cedc4b04dbfe70cf836494c53cb44b"; }; }; - "forever-agent-0.6.1" = { - name = "forever-agent"; - packageName = "forever-agent"; - version = "0.6.1"; - src = fetchurl { - url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz"; - sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"; - }; - }; - "form-data-2.3.3" = { - name = "form-data"; - packageName = "form-data"; - version = "2.3.3"; - src = fetchurl { - url = "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz"; - sha512 = "1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ=="; - }; - }; "form-data-3.0.0" = { name = "form-data"; packageName = "form-data"; @@ -1372,13 +1273,13 @@ let sha512 = "CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg=="; }; }; - "formidable-1.2.1" = { + "formidable-1.2.2" = { name = "formidable"; packageName = "formidable"; - version = "1.2.1"; + version = "1.2.2"; src = fetchurl { - url = "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz"; - sha512 = "Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg=="; + url = "https://registry.npmjs.org/formidable/-/formidable-1.2.2.tgz"; + sha512 = "V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q=="; }; }; "forwarded-0.1.2" = { @@ -1489,15 +1390,6 @@ let sha512 = "9jb7AW5p3in+IiJWhQiZmmwkpLaR/ccTWdWQCtZM66HJcHHLegowh4q4tSD7gouUyeNvFWRavfK9GXosQHDpFA=="; }; }; - "getpass-0.1.7" = { - name = "getpass"; - packageName = "getpass"; - version = "0.1.7"; - src = fetchurl { - url = "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz"; - sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa"; - }; - }; "glob-7.1.6" = { name = "glob"; packageName = "glob"; @@ -1525,31 +1417,13 @@ let sha1 = "dbf743c6c14992593c655568cb66ed32c0122ebe"; }; }; - "graceful-fs-4.2.3" = { + "graceful-fs-4.2.4" = { name = "graceful-fs"; packageName = "graceful-fs"; - version = "4.2.3"; + version = "4.2.4"; src = fetchurl { - url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz"; - sha512 = "a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ=="; - }; - }; - "har-schema-2.0.0" = { - name = "har-schema"; - packageName = "har-schema"; - version = "2.0.0"; - src = fetchurl { - url = "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz"; - sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92"; - }; - }; - "har-validator-5.1.3" = { - name = "har-validator"; - packageName = "har-validator"; - version = "5.1.3"; - src = fetchurl { - url = "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz"; - sha512 = "sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g=="; + url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz"; + sha512 = "WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw=="; }; }; "has-1.0.3" = { @@ -1615,13 +1489,13 @@ let sha512 = "eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA=="; }; }; - "hosted-git-info-2.8.5" = { + "hosted-git-info-2.8.8" = { name = "hosted-git-info"; packageName = "hosted-git-info"; - version = "2.8.5"; + version = "2.8.8"; src = fetchurl { - url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz"; - sha512 = "kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg=="; + url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz"; + sha512 = "f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg=="; }; }; "http-errors-1.7.2" = { @@ -1642,15 +1516,6 @@ let sha512 = "qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg=="; }; }; - "http-signature-1.2.0" = { - name = "http-signature"; - packageName = "http-signature"; - version = "1.2.0"; - src = fetchurl { - url = "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz"; - sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1"; - }; - }; "https-proxy-agent-3.0.1" = { name = "https-proxy-agent"; packageName = "https-proxy-agent"; @@ -1750,13 +1615,13 @@ let sha1 = "bdded70114290828c0a039e72ef25f5aaec4354a"; }; }; - "ipaddr.js-1.9.0" = { + "ipaddr.js-1.9.1" = { name = "ipaddr.js"; packageName = "ipaddr.js"; - version = "1.9.0"; + version = "1.9.1"; src = fetchurl { - url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz"; - sha512 = "M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA=="; + url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz"; + sha512 = "0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="; }; }; "is-absolute-1.0.0" = { @@ -1930,13 +1795,13 @@ let sha512 = "h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og=="; }; }; - "is-promise-2.1.0" = { + "is-promise-2.2.2" = { name = "is-promise"; packageName = "is-promise"; - version = "2.1.0"; + version = "2.2.2"; src = fetchurl { - url = "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz"; - sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"; + url = "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz"; + sha512 = "+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ=="; }; }; "is-regex-1.0.5" = { @@ -1957,15 +1822,6 @@ let sha512 = "Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA=="; }; }; - "is-typedarray-1.0.0" = { - name = "is-typedarray"; - packageName = "is-typedarray"; - version = "1.0.0"; - src = fetchurl { - url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz"; - sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a"; - }; - }; "is-unc-path-1.0.0" = { name = "is-unc-path"; packageName = "is-unc-path"; @@ -2038,15 +1894,6 @@ let sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"; }; }; - "isstream-0.1.2" = { - name = "isstream"; - packageName = "isstream"; - version = "0.1.2"; - src = fetchurl { - url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz"; - sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a"; - }; - }; "js-stringify-1.0.2" = { name = "js-stringify"; packageName = "js-stringify"; @@ -2056,15 +1903,6 @@ let sha1 = "1736fddfd9724f28a3682adc6230ae7e4e9679db"; }; }; - "jsbn-0.1.1" = { - name = "jsbn"; - packageName = "jsbn"; - version = "0.1.1"; - src = fetchurl { - url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz"; - sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"; - }; - }; "json-parse-better-errors-1.0.2" = { name = "json-parse-better-errors"; packageName = "json-parse-better-errors"; @@ -2074,42 +1912,6 @@ let sha512 = "mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="; }; }; - "json-schema-0.2.3" = { - name = "json-schema"; - packageName = "json-schema"; - version = "0.2.3"; - src = fetchurl { - url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz"; - sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13"; - }; - }; - "json-schema-traverse-0.4.1" = { - name = "json-schema-traverse"; - packageName = "json-schema-traverse"; - version = "0.4.1"; - src = fetchurl { - url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"; - sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="; - }; - }; - "json-stringify-safe-5.0.1" = { - name = "json-stringify-safe"; - packageName = "json-stringify-safe"; - version = "5.0.1"; - src = fetchurl { - url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"; - sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"; - }; - }; - "jsprim-1.4.1" = { - name = "jsprim"; - packageName = "jsprim"; - version = "1.4.1"; - src = fetchurl { - url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz"; - sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"; - }; - }; "jstransformer-1.0.0" = { name = "jstransformer"; packageName = "jstransformer"; @@ -2146,22 +1948,22 @@ let sha512 = "NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="; }; }; - "kind-of-6.0.2" = { + "kind-of-6.0.3" = { name = "kind-of"; packageName = "kind-of"; - version = "6.0.2"; + version = "6.0.3"; src = fetchurl { - url = "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz"; - sha512 = "s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="; + url = "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz"; + sha512 = "dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="; }; }; - "knex-0.20.7" = { + "knex-0.20.15" = { name = "knex"; packageName = "knex"; - version = "0.20.7"; + version = "0.20.15"; src = fetchurl { - url = "https://registry.npmjs.org/knex/-/knex-0.20.7.tgz"; - sha512 = "Yu5WfQqK9JSkxMAWnCdeWbsjTKTzsjMYjqmUowOQnyLMs4RspVehqXCVjg+aTtcVrTtIZ3WvoeE00OzFsZKJow=="; + url = "https://registry.npmjs.org/knex/-/knex-0.20.15.tgz"; + sha512 = "WHmvgfQfxA5v8pyb9zbskxCS1L1WmYgUbwBhHojlkmdouUOazvroUWlCr6KIKMQ8anXZh1NXOOtIUMnxENZG5Q=="; }; }; "lazy-cache-1.0.4" = { @@ -2353,31 +2155,31 @@ let sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="; }; }; - "mime-2.4.4" = { + "mime-2.4.5" = { name = "mime"; packageName = "mime"; - version = "2.4.4"; + version = "2.4.5"; src = fetchurl { - url = "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz"; - sha512 = "LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA=="; + url = "https://registry.npmjs.org/mime/-/mime-2.4.5.tgz"; + sha512 = "3hQhEUF027BuxZjQA3s7rIv/7VCQPa27hN9u9g87sEkWaKwQPuXOkVKtOeiyUrnWqTDiOs8Ed2rwg733mB0R5w=="; }; }; - "mime-db-1.43.0" = { + "mime-db-1.44.0" = { name = "mime-db"; packageName = "mime-db"; - version = "1.43.0"; + version = "1.44.0"; src = fetchurl { - url = "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz"; - sha512 = "+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ=="; + url = "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz"; + sha512 = "/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg=="; }; }; - "mime-types-2.1.26" = { + "mime-types-2.1.27" = { name = "mime-types"; packageName = "mime-types"; - version = "2.1.26"; + version = "2.1.27"; src = fetchurl { - url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz"; - sha512 = "01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ=="; + url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz"; + sha512 = "JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w=="; }; }; "minimatch-3.0.4" = { @@ -2389,22 +2191,13 @@ let sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA=="; }; }; - "minimist-0.0.8" = { + "minimist-1.2.5" = { name = "minimist"; packageName = "minimist"; - version = "0.0.8"; + version = "1.2.5"; src = fetchurl { - url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"; - sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d"; - }; - }; - "minimist-1.2.0" = { - name = "minimist"; - packageName = "minimist"; - version = "1.2.0"; - src = fetchurl { - url = "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz"; - sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284"; + url = "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz"; + sha512 = "FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="; }; }; "minimist-options-3.0.2" = { @@ -2443,22 +2236,22 @@ let sha512 = "WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA=="; }; }; - "mkdirp-0.5.1" = { + "mkdirp-0.5.5" = { name = "mkdirp"; packageName = "mkdirp"; - version = "0.5.1"; + version = "0.5.5"; src = fetchurl { - url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz"; - sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903"; + url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz"; + sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ=="; }; }; - "morgan-1.9.1" = { + "morgan-1.10.0" = { name = "morgan"; packageName = "morgan"; - version = "1.9.1"; + version = "1.10.0"; src = fetchurl { - url = "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz"; - sha512 = "HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA=="; + url = "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz"; + sha512 = "AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ=="; }; }; "move-decimal-point-0.0.4" = { @@ -2497,22 +2290,22 @@ let sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="; }; }; - "nan-2.14.0" = { + "nan-2.14.1" = { name = "nan"; packageName = "nan"; - version = "2.14.0"; + version = "2.14.1"; src = fetchurl { - url = "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz"; - sha512 = "INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg=="; + url = "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz"; + sha512 = "isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw=="; }; }; - "nanoid-2.1.9" = { + "nanoid-3.1.3" = { name = "nanoid"; packageName = "nanoid"; - version = "2.1.9"; + version = "3.1.3"; src = fetchurl { - url = "https://registry.npmjs.org/nanoid/-/nanoid-2.1.9.tgz"; - sha512 = "J2X7aUpdmTlkAuSe9WaQ5DsTZZPW1r/zmEWKsGhbADO6Gm9FMd2ZzJ8NhsmP4OtA9oFhXfxNqPlreHEDOGB4sg=="; + url = "https://registry.npmjs.org/nanoid/-/nanoid-3.1.3.tgz"; + sha512 = "Zw8rTOUfh6FlKgkEbHiB1buOF2zOPOQyGirABUWn+9Z7m9PpyoLVkh6Ksc53vBjndINQ2+9LfRPaHxb/u45EGg=="; }; }; "nanomatch-1.2.13" = { @@ -2524,13 +2317,13 @@ let sha512 = "fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA=="; }; }; - "needle-2.4.0" = { + "needle-2.4.1" = { name = "needle"; packageName = "needle"; - version = "2.4.0"; + version = "2.4.1"; src = fetchurl { - url = "https://registry.npmjs.org/needle/-/needle-2.4.0.tgz"; - sha512 = "4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg=="; + url = "https://registry.npmjs.org/needle/-/needle-2.4.1.tgz"; + sha512 = "x/gi6ijr4B7fwl6WYL9FwlCvRQKGlUNvnceho8wxkwXqN8jvVmmmATTmZPRRG7b/yC1eode26C2HO9jl78Du9g=="; }; }; "negotiator-0.6.2" = { @@ -2560,13 +2353,13 @@ let sha512 = "TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q=="; }; }; - "nopt-4.0.1" = { + "nopt-4.0.3" = { name = "nopt"; packageName = "nopt"; - version = "4.0.1"; + version = "4.0.3"; src = fetchurl { - url = "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz"; - sha1 = "d0d4685afd5415193c8c7505602d0d17cd64474d"; + url = "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz"; + sha512 = "CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg=="; }; }; "normalize-package-data-2.5.0" = { @@ -2596,13 +2389,13 @@ let sha512 = "EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA=="; }; }; - "npm-packlist-1.4.7" = { + "npm-packlist-1.4.8" = { name = "npm-packlist"; packageName = "npm-packlist"; - version = "1.4.7"; + version = "1.4.8"; src = fetchurl { - url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.7.tgz"; - sha512 = "vAj7dIkp5NhieaGZxBJB8fF4R0078rqsmhJcAfXZ6O7JJhjhPK96n5Ry1oZcfLXgfun0GWTZPOxaEyqv8GBykQ=="; + url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz"; + sha512 = "5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A=="; }; }; "npmlog-4.1.2" = { @@ -2623,15 +2416,6 @@ let sha1 = "097b602b53422a522c1afb8790318336941a011d"; }; }; - "oauth-sign-0.9.0" = { - name = "oauth-sign"; - packageName = "oauth-sign"; - version = "0.9.0"; - src = fetchurl { - url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz"; - sha512 = "fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="; - }; - }; "object-assign-4.1.1" = { name = "object-assign"; packageName = "object-assign"; @@ -2758,13 +2542,13 @@ let sha512 = "vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q=="; }; }; - "p-limit-2.2.2" = { + "p-limit-2.3.0" = { name = "p-limit"; packageName = "p-limit"; - version = "2.2.2"; + version = "2.3.0"; src = fetchurl { - url = "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz"; - sha512 = "WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ=="; + url = "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz"; + sha512 = "//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="; }; }; "p-locate-2.0.0" = { @@ -2929,15 +2713,6 @@ let sha512 = "T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg=="; }; }; - "performance-now-2.1.0" = { - name = "performance-now"; - packageName = "performance-now"; - version = "2.1.0"; - src = fetchurl { - url = "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz"; - sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"; - }; - }; "pg-connection-string-2.1.0" = { name = "pg-connection-string"; packageName = "pg-connection-string"; @@ -3001,13 +2776,13 @@ let sha512 = "nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg=="; }; }; - "proxy-addr-2.0.5" = { + "proxy-addr-2.0.6" = { name = "proxy-addr"; packageName = "proxy-addr"; - version = "2.0.5"; + version = "2.0.6"; src = fetchurl { - url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz"; - sha512 = "t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ=="; + url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz"; + sha512 = "dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw=="; }; }; "proxy-agent-git://github.com/shesek/node-proxy-agent#0d916427f586e41a1a4485db88509218017f9696" = { @@ -3020,22 +2795,13 @@ let sha256 = "9582aafb90887f3a600806240c0f71fd09ef2b8805a37281894b56e717a35d98"; }; }; - "proxy-from-env-1.0.0" = { + "proxy-from-env-1.1.0" = { name = "proxy-from-env"; packageName = "proxy-from-env"; - version = "1.0.0"; + version = "1.1.0"; src = fetchurl { - url = "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz"; - sha1 = "33c50398f70ea7eb96d21f7b817630a55791c7ee"; - }; - }; - "psl-1.7.0" = { - name = "psl"; - packageName = "psl"; - version = "1.7.0"; - src = fetchurl { - url = "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz"; - sha512 = "5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ=="; + url = "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz"; + sha512 = "D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="; }; }; "pug-2.0.4" = { @@ -3146,24 +2912,6 @@ let sha512 = "GMu3M5nUL3fju4/egXwZO0XLi6fW/K3T3VTgFQ14GxNi8btlxgT5qZL//JwZFm/2Fa64J/PNS8AZeys3wiMkVA=="; }; }; - "punycode-1.4.1" = { - name = "punycode"; - packageName = "punycode"; - version = "1.4.1"; - src = fetchurl { - url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz"; - sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"; - }; - }; - "punycode-2.1.1" = { - name = "punycode"; - packageName = "punycode"; - version = "2.1.1"; - src = fetchurl { - url = "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz"; - sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="; - }; - }; "qrcode-1.4.4" = { name = "qrcode"; packageName = "qrcode"; @@ -3173,15 +2921,6 @@ let sha512 = "oLzEC5+NKFou9P0bMj5+v6Z40evexeE29Z9cummZXZ9QXyMr3lphkURzxjXgPJC5azpxcshoDWV1xE46z+/c3Q=="; }; }; - "qs-6.5.2" = { - name = "qs"; - packageName = "qs"; - version = "6.5.2"; - src = fetchurl { - url = "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz"; - sha512 = "N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="; - }; - }; "qs-6.7.0" = { name = "qs"; packageName = "qs"; @@ -3191,13 +2930,13 @@ let sha512 = "VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="; }; }; - "qs-6.9.1" = { + "qs-6.9.3" = { name = "qs"; packageName = "qs"; - version = "6.9.1"; + version = "6.9.3"; src = fetchurl { - url = "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz"; - sha512 = "Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA=="; + url = "https://registry.npmjs.org/qs/-/qs-6.9.3.tgz"; + sha512 = "EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw=="; }; }; "quick-lru-1.1.0" = { @@ -3272,13 +3011,13 @@ let sha512 = "Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw=="; }; }; - "readable-stream-3.4.0" = { + "readable-stream-3.6.0" = { name = "readable-stream"; packageName = "readable-stream"; - version = "3.4.0"; + version = "3.6.0"; src = fetchurl { - url = "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz"; - sha512 = "jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ=="; + url = "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz"; + sha512 = "BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA=="; }; }; "rechoir-0.6.2" = { @@ -3308,13 +3047,13 @@ let sha512 = "MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="; }; }; - "regenerator-runtime-0.13.3" = { + "regenerator-runtime-0.13.5" = { name = "regenerator-runtime"; packageName = "regenerator-runtime"; - version = "0.13.3"; + version = "0.13.5"; src = fetchurl { - url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz"; - sha512 = "naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw=="; + url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz"; + sha512 = "ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA=="; }; }; "regex-not-1.0.2" = { @@ -3344,15 +3083,6 @@ let sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637"; }; }; - "request-2.88.0" = { - name = "request"; - packageName = "request"; - version = "2.88.0"; - src = fetchurl { - url = "https://registry.npmjs.org/request/-/request-2.88.0.tgz"; - sha512 = "NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg=="; - }; - }; "require-directory-2.1.1" = { name = "require-directory"; packageName = "require-directory"; @@ -3371,13 +3101,13 @@ let sha512 = "NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="; }; }; - "resolve-1.14.2" = { + "resolve-1.17.0" = { name = "resolve"; packageName = "resolve"; - version = "1.14.2"; + version = "1.17.0"; src = fetchurl { - url = "https://registry.npmjs.org/resolve/-/resolve-1.14.2.tgz"; - sha512 = "EjlOBLBO1kxsUxsKjLt7TAECyKW6fOh1VRkykQkKGzcBbjjPIxBqGh0jf7GJ3k/f5mxMqW3htMD3WdTUVtW8HQ=="; + url = "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz"; + sha512 = "ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w=="; }; }; "resolve-dir-1.0.1" = { @@ -3524,13 +3254,13 @@ let sha512 = "JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="; }; }; - "signal-exit-3.0.2" = { + "signal-exit-3.0.3" = { name = "signal-exit"; packageName = "signal-exit"; - version = "3.0.2"; + version = "3.0.3"; src = fetchurl { - url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz"; - sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d"; + url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz"; + sha512 = "VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="; }; }; "smart-buffer-4.1.0" = { @@ -3632,13 +3362,13 @@ let sha512 = "lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q=="; }; }; - "spdx-exceptions-2.2.0" = { + "spdx-exceptions-2.3.0" = { name = "spdx-exceptions"; packageName = "spdx-exceptions"; - version = "2.2.0"; + version = "2.3.0"; src = fetchurl { - url = "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz"; - sha512 = "2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA=="; + url = "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz"; + sha512 = "/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A=="; }; }; "spdx-expression-parse-3.0.0" = { @@ -3668,22 +3398,13 @@ let sha512 = "NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw=="; }; }; - "sqlite3-4.1.1" = { + "sqlite3-4.2.0" = { name = "sqlite3"; packageName = "sqlite3"; - version = "4.1.1"; + version = "4.2.0"; src = fetchurl { - url = "https://registry.npmjs.org/sqlite3/-/sqlite3-4.1.1.tgz"; - sha512 = "CvT5XY+MWnn0HkbwVKJAyWEMfzpAPwnTiB3TobA5Mri44SrTovmmh499NPQP+gatkeOipqPlBLel7rn4E/PCQg=="; - }; - }; - "sshpk-1.16.1" = { - name = "sshpk"; - packageName = "sshpk"; - version = "1.16.1"; - src = fetchurl { - url = "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz"; - sha512 = "HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg=="; + url = "https://registry.npmjs.org/sqlite3/-/sqlite3-4.2.0.tgz"; + sha512 = "roEOz41hxui2Q7uYnWsjMOTry6TcNUNmp8audCx18gF10P2NknwdpF+E+HKvz/F2NvPKGGBF4NGc+ZPQ+AABwg=="; }; }; "static-extend-0.1.2" = { @@ -3812,13 +3533,13 @@ let sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a"; }; }; - "superagent-5.2.1" = { + "superagent-5.2.2" = { name = "superagent"; packageName = "superagent"; - version = "5.2.1"; + version = "5.2.2"; src = fetchurl { - url = "https://registry.npmjs.org/superagent/-/superagent-5.2.1.tgz"; - sha512 = "46b4Lkwnlz7Ebdv2FBbfuqb3kVkG1jV/SK3EW6NnwL9a3T4h5hHtegNEQfbXvTFbDoUZXId4W3dMgap2f6ic1g=="; + url = "https://registry.npmjs.org/superagent/-/superagent-5.2.2.tgz"; + sha512 = "pMWBUnIllK4ZTw7p/UaobiQPwAO5w/1NRRTDpV0FTVNmECztsxKspj3ZWEordVEaqpZtmOQJJna4yTLyC/q7PQ=="; }; }; "superagent-proxy-git://github.com/shesek/superagent-proxy#b512f8bbcf1baa196058922ee3b6cfe45375ebc9" = { @@ -3921,15 +3642,6 @@ let sha1 = "ceeefc717a76c4316f126d0b9dbaa55d7e7df01a"; }; }; - "tough-cookie-2.4.3" = { - name = "tough-cookie"; - packageName = "tough-cookie"; - version = "2.4.3"; - src = fetchurl { - url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz"; - sha512 = "Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ=="; - }; - }; "trim-newlines-2.0.0" = { name = "trim-newlines"; packageName = "trim-newlines"; @@ -3939,24 +3651,6 @@ let sha1 = "b403d0b91be50c331dfc4b82eeceb22c3de16d20"; }; }; - "tunnel-agent-0.6.0" = { - name = "tunnel-agent"; - packageName = "tunnel-agent"; - version = "0.6.0"; - src = fetchurl { - url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz"; - sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd"; - }; - }; - "tweetnacl-0.14.5" = { - name = "tweetnacl"; - packageName = "tweetnacl"; - version = "0.14.5"; - src = fetchurl { - url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"; - sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64"; - }; - }; "type-check-0.3.2" = { name = "type-check"; packageName = "type-check"; @@ -4029,15 +3723,6 @@ let sha1 = "8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"; }; }; - "uri-js-4.2.2" = { - name = "uri-js"; - packageName = "uri-js"; - version = "4.2.2"; - src = fetchurl { - url = "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz"; - sha512 = "KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ=="; - }; - }; "urix-0.1.0" = { name = "urix"; packageName = "urix"; @@ -4074,13 +3759,13 @@ let sha1 = "9f95710f50a267947b2ccc124741c1028427e713"; }; }; - "uuid-3.3.3" = { + "uuid-7.0.3" = { name = "uuid"; packageName = "uuid"; - version = "3.3.3"; + version = "7.0.3"; src = fetchurl { - url = "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz"; - sha512 = "pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ=="; + url = "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz"; + sha512 = "DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg=="; }; }; "v8flags-3.1.3" = { @@ -4110,15 +3795,6 @@ let sha1 = "2299f02c6ded30d4a5961b0b9f74524a18f634fc"; }; }; - "verror-1.10.0" = { - name = "verror"; - packageName = "verror"; - version = "1.10.0"; - src = fetchurl { - url = "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz"; - sha1 = "3a105ca17053af55d6e270c1f8288682e18da400"; - }; - }; "void-elements-2.0.1" = { name = "void-elements"; packageName = "void-elements"; @@ -4209,13 +3885,13 @@ let sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"; }; }; - "ws-7.2.1" = { + "ws-7.2.5" = { name = "ws"; packageName = "ws"; - version = "7.2.1"; + version = "7.2.5"; src = fetchurl { - url = "https://registry.npmjs.org/ws/-/ws-7.2.1.tgz"; - sha512 = "sucePNSafamSKoOqoNfBd8V0StlkzJKL2ZAhGQinCfNQ+oacw+Pk7lcdAElecBF2VkLNZRiIb5Oi1Q5lVUVt2A=="; + url = "https://registry.npmjs.org/ws/-/ws-7.2.5.tgz"; + sha512 = "C34cIU4+DB2vMyAbmEKossWq2ZQDr6QEyuuCzWrM9zfw1sGc0mYiJ0UnG9zzNykt49C2Fi34hvr2vssFQRS6EA=="; }; }; "xregexp-2.0.0" = { @@ -4245,13 +3921,13 @@ let sha512 = "a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="; }; }; - "yargs-13.3.0" = { + "yargs-13.3.2" = { name = "yargs"; packageName = "yargs"; - version = "13.3.0"; + version = "13.3.2"; src = fetchurl { - url = "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz"; - sha512 = "2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA=="; + url = "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz"; + sha512 = "AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw=="; }; }; "yargs-3.10.0" = { @@ -4272,28 +3948,28 @@ let sha512 = "VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ=="; }; }; - "yargs-parser-13.1.1" = { + "yargs-parser-13.1.2" = { name = "yargs-parser"; packageName = "yargs-parser"; - version = "13.1.1"; + version = "13.1.2"; src = fetchurl { - url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz"; - sha512 = "oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ=="; + url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz"; + sha512 = "3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg=="; }; }; }; in { - "lightning-charge-^0.4.14" = nodeEnv.buildNodePackage { + "lightning-charge-^0.4.19" = nodeEnv.buildNodePackage { name = "lightning-charge"; packageName = "lightning-charge"; - version = "0.4.14"; + version = "0.4.19"; src = fetchurl { - url = "https://registry.npmjs.org/lightning-charge/-/lightning-charge-0.4.14.tgz"; - sha512 = "xWOPIr0GoAcXbI3z4IEdJyEqo32HeY9NBAk5Za8ehQln8xlxWiuOrfAYhs5/1tIzw8n407Im1s69bCMbb5/yqA=="; + url = "https://registry.npmjs.org/lightning-charge/-/lightning-charge-0.4.19.tgz"; + sha512 = "a+YarKiZDZ4BWzopmVjqOPIJuz1aECPy7eS6Dj3xxowEVrySkWHjgNbF+phL8HUi5SKQ+qRHRDwBMavjQV5yuA=="; }; dependencies = [ - sources."@babel/polyfill-7.7.0" + sources."@babel/polyfill-7.8.7" sources."@types/babel-types-7.0.7" sources."@types/babylon-6.16.5" sources."abbrev-1.1.1" @@ -4305,7 +3981,6 @@ in ]; }) sources."agent-base-4.3.0" - sources."ajv-6.10.2" (sources."align-text-0.1.4" // { dependencies = [ sources."kind-of-3.2.2" @@ -4325,14 +4000,10 @@ in sources."array-unique-0.3.2" sources."arrify-1.0.1" sources."asap-2.0.6" - sources."asn1-0.2.4" - sources."assert-plus-1.0.0" sources."assign-symbols-1.0.0" - sources."ast-types-0.13.2" + sources."ast-types-0.13.3" sources."asynckit-0.4.0" sources."atob-2.1.2" - sources."aws-sign2-0.7.0" - sources."aws4-1.9.0" (sources."babel-runtime-6.26.0" // { dependencies = [ sources."regenerator-runtime-0.11.1" @@ -4348,9 +4019,7 @@ in }) sources."base64-js-1.3.1" sources."basic-auth-2.0.1" - sources."bcrypt-pbkdf-1.0.2" sources."big.js-5.2.2" - sources."bluebird-3.7.2" (sources."body-parser-1.19.0" // { dependencies = [ sources."debug-2.6.9" @@ -4362,7 +4031,7 @@ in sources."extend-shallow-2.0.1" ]; }) - sources."buffer-5.4.3" + sources."buffer-5.6.0" sources."buffer-alloc-1.2.0" sources."buffer-alloc-unsafe-1.1.0" sources."buffer-fill-1.0.0" @@ -4371,10 +4040,9 @@ in sources."cache-base-1.0.1" sources."camelcase-4.1.0" sources."camelcase-keys-4.2.0" - sources."caseless-0.12.0" sources."center-align-0.1.3" sources."character-parser-2.2.0" - sources."chownr-1.1.3" + sources."chownr-1.1.4" (sources."class-utils-0.3.6" // { dependencies = [ sources."define-property-0.2.5" @@ -4392,7 +4060,7 @@ in sources."kind-of-5.1.0" ]; }) - (sources."clean-css-4.2.1" // { + (sources."clean-css-4.2.3" // { dependencies = [ sources."source-map-0.6.1" ]; @@ -4406,7 +4074,7 @@ in sources."color-name-1.1.3" sources."colorette-1.1.0" sources."combined-stream-1.0.8" - sources."commander-4.1.0" + sources."commander-4.1.1" sources."component-emitter-1.3.0" sources."concat-map-0.0.1" sources."console-control-strings-1.1.0" @@ -4420,7 +4088,6 @@ in sources."core-js-2.6.11" sources."core-util-is-1.0.2" sources."currently-unhandled-0.4.1" - sources."dashdash-1.14.1" sources."data-uri-to-buffer-1.2.0" (sources."debug-4.1.1" // { dependencies = [ @@ -4446,7 +4113,6 @@ in sources."detect-libc-1.0.3" sources."dijkstrajs-1.0.1" sources."doctypes-1.1.0" - sources."ecc-jsbn-0.1.2" sources."ee-first-1.1.1" sources."emoji-regex-7.0.3" sources."encodeurl-1.0.2" @@ -4455,11 +4121,13 @@ in sources."es6-promise-4.2.8" sources."es6-promisify-5.0.0" sources."escape-html-1.0.3" - (sources."escodegen-1.12.1" // { + (sources."escodegen-1.14.1" // { dependencies = [ + sources."esprima-4.0.1" sources."source-map-0.6.1" ]; }) + sources."esm-3.2.25" sources."esprima-3.1.3" sources."estraverse-4.3.0" sources."esutils-2.0.3" @@ -4501,9 +4169,6 @@ in sources."extend-shallow-2.0.1" ]; }) - sources."extsprintf-1.3.0" - sources."fast-deep-equal-2.0.1" - sources."fast-json-stable-stringify-2.1.0" sources."fast-levenshtein-2.0.6" sources."fast-safe-stringify-2.0.7" sources."file-uri-to-path-1.0.0" @@ -4521,11 +4186,11 @@ in sources."findup-sync-3.0.0" sources."fined-1.2.0" sources."flagged-respawn-1.0.1" + sources."fmtbtc-0.0.3" sources."for-in-1.0.2" sources."for-own-1.0.0" - sources."forever-agent-0.6.1" - sources."form-data-2.3.3" - sources."formidable-1.2.1" + sources."form-data-3.0.0" + sources."formidable-1.2.2" sources."forwarded-0.1.2" sources."fragment-cache-0.2.1" sources."fresh-0.5.2" @@ -4555,13 +4220,10 @@ in }) sources."get-value-2.0.6" sources."getopts-2.2.5" - sources."getpass-0.1.7" sources."glob-7.1.6" sources."global-modules-1.0.0" sources."global-prefix-1.0.2" - sources."graceful-fs-4.2.3" - sources."har-schema-2.0.0" - sources."har-validator-5.1.3" + sources."graceful-fs-4.2.4" sources."has-1.0.3" sources."has-unicode-2.0.1" sources."has-value-1.0.0" @@ -4571,14 +4233,13 @@ in ]; }) sources."homedir-polyfill-1.0.3" - sources."hosted-git-info-2.8.5" + sources."hosted-git-info-2.8.8" sources."http-errors-1.7.2" (sources."http-proxy-agent-2.1.0" // { dependencies = [ sources."debug-3.1.0" ]; }) - sources."http-signature-1.2.0" (sources."https-proxy-agent-3.0.1" // { dependencies = [ sources."debug-3.2.6" @@ -4594,7 +4255,7 @@ in sources."ini-1.3.5" sources."interpret-2.0.0" sources."ip-1.1.5" - sources."ipaddr.js-1.9.0" + sources."ipaddr.js-1.9.1" sources."is-absolute-1.0.0" sources."is-accessor-descriptor-1.0.0" sources."is-arrayish-0.2.1" @@ -4617,26 +4278,19 @@ in }) sources."is-plain-obj-1.1.0" sources."is-plain-object-2.0.4" - sources."is-promise-2.1.0" + sources."is-promise-2.2.2" sources."is-regex-1.0.5" sources."is-relative-1.0.0" - sources."is-typedarray-1.0.0" sources."is-unc-path-1.0.0" sources."is-windows-1.0.2" sources."isarray-1.0.0" sources."isexe-2.0.0" sources."isobject-3.0.1" - sources."isstream-0.1.2" sources."js-stringify-1.0.2" - sources."jsbn-0.1.1" sources."json-parse-better-errors-1.0.2" - sources."json-schema-0.2.3" - sources."json-schema-traverse-0.4.1" - sources."json-stringify-safe-5.0.1" - sources."jsprim-1.4.1" sources."jstransformer-1.0.0" - sources."kind-of-6.0.2" - (sources."knex-0.20.7" // { + sources."kind-of-6.0.3" + (sources."knex-0.20.15" // { dependencies = [ sources."inherits-2.0.4" ]; @@ -4660,10 +4314,10 @@ in sources."methods-1.1.2" sources."micromatch-3.1.10" sources."mime-1.6.0" - sources."mime-db-1.43.0" - sources."mime-types-2.1.26" + sources."mime-db-1.44.0" + sources."mime-types-2.1.27" sources."minimatch-3.0.4" - sources."minimist-0.0.8" + sources."minimist-1.2.5" sources."minimist-options-3.0.2" sources."minipass-2.9.0" sources."minizlib-1.3.3" @@ -4672,18 +4326,19 @@ in sources."is-extendable-1.0.1" ]; }) - sources."mkdirp-0.5.1" - (sources."morgan-1.9.1" // { + sources."mkdirp-0.5.5" + (sources."morgan-1.10.0" // { dependencies = [ sources."debug-2.6.9" + sources."depd-2.0.0" ]; }) sources."move-decimal-point-0.0.4" sources."ms-2.0.0" - sources."nan-2.14.0" - sources."nanoid-2.1.9" + sources."nan-2.14.1" + sources."nanoid-3.1.3" sources."nanomatch-1.2.13" - (sources."needle-2.4.0" // { + (sources."needle-2.4.1" // { dependencies = [ sources."debug-3.2.6" sources."ms-2.1.2" @@ -4692,14 +4347,13 @@ in sources."negotiator-0.6.2" sources."netmask-1.0.6" sources."node-pre-gyp-0.11.0" - sources."nopt-4.0.1" + sources."nopt-4.0.3" sources."normalize-package-data-2.5.0" sources."npm-bundled-1.1.1" sources."npm-normalize-package-bin-1.0.1" - sources."npm-packlist-1.4.7" + sources."npm-packlist-1.4.8" sources."npmlog-4.1.2" sources."number-is-nan-1.0.1" - sources."oauth-sign-0.9.0" sources."object-assign-4.1.1" (sources."object-copy-0.1.0" // { dependencies = [ @@ -4742,7 +4396,6 @@ in sources."path-root-regex-0.1.2" sources."path-to-regexp-0.1.7" sources."path-type-3.0.0" - sources."performance-now-2.1.0" sources."pg-connection-string-2.1.0" sources."pify-3.0.0" sources."pngjs-3.4.0" @@ -4750,10 +4403,9 @@ in sources."prelude-ls-1.1.2" sources."process-nextick-args-2.0.1" sources."promise-7.3.1" - sources."proxy-addr-2.0.5" + sources."proxy-addr-2.0.6" sources."proxy-agent-git://github.com/shesek/node-proxy-agent#0d916427f586e41a1a4485db88509218017f9696" - sources."proxy-from-env-1.0.0" - sources."psl-1.7.0" + sources."proxy-from-env-1.1.0" sources."pug-2.0.4" sources."pug-attrs-2.0.4" sources."pug-code-gen-2.0.2" @@ -4766,7 +4418,6 @@ in sources."pug-runtime-2.0.5" sources."pug-strip-comments-1.0.4" sources."pug-walk-1.1.8" - sources."punycode-2.1.1" (sources."qrcode-1.4.4" // { dependencies = [ sources."camelcase-5.3.1" @@ -4774,39 +4425,30 @@ in sources."find-up-3.0.0" sources."isarray-2.0.5" sources."locate-path-3.0.0" - sources."p-limit-2.2.2" + sources."p-limit-2.3.0" sources."p-locate-3.0.0" sources."p-try-2.2.0" - sources."yargs-13.3.0" - sources."yargs-parser-13.1.1" + sources."yargs-13.3.2" + sources."yargs-parser-13.1.2" ]; }) sources."qs-6.7.0" sources."quick-lru-1.1.0" sources."range-parser-1.2.1" sources."raw-body-2.4.0" - (sources."rc-1.2.8" // { - dependencies = [ - sources."minimist-1.2.0" - ]; - }) + sources."rc-1.2.8" sources."read-pkg-3.0.0" sources."read-pkg-up-3.0.0" sources."readable-stream-2.3.7" sources."rechoir-0.6.2" sources."redent-2.0.0" - sources."regenerator-runtime-0.13.3" + sources."regenerator-runtime-0.13.5" sources."regex-not-1.0.2" sources."repeat-element-1.1.3" sources."repeat-string-1.6.1" - (sources."request-2.88.0" // { - dependencies = [ - sources."qs-6.5.2" - ]; - }) sources."require-directory-2.1.1" sources."require-main-filename-2.0.0" - sources."resolve-1.14.2" + sources."resolve-1.17.0" sources."resolve-dir-1.0.1" sources."resolve-url-0.2.1" sources."ret-0.1.15" @@ -4835,7 +4477,7 @@ in ]; }) sources."setprototypeof-1.1.1" - sources."signal-exit-3.0.2" + sources."signal-exit-3.0.3" sources."smart-buffer-4.1.0" (sources."snapdragon-0.8.2" // { dependencies = [ @@ -4876,12 +4518,11 @@ in sources."source-map-resolve-0.5.3" sources."source-map-url-0.4.0" sources."spdx-correct-3.1.0" - sources."spdx-exceptions-2.2.0" + sources."spdx-exceptions-2.3.0" sources."spdx-expression-parse-3.0.0" sources."spdx-license-ids-3.0.5" sources."split-string-3.1.0" - sources."sqlite3-4.1.1" - sources."sshpk-1.16.1" + sources."sqlite3-4.2.0" (sources."static-extend-0.1.2" // { dependencies = [ sources."define-property-0.2.5" @@ -4907,12 +4548,11 @@ in sources."strip-bom-3.0.0" sources."strip-indent-2.0.0" sources."strip-json-comments-2.0.1" - (sources."superagent-5.2.1" // { + (sources."superagent-5.2.2" // { dependencies = [ - sources."form-data-3.0.0" - sources."mime-2.4.4" - sources."qs-6.9.1" - sources."readable-stream-3.4.0" + sources."mime-2.4.5" + sources."qs-6.9.3" + sources."readable-stream-3.6.0" sources."semver-6.3.0" ]; }) @@ -4936,14 +4576,7 @@ in sources."to-regex-range-2.1.1" sources."toidentifier-1.0.0" sources."token-stream-0.0.1" - (sources."tough-cookie-2.4.3" // { - dependencies = [ - sources."punycode-1.4.1" - ]; - }) sources."trim-newlines-2.0.0" - sources."tunnel-agent-0.6.0" - sources."tweetnacl-0.14.5" sources."type-check-0.3.2" sources."type-is-1.6.18" sources."uglify-js-2.8.29" @@ -4961,16 +4594,14 @@ in sources."has-values-0.1.4" ]; }) - sources."uri-js-4.2.2" sources."urix-0.1.0" sources."use-3.1.1" sources."util-deprecate-1.0.2" sources."utils-merge-1.0.1" - sources."uuid-3.3.3" + sources."uuid-7.0.3" sources."v8flags-3.1.3" sources."validate-npm-package-license-3.0.4" sources."vary-1.1.2" - sources."verror-1.10.0" sources."void-elements-2.0.1" sources."which-1.3.1" sources."which-module-2.0.0" @@ -4987,7 +4618,7 @@ in sources."wordwrap-0.0.2" sources."wrap-ansi-5.1.0" sources."wrappy-1.0.2" - sources."ws-7.2.1" + sources."ws-7.2.5" sources."xregexp-2.0.0" sources."y18n-4.0.0" sources."yallist-3.1.1" diff --git a/pkgs/lightning-charge/pkg.json b/pkgs/lightning-charge/pkg.json index 1681714..cc5452a 100644 --- a/pkgs/lightning-charge/pkg.json +++ b/pkgs/lightning-charge/pkg.json @@ -1,3 +1,3 @@ [ - { "lightning-charge": "^0.4.14" } + { "lightning-charge": "^0.4.19" } ] diff --git a/pkgs/lightning-charge/supplement.nix b/pkgs/lightning-charge/supplement.nix index 714ad24..8dc0beb 100644 --- a/pkgs/lightning-charge/supplement.nix +++ b/pkgs/lightning-charge/supplement.nix @@ -58,13 +58,13 @@ let sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="; }; }; - "chownr-1.1.3" = { + "chownr-1.1.4" = { name = "chownr"; packageName = "chownr"; - version = "1.1.3"; + version = "1.1.4"; src = fetchurl { - url = "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz"; - sha512 = "i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw=="; + url = "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz"; + sha512 = "jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="; }; }; "code-point-at-1.1.0" = { @@ -256,22 +256,13 @@ let sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA=="; }; }; - "minimist-0.0.8" = { + "minimist-1.2.5" = { name = "minimist"; packageName = "minimist"; - version = "0.0.8"; + version = "1.2.5"; src = fetchurl { - url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"; - sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d"; - }; - }; - "minimist-1.2.0" = { - name = "minimist"; - packageName = "minimist"; - version = "1.2.0"; - src = fetchurl { - url = "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz"; - sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284"; + url = "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz"; + sha512 = "FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="; }; }; "minipass-2.9.0" = { @@ -292,13 +283,13 @@ let sha512 = "6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q=="; }; }; - "mkdirp-0.5.1" = { + "mkdirp-0.5.5" = { name = "mkdirp"; packageName = "mkdirp"; - version = "0.5.1"; + version = "0.5.5"; src = fetchurl { - url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz"; - sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903"; + url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz"; + sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ=="; }; }; "ms-2.1.2" = { @@ -310,22 +301,22 @@ let sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="; }; }; - "needle-2.4.0" = { + "needle-2.4.1" = { name = "needle"; packageName = "needle"; - version = "2.4.0"; + version = "2.4.1"; src = fetchurl { - url = "https://registry.npmjs.org/needle/-/needle-2.4.0.tgz"; - sha512 = "4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg=="; + url = "https://registry.npmjs.org/needle/-/needle-2.4.1.tgz"; + sha512 = "x/gi6ijr4B7fwl6WYL9FwlCvRQKGlUNvnceho8wxkwXqN8jvVmmmATTmZPRRG7b/yC1eode26C2HO9jl78Du9g=="; }; }; - "nopt-4.0.1" = { + "nopt-4.0.3" = { name = "nopt"; packageName = "nopt"; - version = "4.0.1"; + version = "4.0.3"; src = fetchurl { - url = "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz"; - sha1 = "d0d4685afd5415193c8c7505602d0d17cd64474d"; + url = "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz"; + sha512 = "CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg=="; }; }; "npm-bundled-1.1.1" = { @@ -346,13 +337,13 @@ let sha512 = "EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA=="; }; }; - "npm-packlist-1.4.7" = { + "npm-packlist-1.4.8" = { name = "npm-packlist"; packageName = "npm-packlist"; - version = "1.4.7"; + version = "1.4.8"; src = fetchurl { - url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.7.tgz"; - sha512 = "vAj7dIkp5NhieaGZxBJB8fF4R0078rqsmhJcAfXZ6O7JJhjhPK96n5Ry1oZcfLXgfun0GWTZPOxaEyqv8GBykQ=="; + url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz"; + sha512 = "5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A=="; }; }; "npmlog-4.1.2" = { @@ -508,13 +499,13 @@ let sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7"; }; }; - "signal-exit-3.0.2" = { + "signal-exit-3.0.3" = { name = "signal-exit"; packageName = "signal-exit"; - version = "3.0.2"; + version = "3.0.3"; src = fetchurl { - url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz"; - sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d"; + url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz"; + sha512 = "VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="; }; }; "string-width-1.0.2" = { @@ -616,7 +607,7 @@ in sources."are-we-there-yet-1.1.5" sources."balanced-match-1.0.0" sources."brace-expansion-1.1.11" - sources."chownr-1.1.3" + 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" @@ -638,16 +629,16 @@ in sources."is-fullwidth-code-point-1.0.0" sources."isarray-1.0.0" sources."minimatch-3.0.4" - sources."minimist-0.0.8" + sources."minimist-1.2.5" sources."minipass-2.9.0" sources."minizlib-1.3.3" - sources."mkdirp-0.5.1" + sources."mkdirp-0.5.5" sources."ms-2.1.2" - sources."needle-2.4.0" - sources."nopt-4.0.1" + 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.7" + sources."npm-packlist-1.4.8" sources."npmlog-4.1.2" sources."number-is-nan-1.0.1" sources."object-assign-4.1.1" @@ -657,11 +648,7 @@ in sources."osenv-0.1.5" sources."path-is-absolute-1.0.1" sources."process-nextick-args-2.0.1" - (sources."rc-1.2.8" // { - dependencies = [ - sources."minimist-1.2.0" - ]; - }) + sources."rc-1.2.8" sources."readable-stream-2.3.7" sources."rimraf-2.7.1" sources."safe-buffer-5.1.2" @@ -669,7 +656,7 @@ in sources."sax-1.2.4" sources."semver-5.7.1" sources."set-blocking-2.0.0" - sources."signal-exit-3.0.2" + sources."signal-exit-3.0.3" sources."string-width-1.0.2" sources."string_decoder-1.1.1" sources."strip-ansi-3.0.1" From 81a04a4ef14f27f196d519ff482f0d6a225f02b0 Mon Sep 17 00:00:00 2001 From: nixbitcoin Date: Mon, 18 May 2020 14:32:17 +0000 Subject: [PATCH 08/13] lightning-charge: add dedicated user --- modules/lightning-charge.nix | 42 +++++++++++++++++++++++++----------- 1 file changed, 30 insertions(+), 12 deletions(-) diff --git a/modules/lightning-charge.nix b/modules/lightning-charge.nix index 9566402..0da37c3 100644 --- a/modules/lightning-charge.nix +++ b/modules/lightning-charge.nix @@ -5,6 +5,8 @@ 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 { @@ -14,35 +16,51 @@ in { If enabled, the lightning-charge service will be installed. ''; }; - clightning-datadir = mkOption { - type = types.str; - default = "/var/lib/clighting/"; - description = '' - Data directory of the clightning service - ''; + dataDir = mkOption { + type = types.path; + default = "/var/lib/lightning-charge"; + description = "The data directory for lightning-charge."; }; }; config = mkIf cfg.enable { + 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} - -" + ]; + environment.systemPackages = [ pkgs.nix-bitcoin.lightning-charge ]; 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 = { + PermissionsStartOnly = "true"; EnvironmentFile = "${config.nix-bitcoin.secretsDir}/lightning-charge-env"; - ExecStart = "${pkgs.nix-bitcoin.lightning-charge}/bin/charged -l ${config.services.clightning.dataDir}/bitcoin -d ${config.services.clightning.dataDir}/lightning-charge.db"; - # Unfortunately c-lightning doesn't allow setting the permissions of the rpc socket, - # so this must run as the clightning user - # https://github.com/ElementsProject/lightning/issues/1366 - User = "clightning"; + ExecStart = "${pkgs.nix-bitcoin.lightning-charge}/bin/charged -l ${config.services.clightning.dataDir}/bitcoin -d ${cfg.dataDir}/lightning-charge.db"; + User = user; Restart = "on-failure"; RestartSec = "10s"; } // nix-bitcoin-services.defaultHardening // nix-bitcoin-services.nodejs // nix-bitcoin-services.allowTor; }; - nix-bitcoin.secrets.lightning-charge-env.user = "clightning"; + nix-bitcoin.secrets.lightning-charge-env.user = user; }; } From 205fca357677c3b186658379618c9eb2655f6167 Mon Sep 17 00:00:00 2001 From: nixbitcoin Date: Sun, 3 May 2020 14:03:01 +0200 Subject: [PATCH 09/13] bitcoind: only make blocksdir group-readable when dataDirReadableByGroup --- modules/bitcoind.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/bitcoind.nix b/modules/bitcoind.nix index a082a5c..810cb9d 100644 --- a/modules/bitcoind.nix +++ b/modules/bitcoind.nix @@ -268,7 +268,7 @@ in { mkdir -m 0770 -p '${cfg.dataDir}/blocks' fi chown -R '${cfg.user}:${cfg.group}' '${cfg.dataDir}' - chmod -R g+rX '${cfg.dataDir}/blocks' + ${optionalString cfg.dataDirReadableByGroup "chmod -R g+rX '${cfg.dataDir}/blocks'"} cfg=$(cat ${configFile}; printf "rpcpassword="; cat "${config.nix-bitcoin.secretsDir}/bitcoin-rpcpassword") confFile='${cfg.dataDir}/bitcoin.conf' From 563b2108356323e99d757a95ce50aca5fa2f45af Mon Sep 17 00:00:00 2001 From: nixbitcoin Date: Sun, 3 May 2020 14:18:21 +0200 Subject: [PATCH 10/13] spark-wallet: Run under spark-wallet user --- modules/spark-wallet.nix | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/modules/spark-wallet.nix b/modules/spark-wallet.nix index 13a5cca..a4b5319 100644 --- a/modules/spark-wallet.nix +++ b/modules/spark-wallet.nix @@ -12,7 +12,7 @@ let ${optionalString cfg.onion-service '' echo Getting onion hostname - CMD="$CMD --public-url http://$(cat /var/lib/onion-chef/clightning/spark-wallet)" + CMD="$CMD --public-url http://$(cat /var/lib/onion-chef/spark-wallet/spark-wallet)" '' } # Use rate provide wasabi because default (bitstamp) doesn't accept @@ -48,6 +48,13 @@ in { config = mkIf cfg.enable { environment.systemPackages = [ pkgs.nix-bitcoin.spark-wallet ]; + users.users.spark-wallet = { + description = "spark-wallet User"; + group = "spark-wallet"; + extraGroups = [ "clightning" ]; + }; + users.groups.spark-wallet = {}; + services.tor.enable = cfg.onion-service; # requires client functionality for Bitcoin rate lookup services.tor.client.enable = true; @@ -58,7 +65,7 @@ in { version = 3; }; services.onion-chef.enable = cfg.onion-service; - services.onion-chef.access.clightning = if cfg.onion-service then [ "spark-wallet" ] else []; + services.onion-chef.access.spark-wallet = if cfg.onion-service then [ "spark-wallet" ] else []; systemd.services.spark-wallet = { description = "Run spark-wallet"; wantedBy = [ "multi-user.target" ]; @@ -67,13 +74,13 @@ in { serviceConfig = { PermissionsStartOnly = "true"; ExecStart = "${pkgs.bash}/bin/bash ${run-spark-wallet}"; - User = "clightning"; + User = "spark-wallet"; Restart = "on-failure"; RestartSec = "10s"; } // nix-bitcoin-services.defaultHardening // nix-bitcoin-services.nodejs // nix-bitcoin-services.allowTor; }; - nix-bitcoin.secrets.spark-wallet-login.user = "clightning"; + nix-bitcoin.secrets.spark-wallet-login.user = "spark-wallet"; }; } From 95d230d1d6a64b27fa834748b6fc695b7e8f4cec Mon Sep 17 00:00:00 2001 From: nixbitcoin Date: Sun, 3 May 2020 14:25:29 +0200 Subject: [PATCH 11/13] Remove bitcoinrpc group remnants --- modules/bitcoind.nix | 2 -- modules/lnd.nix | 1 - 2 files changed, 3 deletions(-) diff --git a/modules/bitcoind.nix b/modules/bitcoind.nix index 810cb9d..7d9d031 100644 --- a/modules/bitcoind.nix +++ b/modules/bitcoind.nix @@ -332,11 +332,9 @@ in { description = "Bitcoin daemon user"; }; users.groups.${cfg.group} = {}; - users.groups.bitcoinrpc = {}; nix-bitcoin.secrets.bitcoin-rpcpassword = { user = "bitcoin"; - group = "bitcoinrpc"; }; }; } diff --git a/modules/lnd.nix b/modules/lnd.nix index bbfb614..3df08b6 100644 --- a/modules/lnd.nix +++ b/modules/lnd.nix @@ -155,7 +155,6 @@ in { users.users.lnd = { description = "LND User"; group = "lnd"; - extraGroups = [ "bitcoinrpc" ]; home = cfg.dataDir; # lnd creates .lnd dir in HOME }; users.groups.lnd = {}; From 5d01ea7101a94a4ceb8bdcaabe60f66652253a5a Mon Sep 17 00:00:00 2001 From: nixbitcoin Date: Sun, 3 May 2020 16:42:53 +0200 Subject: [PATCH 12/13] nodeinfo: Convert to module and allow alternative operator username currently, nodeinfo has presets/secure-node.nix as a strict dependency as it requires onion-chef and the 'operatorName' option. and nix-bitcoin-webindex.nix has nodeinfo as a dependecy. so don't add nodeinfo and webindex to modules.nix because they will fail on standalone use. --- modules/modules.nix | 1 - modules/nix-bitcoin-webindex.nix | 2 +- modules/nodeinfo.nix | 68 ++++++++++++++++++++++++++++++++ modules/presets/secure-node.nix | 25 ++++++++---- pkgs/default.nix | 1 - pkgs/nodeinfo/default.nix | 15 ------- pkgs/nodeinfo/nodeinfo.sh | 49 ----------------------- 7 files changed, 86 insertions(+), 75 deletions(-) create mode 100644 modules/nodeinfo.nix delete mode 100644 pkgs/nodeinfo/default.nix delete mode 100644 pkgs/nodeinfo/nodeinfo.sh diff --git a/modules/modules.nix b/modules/modules.nix index 7ab9e99..4c6d291 100644 --- a/modules/modules.nix +++ b/modules/modules.nix @@ -6,7 +6,6 @@ ./clightning.nix ./lightning-charge.nix ./nanopos.nix - ./nix-bitcoin-webindex.nix ./liquid.nix ./spark-wallet.nix ./electrs.nix diff --git a/modules/nix-bitcoin-webindex.nix b/modules/nix-bitcoin-webindex.nix index 3371438..6eb8a02 100644 --- a/modules/nix-bitcoin-webindex.nix +++ b/modules/nix-bitcoin-webindex.nix @@ -75,7 +75,7 @@ in { wantedBy = [ "multi-user.target" ]; after = [ "nodeinfo.service" ]; path = with pkgs; [ - nix-bitcoin.nodeinfo + config.programs.nodeinfo config.services.clightning.cli config.services.lnd.cli jq diff --git a/modules/nodeinfo.nix b/modules/nodeinfo.nix new file mode 100644 index 0000000..a677620 --- /dev/null +++ b/modules/nodeinfo.nix @@ -0,0 +1,68 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + operatorName = config.nix-bitcoin.operatorName; + script = pkgs.writeScriptBin "nodeinfo" '' + set -eo pipefail + + BITCOIND_ONION="$(cat /var/lib/onion-chef/${operatorName}/bitcoind)" + echo BITCOIND_ONION="$BITCOIND_ONION" + + if systemctl is-active --quiet clightning; then + CLIGHTNING_NODEID=$(lightning-cli getinfo | jq -r '.id') + CLIGHTNING_ONION="$(cat /var/lib/onion-chef/${operatorName}/clightning)" + CLIGHTNING_ID="$CLIGHTNING_NODEID@$CLIGHTNING_ONION:9735" + echo CLIGHTNING_NODEID="$CLIGHTNING_NODEID" + echo CLIGHTNING_ONION="$CLIGHTNING_ONION" + echo CLIGHTNING_ID="$CLIGHTNING_ID" + fi + + if systemctl is-active --quiet lnd; then + LND_NODEID=$(lncli getinfo | jq -r '.uris[0]') + echo LND_NODEID="$LND_NODEID" + fi + + NGINX_ONION_FILE=/var/lib/onion-chef/${operatorName}/nginx + if [ -e "$NGINX_ONION_FILE" ]; then + NGINX_ONION="$(cat $NGINX_ONION_FILE)" + echo NGINX_ONION="$NGINX_ONION" + fi + + LIQUIDD_ONION_FILE=/var/lib/onion-chef/${operatorName}/liquidd + if [ -e "$LIQUIDD_ONION_FILE" ]; then + LIQUIDD_ONION="$(cat $LIQUIDD_ONION_FILE)" + echo LIQUIDD_ONION="$LIQUIDD_ONION" + fi + + SPARKWALLET_ONION_FILE=/var/lib/onion-chef/${operatorName}/spark-wallet + if [ -e "$SPARKWALLET_ONION_FILE" ]; then + SPARKWALLET_ONION="$(cat $SPARKWALLET_ONION_FILE)" + echo SPARKWALLET_ONION="http://$SPARKWALLET_ONION" + fi + + ELECTRS_ONION_FILE=/var/lib/onion-chef/${operatorName}/electrs + if [ -e "$ELECTRS_ONION_FILE" ]; then + ELECTRS_ONION="$(cat $ELECTRS_ONION_FILE)" + echo ELECTRS_ONION="$ELECTRS_ONION" + fi + + SSHD_ONION_FILE=/var/lib/onion-chef/${operatorName}/sshd + if [ -e "$SSHD_ONION_FILE" ]; then + SSHD_ONION="$(cat $SSHD_ONION_FILE)" + echo SSHD_ONION="$SSHD_ONION" + fi + ''; +in { + options = { + programs.nodeinfo = mkOption { + readOnly = true; + default = script; + }; + }; + + config = { + environment.systemPackages = [ script ]; + }; +} diff --git a/modules/presets/secure-node.nix b/modules/presets/secure-node.nix index ebde6a9..d010c0f 100644 --- a/modules/presets/secure-node.nix +++ b/modules/presets/secure-node.nix @@ -5,12 +5,18 @@ with lib; let cfg = config.services; + operatorName = config.nix-bitcoin.operatorName; + mkHiddenService = map: { map = [ map ]; version = 3; }; in { - imports = [ ../modules.nix ]; + imports = [ + ../modules.nix + ../nodeinfo.nix + ../nix-bitcoin-webindex.nix + ]; options = { services.clightning.onionport = mkOption { @@ -18,12 +24,16 @@ in { default = 9735; description = "Port on which to listen for tor client connections."; }; - services.electrs.onionport = mkOption { type = types.ints.u16; default = 50002; description = "Port on which to listen for tor client connections."; }; + nix-bitcoin.operatorName = mkOption { + type = types.str; + default = "operator"; + description = "Less-privileged user's name."; + }; }; config = { @@ -111,11 +121,10 @@ in { tor jq qrencode - nix-bitcoin.nodeinfo ]; - # Create user 'operator' which can access the node's services - users.users.operator = { + # Create operator user which can access the node's services + users.users.${operatorName} = { isNormalUser = true; extraGroups = [ "systemd-journal" @@ -130,18 +139,18 @@ in { }; # Give operator access to onion hostnames services.onion-chef.enable = true; - services.onion-chef.access.operator = [ "bitcoind" "clightning" "nginx" "liquidd" "spark-wallet" "electrs" "sshd" ]; + services.onion-chef.access.${operatorName} = [ "bitcoind" "clightning" "nginx" "liquidd" "spark-wallet" "electrs" "sshd" ]; security.sudo.configFile = (optionalString cfg.lnd.enable '' - operator ALL=(lnd) NOPASSWD: ALL + ${operatorName} ALL=(lnd) NOPASSWD: ALL ''); # Enable nixops ssh for operator (`nixops ssh operator@mynode`) on nixops-vbox deployments systemd.services.get-vbox-nixops-client-key = mkIf (builtins.elem ".vbox-nixops-client-key" config.services.openssh.authorizedKeysFiles) { postStart = '' - cp "${config.users.users.root.home}/.vbox-nixops-client-key" "${config.users.users.operator.home}" + cp "${config.users.users.root.home}/.vbox-nixops-client-key" "${config.users.users.${operatorName}.home}" ''; }; }; diff --git a/pkgs/default.nix b/pkgs/default.nix index 2d39c94..ee95b3e 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,6 +1,5 @@ { pkgs ? import {} }: { - nodeinfo = pkgs.callPackage ./nodeinfo { }; lightning-charge = pkgs.callPackage ./lightning-charge { }; nanopos = pkgs.callPackage ./nanopos { }; spark-wallet = pkgs.callPackage ./spark-wallet { }; diff --git a/pkgs/nodeinfo/default.nix b/pkgs/nodeinfo/default.nix deleted file mode 100644 index 37ea75f..0000000 --- a/pkgs/nodeinfo/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{pkgs}: - -with pkgs; -stdenv.mkDerivation { - name = "nodeinfo"; - src = ./nodeinfo.sh; - - unpackPhase = "true"; - installPhase = '' - mkdir -p $out - mkdir -p $out/bin - cp $src $out/bin/nodeinfo - chmod +x $out/bin/nodeinfo - ''; -} diff --git a/pkgs/nodeinfo/nodeinfo.sh b/pkgs/nodeinfo/nodeinfo.sh deleted file mode 100644 index bb6dcdb..0000000 --- a/pkgs/nodeinfo/nodeinfo.sh +++ /dev/null @@ -1,49 +0,0 @@ -set -e -set -o pipefail - -BITCOIND_ONION="$(cat /var/lib/onion-chef/operator/bitcoind)" -echo BITCOIND_ONION="$BITCOIND_ONION" - -if systemctl is-active --quiet clightning; then - CLIGHTNING_NODEID=$(lightning-cli getinfo | jq -r '.id') - CLIGHTNING_ONION="$(cat /var/lib/onion-chef/operator/clightning)" - CLIGHTNING_ID="$CLIGHTNING_NODEID@$CLIGHTNING_ONION:9735" - echo CLIGHTNING_NODEID="$CLIGHTNING_NODEID" - echo CLIGHTNING_ONION="$CLIGHTNING_ONION" - echo CLIGHTNING_ID="$CLIGHTNING_ID" -fi - -if systemctl is-active --quiet lnd; then - LND_NODEID=$(lncli getinfo | jq -r '.uris[0]') - echo LND_NODEID="$LND_NODEID" -fi - -NGINX_ONION_FILE=/var/lib/onion-chef/operator/nginx -if [ -e "$NGINX_ONION_FILE" ]; then - NGINX_ONION="$(cat $NGINX_ONION_FILE)" - echo NGINX_ONION="$NGINX_ONION" -fi - -LIQUIDD_ONION_FILE=/var/lib/onion-chef/operator/liquidd -if [ -e "$LIQUIDD_ONION_FILE" ]; then - LIQUIDD_ONION="$(cat $LIQUIDD_ONION_FILE)" - echo LIQUIDD_ONION="$LIQUIDD_ONION" -fi - -SPARKWALLET_ONION_FILE=/var/lib/onion-chef/operator/spark-wallet -if [ -e "$SPARKWALLET_ONION_FILE" ]; then - SPARKWALLET_ONION="$(cat $SPARKWALLET_ONION_FILE)" - echo SPARKWALLET_ONION="http://$SPARKWALLET_ONION" -fi - -ELECTRS_ONION_FILE=/var/lib/onion-chef/operator/electrs -if [ -e "$ELECTRS_ONION_FILE" ]; then - ELECTRS_ONION="$(cat $ELECTRS_ONION_FILE)" - echo ELECTRS_ONION="$ELECTRS_ONION" -fi - -SSHD_ONION_FILE=/var/lib/onion-chef/operator/sshd -if [ -e "$SSHD_ONION_FILE" ]; then - SSHD_ONION="$(cat $SSHD_ONION_FILE)" - echo SSHD_ONION="$SSHD_ONION" -fi From b8e10afe1846548075136d953b7f01cf1fb0a45b Mon Sep 17 00:00:00 2001 From: nixbitcoin Date: Sun, 3 May 2020 17:31:50 +0200 Subject: [PATCH 13/13] recurring-donations: Run under recurring-donations user --- modules/recurring-donations.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/modules/recurring-donations.nix b/modules/recurring-donations.nix index 03896ee..dcc61a6 100644 --- a/modules/recurring-donations.nix +++ b/modules/recurring-donations.nix @@ -78,6 +78,13 @@ in { }; config = mkIf cfg.enable { + users.users.recurring-donations = { + description = "recurring-donations User"; + group = "recurring-donations"; + extraGroups = [ "clightning" ]; + }; + users.groups.recurring-donations = {}; + systemd.services.recurring-donations = { description = "Run recurring-donations"; requires = [ "clightning.service" ]; @@ -85,9 +92,7 @@ in { path = with pkgs; [ nix-bitcoin.clightning curl torsocks sudo jq ]; serviceConfig = { ExecStart = "${pkgs.bash}/bin/bash ${recurring-donations-script}"; - # TODO: would be better if this was operator, but I don't get sudo - # working inside the shell script - User = "clightning"; + User = "recurring-donations"; Type = "oneshot"; } // nix-bitcoin-services.defaultHardening // nix-bitcoin-services.allowTor;