@waku/core 0.0.28 → 0.0.29-3ec2344.0
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/bundle/{base_protocol-D0Zdzb-v.js → base_protocol-3fdjkRTX.js} +60 -18
- package/bundle/{browser-DoQRY-an.js → browser-H8Jgqifo.js} +5 -0
- package/bundle/{index-BJwgMx4y.js → index-BQ8SG1DC.js} +11 -20
- package/bundle/index.js +106 -362
- package/bundle/lib/base_protocol.js +3 -3
- package/bundle/lib/message/version_0.js +3 -3
- package/bundle/lib/predefined_bootstrap_nodes.js +1 -1
- package/bundle/{version_0-C6o0DvNW.js → version_0-D_Nwtppu.js} +5 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/lib/filter/index.d.ts +13 -2
- package/dist/lib/filter/index.js +74 -259
- package/dist/lib/filter/index.js.map +1 -1
- package/dist/lib/keep_alive_manager.js +1 -1
- package/dist/lib/light_push/index.js +3 -3
- package/dist/lib/light_push/index.js.map +1 -1
- package/dist/lib/metadata/index.js +11 -1
- package/dist/lib/metadata/index.js.map +1 -1
- package/dist/lib/store/index.js +8 -1
- package/dist/lib/store/index.js.map +1 -1
- package/dist/lib/stream_manager.d.ts +4 -2
- package/dist/lib/stream_manager.js +58 -16
- package/dist/lib/stream_manager.js.map +1 -1
- package/dist/lib/wait_for_remote_peer.js +1 -1
- package/dist/lib/wait_for_remote_peer.js.map +1 -1
- package/package.json +1 -136
- package/src/index.ts +1 -1
- package/src/lib/filter/index.ts +138 -455
- package/src/lib/keep_alive_manager.ts +1 -1
- package/src/lib/light_push/index.ts +4 -7
- package/src/lib/metadata/index.ts +10 -1
- package/src/lib/store/index.ts +7 -1
- package/src/lib/stream_manager.ts +73 -23
- package/src/lib/wait_for_remote_peer.ts +1 -1
@@ -1,5 +1,8 @@
|
|
1
1
|
import { Logger } from "@waku/utils";
|
2
2
|
import { selectConnection } from "@waku/utils/libp2p";
|
3
|
+
const CONNECTION_TIMEOUT = 5_000;
|
4
|
+
const RETRY_BACKOFF_BASE = 1_000;
|
5
|
+
const MAX_RETRIES = 3;
|
3
6
|
export class StreamManager {
|
4
7
|
multicodec;
|
5
8
|
getConnections;
|
@@ -11,46 +14,85 @@ export class StreamManager {
|
|
11
14
|
this.getConnections = getConnections;
|
12
15
|
this.addEventListener = addEventListener;
|
13
16
|
this.log = new Logger(`stream-manager:${multicodec}`);
|
14
|
-
this.addEventListener("peer:update", this.handlePeerUpdateStreamPool.bind(this));
|
15
|
-
this.getStream = this.getStream.bind(this);
|
16
17
|
this.streamPool = new Map();
|
18
|
+
this.addEventListener("peer:update", this.handlePeerUpdateStreamPool);
|
19
|
+
this.getStream = this.getStream.bind(this);
|
17
20
|
}
|
18
21
|
async getStream(peer) {
|
19
22
|
const peerIdStr = peer.id.toString();
|
20
23
|
const streamPromise = this.streamPool.get(peerIdStr);
|
21
24
|
if (!streamPromise) {
|
22
|
-
return this.
|
25
|
+
return this.createStream(peer);
|
23
26
|
}
|
24
|
-
// We have the stream, let's remove it from the map
|
25
27
|
this.streamPool.delete(peerIdStr);
|
26
28
|
this.prepareNewStream(peer);
|
27
|
-
|
28
|
-
|
29
|
-
|
29
|
+
try {
|
30
|
+
const stream = await streamPromise;
|
31
|
+
if (stream && stream.status !== "closed") {
|
32
|
+
return stream;
|
33
|
+
}
|
34
|
+
}
|
35
|
+
catch (error) {
|
36
|
+
this.log.error(`Failed to get stream for ${peerIdStr} -- `, error);
|
30
37
|
}
|
31
|
-
return
|
38
|
+
return this.createStream(peer);
|
32
39
|
}
|
33
|
-
async
|
40
|
+
async createStream(peer) {
|
41
|
+
try {
|
42
|
+
return await this.newStream(peer);
|
43
|
+
}
|
44
|
+
catch (error) {
|
45
|
+
throw new Error(`Failed to create a new stream for ${peer.id.toString()} -- ` + error);
|
46
|
+
}
|
47
|
+
}
|
48
|
+
async newStream(peer, retries = 0) {
|
34
49
|
const connections = this.getConnections(peer.id);
|
35
50
|
const connection = selectConnection(connections);
|
36
51
|
if (!connection) {
|
37
52
|
throw new Error("Failed to get a connection to the peer");
|
38
53
|
}
|
39
|
-
|
54
|
+
try {
|
55
|
+
return await connection.newStream(this.multicodec);
|
56
|
+
}
|
57
|
+
catch (error) {
|
58
|
+
if (retries < MAX_RETRIES) {
|
59
|
+
const backoff = RETRY_BACKOFF_BASE * Math.pow(2, retries);
|
60
|
+
await new Promise((resolve) => setTimeout(resolve, backoff));
|
61
|
+
return this.newStream(peer, retries + 1);
|
62
|
+
}
|
63
|
+
throw error;
|
64
|
+
}
|
40
65
|
}
|
41
66
|
prepareNewStream(peer) {
|
42
|
-
const
|
43
|
-
|
44
|
-
this.
|
67
|
+
const timeoutPromise = new Promise((resolve) => setTimeout(resolve, CONNECTION_TIMEOUT));
|
68
|
+
const streamPromise = Promise.race([
|
69
|
+
this.newStream(peer),
|
70
|
+
timeoutPromise.then(() => {
|
71
|
+
throw new Error("Connection timeout");
|
72
|
+
})
|
73
|
+
]).catch((error) => {
|
74
|
+
this.log.error(`Failed to prepare a new stream for ${peer.id.toString()} -- `, error);
|
45
75
|
});
|
46
76
|
this.streamPool.set(peer.id.toString(), streamPromise);
|
47
77
|
}
|
48
78
|
handlePeerUpdateStreamPool = (evt) => {
|
49
|
-
const peer = evt.detail
|
79
|
+
const { peer } = evt.detail;
|
50
80
|
if (peer.protocols.includes(this.multicodec)) {
|
51
|
-
this.
|
52
|
-
|
81
|
+
const isConnected = this.isConnectedTo(peer.id);
|
82
|
+
if (isConnected) {
|
83
|
+
this.log.info(`Preemptively opening a stream to ${peer.id.toString()}`);
|
84
|
+
this.prepareNewStream(peer);
|
85
|
+
}
|
86
|
+
else {
|
87
|
+
const peerIdStr = peer.id.toString();
|
88
|
+
this.streamPool.delete(peerIdStr);
|
89
|
+
this.log.info(`Removed pending stream for disconnected peer ${peerIdStr}`);
|
90
|
+
}
|
53
91
|
}
|
54
92
|
};
|
93
|
+
isConnectedTo(peerId) {
|
94
|
+
const connections = this.getConnections(peerId);
|
95
|
+
return connections.some((connection) => connection.status === "open");
|
96
|
+
}
|
55
97
|
}
|
56
98
|
//# sourceMappingURL=stream_manager.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"stream_manager.js","sourceRoot":"","sources":["../../src/lib/stream_manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,OAAO,aAAa;IAKf;IACA;IACA;
|
1
|
+
{"version":3,"file":"stream_manager.js","sourceRoot":"","sources":["../../src/lib/stream_manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACjC,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACjC,MAAM,WAAW,GAAG,CAAC,CAAC;AAEtB,MAAM,OAAO,aAAa;IAKf;IACA;IACA;IANQ,UAAU,CAAsC;IAChD,GAAG,CAAS;IAE7B,YACS,UAAkB,EAClB,cAAwC,EACxC,gBAA4C;QAF5C,eAAU,GAAV,UAAU,CAAQ;QAClB,mBAAc,GAAd,cAAc,CAA0B;QACxC,qBAAgB,GAAhB,gBAAgB,CAA4B;QAEnD,IAAI,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,kBAAkB,UAAU,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;QAE5B,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACtE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,IAAU;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAErD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAE5B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;YACnC,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACzC,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,SAAS,MAAM,EAAE,KAAK,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,IAAU;QACnC,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,qCAAqC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CACtE,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,IAAU,EAAE,OAAO,GAAG,CAAC;QAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAEjD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC;gBAC1B,MAAM,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC1D,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC7D,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;YAC3C,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,IAAU;QACjC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CACnD,UAAU,CAAC,OAAO,EAAE,kBAAkB,CAAC,CACxC,CAAC;QAEF,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;YACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YACpB,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACxC,CAAC,CAAC;SACH,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACjB,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,sCAAsC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAC9D,KAAK,CACN,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,aAAa,CAAC,CAAC;IACzD,CAAC;IAEO,0BAA0B,GAAG,CAAC,GAA4B,EAAQ,EAAE;QAC1E,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAE5B,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEhD,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oCAAoC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACxE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;gBACrC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAClC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,gDAAgD,SAAS,EAAE,CAC5D,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEM,aAAa,CAAC,MAAc;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAChD,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IACxE,CAAC;CACF"}
|
@@ -45,7 +45,7 @@ export async function waitForRemotePeer(waku, protocols, timeoutMs) {
|
|
45
45
|
if (protocols.includes(Protocols.Filter)) {
|
46
46
|
if (!waku.filter)
|
47
47
|
throw new Error("Cannot wait for Filter peer: protocol not mounted");
|
48
|
-
promises.push(waitForConnectedPeer(waku.filter, waku.libp2p.services.metadata));
|
48
|
+
promises.push(waitForConnectedPeer(waku.filter.protocol, waku.libp2p.services.metadata));
|
49
49
|
}
|
50
50
|
if (timeoutMs) {
|
51
51
|
await rejectOnTimeout(Promise.all(promises), timeoutMs, "Timed out waiting for a remote peer.");
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"wait_for_remote_peer.js","sourceRoot":"","sources":["../../src/lib/wait_for_remote_peer.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAE/C,iGAAiG;AACjG;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAU,EACV,SAAuB,EACvB,SAAkB;IAElB,SAAS,GAAG,SAAS,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAEnD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAEzE,MAAM,QAAQ,GAAG,EAAE,CAAC;IAEpB,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,KAAK;YACb,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,KAAK;YACb,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,QAAQ,CAAC,IAAI,CACX,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACzE,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,SAAS;YACjB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,QAAQ,CAAC,IAAI,CACX,oBAAoB,CAClB,IAAI,CAAC,SAAS,CAAC,QAAQ,EACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAC9B,CACF,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,MAAM;YACd,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,QAAQ,CAAC,IAAI,CACX,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,
|
1
|
+
{"version":3,"file":"wait_for_remote_peer.js","sourceRoot":"","sources":["../../src/lib/wait_for_remote_peer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,136 +1 @@
|
|
1
|
-
{
|
2
|
-
"name": "@waku/core",
|
3
|
-
"version": "0.0.28",
|
4
|
-
"description": "TypeScript implementation of the Waku v2 protocol",
|
5
|
-
"types": "./dist/index.d.ts",
|
6
|
-
"module": "./dist/index.js",
|
7
|
-
"exports": {
|
8
|
-
".": {
|
9
|
-
"types": "./dist/index.d.ts",
|
10
|
-
"import": "./dist/index.js"
|
11
|
-
},
|
12
|
-
"./lib/predefined_bootstrap_nodes": {
|
13
|
-
"types": "./dist/lib/predefined_bootstrap_nodes.d.ts",
|
14
|
-
"import": "./dist/lib/predefined_bootstrap_nodes.js"
|
15
|
-
},
|
16
|
-
"./lib/message/version_0": {
|
17
|
-
"types": "./dist/lib/message/version_0.d.ts",
|
18
|
-
"import": "./dist/lib/message/version_0.js"
|
19
|
-
},
|
20
|
-
"./lib/base_protocol": {
|
21
|
-
"types": "./dist/lib/base_protocol.d.ts",
|
22
|
-
"import": "./dist/lib/base_protocol.js"
|
23
|
-
}
|
24
|
-
},
|
25
|
-
"typesVersions": {
|
26
|
-
"*": {
|
27
|
-
"lib/*": [
|
28
|
-
"dist/lib/*"
|
29
|
-
],
|
30
|
-
"constants/*": [
|
31
|
-
"dist/constants/*"
|
32
|
-
]
|
33
|
-
}
|
34
|
-
},
|
35
|
-
"type": "module",
|
36
|
-
"homepage": "https://github.com/waku-org/js-waku/tree/master/packages/core#readme",
|
37
|
-
"repository": {
|
38
|
-
"type": "git",
|
39
|
-
"url": "https://github.com/waku-org/js-waku.git"
|
40
|
-
},
|
41
|
-
"bugs": {
|
42
|
-
"url": "https://github.com/waku-org/js-waku/issues"
|
43
|
-
},
|
44
|
-
"license": "MIT OR Apache-2.0",
|
45
|
-
"keywords": [
|
46
|
-
"waku",
|
47
|
-
"decentralised",
|
48
|
-
"communication",
|
49
|
-
"web3",
|
50
|
-
"ethereum",
|
51
|
-
"dapps"
|
52
|
-
],
|
53
|
-
"scripts": {
|
54
|
-
"build": "run-s build:**",
|
55
|
-
"build:esm": "tsc",
|
56
|
-
"build:bundle": "rollup --config rollup.config.js",
|
57
|
-
"fix": "run-s fix:*",
|
58
|
-
"fix:lint": "eslint src *.js --fix",
|
59
|
-
"check": "run-s check:*",
|
60
|
-
"check:tsc": "tsc -p tsconfig.dev.json",
|
61
|
-
"check:lint": "eslint src *.js",
|
62
|
-
"check:spelling": "cspell \"{README.md,src/**/*.ts}\"",
|
63
|
-
"test": "NODE_ENV=test run-s test:*",
|
64
|
-
"test:node": "NODE_ENV=test TS_NODE_PROJECT=./tsconfig.dev.json mocha",
|
65
|
-
"test:browser": "NODE_ENV=test karma start karma.conf.cjs",
|
66
|
-
"watch:build": "tsc -p tsconfig.json -w",
|
67
|
-
"watch:test": "mocha --watch",
|
68
|
-
"prepublish": "npm run build",
|
69
|
-
"reset-hard": "git clean -dfx -e .idea && git reset --hard && npm i && npm run build"
|
70
|
-
},
|
71
|
-
"engines": {
|
72
|
-
"node": ">=18"
|
73
|
-
},
|
74
|
-
"dependencies": {
|
75
|
-
"@libp2p/ping": "^1.0.12",
|
76
|
-
"@waku/enr": "^0.0.22",
|
77
|
-
"@waku/interfaces": "0.0.23",
|
78
|
-
"@waku/message-hash": "^0.1.12",
|
79
|
-
"@waku/proto": "0.0.6",
|
80
|
-
"@waku/utils": "0.0.16",
|
81
|
-
"debug": "^4.3.4",
|
82
|
-
"it-all": "^3.0.4",
|
83
|
-
"it-length-prefixed": "^9.0.4",
|
84
|
-
"it-pipe": "^3.0.1",
|
85
|
-
"p-event": "^6.0.1",
|
86
|
-
"uint8arraylist": "^2.4.3",
|
87
|
-
"uuid": "^9.0.0"
|
88
|
-
},
|
89
|
-
"devDependencies": {
|
90
|
-
"@multiformats/multiaddr": "^12.0.0",
|
91
|
-
"@rollup/plugin-commonjs": "^25.0.7",
|
92
|
-
"@rollup/plugin-json": "^6.0.0",
|
93
|
-
"@rollup/plugin-node-resolve": "^15.2.3",
|
94
|
-
"@types/chai": "^4.3.11",
|
95
|
-
"@types/debug": "^4.1.12",
|
96
|
-
"@types/mocha": "^10.0.6",
|
97
|
-
"@types/uuid": "^9.0.8",
|
98
|
-
"@waku/build-utils": "*",
|
99
|
-
"chai": "^4.3.10",
|
100
|
-
"cspell": "^8.6.1",
|
101
|
-
"fast-check": "^3.15.1",
|
102
|
-
"ignore-loader": "^0.1.2",
|
103
|
-
"isomorphic-fetch": "^3.0.0",
|
104
|
-
"mocha": "^10.3.0",
|
105
|
-
"npm-run-all": "^4.1.5",
|
106
|
-
"process": "^0.11.10",
|
107
|
-
"rollup": "^4.12.0"
|
108
|
-
},
|
109
|
-
"peerDependencies": {
|
110
|
-
"@multiformats/multiaddr": "^12.0.0",
|
111
|
-
"libp2p": "^1.1.2",
|
112
|
-
"@waku/enr": "^0.0.21",
|
113
|
-
"@waku/interfaces": "0.0.22",
|
114
|
-
"@waku/message-hash": "^0.1.11",
|
115
|
-
"@waku/proto": "0.0.6",
|
116
|
-
"@waku/utils": "0.0.15"
|
117
|
-
},
|
118
|
-
"peerDependenciesMeta": {
|
119
|
-
"@multiformats/multiaddr": {
|
120
|
-
"optional": true
|
121
|
-
},
|
122
|
-
"@waku/interfaces": {
|
123
|
-
"optional": true
|
124
|
-
}
|
125
|
-
},
|
126
|
-
"files": [
|
127
|
-
"dist",
|
128
|
-
"bundle",
|
129
|
-
"src/**/*.ts",
|
130
|
-
"!**/*.spec.*",
|
131
|
-
"!**/*.json",
|
132
|
-
"CHANGELOG.md",
|
133
|
-
"LICENSE",
|
134
|
-
"README.md"
|
135
|
-
]
|
136
|
-
}
|
1
|
+
{"name":"@waku/core","version":"0.0.29-3ec2344.0","description":"TypeScript implementation of the Waku v2 protocol","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./lib/predefined_bootstrap_nodes":{"types":"./dist/lib/predefined_bootstrap_nodes.d.ts","import":"./dist/lib/predefined_bootstrap_nodes.js"},"./lib/message/version_0":{"types":"./dist/lib/message/version_0.d.ts","import":"./dist/lib/message/version_0.js"},"./lib/base_protocol":{"types":"./dist/lib/base_protocol.d.ts","import":"./dist/lib/base_protocol.js"}},"typesVersions":{"*":{"lib/*":["dist/lib/*"],"constants/*":["dist/constants/*"]}},"type":"module","homepage":"https://github.com/waku-org/js-waku/tree/master/packages/core#readme","repository":{"type":"git","url":"https://github.com/waku-org/js-waku.git"},"bugs":{"url":"https://github.com/waku-org/js-waku/issues"},"license":"MIT OR Apache-2.0","keywords":["waku","decentralised","communication","web3","ethereum","dapps"],"scripts":{"build":"run-s build:**","build:esm":"tsc","build:bundle":"rollup --config rollup.config.js","fix":"run-s fix:*","fix:lint":"eslint src *.js --fix","check":"run-s check:*","check:tsc":"tsc -p tsconfig.dev.json","check:lint":"eslint src *.js","check:spelling":"cspell \"{README.md,src/**/*.ts}\"","test":"NODE_ENV=test run-s test:*","test:node":"NODE_ENV=test TS_NODE_PROJECT=./tsconfig.dev.json mocha","test:browser":"NODE_ENV=test karma start karma.conf.cjs","watch:build":"tsc -p tsconfig.json -w","watch:test":"mocha --watch","prepublish":"npm run build","reset-hard":"git clean -dfx -e .idea && git reset --hard && npm i && npm run build"},"engines":{"node":">=18"},"dependencies":{"@libp2p/ping":"^1.0.12","@waku/enr":"0.0.23-3ec2344.0","@waku/interfaces":"0.0.24-3ec2344.0","@waku/proto":"0.0.7-3ec2344.0","@waku/utils":"0.0.17-3ec2344.0","debug":"^4.3.4","it-all":"^3.0.4","it-length-prefixed":"^9.0.4","it-pipe":"^3.0.1","p-event":"^6.0.1","uint8arraylist":"^2.4.3","uuid":"^9.0.0"},"devDependencies":{"@multiformats/multiaddr":"^12.0.0","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-json":"^6.0.0","@rollup/plugin-node-resolve":"^15.2.3","@types/chai":"^4.3.11","@types/debug":"^4.1.12","@types/mocha":"^10.0.6","@types/uuid":"^9.0.8","@waku/build-utils":"*","chai":"^4.3.10","cspell":"^8.6.1","fast-check":"^3.15.1","ignore-loader":"^0.1.2","isomorphic-fetch":"^3.0.0","mocha":"^10.3.0","npm-run-all":"^4.1.5","process":"^0.11.10","rollup":"^4.12.0"},"peerDependencies":{"@multiformats/multiaddr":"^12.0.0","libp2p":"^1.1.2","@waku/enr":"0.0.23-3ec2344.0","@waku/interfaces":"0.0.24-3ec2344.0","@waku/proto":"0.0.7-3ec2344.0","@waku/utils":"0.0.17-3ec2344.0"},"peerDependenciesMeta":{"@multiformats/multiaddr":{"optional":true},"@waku/interfaces":{"optional":true}},"files":["dist","bundle","src/**/*.ts","!**/*.spec.*","!**/*.json","CHANGELOG.md","LICENSE","README.md"]}
|
package/src/index.ts
CHANGED
@@ -7,7 +7,7 @@ export type {
|
|
7
7
|
export * as message from "./lib/message/index.js";
|
8
8
|
|
9
9
|
export * as waku_filter from "./lib/filter/index.js";
|
10
|
-
export {
|
10
|
+
export { FilterCore, FilterCodecs } from "./lib/filter/index.js";
|
11
11
|
|
12
12
|
export * as waku_light_push from "./lib/light_push/index.js";
|
13
13
|
export { LightPushCodec, LightPushCore } from "./lib/light_push/index.js";
|