@waku/core
Version:
TypeScript implementation of the Waku v2 protocol
32 lines (31 loc) • 1.29 kB
TypeScript
import { type Peer, type PeerId, type Stream } from "@libp2p/interface";
import { MultiaddrInput } from "@multiformats/multiaddr";
import { ConnectionManagerOptions, IConnectionManager, IRelay, IWakuEventEmitter, NetworkConfig } from "@waku/interfaces";
import { Libp2p } from "@waku/interfaces";
type ConnectionManagerConstructorOptions = {
libp2p: Libp2p;
events: IWakuEventEmitter;
networkConfig: NetworkConfig;
relay?: IRelay;
config?: Partial<ConnectionManagerOptions>;
};
export declare class ConnectionManager implements IConnectionManager {
private readonly keepAliveManager;
private readonly discoveryDialer;
private readonly dialer;
private readonly shardReader;
private readonly networkMonitor;
private readonly connectionLimiter;
private options;
private libp2p;
constructor(options: ConnectionManagerConstructorOptions);
start(): void;
stop(): void;
isConnected(): boolean;
dial(peer: PeerId | MultiaddrInput, protocolCodecs: string[]): Promise<Stream>;
hangUp(peer: PeerId | MultiaddrInput): Promise<boolean>;
getConnectedPeers(codec?: string): Promise<Peer[]>;
hasShardInfo(peerId: PeerId): Promise<boolean>;
isPeerOnTopic(peerId: PeerId, pubsubTopic: string): Promise<boolean>;
}
export {};