@waku/core 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -4
- package/bundle/index.js +10871 -3756
- package/bundle/lib/message/topic_only_message.js +33 -0
- package/bundle/lib/message/version_0.js +133 -0
- package/bundle/{message-70dbb19b.js → peer_exchange-53df2b11.js} +2175 -269
- package/dist/index.d.ts +14 -14
- package/dist/index.js +10 -10
- package/dist/index.js.map +1 -1
- package/dist/lib/{waku_filter → filter}/filter_rpc.d.ts +1 -1
- package/dist/lib/{waku_filter → filter}/filter_rpc.js +1 -1
- package/dist/lib/filter/filter_rpc.js.map +1 -0
- package/dist/lib/{waku_filter → filter}/index.d.ts +3 -3
- package/dist/lib/{waku_filter → filter}/index.js +3 -4
- package/dist/lib/filter/index.js.map +1 -0
- package/dist/lib/{waku_light_push → light_push}/index.d.ts +3 -3
- package/dist/lib/{waku_light_push → light_push}/index.js +4 -5
- package/dist/lib/light_push/index.js.map +1 -0
- package/dist/lib/{waku_light_push → light_push}/push_rpc.d.ts +1 -1
- package/dist/lib/{waku_light_push → light_push}/push_rpc.js +1 -1
- package/dist/lib/light_push/push_rpc.js.map +1 -0
- package/dist/lib/message/topic_only_message.d.ts +16 -0
- package/dist/lib/{waku_message → message}/topic_only_message.js +1 -1
- package/dist/lib/message/topic_only_message.js.map +1 -0
- package/dist/lib/message/version_0.d.ts +54 -0
- package/dist/lib/{waku_message → message}/version_0.js +35 -7
- package/dist/lib/message/version_0.js.map +1 -0
- package/dist/lib/predefined_bootstrap_nodes.js.map +1 -1
- package/dist/lib/{waku_relay → relay}/constants.d.ts +0 -0
- package/dist/lib/{waku_relay → relay}/constants.js +0 -0
- package/dist/lib/relay/constants.js.map +1 -0
- package/dist/lib/{waku_relay → relay}/index.d.ts +5 -5
- package/dist/lib/{waku_relay → relay}/index.js +5 -5
- package/dist/lib/relay/index.js.map +1 -0
- package/dist/lib/{waku_store → store}/history_rpc.d.ts +1 -1
- package/dist/lib/{waku_store → store}/history_rpc.js +1 -1
- package/dist/lib/store/history_rpc.js.map +1 -0
- package/dist/lib/{waku_store → store}/index.d.ts +7 -5
- package/dist/lib/{waku_store → store}/index.js +9 -8
- package/dist/lib/store/index.js.map +1 -0
- package/dist/lib/to_proto_message.d.ts +3 -3
- package/dist/lib/to_proto_message.js.map +1 -1
- package/dist/lib/wait_for_remote_peer.js +12 -3
- package/dist/lib/wait_for_remote_peer.js.map +1 -1
- package/dist/lib/waku.d.ts +10 -9
- package/dist/lib/waku.js +19 -9
- package/dist/lib/waku.js.map +1 -1
- package/package.json +18 -19
- package/src/index.ts +19 -14
- package/src/lib/{waku_filter → filter}/filter_rpc.ts +1 -2
- package/src/lib/{waku_filter → filter}/index.ts +26 -26
- package/src/lib/{waku_light_push → light_push}/index.ts +17 -18
- package/src/lib/{waku_light_push → light_push}/push_rpc.ts +1 -2
- package/src/lib/{waku_message → message}/topic_only_message.ts +10 -7
- package/src/lib/{waku_message → message}/version_0.ts +53 -18
- package/src/lib/predefined_bootstrap_nodes.ts +1 -1
- package/src/lib/{waku_relay → relay}/constants.ts +0 -0
- package/src/lib/{waku_relay → relay}/index.ts +20 -26
- package/src/lib/{waku_store → store}/history_rpc.ts +1 -2
- package/src/lib/{waku_store → store}/index.ts +38 -24
- package/src/lib/to_proto_message.ts +4 -5
- package/src/lib/wait_for_remote_peer.ts +17 -5
- package/src/lib/waku.ts +40 -17
- package/bundle/index-925587a4.js +0 -5642
- package/bundle/lib/wait_for_remote_peer.js +0 -324
- package/bundle/lib/waku_message/topic_only_message.js +0 -2
- package/bundle/lib/waku_message/version_0.js +0 -330
- package/bundle/topic_only_message-a80fe8b2.js +0 -82
- package/dist/lib/multiaddr_to_peer_info.d.ts +0 -3
- package/dist/lib/multiaddr_to_peer_info.js +0 -15
- package/dist/lib/multiaddr_to_peer_info.js.map +0 -1
- package/dist/lib/select_connection.d.ts +0 -2
- package/dist/lib/select_connection.js +0 -19
- package/dist/lib/select_connection.js.map +0 -1
- package/dist/lib/select_peer.d.ts +0 -15
- package/dist/lib/select_peer.js +0 -59
- package/dist/lib/select_peer.js.map +0 -1
- package/dist/lib/waku_filter/filter_rpc.js.map +0 -1
- package/dist/lib/waku_filter/index.js.map +0 -1
- package/dist/lib/waku_light_push/index.js.map +0 -1
- package/dist/lib/waku_light_push/push_rpc.js.map +0 -1
- package/dist/lib/waku_message/topic_only_message.d.ts +0 -16
- package/dist/lib/waku_message/topic_only_message.js.map +0 -1
- package/dist/lib/waku_message/version_0.d.ts +0 -30
- package/dist/lib/waku_message/version_0.js.map +0 -1
- package/dist/lib/waku_relay/constants.js.map +0 -1
- package/dist/lib/waku_relay/index.js.map +0 -1
- package/dist/lib/waku_store/history_rpc.js.map +0 -1
- package/dist/lib/waku_store/index.js.map +0 -1
- package/dist/proto/filter.d.ts +0 -66
- package/dist/proto/filter.js +0 -432
- package/dist/proto/filter.js.map +0 -1
- package/dist/proto/light_push.d.ts +0 -58
- package/dist/proto/light_push.js +0 -376
- package/dist/proto/light_push.js.map +0 -1
- package/dist/proto/message.d.ts +0 -30
- package/dist/proto/message.js +0 -222
- package/dist/proto/message.js.map +0 -1
- package/dist/proto/store.d.ts +0 -105
- package/dist/proto/store.js +0 -609
- package/dist/proto/store.js.map +0 -1
- package/dist/proto/topic_only_message.d.ts +0 -10
- package/dist/proto/topic_only_message.js +0 -46
- package/dist/proto/topic_only_message.js.map +0 -1
- package/src/lib/multiaddr_to_peer_info.ts +0 -17
- package/src/lib/select_connection.ts +0 -24
- package/src/lib/select_peer.ts +0 -77
- package/src/proto/filter.ts +0 -611
- package/src/proto/light_push.ts +0 -535
- package/src/proto/message.ts +0 -313
- package/src/proto/store.ts +0 -853
- package/src/proto/topic_only_message.ts +0 -67
package/dist/index.d.ts
CHANGED
@@ -1,14 +1,14 @@
|
|
1
|
-
export { DefaultPubSubTopic } from "./lib/constants";
|
2
|
-
export { DefaultUserAgent } from "./lib/waku";
|
3
|
-
export
|
4
|
-
export * as
|
5
|
-
export
|
6
|
-
export
|
7
|
-
export
|
8
|
-
export
|
9
|
-
export
|
10
|
-
export
|
11
|
-
export
|
12
|
-
export
|
13
|
-
export
|
14
|
-
export {
|
1
|
+
export { DefaultPubSubTopic } from "./lib/constants.js";
|
2
|
+
export { DefaultUserAgent } from "./lib/waku.js";
|
3
|
+
export { createEncoder, createDecoder, DecodedMessage, } from "./lib/message/version_0.js";
|
4
|
+
export * as waku from "./lib/waku.js";
|
5
|
+
export { WakuNode } from "./lib/waku.js";
|
6
|
+
export * as waku_filter from "./lib/filter/index.js";
|
7
|
+
export { wakuFilter } from "./lib/filter/index.js";
|
8
|
+
export * as waku_light_push from "./lib/light_push/index.js";
|
9
|
+
export { wakuLightPush, LightPushCodec, PushResponse, } from "./lib/light_push/index.js";
|
10
|
+
export * as waku_relay from "./lib/relay/index.js";
|
11
|
+
export { wakuRelay } from "./lib/relay/index.js";
|
12
|
+
export * as waku_store from "./lib/store/index.js";
|
13
|
+
export { PageDirection, wakuStore, StoreCodec, createCursor, } from "./lib/store/index.js";
|
14
|
+
export { waitForRemotePeer } from "./lib/wait_for_remote_peer.js";
|
package/dist/index.js
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
export { DefaultPubSubTopic } from "./lib/constants.js";
|
2
2
|
export { DefaultUserAgent } from "./lib/waku.js";
|
3
|
-
export
|
4
|
-
export * as proto_topic_only_message from "./proto/topic_only_message.js";
|
3
|
+
export { createEncoder, createDecoder, DecodedMessage, } from "./lib/message/version_0.js";
|
5
4
|
export * as waku from "./lib/waku.js";
|
6
5
|
export { WakuNode } from "./lib/waku.js";
|
7
|
-
export * as waku_filter from "./lib/
|
8
|
-
export { wakuFilter } from "./lib/
|
9
|
-
export * as waku_light_push from "./lib/
|
10
|
-
export { wakuLightPush, LightPushCodec, PushResponse, } from "./lib/
|
11
|
-
export * as waku_relay from "./lib/
|
12
|
-
export { wakuRelay } from "./lib/
|
13
|
-
export * as waku_store from "./lib/
|
14
|
-
export { PageDirection, wakuStore, StoreCodec, createCursor, } from "./lib/
|
6
|
+
export * as waku_filter from "./lib/filter/index.js";
|
7
|
+
export { wakuFilter } from "./lib/filter/index.js";
|
8
|
+
export * as waku_light_push from "./lib/light_push/index.js";
|
9
|
+
export { wakuLightPush, LightPushCodec, PushResponse, } from "./lib/light_push/index.js";
|
10
|
+
export * as waku_relay from "./lib/relay/index.js";
|
11
|
+
export { wakuRelay } from "./lib/relay/index.js";
|
12
|
+
export * as waku_store from "./lib/store/index.js";
|
13
|
+
export { PageDirection, wakuStore, StoreCodec, createCursor, } from "./lib/store/index.js";
|
14
|
+
export { waitForRemotePeer } from "./lib/wait_for_remote_peer.js";
|
15
15
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,GACf,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,KAAK,WAAW,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,KAAK,eAAe,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EACL,aAAa,EACb,cAAc,EACd,YAAY,GACb,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAC;AACnD,OAAO,EACL,aAAa,EACb,SAAS,EACT,UAAU,EACV,YAAY,GACb,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"filter_rpc.js","sourceRoot":"","sources":["../../../src/lib/filter/filter_rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,KAAK,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAMlC;;GAEG;AACH,MAAM,OAAO,SAAS;IACpB,YAA0B,KAAsB;QAAtB,UAAK,GAAL,KAAK,CAAiB;IAAG,CAAC;IAEpD,MAAM,CAAC,aAAa,CAClB,KAAa,EACb,cAA+B,EAC/B,SAAkB,EAClB,SAAS,GAAG,IAAI;QAEhB,OAAO,IAAI,SAAS,CAAC;YACnB,SAAS,EAAE,SAAS,IAAI,IAAI,EAAE;YAC9B,OAAO,EAAE;gBACP,SAAS;gBACT,KAAK;gBACL,cAAc;aACf;YACD,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,KAAiB;QAC7B,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1C,OAAO,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IAC9B,CAAC;CACF"}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import type { ConnectionManager } from "@libp2p/interface-connection-manager";
|
2
2
|
import type { PeerStore } from "@libp2p/interface-peer-store";
|
3
3
|
import type { Registrar } from "@libp2p/interface-registrar";
|
4
|
-
import type {
|
5
|
-
import { ContentFilter } from "./filter_rpc";
|
4
|
+
import type { IFilter } from "@waku/interfaces";
|
5
|
+
import { ContentFilter } from "./filter_rpc.js";
|
6
6
|
export { ContentFilter };
|
7
7
|
export declare const FilterCodec = "/vac/waku/filter/2.0.0-beta1";
|
8
8
|
export interface FilterComponents {
|
@@ -22,4 +22,4 @@ export interface CreateOptions {
|
|
22
22
|
pubSubTopic?: string;
|
23
23
|
}
|
24
24
|
export declare type UnsubscribeFunction = () => Promise<void>;
|
25
|
-
export declare function wakuFilter(init?: Partial<CreateOptions>): (components: FilterComponents) =>
|
25
|
+
export declare function wakuFilter(init?: Partial<CreateOptions>): (components: FilterComponents) => IFilter;
|
@@ -1,11 +1,10 @@
|
|
1
|
+
import { getPeersForProtocol, selectConnection, selectPeerForProtocol, selectRandomPeer, } from "@waku/libp2p-utils";
|
1
2
|
import debug from "debug";
|
2
3
|
import all from "it-all";
|
3
4
|
import * as lp from "it-length-prefixed";
|
4
5
|
import { pipe } from "it-pipe";
|
5
6
|
import { DefaultPubSubTopic } from "../constants.js";
|
6
7
|
import { groupByContentTopic } from "../group_by.js";
|
7
|
-
import { selectConnection } from "../select_connection.js";
|
8
|
-
import { getPeersForProtocol, selectPeerForProtocol, selectRandomPeer, } from "../select_peer.js";
|
9
8
|
import { toProtoMessage } from "../to_proto_message.js";
|
10
9
|
import { FilterRPC } from "./filter_rpc.js";
|
11
10
|
export const FilterCodec = "/vac/waku/filter/2.0.0-beta1";
|
@@ -17,7 +16,7 @@ const log = debug("waku:filter");
|
|
17
16
|
* - https://github.com/status-im/go-waku/issues/245
|
18
17
|
* - https://github.com/status-im/nwaku/issues/948
|
19
18
|
*/
|
20
|
-
class
|
19
|
+
class Filter {
|
21
20
|
constructor(components, options) {
|
22
21
|
this.components = components;
|
23
22
|
this.subscriptions = new Map();
|
@@ -182,6 +181,6 @@ class WakuFilter {
|
|
182
181
|
}
|
183
182
|
}
|
184
183
|
export function wakuFilter(init = {}) {
|
185
|
-
return (components) => new
|
184
|
+
return (components) => new Filter(components, init);
|
186
185
|
}
|
187
186
|
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/filter/index.ts"],"names":[],"mappings":"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"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { ConnectionManager } from "@libp2p/interface-connection-manager";
|
2
2
|
import type { PeerStore } from "@libp2p/interface-peer-store";
|
3
|
-
import type {
|
4
|
-
import { PushResponse } from "
|
3
|
+
import type { ILightPush } from "@waku/interfaces";
|
4
|
+
import { PushResponse } from "@waku/proto";
|
5
5
|
export declare const LightPushCodec = "/vac/waku/lightpush/2.0.0-beta1";
|
6
6
|
export { PushResponse };
|
7
7
|
export interface LightPushComponents {
|
@@ -19,4 +19,4 @@ export interface CreateOptions {
|
|
19
19
|
*/
|
20
20
|
pubSubTopic?: string;
|
21
21
|
}
|
22
|
-
export declare function wakuLightPush(init?: Partial<CreateOptions>): (components: LightPushComponents) =>
|
22
|
+
export declare function wakuLightPush(init?: Partial<CreateOptions>): (components: LightPushComponents) => ILightPush;
|
@@ -1,12 +1,11 @@
|
|
1
|
+
import { getPeersForProtocol, selectConnection, selectPeerForProtocol, selectRandomPeer, } from "@waku/libp2p-utils";
|
2
|
+
import { PushResponse } from "@waku/proto";
|
1
3
|
import debug from "debug";
|
2
4
|
import all from "it-all";
|
3
5
|
import * as lp from "it-length-prefixed";
|
4
6
|
import { pipe } from "it-pipe";
|
5
7
|
import { Uint8ArrayList } from "uint8arraylist";
|
6
|
-
import { PushResponse } from "../../proto/light_push.js";
|
7
8
|
import { DefaultPubSubTopic } from "../constants.js";
|
8
|
-
import { selectConnection } from "../select_connection.js";
|
9
|
-
import { getPeersForProtocol, selectPeerForProtocol, selectRandomPeer, } from "../select_peer.js";
|
10
9
|
import { PushRPC } from "./push_rpc.js";
|
11
10
|
const log = debug("waku:light-push");
|
12
11
|
export const LightPushCodec = "/vac/waku/lightpush/2.0.0-beta1";
|
@@ -14,7 +13,7 @@ export { PushResponse };
|
|
14
13
|
/**
|
15
14
|
* Implements the [Waku v2 Light Push protocol](https://rfc.vac.dev/spec/19/).
|
16
15
|
*/
|
17
|
-
class
|
16
|
+
class LightPush {
|
18
17
|
constructor(components, options) {
|
19
18
|
this.components = components;
|
20
19
|
this.pubSubTopic = options?.pubSubTopic ?? DefaultPubSubTopic;
|
@@ -84,6 +83,6 @@ class WakuLightPush {
|
|
84
83
|
}
|
85
84
|
}
|
86
85
|
export function wakuLightPush(init = {}) {
|
87
|
-
return (components) => new
|
86
|
+
return (components) => new LightPush(components, init);
|
88
87
|
}
|
89
88
|
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/light_push/index.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"push_rpc.js","sourceRoot":"","sources":["../../../src/lib/light_push/push_rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,IAAI,KAAK,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAElC,MAAM,OAAO,OAAO;IAClB,YAA0B,KAAoB;QAApB,UAAK,GAAL,KAAK,CAAe;IAAG,CAAC;IAElD,MAAM,CAAC,aAAa,CAClB,OAA0B,EAC1B,WAAmB;QAEnB,OAAO,IAAI,OAAO,CAAC;YACjB,SAAS,EAAE,IAAI,EAAE;YACjB,OAAO,EAAE;gBACP,OAAO,EAAE,OAAO;gBAChB,WAAW,EAAE,WAAW;aACzB;YACD,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,KAAqB;QACjC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM;QACJ,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;IAC5B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;CACF"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import type { IDecodedMessage, IDecoder, IProtoMessage } from "@waku/interfaces";
|
2
|
+
import { proto_topic_only_message as proto } from "@waku/proto";
|
3
|
+
export declare class TopicOnlyMessage implements IDecodedMessage {
|
4
|
+
private proto;
|
5
|
+
payload: undefined;
|
6
|
+
rateLimitProof: undefined;
|
7
|
+
timestamp: undefined;
|
8
|
+
ephemeral: undefined;
|
9
|
+
constructor(proto: proto.TopicOnlyMessage);
|
10
|
+
get contentTopic(): string;
|
11
|
+
}
|
12
|
+
export declare class TopicOnlyDecoder implements IDecoder<TopicOnlyMessage> {
|
13
|
+
contentTopic: string;
|
14
|
+
fromWireToProtoObj(bytes: Uint8Array): Promise<IProtoMessage | undefined>;
|
15
|
+
fromProtoObj(proto: IProtoMessage): Promise<TopicOnlyMessage | undefined>;
|
16
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"topic_only_message.js","sourceRoot":"","sources":["../../../src/lib/message/topic_only_message.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,wBAAwB,IAAI,KAAK,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,GAAG,GAAG,KAAK,CAAC,yBAAyB,CAAC,CAAC;AAE7C,MAAM,OAAO,gBAAgB;IAM3B,YAAoB,KAA6B;QAA7B,UAAK,GAAL,KAAK,CAAwB;IAAG,CAAC;IAErD,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC;IACvC,CAAC;CACF;AAED,MAAM,OAAO,gBAAgB;IAA7B;QACS,iBAAY,GAAG,EAAE,CAAC;IAoB3B,CAAC;IAlBC,kBAAkB,CAAC,KAAiB;QAClC,MAAM,YAAY,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1D,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;QACrC,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,YAAY,EAAE,YAAY,CAAC,YAAY;YACvC,OAAO,EAAE,SAAS;YAClB,cAAc,EAAE,SAAS;YACzB,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,KAAoB;QAEpB,OAAO,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;CACF"}
|
@@ -0,0 +1,54 @@
|
|
1
|
+
import type { IDecodedMessage, IDecoder, IEncoder, IMessage, IProtoMessage, IRateLimitProof } from "@waku/interfaces";
|
2
|
+
import { proto_message as proto } from "@waku/proto";
|
3
|
+
export declare const Version = 0;
|
4
|
+
export { proto };
|
5
|
+
export declare class DecodedMessage implements IDecodedMessage {
|
6
|
+
protected proto: proto.WakuMessage;
|
7
|
+
constructor(proto: proto.WakuMessage);
|
8
|
+
get _rawPayload(): Uint8Array | undefined;
|
9
|
+
get ephemeral(): boolean;
|
10
|
+
get payload(): Uint8Array | undefined;
|
11
|
+
get contentTopic(): string | undefined;
|
12
|
+
get _rawTimestamp(): bigint | undefined;
|
13
|
+
get timestamp(): Date | undefined;
|
14
|
+
get version(): number;
|
15
|
+
get rateLimitProof(): IRateLimitProof | undefined;
|
16
|
+
}
|
17
|
+
export declare class Encoder implements IEncoder {
|
18
|
+
contentTopic: string;
|
19
|
+
ephemeral: boolean;
|
20
|
+
constructor(contentTopic: string, ephemeral?: boolean);
|
21
|
+
toWire(message: IMessage): Promise<Uint8Array>;
|
22
|
+
toProtoObj(message: IMessage): Promise<IProtoMessage>;
|
23
|
+
}
|
24
|
+
/**
|
25
|
+
* Creates an encoder that encode messages without Waku level encryption or signature.
|
26
|
+
*
|
27
|
+
* An encoder is used to encode messages in the [`14/WAKU2-MESSAGE](https://rfc.vac.dev/spec/14/)
|
28
|
+
* format to be sent over the Waku network. The resulting encoder can then be
|
29
|
+
* pass to { @link @waku/interfaces.LightPush.push } or
|
30
|
+
* { @link @waku/interfaces.Relay.send } to automatically encode outgoing
|
31
|
+
* messages.
|
32
|
+
*
|
33
|
+
* @param contentTopic The content topic to set on outgoing messages.
|
34
|
+
* @param ephemeral An optional flag to mark message as ephemeral, ie, not to be stored by Waku Store nodes.
|
35
|
+
*/
|
36
|
+
export declare function createEncoder(contentTopic: string, ephemeral?: boolean): Encoder;
|
37
|
+
export declare class Decoder implements IDecoder<DecodedMessage> {
|
38
|
+
contentTopic: string;
|
39
|
+
constructor(contentTopic: string);
|
40
|
+
fromWireToProtoObj(bytes: Uint8Array): Promise<IProtoMessage | undefined>;
|
41
|
+
fromProtoObj(proto: IProtoMessage): Promise<DecodedMessage | undefined>;
|
42
|
+
}
|
43
|
+
/**
|
44
|
+
* Creates an decoder that decode messages without Waku level encryption.
|
45
|
+
*
|
46
|
+
* A decoder is used to decode messages from the [14/WAKU2-MESSAGE](https://rfc.vac.dev/spec/14/)
|
47
|
+
* format when received from the Waku network. The resulting decoder can then be
|
48
|
+
* pass to { @link @waku/interfaces.Filter.subscribe } or
|
49
|
+
* { @link @waku/interfaces.Relay.subscribe } to automatically decode incoming
|
50
|
+
* messages.
|
51
|
+
*
|
52
|
+
* @param contentTopic The resulting decoder will only decode messages with this content topic.
|
53
|
+
*/
|
54
|
+
export declare function createDecoder(contentTopic: string): Decoder;
|
@@ -1,10 +1,10 @@
|
|
1
|
+
import { proto_message as proto } from "@waku/proto";
|
1
2
|
import debug from "debug";
|
2
|
-
import * as proto from "../../proto/message.js";
|
3
3
|
const log = debug("waku:message:version-0");
|
4
4
|
const OneMillion = BigInt(1000000);
|
5
5
|
export const Version = 0;
|
6
6
|
export { proto };
|
7
|
-
export class
|
7
|
+
export class DecodedMessage {
|
8
8
|
constructor(proto) {
|
9
9
|
this.proto = proto;
|
10
10
|
}
|
@@ -52,7 +52,7 @@ export class MessageV0 {
|
|
52
52
|
return this.proto.rateLimitProof;
|
53
53
|
}
|
54
54
|
}
|
55
|
-
export class
|
55
|
+
export class Encoder {
|
56
56
|
constructor(contentTopic, ephemeral = false) {
|
57
57
|
this.contentTopic = contentTopic;
|
58
58
|
this.ephemeral = ephemeral;
|
@@ -72,10 +72,24 @@ export class EncoderV0 {
|
|
72
72
|
};
|
73
73
|
}
|
74
74
|
}
|
75
|
-
|
76
|
-
|
75
|
+
/**
|
76
|
+
* Creates an encoder that encode messages without Waku level encryption or signature.
|
77
|
+
*
|
78
|
+
* An encoder is used to encode messages in the [`14/WAKU2-MESSAGE](https://rfc.vac.dev/spec/14/)
|
79
|
+
* format to be sent over the Waku network. The resulting encoder can then be
|
80
|
+
* pass to { @link @waku/interfaces.LightPush.push } or
|
81
|
+
* { @link @waku/interfaces.Relay.send } to automatically encode outgoing
|
82
|
+
* messages.
|
83
|
+
*
|
84
|
+
* @param contentTopic The content topic to set on outgoing messages.
|
85
|
+
* @param ephemeral An optional flag to mark message as ephemeral, ie, not to be stored by Waku Store nodes.
|
86
|
+
*/
|
87
|
+
export function createEncoder(contentTopic, ephemeral = false) {
|
88
|
+
return new Encoder(contentTopic, ephemeral);
|
89
|
+
}
|
90
|
+
export class Decoder {
|
91
|
+
constructor(contentTopic) {
|
77
92
|
this.contentTopic = contentTopic;
|
78
|
-
this.ephemeral = ephemeral;
|
79
93
|
}
|
80
94
|
fromWireToProtoObj(bytes) {
|
81
95
|
const protoMessage = proto.WakuMessage.decode(bytes);
|
@@ -98,7 +112,21 @@ export class DecoderV0 {
|
|
98
112
|
log("Failed to decode due to incorrect version, expected:", Version, ", actual:", proto.version);
|
99
113
|
return Promise.resolve(undefined);
|
100
114
|
}
|
101
|
-
return new
|
115
|
+
return new DecodedMessage(proto);
|
102
116
|
}
|
103
117
|
}
|
118
|
+
/**
|
119
|
+
* Creates an decoder that decode messages without Waku level encryption.
|
120
|
+
*
|
121
|
+
* A decoder is used to decode messages from the [14/WAKU2-MESSAGE](https://rfc.vac.dev/spec/14/)
|
122
|
+
* format when received from the Waku network. The resulting decoder can then be
|
123
|
+
* pass to { @link @waku/interfaces.Filter.subscribe } or
|
124
|
+
* { @link @waku/interfaces.Relay.subscribe } to automatically decode incoming
|
125
|
+
* messages.
|
126
|
+
*
|
127
|
+
* @param contentTopic The resulting decoder will only decode messages with this content topic.
|
128
|
+
*/
|
129
|
+
export function createDecoder(contentTopic) {
|
130
|
+
return new Decoder(contentTopic);
|
131
|
+
}
|
104
132
|
//# sourceMappingURL=version_0.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"version_0.js","sourceRoot":"","sources":["../../../src/lib/message/version_0.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"predefined_bootstrap_nodes.js","sourceRoot":"","sources":["../../src/lib/predefined_bootstrap_nodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"predefined_bootstrap_nodes.js","sourceRoot":"","sources":["../../src/lib/predefined_bootstrap_nodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC,MAAM,CAAN,IAAY,KAGX;AAHD,WAAY,KAAK;IACf,sBAAa,CAAA;IACb,sBAAa,CAAA;AACf,CAAC,EAHW,KAAK,KAAL,KAAK,QAGhB;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,2BAA2B,CACzC,QAAe,KAAK,CAAC,IAAI,EACzB,eAAuB,mBAAmB;IAE1C,IAAI,YAAY,IAAI,CAAC,EAAE;QACrB,OAAO,EAAE,CAAC;KACX;IAED,IAAI,KAAK,CAAC;IACV,QAAQ,KAAK,EAAE;QACb,KAAK,KAAK,CAAC,IAAI;YACb,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,gBAAgB,CAAC,CAAC;YACvD,MAAM;QACR,KAAK,KAAK,CAAC,IAAI;YACb,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,gBAAgB,CAAC,CAAC;YACvD,MAAM;QACR;YACE,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,gBAAgB,CAAC,CAAC;KAC1D;IAED,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAa,CAAC;IAEzC,OAAO,qBAAqB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,MAAM,EAAE;QACN,aAAa,EAAE;YACb,gBAAgB,EAAE;gBAChB,sCAAsC,EACpC,+HAA+H;gBACjI,6BAA6B,EAC3B,sHAAsH;gBACxH,sCAAsC,EACpC,+HAA+H;aAClI;SACF;QACD,aAAa,EAAE;YACb,gBAAgB,EAAE;gBAChB,sCAAsC,EACpC,+HAA+H;gBACjI,6BAA6B,EAC3B,sHAAsH;gBACxH,sCAAsC,EACpC,+HAA+H;aAClI;SACF;KACF;CACF,CAAC"}
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/lib/relay/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC;AAC3B,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,6BAA6B;IAC7B,uBAAuB;CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,yBAAyB,CAAC;AAE/D;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAEtC;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAElC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AAErC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC"}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { GossipSubComponents, GossipsubOpts } from "@chainsafe/libp2p-gossipsub";
|
2
|
-
import type { Callback,
|
3
|
-
import {
|
4
|
-
export declare type Observer<T extends
|
5
|
-
decoder:
|
2
|
+
import type { Callback, IDecoder, IRelay } from "@waku/interfaces";
|
3
|
+
import { IDecodedMessage } from "@waku/interfaces";
|
4
|
+
export declare type Observer<T extends IDecodedMessage> = {
|
5
|
+
decoder: IDecoder<T>;
|
6
6
|
callback: Callback<T>;
|
7
7
|
};
|
8
8
|
export declare type CreateOptions = {
|
@@ -21,4 +21,4 @@ export declare type CreateOptions = {
|
|
21
21
|
*/
|
22
22
|
pubSubTopic?: string;
|
23
23
|
} & GossipsubOpts;
|
24
|
-
export declare function wakuRelay(init?: Partial<CreateOptions>): (components: GossipSubComponents) =>
|
24
|
+
export declare function wakuRelay(init?: Partial<CreateOptions>): (components: GossipSubComponents) => IRelay;
|
@@ -2,8 +2,8 @@ import { GossipSub, } from "@chainsafe/libp2p-gossipsub";
|
|
2
2
|
import { SignaturePolicy } from "@chainsafe/libp2p-gossipsub/types";
|
3
3
|
import debug from "debug";
|
4
4
|
import { DefaultPubSubTopic } from "../constants.js";
|
5
|
+
import { TopicOnlyDecoder } from "../message/topic_only_message.js";
|
5
6
|
import { pushOrInitMapSet } from "../push_or_init_map.js";
|
6
|
-
import { TopicOnlyDecoder } from "../waku_message/topic_only_message.js";
|
7
7
|
import * as constants from "./constants.js";
|
8
8
|
const log = debug("waku:relay");
|
9
9
|
/**
|
@@ -12,7 +12,7 @@ const log = debug("waku:relay");
|
|
12
12
|
*
|
13
13
|
* @implements {require('libp2p-interfaces/src/pubsub')}
|
14
14
|
*/
|
15
|
-
class
|
15
|
+
class Relay extends GossipSub {
|
16
16
|
constructor(components, options) {
|
17
17
|
options = Object.assign(options ?? {}, {
|
18
18
|
// Ensure that no signature is included nor expected in the messages.
|
@@ -106,9 +106,9 @@ class WakuRelay extends GossipSub {
|
|
106
106
|
return super.getMeshPeers(topic ?? this.pubSubTopic);
|
107
107
|
}
|
108
108
|
}
|
109
|
-
|
110
|
-
|
109
|
+
Relay.multicodec = constants.RelayCodecs[0];
|
110
|
+
Relay.multicodec = constants.RelayCodecs[constants.RelayCodecs.length - 1];
|
111
111
|
export function wakuRelay(init = {}) {
|
112
|
-
return (components) => new
|
112
|
+
return (components) => new Relay(components, init);
|
113
113
|
}
|
114
114
|
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/relay/index.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"history_rpc.js","sourceRoot":"","sources":["../../../src/lib/store/history_rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,KAAK,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAElC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAS,CAAC,CAAC;AAErC,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,sCAAqB,CAAA;IACrB,oCAAmB,CAAA;AACrB,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAYD,MAAM,OAAO,UAAU;IACrB,YAAoC,KAAuB;QAAvB,UAAK,GAAL,KAAK,CAAkB;IAAG,CAAC;IAE/D,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,MAAc;QAC/B,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;YAC/D,OAAO,EAAE,YAAY,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAEzD,MAAM,UAAU,GAAG;YACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;YACjC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS;SACU,CAAC;QAEtB,IAAI,SAAS,EAAE,OAAO,CAAC;QACvB,IAAI,MAAM,CAAC,SAAS,EAAE;YACpB,0CAA0C;YAC1C,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC;SAC7D;QAED,IAAI,MAAM,CAAC,OAAO,EAAE;YAClB,0CAA0C;YAC1C,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC;SACzD;QACD,OAAO,IAAI,UAAU,CAAC;YACpB,SAAS,EAAE,IAAI,EAAE;YACjB,KAAK,EAAE;gBACL,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,cAAc;gBACd,UAAU;gBACV,SAAS;gBACT,OAAO;aACR;YACD,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAqB;QAC1B,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3C,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM;QACJ,OAAO,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;CACF;AAED,SAAS,gBAAgB,CACvB,aAA4B;IAE5B,QAAQ,aAAa,EAAE;QACrB,KAAK,aAAa,CAAC,QAAQ;YACzB,OAAO,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,8BAA8B,CAAC;QACnE,KAAK,aAAa,CAAC,OAAO;YACxB,OAAO,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,iBAAiB,CAAC;QACtD;YACE,OAAO,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,8BAA8B,CAAC;KACpE;AACH,CAAC"}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import type { ConnectionManager } from "@libp2p/interface-connection-manager";
|
2
2
|
import type { PeerId } from "@libp2p/interface-peer-id";
|
3
3
|
import type { PeerStore } from "@libp2p/interface-peer-store";
|
4
|
-
import {
|
5
|
-
import { PageDirection } from "./history_rpc";
|
4
|
+
import { Cursor, IDecodedMessage, Index, IStore } from "@waku/interfaces";
|
5
|
+
import { PageDirection } from "./history_rpc.js";
|
6
6
|
export declare const StoreCodec = "/vac/waku/store/2.0.0-beta4";
|
7
7
|
export declare const DefaultPageSize = 10;
|
8
8
|
export { PageDirection };
|
@@ -58,9 +58,11 @@ export interface QueryOptions {
|
|
58
58
|
timeFilter?: TimeFilter;
|
59
59
|
/**
|
60
60
|
* Cursor as an index to start a query from.
|
61
|
+
* The cursor index will be exclusive (i.e. the message at the cursor index will not be included in the result).
|
62
|
+
* If undefined, the query will start from the beginning or end of the history, depending on the page direction.
|
61
63
|
*/
|
62
|
-
cursor?:
|
64
|
+
cursor?: Cursor;
|
63
65
|
}
|
64
66
|
export declare function isDefined<T>(msg: T | undefined): msg is T;
|
65
|
-
export declare function createCursor(message:
|
66
|
-
export declare function wakuStore(init?: Partial<CreateOptions>): (components: StoreComponents) =>
|
67
|
+
export declare function createCursor(message: IDecodedMessage, pubsubTopic?: string): Promise<Index>;
|
68
|
+
export declare function wakuStore(init?: Partial<CreateOptions>): (components: StoreComponents) => IStore;
|
@@ -1,14 +1,13 @@
|
|
1
1
|
import { sha256 } from "@noble/hashes/sha256";
|
2
2
|
import { concat, utf8ToBytes } from "@waku/byte-utils";
|
3
|
+
import { getPeersForProtocol, selectConnection, selectPeerForProtocol, } from "@waku/libp2p-utils";
|
4
|
+
import { proto_store as proto } from "@waku/proto";
|
3
5
|
import debug from "debug";
|
4
6
|
import all from "it-all";
|
5
7
|
import * as lp from "it-length-prefixed";
|
6
8
|
import { pipe } from "it-pipe";
|
7
9
|
import { Uint8ArrayList } from "uint8arraylist";
|
8
|
-
import * as proto from "../../proto/store.js";
|
9
10
|
import { DefaultPubSubTopic } from "../constants.js";
|
10
|
-
import { selectConnection } from "../select_connection.js";
|
11
|
-
import { getPeersForProtocol, selectPeerForProtocol } from "../select_peer.js";
|
12
11
|
import { toProtoMessage } from "../to_proto_message.js";
|
13
12
|
import { HistoryRPC, PageDirection } from "./history_rpc.js";
|
14
13
|
var HistoryError = proto.HistoryResponse.HistoryError;
|
@@ -21,7 +20,7 @@ export { PageDirection };
|
|
21
20
|
*
|
22
21
|
* The Waku Store protocol can be used to retrieved historical messages.
|
23
22
|
*/
|
24
|
-
class
|
23
|
+
class Store {
|
25
24
|
constructor(components, options) {
|
26
25
|
this.components = components;
|
27
26
|
this.pubSubTopic = options?.pubSubTopic ?? DefaultPubSubTopic;
|
@@ -163,8 +162,9 @@ async function* paginate(connection, protocol, queryOpts, decoders, cursor) {
|
|
163
162
|
Array.from(decoders.keys()).toString()) {
|
164
163
|
throw new Error("Internal error, the decoders should match the query's content topics");
|
165
164
|
}
|
165
|
+
let currentCursor = cursor;
|
166
166
|
while (true) {
|
167
|
-
queryOpts =
|
167
|
+
queryOpts.cursor = currentCursor;
|
168
168
|
const stream = await connection.newStream(protocol);
|
169
169
|
const historyRpcQuery = HistoryRPC.createQuery(queryOpts);
|
170
170
|
log("Querying store peer", connection.remoteAddr.toString(), `for (${queryOpts.pubSubTopic})`, queryOpts.contentTopics);
|
@@ -198,13 +198,14 @@ async function* paginate(connection, protocol, queryOpts, decoders, cursor) {
|
|
198
198
|
}
|
199
199
|
return Promise.resolve(undefined);
|
200
200
|
});
|
201
|
-
|
202
|
-
if (typeof
|
201
|
+
const nextCursor = response.pagingInfo?.cursor;
|
202
|
+
if (typeof nextCursor === "undefined") {
|
203
203
|
// If the server does not return cursor then there is an issue,
|
204
204
|
// Need to abort, or we end up in an infinite loop
|
205
205
|
log("Stopping pagination due to `response.pagingInfo.cursor` missing from store response");
|
206
206
|
break;
|
207
207
|
}
|
208
|
+
currentCursor = nextCursor;
|
208
209
|
const responsePageSize = response.pagingInfo?.pageSize;
|
209
210
|
const queryPageSize = historyRpcQuery.query?.pagingInfo?.pageSize;
|
210
211
|
if (
|
@@ -237,6 +238,6 @@ export async function createCursor(message, pubsubTopic = DefaultPubSubTopic) {
|
|
237
238
|
};
|
238
239
|
}
|
239
240
|
export function wakuStore(init = {}) {
|
240
|
-
return (components) => new
|
241
|
+
return (components) => new Store(components, init);
|
241
242
|
}
|
242
243
|
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/store/index.ts"],"names":[],"mappings":"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"}
|
@@ -1,3 +1,3 @@
|
|
1
|
-
import {
|
2
|
-
import { WakuMessage as WakuMessageProto } from "
|
3
|
-
export declare function toProtoMessage(wire: WakuMessageProto):
|
1
|
+
import { IProtoMessage } from "@waku/interfaces";
|
2
|
+
import { WakuMessage as WakuMessageProto } from "@waku/proto";
|
3
|
+
export declare function toProtoMessage(wire: WakuMessageProto): IProtoMessage;
|