mirror of
https://github.com/logos-messaging/js-waku.git
synced 2026-01-31 12:03:06 +00:00
* fix: use pubsubTopic from current ones if not set * fix: improve type on dial method * enforce same pubusb on filter.subscribe, make content topic to pubsub mapping default for decoder / encoder * fix mapping problem * update tests * add error handling * fix typo * up lock * rm lock * up lock * remove only * fix content topic * fix ephemeral test * fix filter unsubscribe test * up utils * fix subscribe test * up interfaces and filter api * remove only * up ping test * fix subscribe test * fix push test * fix lightPush * fix multiple pubsub * remove only, fix subscribe filter test * remove only * fix cluster ID selection and named sharding subscription test * fix unsubscribe test * fix light push test * fix light push test * fix push test * fix relay publish * create runNode and fix relay tests * generalize runNodes, fix some tests * fix store tests * fix toAsyncIterator tests * remove only * fix lightPush * use generics * try fix test * run failing tests * remove only * address failed tests, remove DefaultPubsubTopic dependency in some tests
52 lines
1.2 KiB
TypeScript
52 lines
1.2 KiB
TypeScript
import type { PeerId, Stream } from "@libp2p/interface";
|
|
import type { MultiaddrInput } from "@multiformats/multiaddr";
|
|
|
|
import { IConnectionManager } from "./connection_manager.js";
|
|
import type { IFilterSDK } from "./filter.js";
|
|
import type { Libp2p } from "./libp2p.js";
|
|
import type { ILightPushSDK } from "./light_push.js";
|
|
import { Protocols } from "./protocols.js";
|
|
import type { IRelay } from "./relay.js";
|
|
import type { IStoreSDK } from "./store.js";
|
|
|
|
export interface Waku {
|
|
libp2p: Libp2p;
|
|
relay?: IRelay;
|
|
store?: IStoreSDK;
|
|
filter?: IFilterSDK;
|
|
lightPush?: ILightPushSDK;
|
|
|
|
connectionManager: IConnectionManager;
|
|
|
|
dial(peer: PeerId | MultiaddrInput, protocols?: Protocols[]): Promise<Stream>;
|
|
|
|
start(): Promise<void>;
|
|
|
|
stop(): Promise<void>;
|
|
|
|
isStarted(): boolean;
|
|
|
|
isConnected(): boolean;
|
|
}
|
|
|
|
export interface LightNode extends Waku {
|
|
relay: undefined;
|
|
store: IStoreSDK;
|
|
filter: IFilterSDK;
|
|
lightPush: ILightPushSDK;
|
|
}
|
|
|
|
export interface RelayNode extends Waku {
|
|
relay: IRelay;
|
|
store: undefined;
|
|
filter: undefined;
|
|
lightPush: undefined;
|
|
}
|
|
|
|
export interface FullNode extends Waku {
|
|
relay: IRelay;
|
|
store: IStoreSDK;
|
|
filter: IFilterSDK;
|
|
lightPush: ILightPushSDK;
|
|
}
|