@libp2p/kad-dht 14.1.2 → 14.1.3-6ddc1b80e

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.
Files changed (48) hide show
  1. package/dist/index.min.js +2 -2
  2. package/dist/src/content-fetching/index.d.ts +1 -0
  3. package/dist/src/content-fetching/index.d.ts.map +1 -1
  4. package/dist/src/content-fetching/index.js +1 -1
  5. package/dist/src/content-fetching/index.js.map +1 -1
  6. package/dist/src/kad-dht.d.ts.map +1 -1
  7. package/dist/src/kad-dht.js +4 -2
  8. package/dist/src/kad-dht.js.map +1 -1
  9. package/dist/src/peer-routing/index.d.ts +9 -5
  10. package/dist/src/peer-routing/index.d.ts.map +1 -1
  11. package/dist/src/peer-routing/index.js +25 -7
  12. package/dist/src/peer-routing/index.js.map +1 -1
  13. package/dist/src/providers.d.ts.map +1 -1
  14. package/dist/src/providers.js +5 -3
  15. package/dist/src/providers.js.map +1 -1
  16. package/dist/src/reprovider.js +1 -1
  17. package/dist/src/reprovider.js.map +1 -1
  18. package/dist/src/rpc/handlers/add-provider.d.ts +5 -1
  19. package/dist/src/rpc/handlers/add-provider.d.ts.map +1 -1
  20. package/dist/src/rpc/handlers/add-provider.js +14 -5
  21. package/dist/src/rpc/handlers/add-provider.js.map +1 -1
  22. package/dist/src/rpc/handlers/get-providers.d.ts +3 -2
  23. package/dist/src/rpc/handlers/get-providers.d.ts.map +1 -1
  24. package/dist/src/rpc/handlers/get-providers.js +16 -28
  25. package/dist/src/rpc/handlers/get-providers.js.map +1 -1
  26. package/dist/src/rpc/handlers/get-value.d.ts +1 -0
  27. package/dist/src/rpc/handlers/get-value.d.ts.map +1 -1
  28. package/dist/src/rpc/handlers/get-value.js +1 -1
  29. package/dist/src/rpc/handlers/get-value.js.map +1 -1
  30. package/dist/src/rpc/handlers/put-value.d.ts +1 -0
  31. package/dist/src/rpc/handlers/put-value.d.ts.map +1 -1
  32. package/dist/src/rpc/handlers/put-value.js +1 -1
  33. package/dist/src/rpc/handlers/put-value.js.map +1 -1
  34. package/dist/src/rpc/index.d.ts +1 -0
  35. package/dist/src/rpc/index.d.ts.map +1 -1
  36. package/dist/src/rpc/index.js.map +1 -1
  37. package/package.json +12 -12
  38. package/src/content-fetching/index.ts +2 -1
  39. package/src/kad-dht.ts +4 -2
  40. package/src/peer-routing/index.ts +38 -10
  41. package/src/providers.ts +5 -3
  42. package/src/reprovider.ts +1 -1
  43. package/src/rpc/handlers/add-provider.ts +18 -7
  44. package/src/rpc/handlers/get-providers.ts +18 -32
  45. package/src/rpc/handlers/get-value.ts +2 -1
  46. package/src/rpc/handlers/put-value.ts +2 -1
  47. package/src/rpc/index.ts +1 -0
  48. package/dist/typedoc-urls.json +0 -59
@@ -1,7 +1,10 @@
1
1
  import { InvalidMessageError } from '@libp2p/interface';
2
+ import all from 'it-all';
3
+ import map from 'it-map';
2
4
  import { CID } from 'multiformats/cid';
3
5
  import { MessageType } from '../../message/dht.js';
4
6
  export class GetProvidersHandler {
7
+ peerId;
5
8
  peerRouting;
6
9
  providers;
7
10
  peerStore;
@@ -10,6 +13,7 @@ export class GetProvidersHandler {
10
13
  constructor(components, init) {
11
14
  const { peerRouting, providers, logPrefix } = init;
12
15
  this.log = components.logger.forComponent(`${logPrefix}:rpc:handlers:get-providers`);
16
+ this.peerId = components.peerId;
13
17
  this.peerStore = components.peerStore;
14
18
  this.peerRouting = peerRouting;
15
19
  this.providers = providers;
@@ -27,26 +31,31 @@ export class GetProvidersHandler {
27
31
  throw new InvalidMessageError('Invalid CID');
28
32
  }
29
33
  this.log('%p asking for providers for %s', peerId, cid);
30
- const [peers, closer] = await Promise.all([
31
- this.providers.getProviders(cid),
32
- this.peerRouting.getCloserPeersOffline(msg.key, peerId)
34
+ const [providerPeers, closerPeers] = await Promise.all([
35
+ all(map(await this.providers.getProviders(cid), async (peerId) => {
36
+ const peer = await this.peerStore.get(peerId);
37
+ const info = {
38
+ id: peer.id,
39
+ multiaddrs: peer.addresses.map(({ multiaddr }) => multiaddr)
40
+ };
41
+ return info;
42
+ })),
43
+ this.peerRouting.getCloserPeersOffline(msg.key, this.peerId)
33
44
  ]);
34
- const providerPeers = await this._getPeers(peers);
35
- const closerPeers = await this._getPeers(closer.map(({ id }) => id));
36
45
  const response = {
37
46
  type: MessageType.GET_PROVIDERS,
38
47
  key: msg.key,
39
48
  clusterLevel: msg.clusterLevel,
40
49
  closer: closerPeers
41
50
  .map(this.peerInfoMapper)
42
- .filter(({ multiaddrs }) => multiaddrs.length)
51
+ .filter(({ id, multiaddrs }) => multiaddrs.length > 0)
43
52
  .map(peerInfo => ({
44
53
  id: peerInfo.id.toMultihash().bytes,
45
54
  multiaddrs: peerInfo.multiaddrs.map(ma => ma.bytes)
46
55
  })),
47
56
  providers: providerPeers
48
57
  .map(this.peerInfoMapper)
49
- .filter(({ multiaddrs }) => multiaddrs.length)
58
+ .filter(({ id, multiaddrs }) => multiaddrs.length > 0)
50
59
  .map(peerInfo => ({
51
60
  id: peerInfo.id.toMultihash().bytes,
52
61
  multiaddrs: peerInfo.multiaddrs.map(ma => ma.bytes)
@@ -58,26 +67,5 @@ export class GetProvidersHandler {
58
67
  async _getAddresses(peerId) {
59
68
  return [];
60
69
  }
61
- async _getPeers(peerIds) {
62
- const output = [];
63
- for (const peerId of peerIds) {
64
- try {
65
- const peer = await this.peerStore.get(peerId);
66
- const peerAfterFilter = this.peerInfoMapper({
67
- id: peerId,
68
- multiaddrs: peer.addresses.map(({ multiaddr }) => multiaddr)
69
- });
70
- if (peerAfterFilter.multiaddrs.length > 0) {
71
- output.push(peerAfterFilter);
72
- }
73
- }
74
- catch (err) {
75
- if (err.name !== 'NotFoundError') {
76
- throw err;
77
- }
78
- }
79
- }
80
- return output;
81
- }
82
70
  }
83
71
  //# sourceMappingURL=get-providers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-providers.js","sourceRoot":"","sources":["../../../../src/rpc/handlers/get-providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-providers.js","sourceRoot":"","sources":["../../../../src/rpc/handlers/get-providers.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import type { Datastore } from 'interface-datastore';
7
7
  export interface GetValueHandlerInit {
8
8
  peerRouting: PeerRouting;
9
9
  logPrefix: string;
10
+ datastorePrefix: string;
10
11
  }
11
12
  export interface GetValueHandlerComponents {
12
13
  peerStore: PeerStore;
@@ -1 +1 @@
1
- {"version":3,"file":"get-value.d.ts","sourceRoot":"","sources":["../../../../src/rpc/handlers/get-value.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAM7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,KAAK,EAAE,eAAe,EAAU,MAAM,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACnF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,WAAW,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,qBAAa,eAAgB,YAAW,iBAAiB;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;gBAE3B,UAAU,EAAE,yBAAyB,EAAE,IAAI,EAAE,mBAAmB;IAQvE,MAAM,CAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAgE7D;;;;;OAKG;IACG,oBAAoB,CAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;CA6BhF"}
1
+ {"version":3,"file":"get-value.d.ts","sourceRoot":"","sources":["../../../../src/rpc/handlers/get-value.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAM7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,KAAK,EAAE,eAAe,EAAU,MAAM,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACnF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,WAAW,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,qBAAa,eAAgB,YAAW,iBAAiB;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;gBAE3B,UAAU,EAAE,yBAAyB,EAAE,IAAI,EAAE,mBAAmB;IAQvE,MAAM,CAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAgE7D;;;;;OAKG;IACG,oBAAoB,CAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;CA6BhF"}
@@ -12,7 +12,7 @@ export class GetValueHandler {
12
12
  datastorePrefix;
13
13
  constructor(components, init) {
14
14
  this.log = components.logger.forComponent(`${init.logPrefix}:rpc:handlers:get-value`);
15
- this.datastorePrefix = `/${init.logPrefix.replaceAll(':', '/')}/record`;
15
+ this.datastorePrefix = `${init.datastorePrefix}/record`;
16
16
  this.peerStore = components.peerStore;
17
17
  this.datastore = components.datastore;
18
18
  this.peerRouting = init.peerRouting;
@@ -1 +1 @@
1
- {"version":3,"file":"get-value.js","sourceRoot":"","sources":["../../../../src/rpc/handlers/get-value.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-value.js","sourceRoot":"","sources":["../../../../src/rpc/handlers/get-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EACL,cAAc,EACf,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAmBpF,MAAM,OAAO,eAAe;IACT,SAAS,CAAW;IACpB,SAAS,CAAW;IACpB,WAAW,CAAa;IACxB,GAAG,CAAQ;IACX,eAAe,CAAQ;IAExC,YAAa,UAAqC,EAAE,IAAyB;QAC3E,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,SAAS,yBAAyB,CAAC,CAAA;QACrF,IAAI,CAAC,eAAe,GAAG,GAAG,IAAI,CAAC,eAAe,SAAS,CAAA;QACvD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;QACrC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,MAAc,EAAE,GAAY;QACxC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAA;QAEnB,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;QAE5C,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,mBAAmB,CAAC,aAAa,CAAC,CAAA;QAC9C,CAAC;QAED,MAAM,QAAQ,GAAY;YACxB,IAAI,EAAE,WAAW,CAAC,SAAS;YAC3B,GAAG;YACH,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,EAAE;SACd,CAAA;QAED,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;YACzB,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;YACvC,IAAI,MAA8B,CAAA;YAElC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;gBAEhD,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;oBAC9B,MAAM,IAAI,aAAa,CAAC,iCAAiC,CAAC,CAAA;gBAC5D,CAAC;gBAED,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;YACjD,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oBACjC,MAAM,GAAG,CAAA;gBACX,CAAC;YACH,CAAC;YAED,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;gBACtC,QAAQ,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,CAAA;gBACvE,OAAO,QAAQ,CAAA;YACjB,CAAC;QACH,CAAC;QAED,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACzC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;YAC9B,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC;SACpD,CAAC,CAAA;QAEF,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAA;YACrD,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;QACtC,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,sCAAsC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;YAC/D,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACxC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK;gBACnC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;aACpD,CAAC,CAAC,CAAA;QACL,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CAAE,GAAe;QACzC,IAAI,CAAC,GAAG,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAA;QACnD,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,CAAA;QAE1D,sBAAsB;QACtB,IAAI,SAAS,CAAA;QACb,IAAI,CAAC;YACH,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC7C,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBACjC,OAAO,SAAS,CAAA;YAClB,CAAC;YACD,MAAM,GAAG,CAAA;QACX,CAAC;QAED,wCAAwC;QACxC,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QAElD,4DAA4D;QAC5D,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI;YAC7B,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;YAC9D,wCAAwC;YACxC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAClC,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,kBAAkB;QAClB,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
@@ -6,6 +6,7 @@ import type { Datastore } from 'interface-datastore';
6
6
  export interface PutValueHandlerInit {
7
7
  validators: Validators;
8
8
  logPrefix: string;
9
+ datastorePrefix: string;
9
10
  }
10
11
  export interface PutValueHandlerComponents {
11
12
  datastore: Datastore;
@@ -1 +1 @@
1
- {"version":3,"file":"put-value.d.ts","sourceRoot":"","sources":["../../../../src/rpc/handlers/put-value.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,KAAK,EAAE,eAAe,EAAU,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,UAAU,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,qBAAa,eAAgB,YAAW,iBAAiB;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;gBAE3B,UAAU,EAAE,yBAAyB,EAAE,IAAI,EAAE,mBAAmB;IASvE,MAAM,CAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CA0B9D"}
1
+ {"version":3,"file":"put-value.d.ts","sourceRoot":"","sources":["../../../../src/rpc/handlers/put-value.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,KAAK,EAAE,eAAe,EAAU,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,UAAU,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,qBAAa,eAAgB,YAAW,iBAAiB;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;gBAE3B,UAAU,EAAE,yBAAyB,EAAE,IAAI,EAAE,mBAAmB;IASvE,MAAM,CAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CA0B9D"}
@@ -11,7 +11,7 @@ export class PutValueHandler {
11
11
  const { validators } = init;
12
12
  this.components = components;
13
13
  this.log = components.logger.forComponent(`${init.logPrefix}:rpc:handlers:put-value`);
14
- this.datastorePrefix = `/${init.logPrefix.replaceAll(':', '/')}/record`;
14
+ this.datastorePrefix = `${init.datastorePrefix}/record`;
15
15
  this.validators = validators;
16
16
  }
17
17
  async handle(peerId, msg) {
@@ -1 +1 @@
1
- {"version":3,"file":"put-value.js","sourceRoot":"","sources":["../../../../src/rpc/handlers/put-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAiBlD,MAAM,OAAO,eAAe;IACT,UAAU,CAA2B;IACrC,UAAU,CAAY;IACtB,GAAG,CAAQ;IACX,eAAe,CAAQ;IAExC,YAAa,UAAqC,EAAE,IAAyB;QAC3E,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;QAE3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,SAAS,yBAAyB,CAAC,CAAA;QACrF,IAAI,CAAC,eAAe,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,CAAA;QACvE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,MAAc,EAAE,GAAY;QACxC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAA;QACnB,IAAI,CAAC,GAAG,CAAC,uCAAuC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;QAE9D,IAAI,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,sBAAsB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAA;YAExD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACtB,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAA;QACvC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,kBAAkB,GAAG,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAE/D,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAA;YAEvD,kBAAkB,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAA;YAC5C,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAA;YACjF,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAkB,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;YACzF,IAAI,CAAC,GAAG,CAAC,+CAA+C,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA;QAC3E,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,iDAAiD,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QACvE,CAAC;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;CACF"}
1
+ {"version":3,"file":"put-value.js","sourceRoot":"","sources":["../../../../src/rpc/handlers/put-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAkBlD,MAAM,OAAO,eAAe;IACT,UAAU,CAA2B;IACrC,UAAU,CAAY;IACtB,GAAG,CAAQ;IACX,eAAe,CAAQ;IAExC,YAAa,UAAqC,EAAE,IAAyB;QAC3E,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;QAE3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,SAAS,yBAAyB,CAAC,CAAA;QACrF,IAAI,CAAC,eAAe,GAAG,GAAG,IAAI,CAAC,eAAe,SAAS,CAAA;QACvD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,MAAc,EAAE,GAAY;QACxC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAA;QACnB,IAAI,CAAC,GAAG,CAAC,uCAAuC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;QAE9D,IAAI,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,sBAAsB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAA;YAExD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACtB,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAA;QACvC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,kBAAkB,GAAG,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAE/D,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAA;YAEvD,kBAAkB,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAA;YAC5C,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAA;YACjF,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAkB,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;YACzF,IAAI,CAAC,GAAG,CAAC,+CAA+C,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA;QAC3E,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,iDAAiD,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QACvE,CAAC;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;CACF"}
@@ -19,6 +19,7 @@ export interface RPCInit {
19
19
  validators: Validators;
20
20
  logPrefix: string;
21
21
  metricsPrefix: string;
22
+ datastorePrefix: string;
22
23
  peerInfoMapper: PeerInfoMapper;
23
24
  }
24
25
  export interface RPCComponents extends GetValueHandlerComponents, PutValueHandlerComponents, FindNodeHandlerComponents, GetProvidersHandlerComponents {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rpc/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAe,MAAM,mBAAmB,CAAA;AAExD,OAAO,EAAmB,KAAK,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AACzF,OAAO,EAAuB,KAAK,6BAA6B,EAAE,MAAM,6BAA6B,CAAA;AACrG,OAAO,EAAmB,KAAK,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAEzF,OAAO,EAAmB,KAAK,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AACzF,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,EAAwB,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAEpE,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAA;CACnE;AAED,MAAM,WAAW,OAAO;IACtB,YAAY,EAAE,YAAY,CAAA;IAC1B,SAAS,EAAE,SAAS,CAAA;IACpB,WAAW,EAAE,WAAW,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,cAAc,CAAA;CAC/B;AAED,MAAM,WAAW,aAAc,SAAQ,yBAAyB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,6BAA6B;IACnJ,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,qBAAa,GAAG;IACd,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGvB;gBAEY,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO;IAkBrD;;OAEG;IACG,aAAa,CAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAsBhF;;OAEG;IACH,gBAAgB,CAAE,IAAI,EAAE,kBAAkB,GAAG,IAAI;CAwClD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rpc/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAe,MAAM,mBAAmB,CAAA;AAExD,OAAO,EAAmB,KAAK,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AACzF,OAAO,EAAuB,KAAK,6BAA6B,EAAE,MAAM,6BAA6B,CAAA;AACrG,OAAO,EAAmB,KAAK,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAEzF,OAAO,EAAmB,KAAK,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AACzF,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,EAAwB,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAEpE,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAA;CACnE;AAED,MAAM,WAAW,OAAO;IACtB,YAAY,EAAE,YAAY,CAAA;IAC1B,SAAS,EAAE,SAAS,CAAA;IACpB,WAAW,EAAE,WAAW,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,cAAc,CAAA;CAC/B;AAED,MAAM,WAAW,aAAc,SAAQ,yBAAyB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,6BAA6B;IACnJ,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,qBAAa,GAAG;IACd,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGvB;gBAEY,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO;IAkBrD;;OAEG;IACG,aAAa,CAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAsBhF;;OAEG;IACH,gBAAgB,CAAE,IAAI,EAAE,kBAAkB,GAAG,IAAI;CAwClD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rpc/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rpc/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/kad-dht",
3
- "version": "14.1.2",
3
+ "version": "14.1.3-6ddc1b80e",
4
4
  "description": "JavaScript implementation of the Kad-DHT for libp2p",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/kad-dht#readme",
@@ -57,16 +57,17 @@
57
57
  "doc-check": "aegir doc-check"
58
58
  },
59
59
  "dependencies": {
60
- "@libp2p/crypto": "^5.0.7",
61
- "@libp2p/interface": "^2.2.1",
62
- "@libp2p/interface-internal": "^2.1.1",
63
- "@libp2p/peer-collections": "^6.0.12",
64
- "@libp2p/peer-id": "^5.0.8",
65
- "@libp2p/record": "^4.0.4",
66
- "@libp2p/utils": "^6.2.1",
60
+ "@libp2p/crypto": "5.0.7-6ddc1b80e",
61
+ "@libp2p/interface": "2.2.1-6ddc1b80e",
62
+ "@libp2p/interface-internal": "2.1.1-6ddc1b80e",
63
+ "@libp2p/peer-collections": "6.0.12-6ddc1b80e",
64
+ "@libp2p/peer-id": "5.0.8-6ddc1b80e",
65
+ "@libp2p/record": "4.0.4-6ddc1b80e",
66
+ "@libp2p/utils": "6.2.1-6ddc1b80e",
67
67
  "@multiformats/multiaddr": "^12.2.3",
68
68
  "any-signal": "^4.1.1",
69
69
  "interface-datastore": "^8.3.0",
70
+ "it-all": "^3.0.6",
70
71
  "it-drain": "^3.0.7",
71
72
  "it-length": "^3.0.6",
72
73
  "it-length-prefixed": "^9.0.4",
@@ -88,9 +89,9 @@
88
89
  "uint8arrays": "^5.1.0"
89
90
  },
90
91
  "devDependencies": {
91
- "@libp2p/interface-compliance-tests": "^6.1.10",
92
- "@libp2p/logger": "^5.1.4",
93
- "@libp2p/peer-store": "^11.0.12",
92
+ "@libp2p/interface-compliance-tests": "6.1.11-6ddc1b80e",
93
+ "@libp2p/logger": "5.1.4-6ddc1b80e",
94
+ "@libp2p/peer-store": "11.0.12-6ddc1b80e",
94
95
  "@types/lodash.random": "^3.2.9",
95
96
  "@types/lodash.range": "^3.2.9",
96
97
  "@types/sinon": "^17.0.3",
@@ -99,7 +100,6 @@
99
100
  "datastore-core": "^10.0.0",
100
101
  "delay": "^6.0.0",
101
102
  "execa": "^9.1.0",
102
- "it-all": "^3.0.6",
103
103
  "it-filter": "^3.1.0",
104
104
  "it-last": "^3.0.6",
105
105
  "it-pair": "^2.0.6",
@@ -31,6 +31,7 @@ export interface ContentFetchingInit {
31
31
  queryManager: QueryManager
32
32
  network: Network
33
33
  logPrefix: string
34
+ datastorePrefix: string
34
35
  }
35
36
 
36
37
  export class ContentFetching {
@@ -48,7 +49,7 @@ export class ContentFetching {
48
49
 
49
50
  this.components = components
50
51
  this.log = components.logger.forComponent(`${logPrefix}:content-fetching`)
51
- this.datastorePrefix = `/${init.logPrefix.replaceAll(':', '/')}/record`
52
+ this.datastorePrefix = `${init.datastorePrefix}/record`
52
53
  this.validators = validators
53
54
  this.selectors = selectors
54
55
  this.peerRouting = peerRouting
package/src/kad-dht.ts CHANGED
@@ -240,7 +240,8 @@ export class KadDHT extends TypedEventEmitter<PeerDiscoveryEvents> implements Ka
240
240
  peerRouting: this.peerRouting,
241
241
  queryManager: this.queryManager,
242
242
  network: this.network,
243
- logPrefix
243
+ logPrefix,
244
+ datastorePrefix
244
245
  })
245
246
  this.contentRouting = new KADDHTContentRouting(components, {
246
247
  network: this.network,
@@ -262,6 +263,7 @@ export class KadDHT extends TypedEventEmitter<PeerDiscoveryEvents> implements Ka
262
263
  validators: this.validators,
263
264
  logPrefix,
264
265
  metricsPrefix,
266
+ datastorePrefix,
265
267
  peerInfoMapper: this.peerInfoMapper
266
268
  })
267
269
  this.topologyListener = new TopologyListener(components, {
@@ -315,7 +317,7 @@ export class KadDHT extends TypedEventEmitter<PeerDiscoveryEvents> implements Ka
315
317
 
316
318
  await this.onPeerConnect(peerData)
317
319
  }).catch(err => {
318
- this.log.error('could not add %p to routing table', peerId, err)
320
+ this.log.error('could not add %p to routing table - %e', peerId, err)
319
321
  })
320
322
  })
321
323
 
@@ -1,8 +1,11 @@
1
1
  import { publicKeyFromProtobuf } from '@libp2p/crypto/keys'
2
2
  import { InvalidPublicKeyError, NotFoundError } from '@libp2p/interface'
3
- import { peerIdFromPublicKey } from '@libp2p/peer-id'
3
+ import { peerIdFromPublicKey, peerIdFromMultihash } from '@libp2p/peer-id'
4
4
  import { Libp2pRecord } from '@libp2p/record'
5
+ import * as Digest from 'multiformats/hashes/digest'
5
6
  import { toString as uint8ArrayToString } from 'uint8arrays/to-string'
7
+ import { xor as uint8ArrayXor } from 'uint8arrays/xor'
8
+ import { xorCompare as uint8ArrayXorCompare } from 'uint8arrays/xor-compare'
6
9
  import { QueryError, InvalidRecordError } from '../errors.js'
7
10
  import { MessageType } from '../message/dht.js'
8
11
  import { PeerDistanceList } from '../peer-distance-list.js'
@@ -12,14 +15,20 @@ import {
12
15
  valueEvent
13
16
  } from '../query/events.js'
14
17
  import { verifyRecord } from '../record/validators.js'
15
- import { convertBuffer, keyForPublicKey } from '../utils.js'
16
- import type { KadDHTComponents, DHTRecord, FinalPeerEvent, QueryEvent, Validators } from '../index.js'
18
+ import { convertBuffer, convertPeerId, keyForPublicKey } from '../utils.js'
19
+ import type { DHTRecord, FinalPeerEvent, QueryEvent, Validators } from '../index.js'
17
20
  import type { Message } from '../message/dht.js'
18
21
  import type { Network } from '../network.js'
19
22
  import type { QueryManager, QueryOptions } from '../query/manager.js'
20
23
  import type { QueryFunc } from '../query/types.js'
21
24
  import type { RoutingTable } from '../routing-table/index.js'
22
- import type { Logger, PeerId, PeerInfo, PeerStore, RoutingOptions } from '@libp2p/interface'
25
+ import type { ComponentLogger, Logger, PeerId, PeerInfo, PeerStore, RoutingOptions } from '@libp2p/interface'
26
+
27
+ export interface PeerRoutingComponents {
28
+ peerId: PeerId
29
+ peerStore: PeerStore
30
+ logger: ComponentLogger
31
+ }
23
32
 
24
33
  export interface PeerRoutingInit {
25
34
  routingTable: RoutingTable
@@ -38,7 +47,7 @@ export class PeerRouting {
38
47
  private readonly peerStore: PeerStore
39
48
  private readonly peerId: PeerId
40
49
 
41
- constructor (components: KadDHTComponents, init: PeerRoutingInit) {
50
+ constructor (components: PeerRoutingComponents, init: PeerRoutingInit) {
42
51
  this.routingTable = init.routingTable
43
52
  this.network = init.network
44
53
  this.validators = init.validators
@@ -283,16 +292,35 @@ export class PeerRouting {
283
292
  }
284
293
 
285
294
  /**
286
- * Get the nearest peers to the given query, but if closer
287
- * than self
295
+ * Get the nearest peers to the given query, but if closer than self
288
296
  */
289
297
  async getCloserPeersOffline (key: Uint8Array, closerThan: PeerId): Promise<PeerInfo[]> {
290
- const id = await convertBuffer(key)
291
- const ids = this.routingTable.closestPeers(id)
292
298
  const output: PeerInfo[] = []
293
299
 
300
+ // try getting the peer directly
301
+ try {
302
+ const multihash = Digest.decode(key)
303
+ const targetPeerId = peerIdFromMultihash(multihash)
304
+
305
+ const peer = await this.peerStore.get(targetPeerId)
306
+
307
+ output.push({
308
+ id: peer.id,
309
+ multiaddrs: peer.addresses.map(({ multiaddr }) => multiaddr)
310
+ })
311
+ } catch {}
312
+
313
+ const keyKadId = await convertBuffer(key)
314
+ const ids = this.routingTable.closestPeers(keyKadId)
315
+ const closerThanKadId = await convertPeerId(closerThan)
316
+ const requesterXor = uint8ArrayXor(closerThanKadId, keyKadId)
317
+
294
318
  for (const peerId of ids) {
295
- if (peerId.equals(closerThan)) {
319
+ const peerKadId = await convertPeerId(peerId)
320
+ const peerXor = uint8ArrayXor(peerKadId, keyKadId)
321
+
322
+ // only include if peer is closer than requester
323
+ if (uint8ArrayXorCompare(peerXor, requesterXor) !== -1) {
296
324
  continue
297
325
  }
298
326
 
package/src/providers.ts CHANGED
@@ -29,7 +29,7 @@ export class Providers {
29
29
 
30
30
  constructor (components: ProvidersComponents, init: ProvidersInit) {
31
31
  this.log = components.logger.forComponent(`${init.logPrefix}:providers`)
32
- this.datastorePrefix = `/${init.datastorePrefix}/provider`
32
+ this.datastorePrefix = `${init.datastorePrefix}/provider`
33
33
  this.datastore = components.datastore
34
34
  this.lock = init.lock
35
35
  }
@@ -70,8 +70,9 @@ export class Providers {
70
70
  const release = await this.lock.readLock()
71
71
 
72
72
  try {
73
- this.log('get providers for %s', cid)
73
+ this.log('get providers for %c', cid)
74
74
  const provs = await this.loadProviders(cid)
75
+ this.log('got %d providers for %c', provs.size, cid)
75
76
 
76
77
  return [...provs.keys()]
77
78
  } finally {
@@ -94,8 +95,9 @@ export class Providers {
94
95
  */
95
96
  private async loadProviders (cid: CID): Promise<PeerMap<Date>> {
96
97
  const providers = new PeerMap<Date>()
98
+ const key = toProviderKey(this.datastorePrefix, cid)
97
99
 
98
- for await (const entry of this.datastore.query({ prefix: toProviderKey(this.datastorePrefix, cid).toString() })) {
100
+ for await (const entry of this.datastore.query({ prefix: key.toString() })) {
99
101
  const { peerId } = parseProviderKey(entry.key)
100
102
  providers.set(peerId, readProviderTime(entry.value))
101
103
  }
package/src/reprovider.ts CHANGED
@@ -80,7 +80,7 @@ export class Reprovider extends TypedEventEmitter<ReprovideEvents> {
80
80
  })
81
81
  this.datastore = components.datastore
82
82
  this.addressManager = components.addressManager
83
- this.datastorePrefix = `/${init.datastorePrefix}/provider`
83
+ this.datastorePrefix = `${init.datastorePrefix}/provider`
84
84
  this.reprovideThreshold = init.threshold ?? REPROVIDE_THRESHOLD
85
85
  this.maxQueueSize = init.maxQueueSize ?? REPROVIDE_MAX_QUEUE_SIZE
86
86
  this.validity = init.validity ?? PROVIDERS_VALIDITY
@@ -6,9 +6,11 @@ import * as Digest from 'multiformats/hashes/digest'
6
6
  import type { Message } from '../../message/dht.js'
7
7
  import type { Providers } from '../../providers'
8
8
  import type { DHTMessageHandler } from '../index.js'
9
- import type { ComponentLogger, Logger, PeerId } from '@libp2p/interface'
9
+ import type { ComponentLogger, Logger, PeerId, PeerStore } from '@libp2p/interface'
10
10
 
11
11
  export interface AddProviderComponents {
12
+ peerId: PeerId
13
+ peerStore: PeerStore
12
14
  logger: ComponentLogger
13
15
  }
14
16
 
@@ -18,12 +20,16 @@ export interface AddProviderHandlerInit {
18
20
  }
19
21
 
20
22
  export class AddProviderHandler implements DHTMessageHandler {
23
+ private readonly peerId: PeerId
21
24
  private readonly providers: Providers
25
+ private readonly peerStore: PeerStore
22
26
  private readonly log: Logger
23
27
 
24
28
  constructor (components: AddProviderComponents, init: AddProviderHandlerInit) {
25
29
  this.log = components.logger.forComponent(`${init.logPrefix}:rpc:handlers:add-provider`)
30
+ this.peerId = components.peerId
26
31
  this.providers = init.providers
32
+ this.peerStore = components.peerStore
27
33
  }
28
34
 
29
35
  async handle (peerId: PeerId, msg: Message): Promise<Message | undefined> {
@@ -43,12 +49,16 @@ export class AddProviderHandler implements DHTMessageHandler {
43
49
  this.log.error('no providers found in message')
44
50
  }
45
51
 
46
- this.log('%p asked us to store provider record for for %c', peerId, cid)
52
+ this.log('%p asked us, %p to store provider record for for %c', peerId, this.peerId, cid)
47
53
 
48
54
  await Promise.all(
49
55
  msg.providers.map(async (pi) => {
56
+ const digest = Digest.decode(pi.id)
57
+ const providerId = peerIdFromMultihash(digest)
58
+ const providerMultiaddrs = pi.multiaddrs.map(buf => multiaddr(buf))
59
+
50
60
  // Ignore providers not from the originator
51
- if (!peerId.equals(pi.id)) {
61
+ if (!peerId.equals(providerId)) {
52
62
  this.log('invalid provider peer %p from %p', pi.id, peerId)
53
63
  return
54
64
  }
@@ -58,11 +68,12 @@ export class AddProviderHandler implements DHTMessageHandler {
58
68
  return
59
69
  }
60
70
 
61
- this.log.trace('received provider %p for %s (addrs %s)', peerId, cid, pi.multiaddrs.map((m) => multiaddr(m).toString()))
62
-
63
- const multihash = Digest.decode(pi.id)
71
+ this.log.trace('received provider %p for %s (addrs %s)', peerId, cid, providerMultiaddrs)
64
72
 
65
- await this.providers.addProvider(cid, peerIdFromMultihash(multihash))
73
+ await this.providers.addProvider(cid, providerId)
74
+ await this.peerStore.merge(providerId, {
75
+ multiaddrs: providerMultiaddrs
76
+ })
66
77
  })
67
78
  )
68
79
 
@@ -1,4 +1,6 @@
1
1
  import { InvalidMessageError } from '@libp2p/interface'
2
+ import all from 'it-all'
3
+ import map from 'it-map'
2
4
  import { CID } from 'multiformats/cid'
3
5
  import { MessageType } from '../../message/dht.js'
4
6
  import type { PeerInfoMapper } from '../../index.js'
@@ -17,11 +19,13 @@ export interface GetProvidersHandlerInit {
17
19
  }
18
20
 
19
21
  export interface GetProvidersHandlerComponents {
22
+ peerId: PeerId
20
23
  peerStore: PeerStore
21
24
  logger: ComponentLogger
22
25
  }
23
26
 
24
27
  export class GetProvidersHandler implements DHTMessageHandler {
28
+ private readonly peerId: PeerId
25
29
  private readonly peerRouting: PeerRouting
26
30
  private readonly providers: Providers
27
31
  private readonly peerStore: PeerStore
@@ -32,6 +36,7 @@ export class GetProvidersHandler implements DHTMessageHandler {
32
36
  const { peerRouting, providers, logPrefix } = init
33
37
 
34
38
  this.log = components.logger.forComponent(`${logPrefix}:rpc:handlers:get-providers`)
39
+ this.peerId = components.peerId
35
40
  this.peerStore = components.peerStore
36
41
  this.peerRouting = peerRouting
37
42
  this.providers = providers
@@ -52,27 +57,33 @@ export class GetProvidersHandler implements DHTMessageHandler {
52
57
 
53
58
  this.log('%p asking for providers for %s', peerId, cid)
54
59
 
55
- const [peers, closer] = await Promise.all([
56
- this.providers.getProviders(cid),
57
- this.peerRouting.getCloserPeersOffline(msg.key, peerId)
60
+ const [providerPeers, closerPeers] = await Promise.all([
61
+ all(map(await this.providers.getProviders(cid), async (peerId) => {
62
+ const peer = await this.peerStore.get(peerId)
63
+ const info: PeerInfo = {
64
+ id: peer.id,
65
+ multiaddrs: peer.addresses.map(({ multiaddr }) => multiaddr)
66
+ }
67
+
68
+ return info
69
+ })),
70
+ this.peerRouting.getCloserPeersOffline(msg.key, this.peerId)
58
71
  ])
59
72
 
60
- const providerPeers = await this._getPeers(peers)
61
- const closerPeers = await this._getPeers(closer.map(({ id }) => id))
62
73
  const response: Message = {
63
74
  type: MessageType.GET_PROVIDERS,
64
75
  key: msg.key,
65
76
  clusterLevel: msg.clusterLevel,
66
77
  closer: closerPeers
67
78
  .map(this.peerInfoMapper)
68
- .filter(({ multiaddrs }) => multiaddrs.length)
79
+ .filter(({ id, multiaddrs }) => multiaddrs.length > 0)
69
80
  .map(peerInfo => ({
70
81
  id: peerInfo.id.toMultihash().bytes,
71
82
  multiaddrs: peerInfo.multiaddrs.map(ma => ma.bytes)
72
83
  })),
73
84
  providers: providerPeers
74
85
  .map(this.peerInfoMapper)
75
- .filter(({ multiaddrs }) => multiaddrs.length)
86
+ .filter(({ id, multiaddrs }) => multiaddrs.length > 0)
76
87
  .map(peerInfo => ({
77
88
  id: peerInfo.id.toMultihash().bytes,
78
89
  multiaddrs: peerInfo.multiaddrs.map(ma => ma.bytes)
@@ -87,29 +98,4 @@ export class GetProvidersHandler implements DHTMessageHandler {
87
98
  async _getAddresses (peerId: PeerId): Promise<Multiaddr[]> {
88
99
  return []
89
100
  }
90
-
91
- async _getPeers (peerIds: PeerId[]): Promise<PeerInfo[]> {
92
- const output: PeerInfo[] = []
93
-
94
- for (const peerId of peerIds) {
95
- try {
96
- const peer = await this.peerStore.get(peerId)
97
-
98
- const peerAfterFilter = this.peerInfoMapper({
99
- id: peerId,
100
- multiaddrs: peer.addresses.map(({ multiaddr }) => multiaddr)
101
- })
102
-
103
- if (peerAfterFilter.multiaddrs.length > 0) {
104
- output.push(peerAfterFilter)
105
- }
106
- } catch (err: any) {
107
- if (err.name !== 'NotFoundError') {
108
- throw err
109
- }
110
- }
111
- }
112
-
113
- return output
114
- }
115
101
  }
@@ -15,6 +15,7 @@ import type { Datastore } from 'interface-datastore'
15
15
  export interface GetValueHandlerInit {
16
16
  peerRouting: PeerRouting
17
17
  logPrefix: string
18
+ datastorePrefix: string
18
19
  }
19
20
 
20
21
  export interface GetValueHandlerComponents {
@@ -32,7 +33,7 @@ export class GetValueHandler implements DHTMessageHandler {
32
33
 
33
34
  constructor (components: GetValueHandlerComponents, init: GetValueHandlerInit) {
34
35
  this.log = components.logger.forComponent(`${init.logPrefix}:rpc:handlers:get-value`)
35
- this.datastorePrefix = `/${init.logPrefix.replaceAll(':', '/')}/record`
36
+ this.datastorePrefix = `${init.datastorePrefix}/record`
36
37
  this.peerStore = components.peerStore
37
38
  this.datastore = components.datastore
38
39
  this.peerRouting = init.peerRouting