libp2p 2.10.0 → 3.0.0-049bfa0fa

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 (121) hide show
  1. package/README.md +39 -37
  2. package/dist/index.min.js +14 -17
  3. package/dist/index.min.js.map +4 -4
  4. package/dist/src/address-manager/dns-mappings.d.ts +1 -2
  5. package/dist/src/address-manager/dns-mappings.d.ts.map +1 -1
  6. package/dist/src/address-manager/dns-mappings.js +39 -43
  7. package/dist/src/address-manager/dns-mappings.js.map +1 -1
  8. package/dist/src/address-manager/index.d.ts.map +1 -1
  9. package/dist/src/address-manager/index.js +31 -14
  10. package/dist/src/address-manager/index.js.map +1 -1
  11. package/dist/src/address-manager/ip-mappings.d.ts +1 -0
  12. package/dist/src/address-manager/ip-mappings.d.ts.map +1 -1
  13. package/dist/src/address-manager/ip-mappings.js +51 -40
  14. package/dist/src/address-manager/ip-mappings.js.map +1 -1
  15. package/dist/src/address-manager/observed-addresses.d.ts.map +1 -1
  16. package/dist/src/address-manager/observed-addresses.js +1 -3
  17. package/dist/src/address-manager/observed-addresses.js.map +1 -1
  18. package/dist/src/address-manager/transport-addresses.d.ts.map +1 -1
  19. package/dist/src/address-manager/transport-addresses.js +6 -8
  20. package/dist/src/address-manager/transport-addresses.js.map +1 -1
  21. package/dist/src/config/connection-gater.browser.d.ts.map +1 -1
  22. package/dist/src/config/connection-gater.browser.js +8 -22
  23. package/dist/src/config/connection-gater.browser.js.map +1 -1
  24. package/dist/src/config/connection-gater.d.ts.map +1 -1
  25. package/dist/src/config/connection-gater.js +1 -12
  26. package/dist/src/config/connection-gater.js.map +1 -1
  27. package/dist/src/config.d.ts.map +1 -1
  28. package/dist/src/config.js +3 -22
  29. package/dist/src/config.js.map +1 -1
  30. package/dist/src/connection-manager/address-sorter.d.ts.map +1 -1
  31. package/dist/src/connection-manager/address-sorter.js +1 -2
  32. package/dist/src/connection-manager/address-sorter.js.map +1 -1
  33. package/dist/src/connection-manager/connection-pruner.d.ts.map +1 -1
  34. package/dist/src/connection-manager/connection-pruner.js +7 -3
  35. package/dist/src/connection-manager/connection-pruner.js.map +1 -1
  36. package/dist/src/connection-manager/constants.defaults.d.ts +4 -0
  37. package/dist/src/connection-manager/constants.defaults.d.ts.map +1 -1
  38. package/dist/src/connection-manager/constants.defaults.js +4 -0
  39. package/dist/src/connection-manager/constants.defaults.js.map +1 -1
  40. package/dist/src/connection-manager/dial-queue.d.ts +2 -2
  41. package/dist/src/connection-manager/dial-queue.d.ts.map +1 -1
  42. package/dist/src/connection-manager/dial-queue.js +11 -23
  43. package/dist/src/connection-manager/dial-queue.js.map +1 -1
  44. package/dist/src/connection-manager/index.d.ts +10 -18
  45. package/dist/src/connection-manager/index.d.ts.map +1 -1
  46. package/dist/src/connection-manager/index.js +44 -26
  47. package/dist/src/connection-manager/index.js.map +1 -1
  48. package/dist/src/connection-manager/reconnect-queue.js +1 -1
  49. package/dist/src/connection-manager/reconnect-queue.js.map +1 -1
  50. package/dist/src/connection-manager/utils.d.ts +31 -3
  51. package/dist/src/connection-manager/utils.d.ts.map +1 -1
  52. package/dist/src/connection-manager/utils.js +99 -18
  53. package/dist/src/connection-manager/utils.js.map +1 -1
  54. package/dist/src/connection-monitor.d.ts +1 -1
  55. package/dist/src/connection-monitor.d.ts.map +1 -1
  56. package/dist/src/connection-monitor.js +2 -3
  57. package/dist/src/connection-monitor.js.map +1 -1
  58. package/dist/src/connection.d.ts +14 -9
  59. package/dist/src/connection.d.ts.map +1 -1
  60. package/dist/src/connection.js +118 -139
  61. package/dist/src/connection.js.map +1 -1
  62. package/dist/src/get-peer.js +3 -3
  63. package/dist/src/get-peer.js.map +1 -1
  64. package/dist/src/index.d.ts +2 -2
  65. package/dist/src/index.js +2 -2
  66. package/dist/src/libp2p.d.ts +3 -1
  67. package/dist/src/libp2p.d.ts.map +1 -1
  68. package/dist/src/libp2p.js +13 -7
  69. package/dist/src/libp2p.js.map +1 -1
  70. package/dist/src/peer-routing.js +1 -1
  71. package/dist/src/peer-routing.js.map +1 -1
  72. package/dist/src/random-walk.d.ts.map +1 -1
  73. package/dist/src/random-walk.js +13 -3
  74. package/dist/src/random-walk.js.map +1 -1
  75. package/dist/src/registrar.d.ts +8 -4
  76. package/dist/src/registrar.d.ts.map +1 -1
  77. package/dist/src/registrar.js +66 -46
  78. package/dist/src/registrar.js.map +1 -1
  79. package/dist/src/transport-manager.js +15 -2
  80. package/dist/src/transport-manager.js.map +1 -1
  81. package/dist/src/upgrader.d.ts +26 -16
  82. package/dist/src/upgrader.d.ts.map +1 -1
  83. package/dist/src/upgrader.js +88 -122
  84. package/dist/src/upgrader.js.map +1 -1
  85. package/dist/src/utils.d.ts +3 -0
  86. package/dist/src/utils.d.ts.map +1 -0
  87. package/dist/src/utils.js +25 -0
  88. package/dist/src/utils.js.map +1 -0
  89. package/dist/src/version.d.ts +1 -1
  90. package/dist/src/version.d.ts.map +1 -1
  91. package/dist/src/version.js +1 -1
  92. package/dist/src/version.js.map +1 -1
  93. package/package.json +27 -30
  94. package/src/address-manager/dns-mappings.ts +50 -50
  95. package/src/address-manager/index.ts +37 -17
  96. package/src/address-manager/ip-mappings.ts +64 -44
  97. package/src/address-manager/observed-addresses.ts +1 -3
  98. package/src/address-manager/transport-addresses.ts +7 -9
  99. package/src/config/connection-gater.browser.ts +8 -24
  100. package/src/config/connection-gater.ts +1 -12
  101. package/src/config.ts +3 -25
  102. package/src/connection-manager/address-sorter.ts +1 -2
  103. package/src/connection-manager/connection-pruner.ts +8 -3
  104. package/src/connection-manager/constants.defaults.ts +5 -0
  105. package/src/connection-manager/dial-queue.ts +12 -27
  106. package/src/connection-manager/index.ts +60 -45
  107. package/src/connection-manager/reconnect-queue.ts +1 -1
  108. package/src/connection-manager/utils.ts +129 -21
  109. package/src/connection-monitor.ts +3 -4
  110. package/src/connection.ts +142 -179
  111. package/src/get-peer.ts +3 -3
  112. package/src/index.ts +2 -2
  113. package/src/libp2p.ts +16 -9
  114. package/src/peer-routing.ts +1 -1
  115. package/src/random-walk.ts +13 -3
  116. package/src/registrar.ts +87 -61
  117. package/src/transport-manager.ts +18 -2
  118. package/src/upgrader.ts +132 -149
  119. package/src/utils.ts +31 -0
  120. package/src/version.ts +1 -1
  121. package/dist/typedoc-urls.json +0 -24
@@ -1,7 +1,8 @@
1
1
  import { ConnectionClosedError, InvalidMultiaddrError, InvalidParametersError, InvalidPeerIdError, NotStartedError, start, stop } from '@libp2p/interface';
2
2
  import { PeerMap } from '@libp2p/peer-collections';
3
- import { RateLimiter } from '@libp2p/utils/rate-limiter';
3
+ import { getNetConfig, isNetworkAddress, RateLimiter } from '@libp2p/utils';
4
4
  import { multiaddr } from '@multiformats/multiaddr';
5
+ import { pEvent } from 'p-event';
5
6
  import { CustomProgressEvent } from 'progress-events';
6
7
  import { getPeerAddress } from '../get-peer.js';
7
8
  import { ConnectionPruner } from './connection-pruner.js';
@@ -9,7 +10,7 @@ import { DIAL_TIMEOUT, INBOUND_CONNECTION_THRESHOLD, MAX_CONNECTIONS, MAX_DIAL_Q
9
10
  import { DialQueue } from './dial-queue.js';
10
11
  import { ReconnectQueue } from './reconnect-queue.js';
11
12
  import { dnsaddrResolver } from "./resolvers/index.js";
12
- import { multiaddrToIpNet } from './utils.js';
13
+ import { findExistingConnection, multiaddrToIpNet } from './utils.js';
13
14
  export const DEFAULT_DIAL_PRIORITY = 50;
14
15
  const defaultOptions = {
15
16
  maxConnections: MAX_CONNECTIONS,
@@ -55,8 +56,8 @@ export class DefaultConnectionManager {
55
56
  this.onConnect = this.onConnect.bind(this);
56
57
  this.onDisconnect = this.onDisconnect.bind(this);
57
58
  // allow/deny lists
58
- this.allow = (init.allow ?? []).map(str => multiaddrToIpNet(str));
59
- this.deny = (init.deny ?? []).map(str => multiaddrToIpNet(str));
59
+ this.allow = (init.allow ?? []).map(str => multiaddrToIpNet(multiaddr(str)));
60
+ this.deny = (init.deny ?? []).map(str => multiaddrToIpNet(multiaddr(str)));
60
61
  this.incomingPendingConnections = 0;
61
62
  this.maxIncomingPendingConnections = init.maxIncomingPendingConnections ?? defaultOptions.maxIncomingPendingConnections;
62
63
  this.outboundPendingConnections = 0;
@@ -180,14 +181,17 @@ export class DefaultConnectionManager {
180
181
  const tasks = [];
181
182
  for (const connectionList of this.connections.values()) {
182
183
  for (const connection of connectionList) {
183
- tasks.push((async () => {
184
- try {
185
- await connection.close();
186
- }
187
- catch (err) {
188
- this.log.error(err);
189
- }
190
- })());
184
+ tasks.push(Promise.all([
185
+ pEvent(connection, 'close', {
186
+ signal: AbortSignal.timeout(500)
187
+ }),
188
+ connection.close({
189
+ signal: AbortSignal.timeout(500)
190
+ })
191
+ ])
192
+ .catch(err => {
193
+ connection.abort(err);
194
+ }));
191
195
  }
192
196
  }
193
197
  this.log('closing %d connections', tasks.length);
@@ -262,7 +266,7 @@ export class DefaultConnectionManager {
262
266
  this.log.trace('peer %p disconnected, removing connection map entry', peerId);
263
267
  this.connections.delete(peerId);
264
268
  // broadcast disconnect event
265
- this.events.safeDispatchEvent('peer:disconnect', { detail: connection.remotePeer });
269
+ this.events.safeDispatchEvent('peer:disconnect', { detail: peerId });
266
270
  }
267
271
  }
268
272
  getConnections(peerId) {
@@ -285,16 +289,15 @@ export class DefaultConnectionManager {
285
289
  this.outboundPendingConnections++;
286
290
  try {
287
291
  options.signal?.throwIfAborted();
288
- const { peerId } = getPeerAddress(peerIdOrMultiaddr);
292
+ const { peerId, multiaddrs } = getPeerAddress(peerIdOrMultiaddr);
289
293
  if (this.peerId.equals(peerId)) {
290
294
  throw new InvalidPeerIdError('Can not dial self');
291
295
  }
292
296
  if (peerId != null && options.force !== true) {
293
297
  this.log('dial %p', peerId);
294
- const existingConnection = this.getConnections(peerId)
295
- .find(conn => conn.limits == null);
298
+ const existingConnection = findExistingConnection(peerId, this.getConnections(peerId), multiaddrs);
296
299
  if (existingConnection != null) {
297
- this.log('had an existing non-limited connection to %p as %a', peerId, existingConnection.remoteAddr);
300
+ this.log('had an existing connection to %p as %a', peerId, existingConnection.remoteAddr);
298
301
  options.onProgress?.(new CustomProgressEvent('dial-queue:already-connected'));
299
302
  return existingConnection;
300
303
  }
@@ -335,21 +338,32 @@ export class DefaultConnectionManager {
335
338
  this.outboundPendingConnections--;
336
339
  }
337
340
  }
341
+ async openStream(peerIdOrMultiaddr, protocol, options = {}) {
342
+ const connection = await this.openConnection(peerIdOrMultiaddr, options);
343
+ return connection.newStream(protocol, options);
344
+ }
338
345
  async closeConnections(peerId, options = {}) {
339
346
  const connections = this.connections.get(peerId) ?? [];
340
347
  await Promise.all(connections.map(async (connection) => {
341
348
  try {
342
- await connection.close(options);
349
+ await Promise.all([
350
+ pEvent(connection, 'close', options),
351
+ connection.close(options)
352
+ ]);
343
353
  }
344
354
  catch (err) {
345
355
  connection.abort(err);
346
356
  }
347
357
  }));
348
358
  }
349
- async acceptIncomingConnection(maConn) {
359
+ acceptIncomingConnection(maConn) {
350
360
  // check deny list
351
- const denyConnection = this.deny.some(ma => {
352
- return ma.contains(maConn.remoteAddr.nodeAddress().address);
361
+ const denyConnection = this.deny.some(ipNet => {
362
+ if (isNetworkAddress(maConn.remoteAddr)) {
363
+ const config = getNetConfig(maConn.remoteAddr);
364
+ return ipNet.contains(config.host);
365
+ }
366
+ return false;
353
367
  });
354
368
  if (denyConnection) {
355
369
  this.log('connection from %a refused - connection remote address was in deny list', maConn.remoteAddr);
@@ -357,7 +371,11 @@ export class DefaultConnectionManager {
357
371
  }
358
372
  // check allow list
359
373
  const allowConnection = this.allow.some(ipNet => {
360
- return ipNet.contains(maConn.remoteAddr.nodeAddress().address);
374
+ if (isNetworkAddress(maConn.remoteAddr)) {
375
+ const config = getNetConfig(maConn.remoteAddr);
376
+ return ipNet.contains(config.host);
377
+ }
378
+ return true;
361
379
  });
362
380
  if (allowConnection) {
363
381
  this.incomingPendingConnections++;
@@ -368,13 +386,13 @@ export class DefaultConnectionManager {
368
386
  this.log('connection from %a refused - incomingPendingConnections exceeded by host', maConn.remoteAddr);
369
387
  return false;
370
388
  }
371
- if (maConn.remoteAddr.isThinWaistAddress()) {
372
- const host = maConn.remoteAddr.nodeAddress().address;
389
+ if (isNetworkAddress(maConn.remoteAddr)) {
390
+ const config = getNetConfig(maConn.remoteAddr);
373
391
  try {
374
- await this.inboundConnectionRateLimiter.consume(host, 1);
392
+ this.inboundConnectionRateLimiter.consume(config.host, 1);
375
393
  }
376
394
  catch {
377
- this.log('connection from %a refused - inboundConnectionThreshold exceeded by host %s', maConn.remoteAddr, host);
395
+ this.log('connection from %a refused - inboundConnectionThreshold exceeded by host %s', maConn.remoteAddr, config.host);
378
396
  return false;
379
397
  }
380
398
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connection-manager/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAC1J,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,4BAA4B,EAAE,eAAe,EAAE,qBAAqB,EAAE,gCAAgC,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACjM,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAQ7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAA;AAiKvC,MAAM,cAAc,GAAG;IACrB,cAAc,EAAE,eAAe;IAC/B,0BAA0B,EAAE,4BAA4B;IACxD,6BAA6B,EAAE,gCAAgC;CAChE,CAAA;AAaD;;GAEG;AACH,MAAM,OAAO,wBAAwB;IAC3B,OAAO,CAAS;IACP,WAAW,CAAuB;IAClC,KAAK,CAAS;IACd,IAAI,CAAS;IACb,6BAA6B,CAAQ;IAC9C,0BAA0B,CAAQ;IAClC,0BAA0B,CAAQ;IAClC,cAAc,CAAQ;IAEd,SAAS,CAAW;IACpB,cAAc,CAAgB;IAC9B,gBAAgB,CAAkB;IACjC,4BAA4B,CAAa;IACzC,SAAS,CAAW;IACpB,OAAO,CAAU;IACjB,MAAM,CAAgC;IACtC,GAAG,CAAQ;IACX,MAAM,CAAQ;IAE/B,YAAa,UAA8C,EAAE,OAA8B,EAAE;QAC3F,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,cAAc,CAAA;QAE1E,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,sBAAsB,CAAC,0DAA0D,CAAC,CAAA;QAC9F,CAAC;QAED;;WAEG;QACH,IAAI,CAAC,WAAW,GAAG,IAAI,OAAO,EAAE,CAAA;QAEhC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAC/B,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;QACrC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;QACjC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAC/B,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAAA;QAEtE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEhD,mBAAmB;QACnB,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAA;QACjE,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAA;QAE/D,IAAI,CAAC,0BAA0B,GAAG,CAAC,CAAA;QACnC,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,6BAA6B,IAAI,cAAc,CAAC,6BAA6B,CAAA;QACvH,IAAI,CAAC,0BAA0B,GAAG,CAAC,CAAA;QAEnC,0DAA0D;QAC1D,IAAI,CAAC,4BAA4B,GAAG,IAAI,WAAW,CAAC;YAClD,MAAM,EAAE,IAAI,CAAC,0BAA0B,IAAI,cAAc,CAAC,0BAA0B;YACpF,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAA;QAEF,0DAA0D;QAC1D,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;YAC3C,iBAAiB,EAAE,IAAI;YACvB,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,EAAE;YACD,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SAC1C,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,UAAU,EAAE;YACzC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,kBAAkB;YAC7D,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,qBAAqB;YACpE,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,sBAAsB;YACrE,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,YAAY;YAC7C,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI;gBAC3B,OAAO,EAAE,eAAe;aACzB;YACD,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAA;QAEF,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;YACvC,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,iBAAiB,EAAE,IAAI;SACxB,EAAE;YACD,OAAO,EAAE,IAAI,CAAC,gBAAgB;YAC9B,aAAa,EAAE,IAAI,CAAC,sBAAsB;YAC1C,aAAa,EAAE,IAAI,CAAC,sBAAsB;YAC1C,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;SAClD,CAAC,CAAA;IACJ,CAAC;IAEQ,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,4BAA4B,CAAA;IAE5D;;;OAGG;IACH,KAAK,CAAC,KAAK;QACT,qCAAqC;QACrC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,uCAAuC,EAAE;YACzE,SAAS,EAAE,GAAG,EAAE;gBACd,MAAM,MAAM,GAAG;oBACb,OAAO,EAAE,CAAC;oBACV,iBAAiB,EAAE,IAAI,CAAC,0BAA0B;oBAClD,QAAQ,EAAE,CAAC;oBACX,kBAAkB,EAAE,IAAI,CAAC,0BAA0B;iBACpD,CAAA;gBAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAA;oBAC1B,CAAC;gBACH,CAAC;gBAED,OAAO,MAAM,CAAA;YACf,CAAC;SACF,CAAC,CAAA;QAEF,6CAA6C;QAC7C,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,+BAA+B,EAAE;YACjE,KAAK,EAAE,UAAU;YACjB,SAAS,EAAE,GAAG,EAAE;gBACd,MAAM,MAAM,GAA2B,EAAE,CAAA;gBAEzC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;4BAClC,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,QAAQ,IAAI,cAAc,EAAE,CAAA;4BAEtE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;wBACtC,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,OAAO,MAAM,CAAA;YACf,CAAC;SACF,CAAC,CAAA;QAEF,gDAAgD;QAChD,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,2EAA2E,EAAE;YAC7G,KAAK,EAAE,UAAU;YACjB,SAAS,EAAE,GAAG,EAAE;gBACd,MAAM,UAAU,GAA6B,EAAE,CAAA;gBAE/C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,MAAM,OAAO,GAA2B,EAAE,CAAA;wBAE1C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;4BAClC,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,QAAQ,IAAI,cAAc,EAAE,CAAA;4BAEtE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;wBACxC,CAAC;wBAED,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;4BACxD,UAAU,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;4BACjD,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;wBAClC,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,MAAM,MAAM,GAA2B,EAAE,CAAA;gBAEzC,KAAK,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC1D,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;oBAErC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAA;oBAC7C,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;gBAClC,CAAC;gBAED,OAAO,MAAM,CAAA;YACf,CAAC;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAC/D,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QAEnE,MAAM,KAAK,CACT,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,gBAAgB,CACtB,CAAA;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAClE,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QAEtE,MAAM,IAAI,CACR,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,gBAAgB,CACtB,CAAA;QAED,uCAAuC;QACvC,MAAM,KAAK,GAAyB,EAAE,CAAA;QACtC,KAAK,MAAM,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YACvD,KAAK,MAAM,UAAU,IAAI,cAAc,EAAE,CAAC;gBACxC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;oBACrB,IAAI,CAAC;wBACH,MAAM,UAAU,CAAC,KAAK,EAAE,CAAA;oBAC1B,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;oBACrB,CAAC;gBACH,CAAC,CAAC,EAAE,CAAC,CAAA;YACP,CAAC;QACH,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QAChD,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACxB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;QAExB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACrB,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAA;IAC5B,CAAC;IAED,iBAAiB,CAAE,cAAsB;QACvC,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,sBAAsB,CAAC,0DAA0D,CAAC,CAAA;QAC9F,CAAC;QAED,IAAI,UAAU,GAAG,KAAK,CAAA;QAEtB,IAAI,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACzC,UAAU,GAAG,IAAI,CAAA;QACnB,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QAEpC,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,CAAA;QAC/C,CAAC;IACH,CAAC;IAED,SAAS,CAAE,GAA4B;QACrC,KAAK,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACpC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACrB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAE,GAA4B;QAC5C,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAA;QAElC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,uEAAuE;YACvE,MAAM,UAAU,CAAC,KAAK,EAAE,CAAA;YACxB,OAAM;QACR,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACjC,0EAA0E;YAC1E,UAAU;YACV,OAAM;QACR,CAAC;QAED,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAA;QACpC,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QACtD,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAE5B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QAEzC,kFAAkF;QAClF,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACtD,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE;gBACjC,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAA;QAClF,CAAC;IACH,CAAC;IAED;;OAEG;IACH,YAAY,CAAE,GAA4B;QACxC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAA;QAClC,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAA;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QAEpD,2BAA2B;QAC3B,MAAM,iBAAiB,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,CAAC,CAAA;QAE7E,0BAA0B;QAC1B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;QAE/C,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,oDAAoD;YACpD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qDAAqD,EAAE,MAAM,CAAC,CAAA;YAC7E,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAE/B,6BAA6B;YAC7B,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAA;QACrF,CAAC;IACH,CAAC;IAED,cAAc,CAAE,MAAe;QAC7B,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QAC3C,CAAC;QAED,IAAI,KAAK,GAAiB,EAAE,CAAA;QAE5B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACzB,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,cAAc,CAAE,iBAAmD,EAAE,UAAiC,EAAE;QAC5G,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,eAAe,CAAC,aAAa,CAAC,CAAA;QAC1C,CAAC;QAED,IAAI,CAAC,0BAA0B,EAAE,CAAA;QAEjC,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,CAAA;YAEhC,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAA;YAEpD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,kBAAkB,CAAC,mBAAmB,CAAC,CAAA;YACnD,CAAC;YAED,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC7C,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;gBAC3B,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;qBACnD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAA;gBAEpC,IAAI,kBAAkB,IAAI,IAAI,EAAE,CAAC;oBAC/B,IAAI,CAAC,GAAG,CAAC,oDAAoD,EAAE,MAAM,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAA;oBAErG,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,mBAAmB,CAAC,8BAA8B,CAAC,CAAC,CAAA;oBAC7E,OAAO,kBAAkB,CAAA;gBAC3B,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAC9D,GAAG,OAAO;gBACV,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,qBAAqB;aACpD,CAAC,CAAA;YAEF,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACjC,MAAM,IAAI,qBAAqB,CAAC,yCAAyC,CAAC,CAAA;YAC5E,CAAC;YAED,IAAI,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;YAEjE,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;gBAC5B,eAAe,GAAG,EAAE,CAAA;gBACpB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;YAC9D,CAAC;YAED,wEAAwE;YACxE,yEAAyE;YACzE,aAAa;YACb,IAAI,iBAAiB,GAAG,KAAK,CAAA;YAE7B,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;gBACnC,IAAI,IAAI,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,EAAE,CAAC;oBAC9B,iBAAiB,GAAG,IAAI,CAAA;gBAC1B,CAAC;gBAED,iEAAiE;gBACjE,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBACzG,UAAU,CAAC,KAAK,CAAC,IAAI,qBAAqB,CAAC,gCAAgC,CAAC,CAAC,CAAA;oBAE7E,iCAAiC;oBACjC,OAAO,IAAI,CAAA;gBACb,CAAC;YACH,CAAC;YAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAClC,CAAC;YAED,OAAO,UAAU,CAAA;QACnB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,0BAA0B,EAAE,CAAA;QACnC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAE,MAAc,EAAE,UAAwB,EAAE;QAChE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QAEtD,MAAM,OAAO,CAAC,GAAG,CACf,WAAW,CAAC,GAAG,CAAC,KAAK,EAAC,UAAU,EAAC,EAAE;YACjC,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACjC,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACvB,CAAC;QACH,CAAC,CAAC,CACH,CAAA;IACH,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAE,MAA2B;QACzD,kBAAkB;QAClB,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YACzC,OAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAA;QAC7D,CAAC,CAAC,CAAA;QAEF,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,yEAAyE,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;YACtG,OAAO,KAAK,CAAA;QACd,CAAC;QAED,mBAAmB;QACnB,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC9C,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAA;QAChE,CAAC,CAAC,CAAA;QAEF,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,0BAA0B,EAAE,CAAA;YAEjC,OAAO,IAAI,CAAA;QACb,CAAC;QAED,4BAA4B;QAC5B,IAAI,IAAI,CAAC,0BAA0B,KAAK,IAAI,CAAC,6BAA6B,EAAE,CAAC;YAC3E,IAAI,CAAC,GAAG,CAAC,0EAA0E,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;YACvG,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAA;YAEpD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YAC1D,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,GAAG,CAAC,6EAA6E,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;gBAChH,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACvD,IAAI,CAAC,0BAA0B,EAAE,CAAA;YAEjC,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,sDAAsD,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;QACnF,OAAO,KAAK,CAAA;IACd,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,0BAA0B,EAAE,CAAA;IACnC,CAAC;IAED,YAAY;QACV,MAAM,SAAS,GAAyC;YACtD,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,SAAS;SACpB,CAAA;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC1C,OAAO;gBACL,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC7B,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;gBAC1B,UAAU,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;aACjE,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAE,SAAkC,EAAE,UAA6B,EAAE;QACnF,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACtD,CAAC;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connection-manager/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { KEEP_ALIVE } from '@libp2p/interface';
2
- import { PeerQueue } from '@libp2p/utils/peer-queue';
2
+ import { PeerQueue } from '@libp2p/utils';
3
3
  import pRetry from 'p-retry';
4
4
  import { MAX_PARALLEL_RECONNECTS } from './constants.js';
5
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"reconnect-queue.js","sourceRoot":"","sources":["../../../src/connection-manager/reconnect-queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reconnect-queue.js","sourceRoot":"","sources":["../../../src/connection-manager/reconnect-queue.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,42 @@
1
- import type { IpNet } from '@chainsafe/netmask';
1
+ import { IpNet } from '@chainsafe/netmask';
2
+ import type { Connection, AbortOptions, PeerId } from '@libp2p/interface';
2
3
  import type { Multiaddr } from '@multiformats/multiaddr';
4
+ export interface SafelyCloseConnectionOptions extends AbortOptions {
5
+ /**
6
+ * Only close the stream if it either has no protocol streams open or only
7
+ * ones in this list.
8
+ *
9
+ * @default ['/ipfs/id/1.0.0']
10
+ */
11
+ closableProtocols?: string[];
12
+ }
13
+ /**
14
+ * Close the passed connection if it has no streams, or only closable protocol
15
+ * streams, falling back to aborting the connection if closing it cleanly fails.
16
+ */
17
+ export declare function safelyCloseConnectionIfUnused(connection?: Connection, options?: SafelyCloseConnectionOptions): Promise<void>;
3
18
  /**
4
19
  * Converts a multiaddr string or object to an IpNet object.
5
20
  * If the multiaddr doesn't include /ipcidr, it will encapsulate with the appropriate CIDR:
6
21
  * - /ipcidr/32 for IPv4
7
22
  * - /ipcidr/128 for IPv6
8
23
  *
9
- * @param {string | Multiaddr} ma - The multiaddr string or object to convert.
24
+ * @param {string | Multiaddr} ma - The multiaddr object to convert.
10
25
  * @returns {IpNet} The converted IpNet object.
11
26
  * @throws {Error} Throws an error if the multiaddr is not valid.
12
27
  */
13
- export declare function multiaddrToIpNet(ma: string | Multiaddr): IpNet;
28
+ export declare function multiaddrToIpNet(ma: Multiaddr): IpNet;
29
+ /**
30
+ * Returns true if the passed multiaddr would result in a direct connection to
31
+ * the peer.
32
+ *
33
+ * Currently only circuit relay addresses are supported as indirect connections.
34
+ */
35
+ export declare function isDirect(ma: Multiaddr): boolean;
36
+ /**
37
+ * If there is an existing non-limited connection to the remote peer return it,
38
+ * unless it is indirect and at least one of the passed dial addresses would
39
+ * result in a direct connection
40
+ */
41
+ export declare function findExistingConnection(peerId?: PeerId, connections?: Connection[], dialAddresses?: Multiaddr[]): Connection | undefined;
14
42
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/connection-manager/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAE,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,CAsB/D"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/connection-manager/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAI1C,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAuBxD,MAAM,WAAW,4BAA6B,SAAQ,YAAY;IAChE;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC7B;AAED;;;GAGG;AACH,wBAAsB,6BAA6B,CAAE,UAAU,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,4BAA4B,GAAG,OAAO,CAAC,IAAI,CAAC,CAenI;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAE,EAAE,EAAE,SAAS,GAAG,KAAK,CA0BtD;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAE,EAAE,EAAE,SAAS,GAAG,OAAO,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAE,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,UAAU,EAAE,EAAE,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,UAAU,GAAG,SAAS,CAiCxI"}
@@ -1,35 +1,116 @@
1
- import { multiaddr } from '@multiformats/multiaddr';
2
- import { convertToIpNet } from '@multiformats/multiaddr/convert';
1
+ import { IpNet } from '@chainsafe/netmask';
2
+ import { InvalidParametersError } from '@libp2p/interface';
3
+ import { getNetConfig } from '@libp2p/utils';
4
+ import { Circuit } from '@multiformats/multiaddr-matcher';
5
+ /**
6
+ * These are speculative protocols that are run automatically on connection open
7
+ * so are usually not the reason the connection was opened.
8
+ *
9
+ * Consequently when requested it should be safe to close connections that only
10
+ * have these protocol streams open.
11
+ */
12
+ const DEFAULT_CLOSABLE_PROTOCOLS = [
13
+ // identify
14
+ '/ipfs/id/1.0.0',
15
+ // identify-push
16
+ '/ipfs/id/push/1.0.0',
17
+ // autonat
18
+ '/libp2p/autonat/1.0.0',
19
+ // dcutr
20
+ '/libp2p/dcutr'
21
+ ];
22
+ /**
23
+ * Close the passed connection if it has no streams, or only closable protocol
24
+ * streams, falling back to aborting the connection if closing it cleanly fails.
25
+ */
26
+ export async function safelyCloseConnectionIfUnused(connection, options) {
27
+ const streamProtocols = connection?.streams?.map(stream => stream.protocol) ?? [];
28
+ const closableProtocols = options?.closableProtocols ?? DEFAULT_CLOSABLE_PROTOCOLS;
29
+ // if the connection has protocols not in the closable protocols list, do not
30
+ // close the connection
31
+ if (streamProtocols.filter(proto => proto != null && !closableProtocols.includes(proto)).length > 0) {
32
+ return;
33
+ }
34
+ try {
35
+ await connection?.close(options);
36
+ }
37
+ catch (err) {
38
+ connection?.abort(err);
39
+ }
40
+ }
3
41
  /**
4
42
  * Converts a multiaddr string or object to an IpNet object.
5
43
  * If the multiaddr doesn't include /ipcidr, it will encapsulate with the appropriate CIDR:
6
44
  * - /ipcidr/32 for IPv4
7
45
  * - /ipcidr/128 for IPv6
8
46
  *
9
- * @param {string | Multiaddr} ma - The multiaddr string or object to convert.
47
+ * @param {string | Multiaddr} ma - The multiaddr object to convert.
10
48
  * @returns {IpNet} The converted IpNet object.
11
49
  * @throws {Error} Throws an error if the multiaddr is not valid.
12
50
  */
13
51
  export function multiaddrToIpNet(ma) {
14
- try {
15
- let parsedMa;
16
- if (typeof ma === 'string') {
17
- parsedMa = multiaddr(ma);
52
+ const config = getNetConfig(ma);
53
+ let mask = config.cidr;
54
+ if (config.type !== 'ip4' && config.type !== 'ip6') {
55
+ throw new InvalidParametersError(`Multiaddr ${ma} was not an IPv4 or IPv6 address`);
56
+ }
57
+ // Check if /ipcidr is already present
58
+ if (mask == null) {
59
+ switch (config.type) {
60
+ case 'ip4': {
61
+ mask = 32;
62
+ break;
63
+ }
64
+ case 'ip6': {
65
+ mask = 128;
66
+ break;
67
+ }
68
+ default: {
69
+ throw new InvalidParametersError(`Multiaddr ${ma} was not an IPv4 or IPv6 address`);
70
+ }
18
71
  }
19
- else {
20
- parsedMa = ma;
72
+ }
73
+ return new IpNet(config.host, mask);
74
+ }
75
+ /**
76
+ * Returns true if the passed multiaddr would result in a direct connection to
77
+ * the peer.
78
+ *
79
+ * Currently only circuit relay addresses are supported as indirect connections.
80
+ */
81
+ export function isDirect(ma) {
82
+ return !Circuit.exactMatch(ma);
83
+ }
84
+ /**
85
+ * If there is an existing non-limited connection to the remote peer return it,
86
+ * unless it is indirect and at least one of the passed dial addresses would
87
+ * result in a direct connection
88
+ */
89
+ export function findExistingConnection(peerId, connections, dialAddresses) {
90
+ if (peerId == null || connections == null) {
91
+ return;
92
+ }
93
+ const existingConnection = connections
94
+ .sort((a, b) => {
95
+ if (a.direct) {
96
+ return -1;
21
97
  }
22
- const protoNames = new Set([...parsedMa.getComponents().map(component => component.name)]);
23
- // Check if /ipcidr is already present
24
- if (!protoNames.has('ipcidr')) {
25
- const isIPv6 = protoNames.has('ip6');
26
- const cidr = isIPv6 ? '/ipcidr/128' : '/ipcidr/32';
27
- parsedMa = parsedMa.encapsulate(cidr);
98
+ if (b.direct) {
99
+ return 1;
28
100
  }
29
- return convertToIpNet(parsedMa);
101
+ return 0;
102
+ })
103
+ .find(con => con.limits == null);
104
+ if (existingConnection == null || existingConnection.direct || dialAddresses == null) {
105
+ return existingConnection;
30
106
  }
31
- catch (error) {
32
- throw new Error(`Can't convert to IpNet, Invalid multiaddr format: ${ma}`);
107
+ // we have an indirect, but unlimited connection - test the dial addresses to
108
+ // see if any of them would result in a direct connection, in which case allow
109
+ // the attempt to upgrade to a direct connection
110
+ const wouldUpgradeToDirect = dialAddresses.some(ma => isDirect(ma));
111
+ if (wouldUpgradeToDirect) {
112
+ return;
33
113
  }
114
+ return existingConnection;
34
115
  }
35
116
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/connection-manager/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAIhE;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAE,EAAsB;IACtD,IAAI,CAAC;QACH,IAAI,QAAmB,CAAA;QACvB,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC3B,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAC,CAAA;QAC1B,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,EAAE,CAAA;QACf,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAE1F,sCAAsC;QACtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACpC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAA;YAClD,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QACvC,CAAC;QAED,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAA;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,qDAAqD,EAAE,EAAE,CAAC,CAAA;IAC5E,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/connection-manager/utils.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { serviceCapabilities } from '@libp2p/interface';
2
2
  import type { ComponentLogger, Metrics, Startable } from '@libp2p/interface';
3
3
  import type { ConnectionManager } from '@libp2p/interface-internal';
4
- import type { AdaptiveTimeoutInit } from '@libp2p/utils/adaptive-timeout';
4
+ import type { AdaptiveTimeoutInit } from '@libp2p/utils';
5
5
  export interface ConnectionMonitorInit {
6
6
  /**
7
7
  * Whether the connection monitor is enabled
@@ -1 +1 @@
1
- {"version":3,"file":"connection-monitor.d.ts","sourceRoot":"","sources":["../../src/connection-monitor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAIvD,OAAO,KAAK,EAAE,eAAe,EAAU,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AASzE,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,GAAG,SAAS,CAAC,CAAA;IAElE;;;;OAIG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAA;IAEtC;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,eAAe,CAAA;IACvB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,qBAAa,iBAAkB,YAAW,SAAS;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,iBAAiB,CAAC,CAAgC;IAC1D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAS;gBAEzC,UAAU,EAAE,2BAA2B,EAAE,IAAI,GAAE,qBAA0B;IActF,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,gCAA+B;IAE5D,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAEvC;IAED,KAAK,IAAK,IAAI;IA4Dd,IAAI,IAAK,IAAI;CAOd"}
1
+ {"version":3,"file":"connection-monitor.d.ts","sourceRoot":"","sources":["../../src/connection-monitor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAGvD,OAAO,KAAK,EAAE,eAAe,EAAU,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AASxD,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,GAAG,SAAS,CAAC,CAAA;IAElE;;;;OAIG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAA;IAEtC;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,eAAe,CAAA;IACvB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,qBAAa,iBAAkB,YAAW,SAAS;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,iBAAiB,CAAC,CAAgC;IAC1D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAS;gBAEzC,UAAU,EAAE,2BAA2B,EAAE,IAAI,GAAE,qBAA0B;IActF,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,gCAA+B;IAE5D,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAEvC;IAED,KAAK,IAAK,IAAI;IA4Dd,IAAI,IAAK,IAAI;CAOd"}
@@ -1,7 +1,6 @@
1
1
  import { randomBytes } from '@libp2p/crypto';
2
2
  import { serviceCapabilities } from '@libp2p/interface';
3
- import { AdaptiveTimeout } from '@libp2p/utils/adaptive-timeout';
4
- import { byteStream } from 'it-byte-stream';
3
+ import { AdaptiveTimeout, byteStream } from '@libp2p/utils';
5
4
  import { setMaxListeners } from 'main-event';
6
5
  const DEFAULT_PING_INTERVAL_MS = 10000;
7
6
  const PROTOCOL_VERSION = '1.0.0';
@@ -61,7 +60,7 @@ export class ConnectionMonitor {
61
60
  })
62
61
  ]);
63
62
  conn.rtt = Date.now() - start;
64
- await bs.unwrap().close({
63
+ await stream.close({
65
64
  signal
66
65
  });
67
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"connection-monitor.js","sourceRoot":"","sources":["../../src/connection-monitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection-monitor.js","sourceRoot":"","sources":["../../src/connection-monitor.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { connectionSymbol } from '@libp2p/interface';
2
- import type { AbortOptions, Logger, Direction, Connection as ConnectionInterface, Stream, ConnectionTimeline, ConnectionStatus, NewStreamOptions, PeerId, ConnectionLimits, StreamMuxerFactory, Metrics, PeerStore, MultiaddrConnection } from '@libp2p/interface';
2
+ import { TypedEventEmitter } from 'main-event';
3
+ import type { AbortOptions, Logger, MessageStreamDirection, Connection as ConnectionInterface, Stream, NewStreamOptions, PeerId, ConnectionLimits, StreamMuxer, Metrics, PeerStore, MultiaddrConnection, MessageStreamEvents, MultiaddrConnectionTimeline, ConnectionStatus, MessageStream } from '@libp2p/interface';
3
4
  import type { Registrar } from '@libp2p/interface-internal';
4
5
  import type { Multiaddr } from '@multiformats/multiaddr';
5
6
  export interface ConnectionComponents {
@@ -10,44 +11,48 @@ export interface ConnectionComponents {
10
11
  export interface ConnectionInit {
11
12
  id: string;
12
13
  maConn: MultiaddrConnection;
14
+ stream: MessageStream;
13
15
  remotePeer: PeerId;
14
- direction?: Direction;
15
- muxerFactory?: StreamMuxerFactory;
16
- encryption?: string;
16
+ direction?: MessageStreamDirection;
17
+ muxer?: StreamMuxer;
18
+ cryptoProtocol?: string;
17
19
  limits?: ConnectionLimits;
18
20
  outboundStreamProtocolNegotiationTimeout?: number;
19
21
  inboundStreamProtocolNegotiationTimeout?: number;
22
+ closeTimeout?: number;
20
23
  }
21
24
  /**
22
25
  * An implementation of the js-libp2p connection.
23
26
  * Any libp2p transport should use an upgrader to return this connection.
24
27
  */
25
- export declare class Connection implements ConnectionInterface {
28
+ export declare class Connection extends TypedEventEmitter<MessageStreamEvents> implements ConnectionInterface {
26
29
  readonly id: string;
27
30
  readonly remoteAddr: Multiaddr;
28
31
  readonly remotePeer: PeerId;
29
- direction: Direction;
30
- timeline: ConnectionTimeline;
32
+ direction: MessageStreamDirection;
33
+ timeline: MultiaddrConnectionTimeline;
34
+ direct: boolean;
31
35
  multiplexer?: string;
32
36
  encryption?: string;
33
- status: ConnectionStatus;
34
37
  limits?: ConnectionLimits;
35
38
  readonly log: Logger;
36
- tags: string[];
37
39
  private readonly maConn;
38
40
  private readonly muxer?;
39
41
  private readonly components;
40
42
  private readonly outboundStreamProtocolNegotiationTimeout;
41
43
  private readonly inboundStreamProtocolNegotiationTimeout;
44
+ private readonly closeTimeout;
42
45
  constructor(components: ConnectionComponents, init: ConnectionInit);
43
46
  readonly [Symbol.toStringTag] = "Connection";
44
47
  readonly [connectionSymbol] = true;
45
48
  get streams(): Stream[];
49
+ get status(): ConnectionStatus;
46
50
  /**
47
51
  * Create a new stream over this connection
48
52
  */
49
53
  newStream: (protocols: string[], options?: NewStreamOptions) => Promise<Stream>;
50
54
  private onIncomingStream;
55
+ private runMiddlewareChain;
51
56
  /**
52
57
  * Close the connection
53
58
  */
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAkJ,MAAM,mBAAmB,CAAA;AAMpM,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,IAAI,mBAAmB,EAAE,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAe,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC/Q,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAIxD,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,mBAAmB,CAAA;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,YAAY,CAAC,EAAE,kBAAkB,CAAA;IACjC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,gBAAgB,CAAA;IACzB,wCAAwC,CAAC,EAAE,MAAM,CAAA;IACjD,uCAAuC,CAAC,EAAE,MAAM,CAAA;CACjD;AAED;;;GAGG;AACH,qBAAa,UAAW,YAAW,mBAAmB;IACpD,SAAgB,EAAE,EAAE,MAAM,CAAA;IAC1B,SAAgB,UAAU,EAAE,SAAS,CAAA;IACrC,SAAgB,UAAU,EAAE,MAAM,CAAA;IAC3B,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,gBAAgB,CAAA;IACxB,MAAM,CAAC,EAAE,gBAAgB,CAAA;IAChC,SAAgB,GAAG,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,EAAE,CAAA;IAErB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,wCAAwC,CAAQ;IACjE,OAAO,CAAC,QAAQ,CAAC,uCAAuC,CAAQ;gBAEnD,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,cAAc;IA4CnE,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAe;IAE5C,QAAQ,CAAC,CAAC,gBAAgB,CAAC,QAAO;IAElC,IAAI,OAAO,IAAK,MAAM,EAAE,CAEvB;IAED;;OAEG;IACH,SAAS,GAAU,WAAW,MAAM,EAAE,EAAE,UAAS,gBAAqB,KAAG,OAAO,CAAC,MAAM,CAAC,CAsGvF;IAED,OAAO,CAAC,gBAAgB;IAwExB;;OAEG;IACG,KAAK,CAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCvD,KAAK,CAAE,GAAG,EAAE,KAAK,GAAG,IAAI;CAkBzB;AAED,wBAAgB,gBAAgB,CAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,cAAc,GAAG,mBAAmB,CAE7G"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA4I,MAAM,mBAAmB,CAAA;AAG9L,OAAO,EAAmB,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAK/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,sBAAsB,EAAE,UAAU,IAAI,mBAAmB,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,aAAa,EAAoB,MAAM,mBAAmB,CAAA;AACvU,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,mBAAmB,CAAA;IAC3B,MAAM,EAAE,aAAa,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,sBAAsB,CAAA;IAClC,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,gBAAgB,CAAA;IACzB,wCAAwC,CAAC,EAAE,MAAM,CAAA;IACjD,uCAAuC,CAAC,EAAE,MAAM,CAAA;IAChD,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;;GAGG;AACH,qBAAa,UAAW,SAAQ,iBAAiB,CAAC,mBAAmB,CAAE,YAAW,mBAAmB;IACnG,SAAgB,EAAE,EAAE,MAAM,CAAA;IAC1B,SAAgB,UAAU,EAAE,SAAS,CAAA;IACrC,SAAgB,UAAU,EAAE,MAAM,CAAA;IAC3B,SAAS,EAAE,sBAAsB,CAAA;IACjC,QAAQ,EAAE,2BAA2B,CAAA;IACrC,MAAM,EAAE,OAAO,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,gBAAgB,CAAA;IAChC,SAAgB,GAAG,EAAE,MAAM,CAAA;IAE3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,wCAAwC,CAAQ;IACjE,OAAO,CAAC,QAAQ,CAAC,uCAAuC,CAAQ;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;gBAExB,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,cAAc;IAoCnE,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAe;IAE5C,QAAQ,CAAC,CAAC,gBAAgB,CAAC,QAAO;IAElC,IAAI,OAAO,IAAK,MAAM,EAAE,CAEvB;IAED,IAAI,MAAM,IAAK,gBAAgB,CAE9B;IAED;;OAEG;IACH,SAAS,GAAU,WAAW,MAAM,EAAE,EAAE,UAAS,gBAAqB,KAAG,OAAO,CAAC,MAAM,CAAC,CAqFvF;YAEa,gBAAgB;YA2DhB,kBAAkB;IA4BhC;;OAEG;IACG,KAAK,CAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBvD,KAAK,CAAE,GAAG,EAAE,KAAK,GAAG,IAAI;CAIzB;AAED,wBAAgB,gBAAgB,CAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,cAAc,GAAG,mBAAmB,CAE7G"}