@libp2p/peer-store 11.0.21 → 11.0.22-2fbcdb687

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 +1 -71
  2. package/dist/src/constants.d.ts +3 -0
  3. package/dist/src/constants.d.ts.map +1 -0
  4. package/dist/src/constants.js +3 -0
  5. package/dist/src/constants.js.map +1 -0
  6. package/dist/src/index.d.ts +22 -0
  7. package/dist/src/index.d.ts.map +1 -1
  8. package/dist/src/index.js.map +1 -1
  9. package/dist/src/pb/peer.d.ts +2 -0
  10. package/dist/src/pb/peer.d.ts.map +1 -1
  11. package/dist/src/pb/peer.js +16 -0
  12. package/dist/src/pb/peer.js.map +1 -1
  13. package/dist/src/store.d.ts +7 -0
  14. package/dist/src/store.d.ts.map +1 -1
  15. package/dist/src/store.js +80 -43
  16. package/dist/src/store.js.map +1 -1
  17. package/dist/src/utils/bytes-to-peer.d.ts +3 -1
  18. package/dist/src/utils/bytes-to-peer.d.ts.map +1 -1
  19. package/dist/src/utils/bytes-to-peer.js +24 -7
  20. package/dist/src/utils/bytes-to-peer.js.map +1 -1
  21. package/dist/src/utils/dedupe-addresses.d.ts +1 -1
  22. package/dist/src/utils/dedupe-addresses.d.ts.map +1 -1
  23. package/dist/src/utils/dedupe-addresses.js +1 -1
  24. package/dist/src/utils/dedupe-addresses.js.map +1 -1
  25. package/dist/src/utils/peer-equals.d.ts +3 -0
  26. package/dist/src/utils/peer-equals.d.ts.map +1 -0
  27. package/dist/src/utils/peer-equals.js +71 -0
  28. package/dist/src/utils/peer-equals.js.map +1 -0
  29. package/dist/src/utils/to-peer-pb.d.ts +3 -2
  30. package/dist/src/utils/to-peer-pb.d.ts.map +1 -1
  31. package/dist/src/utils/to-peer-pb.js +8 -2
  32. package/dist/src/utils/to-peer-pb.js.map +1 -1
  33. package/package.json +8 -7
  34. package/src/constants.ts +2 -0
  35. package/src/index.ts +24 -0
  36. package/src/pb/peer.proto +6 -0
  37. package/src/pb/peer.ts +20 -0
  38. package/src/store.ts +95 -55
  39. package/src/utils/bytes-to-peer.ts +33 -12
  40. package/src/utils/dedupe-addresses.ts +1 -1
  41. package/src/utils/peer-equals.ts +91 -0
  42. package/src/utils/to-peer-pb.ts +17 -4
  43. package/dist/src/utils/peer-data-to-datastore-peer.d.ts +0 -4
  44. package/dist/src/utils/peer-data-to-datastore-peer.d.ts.map +0 -1
  45. package/dist/src/utils/peer-data-to-datastore-peer.js +0 -91
  46. package/dist/src/utils/peer-data-to-datastore-peer.js.map +0 -1
  47. package/dist/typedoc-urls.json +0 -10
  48. package/src/utils/peer-data-to-datastore-peer.ts +0 -113
@@ -0,0 +1,3 @@
1
+ export declare const MAX_ADDRESS_AGE = 3600000;
2
+ export declare const MAX_PEER_AGE = 21600000;
3
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,UAAY,CAAA;AACxC,eAAO,MAAM,YAAY,WAAa,CAAA"}
@@ -0,0 +1,3 @@
1
+ export const MAX_ADDRESS_AGE = 3_600_000;
2
+ export const MAX_PEER_AGE = 21_600_000;
3
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAA;AACxC,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAA"}
@@ -19,7 +19,29 @@ export interface AddressFilter {
19
19
  (peerId: PeerId, multiaddr: Multiaddr): Promise<boolean> | boolean;
20
20
  }
21
21
  export interface PersistentPeerStoreInit {
22
+ /**
23
+ * Used to remove multiaddrs of peers before storing them. The default is to
24
+ * store all addresses
25
+ */
22
26
  addressFilter?: AddressFilter;
27
+ /**
28
+ * The multiaddrs for a given peer will expire after this number of ms after
29
+ * which they must be re-fetched using the peer routing.
30
+ *
31
+ * Defaults to one hour.
32
+ *
33
+ * @default 3_600_000
34
+ */
35
+ maxAddressAge?: number;
36
+ /**
37
+ * Any peer without multiaddrs that has not been updated after this number of
38
+ * ms will be evicted from the peer store.
39
+ *
40
+ * Defaults to six hours.
41
+ *
42
+ * @default 21_600_000
43
+ */
44
+ maxPeerAge?: number;
23
45
  }
24
46
  export declare function persistentPeerStore(components: PersistentPeerStoreComponents, init?: PersistentPeerStoreInit): PeerStore;
25
47
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAU,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAA6B,MAAM,mBAAmB,CAAA;AAC9I,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;IACtC,MAAM,EAAE,eAAe,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;CACnE;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B;AAiMD,wBAAgB,mBAAmB,CAAE,UAAU,EAAE,6BAA6B,EAAE,IAAI,GAAE,uBAA4B,GAAG,SAAS,CAE7H"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAU,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAA6B,MAAM,mBAAmB,CAAA;AAC9I,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;IACtC,MAAM,EAAE,eAAe,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;CACnE;AAED,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,aAAa,CAAC,EAAE,aAAa,CAAA;IAE7B;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAiMD,wBAAgB,mBAAmB,CAAE,UAAU,EAAE,6BAA6B,EAAE,IAAI,GAAE,uBAA4B,GAAG,SAAS,CAE7H"}
@@ -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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"}
@@ -7,6 +7,7 @@ export interface Peer {
7
7
  peerRecordEnvelope?: Uint8Array;
8
8
  metadata: Map<string, Uint8Array>;
9
9
  tags: Map<string, Tag>;
10
+ updated?: number;
10
11
  }
11
12
  export declare namespace Peer {
12
13
  interface Peer$metadataEntry {
@@ -34,6 +35,7 @@ export declare namespace Peer {
34
35
  export interface Address {
35
36
  multiaddr: Uint8Array;
36
37
  isCertified?: boolean;
38
+ observed?: number;
37
39
  }
38
40
  export declare namespace Address {
39
41
  const codec: () => Codec<Address>;
@@ -1 +1 @@
1
- {"version":3,"file":"peer.d.ts","sourceRoot":"","sources":["../../../src/pb/peer.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,KAAK,EAAiB,KAAK,aAAa,EAAwD,MAAM,iBAAiB,CAAA;AAErI,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,MAAM,WAAW,IAAI;IACnB,SAAS,EAAE,OAAO,EAAE,CAAA;IACpB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,SAAS,CAAC,EAAE,UAAU,CAAA;IACtB,kBAAkB,CAAC,EAAE,UAAU,CAAA;IAC/B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACjC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CACvB;AAED,yBAAiB,IAAI,CAAC;IACpB,UAAiB,kBAAkB;QACjC,GAAG,EAAE,MAAM,CAAA;QACX,KAAK,EAAE,UAAU,CAAA;KAClB;IAED,UAAiB,kBAAkB,CAAC;QAG3B,MAAM,KAAK,QAAO,MAAM,kBAAkB,CAoDhD,CAAA;QAEM,MAAM,MAAM,QAAS,QAAQ,kBAAkB,CAAC,KAAG,UAEzD,CAAA;QAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,SAAS,cAAc,kBAAkB,CAAC,KAAG,kBAEnG,CAAA;KACF;IAED,UAAiB,cAAc;QAC7B,GAAG,EAAE,MAAM,CAAA;QACX,KAAK,CAAC,EAAE,GAAG,CAAA;KACZ;IAED,UAAiB,cAAc,CAAC;QAGvB,MAAM,KAAK,QAAO,MAAM,cAAc,CAqD5C,CAAA;QAEM,MAAM,MAAM,QAAS,QAAQ,cAAc,CAAC,KAAG,UAErD,CAAA;QAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,SAAS,cAAc,cAAc,CAAC,KAAG,cAE/F,CAAA;KACF;IAIM,MAAM,KAAK,QAAO,MAAM,IAAI,CA0HlC,CAAA;IAEM,MAAM,MAAM,QAAS,QAAQ,IAAI,CAAC,KAAG,UAE3C,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,SAAS,cAAc,IAAI,CAAC,KAAG,IAErF,CAAA;CACF;AAED,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,UAAU,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,yBAAiB,OAAO,CAAC;IAGhB,MAAM,KAAK,QAAO,MAAM,OAAO,CAmDrC,CAAA;IAEM,MAAM,MAAM,QAAS,QAAQ,OAAO,CAAC,KAAG,UAE9C,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,SAAS,cAAc,OAAO,CAAC,KAAG,OAExF,CAAA;CACF;AAED,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,yBAAiB,GAAG,CAAC;IAGZ,MAAM,KAAK,QAAO,MAAM,GAAG,CAmDjC,CAAA;IAEM,MAAM,MAAM,QAAS,QAAQ,GAAG,CAAC,KAAG,UAE1C,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,SAAS,cAAc,GAAG,CAAC,KAAG,GAEpF,CAAA;CACF"}
1
+ {"version":3,"file":"peer.d.ts","sourceRoot":"","sources":["../../../src/pb/peer.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,KAAK,EAAiB,KAAK,aAAa,EAAwD,MAAM,iBAAiB,CAAA;AAErI,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,MAAM,WAAW,IAAI;IACnB,SAAS,EAAE,OAAO,EAAE,CAAA;IACpB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,SAAS,CAAC,EAAE,UAAU,CAAA;IACtB,kBAAkB,CAAC,EAAE,UAAU,CAAA;IAC/B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACjC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,yBAAiB,IAAI,CAAC;IACpB,UAAiB,kBAAkB;QACjC,GAAG,EAAE,MAAM,CAAA;QACX,KAAK,EAAE,UAAU,CAAA;KAClB;IAED,UAAiB,kBAAkB,CAAC;QAG3B,MAAM,KAAK,QAAO,MAAM,kBAAkB,CAoDhD,CAAA;QAEM,MAAM,MAAM,QAAS,QAAQ,kBAAkB,CAAC,KAAG,UAEzD,CAAA;QAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,SAAS,cAAc,kBAAkB,CAAC,KAAG,kBAEnG,CAAA;KACF;IAED,UAAiB,cAAc;QAC7B,GAAG,EAAE,MAAM,CAAA;QACX,KAAK,CAAC,EAAE,GAAG,CAAA;KACZ;IAED,UAAiB,cAAc,CAAC;QAGvB,MAAM,KAAK,QAAO,MAAM,cAAc,CAqD5C,CAAA;QAEM,MAAM,MAAM,QAAS,QAAQ,cAAc,CAAC,KAAG,UAErD,CAAA;QAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,SAAS,cAAc,cAAc,CAAC,KAAG,cAE/F,CAAA;KACF;IAIM,MAAM,KAAK,QAAO,MAAM,IAAI,CAmIlC,CAAA;IAEM,MAAM,MAAM,QAAS,QAAQ,IAAI,CAAC,KAAG,UAE3C,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,SAAS,cAAc,IAAI,CAAC,KAAG,IAErF,CAAA;CACF;AAED,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,UAAU,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,yBAAiB,OAAO,CAAC;IAGhB,MAAM,KAAK,QAAO,MAAM,OAAO,CA4DrC,CAAA;IAEM,MAAM,MAAM,QAAS,QAAQ,OAAO,CAAC,KAAG,UAE9C,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,SAAS,cAAc,OAAO,CAAC,KAAG,OAExF,CAAA;CACF;AAED,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,yBAAiB,GAAG,CAAC;IAGZ,MAAM,KAAK,QAAO,MAAM,GAAG,CAmDjC,CAAA;IAEM,MAAM,MAAM,QAAS,QAAQ,GAAG,CAAC,KAAG,UAE1C,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,SAAS,cAAc,GAAG,CAAC,KAAG,GAEpF,CAAA;CACF"}
@@ -157,6 +157,10 @@ export var Peer;
157
157
  Peer.Peer$tagsEntry.codec().encode({ key, value }, w);
158
158
  }
159
159
  }
160
+ if (obj.updated != null) {
161
+ w.uint32(64);
162
+ w.uint64Number(obj.updated);
163
+ }
160
164
  if (opts.lengthDelimited !== false) {
161
165
  w.ldelim();
162
166
  }
@@ -215,6 +219,10 @@ export var Peer;
215
219
  obj.tags.set(entry.key, entry.value);
216
220
  break;
217
221
  }
222
+ case 8: {
223
+ obj.updated = reader.uint64Number();
224
+ break;
225
+ }
218
226
  default: {
219
227
  reader.skipType(tag & 7);
220
228
  break;
@@ -250,6 +258,10 @@ export var Address;
250
258
  w.uint32(16);
251
259
  w.bool(obj.isCertified);
252
260
  }
261
+ if (obj.observed != null) {
262
+ w.uint32(24);
263
+ w.uint64Number(obj.observed);
264
+ }
253
265
  if (opts.lengthDelimited !== false) {
254
266
  w.ldelim();
255
267
  }
@@ -269,6 +281,10 @@ export var Address;
269
281
  obj.isCertified = reader.bool();
270
282
  break;
271
283
  }
284
+ case 3: {
285
+ obj.observed = reader.uint64Number();
286
+ break;
287
+ }
272
288
  default: {
273
289
  reader.skipType(tag & 7);
274
290
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"peer.js","sourceRoot":"","sources":["../../../src/pb/peer.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,+BAA+B;AAC/B,oDAAoD;AACpD,8EAA8E;AAC9E,0DAA0D;AAE1D,OAAO,EAAc,aAAa,EAAsB,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACrI,OAAO,EAAE,KAAK,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAY5D,MAAM,KAAW,IAAI,CAqRpB;AArRD,WAAiB,IAAI;IAMnB,IAAiB,kBAAkB,CAgElC;IAhED,WAAiB,kBAAkB;QACjC,IAAI,MAAiC,CAAA;QAExB,wBAAK,GAAG,GAA8B,EAAE;YACnD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,MAAM,GAAG,OAAO,CAAqB,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;oBACzD,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;wBACnC,CAAC,CAAC,IAAI,EAAE,CAAA;oBACV,CAAC;oBAED,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC;wBACxC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;wBACZ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBACnB,CAAC;oBAED,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;wBACpD,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;wBACZ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;oBACpB,CAAC;oBAED,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;wBACnC,CAAC,CAAC,MAAM,EAAE,CAAA;oBACZ,CAAC;gBACH,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;oBAC/B,MAAM,GAAG,GAAQ;wBACf,GAAG,EAAE,EAAE;wBACP,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC;qBAC1B,CAAA;oBAED,MAAM,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAA;oBAE7D,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;wBACxB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;wBAE3B,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC;4BAClB,KAAK,CAAC,CAAC,CAAC,CAAC;gCACP,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;gCACzB,MAAK;4BACP,CAAC;4BACD,KAAK,CAAC,CAAC,CAAC,CAAC;gCACP,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAA;gCAC1B,MAAK;4BACP,CAAC;4BACD,OAAO,CAAC,CAAC,CAAC;gCACR,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;gCACxB,MAAK;4BACP,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,OAAO,GAAG,CAAA;gBACZ,CAAC,CAAC,CAAA;YACJ,CAAC;YAED,OAAO,MAAM,CAAA;QACf,CAAC,CAAA;QAEY,yBAAM,GAAG,CAAC,GAAgC,EAAc,EAAE;YACrE,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAA;QACvD,CAAC,CAAA;QAEY,yBAAM,GAAG,CAAC,GAAgC,EAAE,IAAwC,EAAsB,EAAE;YACvH,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAA;QAC7D,CAAC,CAAA;IACH,CAAC,EAhEgB,kBAAkB,GAAlB,uBAAkB,KAAlB,uBAAkB,QAgElC;IAOD,IAAiB,cAAc,CAiE9B;IAjED,WAAiB,cAAc;QAC7B,IAAI,MAA6B,CAAA;QAEpB,oBAAK,GAAG,GAA0B,EAAE;YAC/C,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,MAAM,GAAG,OAAO,CAAiB,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;oBACrD,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;wBACnC,CAAC,CAAC,IAAI,EAAE,CAAA;oBACV,CAAC;oBAED,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC;wBACxC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;wBACZ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBACnB,CAAC;oBAED,IAAI,GAAG,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;wBACtB,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;wBACZ,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;oBAClC,CAAC;oBAED,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;wBACnC,CAAC,CAAC,MAAM,EAAE,CAAA;oBACZ,CAAC;gBACH,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;oBAC/B,MAAM,GAAG,GAAQ;wBACf,GAAG,EAAE,EAAE;qBACR,CAAA;oBAED,MAAM,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAA;oBAE7D,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;wBACxB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;wBAE3B,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC;4BAClB,KAAK,CAAC,CAAC,CAAC,CAAC;gCACP,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;gCACzB,MAAK;4BACP,CAAC;4BACD,KAAK,CAAC,CAAC,CAAC,CAAC;gCACP,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE;oCACtD,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK;iCAC3B,CAAC,CAAA;gCACF,MAAK;4BACP,CAAC;4BACD,OAAO,CAAC,CAAC,CAAC;gCACR,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;gCACxB,MAAK;4BACP,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,OAAO,GAAG,CAAA;gBACZ,CAAC,CAAC,CAAA;YACJ,CAAC;YAED,OAAO,MAAM,CAAA;QACf,CAAC,CAAA;QAEY,qBAAM,GAAG,CAAC,GAA4B,EAAc,EAAE;YACjE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC,CAAA;QACnD,CAAC,CAAA;QAEY,qBAAM,GAAG,CAAC,GAAgC,EAAE,IAAoC,EAAkB,EAAE;YAC/G,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAA;QACzD,CAAC,CAAA;IACH,CAAC,EAjEgB,cAAc,GAAd,mBAAc,KAAd,mBAAc,QAiE9B;IAED,IAAI,MAAmB,CAAA;IAEV,UAAK,GAAG,GAAgB,EAAE;QACrC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,GAAG,OAAO,CAAO,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;gBAC3C,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;oBACnC,CAAC,CAAC,IAAI,EAAE,CAAA;gBACV,CAAC;gBAED,IAAI,GAAG,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;oBAC1B,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;wBAClC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;wBACZ,OAAO,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;oBAClC,CAAC;gBACH,CAAC;gBAED,IAAI,GAAG,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;oBAC1B,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;wBAClC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;wBACZ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oBACjB,CAAC;gBACH,CAAC;gBAED,IAAI,GAAG,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;oBAC1B,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;oBACZ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;gBACxB,CAAC;gBAED,IAAI,GAAG,CAAC,kBAAkB,IAAI,IAAI,EAAE,CAAC;oBACnC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;oBACZ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;gBACjC,CAAC;gBAED,IAAI,GAAG,CAAC,QAAQ,IAAI,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;oBACpD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;wBAClD,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;wBACZ,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;oBAC3D,CAAC;gBACH,CAAC;gBAED,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;oBAC5C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;wBAC9C,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;wBACZ,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;oBACvD,CAAC;gBACH,CAAC;gBAED,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;oBACnC,CAAC,CAAC,MAAM,EAAE,CAAA;gBACZ,CAAC;YACH,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;gBAC/B,MAAM,GAAG,GAAQ;oBACf,SAAS,EAAE,EAAE;oBACb,SAAS,EAAE,EAAE;oBACb,QAAQ,EAAE,IAAI,GAAG,EAAsB;oBACvC,IAAI,EAAE,IAAI,GAAG,EAAqB;iBACnC,CAAA;gBAED,MAAM,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAA;gBAE7D,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;oBACxB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;oBAE3B,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC;wBAClB,KAAK,CAAC,CAAC,CAAC,CAAC;4BACP,IAAI,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,IAAI,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gCACrF,MAAM,IAAI,cAAc,CAAC,4DAA4D,CAAC,CAAA;4BACxF,CAAC;4BAED,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE;gCACjE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU;6BAChC,CAAC,CAAC,CAAA;4BACH,MAAK;wBACP,CAAC;wBACD,KAAK,CAAC,CAAC,CAAC,CAAC;4BACP,IAAI,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,IAAI,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gCACrF,MAAM,IAAI,cAAc,CAAC,4DAA4D,CAAC,CAAA;4BACxF,CAAC;4BAED,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;4BACnC,MAAK;wBACP,CAAC;wBACD,KAAK,CAAC,CAAC,CAAC,CAAC;4BACP,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,CAAA;4BAC9B,MAAK;wBACP,CAAC;wBACD,KAAK,CAAC,CAAC,CAAC,CAAC;4BACP,GAAG,CAAC,kBAAkB,GAAG,MAAM,CAAC,KAAK,EAAE,CAAA;4BACvC,MAAK;wBACP,CAAC;wBACD,KAAK,CAAC,CAAC,CAAC,CAAC;4BACP,IAAI,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gCAChF,MAAM,IAAI,YAAY,CAAC,2DAA2D,CAAC,CAAA;4BACrF,CAAC;4BAED,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;4BAC7E,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;4BACxC,MAAK;wBACP,CAAC;wBACD,KAAK,CAAC,CAAC,CAAC,CAAC;4BACP,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gCACpE,MAAM,IAAI,YAAY,CAAC,uDAAuD,CAAC,CAAA;4BACjF,CAAC;4BAED,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE;gCACxE,MAAM,EAAE;oCACN,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU;iCAC/B;6BACF,CAAC,CAAA;4BACF,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;4BACpC,MAAK;wBACP,CAAC;wBACD,OAAO,CAAC,CAAC,CAAC;4BACR,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;4BACxB,MAAK;wBACP,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,OAAO,GAAG,CAAA;YACZ,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAEY,WAAM,GAAG,CAAC,GAAkB,EAAc,EAAE;QACvD,OAAO,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;IACzC,CAAC,CAAA;IAEY,WAAM,GAAG,CAAC,GAAgC,EAAE,IAA0B,EAAQ,EAAE;QAC3F,OAAO,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAA;IAC/C,CAAC,CAAA;AACH,CAAC,EArRgB,IAAI,KAAJ,IAAI,QAqRpB;AAOD,MAAM,KAAW,OAAO,CA+DvB;AA/DD,WAAiB,OAAO;IACtB,IAAI,MAAsB,CAAA;IAEb,aAAK,GAAG,GAAmB,EAAE;QACxC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,GAAG,OAAO,CAAU,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;gBAC9C,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;oBACnC,CAAC,CAAC,IAAI,EAAE,CAAA;gBACV,CAAC;gBAED,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,IAAI,GAAG,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;oBAC5D,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;oBACZ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;gBACxB,CAAC;gBAED,IAAI,GAAG,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;oBAC5B,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;oBACZ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;gBACzB,CAAC;gBAED,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;oBACnC,CAAC,CAAC,MAAM,EAAE,CAAA;gBACZ,CAAC;YACH,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;gBAC/B,MAAM,GAAG,GAAQ;oBACf,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC;iBAC9B,CAAA;gBAED,MAAM,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAA;gBAE7D,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;oBACxB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;oBAE3B,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC;wBAClB,KAAK,CAAC,CAAC,CAAC,CAAC;4BACP,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,CAAA;4BAC9B,MAAK;wBACP,CAAC;wBACD,KAAK,CAAC,CAAC,CAAC,CAAC;4BACP,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;4BAC/B,MAAK;wBACP,CAAC;wBACD,OAAO,CAAC,CAAC,CAAC;4BACR,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;4BACxB,MAAK;wBACP,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,OAAO,GAAG,CAAA;YACZ,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAEY,cAAM,GAAG,CAAC,GAAqB,EAAc,EAAE;QAC1D,OAAO,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;IAC5C,CAAC,CAAA;IAEY,cAAM,GAAG,CAAC,GAAgC,EAAE,IAA6B,EAAW,EAAE;QACjG,OAAO,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAA;IAClD,CAAC,CAAA;AACH,CAAC,EA/DgB,OAAO,KAAP,OAAO,QA+DvB;AAOD,MAAM,KAAW,GAAG,CA+DnB;AA/DD,WAAiB,GAAG;IAClB,IAAI,MAAkB,CAAA;IAET,SAAK,GAAG,GAAe,EAAE;QACpC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,GAAG,OAAO,CAAM,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;gBAC1C,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;oBACnC,CAAC,CAAC,IAAI,EAAE,CAAA;gBACV,CAAC;gBAED,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;oBAC3C,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;oBACX,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBACrB,CAAC;gBAED,IAAI,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;oBACvB,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;oBACZ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;gBACtB,CAAC;gBAED,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;oBACnC,CAAC,CAAC,MAAM,EAAE,CAAA;gBACZ,CAAC;YACH,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;gBAC/B,MAAM,GAAG,GAAQ;oBACf,KAAK,EAAE,CAAC;iBACT,CAAA;gBAED,MAAM,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAA;gBAE7D,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;oBACxB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;oBAE3B,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC;wBAClB,KAAK,CAAC,CAAC,CAAC,CAAC;4BACP,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;4BAC3B,MAAK;wBACP,CAAC;wBACD,KAAK,CAAC,CAAC,CAAC,CAAC;4BACP,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;4BAC5B,MAAK;wBACP,CAAC;wBACD,OAAO,CAAC,CAAC,CAAC;4BACR,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;4BACxB,MAAK;wBACP,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,OAAO,GAAG,CAAA;YACZ,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAEY,UAAM,GAAG,CAAC,GAAiB,EAAc,EAAE;QACtD,OAAO,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAA;IACxC,CAAC,CAAA;IAEY,UAAM,GAAG,CAAC,GAAgC,EAAE,IAAyB,EAAO,EAAE;QACzF,OAAO,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAA;IAC9C,CAAC,CAAA;AACH,CAAC,EA/DgB,GAAG,KAAH,GAAG,QA+DnB"}
1
+ {"version":3,"file":"peer.js","sourceRoot":"","sources":["../../../src/pb/peer.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { type Mortice } from 'mortice';
2
+ import { Peer as PeerPB } from './pb/peer.js';
2
3
  import type { PersistentPeerStoreComponents, PersistentPeerStoreInit } from './index.js';
3
4
  import type { PeerUpdate as PeerUpdateExternal, PeerId, Peer, PeerData, PeerQuery } from '@libp2p/interface';
4
5
  /**
@@ -7,6 +8,10 @@ import type { PeerUpdate as PeerUpdateExternal, PeerId, Peer, PeerData, PeerQuer
7
8
  export interface PeerUpdate extends PeerUpdateExternal {
8
9
  updated: boolean;
9
10
  }
11
+ export interface ExistingPeer {
12
+ peerPB: PeerPB;
13
+ peer: Peer;
14
+ }
10
15
  export declare class PersistentStore {
11
16
  #private;
12
17
  private readonly peerId;
@@ -14,6 +19,8 @@ export declare class PersistentStore {
14
19
  readonly lock: Mortice;
15
20
  private readonly addressFilter?;
16
21
  private readonly log;
22
+ private readonly maxAddressAge;
23
+ private readonly maxPeerAge;
17
24
  constructor(components: PersistentPeerStoreComponents, init?: PersistentPeerStoreInit);
18
25
  has(peerId: PeerId): Promise<boolean>;
19
26
  delete(peerId: PeerId): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AAEA,OAAgB,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAA;AAQ/C,OAAO,KAAK,EAAiB,6BAA6B,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACvG,OAAO,KAAK,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAU,MAAM,mBAAmB,CAAA;AAGpH;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,kBAAkB;IACpD,OAAO,EAAE,OAAO,CAAA;CACjB;AA2BD,qBAAa,eAAe;;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,SAAgB,IAAI,EAAE,OAAO,CAAA;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;gBAEf,UAAU,EAAE,6BAA6B,EAAE,IAAI,GAAE,uBAA4B;IAWpF,GAAG,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAItC,MAAM,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtC,IAAI,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpC,IAAI,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAa1D,KAAK,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAcpE,KAAK,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAczD,GAAG,CAAE,KAAK,CAAC,EAAE,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC;CAkDrE"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AAEA,OAAgB,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAA;AAI/C,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AAK7C,OAAO,KAAK,EAAiB,6BAA6B,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACvG,OAAO,KAAK,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAU,MAAM,mBAAmB,CAAA;AAGpH;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,kBAAkB;IACpD,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,IAAI,CAAA;CACX;AA4BD,qBAAa,eAAe;;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,SAAgB,IAAI,EAAE,OAAO,CAAA;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;gBAEtB,UAAU,EAAE,6BAA6B,EAAE,IAAI,GAAE,uBAA4B;IAapF,GAAG,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IActC,MAAM,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtC,IAAI,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAapC,IAAI,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAU1D,KAAK,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAWpE,KAAK,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAWzD,GAAG,CAAE,KAAK,CAAC,EAAE,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC;CAuErE"}
package/dist/src/store.js CHANGED
@@ -1,31 +1,32 @@
1
- import { InvalidParametersError } from '@libp2p/interface';
1
+ import { NotFoundError } from '@libp2p/interface';
2
2
  import { peerIdFromCID } from '@libp2p/peer-id';
3
3
  import mortice, {} from 'mortice';
4
4
  import { base32 } from 'multiformats/bases/base32';
5
5
  import { CID } from 'multiformats/cid';
6
- import { equals as uint8ArrayEquals } from 'uint8arrays/equals';
6
+ import { MAX_ADDRESS_AGE, MAX_PEER_AGE } from './constants.js';
7
7
  import { Peer as PeerPB } from './pb/peer.js';
8
- import { bytesToPeer } from './utils/bytes-to-peer.js';
8
+ import { bytesToPeer, pbToPeer } from './utils/bytes-to-peer.js';
9
+ import { peerEquals } from './utils/peer-equals.js';
9
10
  import { NAMESPACE_COMMON, peerIdToDatastoreKey } from './utils/peer-id-to-datastore-key.js';
10
11
  import { toPeerPB } from './utils/to-peer-pb.js';
11
- function decodePeer(key, value) {
12
+ function keyToPeerId(key) {
12
13
  // /peers/${peer-id-as-libp2p-key-cid-string-in-base-32}
13
14
  const base32Str = key.toString().split('/')[2];
14
15
  const buf = CID.parse(base32Str, base32);
15
- const peerId = peerIdFromCID(buf);
16
- return bytesToPeer(peerId, value);
16
+ return peerIdFromCID(buf);
17
17
  }
18
- function mapQuery(query) {
19
- if (query == null) {
20
- return {};
21
- }
18
+ function decodePeer(key, value, maxAddressAge) {
19
+ const peerId = keyToPeerId(key);
20
+ return bytesToPeer(peerId, value, maxAddressAge);
21
+ }
22
+ function mapQuery(query, maxAddressAge) {
22
23
  return {
23
24
  prefix: NAMESPACE_COMMON,
24
25
  filters: (query.filters ?? []).map(fn => ({ key, value }) => {
25
- return fn(decodePeer(key, value));
26
+ return fn(decodePeer(key, value, maxAddressAge));
26
27
  }),
27
28
  orders: (query.orders ?? []).map(fn => (a, b) => {
28
- return fn(decodePeer(a.key, a.value), decodePeer(b.key, b.value));
29
+ return fn(decodePeer(a.key, a.value, maxAddressAge), decodePeer(b.key, b.value, maxAddressAge));
29
30
  })
30
31
  };
31
32
  }
@@ -35,6 +36,8 @@ export class PersistentStore {
35
36
  lock;
36
37
  addressFilter;
37
38
  log;
39
+ maxAddressAge;
40
+ maxPeerAge;
38
41
  constructor(components, init = {}) {
39
42
  this.log = components.logger.forComponent('libp2p:peer-store');
40
43
  this.peerId = components.peerId;
@@ -44,60 +47,89 @@ export class PersistentStore {
44
47
  name: 'peer-store',
45
48
  singleProcess: true
46
49
  });
50
+ this.maxAddressAge = init.maxAddressAge ?? MAX_ADDRESS_AGE;
51
+ this.maxPeerAge = init.maxPeerAge ?? MAX_PEER_AGE;
47
52
  }
48
53
  async has(peerId) {
49
- return this.datastore.has(peerIdToDatastoreKey(peerId));
54
+ try {
55
+ await this.load(peerId);
56
+ return true;
57
+ }
58
+ catch (err) {
59
+ if (err.name !== 'NotFoundError') {
60
+ throw err;
61
+ }
62
+ }
63
+ return false;
50
64
  }
51
65
  async delete(peerId) {
52
66
  if (this.peerId.equals(peerId)) {
53
- throw new InvalidParametersError('Cannot delete self peer');
67
+ return;
54
68
  }
55
69
  await this.datastore.delete(peerIdToDatastoreKey(peerId));
56
70
  }
57
71
  async load(peerId) {
58
- const buf = await this.datastore.get(peerIdToDatastoreKey(peerId));
59
- return bytesToPeer(peerId, buf);
72
+ const key = peerIdToDatastoreKey(peerId);
73
+ const buf = await this.datastore.get(key);
74
+ const peer = PeerPB.decode(buf);
75
+ if (this.#peerIsExpired(peer)) {
76
+ await this.datastore.delete(key);
77
+ throw new NotFoundError();
78
+ }
79
+ return pbToPeer(peerId, peer, this.maxAddressAge);
60
80
  }
61
81
  async save(peerId, data) {
62
- const { existingBuf, existingPeer } = await this.#findExistingPeer(peerId);
82
+ const existingPeer = await this.#findExistingPeer(peerId);
63
83
  const peerPb = await toPeerPB(peerId, data, 'patch', {
64
84
  addressFilter: this.addressFilter
65
85
  });
66
- return this.#saveIfDifferent(peerId, peerPb, existingBuf, existingPeer);
86
+ return this.#saveIfDifferent(peerId, peerPb, existingPeer);
67
87
  }
68
88
  async patch(peerId, data) {
69
- const { existingBuf, existingPeer } = await this.#findExistingPeer(peerId);
89
+ const existingPeer = await this.#findExistingPeer(peerId);
70
90
  const peerPb = await toPeerPB(peerId, data, 'patch', {
71
91
  addressFilter: this.addressFilter,
72
92
  existingPeer
73
93
  });
74
- return this.#saveIfDifferent(peerId, peerPb, existingBuf, existingPeer);
94
+ return this.#saveIfDifferent(peerId, peerPb, existingPeer);
75
95
  }
76
96
  async merge(peerId, data) {
77
- const { existingBuf, existingPeer } = await this.#findExistingPeer(peerId);
97
+ const existingPeer = await this.#findExistingPeer(peerId);
78
98
  const peerPb = await toPeerPB(peerId, data, 'merge', {
79
99
  addressFilter: this.addressFilter,
80
100
  existingPeer
81
101
  });
82
- return this.#saveIfDifferent(peerId, peerPb, existingBuf, existingPeer);
102
+ return this.#saveIfDifferent(peerId, peerPb, existingPeer);
83
103
  }
84
104
  async *all(query) {
85
- for await (const { key, value } of this.datastore.query(mapQuery(query ?? {}))) {
86
- const peer = decodePeer(key, value);
87
- if (peer.id.equals(this.peerId)) {
88
- // Skip self peer if present
105
+ for await (const { key, value } of this.datastore.query(mapQuery(query ?? {}, this.maxAddressAge))) {
106
+ const peerId = keyToPeerId(key);
107
+ // skip self peer if present
108
+ if (peerId.equals(this.peerId)) {
89
109
  continue;
90
110
  }
91
- yield peer;
111
+ const peer = PeerPB.decode(value);
112
+ // remove expired peer
113
+ if (this.#peerIsExpired(peer)) {
114
+ await this.datastore.delete(key);
115
+ continue;
116
+ }
117
+ yield pbToPeer(peerId, peer, this.maxAddressAge);
92
118
  }
93
119
  }
94
120
  async #findExistingPeer(peerId) {
95
121
  try {
96
- const existingBuf = await this.datastore.get(peerIdToDatastoreKey(peerId));
97
- const existingPeer = bytesToPeer(peerId, existingBuf);
122
+ const key = peerIdToDatastoreKey(peerId);
123
+ const buf = await this.datastore.get(key);
124
+ const peerPB = PeerPB.decode(buf);
125
+ // remove expired peer
126
+ if (this.#peerIsExpired(peerPB)) {
127
+ await this.datastore.delete(key);
128
+ throw new NotFoundError();
129
+ }
98
130
  return {
99
- existingBuf,
100
- existingPeer
131
+ peerPB,
132
+ peer: bytesToPeer(peerId, buf, this.maxAddressAge)
101
133
  };
102
134
  }
103
135
  catch (err) {
@@ -105,23 +137,28 @@ export class PersistentStore {
105
137
  this.log.error('invalid peer data found in peer store - %e', err);
106
138
  }
107
139
  }
108
- return {};
109
140
  }
110
- async #saveIfDifferent(peerId, peer, existingBuf, existingPeer) {
141
+ async #saveIfDifferent(peerId, peer, existingPeer) {
142
+ // record last update
143
+ peer.updated = Date.now();
111
144
  const buf = PeerPB.encode(peer);
112
- if (existingBuf != null && uint8ArrayEquals(buf, existingBuf)) {
113
- return {
114
- peer: bytesToPeer(peerId, buf),
115
- previous: existingPeer,
116
- updated: false
117
- };
118
- }
119
145
  await this.datastore.put(peerIdToDatastoreKey(peerId), buf);
120
146
  return {
121
- peer: bytesToPeer(peerId, buf),
122
- previous: existingPeer,
123
- updated: true
147
+ peer: bytesToPeer(peerId, buf, this.maxAddressAge),
148
+ previous: existingPeer?.peer,
149
+ updated: existingPeer == null || !peerEquals(peer, existingPeer.peerPB)
124
150
  };
125
151
  }
152
+ #peerIsExpired(peer) {
153
+ if (peer.updated == null) {
154
+ return true;
155
+ }
156
+ const expired = peer.updated < (Date.now() - this.maxPeerAge);
157
+ const minAddressObserved = Date.now() - this.maxAddressAge;
158
+ const addrs = peer.addresses.filter(addr => {
159
+ return addr.observed != null && addr.observed > minAddressObserved;
160
+ });
161
+ return expired && addrs.length === 0;
162
+ }
126
163
  }
127
164
  //# sourceMappingURL=store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { Peer as PeerPB } from '../pb/peer.js';
1
2
  import type { PeerId, Peer } from '@libp2p/interface';
2
- export declare function bytesToPeer(peerId: PeerId, buf: Uint8Array): Peer;
3
+ export declare function bytesToPeer(peerId: PeerId, buf: Uint8Array, maxAddressAge: number): Peer;
4
+ export declare function pbToPeer(peerId: PeerId, peer: PeerPB, maxAddressAge: number): Peer;
3
5
  //# sourceMappingURL=bytes-to-peer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bytes-to-peer.d.ts","sourceRoot":"","sources":["../../../src/utils/bytes-to-peer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAO,MAAM,mBAAmB,CAAA;AAE1D,wBAAgB,WAAW,CAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,IAAI,CAkClE"}
1
+ {"version":3,"file":"bytes-to-peer.d.ts","sourceRoot":"","sources":["../../../src/utils/bytes-to-peer.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAO,MAAM,mBAAmB,CAAA;AAmB1D,wBAAgB,WAAW,CAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAIzF;AAED,wBAAgB,QAAQ,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CA8BnF"}
@@ -1,13 +1,27 @@
1
1
  import { publicKeyFromProtobuf } from '@libp2p/crypto/keys';
2
2
  import { peerIdFromPublicKey } from '@libp2p/peer-id';
3
3
  import { multiaddr } from '@multiformats/multiaddr';
4
+ import { base58btc } from 'multiformats/bases/base58';
5
+ import * as Digest from 'multiformats/hashes/digest';
4
6
  import { Peer as PeerPB } from '../pb/peer.js';
5
- export function bytesToPeer(peerId, buf) {
6
- const peer = PeerPB.decode(buf);
7
- if (peer.publicKey != null && peerId.publicKey == null) {
8
- const publicKey = publicKeyFromProtobuf(peer.publicKey);
9
- peerId = peerIdFromPublicKey(publicKey);
7
+ function populatePublicKey(peerId, protobuf) {
8
+ if (peerId.publicKey != null || protobuf.publicKey == null) {
9
+ return peerId;
10
+ }
11
+ let digest;
12
+ if (peerId.type === 'RSA') {
13
+ // avoid hashing public key
14
+ const multihash = base58btc.decode(`z${peerId}`);
15
+ digest = Digest.decode(multihash);
10
16
  }
17
+ const publicKey = publicKeyFromProtobuf(protobuf.publicKey, digest);
18
+ return peerIdFromPublicKey(publicKey);
19
+ }
20
+ export function bytesToPeer(peerId, buf, maxAddressAge) {
21
+ const peer = PeerPB.decode(buf);
22
+ return pbToPeer(peerId, peer, maxAddressAge);
23
+ }
24
+ export function pbToPeer(peerId, peer, maxAddressAge) {
11
25
  const tags = new Map();
12
26
  // remove any expired tags
13
27
  const now = BigInt(Date.now());
@@ -19,8 +33,11 @@ export function bytesToPeer(peerId, buf) {
19
33
  }
20
34
  return {
21
35
  ...peer,
22
- id: peerId,
23
- addresses: peer.addresses.map(({ multiaddr: ma, isCertified }) => {
36
+ id: populatePublicKey(peerId, peer),
37
+ addresses: peer.addresses
38
+ // remove any expired multiaddrs
39
+ .filter(({ observed }) => observed != null && observed > (Date.now() - maxAddressAge))
40
+ .map(({ multiaddr: ma, isCertified }) => {
24
41
  return {
25
42
  multiaddr: multiaddr(ma),
26
43
  isCertified: isCertified ?? false
@@ -1 +1 @@
1
- {"version":3,"file":"bytes-to-peer.js","sourceRoot":"","sources":["../../../src/utils/bytes-to-peer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,eAAe,CAAA;AAG9C,MAAM,UAAU,WAAW,CAAE,MAAc,EAAE,GAAe;IAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAE/B,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;QACvD,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACvD,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAA;IACzC,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAe,CAAA;IAEnC,0BAA0B;IAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IAE9B,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QAC7C,IAAI,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC3C,SAAQ;QACV,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACpB,CAAC;IAED,OAAO;QACL,GAAG,IAAI;QACP,EAAE,EAAE,MAAM;QACV,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;YAC/D,OAAO;gBACL,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;gBACxB,WAAW,EAAE,WAAW,IAAI,KAAK;aAClC,CAAA;QACH,CAAC,CAAC;QACF,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,SAAS;QACxD,IAAI;KACL,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"bytes-to-peer.js","sourceRoot":"","sources":["../../../src/utils/bytes-to-peer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,eAAe,CAAA;AAG9C,SAAS,iBAAiB,CAAE,MAAc,EAAE,QAAgB;IAC1D,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,QAAQ,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;QAC3D,OAAO,MAAM,CAAA;IACf,CAAC;IAED,IAAI,MAAW,CAAA;IAEf,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC1B,2BAA2B;QAC3B,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,CAAA;QAChD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACnC,CAAC;IAED,MAAM,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IACnE,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAA;AACvC,CAAC;AAED,MAAM,UAAU,WAAW,CAAE,MAAc,EAAE,GAAe,EAAE,aAAqB;IACjF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAE/B,OAAO,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,CAAA;AAC9C,CAAC;AAED,MAAM,UAAU,QAAQ,CAAE,MAAc,EAAE,IAAY,EAAE,aAAqB;IAC3E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAe,CAAA;IAEnC,0BAA0B;IAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IAE9B,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QAC7C,IAAI,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC3C,SAAQ;QACV,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACpB,CAAC;IAED,OAAO;QACL,GAAG,IAAI;QACP,EAAE,EAAE,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC;QACnC,SAAS,EAAE,IAAI,CAAC,SAAS;YACvB,gCAAgC;aAC/B,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,IAAI,IAAI,IAAI,QAAQ,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC,CAAC;aACrF,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;YACtC,OAAO;gBACL,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;gBACxB,WAAW,EAAE,WAAW,IAAI,KAAK;aAClC,CAAA;QACH,CAAC,CAAC;QACJ,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,SAAS;QACxD,IAAI;KACL,CAAA;AACH,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { AddressFilter } from '../index.js';
2
2
  import type { Address as AddressPB } from '../pb/peer.js';
3
3
  import type { PeerId, Address } from '@libp2p/interface';
4
- export declare function dedupeFilterAndSortAddresses(peerId: PeerId, filter: AddressFilter, addresses: Array<Address | AddressPB | undefined>): Promise<AddressPB[]>;
4
+ export declare function dedupeFilterAndSortAddresses(peerId: PeerId, filter: AddressFilter, addresses: Array<Address | AddressPB | undefined>, existingAddresses?: AddressPB[]): Promise<AddressPB[]>;
5
5
  //# sourceMappingURL=dedupe-addresses.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dedupe-addresses.d.ts","sourceRoot":"","sources":["../../../src/utils/dedupe-addresses.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAExD,wBAAsB,4BAA4B,CAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,CAAC,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CA0ClK"}
1
+ {"version":3,"file":"dedupe-addresses.d.ts","sourceRoot":"","sources":["../../../src/utils/dedupe-addresses.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAExD,wBAAsB,4BAA4B,CAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,CAAC,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC,EAAE,iBAAiB,CAAC,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CA0CnM"}
@@ -1,6 +1,6 @@
1
1
  import { InvalidParametersError } from '@libp2p/interface';
2
2
  import { isMultiaddr, multiaddr } from '@multiformats/multiaddr';
3
- export async function dedupeFilterAndSortAddresses(peerId, filter, addresses) {
3
+ export async function dedupeFilterAndSortAddresses(peerId, filter, addresses, existingAddresses) {
4
4
  const addressMap = new Map();
5
5
  for (const addr of addresses) {
6
6
  if (addr == null) {
@@ -1 +1 @@
1
- {"version":3,"file":"dedupe-addresses.js","sourceRoot":"","sources":["../../../src/utils/dedupe-addresses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAKhE,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAE,MAAc,EAAE,MAAqB,EAAE,SAAiD;IAC1I,MAAM,UAAU,GAAG,IAAI,GAAG,EAAmB,CAAA;IAE7C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,SAAQ;QACV,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,YAAY,UAAU,EAAE,CAAC;YACzC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC5C,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,sBAAsB,CAAC,uBAAuB,CAAC,CAAA;QAC3D,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YAC5C,SAAQ;QACV,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,KAAK,CAAA;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAA;QACvC,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAE1C,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,IAAI,WAAW,CAAA;QAC5D,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE;gBACpB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,WAAW;aACZ,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;SAC5B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;IACrE,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QACpC,WAAW;QACX,SAAS,EAAE,SAAS,CAAC,KAAK;KAC3B,CAAC,CAAC,CAAA;AACP,CAAC"}
1
+ {"version":3,"file":"dedupe-addresses.js","sourceRoot":"","sources":["../../../src/utils/dedupe-addresses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAKhE,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAE,MAAc,EAAE,MAAqB,EAAE,SAAiD,EAAE,iBAA+B;IAC3K,MAAM,UAAU,GAAG,IAAI,GAAG,EAAmB,CAAA;IAE7C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,SAAQ;QACV,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,YAAY,UAAU,EAAE,CAAC;YACzC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC5C,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,sBAAsB,CAAC,uBAAuB,CAAC,CAAA;QAC3D,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YAC5C,SAAQ;QACV,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,KAAK,CAAA;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAA;QACvC,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAE1C,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,IAAI,WAAW,CAAA;QAC5D,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE;gBACpB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,WAAW;aACZ,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;SAC5B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;IACrE,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QACpC,WAAW;QACX,SAAS,EAAE,SAAS,CAAC,KAAK;KAC3B,CAAC,CAAC,CAAA;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Peer } from '../pb/peer.js';
2
+ export declare function peerEquals(peerA: Peer, peerB: Peer): boolean;
3
+ //# sourceMappingURL=peer-equals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peer-equals.d.ts","sourceRoot":"","sources":["../../../src/utils/peer-equals.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAgB,MAAM,eAAe,CAAA;AAEvD,wBAAgB,UAAU,CAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO,CAO7D"}