Release 0.10.1 (#605)
Dahboard layout fix #576 Boltz integration (#590) Merged verify token and password authentication Channel mobile view update ECL Adding inactive channels force close Flag Dust UTXOs Bug fix for forwarding history browser crash #596 Label and Lease UTXOs UI Table Fixes App settings (#604) Settings updates UTXO lease confirmation box Login and Settings page without add new nodepull/609/head v0.10.1
parent
d040ab891c
commit
f817ae39bc
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
!function(e){function r(r){for(var n,a,i=r[0],c=r[1],f=r[2],p=0,s=[];p<i.length;p++)a=i[p],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&s.push(o[a][0]),o[a]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(l&&l(r);s.length;)s.shift()();return u.push.apply(u,f||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++)0!==o[t[i]]&&(n=!1);n&&(u.splice(r--,1),e=a(a.s=t[0]))}return e}var n={},o={0:0},u=[];function a(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,a),t.l=!0,t.exports}a.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise(function(r,n){t=o[e]=[r,n]});r.push(t[2]=n);var u,i=document.createElement("script");i.charset="utf-8",i.timeout=120,a.nc&&i.setAttribute("nonce",a.nc),i.src=function(e){return a.p+""+({}[e]||e)+"."+{1:"d3191dc862bb96ad8a12",5:"3593974ed7a18cef9807",6:"a0ce69bc4fc32a59e836",7:"2a4fb50bff6654155ed9"}[e]+".js"}(e);var c=new Error;u=function(r){i.onerror=i.onload=null,clearTimeout(f);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),u=r&&r.target&&r.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+u+")",c.name="ChunkLoadError",c.type=n,c.request=u,t[1](c)}o[e]=void 0}};var f=setTimeout(function(){u({type:"timeout",target:i})},12e4);i.onerror=i.onload=u,document.head.appendChild(i)}return Promise.all(r)},a.m=e,a.c=n,a.d=function(e,r,t){a.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,r){if(1&r&&(e=a(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(a.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)a.d(t,n,(function(r){return e[r]}).bind(null,n));return t},a.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(r,"a",r),r},a.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},a.p="",a.oe=function(e){throw console.error(e),e};var i=window.webpackJsonp=window.webpackJsonp||[],c=i.push.bind(i);i.push=r,i=i.slice();for(var f=0;f<i.length;f++)r(i[f]);var l=c;t()}([]);
|
@ -0,0 +1 @@
|
||||
!function(e){function r(r){for(var n,a,c=r[0],i=r[1],f=r[2],p=0,s=[];p<c.length;p++)a=c[p],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&s.push(o[a][0]),o[a]=0;for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);for(l&&l(r);s.length;)s.shift()();return u.push.apply(u,f||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,c=1;c<t.length;c++)0!==o[t[c]]&&(n=!1);n&&(u.splice(r--,1),e=a(a.s=t[0]))}return e}var n={},o={0:0},u=[];function a(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,a),t.l=!0,t.exports}a.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise(function(r,n){t=o[e]=[r,n]});r.push(t[2]=n);var u,c=document.createElement("script");c.charset="utf-8",c.timeout=120,a.nc&&c.setAttribute("nonce",a.nc),c.src=function(e){return a.p+""+({}[e]||e)+"."+{1:"731a8de203edc88f38d8",5:"3cc9f14aefc4012c6f28",6:"d59c34ac7722c1fea6aa",7:"3f5e1768ebd105934cfb"}[e]+".js"}(e);var i=new Error;u=function(r){c.onerror=c.onload=null,clearTimeout(f);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),u=r&&r.target&&r.target.src;i.message="Loading chunk "+e+" failed.\n("+n+": "+u+")",i.name="ChunkLoadError",i.type=n,i.request=u,t[1](i)}o[e]=void 0}};var f=setTimeout(function(){u({type:"timeout",target:c})},12e4);c.onerror=c.onload=u,document.head.appendChild(c)}return Promise.all(r)},a.m=e,a.c=n,a.d=function(e,r,t){a.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,r){if(1&r&&(e=a(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(a.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)a.d(t,n,(function(r){return e[r]}).bind(null,n));return t},a.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(r,"a",r),r},a.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},a.p="",a.oe=function(e){throw console.error(e),e};var c=window.webpackJsonp=window.webpackJsonp||[],i=c.push.bind(c);c.push=r,c=c.slice();for(var f=0;f<c.length;f++)r(c[f]);var l=i;t()}([]);
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,239 @@
|
||||
var request = require('request-promise');
|
||||
var common = require('../../common');
|
||||
var logger = require('../shared/logger');
|
||||
var options = {};
|
||||
|
||||
exports.getInfo = (req, res, next) => {
|
||||
options = common.getBoltzServerOptions();
|
||||
if(options.url === '') { return res.status(500).json({message: "Boltz Get Info Failed!",error: { message: 'Boltz Server URL is missing in the configuration.'}}); }
|
||||
options.url = options.url + '/v1/info';
|
||||
request(options).then(function (body) {
|
||||
logger.info({fileName: 'Boltz', msg: 'Boltz Get Info: ' + JSON.stringify(body)});
|
||||
res.status(200).json(body);
|
||||
})
|
||||
.catch(errRes => {
|
||||
let err = JSON.parse(JSON.stringify(errRes));
|
||||
if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) {
|
||||
delete err.options.headers['Grpc-Metadata-macaroon'];
|
||||
}
|
||||
if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) {
|
||||
delete err.response.request.headers['Grpc-Metadata-macaroon'];
|
||||
}
|
||||
logger.error({fileName: 'Boltz', lineNum: 22, msg: 'Boltz Get Info Error: ' + JSON.stringify(err)});
|
||||
return res.status(500).json({
|
||||
message: "Boltz Get Info Failed!",
|
||||
error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
exports.getServiceInfo = (req, res, next) => {
|
||||
options = common.getBoltzServerOptions();
|
||||
if(options.url === '') { return res.status(500).json({message: "Boltz Get Service Info Failed!",error: { message: 'Boltz Server URL is missing in the configuration.'}}); }
|
||||
options.url = options.url + '/v1/serviceinfo';
|
||||
request(options).then(function (body) {
|
||||
logger.info({fileName: 'Boltz', msg: 'Boltz Get Service Info: ' + JSON.stringify(body)});
|
||||
res.status(200).json(body);
|
||||
})
|
||||
.catch(errRes => {
|
||||
let err = JSON.parse(JSON.stringify(errRes));
|
||||
if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) {
|
||||
delete err.options.headers['Grpc-Metadata-macaroon'];
|
||||
}
|
||||
if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) {
|
||||
delete err.response.request.headers['Grpc-Metadata-macaroon'];
|
||||
}
|
||||
logger.error({fileName: 'Boltz', lineNum: 46, msg: 'Boltz Get Service Info Error: ' + JSON.stringify(err)});
|
||||
return res.status(500).json({
|
||||
message: "Boltz Get Service Info Failed!",
|
||||
error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
exports.listSwaps = (req, res, next) => {
|
||||
options = common.getBoltzServerOptions();
|
||||
if(options.url === '') { return res.status(500).json({message: "Boltz List Swaps Failed!",error: { message: 'Boltz Server URL is missing in the configuration.'}}); }
|
||||
options.url = options.url + '/v1/listswaps';
|
||||
request(options).then(function (body) {
|
||||
logger.info({fileName: 'Boltz', msg: 'Boltz List Swaps Info: ' + JSON.stringify(body)});
|
||||
if (body && body.swaps && body.swaps.length && body.swaps.length > 0) { body.swaps = body.swaps.reverse(); }
|
||||
if (body && body.reverseSwaps && body.reverseSwaps.length && body.reverseSwaps.length > 0) { body.reverseSwaps = body.reverseSwaps.reverse(); }
|
||||
res.status(200).json(body);
|
||||
})
|
||||
.catch(errRes => {
|
||||
let err = JSON.parse(JSON.stringify(errRes));
|
||||
if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) {
|
||||
delete err.options.headers['Grpc-Metadata-macaroon'];
|
||||
}
|
||||
if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) {
|
||||
delete err.response.request.headers['Grpc-Metadata-macaroon'];
|
||||
}
|
||||
logger.error({fileName: 'Boltz', lineNum: 70, msg: 'Boltz List Swaps Error: ' + JSON.stringify(err)});
|
||||
return res.status(500).json({
|
||||
message: "Boltz List Swaps Failed!",
|
||||
error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
exports.getSwapInfo = (req, res, next) => {
|
||||
options = common.getBoltzServerOptions();
|
||||
if(options.url === '') { return res.status(500).json({message: "Boltz Swap Info Failed!",error: { message: 'Boltz Server URL is missing in the configuration.'}}); }
|
||||
options.url = options.url + '/v1/swap/' + req.params.swapId;
|
||||
request(options).then(function (body) {
|
||||
logger.info({fileName: 'Boltz', msg: 'Boltz Swap Info: ' + JSON.stringify(body)});
|
||||
res.status(200).json(body);
|
||||
})
|
||||
.catch(errRes => {
|
||||
let err = JSON.parse(JSON.stringify(errRes));
|
||||
if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) {
|
||||
delete err.options.headers['Grpc-Metadata-macaroon'];
|
||||
}
|
||||
if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) {
|
||||
delete err.response.request.headers['Grpc-Metadata-macaroon'];
|
||||
}
|
||||
logger.error({fileName: 'Boltz', lineNum: 94, msg: 'Boltz Swap Info Error: ' + JSON.stringify(err)});
|
||||
return res.status(500).json({
|
||||
message: "Boltz Swap Info Failed!",
|
||||
error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
exports.createSwap = (req, res, next) => {
|
||||
options = common.getBoltzServerOptions();
|
||||
if(options.url === '') { return res.status(500).json({message: "Create Swap Failed!",error: { message: 'Boltz Server URL is missing in the configuration.'}}); }
|
||||
options.url = options.url + '/v1/createswap';
|
||||
options.body = { amount: req.body.amount };
|
||||
if (req.body.address !== '') { options.body.address = req.body.address; }
|
||||
logger.info({fileName: 'Boltz', msg: 'Create Swap Body: ' + JSON.stringify(options.body)});
|
||||
request.post(options).then(createSwapRes => {
|
||||
logger.info({fileName: 'Boltz', msg: 'Create Swap Response: ' + JSON.stringify(createSwapRes)});
|
||||
if(!createSwapRes || createSwapRes.error) {
|
||||
logger.error({fileName: 'Boltz', lineNum: 112, msg: 'Create Swap Error: ' + JSON.stringify(createSwapRes.error)});
|
||||
res.status(500).json({
|
||||
message: 'Create Swap Failed!',
|
||||
error: (!createSwapRes) ? 'Error From Server!' : createSwapRes.error.message
|
||||
});
|
||||
} else {
|
||||
res.status(201).json(createSwapRes);
|
||||
}
|
||||
})
|
||||
.catch(errRes => {
|
||||
let err = JSON.parse(JSON.stringify(errRes));
|
||||
if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) {
|
||||
delete err.options.headers['Grpc-Metadata-macaroon'];
|
||||
}
|
||||
if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) {
|
||||
delete err.response.request.headers['Grpc-Metadata-macaroon'];
|
||||
}
|
||||
logger.error({fileName: 'Boltz', lineNum: 129, msg: 'Create Swap Error: ' + JSON.stringify(err)});
|
||||
return res.status(500).json({
|
||||
message: "Create Swap Failed!",
|
||||
error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
exports.createReverseSwap = (req, res, next) => {
|
||||
options = common.getBoltzServerOptions();
|
||||
if(options.url === '') { return res.status(500).json({message: "Create Reverse Swap Failed!",error: { message: 'Boltz Server URL is missing in the configuration.'}}); }
|
||||
options.url = options.url + '/v1/createreverseswap';
|
||||
options.body = { amount: req.body.amount };
|
||||
if (req.body.address !== '') { options.body.address = req.body.address; }
|
||||
logger.info({fileName: 'Boltz', msg: 'Create Reverse Swap Body: ' + JSON.stringify(options.body)});
|
||||
request.post(options).then(createReverseSwapRes => {
|
||||
logger.info({fileName: 'Boltz', msg: 'Create Reverse Swap Response: ' + JSON.stringify(createReverseSwapRes)});
|
||||
if(!createReverseSwapRes || createReverseSwapRes.error) {
|
||||
logger.error({fileName: 'Boltz', lineNum: 147, msg: 'Create Reverse Swap Error: ' + JSON.stringify(createReverseSwapRes.error)});
|
||||
res.status(500).json({
|
||||
message: 'Create Reverse Swap Failed!',
|
||||
error: (!createReverseSwapRes) ? 'Error From Server!' : createReverseSwapRes.error.message
|
||||
});
|
||||
} else {
|
||||
res.status(201).json(createReverseSwapRes);
|
||||
}
|
||||
})
|
||||
.catch(errRes => {
|
||||
let err = JSON.parse(JSON.stringify(errRes));
|
||||
if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) {
|
||||
delete err.options.headers['Grpc-Metadata-macaroon'];
|
||||
}
|
||||
if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) {
|
||||
delete err.response.request.headers['Grpc-Metadata-macaroon'];
|
||||
}
|
||||
logger.error({fileName: 'Boltz', lineNum: 164, msg: 'Create Reverse Swap Error: ' + JSON.stringify(err)});
|
||||
return res.status(500).json({
|
||||
message: "Create Reverse Swap Failed!",
|
||||
error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
exports.createChannel = (req, res, next) => {
|
||||
options = common.getBoltzServerOptions();
|
||||
if(options.url === '') { return res.status(500).json({message: "Create Channel Failed!",error: { message: 'Boltz Server URL is missing in the configuration.'}}); }
|
||||
options.url = options.url + '/v1/createchannel';
|
||||
options.body = { amount: req.body.amount };
|
||||
if (req.body.address !== '') { options.body.address = req.body.address; }
|
||||
logger.info({fileName: 'Boltz', msg: 'Create Channel Body: ' + JSON.stringify(options.body)});
|
||||
request.post(options).then(createChannelRes => {
|
||||
logger.info({fileName: 'Boltz', msg: 'Create Channel Response: ' + JSON.stringify(createChannelRes)});
|
||||
if(!createChannelRes || createChannelRes.error) {
|
||||
logger.error({fileName: 'Boltz', lineNum: 182, msg: 'Create Channel Error: ' + JSON.stringify(createChannelRes.error)});
|
||||
res.status(500).json({
|
||||
message: 'Create Channel Failed!',
|
||||
error: (!createChannelRes) ? 'Error From Server!' : createChannelRes.error.message
|
||||
});
|
||||
} else {
|
||||
res.status(201).json(createChannelRes);
|
||||
}
|
||||
})
|
||||
.catch(errRes => {
|
||||
let err = JSON.parse(JSON.stringify(errRes));
|
||||
if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) {
|
||||
delete err.options.headers['Grpc-Metadata-macaroon'];
|
||||
}
|
||||
if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) {
|
||||
delete err.response.request.headers['Grpc-Metadata-macaroon'];
|
||||
}
|
||||
logger.error({fileName: 'Boltz', lineNum: 199, msg: 'Create Channel Error: ' + JSON.stringify(err)});
|
||||
return res.status(500).json({
|
||||
message: "Create Channel Failed!",
|
||||
error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
exports.deposit = (req, res, next) => {
|
||||
options = common.getBoltzServerOptions();
|
||||
if(options.url === '') { return res.status(500).json({message: "Deposit Failed!",error: { message: 'Boltz Server URL is missing in the configuration.'}}); }
|
||||
options.url = options.url + '/v1/deposit';
|
||||
request.post(options).then(depositRes => {
|
||||
logger.info({fileName: 'Boltz', msg: 'Deposit Response: ' + JSON.stringify(depositRes)});
|
||||
if(!depositRes || depositRes.error) {
|
||||
logger.error({fileName: 'Boltz', lineNum: 214, msg: 'Deposit Error: ' + JSON.stringify(depositRes.error)});
|
||||
res.status(500).json({
|
||||
message: 'Deposit Failed!',
|
||||
error: (!depositRes) ? 'Error From Server!' : depositRes.error.message
|
||||
});
|
||||
} else {
|
||||
res.status(201).json(depositRes);
|
||||
}
|
||||
})
|
||||
.catch(errRes => {
|
||||
let err = JSON.parse(JSON.stringify(errRes));
|
||||
if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) {
|
||||
delete err.options.headers['Grpc-Metadata-macaroon'];
|
||||
}
|
||||
if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) {
|
||||
delete err.response.request.headers['Grpc-Metadata-macaroon'];
|
||||
}
|
||||
logger.error({fileName: 'Boltz', lineNum: 231, msg: 'Deposit Error: ' + JSON.stringify(err)});
|
||||
return res.status(500).json({
|
||||
message: "Deposit Failed!",
|
||||
error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err
|
||||
});
|
||||
});
|
||||
};
|
@ -1,5 +1,5 @@
|
||||
var fs = require('fs');
|
||||
var common = require('../common');
|
||||
var common = require('../../common');
|
||||
|
||||
exports.info = (msgJSON, selNode = common.selectedNode) => {
|
||||
const msgStr = '\r\nINFO: ' + msgJSON.fileName + ' => ' + msgJSON.msg;
|
@ -1,6 +1,6 @@
|
||||
var request = require('request-promise');
|
||||
var common = require('../../common');
|
||||
var logger = require('../logger');
|
||||
var logger = require('./logger');
|
||||
var options = {};
|
||||
|
||||
exports.loopOut = (req, res, next) => {
|
@ -1,10 +1,10 @@
|
||||
const OnChainController = require("../../controllers/c-lightning/onchain");
|
||||
const express = require("express");
|
||||
const router = express.Router();
|
||||
const authCheck = require("../authCheck");
|
||||
const authCheck = require("../shared/authCheck");
|
||||
|
||||
router.get("/", authCheck, OnChainController.getNewAddress);
|
||||
router.post("/", authCheck, OnChainController.onChainWithdraw);
|
||||
router.get("/transactions/", authCheck, OnChainController.getTransactions);
|
||||
router.get("/utxos/", authCheck, OnChainController.getUTXOs);
|
||||
|
||||
module.exports = router;
|
||||
|
@ -1,12 +1,15 @@
|
||||
const WalletController = require("../../controllers/lnd/wallet");
|
||||
const express = require("express");
|
||||
const router = express.Router();
|
||||
const authCheck = require("../authCheck");
|
||||
const authCheck = require("../shared/authCheck");
|
||||
|
||||
router.get("/genseed/:passphrase?", authCheck, WalletController.genSeed);
|
||||
router.get("/updateSelNodeOptions", authCheck, WalletController.updateSelNodeOptions);
|
||||
router.get("/getUTXOs", authCheck, WalletController.getUTXOs);
|
||||
router.post("/wallet/:operation", authCheck, WalletController.operateWallet);
|
||||
router.post("/bumpfee", authCheck, WalletController.bumpFee);
|
||||
router.post("/label", authCheck, WalletController.labelTransaction);
|
||||
router.post("/lease", authCheck, WalletController.leaseUTXO);
|
||||
router.post("/release", authCheck, WalletController.releaseUTXO);
|
||||
|
||||
module.exports = router;
|
||||
|
@ -1,5 +1,5 @@
|
||||
const jwt = require("jsonwebtoken");
|
||||
var common = require('../common');
|
||||
var common = require('../../common');
|
||||
|
||||
module.exports = (req, res, next) => {
|
||||
try {
|
@ -1,4 +1,4 @@
|
||||
const AuthenticateController = require("../controllers/authenticate");
|
||||
const AuthenticateController = require("../../controllers/shared/authenticate");
|
||||
const express = require("express");
|
||||
const router = express.Router();
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue