From 34284fcc0caa7999d048ddb93c4cbbbb120e440f Mon Sep 17 00:00:00 2001 From: yflory Date: Tue, 8 Dec 2020 12:03:40 +0100 Subject: [PATCH] Fix issues with deprecated cache --- lib/hk-util.js | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/lib/hk-util.js b/lib/hk-util.js index 20e0ce5d4..495f4ff81 100644 --- a/lib/hk-util.js +++ b/lib/hk-util.js @@ -438,13 +438,12 @@ const getHistoryOffset = (Env, channelName, lastKnownHash, _cb) => { to reconcile their differences. */ } - // If our lastKnownHash is older than the 2nd to last checkpoint, - // only send the last 2 checkpoints and ignore "lkh" - // XXX XXX this is probably wrong! ChainPad may not accept checkpoints that are not connected to root - // XXX We probably need to send an EUNKNOWN here so that the client can recreate a new chainpad - /*if (lkh && index.cpIndex.length >= 2 && lkh < index.cpIndex[0].offset) { - return void cb(null, index.cpIndex[0].offset); - }*/ + // If our lastKnownHash is older than the 2nd to last checkpoint, send + // EUNKNOWN to tell the user to empty their cache + if (lkh && index.cpIndex.length >= 2 && lkh < index.cpIndex[0].offset) { + waitFor.abort(); + return void cb(new Error('EUNKNOWN')); + } // Otherwise use our lastKnownHash cb(null, lkh);