Merge pull request #141 from hellcatz/patch-8

Resolve Issue #140
This commit is contained in:
Procrastinator 2017-05-13 20:22:54 -04:00 committed by GitHub
commit f1a9c80feb
2 changed files with 30 additions and 25 deletions

View File

@ -43,8 +43,6 @@ module.exports = function(logger, portalConfig, poolConfigs){
// get current round share total
portalStats.getTotalSharesByAddress(address, function(shares) {
var totalHash = parseFloat(0.0);
var totalHeld = parseFloat(0.0);
var totalPaid = parseFloat(0.0);
var totalShares = shares;
var networkSols = 0;
for (var h in portalStats.statHistory) {
@ -69,8 +67,8 @@ module.exports = function(logger, portalConfig, poolConfigs){
workers[w] = portalStats.stats.pools[pool].workers[w];
for (var b in balances.balances) {
if (w == balances.balances[b].worker) {
workers[w].paid = balances.balances[b].paid;
workers[w].balance = balances.balances[b].balance;
workers[w].paid = balances.balances[b].paid;
workers[w].balance = balances.balances[b].balance;
}
}
workers[w].balance = (workers[w].balance || 0);

View File

@ -240,38 +240,45 @@ module.exports = function(logger, portalConfig, poolConfigs){
async.each(_this.stats.pools, function(pool, pcb) {
var coin = String(_this.stats.pools[pool.name].name);
// get all balances from address
client.hscan(coin + ':balances', 0, "match", a+"*", function(error, bals) {
client.hscan(coin + ':balances', 0, "match", a+"*", "count", 1000, function(error, bals) {
// get all payouts from address
client.hscan(coin + ':payouts', 0, "match", a+"*", function(error, pays) {
var addressFound = false;
client.hscan(coin + ':payouts', 0, "match", a+"*", "count", 1000, function(error, pays) {
var workerName = "";
var balName = "";
var balAmount = 0;
var paidAmount = 0;
var workers = {};
for (var i in pays[1]) {
if (Math.abs(i % 2) != 1) {
workerName = String(pays[1][i]);
workers[workerName] = (workers[workerName] || {});
} else {
balAmount = 0;
for (var b in bals[1]) {
if (Math.abs(b % 2) != 1) {
balName = String(bals[1][b]);
} else if (balName == workerName) {
balAmount = parseFloat(bals[1][b]);
totalHeld = balanceRound(totalHeld+balAmount);
}
}
paidAmount = parseFloat(pays[1][i]);
totalPaid = balanceRound(totalPaid+paidAmount);
balances.push({
worker:String(workerName),
balance:balanceRound(balAmount),
paid:balanceRound(paidAmount)
});
workers[workerName].paid = balanceRound(paidAmount);
totalPaid += paidAmount;
}
}
for (var b in bals[1]) {
if (Math.abs(b % 2) != 1) {
balName = String(bals[1][b]);
workers[balName] = (workers[balName] || {});
} else {
balAmount = parseFloat(bals[1][b]);
workers[balName].balance = balanceRound(balAmount);
totalHeld += balAmount;
}
}
for (var w in workers) {
balances.push({
worker:String(w),
balance:workers[w].balance,
paid:workers[w].paid
});
}
pcb();
});
@ -285,7 +292,7 @@ module.exports = function(logger, portalConfig, poolConfigs){
_this.stats.balances = balances;
_this.stats.address = address;
cback({totalHeld:totalHeld, totalPaid:totalPaid, balances});
cback({totalHeld:balanceRound(totalHeld), totalPaid:balanceRound(totalPaid), balances});
});
};