@waku/core 0.0.20 → 0.0.22
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 +48 -0
- package/bundle/index.js +290 -335
- package/bundle/lib/base_protocol.js +11 -6
- package/bundle/lib/message/version_0.js +1 -1
- package/bundle/lib/predefined_bootstrap_nodes.js +6 -6
- package/bundle/{version_0-9c941081.js → version_0-86411fdf.js} +3 -3
- package/dist/index.d.ts +3 -5
- package/dist/index.js +3 -5
- package/dist/index.js.map +1 -1
- package/dist/lib/base_protocol.d.ts +9 -5
- package/dist/lib/base_protocol.js +11 -6
- package/dist/lib/base_protocol.js.map +1 -1
- package/dist/lib/connection_manager.d.ts +7 -7
- package/dist/lib/connection_manager.js +152 -66
- package/dist/lib/connection_manager.js.map +1 -1
- package/dist/lib/filter/filter_rpc.js.map +1 -0
- package/dist/lib/filter/index.d.ts +2 -0
- package/dist/lib/filter/{v2/index.js → index.js} +20 -32
- package/dist/lib/filter/index.js.map +1 -0
- package/dist/lib/keep_alive_manager.d.ts +3 -6
- package/dist/lib/keep_alive_manager.js +1 -1
- package/dist/lib/keep_alive_manager.js.map +1 -1
- package/dist/lib/light_push/index.d.ts +1 -2
- package/dist/lib/light_push/index.js +1 -3
- package/dist/lib/light_push/index.js.map +1 -1
- package/dist/lib/predefined_bootstrap_nodes.js +6 -6
- package/dist/lib/predefined_bootstrap_nodes.js.map +1 -1
- package/dist/lib/store/index.d.ts +1 -2
- package/dist/lib/store/index.js +1 -3
- package/dist/lib/store/index.js.map +1 -1
- package/dist/lib/wait_for_remote_peer.js +3 -3
- package/dist/lib/wait_for_remote_peer.js.map +1 -1
- package/dist/lib/waku.d.ts +3 -4
- package/dist/lib/waku.js.map +1 -1
- package/package.json +10 -18
- package/src/index.ts +3 -9
- package/src/lib/base_protocol.ts +23 -9
- package/src/lib/connection_manager.ts +210 -98
- package/src/lib/filter/{v2/index.ts → index.ts} +27 -40
- package/src/lib/keep_alive_manager.ts +4 -8
- package/src/lib/light_push/index.ts +3 -3
- package/src/lib/predefined_bootstrap_nodes.ts +6 -6
- package/src/lib/store/index.ts +3 -3
- package/src/lib/wait_for_remote_peer.ts +7 -9
- package/src/lib/waku.ts +3 -4
- package/dist/lib/filter/v1/filter_rpc.d.ts +0 -23
- package/dist/lib/filter/v1/filter_rpc.js +0 -45
- package/dist/lib/filter/v1/filter_rpc.js.map +0 -1
- package/dist/lib/filter/v1/index.d.ts +0 -6
- package/dist/lib/filter/v1/index.js +0 -153
- package/dist/lib/filter/v1/index.js.map +0 -1
- package/dist/lib/filter/v2/filter_rpc.js.map +0 -1
- package/dist/lib/filter/v2/index.d.ts +0 -3
- package/dist/lib/filter/v2/index.js.map +0 -1
- package/src/lib/filter/v1/filter_rpc.ts +0 -53
- package/src/lib/filter/v1/index.ts +0 -248
- /package/dist/lib/filter/{v2/filter_rpc.d.ts → filter_rpc.d.ts} +0 -0
- /package/dist/lib/filter/{v2/filter_rpc.js → filter_rpc.js} +0 -0
- /package/src/lib/filter/{v2/filter_rpc.ts → filter_rpc.ts} +0 -0
@@ -79,12 +79,17 @@ function selectConnection(connections) {
|
|
79
79
|
*/
|
80
80
|
class BaseProtocol {
|
81
81
|
multicodec;
|
82
|
-
|
83
|
-
|
84
|
-
|
82
|
+
components;
|
83
|
+
addLibp2pEventListener;
|
84
|
+
removeLibp2pEventListener;
|
85
|
+
constructor(multicodec, components) {
|
85
86
|
this.multicodec = multicodec;
|
86
|
-
this.
|
87
|
-
this.
|
87
|
+
this.components = components;
|
88
|
+
this.addLibp2pEventListener = components.events.addEventListener.bind(components.events);
|
89
|
+
this.removeLibp2pEventListener = components.events.removeEventListener.bind(components.events);
|
90
|
+
}
|
91
|
+
get peerStore() {
|
92
|
+
return this.components.peerStore;
|
88
93
|
}
|
89
94
|
/**
|
90
95
|
* Returns known peers from the address book (`libp2p.peerStore`) that support
|
@@ -99,7 +104,7 @@ class BaseProtocol {
|
|
99
104
|
return peer;
|
100
105
|
}
|
101
106
|
async newStream(peer) {
|
102
|
-
const connections = this.getConnections(peer.id);
|
107
|
+
const connections = this.components.connectionManager.getConnections(peer.id);
|
103
108
|
const connection = selectConnection(connections);
|
104
109
|
if (!connection) {
|
105
110
|
throw new Error("Failed to get a connection to the peer");
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export { D as DecodedMessage,
|
1
|
+
export { D as DecodedMessage, g as Decoder, E as Encoder, V as Version, f as createDecoder, c as createEncoder, m as proto } from '../../version_0-86411fdf.js';
|
2
2
|
import '../../browser-bde977a3.js';
|
@@ -61,16 +61,16 @@ const fleets = {
|
|
61
61
|
fleets: {
|
62
62
|
"wakuv2.prod": {
|
63
63
|
"waku-websocket": {
|
64
|
-
"node-01.ac-cn-hongkong-c.wakuv2.prod": "/dns4/node-01.ac-cn-hongkong-c.wakuv2.prod.statusim.net/tcp/
|
65
|
-
"node-01.do-ams3.wakuv2.prod": "/dns4/node-01.do-ams3.wakuv2.prod.statusim.net/tcp/
|
66
|
-
"node-01.gc-us-central1-a.wakuv2.prod": "/dns4/node-01.gc-us-central1-a.wakuv2.prod.statusim.net/tcp/
|
64
|
+
"node-01.ac-cn-hongkong-c.wakuv2.prod": "/dns4/node-01.ac-cn-hongkong-c.wakuv2.prod.statusim.net/tcp/8000/wss/p2p/16Uiu2HAm4v86W3bmT1BiH6oSPzcsSr24iDQpSN5Qa992BCjjwgrD",
|
65
|
+
"node-01.do-ams3.wakuv2.prod": "/dns4/node-01.do-ams3.wakuv2.prod.statusim.net/tcp/8000/wss/p2p/16Uiu2HAmL5okWopX7NqZWBUKVqW8iUxCEmd5GMHLVPwCgzYzQv3e",
|
66
|
+
"node-01.gc-us-central1-a.wakuv2.prod": "/dns4/node-01.gc-us-central1-a.wakuv2.prod.statusim.net/tcp/8000/wss/p2p/16Uiu2HAmVkKntsECaYfefR1V2yCR79CegLATuTPE6B9TxgxBiiiA",
|
67
67
|
},
|
68
68
|
},
|
69
69
|
"wakuv2.test": {
|
70
70
|
"waku-websocket": {
|
71
|
-
"node-01.ac-cn-hongkong-c.wakuv2.test": "/dns4/node-01.ac-cn-hongkong-c.wakuv2.test.statusim.net/tcp/
|
72
|
-
"node-01.do-ams3.wakuv2.test": "/dns4/node-01.do-ams3.wakuv2.test.statusim.net/tcp/
|
73
|
-
"node-01.gc-us-central1-a.wakuv2.test": "/dns4/node-01.gc-us-central1-a.wakuv2.test.statusim.net/tcp/
|
71
|
+
"node-01.ac-cn-hongkong-c.wakuv2.test": "/dns4/node-01.ac-cn-hongkong-c.wakuv2.test.statusim.net/tcp/8000/wss/p2p/16Uiu2HAkvWiyFsgRhuJEb9JfjYxEkoHLgnUQmr1N5mKWnYjxYRVm",
|
72
|
+
"node-01.do-ams3.wakuv2.test": "/dns4/node-01.do-ams3.wakuv2.test.statusim.net/tcp/8000/wss/p2p/16Uiu2HAmPLe7Mzm8TsYUubgCAW1aJoeFScxrLj8ppHFivPo97bUZ",
|
73
|
+
"node-01.gc-us-central1-a.wakuv2.test": "/dns4/node-01.gc-us-central1-a.wakuv2.test.statusim.net/tcp/8000/wss/p2p/16Uiu2HAmJb2e28qLXxT5kZxVUUoJt72EMzNGXB47Rxx5hw3q4YjS",
|
74
74
|
},
|
75
75
|
},
|
76
76
|
},
|
@@ -2898,7 +2898,7 @@ var MessagePush$1;
|
|
2898
2898
|
return decodeMessage(buf, MessagePush.codec());
|
2899
2899
|
};
|
2900
2900
|
})(MessagePush$1 || (MessagePush$1 = {}));
|
2901
|
-
var FilterRpc
|
2901
|
+
var FilterRpc;
|
2902
2902
|
(function (FilterRpc) {
|
2903
2903
|
let _codec;
|
2904
2904
|
FilterRpc.codec = () => {
|
@@ -2955,7 +2955,7 @@ var FilterRpc$1;
|
|
2955
2955
|
FilterRpc.decode = (buf) => {
|
2956
2956
|
return decodeMessage(buf, FilterRpc.codec());
|
2957
2957
|
};
|
2958
|
-
})(FilterRpc
|
2958
|
+
})(FilterRpc || (FilterRpc = {}));
|
2959
2959
|
var RateLimitProof$3;
|
2960
2960
|
(function (RateLimitProof) {
|
2961
2961
|
let _codec;
|
@@ -4805,4 +4805,4 @@ var version_0 = /*#__PURE__*/Object.freeze({
|
|
4805
4805
|
proto: message
|
4806
4806
|
});
|
4807
4807
|
|
4808
|
-
export { DecodedMessage as D, Encoder as E,
|
4808
|
+
export { DecodedMessage as D, Encoder as E, FilterSubscribeRequest as F, HistoryRpc$1 as H, MessagePush as M, PushRpc$1 as P, Version as V, FilterSubscribeResponse$1 as a, PushResponse as b, createEncoder as c, PagingInfo as d, HistoryResponse as e, createDecoder as f, Decoder as g, message as m, version_0 as v };
|
package/dist/index.d.ts
CHANGED
@@ -5,14 +5,12 @@ export type { Encoder, Decoder, DecodedMessage, } from "./lib/message/version_0.
|
|
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
|
10
|
-
export * as waku_filter_v2 from "./lib/filter/v2/index.js";
|
11
|
-
export { wakuFilterV2 } from "./lib/filter/v2/index.js";
|
8
|
+
export * as waku_filter from "./lib/filter/index.js";
|
9
|
+
export { wakuFilter } from "./lib/filter/index.js";
|
12
10
|
export * as waku_light_push from "./lib/light_push/index.js";
|
13
11
|
export { wakuLightPush, LightPushCodec } from "./lib/light_push/index.js";
|
14
12
|
export * as waku_store from "./lib/store/index.js";
|
15
13
|
export { PageDirection, wakuStore, StoreCodec, createCursor, } from "./lib/store/index.js";
|
16
14
|
export { waitForRemotePeer } from "./lib/wait_for_remote_peer.js";
|
17
15
|
export { ConnectionManager } from "./lib/connection_manager.js";
|
18
|
-
export { KeepAliveManager
|
16
|
+
export { KeepAliveManager } from "./lib/keep_alive_manager.js";
|
package/dist/index.js
CHANGED
@@ -4,15 +4,13 @@ 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
|
9
|
-
export * as waku_filter_v2 from "./lib/filter/v2/index.js";
|
10
|
-
export { wakuFilterV2 } from "./lib/filter/v2/index.js";
|
7
|
+
export * as waku_filter from "./lib/filter/index.js";
|
8
|
+
export { wakuFilter } from "./lib/filter/index.js";
|
11
9
|
export * as waku_light_push from "./lib/light_push/index.js";
|
12
10
|
export { wakuLightPush, LightPushCodec } from "./lib/light_push/index.js";
|
13
11
|
export * as waku_store from "./lib/store/index.js";
|
14
12
|
export { PageDirection, wakuStore, StoreCodec, createCursor, } from "./lib/store/index.js";
|
15
13
|
export { waitForRemotePeer } from "./lib/wait_for_remote_peer.js";
|
16
14
|
export { ConnectionManager } from "./lib/connection_manager.js";
|
17
|
-
export { KeepAliveManager
|
15
|
+
export { KeepAliveManager } from "./lib/keep_alive_manager.js";
|
18
16
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
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,
|
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,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,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,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC"}
|
@@ -1,15 +1,19 @@
|
|
1
|
-
import type {
|
1
|
+
import type { Stream } from "@libp2p/interface-connection";
|
2
|
+
import type { Libp2p } from "@libp2p/interface-libp2p";
|
2
3
|
import type { PeerId } from "@libp2p/interface-peer-id";
|
3
4
|
import { Peer, PeerStore } from "@libp2p/interface-peer-store";
|
5
|
+
import type { IBaseProtocol, Libp2pComponents } from "@waku/interfaces";
|
4
6
|
/**
|
5
7
|
* A class with predefined helpers, to be used as a base to implement Waku
|
6
8
|
* Protocols.
|
7
9
|
*/
|
8
|
-
export declare class BaseProtocol {
|
10
|
+
export declare class BaseProtocol implements IBaseProtocol {
|
9
11
|
multicodec: string;
|
10
|
-
|
11
|
-
|
12
|
-
|
12
|
+
private components;
|
13
|
+
readonly addLibp2pEventListener: Libp2p["addEventListener"];
|
14
|
+
readonly removeLibp2pEventListener: Libp2p["removeEventListener"];
|
15
|
+
constructor(multicodec: string, components: Libp2pComponents);
|
16
|
+
get peerStore(): PeerStore;
|
13
17
|
/**
|
14
18
|
* Returns known peers from the address book (`libp2p.peerStore`) that support
|
15
19
|
* the class protocol. Waku may or may not be currently connected to these
|
@@ -5,12 +5,17 @@ import { getPeersForProtocol, selectConnection, selectPeerForProtocol, } from "@
|
|
5
5
|
*/
|
6
6
|
export class BaseProtocol {
|
7
7
|
multicodec;
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
components;
|
9
|
+
addLibp2pEventListener;
|
10
|
+
removeLibp2pEventListener;
|
11
|
+
constructor(multicodec, components) {
|
11
12
|
this.multicodec = multicodec;
|
12
|
-
this.
|
13
|
-
this.
|
13
|
+
this.components = components;
|
14
|
+
this.addLibp2pEventListener = components.events.addEventListener.bind(components.events);
|
15
|
+
this.removeLibp2pEventListener = components.events.removeEventListener.bind(components.events);
|
16
|
+
}
|
17
|
+
get peerStore() {
|
18
|
+
return this.components.peerStore;
|
14
19
|
}
|
15
20
|
/**
|
16
21
|
* Returns known peers from the address book (`libp2p.peerStore`) that support
|
@@ -25,7 +30,7 @@ export class BaseProtocol {
|
|
25
30
|
return peer;
|
26
31
|
}
|
27
32
|
async newStream(peer) {
|
28
|
-
const connections = this.getConnections(peer.id);
|
33
|
+
const connections = this.components.connectionManager.getConnections(peer.id);
|
29
34
|
const connection = selectConnection(connections);
|
30
35
|
if (!connection) {
|
31
36
|
throw new Error("Failed to get a connection to the peer");
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"base_protocol.js","sourceRoot":"","sources":["../../src/lib/base_protocol.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"base_protocol.js","sourceRoot":"","sources":["../../src/lib/base_protocol.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,MAAM,OAAO,YAAY;IAIJ;IAA4B;IAH/B,sBAAsB,CAA6B;IACnD,yBAAyB,CAAgC;IAEzE,YAAmB,UAAkB,EAAU,UAA4B;QAAxD,eAAU,GAAV,UAAU,CAAQ;QAAU,eAAU,GAAV,UAAU,CAAkB;QACzE,IAAI,CAAC,sBAAsB,GAAG,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CACnE,UAAU,CAAC,MAAM,CAClB,CAAC;QACF,IAAI,CAAC,yBAAyB,GAAG,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CACzE,UAAU,CAAC,MAAM,CAClB,CAAC;IACJ,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,KAAK;QAChB,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,UAAU,CAAC,iBAAiB,CAAC,cAAc,CAClE,IAAI,CAAC,EAAE,CACR,CAAC;QACF,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"}
|
@@ -1,26 +1,26 @@
|
|
1
|
-
import
|
2
|
-
import
|
3
|
-
import
|
4
|
-
import { KeepAliveOptions } from "./keep_alive_manager.js";
|
1
|
+
import { EventEmitter } from "@libp2p/interfaces/events";
|
2
|
+
import { ConnectionManagerOptions, IConnectionManager, IPeersByDiscoveryEvents, IRelay, KeepAliveOptions, PeersByDiscoveryResult } from "@waku/interfaces";
|
3
|
+
import { Libp2p } from "@waku/interfaces";
|
5
4
|
export declare const DEFAULT_MAX_BOOTSTRAP_PEERS_ALLOWED = 1;
|
6
5
|
export declare const DEFAULT_MAX_DIAL_ATTEMPTS_FOR_PEER = 3;
|
7
6
|
export declare const DEFAULT_MAX_PARALLEL_DIALS = 3;
|
8
|
-
export declare class ConnectionManager {
|
7
|
+
export declare class ConnectionManager extends EventEmitter<IPeersByDiscoveryEvents> implements IConnectionManager {
|
9
8
|
private static instances;
|
10
9
|
private keepAliveManager;
|
11
10
|
private options;
|
12
|
-
private
|
11
|
+
private libp2p;
|
13
12
|
private dialAttemptsForPeer;
|
14
13
|
private dialErrorsForPeer;
|
15
14
|
private currentActiveDialCount;
|
16
15
|
private pendingPeerDialQueue;
|
17
16
|
static create(peerId: string, libp2p: Libp2p, keepAliveOptions: KeepAliveOptions, relay?: IRelay, options?: ConnectionManagerOptions): ConnectionManager;
|
17
|
+
getPeersByDiscovery(): Promise<PeersByDiscoveryResult>;
|
18
18
|
private constructor();
|
19
19
|
private dialPeerStorePeers;
|
20
20
|
private run;
|
21
21
|
stop(): void;
|
22
22
|
private dialPeer;
|
23
|
-
dropConnection
|
23
|
+
private dropConnection;
|
24
24
|
private processDialQueue;
|
25
25
|
private startPeerDiscoveryListener;
|
26
26
|
private startPeerConnectionListener;
|
@@ -1,3 +1,5 @@
|
|
1
|
+
import { CustomEvent, EventEmitter } from "@libp2p/interfaces/events";
|
2
|
+
import { EPeersByDiscoveryEvents, } from "@waku/interfaces";
|
1
3
|
import { Tags } from "@waku/interfaces";
|
2
4
|
import debug from "debug";
|
3
5
|
import { KeepAliveManager } from "./keep_alive_manager.js";
|
@@ -5,11 +7,11 @@ const log = debug("waku:connection-manager");
|
|
5
7
|
export const DEFAULT_MAX_BOOTSTRAP_PEERS_ALLOWED = 1;
|
6
8
|
export const DEFAULT_MAX_DIAL_ATTEMPTS_FOR_PEER = 3;
|
7
9
|
export const DEFAULT_MAX_PARALLEL_DIALS = 3;
|
8
|
-
class ConnectionManager {
|
10
|
+
class ConnectionManager extends EventEmitter {
|
9
11
|
static instances = new Map();
|
10
12
|
keepAliveManager;
|
11
13
|
options;
|
12
|
-
|
14
|
+
libp2p;
|
13
15
|
dialAttemptsForPeer = new Map();
|
14
16
|
dialErrorsForPeer = new Map();
|
15
17
|
currentActiveDialCount = 0;
|
@@ -22,8 +24,48 @@ class ConnectionManager {
|
|
22
24
|
}
|
23
25
|
return instance;
|
24
26
|
}
|
25
|
-
|
26
|
-
|
27
|
+
async getPeersByDiscovery() {
|
28
|
+
const peersDiscovered = await this.libp2p.peerStore.all();
|
29
|
+
const peersConnected = this.libp2p
|
30
|
+
.getConnections()
|
31
|
+
.map((conn) => conn.remotePeer);
|
32
|
+
const peersDiscoveredByBootstrap = [];
|
33
|
+
const peersDiscoveredByPeerExchange = [];
|
34
|
+
const peersConnectedByBootstrap = [];
|
35
|
+
const peersConnectedByPeerExchange = [];
|
36
|
+
for (const peer of peersDiscovered) {
|
37
|
+
const tags = await this.getTagNamesForPeer(peer.id);
|
38
|
+
if (tags.includes(Tags.BOOTSTRAP)) {
|
39
|
+
peersDiscoveredByBootstrap.push(peer);
|
40
|
+
}
|
41
|
+
else if (tags.includes(Tags.PEER_EXCHANGE)) {
|
42
|
+
peersDiscoveredByPeerExchange.push(peer);
|
43
|
+
}
|
44
|
+
}
|
45
|
+
for (const peerId of peersConnected) {
|
46
|
+
const peer = await this.libp2p.peerStore.get(peerId);
|
47
|
+
const tags = await this.getTagNamesForPeer(peerId);
|
48
|
+
if (tags.includes(Tags.BOOTSTRAP)) {
|
49
|
+
peersConnectedByBootstrap.push(peer);
|
50
|
+
}
|
51
|
+
else if (tags.includes(Tags.PEER_EXCHANGE)) {
|
52
|
+
peersConnectedByPeerExchange.push(peer);
|
53
|
+
}
|
54
|
+
}
|
55
|
+
return {
|
56
|
+
DISCOVERED: {
|
57
|
+
[Tags.BOOTSTRAP]: peersDiscoveredByBootstrap,
|
58
|
+
[Tags.PEER_EXCHANGE]: peersDiscoveredByPeerExchange,
|
59
|
+
},
|
60
|
+
CONNECTED: {
|
61
|
+
[Tags.BOOTSTRAP]: peersConnectedByBootstrap,
|
62
|
+
[Tags.PEER_EXCHANGE]: peersConnectedByPeerExchange,
|
63
|
+
},
|
64
|
+
};
|
65
|
+
}
|
66
|
+
constructor(libp2p, keepAliveOptions, relay, options) {
|
67
|
+
super();
|
68
|
+
this.libp2p = libp2p;
|
27
69
|
this.options = {
|
28
70
|
maxDialAttemptsForPeer: DEFAULT_MAX_DIAL_ATTEMPTS_FOR_PEER,
|
29
71
|
maxBootstrapPeersAllowed: DEFAULT_MAX_BOOTSTRAP_PEERS_ALLOWED,
|
@@ -37,15 +79,13 @@ class ConnectionManager {
|
|
37
79
|
// libp2p emits `peer:discovery` events during its initialization
|
38
80
|
// which means that before the ConnectionManager is initialized, some peers may have been discovered
|
39
81
|
// we will dial the peers in peerStore ONCE before we start to listen to the `peer:discovery` events within the ConnectionManager
|
40
|
-
this.dialPeerStorePeers();
|
82
|
+
this.dialPeerStorePeers().catch((error) => log(`Unexpected error while dialing peer store peers`, error));
|
41
83
|
}
|
42
84
|
async dialPeerStorePeers() {
|
43
|
-
const peerInfos = await this.
|
85
|
+
const peerInfos = await this.libp2p.peerStore.all();
|
44
86
|
const dialPromises = [];
|
45
87
|
for (const peerInfo of peerInfos) {
|
46
|
-
if (this.
|
47
|
-
.getConnections()
|
48
|
-
.find((c) => c.remotePeer === peerInfo.id))
|
88
|
+
if (this.libp2p.getConnections().find((c) => c.remotePeer === peerInfo.id))
|
49
89
|
continue;
|
50
90
|
dialPromises.push(this.attemptDial(peerInfo.id));
|
51
91
|
}
|
@@ -64,61 +104,75 @@ class ConnectionManager {
|
|
64
104
|
}
|
65
105
|
stop() {
|
66
106
|
this.keepAliveManager.stopAll();
|
67
|
-
this.
|
68
|
-
this.
|
69
|
-
this.
|
107
|
+
this.libp2p.removeEventListener("peer:connect", this.onEventHandlers["peer:connect"]);
|
108
|
+
this.libp2p.removeEventListener("peer:disconnect", this.onEventHandlers["peer:disconnect"]);
|
109
|
+
this.libp2p.removeEventListener("peer:discovery", this.onEventHandlers["peer:discovery"]);
|
70
110
|
}
|
71
111
|
async dialPeer(peerId) {
|
72
112
|
this.currentActiveDialCount += 1;
|
73
113
|
let dialAttempt = 0;
|
74
|
-
while (dialAttempt
|
114
|
+
while (dialAttempt < this.options.maxDialAttemptsForPeer) {
|
75
115
|
try {
|
76
|
-
log(`Dialing peer ${peerId.toString()}`);
|
77
|
-
await this.
|
116
|
+
log(`Dialing peer ${peerId.toString()} on attempt ${dialAttempt + 1}`);
|
117
|
+
await this.libp2p.dial(peerId);
|
78
118
|
const tags = await this.getTagNamesForPeer(peerId);
|
79
119
|
// add tag to connection describing discovery mechanism
|
80
120
|
// don't add duplicate tags
|
81
|
-
this.
|
82
|
-
.
|
83
|
-
|
121
|
+
this.libp2p.getConnections(peerId).forEach((conn) => {
|
122
|
+
conn.tags = Array.from(new Set([...conn.tags, ...tags]));
|
123
|
+
});
|
84
124
|
this.dialAttemptsForPeer.delete(peerId.toString());
|
85
|
-
|
125
|
+
// Dialing succeeded, break the loop
|
126
|
+
break;
|
86
127
|
}
|
87
|
-
catch (
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
log(`
|
128
|
+
catch (error) {
|
129
|
+
if (error instanceof AggregateError) {
|
130
|
+
// Handle AggregateError
|
131
|
+
log(`Error dialing peer ${peerId.toString()} - ${error.errors}`);
|
132
|
+
}
|
133
|
+
else {
|
134
|
+
// Handle generic error
|
135
|
+
log(`Error dialing peer ${peerId.toString()} - ${error.message}`);
|
95
136
|
}
|
137
|
+
this.dialErrorsForPeer.set(peerId.toString(), error);
|
138
|
+
dialAttempt++;
|
139
|
+
this.dialAttemptsForPeer.set(peerId.toString(), dialAttempt);
|
96
140
|
}
|
97
141
|
}
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
142
|
+
// Always decrease the active dial count and process the dial queue
|
143
|
+
this.currentActiveDialCount--;
|
144
|
+
this.processDialQueue();
|
145
|
+
// If max dial attempts reached and dialing failed, delete the peer
|
146
|
+
if (dialAttempt === this.options.maxDialAttemptsForPeer) {
|
147
|
+
try {
|
148
|
+
const error = this.dialErrorsForPeer.get(peerId.toString());
|
149
|
+
let errorMessage;
|
150
|
+
if (error instanceof AggregateError) {
|
151
|
+
errorMessage = JSON.stringify(error.errors[0]);
|
152
|
+
}
|
153
|
+
else {
|
154
|
+
errorMessage = error.message;
|
155
|
+
}
|
156
|
+
log(`Deleting undialable peer ${peerId.toString()} from peer store. Error: ${errorMessage}`);
|
157
|
+
this.dialErrorsForPeer.delete(peerId.toString());
|
158
|
+
await this.libp2p.peerStore.delete(peerId);
|
159
|
+
}
|
160
|
+
catch (error) {
|
161
|
+
throw new Error(`Error deleting undialable peer ${peerId.toString()} from peer store - ${error}`);
|
162
|
+
}
|
110
163
|
}
|
111
164
|
}
|
112
165
|
async dropConnection(peerId) {
|
113
166
|
try {
|
114
|
-
|
167
|
+
this.keepAliveManager.stop(peerId);
|
168
|
+
await this.libp2p.hangUp(peerId);
|
115
169
|
log(`Dropped connection with peer ${peerId.toString()}`);
|
116
170
|
}
|
117
171
|
catch (error) {
|
118
172
|
log(`Error dropping connection with peer ${peerId.toString()} - ${error}`);
|
119
173
|
}
|
120
174
|
}
|
121
|
-
|
175
|
+
processDialQueue() {
|
122
176
|
if (this.pendingPeerDialQueue.length > 0 &&
|
123
177
|
this.currentActiveDialCount < this.options.maxParallelDials) {
|
124
178
|
const peerId = this.pendingPeerDialQueue.shift();
|
@@ -130,10 +184,10 @@ class ConnectionManager {
|
|
130
184
|
}
|
131
185
|
}
|
132
186
|
startPeerDiscoveryListener() {
|
133
|
-
this.
|
187
|
+
this.libp2p.addEventListener("peer:discovery", this.onEventHandlers["peer:discovery"]);
|
134
188
|
}
|
135
189
|
startPeerConnectionListener() {
|
136
|
-
this.
|
190
|
+
this.libp2p.addEventListener("peer:connect", this.onEventHandlers["peer:connect"]);
|
137
191
|
}
|
138
192
|
startPeerDisconnectionListener() {
|
139
193
|
// TODO: ensure that these following issues are updated and confirmed
|
@@ -148,7 +202,7 @@ class ConnectionManager {
|
|
148
202
|
* >this event will **only** be triggered when the last connection is closed.
|
149
203
|
* @see https://github.com/libp2p/js-libp2p/blob/bad9e8c0ff58d60a78314077720c82ae331cc55b/doc/API.md?plain=1#L2100
|
150
204
|
*/
|
151
|
-
this.
|
205
|
+
this.libp2p.addEventListener("peer:disconnect", this.onEventHandlers["peer:disconnect"]);
|
152
206
|
}
|
153
207
|
async attemptDial(peerId) {
|
154
208
|
if (this.currentActiveDialCount >= this.options.maxParallelDials) {
|
@@ -162,27 +216,52 @@ class ConnectionManager {
|
|
162
216
|
});
|
163
217
|
}
|
164
218
|
onEventHandlers = {
|
165
|
-
"peer:discovery":
|
166
|
-
|
167
|
-
|
219
|
+
"peer:discovery": (evt) => {
|
220
|
+
void (async () => {
|
221
|
+
const { id: peerId } = evt.detail;
|
222
|
+
const isBootstrap = (await this.getTagNamesForPeer(peerId)).includes(Tags.BOOTSTRAP);
|
223
|
+
this.dispatchEvent(new CustomEvent(isBootstrap
|
224
|
+
? EPeersByDiscoveryEvents.PEER_DISCOVERY_BOOTSTRAP
|
225
|
+
: EPeersByDiscoveryEvents.PEER_DISCOVERY_PEER_EXCHANGE, {
|
226
|
+
detail: peerId,
|
227
|
+
}));
|
228
|
+
try {
|
229
|
+
await this.attemptDial(peerId);
|
230
|
+
}
|
231
|
+
catch (error) {
|
232
|
+
log(`Error dialing peer ${peerId.toString()} : ${error}`);
|
233
|
+
}
|
234
|
+
})();
|
168
235
|
},
|
169
|
-
"peer:connect":
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
.
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
236
|
+
"peer:connect": (evt) => {
|
237
|
+
void (async () => {
|
238
|
+
const peerId = evt.detail;
|
239
|
+
this.keepAliveManager.start(peerId, this.libp2p.services.ping);
|
240
|
+
const isBootstrap = (await this.getTagNamesForPeer(peerId)).includes(Tags.BOOTSTRAP);
|
241
|
+
if (isBootstrap) {
|
242
|
+
const bootstrapConnections = this.libp2p
|
243
|
+
.getConnections()
|
244
|
+
.filter((conn) => conn.tags.includes(Tags.BOOTSTRAP));
|
245
|
+
// If we have too many bootstrap connections, drop one
|
246
|
+
if (bootstrapConnections.length > this.options.maxBootstrapPeersAllowed) {
|
247
|
+
await this.dropConnection(peerId);
|
248
|
+
}
|
249
|
+
else {
|
250
|
+
this.dispatchEvent(new CustomEvent(EPeersByDiscoveryEvents.PEER_CONNECT_BOOTSTRAP, {
|
251
|
+
detail: peerId,
|
252
|
+
}));
|
253
|
+
}
|
180
254
|
}
|
181
|
-
|
255
|
+
else {
|
256
|
+
this.dispatchEvent(new CustomEvent(EPeersByDiscoveryEvents.PEER_CONNECT_PEER_EXCHANGE, {
|
257
|
+
detail: peerId,
|
258
|
+
}));
|
259
|
+
}
|
260
|
+
})();
|
182
261
|
},
|
183
262
|
"peer:disconnect": () => {
|
184
263
|
return (evt) => {
|
185
|
-
this.keepAliveManager.stop(evt.detail
|
264
|
+
this.keepAliveManager.stop(evt.detail);
|
186
265
|
};
|
187
266
|
},
|
188
267
|
};
|
@@ -192,15 +271,16 @@ class ConnectionManager {
|
|
192
271
|
* 2. If the peer is not a bootstrap peer
|
193
272
|
*/
|
194
273
|
async shouldDialPeer(peerId) {
|
195
|
-
const isConnected = this.
|
274
|
+
const isConnected = this.libp2p.getConnections(peerId).length > 0;
|
196
275
|
if (isConnected)
|
197
276
|
return false;
|
198
|
-
const
|
277
|
+
const tagNames = await this.getTagNamesForPeer(peerId);
|
278
|
+
const isBootstrap = tagNames.some((tagName) => tagName === Tags.BOOTSTRAP);
|
199
279
|
if (isBootstrap) {
|
200
|
-
const currentBootstrapConnections = this.
|
280
|
+
const currentBootstrapConnections = this.libp2p
|
201
281
|
.getConnections()
|
202
282
|
.filter((conn) => {
|
203
|
-
conn.tags.find((name) => name === Tags.BOOTSTRAP);
|
283
|
+
return conn.tags.find((name) => name === Tags.BOOTSTRAP);
|
204
284
|
}).length;
|
205
285
|
if (currentBootstrapConnections < this.options.maxBootstrapPeersAllowed)
|
206
286
|
return true;
|
@@ -214,8 +294,14 @@ class ConnectionManager {
|
|
214
294
|
* Fetches the tag names for a given peer
|
215
295
|
*/
|
216
296
|
async getTagNamesForPeer(peerId) {
|
217
|
-
|
218
|
-
|
297
|
+
try {
|
298
|
+
const peer = await this.libp2p.peerStore.get(peerId);
|
299
|
+
return Array.from(peer.tags.keys());
|
300
|
+
}
|
301
|
+
catch (error) {
|
302
|
+
log(`Failed to get peer ${peerId}, error: ${error}`);
|
303
|
+
return [];
|
304
|
+
}
|
219
305
|
}
|
220
306
|
}
|
221
307
|
export { ConnectionManager };
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"connection_manager.js","sourceRoot":"","sources":["../../src/lib/connection_manager.ts"],"names":[],"mappings":"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"}
|
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/filter_rpc.ts"],"names":[],"mappings":"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"}
|