lnlink-server 1.1.4 → 1.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app.js +334 -328
- package/dist/build-info.json +1 -5
- package/dist/index.js +64 -38
- package/dist/index.js.map +3 -3
- package/dist/package.json +2 -6
- package/package.json +5 -7
package/dist/build-info.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"buildTime": "2026-02-
|
|
2
|
+
"buildTime": "2026-02-24T10:21:15.428Z",
|
|
3
3
|
"mode": "development",
|
|
4
4
|
"bundle": "single",
|
|
5
5
|
"external": "all",
|
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
"@lnfi-network/rgb-api-js-sdk",
|
|
11
11
|
"@prisma/client",
|
|
12
12
|
"axios",
|
|
13
|
-
"bitcoin-core",
|
|
14
13
|
"body-parser",
|
|
15
14
|
"bolt11",
|
|
16
15
|
"cookie-parser",
|
|
@@ -24,8 +23,6 @@
|
|
|
24
23
|
"find-process",
|
|
25
24
|
"form-data",
|
|
26
25
|
"http-errors",
|
|
27
|
-
"jest",
|
|
28
|
-
"lnlink-server",
|
|
29
26
|
"long",
|
|
30
27
|
"module-alias",
|
|
31
28
|
"morgan",
|
|
@@ -36,7 +33,6 @@
|
|
|
36
33
|
"pino-pretty",
|
|
37
34
|
"pino-roll",
|
|
38
35
|
"prisma",
|
|
39
|
-
"typescript",
|
|
40
36
|
"ws"
|
|
41
37
|
],
|
|
42
38
|
"nodeVersion": "v24.11.0"
|
package/dist/index.js
CHANGED
|
@@ -7181,7 +7181,7 @@ var require_package = __commonJS({
|
|
|
7181
7181
|
"package.json"(exports2, module2) {
|
|
7182
7182
|
module2.exports = {
|
|
7183
7183
|
name: "lnlink-server",
|
|
7184
|
-
version: "1.1.
|
|
7184
|
+
version: "1.1.7",
|
|
7185
7185
|
private: false,
|
|
7186
7186
|
main: "dist/index.js",
|
|
7187
7187
|
files: [
|
|
@@ -7217,7 +7217,6 @@ var require_package = __commonJS({
|
|
|
7217
7217
|
"@lnfi-network/rgb-api-js-sdk": "^1.0.7",
|
|
7218
7218
|
"@prisma/client": "6.14.0",
|
|
7219
7219
|
axios: "^1.7.2",
|
|
7220
|
-
"bitcoin-core": "^4.2.0",
|
|
7221
7220
|
"body-parser": "^1.20.2",
|
|
7222
7221
|
bolt11: "^1.4.1",
|
|
7223
7222
|
"cookie-parser": "~1.4.4",
|
|
@@ -7231,8 +7230,6 @@ var require_package = __commonJS({
|
|
|
7231
7230
|
"find-process": "^2.0.0",
|
|
7232
7231
|
"form-data": "^4.0.2",
|
|
7233
7232
|
"http-errors": "~1.6.3",
|
|
7234
|
-
jest: "^29.6.2",
|
|
7235
|
-
"lnlink-server": "1.0.7",
|
|
7236
7233
|
long: "^5.2.3",
|
|
7237
7234
|
"module-alias": "^2.2.3",
|
|
7238
7235
|
morgan: "~1.9.1",
|
|
@@ -7242,8 +7239,7 @@ var require_package = __commonJS({
|
|
|
7242
7239
|
pino: "^9.9.0",
|
|
7243
7240
|
"pino-pretty": "^13.1.1",
|
|
7244
7241
|
"pino-roll": "^3.1.0",
|
|
7245
|
-
prisma: "
|
|
7246
|
-
typescript: "^5.7.3",
|
|
7242
|
+
prisma: "6.14.0",
|
|
7247
7243
|
ws: "^8.18.0"
|
|
7248
7244
|
},
|
|
7249
7245
|
"lint-staged": {
|
|
@@ -7265,9 +7261,11 @@ var require_package = __commonJS({
|
|
|
7265
7261
|
esbuild: "^0.25.9",
|
|
7266
7262
|
eslint: "^9.20.1",
|
|
7267
7263
|
husky: "^9.1.7",
|
|
7264
|
+
jest: "^29.6.2",
|
|
7268
7265
|
"lint-staged": "^15.4.3",
|
|
7269
7266
|
nodemon: "^3.0.3",
|
|
7270
|
-
protobufjs: "^7.2.5"
|
|
7267
|
+
protobufjs: "^7.2.5",
|
|
7268
|
+
typescript: "^5.7.3"
|
|
7271
7269
|
},
|
|
7272
7270
|
engines: {
|
|
7273
7271
|
node: ">=19.0.0"
|
|
@@ -7812,13 +7810,19 @@ var require_lndService = __commonJS({
|
|
|
7812
7810
|
}
|
|
7813
7811
|
if (state >= WALLET_STATE_CODE.RPC_ACTIVE && isMacaroonDecrypted && state !== WALLET_STATE_CODE.WAITING_TO_START) {
|
|
7814
7812
|
const lightningService = getLightningService();
|
|
7815
|
-
const
|
|
7816
|
-
getMainLnlinkConfig()
|
|
7817
|
-
|
|
7818
|
-
|
|
7819
|
-
|
|
7820
|
-
|
|
7821
|
-
|
|
7813
|
+
const promises = [
|
|
7814
|
+
getMainLnlinkConfig()
|
|
7815
|
+
];
|
|
7816
|
+
if (state >= WALLET_STATE_CODE.SERVER_ACTIVE) {
|
|
7817
|
+
promises.push(getCacheNodeInfo(true));
|
|
7818
|
+
promises.push(lightningService.walletBalance());
|
|
7819
|
+
promises.push(lightningService.listPeers({}));
|
|
7820
|
+
}
|
|
7821
|
+
const ret = await Promise.allSettled(promises);
|
|
7822
|
+
const configResult = ret[0];
|
|
7823
|
+
const infoResult = state >= WALLET_STATE_CODE.SERVER_ACTIVE ? ret[1] : { status: "rejected" };
|
|
7824
|
+
const balanceResult = state >= WALLET_STATE_CODE.SERVER_ACTIVE ? ret[2] : { status: "rejected" };
|
|
7825
|
+
const peersResult = state >= WALLET_STATE_CODE.SERVER_ACTIVE ? ret[3] : { status: "rejected" };
|
|
7822
7826
|
let settings = null;
|
|
7823
7827
|
if (configResult.status === "fulfilled") {
|
|
7824
7828
|
settings = configResult.value?.settings;
|
|
@@ -7837,9 +7841,11 @@ var require_lndService = __commonJS({
|
|
|
7837
7841
|
address: peer.address
|
|
7838
7842
|
};
|
|
7839
7843
|
});
|
|
7840
|
-
|
|
7841
|
-
|
|
7842
|
-
|
|
7844
|
+
if (state >= WALLET_STATE_CODE.SERVER_ACTIVE) {
|
|
7845
|
+
logger2.info(
|
|
7846
|
+
`LND lndService combineNodeInfoAsync peer:${peers.map((item) => item.pub_key)}`
|
|
7847
|
+
);
|
|
7848
|
+
}
|
|
7843
7849
|
const errors = ret?.filter((p) => p.status === "rejected")?.map((p) => p.reason);
|
|
7844
7850
|
if (errors && errors.length > 0) {
|
|
7845
7851
|
logger2.error(
|
|
@@ -8575,29 +8581,49 @@ var require_api = __commonJS({
|
|
|
8575
8581
|
});
|
|
8576
8582
|
router.get("/tor/check", async (_, res) => {
|
|
8577
8583
|
try {
|
|
8584
|
+
let tryConnect2 = function(host, port) {
|
|
8585
|
+
return new Promise((resolve, reject) => {
|
|
8586
|
+
const socket = new net.Socket();
|
|
8587
|
+
socket.setTimeout(TIMEOUT);
|
|
8588
|
+
socket.once("connect", () => {
|
|
8589
|
+
socket.destroy();
|
|
8590
|
+
resolve({ host, port, reachable: true });
|
|
8591
|
+
});
|
|
8592
|
+
socket.once("timeout", () => {
|
|
8593
|
+
socket.destroy();
|
|
8594
|
+
reject(new Error(`timeout ${host}:${port}`));
|
|
8595
|
+
});
|
|
8596
|
+
socket.once("error", (err) => {
|
|
8597
|
+
socket.destroy();
|
|
8598
|
+
reject(new Error(`error ${host}:${port}: ${err.message}`));
|
|
8599
|
+
});
|
|
8600
|
+
socket.connect(port, host);
|
|
8601
|
+
});
|
|
8602
|
+
};
|
|
8603
|
+
var tryConnect = tryConnect2;
|
|
8604
|
+
__name(tryConnect2, "tryConnect");
|
|
8578
8605
|
const net = require("node:net");
|
|
8579
|
-
const
|
|
8580
|
-
|
|
8606
|
+
const TOR_DIR_AUTHORITIES = [
|
|
8607
|
+
{ host: "128.31.0.34", port: 9131, name: "moria1" },
|
|
8608
|
+
{ host: "193.23.244.244", port: 443, name: "dannenberg" },
|
|
8609
|
+
{ host: "199.58.81.140", port: 80, name: "Faravahar" },
|
|
8610
|
+
{ host: "86.59.21.38", port: 443, name: "gabelmoo" }
|
|
8611
|
+
];
|
|
8581
8612
|
const TIMEOUT = 5e3;
|
|
8582
|
-
|
|
8583
|
-
|
|
8584
|
-
|
|
8585
|
-
|
|
8586
|
-
|
|
8587
|
-
|
|
8588
|
-
|
|
8589
|
-
|
|
8590
|
-
|
|
8591
|
-
|
|
8592
|
-
|
|
8593
|
-
socket.once("error", () => {
|
|
8594
|
-
socket.destroy();
|
|
8595
|
-
resolve(false);
|
|
8596
|
-
});
|
|
8597
|
-
socket.connect(TOR_DIR_AUTH_PORT, TOR_DIR_AUTH_HOST);
|
|
8598
|
-
});
|
|
8613
|
+
let reachable = false;
|
|
8614
|
+
let connectedTo = null;
|
|
8615
|
+
try {
|
|
8616
|
+
const result = await Promise.any(
|
|
8617
|
+
TOR_DIR_AUTHORITIES.map(({ host, port }) => tryConnect2(host, port))
|
|
8618
|
+
);
|
|
8619
|
+
reachable = true;
|
|
8620
|
+
connectedTo = `${result.host}:${result.port}`;
|
|
8621
|
+
} catch {
|
|
8622
|
+
reachable = false;
|
|
8623
|
+
}
|
|
8599
8624
|
sendResponse(res, 200, reachable ? "Tor network is reachable" : "Tor network is not reachable", {
|
|
8600
|
-
reachable
|
|
8625
|
+
reachable,
|
|
8626
|
+
...connectedTo && { connected_to: connectedTo }
|
|
8601
8627
|
});
|
|
8602
8628
|
} catch {
|
|
8603
8629
|
sendResponse(res, 200, "Tor network check failed", { reachable: false });
|
|
@@ -12054,7 +12080,7 @@ var require_info = __commonJS({
|
|
|
12054
12080
|
] = await Promise.allSettled([
|
|
12055
12081
|
rgbClient.node.getNodeInfo(),
|
|
12056
12082
|
rgbClient.onchain.getBtcBalance({
|
|
12057
|
-
skip_sync:
|
|
12083
|
+
skip_sync: false
|
|
12058
12084
|
// Skip sync for faster response
|
|
12059
12085
|
}),
|
|
12060
12086
|
rgbClient.lightning.listPeers({})
|