libp2p 2.9.0 → 2.10.0-8484de8a2
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 +13 -17
- package/dist/index.min.js.map +4 -4
- package/dist/src/address-manager/dns-mappings.d.ts +1 -2
- package/dist/src/address-manager/dns-mappings.d.ts.map +1 -1
- package/dist/src/address-manager/dns-mappings.js +40 -44
- package/dist/src/address-manager/dns-mappings.js.map +1 -1
- package/dist/src/address-manager/index.d.ts.map +1 -1
- package/dist/src/address-manager/index.js +31 -14
- package/dist/src/address-manager/index.js.map +1 -1
- package/dist/src/address-manager/ip-mappings.d.ts +1 -0
- package/dist/src/address-manager/ip-mappings.d.ts.map +1 -1
- package/dist/src/address-manager/ip-mappings.js +51 -40
- package/dist/src/address-manager/ip-mappings.js.map +1 -1
- package/dist/src/address-manager/observed-addresses.d.ts.map +1 -1
- package/dist/src/address-manager/observed-addresses.js +1 -3
- package/dist/src/address-manager/observed-addresses.js.map +1 -1
- package/dist/src/address-manager/transport-addresses.d.ts.map +1 -1
- package/dist/src/address-manager/transport-addresses.js +6 -8
- package/dist/src/address-manager/transport-addresses.js.map +1 -1
- package/dist/src/config/connection-gater.browser.d.ts.map +1 -1
- package/dist/src/config/connection-gater.browser.js +3 -9
- package/dist/src/config/connection-gater.browser.js.map +1 -1
- package/dist/src/config.js +1 -1
- package/dist/src/config.js.map +1 -1
- package/dist/src/connection-manager/address-sorter.d.ts.map +1 -1
- package/dist/src/connection-manager/address-sorter.js +1 -2
- package/dist/src/connection-manager/address-sorter.js.map +1 -1
- package/dist/src/connection-manager/connection-pruner.d.ts.map +1 -1
- package/dist/src/connection-manager/connection-pruner.js +7 -3
- package/dist/src/connection-manager/connection-pruner.js.map +1 -1
- package/dist/src/connection-manager/constants.defaults.d.ts +4 -0
- package/dist/src/connection-manager/constants.defaults.d.ts.map +1 -1
- package/dist/src/connection-manager/constants.defaults.js +4 -0
- package/dist/src/connection-manager/constants.defaults.js.map +1 -1
- package/dist/src/connection-manager/dial-queue.d.ts +2 -2
- package/dist/src/connection-manager/dial-queue.d.ts.map +1 -1
- package/dist/src/connection-manager/dial-queue.js +13 -25
- package/dist/src/connection-manager/dial-queue.js.map +1 -1
- package/dist/src/connection-manager/index.d.ts +10 -2
- package/dist/src/connection-manager/index.d.ts.map +1 -1
- package/dist/src/connection-manager/index.js +45 -27
- package/dist/src/connection-manager/index.js.map +1 -1
- package/dist/src/connection-manager/reconnect-queue.js +1 -1
- package/dist/src/connection-manager/reconnect-queue.js.map +1 -1
- package/dist/src/connection-manager/utils.d.ts +31 -3
- package/dist/src/connection-manager/utils.d.ts.map +1 -1
- package/dist/src/connection-manager/utils.js +99 -18
- package/dist/src/connection-manager/utils.js.map +1 -1
- package/dist/src/connection-monitor.d.ts +1 -1
- package/dist/src/connection-monitor.d.ts.map +1 -1
- package/dist/src/connection-monitor.js +2 -3
- package/dist/src/connection-monitor.js.map +1 -1
- package/dist/src/connection.d.ts +62 -0
- package/dist/src/connection.d.ts.map +1 -0
- package/dist/src/connection.js +239 -0
- package/dist/src/connection.js.map +1 -0
- package/dist/src/get-peer.js +3 -3
- package/dist/src/get-peer.js.map +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.js +2 -2
- package/dist/src/libp2p.d.ts.map +1 -1
- package/dist/src/libp2p.js +5 -5
- package/dist/src/libp2p.js.map +1 -1
- package/dist/src/peer-routing.js +1 -1
- package/dist/src/peer-routing.js.map +1 -1
- package/dist/src/random-walk.d.ts.map +1 -1
- package/dist/src/random-walk.js +13 -3
- package/dist/src/random-walk.js.map +1 -1
- package/dist/src/registrar.d.ts +3 -3
- package/dist/src/registrar.d.ts.map +1 -1
- package/dist/src/registrar.js +50 -41
- package/dist/src/registrar.js.map +1 -1
- package/dist/src/transport-manager.js +15 -2
- package/dist/src/transport-manager.js.map +1 -1
- package/dist/src/upgrader.d.ts +27 -25
- package/dist/src/upgrader.d.ts.map +1 -1
- package/dist/src/upgrader.js +97 -336
- package/dist/src/upgrader.js.map +1 -1
- package/dist/src/utils.d.ts +3 -0
- package/dist/src/utils.d.ts.map +1 -0
- package/dist/src/utils.js +25 -0
- package/dist/src/utils.js.map +1 -0
- 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 +26 -30
- package/src/address-manager/dns-mappings.ts +51 -51
- package/src/address-manager/index.ts +37 -17
- package/src/address-manager/ip-mappings.ts +64 -44
- package/src/address-manager/observed-addresses.ts +1 -3
- package/src/address-manager/transport-addresses.ts +7 -9
- package/src/config/connection-gater.browser.ts +3 -12
- package/src/config.ts +1 -1
- package/src/connection-manager/address-sorter.ts +1 -2
- package/src/connection-manager/connection-pruner.ts +8 -3
- package/src/connection-manager/constants.defaults.ts +5 -0
- package/src/connection-manager/dial-queue.ts +14 -29
- package/src/connection-manager/index.ts +62 -29
- package/src/connection-manager/reconnect-queue.ts +1 -1
- package/src/connection-manager/utils.ts +129 -21
- package/src/connection-monitor.ts +3 -4
- package/src/connection.ts +316 -0
- package/src/get-peer.ts +3 -3
- package/src/index.ts +2 -2
- package/src/libp2p.ts +5 -6
- package/src/peer-routing.ts +1 -1
- package/src/random-walk.ts +13 -3
- package/src/registrar.ts +67 -54
- package/src/transport-manager.ts +18 -2
- package/src/upgrader.ts +143 -421
- package/src/utils.ts +31 -0
- package/src/version.ts +1 -1
- package/dist/src/connection/index.d.ts +0 -84
- package/dist/src/connection/index.d.ts.map +0 -1
- package/dist/src/connection/index.js +0 -144
- package/dist/src/connection/index.js.map +0 -1
- package/dist/typedoc-urls.json +0 -24
- package/src/connection/index.ts +0 -199
package/dist/src/registrar.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { InvalidParametersError } from '@libp2p/interface';
|
|
2
|
-
import { mergeOptions } from '@libp2p/utils
|
|
3
|
-
import {
|
|
4
|
-
import * as errorsJs from './errors.js';
|
|
2
|
+
import { mergeOptions, trackedMap } from '@libp2p/utils';
|
|
3
|
+
import { DuplicateProtocolHandlerError, UnhandledProtocolError } from './errors.js';
|
|
5
4
|
export const DEFAULT_MAX_INBOUND_STREAMS = 32;
|
|
6
5
|
export const DEFAULT_MAX_OUTBOUND_STREAMS = 64;
|
|
7
6
|
/**
|
|
@@ -45,7 +44,7 @@ export class Registrar {
|
|
|
45
44
|
getHandler(protocol) {
|
|
46
45
|
const handler = this.handlers.get(protocol);
|
|
47
46
|
if (handler == null) {
|
|
48
|
-
throw new
|
|
47
|
+
throw new UnhandledProtocolError(`No handler registered for protocol ${protocol}`);
|
|
49
48
|
}
|
|
50
49
|
return handler;
|
|
51
50
|
}
|
|
@@ -63,7 +62,7 @@ export class Registrar {
|
|
|
63
62
|
*/
|
|
64
63
|
async handle(protocol, handler, opts) {
|
|
65
64
|
if (this.handlers.has(protocol) && opts?.force !== true) {
|
|
66
|
-
throw new
|
|
65
|
+
throw new DuplicateProtocolHandlerError(`Handler already registered for protocol ${protocol}`);
|
|
67
66
|
}
|
|
68
67
|
const options = mergeOptions.bind({ ignoreUndefined: true })({
|
|
69
68
|
maxInboundStreams: DEFAULT_MAX_INBOUND_STREAMS,
|
|
@@ -125,83 +124,93 @@ export class Registrar {
|
|
|
125
124
|
/**
|
|
126
125
|
* Remove a disconnected peer from the record
|
|
127
126
|
*/
|
|
128
|
-
_onDisconnect(evt) {
|
|
127
|
+
async _onDisconnect(evt) {
|
|
129
128
|
const remotePeer = evt.detail;
|
|
130
129
|
const options = {
|
|
131
130
|
signal: AbortSignal.timeout(5_000)
|
|
132
131
|
};
|
|
133
|
-
|
|
134
|
-
.
|
|
132
|
+
try {
|
|
133
|
+
const peer = await this.components.peerStore.get(remotePeer, options);
|
|
135
134
|
for (const protocol of peer.protocols) {
|
|
136
135
|
const topologies = this.topologies.get(protocol);
|
|
137
136
|
if (topologies == null) {
|
|
138
137
|
// no topologies are interested in this protocol
|
|
139
138
|
continue;
|
|
140
139
|
}
|
|
141
|
-
|
|
140
|
+
await Promise.all([...topologies.values()].map(async (topology) => {
|
|
142
141
|
if (topology.filter?.has(remotePeer) === false) {
|
|
143
|
-
|
|
142
|
+
return;
|
|
144
143
|
}
|
|
145
144
|
topology.filter?.remove(remotePeer);
|
|
146
|
-
topology.onDisconnect?.(remotePeer);
|
|
147
|
-
}
|
|
145
|
+
await topology.onDisconnect?.(remotePeer);
|
|
146
|
+
}));
|
|
148
147
|
}
|
|
149
|
-
}
|
|
150
|
-
|
|
148
|
+
}
|
|
149
|
+
catch (err) {
|
|
151
150
|
if (err.name === 'NotFoundError') {
|
|
152
151
|
// peer has not completed identify so they are not in the peer store
|
|
153
152
|
return;
|
|
154
153
|
}
|
|
155
|
-
this.log.error('could not inform topologies of disconnecting peer %p', remotePeer, err);
|
|
156
|
-
}
|
|
154
|
+
this.log.error('could not inform topologies of disconnecting peer %p - %e', remotePeer, err);
|
|
155
|
+
}
|
|
157
156
|
}
|
|
158
157
|
/**
|
|
159
158
|
* When a peer is updated, if they have removed supported protocols notify any
|
|
160
159
|
* topologies interested in the removed protocols.
|
|
161
160
|
*/
|
|
162
|
-
_onPeerUpdate(evt) {
|
|
161
|
+
async _onPeerUpdate(evt) {
|
|
163
162
|
const { peer, previous } = evt.detail;
|
|
164
163
|
const removed = (previous?.protocols ?? []).filter(protocol => !peer.protocols.includes(protocol));
|
|
165
|
-
|
|
166
|
-
const
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
}
|
|
171
|
-
for (const topology of topologies.values()) {
|
|
172
|
-
if (topology.filter?.has(peer.id) === false) {
|
|
164
|
+
try {
|
|
165
|
+
for (const protocol of removed) {
|
|
166
|
+
const topologies = this.topologies.get(protocol);
|
|
167
|
+
if (topologies == null) {
|
|
168
|
+
// no topologies are interested in this protocol
|
|
173
169
|
continue;
|
|
174
170
|
}
|
|
175
|
-
|
|
176
|
-
|
|
171
|
+
await Promise.all([...topologies.values()].map(async (topology) => {
|
|
172
|
+
if (topology.filter?.has(peer.id) === false) {
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
topology.filter?.remove(peer.id);
|
|
176
|
+
await topology.onDisconnect?.(peer.id);
|
|
177
|
+
}));
|
|
177
178
|
}
|
|
178
179
|
}
|
|
180
|
+
catch (err) {
|
|
181
|
+
this.log.error('could not inform topologies of updated peer %p - %e', peer.id, err);
|
|
182
|
+
}
|
|
179
183
|
}
|
|
180
184
|
/**
|
|
181
185
|
* After identify has completed and we have received the list of supported
|
|
182
186
|
* protocols, notify any topologies interested in those protocols.
|
|
183
187
|
*/
|
|
184
|
-
_onPeerIdentify(evt) {
|
|
188
|
+
async _onPeerIdentify(evt) {
|
|
185
189
|
const protocols = evt.detail.protocols;
|
|
186
190
|
const connection = evt.detail.connection;
|
|
187
191
|
const peerId = evt.detail.peerId;
|
|
188
|
-
|
|
189
|
-
const
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
}
|
|
194
|
-
for (const topology of topologies.values()) {
|
|
195
|
-
if (connection.limits != null && topology.notifyOnLimitedConnection !== true) {
|
|
196
|
-
continue;
|
|
197
|
-
}
|
|
198
|
-
if (topology.filter?.has(peerId) === true) {
|
|
192
|
+
try {
|
|
193
|
+
for (const protocol of protocols) {
|
|
194
|
+
const topologies = this.topologies.get(protocol);
|
|
195
|
+
if (topologies == null) {
|
|
196
|
+
// no topologies are interested in this protocol
|
|
199
197
|
continue;
|
|
200
198
|
}
|
|
201
|
-
|
|
202
|
-
|
|
199
|
+
await Promise.all([...topologies.values()].map(async (topology) => {
|
|
200
|
+
if (connection.limits != null && topology.notifyOnLimitedConnection !== true) {
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
if (topology.filter?.has(peerId) === true) {
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
topology.filter?.add(peerId);
|
|
207
|
+
await topology.onConnect?.(peerId, connection);
|
|
208
|
+
}));
|
|
203
209
|
}
|
|
204
210
|
}
|
|
211
|
+
catch (err) {
|
|
212
|
+
this.log.error('could not inform topologies of updated peer after identify %p - %e', peerId, err);
|
|
213
|
+
}
|
|
205
214
|
}
|
|
206
215
|
}
|
|
207
216
|
//# sourceMappingURL=registrar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registrar.js","sourceRoot":"","sources":["../../src/registrar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"registrar.js","sourceRoot":"","sources":["../../src/registrar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAMnF,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAA;AAC7C,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAA;AAU9C;;GAEG;AACH,MAAM,OAAO,SAAS;IACH,GAAG,CAAQ;IACX,UAAU,CAAoC;IAC9C,QAAQ,CAAkC;IAC1C,UAAU,CAAqB;IAEhD,YAAa,UAA+B;QAC1C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAA;QAC7D,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAA;QAC3B,UAAU,CAAC,OAAO,EAAE,mBAAmB,CAAC,6BAA6B,EAAE;YACrE,SAAS,EAAE,GAAG,EAAE;gBACd,MAAM,MAAM,GAA2B,EAAE,CAAA;gBAEzC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC3C,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAA;gBAC1B,CAAC;gBAED,OAAO,MAAM,CAAA;YACf,CAAC;SACF,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;YACzB,IAAI,EAAE,oCAAoC;YAC1C,OAAO,EAAE,UAAU,CAAC,OAAO;SAC5B,CAAC,CAAA;QAEF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEtD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;QAC9E,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;QAC1E,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;IAChF,CAAC;IAEQ,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,mBAAmB,CAAA;IAEnD,YAAY;QACV,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAS;YAChC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;SACxB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IACZ,CAAC;IAED,UAAU,CAAE,QAAgB;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAE3C,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,sBAAsB,CAAC,sCAAsC,QAAQ,EAAE,CAAC,CAAA;QACpF,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,aAAa,CAAE,QAAgB;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAEhD,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,OAAO,EAAE,CAAA;QACX,CAAC;QAED,OAAO;YACL,GAAG,UAAU,CAAC,MAAM,EAAE;SACvB,CAAA;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAE,QAAgB,EAAE,OAAsB,EAAE,IAA2B;QACjF,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC;YACxD,MAAM,IAAI,6BAA6B,CAAC,2CAA2C,QAAQ,EAAE,CAAC,CAAA;QAChG,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,iBAAiB,EAAE,2BAA2B;YAC9C,kBAAkB,EAAE,4BAA4B;SACjD,EAAE,IAAI,CAAC,CAAA;QAER,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE;YAC1B,OAAO;YACP,OAAO;SACR,CAAC,CAAA;QAEF,uDAAuD;QACvD,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YAC5D,SAAS,EAAE,CAAC,QAAQ,CAAC;SACtB,EAAE,IAAI,CAAC,CAAA;IACV,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CAAE,SAA4B,EAAE,OAAsB;QAClE,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QAEvE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC9B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;QAEF,0CAA0C;QAC1C,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YAC5D,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE;SAC/B,EAAE,OAAO,CAAC,CAAA;IACb,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAE,QAAgB,EAAE,QAAkB;QAClD,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,sBAAsB,CAAC,kBAAkB,CAAC,CAAA;QACtD,CAAC;QAED,kBAAkB;QAClB,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;QAE/D,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAE9C,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAA;YACxC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;QAC3C,CAAC;QAED,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QAE5B,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;OAEG;IACH,UAAU,CAAE,EAAU;QACpB,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/D,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACvB,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAErB,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAE,GAAwB;QAC3C,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAA;QAC7B,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;SACnC,CAAA;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;YAErE,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACtC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAEhD,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;oBACvB,gDAAgD;oBAChD,SAAQ;gBACV,CAAC;gBAED,MAAM,OAAO,CAAC,GAAG,CACf,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAC,QAAQ,EAAC,EAAE;oBAC5C,IAAI,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,KAAK,KAAK,EAAE,CAAC;wBAC/C,OAAM;oBACR,CAAC;oBAED,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;oBACnC,MAAM,QAAQ,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC,CAAA;gBAC3C,CAAC,CAAC,CACH,CAAA;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBACjC,oEAAoE;gBACpE,OAAM;YACR,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,2DAA2D,EAAE,UAAU,EAAE,GAAG,CAAC,CAAA;QAC9F,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAE,GAA4B;QAC/C,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,MAAM,CAAA;QACrC,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;QAElG,IAAI,CAAC;YACH,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAEhD,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;oBACvB,gDAAgD;oBAChD,SAAQ;gBACV,CAAC;gBAED,MAAM,OAAO,CAAC,GAAG,CACf,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAC,QAAQ,EAAC,EAAE;oBAC5C,IAAI,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;wBAC5C,OAAM;oBACR,CAAC;oBAED,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;oBAChC,MAAM,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACxC,CAAC,CAAC,CACH,CAAA;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qDAAqD,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QACrF,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CAAE,GAAgC;QACrD,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAA;QACtC,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAA;QACxC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAA;QAEhC,IAAI,CAAC;YACH,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAEhD,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;oBACvB,gDAAgD;oBAChD,SAAQ;gBACV,CAAC;gBAED,MAAM,OAAO,CAAC,GAAG,CACf,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAC,QAAQ,EAAC,EAAE;oBAC5C,IAAI,UAAU,CAAC,MAAM,IAAI,IAAI,IAAI,QAAQ,CAAC,yBAAyB,KAAK,IAAI,EAAE,CAAC;wBAC7E,OAAM;oBACR,CAAC;oBAED,IAAI,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;wBAC1C,OAAM;oBACR,CAAC;oBAED,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;oBAC5B,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;gBAChD,CAAC,CAAC,CACH,CAAA;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oEAAoE,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;QACnG,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FaultTolerance, InvalidParametersError, NotStartedError } from '@libp2p/interface';
|
|
2
|
-
import { trackedMap } from '@libp2p/utils
|
|
2
|
+
import { trackedMap } from '@libp2p/utils';
|
|
3
3
|
import { IP4, IP6 } from '@multiformats/multiaddr-matcher';
|
|
4
4
|
import { CustomProgressEvent } from 'progress-events';
|
|
5
5
|
import { TransportUnavailableError, UnsupportedListenAddressError, UnsupportedListenAddressesError } from './errors.js';
|
|
@@ -238,7 +238,7 @@ export class DefaultTransportManager {
|
|
|
238
238
|
// if a configured address was not able to be listened on, throw an error
|
|
239
239
|
throw new UnsupportedListenAddressesError(`Some configured addresses failed to be listened on, you may need to remove one or more listen addresses from your configuration or set \`transportManager.faultTolerance\` to NO_FATAL:\n${[...listenStats.errors.entries()].map(([addr, err]) => {
|
|
240
240
|
return `
|
|
241
|
-
${addr}: ${`${err
|
|
241
|
+
${addr}: ${`${getErrorMessage(err)}`.split('\n').join('\n ')}
|
|
242
242
|
`;
|
|
243
243
|
}).join('')}`);
|
|
244
244
|
}
|
|
@@ -285,4 +285,17 @@ export class DefaultTransportManager {
|
|
|
285
285
|
await Promise.all(tasks);
|
|
286
286
|
}
|
|
287
287
|
}
|
|
288
|
+
/**
|
|
289
|
+
* Not every error has useful fields, browsers particularly often have an empty
|
|
290
|
+
* string for the "stack" so try a few different fields here.
|
|
291
|
+
*/
|
|
292
|
+
function getErrorMessage(err) {
|
|
293
|
+
if (err.stack != null && err.stack.trim() !== '') {
|
|
294
|
+
return err.stack;
|
|
295
|
+
}
|
|
296
|
+
if (err.message != null) {
|
|
297
|
+
return err.message;
|
|
298
|
+
}
|
|
299
|
+
return err.toString();
|
|
300
|
+
}
|
|
288
301
|
//# sourceMappingURL=transport-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport-manager.js","sourceRoot":"","sources":["../../src/transport-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"transport-manager.js","sourceRoot":"","sources":["../../src/transport-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/src/upgrader.d.ts
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import type { Libp2pEvents, AbortOptions, ComponentLogger, MultiaddrConnection, Connection,
|
|
1
|
+
import type { Libp2pEvents, AbortOptions, ComponentLogger, MultiaddrConnection, Connection, ConnectionProtector, ConnectionEncrypter, ConnectionGater, Metrics, PeerId, PeerStore, StreamMuxerFactory, Upgrader as UpgraderInterface, UpgraderOptions, ConnectionLimits, ClearableSignal, MessageStream, SecuredConnection, StreamMuxer, UpgraderWithoutEncryptionOptions, SecureConnectionOptions } from '@libp2p/interface';
|
|
2
2
|
import type { ConnectionManager, Registrar } from '@libp2p/interface-internal';
|
|
3
3
|
import type { TypedEventTarget } from 'main-event';
|
|
4
4
|
interface CreateConnectionOptions {
|
|
5
|
+
id: string;
|
|
5
6
|
cryptoProtocol: string;
|
|
6
7
|
direction: 'inbound' | 'outbound';
|
|
8
|
+
/**
|
|
9
|
+
* The raw underlying connection
|
|
10
|
+
*/
|
|
7
11
|
maConn: MultiaddrConnection;
|
|
8
|
-
|
|
12
|
+
/**
|
|
13
|
+
* The encrypted, multiplexed connection
|
|
14
|
+
*/
|
|
15
|
+
stream: MessageStream;
|
|
9
16
|
remotePeer: PeerId;
|
|
10
|
-
|
|
17
|
+
muxer?: StreamMuxer;
|
|
11
18
|
limits?: ConnectionLimits;
|
|
12
|
-
|
|
13
|
-
interface OnStreamOptions {
|
|
14
|
-
connection: Connection;
|
|
15
|
-
stream: Stream;
|
|
16
|
-
protocol: string;
|
|
17
|
-
}
|
|
18
|
-
export interface CryptoResult extends SecuredConnection<MultiaddrConnection> {
|
|
19
|
-
protocol: string;
|
|
19
|
+
closeTimeout?: number;
|
|
20
20
|
}
|
|
21
21
|
export interface UpgraderInit {
|
|
22
22
|
connectionEncrypters: ConnectionEncrypter[];
|
|
@@ -41,6 +41,12 @@ export interface UpgraderInit {
|
|
|
41
41
|
* @default 2000
|
|
42
42
|
*/
|
|
43
43
|
outboundStreamProtocolNegotiationTimeout?: number;
|
|
44
|
+
/**
|
|
45
|
+
* How long to wait before closing a connection
|
|
46
|
+
*
|
|
47
|
+
* @default 1_000
|
|
48
|
+
*/
|
|
49
|
+
connectionCloseTimeout?: number;
|
|
44
50
|
}
|
|
45
51
|
export interface UpgraderComponents {
|
|
46
52
|
peerId: PeerId;
|
|
@@ -53,6 +59,9 @@ export interface UpgraderComponents {
|
|
|
53
59
|
events: TypedEventTarget<Libp2pEvents>;
|
|
54
60
|
logger: ComponentLogger;
|
|
55
61
|
}
|
|
62
|
+
interface EncryptedConnection extends SecuredConnection {
|
|
63
|
+
protocol: string;
|
|
64
|
+
}
|
|
56
65
|
type ConnectionDeniedType = keyof Pick<ConnectionGater, 'denyOutboundConnection' | 'denyInboundEncryptedConnection' | 'denyOutboundEncryptedConnection' | 'denyInboundUpgradedConnection' | 'denyOutboundUpgradedConnection'>;
|
|
57
66
|
export declare class Upgrader implements UpgraderInterface {
|
|
58
67
|
private readonly components;
|
|
@@ -63,6 +72,7 @@ export declare class Upgrader implements UpgraderInterface {
|
|
|
63
72
|
private readonly outboundStreamProtocolNegotiationTimeout;
|
|
64
73
|
private readonly events;
|
|
65
74
|
private readonly metrics;
|
|
75
|
+
private readonly connectionCloseTimeout?;
|
|
66
76
|
constructor(components: UpgraderComponents, init: UpgraderInit);
|
|
67
77
|
readonly [Symbol.toStringTag] = "@libp2p/upgrader";
|
|
68
78
|
shouldBlockConnection(connectionType: 'denyInboundConnection', maConn: MultiaddrConnection): Promise<void>;
|
|
@@ -72,44 +82,36 @@ export declare class Upgrader implements UpgraderInterface {
|
|
|
72
82
|
* Upgrades an inbound connection
|
|
73
83
|
*/
|
|
74
84
|
upgradeInbound(maConn: MultiaddrConnection, opts: UpgraderOptions): Promise<void>;
|
|
85
|
+
upgradeInbound(maConn: MultiaddrConnection, opts: UpgraderWithoutEncryptionOptions): Promise<void>;
|
|
75
86
|
/**
|
|
76
87
|
* Upgrades an outbound connection
|
|
77
88
|
*/
|
|
78
89
|
upgradeOutbound(maConn: MultiaddrConnection, opts: UpgraderOptions): Promise<Connection>;
|
|
90
|
+
upgradeOutbound(maConn: MultiaddrConnection, opts: UpgraderWithoutEncryptionOptions): Promise<Connection>;
|
|
79
91
|
private _performUpgrade;
|
|
80
92
|
/**
|
|
81
93
|
* A convenience method for generating a new `Connection`
|
|
82
94
|
*/
|
|
83
95
|
_createConnection(opts: CreateConnectionOptions): Connection;
|
|
84
|
-
/**
|
|
85
|
-
* Routes incoming streams to the correct handler
|
|
86
|
-
*/
|
|
87
|
-
_onStream(opts: OnStreamOptions): void;
|
|
88
96
|
/**
|
|
89
97
|
* Attempts to encrypt the incoming `connection` with the provided `cryptos`
|
|
90
98
|
*/
|
|
91
|
-
_encryptInbound(connection:
|
|
99
|
+
_encryptInbound(connection: MessageStream, options?: SecureConnectionOptions): Promise<EncryptedConnection>;
|
|
92
100
|
/**
|
|
93
101
|
* Attempts to encrypt the given `connection` with the provided connection encrypters.
|
|
94
102
|
* The first `ConnectionEncrypter` module to succeed will be used
|
|
95
103
|
*/
|
|
96
|
-
_encryptOutbound(connection:
|
|
104
|
+
_encryptOutbound(connection: MessageStream, options?: SecureConnectionOptions): Promise<EncryptedConnection>;
|
|
97
105
|
/**
|
|
98
106
|
* Selects one of the given muxers via multistream-select. That
|
|
99
107
|
* muxer will be used for all future streams on the connection.
|
|
100
108
|
*/
|
|
101
|
-
_multiplexOutbound(
|
|
102
|
-
stream: MultiaddrConnection;
|
|
103
|
-
muxerFactory?: StreamMuxerFactory;
|
|
104
|
-
}>;
|
|
109
|
+
_multiplexOutbound(maConn: MessageStream, muxers: Map<string, StreamMuxerFactory>, options: AbortOptions): Promise<StreamMuxerFactory>;
|
|
105
110
|
/**
|
|
106
111
|
* Registers support for one of the given muxers via multistream-select. The
|
|
107
112
|
* selected muxer will be used for all future streams on the connection.
|
|
108
113
|
*/
|
|
109
|
-
_multiplexInbound(
|
|
110
|
-
stream: MultiaddrConnection;
|
|
111
|
-
muxerFactory?: StreamMuxerFactory;
|
|
112
|
-
}>;
|
|
114
|
+
_multiplexInbound(maConn: MessageStream, muxers: Map<string, StreamMuxerFactory>, options: AbortOptions): Promise<StreamMuxerFactory>;
|
|
113
115
|
getConnectionEncrypters(): Map<string, ConnectionEncrypter<unknown>>;
|
|
114
116
|
getStreamMuxers(): Map<string, StreamMuxerFactory>;
|
|
115
117
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrader.d.ts","sourceRoot":"","sources":["../../src/upgrader.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"upgrader.d.ts","sourceRoot":"","sources":["../../src/upgrader.ts"],"names":[],"mappings":"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"}
|