<!DOCTYPE html><htmlclass="default"lang="en"><head><metacharSet="utf-8"/><metahttp-equiv="x-ua-compatible"content="IE=edge"/><title>Store | Documentation</title><metaname="description"content="Documentation for Documentation"/><metaname="viewport"content="width=device-width, initial-scale=1"/><linkrel="stylesheet"href="../assets/style.css"/><linkrel="stylesheet"href="../assets/highlight.css"/><scriptdefersrc="../assets/main.js"></script><scriptasyncsrc="../assets/icons.js"id="tsd-icons-script"></script><scriptasyncsrc="../assets/search.js"id="tsd-search-script"></script><scriptasyncsrc="../assets/navigation.js"id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme=localStorage.getItem("tsd-theme")||"os";document.body.style.display="none";setTimeout(()=>app?app.showPage():document.body.style.removeProperty("display"),500)</script><headerclass="tsd-page-toolbar"><divclass="tsd-toolbar-contents container"><divclass="table-cell"id="tsd-search"data-base=".."><divclass="field"><labelfor="tsd-search-field"class="tsd-widget tsd-toolbar-icon search no-caption"><svgwidth="16"height="16"viewBox="0 0 16 16"fill="none"><usehref="../assets/icons.svg#icon-search"></use></svg></label><inputtype="text"id="tsd-search-field"aria-label="Search"/></div><divclass="field"><divid="tsd-toolbar-links"></div></div><ulclass="results"><liclass="state loading">Preparing search index...</li><liclass="state failure">The search index is not available</li></ul><ahref="../index.html"class="title">Documentation</a></div><divclass="table-cell"id="tsd-widgets"><ahref="#"class="tsd-widget tsd-toolbar-icon menu no-caption"data-toggle="menu"aria-label="Menu"><svgwidth="16"height="16"viewBox="0 0 16 16"fill="none"><usehref="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><divclass="container container-main"><divclass="col-content"><divclass="tsd-page-title"><ulclass="tsd-breadcrumb"><li><ahref="../index.html">Documentation</a></li><li><ahref="../modules/_waku_sdk.html">@waku/sdk</a></li><li><ahref="_waku_sdk.Store.html">Store</a></li></ul><h1>Class Store</h1></div><sectionclass="tsd-panel tsd-comment"><divclass="tsd-comment tsd-typography"><p>StoreSDK is an implementation of the IStoreSDK interface.
It provides methods to interact with the Waku Store protocol.</p>
</div><sectionclass="tsd-panel"><h4>Type Parameters</h4><ulclass="tsd-type-parameter-list"><li><span><aid="processMessages.processMessages-1.T"class="tsd-anchor"></a><spanclass="tsd-kind-type-parameter">T</span><spanclass="tsd-signature-keyword"> extends </span><ahref="../interfaces/_waku_sdk.IDecodedMessage.html"class="tsd-signature-type tsd-kind-interface">IDecodedMessage</a></span></li></ul></section><divclass="tsd-parameters"><h4class="tsd-parameters-title">Parameters</h4><ulclass="tsd-parameter-list"><li><span><spanclass="tsd-kind-parameter">messages</span>: <spanclass="tsd-signature-type">Promise</span><spanclass="tsd-signature-symbol"><</span><spanclass="tsd-signature-type">undefined</span><spanclass="tsd-signature-symbol"> | </span><aclass="tsd-signature-type tsd-kind-type-parameter"href="_waku_sdk.Store.html#processMessages.processMessages-1.T">T</a><spanclass="tsd-signature-symbol">></span><spanclass="tsd-signature-symbol">[]</span></span><divclass="tsd-comment tsd-typography"><p>An array of promises of decoded messages.</p>
</div><divclass="tsd-comment tsd-typography"></div></li><li><span><spanclass="tsd-kind-parameter">callback</span>: <spanclass="tsd-signature-symbol">(</span><spanclass="tsd-signature-symbol">(</span><spanclass="tsd-kind-parameter">message</span><spanclass="tsd-signature-symbol">)</span><spanclass="tsd-signature-symbol"> =></span><spanclass="tsd-signature-type">boolean</span><spanclass="tsd-signature-symbol"> | </span><spanclass="tsd-signature-type">void</span><spanclass="tsd-signature-symbol"> | </span><spanclass="tsd-signature-type">Promise</span><spanclass="tsd-signature-symbol"><</span><spanclass="tsd-signature-type">boolean</span><spanclass="tsd-signature-symbol"> | </span><spanclass="tsd-signature-type">void</span><spanclass="tsd-signature-symbol">></span><spanclass="tsd-signature-symbol">)</span></span><divclass="tsd-comment tsd-typography"><p>A callback function to process each decoded message.</p>
</div><divclass="tsd-comment tsd-typography"></div><ulclass="tsd-parameters"><liclass="tsd-parameter-signature"><ulclass="tsd-signatures"><liclass="tsd-signature"><spanclass="tsd-signature-symbol">(</span><spanclass="tsd-kind-parameter">message</span><spanclass="tsd-signature-symbol">)</span><spanclass="tsd-signature-symbol">: </span><spanclass="tsd-signature-type">boolean</span><spanclass="tsd-signature-symbol"> | </span><spanclass="tsd-signature-type">void</span><spanclass="tsd-signature-symbol"> | </span><spanclass="tsd-signature-type">Promise</span><spanclass="tsd-signature-symbol"><</span><spanclass="tsd-signature-type">boolean</span><spanclass="tsd-signature-symbol"> | </span><spanclass="tsd-signature-type">void</span><spanclass="tsd-signature-symbol">></span></li><liclass="tsd-description"><divclass="tsd-parameters"><h4class="tsd-parameters-title">Parameters</h4><ulclass="tsd-parameter-list"><li><span><spanclass="tsd-kind-parameter">message</span>: <aclass="tsd-signature-type tsd-kind-type-parameter"href="_waku_sdk.Store.html#processMessages.processMessages-1.T">T</a></span></li></ul></div><h4class="tsd-returns-title">Returns <spanclass="tsd-signature-type">boolean</span><spanclass="tsd-signature-symbol"> | </span><spanclass="tsd-signature-type">void</span><spanclass="tsd-signature-symbol"> | </span><spanclass="tsd-signature-type">Promise</span><spanclass="tsd-signature-symbol"><</span><spanclass="tsd-signature-type">boolean</span><spanclass="tsd-signature-symbol"> | </span><spanclass="tsd-signature-type">void</span><spanclass="tsd-signature-symbol">></span></h4></li></ul></li></ul></li></ul></div><h4class="tsd-returns-title">Returns <spanclass="tsd-signature-type">Promise</span><spanclass="tsd-signature-symbol"><</span><spanclass="tsd-signature-type">boolean</span><spanclass="tsd-signature-symbol">></span></h4><p>A promise that resolves to a boolean indicating whether the processing should abort.</p>
<divclass="tsd-comment tsd-typography"></div><asideclass="tsd-sources"><ul><li>Defined in <ahref="https://github.com/waku-org/js-waku/blob/163bea56c3e73e8f4f151f134ea7f997f2112912/packages/sdk/src/store/store.ts#L146">packages/sdk/src/store/store.ts:146</a></li></ul></aside></li></ul></section><sectionclass="tsd-panel tsd-member"><aid="queryGenerator"class="tsd-anchor"></a><h3class="tsd-anchor-link"><span>query<wbr/>Generator</span><ahref="#queryGenerator"aria-label="Permalink"class="tsd-anchor-icon"><svgviewBox="0 0 24 24"><usehref="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ulclass="tsd-signatures"><liclass="tsd-signature tsd-anchor-link"><aid="queryGenerator.queryGenerator-1"class="tsd-anchor"></a><spanclass="tsd-kind-call-signature">query<wbr/>Generator</span><spanclass="tsd-signature-symbol"><</span><aclass="tsd-signature-type tsd-kind-type-parameter"href="_waku_sdk.Store.html#queryGenerator.queryGenerator-1.T-1">T</a><spanclass="tsd-signature-symbol">></span><spanclass="tsd-signature-symbol">(</span><spanclass="tsd-kind-parameter">decoders</span>, <spanclass="tsd-kind-parameter">options</span><spanclass="tsd-signature-symbol">?</span><spanclass="tsd-signature-symbol">)</span><spanclass="tsd-signature-symbol">: </span><spanclass="tsd-signature-type">AsyncGenerator</span><spanclass="tsd-signature-symbol"><</span><spanclass="tsd-signature-type">Promise</span><spanclass="tsd-signature-symbol"><</span><spanclass="tsd-signature-type">undefined</span><spanclass="tsd-signature-symbol"> | </span><aclass="tsd-signature-type tsd-kind-type-parameter"href="_waku_sdk.Store.html#queryGenerator.queryGenerator-1.T-1">T</a><spanclass="tsd-signature-symbol">></span><spanclass="tsd-signature-symbol">[]</span><spanclass="tsd-signature-symbol">, </span><spanclass="tsd-signature-type">any</span><spanclass="tsd-signature-symbol">, </span><spanclass="tsd-signature-type">unknown</span><spanclass="tsd-signature-symbol">></span><ahref="#queryGenerator.queryGenerator-1"aria-label="Permalink"class="tsd-anchor-icon"><svgviewBox="0 0 24 24"><usehref="../assets/icons.svg#icon-anchor"></use></svg></a></li><liclass="tsd-description"><divclass="tsd-comment tsd-typography"><p>Queries the Waku Store for historical messages using the provided decoders and options.
</div><asideclass="tsd-sources"><p>Implementation of IStore.queryGenerator</p><ul><li>Defined in <ahref="https://github.com/waku-org/js-waku/blob/163bea56c3e73e8f4f151f134ea7f997f2112912/packages/sdk/src/store/store.ts#L57">packages/sdk/src/store/store.ts:57</a></li></ul></aside></li></ul></section><sectionclass="tsd-panel tsd-member"><aid="queryWithOrderedCallback"class="tsd-anchor"></a><h3class="tsd-anchor-link"><span>query<wbr/>With<wbr/>Ordered<wbr/>Callback</span><ahref="#queryWithOrderedCallback"aria-label="Permalink"class="tsd-anchor-icon"><svgviewBox="0 0 24 24"><usehref="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ulclass="tsd-signatures"><liclass="tsd-signature tsd-anchor-link"><aid="queryWithOrderedCallback.queryWithOrderedCallback-1"class="tsd-anchor"></a><spanclass="tsd-kind-call-signature">query<wbr/>With<wbr/>Ordered<wbr/>Callback</span><spanclass="tsd-signature-symbol"><</span><aclass="tsd-signature-type tsd-kind-type-parameter"href="_waku_sdk.Store.html#queryWithOrderedCallback.queryWithOrderedCallback-1.T-2">T</a><spanclass="tsd-signature-symbol">></span><spanclass="tsd-signature-symbol">(</span><spanclass="tsd-kind-parameter">decoders</span>, <spanclass="tsd-kind-parameter">callback</span>, <spanclass="tsd-kind-parameter">options</span><spanclass="tsd-signature-symbol">?</span><spanclass="tsd-signature-symbol">)</span><spanclass="tsd-signature-symbol">: </span><spanclass="tsd-signature-type">Promise</span><spanclass="tsd-signature-symbol"><</span><spanclass="tsd-signature-type">void</span><spanclass="tsd-signature-symbol">></span><ahref="#queryWithOrderedCallback.queryWithOrderedCallback-1"aria-label="Permalink"class="tsd-anchor-icon"><svgviewBox="0 0 24 24"><usehref="../assets/icons.svg#icon-anchor"></use></svg></a></li><liclass="tsd-description"><divclass="tsd-comment tsd-typography"><p>Queries the Waku Store for historical messages and processes them with the provided callback in order.</p>
</div><divclass="tsd-comment tsd-typography"></div></li><li><span><spanclass="tsd-kind-parameter">callback</span>: <spanclass="tsd-signature-symbol">(</span><spanclass="tsd-signature-symbol">(</span><spanclass="tsd-kind-parameter">message</span><spanclass="tsd-signature-symbol">)</span><spanclass="tsd-signature-symbol"> =></span><spanclass="tsd-signature-type">boolean</span><spanclass="tsd-signature-symbol"> | </span><spanclass="tsd-signature-type">void</span><spanclass="tsd-signature-symbol"> | </span><spanclass="tsd-signature-type">Promise</span><spanclass="tsd-signature-symbol"><</span><spanclass="tsd-signature-type">boolean</span><spanclass="tsd-signature-symbol"> | </span><spanclass="tsd-signature-type">void</span><spanclass="tsd-signature-symbol">></span><spanclass="tsd-signature-symbol">)</span></span><divclass="tsd-comment tsd-typography"><p>A callback function to process each decoded message.</p>
</div><divclass="tsd-comment tsd-typography"></div></li></ul></div><h4class="tsd-returns-title">Returns <spanclass="tsd-signature-type">Promise</span><spanclass="tsd-signature-symbol"><</span><spanclass="tsd-signature-type">void</span><spanclass="tsd-signature-symbol">></span></h4><p>A promise that resolves when the query and message processing are completed.</p>
<divclass="tsd-comment tsd-typography"></div><asideclass="tsd-sources"><p>Implementation of IStore.queryWithOrderedCallback</p><ul><li>Defined in <ahref="https://github.com/waku-org/js-waku/blob/163bea56c3e73e8f4f151f134ea7f997f2112912/packages/sdk/src/store/store.ts#L99">packages/sdk/src/store/store.ts:99</a></li></ul></aside></li></ul></section><sectionclass="tsd-panel tsd-member"><aid="queryWithPromiseCallback"class="tsd-anchor"></a><h3class="tsd-anchor-link"><span>query<wbr/>With<wbr/>Promise<wbr/>Callback</span><ahref="#queryWithPromiseCallback"aria-label="Permalink"class="tsd-anchor-icon"><svgviewBox="0 0 24 24"><usehref="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ulclass="tsd-signatures"><liclass="tsd-signature tsd-anchor-link"><aid="queryWithPromiseCallback.queryWithPromiseCallback-1"class="tsd-anchor"></a><spanclass="tsd-kind-call-signature">query<wbr/>With<wbr/>Promise<wbr/>Callback</span><spanclass="tsd-signature-symbol"><</span><aclass="tsd-signature-type tsd-kind-type-parameter"href="_waku_sdk.Store.html#queryWithPromiseCallback.queryWithPromiseCallback-1.T-3">T</a><spanclass="tsd-signature-symbol">></span><spanclass="tsd-signature-symbol">(</span><spanclass="tsd-kind-parameter">decoders</span>, <spanclass="tsd-kind-parameter">callback</span>, <spanclass="tsd-kind-parameter">options</span><spanclass="tsd-signature-symbol">?</span><spanclass="tsd-signature-symbol">)</span><spanclass="tsd-signature-symbol">: </span><spanclass="tsd-signature-type">Promise</span><spanclass="tsd-signature-symbol"><</span><spanclass="tsd-signature-type">void</span><spanclass="tsd-signature-symbol">></span><ahref="#queryWithPromiseCallback.queryWithPromiseCallback-1"aria-label="Permalink"class="tsd-anchor-icon"><svgviewBox="0 0 24 24"><usehref="../assets/icons.svg#icon-anchor"></use></svg></a></li><liclass="tsd-description"><divclass="tsd-comment tsd-typography"><p>Queries the Waku Store for historical messages and processes them with the provided callback using promises.</p>
</div><divclass="tsd-comment tsd-typography"></div></li><li><span><spanclass="tsd-kind-parameter">callback</span>: <spanclass="tsd-signature-symbol">(</span><spanclass="tsd-signature-symbol">(</span><spanclass="tsd-kind-parameter">message</span><spanclass="tsd-signature-symbol">)</span><spanclass="tsd-signature-symbol"> =></span><spanclass="tsd-signature-type">boolean</span><spanclass="tsd-signature-symbol"> | </span><spanclass="tsd-signature-type">void</span><spanclass="tsd-signature-symbol"> | </span><spanclass="tsd-signature-type">Promise</span><spanclass="tsd-signature-symbol"><</span><spanclass="tsd-signature-type">boolean</span><spanclass="tsd-signature-symbol"> | </span><spanclass="tsd-signature-type">void</span><spanclass="tsd-signature-symbol">></span><spanclass="tsd-signature-symbol">)</span></span><divclass="tsd-comment tsd-typography"><p>A callback function to process each promise of a decoded message.</p>
</div><divclass="tsd-comment tsd-typography"></div></li></ul></div><h4class="tsd-returns-title">Returns <spanclass="tsd-signature-type">Promise</span><spanclass="tsd-signature-symbol"><</span><spanclass="tsd-signature-type">void</span><spanclass="tsd-signature-symbol">></span></h4><p>A promise that resolves when the query and message processing are completed.</p>
</div><divclass="tsd-comment tsd-typography"></div></li></ul></div><h4class="tsd-returns-title">Returns <spanclass="tsd-signature-symbol">{ </span><br/><span></span><spanclass="tsd-kind-property">contentTopics</span><spanclass="tsd-signature-symbol">: </span><spanclass="tsd-signature-type">string</span><spanclass="tsd-signature-symbol">[]</span><spanclass="tsd-signature-symbol">; </span><br/><span></span><spanclass="tsd-kind-property">decodersAsMap</span><spanclass="tsd-signature-symbol">: </span><spanclass="tsd-signature-type">Map</span><spanclass="tsd-signature-symbol"><</span><spanclass="tsd-signature-type">string</span><spanclass="tsd-signature-symbol">, </span><ahref="../interfaces/_waku_sdk.IDecoder.html"class="tsd-signature-type tsd-kind-interface">IDecoder</a><spanclass="tsd-signature-symbol"><</span><aclass="tsd-signature-type tsd-kind-type-parameter"href="_waku_sdk.Store.html#validateDecodersAndPubsubTopic.validateDecodersAndPubsubTopic-1.T-4">T</a><spanclass="tsd-signature-symbol">></span><spanclass="tsd-signature-symbol">></span><spanclass="tsd-signature-symbol">; </span><br/><span></span><spanclass="tsd-kind-property">pubsubTopic</span><spanclass="tsd-signature-symbol">: </span><spanclass="tsd-signature-type">string</span><spanclass="tsd-signature-symbol">; </span><br/><spanclass="tsd-signature-symbol">}</span></h4><p>An object containing the pubsub topic, content topics, and a map of decoders.</p>
<ulclass="tsd-parameters"><liclass="tsd-parameter"><h5><spanclass="tsd-kind-property">content<wbr/>Topics</span><spanclass="tsd-signature-symbol">: </span><spanclass="tsd-signature-type">string</span><spanclass="tsd-signature-symbol">[]</span></h5></li><liclass="tsd-parameter"><h5><spanclass="tsd-kind-property">decoders<wbr/>As<wbr/>Map</span><spanclass="tsd-signature-symbol">: </span><spanclass="tsd-signature-type">Map</span><spanclass="tsd-signature-symbol"><</span><spanclass="tsd-signature-type">string</span><spanclass="tsd-signature-symbol">, </span><ahref="../interfaces/_waku_sdk.IDecoder.html"class="tsd-signature-type tsd-kind-interface">IDecoder</a><spanclass="tsd-signature-symbol"><</span><aclass="tsd-signature-type tsd-kind-type-parameter"href="_waku_sdk.Store.html#validateDecodersAndPubsubTopic.validateDecodersAndPubsubTopic-1.T-4">T</a><spanclass="tsd-signature-symbol">></span><spanclass="tsd-signature-symbol">></span></h5></li><liclass="tsd-parameter"><h5><spanclass="tsd-kind-property">pubsub<wbr/>Topic</span><spanclass="tsd-signature-symbol">: </span><spanclass="tsd-signature-type">string</span></h5></li></ul><divclass="tsd-comment tsd-typography"><h4>Throws</h4><p>If no decoders are provided, if multiple pubsub topics are provided, or if no decoders are found for the pubsub topic.</p>