From 4fdb2374628bf06f224f72e14f8781c1be8aaf4a Mon Sep 17 00:00:00 2001 From: Alexander Blair Date: Sat, 25 Feb 2017 11:52:17 -0800 Subject: [PATCH] Adding valid/Invalid shares to workers and identifiers Fixes #26 --- lib/api.js | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/lib/api.js b/lib/api.js index 362a7d4..b756c12 100644 --- a/lib/api.js +++ b/lib/api.js @@ -343,7 +343,9 @@ app.get('/miner/:address/stats/:identifier', function (req, res) { lts: Math.floor(cachedData.lastHash / 1000), identifer: identifier, hash: cachedData.hash, - totalHash: cachedData.totalHashes + totalHash: cachedData.totalHashes, + validShares: Number(cachedData.goodShares), + invalidShares: Number(cachedData.badShares) }); }); @@ -374,6 +376,7 @@ app.get('/miner/:address/stats', function (req, res) { let address_parts = req.params.address.split('.'); let address_pt = address_parts[0]; let payment_id = address_parts[1]; + let cachedData = global.database.getCache(address); let paidQuery = "SELECT SUM(amount) as amt FROM payments WHERE payment_address = ? AND payment_id = ?"; let txnCount = "SELECT count(id) as amt FROM payments WHERE payment_address = ? AND payment_id = ?"; let unpaidQuery = "SELECT SUM(amount) as amt FROM balance WHERE payment_address = ? AND payment_id = ?"; @@ -385,17 +388,8 @@ app.get('/miner/:address/stats', function (req, res) { async.waterfall([ function (callback) { debug(threadName + "Checking Influx for last 10min avg for /miner/address/stats"); - return callback(null, {hash: global.database.getCache(address).hash, identifier: 'global'}); - }, - function (returnData, callback) { - // TODO: Fixme once we have total hash counts... - returnData.totalHashes = global.database.getCache(address).totalHashes; - return callback(null, returnData); - }, - function (returnData, callback) { - debug(threadName + "Checking Influx for last share for /miner/address/stats"); - returnData.lastHash = Math.floor(global.database.getCache(address).lastHash / 1000); - return callback(null, returnData); + return callback(null, {hash: cachedData.hash, identifier: 'global', lastHash: Math.floor(cachedData.lastHash / 1000), + totalHashes: cachedData.totalHashes, validShares: Number(cachedData.goodShares), invalidShares: Number(cachedData.badShares)}); }, function (returnData, callback) { debug(threadName + "Checking MySQL total amount paid for /miner/address/stats");