From 760f19ec36873bb55a2ad51e70789b25c06b68c3 Mon Sep 17 00:00:00 2001 From: Procrastinator Date: Sat, 10 Dec 2016 23:43:43 -0500 Subject: [PATCH 1/4] Having payments use only the payment address, and keep previous rounds --- libs/paymentProcessor.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/paymentProcessor.js b/libs/paymentProcessor.js index 0d9c392..25ac897 100644 --- a/libs/paymentProcessor.js +++ b/libs/paymentProcessor.js @@ -509,7 +509,7 @@ function SetupForPool(logger, poolOptions, setupFinished){ return; } - daemon.cmd('sendmany', [addressAccount || '', addressAmounts], function (result) { + daemon.cmd('sendmany', [addressAccount, addressAmounts], function (result) { //Check if payments failed because wallet doesn't have enough coins to pay for tx fees if (result.error && result.error.code === -6) { var higherPercent = withholdPercent + 0.01; @@ -588,7 +588,7 @@ function SetupForPool(logger, poolOptions, setupFinished){ return; case 'generate': movePendingCommands.push(['smove', coin + ':blocksPending', coin + ':blocksConfirmed', r.serialized]); - roundsToDelete.push(coin + ':shares:round' + r.height); + //roundsToDelete.push(coin + ':shares:round' + r.height); return; } From 5eb8f75d205935b8ce6b248df1115851d1c7272f Mon Sep 17 00:00:00 2001 From: Procrastinator Date: Sat, 10 Dec 2016 23:44:46 -0500 Subject: [PATCH 2/4] Update paymentProcessor.js --- libs/paymentProcessor.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/paymentProcessor.js b/libs/paymentProcessor.js index 25ac897..4506b21 100644 --- a/libs/paymentProcessor.js +++ b/libs/paymentProcessor.js @@ -588,7 +588,7 @@ function SetupForPool(logger, poolOptions, setupFinished){ return; case 'generate': movePendingCommands.push(['smove', coin + ':blocksPending', coin + ':blocksConfirmed', r.serialized]); - //roundsToDelete.push(coin + ':shares:round' + r.height); + //roundsToDelete.push(coin + ':shares:round' + r.height); TODO, make this an option in poolconfig return; } From 3480c5d0c61a3eabc37d79e2639aef048b3f5a8f Mon Sep 17 00:00:00 2001 From: Procrastinator Date: Sun, 11 Dec 2016 19:34:15 -0500 Subject: [PATCH 3/4] Fix overflowing --- libs/paymentProcessor.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/paymentProcessor.js b/libs/paymentProcessor.js index 4506b21..af8b478 100644 --- a/libs/paymentProcessor.js +++ b/libs/paymentProcessor.js @@ -164,7 +164,7 @@ function SetupForPool(logger, poolOptions, setupFinished){ else { var tBalance = 0; for (var i = 0, len = result[0].response.length; i < len; i++) { - tBalance = Number(tBalance + (result[0].response[i].amount * 100000000)).toFixed(0); + tBalance = tBalance + Number((result[0].response[i].amount * magnitude)); } logger.debug(logSystem, logComponent, addr + ' contains a balance of: ' + (tBalance / magnitude)); callback(null, tBalance); From 16a0565d7c91662e4ccccbbcefa7f2222f414303 Mon Sep 17 00:00:00 2001 From: Procrastinator Date: Sun, 11 Dec 2016 20:32:54 -0500 Subject: [PATCH 4/4] Make keeping previous rounds optional --- config_example.json | 3 ++- libs/paymentProcessor.js | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/config_example.json b/config_example.json index 0dc267f..88e4a8b 100644 --- a/config_example.json +++ b/config_example.json @@ -25,7 +25,8 @@ }, "redis": { "host": "127.0.0.1", - "port": 6379 + "port": 6379, + "keepRounds": false } }, diff --git a/libs/paymentProcessor.js b/libs/paymentProcessor.js index af8b478..78e5659 100644 --- a/libs/paymentProcessor.js +++ b/libs/paymentProcessor.js @@ -10,6 +10,7 @@ var util = require('stratum-pool/lib/util.js'); module.exports = function(logger){ var poolConfigs = JSON.parse(process.env.pools); + var portalConfig = JSON.parse(process.env.portalConfig); var enabledPools = []; @@ -588,7 +589,11 @@ function SetupForPool(logger, poolOptions, setupFinished){ return; case 'generate': movePendingCommands.push(['smove', coin + ':blocksPending', coin + ':blocksConfirmed', r.serialized]); - //roundsToDelete.push(coin + ':shares:round' + r.height); TODO, make this an option in poolconfig + if (portalConfig.defaultPoolConfigs.redis.keepRounds) { + //Do nothing + } else { + roundsToDelete.push(coin + ':shares:round' + r.height); + } return; }