UNPKG

@waku/sdk

Version:

A unified SDK for easy creation and management of js-waku nodes.

40 lines (39 loc) 1.66 kB
import { type Peer, type PeerId, type Stream } from "@libp2p/interface"; import type { MultiaddrInput } from "@multiformats/multiaddr"; import type { CreateDecoderParams, CreateEncoderParams, CreateNodeOptions, IDecodedMessage, IDecoder, IEncoder, IFilter, ILightPush, IRelay, IStore, IWaku, IWakuEventEmitter, Libp2p } from "@waku/interfaces"; import { HealthStatus, Protocols } from "@waku/interfaces"; type ProtocolsEnabled = { filter?: boolean; lightpush?: boolean; store?: boolean; }; export declare class WakuNode implements IWaku { libp2p: Libp2p; relay?: IRelay; store?: IStore; filter?: IFilter; lightPush?: ILightPush; readonly events: IWakuEventEmitter; private readonly networkConfig; private _nodeStateLock; private _nodeStarted; private readonly connectionManager; private readonly peerManager; private readonly healthIndicator; constructor(options: CreateNodeOptions, libp2p: Libp2p, protocolsEnabled: ProtocolsEnabled, relay?: IRelay); get peerId(): PeerId; get protocols(): string[]; get health(): HealthStatus; dial(peer: PeerId | MultiaddrInput, protocols?: Protocols[]): Promise<Stream>; hangUp(peer: PeerId | MultiaddrInput): Promise<boolean>; start(): Promise<void>; stop(): Promise<void>; getConnectedPeers(): Promise<Peer[]>; waitForPeers(protocols?: Protocols[], timeoutMs?: number): Promise<void>; isStarted(): boolean; isConnected(): boolean; createDecoder(params: CreateDecoderParams): IDecoder<IDecodedMessage>; createEncoder(params: CreateEncoderParams): IEncoder; private createRoutingInfo; } export {};