@waku/core 0.0.5 → 0.0.7
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 +51 -3
- package/bundle/index.js +31146 -26342
- package/bundle/lib/message/topic_only_message.js +33 -0
- package/bundle/lib/message/version_0.js +133 -0
- package/bundle/lib/predefined_bootstrap_nodes.js +24 -4
- package/bundle/{message-049c8b67.js → peer_exchange-53df2b11.js} +3579 -1007
- package/dist/index.d.ts +14 -13
- package/dist/index.js +11 -10
- package/dist/index.js.map +1 -1
- package/dist/lib/{waku_filter → filter}/filter_rpc.d.ts +1 -1
- package/dist/lib/{waku_filter → filter}/filter_rpc.js +1 -1
- package/dist/lib/filter/filter_rpc.js.map +1 -0
- package/dist/lib/filter/index.d.ts +25 -0
- package/dist/lib/{waku_filter → filter}/index.js +14 -9
- package/dist/lib/filter/index.js.map +1 -0
- package/dist/lib/light_push/index.d.ts +22 -0
- package/dist/lib/{waku_light_push → light_push}/index.js +14 -9
- package/dist/lib/light_push/index.js.map +1 -0
- package/dist/lib/{waku_light_push → light_push}/push_rpc.d.ts +1 -1
- package/dist/lib/{waku_light_push → light_push}/push_rpc.js +1 -1
- package/dist/lib/light_push/push_rpc.js.map +1 -0
- package/dist/lib/message/topic_only_message.d.ts +16 -0
- package/dist/lib/{waku_message → message}/topic_only_message.js +2 -1
- package/dist/lib/message/topic_only_message.js.map +1 -0
- package/dist/lib/message/version_0.d.ts +54 -0
- package/dist/lib/{waku_message → message}/version_0.js +41 -6
- package/dist/lib/message/version_0.js.map +1 -0
- package/dist/lib/predefined_bootstrap_nodes.d.ts +1 -2
- package/dist/lib/predefined_bootstrap_nodes.js +0 -2
- package/dist/lib/predefined_bootstrap_nodes.js.map +1 -1
- package/dist/lib/{waku_relay → relay}/constants.d.ts +0 -0
- package/dist/lib/{waku_relay → relay}/constants.js +0 -0
- package/dist/lib/relay/constants.js.map +1 -0
- package/dist/lib/relay/index.d.ts +24 -0
- package/dist/lib/{waku_relay → relay}/index.js +9 -6
- package/dist/lib/relay/index.js.map +1 -0
- package/dist/lib/{waku_store → store}/history_rpc.d.ts +1 -1
- package/dist/lib/{waku_store → store}/history_rpc.js +1 -1
- package/dist/lib/store/history_rpc.js.map +1 -0
- package/dist/lib/store/index.d.ts +68 -0
- package/dist/lib/{waku_store → store}/index.js +41 -16
- package/dist/lib/store/index.js.map +1 -0
- package/dist/lib/to_proto_message.d.ts +3 -3
- package/dist/lib/to_proto_message.js +1 -0
- package/dist/lib/to_proto_message.js.map +1 -1
- package/dist/lib/wait_for_remote_peer.js +14 -5
- package/dist/lib/wait_for_remote_peer.js.map +1 -1
- package/dist/lib/waku.d.ts +17 -15
- package/dist/lib/waku.js +49 -41
- package/dist/lib/waku.js.map +1 -1
- package/package.json +28 -31
- package/src/index.ts +25 -14
- package/src/lib/{waku_filter → filter}/filter_rpc.ts +1 -2
- package/src/lib/{waku_filter → filter}/index.ts +51 -30
- package/src/lib/{waku_light_push → light_push}/index.ts +38 -19
- package/src/lib/{waku_light_push → light_push}/push_rpc.ts +1 -2
- package/src/lib/{waku_message → message}/topic_only_message.ts +12 -7
- package/src/lib/{waku_message → message}/version_0.ts +59 -18
- package/src/lib/predefined_bootstrap_nodes.ts +2 -6
- package/src/lib/{waku_relay → relay}/constants.ts +0 -0
- package/src/lib/{waku_relay → relay}/index.ts +30 -26
- package/src/lib/{waku_store → store}/history_rpc.ts +1 -2
- package/src/lib/{waku_store → store}/index.ts +93 -28
- package/src/lib/to_proto_message.ts +5 -5
- package/src/lib/wait_for_remote_peer.ts +19 -7
- package/src/lib/waku.ts +78 -51
- package/bundle/browser-1e1a2f27.js +0 -722
- package/bundle/events-158407bb.js +0 -1929
- package/bundle/index-64ce43f0.js +0 -69
- package/bundle/index-8710041d.js +0 -2962
- package/bundle/index-a67d7136.js +0 -4059
- package/bundle/lib/peer_discovery_static_list.js +0 -89
- package/bundle/lib/wait_for_remote_peer.js +0 -326
- package/bundle/lib/waku_message/topic_only_message.js +0 -3
- package/bundle/lib/waku_message/version_0.js +0 -317
- package/bundle/random_subset-75d1c511.js +0 -26
- package/bundle/topic_only_message-5ad3a869.js +0 -82
- package/dist/lib/multiaddr_to_peer_info.d.ts +0 -3
- package/dist/lib/multiaddr_to_peer_info.js +0 -15
- package/dist/lib/multiaddr_to_peer_info.js.map +0 -1
- package/dist/lib/peer_discovery_static_list.d.ts +0 -44
- package/dist/lib/peer_discovery_static_list.js +0 -72
- package/dist/lib/peer_discovery_static_list.js.map +0 -1
- package/dist/lib/select_connection.d.ts +0 -2
- package/dist/lib/select_connection.js +0 -19
- package/dist/lib/select_connection.js.map +0 -1
- package/dist/lib/select_peer.d.ts +0 -15
- package/dist/lib/select_peer.js +0 -59
- package/dist/lib/select_peer.js.map +0 -1
- package/dist/lib/waku_filter/filter_rpc.js.map +0 -1
- package/dist/lib/waku_filter/index.d.ts +0 -50
- package/dist/lib/waku_filter/index.js.map +0 -1
- package/dist/lib/waku_light_push/index.d.ts +0 -38
- package/dist/lib/waku_light_push/index.js.map +0 -1
- package/dist/lib/waku_light_push/push_rpc.js.map +0 -1
- package/dist/lib/waku_message/topic_only_message.d.ts +0 -15
- package/dist/lib/waku_message/topic_only_message.js.map +0 -1
- package/dist/lib/waku_message/version_0.d.ts +0 -27
- package/dist/lib/waku_message/version_0.js.map +0 -1
- package/dist/lib/waku_relay/constants.js.map +0 -1
- package/dist/lib/waku_relay/index.d.ts +0 -66
- package/dist/lib/waku_relay/index.js.map +0 -1
- package/dist/lib/waku_store/history_rpc.js.map +0 -1
- package/dist/lib/waku_store/index.d.ts +0 -126
- package/dist/lib/waku_store/index.js.map +0 -1
- package/dist/proto/filter.d.ts +0 -65
- package/dist/proto/filter.js +0 -425
- package/dist/proto/filter.js.map +0 -1
- package/dist/proto/light_push.d.ts +0 -57
- package/dist/proto/light_push.js +0 -369
- package/dist/proto/light_push.js.map +0 -1
- package/dist/proto/message.d.ts +0 -29
- package/dist/proto/message.js +0 -215
- package/dist/proto/message.js.map +0 -1
- package/dist/proto/store.d.ts +0 -104
- package/dist/proto/store.js +0 -602
- package/dist/proto/store.js.map +0 -1
- package/dist/proto/topic_only_message.d.ts +0 -10
- package/dist/proto/topic_only_message.js +0 -46
- package/dist/proto/topic_only_message.js.map +0 -1
- package/src/lib/multiaddr_to_peer_info.ts +0 -17
- package/src/lib/peer_discovery_static_list.ts +0 -118
- package/src/lib/select_connection.ts +0 -24
- package/src/lib/select_peer.ts +0 -77
- package/src/proto/filter.ts +0 -602
- package/src/proto/light_push.ts +0 -526
- package/src/proto/message.ts +0 -304
- package/src/proto/store.ts +0 -844
- package/src/proto/topic_only_message.ts +0 -67
package/dist/proto/store.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/proto/store.ts"],"names":[],"mappings":"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"}
|
@@ -1,10 +0,0 @@
|
|
1
|
-
import type { Uint8ArrayList } from "uint8arraylist";
|
2
|
-
import type { Codec } from "protons-runtime";
|
3
|
-
export interface TopicOnlyMessage {
|
4
|
-
contentTopic?: string;
|
5
|
-
}
|
6
|
-
export declare namespace TopicOnlyMessage {
|
7
|
-
const codec: () => Codec<TopicOnlyMessage>;
|
8
|
-
const encode: (obj: TopicOnlyMessage) => Uint8Array;
|
9
|
-
const decode: (buf: Uint8Array | Uint8ArrayList) => TopicOnlyMessage;
|
10
|
-
}
|
@@ -1,46 +0,0 @@
|
|
1
|
-
/* eslint-disable import/export */
|
2
|
-
/* eslint-disable @typescript-eslint/no-namespace */
|
3
|
-
import { encodeMessage, decodeMessage, message } from "protons-runtime";
|
4
|
-
export var TopicOnlyMessage;
|
5
|
-
(function (TopicOnlyMessage) {
|
6
|
-
let _codec;
|
7
|
-
TopicOnlyMessage.codec = () => {
|
8
|
-
if (_codec == null) {
|
9
|
-
_codec = message((obj, writer, opts = {}) => {
|
10
|
-
if (opts.lengthDelimited !== false) {
|
11
|
-
writer.fork();
|
12
|
-
}
|
13
|
-
if (obj.contentTopic != null) {
|
14
|
-
writer.uint32(18);
|
15
|
-
writer.string(obj.contentTopic);
|
16
|
-
}
|
17
|
-
if (opts.lengthDelimited !== false) {
|
18
|
-
writer.ldelim();
|
19
|
-
}
|
20
|
-
}, (reader, length) => {
|
21
|
-
const obj = {};
|
22
|
-
const end = length == null ? reader.len : reader.pos + length;
|
23
|
-
while (reader.pos < end) {
|
24
|
-
const tag = reader.uint32();
|
25
|
-
switch (tag >>> 3) {
|
26
|
-
case 2:
|
27
|
-
obj.contentTopic = reader.string();
|
28
|
-
break;
|
29
|
-
default:
|
30
|
-
reader.skipType(tag & 7);
|
31
|
-
break;
|
32
|
-
}
|
33
|
-
}
|
34
|
-
return obj;
|
35
|
-
});
|
36
|
-
}
|
37
|
-
return _codec;
|
38
|
-
};
|
39
|
-
TopicOnlyMessage.encode = (obj) => {
|
40
|
-
return encodeMessage(obj, TopicOnlyMessage.codec());
|
41
|
-
};
|
42
|
-
TopicOnlyMessage.decode = (buf) => {
|
43
|
-
return decodeMessage(buf, TopicOnlyMessage.codec());
|
44
|
-
};
|
45
|
-
})(TopicOnlyMessage || (TopicOnlyMessage = {}));
|
46
|
-
//# sourceMappingURL=topic_only_message.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"topic_only_message.js","sourceRoot":"","sources":["../../src/proto/topic_only_message.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,oDAAoD;AAEpD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAQxE,MAAM,KAAW,gBAAgB,CAuDhC;AAvDD,WAAiB,gBAAgB;IAC/B,IAAI,MAA+B,CAAC;IAEvB,sBAAK,GAAG,GAA4B,EAAE;QACjD,IAAI,MAAM,IAAI,IAAI,EAAE;YAClB,MAAM,GAAG,OAAO,CACd,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;gBACzB,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE;oBAClC,MAAM,CAAC,IAAI,EAAE,CAAC;iBACf;gBAED,IAAI,GAAG,CAAC,YAAY,IAAI,IAAI,EAAE;oBAC5B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAClB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;iBACjC;gBAED,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE;oBAClC,MAAM,CAAC,MAAM,EAAE,CAAC;iBACjB;YACH,CAAC,EACD,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;gBACjB,MAAM,GAAG,GAAQ,EAAE,CAAC;gBAEpB,MAAM,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;gBAE9D,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;oBACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAE5B,QAAQ,GAAG,KAAK,CAAC,EAAE;wBACjB,KAAK,CAAC;4BACJ,GAAG,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;4BACnC,MAAM;wBACR;4BACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;4BACzB,MAAM;qBACT;iBACF;gBAED,OAAO,GAAG,CAAC;YACb,CAAC,CACF,CAAC;SACH;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEW,uBAAM,GAAG,CAAC,GAAqB,EAAc,EAAE;QAC1D,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC;IAEW,uBAAM,GAAG,CACpB,GAAgC,EACd,EAAE;QACpB,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC;AACJ,CAAC,EAvDgB,gBAAgB,KAAhB,gBAAgB,QAuDhC"}
|
@@ -1,17 +0,0 @@
|
|
1
|
-
import { PeerInfo } from "@libp2p/interface-peer-info";
|
2
|
-
import { peerIdFromString } from "@libp2p/peer-id";
|
3
|
-
import { Multiaddr } from "@multiformats/multiaddr";
|
4
|
-
|
5
|
-
export function multiaddrsToPeerInfo(mas: Multiaddr[]): PeerInfo[] {
|
6
|
-
return mas
|
7
|
-
.map((ma) => {
|
8
|
-
const peerIdStr = ma.getPeerId();
|
9
|
-
const protocols: string[] = [];
|
10
|
-
return {
|
11
|
-
id: peerIdStr ? peerIdFromString(peerIdStr) : null,
|
12
|
-
multiaddrs: [ma.decapsulateCode(421)],
|
13
|
-
protocols,
|
14
|
-
};
|
15
|
-
})
|
16
|
-
.filter((peerInfo): peerInfo is PeerInfo => peerInfo.id !== null);
|
17
|
-
}
|
@@ -1,118 +0,0 @@
|
|
1
|
-
import type {
|
2
|
-
PeerDiscovery,
|
3
|
-
PeerDiscoveryEvents,
|
4
|
-
} from "@libp2p/interface-peer-discovery";
|
5
|
-
import { symbol } from "@libp2p/interface-peer-discovery";
|
6
|
-
import type { PeerInfo } from "@libp2p/interface-peer-info";
|
7
|
-
import { CustomEvent, EventEmitter } from "@libp2p/interfaces/events";
|
8
|
-
import type { Multiaddr } from "@multiformats/multiaddr";
|
9
|
-
import { multiaddr } from "@multiformats/multiaddr";
|
10
|
-
import debug from "debug";
|
11
|
-
|
12
|
-
import { multiaddrsToPeerInfo } from "./multiaddr_to_peer_info";
|
13
|
-
import { getPseudoRandomSubset } from "./random_subset";
|
14
|
-
|
15
|
-
const log = debug("waku:peer-discovery-static-list");
|
16
|
-
|
17
|
-
export interface Options {
|
18
|
-
/**
|
19
|
-
* The maximum of peers to connect to as part of the bootstrap process.
|
20
|
-
*
|
21
|
-
* @default The length of the passed `peers` array.
|
22
|
-
*/
|
23
|
-
maxPeers?: number;
|
24
|
-
/**
|
25
|
-
* The interval between emitting addresses in milliseconds.
|
26
|
-
*
|
27
|
-
* @default {@link PeerDiscoveryStaticPeers.DefaultInterval}
|
28
|
-
*/
|
29
|
-
interval?: number;
|
30
|
-
}
|
31
|
-
|
32
|
-
/**
|
33
|
-
* Pass a list of multiaddr that will be used to bootstrap a node.
|
34
|
-
*/
|
35
|
-
export class PeerDiscoveryStaticPeers
|
36
|
-
extends EventEmitter<PeerDiscoveryEvents>
|
37
|
-
implements PeerDiscovery
|
38
|
-
{
|
39
|
-
static DefaultInterval = 200;
|
40
|
-
private readonly peers: PeerInfo[];
|
41
|
-
private timer?: ReturnType<typeof setInterval>;
|
42
|
-
private readonly interval: number;
|
43
|
-
|
44
|
-
/**
|
45
|
-
* @param peers Multiaddrs of peers to connect to.
|
46
|
-
* @param opts
|
47
|
-
*/
|
48
|
-
constructor(peers: string[] | Multiaddr[], opts?: Options) {
|
49
|
-
super();
|
50
|
-
|
51
|
-
this.interval = opts?.interval ?? PeerDiscoveryStaticPeers.DefaultInterval;
|
52
|
-
const maxPeers = opts?.maxPeers ?? peers?.length;
|
53
|
-
|
54
|
-
const peerMas = peers.map((peer: string | Multiaddr) => {
|
55
|
-
if (typeof peer === "string") {
|
56
|
-
return multiaddr(peer);
|
57
|
-
} else {
|
58
|
-
return peer;
|
59
|
-
}
|
60
|
-
});
|
61
|
-
this.peers = multiaddrsToPeerInfo(getPseudoRandomSubset(peerMas, maxPeers));
|
62
|
-
log(
|
63
|
-
"Use provided list of peers (reduced to maxPeers)",
|
64
|
-
this.peers.map((ma) => ma.toString())
|
65
|
-
);
|
66
|
-
}
|
67
|
-
|
68
|
-
/**
|
69
|
-
* Start emitting static peers.
|
70
|
-
*/
|
71
|
-
start(): void {
|
72
|
-
this._startTimer();
|
73
|
-
}
|
74
|
-
|
75
|
-
private _startTimer(): void {
|
76
|
-
if (this.peers) {
|
77
|
-
log("Starting to emit static peers.");
|
78
|
-
if (this.timer != null) {
|
79
|
-
return;
|
80
|
-
}
|
81
|
-
|
82
|
-
this.timer = setInterval(() => this._returnPeers(), this.interval);
|
83
|
-
|
84
|
-
this._returnPeers();
|
85
|
-
}
|
86
|
-
}
|
87
|
-
|
88
|
-
_returnPeers(): void {
|
89
|
-
if (this.timer == null) {
|
90
|
-
return;
|
91
|
-
}
|
92
|
-
|
93
|
-
this.peers.forEach((peerData) => {
|
94
|
-
this.dispatchEvent(
|
95
|
-
new CustomEvent<PeerInfo>("peer", { detail: peerData })
|
96
|
-
);
|
97
|
-
});
|
98
|
-
}
|
99
|
-
|
100
|
-
/**
|
101
|
-
* Stop emitting peers.
|
102
|
-
*/
|
103
|
-
stop(): void {
|
104
|
-
if (this.timer != null) {
|
105
|
-
clearInterval(this.timer);
|
106
|
-
}
|
107
|
-
|
108
|
-
this.timer = undefined;
|
109
|
-
}
|
110
|
-
|
111
|
-
get [symbol](): true {
|
112
|
-
return true;
|
113
|
-
}
|
114
|
-
|
115
|
-
get [Symbol.toStringTag](): string {
|
116
|
-
return "@waku/peer-discovery-static-list";
|
117
|
-
}
|
118
|
-
}
|
@@ -1,24 +0,0 @@
|
|
1
|
-
import { Connection } from "@libp2p/interface-connection";
|
2
|
-
|
3
|
-
export function selectConnection(
|
4
|
-
connections: Connection[]
|
5
|
-
): Connection | undefined {
|
6
|
-
if (!connections.length) return;
|
7
|
-
if (connections.length === 1) return connections[0];
|
8
|
-
|
9
|
-
let latestConnection: Connection | undefined;
|
10
|
-
|
11
|
-
connections.forEach((connection) => {
|
12
|
-
if (connection.stat.status === "OPEN") {
|
13
|
-
if (!latestConnection) {
|
14
|
-
latestConnection = connection;
|
15
|
-
} else if (
|
16
|
-
connection.stat.timeline.open > latestConnection.stat.timeline.open
|
17
|
-
) {
|
18
|
-
latestConnection = connection;
|
19
|
-
}
|
20
|
-
}
|
21
|
-
});
|
22
|
-
|
23
|
-
return latestConnection;
|
24
|
-
}
|
package/src/lib/select_peer.ts
DELETED
@@ -1,77 +0,0 @@
|
|
1
|
-
import type { PeerId } from "@libp2p/interface-peer-id";
|
2
|
-
import type { Peer, PeerStore } from "@libp2p/interface-peer-store";
|
3
|
-
import debug from "debug";
|
4
|
-
|
5
|
-
const log = debug("waku:select-peer");
|
6
|
-
|
7
|
-
/**
|
8
|
-
* Returns a pseudo-random peer that supports the given protocol.
|
9
|
-
* Useful for protocols such as store and light push
|
10
|
-
*/
|
11
|
-
export function selectRandomPeer(peers: Peer[]): Peer | undefined {
|
12
|
-
if (peers.length === 0) return;
|
13
|
-
|
14
|
-
const index = Math.round(Math.random() * (peers.length - 1));
|
15
|
-
return peers[index];
|
16
|
-
}
|
17
|
-
|
18
|
-
/**
|
19
|
-
* Returns the list of peers that supports the given protocol.
|
20
|
-
*/
|
21
|
-
export async function getPeersForProtocol(
|
22
|
-
peerStore: PeerStore,
|
23
|
-
protocols: string[]
|
24
|
-
): Promise<Peer[]> {
|
25
|
-
const peers: Peer[] = [];
|
26
|
-
await peerStore.forEach((peer) => {
|
27
|
-
for (let i = 0; i < protocols.length; i++) {
|
28
|
-
if (peer.protocols.includes(protocols[i])) {
|
29
|
-
peers.push(peer);
|
30
|
-
break;
|
31
|
-
}
|
32
|
-
}
|
33
|
-
});
|
34
|
-
return peers;
|
35
|
-
}
|
36
|
-
|
37
|
-
export async function selectPeerForProtocol(
|
38
|
-
peerStore: PeerStore,
|
39
|
-
protocols: string[],
|
40
|
-
peerId?: PeerId
|
41
|
-
): Promise<{ peer: Peer; protocol: string } | undefined> {
|
42
|
-
let peer;
|
43
|
-
if (peerId) {
|
44
|
-
peer = await peerStore.get(peerId);
|
45
|
-
if (!peer) {
|
46
|
-
log(
|
47
|
-
`Failed to retrieve connection details for provided peer in peer store: ${peerId.toString()}`
|
48
|
-
);
|
49
|
-
return;
|
50
|
-
}
|
51
|
-
} else {
|
52
|
-
const peers = await getPeersForProtocol(peerStore, protocols);
|
53
|
-
peer = selectRandomPeer(peers);
|
54
|
-
if (!peer) {
|
55
|
-
log("Failed to find known peer that registers protocols", protocols);
|
56
|
-
return;
|
57
|
-
}
|
58
|
-
}
|
59
|
-
|
60
|
-
let protocol;
|
61
|
-
for (const codec of protocols) {
|
62
|
-
if (peer.protocols.includes(codec)) {
|
63
|
-
protocol = codec;
|
64
|
-
// Do not break as we want to keep the last value
|
65
|
-
}
|
66
|
-
}
|
67
|
-
log(`Using codec ${protocol}`);
|
68
|
-
if (!protocol) {
|
69
|
-
log(
|
70
|
-
`Peer does not register required protocols: ${peer.id.toString()}`,
|
71
|
-
protocols
|
72
|
-
);
|
73
|
-
return;
|
74
|
-
}
|
75
|
-
|
76
|
-
return { peer, protocol };
|
77
|
-
}
|