@waku/core 0.0.4 → 0.0.6

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 (78) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/bundle/{index-a67d7136.js → index-925587a4.js} +1696 -113
  3. package/bundle/index.js +12942 -15253
  4. package/bundle/lib/predefined_bootstrap_nodes.js +24 -4
  5. package/bundle/lib/wait_for_remote_peer.js +4 -6
  6. package/bundle/lib/waku_message/topic_only_message.js +2 -3
  7. package/bundle/lib/waku_message/version_0.js +17 -4
  8. package/bundle/{message-049c8b67.js → message-70dbb19b.js} +1419 -753
  9. package/bundle/{topic_only_message-5ad3a869.js → topic_only_message-a80fe8b2.js} +2 -2
  10. package/dist/index.d.ts +5 -4
  11. package/dist/index.js +5 -4
  12. package/dist/index.js.map +1 -1
  13. package/dist/lib/predefined_bootstrap_nodes.d.ts +1 -2
  14. package/dist/lib/predefined_bootstrap_nodes.js +0 -2
  15. package/dist/lib/predefined_bootstrap_nodes.js.map +1 -1
  16. package/dist/lib/to_proto_message.js +1 -0
  17. package/dist/lib/to_proto_message.js.map +1 -1
  18. package/dist/lib/wait_for_remote_peer.js +2 -2
  19. package/dist/lib/wait_for_remote_peer.js.map +1 -1
  20. package/dist/lib/waku.d.ts +16 -15
  21. package/dist/lib/waku.js +31 -33
  22. package/dist/lib/waku.js.map +1 -1
  23. package/dist/lib/waku_filter/index.d.ts +10 -35
  24. package/dist/lib/waku_filter/index.js +13 -7
  25. package/dist/lib/waku_filter/index.js.map +1 -1
  26. package/dist/lib/waku_light_push/index.d.ts +8 -24
  27. package/dist/lib/waku_light_push/index.js +12 -6
  28. package/dist/lib/waku_light_push/index.js.map +1 -1
  29. package/dist/lib/waku_message/topic_only_message.d.ts +3 -2
  30. package/dist/lib/waku_message/topic_only_message.js +1 -0
  31. package/dist/lib/waku_message/topic_only_message.js.map +1 -1
  32. package/dist/lib/waku_message/version_0.d.ts +5 -2
  33. package/dist/lib/waku_message/version_0.js +9 -2
  34. package/dist/lib/waku_message/version_0.js.map +1 -1
  35. package/dist/lib/waku_relay/index.d.ts +3 -45
  36. package/dist/lib/waku_relay/index.js +6 -3
  37. package/dist/lib/waku_relay/index.js.map +1 -1
  38. package/dist/lib/waku_store/index.d.ts +11 -71
  39. package/dist/lib/waku_store/index.js +34 -10
  40. package/dist/lib/waku_store/index.js.map +1 -1
  41. package/dist/proto/filter.d.ts +1 -0
  42. package/dist/proto/filter.js +7 -0
  43. package/dist/proto/filter.js.map +1 -1
  44. package/dist/proto/light_push.d.ts +1 -0
  45. package/dist/proto/light_push.js +7 -0
  46. package/dist/proto/light_push.js.map +1 -1
  47. package/dist/proto/message.d.ts +1 -0
  48. package/dist/proto/message.js +7 -0
  49. package/dist/proto/message.js.map +1 -1
  50. package/dist/proto/store.d.ts +1 -0
  51. package/dist/proto/store.js +7 -0
  52. package/dist/proto/store.js.map +1 -1
  53. package/package.json +11 -13
  54. package/src/index.ts +10 -4
  55. package/src/lib/predefined_bootstrap_nodes.ts +1 -5
  56. package/src/lib/to_proto_message.ts +1 -0
  57. package/src/lib/wait_for_remote_peer.ts +2 -2
  58. package/src/lib/waku.ts +51 -47
  59. package/src/lib/waku_filter/index.ts +28 -7
  60. package/src/lib/waku_light_push/index.ts +26 -6
  61. package/src/lib/waku_message/topic_only_message.ts +4 -2
  62. package/src/lib/waku_message/version_0.ts +8 -2
  63. package/src/lib/waku_relay/index.ts +13 -3
  64. package/src/lib/waku_store/index.ts +63 -12
  65. package/src/proto/filter.ts +9 -0
  66. package/src/proto/light_push.ts +9 -0
  67. package/src/proto/message.ts +9 -0
  68. package/src/proto/store.ts +9 -0
  69. package/bundle/browser-1e1a2f27.js +0 -722
  70. package/bundle/events-158407bb.js +0 -1929
  71. package/bundle/index-64ce43f0.js +0 -69
  72. package/bundle/index-8710041d.js +0 -2962
  73. package/bundle/lib/peer_discovery_static_list.js +0 -89
  74. package/bundle/random_subset-75d1c511.js +0 -26
  75. package/dist/lib/peer_discovery_static_list.d.ts +0 -44
  76. package/dist/lib/peer_discovery_static_list.js +0 -72
  77. package/dist/lib/peer_discovery_static_list.js.map +0 -1
  78. package/src/lib/peer_discovery_static_list.ts +0 -118
@@ -1,6 +1,27 @@
1
- import { m as multiaddr } from '../index-8710041d.js';
2
- import { g as getPseudoRandomSubset } from '../random_subset-75d1c511.js';
3
- import '../index-64ce43f0.js';
1
+ /**
2
+ * Return pseudo random subset of the input.
3
+ */
4
+ function getPseudoRandomSubset(values, wantedNumber) {
5
+ if (values.length <= wantedNumber || values.length <= 1) {
6
+ return values;
7
+ }
8
+ return shuffle(values).slice(0, wantedNumber);
9
+ }
10
+ function shuffle(arr) {
11
+ if (arr.length <= 1) {
12
+ return arr;
13
+ }
14
+ const randInt = () => {
15
+ return Math.floor(Math.random() * Math.floor(arr.length));
16
+ };
17
+ for (let i = 0; i < arr.length; i++) {
18
+ const j = randInt();
19
+ const tmp = arr[i];
20
+ arr[i] = arr[j];
21
+ arr[j] = tmp;
22
+ }
23
+ return arr;
24
+ }
4
25
 
5
26
  const DefaultWantedNumber = 1;
6
27
  var Fleet;
@@ -34,7 +55,6 @@ function getPredefinedBootstrapNodes(fleet = Fleet.Prod, wantedNumber = DefaultW
34
55
  nodes = fleets.fleets["wakuv2.prod"]["waku-websocket"];
35
56
  }
36
57
  nodes = Object.values(nodes);
37
- nodes = nodes.map((node) => multiaddr(node));
38
58
  return getPseudoRandomSubset(nodes, wantedNumber);
39
59
  }
40
60
  const fleets = {
@@ -1,7 +1,5 @@
1
- import { P as Protocols, S as StoreCodec, L as LightPushCodec, F as FilterCodec } from '../index-a67d7136.js';
2
- import { d as debug } from '../browser-1e1a2f27.js';
3
- import '../message-049c8b67.js';
4
- import '../index-64ce43f0.js';
1
+ import { P as Protocols, S as StoreCodec, L as LightPushCodec, F as FilterCodec } from '../index-925587a4.js';
2
+ import { d as debug } from '../message-70dbb19b.js';
5
3
 
6
4
  class TimeoutError extends Error {
7
5
  constructor(message) {
@@ -282,13 +280,13 @@ async function waitForConnectedPeer(waku, codecs) {
282
280
  for (const codec of codecs) {
283
281
  if (evt.detail.protocols.includes(codec)) {
284
282
  log("Resolving for", codec, evt.detail.protocols);
285
- waku.libp2p.peerStore.removeEventListener("change:protocols", cb);
283
+ waku.peerStore.removeEventListener("change:protocols", cb);
286
284
  resolve();
287
285
  break;
288
286
  }
289
287
  }
290
288
  };
291
- waku.libp2p.peerStore.addEventListener("change:protocols", cb);
289
+ waku.peerStore.addEventListener("change:protocols", cb);
292
290
  });
293
291
  }
294
292
  /**
@@ -1,3 +1,2 @@
1
- import '../../browser-1e1a2f27.js';
2
- export { T as TopicOnlyDecoder, a as TopicOnlyMessage } from '../../topic_only_message-5ad3a869.js';
3
- import '../../message-049c8b67.js';
1
+ import '../../message-70dbb19b.js';
2
+ export { T as TopicOnlyDecoder, a as TopicOnlyMessage } from '../../topic_only_message-a80fe8b2.js';
@@ -1,5 +1,4 @@
1
- import { d as debug } from '../../browser-1e1a2f27.js';
2
- import { m as message$1, j as encodeMessage, k as decodeMessage } from '../../message-049c8b67.js';
1
+ import { m as message$1, k as encodeMessage, l as decodeMessage, d as debug } from '../../message-70dbb19b.js';
3
2
 
4
3
  /* eslint-disable import/export */
5
4
  var RateLimitProof;
@@ -169,6 +168,10 @@ var WakuMessage;
169
168
  writer.uint32(170);
170
169
  RateLimitProof.codec().encode(obj.rateLimitProof, writer);
171
170
  }
171
+ if (obj.ephemeral != null) {
172
+ writer.uint32(248);
173
+ writer.bool(obj.ephemeral);
174
+ }
172
175
  if (opts.lengthDelimited !== false) {
173
176
  writer.ldelim();
174
177
  }
@@ -196,6 +199,9 @@ var WakuMessage;
196
199
  case 21:
197
200
  obj.rateLimitProof = RateLimitProof.codec().decode(reader, reader.uint32());
198
201
  break;
202
+ case 31:
203
+ obj.ephemeral = reader.bool();
204
+ break;
199
205
  default:
200
206
  reader.skipType(tag & 7);
201
207
  break;
@@ -233,6 +239,9 @@ class MessageV0 {
233
239
  }
234
240
  return;
235
241
  }
242
+ get ephemeral() {
243
+ return Boolean(this.proto.ephemeral);
244
+ }
236
245
  get payload() {
237
246
  return this._rawPayload;
238
247
  }
@@ -269,8 +278,9 @@ class MessageV0 {
269
278
  }
270
279
  }
271
280
  class EncoderV0 {
272
- constructor(contentTopic) {
281
+ constructor(contentTopic, ephemeral = false) {
273
282
  this.contentTopic = contentTopic;
283
+ this.ephemeral = ephemeral;
274
284
  }
275
285
  async toWire(message$1) {
276
286
  return WakuMessage.encode(await this.toProtoObj(message$1));
@@ -283,12 +293,14 @@ class EncoderV0 {
283
293
  contentTopic: this.contentTopic,
284
294
  timestamp: BigInt(timestamp.valueOf()) * OneMillion,
285
295
  rateLimitProof: message.rateLimitProof,
296
+ ephemeral: this.ephemeral,
286
297
  };
287
298
  }
288
299
  }
289
300
  class DecoderV0 {
290
- constructor(contentTopic) {
301
+ constructor(contentTopic, ephemeral = false) {
291
302
  this.contentTopic = contentTopic;
303
+ this.ephemeral = ephemeral;
292
304
  }
293
305
  fromWireToProtoObj(bytes) {
294
306
  const protoMessage = WakuMessage.decode(bytes);
@@ -299,6 +311,7 @@ class DecoderV0 {
299
311
  version: protoMessage.version ?? undefined,
300
312
  timestamp: protoMessage.timestamp ?? undefined,
301
313
  rateLimitProof: protoMessage.rateLimitProof ?? undefined,
314
+ ephemeral: protoMessage.ephemeral ?? false,
302
315
  });
303
316
  }
304
317
  async fromProtoObj(proto) {