libp2p 0.42.2-593deefe → 0.42.2-5e63ee2d
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.
- package/dist/index.min.js +30 -30
- package/dist/src/address-manager/index.d.ts +1 -10
- package/dist/src/address-manager/index.d.ts.map +1 -1
- package/dist/src/address-manager/index.js +46 -29
- package/dist/src/address-manager/index.js.map +1 -1
- package/dist/src/autonat/constants.d.ts +4 -0
- package/dist/src/autonat/constants.d.ts.map +1 -0
- package/dist/src/autonat/constants.js +4 -0
- package/dist/src/autonat/constants.js.map +1 -0
- package/dist/src/autonat/index.d.ts +64 -0
- package/dist/src/autonat/index.d.ts.map +1 -0
- package/dist/src/autonat/index.js +417 -0
- package/dist/src/autonat/index.js.map +1 -0
- package/dist/src/autonat/pb/index.d.ts +57 -0
- package/dist/src/autonat/pb/index.d.ts.map +1 -0
- package/dist/src/autonat/pb/index.js +250 -0
- package/dist/src/autonat/pb/index.js.map +1 -0
- package/dist/src/circuit/constants.d.ts +29 -3
- package/dist/src/circuit/constants.d.ts.map +1 -1
- package/dist/src/circuit/constants.js +32 -5
- package/dist/src/circuit/constants.js.map +1 -1
- package/dist/src/circuit/index.d.ts +16 -61
- package/dist/src/circuit/index.d.ts.map +1 -1
- package/dist/src/circuit/index.js +2 -1
- package/dist/src/circuit/index.js.map +1 -1
- package/dist/src/circuit/server/advert-service.d.ts +43 -0
- package/dist/src/circuit/server/advert-service.d.ts.map +1 -0
- package/dist/src/circuit/server/advert-service.js +69 -0
- package/dist/src/circuit/server/advert-service.js.map +1 -0
- package/dist/src/circuit/server/index.d.ts +60 -0
- package/dist/src/circuit/server/index.d.ts.map +1 -0
- package/dist/src/circuit/server/index.js +287 -0
- package/dist/src/circuit/server/index.js.map +1 -0
- package/dist/src/circuit/{reservation-store.d.ts → server/reservation-store.d.ts} +17 -10
- package/dist/src/circuit/server/reservation-store.d.ts.map +1 -0
- package/dist/src/circuit/server/reservation-store.js +57 -0
- package/dist/src/circuit/server/reservation-store.js.map +1 -0
- package/dist/src/circuit/server/reservation-voucher.d.ts.map +1 -0
- package/dist/src/circuit/{reservation-voucher.js → server/reservation-voucher.js} +1 -1
- package/dist/src/circuit/server/reservation-voucher.js.map +1 -0
- package/dist/src/circuit/transport/discovery.d.ts +45 -0
- package/dist/src/circuit/transport/discovery.d.ts.map +1 -0
- package/dist/src/circuit/transport/discovery.js +82 -0
- package/dist/src/circuit/transport/discovery.js.map +1 -0
- package/dist/src/circuit/transport/index.d.ts +33 -0
- package/dist/src/circuit/transport/index.d.ts.map +1 -0
- package/dist/src/circuit/transport/index.js +225 -0
- package/dist/src/circuit/transport/index.js.map +1 -0
- package/dist/src/circuit/transport/listener.d.ts +9 -0
- package/dist/src/circuit/transport/listener.d.ts.map +1 -0
- package/dist/src/circuit/transport/listener.js +76 -0
- package/dist/src/circuit/transport/listener.js.map +1 -0
- package/dist/src/circuit/transport/reservation-store.d.ts +60 -0
- package/dist/src/circuit/transport/reservation-store.d.ts.map +1 -0
- package/dist/src/circuit/transport/reservation-store.js +165 -0
- package/dist/src/circuit/transport/reservation-store.js.map +1 -0
- package/dist/src/circuit/utils.d.ts +4 -2
- package/dist/src/circuit/utils.d.ts.map +1 -1
- package/dist/src/circuit/utils.js +75 -102
- package/dist/src/circuit/utils.js.map +1 -1
- package/dist/src/components.d.ts +2 -1
- package/dist/src/components.d.ts.map +1 -1
- package/dist/src/components.js.map +1 -1
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +17 -20
- package/dist/src/config.js.map +1 -1
- package/dist/src/connection/index.d.ts +2 -2
- package/dist/src/connection/index.d.ts.map +1 -1
- package/dist/src/connection/index.js +1 -1
- package/dist/src/connection/index.js.map +1 -1
- package/dist/src/connection-manager/auto-dialler.d.ts +0 -4
- package/dist/src/connection-manager/auto-dialler.d.ts.map +1 -1
- package/dist/src/connection-manager/auto-dialler.js +0 -9
- package/dist/src/connection-manager/auto-dialler.js.map +1 -1
- package/dist/src/connection-manager/dialer/dial-request.js +1 -1
- package/dist/src/connection-manager/dialer/dial-request.js.map +1 -1
- package/dist/src/connection-manager/dialer/index.d.ts +2 -1
- package/dist/src/connection-manager/dialer/index.d.ts.map +1 -1
- package/dist/src/connection-manager/dialer/index.js +3 -3
- package/dist/src/connection-manager/dialer/index.js.map +1 -1
- package/dist/src/connection-manager/index.d.ts +0 -4
- package/dist/src/connection-manager/index.d.ts.map +1 -1
- package/dist/src/connection-manager/index.js +1 -1
- package/dist/src/connection-manager/index.js.map +1 -1
- package/dist/src/connection-manager/latency-monitor.d.ts.map +1 -1
- package/dist/src/connection-manager/latency-monitor.js +1 -1
- package/dist/src/connection-manager/latency-monitor.js.map +1 -1
- package/dist/src/connection-manager/visibility-change-emitter.d.ts.map +1 -1
- package/dist/src/content-routing/index.d.ts +6 -4
- package/dist/src/content-routing/index.d.ts.map +1 -1
- package/dist/src/content-routing/index.js +1 -1
- package/dist/src/content-routing/index.js.map +1 -1
- package/dist/src/content-routing/utils.d.ts +3 -3
- package/dist/src/content-routing/utils.d.ts.map +1 -1
- package/dist/src/dht/dht-content-routing.d.ts +2 -1
- package/dist/src/dht/dht-content-routing.d.ts.map +1 -1
- package/dist/src/dht/dht-content-routing.js.map +1 -1
- package/dist/src/dht/dht-peer-routing.d.ts +3 -2
- package/dist/src/dht/dht-peer-routing.d.ts.map +1 -1
- package/dist/src/dht/dht-peer-routing.js.map +1 -1
- package/dist/src/dht/dummy-dht.d.ts +1 -1
- package/dist/src/dht/dummy-dht.d.ts.map +1 -1
- package/dist/src/fetch/index.d.ts.map +1 -1
- package/dist/src/identify/index.d.ts +3 -1
- package/dist/src/identify/index.d.ts.map +1 -1
- package/dist/src/identify/index.js +12 -7
- package/dist/src/identify/index.js.map +1 -1
- package/dist/src/index.d.ts +13 -7
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/insecure/index.d.ts.map +1 -1
- package/dist/src/insecure/index.js.map +1 -1
- package/dist/src/libp2p.d.ts +6 -4
- package/dist/src/libp2p.d.ts.map +1 -1
- package/dist/src/libp2p.js +19 -28
- package/dist/src/libp2p.js.map +1 -1
- package/dist/src/nat-manager.d.ts.map +1 -1
- package/dist/src/nat-manager.js +3 -1
- package/dist/src/nat-manager.js.map +1 -1
- package/dist/src/peer-record-updater.d.ts.map +1 -1
- package/dist/src/peer-routing.d.ts.map +1 -1
- package/dist/src/ping/index.d.ts.map +1 -1
- package/dist/src/pnet/crypto.d.ts +1 -1
- package/dist/src/pnet/crypto.d.ts.map +1 -1
- package/dist/src/pnet/crypto.js +1 -1
- package/dist/src/pnet/crypto.js.map +1 -1
- package/dist/src/pnet/key-generator.d.ts.map +1 -1
- package/dist/src/registrar.d.ts.map +1 -1
- package/dist/src/transport-manager.d.ts.map +1 -1
- package/dist/src/transport-manager.js +1 -1
- package/dist/src/transport-manager.js.map +1 -1
- package/dist/src/upgrader.d.ts +2 -1
- package/dist/src/upgrader.d.ts.map +1 -1
- package/dist/src/upgrader.js +19 -14
- package/dist/src/upgrader.js.map +1 -1
- package/package.json +23 -18
- package/src/address-manager/index.ts +62 -35
- package/src/autonat/constants.ts +4 -0
- package/src/autonat/index.ts +567 -0
- package/src/autonat/pb/index.proto +35 -0
- package/src/autonat/pb/index.ts +320 -0
- package/src/circuit/constants.ts +40 -5
- package/src/circuit/index.ts +17 -67
- package/src/circuit/server/advert-service.ts +108 -0
- package/src/circuit/server/index.ts +421 -0
- package/src/circuit/server/reservation-store.ts +111 -0
- package/src/circuit/{reservation-voucher.ts → server/reservation-voucher.ts} +3 -3
- package/src/circuit/transport/discovery.ts +127 -0
- package/src/circuit/transport/index.ts +325 -0
- package/src/circuit/transport/listener.ts +99 -0
- package/src/circuit/transport/reservation-store.ts +249 -0
- package/src/circuit/utils.ts +78 -115
- package/src/components.ts +9 -8
- package/src/config.ts +17 -20
- package/src/connection/index.ts +7 -7
- package/src/connection-manager/auto-dialler.ts +4 -20
- package/src/connection-manager/dialer/dial-request.ts +1 -1
- package/src/connection-manager/dialer/index.ts +10 -9
- package/src/connection-manager/index.ts +14 -19
- package/src/connection-manager/latency-monitor.ts +9 -9
- package/src/connection-manager/visibility-change-emitter.ts +4 -4
- package/src/content-routing/index.ts +10 -8
- package/src/content-routing/utils.ts +3 -3
- package/src/dht/dht-content-routing.ts +3 -2
- package/src/dht/dht-peer-routing.ts +3 -2
- package/src/dht/dummy-dht.ts +1 -1
- package/src/fetch/index.ts +7 -7
- package/src/identify/index.ts +22 -17
- package/src/index.ts +14 -7
- package/src/insecure/index.ts +2 -1
- package/src/libp2p.ts +33 -41
- package/src/nat-manager.ts +9 -7
- package/src/peer-record-updater.ts +4 -4
- package/src/peer-routing.ts +4 -4
- package/src/ping/index.ts +4 -4
- package/src/pnet/crypto.ts +3 -3
- package/src/pnet/key-generator.ts +1 -1
- package/src/registrar.ts +8 -8
- package/src/transport-manager.ts +10 -10
- package/src/upgrader.ts +20 -19
- package/src/version.ts +1 -1
- package/dist/src/circuit/client.d.ts +0 -81
- package/dist/src/circuit/client.d.ts.map +0 -1
- package/dist/src/circuit/client.js +0 -285
- package/dist/src/circuit/client.js.map +0 -1
- package/dist/src/circuit/hop.d.ts +0 -23
- package/dist/src/circuit/hop.d.ts.map +0 -1
- package/dist/src/circuit/hop.js +0 -167
- package/dist/src/circuit/hop.js.map +0 -1
- package/dist/src/circuit/interfaces.d.ts +0 -27
- package/dist/src/circuit/interfaces.d.ts.map +0 -1
- package/dist/src/circuit/interfaces.js +0 -2
- package/dist/src/circuit/interfaces.js.map +0 -1
- package/dist/src/circuit/listener.d.ts +0 -9
- package/dist/src/circuit/listener.d.ts.map +0 -1
- package/dist/src/circuit/listener.js +0 -62
- package/dist/src/circuit/listener.js.map +0 -1
- package/dist/src/circuit/multicodec.d.ts +0 -3
- package/dist/src/circuit/multicodec.d.ts.map +0 -1
- package/dist/src/circuit/multicodec.js +0 -3
- package/dist/src/circuit/multicodec.js.map +0 -1
- package/dist/src/circuit/relay.d.ts +0 -34
- package/dist/src/circuit/relay.d.ts.map +0 -1
- package/dist/src/circuit/relay.js +0 -61
- package/dist/src/circuit/relay.js.map +0 -1
- package/dist/src/circuit/reservation-store.d.ts.map +0 -1
- package/dist/src/circuit/reservation-store.js +0 -59
- package/dist/src/circuit/reservation-store.js.map +0 -1
- package/dist/src/circuit/reservation-voucher.d.ts.map +0 -1
- package/dist/src/circuit/reservation-voucher.js.map +0 -1
- package/dist/src/circuit/stop.d.ts +0 -19
- package/dist/src/circuit/stop.d.ts.map +0 -1
- package/dist/src/circuit/stop.js +0 -67
- package/dist/src/circuit/stop.js.map +0 -1
- package/dist/src/circuit/transport.d.ts +0 -66
- package/dist/src/circuit/transport.d.ts.map +0 -1
- package/dist/src/circuit/transport.js +0 -238
- package/dist/src/circuit/transport.js.map +0 -1
- package/src/circuit/client.ts +0 -381
- package/src/circuit/hop.ts +0 -210
- package/src/circuit/interfaces.ts +0 -28
- package/src/circuit/listener.ts +0 -83
- package/src/circuit/multicodec.ts +0 -3
- package/src/circuit/relay.ts +0 -87
- package/src/circuit/reservation-store.ts +0 -106
- package/src/circuit/stop.ts +0 -92
- package/src/circuit/transport.ts +0 -313
- /package/dist/src/circuit/{reservation-voucher.d.ts → server/reservation-voucher.d.ts} +0 -0
package/src/upgrader.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { codes } from './errors.js'
|
|
|
5
5
|
import { createConnection } from './connection/index.js'
|
|
6
6
|
import { CustomEvent, EventEmitter } from '@libp2p/interfaces/events'
|
|
7
7
|
import { peerIdFromString } from '@libp2p/peer-id'
|
|
8
|
-
import type { MultiaddrConnection, Connection, Stream,
|
|
8
|
+
import type { MultiaddrConnection, Connection, Stream, ConnectionProtector } from '@libp2p/interface-connection'
|
|
9
9
|
import type { ConnectionEncrypter, SecuredConnection } from '@libp2p/interface-connection-encrypter'
|
|
10
10
|
import type { StreamMuxer, StreamMuxerFactory } from '@libp2p/interface-stream-muxer'
|
|
11
11
|
import type { PeerId } from '@libp2p/interface-peer-id'
|
|
@@ -20,6 +20,7 @@ import { setMaxListeners } from 'events'
|
|
|
20
20
|
import type { Metrics } from '@libp2p/interface-metrics'
|
|
21
21
|
import type { ConnectionManager } from '@libp2p/interface-connection-manager'
|
|
22
22
|
import type { PeerStore } from '@libp2p/interface-peer-store'
|
|
23
|
+
import type { ConnectionGater } from '@libp2p/interface-connection-gater'
|
|
23
24
|
|
|
24
25
|
const log = logger('libp2p:upgrader')
|
|
25
26
|
|
|
@@ -53,7 +54,7 @@ export interface UpgraderInit {
|
|
|
53
54
|
inboundUpgradeTimeout: number
|
|
54
55
|
}
|
|
55
56
|
|
|
56
|
-
function findIncomingStreamLimit (protocol: string, registrar: Registrar) {
|
|
57
|
+
function findIncomingStreamLimit (protocol: string, registrar: Registrar): number | undefined {
|
|
57
58
|
try {
|
|
58
59
|
const { options } = registrar.getHandler(protocol)
|
|
59
60
|
|
|
@@ -67,7 +68,7 @@ function findIncomingStreamLimit (protocol: string, registrar: Registrar) {
|
|
|
67
68
|
return DEFAULT_MAX_INBOUND_STREAMS
|
|
68
69
|
}
|
|
69
70
|
|
|
70
|
-
function findOutgoingStreamLimit (protocol: string, registrar: Registrar) {
|
|
71
|
+
function findOutgoingStreamLimit (protocol: string, registrar: Registrar): number | undefined {
|
|
71
72
|
try {
|
|
72
73
|
const { options } = registrar.getHandler(protocol)
|
|
73
74
|
|
|
@@ -81,7 +82,7 @@ function findOutgoingStreamLimit (protocol: string, registrar: Registrar) {
|
|
|
81
82
|
return DEFAULT_MAX_OUTBOUND_STREAMS
|
|
82
83
|
}
|
|
83
84
|
|
|
84
|
-
function countStreams (protocol: string, direction: 'inbound' | 'outbound', connection: Connection) {
|
|
85
|
+
function countStreams (protocol: string, direction: 'inbound' | 'outbound', connection: Connection): number {
|
|
85
86
|
let streamCount = 0
|
|
86
87
|
|
|
87
88
|
connection.streams.forEach(stream => {
|
|
@@ -156,7 +157,7 @@ export class DefaultUpgrader extends EventEmitter<UpgraderEvents> implements Upg
|
|
|
156
157
|
maConn.source = abortableStream.source
|
|
157
158
|
maConn.sink = abortableStream.sink
|
|
158
159
|
|
|
159
|
-
if (await this.components.connectionGater.denyInboundConnection(maConn)) {
|
|
160
|
+
if ((await this.components.connectionGater.denyInboundConnection?.(maConn)) === true) {
|
|
160
161
|
throw errCode(new Error('The multiaddr connection is blocked by gater.acceptConnection'), codes.ERR_CONNECTION_INTERCEPTED)
|
|
161
162
|
}
|
|
162
163
|
|
|
@@ -186,10 +187,10 @@ export class DefaultUpgrader extends EventEmitter<UpgraderEvents> implements Upg
|
|
|
186
187
|
protocol: cryptoProtocol
|
|
187
188
|
} = await this._encryptInbound(protectedConn))
|
|
188
189
|
|
|
189
|
-
if (await this.components.connectionGater.denyInboundEncryptedConnection(remotePeer, {
|
|
190
|
+
if ((await this.components.connectionGater.denyInboundEncryptedConnection?.(remotePeer, {
|
|
190
191
|
...protectedConn,
|
|
191
192
|
...encryptedConn
|
|
192
|
-
})) {
|
|
193
|
+
})) === true) {
|
|
193
194
|
throw errCode(new Error('The multiaddr connection is blocked by gater.acceptEncryptedConnection'), codes.ERR_CONNECTION_INTERCEPTED)
|
|
194
195
|
}
|
|
195
196
|
} else {
|
|
@@ -222,10 +223,10 @@ export class DefaultUpgrader extends EventEmitter<UpgraderEvents> implements Upg
|
|
|
222
223
|
throw err
|
|
223
224
|
}
|
|
224
225
|
|
|
225
|
-
if (await this.components.connectionGater.denyInboundUpgradedConnection(remotePeer, {
|
|
226
|
+
if ((await this.components.connectionGater.denyInboundUpgradedConnection?.(remotePeer, {
|
|
226
227
|
...protectedConn,
|
|
227
228
|
...encryptedConn
|
|
228
|
-
})) {
|
|
229
|
+
})) === true) {
|
|
229
230
|
throw errCode(new Error('The multiaddr connection is blocked by gater.acceptEncryptedConnection'), codes.ERR_CONNECTION_INTERCEPTED)
|
|
230
231
|
}
|
|
231
232
|
|
|
@@ -255,7 +256,7 @@ export class DefaultUpgrader extends EventEmitter<UpgraderEvents> implements Upg
|
|
|
255
256
|
if (idStr != null) {
|
|
256
257
|
remotePeerId = peerIdFromString(idStr)
|
|
257
258
|
|
|
258
|
-
if (await this.components.connectionGater.denyOutboundConnection(remotePeerId, maConn)) {
|
|
259
|
+
if ((await this.components.connectionGater.denyOutboundConnection?.(remotePeerId, maConn)) === true) {
|
|
259
260
|
throw errCode(new Error('The multiaddr connection is blocked by connectionGater.denyOutboundConnection'), codes.ERR_CONNECTION_INTERCEPTED)
|
|
260
261
|
}
|
|
261
262
|
}
|
|
@@ -293,10 +294,10 @@ export class DefaultUpgrader extends EventEmitter<UpgraderEvents> implements Upg
|
|
|
293
294
|
protocol: cryptoProtocol
|
|
294
295
|
} = await this._encryptOutbound(protectedConn, remotePeerId))
|
|
295
296
|
|
|
296
|
-
if (await this.components.connectionGater.denyOutboundEncryptedConnection(remotePeer, {
|
|
297
|
+
if ((await this.components.connectionGater.denyOutboundEncryptedConnection?.(remotePeer, {
|
|
297
298
|
...protectedConn,
|
|
298
299
|
...encryptedConn
|
|
299
|
-
})) {
|
|
300
|
+
})) === true) {
|
|
300
301
|
throw errCode(new Error('The multiaddr connection is blocked by gater.acceptEncryptedConnection'), codes.ERR_CONNECTION_INTERCEPTED)
|
|
301
302
|
}
|
|
302
303
|
} else {
|
|
@@ -326,10 +327,10 @@ export class DefaultUpgrader extends EventEmitter<UpgraderEvents> implements Upg
|
|
|
326
327
|
throw err
|
|
327
328
|
}
|
|
328
329
|
|
|
329
|
-
if (await this.components.connectionGater.denyOutboundUpgradedConnection(remotePeer, {
|
|
330
|
+
if ((await this.components.connectionGater.denyOutboundUpgradedConnection?.(remotePeer, {
|
|
330
331
|
...protectedConn,
|
|
331
332
|
...encryptedConn
|
|
332
|
-
})) {
|
|
333
|
+
})) === true) {
|
|
333
334
|
throw errCode(new Error('The multiaddr connection is blocked by gater.acceptEncryptedConnection'), codes.ERR_CONNECTION_INTERCEPTED)
|
|
334
335
|
}
|
|
335
336
|
|
|
@@ -399,7 +400,7 @@ export class DefaultUpgrader extends EventEmitter<UpgraderEvents> implements Upg
|
|
|
399
400
|
|
|
400
401
|
// If a protocol stream has been successfully negotiated and is to be passed to the application,
|
|
401
402
|
// the peerstore should ensure that the peer is registered with that protocol
|
|
402
|
-
this.components.peerStore.protoBook.add(remotePeer, [protocol]).catch(err => log.error(err))
|
|
403
|
+
this.components.peerStore.protoBook.add(remotePeer, [protocol]).catch(err => { log.error(err) })
|
|
403
404
|
|
|
404
405
|
connection.addStream(muxedStream)
|
|
405
406
|
this.components.metrics?.trackProtocolStream(muxedStream, connection)
|
|
@@ -456,7 +457,7 @@ export class DefaultUpgrader extends EventEmitter<UpgraderEvents> implements Upg
|
|
|
456
457
|
|
|
457
458
|
// If a protocol stream has been successfully negotiated and is to be passed to the application,
|
|
458
459
|
// the peerstore should ensure that the peer is registered with that protocol
|
|
459
|
-
this.components.peerStore.protoBook.add(remotePeer, [protocol]).catch(err => log.error(err))
|
|
460
|
+
this.components.peerStore.protoBook.add(remotePeer, [protocol]).catch(err => { log.error(err) })
|
|
460
461
|
|
|
461
462
|
// after the handshake the returned stream can have early data so override
|
|
462
463
|
// the souce/sink
|
|
@@ -522,14 +523,14 @@ export class DefaultUpgrader extends EventEmitter<UpgraderEvents> implements Upg
|
|
|
522
523
|
})
|
|
523
524
|
maConn.timeline.upgraded = Date.now()
|
|
524
525
|
|
|
525
|
-
const errConnectionNotMultiplexed = () => {
|
|
526
|
+
const errConnectionNotMultiplexed = (): any => {
|
|
526
527
|
throw errCode(new Error('connection is not multiplexed'), codes.ERR_CONNECTION_NOT_MULTIPLEXED)
|
|
527
528
|
}
|
|
528
529
|
|
|
529
530
|
// Create the connection
|
|
530
531
|
connection = createConnection({
|
|
531
532
|
remoteAddr: maConn.remoteAddr,
|
|
532
|
-
remotePeer
|
|
533
|
+
remotePeer,
|
|
533
534
|
stat: {
|
|
534
535
|
status: 'OPEN',
|
|
535
536
|
direction,
|
|
@@ -538,7 +539,7 @@ export class DefaultUpgrader extends EventEmitter<UpgraderEvents> implements Upg
|
|
|
538
539
|
encryption: cryptoProtocol
|
|
539
540
|
},
|
|
540
541
|
newStream: newStream ?? errConnectionNotMultiplexed,
|
|
541
|
-
getStreams: () => muxer != null
|
|
542
|
+
getStreams: () => { if (muxer != null) { return muxer.streams } else { return errConnectionNotMultiplexed() } },
|
|
542
543
|
close: async () => {
|
|
543
544
|
await maConn.close()
|
|
544
545
|
// Ensure remaining streams are closed
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = '0.42.2-
|
|
1
|
+
export const version = '0.42.2-5e63ee2d'
|
|
2
2
|
export const name = 'libp2p'
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import type { PeerId } from '@libp2p/interface-peer-id';
|
|
2
|
-
import type { AddressSorter } from '@libp2p/interface-peer-store';
|
|
3
|
-
import type { Connection } from '@libp2p/interface-connection';
|
|
4
|
-
import { EventEmitter } from '@libp2p/interfaces/events';
|
|
5
|
-
import type { Startable } from '@libp2p/interfaces/startable';
|
|
6
|
-
import type { Components } from '../components.js';
|
|
7
|
-
import type { RelayReservationManagerConfig } from './index.js';
|
|
8
|
-
import { PeerList } from '@libp2p/peer-collections';
|
|
9
|
-
/**
|
|
10
|
-
* CircuitServiceInit initializes the circuit service using values
|
|
11
|
-
* from the provided config and an @type{AddressSorter}.
|
|
12
|
-
*/
|
|
13
|
-
export interface CircuitServiceInit extends RelayReservationManagerConfig {
|
|
14
|
-
/**
|
|
15
|
-
* Allows prioritizing addresses from the peerstore for dialing. The
|
|
16
|
-
* default behavior is to prioritise public addresses.
|
|
17
|
-
*/
|
|
18
|
-
addressSorter?: AddressSorter;
|
|
19
|
-
/**
|
|
20
|
-
* A callback to invoke when an error occurs in the circuit service.
|
|
21
|
-
*/
|
|
22
|
-
onError?: (error: Error) => void;
|
|
23
|
-
}
|
|
24
|
-
export interface RelayReservationManagerEvents {
|
|
25
|
-
'relay:reservation': CustomEvent;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* ReservationManager automatically makes a circuit v2 reservation on any connected
|
|
29
|
-
* peers that support the circuit v2 HOP protocol.
|
|
30
|
-
*/
|
|
31
|
-
export declare class RelayReservationManager extends EventEmitter<RelayReservationManagerEvents> implements Startable {
|
|
32
|
-
private readonly components;
|
|
33
|
-
private readonly addressSorter;
|
|
34
|
-
private readonly maxReservations;
|
|
35
|
-
private readonly relays;
|
|
36
|
-
private readonly reservationMap;
|
|
37
|
-
private readonly onError;
|
|
38
|
-
private started;
|
|
39
|
-
constructor(components: Components, init: CircuitServiceInit);
|
|
40
|
-
isStarted(): boolean;
|
|
41
|
-
start(): void;
|
|
42
|
-
stop(): Promise<void>;
|
|
43
|
-
/**
|
|
44
|
-
* Check if a peer supports the relay protocol.
|
|
45
|
-
* If the protocol is not supported, check if it was supported before and remove it as a listen relay.
|
|
46
|
-
* If the protocol is supported, check if the peer supports **HOP** and add it as a listener if
|
|
47
|
-
* inside the threshold.
|
|
48
|
-
*/
|
|
49
|
-
_onProtocolChange({ peerId, protocols }: {
|
|
50
|
-
peerId: PeerId;
|
|
51
|
-
protocols: string[];
|
|
52
|
-
}): Promise<void>;
|
|
53
|
-
/**
|
|
54
|
-
* Handle case when peer connects. If we already have the peer in the protobook,
|
|
55
|
-
* we treat this event as an `onProtocolChange`.
|
|
56
|
-
*/
|
|
57
|
-
_onPeerConnect({ detail: connection }: CustomEvent<Connection>): void;
|
|
58
|
-
/**
|
|
59
|
-
* Peer disconnects
|
|
60
|
-
*/
|
|
61
|
-
_onPeerDisconnected(evt: CustomEvent<Connection>): void;
|
|
62
|
-
/**
|
|
63
|
-
* Attempt to listen on the given relay connection
|
|
64
|
-
*/
|
|
65
|
-
_addListenRelay(connection: Connection, peerId: PeerId): Promise<void>;
|
|
66
|
-
/**
|
|
67
|
-
* Remove listen relay
|
|
68
|
-
*/
|
|
69
|
-
_removeListenRelay(PeerId: PeerId): Promise<void>;
|
|
70
|
-
/**
|
|
71
|
-
* Try to listen on available hop relay connections.
|
|
72
|
-
* The following order will happen while we do not have enough relays.
|
|
73
|
-
* 1. Check the metadata store for known relays, try to listen on the ones we are already connected.
|
|
74
|
-
* 2. Dial and try to listen on the peers we know that support hop but are not connected.
|
|
75
|
-
* 3. Search the network.
|
|
76
|
-
*/
|
|
77
|
-
_listenOnAvailableHopRelays(peersToIgnore?: PeerList): Promise<void>;
|
|
78
|
-
_tryToListenOnRelay(peerId: PeerId): Promise<void>;
|
|
79
|
-
private readonly createOrRefreshReservation;
|
|
80
|
-
}
|
|
81
|
-
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/circuit/client.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAM9D,OAAO,EAAE,YAAY,EAAe,MAAM,2BAA2B,CAAA;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAoB,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAMrE;;;GAGG;AACH,MAAM,WAAW,kBAAmB,SAAQ,6BAA6B;IACvE;;;OAGG;IACH,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CACjC;AAED,MAAM,WAAW,6BAA6B;IAC5C,mBAAmB,EAAE,WAAW,CAAA;CACjC;AAED;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,YAAY,CAAC,6BAA6B,CAAE,YAAW,SAAS;IAC3G,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwC;IACvE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,OAAO,CAAS;gBAEX,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,kBAAkB;IAwB7D,SAAS;IAIT,KAAK;IAKC,IAAI;IAMV;;;;;OAKG;IACG,iBAAiB,CAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAC;IA6CrF;;;OAGG;IACH,cAAc,CAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,WAAW,CAAC,UAAU,CAAC;IAa/D;;OAEG;IACH,mBAAmB,CAAE,GAAG,EAAE,WAAW,CAAC,UAAU,CAAC;IAgBjD;;OAEG;IACG,eAAe,CAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiD7E;;OAEG;IACG,kBAAkB,CAAE,MAAM,EAAE,MAAM;IASxC;;;;;;OAMG;IACG,2BAA2B,CAAE,aAAa,GAAE,QAA2B;IAmEvE,mBAAmB,CAAE,MAAM,EAAE,MAAM;IAczC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CA0C1C;CACF"}
|
|
@@ -1,285 +0,0 @@
|
|
|
1
|
-
import { logger } from '@libp2p/logger';
|
|
2
|
-
import { RELAY_V2_HOP_CODEC } from './multicodec.js';
|
|
3
|
-
import { getExpiration, namespaceToCid } from './utils.js';
|
|
4
|
-
import { CIRCUIT_PROTO_CODE, DEFAULT_MAX_RESERVATIONS, RELAY_RENDEZVOUS_NS } from './constants.js';
|
|
5
|
-
import sort from 'it-sort';
|
|
6
|
-
import all from 'it-all';
|
|
7
|
-
import { pipe } from 'it-pipe';
|
|
8
|
-
import { publicAddressesFirst } from '@libp2p/utils/address-sort';
|
|
9
|
-
import { reserve } from './hop.js';
|
|
10
|
-
import { EventEmitter, CustomEvent } from '@libp2p/interfaces/events';
|
|
11
|
-
import { PeerSet, PeerMap, PeerList } from '@libp2p/peer-collections';
|
|
12
|
-
const log = logger('libp2p:circuit:client');
|
|
13
|
-
const noop = () => { };
|
|
14
|
-
/**
|
|
15
|
-
* ReservationManager automatically makes a circuit v2 reservation on any connected
|
|
16
|
-
* peers that support the circuit v2 HOP protocol.
|
|
17
|
-
*/
|
|
18
|
-
export class RelayReservationManager extends EventEmitter {
|
|
19
|
-
constructor(components, init) {
|
|
20
|
-
super();
|
|
21
|
-
this.createOrRefreshReservation = async (peerId) => {
|
|
22
|
-
try {
|
|
23
|
-
const connections = this.components.connectionManager.getConnections(peerId);
|
|
24
|
-
if (connections.length === 0) {
|
|
25
|
-
throw new Error('No connections to peer');
|
|
26
|
-
}
|
|
27
|
-
const connection = connections[0];
|
|
28
|
-
const reservation = await reserve(connection);
|
|
29
|
-
const refreshReservation = this.createOrRefreshReservation;
|
|
30
|
-
if (reservation != null) {
|
|
31
|
-
log('new reservation on %p', peerId);
|
|
32
|
-
// clear any previous timeouts
|
|
33
|
-
const previous = this.reservationMap.get(peerId);
|
|
34
|
-
if (previous != null) {
|
|
35
|
-
clearTimeout(previous);
|
|
36
|
-
}
|
|
37
|
-
const timeout = setTimeout((peerId) => {
|
|
38
|
-
void refreshReservation(peerId).catch(err => {
|
|
39
|
-
log.error('error refreshing reservation for %p', peerId, err);
|
|
40
|
-
});
|
|
41
|
-
}, Math.max(getExpiration(reservation.expire) - 100, 0), peerId);
|
|
42
|
-
this.reservationMap.set(peerId, timeout);
|
|
43
|
-
this.dispatchEvent(new CustomEvent('relay:reservation'));
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
catch (err) {
|
|
47
|
-
log.error(err);
|
|
48
|
-
await this._removeListenRelay(peerId);
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
this.started = false;
|
|
52
|
-
this.components = components;
|
|
53
|
-
this.addressSorter = init.addressSorter ?? publicAddressesFirst;
|
|
54
|
-
this.maxReservations = init.maxReservations ?? DEFAULT_MAX_RESERVATIONS;
|
|
55
|
-
this.relays = new PeerSet();
|
|
56
|
-
this.reservationMap = new PeerMap();
|
|
57
|
-
this.onError = init.onError ?? noop;
|
|
58
|
-
this._onProtocolChange = this._onProtocolChange.bind(this);
|
|
59
|
-
this._onPeerDisconnected = this._onPeerDisconnected.bind(this);
|
|
60
|
-
this._onPeerConnect = this._onPeerConnect.bind(this);
|
|
61
|
-
this.components.peerStore.addEventListener('change:protocols', (evt) => {
|
|
62
|
-
void this._onProtocolChange(evt.detail).catch(err => {
|
|
63
|
-
log.error('handling protocol change failed', err);
|
|
64
|
-
});
|
|
65
|
-
});
|
|
66
|
-
this.components.connectionManager.addEventListener('peer:disconnect', this._onPeerDisconnected);
|
|
67
|
-
this.components.connectionManager.addEventListener('peer:connect', this._onPeerConnect);
|
|
68
|
-
}
|
|
69
|
-
isStarted() {
|
|
70
|
-
return this.started;
|
|
71
|
-
}
|
|
72
|
-
start() {
|
|
73
|
-
void this._listenOnAvailableHopRelays().catch(err => { log.error('error listening on relays', err); });
|
|
74
|
-
this.started = true;
|
|
75
|
-
}
|
|
76
|
-
async stop() {
|
|
77
|
-
this.reservationMap.forEach((timer) => clearTimeout(timer));
|
|
78
|
-
this.reservationMap.clear();
|
|
79
|
-
this.relays.clear();
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Check if a peer supports the relay protocol.
|
|
83
|
-
* If the protocol is not supported, check if it was supported before and remove it as a listen relay.
|
|
84
|
-
* If the protocol is supported, check if the peer supports **HOP** and add it as a listener if
|
|
85
|
-
* inside the threshold.
|
|
86
|
-
*/
|
|
87
|
-
async _onProtocolChange({ peerId, protocols }) {
|
|
88
|
-
if (peerId.equals(this.components.peerId)) {
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
// Check if it has the protocol
|
|
92
|
-
const hasProtocol = protocols.includes(RELAY_V2_HOP_CODEC);
|
|
93
|
-
log.trace('Peer %p protocol change %p', peerId, this.components.peerId);
|
|
94
|
-
// If no protocol, check if we were keeping the peer before as a listenRelay
|
|
95
|
-
if (!hasProtocol) {
|
|
96
|
-
if (this.relays.has(peerId)) {
|
|
97
|
-
await this._removeListenRelay(peerId);
|
|
98
|
-
}
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
if (this.relays.has(peerId)) {
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
// If protocol, check if can hop, store info in the metadataBook and listen on it
|
|
105
|
-
try {
|
|
106
|
-
const connections = this.components.connectionManager.getConnections(peerId);
|
|
107
|
-
// if no connections, try to listen on relay
|
|
108
|
-
if (connections.length === 0) {
|
|
109
|
-
void this._tryToListenOnRelay(peerId);
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
const connection = connections[0];
|
|
113
|
-
// Do not hop on a relayed connection
|
|
114
|
-
if (connection.remoteAddr.protoCodes().includes(CIRCUIT_PROTO_CODE)) {
|
|
115
|
-
log('relayed connection to %p will not be used to hop on', peerId);
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
await this._addListenRelay(connection, peerId);
|
|
119
|
-
}
|
|
120
|
-
catch (err) {
|
|
121
|
-
log.error('could not add %p as relay', peerId);
|
|
122
|
-
this.onError(err);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Handle case when peer connects. If we already have the peer in the protobook,
|
|
127
|
-
* we treat this event as an `onProtocolChange`.
|
|
128
|
-
*/
|
|
129
|
-
_onPeerConnect({ detail: connection }) {
|
|
130
|
-
void this.components.peerStore.protoBook.get(connection.remotePeer)
|
|
131
|
-
.then((protocols) => {
|
|
132
|
-
void this._onProtocolChange({ peerId: connection.remotePeer, protocols })
|
|
133
|
-
.catch((err) => log.error('handling reconnect failed', err));
|
|
134
|
-
}, (err) => {
|
|
135
|
-
// this is not necessarily an error as we will only have the protocols stored
|
|
136
|
-
// in case of a reconnect
|
|
137
|
-
log.trace('could not fetch protocols for peer: %p', connection.remotePeer, err);
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Peer disconnects
|
|
142
|
-
*/
|
|
143
|
-
_onPeerDisconnected(evt) {
|
|
144
|
-
const connection = evt.detail;
|
|
145
|
-
const peerId = connection.remotePeer;
|
|
146
|
-
clearTimeout(this.reservationMap.get(peerId));
|
|
147
|
-
this.reservationMap.delete(peerId);
|
|
148
|
-
// Not listening on this relay
|
|
149
|
-
if (!this.relays.has(peerId)) {
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
152
|
-
this._removeListenRelay(peerId).catch(err => {
|
|
153
|
-
log.error(err);
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Attempt to listen on the given relay connection
|
|
158
|
-
*/
|
|
159
|
-
async _addListenRelay(connection, peerId) {
|
|
160
|
-
log.trace('peerId %p is being added as relay', peerId);
|
|
161
|
-
try {
|
|
162
|
-
// Check if already enough relay reservations
|
|
163
|
-
if (this.relays.size >= this.maxReservations) {
|
|
164
|
-
return;
|
|
165
|
-
}
|
|
166
|
-
await this.createOrRefreshReservation(peerId);
|
|
167
|
-
// Get peer known addresses and sort them with public addresses first
|
|
168
|
-
const remoteAddrs = await pipe(await this.components.peerStore.addressBook.get(connection.remotePeer), (source) => sort(source, this.addressSorter), async (source) => await all(source));
|
|
169
|
-
// Attempt to listen on relay
|
|
170
|
-
const result = await Promise.all(remoteAddrs.map(async (addr) => {
|
|
171
|
-
let multiaddr = addr.multiaddr;
|
|
172
|
-
if (multiaddr.getPeerId() == null) {
|
|
173
|
-
multiaddr = multiaddr.encapsulate(`/p2p/${connection.remotePeer.toString()}`);
|
|
174
|
-
}
|
|
175
|
-
multiaddr = multiaddr.encapsulate('/p2p-circuit');
|
|
176
|
-
try {
|
|
177
|
-
// Announce multiaddrs will update on listen success by TransportManager event being triggered
|
|
178
|
-
await this.components.transportManager.listen([multiaddr]);
|
|
179
|
-
return true;
|
|
180
|
-
}
|
|
181
|
-
catch (err) {
|
|
182
|
-
log.error('error listening on circuit address', multiaddr, err);
|
|
183
|
-
this.onError(err);
|
|
184
|
-
}
|
|
185
|
-
return false;
|
|
186
|
-
}));
|
|
187
|
-
if (result.includes(true)) {
|
|
188
|
-
this.relays.add(peerId);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
catch (err) {
|
|
192
|
-
this.relays.delete(peerId);
|
|
193
|
-
log.error('error adding relay for %p %s', peerId, err);
|
|
194
|
-
this.onError(err);
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* Remove listen relay
|
|
199
|
-
*/
|
|
200
|
-
async _removeListenRelay(PeerId) {
|
|
201
|
-
const recheck = this.relays.has(PeerId);
|
|
202
|
-
this.relays.delete(PeerId);
|
|
203
|
-
if (recheck) {
|
|
204
|
-
// TODO: this should be responsibility of the connMgr
|
|
205
|
-
await this._listenOnAvailableHopRelays(new PeerList([PeerId]));
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
/**
|
|
209
|
-
* Try to listen on available hop relay connections.
|
|
210
|
-
* The following order will happen while we do not have enough relays.
|
|
211
|
-
* 1. Check the metadata store for known relays, try to listen on the ones we are already connected.
|
|
212
|
-
* 2. Dial and try to listen on the peers we know that support hop but are not connected.
|
|
213
|
-
* 3. Search the network.
|
|
214
|
-
*/
|
|
215
|
-
async _listenOnAvailableHopRelays(peersToIgnore = new PeerList([])) {
|
|
216
|
-
// Check if already listening on enough relays
|
|
217
|
-
if (this.relays.size >= this.maxReservations) {
|
|
218
|
-
return;
|
|
219
|
-
}
|
|
220
|
-
const knownHopsToDial = [];
|
|
221
|
-
const peers = (await this.components.peerStore.all())
|
|
222
|
-
// filter by a list of peers supporting RELAY_V2_HOP and ones we are not listening on
|
|
223
|
-
.filter(({ id, protocols }) => protocols.includes(RELAY_V2_HOP_CODEC) && !this.relays.has(id) && !peersToIgnore.includes(id))
|
|
224
|
-
.map(({ id }) => {
|
|
225
|
-
const connections = this.components.connectionManager.getConnections(id);
|
|
226
|
-
if (connections.length === 0) {
|
|
227
|
-
knownHopsToDial.push(id);
|
|
228
|
-
return [id, null];
|
|
229
|
-
}
|
|
230
|
-
return [id, connections[0]];
|
|
231
|
-
})
|
|
232
|
-
.sort(() => Math.random() - 0.5);
|
|
233
|
-
// Check if we have known hop peers to use and attempt to listen on the already connected
|
|
234
|
-
for (const [id, conn] of peers) {
|
|
235
|
-
await this._addListenRelay(conn, id);
|
|
236
|
-
// Check if already listening on enough relays
|
|
237
|
-
if (this.relays.size >= this.maxReservations) {
|
|
238
|
-
return;
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
// Try to listen on known peers that are not connected
|
|
242
|
-
for (const peerId of knownHopsToDial) {
|
|
243
|
-
// Check if already listening on enough relays
|
|
244
|
-
if (this.relays.size >= this.maxReservations) {
|
|
245
|
-
return;
|
|
246
|
-
}
|
|
247
|
-
await this._tryToListenOnRelay(peerId);
|
|
248
|
-
}
|
|
249
|
-
// Try to find relays to hop on the network
|
|
250
|
-
try {
|
|
251
|
-
const cid = await namespaceToCid(RELAY_RENDEZVOUS_NS);
|
|
252
|
-
for await (const provider of this.components.contentRouting.findProviders(cid)) {
|
|
253
|
-
if (provider.multiaddrs.length > 0 &&
|
|
254
|
-
!provider.id.equals(this.components.peerId)) {
|
|
255
|
-
const peerId = provider.id;
|
|
256
|
-
await this.components.peerStore.addressBook.add(peerId, provider.multiaddrs);
|
|
257
|
-
await this._tryToListenOnRelay(peerId);
|
|
258
|
-
// Check if already listening on enough relays
|
|
259
|
-
if (this.relays.size >= this.maxReservations) {
|
|
260
|
-
return;
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
catch (err) {
|
|
266
|
-
log.error('failed when finding relays on the network', err);
|
|
267
|
-
this.onError(err);
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
async _tryToListenOnRelay(peerId) {
|
|
271
|
-
try {
|
|
272
|
-
if (peerId.equals(this.components.peerId)) {
|
|
273
|
-
log.trace('Skipping dialling self %p', peerId.toString());
|
|
274
|
-
return;
|
|
275
|
-
}
|
|
276
|
-
const connection = await this.components.connectionManager.openConnection(peerId);
|
|
277
|
-
await this._addListenRelay(connection, peerId);
|
|
278
|
-
}
|
|
279
|
-
catch (err) {
|
|
280
|
-
log.error('Could not connect and listen on relay %p', peerId, err);
|
|
281
|
-
this.onError(err);
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
//# sourceMappingURL=client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/circuit/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { PeerId } from '@libp2p/interface-peer-id';
|
|
2
|
-
import type { Connection, Stream } from '@libp2p/interface-connection';
|
|
3
|
-
import { HopMessage, Limit, Reservation } from './pb/index.js';
|
|
4
|
-
import type { Multiaddr } from '@multiformats/multiaddr';
|
|
5
|
-
import type { Acl, ReservationStore } from './interfaces.js';
|
|
6
|
-
import type { ConnectionManager } from '@libp2p/interface-connection-manager';
|
|
7
|
-
import type { ProtobufStream } from 'it-pb-stream';
|
|
8
|
-
import type { PeerStore } from '@libp2p/interface-peer-store';
|
|
9
|
-
export interface HopProtocolOptions {
|
|
10
|
-
connection: Connection;
|
|
11
|
-
request: HopMessage;
|
|
12
|
-
stream: ProtobufStream<Stream>;
|
|
13
|
-
relayPeer: PeerId;
|
|
14
|
-
relayAddrs: Multiaddr[];
|
|
15
|
-
limit?: Limit;
|
|
16
|
-
acl?: Acl;
|
|
17
|
-
reservationStore: ReservationStore;
|
|
18
|
-
connectionManager: ConnectionManager;
|
|
19
|
-
peerStore: PeerStore;
|
|
20
|
-
}
|
|
21
|
-
export declare function handleHopProtocol(options: HopProtocolOptions): Promise<void>;
|
|
22
|
-
export declare function reserve(connection: Connection): Promise<Reservation>;
|
|
23
|
-
//# sourceMappingURL=hop.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hop.d.ts","sourceRoot":"","sources":["../../../src/circuit/hop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAGvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAuB,MAAM,eAAe,CAAA;AACnF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD,OAAO,KAAK,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAK5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAGlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAK7D,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,UAAU,CAAA;IACnB,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,SAAS,EAAE,CAAA;IACvB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,GAAG,CAAC,EAAE,GAAG,CAAA;IACT,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,SAAS,EAAE,SAAS,CAAA;CACrB;AAED,wBAAsB,iBAAiB,CAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAWnF;AAED,wBAAsB,OAAO,CAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAsB3E"}
|