diff --git a/app/modules/prover/lib/proof.ts b/app/modules/prover/lib/proof.ts index 34ad316ea224b5bfd1726b605efe6d99cf9829c6..9d631b6dd4a8b958921e3a2363c457332998625c 100644 --- a/app/modules/prover/lib/proof.ts +++ b/app/modules/prover/lib/proof.ts @@ -36,7 +36,7 @@ export function createPowWorker() { // By default, we do not prefix the PoW by any number let prefix = 0; - let signatureFunc:any, lastSecret:any, currentCPU = 1; + let signatureFunc:any, lastSecret:any, lastVersion: number, currentCPU = 1; process.on('uncaughtException', (err:any) => { console.error(err.stack || Error(err)) @@ -116,14 +116,17 @@ export function createPowWorker() { } const highMark = stuff.highMark; let sigFunc = null; - if (signatureFunc && lastSecret === pair.sec) { + if (signatureFunc && lastSecret === pair.sec && lastVersion === block.version) { sigFunc = signatureFunc; - } - else { + } else { lastSecret = pair.sec; - sigFunc = (msg:string) => KeyGen(pair.pub, pair.sec).signSyncBuggy(msg) + lastVersion = block.version; + if (block.version >= 12) { + sigFunc = (msg:string) => KeyGen(pair.pub, pair.sec).signSync(msg) + } else { + sigFunc = (msg:string) => KeyGen(pair.pub, pair.sec).signSyncBuggy(msg) + } } - signatureFunc = sigFunc; let pow = "", sig = "", raw = ""; /*****************