Update pool.js
removed haven breaking changes
This commit is contained in:
29
lib/pool.js
29
lib/pool.js
@@ -42,9 +42,6 @@ let cnAlgorithm = config.cnAlgorithm || "cryptonight";
|
||||
let cnVariant = config.cnVariant || 0;
|
||||
let cnBlobType = config.cnBlobType || 0;
|
||||
|
||||
// HBD - check for HAVEN coin type
|
||||
let bUseHaven = (config.coin == "haven");
|
||||
|
||||
let cryptoNight;
|
||||
if (!cnHashing || !cnHashing[cnAlgorithm]) {
|
||||
log('error', logSystem, 'Invalid cryptonight algorithm: %s', [cnAlgorithm]);
|
||||
@@ -61,8 +58,7 @@ let connectedMiners = {};
|
||||
// Get merged mining tag reseved space size
|
||||
let POOL_NONCE_SIZE = 16 + 1; // +1 for old XMR/new TRTL bugs
|
||||
let EXTRA_NONCE_TEMPLATE = "02" + POOL_NONCE_SIZE.toString(16) + "00".repeat(POOL_NONCE_SIZE);
|
||||
let POOL_NONCE_MM_SIZE = POOL_NONCE_SIZE +
|
||||
bUseHaven ? utils.havenUtil.get_merged_mining_nonce_size() : utils.cnUtil.get_merged_mining_nonce_size();
|
||||
let POOL_NONCE_MM_SIZE = POOL_NONCE_SIZE + utils.cnUtil.get_merged_mining_nonce_size();
|
||||
let EXTRA_NONCE_NO_CHILD_TEMPLATE = "02" + POOL_NONCE_MM_SIZE.toString(16) + "00".repeat(POOL_NONCE_MM_SIZE);
|
||||
let mergedMining = config.poolServer.mergedMining && (Array.isArray(config.childPools) && config.childPools.length > 0)
|
||||
|
||||
@@ -241,7 +237,7 @@ function BlockTemplate (template, parent, indexOfChildPool) {
|
||||
let blob = this.blocktemplate_blob;
|
||||
this.buffer = Buffer.from(blob, 'hex');
|
||||
let template_hex = EXTRA_NONCE_TEMPLATE;
|
||||
if (parent && mergedMining && !bUseHaven) {
|
||||
if (parent && mergedMining) {
|
||||
if (currentChildBlockTemplate[indexOfChildPool]) {
|
||||
this.childBlockTemplate = currentChildBlockTemplate[indexOfChildPool];
|
||||
this.buffer = utils.cnUtil.construct_mm_parent_block_blob(this.buffer, cnBlobType, this.childBlockTemplate.buffer);
|
||||
@@ -280,14 +276,10 @@ function BlockTemplate (template, parent, indexOfChildPool) {
|
||||
BlockTemplate.prototype = {
|
||||
nextBlob: function (index) {
|
||||
this.buffer.writeUInt32BE(++this.extraNonce, this.reserveOffset);
|
||||
if (!bUseHaven && mergedMining && this.childBlockTemplate) {
|
||||
if (mergedMining && this.childBlockTemplate) {
|
||||
return utils.cnUtil.convert_blob(this.buffer, cnBlobType, this.childBlockTemplate.buffer)
|
||||
.toString('hex')
|
||||
}
|
||||
if (bUseHaven)
|
||||
return utils.havenUtil.convert_blob(this.buffer)
|
||||
.toString('hex');
|
||||
else
|
||||
return utils.cnUtil.convert_blob(this.buffer, cnBlobType)
|
||||
.toString('hex');
|
||||
},
|
||||
@@ -1166,9 +1158,7 @@ function getShareBuffer (miner, job, blockTemplate, params) {
|
||||
}
|
||||
|
||||
try {
|
||||
let shareBuffer = (bUseHaven)
|
||||
? utils.havenUtil.construct_block_blob(template, Buffer.from(nonce, 'hex'))
|
||||
: utils.cnUtil.construct_block_blob(template, Buffer.from(nonce, 'hex'), cnBlobType);
|
||||
let shareBuffer = utils.cnUtil.construct_block_blob(template, Buffer.from(nonce, 'hex'), cnBlobType);
|
||||
return shareBuffer;
|
||||
} catch (e) {
|
||||
log('error', logSystem, "Can't get share buffer with nonce %s from %s@%s: %s", [nonce, miner.login, miner.ip, e]);
|
||||
@@ -1192,9 +1182,7 @@ function processShare (miner, job, blockTemplate, params) {
|
||||
hash = Buffer.from(resultHash, 'hex');
|
||||
shareType = 'trusted';
|
||||
} else {
|
||||
let convertedBlob = (bUseHaven)
|
||||
? utils.havenUtil.convert_blob(shareBuffer)
|
||||
: utils.cnUtil.convert_blob(shareBuffer, cnBlobType);
|
||||
let convertedBlob = utils.cnUtil.convert_blob(shareBuffer, cnBlobType);
|
||||
let hard_fork_version = convertedBlob[0];
|
||||
|
||||
if (blockTemplate.isRandomX) {
|
||||
@@ -1225,9 +1213,8 @@ function processShare (miner, job, blockTemplate, params) {
|
||||
if (error) {
|
||||
log('error', logSystem, 'Error submitting block at height %d from %s@%s, share type: "%s" - %j', [job.height, miner.login, miner.ip, shareType, error]);
|
||||
} else {
|
||||
let blockFastHash = (bUseHaven)
|
||||
? utils.havenUtil.get_block_id(shareBuffer).toString('hex')
|
||||
: utils.cnUtil.get_block_id(shareBuffer, cnBlobType).toString('hex');
|
||||
let blockFastHash = utils.cnUtil.get_block_id(shareBuffer, cnBlobType)
|
||||
.toString('hex');
|
||||
log('info', logSystem,
|
||||
'Block %s found at height %d by miner %s@%s - submit result: %j',
|
||||
[blockFastHash.substr(0, 6), job.height, miner.login, miner.ip, result]
|
||||
@@ -1248,7 +1235,7 @@ function processShare (miner, job, blockTemplate, params) {
|
||||
var childBlockTemplate = blockTemplate.childBlockTemplate;
|
||||
|
||||
if (childBlockTemplate) {
|
||||
if (!bUseHaven && mergedMining) {
|
||||
if (mergedMining) {
|
||||
let pool = config.childPools[miner.activeChildPool]
|
||||
if (hashDiff.ge(childBlockTemplate.difficulty)) {
|
||||
let mergedBuffer = null
|
||||
|
||||
Reference in New Issue
Block a user