diff --git a/src/main/java/org/qortal/controller/Controller.java b/src/main/java/org/qortal/controller/Controller.java index f2ca853d..0a323cb2 100644 --- a/src/main/java/org/qortal/controller/Controller.java +++ b/src/main/java/org/qortal/controller/Controller.java @@ -758,24 +758,15 @@ public class Controller extends Thread { }; public static final Predicate hasInvalidSigner = peer -> { - final List peerChainTipSummaries = peer.getChainTipSummaries(); - if (peerChainTipSummaries == null) { + final BlockSummaryData peerChainTipData = peer.getChainTipData(); + if (peerChainTipData == null) return true; - } try (Repository repository = RepositoryManager.getRepository()) { - for (BlockSummaryData blockSummaryData : peerChainTipSummaries) { - if (Account.getRewardShareEffectiveMintingLevel(repository, blockSummaryData.getMinterPublicKey()) == 0) { - return true; - } - } + return Account.getRewardShareEffectiveMintingLevel(repository, peerChainTipData.getMinterPublicKey()) == 0; } catch (DataException e) { return true; } - - // We got this far without encountering invalid or missing summaries, nor was an exception thrown, - // so it is safe to assume that all of this peer's recent blocks had a valid signer. - return false; }; private long getRandomRepositoryMaintenanceInterval() {