@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.
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,89 +0,0 @@
1
- import { p as peerIdFromString, E as EventEmitter, C as CustomEvent } from '../events-158407bb.js';
2
- import { m as multiaddr } from '../index-8710041d.js';
3
- import { d as debug } from '../browser-1e1a2f27.js';
4
- import { g as getPseudoRandomSubset } from '../random_subset-75d1c511.js';
5
- import '../index-64ce43f0.js';
6
-
7
- const symbol = Symbol.for('@libp2p/peer-discovery');
8
-
9
- function multiaddrsToPeerInfo(mas) {
10
- return mas
11
- .map((ma) => {
12
- const peerIdStr = ma.getPeerId();
13
- const protocols = [];
14
- return {
15
- id: peerIdStr ? peerIdFromString(peerIdStr) : null,
16
- multiaddrs: [ma.decapsulateCode(421)],
17
- protocols,
18
- };
19
- })
20
- .filter((peerInfo) => peerInfo.id !== null);
21
- }
22
-
23
- const log = debug("waku:peer-discovery-static-list");
24
- /**
25
- * Pass a list of multiaddr that will be used to bootstrap a node.
26
- */
27
- class PeerDiscoveryStaticPeers extends EventEmitter {
28
- /**
29
- * @param peers Multiaddrs of peers to connect to.
30
- * @param opts
31
- */
32
- constructor(peers, opts) {
33
- super();
34
- this.interval = opts?.interval ?? PeerDiscoveryStaticPeers.DefaultInterval;
35
- const maxPeers = opts?.maxPeers ?? peers?.length;
36
- const peerMas = peers.map((peer) => {
37
- if (typeof peer === "string") {
38
- return multiaddr(peer);
39
- }
40
- else {
41
- return peer;
42
- }
43
- });
44
- this.peers = multiaddrsToPeerInfo(getPseudoRandomSubset(peerMas, maxPeers));
45
- log("Use provided list of peers (reduced to maxPeers)", this.peers.map((ma) => ma.toString()));
46
- }
47
- /**
48
- * Start emitting static peers.
49
- */
50
- start() {
51
- this._startTimer();
52
- }
53
- _startTimer() {
54
- if (this.peers) {
55
- log("Starting to emit static peers.");
56
- if (this.timer != null) {
57
- return;
58
- }
59
- this.timer = setInterval(() => this._returnPeers(), this.interval);
60
- this._returnPeers();
61
- }
62
- }
63
- _returnPeers() {
64
- if (this.timer == null) {
65
- return;
66
- }
67
- this.peers.forEach((peerData) => {
68
- this.dispatchEvent(new CustomEvent("peer", { detail: peerData }));
69
- });
70
- }
71
- /**
72
- * Stop emitting peers.
73
- */
74
- stop() {
75
- if (this.timer != null) {
76
- clearInterval(this.timer);
77
- }
78
- this.timer = undefined;
79
- }
80
- get [symbol]() {
81
- return true;
82
- }
83
- get [Symbol.toStringTag]() {
84
- return "@waku/peer-discovery-static-list";
85
- }
86
- }
87
- PeerDiscoveryStaticPeers.DefaultInterval = 200;
88
-
89
- export { PeerDiscoveryStaticPeers };
@@ -1,26 +0,0 @@
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
- }
25
-
26
- export { getPseudoRandomSubset as g };
@@ -1,44 +0,0 @@
1
- import type { PeerDiscovery, PeerDiscoveryEvents } from "@libp2p/interface-peer-discovery";
2
- import { symbol } from "@libp2p/interface-peer-discovery";
3
- import { EventEmitter } from "@libp2p/interfaces/events";
4
- import type { Multiaddr } from "@multiformats/multiaddr";
5
- export interface Options {
6
- /**
7
- * The maximum of peers to connect to as part of the bootstrap process.
8
- *
9
- * @default The length of the passed `peers` array.
10
- */
11
- maxPeers?: number;
12
- /**
13
- * The interval between emitting addresses in milliseconds.
14
- *
15
- * @default {@link PeerDiscoveryStaticPeers.DefaultInterval}
16
- */
17
- interval?: number;
18
- }
19
- /**
20
- * Pass a list of multiaddr that will be used to bootstrap a node.
21
- */
22
- export declare class PeerDiscoveryStaticPeers extends EventEmitter<PeerDiscoveryEvents> implements PeerDiscovery {
23
- static DefaultInterval: number;
24
- private readonly peers;
25
- private timer?;
26
- private readonly interval;
27
- /**
28
- * @param peers Multiaddrs of peers to connect to.
29
- * @param opts
30
- */
31
- constructor(peers: string[] | Multiaddr[], opts?: Options);
32
- /**
33
- * Start emitting static peers.
34
- */
35
- start(): void;
36
- private _startTimer;
37
- _returnPeers(): void;
38
- /**
39
- * Stop emitting peers.
40
- */
41
- stop(): void;
42
- get [symbol](): true;
43
- get [Symbol.toStringTag](): string;
44
- }
@@ -1,72 +0,0 @@
1
- import { symbol } from "@libp2p/interface-peer-discovery";
2
- import { CustomEvent, EventEmitter } from "@libp2p/interfaces/events";
3
- import { multiaddr } from "@multiformats/multiaddr";
4
- import debug from "debug";
5
- import { multiaddrsToPeerInfo } from "./multiaddr_to_peer_info.js";
6
- import { getPseudoRandomSubset } from "./random_subset.js";
7
- const log = debug("waku:peer-discovery-static-list");
8
- /**
9
- * Pass a list of multiaddr that will be used to bootstrap a node.
10
- */
11
- export class PeerDiscoveryStaticPeers extends EventEmitter {
12
- /**
13
- * @param peers Multiaddrs of peers to connect to.
14
- * @param opts
15
- */
16
- constructor(peers, opts) {
17
- super();
18
- this.interval = opts?.interval ?? PeerDiscoveryStaticPeers.DefaultInterval;
19
- const maxPeers = opts?.maxPeers ?? peers?.length;
20
- const peerMas = peers.map((peer) => {
21
- if (typeof peer === "string") {
22
- return multiaddr(peer);
23
- }
24
- else {
25
- return peer;
26
- }
27
- });
28
- this.peers = multiaddrsToPeerInfo(getPseudoRandomSubset(peerMas, maxPeers));
29
- log("Use provided list of peers (reduced to maxPeers)", this.peers.map((ma) => ma.toString()));
30
- }
31
- /**
32
- * Start emitting static peers.
33
- */
34
- start() {
35
- this._startTimer();
36
- }
37
- _startTimer() {
38
- if (this.peers) {
39
- log("Starting to emit static peers.");
40
- if (this.timer != null) {
41
- return;
42
- }
43
- this.timer = setInterval(() => this._returnPeers(), this.interval);
44
- this._returnPeers();
45
- }
46
- }
47
- _returnPeers() {
48
- if (this.timer == null) {
49
- return;
50
- }
51
- this.peers.forEach((peerData) => {
52
- this.dispatchEvent(new CustomEvent("peer", { detail: peerData }));
53
- });
54
- }
55
- /**
56
- * Stop emitting peers.
57
- */
58
- stop() {
59
- if (this.timer != null) {
60
- clearInterval(this.timer);
61
- }
62
- this.timer = undefined;
63
- }
64
- get [symbol]() {
65
- return true;
66
- }
67
- get [Symbol.toStringTag]() {
68
- return "@waku/peer-discovery-static-list";
69
- }
70
- }
71
- PeerDiscoveryStaticPeers.DefaultInterval = 200;
72
- //# sourceMappingURL=peer_discovery_static_list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"peer_discovery_static_list.js","sourceRoot":"","sources":["../../src/lib/peer_discovery_static_list.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,GAAG,GAAG,KAAK,CAAC,iCAAiC,CAAC,CAAC;AAiBrD;;GAEG;AACH,MAAM,OAAO,wBACX,SAAQ,YAAiC;IAQzC;;;OAGG;IACH,YAAY,KAA6B,EAAE,IAAc;QACvD,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,wBAAwB,CAAC,eAAe,CAAC;QAC3E,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,KAAK,EAAE,MAAM,CAAC;QAEjD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAwB,EAAE,EAAE;YACrD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC5B,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;aACxB;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,oBAAoB,CAAC,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC5E,GAAG,CACD,kDAAkD,EAClD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CACtC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAEO,WAAW;QACjB,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,GAAG,CAAC,gCAAgC,CAAC,CAAC;YACtC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;gBACtB,OAAO;aACR;YAED,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEnE,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;YACtB,OAAO;SACR;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC9B,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAW,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CACxD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;YACtB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3B;QAED,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,kCAAkC,CAAC;IAC5C,CAAC;;AA9EM,wCAAe,GAAG,GAAG,CAAC"}
@@ -1,118 +0,0 @@
1
- import type {
2
- PeerDiscovery,
3
- PeerDiscoveryEvents,
4
- } from "@libp2p/interface-peer-discovery";
5
- import { symbol } from "@libp2p/interface-peer-discovery";
6
- import type { PeerInfo } from "@libp2p/interface-peer-info";
7
- import { CustomEvent, EventEmitter } from "@libp2p/interfaces/events";
8
- import type { Multiaddr } from "@multiformats/multiaddr";
9
- import { multiaddr } from "@multiformats/multiaddr";
10
- import debug from "debug";
11
-
12
- import { multiaddrsToPeerInfo } from "./multiaddr_to_peer_info";
13
- import { getPseudoRandomSubset } from "./random_subset";
14
-
15
- const log = debug("waku:peer-discovery-static-list");
16
-
17
- export interface Options {
18
- /**
19
- * The maximum of peers to connect to as part of the bootstrap process.
20
- *
21
- * @default The length of the passed `peers` array.
22
- */
23
- maxPeers?: number;
24
- /**
25
- * The interval between emitting addresses in milliseconds.
26
- *
27
- * @default {@link PeerDiscoveryStaticPeers.DefaultInterval}
28
- */
29
- interval?: number;
30
- }
31
-
32
- /**
33
- * Pass a list of multiaddr that will be used to bootstrap a node.
34
- */
35
- export class PeerDiscoveryStaticPeers
36
- extends EventEmitter<PeerDiscoveryEvents>
37
- implements PeerDiscovery
38
- {
39
- static DefaultInterval = 200;
40
- private readonly peers: PeerInfo[];
41
- private timer?: ReturnType<typeof setInterval>;
42
- private readonly interval: number;
43
-
44
- /**
45
- * @param peers Multiaddrs of peers to connect to.
46
- * @param opts
47
- */
48
- constructor(peers: string[] | Multiaddr[], opts?: Options) {
49
- super();
50
-
51
- this.interval = opts?.interval ?? PeerDiscoveryStaticPeers.DefaultInterval;
52
- const maxPeers = opts?.maxPeers ?? peers?.length;
53
-
54
- const peerMas = peers.map((peer: string | Multiaddr) => {
55
- if (typeof peer === "string") {
56
- return multiaddr(peer);
57
- } else {
58
- return peer;
59
- }
60
- });
61
- this.peers = multiaddrsToPeerInfo(getPseudoRandomSubset(peerMas, maxPeers));
62
- log(
63
- "Use provided list of peers (reduced to maxPeers)",
64
- this.peers.map((ma) => ma.toString())
65
- );
66
- }
67
-
68
- /**
69
- * Start emitting static peers.
70
- */
71
- start(): void {
72
- this._startTimer();
73
- }
74
-
75
- private _startTimer(): void {
76
- if (this.peers) {
77
- log("Starting to emit static peers.");
78
- if (this.timer != null) {
79
- return;
80
- }
81
-
82
- this.timer = setInterval(() => this._returnPeers(), this.interval);
83
-
84
- this._returnPeers();
85
- }
86
- }
87
-
88
- _returnPeers(): void {
89
- if (this.timer == null) {
90
- return;
91
- }
92
-
93
- this.peers.forEach((peerData) => {
94
- this.dispatchEvent(
95
- new CustomEvent<PeerInfo>("peer", { detail: peerData })
96
- );
97
- });
98
- }
99
-
100
- /**
101
- * Stop emitting peers.
102
- */
103
- stop(): void {
104
- if (this.timer != null) {
105
- clearInterval(this.timer);
106
- }
107
-
108
- this.timer = undefined;
109
- }
110
-
111
- get [symbol](): true {
112
- return true;
113
- }
114
-
115
- get [Symbol.toStringTag](): string {
116
- return "@waku/peer-discovery-static-list";
117
- }
118
- }