@@ -52,7 +52,7 @@ var shareTrustMinFloat = shareTrustEnabled ? config.poolServer.shareTrust.min /
5252var banningEnabled = config . poolServer . banning && config . poolServer . banning . enabled ;
5353
5454var isMonero = config . coin === "monero" ;
55-
55+ var isQRL = config . symbol === "QRL" ;
5656
5757setInterval ( function ( ) {
5858 var now = Date . now ( ) / 1000 | 0 ;
@@ -127,6 +127,8 @@ function BlockTemplate(template){
127127BlockTemplate . prototype = {
128128 nextBlob : function ( ) {
129129 this . buffer . writeUInt32BE ( ++ this . extraNonce , this . reserveOffset ) ;
130+ if ( isQRL )
131+ return this . buffer . toString ( 'hex' ) ;
130132 return cnUtil . convert_blob ( this . buffer ) . toString ( 'hex' ) ;
131133 }
132134} ;
@@ -435,8 +437,14 @@ function processShare(miner, job, blockTemplate, nonce, resultHash){
435437 shareType = 'trusted' ;
436438 }
437439 else {
438- convertedBlob = cnUtil . convert_blob ( shareBuffer ) ;
439- var cn_variant = isMonero && convertedBlob [ 0 ] >= 7 ? convertedBlob [ 0 ] - 6 : 0 ;
440+ if ( isQRL ) {
441+ convertedBlob = shareBuffer ;
442+ var cn_variant = 1 ;
443+ }
444+ else {
445+ convertedBlob = cnUtil . convert_blob ( shareBuffer ) ;
446+ var cn_variant = isMonero && convertedBlob [ 0 ] >= 7 ? convertedBlob [ 0 ] - 6 : 0 ;
447+ }
440448 hash = cryptoNight ( convertedBlob , cn_variant ) ;
441449 shareType = 'valid' ;
442450 }
@@ -462,7 +470,12 @@ function processShare(miner, job, blockTemplate, nonce, resultHash){
462470 recordShareData ( miner , job , hashDiff . toString ( ) , false , null , shareType ) ;
463471 }
464472 else {
465- var blockFastHash = cryptoNightFast ( convertedBlob || cnUtil . convert_blob ( shareBuffer ) ) . toString ( 'hex' ) ;
473+ if ( isQRL ) {
474+ var blockFastHash = hash . toString ( 'hex' )
475+ }
476+ else {
477+ var blockFastHash = cryptoNightFast ( convertedBlob || cnUtil . convert_blob ( shareBuffer ) ) . toString ( 'hex' ) ;
478+ }
466479 log ( 'info' , logSystem ,
467480 'Block %s found at height %d by miner %s@%s - submit result: %j' ,
468481 [ blockFastHash . substr ( 0 , 6 ) , job . height , miner . login , miner . ip , result ]
0 commit comments