@waku/core 0.0.5 → 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.
- package/CHANGELOG.md +18 -0
- package/bundle/{index-a67d7136.js → index-925587a4.js} +1696 -113
- package/bundle/index.js +12942 -15253
- package/bundle/lib/predefined_bootstrap_nodes.js +24 -4
- package/bundle/lib/wait_for_remote_peer.js +4 -6
- package/bundle/lib/waku_message/topic_only_message.js +2 -3
- package/bundle/lib/waku_message/version_0.js +17 -4
- package/bundle/{message-049c8b67.js → message-70dbb19b.js} +1419 -753
- package/bundle/{topic_only_message-5ad3a869.js → topic_only_message-a80fe8b2.js} +2 -2
- package/dist/index.d.ts +5 -4
- package/dist/index.js +5 -4
- package/dist/index.js.map +1 -1
- package/dist/lib/predefined_bootstrap_nodes.d.ts +1 -2
- package/dist/lib/predefined_bootstrap_nodes.js +0 -2
- package/dist/lib/predefined_bootstrap_nodes.js.map +1 -1
- package/dist/lib/to_proto_message.js +1 -0
- package/dist/lib/to_proto_message.js.map +1 -1
- package/dist/lib/wait_for_remote_peer.js +2 -2
- package/dist/lib/wait_for_remote_peer.js.map +1 -1
- package/dist/lib/waku.d.ts +16 -15
- package/dist/lib/waku.js +31 -33
- package/dist/lib/waku.js.map +1 -1
- package/dist/lib/waku_filter/index.d.ts +10 -35
- package/dist/lib/waku_filter/index.js +13 -7
- package/dist/lib/waku_filter/index.js.map +1 -1
- package/dist/lib/waku_light_push/index.d.ts +8 -24
- package/dist/lib/waku_light_push/index.js +12 -6
- package/dist/lib/waku_light_push/index.js.map +1 -1
- package/dist/lib/waku_message/topic_only_message.d.ts +3 -2
- package/dist/lib/waku_message/topic_only_message.js +1 -0
- package/dist/lib/waku_message/topic_only_message.js.map +1 -1
- package/dist/lib/waku_message/version_0.d.ts +5 -2
- package/dist/lib/waku_message/version_0.js +9 -2
- package/dist/lib/waku_message/version_0.js.map +1 -1
- package/dist/lib/waku_relay/index.d.ts +3 -45
- package/dist/lib/waku_relay/index.js +6 -3
- package/dist/lib/waku_relay/index.js.map +1 -1
- package/dist/lib/waku_store/index.d.ts +11 -71
- package/dist/lib/waku_store/index.js +34 -10
- package/dist/lib/waku_store/index.js.map +1 -1
- package/dist/proto/filter.d.ts +1 -0
- package/dist/proto/filter.js +7 -0
- package/dist/proto/filter.js.map +1 -1
- package/dist/proto/light_push.d.ts +1 -0
- package/dist/proto/light_push.js +7 -0
- package/dist/proto/light_push.js.map +1 -1
- package/dist/proto/message.d.ts +1 -0
- package/dist/proto/message.js +7 -0
- package/dist/proto/message.js.map +1 -1
- package/dist/proto/store.d.ts +1 -0
- package/dist/proto/store.js +7 -0
- package/dist/proto/store.js.map +1 -1
- package/package.json +11 -13
- package/src/index.ts +10 -4
- package/src/lib/predefined_bootstrap_nodes.ts +1 -5
- package/src/lib/to_proto_message.ts +1 -0
- package/src/lib/wait_for_remote_peer.ts +2 -2
- package/src/lib/waku.ts +51 -47
- package/src/lib/waku_filter/index.ts +28 -7
- package/src/lib/waku_light_push/index.ts +26 -6
- package/src/lib/waku_message/topic_only_message.ts +4 -2
- package/src/lib/waku_message/version_0.ts +8 -2
- package/src/lib/waku_relay/index.ts +13 -3
- package/src/lib/waku_store/index.ts +63 -12
- package/src/proto/filter.ts +9 -0
- package/src/proto/light_push.ts +9 -0
- package/src/proto/message.ts +9 -0
- package/src/proto/store.ts +9 -0
- package/bundle/browser-1e1a2f27.js +0 -722
- package/bundle/events-158407bb.js +0 -1929
- package/bundle/index-64ce43f0.js +0 -69
- package/bundle/index-8710041d.js +0 -2962
- package/bundle/lib/peer_discovery_static_list.js +0 -89
- package/bundle/random_subset-75d1c511.js +0 -26
- package/dist/lib/peer_discovery_static_list.d.ts +0 -44
- package/dist/lib/peer_discovery_static_list.js +0 -72
- package/dist/lib/peer_discovery_static_list.js.map +0 -1
- package/src/lib/peer_discovery_static_list.ts +0 -118
@@ -1,6 +1,27 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
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-
|
2
|
-
import { d as debug } from '../
|
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.
|
283
|
+
waku.peerStore.removeEventListener("change:protocols", cb);
|
286
284
|
resolve();
|
287
285
|
break;
|
288
286
|
}
|
289
287
|
}
|
290
288
|
};
|
291
|
-
waku.
|
289
|
+
waku.peerStore.addEventListener("change:protocols", cb);
|
292
290
|
});
|
293
291
|
}
|
294
292
|
/**
|
@@ -1,3 +1,2 @@
|
|
1
|
-
import '../../
|
2
|
-
export { T as TopicOnlyDecoder, a as TopicOnlyMessage } from '../../topic_only_message-
|
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 '../../
|
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) {
|