diff --git a/packages/core/src/lib/base_protocol.ts b/packages/core/src/lib/base_protocol.ts index e237fdd7fc..bc27f1a6ca 100644 --- a/packages/core/src/lib/base_protocol.ts +++ b/packages/core/src/lib/base_protocol.ts @@ -103,6 +103,10 @@ export class BaseProtocol implements IBaseProtocol { filteredPeers ); + if (sortedFilteredPeers.length === 0) { + throw new Error("No peers found"); + } + return sortedFilteredPeers; } diff --git a/packages/utils/src/libp2p/index.ts b/packages/utils/src/libp2p/index.ts index 4223d1f6b9..12c0e0987f 100644 --- a/packages/utils/src/libp2p/index.ts +++ b/packages/utils/src/libp2p/index.ts @@ -30,7 +30,7 @@ export async function sortPeersByLatency( peers.map(async (peer) => { try { const pingBytes = (await peerStore.get(peer.id)).metadata.get("ping"); - if (!pingBytes) return null; + if (!pingBytes) return { peer, ping: Infinity }; const ping = Number(bytesToUtf8(pingBytes)); return isNaN(ping) ? null : { peer, ping };