mirror of https://github.com/BTCPrivate/z-nomp.git
Update paymentProcessor.js
Allow minConfShield and minConfPayout to be set via pool_config Updated stats collection and operation id tracking to use their own fixed timeout intervals.
This commit is contained in:
parent
3bc190ada0
commit
7865d6818e
|
@ -50,9 +50,10 @@ function SetupForPool(logger, poolOptions, setupFinished){
|
||||||
var logSystem = 'Payments';
|
var logSystem = 'Payments';
|
||||||
var logComponent = coin;
|
var logComponent = coin;
|
||||||
var opidCount = 0;
|
var opidCount = 0;
|
||||||
|
|
||||||
var minConfShield = 3;
|
// zcash team recommends 10 confirmations for safety from orphaned blocks
|
||||||
var minConfPayout = 3;
|
var minConfShield = Math.max((processingConfig.minConf || 10), 3);
|
||||||
|
var minConfPayout = Math.max((processingConfig.minConf || 10), 3);
|
||||||
|
|
||||||
var maxBlocksPerPayment = processingConfig.maxBlocksPerPayment || 3;
|
var maxBlocksPerPayment = processingConfig.maxBlocksPerPayment || 3;
|
||||||
|
|
||||||
|
@ -382,32 +383,37 @@ function SetupForPool(logger, poolOptions, setupFinished){
|
||||||
}
|
}
|
||||||
|
|
||||||
// run coinbase coin transfers every x minutes
|
// run coinbase coin transfers every x minutes
|
||||||
var intervalState = 0; // do not send ZtoT and TtoZ and same time, this results in operation failed!
|
var shieldIntervalState = 0; // do not send ZtoT and TtoZ and same time, this results in operation failed!
|
||||||
var interval = poolOptions.walletInterval * 60 * 1000; // run every x minutes
|
var shielding_interval = poolOptions.walletInterval * 60 * 1000; // run every x minutes
|
||||||
setInterval(function() {
|
// shielding not required for some equihash coins
|
||||||
// shielding not required for some equihash coins
|
if (requireShielding === true) {
|
||||||
if (requireShielding === true) {
|
var shieldInterval = setInterval(function() {
|
||||||
intervalState++;
|
shieldIntervalState++;
|
||||||
switch (intervalState) {
|
switch (shieldIntervalState) {
|
||||||
case 1:
|
case 1:
|
||||||
listUnspent(poolOptions.address, null, minConfShield, false, sendTToZ);
|
listUnspent(poolOptions.address, null, minConfShield, false, sendTToZ);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
listUnspentZ(poolOptions.zAddress, minConfShield, false, sendZToT);
|
listUnspentZ(poolOptions.zAddress, minConfShield, false, sendZToT);
|
||||||
intervalState = 0;
|
shieldIntervalState = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}, shielding_interval);
|
||||||
|
}
|
||||||
|
|
||||||
|
// stats caching every 58 seconds
|
||||||
|
var stats_interval = 58 * 1000;
|
||||||
|
var statsInterval = setInterval(function() {
|
||||||
// update network stats using coin daemon
|
// update network stats using coin daemon
|
||||||
cacheNetworkStats();
|
cacheNetworkStats();
|
||||||
// update market stats using coinmarketcap
|
// update market stats using coinmarketcap
|
||||||
if (getMarketStats === true) {
|
if (getMarketStats === true) {
|
||||||
cacheMarketStats();
|
cacheMarketStats();
|
||||||
}
|
}
|
||||||
}, interval);
|
}, stats_interval);
|
||||||
|
|
||||||
// check operation statuses every x seconds
|
// check operation statuses every 57 seconds
|
||||||
var opid_interval = poolOptions.walletInterval * 1000;
|
var opid_interval = 57 * 1000;
|
||||||
// shielding not required for some equihash coins
|
// shielding not required for some equihash coins
|
||||||
if (requireShielding === true) {
|
if (requireShielding === true) {
|
||||||
var checkOpids = function() {
|
var checkOpids = function() {
|
||||||
|
|
Loading…
Reference in New Issue