72 Commits

Author SHA1 Message Date
Overtorment
688798024c REL: v1.4.0 2021-09-22 14:18:04 +01:00
Overtorment
66a54570c5 DOC 2021-09-22 14:11:39 +01:00
Overtorment
e42ef3a85e FIX: default values for fees config 2021-09-22 14:11:20 +01:00
Overtorment
600556f84c FIX: qr in index page 2021-09-22 14:03:47 +01:00
xanoni
a01a8c6e14 index.js: add HOST environment argument 2021-09-22 13:54:34 +01:00
MG-ng
e9c6f3abde accounttype and partnerid check on create account
Refined the partnerid and accounttype check in the /create route according to the /doc/Send-requirements.md
Both are not mandatory but if given, they should be strings.

The typeof check is for direct string initialisation with "".
instanceof is used for string initialisation with new String() / the primitiv wrapper class.
2021-09-22 13:49:03 +01:00
lndhub-admin
7f9463bbbc sync changes to variable name 2021-09-22 13:46:51 +01:00
lndhub-admin
1b1fe8f08b tip invoices now use forwardFee
changed internalFee for tip invoices to forwardFee
2021-09-22 13:46:51 +01:00
lndhub-admin
28dd3a847a shorten default variables 2021-09-22 13:46:51 +01:00
lndhub-admin
a28eead0ab move default in varible name to comment
keep // default  0.* comment as reminder what defaults was
2021-09-22 13:46:51 +01:00
lndhub-admin
87afa20019 deleted space becouse karen said so 2021-09-22 13:46:51 +01:00
lndhub-admin
067f6d6667 delete commented fields 2021-09-22 13:46:51 +01:00
xraid
957d6c5951 Add global fee settings from config.js 2021-09-22 13:46:51 +01:00
Overtorment
d3df6aab05 REF: remove obsolete dep; small fixes 2021-09-07 22:00:33 +01:00
snyk-bot
4e8ce5e46f fix: upgrade @grpc/grpc-js from 1.3.6 to 1.3.7
Snyk has created this PR to upgrade @grpc/grpc-js from 1.3.6 to 1.3.7.

See this package in npm:
https://www.npmjs.com/package/@grpc/grpc-js

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-08-31 12:10:24 +01:00
snyk-bot
1fd24b640e fix: upgrade core-js from 3.16.0 to 3.16.1
Snyk has created this PR to upgrade core-js from 3.16.0 to 3.16.1.

See this package in npm:
https://www.npmjs.com/package/core-js

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-08-30 10:20:39 +01:00
snyk-bot
c47211f984 fix: upgrade multiple dependencies with Snyk
Snyk has created this PR to upgrade:
  - @babel/core from 7.14.8 to 7.15.0.
    See this package in npm: https://www.npmjs.com/package/@babel/core
  - @babel/preset-env from 7.14.9 to 7.15.0.
    See this package in npm: https://www.npmjs.com/package/@babel/preset-env

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-08-26 09:04:38 +01:00
Denys Zaliskyi
5223edc2b7 Update README.md
fix reference to `lightning-custodian-wallet`
2021-08-25 18:56:51 +01:00
snyk-bot
92e626508c fix: upgrade multiple dependencies with Snyk
Snyk has created this PR to upgrade:
  - @babel/node from 7.14.5 to 7.14.9.
    See this package in npm: https://www.npmjs.com/package/@babel/node
  - @babel/preset-env from 7.14.8 to 7.14.9.
    See this package in npm: https://www.npmjs.com/package/@babel/preset-env

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-08-23 13:15:56 +01:00
Denys Zaliskyi
3e2c31f429 Fix typo in Readme 2021-08-22 20:56:13 +01:00
snyk-bot
376d61f81d fix: upgrade core-js from 3.15.2 to 3.16.0
Snyk has created this PR to upgrade core-js from 3.15.2 to 3.16.0.

See this package in npm:
https://www.npmjs.com/package/core-js

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-08-21 19:46:06 +01:00
snyk-bot
1bb781270c fix: package.json & package-lock.json to reduce vulnerabilities
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-IOREDIS-1567196
2021-08-19 11:29:37 +01:00
dependabot[bot]
c0716bc6e9 build(deps): bump url-parse from 1.5.1 to 1.5.3
Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.5.1 to 1.5.3.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](https://github.com/unshiftio/url-parse/compare/1.5.1...1.5.3)

---
updated-dependencies:
- dependency-name: url-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-11 11:37:34 +01:00
snyk-bot
358f858ad8 fix: upgrade multiple dependencies with Snyk
Snyk has created this PR to upgrade:
  - @babel/cli from 7.14.5 to 7.14.8.
    See this package in npm: https://www.npmjs.com/package/@babel/cli
  - @babel/core from 7.14.5 to 7.14.8.
    See this package in npm: https://www.npmjs.com/package/@babel/core
  - @babel/preset-env from 7.14.5 to 7.14.8.
    See this package in npm: https://www.npmjs.com/package/@babel/preset-env

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-08-11 11:34:26 +01:00
snyk-bot
7a6e8a2940 fix: upgrade @grpc/grpc-js from 1.3.5 to 1.3.6
Snyk has created this PR to upgrade @grpc/grpc-js from 1.3.5 to 1.3.6.

See this package in npm:
https://www.npmjs.com/package/@grpc/grpc-js

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-08-10 12:14:34 +01:00
snyk-bot
96e82ad20d fix: upgrade @grpc/grpc-js from 1.3.4 to 1.3.5
Snyk has created this PR to upgrade @grpc/grpc-js from 1.3.4 to 1.3.5.

See this package in npm:
https://www.npmjs.com/package/@grpc/grpc-js

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-08-04 14:07:49 +01:00
snyk-bot
406afef7f7 fix: upgrade express-rate-limit from 5.2.6 to 5.3.0
Snyk has created this PR to upgrade express-rate-limit from 5.2.6 to 5.3.0.

See this package in npm:
https://www.npmjs.com/package/express-rate-limit

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-07-23 12:08:37 +01:00
snyk-bot
3ebe1938ab fix: upgrade core-js from 3.14.0 to 3.15.2
Snyk has created this PR to upgrade core-js from 3.14.0 to 3.15.2.

See this package in npm:
https://www.npmjs.com/package/core-js

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-07-21 12:35:06 +01:00
snyk-bot
ee2398f247 fix: upgrade @grpc/proto-loader from 0.6.3 to 0.6.4
Snyk has created this PR to upgrade @grpc/proto-loader from 0.6.3 to 0.6.4.

See this package in npm:
https://www.npmjs.com/package/@grpc/proto-loader

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-07-21 12:32:48 +01:00
xanoni
bc84429b61 README.md: cleaned up and removed 'deprecatedrpc' recommendation 2021-07-20 11:35:05 +01:00
snyk-bot
ec3039d91d fix: upgrade bolt11 from 1.3.1 to 1.3.2
Snyk has created this PR to upgrade bolt11 from 1.3.1 to 1.3.2.

See this package in npm:
https://www.npmjs.com/package/bolt11

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-07-20 11:33:21 +01:00
snyk-bot
1483449529 fix: upgrade @grpc/grpc-js from 1.3.3 to 1.3.4
Snyk has created this PR to upgrade @grpc/grpc-js from 1.3.3 to 1.3.4.

See this package in npm:
https://www.npmjs.com/package/@grpc/grpc-js

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-07-17 11:41:40 +01:00
snyk-bot
e0f037ea95 fix: upgrade jayson from 3.6.3 to 3.6.4
Snyk has created this PR to upgrade jayson from 3.6.3 to 3.6.4.

See this package in npm:
https://www.npmjs.com/package/jayson

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-07-17 11:41:18 +01:00
snyk-bot
b4f880b35d fix: upgrade @grpc/proto-loader from 0.6.2 to 0.6.3
Snyk has created this PR to upgrade @grpc/proto-loader from 0.6.2 to 0.6.3.

See this package in npm:
https://www.npmjs.com/package/@grpc/proto-loader

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-07-16 11:06:57 +01:00
Overtorment
35fe816d0a Merge branch 'master' of github.com:BlueWallet/LndHub into sunset 2021-07-14 17:29:00 +01:00
snyk-bot
4a4daccecd fix: upgrade @grpc/grpc-js from 1.3.2 to 1.3.3
Snyk has created this PR to upgrade @grpc/grpc-js from 1.3.2 to 1.3.3.

See this package in npm:
https://www.npmjs.com/package/@grpc/grpc-js

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-07-14 16:53:23 +01:00
Overtorment
66b9d3ab92 ADD: option to shut lndhub down 2021-07-12 20:34:51 +01:00
Overtorment
87fc5d6ff7 Merge branch 'master' of github.com:BlueWallet/LndHub 2021-07-12 15:52:16 +01:00
Overtorment
e6b1f950f3 REF: force restart upon lnd failure; ADD: mission control in queryRoutes 2021-07-12 15:52:05 +01:00
snyk-bot
eab49fde2f fix: upgrade multiple dependencies with Snyk
Snyk has created this PR to upgrade:
  - @babel/cli from 7.14.3 to 7.14.5.
    See this package in npm: https://www.npmjs.com/package/@babel/cli
  - @babel/core from 7.14.3 to 7.14.5.
    See this package in npm: https://www.npmjs.com/package/@babel/core
  - @babel/node from 7.13.13 to 7.14.5.
    See this package in npm: https://www.npmjs.com/package/@babel/node
  - @babel/preset-env from 7.14.1 to 7.14.5.
    See this package in npm: https://www.npmjs.com/package/@babel/preset-env
  - @babel/register from 7.13.16 to 7.14.5.
    See this package in npm: https://www.npmjs.com/package/@babel/register

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-07-02 12:29:16 +01:00
snyk-bot
aa11daf608 fix: upgrade core-js from 3.13.0 to 3.14.0
Snyk has created this PR to upgrade core-js from 3.13.0 to 3.14.0.

See this package in npm:
https://www.npmjs.com/package/core-js

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-06-27 15:47:50 +01:00
Overtorment
4e7731ff54 REL: ver bump 2021-06-21 12:29:46 +01:00
Overtorment
1c8232d1ec FIX: hsts header 2021-06-21 12:29:13 +01:00
snyk-bot
fd6caf859c fix: upgrade core-js from 3.12.1 to 3.13.0
Snyk has created this PR to upgrade core-js from 3.12.1 to 3.13.0.

See this package in npm:
https://www.npmjs.com/package/core-js

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-06-16 11:32:20 +01:00
snyk-bot
df6412a525 fix: upgrade jayson from 3.6.1 to 3.6.3
Snyk has created this PR to upgrade jayson from 3.6.1 to 3.6.3.

See this package in npm:
https://www.npmjs.com/package/jayson

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-06-12 17:23:22 +01:00
snyk-bot
c46c1385c6 fix: upgrade @babel/core from 7.14.0 to 7.14.3
Snyk has created this PR to upgrade @babel/core from 7.14.0 to 7.14.3.

See this package in npm:
https://www.npmjs.com/package/@babel/core

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-06-10 20:17:01 +01:00
snyk-bot
dd5d96aa56 fix: upgrade @babel/eslint-parser from 7.13.14 to 7.14.2
Snyk has created this PR to upgrade @babel/eslint-parser from 7.13.14 to 7.14.2.

See this package in npm:
https://www.npmjs.com/package/@babel/eslint-parser

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-06-09 14:00:02 +01:00
snyk-bot
d6d563039e fix: upgrade @grpc/grpc-js from 1.3.0 to 1.3.2
Snyk has created this PR to upgrade @grpc/grpc-js from 1.3.0 to 1.3.2.

See this package in npm:
https://www.npmjs.com/package/@grpc/grpc-js

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-06-09 13:57:01 +01:00
snyk-bot
f5eb5d0c78 fix: upgrade @babel/cli from 7.13.16 to 7.14.3
Snyk has created this PR to upgrade @babel/cli from 7.13.16 to 7.14.3.

See this package in npm:
https://www.npmjs.com/package/@babel/cli

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-06-08 14:03:38 +01:00
snyk-bot
9d17ceb23f fix: upgrade @grpc/proto-loader from 0.6.1 to 0.6.2
Snyk has created this PR to upgrade @grpc/proto-loader from 0.6.1 to 0.6.2.

See this package in npm:
https://www.npmjs.com/package/@grpc/proto-loader

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-06-02 13:17:17 +01:00
snyk-bot
d0406afd31 fix: upgrade prettier from 2.2.1 to 2.3.0
Snyk has created this PR to upgrade prettier from 2.2.1 to 2.3.0.

See this package in npm:
https://www.npmjs.com/package/prettier

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-06-01 11:33:50 +01:00
snyk-bot
6411e9bd28 fix: upgrade core-js from 3.12.0 to 3.12.1
Snyk has created this PR to upgrade core-js from 3.12.0 to 3.12.1.

See this package in npm:
https://www.npmjs.com/package/core-js

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-05-31 12:07:34 +01:00
snyk-bot
db218ef440 fix: upgrade core-js from 3.11.2 to 3.12.0
Snyk has created this PR to upgrade core-js from 3.11.2 to 3.12.0.

See this package in npm:
https://www.npmjs.com/package/core-js

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-05-28 13:31:49 +01:00
snyk-bot
735b65dc0f fix: upgrade ioredis from 4.26.0 to 4.27.2
Snyk has created this PR to upgrade ioredis from 4.26.0 to 4.27.2.

See this package in npm:
https://www.npmjs.com/package/ioredis

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-05-26 11:25:53 +01:00
snyk-bot
c73d762028 fix: upgrade @babel/preset-env from 7.14.0 to 7.14.1
Snyk has created this PR to upgrade @babel/preset-env from 7.14.0 to 7.14.1.

See this package in npm:
https://www.npmjs.com/package/@babel/preset-env

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-05-26 11:25:30 +01:00
snyk-bot
4f3dff6022 fix: upgrade core-js from 3.11.1 to 3.11.2
Snyk has created this PR to upgrade core-js from 3.11.1 to 3.11.2.

See this package in npm:
https://www.npmjs.com/package/core-js

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-05-25 10:57:35 +01:00
snyk-bot
a792432700 fix: upgrade multiple dependencies with Snyk
Snyk has created this PR to upgrade:
  - @babel/core from 7.13.16 to 7.14.0.
    See this package in npm: https://www.npmjs.com/package/@babel/core
  - @babel/preset-env from 7.13.15 to 7.14.0.
    See this package in npm: https://www.npmjs.com/package/@babel/preset-env

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-05-21 14:11:52 +01:00
snyk-bot
590bccd4c0 fix: upgrade core-js from 3.11.0 to 3.11.1
Snyk has created this PR to upgrade core-js from 3.11.0 to 3.11.1.

See this package in npm:
https://www.npmjs.com/package/core-js

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-05-20 10:14:45 +01:00
snyk-bot
d90881771c fix: upgrade jayson from 3.5.2 to 3.6.1
Snyk has created this PR to upgrade jayson from 3.5.2 to 3.6.1.

See this package in npm:
https://www.npmjs.com/package/jayson

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-05-20 10:14:16 +01:00
snyk-bot
d9d75a0b29 fix: upgrade @grpc/grpc-js from 1.2.12 to 1.3.0
Snyk has created this PR to upgrade @grpc/grpc-js from 1.2.12 to 1.3.0.

See this package in npm:
https://www.npmjs.com/package/@grpc/grpc-js

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-05-19 12:13:10 +01:00
snyk-bot
34ffd59c1b fix: upgrade eslint-config-prettier from 8.1.0 to 8.3.0
Snyk has created this PR to upgrade eslint-config-prettier from 8.1.0 to 8.3.0.

See this package in npm:
https://www.npmjs.com/package/eslint-config-prettier

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-05-17 12:24:48 +01:00
snyk-bot
7dce6b848e fix: upgrade jayson from 3.4.4 to 3.5.2
Snyk has created this PR to upgrade jayson from 3.4.4 to 3.5.2.

See this package in npm:
https://www.npmjs.com/package/jayson

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-05-17 12:21:29 +01:00
Overtorment
0d337bdc7b REL 2021-05-14 11:11:23 +01:00
Overtorment
f0bf066cfd FIX: updateDescribeGraph() is disabled by default (too slow on low-end machines) 2021-05-14 11:10:41 +01:00
snyk-bot
f0ad86f1b9 fix: upgrade core-js from 3.10.2 to 3.11.0
Snyk has created this PR to upgrade core-js from 3.10.2 to 3.11.0.

See this package in npm:
https://www.npmjs.com/package/core-js

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-05-14 10:54:51 +01:00
snyk-bot
12d1e9560f fix: upgrade multiple dependencies with Snyk
Snyk has created this PR to upgrade:
  - @babel/cli from 7.13.14 to 7.13.16.
    See this package in npm: https://www.npmjs.com/package/@babel/cli
  - @babel/core from 7.13.15 to 7.13.16.
    See this package in npm: https://www.npmjs.com/package/@babel/core
  - @babel/register from 7.13.14 to 7.13.16.
    See this package in npm: https://www.npmjs.com/package/@babel/register

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-05-12 11:48:39 +01:00
snyk-bot
1eaf6c5a47 fix: upgrade core-js from 3.10.0 to 3.10.2
Snyk has created this PR to upgrade core-js from 3.10.0 to 3.10.2.

See this package in npm:
https://www.npmjs.com/package/core-js

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-05-11 10:16:33 +01:00
snyk-bot
dfcaac2cfa fix: upgrade @grpc/proto-loader from 0.6.0 to 0.6.1
Snyk has created this PR to upgrade @grpc/proto-loader from 0.6.0 to 0.6.1.

See this package in npm:
https://www.npmjs.com/package/@grpc/proto-loader

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-05-06 10:59:01 +01:00
snyk-bot
f11c02d2f2 fix: upgrade eslint-plugin-prettier from 3.3.1 to 3.4.0
Snyk has created this PR to upgrade eslint-plugin-prettier from 3.3.1 to 3.4.0.

See this package in npm:
https://www.npmjs.com/package/eslint-plugin-prettier

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-05-06 10:58:11 +01:00
snyk-bot
a4eedde3fb fix: upgrade ioredis from 4.25.0 to 4.26.0
Snyk has created this PR to upgrade ioredis from 4.25.0 to 4.26.0.

See this package in npm:
https://www.npmjs.com/package/ioredis

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-05-04 10:52:28 +01:00
snyk-bot
597615209b fix: upgrade multiple dependencies with Snyk
Snyk has created this PR to upgrade:
  - @babel/core from 7.13.14 to 7.13.15.
    See this package in npm: https://www.npmjs.com/package/@babel/core
  - @babel/preset-env from 7.13.12 to 7.13.15.
    See this package in npm: https://www.npmjs.com/package/@babel/preset-env

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-05-04 10:51:06 +01:00
snyk-bot
5fc7b074f9 fix: upgrade eslint from 7.23.0 to 7.24.0
Snyk has created this PR to upgrade eslint from 7.23.0 to 7.24.0.

See this package in npm:
https://www.npmjs.com/package/eslint

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-05-04 10:48:01 +01:00
11 changed files with 1079 additions and 1063 deletions

View File

@@ -1,7 +1,7 @@
LndHub
======
Wrapper for Lightning Network Daemon. It provides separate accounts with minimum trust for end users
Wrapper for Lightning Network Daemon (lnd). It provides separate accounts with minimum trust for end users.
INSTALLATION
------------
@@ -17,15 +17,17 @@ cd LndHub
npm i
```
Install `bitcoind`, `lnd` and `redis`. Edit `config.js` and set it up correctly.
Copy `admin.macaroon` and `tls.cert` in root folder of LndHub.
Install `bitcoind`, `lnd`, and `redis`. Edit LndHub's `config.js` to set it up correctly.
Copy the files `admin.macaroon` (for Bitcoin mainnet, usually stored in `~/.lnd/data/chain/bitcoin/mainnet/admin.macaroon`)
and `tls.cert` (usually stored in `~/.lnd/tls.cert`) into the root folder of LndHub.
`bitcoind` should run with `-deprecatedrpc=accounts`, for now. Lndhub expects Lnd's wallet to be unlocked, if not - it will attempt to unlock it with password stored in `config.lnd.password`.
Don't forget to enable disk-persistance for `redis`.
LndHub expects LND's wallet to be unlocked, if not it will attempt to unlock it with the password stored in `config.lnd.password`.
Don't forget to configure disk-persistence for `redis` (e.g., you may want to set `appendonly` to `yes` in `redis.conf` (see
http://redis.io/topics/persistence for more information).
If you have no `bitcoind` instance, for example if you use neutrino, or you have no bitcoind wallet,
for example if you use LND for wallet managment, you can remove the bitcoind settings from `config.js`.
Please not that this feature is limited to Bitcoin, so you can't use this feature if you use any other cryptocurrency with LND.
Please note that this feature is limited to Bitcoin, so you can't use it if you use any other cryptocurrency with LND (e.g., Litecoin).
### Deploy to Heroku
@@ -44,7 +46,8 @@ You can also view Umbrel's implementation using docker-compose [here](https://gi
Can be used in ReactNative or Nodejs environment
* https://github.com/BlueWallet/BlueWallet/blob/master/class/lightning-custodian-wallet.js
* https://github.com/BlueWallet/BlueWallet/blob/master/class/wallets/lightning-custodian-wallet.js
### Tests
@@ -57,5 +60,5 @@ Acceptance tests are in https://github.com/BlueWallet/BlueWallet/blob/master/Lig
## Responsible disclosure
Found critical bugs/vulnerabilities? Please email them bluewallet@bluewallet.io
Found critical bugs/vulnerabilities? Please email them to bluewallet@bluewallet.io
Thanks!

View File

@@ -12,10 +12,6 @@ export class Paym {
this._isPaid = null;
}
static get fee() {
return 0.003;
}
setInvoice(bolt11) {
this._bolt11 = bolt11;
}
@@ -39,7 +35,7 @@ export class Paym {
pub_key: this._decoded.destination,
amt: this._decoded.num_satoshis,
final_cltv_delta: 144,
fee_limit: { fixed: Math.floor(this._decoded.num_satoshis * 0.01) + 1 },
fee_limit: { fixed: Math.floor(this._decoded.num_satoshis * forwardFee) + 1 },
};
let that = this;
return new Promise(function (resolve, reject) {
@@ -74,7 +70,7 @@ export class Paym {
if (payment && payment.payment_route && payment.payment_route.total_amt_msat) {
// paid just now
this._isPaid = true;
payment.payment_route.total_fees = +payment.payment_route.total_fees + Math.floor(+payment.payment_route.total_amt * Paym.fee);
payment.payment_route.total_fees = +payment.payment_route.total_fees + Math.floor(+payment.payment_route.total_amt * internalFee);
if (this._bolt11) payment.pay_req = this._bolt11;
if (this._decoded) payment.decoded = this._decoded;
}
@@ -87,7 +83,7 @@ export class Paym {
if (this._bolt11) payment.pay_req = this._bolt11;
// trying to guess the fee
payment.payment_route = payment.payment_route || {};
payment.payment_route.total_fees = Math.floor(this._decoded.num_satoshis * 0.01); // we dont know the exact fee, so we use max (same as fee_limit)
payment.payment_route.total_fees = Math.floor(this._decoded.num_satoshis * forwardFee); // we dont know the exact fee, so we use max (same as fee_limit)
payment.payment_route.total_amt = this._decoded.num_satoshis;
}
}

View File

@@ -175,7 +175,7 @@ export class User {
let lockedPayments = await this.getLockedPayments();
for (let paym of lockedPayments) {
// locked payments are processed in scripts/process-locked-payments.js
calculatedBalance -= +paym.amount + /* feelimit */ Math.floor(paym.amount * 0.01);
calculatedBalance -= +paym.amount + /* feelimit */ Math.floor(paym.amount * forwardFee);
}
return calculatedBalance;

View File

@@ -1,6 +1,9 @@
let config = {
enableUpdateDescribeGraph: false,
postRateLimit: 100,
rateLimit: 200,
forwardReserveFee: 0.01, // default 0.01
intraHubFee: 0.003, // default 0.003
bitcoind: {
rpc: 'http://login:password@1.1.1.1:8332/wallet/wallet.dat',
},

View File

@@ -15,6 +15,12 @@ redis.monitor(function (err, monitor) {
});
});
/****** START SET FEES FROM CONFIG AT STARTUP ******/
/** GLOBALS */
global.forwardFee = config.forwardReserveFee || 0.01;
global.internalFee = config.intraHubFee || 0.003;
/****** END SET FEES FROM CONFIG AT STARTUP ******/
let bitcoinclient = require('../bitcoin');
let lightning = require('../lightning');
let identity_pubkey = false;
@@ -118,8 +124,10 @@ function updateDescribeGraph() {
console.log('updated graph');
});
}
updateDescribeGraph();
setInterval(updateDescribeGraph, 120000);
if (config.enableUpdateDescribeGraph) {
updateDescribeGraph();
setInterval(updateDescribeGraph, 120000);
}
// ######################## ROUTES ########################
@@ -131,7 +139,13 @@ const postLimiter = rateLimit({
router.post('/create', postLimiter, async function (req, res) {
logger.log('/create', [req.id]);
if (!(req.body.partnerid && req.body.partnerid === 'bluewallet' && req.body.accounttype)) return errorBadArguments(res);
// Valid if the partnerid isn't there or is a string (same with accounttype)
if (! (
(!req.body.partnerid || (typeof req.body.partnerid === 'string' || req.body.partnerid instanceof String))
&& (!req.body.accounttype || (typeof req.body.accounttype === 'string' || req.body.accounttype instanceof String))
) ) return errorBadArguments(res);
if (config.sunset) return errorSunset(res);
let u = new User(redis, bitcoinclient, lightning);
await u.create();
@@ -170,6 +184,8 @@ router.post('/addinvoice', postLimiter, async function (req, res) {
if (!req.body.amt || /*stupid NaN*/ !(req.body.amt > 0)) return errorBadArguments(res);
if (config.sunset) return errorSunsetAddInvoice(res);
const invoice = new Invo(redis, bitcoinclient, lightning);
const r_preimage = invoice.makePreimageHex();
lightning.addInvoice(
@@ -229,7 +245,7 @@ router.post('/payinvoice', async function (req, res) {
logger.log('/payinvoice', [req.id, 'userBalance: ' + userBalance, 'num_satoshis: ' + info.num_satoshis]);
if (userBalance >= +info.num_satoshis + Math.floor(info.num_satoshis * 0.01)) {
if (userBalance >= +info.num_satoshis + Math.floor(info.num_satoshis * forwardFee)) {
// got enough balance, including 1% of payment amount - reserve for fees
if (identity_pubkey === info.destination) {
@@ -256,8 +272,8 @@ router.post('/payinvoice', async function (req, res) {
await u.savePaidLndInvoice({
timestamp: parseInt(+new Date() / 1000),
type: 'paid_invoice',
value: +info.num_satoshis + Math.floor(info.num_satoshis * Paym.fee),
fee: Math.floor(info.num_satoshis * Paym.fee),
value: +info.num_satoshis + Math.floor(info.num_satoshis * internalFee),
fee: Math.floor(info.num_satoshis * internalFee),
memo: decodeURIComponent(info.description),
pay_req: req.body.invoice,
});
@@ -310,7 +326,7 @@ router.post('/payinvoice', async function (req, res) {
let inv = {
payment_request: req.body.invoice,
amt: info.num_satoshis, // amt is used only for 'tip' invoices
fee_limit: { fixed: Math.floor(info.num_satoshis * 0.005) + 1 },
fee_limit: { fixed: Math.floor(info.num_satoshis * forwardFee) + 1 },
};
try {
await u.lockFunds(req.body.invoice, info);
@@ -335,6 +351,8 @@ router.get('/getbtc', async function (req, res) {
return errorBadAuth(res);
}
if (config.sunset) return errorSunsetAddInvoice(res);
let address = await u.getAddress();
if (!address) {
await u.generateAddress();
@@ -411,8 +429,8 @@ router.get('/gettxs', async function (req, res) {
for (let locked of lockedPayments) {
txs.push({
type: 'paid_invoice',
fee: Math.floor(locked.amount * 0.01) /* feelimit */,
value: locked.amount + Math.floor(locked.amount * 0.01) /* feelimit */,
fee: Math.floor(locked.amount * forwardFee) /* feelimit */,
value: locked.amount + Math.floor(locked.amount * forwardFee) /* feelimit */,
timestamp: locked.timestamp,
memo: 'Payment in transition',
});
@@ -492,6 +510,7 @@ router.get('/queryroutes/:source/:dest/:amt', async function (req, res) {
let request = {
pub_key: req.params.dest,
use_mission_control: true,
amt: req.params.amt,
source_pub_key: req.params.source,
};
@@ -581,3 +600,19 @@ function errorPaymentFailed(res) {
message: 'Payment failed. Does the receiver have enough inbound capacity?',
});
}
function errorSunset(res) {
return res.send({
error: true,
code: 11,
message: 'This LNDHub instance is not accepting any more users',
});
}
function errorSunsetAddInvoice(res) {
return res.send({
error: true,
code: 11,
message: 'This LNDHub instance is scheduled to shut down. Withdraw any remaining funds',
});
}

View File

@@ -14,6 +14,7 @@ function updateLightning() {
lightning.getInfo({}, function (err, info) {
if (err) {
console.error('lnd failure:', err);
process.exit(4);
return;
}
lightningGetInfo = info;
@@ -22,6 +23,7 @@ function updateLightning() {
lightning.listChannels({}, function (err, response) {
if (err) {
console.error('lnd failure:', err);
process.exit(4);
return;
}
console.log('updated');
@@ -60,6 +62,7 @@ const pubkey2name = {
'030c3f19d742ca294a55c00376b3b355c3c90d61c6b6b39554dbc7ac19b141c14f': 'bitrefill.com',
'03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f': 'ACINQ',
'03abf6f44c355dec0d5aa155bdbdd6e0c8fefe318eff402de65c6eb2e1be55dc3e': 'OpenNode',
'028d98b9969fbed53784a36617eb489a59ab6dc9b9d77fcdca9ff55307cd98e3c4': 'OpenNode 2',
'0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3': 'coingate.com',
'0279c22ed7a068d10dc1a38ae66d2d6461e269226c60258c021b1ddcdfe4b00bc4': 'ln1.satoshilabs.com',
'02c91d6aa51aa940608b497b6beebcb1aec05be3c47704b682b3889424679ca490': 'lnd-21.LNBIG.com',
@@ -80,6 +83,10 @@ const pubkey2name = {
'033d8656219478701227199cbd6f670335c8d408a92ae88b962c49d4dc0e83e025': 'bfx-lnd0',
'03021c5f5f57322740e4ee6936452add19dc7ea7ccf90635f95119ab82a62ae268': 'lnd1.bluewallet.io',
'037cc5f9f1da20ac0d60e83989729a204a33cc2d8e80438969fadf35c1c5f1233b': 'lnd2.bluewallet.io',
'036b53093df5a932deac828cca6d663472dbc88322b05eec1d42b26ab9b16caa1c': 'okcoin',
'038f8f113c580048d847d6949371726653e02b928196bad310e3eda39ff61723f6': 'magnetron',
'03829249ef39746fd534a196510232df08b83db0967804ec71bf4120930864ff97': 'blokada.org',
'02ce691b2e321954644514db708ba2a72769a6f9142ac63e65dd87964e9cf2add9': 'Satoshis.Games',
};
router.get('/', function (req, res) {
@@ -98,7 +105,8 @@ router.get('/qr', function (req, res) {
if (process.env.TOR_URL) {
host = process.env.TOR_URL;
}
const url = 'bluewallet:setlndhuburl?url=' + encodeURIComponent(req.protocol + '://' + host);
const customPath = req.url.replace('/qr', '');
const url = 'bluewallet:setlndhuburl?url=' + encodeURIComponent(req.protocol + '://' + host + customPath);
var code = qr.image(url, { type: 'png' });
res.setHeader('Content-type', 'image/png');
code.pipe(res);

View File

@@ -5,6 +5,7 @@ process.on('uncaughtException', function (err) {
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
let express = require('express');
const helmet = require('helmet');
let morgan = require('morgan');
import { v4 as uuidv4 } from 'uuid';
let logger = require('./utils/logger');
@@ -16,6 +17,8 @@ morgan.token('id', function getId(req) {
let app = express();
app.enable('trust proxy');
app.use(helmet.hsts());
app.use(helmet.hidePoweredBy());
const rateLimit = require('express-rate-limit');
const limiter = rateLimit({
@@ -44,7 +47,10 @@ app.use('/static', express.static('static'));
app.use(require('./controllers/api'));
app.use(require('./controllers/website'));
let server = app.listen(process.env.PORT || 3000, function () {
logger.log('BOOTING UP', 'Listening on port ' + (process.env.PORT || 3000));
const bindHost = process.env.HOST || '0.0.0.0';
const bindPort = process.env.PORT || 3000;
let server = app.listen(bindPort, bindHost, function () {
logger.log('BOOTING UP', 'Listening on ' + bindHost + ':' + bindPort);
});
module.exports = server;

1985
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "lndhub",
"version": "1.3.3",
"version": "1.4.0",
"description": "",
"main": "index.js",
"scripts": {
@@ -12,29 +12,29 @@
"author": "Igor Korsakov <overtorment@gmail.com>",
"license": "MIT",
"dependencies": {
"@babel/cli": "^7.13.0",
"@babel/core": "^7.13.8",
"@babel/eslint-parser": "^7.13.10",
"@babel/node": "^7.13.0",
"@babel/preset-env": "^7.13.9",
"@babel/register": "^7.13.8",
"@grpc/grpc-js": "^1.2.10",
"@grpc/proto-loader": "^0.6.0",
"@babel/cli": "^7.14.8",
"@babel/core": "^7.15.0",
"@babel/eslint-parser": "^7.14.2",
"@babel/node": "^7.14.9",
"@babel/preset-env": "^7.15.0",
"@babel/register": "^7.14.5",
"@grpc/grpc-js": "^1.3.7",
"@grpc/proto-loader": "^0.6.4",
"bignumber.js": "^9.0.1",
"bitcoinjs-lib": "^5.2.0",
"bolt11": "^1.3.1",
"core-js": "^3.9.1",
"eslint": "^7.20.0",
"eslint-config-prettier": "^8.0.0",
"eslint-plugin-prettier": "^3.3.1",
"bolt11": "^1.3.2",
"eslint": "^7.24.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^3.4.0",
"express": "^4.17.1",
"express-rate-limit": "^5.2.6",
"express-rate-limit": "^5.3.0",
"frisbee": "^3.1.4",
"ioredis": "^4.22.0",
"jayson": "^3.4.4",
"helmet": "^4.6.0",
"ioredis": "^4.27.8",
"jayson": "^3.6.4",
"morgan": "^1.10.0",
"mustache": "^4.1.0",
"prettier": "^2.2.1",
"prettier": "^2.3.0",
"qr-image": "3.2.0",
"request": "^2.88.2",
"request-promise": "^4.2.6",

View File

@@ -9,6 +9,11 @@ const important_channels = {
uri: '03abf6f44c355dec0d5aa155bdbdd6e0c8fefe318eff402de65c6eb2e1be55dc3e@18.221.23.28:9735',
wumbo: 1,
},
'028d98b9969fbed53784a36617eb489a59ab6dc9b9d77fcdca9ff55307cd98e3c4': {
name: 'OpenNode 2',
uri: '028d98b9969fbed53784a36617eb489a59ab6dc9b9d77fcdca9ff55307cd98e3c4@18.222.70.85:9735',
wumbo: 1,
},
// '0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3': {
// name: 'coingate.com',
// uri: '0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3@3.124.63.44:9735',
@@ -45,9 +50,9 @@ const important_channels = {
uri: '02816caed43171d3c9854e3b0ab2cf0c42be086ff1bd4005acc2a5f7db70d83774@35.238.153.25:9735',
wumbo: 1,
},
'02570432c30df86ff7dbe3b49e24e8280411674f96470154cadc76d447e339292b': {
'036b53093df5a932deac828cca6d663472dbc88322b05eec1d42b26ab9b16caa1c': {
name: 'okcoin',
uri: '02570432c30df86ff7dbe3b49e24e8280411674f96470154cadc76d447e339292b@8.210.75.128:26657',
uri: '036b53093df5a932deac828cca6d663472dbc88322b05eec1d42b26ab9b16caa1c@47.243.25.4:26658',
wumbo: 1,
},
// '0331f80652fb840239df8dc99205792bba2e559a05469915804c08420230e23c7c': {
@@ -78,7 +83,7 @@ lightning.listChannels({}, function (err, response) {
}
let lightningListChannels = response;
for (let channel of lightningListChannels.channels) {
if (channel.capacity < 0.05 / 100000000) {
if (channel.capacity <= 1000000) {
console.log(
'lncli closechannel',
channel.channel_point.replace(':', ' '),

View File

@@ -50,9 +50,10 @@ let lightning = require('../lightning');
let locked = await U.getLockedPayments();
for (let loc of locked) {
console.log('-', loc.amount + /* fee limit */ Math.floor(loc.amount * 0.01), new Date(loc.timestamp * 1000).toString(), '[locked]');
console.log('-', loc.amount + /* fee limit */ Math.floor(loc.amount * config.forwardReserveFee), new Date(loc.timestamp * 1000).toString(), '[locked]');
}
console.log('\ncalculatedBalance\n================\n', calculatedBalance, await U.getCalculatedBalance());
console.log('txs:', txs.length, 'userinvoices:', userinvoices.length);
process.exit();
})();