@libp2p/autonat-v2 2.0.23-cec2b1f34 → 2.0.23-fb9e8a76e

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.
@@ -1,8 +1,7 @@
1
1
  import { serviceCapabilities, serviceDependencies } from '@libp2p/interface';
2
- import { TypedEventEmitter } from 'main-event';
3
- import type { AutoNATv2Components, AutoNATv2Events, AutoNATv2ServiceInit } from './index.ts';
2
+ import type { AutoNATv2Components, AutoNATv2ServiceInit } from './index.ts';
4
3
  import type { Startable } from '@libp2p/interface';
5
- export declare class AutoNATv2Service extends TypedEventEmitter<AutoNATv2Events> implements Startable {
4
+ export declare class AutoNATv2Service implements Startable {
6
5
  private readonly client;
7
6
  private readonly server;
8
7
  constructor(components: AutoNATv2Components, init: AutoNATv2ServiceInit);
@@ -1 +1 @@
1
- {"version":3,"file":"autonat.d.ts","sourceRoot":"","sources":["../../src/autonat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAe,MAAM,mBAAmB,CAAA;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAI9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAC5F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD,qBAAa,gBAAiB,SAAQ,iBAAiB,CAAC,eAAe,CAAE,YAAW,SAAS;IAC3F,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;gBAE3B,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,oBAAoB;IAmBxE,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,wBAAuB;IAEpD,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAEvC;IAED,IAAI,CAAC,mBAAmB,CAAC,IAAK,MAAM,EAAE,CAIrC;IAEK,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAIvB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;CAG7B"}
1
+ {"version":3,"file":"autonat.d.ts","sourceRoot":"","sources":["../../src/autonat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAe,MAAM,mBAAmB,CAAA;AAIzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD,qBAAa,gBAAiB,YAAW,SAAS;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;gBAE3B,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,oBAAoB;IAgBxE,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,wBAAuB;IAEpD,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAEvC;IAED,IAAI,CAAC,mBAAmB,CAAC,IAAK,MAAM,EAAE,CAIrC;IAEK,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAIvB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;CAG7B"}
@@ -1,20 +1,17 @@
1
1
  import { serviceCapabilities, serviceDependencies, start, stop } from '@libp2p/interface';
2
- import { TypedEventEmitter } from 'main-event';
3
2
  import { AutoNATv2Client } from "./client.js";
4
3
  import { DIAL_BACK, DIAL_REQUEST, PROTOCOL_NAME, PROTOCOL_PREFIX, PROTOCOL_VERSION } from "./constants.js";
5
4
  import { AutoNATv2Server } from "./server.js";
6
- export class AutoNATv2Service extends TypedEventEmitter {
5
+ export class AutoNATv2Service {
7
6
  client;
8
7
  server;
9
8
  constructor(components, init) {
10
- super();
11
9
  const dialRequestProtocol = `/${init.protocolPrefix ?? PROTOCOL_PREFIX}/${PROTOCOL_NAME}/${PROTOCOL_VERSION}/${DIAL_REQUEST}`;
12
10
  const dialBackProtocol = `/${init.protocolPrefix ?? PROTOCOL_PREFIX}/${PROTOCOL_NAME}/${PROTOCOL_VERSION}/${DIAL_BACK}`;
13
11
  this.client = new AutoNATv2Client(components, {
14
12
  ...init,
15
13
  dialRequestProtocol,
16
- dialBackProtocol,
17
- safeDispatchEvent: this.safeDispatchEvent.bind(this)
14
+ dialBackProtocol
18
15
  });
19
16
  this.server = new AutoNATv2Server(components, {
20
17
  ...init,
@@ -1 +1 @@
1
- {"version":3,"file":"autonat.js","sourceRoot":"","sources":["../../src/autonat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAC1G,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAI7C,MAAM,OAAO,gBAAiB,SAAQ,iBAAkC;IACrD,MAAM,CAAiB;IACvB,MAAM,CAAiB;IAExC,YAAa,UAA+B,EAAE,IAA0B;QACtE,KAAK,EAAE,CAAA;QAEP,MAAM,mBAAmB,GAAG,IAAI,IAAI,CAAC,cAAc,IAAI,eAAe,IAAI,aAAa,IAAI,gBAAgB,IAAI,YAAY,EAAE,CAAA;QAC7H,MAAM,gBAAgB,GAAG,IAAI,IAAI,CAAC,cAAc,IAAI,eAAe,IAAI,aAAa,IAAI,gBAAgB,IAAI,SAAS,EAAE,CAAA;QAEvH,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,UAAU,EAAE;YAC5C,GAAG,IAAI;YACP,mBAAmB;YACnB,gBAAgB;YAChB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;SACrD,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,UAAU,EAAE;YAC5C,GAAG,IAAI;YACP,mBAAmB;YACnB,gBAAgB;SACjB,CAAC,CAAA;IACJ,CAAC;IAEQ,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,oBAAoB,CAAA;IAE3C,CAAC,mBAAmB,CAAC,GAAa;QACzC,iBAAiB;KAClB,CAAA;IAED,IAAI,CAAC,mBAAmB,CAAC;QACvB,OAAO;YACL,kBAAkB;SACnB,CAAA;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACtC,CAAC;CACF"}
1
+ {"version":3,"file":"autonat.js","sourceRoot":"","sources":["../../src/autonat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAC1G,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAI7C,MAAM,OAAO,gBAAgB;IACV,MAAM,CAAiB;IACvB,MAAM,CAAiB;IAExC,YAAa,UAA+B,EAAE,IAA0B;QACtE,MAAM,mBAAmB,GAAG,IAAI,IAAI,CAAC,cAAc,IAAI,eAAe,IAAI,aAAa,IAAI,gBAAgB,IAAI,YAAY,EAAE,CAAA;QAC7H,MAAM,gBAAgB,GAAG,IAAI,IAAI,CAAC,cAAc,IAAI,eAAe,IAAI,aAAa,IAAI,gBAAgB,IAAI,SAAS,EAAE,CAAA;QAEvH,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,UAAU,EAAE;YAC5C,GAAG,IAAI;YACP,mBAAmB;YACnB,gBAAgB;SACjB,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,UAAU,EAAE;YAC5C,GAAG,IAAI;YACP,mBAAmB;YACnB,gBAAgB;SACjB,CAAC,CAAA;IACJ,CAAC;IAEQ,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,oBAAoB,CAAA;IAE3C,CAAC,mBAAmB,CAAC,GAAa;QACzC,iBAAiB;KAClB,CAAA;IAED,IAAI,CAAC,mBAAmB,CAAC;QACvB,OAAO;YACL,kBAAkB;SACnB,CAAA;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACtC,CAAC;CACF"}
@@ -1,14 +1,11 @@
1
1
  import { serviceCapabilities, serviceDependencies } from '@libp2p/interface';
2
- import type { AutoNATv2Components, AutoNATv2Events, AutoNATv2ServiceInit } from './index.ts';
2
+ import type { AutoNATv2Components, AutoNATv2ServiceInit } from './index.ts';
3
3
  import type { Connection, Startable, AbortOptions, Stream } from '@libp2p/interface';
4
- import type { TypedEventEmitter } from 'main-event';
5
- export type DispatchAutoNATv2Event = TypedEventEmitter<AutoNATv2Events>['safeDispatchEvent'];
6
4
  export interface AutoNATv2ClientInit extends AutoNATv2ServiceInit {
7
5
  dialRequestProtocol: string;
8
6
  dialBackProtocol: string;
9
7
  maxDialDataBytes?: bigint;
10
8
  dialDataChunkSize?: number;
11
- safeDispatchEvent: DispatchAutoNATv2Event;
12
9
  }
13
10
  export declare class AutoNATv2Client implements Startable {
14
11
  private readonly components;
@@ -29,7 +26,6 @@ export declare class AutoNATv2Client implements Startable {
29
26
  private readonly connectionThreshold;
30
27
  private readonly queue;
31
28
  private readonly nonces;
32
- private readonly safeDispatchEvent;
33
29
  constructor(components: AutoNATv2Components, init: AutoNATv2ClientInit);
34
30
  readonly [Symbol.toStringTag] = "@libp2p/autonat-v2";
35
31
  readonly [serviceCapabilities]: string[];
@@ -57,7 +53,6 @@ export declare class AutoNATv2Client implements Startable {
57
53
  private hasConnectionCapacity;
58
54
  private confirmAddress;
59
55
  private unconfirmAddress;
60
- private emitReachabilityEvent;
61
56
  private getNetworkSegment;
62
57
  }
63
58
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAQnH,OAAO,KAAK,EAA6B,mBAAmB,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACvH,OAAO,KAAK,EAAU,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAK5F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC,mBAAmB,CAAC,CAAA;AAoD5F,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;IAC/D,mBAAmB,EAAE,MAAM,CAAA;IAC3B,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,iBAAiB,EAAE,sBAAsB,CAAA;CAC1C;AAED,qBAAa,eAAgB,YAAW,SAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;IAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;IAC1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAC3C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;IACzC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;IAC1C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0B;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IACtC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;IAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAwB;gBAE7C,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,mBAAmB;IA4BvE,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,wBAAuB;IAEpD,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAEvC;IAED,IAAI,CAAC,mBAAmB,CAAC,IAAK,MAAM,EAAE,CAIrC;IAED,SAAS,IAAK,OAAO;IAIf,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IA4BvB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAa5B,OAAO,CAAC,uBAAuB;IAWzB,eAAe,CAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA4C7D;;OAEG;IACG,oBAAoB,CAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAkClF,OAAO,CAAC,uBAAuB;IAoG/B;;;OAGG;IACH,OAAO,CAAC,8BAA8B;IActC;;OAEG;IACG,uBAAuB,CAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;YAiEvD,eAAe;IAuI7B,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,iBAAiB;CAkB1B"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAQnH,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAC3E,OAAO,KAAK,EAAU,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAwD5F,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;IAC/D,mBAAmB,EAAE,MAAM,CAAA;IAC3B,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,qBAAa,eAAgB,YAAW,SAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;IAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;IAC1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAC3C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;IACzC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;IAC1C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0B;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IACtC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;IAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;gBAEvB,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,mBAAmB;IA2BvE,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,wBAAuB;IAEpD,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAEvC;IAED,IAAI,CAAC,mBAAmB,CAAC,IAAK,MAAM,EAAE,CAIrC;IAED,SAAS,IAAK,OAAO;IAIf,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IA4BvB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAa5B,OAAO,CAAC,uBAAuB;IAWzB,eAAe,CAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA4C7D;;OAEG;IACG,oBAAoB,CAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAkClF,OAAO,CAAC,uBAAuB;IAoG/B;;;OAGG;IACH,OAAO,CAAC,8BAA8B;IAoBtC;;OAEG;IACG,uBAAuB,CAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;YAiEvD,eAAe;IAmI7B,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,iBAAiB;CAkB1B"}
@@ -30,10 +30,8 @@ export class AutoNATv2Client {
30
30
  connectionThreshold;
31
31
  queue;
32
32
  nonces;
33
- safeDispatchEvent;
34
33
  constructor(components, init) {
35
34
  this.components = components;
36
- this.safeDispatchEvent = init.safeDispatchEvent;
37
35
  this.log = components.logger.forComponent('libp2p:auto-nat-v2:client');
38
36
  this.started = false;
39
37
  this.dialRequestProtocol = init.dialRequestProtocol;
@@ -266,7 +264,12 @@ export class AutoNATv2Client {
266
264
  */
267
265
  removeOutdatedMultiaddrResults() {
268
266
  const unverifiedMultiaddrs = new Set(this.components.addressManager.getAddressesWithMetadata()
269
- .filter(({ expires }) => expires < Date.now())
267
+ .filter(({ expires }) => {
268
+ if (expires < Date.now()) {
269
+ return true;
270
+ }
271
+ return false;
272
+ })
270
273
  .map(({ multiaddr }) => multiaddr.toString()));
271
274
  for (const multiaddr of this.dialResults.keys()) {
272
275
  if (!unverifiedMultiaddrs.has(multiaddr)) {
@@ -405,9 +408,6 @@ export class AutoNATv2Client {
405
408
  results.networkSegments.push(segment);
406
409
  if (response.dialResponse.dialStatus === DialStatus.OK) {
407
410
  this.log.trace('%p dialed %a successfully', connection.remotePeer, results.multiaddr);
408
- // surface progress as this new-segment peer contributes, before its
409
- // result is counted
410
- this.emitReachabilityEvent(results, 'verifying');
411
411
  results.success++;
412
412
  // observed addresses require more confirmations
413
413
  if (results.type !== 'observed') {
@@ -418,7 +418,6 @@ export class AutoNATv2Client {
418
418
  else if (response.dialResponse.dialStatus === DialStatus.E_DIAL_ERROR) {
419
419
  this.log.trace('%p could not dial %a', connection.remotePeer, results.multiaddr);
420
420
  // the address was not dialable (e.g. not public)
421
- this.emitReachabilityEvent(results, 'verifying');
422
421
  results.failure++;
423
422
  }
424
423
  else if (response.dialResponse.dialStatus === DialStatus.E_DIAL_BACK_ERROR) {
@@ -457,7 +456,6 @@ export class AutoNATv2Client {
457
456
  this.dialResults.delete(results.multiaddr.toString());
458
457
  // abort & remove any outstanding verification jobs for this multiaddr
459
458
  results.result = true;
460
- this.emitReachabilityEvent(results, 'reachable');
461
459
  }
462
460
  unconfirmAddress(results) {
463
461
  // we are now unconvinced
@@ -466,17 +464,6 @@ export class AutoNATv2Client {
466
464
  this.dialResults.delete(results.multiaddr.toString());
467
465
  // abort & remove any outstanding verification jobs for this multiaddr
468
466
  results.result = false;
469
- this.emitReachabilityEvent(results, 'unreachable');
470
- }
471
- emitReachabilityEvent(results, state) {
472
- this.safeDispatchEvent(`address:${state}`, {
473
- detail: {
474
- addr: results.multiaddr,
475
- type: results.type,
476
- success: results.success,
477
- failure: results.failure
478
- }
479
- });
480
467
  }
481
468
  getNetworkSegment(ma) {
482
469
  // make sure we use different network segments
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -19,56 +19,10 @@
19
19
  * autoNAT: autoNATv2()
20
20
  * }
21
21
  * })
22
- *
23
- * // observe per-address reachability changes as they are probed
24
- * node.services.autoNAT.addEventListener('address:reachable', (evt) => {
25
- * console.info(evt.detail.addr, 'is externally dialable')
26
- * })
27
22
  * ```
28
23
  */
29
24
  import type { ComponentLogger, Metrics, PeerStore } from '@libp2p/interface';
30
- import type { AddressManager, AddressType, ConnectionManager, RandomWalk, Registrar } from '@libp2p/interface-internal';
31
- import type { Multiaddr } from '@multiformats/multiaddr';
32
- import type { TypedEventEmitter } from 'main-event';
33
- export interface AddressReachabilityChange {
34
- /**
35
- * The address a probe result relates to
36
- */
37
- readonly addr: Multiaddr;
38
- /**
39
- * The type of address being probed (e.g. observed or transport)
40
- */
41
- readonly type: AddressType;
42
- /**
43
- * How many peers have successfully dialled this address so far this round
44
- */
45
- readonly success: number;
46
- /**
47
- * How many peers have failed to dial this address so far this round
48
- */
49
- readonly failure: number;
50
- }
51
- export interface AutoNATv2Events {
52
- /**
53
- * Emitted as each peer contributes a dial result for an address, carrying the
54
- * running success/failure tally for the current round. A verdict
55
- * (reachable/unreachable) is not guaranteed to follow.
56
- */
57
- 'address:verifying': CustomEvent<AddressReachabilityChange>;
58
- /**
59
- * An address was confirmed to be externally dialable. Carries the tally for
60
- * the current round, which is zero when an address is re-affirmed under
61
- * connection pressure without probing.
62
- */
63
- 'address:reachable': CustomEvent<AddressReachabilityChange>;
64
- /**
65
- * An address was confirmed not to be externally dialable, carrying the tally
66
- * for the round that reached the failure threshold.
67
- */
68
- 'address:unreachable': CustomEvent<AddressReachabilityChange>;
69
- }
70
- export interface AutoNATv2 extends TypedEventEmitter<AutoNATv2Events> {
71
- }
25
+ import type { AddressManager, ConnectionManager, RandomWalk, Registrar } from '@libp2p/interface-internal';
72
26
  export interface AutoNATv2ServiceInit {
73
27
  /**
74
28
  * Allows overriding the protocol prefix used
@@ -135,5 +89,5 @@ export interface AutoNATv2Components {
135
89
  peerStore: PeerStore;
136
90
  metrics?: Metrics;
137
91
  }
138
- export declare function autoNATv2(init?: AutoNATv2ServiceInit): (components: AutoNATv2Components) => AutoNATv2;
92
+ export declare function autoNATv2(init?: AutoNATv2ServiceInit): (components: AutoNATv2Components) => unknown;
139
93
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACvH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IAExB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAE1B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IAExB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,mBAAmB,EAAE,WAAW,CAAC,yBAAyB,CAAC,CAAA;IAE3D;;;;OAIG;IACH,mBAAmB,EAAE,WAAW,CAAC,yBAAyB,CAAC,CAAA;IAE3D;;;OAGG;IACH,qBAAqB,EAAE,WAAW,CAAC,yBAAyB,CAAC,CAAA;CAC9D;AAED,MAAM,WAAW,SAAU,SAAQ,iBAAiB,CAAC,eAAe,CAAC;CACpE;AAED,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAE3B;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAE5B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,SAAS,CAAA;IACpB,cAAc,EAAE,cAAc,CAAA;IAC9B,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,MAAM,EAAE,eAAe,CAAA;IACvB,UAAU,EAAE,UAAU,CAAA;IACtB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,wBAAgB,SAAS,CAAE,IAAI,GAAE,oBAAyB,GAAG,CAAC,UAAU,EAAE,mBAAmB,KAAK,SAAS,CAI1G"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAE1G,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAE3B;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAE5B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,SAAS,CAAA;IACpB,cAAc,EAAE,cAAc,CAAA;IAC9B,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,MAAM,EAAE,eAAe,CAAA;IACvB,UAAU,EAAE,UAAU,CAAA;IACtB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,wBAAgB,SAAS,CAAE,IAAI,GAAE,oBAAyB,GAAG,CAAC,UAAU,EAAE,mBAAmB,KAAK,OAAO,CAIxG"}
package/dist/src/index.js CHANGED
@@ -19,11 +19,6 @@
19
19
  * autoNAT: autoNATv2()
20
20
  * }
21
21
  * })
22
- *
23
- * // observe per-address reachability changes as they are probed
24
- * node.services.autoNAT.addEventListener('address:reachable', (evt) => {
25
- * console.info(evt.detail.addr, 'is externally dialable')
26
- * })
27
22
  * ```
28
23
  */
29
24
  import { AutoNATv2Service } from "./autonat.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAkI/C,MAAM,UAAU,SAAS,CAAE,OAA6B,EAAE;IACxD,OAAO,CAAC,UAAU,EAAE,EAAE;QACpB,OAAO,IAAI,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IAC/C,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAiF/C,MAAM,UAAU,SAAS,CAAE,OAA6B,EAAE;IACxD,OAAO,CAAC,UAAU,EAAE,EAAE;QACpB,OAAO,IAAI,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IAC/C,CAAC,CAAA;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/autonat-v2",
3
- "version": "2.0.23-cec2b1f34",
3
+ "version": "2.0.23-fb9e8a76e",
4
4
  "description": "Implementation of the AutoNAT Protocol v2",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/protocol-autonat-v2#readme",
@@ -46,10 +46,10 @@
46
46
  "doc-check": "aegir doc-check"
47
47
  },
48
48
  "dependencies": {
49
- "@libp2p/interface": "3.2.5-cec2b1f34",
50
- "@libp2p/interface-internal": "3.1.8-cec2b1f34",
51
- "@libp2p/peer-collections": "7.0.23-cec2b1f34",
52
- "@libp2p/utils": "7.2.4-cec2b1f34",
49
+ "@libp2p/interface": "3.2.5-fb9e8a76e",
50
+ "@libp2p/interface-internal": "3.1.8-fb9e8a76e",
51
+ "@libp2p/peer-collections": "7.0.23-fb9e8a76e",
52
+ "@libp2p/utils": "7.2.4-fb9e8a76e",
53
53
  "@multiformats/multiaddr": "^13.0.3",
54
54
  "any-signal": "^4.1.1",
55
55
  "main-event": "^1.0.1",
@@ -58,9 +58,9 @@
58
58
  "uint8arrays": "^6.1.1"
59
59
  },
60
60
  "devDependencies": {
61
- "@libp2p/crypto": "5.1.21-cec2b1f34",
62
- "@libp2p/logger": "6.2.10-cec2b1f34",
63
- "@libp2p/peer-id": "6.0.12-cec2b1f34",
61
+ "@libp2p/crypto": "5.1.21-fb9e8a76e",
62
+ "@libp2p/logger": "6.2.10-fb9e8a76e",
63
+ "@libp2p/peer-id": "6.0.12-fb9e8a76e",
64
64
  "aegir": "^48.1.1",
65
65
  "delay": "^7.0.0",
66
66
  "it-all": "^3.0.9",
package/src/autonat.ts CHANGED
@@ -1,26 +1,22 @@
1
1
  import { serviceCapabilities, serviceDependencies, start, stop } from '@libp2p/interface'
2
- import { TypedEventEmitter } from 'main-event'
3
2
  import { AutoNATv2Client } from './client.ts'
4
3
  import { DIAL_BACK, DIAL_REQUEST, PROTOCOL_NAME, PROTOCOL_PREFIX, PROTOCOL_VERSION } from './constants.ts'
5
4
  import { AutoNATv2Server } from './server.ts'
6
- import type { AutoNATv2Components, AutoNATv2Events, AutoNATv2ServiceInit } from './index.ts'
5
+ import type { AutoNATv2Components, AutoNATv2ServiceInit } from './index.ts'
7
6
  import type { Startable } from '@libp2p/interface'
8
7
 
9
- export class AutoNATv2Service extends TypedEventEmitter<AutoNATv2Events> implements Startable {
8
+ export class AutoNATv2Service implements Startable {
10
9
  private readonly client: AutoNATv2Client
11
10
  private readonly server: AutoNATv2Server
12
11
 
13
12
  constructor (components: AutoNATv2Components, init: AutoNATv2ServiceInit) {
14
- super()
15
-
16
13
  const dialRequestProtocol = `/${init.protocolPrefix ?? PROTOCOL_PREFIX}/${PROTOCOL_NAME}/${PROTOCOL_VERSION}/${DIAL_REQUEST}`
17
14
  const dialBackProtocol = `/${init.protocolPrefix ?? PROTOCOL_PREFIX}/${PROTOCOL_NAME}/${PROTOCOL_VERSION}/${DIAL_BACK}`
18
15
 
19
16
  this.client = new AutoNATv2Client(components, {
20
17
  ...init,
21
18
  dialRequestProtocol,
22
- dialBackProtocol,
23
- safeDispatchEvent: this.safeDispatchEvent.bind(this)
19
+ dialBackProtocol
24
20
  })
25
21
  this.server = new AutoNATv2Server(components, {
26
22
  ...init,
package/src/client.ts CHANGED
@@ -6,15 +6,12 @@ import { setMaxListeners } from 'main-event'
6
6
  import { DEFAULT_CONNECTION_THRESHOLD, DIAL_DATA_CHUNK_SIZE, MAX_DIAL_DATA_BYTES, MAX_INBOUND_STREAMS, MAX_MESSAGE_SIZE, MAX_OUTBOUND_STREAMS, TIMEOUT } from './constants.ts'
7
7
  import { DialBack, DialBackResponse, DialResponse, DialStatus, Message } from './pb/index.ts'
8
8
  import { randomNumber } from './utils.ts'
9
- import type { AddressReachabilityChange, AutoNATv2Components, AutoNATv2Events, AutoNATv2ServiceInit } from './index.ts'
9
+ import type { AutoNATv2Components, AutoNATv2ServiceInit } from './index.ts'
10
10
  import type { Logger, Connection, Startable, AbortOptions, Stream } from '@libp2p/interface'
11
11
  import type { AddressType } from '@libp2p/interface-internal'
12
12
  import type { PeerSet } from '@libp2p/peer-collections'
13
13
  import type { Filter, RepeatingTask } from '@libp2p/utils'
14
14
  import type { Multiaddr } from '@multiformats/multiaddr'
15
- import type { TypedEventEmitter } from 'main-event'
16
-
17
- export type DispatchAutoNATv2Event = TypedEventEmitter<AutoNATv2Events>['safeDispatchEvent']
18
15
 
19
16
  // if more than 3 peers manage to dial us on what we believe to be our external
20
17
  // IP then we are convinced that it is, in fact, our external IP
@@ -71,7 +68,6 @@ export interface AutoNATv2ClientInit extends AutoNATv2ServiceInit {
71
68
  dialBackProtocol: string
72
69
  maxDialDataBytes?: bigint
73
70
  dialDataChunkSize?: number
74
- safeDispatchEvent: DispatchAutoNATv2Event
75
71
  }
76
72
 
77
73
  export class AutoNATv2Client implements Startable {
@@ -93,11 +89,9 @@ export class AutoNATv2Client implements Startable {
93
89
  private readonly connectionThreshold: number
94
90
  private readonly queue: PeerQueue
95
91
  private readonly nonces: Set<bigint>
96
- private readonly safeDispatchEvent: DispatchAutoNATv2Event
97
92
 
98
93
  constructor (components: AutoNATv2Components, init: AutoNATv2ClientInit) {
99
94
  this.components = components
100
- this.safeDispatchEvent = init.safeDispatchEvent
101
95
  this.log = components.logger.forComponent('libp2p:auto-nat-v2:client')
102
96
  this.started = false
103
97
  this.dialRequestProtocol = init.dialRequestProtocol
@@ -378,7 +372,13 @@ export class AutoNATv2Client implements Startable {
378
372
  */
379
373
  private removeOutdatedMultiaddrResults (): void {
380
374
  const unverifiedMultiaddrs = new Set(this.components.addressManager.getAddressesWithMetadata()
381
- .filter(({ expires }) => expires < Date.now())
375
+ .filter(({ expires }) => {
376
+ if (expires < Date.now()) {
377
+ return true
378
+ }
379
+
380
+ return false
381
+ })
382
382
  .map(({ multiaddr }) => multiaddr.toString())
383
383
  )
384
384
 
@@ -553,9 +553,6 @@ export class AutoNATv2Client implements Startable {
553
553
  if (response.dialResponse.dialStatus === DialStatus.OK) {
554
554
  this.log.trace('%p dialed %a successfully', connection.remotePeer, results.multiaddr)
555
555
 
556
- // surface progress as this new-segment peer contributes, before its
557
- // result is counted
558
- this.emitReachabilityEvent(results, 'verifying')
559
556
  results.success++
560
557
 
561
558
  // observed addresses require more confirmations
@@ -566,7 +563,6 @@ export class AutoNATv2Client implements Startable {
566
563
  } else if (response.dialResponse.dialStatus === DialStatus.E_DIAL_ERROR) {
567
564
  this.log.trace('%p could not dial %a', connection.remotePeer, results.multiaddr)
568
565
  // the address was not dialable (e.g. not public)
569
- this.emitReachabilityEvent(results, 'verifying')
570
566
  results.failure++
571
567
  } else if (response.dialResponse.dialStatus === DialStatus.E_DIAL_BACK_ERROR) {
572
568
  this.log.trace('%p saw error while dialing %a', connection.remotePeer, results.multiaddr)
@@ -609,8 +605,6 @@ export class AutoNATv2Client implements Startable {
609
605
 
610
606
  // abort & remove any outstanding verification jobs for this multiaddr
611
607
  results.result = true
612
-
613
- this.emitReachabilityEvent(results, 'reachable')
614
608
  }
615
609
 
616
610
  private unconfirmAddress (results: DialResults): void {
@@ -621,19 +615,6 @@ export class AutoNATv2Client implements Startable {
621
615
 
622
616
  // abort & remove any outstanding verification jobs for this multiaddr
623
617
  results.result = false
624
-
625
- this.emitReachabilityEvent(results, 'unreachable')
626
- }
627
-
628
- private emitReachabilityEvent (results: DialResults, state: 'verifying' | 'reachable' | 'unreachable'): void {
629
- this.safeDispatchEvent<AddressReachabilityChange>(`address:${state}`, {
630
- detail: {
631
- addr: results.multiaddr,
632
- type: results.type,
633
- success: results.success,
634
- failure: results.failure
635
- }
636
- })
637
618
  }
638
619
 
639
620
  private getNetworkSegment (ma: Multiaddr): string {
package/src/index.ts CHANGED
@@ -19,66 +19,12 @@
19
19
  * autoNAT: autoNATv2()
20
20
  * }
21
21
  * })
22
- *
23
- * // observe per-address reachability changes as they are probed
24
- * node.services.autoNAT.addEventListener('address:reachable', (evt) => {
25
- * console.info(evt.detail.addr, 'is externally dialable')
26
- * })
27
22
  * ```
28
23
  */
29
24
 
30
25
  import { AutoNATv2Service } from './autonat.ts'
31
26
  import type { ComponentLogger, Metrics, PeerStore } from '@libp2p/interface'
32
- import type { AddressManager, AddressType, ConnectionManager, RandomWalk, Registrar } from '@libp2p/interface-internal'
33
- import type { Multiaddr } from '@multiformats/multiaddr'
34
- import type { TypedEventEmitter } from 'main-event'
35
-
36
- export interface AddressReachabilityChange {
37
- /**
38
- * The address a probe result relates to
39
- */
40
- readonly addr: Multiaddr
41
-
42
- /**
43
- * The type of address being probed (e.g. observed or transport)
44
- */
45
- readonly type: AddressType
46
-
47
- /**
48
- * How many peers have successfully dialled this address so far this round
49
- */
50
- readonly success: number
51
-
52
- /**
53
- * How many peers have failed to dial this address so far this round
54
- */
55
- readonly failure: number
56
- }
57
-
58
- export interface AutoNATv2Events {
59
- /**
60
- * Emitted as each peer contributes a dial result for an address, carrying the
61
- * running success/failure tally for the current round. A verdict
62
- * (reachable/unreachable) is not guaranteed to follow.
63
- */
64
- 'address:verifying': CustomEvent<AddressReachabilityChange>
65
-
66
- /**
67
- * An address was confirmed to be externally dialable. Carries the tally for
68
- * the current round, which is zero when an address is re-affirmed under
69
- * connection pressure without probing.
70
- */
71
- 'address:reachable': CustomEvent<AddressReachabilityChange>
72
-
73
- /**
74
- * An address was confirmed not to be externally dialable, carrying the tally
75
- * for the round that reached the failure threshold.
76
- */
77
- 'address:unreachable': CustomEvent<AddressReachabilityChange>
78
- }
79
-
80
- export interface AutoNATv2 extends TypedEventEmitter<AutoNATv2Events> {
81
- }
27
+ import type { AddressManager, ConnectionManager, RandomWalk, Registrar } from '@libp2p/interface-internal'
82
28
 
83
29
  export interface AutoNATv2ServiceInit {
84
30
  /**
@@ -157,7 +103,7 @@ export interface AutoNATv2Components {
157
103
  metrics?: Metrics
158
104
  }
159
105
 
160
- export function autoNATv2 (init: AutoNATv2ServiceInit = {}): (components: AutoNATv2Components) => AutoNATv2 {
106
+ export function autoNATv2 (init: AutoNATv2ServiceInit = {}): (components: AutoNATv2Components) => unknown {
161
107
  return (components) => {
162
108
  return new AutoNATv2Service(components, init)
163
109
  }