@libp2p/circuit-relay-v2 2.1.4 → 2.1.5-e6b4158c6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. package/dist/index.min.js +2 -2
  2. package/dist/src/constants.d.ts +0 -4
  3. package/dist/src/constants.d.ts.map +1 -1
  4. package/dist/src/constants.js +0 -4
  5. package/dist/src/constants.js.map +1 -1
  6. package/dist/src/index.d.ts +16 -1
  7. package/dist/src/index.d.ts.map +1 -1
  8. package/dist/src/index.js.map +1 -1
  9. package/dist/src/pb/index.d.ts +12 -1
  10. package/dist/src/pb/index.d.ts.map +1 -1
  11. package/dist/src/pb/index.js +78 -2
  12. package/dist/src/pb/index.js.map +1 -1
  13. package/dist/src/server/index.d.ts.map +1 -1
  14. package/dist/src/server/index.js +19 -10
  15. package/dist/src/server/index.js.map +1 -1
  16. package/dist/src/server/reservation-store.d.ts +5 -9
  17. package/dist/src/server/reservation-store.d.ts.map +1 -1
  18. package/dist/src/server/reservation-store.js +32 -33
  19. package/dist/src/server/reservation-store.js.map +1 -1
  20. package/dist/src/server/reservation-voucher.d.ts +1 -1
  21. package/dist/src/transport/reservation-store.d.ts.map +1 -1
  22. package/dist/src/transport/reservation-store.js +36 -11
  23. package/dist/src/transport/reservation-store.js.map +1 -1
  24. package/dist/src/transport/transport.d.ts.map +1 -1
  25. package/dist/src/transport/transport.js +11 -8
  26. package/dist/src/transport/transport.js.map +1 -1
  27. package/dist/src/utils.d.ts +7 -1
  28. package/dist/src/utils.d.ts.map +1 -1
  29. package/dist/src/utils.js +19 -8
  30. package/dist/src/utils.js.map +1 -1
  31. package/package.json +12 -11
  32. package/src/constants.ts +0 -5
  33. package/src/index.ts +19 -1
  34. package/src/pb/index.proto +20 -1
  35. package/src/pb/index.ts +99 -3
  36. package/src/server/index.ts +21 -11
  37. package/src/server/reservation-store.ts +38 -42
  38. package/src/server/reservation-voucher.ts +2 -2
  39. package/src/transport/reservation-store.ts +47 -15
  40. package/src/transport/transport.ts +12 -8
  41. package/src/utils.ts +21 -8
  42. package/dist/typedoc-urls.json +0 -23
@@ -1 +1 @@
1
- {"version":3,"file":"reservation-store.js","sourceRoot":"","sources":["../../../src/server/reservation-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reservation-store.js","sourceRoot":"","sources":["../../../src/server/reservation-store.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { PeerId, Record } from '@libp2p/interface';
2
2
  export interface ReservationVoucherOptions {
3
3
  relay: PeerId;
4
4
  peer: PeerId;
5
- expiration: number;
5
+ expiration: bigint;
6
6
  }
7
7
  export declare class ReservationVoucherRecord implements Record {
8
8
  readonly domain = "libp2p-relay-rsvp";
@@ -1 +1 @@
1
- {"version":3,"file":"reservation-store.d.ts","sourceRoot":"","sources":["../../../src/transport/reservation-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAmB,MAAM,mBAAmB,CAAA;AAStE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAgB,eAAe,EAAsB,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAQ,MAAM,mBAAmB,CAAA;AACvK,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAYrF,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAA;IACd,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;IACtC,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;OASG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAE/B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAElC;;;;OAIG;IACH,4BAA4B,CAAC,EAAE,MAAM,CAAA;CACtC;AAED,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,YAAY,CAAA;AAanD,MAAM,WAAW,sBAAsB;IACrC,yBAAyB,EAAE,WAAW,CAAA;IACtC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACpC,2BAA2B,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CACjD;AAED,qBAAa,gBAAiB,SAAQ,iBAAiB,CAAC,sBAAsB,CAAE,YAAW,SAAS;;IAClG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAW;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;IAC5C,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAQ;IAClD,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAQ;IACrD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;gBAEvB,UAAU,EAAE,0BAA0B,EAAE,IAAI,CAAC,EAAE,oBAAoB;IAyChF,SAAS,IAAK,OAAO;IAIrB,KAAK,IAAK,IAAI;IAId,UAAU,IAAK,IAAI;IAkCnB,IAAI,IAAK,IAAI;IASb;;;;;OAKG;IACG,QAAQ,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAkI/D,cAAc,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAIxC,cAAc,CAAE,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIxD,gBAAgB,IAAK,MAAM;IAIrB,kBAAkB,IAAK,OAAO,CAAC,IAAI,CAAC;CAuF3C"}
1
+ {"version":3,"file":"reservation-store.d.ts","sourceRoot":"","sources":["../../../src/transport/reservation-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAmB,MAAM,mBAAmB,CAAA;AAStE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAgB,eAAe,EAAsB,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAQ,MAAM,mBAAmB,CAAA;AACvK,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAYrF,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAA;IACd,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;IACtC,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;OASG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAE/B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAElC;;;;OAIG;IACH,4BAA4B,CAAC,EAAE,MAAM,CAAA;CACtC;AAED,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,YAAY,CAAA;AAanD,MAAM,WAAW,sBAAsB;IACrC,yBAAyB,EAAE,WAAW,CAAA;IACtC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACpC,2BAA2B,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CACjD;AAED,qBAAa,gBAAiB,SAAQ,iBAAiB,CAAC,sBAAsB,CAAE,YAAW,SAAS;;IAClG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAW;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;IAC5C,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAQ;IAClD,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAQ;IACrD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;gBAEvB,UAAU,EAAE,0BAA0B,EAAE,IAAI,CAAC,EAAE,oBAAoB;IAyChF,SAAS,IAAK,OAAO;IAIrB,KAAK,IAAK,IAAI;IAId,UAAU,IAAK,IAAI;IAkCnB,IAAI,IAAK,IAAI;IASb;;;;;OAKG;IACG,QAAQ,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA6J/D,cAAc,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAIxC,cAAc,CAAE,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIxD,gBAAgB,IAAK,MAAM;IAIrB,kBAAkB,IAAK,OAAO,CAAC,IAAI,CAAC;CA4F3C"}
@@ -134,11 +134,19 @@ export class ReservationStore extends TypedEventEmitter {
134
134
  // allow refresh of an existing reservation if it is about to expire
135
135
  const existingReservation = this.reservations.get(peerId);
136
136
  if (existingReservation != null) {
137
- if (this.connectionManager.getConnections(peerId).map(conn => conn.id).includes(existingReservation.connection) && getExpirationMilliseconds(existingReservation.reservation.expire) > REFRESH_WINDOW) {
137
+ const connections = this.connectionManager.getConnections(peerId);
138
+ let connected = false;
139
+ if (connections.length === 0) {
140
+ this.log('already have relay reservation with %p but we are no longer connected', peerId);
141
+ }
142
+ if (connections.map(conn => conn.id).includes(existingReservation.connection)) {
143
+ this.log('already have relay reservation with %p and the original connection is still open', peerId);
144
+ connected = true;
145
+ }
146
+ if (connected && getExpirationMilliseconds(existingReservation.reservation.expire) > REFRESH_WINDOW) {
138
147
  this.log('already have relay reservation with %p but we are still connected and it does not expire soon', peerId);
139
148
  return;
140
149
  }
141
- this.log('already have relay reservation with %p but the original connection is no longer open', peerId);
142
150
  await this.#removeReservation(peerId, existingReservation);
143
151
  }
144
152
  if (type === 'discovered' && [...this.reservations.values()].reduce((acc, curr) => {
@@ -162,14 +170,25 @@ export class ReservationStore extends TypedEventEmitter {
162
170
  const reservation = await this.#createReservation(connection, {
163
171
  signal
164
172
  });
165
- this.log('created reservation on relay peer %p', peerId);
166
173
  const expiration = getExpirationMilliseconds(reservation.expire);
174
+ this.log('created reservation on relay peer %p, expiry date is %s', peerId, new Date(Date.now() + expiration).toString());
167
175
  // sets a lower bound on the timeout, and also don't let it go over
168
176
  // 2^31 - 1 (setTimeout will only accept signed 32 bit integers)
169
177
  const timeoutDuration = Math.min(Math.max(expiration - REFRESH_TIMEOUT, REFRESH_TIMEOUT_MIN), Math.pow(2, 31) - 1);
170
178
  const timeout = setTimeout(() => {
171
- this.addRelay(peerId, type).catch(err => {
172
- this.log.error('could not refresh reservation to relay %p', peerId, err);
179
+ this.log('refresh reservation to relay %p', peerId);
180
+ this.addRelay(peerId, type)
181
+ .catch(async (err) => {
182
+ this.log.error('could not refresh reservation to relay %p - %e', peerId, err);
183
+ const reservation = this.reservations.get(peerId);
184
+ if (reservation == null) {
185
+ this.log.error('did not have reservation after refreshing reservation failed %p', peerId);
186
+ return;
187
+ }
188
+ await this.#removeReservation(peerId, reservation);
189
+ })
190
+ .catch(err => {
191
+ this.log.error('could not remove expired reservation to relay %p - %e', peerId, err);
173
192
  });
174
193
  }, timeoutDuration);
175
194
  // we've managed to create a reservation successfully
@@ -193,22 +212,24 @@ export class ReservationStore extends TypedEventEmitter {
193
212
  }
194
213
  });
195
214
  // listen on multiaddr that only the circuit transport is listening for
196
- await this.transportManager.listen([multiaddr(`/p2p/${peerId.toString()}/p2p-circuit`)]);
215
+ await this.transportManager.listen([multiaddr(`/p2p/${peerId.toString()}/p2p-circuit/p2p/${this.peerId.toString()}`)]);
197
216
  this.safeDispatchEvent('relay:created-reservation', {
198
217
  detail: peerId
199
218
  });
200
219
  }
201
220
  catch (err) {
202
221
  this.log.error('could not reserve slot on %p after %dms', peerId, Date.now() - start, err);
222
+ // don't try this peer again
223
+ this.relayFilter.add(peerId.toMultihash().bytes);
203
224
  // cancel the renewal timeout if it's been set
204
225
  const reservation = this.reservations.get(peerId);
226
+ // if listening failed, remove the reservation
205
227
  if (reservation != null) {
206
- clearTimeout(reservation.timeout);
228
+ this.#removeReservation(peerId, reservation)
229
+ .catch(err => {
230
+ this.log.error('could not remove reservation on %p after reserving slot failed - %e', peerId, err);
231
+ });
207
232
  }
208
- // if listening failed, remove the reservation
209
- this.reservations.delete(peerId);
210
- // don't try this peer again
211
- this.relayFilter.add(peerId.toMultihash().bytes);
212
233
  }
213
234
  }, {
214
235
  peerId
@@ -274,6 +295,10 @@ export class ReservationStore extends TypedEventEmitter {
274
295
  * Remove listen relay
275
296
  */
276
297
  async #removeReservation(peerId, reservation) {
298
+ if (!this.reservations.has(peerId)) {
299
+ this.log('not removing relay reservation with %p from local store as we do not have a reservation with this peer', peerId);
300
+ return;
301
+ }
277
302
  this.log('removing relay reservation with %p from local store', peerId);
278
303
  clearTimeout(reservation.timeout);
279
304
  this.reservations.delete(peerId);
@@ -1 +1 @@
1
- {"version":3,"file":"reservation-store.js","sourceRoot":"","sources":["../../../src/transport/reservation-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reservation-store.js","sourceRoot":"","sources":["../../../src/transport/reservation-store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/transport/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/transport/transport.ts"],"names":[],"mappings":"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"}
@@ -2,14 +2,14 @@ import { DialError, InvalidMessageError, serviceCapabilities, serviceDependencie
2
2
  import { peerFilter } from '@libp2p/peer-collections';
3
3
  import { peerIdFromMultihash, peerIdFromString } from '@libp2p/peer-id';
4
4
  import { streamToMaConnection } from '@libp2p/utils/stream-to-ma-conn';
5
- import * as mafmt from '@multiformats/mafmt';
6
5
  import { multiaddr } from '@multiformats/multiaddr';
6
+ import { Circuit } from '@multiformats/multiaddr-matcher';
7
7
  import { pbStream } from 'it-protobuf-stream';
8
8
  import * as Digest from 'multiformats/hashes/digest';
9
9
  import { CustomProgressEvent } from 'progress-events';
10
10
  import { CIRCUIT_PROTO_CODE, DEFAULT_DISCOVERY_FILTER_ERROR_RATE, DEFAULT_DISCOVERY_FILTER_SIZE, MAX_CONNECTIONS, RELAY_V2_HOP_CODEC, RELAY_V2_STOP_CODEC } from '../constants.js';
11
11
  import { StopMessage, HopMessage, Status } from '../pb/index.js';
12
- import { LimitTracker } from '../utils.js';
12
+ import { CircuitListen, LimitTracker } from '../utils.js';
13
13
  import { RelayDiscovery } from './discovery.js';
14
14
  import { createListener } from './listener.js';
15
15
  import { ReservationStore } from './reservation-store.js';
@@ -137,9 +137,9 @@ export class CircuitRelayTransport {
137
137
  const relayId = relayAddr.getPeerId();
138
138
  const destinationId = destinationAddr.getPeerId();
139
139
  if (relayId == null || destinationId == null) {
140
- const errMsg = `Circuit relay dial to ${ma.toString()} failed as address did not have peer ids`;
141
- this.log.error(errMsg);
142
- throw new DialError(errMsg);
140
+ const errMsg = `ircuit relay dial to ${ma.toString()} failed as address did not have both relay and destination PeerIDs`;
141
+ this.log.error(`c${errMsg}`);
142
+ throw new DialError(`C${errMsg}`);
143
143
  }
144
144
  const relayPeer = peerIdFromString(relayId);
145
145
  const destinationPeer = peerIdFromString(destinationId);
@@ -214,7 +214,7 @@ export class CircuitRelayTransport {
214
214
  });
215
215
  }
216
216
  catch (err) {
217
- this.log.error(`Circuit relay dial to destination ${destinationPeer.toString()} via relay ${connection.remotePeer.toString()} failed`, err);
217
+ this.log.error(`circuit relay dial to destination ${destinationPeer.toString()} via relay ${connection.remotePeer.toString()} failed`, err);
218
218
  disconnectOnFailure && await connection.close();
219
219
  throw err;
220
220
  }
@@ -235,14 +235,17 @@ export class CircuitRelayTransport {
235
235
  listenFilter(multiaddrs) {
236
236
  multiaddrs = Array.isArray(multiaddrs) ? multiaddrs : [multiaddrs];
237
237
  return multiaddrs.filter((ma) => {
238
- return mafmt.Circuit.matches(ma);
238
+ return CircuitListen.exactMatch(ma);
239
239
  });
240
240
  }
241
241
  /**
242
242
  * Filter check for all Multiaddrs that this transport can dial
243
243
  */
244
244
  dialFilter(multiaddrs) {
245
- return this.listenFilter(multiaddrs);
245
+ multiaddrs = Array.isArray(multiaddrs) ? multiaddrs : [multiaddrs];
246
+ return multiaddrs.filter((ma) => {
247
+ return Circuit.exactMatch(ma);
248
+ });
246
249
  }
247
250
  /**
248
251
  * An incoming STOP request means a remote peer wants to dial us via a relay
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/transport/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/transport/transport.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import { CID } from 'multiformats/cid';
2
+ import type { RelayReservation } from './index.js';
2
3
  import type { Limit } from './pb/index.js';
3
4
  import type { ConnectionLimits, LoggerOptions, Stream } from '@libp2p/interface';
4
5
  import type { Uint8ArrayList } from 'uint8arraylist';
5
- export declare function createLimitedRelay(src: Stream, dst: Stream, abortSignal: AbortSignal, limit: Limit | undefined, options: LoggerOptions): void;
6
+ export declare function createLimitedRelay(src: Stream, dst: Stream, abortSignal: AbortSignal, reservation: RelayReservation, options: LoggerOptions): void;
6
7
  /**
7
8
  * Convert a namespace string into a cid
8
9
  */
@@ -18,4 +19,9 @@ export declare class LimitTracker {
18
19
  onData(buf: Uint8ArrayList | Uint8Array): void;
19
20
  getLimits(): ConnectionLimits | undefined;
20
21
  }
22
+ /**
23
+ * A custom matcher that makes the `/p2p/peer-id` part of circuit relay
24
+ * addresses optional
25
+ */
26
+ export declare const CircuitListen: import("@multiformats/multiaddr-matcher").MultiaddrMatcher;
21
27
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAGtC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAEhF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AA6BpD,wBAAgB,kBAAkB,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAoE9I;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAKrE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAM5E;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAQ;IACjC,OAAO,CAAC,KAAK,CAAC,CAAQ;gBAET,MAAM,CAAC,EAAE,KAAK;IAc3B,MAAM,CAAE,GAAG,EAAE,cAAc,GAAG,UAAU,GAAG,IAAI;IAY/C,SAAS,IAAK,gBAAgB,GAAG,SAAS;CA6B3C"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAGtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAEhF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AA6BpD,wBAAgB,kBAAkB,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAwEnJ;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAKrE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAM5E;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAQ;IACjC,OAAO,CAAC,KAAK,CAAC,CAAQ;gBAET,MAAM,CAAC,EAAE,KAAK;IAc3B,MAAM,CAAE,GAAG,EAAE,cAAc,GAAG,UAAU,GAAG,IAAI;IAY/C,SAAS,IAAK,gBAAgB,GAAG,SAAS;CA6B3C;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,4DAAwE,CAAA"}
package/dist/src/utils.js CHANGED
@@ -1,3 +1,5 @@
1
+ import { P2P } from '@multiformats/multiaddr-matcher';
2
+ import { fmt, peerId, literal, optional, and } from '@multiformats/multiaddr-matcher/utils';
1
3
  import { anySignal } from 'any-signal';
2
4
  import { CID } from 'multiformats/cid';
3
5
  import { sha256 } from 'multiformats/hashes/sha2';
@@ -24,27 +26,30 @@ async function* countStreamBytes(source, limit, options) {
24
26
  yield buf;
25
27
  }
26
28
  }
27
- export function createLimitedRelay(src, dst, abortSignal, limit, options) {
29
+ export function createLimitedRelay(src, dst, abortSignal, reservation, options) {
28
30
  function abortStreams(err) {
29
31
  src.abort(err);
30
32
  dst.abort(err);
31
33
  }
32
- const signals = [abortSignal];
33
- if (limit?.duration != null) {
34
- signals.push(AbortSignal.timeout(limit.duration));
34
+ // combine shutdown signal and reservation expiry signal
35
+ const signals = [abortSignal, reservation.signal];
36
+ if (reservation.limit?.duration != null) {
37
+ options.log('limiting relayed connection duration to %dms', reservation.limit.duration);
38
+ signals.push(AbortSignal.timeout(reservation.limit.duration));
35
39
  }
36
40
  const signal = anySignal(signals);
37
41
  let srcDstFinished = false;
38
42
  let dstSrcFinished = false;
39
43
  let dataLimit;
40
- if (limit?.data != null) {
44
+ if (reservation.limit?.data != null) {
41
45
  dataLimit = {
42
- remaining: limit.data
46
+ remaining: reservation.limit.data
43
47
  };
44
48
  }
45
49
  queueMicrotask(() => {
46
50
  const onAbort = () => {
47
- dst.abort(new DurationLimitError(`duration limit of ${limit?.duration} ms exceeded`));
51
+ options.log('relayed connection reached time limit');
52
+ dst.abort(new DurationLimitError(`duration limit of ${reservation.limit?.duration} ms exceeded`));
48
53
  };
49
54
  signal.addEventListener('abort', onAbort, { once: true });
50
55
  void dst.sink(dataLimit == null ? src.source : countStreamBytes(src.source, dataLimit, options))
@@ -62,7 +67,8 @@ export function createLimitedRelay(src, dst, abortSignal, limit, options) {
62
67
  });
63
68
  queueMicrotask(() => {
64
69
  const onAbort = () => {
65
- src.abort(new DurationLimitError(`duration limit of ${limit?.duration} ms exceeded`));
70
+ options.log('relayed connection reached time limit');
71
+ src.abort(new DurationLimitError(`duration limit of ${reservation.limit?.duration} ms exceeded`));
66
72
  };
67
73
  signal.addEventListener('abort', onAbort, { once: true });
68
74
  void src.sink(dataLimit == null ? dst.source : countStreamBytes(dst.source, dataLimit, options))
@@ -142,4 +148,9 @@ export class LimitTracker {
142
148
  return output;
143
149
  }
144
150
  }
151
+ /**
152
+ * A custom matcher that makes the `/p2p/peer-id` part of circuit relay
153
+ * addresses optional
154
+ */
155
+ export const CircuitListen = fmt(and(P2P.matchers[0], literal('p2p-circuit'), optional(peerId())));
145
156
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/circuit-relay-v2",
3
- "version": "2.1.4",
3
+ "version": "2.1.5-e6b4158c6",
4
4
  "description": "Implementation of Circuit Relay v2",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/transport-circuit-relay-v2#readme",
@@ -52,14 +52,15 @@
52
52
  "doc-check": "aegir doc-check"
53
53
  },
54
54
  "dependencies": {
55
- "@libp2p/interface": "^2.1.3",
56
- "@libp2p/interface-internal": "^2.0.8",
57
- "@libp2p/peer-collections": "^6.0.8",
58
- "@libp2p/peer-id": "^5.0.5",
59
- "@libp2p/peer-record": "^8.0.8",
60
- "@libp2p/utils": "^6.1.1",
61
- "@multiformats/mafmt": "^12.1.6",
55
+ "@libp2p/crypto": "5.0.5-e6b4158c6",
56
+ "@libp2p/interface": "2.1.3-e6b4158c6",
57
+ "@libp2p/interface-internal": "2.0.8-e6b4158c6",
58
+ "@libp2p/peer-collections": "6.0.8-e6b4158c6",
59
+ "@libp2p/peer-id": "5.0.5-e6b4158c6",
60
+ "@libp2p/peer-record": "8.0.8-e6b4158c6",
61
+ "@libp2p/utils": "6.1.1-e6b4158c6",
62
62
  "@multiformats/multiaddr": "^12.2.3",
63
+ "@multiformats/multiaddr-matcher": "^1.3.0",
63
64
  "any-signal": "^4.1.1",
64
65
  "it-protobuf-stream": "^1.1.3",
65
66
  "it-stream-types": "^2.0.1",
@@ -67,13 +68,13 @@
67
68
  "progress-events": "^1.0.0",
68
69
  "protons-runtime": "^5.4.0",
69
70
  "race-signal": "^1.0.2",
71
+ "retimeable-signal": "^0.0.0",
70
72
  "uint8arraylist": "^2.4.8",
71
73
  "uint8arrays": "^5.1.0"
72
74
  },
73
75
  "devDependencies": {
74
- "@libp2p/crypto": "^5.0.5",
75
- "@libp2p/interface-compliance-tests": "^6.1.6",
76
- "@libp2p/logger": "^5.1.1",
76
+ "@libp2p/interface-compliance-tests": "6.1.6-e6b4158c6",
77
+ "@libp2p/logger": "5.1.1-e6b4158c6",
77
78
  "aegir": "^44.0.1",
78
79
  "delay": "^6.0.0",
79
80
  "it-drain": "^3.0.7",
package/src/constants.ts CHANGED
@@ -13,11 +13,6 @@ export const CIRCUIT_PROTO_CODE = 290
13
13
  */
14
14
  export const DEFAULT_MAX_RESERVATION_STORE_SIZE = 15
15
15
 
16
- /**
17
- * How often to check for reservation expiry
18
- */
19
- export const DEFAULT_MAX_RESERVATION_CLEAR_INTERVAL = 300 * second
20
-
21
16
  /**
22
17
  * How often to check for reservation expiry
23
18
  */
package/src/index.ts CHANGED
@@ -43,13 +43,31 @@ import type { Limit } from './pb/index.js'
43
43
  import type { TypedEventEmitter } from '@libp2p/interface'
44
44
  import type { PeerMap } from '@libp2p/peer-collections'
45
45
  import type { Multiaddr } from '@multiformats/multiaddr'
46
+ import type { RetimeableAbortSignal } from 'retimeable-signal'
46
47
 
47
48
  export type { Limit }
48
49
 
49
50
  export interface RelayReservation {
50
- expire: Date
51
+ /**
52
+ * When this reservation expires
53
+ */
54
+ expiry: Date
55
+
56
+ /**
57
+ * The address of the relay client
58
+ */
51
59
  addr: Multiaddr
60
+
61
+ /**
62
+ * How much data can be transferred over each relayed connection and for how
63
+ * long before the underlying stream is reset
64
+ */
52
65
  limit?: Limit
66
+
67
+ /**
68
+ * This signal will fire it's "abort" event when the reservation expires
69
+ */
70
+ signal: RetimeableAbortSignal
53
71
  }
54
72
 
55
73
  export interface CircuitRelayServiceEvents {
@@ -40,7 +40,7 @@ message Peer {
40
40
  message Reservation {
41
41
  uint64 expire = 1; // Unix expiration time (UTC)
42
42
  repeated bytes addrs = 2; // relay addrs for reserving peer
43
- optional bytes voucher = 3; // reservation voucher
43
+ optional Envelope voucher = 3; // reservation voucher
44
44
  }
45
45
 
46
46
  message Limit {
@@ -65,3 +65,22 @@ message ReservationVoucher {
65
65
  bytes peer = 2;
66
66
  uint64 expiration = 3;
67
67
  }
68
+
69
+ // https://github.com/libp2p/specs/blob/master/RFC/0002-signed-envelopes.md
70
+ message Envelope {
71
+ // public_key is the public key of the keypair the enclosed payload was
72
+ // signed with.
73
+ bytes public_key = 1;
74
+
75
+ // payload_type encodes the type of payload, so that it can be deserialized
76
+ // deterministically.
77
+ bytes payload_type = 2;
78
+
79
+ // payload is the actual payload carried inside this envelope.
80
+ ReservationVoucher payload = 3;
81
+
82
+ // signature is the signature produced by the private key corresponding to
83
+ // the enclosed public key, over the payload, prefixing a domain string for
84
+ // additional security.
85
+ bytes signature = 5;
86
+ }