From 482563e22572aab9507efcc01e137b5a87f255ba Mon Sep 17 00:00:00 2001 From: supaiku Date: Tue, 26 Mar 2019 16:20:55 +0100 Subject: [PATCH] fix: always refresh peer status --- packages/core-p2p/src/monitor.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/core-p2p/src/monitor.ts b/packages/core-p2p/src/monitor.ts index b6d41ed71e..cfbbd35c3e 100644 --- a/packages/core-p2p/src/monitor.ts +++ b/packages/core-p2p/src/monitor.ts @@ -392,6 +392,7 @@ export class Monitor implements P2P.IMonitor { this.logger.info(`Refreshing ${this.getPeers().length} peers after fork.`); // Reset all peers, except peers banned because of causing a fork. + await this.cleanPeers(false, true); await this.guard.resetSuspendedPeers(); // Ban peer who caused the fork @@ -506,7 +507,7 @@ export class Monitor implements P2P.IMonitor { */ public async checkNetworkHealth(): Promise { if (!this.__isColdStartActive()) { - await this.cleanPeers(true, true); + await this.cleanPeers(false, true); await this.guard.resetSuspendedPeers(); } @@ -518,6 +519,11 @@ export class Monitor implements P2P.IMonitor { .filter(peer => peer.verification !== null); const allPeers = [...peers, ...suspendedPeers]; + if (!allPeers.length) { + this.logger.info("No peers available."); + return { forked: false }; + } + const forkedPeers = allPeers.filter(peer => peer.verification.forked); const majorityOnOurChain = forkedPeers.length / allPeers.length < 0.5;