From de5800b5b3be00cb50341fd4d40f503a599aeb4e Mon Sep 17 00:00:00 2001 From: pbca26 Date: Fri, 19 May 2017 09:59:57 +0300 Subject: [PATCH 01/11] create iguana folders --- routes/shepherd.js | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/routes/shepherd.js b/routes/shepherd.js index 0c125bc..9096e37 100644 --- a/routes/shepherd.js +++ b/routes/shepherd.js @@ -23,7 +23,8 @@ const fixPath = require('fix-path'); var ps = require('ps-node'), setconf = require('../private/setconf.js'), //coincli = require('../private/coincli.js'), - assetChainPorts = require('./ports.js') + assetChainPorts = require('./ports.js'), + md5 = require(), shepherd = express.Router(), iguanaInstanceRegistry = {}, syncOnlyIguanaInstanceInfo = {}, @@ -117,6 +118,22 @@ shepherd.writeLog = function(data) { } } +shepherd.createIguanaDirs = function() { + if (!fs.existsSync(iguanaDir)) { + fs.mkdirSync(iguanaDir); + shepherd.writeLog('creating iguana folder at ' + iguanaDir); + } else { + console.log('iguana folder already exists'); + } + + if (!fs.existsSync(iguanaDir + '/shepherd')) { + fs.mkdirSync(iguanaDir + '/shepherd'); + shepherd.writeLog('creating shepherd folder at ' + iguanaDir + '/shepherd'); + } else { + console.log('shepherd folder already exists'); + } +} + shepherd.get('/coinslist', function(req, res, next) { if (fs.existsSync(iguanaDir + '/shepherd/coinslist.json')) { fs.readFile(iguanaDir + '/shepherd/coinslist.json', 'utf8', function (err, data) { From 023bab4f2c12968bce80e7336248fc006ff12d28 Mon Sep 17 00:00:00 2001 From: pbca26 Date: Fri, 19 May 2017 09:42:09 -0700 Subject: [PATCH 02/11] init folders/files on first run --- main.js | 4 ++- routes/shepherd.js | 90 +++++++++++++++++++++++++--------------------- 2 files changed, 53 insertions(+), 41 deletions(-) diff --git a/main.js b/main.js index b95fcad..3175a01 100644 --- a/main.js +++ b/main.js @@ -41,7 +41,9 @@ if (os.platform() === 'linux') { // GUI APP settings and starting gui on address http://120.0.0.1:17777 var shepherd = require('./routes/shepherd'), - guiapp = express(); + guiapp = express(); + +shepherd.createIguanaDirs(); shepherd.writeLog('app init'); shepherd.writeLog('app info: ' + appBasicInfo.name + ' ' + appBasicInfo.version); diff --git a/routes/shepherd.js b/routes/shepherd.js index 9096e37..0730c38 100644 --- a/routes/shepherd.js +++ b/routes/shepherd.js @@ -24,7 +24,6 @@ var ps = require('ps-node'), setconf = require('../private/setconf.js'), //coincli = require('../private/coincli.js'), assetChainPorts = require('./ports.js'), - md5 = require(), shepherd = express.Router(), iguanaInstanceRegistry = {}, syncOnlyIguanaInstanceInfo = {}, @@ -92,9 +91,9 @@ shepherd.appConfig = { }, "killIguanaOnStart": true, "dev": false, - "v2": false, + "v2": true, "forks": { - "basilisk": false, + "basilisk": true, "all": false } }; @@ -121,14 +120,20 @@ shepherd.writeLog = function(data) { shepherd.createIguanaDirs = function() { if (!fs.existsSync(iguanaDir)) { fs.mkdirSync(iguanaDir); - shepherd.writeLog('creating iguana folder at ' + iguanaDir); + if (fs.existsSync(iguanaDir)) { + console.log('created iguana folder at ' + iguanaDir); + shepherd.writeLog('created iguana folder at ' + iguanaDir); + } } else { console.log('iguana folder already exists'); } if (!fs.existsSync(iguanaDir + '/shepherd')) { fs.mkdirSync(iguanaDir + '/shepherd'); - shepherd.writeLog('creating shepherd folder at ' + iguanaDir + '/shepherd'); + if (fs.existsSync(iguanaDir)) { + console.log('created shepherd folder at ' + iguanaDir + '/shepherd'); + shepherd.writeLog('create shepherd folder at ' + iguanaDir + '/shepherd'); + } } else { console.log('shepherd folder already exists'); } @@ -234,46 +239,51 @@ shepherd.post('/appconf', function(req, res, next) { shepherd.saveLocalAppConf = function(appSettings) { var appConfFileName = iguanaDir + '/config.json'; - var FixFilePermissions = function() { - return new Promise(function(resolve, reject) { - var result = 'config.json file permissions updated to Read/Write'; + _fs.access(iguanaDir, fs.constants.R_OK, function(err) { + if (!err) { - fsnode.chmodSync(appConfFileName, '0666'); + var FixFilePermissions = function() { + return new Promise(function(resolve, reject) { + var result = 'config.json file permissions updated to Read/Write'; - setTimeout(function() { - console.log(result); - shepherd.writeLog(result); - resolve(result); - }, 1000); - }); - } + fsnode.chmodSync(appConfFileName, '0666'); - var FsWrite = function() { - return new Promise(function(resolve, reject) { - var result = 'config.json write file is done' - - fs.writeFile(appConfFileName, - JSON.stringify(appSettings) - .replace(/,/g, ',\n') // format json in human readable form - .replace(/:/g, ': ') - .replace(/{/g, '{\n') - .replace(/}/g, '\n}'), 'utf8', function(err) { - if (err) - return console.log(err); - }); + setTimeout(function() { + console.log(result); + shepherd.writeLog(result); + resolve(result); + }, 1000); + }); + } - fsnode.chmodSync(appConfFileName, '0666'); - setTimeout(function() { - console.log(result); - console.log('app conf.json file is created successfully at: ' + iguanaConfsDir); - shepherd.writeLog('app conf.json file is created successfully at: ' + iguanaConfsDir); - resolve(result); - }, 2000); - }); - } + var FsWrite = function() { + return new Promise(function(resolve, reject) { + var result = 'config.json write file is done' + + fs.writeFile(appConfFileName, + JSON.stringify(appSettings) + .replace(/,/g, ',\n') // format json in human readable form + .replace(/:/g, ': ') + .replace(/{/g, '{\n') + .replace(/}/g, '\n}'), 'utf8', function(err) { + if (err) + return console.log(err); + }); + + fsnode.chmodSync(appConfFileName, '0666'); + setTimeout(function() { + console.log(result); + console.log('app conf.json file is created successfully at: ' + iguanaConfsDir); + shepherd.writeLog('app conf.json file is created successfully at: ' + iguanaConfsDir); + resolve(result); + }, 2000); + }); + } - FsWrite() - .then(FixFilePermissions()); + FsWrite() + .then(FixFilePermissions()); + } + }); } shepherd.loadLocalConfig = function() { From 1dc3db8e6f3b157eab6374d4d2910f2237377398 Mon Sep 17 00:00:00 2001 From: pbca26 Date: Sun, 21 May 2017 12:53:04 +0300 Subject: [PATCH 03/11] commented out komodod stdout c.log --- routes/shepherd.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/routes/shepherd.js b/routes/shepherd.js index 0730c38..0ae6ad4 100644 --- a/routes/shepherd.js +++ b/routes/shepherd.js @@ -1097,8 +1097,8 @@ function herder(flock, data) { exec(komododBin + ' ' + data.ac_options.join(' '), { maxBuffer: 1024 * 10000 // 10 mb }, function(error, stdout, stderr) { - console.log('stdout: ' + stdout); - console.log('stderr: ' + stderr); + // console.log('stdout: ' + stdout); + // console.log('stderr: ' + stderr); shepherd.writeLog('stdout: ' + stdout); shepherd.writeLog('stderr: ' + stderr); From 5a3f2deaab051954e6aaa33e26f22b16a8dc01a4 Mon Sep 17 00:00:00 2001 From: pbca26 Date: Sun, 21 May 2017 12:53:52 +0300 Subject: [PATCH 04/11] 10s timeout limit on basilisk network conn --- gui/loading.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/gui/loading.js b/gui/loading.js index b30fc51..8a178bc 100644 --- a/gui/loading.js +++ b/gui/loading.js @@ -123,6 +123,7 @@ function EDEX_DEXgetinfoAll(skip, minNotaries, appConf) { 'method': 'notarychains' }, tmp_index = 0, + tmp_index_failed = 0, get_dex_notarychains = IguanaAJAX('http://127.0.0.1:' + appConf.iguanaCorePort, ajax_data, 10000).done(function(data) { get_dex_notarychains = JSON.parse(get_dex_notarychains.responseText); if (minNotaries > get_dex_notarychains.length) { // if config value exceeds total num of notaries @@ -143,11 +144,11 @@ function EDEX_DEXgetinfoAll(skip, minNotaries, appConf) { console.log(ajax_data); if (coin_value !== 'MESH' || coin_value !== 'CEAL') { - var getinfo_each_chain = IguanaAJAX('http://127.0.0.1:' + appConf.iguanaCorePort, ajax_data).done(function(data) { + var getinfo_each_chain = IguanaAJAX('http://127.0.0.1:' + appConf.iguanaCorePort, ajax_data, 10000).done(function(data) { getinfo_each_chain = JSON.parse(getinfo_each_chain.responseText); console.log(getinfo_each_chain); - tmp_index = parseInt(coin_index) + 1; + tmp_index++; $('#loading_sub_status_text').text('Connection status... ' + tmp_index + '/' + get_dex_notarychains.length + ': ' + coin_value); if (getinfo_each_chain.error === 'less than required responses') { @@ -156,13 +157,21 @@ function EDEX_DEXgetinfoAll(skip, minNotaries, appConf) { $('#loading_sub_status_output_text').text('Output: Connected'); } - if ( tmp_index == minNotaries ) { + if ( tmp_index + tmp_index_failed === minNotaries ) { console.log('min notaries connected'); window.createWindow('open'); window.hide(); } }) .fail(function(xhr, textStatus, error) { + tmp_index_failed++; + + if ( tmp_index + tmp_index_failed === minNotaries ) { + console.log('min notaries connected'); + window.createWindow('open'); + window.hide(); + } + // handle request failures console.log(xhr.statusText); if ( xhr.readyState == 0 ) { From c30855c8e3ec37471995aa0fd5ec5c727a3dbe11 Mon Sep 17 00:00:00 2001 From: Petr Balashov Date: Mon, 22 May 2017 18:38:22 +0200 Subject: [PATCH 05/11] gui logger wip --- main.js | 8 ++++++-- routes/shepherd.js | 45 +++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 49 insertions(+), 4 deletions(-) diff --git a/main.js b/main.js index 3175a01..1e62e4a 100644 --- a/main.js +++ b/main.js @@ -7,6 +7,7 @@ const electron = require('electron'), path = require('path'), url = require('url'), os = require('os'), + md5 = require('md5'), spawn = require('child_process').spawn, exec = require('child_process').exec, { Menu } = require('electron'), @@ -28,7 +29,7 @@ Promise = require('bluebird'); const appBasicInfo = { name: 'Agama', - version: '0.1.6.2e-beta' + version: '0.1.7.77a-beta' }; app.setName(appBasicInfo.name); @@ -45,7 +46,9 @@ var shepherd = require('./routes/shepherd'), shepherd.createIguanaDirs(); -shepherd.writeLog('app init'); +const appSessionHash = md5(new Date(Date.now()).toLocaleString); + +shepherd.writeLog('app init ' + appSessionHash); shepherd.writeLog('app info: ' + appBasicInfo.name + ' ' + appBasicInfo.version); shepherd.writeLog('sys info:'); shepherd.writeLog('totalmem_readable: ' + formatBytes(os.totalmem())); @@ -170,6 +173,7 @@ io.on('connection', function(client) { shepherd.setIO(io); // pass sockets object to shepherd router shepherd.setVar('appBasicInfo', appBasicInfo); +shepherd.setVar('appSessionHash', appSessionHash); module.exports = guiapp; // END GUI App Settings diff --git a/routes/shepherd.js b/routes/shepherd.js index 0ae6ad4..8d6fb63 100644 --- a/routes/shepherd.js +++ b/routes/shepherd.js @@ -27,7 +27,8 @@ var ps = require('ps-node'), shepherd = express.Router(), iguanaInstanceRegistry = {}, syncOnlyIguanaInstanceInfo = {}, - syncOnlyInstanceInterval = -1; + syncOnlyInstanceInterval = -1, + guiLog = {}; // IGUANA FILES AND CONFIG SETTINGS var iguanaConfsDirSrc = path.join(__dirname, '../assets/deps/confs'), @@ -100,7 +101,7 @@ shepherd.appConfig = { shepherd.writeLog = function(data) { const logLocation = iguanaDir + '/shepherd'; - const timeFormatted = new Date(Date.now()).toLocaleString().replace('AM', '').replace('PM', ''); + const timeFormatted = new Date(Date.now()).toLocaleString('en-US', { hour12: false }); if (fs.existsSync(logLocation + '/agamalog.txt')) { fs.appendFile(logLocation + '/agamalog.txt', timeFormatted + ' ' + data + '\r\n', function (err) { @@ -168,6 +169,44 @@ shepherd.get('/coinslist', function(req, res, next) { } }); +/* + * type: POST + * params: payload + */ +shepherd.post('/guilog', function(req, res, next) { + const logLocation = iguanaDir + '/shepherd'; + + if (!guiLog[shepherd.appSessionHash]) { + guiLog[shepherd.appSessionHash] = {}; + } + + if (guiLog[shepherd.appSessionHash][req.body.timestamp]) { + guiLog[shepherd.appSessionHash][req.body.timestamp].status = req.body.status; + guiLog[shepherd.appSessionHash][req.body.timestamp].response = req.body.response; + } else { + guiLog[shepherd.appSessionHash][req.body.timestamp] = { + 'function': req.body.function, + 'type': req.body.type, + 'url': req.body.url, + 'payload': req.body.payload, + 'status': req.body.status, + }; + } + + fs.writeFile(logLocation + '/agamalog.json', JSON.stringify(guiLog), function (err) { + if (err) { + shepherd.writeLog('error writing gui log file'); + } + + const returnObj = { + 'msg': 'success', + 'result': 'gui log entry is added' + }; + + res.end(JSON.stringify(returnObj)); + }); +}); + shepherd.post('/coinslist', function(req, res, next) { const _payload = req.body.payload; @@ -206,6 +245,7 @@ shepherd.quitKomodod = function(chain) { exec(komodocliBin + (chain ? ' ac_name=' + chain : '') + ' stop', function(error, stdout, stderr) { console.log('stdout: ' + stdout) console.log('stderr: ' + stderr) + if (error !== null) { console.log('exec error: ' + error) } @@ -1587,6 +1627,7 @@ shepherd.appInfo = function() { sysInfo, releaseInfo, dirs, + appSession: shepherd.appSessionHash }; } From f339545a461f9c054964539a4512c6da1aa749f5 Mon Sep 17 00:00:00 2001 From: Petr Balashov Date: Tue, 23 May 2017 16:50:58 +0200 Subject: [PATCH 06/11] gui log get route --- routes/shepherd.js | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/routes/shepherd.js b/routes/shepherd.js index 8d6fb63..9b5fe32 100644 --- a/routes/shepherd.js +++ b/routes/shepherd.js @@ -207,6 +207,37 @@ shepherd.post('/guilog', function(req, res, next) { }); }); +shepherd.get('/getlog', function(req, res, next) { + const logExt = req.query.type === 'txt' ? 'txt' : 'json'; + + if (fs.existsSync(iguanaDir + '/shepherd/agamalog.' + logExt)) { + fs.readFile(iguanaDir + '/shepherd/agamalog.' + logExt, 'utf8', function (err, data) { + if (err) { + const errorObj = { + 'msg': 'error', + 'result': err + }; + + res.end(JSON.stringify(errorObj)); + } else { + const successObj = { + 'msg': 'success', + 'result': data ? JSON.parse(data) : '' + }; + + res.end(JSON.stringify(successObj)); + } + }); + } else { + const errorObj = { + 'msg': 'error', + 'result': 'agama.' + logExt + ' doesn\'t exist' + }; + + res.end(JSON.stringify(errorObj)); + } +}); + shepherd.post('/coinslist', function(req, res, next) { const _payload = req.body.payload; From 06dae11a168f62659effaacd67ba2c8d36fbe0e2 Mon Sep 17 00:00:00 2001 From: pbca26 Date: Wed, 24 May 2017 21:42:27 +0300 Subject: [PATCH 07/11] renamed app port var --- main.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/main.js b/main.js index 1e62e4a..be21642 100644 --- a/main.js +++ b/main.js @@ -148,12 +148,12 @@ guiapp.use('/shepherd', shepherd); var server = require('http').createServer(guiapp), io = require('socket.io').listen(server); -server.listen(appConfig.iguanaAppPort, function() { - console.log('guiapp and sockets.io are listening on port ' + appConfig.iguanaAppPort + '!'); - shepherd.writeLog('guiapp and sockets.io are listening on port ' + appConfig.iguanaAppPort + '!'); +server.listen(appConfig.agamaPort, function() { + console.log('guiapp and sockets.io are listening on port ' + appConfig.agamaPort + '!'); + shepherd.writeLog('guiapp and sockets.io are listening on port ' + appConfig.agamaPort + '!'); }); -io.set('origins', appConfig.dev ? 'http://127.0.0.1:3000' : 'http://127.0.0.1:' + appConfig.iguanaAppPort); // set origin +io.set('origins', appConfig.dev ? 'http://127.0.0.1:3000' : 'http://127.0.0.1:' + appConfig.agamaPort); // set origin io.on('connection', function(client) { console.log('EDEX GUI is connected...'); @@ -252,7 +252,7 @@ function createLoadingWindow() { loadingWindow.createWindow = createWindow; // expose createWindow to front-end scripts // load our index.html (i.e. easyDEX GUI) - loadingWindow.loadURL('http://' + appConfig.host + ':' + appConfig.iguanaAppPort + '/gui/'); + loadingWindow.loadURL('http://' + appConfig.host + ':' + appConfig.agamaPort + '/gui/'); shepherd.writeLog('show loading window'); // DEVTOOLS - only for dev purposes - ca333 @@ -366,13 +366,14 @@ function createWindow (status) { if (appConfig.v2) { shepherd.writeLog('show edex gui'); mainWindow.loadURL('http://127.0.0.1:3000'); - //mainWindow.loadURL('http://' + appConfig.host + ':' + appConfig.iguanaAppPort + '/gui/EasyDEX-GUI/react/build'); + mainWindow.appConfig = appConfig; + //mainWindow.loadURL('http://' + appConfig.host + ':' + appConfig.agamaPort + '/gui/EasyDEX-GUI/react/build'); } else { shepherd.writeLog('show edex gui'); - mainWindow.loadURL('http://' + appConfig.host + ':' + appConfig.iguanaAppPort + '/gui/EasyDEX-GUI/'); + mainWindow.loadURL('http://' + appConfig.host + ':' + appConfig.agamaPort + '/gui/EasyDEX-GUI/'); } } else { - mainWindow.loadURL('http://' + appConfig.host + ':' + appConfig.iguanaAppPort + '/gui/main.html'); + mainWindow.loadURL('http://' + appConfig.host + ':' + appConfig.agamaPort + '/gui/main.html'); } mainWindow.webContents.on('context-menu', (e, params) => { //context-menu returns params From d40ba3e88468fb645bded6ff9f3f0e50655aac53 Mon Sep 17 00:00:00 2001 From: pbca26 Date: Wed, 24 May 2017 21:44:50 +0300 Subject: [PATCH 08/11] default to skip basilisk notaries conn --- routes/shepherd.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/routes/shepherd.js b/routes/shepherd.js index 9b5fe32..8960895 100644 --- a/routes/shepherd.js +++ b/routes/shepherd.js @@ -81,10 +81,10 @@ shepherd.appConfig = { "edexGuiOnly": true, "iguanaGuiOnly": false, "manualIguanaStart": false, - "skipBasiliskNetworkCheck": false, + "skipBasiliskNetworkCheck": true, "minNotaries": 8, "host": "127.0.0.1", - "iguanaAppPort": 17777, + "agamaPort": 17777, "iguanaCorePort": 7778, "maxDescriptors": { "darwin": 90000, @@ -276,7 +276,7 @@ shepherd.quitKomodod = function(chain) { exec(komodocliBin + (chain ? ' ac_name=' + chain : '') + ' stop', function(error, stdout, stderr) { console.log('stdout: ' + stdout) console.log('stderr: ' + stderr) - + if (error !== null) { console.log('exec error: ' + error) } From 953d7c77e6c62a1a7d02d69f96a14a7ed6adf8f2 Mon Sep 17 00:00:00 2001 From: pbca26 Date: Thu, 25 May 2017 12:35:51 +0300 Subject: [PATCH 09/11] custom port basilisk config fix --- routes/shepherd.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/routes/shepherd.js b/routes/shepherd.js index 8960895..8ba6ded 100644 --- a/routes/shepherd.js +++ b/routes/shepherd.js @@ -93,10 +93,7 @@ shepherd.appConfig = { "killIguanaOnStart": true, "dev": false, "v2": true, - "forks": { - "basilisk": true, - "all": false - } + "useBasiliskInstance": true }; shepherd.writeLog = function(data) { From 8fe12d0433cd8c3c7d004abf1ac9cf985a0f780c Mon Sep 17 00:00:00 2001 From: pbca26 Date: Thu, 25 May 2017 12:38:56 +0300 Subject: [PATCH 10/11] custom port basilisk config fix #2 --- gui/init.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gui/init.js b/gui/init.js index 7008fa7..265e389 100644 --- a/gui/init.js +++ b/gui/init.js @@ -26,7 +26,7 @@ $(document).ready(function() { if (result !== 'error') { stopcheck(); - if (appConf && appConf.forks && appConf.forks.basilisk) { + if (appConf && appConf.useBasiliskInstance) { StartIguana_Cache(); } From 3353548f098cd20db3e4898d297032ec8c3ed002 Mon Sep 17 00:00:00 2001 From: pbca26 Date: Thu, 25 May 2017 17:03:58 +0300 Subject: [PATCH 11/11] removed refresh timeout param; userpass window var --- main.js | 1 + routes/cache.js | 2 +- routes/shepherd.js | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/main.js b/main.js index be21642..0a4f60d 100644 --- a/main.js +++ b/main.js @@ -367,6 +367,7 @@ function createWindow (status) { shepherd.writeLog('show edex gui'); mainWindow.loadURL('http://127.0.0.1:3000'); mainWindow.appConfig = appConfig; + mainWindow.appSessionHash = appSessionHash; //mainWindow.loadURL('http://' + appConfig.host + ':' + appConfig.agamaPort + '/gui/EasyDEX-GUI/react/build'); } else { shepherd.writeLog('show edex gui'); diff --git a/routes/cache.js b/routes/cache.js index 406414c..bcc37cb 100644 --- a/routes/cache.js +++ b/routes/cache.js @@ -429,7 +429,7 @@ cache.one = function(req, res, next) { 'listunspent': 'http://' + cache.appConfig.host + ':' + iguanaCorePort + '/api/dex/listunspent?userpass=' + sessionKey + '&symbol=' + coin + '&address=' + address, 'listtransactions': 'http://' + cache.appConfig.host + ':' + iguanaCorePort + '/api/dex/listtransactions?userpass=' + sessionKey + '&count=100&skip=0&symbol=' + coin + '&address=' + address, 'getbalance': 'http://' + cache.appConfig.host + ':' + iguanaCorePort + '/api/dex/getbalance?userpass=' + sessionKey + '&symbol=' + coin + '&address=' + address, - 'refresh': 'http://' + cache.appConfig.host + ':' + iguanaCorePort + '/api/basilisk/refresh?userpass=' + sessionKey + '&timeout=600000&symbol=' + coin + '&address=' + address + 'refresh': 'http://' + cache.appConfig.host + ':' + iguanaCorePort + '/api/basilisk/refresh?userpass=' + sessionKey + '&symbol=' + coin + '&address=' + address }, _dexUrls = {}; diff --git a/routes/shepherd.js b/routes/shepherd.js index 8ba6ded..c3ec409 100644 --- a/routes/shepherd.js +++ b/routes/shepherd.js @@ -93,7 +93,8 @@ shepherd.appConfig = { "killIguanaOnStart": true, "dev": false, "v2": true, - "useBasiliskInstance": true + "useBasiliskInstance": true, + "debug": true, }; shepherd.writeLog = function(data) {