From 05219b107ff1c31e656341968e397c7ecf235086 Mon Sep 17 00:00:00 2001
From: cgeek <cem.moreau@gmail.com>
Date: Mon, 6 Mar 2017 12:41:56 +0100
Subject: [PATCH] [fix] #872 Some blocks do not respect the distance rule in
 GTest

---
 app/lib/computation/blockchainContext.js |  2 +-
 app/lib/dup/indexer.js                   | 17 +++++++++++++++--
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/app/lib/computation/blockchainContext.js b/app/lib/computation/blockchainContext.js
index 90dffbbf0..6a5d87d7b 100644
--- a/app/lib/computation/blockchainContext.js
+++ b/app/lib/computation/blockchainContext.js
@@ -176,7 +176,7 @@ function BlockchainContext() {
     // BR_G75
     if (indexer.ruleMembershipSuccession(mindex) === false) throw Error('ruleMembershipSuccession');
     // BR_G76
-    if (indexer.ruleMembershipDistance(mindex) === false) throw Error('ruleMembershipDistance');
+    if (indexer.ruleMembershipDistance(HEAD, mindex) === false) throw Error('ruleMembershipDistance');
     // BR_G77
     if (indexer.ruleMembershipOnRevoked(mindex) === false) throw Error('ruleMembershipOnRevoked');
     // BR_G78
diff --git a/app/lib/dup/indexer.js b/app/lib/dup/indexer.js
index e0e969553..2d52a073b 100644
--- a/app/lib/dup/indexer.js
+++ b/app/lib/dup/indexer.js
@@ -1136,9 +1136,22 @@ const indexer = module.exports = {
   },
 
   // BR_G76
-  ruleMembershipDistance: (mindex) => {
+  ruleMembershipDistance: (HEAD, mindex) => {
     for (const ENTRY of mindex) {
-      if (!ENTRY.distanceOK) return false;
+      if (HEAD.currency == 'gtest'
+        && !ENTRY.distanceOK
+        // && HEAD.number != 8450
+        // && HEAD.number != 9775
+        // && HEAD.number != 10893
+        // && HEAD.number != 11090
+        // && HEAD.number != 11263
+        // && HEAD.number != 11392
+        && HEAD.number < 11512) {
+        return false;
+      }
+      else if (HEAD.currency != 'gtest' && !ENTRY.distanceOK) {
+        return false;
+      }
     }
   },
 
-- 
GitLab