@libp2p/circuit-relay-v2 2.1.3-e99e8f448 → 2.1.4-5d199f9b6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. package/dist/index.min.js +2 -2
  2. package/dist/src/constants.d.ts +4 -6
  3. package/dist/src/constants.d.ts.map +1 -1
  4. package/dist/src/constants.js +5 -6
  5. package/dist/src/constants.js.map +1 -1
  6. package/dist/src/index.d.ts +18 -3
  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 +71 -60
  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/discovery.js +1 -1
  22. package/dist/src/transport/discovery.js.map +1 -1
  23. package/dist/src/transport/index.d.ts +2 -2
  24. package/dist/src/transport/index.d.ts.map +1 -1
  25. package/dist/src/transport/listener.d.ts.map +1 -1
  26. package/dist/src/transport/listener.js +23 -22
  27. package/dist/src/transport/listener.js.map +1 -1
  28. package/dist/src/transport/reservation-store.d.ts +4 -3
  29. package/dist/src/transport/reservation-store.d.ts.map +1 -1
  30. package/dist/src/transport/reservation-store.js +111 -47
  31. package/dist/src/transport/reservation-store.js.map +1 -1
  32. package/dist/src/transport/transport.d.ts.map +1 -1
  33. package/dist/src/transport/transport.js +11 -8
  34. package/dist/src/transport/transport.js.map +1 -1
  35. package/dist/src/utils.d.ts +7 -1
  36. package/dist/src/utils.d.ts.map +1 -1
  37. package/dist/src/utils.js +19 -8
  38. package/dist/src/utils.js.map +1 -1
  39. package/package.json +12 -12
  40. package/src/constants.ts +7 -7
  41. package/src/index.ts +21 -3
  42. package/src/pb/index.proto +20 -1
  43. package/src/pb/index.ts +99 -3
  44. package/src/server/index.ts +75 -64
  45. package/src/server/reservation-store.ts +38 -42
  46. package/src/server/reservation-voucher.ts +2 -2
  47. package/src/transport/discovery.ts +1 -1
  48. package/src/transport/index.ts +2 -2
  49. package/src/transport/listener.ts +28 -25
  50. package/src/transport/reservation-store.ts +147 -57
  51. package/src/transport/transport.ts +12 -8
  52. package/src/utils.ts +21 -8
@@ -3,33 +3,40 @@ import { PeerMap } from '@libp2p/peer-collections';
3
3
  import { multiaddr } from '@multiformats/multiaddr';
4
4
  class CircuitRelayTransportListener extends TypedEventEmitter {
5
5
  connectionManager;
6
- relayStore;
6
+ reservationStore;
7
7
  listeningAddrs;
8
8
  log;
9
9
  constructor(components) {
10
10
  super();
11
11
  this.log = components.logger.forComponent('libp2p:circuit-relay:transport:listener');
12
12
  this.connectionManager = components.connectionManager;
13
- this.relayStore = components.relayStore;
13
+ this.reservationStore = components.relayStore;
14
14
  this.listeningAddrs = new PeerMap();
15
15
  // remove listening addrs when a relay is removed
16
- this.relayStore.addEventListener('relay:removed', this._onRemoveRelayPeer);
16
+ this.reservationStore.addEventListener('relay:removed', this._onRemoveRelayPeer);
17
17
  }
18
18
  _onRemoveRelayPeer = (evt) => {
19
- this.#removeRelayPeer(evt.detail);
19
+ const had = this.listeningAddrs.has(evt.detail);
20
+ this.log('relay peer removed %p - had reservation', evt.detail, had);
21
+ if (!had) {
22
+ return;
23
+ }
24
+ this.listeningAddrs.delete(evt.detail);
25
+ // announce listen addresses change
26
+ this.safeDispatchEvent('listening');
20
27
  };
21
28
  async listen(addr) {
22
29
  this.log('listen on %a', addr);
23
30
  // remove the circuit part to get the peer id of the relay
24
31
  const relayAddr = addr.decapsulate('/p2p-circuit');
25
32
  const relayConn = await this.connectionManager.openConnection(relayAddr);
26
- if (!this.relayStore.hasReservation(relayConn.remotePeer)) {
33
+ if (!this.reservationStore.hasReservation(relayConn.remotePeer)) {
27
34
  this.log('making reservation on peer %p', relayConn.remotePeer);
28
35
  // addRelay calls transportManager.listen which calls this listen method
29
- await this.relayStore.addRelay(relayConn.remotePeer, 'configured');
36
+ await this.reservationStore.addRelay(relayConn.remotePeer, 'configured');
30
37
  return;
31
38
  }
32
- const reservation = this.relayStore.getReservation(relayConn.remotePeer);
39
+ const reservation = this.reservationStore.getReservation(relayConn.remotePeer);
33
40
  if (reservation == null) {
34
41
  throw new ListenError('Did not have reservation after making reservation');
35
42
  }
@@ -38,26 +45,20 @@ class CircuitRelayTransportListener extends TypedEventEmitter {
38
45
  return;
39
46
  }
40
47
  // add all addresses from the relay reservation
41
- this.listeningAddrs.set(relayConn.remotePeer, reservation.addrs.map(buf => {
42
- return multiaddr(buf).encapsulate('/p2p-circuit');
43
- }));
44
- this.safeDispatchEvent('listening', {});
48
+ this.listeningAddrs.set(relayConn.remotePeer, reservation.addrs
49
+ .map(buf => multiaddr(buf).encapsulate('/p2p-circuit')));
50
+ this.safeDispatchEvent('listening');
45
51
  }
46
52
  getAddrs() {
47
53
  return [...this.listeningAddrs.values()].flat();
48
54
  }
49
55
  async close() {
50
- }
51
- #removeRelayPeer(peerId) {
52
- const had = this.listeningAddrs.has(peerId);
53
- this.log('relay peer removed %p - had reservation', peerId, had);
54
- this.listeningAddrs.delete(peerId);
55
- if (had) {
56
- this.log.trace('removing relay event listener for peer %p', peerId);
57
- this.relayStore.removeEventListener('relay:removed', this._onRemoveRelayPeer);
58
- // Announce listen addresses change
59
- this.safeDispatchEvent('close', {});
60
- }
56
+ await this.reservationStore.cancelReservations();
57
+ this.listeningAddrs.clear();
58
+ // remove listener
59
+ this.reservationStore.removeEventListener('relay:removed', this._onRemoveRelayPeer);
60
+ // announce listen addresses change
61
+ this.safeDispatchEvent('close');
61
62
  }
62
63
  }
63
64
  export function createListener(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"listener.js","sourceRoot":"","sources":["../../../src/transport/listener.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listener.js","sourceRoot":"","sources":["../../../src/transport/listener.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { TypedEventEmitter } from '@libp2p/interface';
2
2
  import type { Reservation } from '../pb/index.js';
3
3
  import type { TypedEventTarget, Libp2pEvents, ComponentLogger, PeerId, PeerStore, Startable, Metrics } from '@libp2p/interface';
4
4
  import type { ConnectionManager, TransportManager } from '@libp2p/interface-internal';
5
- export interface RelayStoreComponents {
5
+ export interface ReservationStoreComponents {
6
6
  peerId: PeerId;
7
7
  connectionManager: ConnectionManager;
8
8
  transportManager: TransportManager;
@@ -11,7 +11,7 @@ export interface RelayStoreComponents {
11
11
  logger: ComponentLogger;
12
12
  metrics?: Metrics;
13
13
  }
14
- export interface RelayStoreInit {
14
+ export interface ReservationStoreInit {
15
15
  /**
16
16
  * Multiple relays may be discovered simultaneously - to prevent listening
17
17
  * on too many relays, this value controls how many to attempt to reserve a
@@ -61,7 +61,7 @@ export declare class ReservationStore extends TypedEventEmitter<ReservationStore
61
61
  private started;
62
62
  private readonly log;
63
63
  private readonly relayFilter;
64
- constructor(components: RelayStoreComponents, init?: RelayStoreInit);
64
+ constructor(components: ReservationStoreComponents, init?: ReservationStoreInit);
65
65
  isStarted(): boolean;
66
66
  start(): void;
67
67
  afterStart(): void;
@@ -76,5 +76,6 @@ export declare class ReservationStore extends TypedEventEmitter<ReservationStore
76
76
  hasReservation(peerId: PeerId): boolean;
77
77
  getReservation(peerId: PeerId): Reservation | undefined;
78
78
  reservationCount(): number;
79
+ cancelReservations(): Promise<void>;
79
80
  }
80
81
  //# sourceMappingURL=reservation-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reservation-store.d.ts","sourceRoot":"","sources":["../../../src/transport/reservation-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAAmB,MAAM,mBAAmB,CAAA;AAUlF,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,EAAE,MAAM,mBAAmB,CAAA;AACjK,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAYrF,MAAM,WAAW,oBAAoB;IACnC,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,cAAc;IAC7B;;;;;;;;;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;AAQnD,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,oBAAoB,EAAE,IAAI,CAAC,EAAE,cAAc;IA+BpE,SAAS,IAAK,OAAO;IAIrB,KAAK,IAAK,IAAI;IAId,UAAU,IAAK,IAAI;IAOnB,IAAI,IAAK,IAAI;IASb;;;;;OAKG;IACG,QAAQ,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAiI/D,cAAc,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAIxC,cAAc,CAAE,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIxD,gBAAgB,IAAK,MAAM;CA2E5B"}
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"}
@@ -1,11 +1,10 @@
1
- import { KEEP_ALIVE, TypedEventEmitter, setMaxListeners } from '@libp2p/interface';
1
+ import { TypedEventEmitter, setMaxListeners } from '@libp2p/interface';
2
2
  import { PeerMap } from '@libp2p/peer-collections';
3
3
  import { createBloomFilter } from '@libp2p/utils/filters';
4
4
  import { PeerQueue } from '@libp2p/utils/peer-queue';
5
5
  import { multiaddr } from '@multiformats/multiaddr';
6
6
  import { pbStream } from 'it-protobuf-stream';
7
- import { equals as uint8ArrayEquals } from 'uint8arrays/equals';
8
- import { DEFAULT_MAX_RESERVATION_QUEUE_LENGTH, DEFAULT_RESERVATION_COMPLETION_TIMEOUT, DEFAULT_RESERVATION_CONCURRENCY, RELAY_TAG, RELAY_V2_HOP_CODEC } from '../constants.js';
7
+ import { DEFAULT_MAX_RESERVATION_QUEUE_LENGTH, DEFAULT_RESERVATION_COMPLETION_TIMEOUT, DEFAULT_RESERVATION_CONCURRENCY, KEEP_ALIVE_TAG, RELAY_TAG, RELAY_V2_HOP_CODEC } from '../constants.js';
9
8
  import { HopMessage, Status } from '../pb/index.js';
10
9
  import { getExpirationMilliseconds } from '../utils.js';
11
10
  // allow refreshing a relay reservation if it will expire in the next 10 minutes
@@ -48,11 +47,19 @@ export class ReservationStore extends TypedEventEmitter {
48
47
  metricName: 'libp2p_relay_reservation_queue',
49
48
  metrics: components.metrics
50
49
  });
51
- // When a peer disconnects, if we had a reservation on that peer
52
- // remove the reservation and multiaddr and maybe trigger search
53
- // for new relays
54
- this.events.addEventListener('peer:disconnect', (evt) => {
55
- this.#removeRelay(evt.detail);
50
+ // reservations are only valid while we are still connected to the relay.
51
+ // if we had a reservation opened via that connection, remove it and maybe
52
+ // trigger a search for new relays
53
+ this.events.addEventListener('connection:close', (evt) => {
54
+ const reservation = [...this.reservations.values()]
55
+ .find(reservation => reservation.connection === evt.detail.id);
56
+ if (reservation == null) {
57
+ return;
58
+ }
59
+ this.#removeReservation(evt.detail.remotePeer, reservation)
60
+ .catch(err => {
61
+ this.log('could not remove relay %p - %e', evt.detail, err);
62
+ });
56
63
  });
57
64
  }
58
65
  isStarted() {
@@ -62,10 +69,32 @@ export class ReservationStore extends TypedEventEmitter {
62
69
  this.started = true;
63
70
  }
64
71
  afterStart() {
65
- if (this.reservations.size < this.maxDiscoveredRelays) {
66
- this.log('not enough relays %d/%d', this.reservations.size, this.maxDiscoveredRelays);
67
- this.safeDispatchEvent('relay:not-enough-relays', {});
68
- }
72
+ // remove old relay tags
73
+ void Promise.resolve()
74
+ .then(async () => {
75
+ const relayPeers = await this.peerStore.all({
76
+ filters: [(peer) => {
77
+ return peer.tags.has(RELAY_TAG);
78
+ }]
79
+ });
80
+ this.log('removing tag from %d old relays', relayPeers.length);
81
+ // remove old relay tag and redial
82
+ await Promise.all(relayPeers.map(async (peer) => {
83
+ await this.peerStore.merge(peer.id, {
84
+ tags: {
85
+ [RELAY_TAG]: undefined,
86
+ [KEEP_ALIVE_TAG]: undefined
87
+ }
88
+ });
89
+ }));
90
+ if (this.reservations.size < this.maxDiscoveredRelays) {
91
+ this.log('not enough relays %d/%d', this.reservations.size, this.maxDiscoveredRelays);
92
+ this.safeDispatchEvent('relay:not-enough-relays', {});
93
+ }
94
+ })
95
+ .catch(err => {
96
+ this.log.error(err);
97
+ });
69
98
  }
70
99
  stop() {
71
100
  this.reserveQueue.clear();
@@ -83,34 +112,42 @@ export class ReservationStore extends TypedEventEmitter {
83
112
  */
84
113
  async addRelay(peerId, type) {
85
114
  if (this.peerId.equals(peerId)) {
86
- this.log('not trying to use self as relay');
115
+ this.log.trace('not trying to use self as relay');
87
116
  return;
88
117
  }
89
118
  if (this.reserveQueue.size > this.maxReservationQueueLength) {
90
- this.log('not adding potential relay peer %p as the queue is full', peerId);
119
+ this.log.trace('not adding potential relay peer %p as the queue is full', peerId);
91
120
  return;
92
121
  }
93
122
  if (this.reserveQueue.has(peerId)) {
94
- this.log('potential relay peer %p is already in the reservation queue', peerId);
123
+ this.log.trace('potential relay peer %p is already in the reservation queue', peerId);
95
124
  return;
96
125
  }
97
126
  if (this.relayFilter.has(peerId.toMultihash().bytes)) {
98
- this.log('potential relay peer %p has failed previously, not trying again', peerId);
127
+ this.log.trace('potential relay peer %p has failed previously, not trying again', peerId);
99
128
  return;
100
129
  }
101
- this.log('try to reserve relay slot with %p', peerId);
130
+ this.log.trace('try to reserve relay slot with %p', peerId);
102
131
  await this.reserveQueue.add(async () => {
103
132
  const start = Date.now();
104
133
  try {
105
134
  // allow refresh of an existing reservation if it is about to expire
106
135
  const existingReservation = this.reservations.get(peerId);
107
136
  if (existingReservation != null) {
108
- if (getExpirationMilliseconds(existingReservation.reservation.expire) > REFRESH_WINDOW) {
109
- this.log('already have reservation on relay peer %p and it expires in more than 10 minutes', peerId);
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) {
147
+ this.log('already have relay reservation with %p but we are still connected and it does not expire soon', peerId);
110
148
  return;
111
149
  }
112
- clearTimeout(existingReservation.timeout);
113
- this.reservations.delete(peerId);
150
+ await this.#removeReservation(peerId, existingReservation);
114
151
  }
115
152
  if (type === 'discovered' && [...this.reservations.values()].reduce((acc, curr) => {
116
153
  if (curr.type === 'discovered') {
@@ -118,7 +155,7 @@ export class ReservationStore extends TypedEventEmitter {
118
155
  }
119
156
  return acc;
120
157
  }, 0) >= this.maxDiscoveredRelays) {
121
- this.log('already have enough discovered relays');
158
+ this.log.trace('already have enough discovered relays');
122
159
  return;
123
160
  }
124
161
  const signal = AbortSignal.timeout(this.reservationCompletionTimeout);
@@ -133,21 +170,33 @@ export class ReservationStore extends TypedEventEmitter {
133
170
  const reservation = await this.#createReservation(connection, {
134
171
  signal
135
172
  });
136
- this.log('created reservation on relay peer %p', peerId);
137
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());
138
175
  // sets a lower bound on the timeout, and also don't let it go over
139
176
  // 2^31 - 1 (setTimeout will only accept signed 32 bit integers)
140
177
  const timeoutDuration = Math.min(Math.max(expiration - REFRESH_TIMEOUT, REFRESH_TIMEOUT_MIN), Math.pow(2, 31) - 1);
141
178
  const timeout = setTimeout(() => {
142
- this.addRelay(peerId, type).catch(err => {
143
- 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);
144
192
  });
145
193
  }, timeoutDuration);
146
194
  // we've managed to create a reservation successfully
147
195
  this.reservations.set(peerId, {
148
196
  timeout,
149
197
  reservation,
150
- type
198
+ type,
199
+ connection: connection.id
151
200
  });
152
201
  // ensure we don't close the connection to the relay
153
202
  await this.peerStore.merge(peerId, {
@@ -156,29 +205,31 @@ export class ReservationStore extends TypedEventEmitter {
156
205
  value: 1,
157
206
  ttl: expiration
158
207
  },
159
- [KEEP_ALIVE]: {
208
+ [KEEP_ALIVE_TAG]: {
160
209
  value: 1,
161
210
  ttl: expiration
162
211
  }
163
212
  }
164
213
  });
165
214
  // listen on multiaddr that only the circuit transport is listening for
166
- 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()}`)]);
167
216
  this.safeDispatchEvent('relay:created-reservation', {
168
217
  detail: peerId
169
218
  });
170
219
  }
171
220
  catch (err) {
172
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);
173
224
  // cancel the renewal timeout if it's been set
174
225
  const reservation = this.reservations.get(peerId);
226
+ // if listening failed, remove the reservation
175
227
  if (reservation != null) {
176
- 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
+ });
177
232
  }
178
- // if listening failed, remove the reservation
179
- this.reservations.delete(peerId);
180
- // don't try this peer again
181
- this.relayFilter.add(peerId.toMultihash().bytes);
182
233
  }
183
234
  }, {
184
235
  peerId
@@ -193,6 +244,11 @@ export class ReservationStore extends TypedEventEmitter {
193
244
  reservationCount() {
194
245
  return this.reservations.size;
195
246
  }
247
+ async cancelReservations() {
248
+ await Promise.all([...this.reservations.entries()].map(async ([peerId, reservation]) => {
249
+ await this.#removeReservation(peerId, reservation);
250
+ }));
251
+ }
196
252
  async #createReservation(connection, options) {
197
253
  options.signal?.throwIfAborted();
198
254
  this.log('requesting reservation from %p', connection.remotePeer);
@@ -213,21 +269,22 @@ export class ReservationStore extends TypedEventEmitter {
213
269
  await stream.close(options);
214
270
  }
215
271
  }
216
- if (response.status === Status.OK && (response.reservation != null)) {
272
+ if (response.status === Status.OK && response.reservation != null) {
217
273
  // check that the returned relay has the relay address - this can be
218
274
  // omitted when requesting a reservation from a go-libp2p relay we
219
275
  // already have a reservation on
220
- let hasRelayAddress = false;
221
- const relayAddressBytes = connection.remoteAddr.bytes;
276
+ const addresses = new Set();
277
+ addresses.add(connection.remoteAddr.toString());
222
278
  for (const buf of response.reservation.addrs) {
223
- if (uint8ArrayEquals(relayAddressBytes, buf)) {
224
- hasRelayAddress = true;
225
- break;
279
+ let ma = multiaddr(buf);
280
+ if (ma.getPeerId() == null) {
281
+ ma = ma.encapsulate(`/p2p/${connection.remotePeer}`);
226
282
  }
283
+ // TODO: workaround for https://github.com/libp2p/go-libp2p/issues/3003
284
+ ma = multiaddr(ma.toString().replace(`/p2p/${connection.remotePeer}/p2p/${connection.remotePeer}`, `/p2p/${connection.remotePeer}`));
285
+ addresses.add(ma.toString());
227
286
  }
228
- if (!hasRelayAddress) {
229
- response.reservation.addrs.push(relayAddressBytes);
230
- }
287
+ response.reservation.addrs = [...addresses].map(str => multiaddr(str).bytes);
231
288
  return response.reservation;
232
289
  }
233
290
  const errMsg = `reservation failed with status ${response.status ?? 'undefined'}`;
@@ -237,14 +294,21 @@ export class ReservationStore extends TypedEventEmitter {
237
294
  /**
238
295
  * Remove listen relay
239
296
  */
240
- #removeRelay(peerId) {
241
- const existingReservation = this.reservations.get(peerId);
242
- if (existingReservation == null) {
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);
243
300
  return;
244
301
  }
245
- this.log('connection to relay %p closed, removing reservation from local store', peerId);
246
- clearTimeout(existingReservation.timeout);
302
+ this.log('removing relay reservation with %p from local store', peerId);
303
+ clearTimeout(reservation.timeout);
247
304
  this.reservations.delete(peerId);
305
+ // untag the relay
306
+ await this.peerStore.merge(peerId, {
307
+ tags: {
308
+ [RELAY_TAG]: undefined,
309
+ [KEEP_ALIVE_TAG]: undefined
310
+ }
311
+ });
248
312
  this.safeDispatchEvent('relay:removed', { detail: peerId });
249
313
  if (this.reservations.size < this.maxDiscoveredRelays) {
250
314
  this.log('not enough relays %d/%d', this.reservations.size, this.maxDiscoveredRelays);
@@ -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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"}