@waku/core 0.0.15 → 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 +42 -0
- package/bundle/index.js +5836 -4045
- package/bundle/lib/message/version_0.js +1 -1
- package/bundle/{version_0-e9a6cfb0.js → version_0-5a4becbc.js} +6 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/filter/index.js +25 -6
- 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.d.ts +4 -2
- package/dist/lib/relay/index.js +90 -38
- 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/wait_for_remote_peer.js +1 -1
- package/dist/lib/wait_for_remote_peer.js.map +1 -1
- package/dist/lib/waku.d.ts +3 -3
- package/dist/lib/waku.js +11 -17
- package/dist/lib/waku.js.map +1 -1
- package/package.json +10 -16
- package/src/index.ts +5 -1
- package/src/lib/filter/index.ts +39 -8
- package/src/lib/light_push/index.ts +2 -2
- package/src/lib/message/version_0.ts +10 -2
- package/src/lib/relay/index.ts +136 -47
- package/src/lib/store/index.ts +2 -2
- package/src/lib/wait_for_remote_peer.ts +1 -1
- package/src/lib/waku.ts +18 -21
@@ -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/index.d.ts
CHANGED
@@ -10,7 +10,7 @@ export { wakuFilter } from "./lib/filter/index.js";
|
|
10
10
|
export * as waku_light_push from "./lib/light_push/index.js";
|
11
11
|
export { wakuLightPush, LightPushCodec } from "./lib/light_push/index.js";
|
12
12
|
export * as waku_relay from "./lib/relay/index.js";
|
13
|
-
export { wakuRelay, RelayCreateOptions } from "./lib/relay/index.js";
|
13
|
+
export { wakuRelay, RelayCreateOptions, wakuGossipSub, } from "./lib/relay/index.js";
|
14
14
|
export * as waku_store from "./lib/store/index.js";
|
15
15
|
export { PageDirection, wakuStore, StoreCodec, createCursor, } from "./lib/store/index.js";
|
16
16
|
export { waitForRemotePeer } from "./lib/wait_for_remote_peer.js";
|
package/dist/index.js
CHANGED
@@ -9,7 +9,7 @@ export { wakuFilter } from "./lib/filter/index.js";
|
|
9
9
|
export * as waku_light_push from "./lib/light_push/index.js";
|
10
10
|
export { wakuLightPush, LightPushCodec } from "./lib/light_push/index.js";
|
11
11
|
export * as waku_relay from "./lib/relay/index.js";
|
12
|
-
export { wakuRelay } from "./lib/relay/index.js";
|
12
|
+
export { wakuRelay, wakuGossipSub, } from "./lib/relay/index.js";
|
13
13
|
export * as waku_store from "./lib/store/index.js";
|
14
14
|
export { PageDirection, wakuStore, StoreCodec, createCursor, } from "./lib/store/index.js";
|
15
15
|
export { waitForRemotePeer } from "./lib/wait_for_remote_peer.js";
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAM1E,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAC;AAElD,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAe,MAAM,eAAe,CAAC;AAEtD,OAAO,KAAK,WAAW,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,KAAK,eAAe,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE1E,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAC;AACnD,OAAO,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAM1E,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAC;AAElD,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAe,MAAM,eAAe,CAAC;AAEtD,OAAO,KAAK,WAAW,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,KAAK,eAAe,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE1E,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAC;AACnD,OAAO,EACL,SAAS,EAET,aAAa,GACd,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAC;AACnD,OAAO,EACL,aAAa,EACb,SAAS,EACT,UAAU,EACV,YAAY,GACb,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EACL,gBAAgB,GAEjB,MAAM,6BAA6B,CAAC"}
|
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";
|
@@ -27,14 +28,15 @@ class Filter extends BaseProtocol {
|
|
27
28
|
.catch((e) => log("Failed to register filter protocol", e));
|
28
29
|
}
|
29
30
|
/**
|
30
|
-
* @param decoders
|
31
|
+
* @param decoders Decoder or array of Decoders to use to decode messages, it also specifies the content topics.
|
31
32
|
* @param callback A function that will be called on each message returned by the filter.
|
32
33
|
* @param opts The FilterSubscriptionOpts used to narrow which messages are returned, and which peer to connect to.
|
33
34
|
* @returns Unsubscribe function that can be used to end the subscription.
|
34
35
|
*/
|
35
36
|
async subscribe(decoders, callback, opts) {
|
37
|
+
const decodersArray = Array.isArray(decoders) ? decoders : [decoders];
|
36
38
|
const { pubSubTopic = DefaultPubSubTopic } = this.options;
|
37
|
-
const contentTopics = Array.from(groupByContentTopic(
|
39
|
+
const contentTopics = Array.from(groupByContentTopic(decodersArray).keys());
|
38
40
|
const contentFilters = contentTopics.map((contentTopic) => ({
|
39
41
|
contentTopic,
|
40
42
|
}));
|
@@ -43,24 +45,41 @@ class Filter extends BaseProtocol {
|
|
43
45
|
const peer = await this.getPeer(opts?.peerId);
|
44
46
|
const stream = await this.newStream(peer);
|
45
47
|
try {
|
46
|
-
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));
|
47
49
|
log("response", res);
|
48
50
|
}
|
49
51
|
catch (e) {
|
50
52
|
log("Error subscribing to peer ", peer.id.toString(), "for content topics", contentTopics, ": ", e);
|
51
53
|
throw e;
|
52
54
|
}
|
53
|
-
const subscription = {
|
55
|
+
const subscription = {
|
56
|
+
callback,
|
57
|
+
decoders: decodersArray,
|
58
|
+
pubSubTopic,
|
59
|
+
};
|
54
60
|
this.subscriptions.set(requestId, subscription);
|
55
61
|
return async () => {
|
56
62
|
await this.unsubscribe(pubSubTopic, contentFilters, requestId, peer);
|
57
63
|
this.subscriptions.delete(requestId);
|
58
64
|
};
|
59
65
|
}
|
66
|
+
toSubscriptionIterator(decoders, opts) {
|
67
|
+
return toAsyncIterator(this, decoders, opts);
|
68
|
+
}
|
69
|
+
getActiveSubscriptions() {
|
70
|
+
const map = new Map();
|
71
|
+
const subscriptions = this.subscriptions;
|
72
|
+
for (const item of subscriptions.values()) {
|
73
|
+
const values = map.get(item.pubSubTopic) || [];
|
74
|
+
const nextValues = item.decoders.map((decoder) => decoder.contentTopic);
|
75
|
+
map.set(item.pubSubTopic, [...values, ...nextValues]);
|
76
|
+
}
|
77
|
+
return map;
|
78
|
+
}
|
60
79
|
onRequest(streamData) {
|
61
80
|
log("Receiving message push");
|
62
81
|
try {
|
63
|
-
pipe(streamData.stream, lp.decode
|
82
|
+
pipe(streamData.stream, lp.decode, async (source) => {
|
64
83
|
for await (const bytes of source) {
|
65
84
|
const res = FilterRpc.decode(bytes.slice());
|
66
85
|
if (res.requestId && res.push?.messages?.length) {
|
@@ -117,7 +136,7 @@ class Filter extends BaseProtocol {
|
|
117
136
|
const unsubscribeRequest = FilterRpc.createRequest(topic, contentFilters, requestId, false);
|
118
137
|
const stream = await this.newStream(peer);
|
119
138
|
try {
|
120
|
-
await pipe([unsubscribeRequest.encode()], lp.encode
|
139
|
+
await pipe([unsubscribeRequest.encode()], lp.encode, stream.sink);
|
121
140
|
}
|
122
141
|
catch (e) {
|
123
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":"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"}
|
@@ -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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"}
|
@@ -1,4 +1,5 @@
|
|
1
|
-
import { GossipSubComponents, GossipsubOpts } from "@chainsafe/libp2p-gossipsub";
|
1
|
+
import { GossipSub, GossipSubComponents, GossipsubOpts } from "@chainsafe/libp2p-gossipsub";
|
2
|
+
import type { Libp2p } from "@libp2p/interface-libp2p";
|
2
3
|
import type { Callback, IDecodedMessage, IDecoder, IRelay, ProtocolCreateOptions } from "@waku/interfaces";
|
3
4
|
export type Observer<T extends IDecodedMessage> = {
|
4
5
|
decoder: IDecoder<T>;
|
@@ -6,4 +7,5 @@ export type Observer<T extends IDecodedMessage> = {
|
|
6
7
|
};
|
7
8
|
export type RelayCreateOptions = ProtocolCreateOptions & GossipsubOpts;
|
8
9
|
export type ContentTopic = string;
|
9
|
-
export declare function wakuRelay(init?: Partial<
|
10
|
+
export declare function wakuRelay(init?: Partial<ProtocolCreateOptions>): (libp2p: Libp2p) => IRelay;
|
11
|
+
export declare function wakuGossipSub(init?: Partial<RelayCreateOptions>): (components: GossipSubComponents) => GossipSub;
|
package/dist/lib/relay/index.js
CHANGED
@@ -1,28 +1,28 @@
|
|
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";
|
7
|
+
import { groupByContentTopic } from "../group_by.js";
|
5
8
|
import { TopicOnlyDecoder } from "../message/topic_only_message.js";
|
6
|
-
import { pushOrInitMapSet } from "../push_or_init_map.js";
|
7
9
|
import * as constants from "./constants.js";
|
8
10
|
import { messageValidator } from "./message_validator.js";
|
9
11
|
const log = debug("waku:relay");
|
10
12
|
/**
|
11
13
|
* Implements the [Waku v2 Relay protocol](https://rfc.vac.dev/spec/11/).
|
12
|
-
*
|
13
|
-
*
|
14
|
-
* @implements {require('libp2p-interfaces/src/pubsub')}
|
14
|
+
* Throws if libp2p.pubsub does not support Waku Relay
|
15
15
|
*/
|
16
|
-
class Relay
|
17
|
-
constructor(
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
});
|
23
|
-
super(components, options);
|
24
|
-
this.multicodecs = constants.RelayCodecs;
|
16
|
+
class Relay {
|
17
|
+
constructor(libp2p, options) {
|
18
|
+
if (!this.isRelayPubSub(libp2p.pubsub)) {
|
19
|
+
throw Error(`Failed to initialize Relay. libp2p.pubsub does not support ${Relay.multicodec}`);
|
20
|
+
}
|
21
|
+
this.gossipSub = libp2p.pubsub;
|
25
22
|
this.pubSubTopic = options?.pubSubTopic ?? DefaultPubSubTopic;
|
23
|
+
if (this.gossipSub.isStarted()) {
|
24
|
+
this.gossipSubSubscribe(this.pubSubTopic);
|
25
|
+
}
|
26
26
|
this.observers = new Map();
|
27
27
|
// TODO: User might want to decide what decoder should be used (e.g. for RLN)
|
28
28
|
this.defaultDecoder = new TopicOnlyDecoder();
|
@@ -35,8 +35,11 @@ class Relay extends GossipSub {
|
|
35
35
|
* @returns {void}
|
36
36
|
*/
|
37
37
|
async start() {
|
38
|
-
|
39
|
-
|
38
|
+
if (this.gossipSub.isStarted()) {
|
39
|
+
throw Error("GossipSub already started.");
|
40
|
+
}
|
41
|
+
await this.gossipSub.start();
|
42
|
+
this.gossipSubSubscribe(this.pubSubTopic);
|
40
43
|
}
|
41
44
|
/**
|
42
45
|
* Send Waku message.
|
@@ -47,32 +50,47 @@ class Relay extends GossipSub {
|
|
47
50
|
log("Failed to encode message, aborting publish");
|
48
51
|
return { recipients: [] };
|
49
52
|
}
|
50
|
-
return this.publish(this.pubSubTopic, msg);
|
53
|
+
return this.gossipSub.publish(this.pubSubTopic, msg);
|
51
54
|
}
|
52
55
|
/**
|
53
56
|
* Add an observer and associated Decoder to process incoming messages on a given content topic.
|
54
57
|
*
|
55
58
|
* @returns Function to delete the observer
|
56
59
|
*/
|
57
|
-
|
58
|
-
const
|
59
|
-
|
60
|
-
callback
|
61
|
-
|
62
|
-
|
63
|
-
|
60
|
+
subscribe(decoders, callback) {
|
61
|
+
const contentTopicToObservers = Array.isArray(decoders)
|
62
|
+
? toObservers(decoders, callback)
|
63
|
+
: toObservers([decoders], callback);
|
64
|
+
for (const contentTopic of contentTopicToObservers.keys()) {
|
65
|
+
const currObservers = this.observers.get(contentTopic) || new Set();
|
66
|
+
const newObservers = contentTopicToObservers.get(contentTopic) || new Set();
|
67
|
+
this.observers.set(contentTopic, union(currObservers, newObservers));
|
68
|
+
}
|
64
69
|
return () => {
|
65
|
-
const
|
66
|
-
|
67
|
-
|
70
|
+
for (const contentTopic of contentTopicToObservers.keys()) {
|
71
|
+
const currentObservers = this.observers.get(contentTopic) || new Set();
|
72
|
+
const observersToRemove = contentTopicToObservers.get(contentTopic) || new Set();
|
73
|
+
const nextObservers = leftMinusJoin(currentObservers, observersToRemove);
|
74
|
+
if (nextObservers.size) {
|
75
|
+
this.observers.set(contentTopic, nextObservers);
|
76
|
+
}
|
77
|
+
else {
|
78
|
+
this.observers.delete(contentTopic);
|
79
|
+
}
|
68
80
|
}
|
69
81
|
};
|
70
82
|
}
|
83
|
+
toSubscriptionIterator(decoders, opts) {
|
84
|
+
return toAsyncIterator(this, decoders, opts);
|
85
|
+
}
|
71
86
|
getActiveSubscriptions() {
|
72
87
|
const map = new Map();
|
73
88
|
map.set(this.pubSubTopic, this.observers.keys());
|
74
89
|
return map;
|
75
90
|
}
|
91
|
+
getMeshPeers(topic) {
|
92
|
+
return this.gossipSub.getMeshPeers(topic ?? this.pubSubTopic);
|
93
|
+
}
|
76
94
|
async processIncomingMessage(pubSubTopic, bytes) {
|
77
95
|
const topicOnlyMsg = await this.defaultDecoder.fromWireToProtoObj(bytes);
|
78
96
|
if (!topicOnlyMsg || !topicOnlyMsg.contentTopic) {
|
@@ -103,27 +121,61 @@ class Relay extends GossipSub {
|
|
103
121
|
*
|
104
122
|
* @override
|
105
123
|
*/
|
106
|
-
|
107
|
-
this.addEventListener("gossipsub:message", async (event) => {
|
124
|
+
gossipSubSubscribe(pubSubTopic) {
|
125
|
+
this.gossipSub.addEventListener("gossipsub:message", async (event) => {
|
108
126
|
if (event.detail.msg.topic !== pubSubTopic)
|
109
127
|
return;
|
110
128
|
log(`Message received on ${pubSubTopic}`);
|
111
129
|
this.processIncomingMessage(event.detail.msg.topic, event.detail.msg.data).catch((e) => log("Failed to process incoming message", e));
|
112
130
|
});
|
113
|
-
this.topicValidators.set(pubSubTopic, messageValidator);
|
114
|
-
|
131
|
+
this.gossipSub.topicValidators.set(pubSubTopic, messageValidator);
|
132
|
+
this.gossipSub.subscribe(pubSubTopic);
|
115
133
|
}
|
116
|
-
|
117
|
-
|
118
|
-
this.topicValidators.delete(pubSubTopic);
|
119
|
-
}
|
120
|
-
getMeshPeers(topic) {
|
121
|
-
return super.getMeshPeers(topic ?? this.pubSubTopic);
|
134
|
+
isRelayPubSub(pubsub) {
|
135
|
+
return pubsub?.multicodecs?.includes(Relay.multicodec) || false;
|
122
136
|
}
|
123
137
|
}
|
124
138
|
Relay.multicodec = constants.RelayCodecs[0];
|
125
|
-
Relay.multicodec = constants.RelayCodecs[constants.RelayCodecs.length - 1];
|
126
139
|
export function wakuRelay(init = {}) {
|
127
|
-
return (
|
140
|
+
return (libp2p) => new Relay(libp2p, init);
|
141
|
+
}
|
142
|
+
export function wakuGossipSub(init = {}) {
|
143
|
+
return (components) => {
|
144
|
+
init = {
|
145
|
+
...init,
|
146
|
+
msgIdFn: ({ data }) => sha256(data),
|
147
|
+
// Ensure that no signature is included nor expected in the messages.
|
148
|
+
globalSignaturePolicy: SignaturePolicy.StrictNoSign,
|
149
|
+
fallbackToFloodsub: false,
|
150
|
+
};
|
151
|
+
const pubsub = new GossipSub(components, init);
|
152
|
+
pubsub.multicodecs = constants.RelayCodecs;
|
153
|
+
return pubsub;
|
154
|
+
};
|
155
|
+
}
|
156
|
+
function toObservers(decoders, callback) {
|
157
|
+
const contentTopicToDecoders = Array.from(groupByContentTopic(decoders).entries());
|
158
|
+
const contentTopicToObserversEntries = contentTopicToDecoders.map(([contentTopic, decoders]) => [
|
159
|
+
contentTopic,
|
160
|
+
new Set(decoders.map((decoder) => ({
|
161
|
+
decoder,
|
162
|
+
callback,
|
163
|
+
}))),
|
164
|
+
]);
|
165
|
+
return new Map(contentTopicToObserversEntries);
|
166
|
+
}
|
167
|
+
function union(left, right) {
|
168
|
+
for (const val of right.values()) {
|
169
|
+
left.add(val);
|
170
|
+
}
|
171
|
+
return left;
|
172
|
+
}
|
173
|
+
function leftMinusJoin(left, right) {
|
174
|
+
for (const val of right.values()) {
|
175
|
+
if (left.has(val)) {
|
176
|
+
left.delete(val);
|
177
|
+
}
|
178
|
+
}
|
179
|
+
return left;
|
128
180
|
}
|
129
181
|
//# sourceMappingURL=index.js.map
|
@@ -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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"}
|
@@ -81,7 +81,7 @@ async function waitForConnectedPeer(protocol) {
|
|
81
81
|
async function waitForGossipSubPeerInMesh(waku) {
|
82
82
|
let peers = waku.getMeshPeers();
|
83
83
|
while (peers.length == 0) {
|
84
|
-
await pEvent(waku, "gossipsub:heartbeat");
|
84
|
+
await pEvent(waku.gossipSub, "gossipsub:heartbeat");
|
85
85
|
peers = waku.getMeshPeers();
|
86
86
|
}
|
87
87
|
}
|
@@ -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/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";
|
@@ -36,14 +36,14 @@ export declare class WakuNode implements Waku {
|
|
36
36
|
filter?: IFilter;
|
37
37
|
lightPush?: ILightPush;
|
38
38
|
connectionManager: ConnectionManager;
|
39
|
-
constructor(options: WakuOptions, libp2p: Libp2p, store?: (libp2p: Libp2p) => IStore, lightPush?: (libp2p: Libp2p) => ILightPush, filter?: (libp2p: Libp2p) => IFilter);
|
39
|
+
constructor(options: WakuOptions, libp2p: Libp2p, store?: (libp2p: Libp2p) => IStore, lightPush?: (libp2p: Libp2p) => ILightPush, filter?: (libp2p: Libp2p) => IFilter, relay?: (libp2p: Libp2p) => IRelay);
|
40
40
|
/**
|
41
41
|
* Dials to the provided peer.
|
42
42
|
*
|
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,13 +1,14 @@
|
|
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";
|
4
|
-
import * as relayConstants from "./relay/constants.js";
|
5
6
|
export const DefaultPingKeepAliveValueSecs = 0;
|
6
7
|
export const DefaultRelayKeepAliveValueSecs = 5 * 60;
|
7
8
|
export const DefaultUserAgent = "js-waku";
|
8
9
|
const log = debug("waku:waku");
|
9
10
|
export class WakuNode {
|
10
|
-
constructor(options, libp2p, store, lightPush, filter) {
|
11
|
+
constructor(options, libp2p, store, lightPush, filter, relay) {
|
11
12
|
this.libp2p = libp2p;
|
12
13
|
if (store) {
|
13
14
|
this.store = store(libp2p);
|
@@ -18,8 +19,8 @@ export class WakuNode {
|
|
18
19
|
if (lightPush) {
|
19
20
|
this.lightPush = lightPush(libp2p);
|
20
21
|
}
|
21
|
-
if (
|
22
|
-
this.relay = libp2p
|
22
|
+
if (relay) {
|
23
|
+
this.relay = relay(libp2p);
|
23
24
|
}
|
24
25
|
const pingKeepAlive = options.pingKeepAlive || DefaultPingKeepAliveValueSecs;
|
25
26
|
const relayKeepAlive = this.relay
|
@@ -38,6 +39,7 @@ export class WakuNode {
|
|
38
39
|
*/
|
39
40
|
async dial(peer, protocols) {
|
40
41
|
const _protocols = protocols ?? [];
|
42
|
+
const peerId = mapToPeerIdOrMultiaddr(peer);
|
41
43
|
if (typeof protocols === "undefined") {
|
42
44
|
this.relay && _protocols.push(Protocols.Relay);
|
43
45
|
this.store && _protocols.push(Protocols.Store);
|
@@ -47,7 +49,7 @@ export class WakuNode {
|
|
47
49
|
const codecs = [];
|
48
50
|
if (_protocols.includes(Protocols.Relay)) {
|
49
51
|
if (this.relay) {
|
50
|
-
this.relay.multicodecs.forEach((codec) => codecs.push(codec));
|
52
|
+
this.relay.gossipSub.multicodecs.forEach((codec) => codecs.push(codec));
|
51
53
|
}
|
52
54
|
else {
|
53
55
|
log("Relay codec not included in dial codec: protocol not mounted locally");
|
@@ -77,8 +79,8 @@ export class WakuNode {
|
|
77
79
|
log("Filter codec not included in dial codec: protocol not mounted locally");
|
78
80
|
}
|
79
81
|
}
|
80
|
-
log(`Dialing to ${
|
81
|
-
return this.libp2p.dialProtocol(
|
82
|
+
log(`Dialing to ${peerId.toString()} with protocols ${_protocols}`);
|
83
|
+
return this.libp2p.dialProtocol(peerId, codecs);
|
82
84
|
}
|
83
85
|
async start() {
|
84
86
|
await this.libp2p.start();
|
@@ -105,15 +107,7 @@ export class WakuNode {
|
|
105
107
|
return localMultiaddr + "/p2p/" + this.libp2p.peerId.toString();
|
106
108
|
}
|
107
109
|
}
|
108
|
-
function
|
109
|
-
|
110
|
-
try {
|
111
|
-
return pubsub.multicodecs.includes(relayConstants.RelayCodecs[relayConstants.RelayCodecs.length - 1]);
|
112
|
-
// Exception is expected if `libp2p` was not instantiated with pubsub
|
113
|
-
// eslint-disable-next-line no-empty
|
114
|
-
}
|
115
|
-
catch (e) { }
|
116
|
-
}
|
117
|
-
return false;
|
110
|
+
function mapToPeerIdOrMultiaddr(peerId) {
|
111
|
+
return isPeerId(peerId) ? peerId : multiaddr(peerId);
|
118
112
|
}
|
119
113
|
//# sourceMappingURL=waku.js.map
|