libp2p 2.7.2 → 2.7.3
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/README.md +3 -3
- package/dist/index.min.js +15 -15
- package/dist/src/address-manager/index.js +8 -8
- package/dist/src/address-manager/index.js.map +1 -1
- package/dist/src/config/connection-gater.browser.d.ts +1 -1
- package/dist/src/config/connection-gater.browser.js +1 -1
- package/dist/src/connection-manager/address-sorter.js +4 -4
- package/dist/src/connection-manager/constants.defaults.d.ts +4 -4
- package/dist/src/connection-manager/constants.defaults.d.ts.map +1 -1
- package/dist/src/connection-manager/constants.defaults.js +4 -4
- package/dist/src/connection-manager/constants.defaults.js.map +1 -1
- package/dist/src/connection-manager/dial-queue.js +4 -4
- package/dist/src/connection-manager/dial-queue.js.map +1 -1
- package/dist/src/connection-manager/index.d.ts +8 -6
- package/dist/src/connection-manager/index.d.ts.map +1 -1
- package/dist/src/connection-manager/index.js.map +1 -1
- package/dist/src/errors.d.ts +3 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +6 -0
- package/dist/src/errors.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/libp2p.d.ts.map +1 -1
- package/dist/src/libp2p.js +2 -3
- package/dist/src/libp2p.js.map +1 -1
- package/dist/src/random-walk.js +2 -2
- package/dist/src/random-walk.js.map +1 -1
- package/dist/src/upgrader.d.ts +5 -11
- package/dist/src/upgrader.d.ts.map +1 -1
- package/dist/src/upgrader.js +25 -18
- package/dist/src/upgrader.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/package.json +11 -11
- package/src/address-manager/index.ts +8 -8
- package/src/config/connection-gater.browser.ts +1 -1
- package/src/connection-manager/address-sorter.ts +4 -4
- package/src/connection-manager/constants.defaults.ts +4 -4
- package/src/connection-manager/dial-queue.ts +4 -4
- package/src/connection-manager/index.ts +8 -6
- package/src/errors.ts +7 -0
- package/src/index.ts +1 -1
- package/src/libp2p.ts +2 -3
- package/src/random-walk.ts +2 -2
- package/src/upgrader.ts +30 -28
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"random-walk.js","sourceRoot":"","sources":["../../src/random-walk.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"random-walk.js","sourceRoot":"","sources":["../../src/random-walk.ts"],"names":[],"mappings":"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"}
|
package/dist/src/upgrader.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Libp2pEvents, AbortOptions, ComponentLogger, MultiaddrConnection, Connection, Stream, ConnectionProtector, ConnectionEncrypter, SecuredConnection, ConnectionGater, TypedEventTarget, Metrics, PeerId, PeerStore, StreamMuxerFactory, Upgrader, UpgraderOptions, ConnectionLimits, SecureConnectionOptions } from '@libp2p/interface';
|
|
1
|
+
import type { Libp2pEvents, AbortOptions, ComponentLogger, MultiaddrConnection, Connection, Stream, ConnectionProtector, ConnectionEncrypter, SecuredConnection, ConnectionGater, TypedEventTarget, Metrics, PeerId, PeerStore, StreamMuxerFactory, Upgrader as UpgraderInterface, UpgraderOptions, ConnectionLimits, SecureConnectionOptions, ClearableSignal } from '@libp2p/interface';
|
|
2
2
|
import type { ConnectionManager, Registrar } from '@libp2p/interface-internal';
|
|
3
3
|
interface CreateConnectionOptions {
|
|
4
4
|
cryptoProtocol: string;
|
|
@@ -26,12 +26,6 @@ export interface UpgraderInit {
|
|
|
26
26
|
* @default 3000
|
|
27
27
|
*/
|
|
28
28
|
inboundUpgradeTimeout?: number;
|
|
29
|
-
/**
|
|
30
|
-
* An amount of ms by which an outbound connection upgrade must complete
|
|
31
|
-
*
|
|
32
|
-
* @default 3000
|
|
33
|
-
*/
|
|
34
|
-
outboundUpgradeTimeout?: number;
|
|
35
29
|
/**
|
|
36
30
|
* When a new incoming stream is opened on a multiplexed connection, protocol
|
|
37
31
|
* negotiation on that stream must complete within this many ms
|
|
@@ -59,12 +53,11 @@ export interface DefaultUpgraderComponents {
|
|
|
59
53
|
logger: ComponentLogger;
|
|
60
54
|
}
|
|
61
55
|
type ConnectionDeniedType = keyof Pick<ConnectionGater, 'denyOutboundConnection' | 'denyInboundEncryptedConnection' | 'denyOutboundEncryptedConnection' | 'denyInboundUpgradedConnection' | 'denyOutboundUpgradedConnection'>;
|
|
62
|
-
export declare class
|
|
56
|
+
export declare class Upgrader implements UpgraderInterface {
|
|
63
57
|
private readonly components;
|
|
64
58
|
private readonly connectionEncrypters;
|
|
65
59
|
private readonly streamMuxers;
|
|
66
60
|
private readonly inboundUpgradeTimeout;
|
|
67
|
-
private readonly outboundUpgradeTimeout;
|
|
68
61
|
private readonly inboundStreamProtocolNegotiationTimeout;
|
|
69
62
|
private readonly outboundStreamProtocolNegotiationTimeout;
|
|
70
63
|
private readonly events;
|
|
@@ -73,14 +66,15 @@ export declare class DefaultUpgrader implements Upgrader {
|
|
|
73
66
|
readonly [Symbol.toStringTag] = "@libp2p/upgrader";
|
|
74
67
|
shouldBlockConnection(connectionType: 'denyInboundConnection', maConn: MultiaddrConnection): Promise<void>;
|
|
75
68
|
shouldBlockConnection(connectionType: ConnectionDeniedType, remotePeer: PeerId, maConn: MultiaddrConnection): Promise<void>;
|
|
69
|
+
createInboundAbortSignal(signal: AbortSignal): ClearableSignal;
|
|
76
70
|
/**
|
|
77
71
|
* Upgrades an inbound connection
|
|
78
72
|
*/
|
|
79
|
-
upgradeInbound(maConn: MultiaddrConnection, opts
|
|
73
|
+
upgradeInbound(maConn: MultiaddrConnection, opts: UpgraderOptions): Promise<void>;
|
|
80
74
|
/**
|
|
81
75
|
* Upgrades an outbound connection
|
|
82
76
|
*/
|
|
83
|
-
upgradeOutbound(maConn: MultiaddrConnection, opts
|
|
77
|
+
upgradeOutbound(maConn: MultiaddrConnection, opts: UpgraderOptions): Promise<Connection>;
|
|
84
78
|
private _performUpgrade;
|
|
85
79
|
/**
|
|
86
80
|
* A convenience method for generating a new `Connection`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrader.d.ts","sourceRoot":"","sources":["../../src/upgrader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"upgrader.d.ts","sourceRoot":"","sources":["../../src/upgrader.ts"],"names":[],"mappings":"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"}
|
package/dist/src/upgrader.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { InvalidMultiaddrError, TooManyInboundProtocolStreamsError, TooManyOutboundProtocolStreamsError, LimitedConnectionError, setMaxListeners, InvalidPeerIdError } from '@libp2p/interface';
|
|
2
2
|
import * as mss from '@libp2p/multistream-select';
|
|
3
3
|
import { peerIdFromString } from '@libp2p/peer-id';
|
|
4
|
+
import { anySignal } from 'any-signal';
|
|
4
5
|
import { CustomProgressEvent } from 'progress-events';
|
|
5
6
|
import { createConnection } from './connection/index.js';
|
|
6
|
-
import { PROTOCOL_NEGOTIATION_TIMEOUT,
|
|
7
|
+
import { PROTOCOL_NEGOTIATION_TIMEOUT, INBOUND_UPGRADE_TIMEOUT } from './connection-manager/constants.js';
|
|
7
8
|
import { ConnectionDeniedError, ConnectionInterceptedError, EncryptionFailedError, MuxerUnavailableError } from './errors.js';
|
|
8
9
|
import { DEFAULT_MAX_INBOUND_STREAMS, DEFAULT_MAX_OUTBOUND_STREAMS } from './registrar.js';
|
|
9
10
|
function findIncomingStreamLimit(protocol, registrar) {
|
|
@@ -41,12 +42,11 @@ function countStreams(protocol, direction, connection) {
|
|
|
41
42
|
});
|
|
42
43
|
return streamCount;
|
|
43
44
|
}
|
|
44
|
-
export class
|
|
45
|
+
export class Upgrader {
|
|
45
46
|
components;
|
|
46
47
|
connectionEncrypters;
|
|
47
48
|
streamMuxers;
|
|
48
49
|
inboundUpgradeTimeout;
|
|
49
|
-
outboundUpgradeTimeout;
|
|
50
50
|
inboundStreamProtocolNegotiationTimeout;
|
|
51
51
|
outboundStreamProtocolNegotiationTimeout;
|
|
52
52
|
events;
|
|
@@ -61,8 +61,7 @@ export class DefaultUpgrader {
|
|
|
61
61
|
init.streamMuxers.forEach(muxer => {
|
|
62
62
|
this.streamMuxers.set(muxer.protocol, muxer);
|
|
63
63
|
});
|
|
64
|
-
this.inboundUpgradeTimeout = init.inboundUpgradeTimeout ??
|
|
65
|
-
this.outboundUpgradeTimeout = init.outboundUpgradeTimeout ?? UPGRADE_TIMEOUT;
|
|
64
|
+
this.inboundUpgradeTimeout = init.inboundUpgradeTimeout ?? INBOUND_UPGRADE_TIMEOUT;
|
|
66
65
|
this.inboundStreamProtocolNegotiationTimeout = init.inboundStreamProtocolNegotiationTimeout ?? PROTOCOL_NEGOTIATION_TIMEOUT;
|
|
67
66
|
this.outboundStreamProtocolNegotiationTimeout = init.outboundStreamProtocolNegotiationTimeout ?? PROTOCOL_NEGOTIATION_TIMEOUT;
|
|
68
67
|
this.events = components.events;
|
|
@@ -82,11 +81,21 @@ export class DefaultUpgrader {
|
|
|
82
81
|
throw new ConnectionInterceptedError(`The multiaddr connection is blocked by gater.${method}`);
|
|
83
82
|
}
|
|
84
83
|
}
|
|
84
|
+
createInboundAbortSignal(signal) {
|
|
85
|
+
const output = anySignal([
|
|
86
|
+
AbortSignal.timeout(this.inboundUpgradeTimeout),
|
|
87
|
+
signal
|
|
88
|
+
]);
|
|
89
|
+
setMaxListeners(Infinity, output);
|
|
90
|
+
return output;
|
|
91
|
+
}
|
|
85
92
|
/**
|
|
86
93
|
* Upgrades an inbound connection
|
|
87
94
|
*/
|
|
88
|
-
async upgradeInbound(maConn, opts
|
|
95
|
+
async upgradeInbound(maConn, opts) {
|
|
89
96
|
let accepted = false;
|
|
97
|
+
// always apply upgrade timeout for incoming upgrades
|
|
98
|
+
const signal = this.createInboundAbortSignal(opts.signal);
|
|
90
99
|
try {
|
|
91
100
|
this.metrics.dials?.increment({
|
|
92
101
|
inbound: true
|
|
@@ -96,7 +105,10 @@ export class DefaultUpgrader {
|
|
|
96
105
|
throw new ConnectionDeniedError('Connection denied');
|
|
97
106
|
}
|
|
98
107
|
await this.shouldBlockConnection('denyInboundConnection', maConn);
|
|
99
|
-
await this._performUpgrade(maConn, 'inbound',
|
|
108
|
+
await this._performUpgrade(maConn, 'inbound', {
|
|
109
|
+
...opts,
|
|
110
|
+
signal
|
|
111
|
+
});
|
|
100
112
|
}
|
|
101
113
|
catch (err) {
|
|
102
114
|
this.metrics.errors?.increment({
|
|
@@ -105,6 +117,7 @@ export class DefaultUpgrader {
|
|
|
105
117
|
throw err;
|
|
106
118
|
}
|
|
107
119
|
finally {
|
|
120
|
+
signal.clear();
|
|
108
121
|
if (accepted) {
|
|
109
122
|
this.components.connectionManager.afterUpgradeInbound();
|
|
110
123
|
}
|
|
@@ -113,7 +126,7 @@ export class DefaultUpgrader {
|
|
|
113
126
|
/**
|
|
114
127
|
* Upgrades an outbound connection
|
|
115
128
|
*/
|
|
116
|
-
async upgradeOutbound(maConn, opts
|
|
129
|
+
async upgradeOutbound(maConn, opts) {
|
|
117
130
|
try {
|
|
118
131
|
this.metrics.dials?.increment({
|
|
119
132
|
outbound: true
|
|
@@ -144,12 +157,6 @@ export class DefaultUpgrader {
|
|
|
144
157
|
let upgradedConn;
|
|
145
158
|
let muxerFactory;
|
|
146
159
|
let cryptoProtocol;
|
|
147
|
-
if (opts.signal == null) {
|
|
148
|
-
maConn.log('no abort signal was passed while trying to upgrade connection, falling back to default timeout');
|
|
149
|
-
const upgradeTimeoutSignal = AbortSignal.timeout(direction === 'inbound' ? this.inboundUpgradeTimeout : this.outboundUpgradeTimeout);
|
|
150
|
-
setMaxListeners(Infinity, upgradeTimeoutSignal);
|
|
151
|
-
opts.signal = upgradeTimeoutSignal;
|
|
152
|
-
}
|
|
153
160
|
this.components.metrics?.trackMultiaddrConnection(maConn);
|
|
154
161
|
maConn.log.trace('starting the %s connection upgrade', direction);
|
|
155
162
|
// Protect
|
|
@@ -270,7 +277,7 @@ export class DefaultUpgrader {
|
|
|
270
277
|
throw err;
|
|
271
278
|
}
|
|
272
279
|
// after the handshake the returned stream can have early data so override
|
|
273
|
-
// the
|
|
280
|
+
// the source/sink
|
|
274
281
|
muxedStream.source = stream.source;
|
|
275
282
|
muxedStream.sink = stream.sink;
|
|
276
283
|
muxedStream.protocol = protocol;
|
|
@@ -287,7 +294,7 @@ export class DefaultUpgrader {
|
|
|
287
294
|
muxedStream.close = stream.close;
|
|
288
295
|
}
|
|
289
296
|
// If a protocol stream has been successfully negotiated and is to be passed to the application,
|
|
290
|
-
// the
|
|
297
|
+
// the peer store should ensure that the peer is registered with that protocol
|
|
291
298
|
await this.components.peerStore.merge(remotePeer, {
|
|
292
299
|
protocols: [protocol]
|
|
293
300
|
});
|
|
@@ -334,12 +341,12 @@ export class DefaultUpgrader {
|
|
|
334
341
|
throw err;
|
|
335
342
|
}
|
|
336
343
|
// If a protocol stream has been successfully negotiated and is to be passed to the application,
|
|
337
|
-
// the
|
|
344
|
+
// the peer store should ensure that the peer is registered with that protocol
|
|
338
345
|
await this.components.peerStore.merge(remotePeer, {
|
|
339
346
|
protocols: [protocol]
|
|
340
347
|
});
|
|
341
348
|
// after the handshake the returned stream can have early data so override
|
|
342
|
-
// the
|
|
349
|
+
// the source/sink
|
|
343
350
|
muxedStream.source = stream.source;
|
|
344
351
|
muxedStream.sink = stream.sink;
|
|
345
352
|
muxedStream.protocol = protocol;
|
package/dist/src/upgrader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrader.js","sourceRoot":"","sources":["../../src/upgrader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"upgrader.js","sourceRoot":"","sources":["../../src/upgrader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,kCAAkC,EAAE,mCAAmC,EAAE,sBAAsB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC/L,OAAO,KAAK,GAAG,MAAM,4BAA4B,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAA;AACzG,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAC7H,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAA;AAoD1F,SAAS,uBAAuB,CAAE,QAAgB,EAAE,SAAoB;IACtE,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QAElD,OAAO,OAAO,CAAC,iBAAiB,CAAA;IAClC,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;YAC1C,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAED,OAAO,2BAA2B,CAAA;AACpC,CAAC;AAED,SAAS,uBAAuB,CAAE,QAAgB,EAAE,SAAoB,EAAE,UAA4B,EAAE;IACtG,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QAElD,IAAI,OAAO,CAAC,kBAAkB,IAAI,IAAI,EAAE,CAAC;YACvC,OAAO,OAAO,CAAC,kBAAkB,CAAA;QACnC,CAAC;IACH,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;YAC1C,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC,kBAAkB,IAAI,4BAA4B,CAAA;AACnE,CAAC;AAED,SAAS,YAAY,CAAE,QAAgB,EAAE,SAAiC,EAAE,UAAsB;IAChG,IAAI,WAAW,GAAG,CAAC,CAAA;IAEnB,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAClC,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACnE,WAAW,EAAE,CAAA;QACf,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,WAAW,CAAA;AACpB,CAAC;AAgBD,MAAM,OAAO,QAAQ;IACF,UAAU,CAA2B;IACrC,oBAAoB,CAAkC;IACtD,YAAY,CAAiC;IAC7C,qBAAqB,CAAQ;IAC7B,uCAAuC,CAAQ;IAC/C,wCAAwC,CAAQ;IAChD,MAAM,CAAgC;IACtC,OAAO,CAGvB;IAED,YAAa,UAAqC,EAAE,IAAkB;QACpE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,oBAAoB,GAAG,IAAI,GAAG,EAAE,CAAA;QAErC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC5C,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAA;QAE7B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAChC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,IAAI,uBAAuB,CAAA;QAClF,IAAI,CAAC,uCAAuC,GAAG,IAAI,CAAC,uCAAuC,IAAI,4BAA4B,CAAA;QAC3H,IAAI,CAAC,wCAAwC,GAAG,IAAI,CAAC,wCAAwC,IAAI,4BAA4B,CAAA;QAC7H,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAC/B,IAAI,CAAC,OAAO,GAAG;YACb,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,oBAAoB,CAAC,uCAAuC,CAAC;YACxF,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE,oBAAoB,CAAC,6CAA6C,CAAC;SAChG,CAAA;IACH,CAAC;IAEQ,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,kBAAkB,CAAA;IAIlD,KAAK,CAAC,qBAAqB,CAAE,MAAsD,EAAE,GAAG,IAAW;QACjG,MAAM,aAAa,GAAQ,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;QAElE,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;YAC1B,OAAM;QACR,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;QAE/E,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,0BAA0B,CAAC,gDAAgD,MAAM,EAAE,CAAC,CAAA;QAChG,CAAC;IACH,CAAC;IAED,wBAAwB,CAAE,MAAmB;QAC3C,MAAM,MAAM,GAAG,SAAS,CAAC;YACvB,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC/C,MAAM;SACP,CAAC,CAAA;QACF,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAEjC,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAE,MAA2B,EAAE,IAAqB;QACtE,IAAI,QAAQ,GAAG,KAAK,CAAA;QAEpB,qDAAqD;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAEzD,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC;gBAC5B,OAAO,EAAE,IAAI;aACd,CAAC,CAAA;YAEF,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAA;YAEnF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,qBAAqB,CAAC,mBAAmB,CAAC,CAAA;YACtD,CAAC;YAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAA;YAEjE,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE;gBAC5C,GAAG,IAAI;gBACP,MAAM;aACP,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC;gBAC7B,OAAO,EAAE,IAAI;aACd,CAAC,CAAA;YAEF,MAAM,GAAG,CAAA;QACX,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,KAAK,EAAE,CAAA;YAEd,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,CAAA;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAE,MAA2B,EAAE,IAAqB;QACvE,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC;gBAC5B,QAAQ,EAAE,IAAI;aACf,CAAC,CAAA;YAEF,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAA;YAC3C,IAAI,YAAgC,CAAA;YAEpC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBAClB,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;gBACtC,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,EAAE,YAAY,EAAE,MAAM,CAAC,CAAA;YAClF,CAAC;YAED,IAAI,SAAS,GAA2B,UAAU,CAAA;YAElD,yEAAyE;YACzE,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;gBAC7B,SAAS,GAAG,SAAS,CAAA;YACvB,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;QAC5D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC;gBAC7B,QAAQ,EAAE,IAAI;aACf,CAAC,CAAA;YAEF,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAAE,MAA2B,EAAE,SAAiC,EAAE,IAAqB;QAClH,IAAI,aAAkC,CAAA;QACtC,IAAI,UAAkB,CAAA;QACtB,IAAI,YAAiC,CAAA;QACrC,IAAI,YAA4C,CAAA;QAChD,IAAI,cAAc,CAAA;QAElB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAA;QAEzD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,oCAAoC,EAAE,SAAS,CAAC,CAAA;QAEjE,UAAU;QACV,IAAI,aAAa,GAAG,MAAM,CAAA;QAE1B,IAAI,IAAI,EAAE,cAAc,KAAK,IAAI,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAA;YAErD,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;gBACtB,MAAM,CAAC,GAAG,CAAC,8BAA8B,EAAE,SAAS,CAAC,CAAA;gBACrD,aAAa,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACvD,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,yBAAyB;YACzB,aAAa,GAAG,aAAa,CAAA;YAC7B,IAAI,IAAI,EAAE,cAAc,KAAK,IAAI,EAAE,CAAC;gBAClC,IAAI,EAAE,UAAU,EAAE,CAAC,IAAI,mBAAmB,CAAC,oBAAoB,SAAS,aAAa,CAAC,CAAC,CAAC;gBAExF,CAAC;oBACC,IAAI,EAAE,aAAa;oBACnB,UAAU;oBACV,QAAQ,EAAE,cAAc;iBACzB,GAAG,MAAM,CAAC,SAAS,KAAK,SAAS;oBAChC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC;oBAC3C,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,CAC7C,CAAC,CAAA;gBAEF,MAAM,MAAM,GAAwB;oBAClC,GAAG,aAAa;oBAChB,GAAG,aAAa;iBACjB,CAAA;gBAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,iCAAiC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;YACtJ,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAA;gBAE3C,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;oBAClB,MAAM,IAAI,qBAAqB,CAAC,GAAG,SAAS,yDAAyD,CAAC,CAAA;gBACxG,CAAC;gBAED,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;gBAE5C,cAAc,GAAG,QAAQ,CAAA;gBACzB,UAAU,GAAG,YAAY,CAAA;YAC3B,CAAC;YAED,yEAAyE;YACzE,mEAAmE;YACnE,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9C,MAAM,GAAG,GAAG,IAAI,kBAAkB,CAAC,mBAAmB,CAAC,CAAA;gBACvD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBACjB,MAAM,GAAG,CAAA;YACX,CAAC;YAED,YAAY,GAAG,aAAa,CAAA;YAC5B,IAAI,IAAI,EAAE,YAAY,IAAI,IAAI,EAAE,CAAC;gBAC/B,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;YAClC,CAAC;iBAAM,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACtC,IAAI,EAAE,UAAU,EAAE,CAAC,IAAI,mBAAmB,CAAC,sBAAsB,SAAS,aAAa,CAAC,CAAC,CAAA;gBAEzF,2BAA2B;gBAC3B,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,KAAK,SAAS;oBAChD,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;wBACvB,GAAG,aAAa;wBAChB,GAAG,aAAa;qBACjB,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC;oBAC3B,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;wBACxB,GAAG,aAAa;wBAChB,GAAG,aAAa;qBACjB,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAA;gBAC9B,YAAY,GAAG,WAAW,CAAC,YAAY,CAAA;gBACvC,YAAY,GAAG,WAAW,CAAC,MAAM,CAAA;YACnC,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,iDAAiD,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;YACpI,MAAM,GAAG,CAAA;QACX,CAAC;QAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,gCAAgC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;QAElJ,MAAM,CAAC,GAAG,CAAC,qCAAqC,EAAE,SAAS,CAAC,CAAA;QAE5D,OAAO,IAAI,CAAC,iBAAiB,CAAC;YAC5B,cAAc;YACd,SAAS;YACT,MAAM;YACN,YAAY;YACZ,YAAY;YACZ,UAAU;YACV,MAAM,EAAE,IAAI,EAAE,MAAM;SACrB,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAE,IAA6B;QAC9C,MAAM,EACJ,cAAc,EACd,SAAS,EACT,MAAM,EACN,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,MAAM,EACP,GAAG,IAAI,CAAA;QAER,IAAI,KAA8B,CAAA;QAClC,IAAI,SAA2F,CAAA;QAC/F,IAAI,UAAsB,CAAA,CAAC,mCAAmC;QAE9D,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;YACzB,mBAAmB;YACnB,KAAK,GAAG,YAAY,CAAC,iBAAiB,CAAC;gBACrC,SAAS;gBACT,yCAAyC;gBACzC,gBAAgB,EAAE,WAAW,CAAC,EAAE;oBAC9B,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;wBACvB,OAAM;oBACR,CAAC;oBAED,KAAK,OAAO,CAAC,OAAO,EAAE;yBACnB,IAAI,CAAC,KAAK,IAAI,EAAE;wBACf,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,EAAE,CAAA;wBAC1D,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAA;wBAChF,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;wBAEjC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE;4BACpE,MAAM;4BACN,GAAG,EAAE,WAAW,CAAC,GAAG;4BACpB,UAAU,EAAE,KAAK;yBAClB,CAAC,CAAA;wBAEF,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;4BACvB,OAAM;wBACR,CAAC;wBAED,UAAU,CAAC,GAAG,CAAC,8BAA8B,EAAE,QAAQ,CAAC,CAAA;wBAExD,MAAM,aAAa,GAAG,uBAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;wBAClF,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;wBAEjE,IAAI,WAAW,KAAK,aAAa,EAAE,CAAC;4BAClC,MAAM,GAAG,GAAG,IAAI,kCAAkC,CAAC,mDAAmD,QAAQ,aAAa,aAAa,EAAE,CAAC,CAAA;4BAC3I,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;4BAEtB,MAAM,GAAG,CAAA;wBACX,CAAC;wBAED,0EAA0E;wBAC1E,kBAAkB;wBAClB,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;wBAClC,WAAW,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;wBAC9B,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAA;wBAE/B,6DAA6D;wBAC7D,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;4BAC9B,WAAW,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;wBAC5C,CAAC;wBAED,4DAA4D;wBAC5D,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;4BAC7B,WAAW,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;wBAC1C,CAAC;wBAED,8DAA8D;wBAC9D,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;4BACzB,WAAW,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;wBAClC,CAAC;wBAED,gGAAgG;wBAChG,8EAA8E;wBAC9E,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE;4BAChD,SAAS,EAAE,CAAC,QAAQ,CAAC;yBACtB,CAAC,CAAA;wBAEF,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,mBAAmB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;wBAErE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAA;oBAC/D,CAAC,CAAC;yBACD,KAAK,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;wBACjB,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,2CAA2C,EAAE,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;wBAEtF,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;4BACvC,MAAM,WAAW,CAAC,KAAK,EAAE,CAAA;wBAC3B,CAAC;oBACH,CAAC,CAAC,CAAA;gBACN,CAAC;aACF,CAAC,CAAA;YAEF,SAAS,GAAG,KAAK,EAAE,SAAmB,EAAE,UAA4B,EAAE,EAAmB,EAAE;gBACzF,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;oBAClB,MAAM,IAAI,qBAAqB,CAAC,+BAA+B,CAAC,CAAA;gBAClE,CAAC;gBAED,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,sCAAsC,EAAE,SAAS,CAAC,CAAA;gBACvE,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,CAAA;gBAC3C,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;gBAEzF,IAAI,CAAC;oBACH,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;wBAC3B,WAAW,CAAC,GAAG,CAAC,mGAAmG,EAAE,SAAS,CAAC,CAAA;wBAE/H,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAA;wBACjF,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;wBAEjC,OAAO,GAAG;4BACR,GAAG,OAAO;4BACV,MAAM;yBACP,CAAA;oBACH,CAAC;oBAED,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,sCAAsC,EAAE,SAAS,CAAC,CAAA;oBAExE,MAAM,EACJ,MAAM,EACN,QAAQ,EACT,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE;wBAC3C,GAAG,OAAO;wBACV,GAAG,EAAE,WAAW,CAAC,GAAG;wBACpB,UAAU,EAAE,IAAI;qBACjB,CAAC,CAAA;oBAEF,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAA;oBAEvD,MAAM,aAAa,GAAG,uBAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;oBAC3F,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;oBAElE,IAAI,WAAW,IAAI,aAAa,EAAE,CAAC;wBACjC,MAAM,GAAG,GAAG,IAAI,mCAAmC,CAAC,oDAAoD,QAAQ,OAAO,WAAW,IAAI,aAAa,EAAE,CAAC,CAAA;wBACtJ,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;wBAEtB,MAAM,GAAG,CAAA;oBACX,CAAC;oBAED,gGAAgG;oBAChG,8EAA8E;oBAC9E,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE;wBAChD,SAAS,EAAE,CAAC,QAAQ,CAAC;qBACtB,CAAC,CAAA;oBAEF,0EAA0E;oBAC1E,kBAAkB;oBAClB,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;oBAClC,WAAW,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;oBAC9B,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAA;oBAE/B,6DAA6D;oBAC7D,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;wBAC9B,WAAW,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;oBAC5C,CAAC;oBAED,4DAA4D;oBAC5D,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;wBAC7B,WAAW,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;oBAC1C,CAAC;oBAED,8DAA8D;oBAC9D,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;wBACzB,WAAW,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;oBAClC,CAAC;oBAED,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,mBAAmB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;oBAErE,OAAO,WAAW,CAAA;gBACpB,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAClB,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,gFAAgF,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,CAAA;oBAEvL,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;wBACvC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;oBACxB,CAAC;oBAED,MAAM,GAAG,CAAA;gBACX,CAAC;YACH,CAAC,CAAA;YAED,kCAAkC;YAClC,KAAK,OAAO,CAAC,GAAG,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;gBAC/B,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;aAChC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACb,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAA;YACnE,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAA;QACjC,MAAM,CAAC,QAAQ,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE;YACrC,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;gBACf,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,SAAS,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;oBACtE,2DAA2D;oBAC3D,CAAC,KAAK,IAAI,EAAE;wBACV,IAAI,CAAC;4BACH,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gCACjC,MAAM,UAAU,CAAC,KAAK,EAAE,CAAA;4BAC1B,CAAC;wBACH,CAAC;wBAAC,OAAO,GAAQ,EAAE,CAAC;4BAClB,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,kDAAkD,EAAE,GAAG,CAAC,CAAA;wBAC/E,CAAC;gCAAS,CAAC;4BACT,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,kBAAkB,EAAE;gCAChD,MAAM,EAAE,UAAU;6BACnB,CAAC,CAAA;wBACJ,CAAC;oBACH,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;wBACf,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,0DAA0D,EAAE,GAAG,CAAC,CAAA;oBACvF,CAAC,CAAC,CAAA;gBACJ,CAAC;gBAED,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;YAC7B,CAAC;SACF,CAAC,CAAA;QACF,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAErC,MAAM,2BAA2B,GAAG,GAAQ,EAAE;YAC5C,MAAM,IAAI,qBAAqB,CAAC,+BAA+B,CAAC,CAAA;QAClE,CAAC,CAAA;QAED,wBAAwB;QACxB,UAAU,GAAG,gBAAgB,CAAC;YAC5B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU;YACV,MAAM,EAAE,MAAM;YACd,SAAS;YACT,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,WAAW,EAAE,KAAK,EAAE,QAAQ;YAC5B,UAAU,EAAE,cAAc;YAC1B,MAAM;YACN,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;YAC9B,SAAS,EAAE,SAAS,IAAI,2BAA2B;YACnD,UAAU,EAAE,GAAG,EAAE;gBACf,OAAO,KAAK,EAAE,OAAO,IAAI,EAAE,CAAA;YAC7B,CAAC;YACD,KAAK,EAAE,KAAK,EAAE,OAAsB,EAAE,EAAE;gBACtC,iDAAiD;gBACjD,MAAM,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;gBAE3B,iCAAiC;gBACjC,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC7B,CAAC;YACD,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;gBACb,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAEjB,uCAAuC;gBACvC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;YACnB,CAAC;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE;YAC/C,MAAM,EAAE,UAAU;SACnB,CAAC,CAAA;QAEF,uBAAuB;QACvB,UAAU,CAAC,gBAAgB,GAAG,SAAS,CAAA;QAEvC,OAAO,UAAU,CAAA;IACnB,CAAC;IAED;;OAEG;IACH,SAAS,CAAE,IAAqB;QAC9B,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QAC7C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QAE3E,IAAI,UAAU,CAAC,MAAM,IAAI,IAAI,IAAI,OAAO,CAAC,sBAAsB,KAAK,IAAI,EAAE,CAAC;YACzE,MAAM,IAAI,sBAAsB,CAAC,mDAAmD,CAAC,CAAA;QACvF,CAAC;QAED,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAA;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAE,UAA+B,EAAE,OAAsB;QAC5E,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAA;QAE9D,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE;gBACnE,GAAG,OAAO;gBACV,GAAG,EAAE,UAAU,CAAC,GAAG;aACpB,CAAC,CAAA;YACF,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAEzD,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;gBACtB,MAAM,IAAI,qBAAqB,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAA;YAC3E,CAAC;YAED,UAAU,CAAC,GAAG,CAAC,8CAA8C,EAAE,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;YAE/F,OAAO;gBACL,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC;gBACjD,QAAQ;aACT,CAAA;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,8CAA8C,EAAE,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;YAChG,MAAM,IAAI,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CAAE,UAA+B,EAAE,OAAgC;QACvF,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAA;QAE9D,IAAI,CAAC;YACH,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE,SAAS,CAAC,CAAA;YAE9D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE;gBACnE,GAAG,OAAO;gBACV,GAAG,EAAE,UAAU,CAAC,GAAG;gBACnB,UAAU,EAAE,IAAI;aACjB,CAAC,CAAA;YACF,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAEzD,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;gBACtB,MAAM,IAAI,qBAAqB,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAA;YAC3E,CAAC;YAED,UAAU,CAAC,GAAG,CAAC,+CAA+C,EAAE,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;YAEhG,OAAO;gBACL,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC;gBAClD,QAAQ;aACT,CAAA;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,6CAA6C,EAAE,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;YAC/F,MAAM,IAAI,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CAAE,UAA+B,EAAE,MAAuC,EAAE,OAAqB;QACvH,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QAC3C,UAAU,CAAC,GAAG,CAAC,6BAA6B,EAAE,SAAS,CAAC,CAAA;QACxD,IAAI,CAAC;YACH,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE,SAAS,CAAC,CAAA;YAEjE,MAAM,EACJ,MAAM,EACN,QAAQ,EACT,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE;gBAC1C,GAAG,OAAO;gBACV,GAAG,EAAE,UAAU,CAAC,GAAG;gBACnB,UAAU,EAAE,IAAI;aACjB,CAAC,CAAA;YAEF,UAAU,CAAC,GAAG,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAAA;YACzD,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAEzC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;QACjC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAA;YACnE,MAAM,IAAI,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAE,UAA+B,EAAE,MAAuC,EAAE,OAAqB;QACtH,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QAC3C,UAAU,CAAC,GAAG,CAAC,4BAA4B,EAAE,SAAS,CAAC,CAAA;QACvD,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE;gBACnE,GAAG,OAAO;gBACV,GAAG,EAAE,UAAU,CAAC,GAAG;aACpB,CAAC,CAAA;YACF,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAEzC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;QACjC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAA;YAClE,MAAM,IAAI,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC;CACF"}
|
package/dist/src/version.d.ts
CHANGED
package/dist/src/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "libp2p",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.3",
|
|
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/tree/main/packages/libp2p#readme",
|
|
@@ -92,15 +92,15 @@
|
|
|
92
92
|
"dependencies": {
|
|
93
93
|
"@chainsafe/is-ip": "^2.0.2",
|
|
94
94
|
"@chainsafe/netmask": "^2.0.0",
|
|
95
|
-
"@libp2p/crypto": "^5.0.
|
|
96
|
-
"@libp2p/interface": "^2.6.
|
|
97
|
-
"@libp2p/interface-internal": "^2.3.
|
|
98
|
-
"@libp2p/logger": "^5.1.
|
|
99
|
-
"@libp2p/multistream-select": "^6.0.
|
|
100
|
-
"@libp2p/peer-collections": "^6.0.
|
|
101
|
-
"@libp2p/peer-id": "^5.0.
|
|
102
|
-
"@libp2p/peer-store": "^11.0.
|
|
103
|
-
"@libp2p/utils": "^6.5.
|
|
95
|
+
"@libp2p/crypto": "^5.0.13",
|
|
96
|
+
"@libp2p/interface": "^2.6.1",
|
|
97
|
+
"@libp2p/interface-internal": "^2.3.5",
|
|
98
|
+
"@libp2p/logger": "^5.1.10",
|
|
99
|
+
"@libp2p/multistream-select": "^6.0.17",
|
|
100
|
+
"@libp2p/peer-collections": "^6.0.21",
|
|
101
|
+
"@libp2p/peer-id": "^5.0.14",
|
|
102
|
+
"@libp2p/peer-store": "^11.0.21",
|
|
103
|
+
"@libp2p/utils": "^6.5.5",
|
|
104
104
|
"@multiformats/dns": "^1.0.6",
|
|
105
105
|
"@multiformats/multiaddr": "^12.3.5",
|
|
106
106
|
"@multiformats/multiaddr-matcher": "^1.6.0",
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
"uint8arrays": "^5.1.0"
|
|
121
121
|
},
|
|
122
122
|
"devDependencies": {
|
|
123
|
-
"aegir": "^45.
|
|
123
|
+
"aegir": "^45.1.1",
|
|
124
124
|
"delay": "^6.0.0",
|
|
125
125
|
"it-all": "^3.0.6",
|
|
126
126
|
"it-drain": "^3.0.7",
|
|
@@ -260,17 +260,17 @@ export class AddressManager implements AddressManagerInterface {
|
|
|
260
260
|
}
|
|
261
261
|
|
|
262
262
|
if (options?.type === 'dns-mapping' || this.dnsMappings.has(addr)) {
|
|
263
|
-
const
|
|
263
|
+
const dnsMappingStartingConfidence = this.dnsMappings.confirm(addr, options?.ttl ?? this.addressVerificationTTL)
|
|
264
264
|
|
|
265
|
-
if (!
|
|
265
|
+
if (!dnsMappingStartingConfidence && startingConfidence) {
|
|
266
266
|
startingConfidence = false
|
|
267
267
|
}
|
|
268
268
|
}
|
|
269
269
|
|
|
270
270
|
if (options?.type === 'ip-mapping' || this.ipMappings.has(addr)) {
|
|
271
|
-
const
|
|
271
|
+
const ipMappingStartingConfidence = this.ipMappings.confirm(addr, options?.ttl ?? this.addressVerificationTTL)
|
|
272
272
|
|
|
273
|
-
if (!
|
|
273
|
+
if (!ipMappingStartingConfidence && startingConfidence) {
|
|
274
274
|
startingConfidence = false
|
|
275
275
|
}
|
|
276
276
|
}
|
|
@@ -317,17 +317,17 @@ export class AddressManager implements AddressManagerInterface {
|
|
|
317
317
|
}
|
|
318
318
|
|
|
319
319
|
if (this.dnsMappings.has(addr)) {
|
|
320
|
-
const
|
|
320
|
+
const dnsMappingStartingConfidence = this.dnsMappings.unconfirm(addr, options?.ttl ?? this.addressVerificationRetry)
|
|
321
321
|
|
|
322
|
-
if (!
|
|
322
|
+
if (!dnsMappingStartingConfidence && startingConfidence) {
|
|
323
323
|
startingConfidence = false
|
|
324
324
|
}
|
|
325
325
|
}
|
|
326
326
|
|
|
327
327
|
if (this.ipMappings.has(addr)) {
|
|
328
|
-
const
|
|
328
|
+
const ipMappingStartingConfidence = this.ipMappings.unconfirm(addr, options?.ttl ?? this.addressVerificationRetry)
|
|
329
329
|
|
|
330
|
-
if (!
|
|
330
|
+
if (!ipMappingStartingConfidence && startingConfidence) {
|
|
331
331
|
startingConfidence = false
|
|
332
332
|
}
|
|
333
333
|
}
|
|
@@ -11,7 +11,7 @@ const CODEC_IP6 = 0x29
|
|
|
11
11
|
* insecure websockets by default.
|
|
12
12
|
*
|
|
13
13
|
* Browsers are severely limited in their resource usage so don't waste time
|
|
14
|
-
* trying to dial
|
|
14
|
+
* trying to dial undialable addresses, and they also print verbose error
|
|
15
15
|
* messages when making connections over insecure transports which causes
|
|
16
16
|
* confusion.
|
|
17
17
|
*/
|
|
@@ -11,14 +11,14 @@ import type { Address } from '@libp2p/interface'
|
|
|
11
11
|
*/
|
|
12
12
|
// eslint-disable-next-line complexity
|
|
13
13
|
export function reliableTransportsFirst (a: Address, b: Address): -1 | 0 | 1 {
|
|
14
|
-
const
|
|
15
|
-
const
|
|
14
|
+
const isATcp = TCP.exactMatch(a.multiaddr)
|
|
15
|
+
const isBTcp = TCP.exactMatch(b.multiaddr)
|
|
16
16
|
|
|
17
|
-
if (
|
|
17
|
+
if (isATcp && !isBTcp) {
|
|
18
18
|
return -1
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
if (!
|
|
21
|
+
if (!isATcp && isBTcp) {
|
|
22
22
|
return 1
|
|
23
23
|
}
|
|
24
24
|
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#dialTimeout
|
|
3
3
|
*/
|
|
4
|
-
export const DIAL_TIMEOUT =
|
|
4
|
+
export const DIAL_TIMEOUT = 10_000
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#
|
|
7
|
+
* @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#inboundUpgradeTimeout
|
|
8
8
|
*/
|
|
9
|
-
export const
|
|
9
|
+
export const INBOUND_UPGRADE_TIMEOUT = 10_000
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#protocolNegotiationTimeout
|
|
13
13
|
*/
|
|
14
|
-
export const PROTOCOL_NEGOTIATION_TIMEOUT =
|
|
14
|
+
export const PROTOCOL_NEGOTIATION_TIMEOUT = 10_000
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#maxPeerAddrsToDial
|
|
@@ -216,7 +216,7 @@ export class DialQueue {
|
|
|
216
216
|
|
|
217
217
|
try {
|
|
218
218
|
// load addresses from address book, resolve and dnsaddrs, filter
|
|
219
|
-
//
|
|
219
|
+
// undialables, add peer IDs, etc
|
|
220
220
|
addrsToDial = await this.calculateMultiaddrs(peerId, options?.multiaddrs, {
|
|
221
221
|
...options,
|
|
222
222
|
signal
|
|
@@ -449,17 +449,17 @@ export class DialQueue {
|
|
|
449
449
|
throw new NoValidAddressesError('The dial request has no valid addresses')
|
|
450
450
|
}
|
|
451
451
|
|
|
452
|
-
const
|
|
452
|
+
const gatedAddrs: Address[] = []
|
|
453
453
|
|
|
454
454
|
for (const addr of dedupedMultiaddrs) {
|
|
455
455
|
if (this.components.connectionGater.denyDialMultiaddr != null && await this.components.connectionGater.denyDialMultiaddr(addr.multiaddr)) {
|
|
456
456
|
continue
|
|
457
457
|
}
|
|
458
458
|
|
|
459
|
-
|
|
459
|
+
gatedAddrs.push(addr)
|
|
460
460
|
}
|
|
461
461
|
|
|
462
|
-
const sortedGatedAddrs = this.addressSorter == null ? defaultAddressSorter(
|
|
462
|
+
const sortedGatedAddrs = this.addressSorter == null ? defaultAddressSorter(gatedAddrs) : gatedAddrs.sort(this.addressSorter)
|
|
463
463
|
|
|
464
464
|
// make sure we actually have some addresses to dial
|
|
465
465
|
if (sortedGatedAddrs.length === 0) {
|
|
@@ -59,7 +59,7 @@ export interface ConnectionManagerInit {
|
|
|
59
59
|
* How long a dial attempt is allowed to take, including DNS resolution
|
|
60
60
|
* of the multiaddr, opening a socket and upgrading it to a Connection.
|
|
61
61
|
*
|
|
62
|
-
* @default
|
|
62
|
+
* @default 10_000
|
|
63
63
|
*/
|
|
64
64
|
dialTimeout?: number
|
|
65
65
|
|
|
@@ -67,7 +67,7 @@ export interface ConnectionManagerInit {
|
|
|
67
67
|
* When a new incoming connection is opened, the upgrade process (e.g.
|
|
68
68
|
* protect, encrypt, multiplex etc) must complete within this number of ms.
|
|
69
69
|
*
|
|
70
|
-
* @default
|
|
70
|
+
* @default 10_000
|
|
71
71
|
*/
|
|
72
72
|
inboundUpgradeTimeout?: number
|
|
73
73
|
|
|
@@ -77,7 +77,7 @@ export interface ConnectionManagerInit {
|
|
|
77
77
|
*
|
|
78
78
|
* Does not apply if an abort signal is passed to the `.dial` method.
|
|
79
79
|
*
|
|
80
|
-
* @
|
|
80
|
+
* @deprecated This is handled by `dialTimeout`
|
|
81
81
|
*/
|
|
82
82
|
outboundUpgradeTimeout?: number
|
|
83
83
|
|
|
@@ -92,16 +92,18 @@ export interface ConnectionManagerInit {
|
|
|
92
92
|
/**
|
|
93
93
|
* Outbound protocol negotiation must complete within this number of ms.
|
|
94
94
|
*
|
|
95
|
-
* Does not apply if an abort signal is passed to the `.dial`
|
|
95
|
+
* Does not apply if an abort signal is passed to the `.dial` or
|
|
96
|
+
* `.dialProtocol` method of the `ConnectionManager` or the `openStream`
|
|
97
|
+
* method of the `Connection`.
|
|
96
98
|
*
|
|
97
|
-
* @default
|
|
99
|
+
* @default 10_000
|
|
98
100
|
*/
|
|
99
101
|
outboundStreamProtocolNegotiationTimeout?: number
|
|
100
102
|
|
|
101
103
|
/**
|
|
102
104
|
* Inbound protocol negotiation must complete within this number of ms
|
|
103
105
|
*
|
|
104
|
-
* @default
|
|
106
|
+
* @default 10_000
|
|
105
107
|
*/
|
|
106
108
|
inboundStreamProtocolNegotiationTimeout?: number
|
|
107
109
|
|
package/src/errors.ts
CHANGED
|
@@ -66,6 +66,13 @@ export class NoValidAddressesError extends Error {
|
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
+
export class NoSupportedAddressesError extends Error {
|
|
70
|
+
constructor (message = 'No supported addresses') {
|
|
71
|
+
super(message)
|
|
72
|
+
this.name = 'NoSupportedAddressesError'
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
69
76
|
export class ConnectionInterceptedError extends Error {
|
|
70
77
|
constructor (message = 'Connection intercepted') {
|
|
71
78
|
super(message)
|
package/src/index.ts
CHANGED
|
@@ -102,7 +102,7 @@ export interface Libp2pInit<T extends ServiceMap = ServiceMap> {
|
|
|
102
102
|
|
|
103
103
|
/**
|
|
104
104
|
* Connection encrypters ensure that data sent over connections cannot be
|
|
105
|
-
* eavesdropped on, and that the remote peer
|
|
105
|
+
* eavesdropped on, and that the remote peer possesses the private key that
|
|
106
106
|
* corresponds to the public key that it's Peer ID is derived from.
|
|
107
107
|
*/
|
|
108
108
|
connectionEncrypters?: Array<(components: Components) => ConnectionEncrypter>
|
package/src/libp2p.ts
CHANGED
|
@@ -18,7 +18,7 @@ import { DefaultPeerRouting } from './peer-routing.js'
|
|
|
18
18
|
import { RandomWalk } from './random-walk.js'
|
|
19
19
|
import { Registrar } from './registrar.js'
|
|
20
20
|
import { DefaultTransportManager } from './transport-manager.js'
|
|
21
|
-
import {
|
|
21
|
+
import { Upgrader } from './upgrader.js'
|
|
22
22
|
import { userAgent } from './user-agent.js'
|
|
23
23
|
import * as pkg from './version.js'
|
|
24
24
|
import type { Components } from './components.js'
|
|
@@ -113,11 +113,10 @@ export class Libp2p<T extends ServiceMap = ServiceMap> extends TypedEventEmitter
|
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
// Set up the Upgrader
|
|
116
|
-
this.components.upgrader = new
|
|
116
|
+
this.components.upgrader = new Upgrader(this.components, {
|
|
117
117
|
connectionEncrypters: (init.connectionEncrypters ?? []).map((fn, index) => this.configureComponent(`connection-encryption-${index}`, fn(this.components))),
|
|
118
118
|
streamMuxers: (init.streamMuxers ?? []).map((fn, index) => this.configureComponent(`stream-muxers-${index}`, fn(this.components))),
|
|
119
119
|
inboundUpgradeTimeout: init.connectionManager?.inboundUpgradeTimeout,
|
|
120
|
-
outboundUpgradeTimeout: init.connectionManager?.outboundUpgradeTimeout,
|
|
121
120
|
inboundStreamProtocolNegotiationTimeout: init.connectionManager?.inboundStreamProtocolNegotiationTimeout ?? init.connectionManager?.protocolNegotiationTimeout,
|
|
122
121
|
outboundStreamProtocolNegotiationTimeout: init.connectionManager?.outboundStreamProtocolNegotiationTimeout ?? init.connectionManager?.protocolNegotiationTimeout
|
|
123
122
|
})
|
package/src/random-walk.ts
CHANGED
|
@@ -133,7 +133,7 @@ export class RandomWalk extends TypedEventEmitter<RandomWalkEvents> implements R
|
|
|
133
133
|
|
|
134
134
|
this.log('walk iteration for %b and %d walkers finished, found %d peers', data, this.walkers, found)
|
|
135
135
|
} catch (err) {
|
|
136
|
-
this.log.error('
|
|
136
|
+
this.log.error('random walk errored', err)
|
|
137
137
|
|
|
138
138
|
this.safeDispatchEvent('walk:error', {
|
|
139
139
|
detail: err
|
|
@@ -144,7 +144,7 @@ export class RandomWalk extends TypedEventEmitter<RandomWalkEvents> implements R
|
|
|
144
144
|
this.log('no walkers left, ended walk')
|
|
145
145
|
})
|
|
146
146
|
.catch(err => {
|
|
147
|
-
this.log.error('
|
|
147
|
+
this.log.error('random walk errored', err)
|
|
148
148
|
})
|
|
149
149
|
.finally(() => {
|
|
150
150
|
this.log('finished walk, found %d peers after %dms', found, Date.now() - start)
|