@waku/discovery 0.0.9-f911bf8.0 → 0.0.10-2ed5ddc.0
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 +24 -0
- package/bundle/index.js +4947 -4525
- package/dist/.tsbuildinfo +1 -1
- package/dist/dns/constants.d.ts +2 -2
- package/dist/dns/constants.js +2 -1
- package/dist/dns/constants.js.map +1 -1
- package/dist/local-peer-cache/index.d.ts +1 -2
- package/dist/local-peer-cache/index.js +2 -2
- package/dist/local-peer-cache/index.js.map +1 -1
- package/dist/peer-exchange/index.d.ts +1 -1
- package/dist/peer-exchange/index.js +1 -1
- package/dist/peer-exchange/index.js.map +1 -1
- package/dist/peer-exchange/waku_peer_exchange.d.ts +6 -5
- package/dist/peer-exchange/waku_peer_exchange.js +10 -7
- package/dist/peer-exchange/waku_peer_exchange.js.map +1 -1
- package/dist/peer-exchange/waku_peer_exchange_discovery.d.ts +3 -4
- package/dist/peer-exchange/waku_peer_exchange_discovery.js +5 -5
- package/dist/peer-exchange/waku_peer_exchange_discovery.js.map +1 -1
- package/package.json +1 -1
- package/src/dns/constants.ts +2 -2
- package/src/local-peer-cache/index.ts +2 -2
- package/src/peer-exchange/index.ts +1 -2
- package/src/peer-exchange/waku_peer_exchange.ts +12 -15
- package/src/peer-exchange/waku_peer_exchange_discovery.ts +7 -12
@@ -1,7 +1,7 @@
|
|
1
1
|
import { TypedEventEmitter } from "@libp2p/interface";
|
2
2
|
import { peerDiscoverySymbol as symbol } from "@libp2p/interface";
|
3
3
|
import type { PeerDiscovery, PeerDiscoveryEvents } from "@libp2p/interface";
|
4
|
-
import { type Libp2pComponents
|
4
|
+
import { type Libp2pComponents } from "@waku/interfaces";
|
5
5
|
export interface Options {
|
6
6
|
/**
|
7
7
|
* Tag a bootstrap peer with this name before "discovering" it (default: 'bootstrap')
|
@@ -29,7 +29,6 @@ export interface Options {
|
|
29
29
|
interface CustomDiscoveryEvent extends PeerDiscoveryEvents {
|
30
30
|
"waku:peer-exchange:started": CustomEvent<boolean>;
|
31
31
|
}
|
32
|
-
export declare const DEFAULT_PEER_EXCHANGE_TAG_NAME = Tags.PEER_EXCHANGE;
|
33
32
|
export declare class PeerExchangeDiscovery extends TypedEventEmitter<CustomDiscoveryEvent> implements PeerDiscovery {
|
34
33
|
private readonly components;
|
35
34
|
private readonly peerExchange;
|
@@ -38,7 +37,7 @@ export declare class PeerExchangeDiscovery extends TypedEventEmitter<CustomDisco
|
|
38
37
|
private queryingPeers;
|
39
38
|
private queryAttempts;
|
40
39
|
private readonly handleDiscoveredPeer;
|
41
|
-
constructor(components: Libp2pComponents,
|
40
|
+
constructor(components: Libp2pComponents, options?: Options);
|
42
41
|
/**
|
43
42
|
* Start emitting events
|
44
43
|
*/
|
@@ -54,5 +53,5 @@ export declare class PeerExchangeDiscovery extends TypedEventEmitter<CustomDisco
|
|
54
53
|
private abortQueriesForPeer;
|
55
54
|
private checkPeerInfoDiff;
|
56
55
|
}
|
57
|
-
export declare function wakuPeerExchangeDiscovery(
|
56
|
+
export declare function wakuPeerExchangeDiscovery(): (components: Libp2pComponents) => PeerExchangeDiscovery;
|
58
57
|
export {};
|
@@ -7,7 +7,7 @@ const log = new Logger("peer-exchange-discovery");
|
|
7
7
|
const DEFAULT_PEER_EXCHANGE_REQUEST_NODES = 10;
|
8
8
|
const DEFAULT_PEER_EXCHANGE_QUERY_INTERVAL_MS = 10 * 1000;
|
9
9
|
const DEFAULT_MAX_RETRIES = 3;
|
10
|
-
|
10
|
+
const DEFAULT_PEER_EXCHANGE_TAG_NAME = Tags.PEER_EXCHANGE;
|
11
11
|
const DEFAULT_PEER_EXCHANGE_TAG_VALUE = 50;
|
12
12
|
const DEFAULT_PEER_EXCHANGE_TAG_TTL = 100_000_000;
|
13
13
|
export class PeerExchangeDiscovery extends TypedEventEmitter {
|
@@ -25,10 +25,10 @@ export class PeerExchangeDiscovery extends TypedEventEmitter {
|
|
25
25
|
this.queryingPeers.add(peerId.toString());
|
26
26
|
this.startRecurringQueries(peerId).catch((error) => log.error(`Error querying peer ${error}`));
|
27
27
|
};
|
28
|
-
constructor(components,
|
28
|
+
constructor(components, options = {}) {
|
29
29
|
super();
|
30
30
|
this.components = components;
|
31
|
-
this.peerExchange = new WakuPeerExchange(components
|
31
|
+
this.peerExchange = new WakuPeerExchange(components);
|
32
32
|
this.options = options;
|
33
33
|
this.isStarted = false;
|
34
34
|
}
|
@@ -176,7 +176,7 @@ export class PeerExchangeDiscovery extends TypedEventEmitter {
|
|
176
176
|
return { hasMultiaddrDiff, hasShardDiff };
|
177
177
|
}
|
178
178
|
}
|
179
|
-
export function wakuPeerExchangeDiscovery(
|
180
|
-
return (components) => new PeerExchangeDiscovery(components
|
179
|
+
export function wakuPeerExchangeDiscovery() {
|
180
|
+
return (components) => new PeerExchangeDiscovery(components);
|
181
181
|
}
|
182
182
|
//# sourceMappingURL=waku_peer_exchange_discovery.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"waku_peer_exchange_discovery.js","sourceRoot":"","sources":["../../src/peer-exchange/waku_peer_exchange_discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,mBAAmB,IAAI,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAQlE,OAAO,
|
1
|
+
{"version":3,"file":"waku_peer_exchange_discovery.js","sourceRoot":"","sources":["../../src/peer-exchange/waku_peer_exchange_discovery.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"@waku/discovery","version":"0.0.
|
1
|
+
{"name":"@waku/discovery","version":"0.0.10-2ed5ddc.0","description":"Contains various discovery mechanisms: DNS Discovery (EIP-1459, Peer Exchange, Local Peer Cache Discovery.","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"type":"module","author":"Waku Team","homepage":"https://github.com/waku-org/js-waku/tree/master/packages/discovery#readme","repository":{"type":"git","url":"https://github.com/waku-org/js-waku.git"},"bugs":{"url":"https://github.com/waku-org/js-waku/issues"},"license":"MIT OR Apache-2.0","keywords":["waku","decentralized","secure","communication","web3","ethereum","dapps","privacy"],"scripts":{"build":"run-s build:**","build:esm":"tsc","build:bundle":"rollup --config rollup.config.js","fix":"run-s fix:*","fix:lint":"eslint src *.js --fix","check":"run-s check:*","check:lint":"eslint src --ext .ts","check:spelling":"cspell \"{README.md,src/**/*.ts}\"","check:tsc":"tsc -p tsconfig.dev.json","prepublish":"npm run build","reset-hard":"git clean -dfx -e .idea && git reset --hard && npm i && npm run build","test":"NODE_ENV=test run-s test:*","test:node":"NODE_ENV=test TS_NODE_PROJECT=./tsconfig.dev.json mocha 'src/**/*.spec.ts'","test:browser":"NODE_ENV=test karma start karma.conf.cjs"},"engines":{"node":">=22"},"dependencies":{"@waku/core":"0.0.37-2ed5ddc.0","@waku/enr":"0.0.31-2ed5ddc.0","@waku/interfaces":"0.0.32-2ed5ddc.0","@waku/proto":"0.0.12-2ed5ddc.0","@waku/utils":"0.0.25-2ed5ddc.0","debug":"^4.3.4","dns-over-http-resolver":"^3.0.8","hi-base32":"^0.5.1","uint8arrays":"^5.0.1"},"devDependencies":{"@libp2p/interface":"2.10.4","@libp2p/peer-id":"5.1.7","@multiformats/multiaddr":"^12.3.0","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-json":"^6.0.0","@rollup/plugin-node-resolve":"^15.2.3","@types/chai":"^4.3.11","@waku/build-utils":"*","chai":"^4.3.10","chai-as-promised":"^7.1.1","cspell":"^8.6.1","mocha":"^10.3.0","npm-run-all":"^4.1.5","rollup":"^4.12.0","sinon":"^18.0.0"},"files":["dist","bundle","src/**/*.ts","!**/*.spec.*","!**/*.json","CHANGELOG.md","LICENSE","README.md"]}
|
package/src/dns/constants.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import type
|
1
|
+
import { type NodeCapabilityCount, Tags } from "@waku/interfaces";
|
2
2
|
|
3
3
|
/**
|
4
4
|
* The ENR tree for the different fleets.
|
@@ -10,7 +10,7 @@ export const enrTree = {
|
|
10
10
|
TEST: "enrtree://AOGYWMBYOUIMOENHXCHILPKY3ZRFEULMFI4DOM442QSZ73TT2A7VI@test.waku.nodes.status.im"
|
11
11
|
};
|
12
12
|
|
13
|
-
export const DEFAULT_BOOTSTRAP_TAG_NAME =
|
13
|
+
export const DEFAULT_BOOTSTRAP_TAG_NAME = Tags.BOOTSTRAP;
|
14
14
|
export const DEFAULT_BOOTSTRAP_TAG_VALUE = 50;
|
15
15
|
export const DEFAULT_BOOTSTRAP_TAG_TTL = 100_000_000;
|
16
16
|
|
@@ -15,7 +15,7 @@ import {
|
|
15
15
|
} from "@waku/interfaces";
|
16
16
|
import { getWsMultiaddrFromMultiaddrs, Logger } from "@waku/utils";
|
17
17
|
|
18
|
-
const log = new Logger("
|
18
|
+
const log = new Logger("local-cache-discovery");
|
19
19
|
|
20
20
|
type LocalPeerCacheDiscoveryOptions = {
|
21
21
|
tagName?: string;
|
@@ -23,7 +23,7 @@ type LocalPeerCacheDiscoveryOptions = {
|
|
23
23
|
tagTTL?: number;
|
24
24
|
};
|
25
25
|
|
26
|
-
|
26
|
+
const DEFAULT_LOCAL_TAG_NAME = Tags.LOCAL;
|
27
27
|
const DEFAULT_LOCAL_TAG_VALUE = 50;
|
28
28
|
const DEFAULT_LOCAL_TAG_TTL = 100_000_000;
|
29
29
|
|
@@ -1,12 +1,11 @@
|
|
1
|
-
import {
|
1
|
+
import { StreamManager } from "@waku/core";
|
2
2
|
import { EnrDecoder } from "@waku/enr";
|
3
3
|
import {
|
4
4
|
IPeerExchange,
|
5
5
|
Libp2pComponents,
|
6
6
|
PeerExchangeQueryParams,
|
7
7
|
PeerExchangeQueryResult,
|
8
|
-
ProtocolError
|
9
|
-
PubsubTopic
|
8
|
+
ProtocolError
|
10
9
|
} from "@waku/interfaces";
|
11
10
|
import { isDefined } from "@waku/utils";
|
12
11
|
import { Logger } from "@waku/utils";
|
@@ -24,15 +23,14 @@ const log = new Logger("peer-exchange");
|
|
24
23
|
/**
|
25
24
|
* Implementation of the Peer Exchange protocol (https://rfc.vac.dev/spec/34/)
|
26
25
|
*/
|
27
|
-
export class WakuPeerExchange
|
26
|
+
export class WakuPeerExchange implements IPeerExchange {
|
27
|
+
private readonly streamManager: StreamManager;
|
28
|
+
|
28
29
|
/**
|
29
30
|
* @param components - libp2p components
|
30
31
|
*/
|
31
|
-
public constructor(
|
32
|
-
|
33
|
-
pubsubTopics: PubsubTopic[]
|
34
|
-
) {
|
35
|
-
super(PeerExchangeCodec, components, pubsubTopics);
|
32
|
+
public constructor(private readonly components: Libp2pComponents) {
|
33
|
+
this.streamManager = new StreamManager(PeerExchangeCodec, components);
|
36
34
|
}
|
37
35
|
|
38
36
|
/**
|
@@ -57,7 +55,7 @@ export class WakuPeerExchange extends BaseProtocol implements IPeerExchange {
|
|
57
55
|
|
58
56
|
let stream;
|
59
57
|
try {
|
60
|
-
stream = await this.getStream(peerId);
|
58
|
+
stream = await this.streamManager.getStream(peerId);
|
61
59
|
} catch (err) {
|
62
60
|
log.error("Failed to get stream", err);
|
63
61
|
return {
|
@@ -118,9 +116,8 @@ export class WakuPeerExchange extends BaseProtocol implements IPeerExchange {
|
|
118
116
|
*
|
119
117
|
* @returns A function that creates a new peer exchange protocol
|
120
118
|
*/
|
121
|
-
export function wakuPeerExchange(
|
122
|
-
|
123
|
-
)
|
124
|
-
return (components: Libp2pComponents) =>
|
125
|
-
new WakuPeerExchange(components, pubsubTopics);
|
119
|
+
export function wakuPeerExchange(): (
|
120
|
+
components: Libp2pComponents
|
121
|
+
) => WakuPeerExchange {
|
122
|
+
return (components: Libp2pComponents) => new WakuPeerExchange(components);
|
126
123
|
}
|
@@ -10,7 +10,6 @@ import type {
|
|
10
10
|
import {
|
11
11
|
type Libp2pComponents,
|
12
12
|
type PeerExchangeQueryResult,
|
13
|
-
PubsubTopic,
|
14
13
|
ShardInfo,
|
15
14
|
Tags
|
16
15
|
} from "@waku/interfaces";
|
@@ -55,7 +54,7 @@ interface CustomDiscoveryEvent extends PeerDiscoveryEvents {
|
|
55
54
|
"waku:peer-exchange:started": CustomEvent<boolean>;
|
56
55
|
}
|
57
56
|
|
58
|
-
|
57
|
+
const DEFAULT_PEER_EXCHANGE_TAG_NAME = Tags.PEER_EXCHANGE;
|
59
58
|
const DEFAULT_PEER_EXCHANGE_TAG_VALUE = 50;
|
60
59
|
const DEFAULT_PEER_EXCHANGE_TAG_TTL = 100_000_000;
|
61
60
|
|
@@ -87,14 +86,10 @@ export class PeerExchangeDiscovery
|
|
87
86
|
);
|
88
87
|
};
|
89
88
|
|
90
|
-
public constructor(
|
91
|
-
components: Libp2pComponents,
|
92
|
-
pubsubTopics: PubsubTopic[],
|
93
|
-
options: Options = {}
|
94
|
-
) {
|
89
|
+
public constructor(components: Libp2pComponents, options: Options = {}) {
|
95
90
|
super();
|
96
91
|
this.components = components;
|
97
|
-
this.peerExchange = new WakuPeerExchange(components
|
92
|
+
this.peerExchange = new WakuPeerExchange(components);
|
98
93
|
this.options = options;
|
99
94
|
this.isStarted = false;
|
100
95
|
}
|
@@ -314,9 +309,9 @@ export class PeerExchangeDiscovery
|
|
314
309
|
}
|
315
310
|
}
|
316
311
|
|
317
|
-
export function wakuPeerExchangeDiscovery(
|
318
|
-
|
319
|
-
)
|
312
|
+
export function wakuPeerExchangeDiscovery(): (
|
313
|
+
components: Libp2pComponents
|
314
|
+
) => PeerExchangeDiscovery {
|
320
315
|
return (components: Libp2pComponents) =>
|
321
|
-
new PeerExchangeDiscovery(components
|
316
|
+
new PeerExchangeDiscovery(components);
|
322
317
|
}
|