libp2p 0.42.2-45fc415b → 0.42.2-593deefe

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 (136) hide show
  1. package/dist/index.min.js +29 -29
  2. package/dist/src/circuit/client.d.ts +81 -0
  3. package/dist/src/circuit/client.d.ts.map +1 -0
  4. package/dist/src/circuit/client.js +285 -0
  5. package/dist/src/circuit/client.js.map +1 -0
  6. package/dist/src/circuit/constants.d.ts +7 -8
  7. package/dist/src/circuit/constants.d.ts.map +1 -1
  8. package/dist/src/circuit/constants.js +11 -8
  9. package/dist/src/circuit/constants.js.map +1 -1
  10. package/dist/src/circuit/hop.d.ts +23 -0
  11. package/dist/src/circuit/hop.d.ts.map +1 -0
  12. package/dist/src/circuit/hop.js +167 -0
  13. package/dist/src/circuit/hop.js.map +1 -0
  14. package/dist/src/circuit/index.d.ts +47 -47
  15. package/dist/src/circuit/index.d.ts.map +1 -1
  16. package/dist/src/circuit/index.js +1 -68
  17. package/dist/src/circuit/index.js.map +1 -1
  18. package/dist/src/circuit/interfaces.d.ts +27 -0
  19. package/dist/src/circuit/interfaces.d.ts.map +1 -0
  20. package/dist/src/circuit/interfaces.js +2 -0
  21. package/dist/src/circuit/interfaces.js.map +1 -0
  22. package/dist/src/circuit/multicodec.d.ts +2 -1
  23. package/dist/src/circuit/multicodec.d.ts.map +1 -1
  24. package/dist/src/circuit/multicodec.js +2 -1
  25. package/dist/src/circuit/multicodec.js.map +1 -1
  26. package/dist/src/circuit/pb/index.d.ts +83 -43
  27. package/dist/src/circuit/pb/index.d.ts.map +1 -1
  28. package/dist/src/circuit/pb/index.js +363 -127
  29. package/dist/src/circuit/pb/index.js.map +1 -1
  30. package/dist/src/circuit/relay.d.ts +34 -0
  31. package/dist/src/circuit/relay.d.ts.map +1 -0
  32. package/dist/src/circuit/relay.js +61 -0
  33. package/dist/src/circuit/relay.js.map +1 -0
  34. package/dist/src/circuit/reservation-store.d.ts +42 -0
  35. package/dist/src/circuit/reservation-store.d.ts.map +1 -0
  36. package/dist/src/circuit/reservation-store.js +59 -0
  37. package/dist/src/circuit/reservation-store.js.map +1 -0
  38. package/dist/src/circuit/reservation-voucher.d.ts +18 -0
  39. package/dist/src/circuit/reservation-voucher.d.ts.map +1 -0
  40. package/dist/src/circuit/reservation-voucher.js +33 -0
  41. package/dist/src/circuit/reservation-voucher.js.map +1 -0
  42. package/dist/src/circuit/stop.d.ts +19 -0
  43. package/dist/src/circuit/stop.d.ts.map +1 -0
  44. package/dist/src/circuit/stop.js +67 -0
  45. package/dist/src/circuit/stop.js.map +1 -0
  46. package/dist/src/circuit/transport.d.ts +24 -9
  47. package/dist/src/circuit/transport.d.ts.map +1 -1
  48. package/dist/src/circuit/transport.js +133 -118
  49. package/dist/src/circuit/transport.js.map +1 -1
  50. package/dist/src/circuit/utils.d.ts +5 -0
  51. package/dist/src/circuit/utils.d.ts.map +1 -1
  52. package/dist/src/circuit/utils.js +114 -0
  53. package/dist/src/circuit/utils.js.map +1 -1
  54. package/dist/src/config.d.ts.map +1 -1
  55. package/dist/src/config.js +2 -3
  56. package/dist/src/config.js.map +1 -1
  57. package/dist/src/connection-manager/dialer/dial-request.d.ts.map +1 -1
  58. package/dist/src/connection-manager/dialer/dial-request.js +7 -0
  59. package/dist/src/connection-manager/dialer/dial-request.js.map +1 -1
  60. package/dist/src/errors.d.ts +2 -1
  61. package/dist/src/errors.d.ts.map +1 -1
  62. package/dist/src/errors.js +1 -0
  63. package/dist/src/errors.js.map +1 -1
  64. package/dist/src/fetch/pb/proto.d.ts +3 -3
  65. package/dist/src/fetch/pb/proto.d.ts.map +1 -1
  66. package/dist/src/fetch/pb/proto.js +4 -3
  67. package/dist/src/fetch/pb/proto.js.map +1 -1
  68. package/dist/src/identify/pb/message.d.ts +2 -2
  69. package/dist/src/identify/pb/message.d.ts.map +1 -1
  70. package/dist/src/identify/pb/message.js +1 -0
  71. package/dist/src/identify/pb/message.js.map +1 -1
  72. package/dist/src/insecure/pb/proto.d.ts +3 -3
  73. package/dist/src/insecure/pb/proto.d.ts.map +1 -1
  74. package/dist/src/insecure/pb/proto.js +4 -5
  75. package/dist/src/insecure/pb/proto.js.map +1 -1
  76. package/dist/src/libp2p.d.ts +2 -0
  77. package/dist/src/libp2p.d.ts.map +1 -1
  78. package/dist/src/libp2p.js +10 -3
  79. package/dist/src/libp2p.js.map +1 -1
  80. package/dist/src/transport-manager.d.ts.map +1 -1
  81. package/dist/src/transport-manager.js +2 -3
  82. package/dist/src/transport-manager.js.map +1 -1
  83. package/dist/src/upgrader.d.ts.map +1 -1
  84. package/dist/src/upgrader.js.map +1 -1
  85. package/package.json +12 -11
  86. package/src/circuit/client.ts +381 -0
  87. package/src/circuit/constants.ts +14 -8
  88. package/src/circuit/hop.ts +210 -0
  89. package/src/circuit/index.ts +49 -111
  90. package/src/circuit/interfaces.ts +28 -0
  91. package/src/circuit/multicodec.ts +2 -1
  92. package/src/circuit/pb/index.proto +57 -32
  93. package/src/circuit/pb/index.ts +448 -138
  94. package/src/circuit/relay.ts +87 -0
  95. package/src/circuit/reservation-store.ts +106 -0
  96. package/src/circuit/reservation-voucher.ts +51 -0
  97. package/src/circuit/stop.ts +92 -0
  98. package/src/circuit/transport.ts +166 -131
  99. package/src/circuit/utils.ts +145 -0
  100. package/src/config.ts +2 -3
  101. package/src/connection-manager/dialer/dial-request.ts +7 -0
  102. package/src/errors.ts +2 -1
  103. package/src/fetch/pb/proto.ts +8 -7
  104. package/src/identify/pb/message.ts +3 -2
  105. package/src/insecure/pb/proto.ts +8 -9
  106. package/src/libp2p.ts +12 -3
  107. package/src/transport-manager.ts +2 -3
  108. package/src/upgrader.ts +4 -4
  109. package/src/version.ts +1 -1
  110. package/dist/src/circuit/auto-relay.d.ts +0 -46
  111. package/dist/src/circuit/auto-relay.d.ts.map +0 -1
  112. package/dist/src/circuit/auto-relay.js +0 -220
  113. package/dist/src/circuit/auto-relay.js.map +0 -1
  114. package/dist/src/circuit/circuit/hop.d.ts +0 -42
  115. package/dist/src/circuit/circuit/hop.d.ts.map +0 -1
  116. package/dist/src/circuit/circuit/hop.js +0 -142
  117. package/dist/src/circuit/circuit/hop.js.map +0 -1
  118. package/dist/src/circuit/circuit/stop.d.ts +0 -24
  119. package/dist/src/circuit/circuit/stop.d.ts.map +0 -1
  120. package/dist/src/circuit/circuit/stop.js +0 -51
  121. package/dist/src/circuit/circuit/stop.js.map +0 -1
  122. package/dist/src/circuit/circuit/stream-handler.d.ts +0 -40
  123. package/dist/src/circuit/circuit/stream-handler.d.ts.map +0 -1
  124. package/dist/src/circuit/circuit/stream-handler.js +0 -59
  125. package/dist/src/circuit/circuit/stream-handler.js.map +0 -1
  126. package/dist/src/circuit/circuit/utils.d.ts +0 -7
  127. package/dist/src/circuit/circuit/utils.d.ts.map +0 -1
  128. package/dist/src/circuit/circuit/utils.js +0 -43
  129. package/dist/src/circuit/circuit/utils.js.map +0 -1
  130. package/src/circuit/IMPLEMENTATION_NOTES.md +0 -128
  131. package/src/circuit/README.md +0 -111
  132. package/src/circuit/auto-relay.ts +0 -292
  133. package/src/circuit/circuit/hop.ts +0 -220
  134. package/src/circuit/circuit/stop.ts +0 -83
  135. package/src/circuit/circuit/stream-handler.ts +0 -87
  136. package/src/circuit/circuit/utils.ts +0 -44
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hop.js","sourceRoot":"","sources":["../../../src/circuit/hop.ts"],"names":[],"mappings":"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"}
@@ -1,65 +1,65 @@
1
- import type { AddressSorter, PeerStore } from '@libp2p/interface-peer-store';
2
- import type { Startable } from '@libp2p/interfaces/startable';
3
- import type { ContentRouting } from '@libp2p/interface-content-routing';
4
- import type { ConnectionManager } from '@libp2p/interface-connection-manager';
5
- import type { TransportManager } from '@libp2p/interface-transport';
6
- import type { PeerId } from '@libp2p/interface-peer-id';
7
- import type { StreamHandlerOptions } from '@libp2p/interface-registrar';
8
- export interface RelayConfig extends StreamHandlerOptions {
1
+ /**
2
+ * RelayConfig configures the circuit v2 relay transport.
3
+ */
4
+ export interface RelayConfig {
5
+ /**
6
+ * Enable dialing a client over a relay and receiving relayed connections.
7
+ * This in itself does not enable the node to act as a relay.
8
+ */
9
9
  enabled: boolean;
10
10
  advertise: RelayAdvertiseConfig;
11
11
  hop: HopConfig;
12
- autoRelay: AutoRelayConfig;
13
- }
14
- export interface HopConfig {
15
- enabled?: boolean;
16
- active?: boolean;
17
- timeout: number;
12
+ reservationManager: RelayReservationManagerConfig;
18
13
  }
19
- export interface RelayAdvertiseConfig {
20
- bootDelay?: number;
21
- enabled?: boolean;
22
- ttl?: number;
23
- }
24
- export interface AutoRelayConfig {
14
+ /**
15
+ * RelayReservationManagerConfig allows the node to automatically listen
16
+ * on any discovered relays upto a specified maximum.
17
+ */
18
+ export interface RelayReservationManagerConfig {
19
+ /**
20
+ * enable or disable autorelay (default: false)
21
+ */
25
22
  enabled?: boolean;
26
23
  /**
27
- * maximum number of relays to listen
24
+ * maximum number of relays to listen (default: 1)
28
25
  */
29
- maxListeners: number;
30
- }
31
- export interface RelayInit extends RelayConfig {
32
- addressSorter?: AddressSorter;
33
- }
34
- export interface RelayComponents {
35
- peerId: PeerId;
36
- contentRouting: ContentRouting;
37
- peerStore: PeerStore;
38
- connectionManager: ConnectionManager;
39
- transportManager: TransportManager;
26
+ maxReservations?: number;
40
27
  }
41
- export declare class Relay implements Startable {
42
- private readonly components;
43
- private readonly init;
44
- private readonly autoRelay?;
45
- private timeout?;
46
- private started;
28
+ /**
29
+ * Configures using the node as a HOP relay
30
+ */
31
+ export interface HopConfig {
47
32
  /**
48
- * Creates an instance of Relay
33
+ * If true this node will function as a limited relay (default: false)
49
34
  */
50
- constructor(components: RelayComponents, init: RelayInit);
51
- isStarted(): boolean;
35
+ enabled?: boolean;
52
36
  /**
53
- * Start Relay service
37
+ * timeout for hop requests to complete
54
38
  */
55
- start(): Promise<void>;
39
+ timeout: number;
56
40
  /**
57
- * Stop Relay service
41
+ * If false, no connection limits will be applied to relayed connections (default: true)
58
42
  */
59
- stop(): Promise<void>;
43
+ applyConnectionLimits?: boolean;
60
44
  /**
61
- * Advertise hop relay service in the network.
45
+ * Limits to apply to incoming relay connections - relayed connections will be closed if
46
+ * these limits are exceeded.
62
47
  */
63
- _advertiseService(): Promise<void>;
48
+ limit?: {
49
+ /**
50
+ * How long to relay a connection for in milliseconds (default: 2m)
51
+ */
52
+ duration?: number;
53
+ /**
54
+ * How many bytes to allow to be transferred over a relayed connection (default: 128k)
55
+ */
56
+ data?: bigint;
57
+ };
58
+ }
59
+ export interface RelayAdvertiseConfig {
60
+ bootDelay?: number;
61
+ enabled?: boolean;
62
+ ttl?: number;
64
63
  }
64
+ export { Relay } from './relay.js';
65
65
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/circuit/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAEvE,MAAM,WAAW,WAAY,SAAQ,oBAAoB;IACvD,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,oBAAoB,CAAA;IAC/B,GAAG,EAAE,SAAS,CAAA;IACd,SAAS,EAAE,eAAe,CAAA;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB;AAID,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,SAAU,SAAQ,WAAW;IAC5C,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,cAAc,CAAA;IAC9B,SAAS,EAAE,SAAS,CAAA;IACpB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,gBAAgB,EAAE,gBAAgB,CAAA;CACnC;AAED,qBAAa,KAAM,YAAW,SAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAW;IAEhC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAW;IACtC,OAAO,CAAC,OAAO,CAAC,CAAK;IACrB,OAAO,CAAC,OAAO,CAAS;IAExB;;OAEG;gBACU,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS;IAezD,SAAS;IAIT;;OAEG;IACG,KAAK;IAWX;;OAEG;IACG,IAAI;IAQV;;OAEG;IACG,iBAAiB;CAcxB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/circuit/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,oBAAoB,CAAA;IAC/B,GAAG,EAAE,SAAS,CAAA;IACd,kBAAkB,EAAE,6BAA6B,CAAA;CAClD;AAED;;;GAGG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAE/B;;;OAGG;IACH,KAAK,CAAC,EAAE;QACN;;WAEG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAA;QAEjB;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;CACF;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA"}
@@ -1,69 +1,2 @@
1
- import { logger } from '@libp2p/logger';
2
- import { codes } from '../errors.js';
3
- import { setDelayedInterval, clearDelayedInterval
4
- // @ts-expect-error set-delayed-interval does not export types
5
- } from 'set-delayed-interval';
6
- import { AutoRelay } from './auto-relay.js';
7
- import { namespaceToCid } from './utils.js';
8
- import { RELAY_RENDEZVOUS_NS } from './constants.js';
9
- const log = logger('libp2p:relay');
10
- export class Relay {
11
- /**
12
- * Creates an instance of Relay
13
- */
14
- constructor(components, init) {
15
- this.components = components;
16
- // Create autoRelay if enabled
17
- this.autoRelay = init.autoRelay?.enabled !== false
18
- ? new AutoRelay(components, {
19
- addressSorter: init.addressSorter,
20
- ...init.autoRelay
21
- })
22
- : undefined;
23
- this.started = false;
24
- this.init = init;
25
- this._advertiseService = this._advertiseService.bind(this);
26
- }
27
- isStarted() {
28
- return this.started;
29
- }
30
- /**
31
- * Start Relay service
32
- */
33
- async start() {
34
- // Advertise service if HOP enabled
35
- if (this.init.hop.enabled !== false && this.init.advertise.enabled !== false) {
36
- this.timeout = setDelayedInterval(this._advertiseService, this.init.advertise.ttl, this.init.advertise.bootDelay);
37
- }
38
- this.started = true;
39
- }
40
- /**
41
- * Stop Relay service
42
- */
43
- async stop() {
44
- if (this.timeout != null) {
45
- clearDelayedInterval(this.timeout);
46
- }
47
- this.started = false;
48
- }
49
- /**
50
- * Advertise hop relay service in the network.
51
- */
52
- async _advertiseService() {
53
- try {
54
- const cid = await namespaceToCid(RELAY_RENDEZVOUS_NS);
55
- await this.components.contentRouting.provide(cid);
56
- }
57
- catch (err) {
58
- if (err.code === codes.ERR_NO_ROUTERS_AVAILABLE) {
59
- log.error('a content router, such as a DHT, must be provided in order to advertise the relay service', err);
60
- // Stop the advertise
61
- await this.stop();
62
- }
63
- else {
64
- log.error(err);
65
- }
66
- }
67
- }
68
- }
1
+ export { Relay } from './relay.js';
69
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/circuit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EACL,kBAAkB,EAClB,oBAAoB;AACtB,8DAA8D;EAC7D,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EACL,mBAAmB,EACpB,MAAM,gBAAgB,CAAA;AAsBvB,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;AA6BlC,MAAM,OAAO,KAAK;IAQhB;;OAEG;IACH,YAAa,UAA2B,EAAE,IAAe;QACvD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,8BAA8B;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,KAAK,KAAK;YAChD,CAAC,CAAC,IAAI,SAAS,CAAC,UAAU,EAAE;gBAC1B,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,GAAG,IAAI,CAAC,SAAS;aAClB,CAAC;YACF,CAAC,CAAC,SAAS,CAAA;QAEb,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC5D,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,mCAAmC;QACnC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,KAAK,EAAE;YAC5E,IAAI,CAAC,OAAO,GAAG,kBAAkB,CAC/B,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAC/E,CAAA;SACF;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;SACnC;QAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;IACtB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB;QACrB,IAAI;YACF,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,mBAAmB,CAAC,CAAA;YACrD,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;SAClD;QAAC,OAAO,GAAQ,EAAE;YACjB,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,wBAAwB,EAAE;gBAC/C,GAAG,CAAC,KAAK,CAAC,2FAA2F,EAAE,GAAG,CAAC,CAAA;gBAC3G,qBAAqB;gBACrB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;aAClB;iBAAM;gBACL,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;aACf;SACF;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/circuit/index.ts"],"names":[],"mappings":"AAwEA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,27 @@
1
+ import type { PeerId } from '@libp2p/interface-peer-id';
2
+ import type { Multiaddr } from '@multiformats/multiaddr';
3
+ import type { Limit, Status } from './pb/index.js';
4
+ export type ReservationStatus = Status.OK | Status.PERMISSION_DENIED | Status.RESERVATION_REFUSED;
5
+ export interface Reservation {
6
+ addr: Multiaddr;
7
+ expire: Date;
8
+ limit?: Limit;
9
+ }
10
+ export interface ReservationStore {
11
+ reserve: (peer: PeerId, addr: Multiaddr, limit?: Limit) => {
12
+ status: ReservationStatus;
13
+ expire?: number;
14
+ };
15
+ removeReservation: (peer: PeerId) => void;
16
+ hasReservation: (dst: PeerId) => boolean;
17
+ get: (peer: PeerId) => Reservation | undefined;
18
+ }
19
+ export type AclStatus = Status.OK | Status.RESOURCE_LIMIT_EXCEEDED | Status.PERMISSION_DENIED;
20
+ export interface Acl {
21
+ allowReserve: (peer: PeerId, addr: Multiaddr) => Promise<boolean>;
22
+ /**
23
+ * Checks if connection should be allowed
24
+ */
25
+ allowConnect: (src: PeerId, addr: Multiaddr, dst: PeerId) => Promise<AclStatus>;
26
+ }
27
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/circuit/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAElD,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAA;AAEjG,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,EAAE,IAAI,CAAA;IACZ,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK;QAAC,MAAM,EAAE,iBAAiB,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAC,CAAA;IACvG,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;IACxC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAA;CAC/C;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,uBAAuB,GAAG,MAAM,CAAC,iBAAiB,CAAA;AAE7F,MAAM,WAAW,GAAG;IAClB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACjE;;OAEG;IACH,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAA;CAChF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/circuit/interfaces.ts"],"names":[],"mappings":""}
@@ -1,2 +1,3 @@
1
- export declare const RELAY_CODEC = "/libp2p/circuit/relay/0.1.0";
1
+ export declare const RELAY_V2_HOP_CODEC = "/libp2p/circuit/relay/0.2.0/hop";
2
+ export declare const RELAY_V2_STOP_CODEC = "/libp2p/circuit/relay/0.2.0/stop";
2
3
  //# sourceMappingURL=multicodec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"multicodec.d.ts","sourceRoot":"","sources":["../../../src/circuit/multicodec.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,WAAW,gCAAgC,CAAA"}
1
+ {"version":3,"file":"multicodec.d.ts","sourceRoot":"","sources":["../../../src/circuit/multicodec.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,kBAAkB,oCAAoC,CAAA;AACnE,eAAO,MAAM,mBAAmB,qCAAqC,CAAA"}
@@ -1,2 +1,3 @@
1
- export const RELAY_CODEC = '/libp2p/circuit/relay/0.1.0';
1
+ export const RELAY_V2_HOP_CODEC = '/libp2p/circuit/relay/0.2.0/hop';
2
+ export const RELAY_V2_STOP_CODEC = '/libp2p/circuit/relay/0.2.0/stop';
2
3
  //# sourceMappingURL=multicodec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"multicodec.js","sourceRoot":"","sources":["../../../src/circuit/multicodec.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,WAAW,GAAG,6BAA6B,CAAA"}
1
+ {"version":3,"file":"multicodec.js","sourceRoot":"","sources":["../../../src/circuit/multicodec.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,kBAAkB,GAAG,iCAAiC,CAAA;AACnE,MAAM,CAAC,MAAM,mBAAmB,GAAG,kCAAkC,CAAA"}
@@ -1,53 +1,93 @@
1
- import type { Uint8ArrayList } from 'uint8arraylist';
2
1
  import type { Codec } from 'protons-runtime';
3
- export interface CircuitRelay {
4
- type?: CircuitRelay.Type;
5
- srcPeer?: CircuitRelay.Peer;
6
- dstPeer?: CircuitRelay.Peer;
7
- code?: CircuitRelay.Status;
8
- }
9
- export declare namespace CircuitRelay {
10
- enum Status {
11
- SUCCESS = "SUCCESS",
12
- HOP_SRC_ADDR_TOO_LONG = "HOP_SRC_ADDR_TOO_LONG",
13
- HOP_DST_ADDR_TOO_LONG = "HOP_DST_ADDR_TOO_LONG",
14
- HOP_SRC_MULTIADDR_INVALID = "HOP_SRC_MULTIADDR_INVALID",
15
- HOP_DST_MULTIADDR_INVALID = "HOP_DST_MULTIADDR_INVALID",
16
- HOP_NO_CONN_TO_DST = "HOP_NO_CONN_TO_DST",
17
- HOP_CANT_DIAL_DST = "HOP_CANT_DIAL_DST",
18
- HOP_CANT_OPEN_DST_STREAM = "HOP_CANT_OPEN_DST_STREAM",
19
- HOP_CANT_SPEAK_RELAY = "HOP_CANT_SPEAK_RELAY",
20
- HOP_CANT_RELAY_TO_SELF = "HOP_CANT_RELAY_TO_SELF",
21
- STOP_SRC_ADDR_TOO_LONG = "STOP_SRC_ADDR_TOO_LONG",
22
- STOP_DST_ADDR_TOO_LONG = "STOP_DST_ADDR_TOO_LONG",
23
- STOP_SRC_MULTIADDR_INVALID = "STOP_SRC_MULTIADDR_INVALID",
24
- STOP_DST_MULTIADDR_INVALID = "STOP_DST_MULTIADDR_INVALID",
25
- STOP_RELAY_REFUSED = "STOP_RELAY_REFUSED",
26
- MALFORMED_MESSAGE = "MALFORMED_MESSAGE"
27
- }
28
- namespace Status {
29
- const codec: () => Codec<Status>;
30
- }
2
+ import type { Uint8ArrayList } from 'uint8arraylist';
3
+ export interface HopMessage {
4
+ type?: HopMessage.Type;
5
+ peer?: Peer;
6
+ reservation?: Reservation;
7
+ limit?: Limit;
8
+ status?: Status;
9
+ }
10
+ export declare namespace HopMessage {
31
11
  enum Type {
32
- HOP = "HOP",
33
- STOP = "STOP",
34
- STATUS = "STATUS",
35
- CAN_HOP = "CAN_HOP"
12
+ RESERVE = "RESERVE",
13
+ CONNECT = "CONNECT",
14
+ STATUS = "STATUS"
36
15
  }
37
16
  namespace Type {
38
17
  const codec: () => Codec<Type>;
39
18
  }
40
- interface Peer {
41
- id: Uint8Array;
42
- addrs: Uint8Array[];
19
+ const codec: () => Codec<HopMessage>;
20
+ const encode: (obj: Partial<HopMessage>) => Uint8Array;
21
+ const decode: (buf: Uint8Array | Uint8ArrayList) => HopMessage;
22
+ }
23
+ export interface StopMessage {
24
+ type?: StopMessage.Type;
25
+ peer?: Peer;
26
+ limit?: Limit;
27
+ status?: Status;
28
+ }
29
+ export declare namespace StopMessage {
30
+ enum Type {
31
+ CONNECT = "CONNECT",
32
+ STATUS = "STATUS"
43
33
  }
44
- namespace Peer {
45
- const codec: () => Codec<Peer>;
46
- const encode: (obj: Peer) => Uint8Array;
47
- const decode: (buf: Uint8Array | Uint8ArrayList) => Peer;
34
+ namespace Type {
35
+ const codec: () => Codec<Type>;
48
36
  }
49
- const codec: () => Codec<CircuitRelay>;
50
- const encode: (obj: CircuitRelay) => Uint8Array;
51
- const decode: (buf: Uint8Array | Uint8ArrayList) => CircuitRelay;
37
+ const codec: () => Codec<StopMessage>;
38
+ const encode: (obj: Partial<StopMessage>) => Uint8Array;
39
+ const decode: (buf: Uint8Array | Uint8ArrayList) => StopMessage;
40
+ }
41
+ export interface Peer {
42
+ id: Uint8Array;
43
+ addrs: Uint8Array[];
44
+ }
45
+ export declare namespace Peer {
46
+ const codec: () => Codec<Peer>;
47
+ const encode: (obj: Partial<Peer>) => Uint8Array;
48
+ const decode: (buf: Uint8Array | Uint8ArrayList) => Peer;
49
+ }
50
+ export interface Reservation {
51
+ expire: bigint;
52
+ addrs: Uint8Array[];
53
+ voucher?: Uint8Array;
54
+ }
55
+ export declare namespace Reservation {
56
+ const codec: () => Codec<Reservation>;
57
+ const encode: (obj: Partial<Reservation>) => Uint8Array;
58
+ const decode: (buf: Uint8Array | Uint8ArrayList) => Reservation;
59
+ }
60
+ export interface Limit {
61
+ duration?: number;
62
+ data?: bigint;
63
+ }
64
+ export declare namespace Limit {
65
+ const codec: () => Codec<Limit>;
66
+ const encode: (obj: Partial<Limit>) => Uint8Array;
67
+ const decode: (buf: Uint8Array | Uint8ArrayList) => Limit;
68
+ }
69
+ export declare enum Status {
70
+ UNUSED = "UNUSED",
71
+ OK = "OK",
72
+ RESERVATION_REFUSED = "RESERVATION_REFUSED",
73
+ RESOURCE_LIMIT_EXCEEDED = "RESOURCE_LIMIT_EXCEEDED",
74
+ PERMISSION_DENIED = "PERMISSION_DENIED",
75
+ CONNECTION_FAILED = "CONNECTION_FAILED",
76
+ NO_RESERVATION = "NO_RESERVATION",
77
+ MALFORMED_MESSAGE = "MALFORMED_MESSAGE",
78
+ UNEXPECTED_MESSAGE = "UNEXPECTED_MESSAGE"
79
+ }
80
+ export declare namespace Status {
81
+ const codec: () => Codec<Status>;
82
+ }
83
+ export interface ReservationVoucher {
84
+ relay: Uint8Array;
85
+ peer: Uint8Array;
86
+ expiration: bigint;
87
+ }
88
+ export declare namespace ReservationVoucher {
89
+ const codec: () => Codec<ReservationVoucher>;
90
+ const encode: (obj: Partial<ReservationVoucher>) => Uint8Array;
91
+ const decode: (buf: Uint8Array | Uint8ArrayList) => ReservationVoucher;
52
92
  }
53
93
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/circuit/pb/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,YAAY,CAAC,IAAI,CAAA;IACxB,OAAO,CAAC,EAAE,YAAY,CAAC,IAAI,CAAA;IAC3B,OAAO,CAAC,EAAE,YAAY,CAAC,IAAI,CAAA;IAC3B,IAAI,CAAC,EAAE,YAAY,CAAC,MAAM,CAAA;CAC3B;AAED,yBAAiB,YAAY,CAAC;IAC5B,KAAY,MAAM;QAChB,OAAO,YAAY;QACnB,qBAAqB,0BAA0B;QAC/C,qBAAqB,0BAA0B;QAC/C,yBAAyB,8BAA8B;QACvD,yBAAyB,8BAA8B;QACvD,kBAAkB,uBAAuB;QACzC,iBAAiB,sBAAsB;QACvC,wBAAwB,6BAA6B;QACrD,oBAAoB,yBAAyB;QAC7C,sBAAsB,2BAA2B;QACjD,sBAAsB,2BAA2B;QACjD,sBAAsB,2BAA2B;QACjD,0BAA0B,+BAA+B;QACzD,0BAA0B,+BAA+B;QACzD,kBAAkB,uBAAuB;QACzC,iBAAiB,sBAAsB;KACxC;IAqBD,UAAiB,MAAM,CAAC;QACf,MAAM,KAAK,qBAEjB,CAAA;KACF;IAED,KAAY,IAAI;QACd,GAAG,QAAQ;QACX,IAAI,SAAS;QACb,MAAM,WAAW;QACjB,OAAO,YAAY;KACpB;IASD,UAAiB,IAAI,CAAC;QACb,MAAM,KAAK,mBAEjB,CAAA;KACF;IAED,UAAiB,IAAI;QACnB,EAAE,EAAE,UAAU,CAAA;QACd,KAAK,EAAE,UAAU,EAAE,CAAA;KACpB;IAED,UAAiB,IAAI,CAAC;QAGb,MAAM,KAAK,QAAO,MAAM,IAAI,CAmDlC,CAAA;QAEM,MAAM,MAAM,QAAS,IAAI,KAAG,UAElC,CAAA;QAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,KAAG,IAEzD,CAAA;KACF;IAIM,MAAM,KAAK,QAAO,MAAM,YAAY,CAkE1C,CAAA;IAEM,MAAM,MAAM,QAAS,YAAY,KAAG,UAE1C,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,KAAG,YAEzD,CAAA;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/circuit/pb/index.ts"],"names":[],"mappings":"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"}