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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "buildTime": "2026-02-10T06:57:44.837Z",
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.4",
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: "^6.14.0",
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 ret = await Promise.allSettled([
7816
- getMainLnlinkConfig(),
7817
- lightningService.getInfo(),
7818
- lightningService.walletBalance(),
7819
- lightningService.listPeers({})
7820
- ]);
7821
- const [configResult, infoResult, balanceResult, peersResult] = ret;
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
- logger2.info(
7841
- `LND lndService combineNodeInfoAsync peer:${peers.map((item) => item.pub_key)}`
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 TOR_DIR_AUTH_HOST = "128.31.0.34";
8580
- const TOR_DIR_AUTH_PORT = 9131;
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
- const reachable = await new Promise((resolve) => {
8583
- const socket = new net.Socket();
8584
- socket.setTimeout(TIMEOUT);
8585
- socket.once("connect", () => {
8586
- socket.destroy();
8587
- resolve(true);
8588
- });
8589
- socket.once("timeout", () => {
8590
- socket.destroy();
8591
- resolve(false);
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: true
12083
+ skip_sync: false
12058
12084
  // Skip sync for faster response
12059
12085
  }),
12060
12086
  rgbClient.lightning.listPeers({})