@libp2p/daemon-client 0.0.1 → 0.0.2

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/dist/src/dht.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { CID } from 'multiformats/cid';
2
2
  import type { DaemonClient } from './index.js';
3
3
  import { PeerId } from '@libp2p/interfaces/peer-id';
4
- import type { PeerData } from '@libp2p/interfaces/peer-data';
4
+ import type { PeerInfo } from '@libp2p/interfaces/peer-info';
5
5
  export declare class DHT {
6
- private client;
6
+ private readonly client;
7
7
  constructor(client: DaemonClient);
8
8
  /**
9
9
  * Write a value to a key in the DHT
@@ -15,11 +15,8 @@ export declare class DHT {
15
15
  get(key: Uint8Array): Promise<Uint8Array>;
16
16
  /**
17
17
  * Query the DHT for a given peer's known addresses.
18
- *
19
- * @param {PeerId} peerId
20
- * @returns {PeerInfo}
21
18
  */
22
- findPeer(peerId: PeerId): Promise<PeerData>;
19
+ findPeer(peerId: PeerId): Promise<PeerInfo>;
23
20
  /**
24
21
  * Announce to the network that the peer have data addressed by the provided CID
25
22
  */
@@ -27,11 +24,11 @@ export declare class DHT {
27
24
  /**
28
25
  * Query the DHT for peers that have a piece of content, identified by a CID
29
26
  */
30
- findProviders(cid: CID, count?: number): AsyncIterator<PeerData>;
27
+ findProviders(cid: CID, count?: number): AsyncIterable<PeerInfo>;
31
28
  /**
32
29
  * Query the DHT routing table for peers that are closest to a provided key.
33
30
  */
34
- getClosestPeers(key: Uint8Array): AsyncIterable<PeerData>;
31
+ getClosestPeers(key: Uint8Array): AsyncIterable<PeerInfo>;
35
32
  /**
36
33
  * Query the DHT routing table for a given peer's public key.
37
34
  */
@@ -1 +1 @@
1
- {"version":3,"file":"dht.d.ts","sourceRoot":"","sources":["../../src/dht.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAStC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAY,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAG5D,qBAAa,GAAG;IACd,OAAO,CAAC,MAAM,CAAc;gBAEf,MAAM,EAAE,YAAY;IAIjC;;OAEG;IACG,GAAG,CAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B7D;;OAEG;IACG,GAAG,CAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IA6BhD;;;;;OAKG;IACG,QAAQ,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAiClD;;OAEG;IACG,OAAO,CAAE,GAAG,EAAE,GAAG;IAuBvB;;OAEG;IACK,aAAa,CAAE,GAAG,EAAE,GAAG,EAAE,KAAK,GAAE,MAAU,GAAG,aAAa,CAAC,QAAQ,CAAC;IAiD5E;;OAEG;IACK,eAAe,CAAE,GAAG,EAAE,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC;IAiDlE;;OAEG;IACG,YAAY,CAAE,MAAM,EAAE,MAAM;CA4BnC"}
1
+ {"version":3,"file":"dht.d.ts","sourceRoot":"","sources":["../../src/dht.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAStC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAY,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAG5D,qBAAa,GAAG;IACd,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAExB,MAAM,EAAE,YAAY;IAIjC;;OAEG;IACG,GAAG,CAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B7D;;OAEG;IACG,GAAG,CAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IA6BhD;;OAEG;IACG,QAAQ,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAiClD;;OAEG;IACG,OAAO,CAAE,GAAG,EAAE,GAAG;IAuBvB;;OAEG;IACK,aAAa,CAAE,GAAG,EAAE,GAAG,EAAE,KAAK,GAAE,MAAU,GAAG,aAAa,CAAC,QAAQ,CAAC;IAiD5E;;OAEG;IACK,eAAe,CAAE,GAAG,EAAE,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC;IAiDlE;;OAEG;IACG,YAAY,CAAE,MAAM,EAAE,MAAM;CA4BnC"}
package/dist/src/dht.js CHANGED
@@ -60,9 +60,6 @@ export class DHT {
60
60
  }
61
61
  /**
62
62
  * Query the DHT for a given peer's known addresses.
63
- *
64
- * @param {PeerId} peerId
65
- * @returns {PeerInfo}
66
63
  */
67
64
  async findPeer(peerId) {
68
65
  if (!isPeerId(peerId)) {
@@ -128,10 +125,10 @@ export class DHT {
128
125
  });
129
126
  let message = await sh.read();
130
127
  // stream begin message
131
- let response = Response.decode(message);
128
+ const response = Response.decode(message);
132
129
  if (response.type !== Response.Type.OK) {
133
130
  await sh.close();
134
- throw errcode(new Error(response.error?.msg || 'DHT find providers failed'), 'ERR_DHT_FIND_PROVIDERS_FAILED');
131
+ throw errcode(new Error(response.error?.msg ?? 'DHT find providers failed'), 'ERR_DHT_FIND_PROVIDERS_FAILED');
135
132
  }
136
133
  while (true) {
137
134
  message = await sh.read();
@@ -172,7 +169,7 @@ export class DHT {
172
169
  });
173
170
  // stream begin message
174
171
  let message = await sh.read();
175
- let response = Response.decode(message);
172
+ const response = Response.decode(message);
176
173
  if (response.type !== Response.Type.OK) {
177
174
  await sh.close();
178
175
  throw errcode(new Error(response.error?.msg ?? 'DHT find providers failed'), 'ERR_DHT_FIND_PROVIDERS_FAILED');
@@ -1 +1 @@
1
- {"version":3,"file":"dht.js","sourceRoot":"","sources":["../../src/dht.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dht.js","sourceRoot":"","sources":["../../src/dht.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,10 @@
1
- import { IRequest } from '@libp2p/daemon-protocol';
2
- import { StreamHandler } from './stream-handler.js';
1
+ import { IRequest, PSMessage } from '@libp2p/daemon-protocol';
2
+ import { StreamHandler } from '@libp2p/daemon-protocol/stream-handler';
3
3
  import { Multiaddr } from '@multiformats/multiaddr';
4
4
  import { PeerId } from '@libp2p/interfaces/peer-id';
5
+ import type { Duplex } from 'it-stream-types';
6
+ import type { CID } from 'multiformats/cid';
7
+ import type { PeerInfo } from '@libp2p/interfaces/peer-info';
5
8
  export interface IdentifyResult {
6
9
  peerId: PeerId;
7
10
  addrs: Multiaddr[];
@@ -9,13 +12,24 @@ export interface IdentifyResult {
9
12
  export interface DHTClient {
10
13
  put: (key: Uint8Array, value: Uint8Array) => Promise<void>;
11
14
  get: (key: Uint8Array) => Promise<Uint8Array>;
15
+ provide: (cid: CID) => Promise<void>;
16
+ findProviders: (cid: CID, count?: number) => AsyncIterable<PeerInfo>;
17
+ findPeer: (peerId: PeerId) => Promise<PeerInfo>;
18
+ getClosestPeers: (key: Uint8Array) => AsyncIterable<PeerInfo>;
19
+ }
20
+ export interface PubSubClient {
21
+ publish: (topic: string, data: Uint8Array) => Promise<void>;
22
+ subscribe: (topic: string) => AsyncIterable<PSMessage>;
23
+ getTopics: () => Promise<string[]>;
12
24
  }
13
25
  export interface DaemonClient {
14
26
  identify: () => Promise<IdentifyResult>;
15
27
  listPeers: () => Promise<PeerId[]>;
16
28
  connect: (peerId: PeerId, addrs: Multiaddr[]) => Promise<void>;
17
29
  dht: DHTClient;
30
+ pubsub: PubSubClient;
18
31
  send: (request: IRequest) => Promise<StreamHandler>;
32
+ openStream: (peerId: PeerId, protocol: string) => Promise<Duplex<Uint8Array>>;
19
33
  }
20
34
  export declare function createClient(multiaddr: Multiaddr): DaemonClient;
21
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAqB,MAAM,yBAAyB,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGnD,OAAO,EAAY,MAAM,EAAE,MAAM,4BAA4B,CAAA;AA0O7D,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,SAAS,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1D,GAAG,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;CAC9C;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAA;IACvC,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAClC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9D,GAAG,EAAE,SAAS,CAAA;IAEd,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;CACpD;AAED,wBAAgB,YAAY,CAAE,SAAS,EAAE,SAAS,GAAG,YAAY,CAEhE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAqB,MAAM,yBAAyB,CAAA;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGnD,OAAO,EAAY,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAG7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAwM5D,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,SAAS,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1D,GAAG,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;IAC7C,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACpC,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAA;IACpE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC/C,eAAe,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAA;CAC9D;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3D,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,aAAa,CAAC,SAAS,CAAC,CAAA;IACtD,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAA;IACvC,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAClC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9D,GAAG,EAAE,SAAS,CAAA;IACd,MAAM,EAAE,YAAY,CAAA;IAEpB,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;IACnD,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;CAC9E;AAED,wBAAgB,YAAY,CAAE,SAAS,EAAE,SAAS,GAAG,YAAY,CAEhE"}
package/dist/src/index.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import errcode from 'err-code';
2
2
  import { TCP } from '@libp2p/tcp';
3
3
  import { Request, Response } from '@libp2p/daemon-protocol';
4
- import { StreamHandler } from './stream-handler.js';
4
+ import { StreamHandler } from '@libp2p/daemon-protocol/stream-handler';
5
5
  import { Multiaddr } from '@multiformats/multiaddr';
6
6
  import { DHT } from './dht.js';
7
7
  import { Pubsub } from './pubsub.js';
8
8
  import { isPeerId } from '@libp2p/interfaces/peer-id';
9
- import { passThroughUpgrader } from './util/index.js';
9
+ import { passThroughUpgrader } from '@libp2p/daemon-protocol/upgrader';
10
10
  import { peerIdFromBytes } from '@libp2p/peer-id';
11
11
  class Client {
12
12
  constructor(addr) {
@@ -22,29 +22,11 @@ class Client {
22
22
  * @async
23
23
  * @returns {MultiaddrConnection}
24
24
  */
25
- connectDaemon() {
26
- return this.tcp.dial(this.multiaddr, {
25
+ async connectDaemon() {
26
+ return await this.tcp.dial(this.multiaddr, {
27
27
  upgrader: passThroughUpgrader
28
28
  });
29
29
  }
30
- /**
31
- * Starts a server listening at `socketPath`. New connections
32
- * will be sent to the `connectionHandler`.
33
- *
34
- * @param {Multiaddr} addr
35
- * @param {function(Stream)} connectionHandler
36
- * @returns {Promise}
37
- */
38
- async start(addr, connectionHandler) {
39
- if (this.listener) {
40
- await this.close();
41
- }
42
- this.listener = this.tcp.createListener({
43
- handler: maConn => connectionHandler(maConn),
44
- upgrader: passThroughUpgrader
45
- });
46
- await this.listener.listen(addr);
47
- }
48
30
  /**
49
31
  * Sends the request to the daemon and returns a stream. This
50
32
  * should only be used when sending daemon requests.
@@ -55,13 +37,6 @@ class Client {
55
37
  streamHandler.write(Request.encode(request).finish());
56
38
  return streamHandler;
57
39
  }
58
- /**
59
- * Closes the socket
60
- */
61
- async close() {
62
- this.listener && await this.listener.close();
63
- this.listener = undefined;
64
- }
65
40
  /**
66
41
  * Connect requests a connection to a known peer on a given set of addresses
67
42
  *
@@ -88,7 +63,7 @@ class Client {
88
63
  }
89
64
  });
90
65
  const message = await sh.read();
91
- if (!message) {
66
+ if (message == null) {
92
67
  throw errcode(new Error('unspecified'), 'ERR_CONNECT_FAILED');
93
68
  }
94
69
  const response = Response.decode(message);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { PSMessage } from '@libp2p/daemon-protocol';
2
2
  import type { DaemonClient } from './index.js';
3
3
  export declare class Pubsub {
4
- private client;
4
+ private readonly client;
5
5
  constructor(client: DaemonClient);
6
6
  /**
7
7
  * Get a list of topics the node is subscribed to.
@@ -1 +1 @@
1
- {"version":3,"file":"pubsub.d.ts","sourceRoot":"","sources":["../../src/pubsub.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,SAAS,EACV,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAc;gBAEf,MAAM,EAAE,YAAY;IAIjC;;;;OAIG;IACG,SAAS,IAAK,OAAO,CAAC,MAAM,EAAE,CAAC;IAwBrC;;OAEG;IACG,OAAO,CAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;IA4B9C;;OAEG;IACK,SAAS,CAAE,KAAK,EAAE,MAAM;CA0BjC"}
1
+ {"version":3,"file":"pubsub.d.ts","sourceRoot":"","sources":["../../src/pubsub.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,SAAS,EACV,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAExB,MAAM,EAAE,YAAY;IAIjC;;;;OAIG;IACG,SAAS,IAAK,OAAO,CAAC,MAAM,EAAE,CAAC;IAwBrC;;OAEG;IACG,OAAO,CAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;IA4B9C;;OAEG;IACK,SAAS,CAAE,KAAK,EAAE,MAAM;CA0BjC"}
@@ -67,7 +67,7 @@ export class Pubsub {
67
67
  }
68
68
  });
69
69
  let message = await sh.read();
70
- let response = Response.decode(message);
70
+ const response = Response.decode(message);
71
71
  if (response.type !== Response.Type.OK) {
72
72
  throw errcode(new Error(response.error?.msg ?? 'Pubsub publish failed'), 'ERR_PUBSUB_PUBLISH_FAILED');
73
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../../src/pubsub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../../src/pubsub.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/daemon-client",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "libp2p-daemon client implementation",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p-daemon/tree/master/packages/libp2p-daemon-client#readme",
@@ -128,25 +128,25 @@
128
128
  "release": "semantic-release"
129
129
  },
130
130
  "dependencies": {
131
- "@libp2p/daemon-protocol": "^0.0.0",
131
+ "@libp2p/daemon-protocol": "^0.0.1",
132
132
  "@libp2p/interfaces": "^1.3.17",
133
133
  "@libp2p/logger": "^1.1.2",
134
134
  "@libp2p/peer-id": "^1.1.8",
135
135
  "@libp2p/tcp": "^1.0.6",
136
136
  "@multiformats/multiaddr": "^10.1.8",
137
137
  "err-code": "^3.0.1",
138
- "it-handshake": "^3.0.1",
139
- "it-length-prefixed": "^7.0.1",
140
138
  "it-stream-types": "^1.0.4",
141
139
  "multiformats": "^9.4.2"
142
140
  },
143
141
  "devDependencies": {
142
+ "@libp2p/interface-compliance-tests": "^1.1.20",
143
+ "@libp2p/daemon-server": "^0.0.2",
144
144
  "@libp2p/peer-id-factory": "^1.0.8",
145
145
  "aegir": "^36.0.0",
146
- "it-buffer": "^0.1.3",
146
+ "it-all": "^1.0.6",
147
147
  "it-pipe": "^2.0.3",
148
- "it-pushable": "^2.0.1",
149
148
  "sinon": "^13.0.1",
149
+ "ts-sinon": "^2.0.2",
150
150
  "uint8arrays": "^3.0.0"
151
151
  }
152
152
  }
package/src/dht.ts CHANGED
@@ -9,11 +9,11 @@ import {
9
9
  } from '@libp2p/daemon-protocol'
10
10
  import type { DaemonClient } from './index.js'
11
11
  import { isPeerId, PeerId } from '@libp2p/interfaces/peer-id'
12
- import type { PeerData } from '@libp2p/interfaces/peer-data'
12
+ import type { PeerInfo } from '@libp2p/interfaces/peer-info'
13
13
  import { peerIdFromBytes } from '@libp2p/peer-id'
14
14
 
15
15
  export class DHT {
16
- private client: DaemonClient
16
+ private readonly client: DaemonClient
17
17
 
18
18
  constructor (client: DaemonClient) {
19
19
  this.client = client
@@ -84,11 +84,8 @@ export class DHT {
84
84
 
85
85
  /**
86
86
  * Query the DHT for a given peer's known addresses.
87
- *
88
- * @param {PeerId} peerId
89
- * @returns {PeerInfo}
90
87
  */
91
- async findPeer (peerId: PeerId): Promise<PeerData> {
88
+ async findPeer (peerId: PeerId): Promise<PeerInfo> {
92
89
  if (!isPeerId(peerId)) {
93
90
  throw errcode(new Error('invalid peer id received'), 'ERR_INVALID_PEER_ID')
94
91
  }
@@ -150,7 +147,7 @@ export class DHT {
150
147
  /**
151
148
  * Query the DHT for peers that have a piece of content, identified by a CID
152
149
  */
153
- async * findProviders (cid: CID, count: number = 1): AsyncIterator<PeerData> {
150
+ async * findProviders (cid: CID, count: number = 1): AsyncIterable<PeerInfo> {
154
151
  if (cid == null || CID.asCID(cid) == null) {
155
152
  throw errcode(new Error('invalid cid received'), 'ERR_INVALID_CID')
156
153
  }
@@ -167,11 +164,11 @@ export class DHT {
167
164
  let message = await sh.read()
168
165
 
169
166
  // stream begin message
170
- let response = Response.decode(message)
167
+ const response = Response.decode(message)
171
168
 
172
169
  if (response.type !== Response.Type.OK) {
173
170
  await sh.close()
174
- throw errcode(new Error(response.error?.msg || 'DHT find providers failed'), 'ERR_DHT_FIND_PROVIDERS_FAILED')
171
+ throw errcode(new Error(response.error?.msg ?? 'DHT find providers failed'), 'ERR_DHT_FIND_PROVIDERS_FAILED')
175
172
  }
176
173
 
177
174
  while (true) {
@@ -202,7 +199,7 @@ export class DHT {
202
199
  /**
203
200
  * Query the DHT routing table for peers that are closest to a provided key.
204
201
  */
205
- async * getClosestPeers (key: Uint8Array): AsyncIterable<PeerData> {
202
+ async * getClosestPeers (key: Uint8Array): AsyncIterable<PeerInfo> {
206
203
  if (!(key instanceof Uint8Array)) {
207
204
  throw errcode(new Error('invalid key received'), 'ERR_INVALID_KEY')
208
205
  }
@@ -217,7 +214,7 @@ export class DHT {
217
214
 
218
215
  // stream begin message
219
216
  let message = await sh.read()
220
- let response = Response.decode(message)
217
+ const response = Response.decode(message)
221
218
 
222
219
  if (response.type !== Response.Type.OK) {
223
220
  await sh.close()
package/src/index.ts CHANGED
@@ -1,22 +1,22 @@
1
1
  import errcode from 'err-code'
2
2
  import { TCP } from '@libp2p/tcp'
3
- import { IRequest, Request, Response } from '@libp2p/daemon-protocol'
4
- import { StreamHandler } from './stream-handler.js'
3
+ import { IRequest, PSMessage, Request, Response } from '@libp2p/daemon-protocol'
4
+ import { StreamHandler } from '@libp2p/daemon-protocol/stream-handler'
5
5
  import { Multiaddr } from '@multiformats/multiaddr'
6
6
  import { DHT } from './dht.js'
7
7
  import { Pubsub } from './pubsub.js'
8
8
  import { isPeerId, PeerId } from '@libp2p/interfaces/peer-id'
9
- import { passThroughUpgrader } from './util/index.js'
10
- import type { ConnectionHandler, Listener } from '@libp2p/interfaces/transport'
9
+ import { passThroughUpgrader } from '@libp2p/daemon-protocol/upgrader'
11
10
  import { peerIdFromBytes } from '@libp2p/peer-id'
12
11
  import type { Duplex } from 'it-stream-types'
12
+ import type { CID } from 'multiformats/cid'
13
+ import type { PeerInfo } from '@libp2p/interfaces/peer-info'
13
14
 
14
15
  class Client implements DaemonClient {
15
- private multiaddr: Multiaddr
16
+ private readonly multiaddr: Multiaddr
16
17
  public dht: DHT
17
18
  public pubsub: Pubsub
18
- private tcp: TCP
19
- private listener?: Listener
19
+ private readonly tcp: TCP
20
20
 
21
21
  constructor (addr: Multiaddr) {
22
22
  this.multiaddr = addr
@@ -33,33 +33,12 @@ class Client implements DaemonClient {
33
33
  * @async
34
34
  * @returns {MultiaddrConnection}
35
35
  */
36
- connectDaemon () {
37
- return this.tcp.dial(this.multiaddr, {
36
+ async connectDaemon () {
37
+ return await this.tcp.dial(this.multiaddr, {
38
38
  upgrader: passThroughUpgrader
39
39
  })
40
40
  }
41
41
 
42
- /**
43
- * Starts a server listening at `socketPath`. New connections
44
- * will be sent to the `connectionHandler`.
45
- *
46
- * @param {Multiaddr} addr
47
- * @param {function(Stream)} connectionHandler
48
- * @returns {Promise}
49
- */
50
- async start (addr: Multiaddr, connectionHandler: ConnectionHandler) {
51
- if (this.listener) {
52
- await this.close()
53
- }
54
-
55
- this.listener = this.tcp.createListener({
56
- handler: maConn => connectionHandler(maConn),
57
- upgrader: passThroughUpgrader
58
- })
59
-
60
- await this.listener.listen(addr)
61
- }
62
-
63
42
  /**
64
43
  * Sends the request to the daemon and returns a stream. This
65
44
  * should only be used when sending daemon requests.
@@ -72,14 +51,6 @@ class Client implements DaemonClient {
72
51
  return streamHandler
73
52
  }
74
53
 
75
- /**
76
- * Closes the socket
77
- */
78
- async close () {
79
- this.listener && await this.listener.close()
80
- this.listener = undefined
81
- }
82
-
83
54
  /**
84
55
  * Connect requests a connection to a known peer on a given set of addresses
85
56
  *
@@ -110,13 +81,13 @@ class Client implements DaemonClient {
110
81
  })
111
82
 
112
83
  const message = await sh.read()
113
- if (!message) {
84
+ if (message == null) {
114
85
  throw errcode(new Error('unspecified'), 'ERR_CONNECT_FAILED')
115
86
  }
116
87
 
117
88
  const response = Response.decode(message)
118
89
  if (response.type !== Response.Type.OK) {
119
- const errResponse = response.error ?? { msg: 'unspecified'}
90
+ const errResponse = response.error ?? { msg: 'unspecified' }
120
91
  throw errcode(new Error(errResponse.msg ?? 'unspecified'), 'ERR_CONNECT_FAILED')
121
92
  }
122
93
 
@@ -247,6 +218,16 @@ export interface IdentifyResult {
247
218
  export interface DHTClient {
248
219
  put: (key: Uint8Array, value: Uint8Array) => Promise<void>
249
220
  get: (key: Uint8Array) => Promise<Uint8Array>
221
+ provide: (cid: CID) => Promise<void>
222
+ findProviders: (cid: CID, count?: number) => AsyncIterable<PeerInfo>
223
+ findPeer: (peerId: PeerId) => Promise<PeerInfo>
224
+ getClosestPeers: (key: Uint8Array) => AsyncIterable<PeerInfo>
225
+ }
226
+
227
+ export interface PubSubClient {
228
+ publish: (topic: string, data: Uint8Array) => Promise<void>
229
+ subscribe: (topic: string) => AsyncIterable<PSMessage>
230
+ getTopics: () => Promise<string[]>
250
231
  }
251
232
 
252
233
  export interface DaemonClient {
@@ -254,8 +235,10 @@ export interface DaemonClient {
254
235
  listPeers: () => Promise<PeerId[]>
255
236
  connect: (peerId: PeerId, addrs: Multiaddr[]) => Promise<void>
256
237
  dht: DHTClient
238
+ pubsub: PubSubClient
257
239
 
258
240
  send: (request: IRequest) => Promise<StreamHandler>
241
+ openStream: (peerId: PeerId, protocol: string) => Promise<Duplex<Uint8Array>>
259
242
  }
260
243
 
261
244
  export function createClient (multiaddr: Multiaddr): DaemonClient {
package/src/pubsub.ts CHANGED
@@ -8,7 +8,7 @@ import {
8
8
  import type { DaemonClient } from './index.js'
9
9
 
10
10
  export class Pubsub {
11
- private client: DaemonClient
11
+ private readonly client: DaemonClient
12
12
 
13
13
  constructor (client: DaemonClient) {
14
14
  this.client = client
@@ -91,7 +91,7 @@ export class Pubsub {
91
91
  })
92
92
 
93
93
  let message = await sh.read()
94
- let response = Response.decode(message)
94
+ const response = Response.decode(message)
95
95
 
96
96
  if (response.type !== Response.Type.OK) {
97
97
  throw errcode(new Error(response.error?.msg ?? 'Pubsub publish failed'), 'ERR_PUBSUB_PUBLISH_FAILED')
@@ -1,28 +0,0 @@
1
- import type { Duplex } from 'it-stream-types';
2
- export interface StreamHandlerOptions {
3
- stream: Duplex<Uint8Array>;
4
- maxLength?: number;
5
- }
6
- export declare class StreamHandler {
7
- private stream;
8
- private shake;
9
- private decoder;
10
- /**
11
- * Create a stream handler for connection
12
- */
13
- constructor(opts: StreamHandlerOptions);
14
- /**
15
- * Read and decode message
16
- */
17
- read(): Promise<any>;
18
- write(msg: Uint8Array): void;
19
- /**
20
- * Return the handshake rest stream and invalidate handler
21
- */
22
- rest(): Duplex<Uint8Array, Uint8Array, Promise<void>>;
23
- /**
24
- * Close the stream
25
- */
26
- close(): void;
27
- }
28
- //# sourceMappingURL=stream-handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stream-handler.d.ts","sourceRoot":"","sources":["../../src/stream-handler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAU,MAAM,iBAAiB,CAAA;AAKrD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,OAAO,CAAoB;IACnC;;OAEG;gBACU,IAAI,EAAE,oBAAoB;IAQvC;;OAEG;IACG,IAAI;IAWV,KAAK,CAAE,GAAG,EAAE,UAAU;IAOtB;;OAEG;IACH,IAAI;IAKJ;;OAEG;IACH,KAAK;CAIN"}
@@ -1,47 +0,0 @@
1
- import * as lp from 'it-length-prefixed';
2
- import { handshake } from 'it-handshake';
3
- import { logger } from '@libp2p/logger';
4
- const log = logger('libp2p:daemon-client:stream-handler');
5
- export class StreamHandler {
6
- /**
7
- * Create a stream handler for connection
8
- */
9
- constructor(opts) {
10
- const { stream, maxLength } = opts;
11
- this.stream = stream;
12
- this.shake = handshake(this.stream);
13
- this.decoder = lp.decode.fromReader(this.shake.reader, { maxDataLength: maxLength ?? 4096 });
14
- }
15
- /**
16
- * Read and decode message
17
- */
18
- async read() {
19
- // @ts-expect-error decoder is really a generator
20
- const msg = await this.decoder.next();
21
- if (msg.value) {
22
- return msg.value.slice();
23
- }
24
- log('read received no value, closing stream');
25
- // End the stream, we didn't get data
26
- this.close();
27
- }
28
- write(msg) {
29
- log('write message');
30
- this.shake.write(lp.encode.single(msg).slice());
31
- }
32
- /**
33
- * Return the handshake rest stream and invalidate handler
34
- */
35
- rest() {
36
- this.shake.rest();
37
- return this.shake.stream;
38
- }
39
- /**
40
- * Close the stream
41
- */
42
- close() {
43
- log('closing the stream');
44
- this.rest().sink([]);
45
- }
46
- }
47
- //# sourceMappingURL=stream-handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stream-handler.js","sourceRoot":"","sources":["../../src/stream-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAIvC,MAAM,GAAG,GAAG,MAAM,CAAC,qCAAqC,CAAC,CAAA;AAOzD,MAAM,OAAO,aAAa;IAIxB;;OAEG;IACH,YAAa,IAA0B;QACrC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAA;QAElC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACnC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,SAAS,IAAI,IAAI,EAAE,CAAC,CAAA;IAC9F,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,iDAAiD;QACjD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;QACrC,IAAI,GAAG,CAAC,KAAK,EAAE;YACb,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;SACzB;QACD,GAAG,CAAC,wCAAwC,CAAC,CAAA;QAC7C,qCAAqC;QACrC,IAAI,CAAC,KAAK,EAAE,CAAA;IACd,CAAC;IAED,KAAK,CAAE,GAAe;QACpB,GAAG,CAAC,eAAe,CAAC,CAAA;QACpB,IAAI,CAAC,KAAK,CAAC,KAAK,CACd,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAC9B,CAAA;IACH,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK;QACH,GAAG,CAAC,oBAAoB,CAAC,CAAA;QACzB,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACtB,CAAC;CACF"}
@@ -1,12 +0,0 @@
1
- import type { Upgrader } from '@libp2p/interfaces/transport';
2
- import type { Multiaddr } from '@multiformats/multiaddr';
3
- export declare const passThroughUpgrader: Upgrader;
4
- /**
5
- * Converts the multiaddr to a nodejs NET compliant option
6
- * for .connect or .listen
7
- *
8
- * @param {Multiaddr} addr
9
- * @returns {string|object} A nodejs NET compliant option
10
- */
11
- export declare function multiaddrToNetConfig(addr: Multiaddr): string | import("@multiformats/multiaddr").NodeAddress;
12
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGxD,eAAO,MAAM,mBAAmB,EAAE,QAKjC,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAE,IAAI,EAAE,SAAS,0DAQpD"}
@@ -1,24 +0,0 @@
1
- import { resolve } from 'path';
2
- export const passThroughUpgrader = {
3
- // @ts-expect-error
4
- upgradeInbound: maConn => maConn,
5
- // @ts-expect-error
6
- upgradeOutbound: maConn => maConn
7
- };
8
- /**
9
- * Converts the multiaddr to a nodejs NET compliant option
10
- * for .connect or .listen
11
- *
12
- * @param {Multiaddr} addr
13
- * @returns {string|object} A nodejs NET compliant option
14
- */
15
- export function multiaddrToNetConfig(addr) {
16
- const listenPath = addr.getPath();
17
- // unix socket listening
18
- if (listenPath) {
19
- return resolve(listenPath);
20
- }
21
- // tcp listening
22
- return addr.nodeAddress();
23
- }
24
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAE9B,MAAM,CAAC,MAAM,mBAAmB,GAAa;IAC3C,mBAAmB;IACnB,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM;IAChC,mBAAmB;IACnB,eAAe,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM;CAClC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAE,IAAe;IACnD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;IACjC,wBAAwB;IACxB,IAAI,UAAU,EAAE;QACd,OAAO,OAAO,CAAC,UAAU,CAAC,CAAA;KAC3B;IACD,gBAAgB;IAChB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;AAC3B,CAAC"}
@@ -1,65 +0,0 @@
1
- import * as lp from 'it-length-prefixed'
2
- import { handshake } from 'it-handshake'
3
- import { logger } from '@libp2p/logger'
4
- import type { Duplex, Source } from 'it-stream-types'
5
- import type { Handshake } from 'it-handshake'
6
-
7
- const log = logger('libp2p:daemon-client:stream-handler')
8
-
9
- export interface StreamHandlerOptions {
10
- stream: Duplex<Uint8Array>
11
- maxLength?: number
12
- }
13
-
14
- export class StreamHandler {
15
- private stream: Duplex<Uint8Array>
16
- private shake: Handshake
17
- private decoder: Source<Uint8Array>
18
- /**
19
- * Create a stream handler for connection
20
- */
21
- constructor (opts: StreamHandlerOptions) {
22
- const { stream, maxLength } = opts
23
-
24
- this.stream = stream
25
- this.shake = handshake(this.stream)
26
- this.decoder = lp.decode.fromReader(this.shake.reader, { maxDataLength: maxLength ?? 4096 })
27
- }
28
-
29
- /**
30
- * Read and decode message
31
- */
32
- async read () {
33
- // @ts-expect-error decoder is really a generator
34
- const msg = await this.decoder.next()
35
- if (msg.value) {
36
- return msg.value.slice()
37
- }
38
- log('read received no value, closing stream')
39
- // End the stream, we didn't get data
40
- this.close()
41
- }
42
-
43
- write (msg: Uint8Array) {
44
- log('write message')
45
- this.shake.write(
46
- lp.encode.single(msg).slice()
47
- )
48
- }
49
-
50
- /**
51
- * Return the handshake rest stream and invalidate handler
52
- */
53
- rest () {
54
- this.shake.rest()
55
- return this.shake.stream
56
- }
57
-
58
- /**
59
- * Close the stream
60
- */
61
- close () {
62
- log('closing the stream')
63
- this.rest().sink([])
64
- }
65
- }
package/src/util/index.ts DELETED
@@ -1,27 +0,0 @@
1
- import type { Upgrader } from '@libp2p/interfaces/transport'
2
- import type { Multiaddr } from '@multiformats/multiaddr'
3
- import { resolve } from 'path'
4
-
5
- export const passThroughUpgrader: Upgrader = {
6
- // @ts-expect-error
7
- upgradeInbound: maConn => maConn,
8
- // @ts-expect-error
9
- upgradeOutbound: maConn => maConn
10
- }
11
-
12
- /**
13
- * Converts the multiaddr to a nodejs NET compliant option
14
- * for .connect or .listen
15
- *
16
- * @param {Multiaddr} addr
17
- * @returns {string|object} A nodejs NET compliant option
18
- */
19
- export function multiaddrToNetConfig (addr: Multiaddr) {
20
- const listenPath = addr.getPath()
21
- // unix socket listening
22
- if (listenPath) {
23
- return resolve(listenPath)
24
- }
25
- // tcp listening
26
- return addr.nodeAddress()
27
- }