mirror of
https://github.com/logos-messaging/js-waku.git
synced 2026-01-21 15:13:07 +00:00
* update local peer discovery, make it configurable for cache * move to separate file * up tests, remove local storage from tests * pass local peer cache options * add e2e tests * add aditional e2e tests for local cache * rename local-peer-cache into peer-cache * update tests, ci * prevent filterign ws addresses
32 lines
883 B
TypeScript
32 lines
883 B
TypeScript
import type { PeerDiscovery } from "@libp2p/interface";
|
|
import {
|
|
enrTree,
|
|
wakuDnsDiscovery,
|
|
wakuPeerCacheDiscovery,
|
|
wakuPeerExchangeDiscovery
|
|
} from "@waku/discovery";
|
|
import { CreateNodeOptions, type Libp2pComponents } from "@waku/interfaces";
|
|
|
|
export function getPeerDiscoveries(
|
|
enabled?: CreateNodeOptions["discovery"],
|
|
peerCache?: CreateNodeOptions["peerCache"]
|
|
): ((components: Libp2pComponents) => PeerDiscovery)[] {
|
|
const dnsEnrTrees = [enrTree["SANDBOX"], enrTree["TEST"]];
|
|
|
|
const discoveries: ((components: Libp2pComponents) => PeerDiscovery)[] = [];
|
|
|
|
if (enabled?.dns) {
|
|
discoveries.push(wakuDnsDiscovery(dnsEnrTrees));
|
|
}
|
|
|
|
if (enabled?.peerCache || peerCache) {
|
|
discoveries.push(wakuPeerCacheDiscovery({ cache: peerCache }));
|
|
}
|
|
|
|
if (enabled?.peerExchange) {
|
|
discoveries.push(wakuPeerExchangeDiscovery());
|
|
}
|
|
|
|
return discoveries;
|
|
}
|