diff --git a/src/app.js b/src/app.js index d1ff2f6..b3dfa1d 100644 --- a/src/app.js +++ b/src/app.js @@ -130,6 +130,9 @@ module.exports = function App(secret, DB) { set: (fn) => Request.collectAndCall = fn }); + //Refresh data (from blockchain) + self.refreshData = (nodeList) => Request.refreshData(nodeList); + //Start (or) Stop servers self.start = (port) => new Promise(resolve => { server = app.listen(port, () => { diff --git a/src/backup/head.js b/src/backup/head.js index 374c10c..e191284 100644 --- a/src/backup/head.js +++ b/src/backup/head.js @@ -373,6 +373,9 @@ module.exports = { nodeKBucket = new K_Bucket(floGlobals.adminID, Object.keys(nodeURL)); nodeList = nodeKBucket.order; }, + get nodeList() { + return nodeList; + }, set assetList(assets) { tokenList = assets.filter(a => a.toUpperCase() !== "FLO"); }, diff --git a/src/main.js b/src/main.js index 6440c21..e94d475 100644 --- a/src/main.js +++ b/src/main.js @@ -20,9 +20,10 @@ var DB, app; function refreshData(startup = false) { return new Promise((resolve, reject) => { refreshDataFromBlockchain().then(result => { - loadDataFromDB(result, startup) - .then(_ => resolve("Data refresh successful")) - .catch(error => reject(error)) + loadDataFromDB(result, startup).then(_ => { + app.refreshData(backup.nodeList); + resolve("Data refresh successful") + }).catch(error => reject(error)) }).catch(error => reject(error)) }) } @@ -87,7 +88,7 @@ function refreshDataFromBlockchain() { Promise.allSettled(promises).then(results => { //console.debug(results.filter(r => r.status === "rejected")); if (results.reduce((a, r) => r.status === "rejected" ? ++a : a, 0)) - console.warn("Some data might not have been saved in database correctly"); + console.warn("Some blockchain data might not have been saved in database correctly"); resolve({ nodes: nodes_change, assets: assets_change, @@ -114,7 +115,7 @@ function loadDataFromDB(changes, startup) { }) } -loadDataFromDB.nodeList = function() { +loadDataFromDB.nodeList = function () { return new Promise((resolve, reject) => { DB.query("SELECT floID, uri FROM NodeList").then(result => { let nodes = {} @@ -127,7 +128,7 @@ loadDataFromDB.nodeList = function() { }) } -loadDataFromDB.assetList = function() { +loadDataFromDB.assetList = function () { return new Promise((resolve, reject) => { DB.query("SELECT asset FROM AssetList").then(result => { let assets = []; @@ -141,7 +142,7 @@ loadDataFromDB.assetList = function() { }) } -loadDataFromDB.trustedIDs = function() { +loadDataFromDB.trustedIDs = function () { return new Promise((resolve, reject) => { DB.query("SELECT * FROM TrustedList").then(result => { let trustedIDs = []; diff --git a/src/request.js b/src/request.js index c6216a0..d4719cf 100644 --- a/src/request.js +++ b/src/request.js @@ -2,7 +2,7 @@ const market = require("./market"); const conversion = require('./services/conversion'); -const blokchain_bonds = require("./services/bonds"); +const blockchain_bonds = require("./services/bonds"); const bobs_fund = require("./services/bobs-fund"); const { @@ -333,7 +333,7 @@ function CloseBlockchainBond(req, res) { type: "close_blockchain_bond", bond_id: data.bond_id, timestamp: data.timestamp - }, () => blokchain_bonds.closeBond(data.bond_id, data.floID, `${data.timestamp}.${data.sign}`)); + }, () => blockchain_bonds.closeBond(data.bond_id, data.floID, `${data.timestamp}.${data.sign}`)); } function CloseBobsFund(req, res) { @@ -560,12 +560,17 @@ module.exports = { set DB(db) { DB = db; market.DB = db; - conversion.DB; - blokchain_bonds.DB; + conversion.DB = db; + blockchain_bonds.DB = db; + bobs_fund.DB = db; }, set secret(s) { secret = s; }, + refreshData(nodeList) { + blockchain_bonds.refresh(nodeList); + bobs_fund.refresh(nodeList) + }, pause() { serving = false; market.periodicProcess.stop();