libp2p 0.45.3 → 0.45.4

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,5 +1,4 @@
1
1
  import { type StreamHandlerOptions, type StreamHandlerRecord, type Registrar, type StreamHandler, type Topology } from '@libp2p/interface-registrar';
2
- import type { Connection } from '@libp2p/interface-connection';
3
2
  import type { ConnectionManager } from '@libp2p/interface-connection-manager';
4
3
  import type { Libp2pEvents, PeerUpdate } from '@libp2p/interface-libp2p';
5
4
  import type { PeerId } from '@libp2p/interface-peer-id';
@@ -44,12 +43,12 @@ export declare class DefaultRegistrar implements Registrar {
44
43
  /**
45
44
  * Remove a disconnected peer from the record
46
45
  */
47
- _onDisconnect(evt: CustomEvent<Connection>): void;
46
+ _onDisconnect(evt: CustomEvent<PeerId>): void;
48
47
  /**
49
48
  * On peer connected if we already have their protocols. Usually used for reconnects
50
49
  * as change:protocols event won't be emitted due to identical protocols.
51
50
  */
52
- _onConnect(evt: CustomEvent<Connection>): void;
51
+ _onConnect(evt: CustomEvent<PeerId>): void;
53
52
  /**
54
53
  * Check if a new peer support the multicodecs for this topology
55
54
  */
@@ -1 +1 @@
1
- {"version":3,"file":"registrar.d.ts","sourceRoot":"","sources":["../../src/registrar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAKhK,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAI7D,eAAO,MAAM,2BAA2B,KAAK,CAAA;AAC7C,eAAO,MAAM,4BAA4B,KAAK,CAAA;AAE9C,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,CAAA;CACnC;AAED;;GAEG;AACH,qBAAa,gBAAiB,YAAW,SAAS;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAC/D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;gBAEnC,UAAU,EAAE,mBAAmB;IAc5C,YAAY,IAAK,MAAM,EAAE;IAMzB,UAAU,CAAE,QAAQ,EAAE,MAAM,GAAG,mBAAmB;IAUlD,aAAa,CAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE;IAY5C;;OAEG;IACG,MAAM,CAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBnG;;;OAGG;IACG,QAAQ,CAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5D;;OAEG;IACG,QAAQ,CAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAwBtE;;OAEG;IACH,UAAU,CAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAY7B;;OAEG;IACH,aAAa,CAAE,GAAG,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,IAAI;IAuBlD;;;OAGG;IACH,UAAU,CAAE,GAAG,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,IAAI;IAuB/C;;OAEG;IACH,aAAa,CAAE,GAAG,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,IAAI;CAoCnD"}
1
+ {"version":3,"file":"registrar.d.ts","sourceRoot":"","sources":["../../src/registrar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAKhK,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAI7D,eAAO,MAAM,2BAA2B,KAAK,CAAA;AAC7C,eAAO,MAAM,4BAA4B,KAAK,CAAA;AAE9C,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,CAAA;CACnC;AAED;;GAEG;AACH,qBAAa,gBAAiB,YAAW,SAAS;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAC/D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;gBAEnC,UAAU,EAAE,mBAAmB;IAc5C,YAAY,IAAK,MAAM,EAAE;IAMzB,UAAU,CAAE,QAAQ,EAAE,MAAM,GAAG,mBAAmB;IAUlD,aAAa,CAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE;IAY5C;;OAEG;IACG,MAAM,CAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBnG;;;OAGG;IACG,QAAQ,CAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5D;;OAEG;IACG,QAAQ,CAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAwBtE;;OAEG;IACH,UAAU,CAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAY7B;;OAEG;IACH,aAAa,CAAE,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI;IA4B9C;;;OAGG;IACH,UAAU,CAAE,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI;IAoC3C;;OAEG;IACH,aAAa,CAAE,GAAG,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,IAAI;CAoCnD"}
@@ -20,8 +20,8 @@ export class DefaultRegistrar {
20
20
  this._onDisconnect = this._onDisconnect.bind(this);
21
21
  this._onPeerUpdate = this._onPeerUpdate.bind(this);
22
22
  this._onConnect = this._onConnect.bind(this);
23
- this.components.events.addEventListener('connection:close', this._onDisconnect);
24
- this.components.events.addEventListener('connection:open', this._onConnect);
23
+ this.components.events.addEventListener('peer:disconnect', this._onDisconnect);
24
+ this.components.events.addEventListener('peer:connect', this._onConnect);
25
25
  this.components.events.addEventListener('peer:update', this._onPeerUpdate);
26
26
  }
27
27
  getProtocols() {
@@ -116,8 +116,8 @@ export class DefaultRegistrar {
116
116
  * Remove a disconnected peer from the record
117
117
  */
118
118
  _onDisconnect(evt) {
119
- const connection = evt.detail;
120
- void this.components.peerStore.get(connection.remotePeer)
119
+ const remotePeer = evt.detail;
120
+ void this.components.peerStore.get(remotePeer)
121
121
  .then(peer => {
122
122
  for (const protocol of peer.protocols) {
123
123
  const topologies = this.topologies.get(protocol);
@@ -126,12 +126,16 @@ export class DefaultRegistrar {
126
126
  continue;
127
127
  }
128
128
  for (const topology of topologies.values()) {
129
- topology.onDisconnect(connection.remotePeer);
129
+ topology.onDisconnect(remotePeer);
130
130
  }
131
131
  }
132
132
  })
133
133
  .catch(err => {
134
- log.error('could not inform topologies of disconnecting peer %p', connection.remotePeer, err);
134
+ if (err.code === codes.ERR_NOT_FOUND) {
135
+ // peer has not completed identify so they are not in the peer store
136
+ return;
137
+ }
138
+ log.error('could not inform topologies of disconnecting peer %p', remotePeer, err);
135
139
  });
136
140
  }
137
141
  /**
@@ -139,9 +143,15 @@ export class DefaultRegistrar {
139
143
  * as change:protocols event won't be emitted due to identical protocols.
140
144
  */
141
145
  _onConnect(evt) {
142
- const connection = evt.detail;
143
- void this.components.peerStore.get(connection.remotePeer)
146
+ const remotePeer = evt.detail;
147
+ void this.components.peerStore.get(remotePeer)
144
148
  .then(peer => {
149
+ const connection = this.components.connectionManager.getConnections(peer.id)[0];
150
+ if (connection == null) {
151
+ log('peer %p connected but the connection manager did not have a connection', peer);
152
+ // peer disconnected while we were loading their details from the peer store
153
+ return;
154
+ }
145
155
  for (const protocol of peer.protocols) {
146
156
  const topologies = this.topologies.get(protocol);
147
157
  if (topologies == null) {
@@ -149,12 +159,16 @@ export class DefaultRegistrar {
149
159
  continue;
150
160
  }
151
161
  for (const topology of topologies.values()) {
152
- topology.onConnect(connection.remotePeer, connection);
162
+ topology.onConnect(remotePeer, connection);
153
163
  }
154
164
  }
155
165
  })
156
166
  .catch(err => {
157
- log.error('could not inform topologies of connecting peer %p', connection.remotePeer, err);
167
+ if (err.code === codes.ERR_NOT_FOUND) {
168
+ // peer has not completed identify so they are not in the peer store
169
+ return;
170
+ }
171
+ log.error('could not inform topologies of connecting peer %p', remotePeer, err);
158
172
  });
159
173
  }
160
174
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"registrar.js","sourceRoot":"","sources":["../../src/registrar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registrar.js","sourceRoot":"","sources":["../../src/registrar.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export declare const version = "0.45.3";
1
+ export declare const version = "0.45.4";
2
2
  export declare const name = "libp2p";
3
3
  //# sourceMappingURL=version.d.ts.map
@@ -1,3 +1,3 @@
1
- export const version = '0.45.3';
1
+ export const version = '0.45.4';
2
2
  export const name = 'libp2p';
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "libp2p",
3
- "version": "0.45.3",
3
+ "version": "0.45.4",
4
4
  "description": "JavaScript implementation of libp2p, a modular peer to peer network stack",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p#readme",
package/src/registrar.ts CHANGED
@@ -3,7 +3,6 @@ import { CodeError } from '@libp2p/interfaces/errors'
3
3
  import { logger } from '@libp2p/logger'
4
4
  import merge from 'merge-options'
5
5
  import { codes } from './errors.js'
6
- import type { Connection } from '@libp2p/interface-connection'
7
6
  import type { ConnectionManager } from '@libp2p/interface-connection-manager'
8
7
  import type { Libp2pEvents, PeerUpdate } from '@libp2p/interface-libp2p'
9
8
  import type { PeerId } from '@libp2p/interface-peer-id'
@@ -39,8 +38,8 @@ export class DefaultRegistrar implements Registrar {
39
38
  this._onPeerUpdate = this._onPeerUpdate.bind(this)
40
39
  this._onConnect = this._onConnect.bind(this)
41
40
 
42
- this.components.events.addEventListener('connection:close', this._onDisconnect)
43
- this.components.events.addEventListener('connection:open', this._onConnect)
41
+ this.components.events.addEventListener('peer:disconnect', this._onDisconnect)
42
+ this.components.events.addEventListener('peer:connect', this._onConnect)
44
43
  this.components.events.addEventListener('peer:update', this._onPeerUpdate)
45
44
  }
46
45
 
@@ -158,10 +157,10 @@ export class DefaultRegistrar implements Registrar {
158
157
  /**
159
158
  * Remove a disconnected peer from the record
160
159
  */
161
- _onDisconnect (evt: CustomEvent<Connection>): void {
162
- const connection = evt.detail
160
+ _onDisconnect (evt: CustomEvent<PeerId>): void {
161
+ const remotePeer = evt.detail
163
162
 
164
- void this.components.peerStore.get(connection.remotePeer)
163
+ void this.components.peerStore.get(remotePeer)
165
164
  .then(peer => {
166
165
  for (const protocol of peer.protocols) {
167
166
  const topologies = this.topologies.get(protocol)
@@ -172,12 +171,17 @@ export class DefaultRegistrar implements Registrar {
172
171
  }
173
172
 
174
173
  for (const topology of topologies.values()) {
175
- topology.onDisconnect(connection.remotePeer)
174
+ topology.onDisconnect(remotePeer)
176
175
  }
177
176
  }
178
177
  })
179
178
  .catch(err => {
180
- log.error('could not inform topologies of disconnecting peer %p', connection.remotePeer, err)
179
+ if (err.code === codes.ERR_NOT_FOUND) {
180
+ // peer has not completed identify so they are not in the peer store
181
+ return
182
+ }
183
+
184
+ log.error('could not inform topologies of disconnecting peer %p', remotePeer, err)
181
185
  })
182
186
  }
183
187
 
@@ -185,11 +189,19 @@ export class DefaultRegistrar implements Registrar {
185
189
  * On peer connected if we already have their protocols. Usually used for reconnects
186
190
  * as change:protocols event won't be emitted due to identical protocols.
187
191
  */
188
- _onConnect (evt: CustomEvent<Connection>): void {
189
- const connection = evt.detail
192
+ _onConnect (evt: CustomEvent<PeerId>): void {
193
+ const remotePeer = evt.detail
190
194
 
191
- void this.components.peerStore.get(connection.remotePeer)
195
+ void this.components.peerStore.get(remotePeer)
192
196
  .then(peer => {
197
+ const connection = this.components.connectionManager.getConnections(peer.id)[0]
198
+
199
+ if (connection == null) {
200
+ log('peer %p connected but the connection manager did not have a connection', peer)
201
+ // peer disconnected while we were loading their details from the peer store
202
+ return
203
+ }
204
+
193
205
  for (const protocol of peer.protocols) {
194
206
  const topologies = this.topologies.get(protocol)
195
207
 
@@ -199,12 +211,17 @@ export class DefaultRegistrar implements Registrar {
199
211
  }
200
212
 
201
213
  for (const topology of topologies.values()) {
202
- topology.onConnect(connection.remotePeer, connection)
214
+ topology.onConnect(remotePeer, connection)
203
215
  }
204
216
  }
205
217
  })
206
218
  .catch(err => {
207
- log.error('could not inform topologies of connecting peer %p', connection.remotePeer, err)
219
+ if (err.code === codes.ERR_NOT_FOUND) {
220
+ // peer has not completed identify so they are not in the peer store
221
+ return
222
+ }
223
+
224
+ log.error('could not inform topologies of connecting peer %p', remotePeer, err)
208
225
  })
209
226
  }
210
227
 
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
- export const version = '0.45.3'
1
+ export const version = '0.45.4'
2
2
  export const name = 'libp2p'