From 075bd0d2fd3eaa210a6bb873fc16e04d53985ed6 Mon Sep 17 00:00:00 2001
From: librelois <elois@ifee.fr>
Date: Sun, 15 Dec 2019 21:51:26 +0100
Subject: [PATCH] [fix] prover: auto use new sign fn when dubp version jump to
 12

Automatically use the new sign() version when the DUBP protocol jump to V12
---
 app/modules/prover/lib/proof.ts | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/app/modules/prover/lib/proof.ts b/app/modules/prover/lib/proof.ts
index 34ad316ea..9d631b6dd 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 = "";
 
       /*****************
-- 
GitLab