@waku/core 0.0.17 → 0.0.19
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 +45 -0
- package/bundle/{browser-2f1afe46.js → browser-bde977a3.js} +12 -9
- package/bundle/index.js +911 -32802
- package/bundle/lib/base_protocol.js +4 -1
- package/bundle/lib/message/version_0.js +2 -3
- package/bundle/{peer_exchange-1229c8b0.js → version_0-9c941081.js} +569 -63
- package/dist/index.d.ts +5 -5
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/lib/base_protocol.js +3 -0
- package/dist/lib/base_protocol.js.map +1 -1
- package/dist/lib/connection_manager.d.ts +1 -0
- package/dist/lib/connection_manager.js +33 -25
- package/dist/lib/connection_manager.js.map +1 -1
- package/dist/lib/filter/{filter_rpc.d.ts → v1/filter_rpc.d.ts} +1 -3
- package/dist/lib/filter/{filter_rpc.js → v1/filter_rpc.js} +1 -0
- package/dist/lib/filter/v1/filter_rpc.js.map +1 -0
- package/dist/lib/filter/{index.d.ts → v1/index.d.ts} +0 -2
- package/dist/lib/filter/{index.js → v1/index.js} +7 -4
- package/dist/lib/filter/v1/index.js.map +1 -0
- package/dist/lib/filter/v2/filter_rpc.d.ts +40 -0
- package/dist/lib/filter/v2/filter_rpc.js +109 -0
- package/dist/lib/filter/v2/filter_rpc.js.map +1 -0
- package/dist/lib/filter/v2/index.d.ts +3 -0
- package/dist/lib/filter/v2/index.js +235 -0
- package/dist/lib/filter/v2/index.js.map +1 -0
- package/dist/lib/keep_alive_manager.d.ts +1 -0
- package/dist/lib/keep_alive_manager.js +5 -1
- package/dist/lib/keep_alive_manager.js.map +1 -1
- package/dist/lib/light_push/index.d.ts +1 -1
- package/dist/lib/light_push/index.js +27 -7
- package/dist/lib/light_push/index.js.map +1 -1
- package/dist/lib/light_push/push_rpc.js +1 -0
- package/dist/lib/light_push/push_rpc.js.map +1 -1
- package/dist/lib/message/index.d.ts +0 -1
- package/dist/lib/message/index.js +0 -1
- package/dist/lib/message/index.js.map +1 -1
- package/dist/lib/message/version_0.d.ts +1 -2
- package/dist/lib/message/version_0.js +6 -0
- package/dist/lib/message/version_0.js.map +1 -1
- package/dist/lib/store/history_rpc.js +1 -0
- package/dist/lib/store/history_rpc.js.map +1 -1
- package/dist/lib/store/index.js +2 -0
- package/dist/lib/store/index.js.map +1 -1
- package/dist/lib/waku.d.ts +5 -5
- package/dist/lib/waku.js +6 -0
- package/dist/lib/waku.js.map +1 -1
- package/package.json +9 -13
- package/src/index.ts +6 -11
- package/src/lib/connection_manager.ts +13 -4
- package/src/lib/filter/{filter_rpc.ts → v1/filter_rpc.ts} +1 -4
- package/src/lib/filter/{index.ts → v1/index.ts} +6 -7
- package/src/lib/filter/v2/filter_rpc.ts +131 -0
- package/src/lib/filter/v2/index.ts +413 -0
- package/src/lib/keep_alive_manager.ts +1 -2
- package/src/lib/light_push/index.ts +26 -9
- package/src/lib/message/index.ts +0 -1
- package/src/lib/message/version_0.ts +1 -1
- package/src/lib/waku.ts +5 -7
- package/bundle/lib/message/topic_only_message.js +0 -3
- package/bundle/topic_only_message-e8406994.js +0 -43
- package/bundle/version_0-5a4becbc.js +0 -149
- package/dist/lib/filter/filter_rpc.js.map +0 -1
- package/dist/lib/filter/index.js.map +0 -1
- package/dist/lib/group_by.d.ts +0 -3
- package/dist/lib/group_by.js +0 -13
- package/dist/lib/group_by.js.map +0 -1
- package/dist/lib/message/topic_only_message.d.ts +0 -18
- package/dist/lib/message/topic_only_message.js +0 -35
- package/dist/lib/message/topic_only_message.js.map +0 -1
- package/dist/lib/relay/constants.d.ts +0 -63
- package/dist/lib/relay/constants.js +0 -64
- package/dist/lib/relay/constants.js.map +0 -1
- package/dist/lib/relay/index.d.ts +0 -11
- package/dist/lib/relay/index.js +0 -181
- package/dist/lib/relay/index.js.map +0 -1
- package/dist/lib/relay/message_validator.d.ts +0 -4
- package/dist/lib/relay/message_validator.js +0 -25
- package/dist/lib/relay/message_validator.js.map +0 -1
- package/src/lib/group_by.ts +0 -14
- package/src/lib/message/topic_only_message.ts +0 -51
- package/src/lib/relay/constants.ts +0 -74
- package/src/lib/relay/index.ts +0 -294
- package/src/lib/relay/message_validator.ts +0 -35
package/dist/index.d.ts
CHANGED
@@ -1,16 +1,16 @@
|
|
1
|
-
export { DefaultPubSubTopic } from "./lib/constants.js";
|
2
1
|
export { DefaultUserAgent } from "./lib/waku.js";
|
2
|
+
export { DefaultPubSubTopic } from "./lib/constants.js";
|
3
3
|
export { createEncoder, createDecoder } from "./lib/message/version_0.js";
|
4
4
|
export type { Encoder, Decoder, DecodedMessage, } from "./lib/message/version_0.js";
|
5
5
|
export * as message from "./lib/message/index.js";
|
6
6
|
export * as waku from "./lib/waku.js";
|
7
7
|
export { WakuNode, WakuOptions } from "./lib/waku.js";
|
8
|
-
export * as
|
9
|
-
export { wakuFilter } from "./lib/filter/index.js";
|
8
|
+
export * as waku_filter_v1 from "./lib/filter/v1/index.js";
|
9
|
+
export { wakuFilter as wakuFilterV1 } from "./lib/filter/v1/index.js";
|
10
|
+
export * as waku_filter_v2 from "./lib/filter/v2/index.js";
|
11
|
+
export { wakuFilterV2 } from "./lib/filter/v2/index.js";
|
10
12
|
export * as waku_light_push from "./lib/light_push/index.js";
|
11
13
|
export { wakuLightPush, LightPushCodec } from "./lib/light_push/index.js";
|
12
|
-
export * as waku_relay 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
@@ -1,15 +1,15 @@
|
|
1
|
-
export { DefaultPubSubTopic } from "./lib/constants.js";
|
2
1
|
export { DefaultUserAgent } from "./lib/waku.js";
|
2
|
+
export { DefaultPubSubTopic } from "./lib/constants.js";
|
3
3
|
export { createEncoder, createDecoder } from "./lib/message/version_0.js";
|
4
4
|
export * as message from "./lib/message/index.js";
|
5
5
|
export * as waku from "./lib/waku.js";
|
6
6
|
export { WakuNode } from "./lib/waku.js";
|
7
|
-
export * as
|
8
|
-
export { wakuFilter } from "./lib/filter/index.js";
|
7
|
+
export * as waku_filter_v1 from "./lib/filter/v1/index.js";
|
8
|
+
export { wakuFilter as wakuFilterV1 } from "./lib/filter/v1/index.js";
|
9
|
+
export * as waku_filter_v2 from "./lib/filter/v2/index.js";
|
10
|
+
export { wakuFilterV2 } from "./lib/filter/v2/index.js";
|
9
11
|
export * as waku_light_push from "./lib/light_push/index.js";
|
10
12
|
export { wakuLightPush, LightPushCodec } from "./lib/light_push/index.js";
|
11
|
-
export * as waku_relay 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,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,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,cAAc,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,UAAU,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,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,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"}
|
@@ -4,6 +4,9 @@ import { getPeersForProtocol, selectConnection, selectPeerForProtocol, } from "@
|
|
4
4
|
* Protocols.
|
5
5
|
*/
|
6
6
|
export class BaseProtocol {
|
7
|
+
multicodec;
|
8
|
+
peerStore;
|
9
|
+
getConnections;
|
7
10
|
constructor(multicodec, peerStore, getConnections) {
|
8
11
|
this.multicodec = multicodec;
|
9
12
|
this.peerStore = peerStore;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"base_protocol.js","sourceRoot":"","sources":["../../src/lib/base_protocol.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,MAAM,OAAO,YAAY;
|
1
|
+
{"version":3,"file":"base_protocol.js","sourceRoot":"","sources":["../../src/lib/base_protocol.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,MAAM,OAAO,YAAY;IAEd;IACA;IACG;IAHZ,YACS,UAAkB,EAClB,SAAoB,EACjB,cAAiD;QAFpD,eAAU,GAAV,UAAU,CAAQ;QAClB,cAAS,GAAT,SAAS,CAAW;QACjB,mBAAc,GAAd,cAAc,CAAmC;IAC1D,CAAC;IAEJ;;;;OAIG;IACH,KAAK,CAAC,KAAK;QACT,OAAO,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAChE,CAAC;IAES,KAAK,CAAC,OAAO,CAAC,MAAe;QACrC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,qBAAqB,CAC1C,IAAI,CAAC,SAAS,EACd,CAAC,IAAI,CAAC,UAAU,CAAC,EACjB,MAAM,CACP,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACS,KAAK,CAAC,SAAS,CAAC,IAAU;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;SAC3D;QAED,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;CACF"}
|
@@ -9,6 +9,7 @@ export declare class ConnectionManager {
|
|
9
9
|
private options;
|
10
10
|
private libp2pComponents;
|
11
11
|
private dialAttemptsForPeer;
|
12
|
+
private dialErrorsForPeer;
|
12
13
|
static create(peerId: string, libp2p: Libp2p, keepAliveOptions: KeepAliveOptions, relay?: IRelay, options?: ConnectionManagerOptions): ConnectionManager;
|
13
14
|
private constructor();
|
14
15
|
private run;
|
@@ -4,7 +4,13 @@ import { KeepAliveManager } from "./keep_alive_manager.js";
|
|
4
4
|
const log = debug("waku:connection-manager");
|
5
5
|
export const DEFAULT_MAX_BOOTSTRAP_PEERS_ALLOWED = 1;
|
6
6
|
export const DEFAULT_MAX_DIAL_ATTEMPTS_FOR_PEER = 3;
|
7
|
-
|
7
|
+
class ConnectionManager {
|
8
|
+
static instances = new Map();
|
9
|
+
keepAliveManager;
|
10
|
+
options;
|
11
|
+
libp2pComponents;
|
12
|
+
dialAttemptsForPeer = new Map();
|
13
|
+
dialErrorsForPeer = new Map();
|
8
14
|
static create(peerId, libp2p, keepAliveOptions, relay, options) {
|
9
15
|
let instance = ConnectionManager.instances.get(peerId);
|
10
16
|
if (!instance) {
|
@@ -14,25 +20,6 @@ export class ConnectionManager {
|
|
14
20
|
return instance;
|
15
21
|
}
|
16
22
|
constructor(libp2pComponents, keepAliveOptions, relay, options) {
|
17
|
-
this.dialAttemptsForPeer = new Map();
|
18
|
-
this.onEventHandlers = {
|
19
|
-
"peer:discovery": async (evt) => {
|
20
|
-
const { id: peerId } = evt.detail;
|
21
|
-
if (!(await this.shouldDialPeer(peerId)))
|
22
|
-
return;
|
23
|
-
this.dialPeer(peerId).catch((err) => log(`Error dialing peer ${peerId.toString()} : ${err}`));
|
24
|
-
},
|
25
|
-
"peer:connect": (evt) => {
|
26
|
-
{
|
27
|
-
this.keepAliveManager.start(evt.detail.remotePeer, this.libp2pComponents.ping.bind(this));
|
28
|
-
}
|
29
|
-
},
|
30
|
-
"peer:disconnect": () => {
|
31
|
-
return (evt) => {
|
32
|
-
this.keepAliveManager.stop(evt.detail.remotePeer);
|
33
|
-
};
|
34
|
-
},
|
35
|
-
};
|
36
23
|
this.libp2pComponents = libp2pComponents;
|
37
24
|
this.options = {
|
38
25
|
maxDialAttemptsForPeer: DEFAULT_MAX_DIAL_ATTEMPTS_FOR_PEER,
|
@@ -71,9 +58,10 @@ export class ConnectionManager {
|
|
71
58
|
this.dialAttemptsForPeer.delete(peerId.toString());
|
72
59
|
return;
|
73
60
|
}
|
74
|
-
catch (
|
75
|
-
|
76
|
-
|
61
|
+
catch (e) {
|
62
|
+
const error = e;
|
63
|
+
this.dialErrorsForPeer.set(peerId.toString(), error);
|
64
|
+
log(`Error dialing peer ${peerId.toString()} - ${error.errors}`);
|
77
65
|
dialAttempt = this.dialAttemptsForPeer.get(peerId.toString()) ?? 1;
|
78
66
|
this.dialAttemptsForPeer.set(peerId.toString(), dialAttempt + 1);
|
79
67
|
if (dialAttempt <= this.options.maxDialAttemptsForPeer) {
|
@@ -82,7 +70,9 @@ export class ConnectionManager {
|
|
82
70
|
}
|
83
71
|
}
|
84
72
|
try {
|
85
|
-
log(`Deleting undialable peer ${peerId.toString()} from peer store
|
73
|
+
log(`Deleting undialable peer ${peerId.toString()} from peer store. Error: ${JSON.stringify(this.dialErrorsForPeer.get(peerId.toString()).errors[0])}
|
74
|
+
}`);
|
75
|
+
this.dialErrorsForPeer.delete(peerId.toString());
|
86
76
|
return await this.libp2pComponents.peerStore.delete(peerId);
|
87
77
|
}
|
88
78
|
catch (error) {
|
@@ -110,6 +100,24 @@ export class ConnectionManager {
|
|
110
100
|
*/
|
111
101
|
this.libp2pComponents.addEventListener("peer:disconnect", this.onEventHandlers["peer:disconnect"]);
|
112
102
|
}
|
103
|
+
onEventHandlers = {
|
104
|
+
"peer:discovery": async (evt) => {
|
105
|
+
const { id: peerId } = evt.detail;
|
106
|
+
if (!(await this.shouldDialPeer(peerId)))
|
107
|
+
return;
|
108
|
+
this.dialPeer(peerId).catch((err) => log(`Error dialing peer ${peerId.toString()} : ${err}`));
|
109
|
+
},
|
110
|
+
"peer:connect": (evt) => {
|
111
|
+
{
|
112
|
+
this.keepAliveManager.start(evt.detail.remotePeer, this.libp2pComponents.ping.bind(this));
|
113
|
+
}
|
114
|
+
},
|
115
|
+
"peer:disconnect": () => {
|
116
|
+
return (evt) => {
|
117
|
+
this.keepAliveManager.stop(evt.detail.remotePeer);
|
118
|
+
};
|
119
|
+
},
|
120
|
+
};
|
113
121
|
/**
|
114
122
|
* Checks if the peer is dialable based on the following conditions:
|
115
123
|
* 1. If the peer is a bootstrap peer, it is only dialable if the number of current bootstrap connections is less than the max allowed.
|
@@ -142,5 +150,5 @@ export class ConnectionManager {
|
|
142
150
|
return tags;
|
143
151
|
}
|
144
152
|
}
|
145
|
-
|
153
|
+
export { ConnectionManager };
|
146
154
|
//# sourceMappingURL=connection_manager.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"connection_manager.js","sourceRoot":"","sources":["../../src/lib/connection_manager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAoB,MAAM,yBAAyB,CAAC;AAE7E,MAAM,GAAG,GAAG,KAAK,CAAC,yBAAyB,CAAC,CAAC;AAE7C,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC;AAEpD,MAAM,OAAO,iBAAiB;
|
1
|
+
{"version":3,"file":"connection_manager.js","sourceRoot":"","sources":["../../src/lib/connection_manager.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"filter_rpc.js","sourceRoot":"","sources":["../../../../src/lib/filter/v1/filter_rpc.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,IAAI,KAAK,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAElC;;GAEG;AACH,MAAM,OAAO,SAAS;IACM;IAA1B,YAA0B,KAAsB;QAAtB,UAAK,GAAL,KAAK,CAAiB;IAAG,CAAC;IAEpD,MAAM,CAAC,aAAa,CAClB,KAAa,EACb,cAA+B,EAC/B,SAAkB,EAClB,SAAS,GAAG,IAAI;QAEhB,OAAO,IAAI,SAAS,CAAC;YACnB,SAAS,EAAE,SAAS,IAAI,IAAI,EAAE;YAC9B,OAAO,EAAE;gBACP,SAAS;gBACT,KAAK;gBACL,cAAc;aACf;YACD,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,KAAiB;QAC7B,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1C,OAAO,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IAC9B,CAAC;CACF"}
|
@@ -1,7 +1,5 @@
|
|
1
1
|
import type { Libp2p } from "@libp2p/interface-libp2p";
|
2
2
|
import type { IFilter, ProtocolCreateOptions } from "@waku/interfaces";
|
3
|
-
import { ContentFilter } from "./filter_rpc.js";
|
4
|
-
export { ContentFilter };
|
5
3
|
export declare const FilterCodec = "/vac/waku/filter/2.0.0-beta1";
|
6
4
|
export type UnsubscribeFunction = () => Promise<void>;
|
7
5
|
export type RequestID = string;
|
@@ -1,12 +1,12 @@
|
|
1
|
+
import { groupByContentTopic } from "@waku/utils";
|
1
2
|
import { toAsyncIterator } from "@waku/utils";
|
2
3
|
import debug from "debug";
|
3
4
|
import all from "it-all";
|
4
5
|
import * as lp from "it-length-prefixed";
|
5
6
|
import { pipe } from "it-pipe";
|
6
|
-
import { BaseProtocol } from "
|
7
|
-
import { DefaultPubSubTopic } from "
|
8
|
-
import {
|
9
|
-
import { toProtoMessage } from "../to_proto_message.js";
|
7
|
+
import { BaseProtocol } from "../../base_protocol.js";
|
8
|
+
import { DefaultPubSubTopic } from "../../constants.js";
|
9
|
+
import { toProtoMessage } from "../../to_proto_message.js";
|
10
10
|
import { FilterRpc } from "./filter_rpc.js";
|
11
11
|
export const FilterCodec = "/vac/waku/filter/2.0.0-beta1";
|
12
12
|
const log = debug("waku:filter");
|
@@ -18,6 +18,9 @@ const log = debug("waku:filter");
|
|
18
18
|
* - https://github.com/status-im/nwaku/issues/948
|
19
19
|
*/
|
20
20
|
class Filter extends BaseProtocol {
|
21
|
+
libp2p;
|
22
|
+
options;
|
23
|
+
subscriptions;
|
21
24
|
constructor(libp2p, options) {
|
22
25
|
super(FilterCodec, libp2p.peerStore, libp2p.getConnections.bind(libp2p));
|
23
26
|
this.libp2p = libp2p;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/filter/v1/index.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import { proto_filter_v2 as proto, WakuMessage } from "@waku/proto";
|
2
|
+
/**
|
3
|
+
* FilterPushRPC represents a message conforming to the Waku FilterPush protocol.
|
4
|
+
* Protocol documentation: https://rfc.vac.dev/spec/12/
|
5
|
+
*/
|
6
|
+
export declare class FilterPushRpc {
|
7
|
+
proto: proto.MessagePush;
|
8
|
+
constructor(proto: proto.MessagePush);
|
9
|
+
static decode(bytes: Uint8Array): FilterPushRpc;
|
10
|
+
encode(): Uint8Array;
|
11
|
+
get wakuMessage(): WakuMessage | undefined;
|
12
|
+
/**
|
13
|
+
* Get the pubsub topic from the FilterPushRpc object.
|
14
|
+
* @returns string
|
15
|
+
*/
|
16
|
+
get pubsubTopic(): string | undefined;
|
17
|
+
}
|
18
|
+
export declare class FilterSubscribeRpc {
|
19
|
+
proto: proto.FilterSubscribeRequest;
|
20
|
+
constructor(proto: proto.FilterSubscribeRequest);
|
21
|
+
static createSubscribeRequest(pubsubTopic: string, contentTopics: string[]): FilterSubscribeRpc;
|
22
|
+
static createUnsubscribeRequest(pubsubTopic: string, contentTopics: string[]): FilterSubscribeRpc;
|
23
|
+
static createUnsubscribeAllRequest(pubsubTopic: string): FilterSubscribeRpc;
|
24
|
+
static createSubscriberPingRequest(): FilterSubscribeRpc;
|
25
|
+
static decode(bytes: Uint8Array): FilterSubscribeRpc;
|
26
|
+
encode(): Uint8Array;
|
27
|
+
get filterSubscribeType(): proto.FilterSubscribeRequest.FilterSubscribeType;
|
28
|
+
get requestId(): string;
|
29
|
+
get pubsubTopic(): string | undefined;
|
30
|
+
get contentTopics(): string[];
|
31
|
+
}
|
32
|
+
export declare class FilterSubscribeResponse {
|
33
|
+
proto: proto.FilterSubscribeResponse;
|
34
|
+
constructor(proto: proto.FilterSubscribeResponse);
|
35
|
+
static decode(bytes: Uint8Array): FilterSubscribeResponse;
|
36
|
+
encode(): Uint8Array;
|
37
|
+
get statusCode(): number;
|
38
|
+
get statusDesc(): string | undefined;
|
39
|
+
get requestId(): string;
|
40
|
+
}
|
@@ -0,0 +1,109 @@
|
|
1
|
+
import { proto_filter_v2 as proto } from "@waku/proto";
|
2
|
+
import { v4 as uuid } from "uuid";
|
3
|
+
/**
|
4
|
+
* FilterPushRPC represents a message conforming to the Waku FilterPush protocol.
|
5
|
+
* Protocol documentation: https://rfc.vac.dev/spec/12/
|
6
|
+
*/
|
7
|
+
export class FilterPushRpc {
|
8
|
+
proto;
|
9
|
+
constructor(proto) {
|
10
|
+
this.proto = proto;
|
11
|
+
}
|
12
|
+
static decode(bytes) {
|
13
|
+
const res = proto.MessagePush.decode(bytes);
|
14
|
+
return new FilterPushRpc(res);
|
15
|
+
}
|
16
|
+
encode() {
|
17
|
+
return proto.MessagePush.encode(this.proto);
|
18
|
+
}
|
19
|
+
get wakuMessage() {
|
20
|
+
return this.proto.wakuMessage;
|
21
|
+
}
|
22
|
+
/**
|
23
|
+
* Get the pubsub topic from the FilterPushRpc object.
|
24
|
+
* @returns string
|
25
|
+
*/
|
26
|
+
get pubsubTopic() {
|
27
|
+
return this.proto.pubsubTopic;
|
28
|
+
}
|
29
|
+
}
|
30
|
+
export class FilterSubscribeRpc {
|
31
|
+
proto;
|
32
|
+
constructor(proto) {
|
33
|
+
this.proto = proto;
|
34
|
+
}
|
35
|
+
static createSubscribeRequest(pubsubTopic, contentTopics) {
|
36
|
+
return new FilterSubscribeRpc({
|
37
|
+
requestId: uuid(),
|
38
|
+
filterSubscribeType: proto.FilterSubscribeRequest.FilterSubscribeType.SUBSCRIBE,
|
39
|
+
pubsubTopic,
|
40
|
+
contentTopics,
|
41
|
+
});
|
42
|
+
}
|
43
|
+
static createUnsubscribeRequest(pubsubTopic, contentTopics) {
|
44
|
+
return new FilterSubscribeRpc({
|
45
|
+
requestId: uuid(),
|
46
|
+
filterSubscribeType: proto.FilterSubscribeRequest.FilterSubscribeType.UNSUBSCRIBE,
|
47
|
+
pubsubTopic,
|
48
|
+
contentTopics,
|
49
|
+
});
|
50
|
+
}
|
51
|
+
static createUnsubscribeAllRequest(pubsubTopic) {
|
52
|
+
return new FilterSubscribeRpc({
|
53
|
+
requestId: uuid(),
|
54
|
+
filterSubscribeType: proto.FilterSubscribeRequest.FilterSubscribeType.UNSUBSCRIBE_ALL,
|
55
|
+
pubsubTopic,
|
56
|
+
contentTopics: [],
|
57
|
+
});
|
58
|
+
}
|
59
|
+
static createSubscriberPingRequest() {
|
60
|
+
return new FilterSubscribeRpc({
|
61
|
+
requestId: uuid(),
|
62
|
+
filterSubscribeType: proto.FilterSubscribeRequest.FilterSubscribeType.SUBSCRIBER_PING,
|
63
|
+
pubsubTopic: "",
|
64
|
+
contentTopics: [],
|
65
|
+
});
|
66
|
+
}
|
67
|
+
static decode(bytes) {
|
68
|
+
const res = proto.FilterSubscribeRequest.decode(bytes);
|
69
|
+
return new FilterSubscribeRpc(res);
|
70
|
+
}
|
71
|
+
encode() {
|
72
|
+
return proto.FilterSubscribeRequest.encode(this.proto);
|
73
|
+
}
|
74
|
+
get filterSubscribeType() {
|
75
|
+
return this.proto.filterSubscribeType;
|
76
|
+
}
|
77
|
+
get requestId() {
|
78
|
+
return this.proto.requestId;
|
79
|
+
}
|
80
|
+
get pubsubTopic() {
|
81
|
+
return this.proto.pubsubTopic;
|
82
|
+
}
|
83
|
+
get contentTopics() {
|
84
|
+
return this.proto.contentTopics;
|
85
|
+
}
|
86
|
+
}
|
87
|
+
export class FilterSubscribeResponse {
|
88
|
+
proto;
|
89
|
+
constructor(proto) {
|
90
|
+
this.proto = proto;
|
91
|
+
}
|
92
|
+
static decode(bytes) {
|
93
|
+
const res = proto.FilterSubscribeResponse.decode(bytes);
|
94
|
+
return new FilterSubscribeResponse(res);
|
95
|
+
}
|
96
|
+
encode() {
|
97
|
+
return proto.FilterSubscribeResponse.encode(this.proto);
|
98
|
+
}
|
99
|
+
get statusCode() {
|
100
|
+
return this.proto.statusCode;
|
101
|
+
}
|
102
|
+
get statusDesc() {
|
103
|
+
return this.proto.statusDesc;
|
104
|
+
}
|
105
|
+
get requestId() {
|
106
|
+
return this.proto.requestId;
|
107
|
+
}
|
108
|
+
}
|
109
|
+
//# sourceMappingURL=filter_rpc.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"filter_rpc.js","sourceRoot":"","sources":["../../../../src/lib/filter/v2/filter_rpc.ts"],"names":[],"mappings":"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"}
|