Browse Source

Merge pull request #92 from stakwork/queryroute

Queryroute
loopout2 v1.0.8
Evan Feenstra 4 years ago
committed by GitHub
parent
commit
c1ba19fbc2
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 13
      dist/src/controllers/details.js
  2. 2
      dist/src/controllers/details.js.map
  3. 1
      dist/src/controllers/index.js
  4. 2
      dist/src/controllers/index.js.map
  5. 15
      dist/src/utils/lightning.js
  6. 2
      dist/src/utils/lightning.js.map
  7. 49
      src/controllers/details.ts
  8. 1
      src/controllers/index.ts
  9. 17
      src/utils/lightning.ts

13
dist/src/controllers/details.js

@ -14,8 +14,21 @@ const res_1 = require("../utils/res");
const readLastLines = require("read-last-lines");
const nodeinfo_1 = require("../utils/nodeinfo");
const path = require("path");
const constants_1 = require("../constants");
const env = process.env.NODE_ENV || 'development';
const config = require(path.join(__dirname, '../../config/app.json'))[env];
exports.checkRoute = (req, res) => __awaiter(void 0, void 0, void 0, function* () {
const { pubkey, amount } = req.params;
if (!(pubkey && pubkey.length === 66))
return res_1.failure(res, 'wrong pubkey');
try {
const r = yield lightning_1.queryRoute(pubkey, parseInt(amount) || constants_1.default.min_sat_amount);
res_1.success(res, r);
}
catch (e) {
res_1.failure(res, e);
}
});
const defaultLogFiles = [
'/var/log/supervisor/relay.log',
'/home/lnd/.pm2/logs/app-error.log',

2
dist/src/controllers/details.js.map

@ -1 +1 @@
{"version":3,"file":"details.js","sourceRoot":"","sources":["../../../src/controllers/details.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"details.js","sourceRoot":"","sources":["../../../src/controllers/details.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,kDAA8D;AAC9D,sCAA+C;AAC/C,iDAAgD;AAChD,gDAA6C;AAC7C,6BAA4B;AAC5B,4CAAoC;AAEpC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC;AAClD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAE7D,QAAA,UAAU,GAAG,CAAO,GAAG,EAAE,GAAG,EAAE,EAAE;IAC5C,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,GAAG,GAAG,CAAC,MAAM,CAAA;IACnC,IAAG,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAG,EAAE,CAAC;QAAE,OAAO,aAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;IAEvE,IAAI;QACH,MAAM,CAAC,GAAG,MAAM,sBAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAE,mBAAS,CAAC,cAAc,CAAC,CAAA;QAC9E,aAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;KACf;IAAC,OAAM,CAAC,EAAE;QACV,aAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;KACf;AACF,CAAC,CAAA,CAAC;AAEF,MAAM,eAAe,GAAG;IACvB,+BAA+B;IAC/B,mCAAmC;IACnC,iBAAiB;CACjB,CAAA;AACD,SAAsB,YAAY,CAAC,GAAG,EAAE,GAAG;;QAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAA;QACtE,IAAI,GAAG,CAAA;QACP,IAAI,GAAG,CAAA;QACP,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAM,QAAQ,EAAC,EAAE;YAC7C,IAAI,CAAC,GAAG,EAAE;gBACT,IAAI;oBACH,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;oBACrD,IAAI,KAAK,EAAE;wBACV,IAAI,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;wBAClC,UAAU,CAAC,OAAO,EAAE,CAAA;wBACpB,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;qBAC3B;iBACD;gBAAC,OAAO,CAAC,EAAE;oBACX,GAAG,GAAG,CAAC,CAAA;iBACP;aACD;QACF,CAAC,CAAA,CAAC,CAAA;QACF,IAAI,GAAG;YAAE,aAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;;YACrB,aAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACvB,CAAC;CAAA;AApBD,oCAoBC;AAEY,QAAA,OAAO,GAAG,CAAO,GAAG,EAAE,GAAG,EAAE,EAAE;IACzC,MAAM,SAAS,GAAG,yBAAa,EAAE,CAAA;IACjC,IAAI,OAAO,GAAG,EAAE,CAAA;IAChB,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,EAAE,QAAQ;QACjD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI,EAAE;YAChB,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;SACtC;aAAM;YACN,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;SAC7B;QACD,GAAG,CAAC,GAAG,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;AACJ,CAAC,CAAA,CAAC;AAEW,QAAA,WAAW,GAAG,CAAO,GAAG,EAAE,GAAG,EAAE,EAAE;IAC7C,MAAM,SAAS,GAAG,yBAAa,EAAE,CAAA;IACjC,IAAI,OAAO,GAAG,EAAE,CAAA;IAChB,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,EAAE,QAAQ;QACtD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI,EAAE;YAChB,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;SACtC;aAAM;YACN,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;SAC7B;QACD,GAAG,CAAC,GAAG,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;AACJ,CAAC,CAAA,CAAC;AAEW,QAAA,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACtC,MAAM,SAAS,GAAG,yBAAa,EAAE,CAAA;IACjC,IAAI,OAAO,GAAG,EAAE,CAAA;IAChB,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,EAAE,QAAQ;QACxD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI,EAAE;YAChB,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;SACtC;aAAM;YACN,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;SAC7B;QACD,GAAG,CAAC,GAAG,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEW,QAAA,qBAAqB,GAAG,CAAO,GAAG,EAAE,GAAG,EAAE,EAAE;IACvD,MAAM,SAAS,GAAG,yBAAa,EAAE,CAAA;IACjC,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE;QAC/C,MAAM,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAA;QAEhC,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;QACxD,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAA;QAC1D,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACtF,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAExF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI,EAAE;YAChB,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;SAChH;aAAM;YACN,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;SAC7B;QACD,GAAG,CAAC,GAAG,EAAE,CAAC;IACX,CAAC,CAAC,CAAA;AACH,CAAC,CAAA,CAAC;AAEW,QAAA,WAAW,GAAG,CAAO,GAAG,EAAE,GAAG,EAAE,EAAE;IAC7C,IAAI,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC;IAC9C,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE;QAC5E,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACf,GAAG,CAAC,GAAG,EAAE,CAAA;QACT,OAAM;KACN;IACD,MAAM,IAAI,GAAG,MAAM,mBAAQ,EAAE,CAAA;IAC7B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACf,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACd,GAAG,CAAC,GAAG,EAAE,CAAA;AACV,CAAC,CAAA,CAAA;AAED,SAAe,YAAY,CAAC,KAAK,EAAE,QAAQ;;QAC1C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAClD,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;SAC3C;IACF,CAAC;CAAA"}

1
dist/src/controllers/index.js

@ -92,6 +92,7 @@ function set(app) {
app.get('/getinfo', details.getInfo);
app.get('/logs', details.getLogsSince);
app.get('/info', details.getNodeInfo);
app.get('/route', details.checkRoute);
app.post('/action', actions.processAction);
app.get('/bots', bots.getBots);
app.post('/bot', bots.createBot);

2
dist/src/controllers/index.js.map

File diff suppressed because one or more lines are too long

15
dist/src/utils/lightning.js

@ -113,6 +113,21 @@ const getRoute = (pub_key, amt, callback) => __awaiter(void 0, void 0, void 0, f
lightning.queryRoutes({ pub_key, amt }, (err, response) => callback(err, response));
});
exports.getRoute = getRoute;
const queryRoute = (pub_key, amt) => __awaiter(void 0, void 0, void 0, function* () {
return new Promise(function (resolve, reject) {
return __awaiter(this, void 0, void 0, function* () {
let lightning = yield loadLightning();
lightning.queryRoutes({ pub_key, amt }, (err, response) => {
if (err) {
reject(err);
return;
}
resolve(response);
});
});
});
});
exports.queryRoute = queryRoute;
const keysend = (opts) => {
return new Promise(function (resolve, reject) {
return __awaiter(this, void 0, void 0, function* () {

2
dist/src/utils/lightning.js.map

File diff suppressed because one or more lines are too long

49
src/controllers/details.ts

@ -1,11 +1,24 @@
import {loadLightning} from '../utils/lightning'
import { loadLightning, queryRoute } from '../utils/lightning'
import { success, failure } from '../utils/res'
import * as readLastLines from 'read-last-lines'
import { nodeinfo } from '../utils/nodeinfo';
import * as path from 'path'
import constants from '../constants'
const env = process.env.NODE_ENV || 'development';
const config = require(path.join(__dirname,'../../config/app.json'))[env]
const config = require(path.join(__dirname, '../../config/app.json'))[env]
export const checkRoute = async (req, res) => {
const {pubkey, amount} = req.params
if(!(pubkey && pubkey.length===66)) return failure(res, 'wrong pubkey')
try {
const r = await queryRoute(pubkey, parseInt(amount)||constants.min_sat_amount)
success(res, r)
} catch(e) {
failure(res, e)
}
};
const defaultLogFiles = [
'/var/log/supervisor/relay.log',
@ -16,28 +29,28 @@ export async function getLogsSince(req, res) {
const logFiles = config.log_file ? [config.log_file] : defaultLogFiles
let txt
let err
await asyncForEach(logFiles, async filepath=>{
if(!txt){
await asyncForEach(logFiles, async filepath => {
if (!txt) {
try {
const lines = await readLastLines.read(filepath, 500)
if(lines) {
if (lines) {
var linesArray = lines.split('\n')
linesArray.reverse()
txt = linesArray.join('\n')
}
} catch(e) {
txt = linesArray.join('\n')
}
} catch (e) {
err = e
}
}
})
if(txt) success(res, txt)
if (txt) success(res, txt)
else failure(res, err)
}
export const getInfo = async (req, res) => {
const lightning = loadLightning()
var request = {}
lightning.getInfo(request, function(err, response) {
lightning.getInfo(request, function (err, response) {
res.status(200);
if (err == null) {
res.json({ success: true, response });
@ -49,9 +62,9 @@ export const getInfo = async (req, res) => {
};
export const getChannels = async (req, res) => {
const lightning = loadLightning()
const lightning = loadLightning()
var request = {}
lightning.listChannels(request, function(err, response) {
lightning.listChannels(request, function (err, response) {
res.status(200);
if (err == null) {
res.json({ success: true, response });
@ -63,9 +76,9 @@ export const getChannels = async (req, res) => {
};
export const getBalance = (req, res) => {
const lightning = loadLightning()
const lightning = loadLightning()
var request = {}
lightning.channelBalance(request, function(err, response) {
lightning.channelBalance(request, function (err, response) {
res.status(200);
if (err == null) {
res.json({ success: true, response });
@ -80,7 +93,7 @@ export const getLocalRemoteBalance = async (req, res) => {
const lightning = loadLightning()
lightning.listChannels({}, (err, channelList) => {
const { channels } = channelList
const localBalances = channels.map(c => c.local_balance)
const remoteBalances = channels.map(c => c.remote_balance)
const totalLocalBalance = localBalances.reduce((a, b) => parseInt(a) + parseInt(b), 0)
@ -93,12 +106,12 @@ export const getLocalRemoteBalance = async (req, res) => {
res.json({ success: false });
}
res.end();
})
})
};
export const getNodeInfo = async (req, res) => {
var ipOfSource = req.connection.remoteAddress;
if(!(ipOfSource.includes('127.0.0.1') || ipOfSource.includes('localhost'))){
if (!(ipOfSource.includes('127.0.0.1') || ipOfSource.includes('localhost'))) {
res.status(401)
res.end()
return
@ -111,6 +124,6 @@ export const getNodeInfo = async (req, res) => {
async function asyncForEach(array, callback) {
for (let index = 0; index < array.length; index++) {
await callback(array[index], index, array);
await callback(array[index], index, array);
}
}

1
src/controllers/index.ts

@ -94,6 +94,7 @@ export async function set(app) {
app.get('/getinfo', details.getInfo)
app.get('/logs', details.getLogsSince)
app.get('/info', details.getNodeInfo)
app.get('/route', details.checkRoute)
app.post('/action', actions.processAction)
app.get('/bots', bots.getBots)

17
src/utils/lightning.ts

@ -103,6 +103,22 @@ const getRoute = async (pub_key, amt, callback) => {
)
}
const queryRoute = async (pub_key, amt) => {
return new Promise(async function(resolve, reject) {
let lightning = await loadLightning()
lightning.queryRoutes(
{ pub_key, amt },
(err, response) => {
if(err) {
reject(err)
return
}
resolve(response)
}
)
})
}
const keysend = (opts) => {
return new Promise(async function(resolve, reject) {
let lightning = await loadLightning()
@ -406,4 +422,5 @@ export {
getInfo,
listAllInvoices,
listAllPaymentsFull,
queryRoute,
}

Loading…
Cancel
Save