@waku/core 0.0.27 → 0.0.28-070b625.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.
Files changed (44) hide show
  1. package/bundle/{base_protocol-LhsIWF3-.js → base_protocol-D0Zdzb-v.js} +2 -5
  2. package/bundle/{browser-BQyFvtq6.js → browser-DoQRY-an.js} +18 -13
  3. package/bundle/{index-8YyfzF9R.js → index-BJwgMx4y.js} +35 -62
  4. package/bundle/index.js +258 -342
  5. package/bundle/lib/base_protocol.js +3 -3
  6. package/bundle/lib/message/version_0.js +3 -3
  7. package/bundle/lib/predefined_bootstrap_nodes.js +17 -17
  8. package/bundle/{version_0-FXfzO8Km.js → version_0-C6o0DvNW.js} +566 -321
  9. package/dist/.tsbuildinfo +1 -1
  10. package/dist/index.d.ts +3 -2
  11. package/dist/index.js +3 -2
  12. package/dist/index.js.map +1 -1
  13. package/dist/lib/base_protocol.d.ts +4 -5
  14. package/dist/lib/base_protocol.js +0 -3
  15. package/dist/lib/base_protocol.js.map +1 -1
  16. package/dist/lib/filter/index.js +4 -0
  17. package/dist/lib/filter/index.js.map +1 -1
  18. package/dist/lib/light_push/index.d.ts +12 -2
  19. package/dist/lib/light_push/index.js +79 -76
  20. package/dist/lib/light_push/index.js.map +1 -1
  21. package/dist/lib/message/version_0.js +1 -1
  22. package/dist/lib/message/version_0.js.map +1 -1
  23. package/dist/lib/metadata/index.d.ts +1 -1
  24. package/dist/lib/metadata/index.js +42 -14
  25. package/dist/lib/metadata/index.js.map +1 -1
  26. package/dist/lib/predefined_bootstrap_nodes.d.ts +11 -11
  27. package/dist/lib/predefined_bootstrap_nodes.js +16 -16
  28. package/dist/lib/predefined_bootstrap_nodes.js.map +1 -1
  29. package/dist/lib/store/history_rpc.js +1 -1
  30. package/dist/lib/store/history_rpc.js.map +1 -1
  31. package/dist/lib/store/index.d.ts +14 -6
  32. package/dist/lib/store/index.js +50 -232
  33. package/dist/lib/store/index.js.map +1 -1
  34. package/dist/lib/wait_for_remote_peer.js +4 -2
  35. package/dist/lib/wait_for_remote_peer.js.map +1 -1
  36. package/package.json +1 -129
  37. package/src/index.ts +3 -2
  38. package/src/lib/base_protocol.ts +4 -9
  39. package/src/lib/filter/index.ts +7 -0
  40. package/src/lib/light_push/index.ts +97 -118
  41. package/src/lib/metadata/index.ts +56 -26
  42. package/src/lib/predefined_bootstrap_nodes.ts +22 -22
  43. package/src/lib/store/index.ts +77 -339
  44. package/src/lib/wait_for_remote_peer.ts +14 -4
@@ -1,8 +1,5 @@
1
- import { sha256 } from "@noble/hashes/sha256";
2
1
  import { proto_store as proto } from "@waku/proto";
3
- import { ensurePubsubTopicIsConfigured, isDefined } from "@waku/utils";
4
2
  import { Logger } from "@waku/utils";
5
- import { concat, utf8ToBytes } from "@waku/utils/bytes";
6
3
  import all from "it-all";
7
4
  import * as lp from "it-length-prefixed";
8
5
  import { pipe } from "it-pipe";
@@ -13,252 +10,73 @@ import { HistoryRpc, PageDirection } from "./history_rpc.js";
13
10
  var HistoryError = proto.HistoryResponse.HistoryError;
14
11
  const log = new Logger("store");
15
12
  export const StoreCodec = "/vac/waku/store/2.0.0-beta4";
16
- export const DefaultPageSize = 10;
17
13
  export { PageDirection };
18
14
  /**
19
15
  * Implements the [Waku v2 Store protocol](https://rfc.vac.dev/spec/13/).
20
16
  *
21
17
  * The Waku Store protocol can be used to retrieved historical messages.
22
18
  */
23
- class Store extends BaseProtocol {
24
- NUM_PEERS_PROTOCOL = 1;
19
+ export class StoreCore extends BaseProtocol {
25
20
  constructor(libp2p, options) {
26
21
  super(StoreCodec, libp2p.components, log, options.pubsubTopics, options);
27
22
  }
28
- /**
29
- * Processes messages based on the provided callback and options.
30
- * @private
31
- */
32
- async processMessages(messages, callback, options) {
33
- let abort = false;
34
- const messagesOrUndef = await Promise.all(messages);
35
- let processedMessages = messagesOrUndef.filter(isDefined);
36
- if (this.shouldReverseOrder(options)) {
37
- processedMessages = processedMessages.reverse();
23
+ async *queryPerPage(queryOpts, decoders, peer) {
24
+ if (queryOpts.contentTopics.toString() !==
25
+ Array.from(decoders.keys()).toString()) {
26
+ throw new Error("Internal error, the decoders should match the query's content topics");
38
27
  }
39
- await Promise.all(processedMessages.map(async (msg) => {
40
- if (msg && !abort) {
41
- abort = Boolean(await callback(msg));
28
+ let currentCursor = queryOpts.cursor;
29
+ while (true) {
30
+ queryOpts.cursor = currentCursor;
31
+ const historyRpcQuery = HistoryRpc.createQuery(queryOpts);
32
+ const stream = await this.getStream(peer);
33
+ const res = await pipe([historyRpcQuery.encode()], lp.encode, stream, lp.decode, async (source) => await all(source));
34
+ const bytes = new Uint8ArrayList();
35
+ res.forEach((chunk) => {
36
+ bytes.append(chunk);
37
+ });
38
+ const reply = historyRpcQuery.decode(bytes);
39
+ if (!reply.response) {
40
+ log.warn("Stopping pagination due to store `response` field missing");
41
+ break;
42
42
  }
43
- }));
44
- return abort;
45
- }
46
- /**
47
- * Determines whether to reverse the order of messages based on the provided options.
48
- *
49
- * Messages in pages are ordered from oldest (first) to most recent (last).
50
- * https://github.com/vacp2p/rfc/issues/533
51
- *
52
- * @private
53
- */
54
- shouldReverseOrder(options) {
55
- return (typeof options?.pageDirection === "undefined" ||
56
- options?.pageDirection === PageDirection.BACKWARD);
57
- }
58
- /**
59
- * @deprecated Use `queryWithOrderedCallback` instead
60
- **/
61
- queryOrderedCallback = this.queryWithOrderedCallback;
62
- /**
63
- * Do a query to a Waku Store to retrieve historical/missed messages.
64
- *
65
- * The callback function takes a `WakuMessage` in input,
66
- * messages are processed in order:
67
- * - oldest to latest if `options.pageDirection` == { @link PageDirection.FORWARD }
68
- * - latest to oldest if `options.pageDirection` == { @link PageDirection.BACKWARD }
69
- *
70
- * The ordering may affect performance.
71
- * The ordering depends on the behavior of the remote store node.
72
- * If strong ordering is needed, you may need to handle this at application level
73
- * and set your own timestamps too (the WakuMessage timestamps are not certified).
74
- *
75
- * @throws If not able to reach a Waku Store peer to query,
76
- * or if an error is encountered when processing the reply,
77
- * or if two decoders with the same content topic are passed.
78
- */
79
- async queryWithOrderedCallback(decoders, callback, options) {
80
- for await (const promises of this.queryGenerator(decoders, options)) {
81
- if (await this.processMessages(promises, callback, options))
43
+ const response = reply.response;
44
+ if (response.error && response.error !== HistoryError.NONE) {
45
+ throw "History response contains an Error: " + response.error;
46
+ }
47
+ if (!response.messages || !response.messages.length) {
48
+ log.warn("Stopping pagination due to store `response.messages` field missing or empty");
82
49
  break;
83
- }
84
- }
85
- /**
86
- * Do a query to a Waku Store to retrieve historical/missed messages.
87
- * The callback function takes a `Promise<WakuMessage>` in input,
88
- * useful if messages need to be decrypted and performance matters.
89
- *
90
- * The order of the messages passed to the callback is as follows:
91
- * - within a page, messages are expected to be ordered from oldest to most recent
92
- * - pages direction depends on { @link QueryOptions.pageDirection }
93
- *
94
- * Do note that the resolution of the `Promise<WakuMessage | undefined` may
95
- * break the order as it may rely on the browser decryption API, which in turn,
96
- * may have a different speed depending on the type of decryption.
97
- *
98
- * @throws If not able to reach a Waku Store peer to query,
99
- * or if an error is encountered when processing the reply,
100
- * or if two decoders with the same content topic are passed.
101
- */
102
- async queryWithPromiseCallback(decoders, callback, options) {
103
- let abort = false;
104
- for await (const page of this.queryGenerator(decoders, options)) {
105
- const _promises = page.map(async (msgPromise) => {
106
- if (abort)
107
- return;
108
- abort = Boolean(await callback(msgPromise));
50
+ }
51
+ log.error(`${response.messages.length} messages retrieved from store`);
52
+ yield response.messages.map((protoMsg) => {
53
+ const contentTopic = protoMsg.contentTopic;
54
+ if (typeof contentTopic !== "undefined") {
55
+ const decoder = decoders.get(contentTopic);
56
+ if (decoder) {
57
+ return decoder.fromProtoObj(queryOpts.pubsubTopic, toProtoMessage(protoMsg));
58
+ }
59
+ }
60
+ return Promise.resolve(undefined);
109
61
  });
110
- await Promise.all(_promises);
111
- if (abort)
62
+ const nextCursor = response.pagingInfo?.cursor;
63
+ if (typeof nextCursor === "undefined") {
64
+ // If the server does not return cursor then there is an issue,
65
+ // Need to abort, or we end up in an infinite loop
66
+ log.warn("Stopping pagination due to `response.pagingInfo.cursor` missing from store response");
112
67
  break;
113
- }
114
- }
115
- /**
116
- * Do a query to a Waku Store to retrieve historical/missed messages.
117
- *
118
- * This is a generator, useful if you want most control on how messages
119
- * are processed.
120
- *
121
- * The order of the messages returned by the remote Waku node SHOULD BE
122
- * as follows:
123
- * - within a page, messages SHOULD be ordered from oldest to most recent
124
- * - pages direction depends on { @link QueryOptions.pageDirection }
125
- * @throws If not able to reach a Waku Store peer to query,
126
- * or if an error is encountered when processing the reply,
127
- * or if two decoders with the same content topic are passed.
128
- *
129
- * This API only supports querying a single pubsub topic at a time.
130
- * If multiple decoders are provided, they must all have the same pubsub topic.
131
- * @throws If multiple decoders with different pubsub topics are provided.
132
- * @throws If no decoders are provided.
133
- * @throws If no decoders are found for the provided pubsub topic.
134
- */
135
- async *queryGenerator(decoders, options) {
136
- if (decoders.length === 0) {
137
- throw new Error("No decoders provided");
138
- }
139
- let startTime, endTime;
140
- if (options?.timeFilter) {
141
- startTime = options.timeFilter.startTime;
142
- endTime = options.timeFilter.endTime;
143
- }
144
- // convert array to set to remove duplicates
145
- const uniquePubsubTopicsInQuery = Array.from(new Set(decoders.map((decoder) => decoder.pubsubTopic)));
146
- // If multiple pubsub topics are provided, throw an error
147
- if (uniquePubsubTopicsInQuery.length > 1) {
148
- throw new Error("API does not support querying multiple pubsub topics at once");
149
- }
150
- // we can be certain that there is only one pubsub topic in the query
151
- const pubsubTopicForQuery = uniquePubsubTopicsInQuery[0];
152
- ensurePubsubTopicIsConfigured(pubsubTopicForQuery, this.pubsubTopics);
153
- // check that the pubsubTopic from the Cursor and Decoder match
154
- if (options?.cursor?.pubsubTopic &&
155
- options.cursor.pubsubTopic !== pubsubTopicForQuery) {
156
- throw new Error(`Cursor pubsub topic (${options?.cursor?.pubsubTopic}) does not match decoder pubsub topic (${pubsubTopicForQuery})`);
157
- }
158
- const decodersAsMap = new Map();
159
- decoders.forEach((dec) => {
160
- if (decodersAsMap.has(dec.contentTopic)) {
161
- throw new Error("API does not support different decoder per content topic");
162
68
  }
163
- decodersAsMap.set(dec.contentTopic, dec);
164
- });
165
- const contentTopics = decoders
166
- .filter((decoder) => decoder.pubsubTopic === pubsubTopicForQuery)
167
- .map((dec) => dec.contentTopic);
168
- if (contentTopics.length === 0) {
169
- throw new Error("No decoders found for topic " + pubsubTopicForQuery);
170
- }
171
- const queryOpts = Object.assign({
172
- pubsubTopic: pubsubTopicForQuery,
173
- pageDirection: PageDirection.BACKWARD,
174
- pageSize: DefaultPageSize
175
- }, options, { contentTopics, startTime, endTime });
176
- const peer = (await this.getPeers({
177
- numPeers: this.NUM_PEERS_PROTOCOL,
178
- maxBootstrapPeers: 1
179
- }))[0];
180
- for await (const messages of paginate(this.getStream.bind(this, peer), queryOpts, decodersAsMap, options?.cursor)) {
181
- yield messages;
182
- }
183
- }
184
- }
185
- async function* paginate(streamFactory, queryOpts, decoders, cursor) {
186
- if (queryOpts.contentTopics.toString() !==
187
- Array.from(decoders.keys()).toString()) {
188
- throw new Error("Internal error, the decoders should match the query's content topics");
189
- }
190
- let currentCursor = cursor;
191
- while (true) {
192
- queryOpts.cursor = currentCursor;
193
- const historyRpcQuery = HistoryRpc.createQuery(queryOpts);
194
- log.info("Querying store peer", `for (${queryOpts.pubsubTopic})`, queryOpts.contentTopics);
195
- const stream = await streamFactory();
196
- const res = await pipe([historyRpcQuery.encode()], lp.encode, stream, lp.decode, async (source) => await all(source));
197
- const bytes = new Uint8ArrayList();
198
- res.forEach((chunk) => {
199
- bytes.append(chunk);
200
- });
201
- const reply = historyRpcQuery.decode(bytes);
202
- if (!reply.response) {
203
- log.warn("Stopping pagination due to store `response` field missing");
204
- break;
205
- }
206
- const response = reply.response;
207
- if (response.error && response.error !== HistoryError.NONE) {
208
- throw "History response contains an Error: " + response.error;
209
- }
210
- if (!response.messages || !response.messages.length) {
211
- log.warn("Stopping pagination due to store `response.messages` field missing or empty");
212
- break;
213
- }
214
- log.error(`${response.messages.length} messages retrieved from store`);
215
- yield response.messages.map((protoMsg) => {
216
- const contentTopic = protoMsg.contentTopic;
217
- if (typeof contentTopic !== "undefined") {
218
- const decoder = decoders.get(contentTopic);
219
- if (decoder) {
220
- return decoder.fromProtoObj(queryOpts.pubsubTopic, toProtoMessage(protoMsg));
221
- }
69
+ currentCursor = nextCursor;
70
+ const responsePageSize = response.pagingInfo?.pageSize;
71
+ const queryPageSize = historyRpcQuery.query?.pagingInfo?.pageSize;
72
+ if (
73
+ // Response page size smaller than query, meaning this is the last page
74
+ responsePageSize &&
75
+ queryPageSize &&
76
+ responsePageSize < queryPageSize) {
77
+ break;
222
78
  }
223
- return Promise.resolve(undefined);
224
- });
225
- const nextCursor = response.pagingInfo?.cursor;
226
- if (typeof nextCursor === "undefined") {
227
- // If the server does not return cursor then there is an issue,
228
- // Need to abort, or we end up in an infinite loop
229
- log.warn("Stopping pagination due to `response.pagingInfo.cursor` missing from store response");
230
- break;
231
- }
232
- currentCursor = nextCursor;
233
- const responsePageSize = response.pagingInfo?.pageSize;
234
- const queryPageSize = historyRpcQuery.query?.pagingInfo?.pageSize;
235
- if (
236
- // Response page size smaller than query, meaning this is the last page
237
- responsePageSize &&
238
- queryPageSize &&
239
- responsePageSize < queryPageSize) {
240
- break;
241
79
  }
242
80
  }
243
81
  }
244
- export async function createCursor(message) {
245
- if (!message ||
246
- !message.timestamp ||
247
- !message.payload ||
248
- !message.contentTopic) {
249
- throw new Error("Message is missing required fields");
250
- }
251
- const contentTopicBytes = utf8ToBytes(message.contentTopic);
252
- const digest = sha256(concat([contentTopicBytes, message.payload]));
253
- const messageTime = BigInt(message.timestamp.getTime()) * BigInt(1000000);
254
- return {
255
- digest,
256
- pubsubTopic: message.pubsubTopic,
257
- senderTime: messageTime,
258
- receiverTime: messageTime
259
- };
260
- }
261
- export function wakuStore(init = {}) {
262
- return (libp2p) => new Store(libp2p, init);
263
- }
264
82
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/store/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/store/index.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { Protocols } from "@waku/interfaces";
2
2
  import { Logger } from "@waku/utils";
3
3
  import { pEvent } from "p-event";
4
4
  const log = new Logger("wait-for-remote-peer");
5
+ //TODO: move this function within the Waku class: https://github.com/waku-org/js-waku/issues/1761
5
6
  /**
6
7
  * Wait for a remote peer to be ready given the passed protocols.
7
8
  * Must be used after attempting to connect to nodes, using
@@ -34,12 +35,12 @@ export async function waitForRemotePeer(waku, protocols, timeoutMs) {
34
35
  if (protocols.includes(Protocols.Store)) {
35
36
  if (!waku.store)
36
37
  throw new Error("Cannot wait for Store peer: protocol not mounted");
37
- promises.push(waitForConnectedPeer(waku.store, waku.libp2p.services.metadata));
38
+ promises.push(waitForConnectedPeer(waku.store.protocol, waku.libp2p.services.metadata));
38
39
  }
39
40
  if (protocols.includes(Protocols.LightPush)) {
40
41
  if (!waku.lightPush)
41
42
  throw new Error("Cannot wait for LightPush peer: protocol not mounted");
42
- promises.push(waitForConnectedPeer(waku.lightPush, waku.libp2p.services.metadata));
43
+ promises.push(waitForConnectedPeer(waku.lightPush.protocol, waku.libp2p.services.metadata));
43
44
  }
44
45
  if (protocols.includes(Protocols.Filter)) {
45
46
  if (!waku.filter)
@@ -53,6 +54,7 @@ export async function waitForRemotePeer(waku, protocols, timeoutMs) {
53
54
  await Promise.all(promises);
54
55
  }
55
56
  }
57
+ //TODO: move this function within protocol SDK class: https://github.com/waku-org/js-waku/issues/1761
56
58
  /**
57
59
  * Wait for a peer with the given protocol to be connected.
58
60
  * If sharding is enabled on the node, it will also wait for the peer to be confirmed by the metadata service.
@@ -1 +1 @@
1
- {"version":3,"file":"wait_for_remote_peer.js","sourceRoot":"","sources":["../../src/lib/wait_for_remote_peer.ts"],"names":[],"mappings":"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"}
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,129 +1 @@
1
- {
2
- "name": "@waku/core",
3
- "version": "0.0.27",
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.11",
76
- "@noble/hashes": "^1.3.2",
77
- "@waku/enr": "^0.0.21",
78
- "@waku/interfaces": "0.0.22",
79
- "@waku/message-hash": "^0.1.11",
80
- "@waku/proto": "0.0.6",
81
- "@waku/utils": "0.0.15",
82
- "debug": "^4.3.4",
83
- "it-all": "^3.0.4",
84
- "it-length-prefixed": "^9.0.4",
85
- "it-pipe": "^3.0.1",
86
- "p-event": "^6.0.0",
87
- "uint8arraylist": "^2.4.3",
88
- "uuid": "^9.0.0"
89
- },
90
- "devDependencies": {
91
- "@multiformats/multiaddr": "^12.0.0",
92
- "@rollup/plugin-commonjs": "^25.0.7",
93
- "@rollup/plugin-json": "^6.0.0",
94
- "@rollup/plugin-node-resolve": "^15.2.3",
95
- "@types/chai": "^4.3.11",
96
- "@types/debug": "^4.1.12",
97
- "@types/mocha": "^10.0.6",
98
- "@types/uuid": "^9.0.8",
99
- "@waku/build-utils": "*",
100
- "chai": "^4.3.10",
101
- "cspell": "^8.3.2",
102
- "fast-check": "^3.15.1",
103
- "ignore-loader": "^0.1.2",
104
- "isomorphic-fetch": "^3.0.0",
105
- "mocha": "^10.3.0",
106
- "npm-run-all": "^4.1.5",
107
- "process": "^0.11.10",
108
- "rollup": "^4.12.0"
109
- },
110
- "peerDependencies": {
111
- "@multiformats/multiaddr": "^12.0.0",
112
- "libp2p": "^1.1.2"
113
- },
114
- "peerDependenciesMeta": {
115
- "@multiformats/multiaddr": {
116
- "optional": true
117
- }
118
- },
119
- "files": [
120
- "dist",
121
- "bundle",
122
- "src/**/*.ts",
123
- "!**/*.spec.*",
124
- "!**/*.json",
125
- "CHANGELOG.md",
126
- "LICENSE",
127
- "README.md"
128
- ]
129
- }
1
+ {"name":"@waku/core","version":"0.0.28-070b625.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.22-070b625.0","@waku/interfaces":"0.0.23-070b625.0","@waku/message-hash":"0.1.12-070b625.0","@waku/proto":"0.0.7-070b625.0","@waku/utils":"0.0.16-070b625.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.22-070b625.0","@waku/interfaces":"0.0.23-070b625.0","@waku/message-hash":"0.1.12-070b625.0","@waku/proto":"0.0.7-070b625.0","@waku/utils":"0.0.16-070b625.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
@@ -10,11 +10,12 @@ export * as waku_filter from "./lib/filter/index.js";
10
10
  export { wakuFilter, FilterCodecs } from "./lib/filter/index.js";
11
11
 
12
12
  export * as waku_light_push from "./lib/light_push/index.js";
13
- export { LightPushCodec, wakuLightPush } from "./lib/light_push/index.js";
13
+ export { LightPushCodec, LightPushCore } from "./lib/light_push/index.js";
14
14
 
15
15
  export * as waku_store from "./lib/store/index.js";
16
+ export { StoreCore } from "./lib/store/index.js";
16
17
 
17
- export { PageDirection, wakuStore, createCursor } from "./lib/store/index.js";
18
+ export { PageDirection } from "./lib/store/index.js";
18
19
 
19
20
  export { waitForRemotePeer } from "./lib/wait_for_remote_peer.js";
20
21
 
@@ -1,7 +1,7 @@
1
1
  import type { Libp2p } from "@libp2p/interface";
2
2
  import type { Peer, PeerStore, Stream } from "@libp2p/interface";
3
3
  import type {
4
- IBaseProtocol,
4
+ IBaseProtocolCore,
5
5
  Libp2pComponents,
6
6
  ProtocolCreateOptions,
7
7
  PubsubTopic
@@ -16,27 +16,22 @@ import {
16
16
  import { filterPeersByDiscovery } from "./filterPeers.js";
17
17
  import { StreamManager } from "./stream_manager.js";
18
18
 
19
- const DEFAULT_NUM_PEERS_TO_USE = 3;
20
-
21
19
  /**
22
20
  * A class with predefined helpers, to be used as a base to implement Waku
23
21
  * Protocols.
24
22
  */
25
- export class BaseProtocol implements IBaseProtocol {
23
+ export class BaseProtocol implements IBaseProtocolCore {
26
24
  public readonly addLibp2pEventListener: Libp2p["addEventListener"];
27
25
  public readonly removeLibp2pEventListener: Libp2p["removeEventListener"];
28
- readonly numPeersToUse: number;
29
26
  protected streamManager: StreamManager;
30
27
 
31
28
  constructor(
32
29
  public multicodec: string,
33
30
  private components: Libp2pComponents,
34
31
  private log: Logger,
35
- protected pubsubTopics: PubsubTopic[],
32
+ public readonly pubsubTopics: PubsubTopic[],
36
33
  private options?: ProtocolCreateOptions
37
34
  ) {
38
- this.numPeersToUse = options?.numPeersToUse ?? DEFAULT_NUM_PEERS_TO_USE;
39
-
40
35
  this.addLibp2pEventListener = components.events.addEventListener.bind(
41
36
  components.events
42
37
  );
@@ -86,7 +81,7 @@ export class BaseProtocol implements IBaseProtocol {
86
81
 
87
82
  * @returns A list of peers that support the protocol sorted by latency.
88
83
  */
89
- protected async getPeers(
84
+ async getPeers(
90
85
  {
91
86
  numPeers,
92
87
  maxBootstrapPeers
@@ -340,6 +340,8 @@ class Subscription {
340
340
  }
341
341
  }
342
342
 
343
+ const DEFAULT_NUM_PEERS = 3;
344
+
343
345
  class Filter extends BaseProtocol implements IReceiver {
344
346
  private activeSubscriptions = new Map<string, Subscription>();
345
347
 
@@ -357,6 +359,9 @@ class Filter extends BaseProtocol implements IReceiver {
357
359
  return subscription;
358
360
  }
359
361
 
362
+ //TODO: Remove when FilterCore and FilterSDK are introduced
363
+ private readonly numPeersToUse: number;
364
+
360
365
  constructor(libp2p: Libp2p, options?: ProtocolCreateOptions) {
361
366
  super(
362
367
  FilterCodecs.SUBSCRIBE,
@@ -366,6 +371,8 @@ class Filter extends BaseProtocol implements IReceiver {
366
371
  options
367
372
  );
368
373
 
374
+ this.numPeersToUse = options?.numPeersToUse ?? DEFAULT_NUM_PEERS;
375
+
369
376
  libp2p.handle(FilterCodecs.PUSH, this.onRequest.bind(this)).catch((e) => {
370
377
  log.error("Failed to register ", FilterCodecs.PUSH, e);
371
378
  });