@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.
@@ -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, PubsubTopic, Tags } from "@waku/interfaces";
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, pubsubTopics: PubsubTopic[], options?: Options);
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(pubsubTopics: PubsubTopic[]): (components: Libp2pComponents) => PeerExchangeDiscovery;
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
- export const DEFAULT_PEER_EXCHANGE_TAG_NAME = Tags.PEER_EXCHANGE;
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, pubsubTopics, options = {}) {
28
+ constructor(components, options = {}) {
29
29
  super();
30
30
  this.components = components;
31
- this.peerExchange = new WakuPeerExchange(components, pubsubTopics);
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(pubsubTopics) {
180
- return (components) => new PeerExchangeDiscovery(components, pubsubTopics);
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":"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"}
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.9-f911bf8.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":">=20"},"dependencies":{"@waku/core":"0.0.36-f911bf8.0","@waku/enr":"0.0.30-f911bf8.0","@waku/interfaces":"0.0.31-f911bf8.0","@waku/proto":"0.0.11-f911bf8.0","@waku/utils":"0.0.24-f911bf8.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.1.3","@libp2p/peer-id":"5.0.1","@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","@types/node-localstorage":"^1.3.3","@waku/build-utils":"*","chai":"^4.3.10","chai-as-promised":"^7.1.1","cspell":"^8.6.1","mocha":"^10.3.0","node-localstorage":"^3.0.5","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"]}
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"]}
@@ -1,4 +1,4 @@
1
- import type { NodeCapabilityCount } from "@waku/interfaces";
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 = "bootstrap";
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("peer-exchange-discovery");
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
- export const DEFAULT_LOCAL_TAG_NAME = Tags.LOCAL;
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
 
@@ -6,6 +6,5 @@ export {
6
6
  export {
7
7
  wakuPeerExchangeDiscovery,
8
8
  PeerExchangeDiscovery,
9
- Options,
10
- DEFAULT_PEER_EXCHANGE_TAG_NAME
9
+ Options
11
10
  } from "./waku_peer_exchange_discovery.js";
@@ -1,12 +1,11 @@
1
- import { BaseProtocol } from "@waku/core/lib/base_protocol";
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 extends BaseProtocol implements IPeerExchange {
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
- components: Libp2pComponents,
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
- pubsubTopics: PubsubTopic[]
123
- ): (components: Libp2pComponents) => WakuPeerExchange {
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
- export const DEFAULT_PEER_EXCHANGE_TAG_NAME = Tags.PEER_EXCHANGE;
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, pubsubTopics);
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
- pubsubTopics: PubsubTopic[]
319
- ): (components: Libp2pComponents) => PeerExchangeDiscovery {
312
+ export function wakuPeerExchangeDiscovery(): (
313
+ components: Libp2pComponents
314
+ ) => PeerExchangeDiscovery {
320
315
  return (components: Libp2pComponents) =>
321
- new PeerExchangeDiscovery(components, pubsubTopics);
316
+ new PeerExchangeDiscovery(components);
322
317
  }