@waku/core 0.0.16 → 0.0.17
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 +23 -0
- package/bundle/index.js +5842 -4093
- package/bundle/lib/message/version_0.js +1 -1
- package/bundle/{version_0-e9a6cfb0.js → version_0-5a4becbc.js} +6 -0
- package/dist/lib/filter/index.js +7 -3
- package/dist/lib/filter/index.js.map +1 -1
- package/dist/lib/light_push/index.js +1 -1
- package/dist/lib/light_push/index.js.map +1 -1
- package/dist/lib/message/version_0.js +6 -0
- package/dist/lib/message/version_0.js.map +1 -1
- package/dist/lib/relay/index.js +6 -0
- package/dist/lib/relay/index.js.map +1 -1
- package/dist/lib/store/index.js +1 -1
- package/dist/lib/store/index.js.map +1 -1
- package/dist/lib/waku.d.ts +2 -2
- package/dist/lib/waku.js +8 -2
- package/dist/lib/waku.js.map +1 -1
- package/package.json +10 -16
- package/src/lib/filter/index.ts +13 -4
- package/src/lib/light_push/index.ts +2 -2
- package/src/lib/message/version_0.ts +10 -2
- package/src/lib/relay/index.ts +12 -0
- package/src/lib/store/index.ts +2 -2
- package/src/lib/waku.ts +13 -4
@@ -1,3 +1,3 @@
|
|
1
1
|
export { m as proto } from '../../peer_exchange-1229c8b0.js';
|
2
2
|
import '../../browser-2f1afe46.js';
|
3
|
-
export { D as DecodedMessage, b as Decoder, E as Encoder, V as Version, a as createDecoder, c as createEncoder } from '../../version_0-
|
3
|
+
export { D as DecodedMessage, b as Decoder, E as Encoder, V as Version, a as createDecoder, c as createEncoder } from '../../version_0-5a4becbc.js';
|
@@ -53,6 +53,9 @@ class Encoder {
|
|
53
53
|
this.contentTopic = contentTopic;
|
54
54
|
this.ephemeral = ephemeral;
|
55
55
|
this.metaSetter = metaSetter;
|
56
|
+
if (!contentTopic || contentTopic === "") {
|
57
|
+
throw new Error("Content topic must be specified");
|
58
|
+
}
|
56
59
|
}
|
57
60
|
async toWire(message$1) {
|
58
61
|
return WakuMessage.encode(await this.toProtoObj(message$1));
|
@@ -90,6 +93,9 @@ function createEncoder({ contentTopic, ephemeral, metaSetter, }) {
|
|
90
93
|
class Decoder {
|
91
94
|
constructor(contentTopic) {
|
92
95
|
this.contentTopic = contentTopic;
|
96
|
+
if (!contentTopic || contentTopic === "") {
|
97
|
+
throw new Error("Content topic must be specified");
|
98
|
+
}
|
93
99
|
}
|
94
100
|
fromWireToProtoObj(bytes) {
|
95
101
|
const protoMessage = WakuMessage.decode(bytes);
|
package/dist/lib/filter/index.js
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
import { toAsyncIterator } from "@waku/utils";
|
1
2
|
import debug from "debug";
|
2
3
|
import all from "it-all";
|
3
4
|
import * as lp from "it-length-prefixed";
|
@@ -44,7 +45,7 @@ class Filter extends BaseProtocol {
|
|
44
45
|
const peer = await this.getPeer(opts?.peerId);
|
45
46
|
const stream = await this.newStream(peer);
|
46
47
|
try {
|
47
|
-
const res = await pipe([request.encode()], lp.encode
|
48
|
+
const res = await pipe([request.encode()], lp.encode, stream, lp.decode, async (source) => await all(source));
|
48
49
|
log("response", res);
|
49
50
|
}
|
50
51
|
catch (e) {
|
@@ -62,6 +63,9 @@ class Filter extends BaseProtocol {
|
|
62
63
|
this.subscriptions.delete(requestId);
|
63
64
|
};
|
64
65
|
}
|
66
|
+
toSubscriptionIterator(decoders, opts) {
|
67
|
+
return toAsyncIterator(this, decoders, opts);
|
68
|
+
}
|
65
69
|
getActiveSubscriptions() {
|
66
70
|
const map = new Map();
|
67
71
|
const subscriptions = this.subscriptions;
|
@@ -75,7 +79,7 @@ class Filter extends BaseProtocol {
|
|
75
79
|
onRequest(streamData) {
|
76
80
|
log("Receiving message push");
|
77
81
|
try {
|
78
|
-
pipe(streamData.stream, lp.decode
|
82
|
+
pipe(streamData.stream, lp.decode, async (source) => {
|
79
83
|
for await (const bytes of source) {
|
80
84
|
const res = FilterRpc.decode(bytes.slice());
|
81
85
|
if (res.requestId && res.push?.messages?.length) {
|
@@ -132,7 +136,7 @@ class Filter extends BaseProtocol {
|
|
132
136
|
const unsubscribeRequest = FilterRpc.createRequest(topic, contentFilters, requestId, false);
|
133
137
|
const stream = await this.newStream(peer);
|
134
138
|
try {
|
135
|
-
await pipe([unsubscribeRequest.encode()], lp.encode
|
139
|
+
await pipe([unsubscribeRequest.encode()], lp.encode, stream.sink);
|
136
140
|
}
|
137
141
|
catch (e) {
|
138
142
|
log("Error unsubscribing", e);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/filter/index.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/filter/index.ts"],"names":[],"mappings":"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"}
|
@@ -31,7 +31,7 @@ class LightPush extends BaseProtocol {
|
|
31
31
|
return { recipients };
|
32
32
|
}
|
33
33
|
const query = PushRpc.createRequest(protoMessage, pubSubTopic);
|
34
|
-
const res = await pipe([query.encode()], lp.encode
|
34
|
+
const res = await pipe([query.encode()], lp.encode, stream, lp.decode, async (source) => await all(source));
|
35
35
|
try {
|
36
36
|
const bytes = new Uint8ArrayList();
|
37
37
|
res.forEach((chunk) => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/light_push/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,QAAQ,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,GAAG,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAErC,MAAM,CAAC,MAAM,cAAc,GAAG,iCAAiC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB;;GAEG;AACH,MAAM,SAAU,SAAQ,YAAY;IAGlC,YAAmB,MAAc,EAAE,OAA+B;QAChE,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAD3D,WAAM,GAAN,MAAM,CAAQ;QAE/B,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,IAAI,CACR,OAAiB,EACjB,OAAiB,EACjB,IAAsB;QAEtB,MAAM,EAAE,WAAW,GAAG,kBAAkB,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAE1D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE1C,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,IAAI;YACF,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,CAAC,YAAY,EAAE;gBACjB,GAAG,CAAC,iDAAiD,CAAC,CAAC;gBACvD,OAAO,EAAE,UAAU,EAAE,CAAC;aACvB;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YAC/D,MAAM,GAAG,GAAG,MAAM,IAAI,CACpB,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAChB,EAAE,CAAC,MAAM,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/light_push/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,QAAQ,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,GAAG,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAErC,MAAM,CAAC,MAAM,cAAc,GAAG,iCAAiC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB;;GAEG;AACH,MAAM,SAAU,SAAQ,YAAY;IAGlC,YAAmB,MAAc,EAAE,OAA+B;QAChE,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAD3D,WAAM,GAAN,MAAM,CAAQ;QAE/B,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,IAAI,CACR,OAAiB,EACjB,OAAiB,EACjB,IAAsB;QAEtB,MAAM,EAAE,WAAW,GAAG,kBAAkB,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAE1D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE1C,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,IAAI;YACF,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,CAAC,YAAY,EAAE;gBACjB,GAAG,CAAC,iDAAiD,CAAC,CAAC;gBACvD,OAAO,EAAE,UAAU,EAAE,CAAC;aACvB;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YAC/D,MAAM,GAAG,GAAG,MAAM,IAAI,CACpB,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAChB,EAAE,CAAC,MAAM,EACT,MAAM,EACN,EAAE,CAAC,MAAM,EACT,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,CACpC,CAAC;YACF,IAAI;gBACF,MAAM,KAAK,GAAG,IAAI,cAAc,EAAE,CAAC;gBACnC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBACpB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtB,CAAC,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;gBAEhD,IAAI,CAAC,QAAQ,EAAE;oBACb,GAAG,CAAC,wBAAwB,CAAC,CAAC;oBAC9B,OAAO,EAAE,UAAU,EAAE,CAAC;iBACvB;gBAED,IAAI,QAAQ,CAAC,SAAS,EAAE;oBACtB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBAC1B;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,GAAG,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;aACzC;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,GAAG,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAC;SACpD;QACD,OAAO,EAAE,UAAU,EAAE,CAAC;IACxB,CAAC;CACF;AAED,MAAM,UAAU,aAAa,CAC3B,OAAuC,EAAE;IAEzC,OAAO,CAAC,MAAc,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACzD,CAAC"}
|
@@ -53,6 +53,9 @@ export class Encoder {
|
|
53
53
|
this.contentTopic = contentTopic;
|
54
54
|
this.ephemeral = ephemeral;
|
55
55
|
this.metaSetter = metaSetter;
|
56
|
+
if (!contentTopic || contentTopic === "") {
|
57
|
+
throw new Error("Content topic must be specified");
|
58
|
+
}
|
56
59
|
}
|
57
60
|
async toWire(message) {
|
58
61
|
return proto.WakuMessage.encode(await this.toProtoObj(message));
|
@@ -90,6 +93,9 @@ export function createEncoder({ contentTopic, ephemeral, metaSetter, }) {
|
|
90
93
|
export class Decoder {
|
91
94
|
constructor(contentTopic) {
|
92
95
|
this.contentTopic = contentTopic;
|
96
|
+
if (!contentTopic || contentTopic === "") {
|
97
|
+
throw new Error("Content topic must be specified");
|
98
|
+
}
|
93
99
|
}
|
94
100
|
fromWireToProtoObj(bytes) {
|
95
101
|
const protoMessage = proto.WakuMessage.decode(bytes);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"version_0.js","sourceRoot":"","sources":["../../../src/lib/message/version_0.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,IAAI,KAAK,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,GAAG,GAAG,KAAK,CAAC,wBAAwB,CAAC,CAAC;AAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAS,CAAC,CAAC;AAErC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC;AACzB,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,MAAM,OAAO,cAAc;IACzB,YAAmB,WAAmB,EAAY,KAAwB;QAAvD,gBAAW,GAAX,WAAW,CAAQ;QAAY,UAAK,GAAL,KAAK,CAAmB;IAAG,CAAC;IAE9E,IAAI,SAAS;QACX,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;IAC5B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;IACjC,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IAC9B,CAAC;IAED,IAAI,SAAS;QACX,sEAAsE;QACtE,2CAA2C;QAC3C,IAAI;YACF,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;gBACxB,0CAA0C;gBAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC;gBACpD,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;aACpC;YACD,OAAO;SACR;QAAC,OAAO,CAAC,EAAE;YACV,OAAO;SACR;IACH,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IAED,IAAI,OAAO;QACT,+BAA+B;QAC/B,8DAA8D;QAC9D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,OAAO;IAClB,YACS,YAAoB,EACpB,YAAqB,KAAK,EAC1B,UAAwB;QAFxB,iBAAY,GAAZ,YAAY,CAAQ;QACpB,cAAS,GAAT,SAAS,CAAiB;QAC1B,eAAU,GAAV,UAAU,CAAc;
|
1
|
+
{"version":3,"file":"version_0.js","sourceRoot":"","sources":["../../../src/lib/message/version_0.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/relay/index.js
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
import { GossipSub, } from "@chainsafe/libp2p-gossipsub";
|
2
2
|
import { SignaturePolicy } from "@chainsafe/libp2p-gossipsub/types";
|
3
|
+
import { sha256 } from "@noble/hashes/sha256";
|
4
|
+
import { toAsyncIterator } from "@waku/utils";
|
3
5
|
import debug from "debug";
|
4
6
|
import { DefaultPubSubTopic } from "../constants.js";
|
5
7
|
import { groupByContentTopic } from "../group_by.js";
|
@@ -78,6 +80,9 @@ class Relay {
|
|
78
80
|
}
|
79
81
|
};
|
80
82
|
}
|
83
|
+
toSubscriptionIterator(decoders, opts) {
|
84
|
+
return toAsyncIterator(this, decoders, opts);
|
85
|
+
}
|
81
86
|
getActiveSubscriptions() {
|
82
87
|
const map = new Map();
|
83
88
|
map.set(this.pubSubTopic, this.observers.keys());
|
@@ -138,6 +143,7 @@ export function wakuGossipSub(init = {}) {
|
|
138
143
|
return (components) => {
|
139
144
|
init = {
|
140
145
|
...init,
|
146
|
+
msgIdFn: ({ data }) => sha256(data),
|
141
147
|
// Ensure that no signature is included nor expected in the messages.
|
142
148
|
globalSignaturePolicy: SignaturePolicy.StrictNoSign,
|
143
149
|
fallbackToFloodsub: false,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/relay/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,GAIV,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/relay/index.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/store/index.js
CHANGED
@@ -153,7 +153,7 @@ async function* paginate(streamFactory, queryOpts, decoders, cursor) {
|
|
153
153
|
const historyRpcQuery = HistoryRpc.createQuery(queryOpts);
|
154
154
|
log("Querying store peer", `for (${queryOpts.pubSubTopic})`, queryOpts.contentTopics);
|
155
155
|
const stream = await streamFactory();
|
156
|
-
const res = await pipe([historyRpcQuery.encode()], lp.encode
|
156
|
+
const res = await pipe([historyRpcQuery.encode()], lp.encode, stream, lp.decode, async (source) => await all(source));
|
157
157
|
const bytes = new Uint8ArrayList();
|
158
158
|
res.forEach((chunk) => {
|
159
159
|
bytes.append(chunk);
|
@@ -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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"}
|
package/dist/lib/waku.d.ts
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import type { Stream } from "@libp2p/interface-connection";
|
2
2
|
import type { Libp2p } from "@libp2p/interface-libp2p";
|
3
3
|
import type { PeerId } from "@libp2p/interface-peer-id";
|
4
|
-
import type {
|
4
|
+
import type { MultiaddrInput } from "@multiformats/multiaddr";
|
5
5
|
import type { IFilter, ILightPush, IRelay, IStore, Waku } from "@waku/interfaces";
|
6
6
|
import { Protocols } from "@waku/interfaces";
|
7
7
|
import { ConnectionManager } from "./connection_manager.js";
|
@@ -43,7 +43,7 @@ export declare class WakuNode implements Waku {
|
|
43
43
|
* @param peer The peer to dial
|
44
44
|
* @param protocols Waku protocols we expect from the peer; Defaults to mounted protocols
|
45
45
|
*/
|
46
|
-
dial(peer: PeerId |
|
46
|
+
dial(peer: PeerId | MultiaddrInput, protocols?: Protocols[]): Promise<Stream>;
|
47
47
|
start(): Promise<void>;
|
48
48
|
stop(): Promise<void>;
|
49
49
|
isStarted(): boolean;
|
package/dist/lib/waku.js
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
import { isPeerId } from "@libp2p/interface-peer-id";
|
2
|
+
import { multiaddr } from "@multiformats/multiaddr";
|
1
3
|
import { Protocols } from "@waku/interfaces";
|
2
4
|
import debug from "debug";
|
3
5
|
import { ConnectionManager } from "./connection_manager.js";
|
@@ -37,6 +39,7 @@ export class WakuNode {
|
|
37
39
|
*/
|
38
40
|
async dial(peer, protocols) {
|
39
41
|
const _protocols = protocols ?? [];
|
42
|
+
const peerId = mapToPeerIdOrMultiaddr(peer);
|
40
43
|
if (typeof protocols === "undefined") {
|
41
44
|
this.relay && _protocols.push(Protocols.Relay);
|
42
45
|
this.store && _protocols.push(Protocols.Store);
|
@@ -76,8 +79,8 @@ export class WakuNode {
|
|
76
79
|
log("Filter codec not included in dial codec: protocol not mounted locally");
|
77
80
|
}
|
78
81
|
}
|
79
|
-
log(`Dialing to ${
|
80
|
-
return this.libp2p.dialProtocol(
|
82
|
+
log(`Dialing to ${peerId.toString()} with protocols ${_protocols}`);
|
83
|
+
return this.libp2p.dialProtocol(peerId, codecs);
|
81
84
|
}
|
82
85
|
async start() {
|
83
86
|
await this.libp2p.start();
|
@@ -104,4 +107,7 @@ export class WakuNode {
|
|
104
107
|
return localMultiaddr + "/p2p/" + this.libp2p.peerId.toString();
|
105
108
|
}
|
106
109
|
}
|
110
|
+
function mapToPeerIdOrMultiaddr(peerId) {
|
111
|
+
return isPeerId(peerId) ? peerId : multiaddr(peerId);
|
112
|
+
}
|
107
113
|
//# sourceMappingURL=waku.js.map
|
package/dist/lib/waku.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"waku.js","sourceRoot":"","sources":["../../src/lib/waku.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"waku.js","sourceRoot":"","sources":["../../src/lib/waku.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@waku/core",
|
3
|
-
"version": "0.0.
|
3
|
+
"version": "0.0.17",
|
4
4
|
"description": "TypeScript implementation of the Waku v2 protocol",
|
5
5
|
"types": "./dist/index.d.ts",
|
6
6
|
"module": "./dist/index.js",
|
@@ -56,17 +56,11 @@
|
|
56
56
|
"build:esm": "tsc",
|
57
57
|
"build:bundle": "rollup --config rollup.config.js",
|
58
58
|
"fix": "run-s fix:*",
|
59
|
-
"fix:prettier": "prettier . --write",
|
60
59
|
"fix:lint": "eslint src *.js --fix",
|
61
60
|
"pretest": "run-s pretest:*",
|
62
|
-
"pretest:1-init-git-submodules": "[ -f '../../nwaku/build/wakunode2' ] || git submodule update --init --recursive",
|
63
|
-
"pretest:2-build-nwaku": "[ -f '../../nwaku/build/wakunode2' ] || run-s nwaku:build",
|
64
|
-
"nwaku:build": "(PROC=$(nproc --all 2>/dev/null || echo 2); cd ../../nwaku; make -j$PROC update; NIMFLAGS=\"-d:chronicles_colors=off -d:chronicles_sinks=textlines -d:chronicles_log_level=TRACE\" make -j$PROC wakunode2)",
|
65
|
-
"nwaku:force-build": "(cd ../../nwaku && rm -rf ./build/ ./vendor) && run-s nwaku:build",
|
66
61
|
"check": "run-s check:*",
|
67
62
|
"check:tsc": "tsc -p tsconfig.dev.json",
|
68
63
|
"check:lint": "eslint src *.js",
|
69
|
-
"check:prettier": "prettier . --list-different",
|
70
64
|
"check:spelling": "cspell \"{README.md,src/**/*.ts}\"",
|
71
65
|
"test": "run-s test:*",
|
72
66
|
"test:node": "TS_NODE_PROJECT=./tsconfig.dev.json mocha",
|
@@ -81,13 +75,14 @@
|
|
81
75
|
},
|
82
76
|
"dependencies": {
|
83
77
|
"@chainsafe/libp2p-gossipsub": "^6.1.0",
|
78
|
+
"@libp2p/interface-pubsub": "^3.0.7",
|
84
79
|
"@noble/hashes": "^1.3.0",
|
85
|
-
"@waku/interfaces": "0.0.
|
80
|
+
"@waku/interfaces": "0.0.12",
|
86
81
|
"@waku/proto": "0.0.4",
|
87
|
-
"@waku/utils": "0.0.
|
82
|
+
"@waku/utils": "0.0.5",
|
88
83
|
"debug": "^4.3.4",
|
89
|
-
"it-all": "^
|
90
|
-
"it-length-prefixed": "^
|
84
|
+
"it-all": "^3.0.1",
|
85
|
+
"it-length-prefixed": "^9.0.1",
|
91
86
|
"it-pipe": "^2.0.5",
|
92
87
|
"p-event": "^5.0.1",
|
93
88
|
"uint8arraylist": "^2.4.3",
|
@@ -98,12 +93,11 @@
|
|
98
93
|
"@libp2p/interface-libp2p": "^1.1.2",
|
99
94
|
"@libp2p/interface-peer-id": "^2.0.1",
|
100
95
|
"@libp2p/interface-peer-store": "^1.2.8",
|
101
|
-
"@libp2p/interface-pubsub": "^3.0.6",
|
102
96
|
"@libp2p/interface-registrar": "^2.0.8",
|
103
97
|
"@multiformats/multiaddr": "^12.0.0",
|
104
98
|
"@rollup/plugin-commonjs": "^24.0.1",
|
105
99
|
"@rollup/plugin-json": "^6.0.0",
|
106
|
-
"@rollup/plugin-node-resolve": "^15.0.
|
100
|
+
"@rollup/plugin-node-resolve": "^15.0.2",
|
107
101
|
"@types/chai": "^4.3.4",
|
108
102
|
"@types/debug": "^4.1.7",
|
109
103
|
"@types/mocha": "^10.0.1",
|
@@ -119,7 +113,7 @@
|
|
119
113
|
"eslint-plugin-functional": "^5.0.4",
|
120
114
|
"eslint-plugin-import": "^2.27.5",
|
121
115
|
"eslint-plugin-prettier": "^4.2.1",
|
122
|
-
"fast-check": "^3.
|
116
|
+
"fast-check": "^3.8.1",
|
123
117
|
"ignore-loader": "^0.1.2",
|
124
118
|
"isomorphic-fetch": "^3.0.0",
|
125
119
|
"karma": "^6.4.1",
|
@@ -128,10 +122,10 @@
|
|
128
122
|
"karma-webpack": "^5.0.0",
|
129
123
|
"mocha": "^10.2.0",
|
130
124
|
"npm-run-all": "^4.1.5",
|
131
|
-
"prettier": "^2.8.
|
125
|
+
"prettier": "^2.8.8",
|
132
126
|
"process": "^0.11.10",
|
133
127
|
"puppeteer": "^19.8.2",
|
134
|
-
"rollup": "^3.
|
128
|
+
"rollup": "^3.21.3",
|
135
129
|
"ts-loader": "^9.4.2",
|
136
130
|
"ts-node": "^10.9.1",
|
137
131
|
"typescript": "^4.9.5"
|
package/src/lib/filter/index.ts
CHANGED
@@ -4,6 +4,7 @@ import type { IncomingStreamData } from "@libp2p/interface-registrar";
|
|
4
4
|
import type {
|
5
5
|
ActiveSubscriptions,
|
6
6
|
Callback,
|
7
|
+
IAsyncIterator,
|
7
8
|
IDecodedMessage,
|
8
9
|
IDecoder,
|
9
10
|
IFilter,
|
@@ -11,6 +12,7 @@ import type {
|
|
11
12
|
ProtocolOptions,
|
12
13
|
} from "@waku/interfaces";
|
13
14
|
import { WakuMessage as WakuMessageProto } from "@waku/proto";
|
15
|
+
import { toAsyncIterator } from "@waku/utils";
|
14
16
|
import debug from "debug";
|
15
17
|
import all from "it-all";
|
16
18
|
import * as lp from "it-length-prefixed";
|
@@ -92,9 +94,9 @@ class Filter extends BaseProtocol implements IFilter {
|
|
92
94
|
try {
|
93
95
|
const res = await pipe(
|
94
96
|
[request.encode()],
|
95
|
-
lp.encode
|
97
|
+
lp.encode,
|
96
98
|
stream,
|
97
|
-
lp.decode
|
99
|
+
lp.decode,
|
98
100
|
async (source) => await all(source)
|
99
101
|
);
|
100
102
|
|
@@ -124,6 +126,13 @@ class Filter extends BaseProtocol implements IFilter {
|
|
124
126
|
};
|
125
127
|
}
|
126
128
|
|
129
|
+
public toSubscriptionIterator<T extends IDecodedMessage>(
|
130
|
+
decoders: IDecoder<T> | IDecoder<T>[],
|
131
|
+
opts?: ProtocolOptions | undefined
|
132
|
+
): Promise<IAsyncIterator<T>> {
|
133
|
+
return toAsyncIterator(this, decoders, opts);
|
134
|
+
}
|
135
|
+
|
127
136
|
public getActiveSubscriptions(): ActiveSubscriptions {
|
128
137
|
const map: ActiveSubscriptions = new Map();
|
129
138
|
const subscriptions = this.subscriptions as Map<
|
@@ -143,7 +152,7 @@ class Filter extends BaseProtocol implements IFilter {
|
|
143
152
|
private onRequest(streamData: IncomingStreamData): void {
|
144
153
|
log("Receiving message push");
|
145
154
|
try {
|
146
|
-
pipe(streamData.stream, lp.decode
|
155
|
+
pipe(streamData.stream, lp.decode, async (source) => {
|
147
156
|
for await (const bytes of source) {
|
148
157
|
const res = FilterRpc.decode(bytes.slice());
|
149
158
|
if (res.requestId && res.push?.messages?.length) {
|
@@ -225,7 +234,7 @@ class Filter extends BaseProtocol implements IFilter {
|
|
225
234
|
|
226
235
|
const stream = await this.newStream(peer);
|
227
236
|
try {
|
228
|
-
await pipe([unsubscribeRequest.encode()], lp.encode
|
237
|
+
await pipe([unsubscribeRequest.encode()], lp.encode, stream.sink);
|
229
238
|
} catch (e) {
|
230
239
|
log("Error unsubscribing", e);
|
231
240
|
throw e;
|
@@ -57,9 +57,9 @@ class LightPush extends BaseProtocol implements ILightPush {
|
|
57
57
|
const query = PushRpc.createRequest(protoMessage, pubSubTopic);
|
58
58
|
const res = await pipe(
|
59
59
|
[query.encode()],
|
60
|
-
lp.encode
|
60
|
+
lp.encode,
|
61
61
|
stream,
|
62
|
-
lp.decode
|
62
|
+
lp.decode,
|
63
63
|
async (source) => await all(source)
|
64
64
|
);
|
65
65
|
try {
|
@@ -71,7 +71,11 @@ export class Encoder implements IEncoder {
|
|
71
71
|
public contentTopic: string,
|
72
72
|
public ephemeral: boolean = false,
|
73
73
|
public metaSetter?: IMetaSetter
|
74
|
-
) {
|
74
|
+
) {
|
75
|
+
if (!contentTopic || contentTopic === "") {
|
76
|
+
throw new Error("Content topic must be specified");
|
77
|
+
}
|
78
|
+
}
|
75
79
|
|
76
80
|
async toWire(message: IMessage): Promise<Uint8Array> {
|
77
81
|
return proto.WakuMessage.encode(await this.toProtoObj(message));
|
@@ -117,7 +121,11 @@ export function createEncoder({
|
|
117
121
|
}
|
118
122
|
|
119
123
|
export class Decoder implements IDecoder<DecodedMessage> {
|
120
|
-
constructor(public contentTopic: string) {
|
124
|
+
constructor(public contentTopic: string) {
|
125
|
+
if (!contentTopic || contentTopic === "") {
|
126
|
+
throw new Error("Content topic must be specified");
|
127
|
+
}
|
128
|
+
}
|
121
129
|
|
122
130
|
fromWireToProtoObj(bytes: Uint8Array): Promise<IProtoMessage | undefined> {
|
123
131
|
const protoMessage = proto.WakuMessage.decode(bytes);
|
package/src/lib/relay/index.ts
CHANGED
@@ -8,17 +8,21 @@ import type { PeerIdStr, TopicStr } from "@chainsafe/libp2p-gossipsub/types";
|
|
8
8
|
import { SignaturePolicy } from "@chainsafe/libp2p-gossipsub/types";
|
9
9
|
import type { Libp2p } from "@libp2p/interface-libp2p";
|
10
10
|
import type { PubSub } from "@libp2p/interface-pubsub";
|
11
|
+
import { sha256 } from "@noble/hashes/sha256";
|
11
12
|
import type {
|
12
13
|
ActiveSubscriptions,
|
13
14
|
Callback,
|
15
|
+
IAsyncIterator,
|
14
16
|
IDecodedMessage,
|
15
17
|
IDecoder,
|
16
18
|
IEncoder,
|
17
19
|
IMessage,
|
18
20
|
IRelay,
|
19
21
|
ProtocolCreateOptions,
|
22
|
+
ProtocolOptions,
|
20
23
|
SendResult,
|
21
24
|
} from "@waku/interfaces";
|
25
|
+
import { toAsyncIterator } from "@waku/utils";
|
22
26
|
import debug from "debug";
|
23
27
|
|
24
28
|
import { DefaultPubSubTopic } from "../constants.js";
|
@@ -145,6 +149,13 @@ class Relay implements IRelay {
|
|
145
149
|
};
|
146
150
|
}
|
147
151
|
|
152
|
+
public toSubscriptionIterator<T extends IDecodedMessage>(
|
153
|
+
decoders: IDecoder<T> | IDecoder<T>[],
|
154
|
+
opts?: ProtocolOptions | undefined
|
155
|
+
): Promise<IAsyncIterator<T>> {
|
156
|
+
return toAsyncIterator(this, decoders, opts);
|
157
|
+
}
|
158
|
+
|
148
159
|
public getActiveSubscriptions(): ActiveSubscriptions {
|
149
160
|
const map = new Map();
|
150
161
|
map.set(this.pubSubTopic, this.observers.keys());
|
@@ -228,6 +239,7 @@ export function wakuGossipSub(
|
|
228
239
|
return (components: GossipSubComponents) => {
|
229
240
|
init = {
|
230
241
|
...init,
|
242
|
+
msgIdFn: ({ data }) => sha256(data),
|
231
243
|
// Ensure that no signature is included nor expected in the messages.
|
232
244
|
globalSignaturePolicy: SignaturePolicy.StrictNoSign,
|
233
245
|
fallbackToFloodsub: false,
|
package/src/lib/store/index.ts
CHANGED
package/src/lib/waku.ts
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
import type { Stream } from "@libp2p/interface-connection";
|
2
2
|
import type { Libp2p } from "@libp2p/interface-libp2p";
|
3
3
|
import type { PeerId } from "@libp2p/interface-peer-id";
|
4
|
-
import
|
4
|
+
import { isPeerId } from "@libp2p/interface-peer-id";
|
5
|
+
import type { Multiaddr, MultiaddrInput } from "@multiformats/multiaddr";
|
6
|
+
import { multiaddr } from "@multiformats/multiaddr";
|
5
7
|
import type {
|
6
8
|
IFilter,
|
7
9
|
ILightPush,
|
@@ -104,10 +106,11 @@ export class WakuNode implements Waku {
|
|
104
106
|
* @param protocols Waku protocols we expect from the peer; Defaults to mounted protocols
|
105
107
|
*/
|
106
108
|
async dial(
|
107
|
-
peer: PeerId |
|
109
|
+
peer: PeerId | MultiaddrInput,
|
108
110
|
protocols?: Protocols[]
|
109
111
|
): Promise<Stream> {
|
110
112
|
const _protocols = protocols ?? [];
|
113
|
+
const peerId = mapToPeerIdOrMultiaddr(peer);
|
111
114
|
|
112
115
|
if (typeof protocols === "undefined") {
|
113
116
|
this.relay && _protocols.push(Protocols.Relay);
|
@@ -156,9 +159,9 @@ export class WakuNode implements Waku {
|
|
156
159
|
}
|
157
160
|
}
|
158
161
|
|
159
|
-
log(`Dialing to ${
|
162
|
+
log(`Dialing to ${peerId.toString()} with protocols ${_protocols}`);
|
160
163
|
|
161
|
-
return this.libp2p.dialProtocol(
|
164
|
+
return this.libp2p.dialProtocol(peerId, codecs);
|
162
165
|
}
|
163
166
|
|
164
167
|
async start(): Promise<void> {
|
@@ -189,3 +192,9 @@ export class WakuNode implements Waku {
|
|
189
192
|
return localMultiaddr + "/p2p/" + this.libp2p.peerId.toString();
|
190
193
|
}
|
191
194
|
}
|
195
|
+
|
196
|
+
function mapToPeerIdOrMultiaddr(
|
197
|
+
peerId: PeerId | MultiaddrInput
|
198
|
+
): PeerId | Multiaddr {
|
199
|
+
return isPeerId(peerId) ? peerId : multiaddr(peerId);
|
200
|
+
}
|