diff --git a/app.ts b/app.ts index a25368d..3cccfcf 100644 --- a/app.ts +++ b/app.ts @@ -11,6 +11,7 @@ import * as controllers from './src/controllers' import * as socket from './src/utils/socket' import * as network from './src/network' import {authModule, unlocker} from './src/auth' +import * as grpc from './src/grpc' const env = process.env.NODE_ENV || 'development'; const config = require(path.join(__dirname, 'config/app.json'))[env]; @@ -22,8 +23,6 @@ console.log('=> config.node_http_port:',config.node_http_port) process.env.GRPC_SSL_CIPHER_SUITES = 'HIGH+ECDSA' -var i = 0 - // START SETUP! async function start(){ await setupDatabase() @@ -33,25 +32,13 @@ async function start(){ start() async function connectToLND(){ - i++ - console.log(`=> [lnd] connecting... attempt #${i}`) - try { - await network.initGrpcSubscriptions() // LND - await mainSetup() // DB + express - await network.initTribesSubscriptions() // MQTT - } catch(e) { - if(e.details) { - console.log(`=> [lnd] error details: ${e.details}`) - } else { - console.log(`=> [lnd] error: ${e.message}`) - } - setTimeout(async()=>{ // retry each 2 secs - await connectToLND() - },2000) - } + await grpc.reconnectToLND(Math.random()) // recursive + console.log(">> SETUP MAIN") + await mainSetup() } async function mainSetup(){ + await network.initTribesSubscriptions() if (config.hub_api_url) { // pingHubInterval(15000) checkInvitesHubInterval(5000) diff --git a/dist/app.js b/dist/app.js index e8a0327..9ea93f9 100644 --- a/dist/app.js +++ b/dist/app.js @@ -22,6 +22,7 @@ const controllers = require("./src/controllers"); const socket = require("./src/utils/socket"); const network = require("./src/network"); const auth_1 = require("./src/auth"); +const grpc = require("./src/grpc"); const env = process.env.NODE_ENV || 'development'; const config = require(path.join(__dirname, 'config/app.json'))[env]; const port = process.env.PORT || config.node_http_port || 3001; @@ -29,7 +30,6 @@ console.log("=> env:", env); console.log('=> process.env.PORT:', process.env.PORT); console.log('=> config.node_http_port:', config.node_http_port); process.env.GRPC_SSL_CIPHER_SUITES = 'HIGH+ECDSA'; -var i = 0; // START SETUP! function start() { return __awaiter(this, void 0, void 0, function* () { @@ -41,28 +41,14 @@ function start() { start(); function connectToLND() { return __awaiter(this, void 0, void 0, function* () { - i++; - console.log(`=> [lnd] connecting... attempt #${i}`); - try { - yield network.initGrpcSubscriptions(); // LND - yield mainSetup(); // DB + express - yield network.initTribesSubscriptions(); // MQTT - } - catch (e) { - if (e.details) { - console.log(`=> [lnd] error details: ${e.details}`); - } - else { - console.log(`=> [lnd] error: ${e.message}`); - } - setTimeout(() => __awaiter(this, void 0, void 0, function* () { - yield connectToLND(); - }), 2000); - } + yield grpc.reconnectToLND(Math.random()); // recursive + console.log(">> SETUP MAIN"); + yield mainSetup(); }); } function mainSetup() { return __awaiter(this, void 0, void 0, function* () { + yield network.initTribesSubscriptions(); if (config.hub_api_url) { // pingHubInterval(15000) hub_1.checkInvitesHubInterval(5000); diff --git a/dist/app.js.map b/dist/app.js.map index 7cbc04a..93c2c69 100644 --- a/dist/app.js.map +++ b/dist/app.js.map @@ -1 +1 @@ -{"version":3,"file":"app.js","sourceRoot":"","sources":["../app.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"app.js","sourceRoot":"","sources":["../app.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/src/grpc/index.js b/dist/src/grpc/index.js index b5c2707..cce7053 100644 --- a/dist/src/grpc/index.js +++ b/dist/src/grpc/index.js @@ -136,23 +136,27 @@ var i = 0; var ctx = 0; function reconnectToLND(innerCtx) { return __awaiter(this, void 0, void 0, function* () { - ctx = innerCtx; - i++; - const now = moment().format('YYYY-MM-DD HH:mm:ss').trim(); - console.log(`=> ${now} [lnd] reconnecting... attempt #${i}`); - try { - yield network.initGrpcSubscriptions(); + return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { + ctx = innerCtx; + i++; const now = moment().format('YYYY-MM-DD HH:mm:ss').trim(); - console.log(`=> [lnd] reconnected! ${now}`); - } - catch (e) { - console.log("COULD NOT RECONNECT", e, e.message, e.code); - setTimeout(() => __awaiter(this, void 0, void 0, function* () { - if (ctx === innerCtx) { // if another retry fires, then this will not run - yield reconnectToLND(innerCtx); - } - }), 2000); - } + console.log(`=> ${now} [lnd] reconnecting... attempt #${i}`); + try { + yield network.initGrpcSubscriptions(); + const now = moment().format('YYYY-MM-DD HH:mm:ss').trim(); + console.log(`=> [lnd] connected! ${now}`); + resolve(); + } + catch (e) { + console.log("COULD NOT RECONNECT", e, e.message, e.code); + setTimeout(() => __awaiter(this, void 0, void 0, function* () { + if (ctx === innerCtx) { // if another retry fires, then this will not run + yield reconnectToLND(innerCtx); + } + }), 2000); + } + })); }); } +exports.reconnectToLND = reconnectToLND; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/src/grpc/index.js.map b/dist/src/grpc/index.js.map index 1a0a029..d7c70e3 100644 --- a/dist/src/grpc/index.js.map +++ b/dist/src/grpc/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/grpc/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/grpc/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/grpc/index.ts b/src/grpc/index.ts index 10c8549..4234daa 100644 --- a/src/grpc/index.ts +++ b/src/grpc/index.ts @@ -129,22 +129,25 @@ export function subscribeInvoices(parseKeysendInvoice) { var i = 0 var ctx = 0 -async function reconnectToLND(innerCtx:number){ - ctx = innerCtx - i++ - const now = moment().format('YYYY-MM-DD HH:mm:ss').trim(); - console.log(`=> ${now} [lnd] reconnecting... attempt #${i}`) - try { - await network.initGrpcSubscriptions() +export async function reconnectToLND(innerCtx:number) { + return new Promise( async (resolve,reject)=>{ + ctx = innerCtx + i++ const now = moment().format('YYYY-MM-DD HH:mm:ss').trim(); - console.log(`=> [lnd] reconnected! ${now}`) - } catch(e) { - console.log("COULD NOT RECONNECT",e,e.message,e.code) - setTimeout(async()=>{ // retry each 2 secs - if(ctx===innerCtx) { // if another retry fires, then this will not run - await reconnectToLND(innerCtx) - } - },2000) - } + console.log(`=> ${now} [lnd] reconnecting... attempt #${i}`) + try { + await network.initGrpcSubscriptions() + const now = moment().format('YYYY-MM-DD HH:mm:ss').trim(); + console.log(`=> [lnd] connected! ${now}`) + resolve() + } catch(e) { + console.log("COULD NOT RECONNECT",e,e.message,e.code) + setTimeout(async()=>{ // retry each 2 secs + if(ctx===innerCtx) { // if another retry fires, then this will not run + await reconnectToLND(innerCtx) + } + },2000) + } + }) }