@libp2p/kad-dht 14.1.3 → 14.1.4-5c4a79e5a

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. package/README.md +1 -1
  2. package/dist/index.min.js +6 -3
  3. package/dist/src/content-fetching/index.d.ts +1 -0
  4. package/dist/src/content-fetching/index.d.ts.map +1 -1
  5. package/dist/src/content-fetching/index.js +1 -1
  6. package/dist/src/content-fetching/index.js.map +1 -1
  7. package/dist/src/kad-dht.d.ts.map +1 -1
  8. package/dist/src/kad-dht.js +4 -2
  9. package/dist/src/kad-dht.js.map +1 -1
  10. package/dist/src/peer-routing/index.d.ts +9 -5
  11. package/dist/src/peer-routing/index.d.ts.map +1 -1
  12. package/dist/src/peer-routing/index.js +25 -7
  13. package/dist/src/peer-routing/index.js.map +1 -1
  14. package/dist/src/providers.d.ts.map +1 -1
  15. package/dist/src/providers.js +5 -3
  16. package/dist/src/providers.js.map +1 -1
  17. package/dist/src/reprovider.js +1 -1
  18. package/dist/src/reprovider.js.map +1 -1
  19. package/dist/src/rpc/handlers/add-provider.d.ts +5 -1
  20. package/dist/src/rpc/handlers/add-provider.d.ts.map +1 -1
  21. package/dist/src/rpc/handlers/add-provider.js +14 -5
  22. package/dist/src/rpc/handlers/add-provider.js.map +1 -1
  23. package/dist/src/rpc/handlers/get-providers.d.ts +3 -2
  24. package/dist/src/rpc/handlers/get-providers.d.ts.map +1 -1
  25. package/dist/src/rpc/handlers/get-providers.js +16 -28
  26. package/dist/src/rpc/handlers/get-providers.js.map +1 -1
  27. package/dist/src/rpc/handlers/get-value.d.ts +1 -0
  28. package/dist/src/rpc/handlers/get-value.d.ts.map +1 -1
  29. package/dist/src/rpc/handlers/get-value.js +1 -1
  30. package/dist/src/rpc/handlers/get-value.js.map +1 -1
  31. package/dist/src/rpc/handlers/put-value.d.ts +1 -0
  32. package/dist/src/rpc/handlers/put-value.d.ts.map +1 -1
  33. package/dist/src/rpc/handlers/put-value.js +1 -1
  34. package/dist/src/rpc/handlers/put-value.js.map +1 -1
  35. package/dist/src/rpc/index.d.ts +1 -0
  36. package/dist/src/rpc/index.d.ts.map +1 -1
  37. package/dist/src/rpc/index.js +0 -6
  38. package/dist/src/rpc/index.js.map +1 -1
  39. package/package.json +34 -34
  40. package/src/content-fetching/index.ts +2 -1
  41. package/src/kad-dht.ts +4 -2
  42. package/src/peer-routing/index.ts +38 -10
  43. package/src/providers.ts +5 -3
  44. package/src/reprovider.ts +1 -1
  45. package/src/rpc/handlers/add-provider.ts +18 -7
  46. package/src/rpc/handlers/get-providers.ts +18 -32
  47. package/src/rpc/handlers/get-value.ts +2 -1
  48. package/src/rpc/handlers/put-value.ts +2 -1
  49. package/src/rpc/index.ts +1 -6
  50. package/LICENSE +0 -4
  51. 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;CAkClD"}
@@ -58,12 +58,6 @@ export class RPC {
58
58
  Promise.resolve().then(async () => {
59
59
  const { stream, connection } = data;
60
60
  const peerId = connection.remotePeer;
61
- try {
62
- await this.routingTable.add(peerId);
63
- }
64
- catch (err) {
65
- this.log.error(err);
66
- }
67
61
  const self = this; // eslint-disable-line @typescript-eslint/no-this-alias
68
62
  await pipe(stream, (source) => lp.decode(source), async function* (source) {
69
63
  for await (const msg of source) {
@@ -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.3",
3
+ "version": "14.1.4-5c4a79e5a",
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,60 +57,60 @@
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",
67
- "@multiformats/multiaddr": "^12.2.3",
60
+ "@libp2p/crypto": "5.0.8-5c4a79e5a",
61
+ "@libp2p/interface": "2.3.0-5c4a79e5a",
62
+ "@libp2p/interface-internal": "2.2.0-5c4a79e5a",
63
+ "@libp2p/peer-collections": "6.0.13-5c4a79e5a",
64
+ "@libp2p/peer-id": "5.0.9-5c4a79e5a",
65
+ "@libp2p/record": "4.0.4-5c4a79e5a",
66
+ "@libp2p/utils": "6.3.0-5c4a79e5a",
67
+ "@multiformats/multiaddr": "^12.3.3",
68
68
  "any-signal": "^4.1.1",
69
- "interface-datastore": "^8.3.0",
69
+ "interface-datastore": "^8.3.1",
70
+ "it-all": "^3.0.6",
70
71
  "it-drain": "^3.0.7",
71
72
  "it-length": "^3.0.6",
72
- "it-length-prefixed": "^9.0.4",
73
- "it-map": "^3.1.0",
73
+ "it-length-prefixed": "^9.1.0",
74
+ "it-map": "^3.1.1",
74
75
  "it-merge": "^3.0.5",
75
- "it-parallel": "^3.0.7",
76
+ "it-parallel": "^3.0.8",
76
77
  "it-pipe": "^3.0.1",
77
- "it-protobuf-stream": "^1.1.3",
78
- "it-take": "^3.0.5",
79
- "mortice": "^3.0.4",
80
- "multiformats": "^13.1.0",
78
+ "it-protobuf-stream": "^1.1.5",
79
+ "it-take": "^3.0.6",
80
+ "mortice": "^3.0.6",
81
+ "multiformats": "^13.3.1",
81
82
  "p-defer": "^4.0.1",
82
83
  "p-event": "^6.0.1",
83
- "progress-events": "^1.0.0",
84
- "protons-runtime": "^5.4.0",
85
- "race-signal": "^1.0.2",
84
+ "progress-events": "^1.0.1",
85
+ "protons-runtime": "^5.5.0",
86
+ "race-signal": "^1.1.0",
86
87
  "uint8-varint": "^2.0.4",
87
88
  "uint8arraylist": "^2.4.8",
88
89
  "uint8arrays": "^5.1.0"
89
90
  },
90
91
  "devDependencies": {
91
- "@libp2p/interface-compliance-tests": "^6.1.11",
92
- "@libp2p/logger": "^5.1.4",
93
- "@libp2p/peer-store": "^11.0.12",
92
+ "@libp2p/interface-compliance-tests": "6.2.0-5c4a79e5a",
93
+ "@libp2p/logger": "5.1.5-5c4a79e5a",
94
+ "@libp2p/peer-store": "11.0.13-5c4a79e5a",
94
95
  "@types/lodash.random": "^3.2.9",
95
96
  "@types/lodash.range": "^3.2.9",
96
97
  "@types/sinon": "^17.0.3",
97
- "@types/which": "^3.0.3",
98
- "aegir": "^44.0.1",
99
- "datastore-core": "^10.0.0",
98
+ "@types/which": "^3.0.4",
99
+ "aegir": "^45.0.5",
100
+ "datastore-core": "^10.0.2",
100
101
  "delay": "^6.0.0",
101
- "execa": "^9.1.0",
102
- "it-all": "^3.0.6",
103
- "it-filter": "^3.1.0",
102
+ "execa": "^9.5.1",
103
+ "it-filter": "^3.1.1",
104
104
  "it-last": "^3.0.6",
105
105
  "it-pair": "^2.0.6",
106
- "it-stream-types": "^2.0.1",
106
+ "it-stream-types": "^2.0.2",
107
107
  "lodash.random": "^3.2.0",
108
108
  "lodash.range": "^3.2.0",
109
- "p-retry": "^6.2.0",
110
- "protons": "^7.5.0",
111
- "sinon": "^18.0.0",
109
+ "p-retry": "^6.2.1",
110
+ "protons": "^7.6.0",
111
+ "sinon": "^19.0.2",
112
112
  "sinon-ts": "^2.0.0",
113
- "which": "^4.0.0"
113
+ "which": "^5.0.0"
114
114
  },
115
115
  "browser": {
116
116
  "./dist/src/routing-table/generated-prefix-list.js": "./dist/src/routing-table/generated-prefix-list-browser.js"
@@ -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