@waku/core 0.0.21 → 0.0.23

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.
Files changed (62) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/bundle/base_protocol-84d9b670.js +1198 -0
  3. package/bundle/index.js +1163 -1281
  4. package/bundle/lib/base_protocol.js +2 -116
  5. package/bundle/lib/message/version_0.js +1 -1
  6. package/bundle/lib/predefined_bootstrap_nodes.js +6 -6
  7. package/bundle/{version_0-86411fdf.js → version_0-74b4b9db.js} +875 -794
  8. package/dist/.tsbuildinfo +1 -0
  9. package/dist/index.d.ts +6 -5
  10. package/dist/index.js +5 -4
  11. package/dist/index.js.map +1 -1
  12. package/dist/lib/base_protocol.d.ts +18 -5
  13. package/dist/lib/base_protocol.js +25 -8
  14. package/dist/lib/base_protocol.js.map +1 -1
  15. package/dist/lib/connection_manager.d.ts +3 -5
  16. package/dist/lib/connection_manager.js +53 -45
  17. package/dist/lib/connection_manager.js.map +1 -1
  18. package/dist/lib/filter/filter_rpc.js +4 -4
  19. package/dist/lib/filter/index.d.ts +4 -0
  20. package/dist/lib/filter/index.js +24 -27
  21. package/dist/lib/filter/index.js.map +1 -1
  22. package/dist/lib/filterPeers.d.ts +10 -0
  23. package/dist/lib/filterPeers.js +31 -0
  24. package/dist/lib/filterPeers.js.map +1 -0
  25. package/dist/lib/keep_alive_manager.d.ts +4 -6
  26. package/dist/lib/keep_alive_manager.js +27 -8
  27. package/dist/lib/keep_alive_manager.js.map +1 -1
  28. package/dist/lib/light_push/index.js +62 -33
  29. package/dist/lib/light_push/index.js.map +1 -1
  30. package/dist/lib/light_push/push_rpc.js +2 -2
  31. package/dist/lib/message/version_0.d.ts +1 -1
  32. package/dist/lib/message/version_0.js +3 -3
  33. package/dist/lib/message/version_0.js.map +1 -1
  34. package/dist/lib/predefined_bootstrap_nodes.js +6 -6
  35. package/dist/lib/store/history_rpc.js +3 -3
  36. package/dist/lib/store/index.d.ts +0 -5
  37. package/dist/lib/store/index.js +54 -37
  38. package/dist/lib/store/index.js.map +1 -1
  39. package/dist/lib/stream_manager.d.ts +15 -0
  40. package/dist/lib/stream_manager.js +53 -0
  41. package/dist/lib/stream_manager.js.map +1 -0
  42. package/dist/lib/to_proto_message.js +1 -1
  43. package/dist/lib/waku.d.ts +2 -2
  44. package/dist/lib/waku.js +1 -1
  45. package/package.json +16 -22
  46. package/src/index.ts +7 -13
  47. package/src/lib/base_protocol.ts +49 -18
  48. package/src/lib/connection_manager.ts +82 -66
  49. package/src/lib/filter/filter_rpc.ts +4 -4
  50. package/src/lib/filter/index.ts +32 -39
  51. package/src/lib/filterPeers.ts +43 -0
  52. package/src/lib/keep_alive_manager.ts +34 -14
  53. package/src/lib/light_push/index.ts +103 -47
  54. package/src/lib/light_push/push_rpc.ts +2 -2
  55. package/src/lib/message/version_0.ts +8 -5
  56. package/src/lib/predefined_bootstrap_nodes.ts +7 -7
  57. package/src/lib/store/history_rpc.ts +4 -4
  58. package/src/lib/store/index.ts +70 -51
  59. package/src/lib/stream_manager.ts +69 -0
  60. package/src/lib/to_proto_message.ts +1 -1
  61. package/src/lib/wait_for_remote_peer.ts +1 -1
  62. package/src/lib/waku.ts +3 -3
@@ -37,7 +37,7 @@ export class FilterSubscribeRpc {
37
37
  requestId: uuid(),
38
38
  filterSubscribeType: proto.FilterSubscribeRequest.FilterSubscribeType.SUBSCRIBE,
39
39
  pubsubTopic,
40
- contentTopics,
40
+ contentTopics
41
41
  });
42
42
  }
43
43
  static createUnsubscribeRequest(pubsubTopic, contentTopics) {
@@ -45,7 +45,7 @@ export class FilterSubscribeRpc {
45
45
  requestId: uuid(),
46
46
  filterSubscribeType: proto.FilterSubscribeRequest.FilterSubscribeType.UNSUBSCRIBE,
47
47
  pubsubTopic,
48
- contentTopics,
48
+ contentTopics
49
49
  });
50
50
  }
51
51
  static createUnsubscribeAllRequest(pubsubTopic) {
@@ -53,7 +53,7 @@ export class FilterSubscribeRpc {
53
53
  requestId: uuid(),
54
54
  filterSubscribeType: proto.FilterSubscribeRequest.FilterSubscribeType.UNSUBSCRIBE_ALL,
55
55
  pubsubTopic,
56
- contentTopics: [],
56
+ contentTopics: []
57
57
  });
58
58
  }
59
59
  static createSubscriberPingRequest() {
@@ -61,7 +61,7 @@ export class FilterSubscribeRpc {
61
61
  requestId: uuid(),
62
62
  filterSubscribeType: proto.FilterSubscribeRequest.FilterSubscribeType.SUBSCRIBER_PING,
63
63
  pubsubTopic: "",
64
- contentTopics: [],
64
+ contentTopics: []
65
65
  });
66
66
  }
67
67
  static decode(bytes) {
@@ -1,2 +1,6 @@
1
1
  import type { IFilter, Libp2p, ProtocolCreateOptions } from "@waku/interfaces";
2
+ export declare const FilterCodecs: {
3
+ SUBSCRIBE: string;
4
+ PUSH: string;
5
+ };
2
6
  export declare function wakuFilter(init?: Partial<ProtocolCreateOptions>): (libp2p: Libp2p) => IFilter;
@@ -5,11 +5,11 @@ import * as lp from "it-length-prefixed";
5
5
  import { pipe } from "it-pipe";
6
6
  import { BaseProtocol } from "../base_protocol.js";
7
7
  import { DefaultPubSubTopic } from "../constants.js";
8
- import { FilterPushRpc, FilterSubscribeResponse, FilterSubscribeRpc, } from "./filter_rpc.js";
8
+ import { FilterPushRpc, FilterSubscribeResponse, FilterSubscribeRpc } from "./filter_rpc.js";
9
9
  const log = debug("waku:filter:v2");
10
- const FilterCodecs = {
10
+ export const FilterCodecs = {
11
11
  SUBSCRIBE: "/vac/waku/filter-subscribe/2.0.0-beta1",
12
- PUSH: "/vac/waku/filter-push/2.0.0-beta1",
12
+ PUSH: "/vac/waku/filter-push/2.0.0-beta1"
13
13
  };
14
14
  class Subscription {
15
15
  peer;
@@ -52,7 +52,7 @@ class Subscription {
52
52
  // Decoder that decode to different implementations of `IDecodedMessage`
53
53
  const subscriptionCallback = {
54
54
  decoders,
55
- callback,
55
+ callback
56
56
  };
57
57
  // The callback and decoder may override previous values, this is on
58
58
  // purpose as the user may call `subscribe` to refresh the subscription
@@ -117,6 +117,7 @@ class Subscription {
117
117
  class Filter extends BaseProtocol {
118
118
  options;
119
119
  activeSubscriptions = new Map();
120
+ NUM_PEERS_PROTOCOL = 1;
120
121
  getActiveSubscription(pubSubTopic, peerIdStr) {
121
122
  return this.activeSubscriptions.get(`${pubSubTopic}_${peerIdStr}`);
122
123
  }
@@ -132,15 +133,18 @@ class Filter extends BaseProtocol {
132
133
  this.activeSubscriptions = new Map();
133
134
  this.options = options ?? {};
134
135
  }
135
- async createSubscription(pubSubTopic, peerId) {
136
+ async createSubscription(pubSubTopic) {
136
137
  const _pubSubTopic = pubSubTopic ?? this.options.pubSubTopic ?? DefaultPubSubTopic;
137
- const peer = await this.getPeer(peerId);
138
+ const peer = (await this.getPeers({
139
+ maxBootstrapPeers: 1,
140
+ numPeers: this.NUM_PEERS_PROTOCOL
141
+ }))[0];
138
142
  const subscription = this.getActiveSubscription(_pubSubTopic, peer.id.toString()) ??
139
- this.setActiveSubscription(_pubSubTopic, peer.id.toString(), new Subscription(_pubSubTopic, peer, this.newStream.bind(this, peer)));
143
+ this.setActiveSubscription(_pubSubTopic, peer.id.toString(), new Subscription(_pubSubTopic, peer, this.getStream.bind(this, peer)));
140
144
  return subscription;
141
145
  }
142
- toSubscriptionIterator(decoders, opts) {
143
- return toAsyncIterator(this, decoders, opts);
146
+ toSubscriptionIterator(decoders) {
147
+ return toAsyncIterator(this, decoders);
144
148
  }
145
149
  /**
146
150
  * This method is used to satisfy the `IReceiver` interface.
@@ -157,8 +161,8 @@ class Filter extends BaseProtocol {
157
161
  * This method should not be used directly.
158
162
  * Instead, use `createSubscription` to create a new subscription.
159
163
  */
160
- async subscribe(decoders, callback, opts) {
161
- const subscription = await this.createSubscription(undefined, opts?.peerId);
164
+ async subscribe(decoders, callback) {
165
+ const subscription = await this.createSubscription();
162
166
  await subscription.subscribe(decoders, callback);
163
167
  const contentTopics = Array.from(groupByContentTopic(Array.isArray(decoders) ? decoders : [decoders]).keys());
164
168
  return async () => {
@@ -209,22 +213,15 @@ async function pushMessage(subscriptionCallback, pubSubTopic, message) {
209
213
  log("Message has no content topic, skipping");
210
214
  return;
211
215
  }
212
- let didDecodeMsg = false;
213
- // We don't want to wait for decoding failure, just attempt to decode
214
- // all messages and do the call back on the one that works
215
- // noinspection ES6MissingAwait
216
- for (const dec of decoders) {
217
- if (didDecodeMsg)
218
- break;
219
- const decoded = await dec.fromProtoObj(pubSubTopic, message);
220
- if (!decoded) {
221
- log("Not able to decode message");
222
- continue;
223
- }
224
- // This is just to prevent more decoding attempt
225
- // TODO: Could be better if we were to abort promises
226
- didDecodeMsg = Boolean(decoded);
227
- await callback(decoded);
216
+ try {
217
+ const decodePromises = decoders.map((dec) => dec
218
+ .fromProtoObj(pubSubTopic, message)
219
+ .then((decoded) => decoded || Promise.reject("Decoding failed")));
220
+ const decodedMessage = await Promise.any(decodePromises);
221
+ await callback(decodedMessage);
222
+ }
223
+ catch (e) {
224
+ log("Error decoding message", e);
228
225
  }
229
226
  }
230
227
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/filter/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/filter/index.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,QAAQ,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,GAAG,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAOpC,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,SAAS,EAAE,wCAAwC;IACnD,IAAI,EAAE,mCAAmC;CAC1C,CAAC;AAEF,MAAM,YAAY;IACC,IAAI,CAAO;IACX,WAAW,CAAc;IAClC,SAAS,CAAkC;IAE3C,qBAAqB,CAG3B;IAEF,YACE,WAAwB,EACxB,UAAgB,EAChB,SAA0C;QAE1C,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,qBAAqB,GAAG,IAAI,GAAG,EAAE,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,SAAS,CACb,QAAqC,EACrC,QAAqB;QAErB,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACtE,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;QAC/D,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC;QAE7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/C,MAAM,OAAO,GAAG,kBAAkB,CAAC,sBAAsB,CACvD,IAAI,CAAC,WAAW,EAChB,aAAa,CACd,CAAC;QAEF,IAAI;YACF,MAAM,GAAG,GAAG,MAAM,IAAI,CACpB,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAClB,EAAE,CAAC,MAAM,EACT,MAAM,EACN,EAAE,CAAC,MAAM,EACT,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,CACpC,CAAC;YAEF,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,GACzC,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAEjD,IAAI,UAAU,GAAG,GAAG,IAAI,UAAU,IAAI,GAAG,EAAE;gBACzC,MAAM,IAAI,KAAK,CACb,4BAA4B,SAAS,4BAA4B,UAAU,KAAK,UAAU,EAAE,CAC7F,CAAC;aACH;YAED,GAAG,CACD,qBAAqB,EACrB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EACvB,oBAAoB,EACpB,aAAa,CACd,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CACb,6BAA6B;gBAC3B,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE;gBACvB,uBAAuB;gBACvB,aAAa;gBACb,IAAI;gBACJ,CAAC,CACJ,CAAC;SACH;QAED,wDAAwD;QACxD,4FAA4F;QAC5F,qCAAqC;QACrC,mBAAmB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE;YACrD,qEAAqE;YACrE,wEAAwE;YACxE,MAAM,oBAAoB,GAAG;gBAC3B,QAAQ;gBACR,QAAQ;aAC2C,CAAC;YAEtD,oEAAoE;YACpE,uEAAuE;YACvE,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,aAA6B;QAC7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,wBAAwB,CACpE,IAAI,CAAC,WAAW,EAChB,aAAa,CACd,CAAC;QAEF,IAAI;YACF,MAAM,IAAI,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;SACnE;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,KAAK,CAAC,CAAC;SAChD;QAED,aAAa,CAAC,OAAO,CAAC,CAAC,YAAoB,EAAE,EAAE;YAC7C,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/C,MAAM,OAAO,GAAG,kBAAkB,CAAC,2BAA2B,EAAE,CAAC;QAEjE,IAAI;YACF,MAAM,GAAG,GAAG,MAAM,IAAI,CACpB,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAClB,EAAE,CAAC,MAAM,EACT,MAAM,EACN,EAAE,CAAC,MAAM,EACT,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,CACpC,CAAC;YAEF,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,GACzC,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAEjD,IAAI,UAAU,GAAG,GAAG,IAAI,UAAU,IAAI,GAAG,EAAE;gBACzC,MAAM,IAAI,KAAK,CACb,uBAAuB,SAAS,4BAA4B,UAAU,KAAK,UAAU,EAAE,CACxF,CAAC;aACH;YAED,GAAG,CAAC,iBAAiB,CAAC,CAAC;SACxB;QAAC,OAAO,KAAK,EAAE;YACd,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,CAAC;SAC5C;IACH,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/C,MAAM,OAAO,GAAG,kBAAkB,CAAC,2BAA2B,CAC5D,IAAI,CAAC,WAAW,CACjB,CAAC;QAEF,IAAI;YACF,MAAM,GAAG,GAAG,MAAM,IAAI,CACpB,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAClB,EAAE,CAAC,MAAM,EACT,MAAM,EACN,EAAE,CAAC,MAAM,EACT,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,CACpC,CAAC;YAEF,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,GACzC,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAEjD,IAAI,UAAU,GAAG,GAAG,IAAI,UAAU,IAAI,GAAG,EAAE;gBACzC,MAAM,IAAI,KAAK,CACb,kCAAkC,SAAS,4BAA4B,UAAU,KAAK,UAAU,EAAE,CACnG,CAAC;aACH;YAED,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;YACnC,GAAG,CAAC,sCAAsC,CAAC,CAAC;SAC7C;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,+CAA+C,GAAG,KAAK,CAAC,CAAC;SAC1E;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAoB;QACvC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QAC1C,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1E,IAAI,CAAC,oBAAoB,EAAE;YACzB,GAAG,CAAC,yCAAyC,EAAE,YAAY,CAAC,CAAC;YAC7D,OAAO;SACR;QACD,MAAM,WAAW,CAAC,oBAAoB,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;CACF;AAED,MAAM,MAAO,SAAQ,YAAY;IACd,OAAO,CAAwB;IACxC,mBAAmB,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC7C,kBAAkB,GAAG,CAAC,CAAC;IAEhC,qBAAqB,CAC3B,WAAwB,EACxB,SAAoB;QAEpB,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,WAAW,IAAI,SAAS,EAAE,CAAC,CAAC;IACrE,CAAC;IAEO,qBAAqB,CAC3B,WAAwB,EACxB,SAAoB,EACpB,YAA0B;QAE1B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,WAAW,IAAI,SAAS,EAAE,EAAE,YAAY,CAAC,CAAC;QAC1E,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,YAAY,MAAc,EAAE,OAA+B;QACzD,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAEjD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACtE,GAAG,CAAC,qBAAqB,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,GAAG,IAAI,GAAG,EAAE,CAAC;QAErC,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,WAAoB;QAC3C,MAAM,YAAY,GAChB,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,kBAAkB,CAAC;QAEhE,MAAM,IAAI,GAAG,CACX,MAAM,IAAI,CAAC,QAAQ,CAAC;YAClB,iBAAiB,EAAE,CAAC;YACpB,QAAQ,EAAE,IAAI,CAAC,kBAAkB;SAClC,CAAC,CACH,CAAC,CAAC,CAAC,CAAC;QAEL,MAAM,YAAY,GAChB,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC5D,IAAI,CAAC,qBAAqB,CACxB,YAAY,EACZ,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAClB,IAAI,YAAY,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CACtE,CAAC;QAEJ,OAAO,YAAY,CAAC;IACtB,CAAC;IAEM,sBAAsB,CAC3B,QAAqC;QAErC,OAAO,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,SAAS,CACb,QAAqC,EACrC,QAAqB;QAErB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAErD,MAAM,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAEjD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAC9B,mBAAmB,CACjB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAChD,CAAC,IAAI,EAAE,CACT,CAAC;QAEF,OAAO,KAAK,IAAI,EAAE;YAChB,MAAM,YAAY,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAChD,CAAC,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,UAA8B;QAC9C,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAC9B,IAAI;YACF,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBAClD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE;oBAChC,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;oBAErD,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;oBAE9C,IAAI,CAAC,WAAW,EAAE;wBAChB,GAAG,CAAC,wBAAwB,CAAC,CAAC;wBAC9B,OAAO;qBACR;oBAED,IAAI,CAAC,WAAW,EAAE;wBAChB,GAAG,CAAC,wCAAwC,CAAC,CAAC;wBAC9C,OAAO;qBACR;oBAED,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;oBAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAC7C,WAAW,EACX,SAAS,CACV,CAAC;oBAEF,IAAI,CAAC,YAAY,EAAE;wBACjB,GAAG,CAAC,gDAAgD,WAAW,EAAE,CAAC,CAAC;wBACnE,OAAO;qBACR;oBAED,MAAM,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;iBAChD;YACH,CAAC,CAAC,CAAC,IAAI,CACL,GAAG,EAAE;gBACH,GAAG,CAAC,wBAAwB,CAAC,CAAC;YAChC,CAAC,EACD,CAAC,CAAC,EAAE,EAAE;gBACJ,GAAG,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;YACtC,CAAC,CACF,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,GAAG,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;SAClC;IACH,CAAC;CACF;AAED,MAAM,UAAU,UAAU,CACxB,OAAuC,EAAE;IAEzC,OAAO,CAAC,MAAc,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACtD,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,oBAA6C,EAC7C,WAAwB,EACxB,OAAoB;IAEpB,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,oBAAoB,CAAC;IAEpD,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IACjC,IAAI,CAAC,YAAY,EAAE;QACjB,GAAG,CAAC,wCAAwC,CAAC,CAAC;QAC9C,OAAO;KACR;IAED,IAAI;QACF,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC1C,GAAG;aACA,YAAY,CAAC,WAAW,EAAE,OAAwB,CAAC;aACnD,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CACnE,CAAC;QAEF,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAEzD,MAAM,QAAQ,CAAC,cAAc,CAAC,CAAC;KAChC;IAAC,OAAO,CAAC,EAAE;QACV,GAAG,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;KAClC;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { Peer } from "@libp2p/interface/peer-store";
2
+ /**
3
+ * Retrieves a list of peers based on the specified criteria.
4
+ *
5
+ * @param peers - The list of peers to filter from.
6
+ * @param numPeers - The total number of peers to retrieve. If 0, all peers are returned.
7
+ * @param maxBootstrapPeers - The maximum number of bootstrap peers to retrieve.
8
+ * @returns A Promise that resolves to an array of peers based on the specified criteria.
9
+ */
10
+ export declare function filterPeers(peers: Peer[], numPeers: number, maxBootstrapPeers: number): Promise<Peer[]>;
@@ -0,0 +1,31 @@
1
+ import { Tags } from "@waku/interfaces";
2
+ /**
3
+ * Retrieves a list of peers based on the specified criteria.
4
+ *
5
+ * @param peers - The list of peers to filter from.
6
+ * @param numPeers - The total number of peers to retrieve. If 0, all peers are returned.
7
+ * @param maxBootstrapPeers - The maximum number of bootstrap peers to retrieve.
8
+ * @returns A Promise that resolves to an array of peers based on the specified criteria.
9
+ */
10
+ export async function filterPeers(peers, numPeers, maxBootstrapPeers) {
11
+ // Collect the bootstrap peers up to the specified maximum
12
+ const bootstrapPeers = peers
13
+ .filter((peer) => peer.tags.has(Tags.BOOTSTRAP))
14
+ .slice(0, maxBootstrapPeers);
15
+ // Collect non-bootstrap peers
16
+ const nonBootstrapPeers = peers.filter((peer) => !peer.tags.has(Tags.BOOTSTRAP));
17
+ // If numPeers is 0, return all peers
18
+ if (numPeers === 0) {
19
+ return [...bootstrapPeers, ...nonBootstrapPeers];
20
+ }
21
+ // Initialize the list of selected peers with the bootstrap peers
22
+ const selectedPeers = [...bootstrapPeers];
23
+ // Fill up to numPeers with remaining random peers if needed
24
+ while (selectedPeers.length < numPeers && nonBootstrapPeers.length > 0) {
25
+ const randomIndex = Math.floor(Math.random() * nonBootstrapPeers.length);
26
+ const randomPeer = nonBootstrapPeers.splice(randomIndex, 1)[0];
27
+ selectedPeers.push(randomPeer);
28
+ }
29
+ return selectedPeers;
30
+ }
31
+ //# sourceMappingURL=filterPeers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterPeers.js","sourceRoot":"","sources":["../../src/lib/filterPeers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAa,EACb,QAAgB,EAChB,iBAAyB;IAEzB,0DAA0D;IAC1D,MAAM,cAAc,GAAG,KAAK;SACzB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC/C,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAE/B,8BAA8B;IAC9B,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CACpC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CACzC,CAAC;IAEF,qCAAqC;IACrC,IAAI,QAAQ,KAAK,CAAC,EAAE;QAClB,OAAO,CAAC,GAAG,cAAc,EAAE,GAAG,iBAAiB,CAAC,CAAC;KAClD;IAED,iEAAiE;IACjE,MAAM,aAAa,GAAW,CAAC,GAAG,cAAc,CAAC,CAAC;IAElD,4DAA4D;IAC5D,OAAO,aAAa,CAAC,MAAM,GAAG,QAAQ,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;QACtE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAChC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC"}
@@ -1,18 +1,16 @@
1
- import type { PeerId } from "@libp2p/interface-peer-id";
1
+ import type { PeerId } from "@libp2p/interface/peer-id";
2
+ import type { PeerStore } from "@libp2p/interface/peer-store";
2
3
  import type { IRelay } from "@waku/interfaces";
4
+ import type { KeepAliveOptions } from "@waku/interfaces";
3
5
  import type { PingService } from "libp2p/ping";
4
6
  export declare const RelayPingContentTopic = "/relay-ping/1/ping/null";
5
- export interface KeepAliveOptions {
6
- pingKeepAlive: number;
7
- relayKeepAlive: number;
8
- }
9
7
  export declare class KeepAliveManager {
10
8
  private pingKeepAliveTimers;
11
9
  private relayKeepAliveTimers;
12
10
  private options;
13
11
  private relay?;
14
12
  constructor(options: KeepAliveOptions, relay?: IRelay);
15
- start(peerId: PeerId, libp2pPing: PingService): void;
13
+ start(peerId: PeerId, libp2pPing: PingService, peerStore: PeerStore): void;
16
14
  stop(peerId: PeerId): void;
17
15
  stopAll(): void;
18
16
  }
@@ -1,5 +1,6 @@
1
+ import { utf8ToBytes } from "@waku/utils/bytes";
1
2
  import debug from "debug";
2
- import { createEncoder } from "../index.js";
3
+ import { createEncoder } from "./message/version_0.js";
3
4
  export const RelayPingContentTopic = "/relay-ping/1/ping/null";
4
5
  const log = debug("waku:keep-alive");
5
6
  export class KeepAliveManager {
@@ -13,16 +14,34 @@ export class KeepAliveManager {
13
14
  this.options = options;
14
15
  this.relay = relay;
15
16
  }
16
- start(peerId, libp2pPing) {
17
- // Just in case a timer already exist for this peer
17
+ start(peerId, libp2pPing, peerStore) {
18
+ // Just in case a timer already exists for this peer
18
19
  this.stop(peerId);
19
20
  const { pingKeepAlive: pingPeriodSecs, relayKeepAlive: relayPeriodSecs } = this.options;
20
21
  const peerIdStr = peerId.toString();
21
22
  if (pingPeriodSecs !== 0) {
22
23
  const interval = setInterval(() => {
23
- libp2pPing.ping(peerId).catch((e) => {
24
- log(`Ping failed (${peerIdStr})`, e);
25
- });
24
+ void (async () => {
25
+ try {
26
+ // ping the peer for keep alive
27
+ // also update the peer store with the latency
28
+ const ping = await libp2pPing.ping(peerId);
29
+ log(`Ping succeeded (${peerIdStr})`, ping);
30
+ try {
31
+ await peerStore.patch(peerId, {
32
+ metadata: {
33
+ ping: utf8ToBytes(ping.toString())
34
+ }
35
+ });
36
+ }
37
+ catch (e) {
38
+ log("Failed to update ping", e);
39
+ }
40
+ }
41
+ catch (e) {
42
+ log(`Ping failed (${peerIdStr})`, e);
43
+ }
44
+ })();
26
45
  }, pingPeriodSecs * 1000);
27
46
  this.pingKeepAliveTimers.set(peerIdStr, interval);
28
47
  }
@@ -30,7 +49,7 @@ export class KeepAliveManager {
30
49
  if (relay && relayPeriodSecs !== 0) {
31
50
  const encoder = createEncoder({
32
51
  contentTopic: RelayPingContentTopic,
33
- ephemeral: true,
52
+ ephemeral: true
34
53
  });
35
54
  const interval = setInterval(() => {
36
55
  log("Sending Waku Relay ping message");
@@ -55,7 +74,7 @@ export class KeepAliveManager {
55
74
  stopAll() {
56
75
  for (const timer of [
57
76
  ...Object.values(this.pingKeepAliveTimers),
58
- ...Object.values(this.relayKeepAliveTimers),
77
+ ...Object.values(this.relayKeepAliveTimers)
59
78
  ]) {
60
79
  clearInterval(timer);
61
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"keep_alive_manager.js","sourceRoot":"","sources":["../../src/lib/keep_alive_manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keep_alive_manager.js","sourceRoot":"","sources":["../../src/lib/keep_alive_manager.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { SendError, } from "@waku/interfaces";
1
+ import { SendError } from "@waku/interfaces";
2
2
  import { PushResponse } from "@waku/proto";
3
3
  import { isSizeValid } from "@waku/utils";
4
4
  import debug from "debug";
@@ -17,60 +17,89 @@ export { PushResponse };
17
17
  */
18
18
  class LightPush extends BaseProtocol {
19
19
  options;
20
+ NUM_PEERS_PROTOCOL = 1;
20
21
  constructor(libp2p, options) {
21
22
  super(LightPushCodec, libp2p.components);
22
23
  this.options = options || {};
23
24
  }
24
- async send(encoder, message, opts) {
25
- const { pubSubTopic = DefaultPubSubTopic } = this.options;
26
- const peer = await this.getPeer(opts?.peerId);
27
- const stream = await this.newStream(peer);
28
- const recipients = [];
29
- let error = undefined;
25
+ async preparePushMessage(encoder, message, pubSubTopic) {
30
26
  try {
31
27
  if (!isSizeValid(message.payload)) {
32
- log("Failed to send waku light push: message is bigger that 1MB");
33
- return {
34
- recipients,
35
- error: SendError.SIZE_TOO_BIG,
36
- };
28
+ log("Failed to send waku light push: message is bigger than 1MB");
29
+ return { query: null, error: SendError.SIZE_TOO_BIG };
37
30
  }
38
31
  const protoMessage = await encoder.toProtoObj(message);
39
32
  if (!protoMessage) {
40
33
  log("Failed to encode to protoMessage, aborting push");
41
34
  return {
42
- recipients,
43
- error: SendError.ENCODE_FAILED,
35
+ query: null,
36
+ error: SendError.ENCODE_FAILED
44
37
  };
45
38
  }
46
39
  const query = PushRpc.createRequest(protoMessage, pubSubTopic);
47
- const res = await pipe([query.encode()], lp.encode, stream, lp.decode, async (source) => await all(source));
40
+ return { query, error: null };
41
+ }
42
+ catch (error) {
43
+ log("Failed to prepare push message", error);
44
+ return {
45
+ query: null,
46
+ error: SendError.GENERIC_FAIL
47
+ };
48
+ }
49
+ }
50
+ async send(encoder, message) {
51
+ const { pubSubTopic = DefaultPubSubTopic } = this.options;
52
+ const recipients = [];
53
+ const { query, error: preparationError } = await this.preparePushMessage(encoder, message, pubSubTopic);
54
+ if (preparationError || !query) {
55
+ return {
56
+ recipients,
57
+ errors: [preparationError]
58
+ };
59
+ }
60
+ const peers = await this.getPeers({
61
+ maxBootstrapPeers: 1,
62
+ numPeers: this.NUM_PEERS_PROTOCOL
63
+ });
64
+ const promises = peers.map(async (peer) => {
65
+ let error;
66
+ const stream = await this.getStream(peer);
48
67
  try {
49
- const bytes = new Uint8ArrayList();
50
- res.forEach((chunk) => {
51
- bytes.append(chunk);
52
- });
53
- const response = PushRpc.decode(bytes).response;
54
- if (response?.isSuccess) {
55
- recipients.push(peer.id);
68
+ const res = await pipe([query.encode()], lp.encode, stream, lp.decode, async (source) => await all(source));
69
+ try {
70
+ const bytes = new Uint8ArrayList();
71
+ res.forEach((chunk) => {
72
+ bytes.append(chunk);
73
+ });
74
+ const response = PushRpc.decode(bytes).response;
75
+ if (response?.isSuccess) {
76
+ recipients.some((recipient) => recipient.equals(peer.id)) ||
77
+ recipients.push(peer.id);
78
+ }
79
+ else {
80
+ log("No response in PushRPC");
81
+ error = SendError.NO_RPC_RESPONSE;
82
+ }
56
83
  }
57
- else {
58
- log("No response in PushRPC");
59
- error = SendError.NO_RPC_RESPONSE;
84
+ catch (err) {
85
+ log("Failed to decode push reply", err);
86
+ error = SendError.DECODE_FAILED;
60
87
  }
61
88
  }
62
89
  catch (err) {
63
- log("Failed to decode push reply", err);
64
- error = SendError.DECODE_FAILED;
90
+ log("Failed to send waku light push request", err);
91
+ error = SendError.GENERIC_FAIL;
65
92
  }
66
- }
67
- catch (err) {
68
- log("Failed to send waku light push request", err);
69
- error = SendError.GENERIC_FAIL;
70
- }
93
+ return { recipients, error };
94
+ });
95
+ const results = await Promise.allSettled(promises);
96
+ const errors = results
97
+ .filter((result) => result.status === "fulfilled")
98
+ .map((result) => result.value.error)
99
+ .filter((error) => error !== undefined);
71
100
  return {
72
- error,
73
101
  recipients,
102
+ errors
74
103
  };
75
104
  }
76
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/light_push/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/light_push/index.ts"],"names":[],"mappings":"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"}
@@ -10,9 +10,9 @@ export class PushRpc {
10
10
  requestId: uuid(),
11
11
  request: {
12
12
  message: message,
13
- pubsubTopic: pubSubTopic,
13
+ pubsubTopic: pubSubTopic
14
14
  },
15
- response: undefined,
15
+ response: undefined
16
16
  });
17
17
  }
18
18
  static decode(bytes) {
@@ -32,7 +32,7 @@ export declare class Encoder implements IEncoder {
32
32
  * { @link @waku/interfaces.Relay.send } to automatically encode outgoing
33
33
  * messages.
34
34
  */
35
- export declare function createEncoder({ contentTopic, ephemeral, metaSetter, }: EncoderOptions): Encoder;
35
+ export declare function createEncoder({ contentTopic, ephemeral, metaSetter }: EncoderOptions): Encoder;
36
36
  export declare class Decoder implements IDecoder<DecodedMessage> {
37
37
  contentTopic: string;
38
38
  constructor(contentTopic: string);
@@ -74,7 +74,7 @@ export class Encoder {
74
74
  timestamp: BigInt(timestamp.valueOf()) * OneMillion,
75
75
  meta: undefined,
76
76
  rateLimitProof: message.rateLimitProof,
77
- ephemeral: this.ephemeral,
77
+ ephemeral: this.ephemeral
78
78
  };
79
79
  if (this.metaSetter) {
80
80
  const meta = this.metaSetter(protoMessage);
@@ -92,7 +92,7 @@ export class Encoder {
92
92
  * { @link @waku/interfaces.Relay.send } to automatically encode outgoing
93
93
  * messages.
94
94
  */
95
- export function createEncoder({ contentTopic, ephemeral, metaSetter, }) {
95
+ export function createEncoder({ contentTopic, ephemeral, metaSetter }) {
96
96
  return new Encoder(contentTopic, ephemeral, metaSetter);
97
97
  }
98
98
  export class Decoder {
@@ -113,7 +113,7 @@ export class Decoder {
113
113
  timestamp: protoMessage.timestamp ?? undefined,
114
114
  meta: protoMessage.meta ?? undefined,
115
115
  rateLimitProof: protoMessage.rateLimitProof ?? undefined,
116
- ephemeral: protoMessage.ephemeral ?? false,
116
+ ephemeral: protoMessage.ephemeral ?? false
117
117
  });
118
118
  }
119
119
  async fromProtoObj(pubSubTopic, proto) {
@@ -1 +1 @@
1
- {"version":3,"file":"version_0.js","sourceRoot":"","sources":["../../../src/lib/message/version_0.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"version_0.js","sourceRoot":"","sources":["../../../src/lib/message/version_0.ts"],"names":[],"mappings":"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"}
@@ -39,16 +39,16 @@ export const fleets = {
39
39
  "waku-websocket": {
40
40
  "node-01.ac-cn-hongkong-c.wakuv2.prod": "/dns4/node-01.ac-cn-hongkong-c.wakuv2.prod.statusim.net/tcp/8000/wss/p2p/16Uiu2HAm4v86W3bmT1BiH6oSPzcsSr24iDQpSN5Qa992BCjjwgrD",
41
41
  "node-01.do-ams3.wakuv2.prod": "/dns4/node-01.do-ams3.wakuv2.prod.statusim.net/tcp/8000/wss/p2p/16Uiu2HAmL5okWopX7NqZWBUKVqW8iUxCEmd5GMHLVPwCgzYzQv3e",
42
- "node-01.gc-us-central1-a.wakuv2.prod": "/dns4/node-01.gc-us-central1-a.wakuv2.prod.statusim.net/tcp/8000/wss/p2p/16Uiu2HAmVkKntsECaYfefR1V2yCR79CegLATuTPE6B9TxgxBiiiA",
43
- },
42
+ "node-01.gc-us-central1-a.wakuv2.prod": "/dns4/node-01.gc-us-central1-a.wakuv2.prod.statusim.net/tcp/8000/wss/p2p/16Uiu2HAmVkKntsECaYfefR1V2yCR79CegLATuTPE6B9TxgxBiiiA"
43
+ }
44
44
  },
45
45
  "wakuv2.test": {
46
46
  "waku-websocket": {
47
47
  "node-01.ac-cn-hongkong-c.wakuv2.test": "/dns4/node-01.ac-cn-hongkong-c.wakuv2.test.statusim.net/tcp/8000/wss/p2p/16Uiu2HAkvWiyFsgRhuJEb9JfjYxEkoHLgnUQmr1N5mKWnYjxYRVm",
48
48
  "node-01.do-ams3.wakuv2.test": "/dns4/node-01.do-ams3.wakuv2.test.statusim.net/tcp/8000/wss/p2p/16Uiu2HAmPLe7Mzm8TsYUubgCAW1aJoeFScxrLj8ppHFivPo97bUZ",
49
- "node-01.gc-us-central1-a.wakuv2.test": "/dns4/node-01.gc-us-central1-a.wakuv2.test.statusim.net/tcp/8000/wss/p2p/16Uiu2HAmJb2e28qLXxT5kZxVUUoJt72EMzNGXB47Rxx5hw3q4YjS",
50
- },
51
- },
52
- },
49
+ "node-01.gc-us-central1-a.wakuv2.test": "/dns4/node-01.gc-us-central1-a.wakuv2.test.statusim.net/tcp/8000/wss/p2p/16Uiu2HAmJb2e28qLXxT5kZxVUUoJt72EMzNGXB47Rxx5hw3q4YjS"
50
+ }
51
+ }
52
+ }
53
53
  };
54
54
  //# sourceMappingURL=predefined_bootstrap_nodes.js.map
@@ -28,7 +28,7 @@ export class HistoryRpc {
28
28
  const pagingInfo = {
29
29
  pageSize: BigInt(params.pageSize),
30
30
  cursor: params.cursor,
31
- direction,
31
+ direction
32
32
  };
33
33
  let startTime, endTime;
34
34
  if (params.startTime) {
@@ -46,9 +46,9 @@ export class HistoryRpc {
46
46
  contentFilters,
47
47
  pagingInfo,
48
48
  startTime,
49
- endTime,
49
+ endTime
50
50
  },
51
- response: undefined,
51
+ response: undefined
52
52
  });
53
53
  }
54
54
  decode(bytes) {
@@ -1,4 +1,3 @@
1
- import type { PeerId } from "@libp2p/interface-peer-id";
2
1
  import { Cursor, IDecodedMessage, IStore, Libp2p, ProtocolCreateOptions } from "@waku/interfaces";
3
2
  import { PageDirection } from "./history_rpc.js";
4
3
  export declare const StoreCodec = "/vac/waku/store/2.0.0-beta4";
@@ -9,10 +8,6 @@ export interface TimeFilter {
9
8
  endTime: Date;
10
9
  }
11
10
  export interface QueryOptions {
12
- /**
13
- * The peer to query. If undefined, a pseudo-random peer is selected from the connected Waku Store peers.
14
- */
15
- peerId?: PeerId;
16
11
  /**
17
12
  * The direction in which pages are retrieved:
18
13
  * - { @link PageDirection.BACKWARD }: Most recent page first.