libp2p 0.46.18 → 0.46.19-fb8a6f188
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 +22 -22
- package/dist/src/components.d.ts +3 -1
- package/dist/src/components.d.ts.map +1 -1
- package/dist/src/components.js +4 -0
- package/dist/src/components.js.map +1 -1
- package/dist/src/connection/index.d.ts +3 -1
- package/dist/src/connection/index.d.ts.map +1 -1
- package/dist/src/connection/index.js +9 -9
- package/dist/src/connection/index.js.map +1 -1
- package/dist/src/connection-manager/auto-dial.d.ts +3 -1
- package/dist/src/connection-manager/auto-dial.d.ts.map +1 -1
- package/dist/src/connection-manager/auto-dial.js +20 -20
- package/dist/src/connection-manager/auto-dial.js.map +1 -1
- package/dist/src/connection-manager/connection-pruner.d.ts +3 -1
- package/dist/src/connection-manager/connection-pruner.d.ts.map +1 -1
- package/dist/src/connection-manager/connection-pruner.js +8 -8
- package/dist/src/connection-manager/connection-pruner.js.map +1 -1
- package/dist/src/connection-manager/dial-queue.d.ts +3 -1
- package/dist/src/connection-manager/dial-queue.d.ts.map +1 -1
- package/dist/src/connection-manager/dial-queue.js +26 -23
- package/dist/src/connection-manager/dial-queue.js.map +1 -1
- package/dist/src/connection-manager/index.d.ts +3 -1
- package/dist/src/connection-manager/index.d.ts.map +1 -1
- package/dist/src/connection-manager/index.js +21 -18
- package/dist/src/connection-manager/index.js.map +1 -1
- package/dist/src/connection-manager/utils.d.ts +2 -1
- package/dist/src/connection-manager/utils.d.ts.map +1 -1
- package/dist/src/connection-manager/utils.js +2 -4
- package/dist/src/connection-manager/utils.js.map +1 -1
- package/dist/src/identify/consts.d.ts +1 -1
- package/dist/src/identify/consts.d.ts.map +1 -1
- package/dist/src/identify/identify.d.ts.map +1 -1
- package/dist/src/identify/identify.js +20 -20
- package/dist/src/identify/identify.js.map +1 -1
- package/dist/src/identify/index.d.ts +2 -1
- package/dist/src/identify/index.d.ts.map +1 -1
- package/dist/src/identify/index.js.map +1 -1
- package/dist/src/index.d.ts +21 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/libp2p.d.ts +2 -1
- package/dist/src/libp2p.d.ts.map +1 -1
- package/dist/src/libp2p.js +20 -16
- package/dist/src/libp2p.js.map +1 -1
- package/dist/src/upgrader.d.ts +3 -1
- package/dist/src/upgrader.d.ts.map +1 -1
- package/dist/src/upgrader.js +30 -29
- package/dist/src/upgrader.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.d.ts.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/package.json +21 -21
- package/src/components.ts +8 -1
- package/src/connection/index.ts +12 -11
- package/src/connection-manager/auto-dial.ts +22 -22
- package/src/connection-manager/connection-pruner.ts +10 -10
- package/src/connection-manager/dial-queue.ts +28 -25
- package/src/connection-manager/index.ts +23 -20
- package/src/connection-manager/utils.ts +5 -7
- package/src/identify/identify.ts +21 -22
- package/src/identify/index.ts +2 -1
- package/src/index.ts +22 -1
- package/src/libp2p.ts +21 -18
- package/src/upgrader.ts +32 -31
- package/src/version.ts +1 -1
- package/dist/typedoc-urls.json +0 -71
package/src/upgrader.ts
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { CodeError } from '@libp2p/interface/errors'
|
|
2
2
|
import { setMaxListeners } from '@libp2p/interface/events'
|
|
3
|
-
import { logger } from '@libp2p/logger'
|
|
4
3
|
import * as mss from '@libp2p/multistream-select'
|
|
5
4
|
import { peerIdFromString } from '@libp2p/peer-id'
|
|
6
5
|
import { createConnection } from './connection/index.js'
|
|
7
6
|
import { INBOUND_UPGRADE_TIMEOUT } from './connection-manager/constants.js'
|
|
8
7
|
import { codes } from './errors.js'
|
|
9
8
|
import { DEFAULT_MAX_INBOUND_STREAMS, DEFAULT_MAX_OUTBOUND_STREAMS } from './registrar.js'
|
|
10
|
-
import type { Libp2pEvents, AbortOptions } from '@libp2p/interface'
|
|
9
|
+
import type { Libp2pEvents, AbortOptions, ComponentLogger, Logger } from '@libp2p/interface'
|
|
11
10
|
import type { MultiaddrConnection, Connection, Stream, ConnectionProtector, NewStreamOptions } from '@libp2p/interface/connection'
|
|
12
11
|
import type { ConnectionEncrypter, SecuredConnection } from '@libp2p/interface/connection-encrypter'
|
|
13
12
|
import type { ConnectionGater } from '@libp2p/interface/connection-gater'
|
|
@@ -21,8 +20,6 @@ import type { ConnectionManager } from '@libp2p/interface-internal/connection-ma
|
|
|
21
20
|
import type { Registrar } from '@libp2p/interface-internal/registrar'
|
|
22
21
|
import type { Duplex, Source } from 'it-stream-types'
|
|
23
22
|
|
|
24
|
-
const log = logger('libp2p:upgrader')
|
|
25
|
-
|
|
26
23
|
interface CreateConnectionOptions {
|
|
27
24
|
cryptoProtocol: string
|
|
28
25
|
direction: 'inbound' | 'outbound'
|
|
@@ -105,6 +102,7 @@ export interface DefaultUpgraderComponents {
|
|
|
105
102
|
registrar: Registrar
|
|
106
103
|
peerStore: PeerStore
|
|
107
104
|
events: TypedEventTarget<Libp2pEvents>
|
|
105
|
+
logger: ComponentLogger
|
|
108
106
|
}
|
|
109
107
|
|
|
110
108
|
type EncryptedConn = Duplex<AsyncGenerator<Uint8Array, any, unknown>, Source<Uint8Array>, Promise<void>>
|
|
@@ -117,10 +115,12 @@ export class DefaultUpgrader implements Upgrader {
|
|
|
117
115
|
private readonly muxers: Map<string, StreamMuxerFactory>
|
|
118
116
|
private readonly inboundUpgradeTimeout: number
|
|
119
117
|
private readonly events: TypedEventTarget<Libp2pEvents>
|
|
118
|
+
readonly #log: Logger
|
|
120
119
|
|
|
121
120
|
constructor (components: DefaultUpgraderComponents, init: UpgraderInit) {
|
|
122
121
|
this.components = components
|
|
123
122
|
this.connectionEncryption = new Map()
|
|
123
|
+
this.#log = components.logger.forComponent('libp2p:upgrader')
|
|
124
124
|
|
|
125
125
|
init.connectionEncryption.forEach(encrypter => {
|
|
126
126
|
this.connectionEncryption.set(encrypter.protocol, encrypter)
|
|
@@ -179,7 +179,7 @@ export class DefaultUpgrader implements Upgrader {
|
|
|
179
179
|
|
|
180
180
|
this.components.metrics?.trackMultiaddrConnection(maConn)
|
|
181
181
|
|
|
182
|
-
log('starting the inbound connection upgrade')
|
|
182
|
+
this.#log('starting the inbound connection upgrade')
|
|
183
183
|
|
|
184
184
|
// Protect
|
|
185
185
|
let protectedConn = maConn
|
|
@@ -188,7 +188,7 @@ export class DefaultUpgrader implements Upgrader {
|
|
|
188
188
|
const protector = this.components.connectionProtector
|
|
189
189
|
|
|
190
190
|
if (protector != null) {
|
|
191
|
-
log('protecting the inbound connection')
|
|
191
|
+
this.#log('protecting the inbound connection')
|
|
192
192
|
protectedConn = await protector.protect(maConn)
|
|
193
193
|
}
|
|
194
194
|
}
|
|
@@ -235,13 +235,13 @@ export class DefaultUpgrader implements Upgrader {
|
|
|
235
235
|
upgradedConn = multiplexed.stream
|
|
236
236
|
}
|
|
237
237
|
} catch (err: any) {
|
|
238
|
-
log.error('Failed to upgrade inbound connection', err)
|
|
238
|
+
this.#log.error('Failed to upgrade inbound connection', err)
|
|
239
239
|
throw err
|
|
240
240
|
}
|
|
241
241
|
|
|
242
242
|
await this.shouldBlockConnection(remotePeer, maConn, 'denyInboundUpgradedConnection')
|
|
243
243
|
|
|
244
|
-
log('Successfully upgraded inbound connection')
|
|
244
|
+
this.#log('Successfully upgraded inbound connection')
|
|
245
245
|
|
|
246
246
|
return this._createConnection({
|
|
247
247
|
cryptoProtocol,
|
|
@@ -280,7 +280,7 @@ export class DefaultUpgrader implements Upgrader {
|
|
|
280
280
|
|
|
281
281
|
this.components.metrics?.trackMultiaddrConnection(maConn)
|
|
282
282
|
|
|
283
|
-
log('Starting the outbound connection upgrade')
|
|
283
|
+
this.#log('Starting the outbound connection upgrade')
|
|
284
284
|
|
|
285
285
|
// If the transport natively supports encryption, skip connection
|
|
286
286
|
// protector and encryption
|
|
@@ -333,14 +333,14 @@ export class DefaultUpgrader implements Upgrader {
|
|
|
333
333
|
upgradedConn = multiplexed.stream
|
|
334
334
|
}
|
|
335
335
|
} catch (err: any) {
|
|
336
|
-
log.error('Failed to upgrade outbound connection', err)
|
|
336
|
+
this.#log.error('Failed to upgrade outbound connection', err)
|
|
337
337
|
await maConn.close(err)
|
|
338
338
|
throw err
|
|
339
339
|
}
|
|
340
340
|
|
|
341
341
|
await this.shouldBlockConnection(remotePeer, maConn, 'denyOutboundUpgradedConnection')
|
|
342
342
|
|
|
343
|
-
log('Successfully upgraded outbound connection')
|
|
343
|
+
this.#log('Successfully upgraded outbound connection')
|
|
344
344
|
|
|
345
345
|
return this._createConnection({
|
|
346
346
|
cryptoProtocol,
|
|
@@ -385,7 +385,7 @@ export class DefaultUpgrader implements Upgrader {
|
|
|
385
385
|
.then(async () => {
|
|
386
386
|
const protocols = this.components.registrar.getProtocols()
|
|
387
387
|
const { stream, protocol } = await mss.handle(muxedStream, protocols)
|
|
388
|
-
log('%s: incoming stream opened on %s', direction, protocol)
|
|
388
|
+
this.#log('%s: incoming stream opened on %s', direction, protocol)
|
|
389
389
|
|
|
390
390
|
if (connection == null) {
|
|
391
391
|
return
|
|
@@ -418,7 +418,7 @@ export class DefaultUpgrader implements Upgrader {
|
|
|
418
418
|
this._onStream({ connection, stream: muxedStream, protocol })
|
|
419
419
|
})
|
|
420
420
|
.catch(async err => {
|
|
421
|
-
log.error(err)
|
|
421
|
+
this.#log.error(err)
|
|
422
422
|
|
|
423
423
|
if (muxedStream.timeline.close == null) {
|
|
424
424
|
await muxedStream.close()
|
|
@@ -432,12 +432,12 @@ export class DefaultUpgrader implements Upgrader {
|
|
|
432
432
|
throw new CodeError('Stream is not multiplexed', codes.ERR_MUXER_UNAVAILABLE)
|
|
433
433
|
}
|
|
434
434
|
|
|
435
|
-
log('%s-%s: starting new stream on %s', connection.id, direction, protocols)
|
|
435
|
+
this.#log('%s-%s: starting new stream on %s', connection.id, direction, protocols)
|
|
436
436
|
const muxedStream = await muxer.newStream()
|
|
437
437
|
|
|
438
438
|
try {
|
|
439
439
|
if (options.signal == null) {
|
|
440
|
-
log('No abort signal was passed while trying to negotiate protocols %s falling back to default timeout', protocols)
|
|
440
|
+
this.#log('No abort signal was passed while trying to negotiate protocols %s falling back to default timeout', protocols)
|
|
441
441
|
|
|
442
442
|
options.signal = AbortSignal.timeout(30000)
|
|
443
443
|
|
|
@@ -472,7 +472,7 @@ export class DefaultUpgrader implements Upgrader {
|
|
|
472
472
|
|
|
473
473
|
return muxedStream
|
|
474
474
|
} catch (err: any) {
|
|
475
|
-
log.error('could not create new stream for protocols %s on connection with address %a', protocols, connection.remoteAddr, err)
|
|
475
|
+
this.#log.error('could not create new stream for protocols %s on connection with address %a', protocols, connection.remoteAddr, err)
|
|
476
476
|
|
|
477
477
|
if (muxedStream.timeline.close == null) {
|
|
478
478
|
muxedStream.abort(err)
|
|
@@ -491,7 +491,7 @@ export class DefaultUpgrader implements Upgrader {
|
|
|
491
491
|
muxer.sink(upgradedConn.source),
|
|
492
492
|
upgradedConn.sink(muxer.source)
|
|
493
493
|
]).catch(err => {
|
|
494
|
-
log.error(err)
|
|
494
|
+
this.#log.error(err)
|
|
495
495
|
})
|
|
496
496
|
}
|
|
497
497
|
|
|
@@ -506,14 +506,14 @@ export class DefaultUpgrader implements Upgrader {
|
|
|
506
506
|
await connection.close()
|
|
507
507
|
}
|
|
508
508
|
} catch (err: any) {
|
|
509
|
-
log.error(err)
|
|
509
|
+
this.#log.error(err)
|
|
510
510
|
} finally {
|
|
511
511
|
this.events.safeDispatchEvent('connection:close', {
|
|
512
512
|
detail: connection
|
|
513
513
|
})
|
|
514
514
|
}
|
|
515
515
|
})().catch(err => {
|
|
516
|
-
log.error(err)
|
|
516
|
+
this.#log.error(err)
|
|
517
517
|
})
|
|
518
518
|
}
|
|
519
519
|
|
|
@@ -536,19 +536,20 @@ export class DefaultUpgrader implements Upgrader {
|
|
|
536
536
|
multiplexer: muxer?.protocol,
|
|
537
537
|
encryption: cryptoProtocol,
|
|
538
538
|
transient,
|
|
539
|
+
logger: this.components.logger,
|
|
539
540
|
newStream: newStream ?? errConnectionNotMultiplexed,
|
|
540
541
|
getStreams: () => { if (muxer != null) { return muxer.streams } else { return [] } },
|
|
541
542
|
close: async (options?: AbortOptions) => {
|
|
542
543
|
// Ensure remaining streams are closed gracefully
|
|
543
544
|
if (muxer != null) {
|
|
544
|
-
log.trace('close muxer')
|
|
545
|
+
this.#log.trace('close muxer')
|
|
545
546
|
await muxer.close(options)
|
|
546
547
|
}
|
|
547
548
|
|
|
548
|
-
log.trace('close maconn')
|
|
549
|
+
this.#log.trace('close maconn')
|
|
549
550
|
// close the underlying transport
|
|
550
551
|
await maConn.close(options)
|
|
551
|
-
log.trace('closed maconn')
|
|
552
|
+
this.#log.trace('closed maconn')
|
|
552
553
|
},
|
|
553
554
|
abort: (err) => {
|
|
554
555
|
maConn.abort(err)
|
|
@@ -585,7 +586,7 @@ export class DefaultUpgrader implements Upgrader {
|
|
|
585
586
|
*/
|
|
586
587
|
async _encryptInbound (connection: Duplex<AsyncGenerator<Uint8Array>, Source<Uint8Array>>): Promise<CryptoResult> {
|
|
587
588
|
const protocols = Array.from(this.connectionEncryption.keys())
|
|
588
|
-
log('handling inbound crypto protocol selection', protocols)
|
|
589
|
+
this.#log('handling inbound crypto protocol selection', protocols)
|
|
589
590
|
|
|
590
591
|
try {
|
|
591
592
|
const { stream, protocol } = await mss.handle(connection, protocols, {
|
|
@@ -597,7 +598,7 @@ export class DefaultUpgrader implements Upgrader {
|
|
|
597
598
|
throw new Error(`no crypto module found for ${protocol}`)
|
|
598
599
|
}
|
|
599
600
|
|
|
600
|
-
log('encrypting inbound connection...')
|
|
601
|
+
this.#log('encrypting inbound connection...')
|
|
601
602
|
|
|
602
603
|
return {
|
|
603
604
|
...await encrypter.secureInbound(this.components.peerId, stream),
|
|
@@ -614,7 +615,7 @@ export class DefaultUpgrader implements Upgrader {
|
|
|
614
615
|
*/
|
|
615
616
|
async _encryptOutbound (connection: MultiaddrConnection, remotePeerId?: PeerId): Promise<CryptoResult> {
|
|
616
617
|
const protocols = Array.from(this.connectionEncryption.keys())
|
|
617
|
-
log('selecting outbound crypto protocol', protocols)
|
|
618
|
+
this.#log('selecting outbound crypto protocol', protocols)
|
|
618
619
|
|
|
619
620
|
try {
|
|
620
621
|
const { stream, protocol } = await mss.select(connection, protocols, {
|
|
@@ -626,7 +627,7 @@ export class DefaultUpgrader implements Upgrader {
|
|
|
626
627
|
throw new Error(`no crypto module found for ${protocol}`)
|
|
627
628
|
}
|
|
628
629
|
|
|
629
|
-
log('encrypting outbound connection to %p', remotePeerId)
|
|
630
|
+
this.#log('encrypting outbound connection to %p', remotePeerId)
|
|
630
631
|
|
|
631
632
|
return {
|
|
632
633
|
...await encrypter.secureOutbound(this.components.peerId, stream, remotePeerId),
|
|
@@ -643,17 +644,17 @@ export class DefaultUpgrader implements Upgrader {
|
|
|
643
644
|
*/
|
|
644
645
|
async _multiplexOutbound (connection: MultiaddrConnection, muxers: Map<string, StreamMuxerFactory>): Promise<{ stream: Duplex<AsyncGenerator<Uint8Array>, Source<Uint8Array>, Promise<void>>, muxerFactory?: StreamMuxerFactory }> {
|
|
645
646
|
const protocols = Array.from(muxers.keys())
|
|
646
|
-
log('outbound selecting muxer %s', protocols)
|
|
647
|
+
this.#log('outbound selecting muxer %s', protocols)
|
|
647
648
|
try {
|
|
648
649
|
const { stream, protocol } = await mss.select(connection, protocols, {
|
|
649
650
|
writeBytes: true
|
|
650
651
|
})
|
|
651
|
-
log('%s selected as muxer protocol', protocol)
|
|
652
|
+
this.#log('%s selected as muxer protocol', protocol)
|
|
652
653
|
const muxerFactory = muxers.get(protocol)
|
|
653
654
|
|
|
654
655
|
return { stream, muxerFactory }
|
|
655
656
|
} catch (err: any) {
|
|
656
|
-
log.error('error multiplexing outbound stream', err)
|
|
657
|
+
this.#log.error('error multiplexing outbound stream', err)
|
|
657
658
|
throw new CodeError(String(err), codes.ERR_MUXER_UNAVAILABLE)
|
|
658
659
|
}
|
|
659
660
|
}
|
|
@@ -664,7 +665,7 @@ export class DefaultUpgrader implements Upgrader {
|
|
|
664
665
|
*/
|
|
665
666
|
async _multiplexInbound (connection: MultiaddrConnection, muxers: Map<string, StreamMuxerFactory>): Promise<{ stream: Duplex<AsyncGenerator<Uint8Array>, Source<Uint8Array>, Promise<void>>, muxerFactory?: StreamMuxerFactory }> {
|
|
666
667
|
const protocols = Array.from(muxers.keys())
|
|
667
|
-
log('inbound handling muxers %s', protocols)
|
|
668
|
+
this.#log('inbound handling muxers %s', protocols)
|
|
668
669
|
try {
|
|
669
670
|
const { stream, protocol } = await mss.handle(connection, protocols, {
|
|
670
671
|
writeBytes: true
|
|
@@ -673,7 +674,7 @@ export class DefaultUpgrader implements Upgrader {
|
|
|
673
674
|
|
|
674
675
|
return { stream, muxerFactory }
|
|
675
676
|
} catch (err: any) {
|
|
676
|
-
log.error('error multiplexing inbound stream', err)
|
|
677
|
+
this.#log.error('error multiplexing inbound stream', err)
|
|
677
678
|
throw new CodeError(String(err), codes.ERR_MUXER_UNAVAILABLE)
|
|
678
679
|
}
|
|
679
680
|
}
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = '0.46.
|
|
1
|
+
export const version = '0.46.19-fb8a6f188'
|
|
2
2
|
export const name = 'libp2p'
|
package/dist/typedoc-urls.json
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"AutoNATComponents": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.autonat.AutoNATComponents.html",
|
|
3
|
-
"./autonat:AutoNATComponents": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.autonat.AutoNATComponents.html",
|
|
4
|
-
"AutoNATServiceInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.autonat.AutoNATServiceInit.html",
|
|
5
|
-
"./autonat:AutoNATServiceInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.autonat.AutoNATServiceInit.html",
|
|
6
|
-
"autoNATService": "https://libp2p.github.io/js-libp2p/functions/libp2p.autonat.autoNATService.html",
|
|
7
|
-
"./autonat:autoNATService": "https://libp2p.github.io/js-libp2p/functions/libp2p.autonat.autoNATService.html",
|
|
8
|
-
"CircuitRelayService": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.circuit_relay.CircuitRelayService.html",
|
|
9
|
-
"./circuit-relay:CircuitRelayService": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.circuit_relay.CircuitRelayService.html",
|
|
10
|
-
"CircuitRelayServiceEvents": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.circuit_relay.CircuitRelayServiceEvents.html",
|
|
11
|
-
"./circuit-relay:CircuitRelayServiceEvents": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.circuit_relay.CircuitRelayServiceEvents.html",
|
|
12
|
-
"RelayReservation": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.circuit_relay.RelayReservation.html",
|
|
13
|
-
"./circuit-relay:RelayReservation": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.circuit_relay.RelayReservation.html",
|
|
14
|
-
"circuitRelayServer": "https://libp2p.github.io/js-libp2p/functions/libp2p.circuit_relay.circuitRelayServer.html",
|
|
15
|
-
"circuitRelayTransport": "https://libp2p.github.io/js-libp2p/functions/libp2p.circuit_relay.circuitRelayTransport.html",
|
|
16
|
-
"FetchService": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.fetch.FetchService.html",
|
|
17
|
-
"./fetch:FetchService": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.fetch.FetchService.html",
|
|
18
|
-
"FetchServiceComponents": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.fetch.FetchServiceComponents.html",
|
|
19
|
-
"./fetch:FetchServiceComponents": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.fetch.FetchServiceComponents.html",
|
|
20
|
-
"FetchServiceInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.fetch.FetchServiceInit.html",
|
|
21
|
-
"./fetch:FetchServiceInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.fetch.FetchServiceInit.html",
|
|
22
|
-
"HandleMessageOptions": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.fetch.HandleMessageOptions.html",
|
|
23
|
-
"./fetch:HandleMessageOptions": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.fetch.HandleMessageOptions.html",
|
|
24
|
-
"LookupFunction": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.fetch.LookupFunction.html",
|
|
25
|
-
"./fetch:LookupFunction": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.fetch.LookupFunction.html",
|
|
26
|
-
"fetchService": "https://libp2p.github.io/js-libp2p/functions/libp2p.fetch.fetchService-1.html",
|
|
27
|
-
"./fetch:fetchService": "https://libp2p.github.io/js-libp2p/functions/libp2p.fetch.fetchService-1.html",
|
|
28
|
-
"IdentifyService": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.identify.IdentifyService.html",
|
|
29
|
-
"./identify:IdentifyService": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.identify.IdentifyService.html",
|
|
30
|
-
"IdentifyServiceComponents": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.identify.IdentifyServiceComponents.html",
|
|
31
|
-
"./identify:IdentifyServiceComponents": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.identify.IdentifyServiceComponents.html",
|
|
32
|
-
"IdentifyServiceInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.identify.IdentifyServiceInit.html",
|
|
33
|
-
"./identify:IdentifyServiceInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.identify.IdentifyServiceInit.html",
|
|
34
|
-
"Message": "https://libp2p.github.io/js-libp2p/variables/libp2p.identify.Message.html",
|
|
35
|
-
"./identify:Message": "https://libp2p.github.io/js-libp2p/variables/libp2p.identify.Message.html",
|
|
36
|
-
"multicodecs": "https://libp2p.github.io/js-libp2p/variables/libp2p.identify.multicodecs.html",
|
|
37
|
-
"./identify:multicodecs": "https://libp2p.github.io/js-libp2p/variables/libp2p.identify.multicodecs.html",
|
|
38
|
-
"identifyService": "https://libp2p.github.io/js-libp2p/functions/libp2p.identify.identifyService-1.html",
|
|
39
|
-
"./identify:identifyService": "https://libp2p.github.io/js-libp2p/functions/libp2p.identify.identifyService-1.html",
|
|
40
|
-
"Libp2pInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.Libp2pInit.html",
|
|
41
|
-
".:Libp2pInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.Libp2pInit.html",
|
|
42
|
-
"Libp2pOptions": "https://libp2p.github.io/js-libp2p/types/libp2p.index.Libp2pOptions.html",
|
|
43
|
-
".:Libp2pOptions": "https://libp2p.github.io/js-libp2p/types/libp2p.index.Libp2pOptions.html",
|
|
44
|
-
"ServiceFactoryMap": "https://libp2p.github.io/js-libp2p/types/libp2p.index.ServiceFactoryMap.html",
|
|
45
|
-
".:ServiceFactoryMap": "https://libp2p.github.io/js-libp2p/types/libp2p.index.ServiceFactoryMap.html",
|
|
46
|
-
"createLibp2p": "https://libp2p.github.io/js-libp2p/functions/libp2p.index.createLibp2p.html",
|
|
47
|
-
".:createLibp2p": "https://libp2p.github.io/js-libp2p/functions/libp2p.index.createLibp2p.html",
|
|
48
|
-
"plaintext": "https://libp2p.github.io/js-libp2p/functions/libp2p.insecure.plaintext.html",
|
|
49
|
-
"./insecure:plaintext": "https://libp2p.github.io/js-libp2p/functions/libp2p.insecure.plaintext.html",
|
|
50
|
-
"PingService": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.ping.PingService.html",
|
|
51
|
-
"./ping:PingService": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.ping.PingService.html",
|
|
52
|
-
"PingServiceComponents": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.ping.PingServiceComponents.html",
|
|
53
|
-
"./ping:PingServiceComponents": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.ping.PingServiceComponents.html",
|
|
54
|
-
"PingServiceInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.ping.PingServiceInit.html",
|
|
55
|
-
"./ping:PingServiceInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.ping.PingServiceInit.html",
|
|
56
|
-
"pingService": "https://libp2p.github.io/js-libp2p/functions/libp2p.ping.pingService-1.html",
|
|
57
|
-
"./ping:pingService": "https://libp2p.github.io/js-libp2p/functions/libp2p.ping.pingService-1.html",
|
|
58
|
-
"ProtectorInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.pnet.ProtectorInit.html",
|
|
59
|
-
"./pnet:ProtectorInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.pnet.ProtectorInit.html",
|
|
60
|
-
"generateKey": "https://libp2p.github.io/js-libp2p/functions/libp2p.pnet.generateKey.html",
|
|
61
|
-
"preSharedKey": "https://libp2p.github.io/js-libp2p/functions/libp2p.pnet.preSharedKey.html",
|
|
62
|
-
"./pnet:preSharedKey": "https://libp2p.github.io/js-libp2p/functions/libp2p.pnet.preSharedKey.html",
|
|
63
|
-
"PMPOptions": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.upnp_nat.PMPOptions.html",
|
|
64
|
-
"./upnp-nat:PMPOptions": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.upnp_nat.PMPOptions.html",
|
|
65
|
-
"UPnPNATComponents": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.upnp_nat.UPnPNATComponents.html",
|
|
66
|
-
"./upnp-nat:UPnPNATComponents": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.upnp_nat.UPnPNATComponents.html",
|
|
67
|
-
"UPnPNATInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.upnp_nat.UPnPNATInit.html",
|
|
68
|
-
"./upnp-nat:UPnPNATInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.upnp_nat.UPnPNATInit.html",
|
|
69
|
-
"uPnPNATService": "https://libp2p.github.io/js-libp2p/functions/libp2p.upnp_nat.uPnPNATService.html",
|
|
70
|
-
"./upnp-nat:uPnPNATService": "https://libp2p.github.io/js-libp2p/functions/libp2p.upnp_nat.uPnPNATService.html"
|
|
71
|
-
}
|