diff --git a/src/main/java/org/qortal/controller/Controller.java b/src/main/java/org/qortal/controller/Controller.java index 7ce94b1e..012a179a 100644 --- a/src/main/java/org/qortal/controller/Controller.java +++ b/src/main/java/org/qortal/controller/Controller.java @@ -724,7 +724,7 @@ public class Controller extends Thread { public static final Predicate hasInvalidBlock = peer -> { final PeerChainTipData peerChainTipData = peer.getChainTipData(); - Map invalidBlockSignatures = Synchronizer.getInstance().getInvalidBlockSignatures(); + Map invalidBlockSignatures = Synchronizer.getInstance().getInvalidBlockSignatures(); List peerSignatures = new ArrayList<>(); // Add peer's latest block signature @@ -748,10 +748,9 @@ public class Controller extends Thread { } // Loop through our known invalid blocks and check each one against supplied block summaries - for (String invalidSignature58 : invalidBlockSignatures.keySet()) { - byte[] invalidSignature = Base58.decode(invalidSignature58); + for (ByteArray invalidSignature : invalidBlockSignatures.keySet()) { for (byte[] peerSignature : peerSignatures) { - if (Arrays.equals(peerSignature, invalidSignature)) { + if (Arrays.equals(peerSignature, invalidSignature.value)) { return true; } } diff --git a/src/main/java/org/qortal/controller/Synchronizer.java b/src/main/java/org/qortal/controller/Synchronizer.java index e1f248dd..7721629c 100644 --- a/src/main/java/org/qortal/controller/Synchronizer.java +++ b/src/main/java/org/qortal/controller/Synchronizer.java @@ -81,7 +81,7 @@ public class Synchronizer extends Thread { private boolean syncRequestPending = false; // Keep track of invalid blocks so that we don't keep trying to sync them - private Map invalidBlockSignatures = Collections.synchronizedMap(new HashMap<>()); + private Map invalidBlockSignatures = Collections.synchronizedMap(new HashMap<>()); public Long timeValidBlockLastReceived = null; public Long timeInvalidBlockLastReceived = null; @@ -844,7 +844,7 @@ public class Synchronizer extends Thread { /* Invalid block signature tracking */ - public Map getInvalidBlockSignatures() { + public Map getInvalidBlockSignatures() { return this.invalidBlockSignatures; } @@ -855,8 +855,7 @@ public class Synchronizer extends Thread { } // Add or update existing entry - String sig58 = Base58.encode(signature); - invalidBlockSignatures.put(sig58, now); + invalidBlockSignatures.put(ByteArray.wrap(signature), now); } private void deleteOlderInvalidSignatures(Long now) { if (now == null) { @@ -881,11 +880,10 @@ public class Synchronizer extends Thread { } // Loop through our known invalid blocks and check each one against supplied block summaries - for (String invalidSignature58 : invalidBlockSignatures.keySet()) { - byte[] invalidSignature = Base58.decode(invalidSignature58); + for (ByteArray invalidSignature : invalidBlockSignatures.keySet()) { for (BlockSummaryData blockSummary : blockSummaries) { byte[] signature = blockSummary.getSignature(); - if (Arrays.equals(signature, invalidSignature)) { + if (Arrays.equals(signature, invalidSignature.value)) { return true; } } @@ -898,10 +896,9 @@ public class Synchronizer extends Thread { } // Loop through our known invalid blocks and check each one against supplied block signatures - for (String invalidSignature58 : invalidBlockSignatures.keySet()) { - byte[] invalidSignature = Base58.decode(invalidSignature58); + for (ByteArray invalidSignature : invalidBlockSignatures.keySet()) { for (byte[] signature : blockSignatures) { - if (Arrays.equals(signature, invalidSignature)) { + if (Arrays.equals(signature, invalidSignature.value)) { return true; } }