From 53432ba8fe5ca7fc5100751767b09039b4a0ea8a Mon Sep 17 00:00:00 2001 From: lubuzzo Date: Sat, 23 Mar 2019 18:00:12 -0300 Subject: [PATCH 1/2] Updated package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7f15908..aa86deb 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "node-watch": "*", "request": "2.69.0", "nonce": "*", - "bignum": "0.12.5", + "bignum": "0.13.0", "extend": "*" }, "engines": { From d55efbd227de692bf62f2a239ed0ea5da6fec125 Mon Sep 17 00:00:00 2001 From: lubuzzo Date: Sun, 24 Mar 2019 12:40:08 -0300 Subject: [PATCH 2/2] Allow pool owner to run the pool without explicitly declare the address - Setting the address to false, will generate a new address on startup and after every submission of block --- libs/paymentProcessor.js | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/libs/paymentProcessor.js b/libs/paymentProcessor.js index 9e0fc84..0e5428e 100644 --- a/libs/paymentProcessor.js +++ b/libs/paymentProcessor.js @@ -64,6 +64,7 @@ function SetupForPool(logger, poolOptions, setupFinished){ async.parallel([ function(callback){ + if (poolOptions.address != false) { daemon.cmd('validateaddress', [poolOptions.address], function(result) { if (result.error){ logger.error(logSystem, logComponent, 'Error with payment processing daemon ' + JSON.stringify(result.error)); @@ -90,6 +91,8 @@ function SetupForPool(logger, poolOptions, setupFinished){ callback() } }, true); + } + else callback(); }, function(callback){ daemon.cmd('getbalance', [], function(result){ @@ -529,12 +532,37 @@ function SetupForPool(logger, poolOptions, setupFinished){ }); }; + function handleAddress(address) { + if (address.length === 40){ + return util.addressFromEx(poolOptions.address, address); + } + else return address; + } var getProperAddress = function(address){ - if (address.length === 40){ - return util.addressFromEx(poolOptions.address, address); - } - else return address; + if (address != false) { + return handleAddress(address); + } else { + var addressToPay = ''; + + daemon.cmd('getnewaddress', [], function(result){ + if (result.error){ + callback(true); + return; + } + try { + addressToPay = result.data; + } + catch(e){ + logger.error(logSystem, logComponent, 'Error getting a new address. Got: ' + result.data); + callback(true); + } + + }, true, true); + + return handleAddress(addressToPay); + + } };