diff --git a/packages/interfaces/src/relay.ts b/packages/interfaces/src/relay.ts index 2172ac7be8..58910fed74 100644 --- a/packages/interfaces/src/relay.ts +++ b/packages/interfaces/src/relay.ts @@ -16,6 +16,7 @@ export interface IRelayAPI { readonly pubsubTopics: Set; readonly gossipSub: GossipSub; start: () => Promise; + stop: () => Promise; waitForPeers: () => Promise; getMeshPeers: (topic?: TopicStr) => PeerIdStr[]; } diff --git a/packages/interfaces/src/store.ts b/packages/interfaces/src/store.ts index 0bb5128237..d5fb262577 100644 --- a/packages/interfaces/src/store.ts +++ b/packages/interfaces/src/store.ts @@ -99,6 +99,7 @@ export type QueryRequestParams = { export type IStore = { readonly multicodec: string; + stop(): void; createCursor(message: IDecodedMessage): StoreCursor; queryGenerator: ( decoders: IDecoder[], diff --git a/packages/sdk/src/light_push/light_push.ts b/packages/sdk/src/light_push/light_push.ts index 669c77e38c..7cf2bc752e 100644 --- a/packages/sdk/src/light_push/light_push.ts +++ b/packages/sdk/src/light_push/light_push.ts @@ -65,6 +65,7 @@ export class LightPush implements ILightPush { public stop(): void { this.retryManager.stop(); + this.protocol.stop(); } public async send( diff --git a/packages/sdk/src/store/store.ts b/packages/sdk/src/store/store.ts index 2165005899..cf7921b54c 100644 --- a/packages/sdk/src/store/store.ts +++ b/packages/sdk/src/store/store.ts @@ -46,6 +46,10 @@ export class Store implements IStore { return this.protocol.multicodec; } + public stop(): void { + this.protocol.stop(); + } + /** * Queries the Waku Store for historical messages using the provided decoders and options. * Returns an asynchronous generator that yields promises of decoded messages.