@waku/core 0.0.17 → 0.0.19

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 (84) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/bundle/{browser-2f1afe46.js → browser-bde977a3.js} +12 -9
  3. package/bundle/index.js +911 -32802
  4. package/bundle/lib/base_protocol.js +4 -1
  5. package/bundle/lib/message/version_0.js +2 -3
  6. package/bundle/{peer_exchange-1229c8b0.js → version_0-9c941081.js} +569 -63
  7. package/dist/index.d.ts +5 -5
  8. package/dist/index.js +5 -5
  9. package/dist/index.js.map +1 -1
  10. package/dist/lib/base_protocol.js +3 -0
  11. package/dist/lib/base_protocol.js.map +1 -1
  12. package/dist/lib/connection_manager.d.ts +1 -0
  13. package/dist/lib/connection_manager.js +33 -25
  14. package/dist/lib/connection_manager.js.map +1 -1
  15. package/dist/lib/filter/{filter_rpc.d.ts → v1/filter_rpc.d.ts} +1 -3
  16. package/dist/lib/filter/{filter_rpc.js → v1/filter_rpc.js} +1 -0
  17. package/dist/lib/filter/v1/filter_rpc.js.map +1 -0
  18. package/dist/lib/filter/{index.d.ts → v1/index.d.ts} +0 -2
  19. package/dist/lib/filter/{index.js → v1/index.js} +7 -4
  20. package/dist/lib/filter/v1/index.js.map +1 -0
  21. package/dist/lib/filter/v2/filter_rpc.d.ts +40 -0
  22. package/dist/lib/filter/v2/filter_rpc.js +109 -0
  23. package/dist/lib/filter/v2/filter_rpc.js.map +1 -0
  24. package/dist/lib/filter/v2/index.d.ts +3 -0
  25. package/dist/lib/filter/v2/index.js +235 -0
  26. package/dist/lib/filter/v2/index.js.map +1 -0
  27. package/dist/lib/keep_alive_manager.d.ts +1 -0
  28. package/dist/lib/keep_alive_manager.js +5 -1
  29. package/dist/lib/keep_alive_manager.js.map +1 -1
  30. package/dist/lib/light_push/index.d.ts +1 -1
  31. package/dist/lib/light_push/index.js +27 -7
  32. package/dist/lib/light_push/index.js.map +1 -1
  33. package/dist/lib/light_push/push_rpc.js +1 -0
  34. package/dist/lib/light_push/push_rpc.js.map +1 -1
  35. package/dist/lib/message/index.d.ts +0 -1
  36. package/dist/lib/message/index.js +0 -1
  37. package/dist/lib/message/index.js.map +1 -1
  38. package/dist/lib/message/version_0.d.ts +1 -2
  39. package/dist/lib/message/version_0.js +6 -0
  40. package/dist/lib/message/version_0.js.map +1 -1
  41. package/dist/lib/store/history_rpc.js +1 -0
  42. package/dist/lib/store/history_rpc.js.map +1 -1
  43. package/dist/lib/store/index.js +2 -0
  44. package/dist/lib/store/index.js.map +1 -1
  45. package/dist/lib/waku.d.ts +5 -5
  46. package/dist/lib/waku.js +6 -0
  47. package/dist/lib/waku.js.map +1 -1
  48. package/package.json +9 -13
  49. package/src/index.ts +6 -11
  50. package/src/lib/connection_manager.ts +13 -4
  51. package/src/lib/filter/{filter_rpc.ts → v1/filter_rpc.ts} +1 -4
  52. package/src/lib/filter/{index.ts → v1/index.ts} +6 -7
  53. package/src/lib/filter/v2/filter_rpc.ts +131 -0
  54. package/src/lib/filter/v2/index.ts +413 -0
  55. package/src/lib/keep_alive_manager.ts +1 -2
  56. package/src/lib/light_push/index.ts +26 -9
  57. package/src/lib/message/index.ts +0 -1
  58. package/src/lib/message/version_0.ts +1 -1
  59. package/src/lib/waku.ts +5 -7
  60. package/bundle/lib/message/topic_only_message.js +0 -3
  61. package/bundle/topic_only_message-e8406994.js +0 -43
  62. package/bundle/version_0-5a4becbc.js +0 -149
  63. package/dist/lib/filter/filter_rpc.js.map +0 -1
  64. package/dist/lib/filter/index.js.map +0 -1
  65. package/dist/lib/group_by.d.ts +0 -3
  66. package/dist/lib/group_by.js +0 -13
  67. package/dist/lib/group_by.js.map +0 -1
  68. package/dist/lib/message/topic_only_message.d.ts +0 -18
  69. package/dist/lib/message/topic_only_message.js +0 -35
  70. package/dist/lib/message/topic_only_message.js.map +0 -1
  71. package/dist/lib/relay/constants.d.ts +0 -63
  72. package/dist/lib/relay/constants.js +0 -64
  73. package/dist/lib/relay/constants.js.map +0 -1
  74. package/dist/lib/relay/index.d.ts +0 -11
  75. package/dist/lib/relay/index.js +0 -181
  76. package/dist/lib/relay/index.js.map +0 -1
  77. package/dist/lib/relay/message_validator.d.ts +0 -4
  78. package/dist/lib/relay/message_validator.js +0 -25
  79. package/dist/lib/relay/message_validator.js.map +0 -1
  80. package/src/lib/group_by.ts +0 -14
  81. package/src/lib/message/topic_only_message.ts +0 -51
  82. package/src/lib/relay/constants.ts +0 -74
  83. package/src/lib/relay/index.ts +0 -294
  84. package/src/lib/relay/message_validator.ts +0 -35
@@ -1,36 +1,4 @@
1
- var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
2
-
3
- function getDefaultExportFromCjs (x) {
4
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
5
- }
6
-
7
- function getAugmentedNamespace(n) {
8
- if (n.__esModule) return n;
9
- var f = n.default;
10
- if (typeof f == "function") {
11
- var a = function a () {
12
- if (this instanceof a) {
13
- var args = [null];
14
- args.push.apply(args, arguments);
15
- var Ctor = Function.bind.apply(f, args);
16
- return new Ctor();
17
- }
18
- return f.apply(this, arguments);
19
- };
20
- a.prototype = f.prototype;
21
- } else a = {};
22
- Object.defineProperty(a, '__esModule', {value: true});
23
- Object.keys(n).forEach(function (k) {
24
- var d = Object.getOwnPropertyDescriptor(n, k);
25
- Object.defineProperty(a, k, d.get ? d : {
26
- enumerable: true,
27
- get: function () {
28
- return n[k];
29
- }
30
- });
31
- });
32
- return a;
33
- }
1
+ import { c as commonjsGlobal, g as getDefaultExportFromCjs, d as debug } from './browser-bde977a3.js';
34
2
 
35
3
  var minimal = {};
36
4
 
@@ -226,7 +194,7 @@ var base64$1 = {};
226
194
  */
227
195
  base64.test = function test(string) {
228
196
  return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(string);
229
- };
197
+ };
230
198
  } (base64$1));
231
199
 
232
200
  var eventemitter = EventEmitter;
@@ -762,7 +730,7 @@ var utf8$2 = {};
762
730
  }
763
731
  }
764
732
  return offset - start;
765
- };
733
+ };
766
734
  } (utf8$2));
767
735
 
768
736
  var pool_1 = pool;
@@ -1463,8 +1431,8 @@ function requireMinimal () {
1463
1431
  function Buffer_allocUnsafe(size) {
1464
1432
  return new Buffer(size);
1465
1433
  };
1466
- };
1467
- } (minimal));
1434
+ };
1435
+ } (minimal));
1468
1436
  return minimal;
1469
1437
  }
1470
1438
 
@@ -1879,6 +1847,8 @@ Reader$1._configure = function(BufferReader_) {
1879
1847
  });
1880
1848
  };
1881
1849
 
1850
+ var ReaderClass = /*@__PURE__*/getDefaultExportFromCjs(reader$1);
1851
+
1882
1852
  var reader_buffer = BufferReader;
1883
1853
 
1884
1854
  // extends Reader
@@ -1930,6 +1900,8 @@ BufferReader.prototype.string = function read_string_buffer() {
1930
1900
 
1931
1901
  BufferReader._configure();
1932
1902
 
1903
+ var ReaderBufferClass = /*@__PURE__*/getDefaultExportFromCjs(reader_buffer);
1904
+
1933
1905
  var minimalExports = requireMinimal();
1934
1906
  var util$2 = /*@__PURE__*/getDefaultExportFromCjs(minimalExports);
1935
1907
 
@@ -2398,6 +2370,8 @@ Writer$1._configure = function(BufferWriter_) {
2398
2370
  BufferWriter$1._configure();
2399
2371
  };
2400
2372
 
2373
+ var WriterClass = /*@__PURE__*/getDefaultExportFromCjs(writer$1);
2374
+
2401
2375
  var writer_buffer = BufferWriter;
2402
2376
 
2403
2377
  // extends Writer
@@ -2483,11 +2457,13 @@ BufferWriter.prototype.string = function write_string_buffer(value) {
2483
2457
 
2484
2458
  BufferWriter._configure();
2485
2459
 
2460
+ var WriterBufferClass = /*@__PURE__*/getDefaultExportFromCjs(writer_buffer);
2461
+
2486
2462
  // @ts-expect-error no types
2487
2463
  function configure() {
2488
2464
  util$2._configure();
2489
- reader$1._configure(reader_buffer);
2490
- writer$1._configure(writer_buffer);
2465
+ ReaderClass._configure(ReaderBufferClass);
2466
+ WriterClass._configure(WriterBufferClass);
2491
2467
  }
2492
2468
  // Set up buffer utility according to the environment
2493
2469
  configure();
@@ -2508,7 +2484,7 @@ function patchReader(obj) {
2508
2484
  return obj;
2509
2485
  }
2510
2486
  function reader(buf) {
2511
- return patchReader(new reader$1(buf));
2487
+ return patchReader(new ReaderClass(buf));
2512
2488
  }
2513
2489
  function patchWriter(obj) {
2514
2490
  for (const method of methods) {
@@ -2523,7 +2499,7 @@ function patchWriter(obj) {
2523
2499
  return obj;
2524
2500
  }
2525
2501
  function writer() {
2526
- return patchWriter(writer$1.create());
2502
+ return patchWriter(WriterClass.create());
2527
2503
  }
2528
2504
 
2529
2505
  function decodeMessage(buf, codec) {
@@ -2584,7 +2560,7 @@ function message$1(encode, decode) {
2584
2560
  }
2585
2561
 
2586
2562
  /* eslint-disable import/export */
2587
- var RateLimitProof$3;
2563
+ var RateLimitProof$4;
2588
2564
  (function (RateLimitProof) {
2589
2565
  let _codec;
2590
2566
  RateLimitProof.codec = () => {
@@ -2675,8 +2651,8 @@ var RateLimitProof$3;
2675
2651
  RateLimitProof.decode = (buf) => {
2676
2652
  return decodeMessage(buf, RateLimitProof.codec());
2677
2653
  };
2678
- })(RateLimitProof$3 || (RateLimitProof$3 = {}));
2679
- var WakuMessage$3;
2654
+ })(RateLimitProof$4 || (RateLimitProof$4 = {}));
2655
+ var WakuMessage$4;
2680
2656
  (function (WakuMessage) {
2681
2657
  let _codec;
2682
2658
  WakuMessage.codec = () => {
@@ -2707,7 +2683,7 @@ var WakuMessage$3;
2707
2683
  }
2708
2684
  if (obj.rateLimitProof != null) {
2709
2685
  w.uint32(170);
2710
- RateLimitProof$3.codec().encode(obj.rateLimitProof, w);
2686
+ RateLimitProof$4.codec().encode(obj.rateLimitProof, w);
2711
2687
  }
2712
2688
  if (obj.ephemeral != null) {
2713
2689
  w.uint32(248);
@@ -2741,7 +2717,7 @@ var WakuMessage$3;
2741
2717
  obj.meta = reader.bytes();
2742
2718
  break;
2743
2719
  case 21:
2744
- obj.rateLimitProof = RateLimitProof$3.codec().decode(reader, reader.uint32());
2720
+ obj.rateLimitProof = RateLimitProof$4.codec().decode(reader, reader.uint32());
2745
2721
  break;
2746
2722
  case 31:
2747
2723
  obj.ephemeral = reader.bool();
@@ -2762,12 +2738,12 @@ var WakuMessage$3;
2762
2738
  WakuMessage.decode = (buf) => {
2763
2739
  return decodeMessage(buf, WakuMessage.codec());
2764
2740
  };
2765
- })(WakuMessage$3 || (WakuMessage$3 = {}));
2741
+ })(WakuMessage$4 || (WakuMessage$4 = {}));
2766
2742
 
2767
2743
  var message = /*#__PURE__*/Object.freeze({
2768
- __proto__: null,
2769
- get RateLimitProof () { return RateLimitProof$3; },
2770
- get WakuMessage () { return WakuMessage$3; }
2744
+ __proto__: null,
2745
+ get RateLimitProof () { return RateLimitProof$4; },
2746
+ get WakuMessage () { return WakuMessage$4; }
2771
2747
  });
2772
2748
 
2773
2749
  /* eslint-disable import/export */
@@ -2876,7 +2852,7 @@ var FilterRequest;
2876
2852
  return decodeMessage(buf, FilterRequest.codec());
2877
2853
  };
2878
2854
  })(FilterRequest || (FilterRequest = {}));
2879
- var MessagePush;
2855
+ var MessagePush$1;
2880
2856
  (function (MessagePush) {
2881
2857
  let _codec;
2882
2858
  MessagePush.codec = () => {
@@ -2888,7 +2864,7 @@ var MessagePush;
2888
2864
  if (obj.messages != null) {
2889
2865
  for (const value of obj.messages) {
2890
2866
  w.uint32(10);
2891
- WakuMessage$2.codec().encode(value, w);
2867
+ WakuMessage$3.codec().encode(value, w);
2892
2868
  }
2893
2869
  }
2894
2870
  if (opts.lengthDelimited !== false) {
@@ -2903,7 +2879,7 @@ var MessagePush;
2903
2879
  const tag = reader.uint32();
2904
2880
  switch (tag >>> 3) {
2905
2881
  case 1:
2906
- obj.messages.push(WakuMessage$2.codec().decode(reader, reader.uint32()));
2882
+ obj.messages.push(WakuMessage$3.codec().decode(reader, reader.uint32()));
2907
2883
  break;
2908
2884
  default:
2909
2885
  reader.skipType(tag & 7);
@@ -2921,7 +2897,7 @@ var MessagePush;
2921
2897
  MessagePush.decode = (buf) => {
2922
2898
  return decodeMessage(buf, MessagePush.codec());
2923
2899
  };
2924
- })(MessagePush || (MessagePush = {}));
2900
+ })(MessagePush$1 || (MessagePush$1 = {}));
2925
2901
  var FilterRpc$1;
2926
2902
  (function (FilterRpc) {
2927
2903
  let _codec;
@@ -2941,7 +2917,7 @@ var FilterRpc$1;
2941
2917
  }
2942
2918
  if (obj.push != null) {
2943
2919
  w.uint32(26);
2944
- MessagePush.codec().encode(obj.push, w);
2920
+ MessagePush$1.codec().encode(obj.push, w);
2945
2921
  }
2946
2922
  if (opts.lengthDelimited !== false) {
2947
2923
  w.ldelim();
@@ -2961,7 +2937,7 @@ var FilterRpc$1;
2961
2937
  obj.request = FilterRequest.codec().decode(reader, reader.uint32());
2962
2938
  break;
2963
2939
  case 3:
2964
- obj.push = MessagePush.codec().decode(reader, reader.uint32());
2940
+ obj.push = MessagePush$1.codec().decode(reader, reader.uint32());
2965
2941
  break;
2966
2942
  default:
2967
2943
  reader.skipType(tag & 7);
@@ -2980,7 +2956,7 @@ var FilterRpc$1;
2980
2956
  return decodeMessage(buf, FilterRpc.codec());
2981
2957
  };
2982
2958
  })(FilterRpc$1 || (FilterRpc$1 = {}));
2983
- var RateLimitProof$2;
2959
+ var RateLimitProof$3;
2984
2960
  (function (RateLimitProof) {
2985
2961
  let _codec;
2986
2962
  RateLimitProof.codec = () => {
@@ -3071,8 +3047,8 @@ var RateLimitProof$2;
3071
3047
  RateLimitProof.decode = (buf) => {
3072
3048
  return decodeMessage(buf, RateLimitProof.codec());
3073
3049
  };
3074
- })(RateLimitProof$2 || (RateLimitProof$2 = {}));
3075
- var WakuMessage$2;
3050
+ })(RateLimitProof$3 || (RateLimitProof$3 = {}));
3051
+ var WakuMessage$3;
3076
3052
  (function (WakuMessage) {
3077
3053
  let _codec;
3078
3054
  WakuMessage.codec = () => {
@@ -3103,7 +3079,7 @@ var WakuMessage$2;
3103
3079
  }
3104
3080
  if (obj.rateLimitProof != null) {
3105
3081
  w.uint32(170);
3106
- RateLimitProof$2.codec().encode(obj.rateLimitProof, w);
3082
+ RateLimitProof$3.codec().encode(obj.rateLimitProof, w);
3107
3083
  }
3108
3084
  if (obj.ephemeral != null) {
3109
3085
  w.uint32(248);
@@ -3137,7 +3113,7 @@ var WakuMessage$2;
3137
3113
  obj.meta = reader.bytes();
3138
3114
  break;
3139
3115
  case 21:
3140
- obj.rateLimitProof = RateLimitProof$2.codec().decode(reader, reader.uint32());
3116
+ obj.rateLimitProof = RateLimitProof$3.codec().decode(reader, reader.uint32());
3141
3117
  break;
3142
3118
  case 31:
3143
3119
  obj.ephemeral = reader.bool();
@@ -3158,7 +3134,7 @@ var WakuMessage$2;
3158
3134
  WakuMessage.decode = (buf) => {
3159
3135
  return decodeMessage(buf, WakuMessage.codec());
3160
3136
  };
3161
- })(WakuMessage$2 || (WakuMessage$2 = {}));
3137
+ })(WakuMessage$3 || (WakuMessage$3 = {}));
3162
3138
 
3163
3139
  /* eslint-disable import/export */
3164
3140
  var TopicOnlyMessage;
@@ -3206,6 +3182,385 @@ var TopicOnlyMessage;
3206
3182
  };
3207
3183
  })(TopicOnlyMessage || (TopicOnlyMessage = {}));
3208
3184
 
3185
+ /* eslint-disable import/export */
3186
+ var FilterSubscribeRequest;
3187
+ (function (FilterSubscribeRequest) {
3188
+ let FilterSubscribeType;
3189
+ (function (FilterSubscribeType) {
3190
+ FilterSubscribeType["SUBSCRIBER_PING"] = "SUBSCRIBER_PING";
3191
+ FilterSubscribeType["SUBSCRIBE"] = "SUBSCRIBE";
3192
+ FilterSubscribeType["UNSUBSCRIBE"] = "UNSUBSCRIBE";
3193
+ FilterSubscribeType["UNSUBSCRIBE_ALL"] = "UNSUBSCRIBE_ALL";
3194
+ })(FilterSubscribeType = FilterSubscribeRequest.FilterSubscribeType || (FilterSubscribeRequest.FilterSubscribeType = {}));
3195
+ let __FilterSubscribeTypeValues;
3196
+ (function (__FilterSubscribeTypeValues) {
3197
+ __FilterSubscribeTypeValues[__FilterSubscribeTypeValues["SUBSCRIBER_PING"] = 0] = "SUBSCRIBER_PING";
3198
+ __FilterSubscribeTypeValues[__FilterSubscribeTypeValues["SUBSCRIBE"] = 1] = "SUBSCRIBE";
3199
+ __FilterSubscribeTypeValues[__FilterSubscribeTypeValues["UNSUBSCRIBE"] = 2] = "UNSUBSCRIBE";
3200
+ __FilterSubscribeTypeValues[__FilterSubscribeTypeValues["UNSUBSCRIBE_ALL"] = 3] = "UNSUBSCRIBE_ALL";
3201
+ })(__FilterSubscribeTypeValues || (__FilterSubscribeTypeValues = {}));
3202
+ (function (FilterSubscribeType) {
3203
+ FilterSubscribeType.codec = () => {
3204
+ return enumeration(__FilterSubscribeTypeValues);
3205
+ };
3206
+ })(FilterSubscribeType = FilterSubscribeRequest.FilterSubscribeType || (FilterSubscribeRequest.FilterSubscribeType = {}));
3207
+ let _codec;
3208
+ FilterSubscribeRequest.codec = () => {
3209
+ if (_codec == null) {
3210
+ _codec = message$1((obj, w, opts = {}) => {
3211
+ if (opts.lengthDelimited !== false) {
3212
+ w.fork();
3213
+ }
3214
+ if (obj.requestId != null && obj.requestId !== "") {
3215
+ w.uint32(10);
3216
+ w.string(obj.requestId);
3217
+ }
3218
+ if (obj.filterSubscribeType != null &&
3219
+ __FilterSubscribeTypeValues[obj.filterSubscribeType] !== 0) {
3220
+ w.uint32(16);
3221
+ FilterSubscribeRequest.FilterSubscribeType.codec().encode(obj.filterSubscribeType, w);
3222
+ }
3223
+ if (obj.pubsubTopic != null) {
3224
+ w.uint32(82);
3225
+ w.string(obj.pubsubTopic);
3226
+ }
3227
+ if (obj.contentTopics != null) {
3228
+ for (const value of obj.contentTopics) {
3229
+ w.uint32(90);
3230
+ w.string(value);
3231
+ }
3232
+ }
3233
+ if (opts.lengthDelimited !== false) {
3234
+ w.ldelim();
3235
+ }
3236
+ }, (reader, length) => {
3237
+ const obj = {
3238
+ requestId: "",
3239
+ filterSubscribeType: FilterSubscribeType.SUBSCRIBER_PING,
3240
+ contentTopics: [],
3241
+ };
3242
+ const end = length == null ? reader.len : reader.pos + length;
3243
+ while (reader.pos < end) {
3244
+ const tag = reader.uint32();
3245
+ switch (tag >>> 3) {
3246
+ case 1:
3247
+ obj.requestId = reader.string();
3248
+ break;
3249
+ case 2:
3250
+ obj.filterSubscribeType =
3251
+ FilterSubscribeRequest.FilterSubscribeType.codec().decode(reader);
3252
+ break;
3253
+ case 10:
3254
+ obj.pubsubTopic = reader.string();
3255
+ break;
3256
+ case 11:
3257
+ obj.contentTopics.push(reader.string());
3258
+ break;
3259
+ default:
3260
+ reader.skipType(tag & 7);
3261
+ break;
3262
+ }
3263
+ }
3264
+ return obj;
3265
+ });
3266
+ }
3267
+ return _codec;
3268
+ };
3269
+ FilterSubscribeRequest.encode = (obj) => {
3270
+ return encodeMessage(obj, FilterSubscribeRequest.codec());
3271
+ };
3272
+ FilterSubscribeRequest.decode = (buf) => {
3273
+ return decodeMessage(buf, FilterSubscribeRequest.codec());
3274
+ };
3275
+ })(FilterSubscribeRequest || (FilterSubscribeRequest = {}));
3276
+ var FilterSubscribeResponse$1;
3277
+ (function (FilterSubscribeResponse) {
3278
+ let _codec;
3279
+ FilterSubscribeResponse.codec = () => {
3280
+ if (_codec == null) {
3281
+ _codec = message$1((obj, w, opts = {}) => {
3282
+ if (opts.lengthDelimited !== false) {
3283
+ w.fork();
3284
+ }
3285
+ if (obj.requestId != null && obj.requestId !== "") {
3286
+ w.uint32(10);
3287
+ w.string(obj.requestId);
3288
+ }
3289
+ if (obj.statusCode != null && obj.statusCode !== 0) {
3290
+ w.uint32(80);
3291
+ w.uint32(obj.statusCode);
3292
+ }
3293
+ if (obj.statusDesc != null) {
3294
+ w.uint32(90);
3295
+ w.string(obj.statusDesc);
3296
+ }
3297
+ if (opts.lengthDelimited !== false) {
3298
+ w.ldelim();
3299
+ }
3300
+ }, (reader, length) => {
3301
+ const obj = {
3302
+ requestId: "",
3303
+ statusCode: 0,
3304
+ };
3305
+ const end = length == null ? reader.len : reader.pos + length;
3306
+ while (reader.pos < end) {
3307
+ const tag = reader.uint32();
3308
+ switch (tag >>> 3) {
3309
+ case 1:
3310
+ obj.requestId = reader.string();
3311
+ break;
3312
+ case 10:
3313
+ obj.statusCode = reader.uint32();
3314
+ break;
3315
+ case 11:
3316
+ obj.statusDesc = reader.string();
3317
+ break;
3318
+ default:
3319
+ reader.skipType(tag & 7);
3320
+ break;
3321
+ }
3322
+ }
3323
+ return obj;
3324
+ });
3325
+ }
3326
+ return _codec;
3327
+ };
3328
+ FilterSubscribeResponse.encode = (obj) => {
3329
+ return encodeMessage(obj, FilterSubscribeResponse.codec());
3330
+ };
3331
+ FilterSubscribeResponse.decode = (buf) => {
3332
+ return decodeMessage(buf, FilterSubscribeResponse.codec());
3333
+ };
3334
+ })(FilterSubscribeResponse$1 || (FilterSubscribeResponse$1 = {}));
3335
+ var MessagePush;
3336
+ (function (MessagePush) {
3337
+ let _codec;
3338
+ MessagePush.codec = () => {
3339
+ if (_codec == null) {
3340
+ _codec = message$1((obj, w, opts = {}) => {
3341
+ if (opts.lengthDelimited !== false) {
3342
+ w.fork();
3343
+ }
3344
+ if (obj.wakuMessage != null) {
3345
+ w.uint32(10);
3346
+ WakuMessage$2.codec().encode(obj.wakuMessage, w);
3347
+ }
3348
+ if (obj.pubsubTopic != null) {
3349
+ w.uint32(18);
3350
+ w.string(obj.pubsubTopic);
3351
+ }
3352
+ if (opts.lengthDelimited !== false) {
3353
+ w.ldelim();
3354
+ }
3355
+ }, (reader, length) => {
3356
+ const obj = {};
3357
+ const end = length == null ? reader.len : reader.pos + length;
3358
+ while (reader.pos < end) {
3359
+ const tag = reader.uint32();
3360
+ switch (tag >>> 3) {
3361
+ case 1:
3362
+ obj.wakuMessage = WakuMessage$2.codec().decode(reader, reader.uint32());
3363
+ break;
3364
+ case 2:
3365
+ obj.pubsubTopic = reader.string();
3366
+ break;
3367
+ default:
3368
+ reader.skipType(tag & 7);
3369
+ break;
3370
+ }
3371
+ }
3372
+ return obj;
3373
+ });
3374
+ }
3375
+ return _codec;
3376
+ };
3377
+ MessagePush.encode = (obj) => {
3378
+ return encodeMessage(obj, MessagePush.codec());
3379
+ };
3380
+ MessagePush.decode = (buf) => {
3381
+ return decodeMessage(buf, MessagePush.codec());
3382
+ };
3383
+ })(MessagePush || (MessagePush = {}));
3384
+ var RateLimitProof$2;
3385
+ (function (RateLimitProof) {
3386
+ let _codec;
3387
+ RateLimitProof.codec = () => {
3388
+ if (_codec == null) {
3389
+ _codec = message$1((obj, w, opts = {}) => {
3390
+ if (opts.lengthDelimited !== false) {
3391
+ w.fork();
3392
+ }
3393
+ if (obj.proof != null && obj.proof.byteLength > 0) {
3394
+ w.uint32(10);
3395
+ w.bytes(obj.proof);
3396
+ }
3397
+ if (obj.merkleRoot != null && obj.merkleRoot.byteLength > 0) {
3398
+ w.uint32(18);
3399
+ w.bytes(obj.merkleRoot);
3400
+ }
3401
+ if (obj.epoch != null && obj.epoch.byteLength > 0) {
3402
+ w.uint32(26);
3403
+ w.bytes(obj.epoch);
3404
+ }
3405
+ if (obj.shareX != null && obj.shareX.byteLength > 0) {
3406
+ w.uint32(34);
3407
+ w.bytes(obj.shareX);
3408
+ }
3409
+ if (obj.shareY != null && obj.shareY.byteLength > 0) {
3410
+ w.uint32(42);
3411
+ w.bytes(obj.shareY);
3412
+ }
3413
+ if (obj.nullifier != null && obj.nullifier.byteLength > 0) {
3414
+ w.uint32(50);
3415
+ w.bytes(obj.nullifier);
3416
+ }
3417
+ if (obj.rlnIdentifier != null && obj.rlnIdentifier.byteLength > 0) {
3418
+ w.uint32(58);
3419
+ w.bytes(obj.rlnIdentifier);
3420
+ }
3421
+ if (opts.lengthDelimited !== false) {
3422
+ w.ldelim();
3423
+ }
3424
+ }, (reader, length) => {
3425
+ const obj = {
3426
+ proof: new Uint8Array(0),
3427
+ merkleRoot: new Uint8Array(0),
3428
+ epoch: new Uint8Array(0),
3429
+ shareX: new Uint8Array(0),
3430
+ shareY: new Uint8Array(0),
3431
+ nullifier: new Uint8Array(0),
3432
+ rlnIdentifier: new Uint8Array(0),
3433
+ };
3434
+ const end = length == null ? reader.len : reader.pos + length;
3435
+ while (reader.pos < end) {
3436
+ const tag = reader.uint32();
3437
+ switch (tag >>> 3) {
3438
+ case 1:
3439
+ obj.proof = reader.bytes();
3440
+ break;
3441
+ case 2:
3442
+ obj.merkleRoot = reader.bytes();
3443
+ break;
3444
+ case 3:
3445
+ obj.epoch = reader.bytes();
3446
+ break;
3447
+ case 4:
3448
+ obj.shareX = reader.bytes();
3449
+ break;
3450
+ case 5:
3451
+ obj.shareY = reader.bytes();
3452
+ break;
3453
+ case 6:
3454
+ obj.nullifier = reader.bytes();
3455
+ break;
3456
+ case 7:
3457
+ obj.rlnIdentifier = reader.bytes();
3458
+ break;
3459
+ default:
3460
+ reader.skipType(tag & 7);
3461
+ break;
3462
+ }
3463
+ }
3464
+ return obj;
3465
+ });
3466
+ }
3467
+ return _codec;
3468
+ };
3469
+ RateLimitProof.encode = (obj) => {
3470
+ return encodeMessage(obj, RateLimitProof.codec());
3471
+ };
3472
+ RateLimitProof.decode = (buf) => {
3473
+ return decodeMessage(buf, RateLimitProof.codec());
3474
+ };
3475
+ })(RateLimitProof$2 || (RateLimitProof$2 = {}));
3476
+ var WakuMessage$2;
3477
+ (function (WakuMessage) {
3478
+ let _codec;
3479
+ WakuMessage.codec = () => {
3480
+ if (_codec == null) {
3481
+ _codec = message$1((obj, w, opts = {}) => {
3482
+ if (opts.lengthDelimited !== false) {
3483
+ w.fork();
3484
+ }
3485
+ if (obj.payload != null && obj.payload.byteLength > 0) {
3486
+ w.uint32(10);
3487
+ w.bytes(obj.payload);
3488
+ }
3489
+ if (obj.contentTopic != null && obj.contentTopic !== "") {
3490
+ w.uint32(18);
3491
+ w.string(obj.contentTopic);
3492
+ }
3493
+ if (obj.version != null) {
3494
+ w.uint32(24);
3495
+ w.uint32(obj.version);
3496
+ }
3497
+ if (obj.timestamp != null) {
3498
+ w.uint32(80);
3499
+ w.sint64(obj.timestamp);
3500
+ }
3501
+ if (obj.meta != null) {
3502
+ w.uint32(90);
3503
+ w.bytes(obj.meta);
3504
+ }
3505
+ if (obj.rateLimitProof != null) {
3506
+ w.uint32(170);
3507
+ RateLimitProof$2.codec().encode(obj.rateLimitProof, w);
3508
+ }
3509
+ if (obj.ephemeral != null) {
3510
+ w.uint32(248);
3511
+ w.bool(obj.ephemeral);
3512
+ }
3513
+ if (opts.lengthDelimited !== false) {
3514
+ w.ldelim();
3515
+ }
3516
+ }, (reader, length) => {
3517
+ const obj = {
3518
+ payload: new Uint8Array(0),
3519
+ contentTopic: "",
3520
+ };
3521
+ const end = length == null ? reader.len : reader.pos + length;
3522
+ while (reader.pos < end) {
3523
+ const tag = reader.uint32();
3524
+ switch (tag >>> 3) {
3525
+ case 1:
3526
+ obj.payload = reader.bytes();
3527
+ break;
3528
+ case 2:
3529
+ obj.contentTopic = reader.string();
3530
+ break;
3531
+ case 3:
3532
+ obj.version = reader.uint32();
3533
+ break;
3534
+ case 10:
3535
+ obj.timestamp = reader.sint64();
3536
+ break;
3537
+ case 11:
3538
+ obj.meta = reader.bytes();
3539
+ break;
3540
+ case 21:
3541
+ obj.rateLimitProof = RateLimitProof$2.codec().decode(reader, reader.uint32());
3542
+ break;
3543
+ case 31:
3544
+ obj.ephemeral = reader.bool();
3545
+ break;
3546
+ default:
3547
+ reader.skipType(tag & 7);
3548
+ break;
3549
+ }
3550
+ }
3551
+ return obj;
3552
+ });
3553
+ }
3554
+ return _codec;
3555
+ };
3556
+ WakuMessage.encode = (obj) => {
3557
+ return encodeMessage(obj, WakuMessage.codec());
3558
+ };
3559
+ WakuMessage.decode = (buf) => {
3560
+ return decodeMessage(buf, WakuMessage.codec());
3561
+ };
3562
+ })(WakuMessage$2 || (WakuMessage$2 = {}));
3563
+
3209
3564
  /* eslint-disable import/export */
3210
3565
  var PushRequest;
3211
3566
  (function (PushRequest) {
@@ -4299,4 +4654,155 @@ var PeerExchangeRPC;
4299
4654
  };
4300
4655
  })(PeerExchangeRPC || (PeerExchangeRPC = {}));
4301
4656
 
4302
- export { FilterRpc$1 as F, HistoryRpc$1 as H, PushRpc$1 as P, TopicOnlyMessage as T, WakuMessage$3 as W, PushResponse as a, aspromise as b, base64$1 as c, commonjsGlobal as d, eventemitter as e, float as f, getDefaultExportFromCjs as g, getAugmentedNamespace as h, inquire_1 as i, PagingInfo as j, HistoryResponse as k, message as m, pool_1 as p, utf8$2 as u };
4657
+ const log = debug("waku:message:version-0");
4658
+ const OneMillion = BigInt(1000000);
4659
+ const Version = 0;
4660
+ class DecodedMessage {
4661
+ pubSubTopic;
4662
+ proto;
4663
+ constructor(pubSubTopic, proto) {
4664
+ this.pubSubTopic = pubSubTopic;
4665
+ this.proto = proto;
4666
+ }
4667
+ get ephemeral() {
4668
+ return Boolean(this.proto.ephemeral);
4669
+ }
4670
+ get payload() {
4671
+ return this.proto.payload;
4672
+ }
4673
+ get contentTopic() {
4674
+ return this.proto.contentTopic;
4675
+ }
4676
+ get _rawTimestamp() {
4677
+ return this.proto.timestamp;
4678
+ }
4679
+ get timestamp() {
4680
+ // In the case we receive a value that is bigger than JS's max number,
4681
+ // we catch the error and return undefined.
4682
+ try {
4683
+ if (this.proto.timestamp) {
4684
+ // nanoseconds 10^-9 to milliseconds 10^-3
4685
+ const timestamp = this.proto.timestamp / OneMillion;
4686
+ return new Date(Number(timestamp));
4687
+ }
4688
+ return;
4689
+ }
4690
+ catch (e) {
4691
+ return;
4692
+ }
4693
+ }
4694
+ get meta() {
4695
+ return this.proto.meta;
4696
+ }
4697
+ get version() {
4698
+ // https://rfc.vac.dev/spec/14/
4699
+ // > If omitted, the value SHOULD be interpreted as version 0.
4700
+ return this.proto.version ?? 0;
4701
+ }
4702
+ get rateLimitProof() {
4703
+ return this.proto.rateLimitProof;
4704
+ }
4705
+ }
4706
+ class Encoder {
4707
+ contentTopic;
4708
+ ephemeral;
4709
+ metaSetter;
4710
+ constructor(contentTopic, ephemeral = false, metaSetter) {
4711
+ this.contentTopic = contentTopic;
4712
+ this.ephemeral = ephemeral;
4713
+ this.metaSetter = metaSetter;
4714
+ if (!contentTopic || contentTopic === "") {
4715
+ throw new Error("Content topic must be specified");
4716
+ }
4717
+ }
4718
+ async toWire(message$1) {
4719
+ return WakuMessage$4.encode(await this.toProtoObj(message$1));
4720
+ }
4721
+ async toProtoObj(message) {
4722
+ const timestamp = message.timestamp ?? new Date();
4723
+ const protoMessage = {
4724
+ payload: message.payload,
4725
+ version: Version,
4726
+ contentTopic: this.contentTopic,
4727
+ timestamp: BigInt(timestamp.valueOf()) * OneMillion,
4728
+ meta: undefined,
4729
+ rateLimitProof: message.rateLimitProof,
4730
+ ephemeral: this.ephemeral,
4731
+ };
4732
+ if (this.metaSetter) {
4733
+ const meta = this.metaSetter(protoMessage);
4734
+ return { ...protoMessage, meta };
4735
+ }
4736
+ return protoMessage;
4737
+ }
4738
+ }
4739
+ /**
4740
+ * Creates an encoder that encode messages without Waku level encryption or signature.
4741
+ *
4742
+ * An encoder is used to encode messages in the [`14/WAKU2-MESSAGE](https://rfc.vac.dev/spec/14/)
4743
+ * format to be sent over the Waku network. The resulting encoder can then be
4744
+ * pass to { @link @waku/interfaces.LightPush.push } or
4745
+ * { @link @waku/interfaces.Relay.send } to automatically encode outgoing
4746
+ * messages.
4747
+ */
4748
+ function createEncoder({ contentTopic, ephemeral, metaSetter, }) {
4749
+ return new Encoder(contentTopic, ephemeral, metaSetter);
4750
+ }
4751
+ class Decoder {
4752
+ contentTopic;
4753
+ constructor(contentTopic) {
4754
+ this.contentTopic = contentTopic;
4755
+ if (!contentTopic || contentTopic === "") {
4756
+ throw new Error("Content topic must be specified");
4757
+ }
4758
+ }
4759
+ fromWireToProtoObj(bytes) {
4760
+ const protoMessage = WakuMessage$4.decode(bytes);
4761
+ log("Message decoded", protoMessage);
4762
+ return Promise.resolve({
4763
+ payload: protoMessage.payload,
4764
+ contentTopic: protoMessage.contentTopic,
4765
+ version: protoMessage.version ?? undefined,
4766
+ timestamp: protoMessage.timestamp ?? undefined,
4767
+ meta: protoMessage.meta ?? undefined,
4768
+ rateLimitProof: protoMessage.rateLimitProof ?? undefined,
4769
+ ephemeral: protoMessage.ephemeral ?? false,
4770
+ });
4771
+ }
4772
+ async fromProtoObj(pubSubTopic, proto) {
4773
+ // https://rfc.vac.dev/spec/14/
4774
+ // > If omitted, the value SHOULD be interpreted as version 0.
4775
+ if (proto.version ?? 0 !== Version) {
4776
+ log("Failed to decode due to incorrect version, expected:", Version, ", actual:", proto.version);
4777
+ return Promise.resolve(undefined);
4778
+ }
4779
+ return new DecodedMessage(pubSubTopic, proto);
4780
+ }
4781
+ }
4782
+ /**
4783
+ * Creates a decoder that decode messages without Waku level encryption.
4784
+ *
4785
+ * A decoder is used to decode messages from the [14/WAKU2-MESSAGE](https://rfc.vac.dev/spec/14/)
4786
+ * format when received from the Waku network. The resulting decoder can then be
4787
+ * pass to { @link @waku/interfaces.Filter.subscribe } or
4788
+ * { @link @waku/interfaces.Relay.subscribe } to automatically decode incoming
4789
+ * messages.
4790
+ *
4791
+ * @param contentTopic The resulting decoder will only decode messages with this content topic.
4792
+ */
4793
+ function createDecoder(contentTopic) {
4794
+ return new Decoder(contentTopic);
4795
+ }
4796
+
4797
+ var version_0 = /*#__PURE__*/Object.freeze({
4798
+ __proto__: null,
4799
+ DecodedMessage: DecodedMessage,
4800
+ Decoder: Decoder,
4801
+ Encoder: Encoder,
4802
+ Version: Version,
4803
+ createDecoder: createDecoder,
4804
+ createEncoder: createEncoder,
4805
+ proto: message
4806
+ });
4807
+
4808
+ export { DecodedMessage as D, Encoder as E, FilterRpc$1 as F, HistoryRpc$1 as H, MessagePush as M, PushRpc$1 as P, Version as V, FilterSubscribeRequest as a, FilterSubscribeResponse$1 as b, createEncoder as c, PushResponse as d, PagingInfo as e, HistoryResponse as f, createDecoder as g, Decoder as h, message as m, version_0 as v };