@libp2p/interface 1.7.0 → 2.0.0-1210884ed
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 +1 -1
- package/dist/src/connection/index.d.ts +32 -8
- package/dist/src/connection/index.d.ts.map +1 -1
- package/dist/src/connection/index.js.map +1 -1
- package/dist/src/connection-encrypter/index.d.ts +11 -2
- package/dist/src/connection-encrypter/index.d.ts.map +1 -1
- package/dist/src/errors.d.ts +200 -25
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +280 -43
- package/dist/src/errors.js.map +1 -1
- package/dist/src/event-target.d.ts +0 -4
- package/dist/src/event-target.d.ts.map +1 -1
- package/dist/src/event-target.js +0 -1
- package/dist/src/event-target.js.map +1 -1
- package/dist/src/index.d.ts +12 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/keys/index.d.ts +75 -24
- package/dist/src/keys/index.d.ts.map +1 -1
- package/dist/src/keys/index.js +1 -3
- package/dist/src/keys/index.js.map +1 -1
- package/dist/src/metrics/index.d.ts +8 -8
- package/dist/src/metrics/index.d.ts.map +1 -1
- package/dist/src/peer-id/index.d.ts +120 -18
- package/dist/src/peer-id/index.d.ts.map +1 -1
- package/dist/src/peer-id/index.js +8 -1
- package/dist/src/peer-id/index.js.map +1 -1
- package/dist/src/peer-store/index.d.ts +5 -2
- package/dist/src/peer-store/index.d.ts.map +1 -1
- package/dist/src/pubsub/index.d.ts +2 -1
- package/dist/src/pubsub/index.d.ts.map +1 -1
- package/dist/src/pubsub/index.js.map +1 -1
- package/dist/src/record/index.d.ts +2 -2
- package/dist/src/record/index.d.ts.map +1 -1
- package/dist/src/stream-handler/index.d.ts +3 -3
- package/dist/src/stream-handler/index.d.ts.map +1 -1
- package/dist/src/topology/index.d.ts +4 -3
- package/dist/src/topology/index.d.ts.map +1 -1
- package/dist/src/transport/index.d.ts +3 -7
- package/dist/src/transport/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/connection/index.ts +34 -8
- package/src/connection-encrypter/index.ts +12 -2
- package/src/errors.ts +320 -49
- package/src/event-target.ts +0 -2
- package/src/index.ts +12 -4
- package/src/keys/index.ts +80 -25
- package/src/metrics/index.ts +8 -8
- package/src/peer-id/index.ts +140 -19
- package/src/peer-store/index.ts +5 -2
- package/src/pubsub/index.ts +2 -1
- package/src/record/index.ts +2 -2
- package/src/stream-handler/index.ts +3 -3
- package/src/topology/index.ts +4 -3
- package/src/transport/index.ts +3 -8
- package/dist/typedoc-urls.json +0 -175
package/dist/index.min.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PInterface = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var Libp2PInterface=(()=>{var n=Object.defineProperty;var
|
|
2
|
+
"use strict";var Libp2PInterface=(()=>{var n=Object.defineProperty;var H=Object.getOwnPropertyDescriptor;var J=Object.getOwnPropertyNames;var Q=Object.prototype.hasOwnProperty;var V=(t,r)=>{for(var e in r)n(t,e,{get:r[e],enumerable:!0})},W=(t,r,e,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of J(r))!Q.call(t,o)&&o!==e&&n(t,o,{get:()=>r[o],enumerable:!(s=H(r,o))||s.enumerable});return t};var X=t=>W(n({},"__esModule",{value:!0}),t);var lr={};V(lr,{AbortError:()=>c,AlreadyStartedError:()=>D,ConnectionClosedError:()=>E,ConnectionClosingError:()=>f,ConnectionFailedError:()=>h,DialError:()=>N,FaultTolerance:()=>i,InvalidCIDError:()=>L,InvalidCryptoExchangeError:()=>l,InvalidMessageError:()=>A,InvalidMultiaddrError:()=>g,InvalidMultihashError:()=>P,InvalidParametersError:()=>m,InvalidPeerIdError:()=>I,InvalidPrivateKeyError:()=>x,InvalidPublicKeyError:()=>u,KEEP_ALIVE:()=>er,LimitedConnectionError:()=>k,ListenError:()=>U,MuxerClosedError:()=>b,NotFoundError:()=>v,NotStartedError:()=>M,ProtocolError:()=>C,StreamResetError:()=>y,StreamStateError:()=>S,StrictNoSign:()=>sr,StrictSign:()=>or,TimeoutError:()=>T,TooManyInboundProtocolStreamsError:()=>_,TooManyOutboundProtocolStreamsError:()=>F,TopicValidatorResult:()=>a,TypedEventEmitter:()=>B,UnexpectedPeerError:()=>p,UnsupportedKeyTypeError:()=>K,UnsupportedOperationError:()=>d,UnsupportedProtocolError:()=>w,connectionSymbol:()=>j,contentRoutingSymbol:()=>Z,isConnection:()=>Y,isPeerId:()=>rr,isStartable:()=>R,isTransport:()=>nr,peerDiscoverySymbol:()=>$,peerIdSymbol:()=>q,peerRoutingSymbol:()=>tr,serviceCapabilities:()=>cr,serviceDependencies:()=>pr,setMaxListeners:()=>O,start:()=>ar,stop:()=>ir,transportSymbol:()=>z});var j=Symbol.for("@libp2p/connection");function Y(t){return t!=null&&!!t[j]}var Z=Symbol.for("@libp2p/content-routing");var $=Symbol.for("@libp2p/peer-discovery");var q=Symbol.for("@libp2p/peer-id");function rr(t){return!!t?.[q]}var tr=Symbol.for("@libp2p/peer-routing");var er="keep-alive";var or="StrictSign",sr="StrictNoSign",a;(function(t){t.Accept="accept",t.Ignore="ignore",t.Reject="reject"})(a||(a={}));var z=Symbol.for("@libp2p/transport");function nr(t){return t!=null&&!!t[z]}var i;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(i||(i={}));var c=class extends Error{static name="AbortError";constructor(r="The operation was aborted"){super(r),this.name="AbortError"}},p=class extends Error{static name="UnexpectedPeerError";constructor(r="Unexpected Peer"){super(r),this.name="UnexpectedPeerError"}},l=class extends Error{static name="InvalidCryptoExchangeError";constructor(r="Invalid crypto exchange"){super(r),this.name="InvalidCryptoExchangeError"}},m=class extends Error{static name="InvalidParametersError";constructor(r="Invalid parameters"){super(r),this.name="InvalidParametersError"}},u=class extends Error{static name="InvalidPublicKeyError";constructor(r="Invalid public key"){super(r),this.name="InvalidPublicKeyError"}},x=class extends Error{static name="InvalidPrivateKeyError";constructor(r="Invalid private key"){super(r),this.name="InvalidPrivateKeyError"}},d=class extends Error{static name="UnsupportedOperationError";constructor(r="Unsupported operation"){super(r),this.name="UnsupportedOperationError"}},f=class extends Error{static name="ConnectionClosingError";constructor(r="The connection is closing"){super(r),this.name="ConnectionClosingError"}},E=class extends Error{static name="ConnectionClosedError";constructor(r="The connection is closed"){super(r),this.name="ConnectionClosedError"}},h=class extends Error{static name="ConnectionFailedError";constructor(r="Connection failed"){super(r),this.name="ConnectionFailedError"}},b=class extends Error{static name="MuxerClosedError";constructor(r="The muxer is closed"){super(r),this.name="MuxerClosedError"}},y=class extends Error{static name="StreamResetError";constructor(r="The stream has been reset"){super(r),this.name="StreamResetError"}},S=class extends Error{static name="StreamStateError";constructor(r="The stream is in an invalid state"){super(r),this.name="StreamStateError"}},v=class extends Error{static name="NotFoundError";constructor(r="Not found"){super(r),this.name="NotFoundError"}},I=class extends Error{static name="InvalidPeerIdError";constructor(r="Invalid PeerID"){super(r),this.name="InvalidPeerIdError"}},g=class extends Error{static name="InvalidMultiaddrError";constructor(r="Invalid multiaddr"){super(r),this.name="InvalidMultiaddrError"}},L=class extends Error{static name="InvalidCIDError";constructor(r="Invalid CID"){super(r),this.name="InvalidCIDError"}},P=class extends Error{static name="InvalidMultihashError";constructor(r="Invalid Multihash"){super(r),this.name="InvalidMultihashError"}},w=class extends Error{static name="UnsupportedProtocolError";constructor(r="Unsupported protocol error"){super(r),this.name="UnsupportedProtocolError"}},A=class extends Error{static name="InvalidMessageError";constructor(r="Invalid message"){super(r),this.name="InvalidMessageError"}},C=class extends Error{static name="ProtocolError";constructor(r="Protocol error"){super(r),this.name="ProtocolError"}},T=class extends Error{static name="TimeoutError";constructor(r="Timed out"){super(r),this.name="TimeoutError"}},M=class extends Error{static name="NotStartedError";constructor(r="Not started"){super(r),this.name="NotStartedError"}},D=class extends Error{static name="AlreadyStartedError";constructor(r="Already started"){super(r),this.name="AlreadyStartedError"}},N=class extends Error{static name="DialError";constructor(r="Dial error"){super(r),this.name="DialError"}},U=class extends Error{static name="ListenError";constructor(r="Listen error"){super(r),this.name="ListenError"}},k=class extends Error{static name="LimitedConnectionError";constructor(r="Limited connection"){super(r),this.name="LimitedConnectionError"}},_=class extends Error{static name="TooManyInboundProtocolStreamsError";constructor(r="Too many inbound protocol streams"){super(r),this.name="TooManyInboundProtocolStreamsError"}},F=class extends Error{static name="TooManyOutboundProtocolStreamsError";constructor(r="Too many outbound protocol streams"){super(r),this.name="TooManyOutboundProtocolStreamsError"}},K=class extends Error{static name="UnsupportedKeyTypeError";constructor(r="Unsupported key type"){super(r),this.name="UnsupportedKeyTypeError"}};var O=(t,...r)=>{try{[...r]}catch{}};var B=class extends EventTarget{#r=new Map;constructor(){super(),O(1/0,this)}listenerCount(r){let e=this.#r.get(r);return e==null?0:e.length}addEventListener(r,e,s){super.addEventListener(r,e,s);let o=this.#r.get(r);o==null&&(o=[],this.#r.set(r,o)),o.push({callback:e,once:(s!==!0&&s!==!1&&s?.once)??!1})}removeEventListener(r,e,s){super.removeEventListener(r.toString(),e??null,s);let o=this.#r.get(r);o!=null&&(o=o.filter(({callback:G})=>G!==e),this.#r.set(r,o))}dispatchEvent(r){let e=super.dispatchEvent(r),s=this.#r.get(r.type);return s==null||(s=s.filter(({once:o})=>!o),this.#r.set(r.type,s)),e}safeDispatchEvent(r,e={}){return this.dispatchEvent(new CustomEvent(r,e))}};function R(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}async function ar(...t){let r=[];for(let e of t)R(e)&&r.push(e);await Promise.all(r.map(async e=>{e.beforeStart!=null&&await e.beforeStart()})),await Promise.all(r.map(async e=>{await e.start()})),await Promise.all(r.map(async e=>{e.afterStart!=null&&await e.afterStart()}))}async function ir(...t){let r=[];for(let e of t)R(e)&&r.push(e);await Promise.all(r.map(async e=>{e.beforeStop!=null&&await e.beforeStop()})),await Promise.all(r.map(async e=>{await e.stop()})),await Promise.all(r.map(async e=>{e.afterStop!=null&&await e.afterStop()}))}var cr=Symbol.for("@libp2p/service-capabilities"),pr=Symbol.for("@libp2p/service-dependencies");return X(lr);})();
|
|
3
3
|
return Libp2PInterface}));
|
|
@@ -157,12 +157,16 @@ export interface NewStreamOptions extends AbortOptions {
|
|
|
157
157
|
*/
|
|
158
158
|
maxOutboundStreams?: number;
|
|
159
159
|
/**
|
|
160
|
-
* Opt-in to running over a
|
|
161
|
-
*
|
|
160
|
+
* Opt-in to running over a limited connection - one that has restrictions
|
|
161
|
+
* on the amount of data that may be transferred or how long it may be open for.
|
|
162
|
+
*
|
|
163
|
+
* These limits are typically enforced by a relay server, if the protocol
|
|
164
|
+
* will be transferring a lot of data or the stream will be open for a long time
|
|
165
|
+
* consider upgrading to a direct connection before opening the stream.
|
|
162
166
|
*
|
|
163
167
|
* @default false
|
|
164
168
|
*/
|
|
165
|
-
|
|
169
|
+
runOnLimitedConnection?: boolean;
|
|
166
170
|
/**
|
|
167
171
|
* By default when negotiating a protocol the dialer writes then protocol name
|
|
168
172
|
* then reads the response.
|
|
@@ -191,6 +195,27 @@ export interface NewStreamOptions extends AbortOptions {
|
|
|
191
195
|
negotiateFully?: boolean;
|
|
192
196
|
}
|
|
193
197
|
export type ConnectionStatus = 'open' | 'closing' | 'closed';
|
|
198
|
+
/**
|
|
199
|
+
* Connection limits are present on connections that are only allowed to
|
|
200
|
+
* transfer a certain amount of bytes or be open for a certain number
|
|
201
|
+
* of seconds.
|
|
202
|
+
*
|
|
203
|
+
* These limits are applied by Circuit Relay v2 servers, for example and
|
|
204
|
+
* the connection will normally be closed abruptly if the limits are
|
|
205
|
+
* exceeded.
|
|
206
|
+
*/
|
|
207
|
+
export interface ConnectionLimits {
|
|
208
|
+
/**
|
|
209
|
+
* If present this is the number of bytes remaining that may be
|
|
210
|
+
* transferred over this connection
|
|
211
|
+
*/
|
|
212
|
+
bytes?: bigint;
|
|
213
|
+
/**
|
|
214
|
+
* If present this is the number of seconds that this connection will
|
|
215
|
+
* remain open for
|
|
216
|
+
*/
|
|
217
|
+
seconds?: number;
|
|
218
|
+
}
|
|
194
219
|
/**
|
|
195
220
|
* A Connection is a high-level representation of a connection
|
|
196
221
|
* to a remote peer that may have been secured by encryption and
|
|
@@ -239,12 +264,11 @@ export interface Connection {
|
|
|
239
264
|
*/
|
|
240
265
|
status: ConnectionStatus;
|
|
241
266
|
/**
|
|
242
|
-
*
|
|
243
|
-
*
|
|
244
|
-
*
|
|
245
|
-
* over transient connections.
|
|
267
|
+
* If present, this connection has limits applied to it, perhaps by an
|
|
268
|
+
* intermediate relay. Once the limits have been reached the connection will
|
|
269
|
+
* be closed by the relay.
|
|
246
270
|
*/
|
|
247
|
-
|
|
271
|
+
limits?: ConnectionLimits;
|
|
248
272
|
/**
|
|
249
273
|
* The time in milliseconds it takes to make a round trip to the remote peer.
|
|
250
274
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/connection/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,UAAU,CAAA;AAE9C,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAA;AAE9E;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAA;AAEvD;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAA;AAE7E;;;;;;GAMG;AACH,MAAM,WAAW,MAAO,SAAQ,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,cAAc,GAAG,UAAU,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACxH;;;;;;;;OAQG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE5C;;;;;;OAMG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhD;;;;OAIG;IACH,UAAU,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEjD;;;;;;;;OAQG;IACH,KAAK,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,CAAA;IAEvB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,SAAS,EAAE,SAAS,CAAA;IAEpB;;OAEG;IACH,QAAQ,EAAE,cAAc,CAAA;IAExB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAE7B;;OAEG;IACH,MAAM,EAAE,YAAY,CAAA;IAEpB;;OAEG;IACH,UAAU,EAAE,UAAU,CAAA;IAEtB;;OAEG;IACH,WAAW,EAAE,WAAW,CAAA;IAExB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAE3B
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/connection/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connection/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connection/index.ts"],"names":[],"mappings":"AAwVA,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;AAEhE,MAAM,UAAU,YAAY,CAAE,KAAU;IACtC,OAAO,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAA;AAC1D,CAAC"}
|
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
import type { MultiaddrConnection } from '../connection/index.js';
|
|
2
|
+
import type { AbortOptions } from '../index.js';
|
|
2
3
|
import type { PeerId } from '../peer-id/index.js';
|
|
3
4
|
import type { Duplex } from 'it-stream-types';
|
|
4
5
|
import type { Uint8ArrayList } from 'uint8arraylist';
|
|
6
|
+
/**
|
|
7
|
+
* If the remote PeerId is known and passed as an option, the securing operation
|
|
8
|
+
* will throw if the remote peer cannot prove it has the private key that
|
|
9
|
+
* corresponds to the public key the remote PeerId is derived from.
|
|
10
|
+
*/
|
|
11
|
+
export interface SecureConnectionOptions extends AbortOptions {
|
|
12
|
+
remotePeer?: PeerId;
|
|
13
|
+
}
|
|
5
14
|
/**
|
|
6
15
|
* A libp2p connection encrypter module must be compliant to this interface
|
|
7
16
|
* to ensure all exchanged data between two peers is encrypted.
|
|
@@ -13,13 +22,13 @@ export interface ConnectionEncrypter<Extension = unknown> {
|
|
|
13
22
|
* pass it for extra verification, otherwise it will be determined during
|
|
14
23
|
* the handshake.
|
|
15
24
|
*/
|
|
16
|
-
secureOutbound<Stream extends Duplex<AsyncGenerator<Uint8Array | Uint8ArrayList>> = MultiaddrConnection>(
|
|
25
|
+
secureOutbound<Stream extends Duplex<AsyncGenerator<Uint8Array | Uint8ArrayList>> = MultiaddrConnection>(connection: Stream, options?: SecureConnectionOptions): Promise<SecuredConnection<Stream, Extension>>;
|
|
17
26
|
/**
|
|
18
27
|
* Decrypt incoming data. If the remote PeerId is known,
|
|
19
28
|
* pass it for extra verification, otherwise it will be determined during
|
|
20
29
|
* the handshake
|
|
21
30
|
*/
|
|
22
|
-
secureInbound<Stream extends Duplex<AsyncGenerator<Uint8Array | Uint8ArrayList>> = MultiaddrConnection>(
|
|
31
|
+
secureInbound<Stream extends Duplex<AsyncGenerator<Uint8Array | Uint8ArrayList>> = MultiaddrConnection>(connection: Stream, options?: SecureConnectionOptions): Promise<SecuredConnection<Stream, Extension>>;
|
|
23
32
|
}
|
|
24
33
|
export interface SecuredConnection<Stream = any, Extension = unknown> {
|
|
25
34
|
conn: Stream;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/connection-encrypter/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD;;;GAGG;AACH,MAAM,WAAW,mBAAmB,CAAC,SAAS,GAAG,OAAO;IACtD,QAAQ,EAAE,MAAM,CAAA;IAEhB;;;;OAIG;IACH,cAAc,CAAE,MAAM,SAAS,MAAM,CAAC,cAAc,CAAC,UAAU,GAAG,cAAc,CAAC,CAAC,GAAG,mBAAmB,EAAG,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/connection-encrypter/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD;;;;GAIG;AACH,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB,CAAC,SAAS,GAAG,OAAO;IACtD,QAAQ,EAAE,MAAM,CAAA;IAEhB;;;;OAIG;IACH,cAAc,CAAE,MAAM,SAAS,MAAM,CAAC,cAAc,CAAC,UAAU,GAAG,cAAc,CAAC,CAAC,GAAG,mBAAmB,EAAG,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;IAEhN;;;;OAIG;IACH,aAAa,CAAE,MAAM,SAAS,MAAM,CAAC,cAAc,CAAC,UAAU,GAAG,cAAc,CAAC,CAAC,GAAG,mBAAmB,EAAG,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;CAChN;AAED,MAAM,WAAW,iBAAiB,CAAC,MAAM,GAAG,GAAG,EAAE,SAAS,GAAG,OAAO;IAClE,IAAI,EAAE,MAAM,CAAA;IACZ,gBAAgB,CAAC,EAAE,SAAS,CAAA;IAC5B,UAAU,EAAE,MAAM,CAAA;CACnB"}
|
package/dist/src/errors.d.ts
CHANGED
|
@@ -4,39 +4,214 @@
|
|
|
4
4
|
* AbortSignal.
|
|
5
5
|
*/
|
|
6
6
|
export declare class AbortError extends Error {
|
|
7
|
-
|
|
8
|
-
readonly type: string;
|
|
7
|
+
static name: string;
|
|
9
8
|
constructor(message?: string);
|
|
10
|
-
static readonly code = "ABORT_ERR";
|
|
11
|
-
static readonly type = "aborted";
|
|
12
|
-
}
|
|
13
|
-
export declare class CodeError<T extends Record<string, any> = Record<string, never>> extends Error {
|
|
14
|
-
readonly code: string;
|
|
15
|
-
readonly props: T;
|
|
16
|
-
constructor(message: string, code: string, props?: T);
|
|
17
|
-
}
|
|
18
|
-
export declare class AggregateCodeError<T extends Record<string, any> = Record<string, never>> extends AggregateError {
|
|
19
|
-
readonly code: string;
|
|
20
|
-
readonly props: T;
|
|
21
|
-
constructor(errors: Error[], message: string, code: string, props?: T);
|
|
22
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Thrown when a remote Peer ID does not match the expected one
|
|
12
|
+
*/
|
|
23
13
|
export declare class UnexpectedPeerError extends Error {
|
|
24
|
-
|
|
14
|
+
static name: string;
|
|
25
15
|
constructor(message?: string);
|
|
26
|
-
static readonly code = "ERR_UNEXPECTED_PEER";
|
|
27
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Thrown when a crypto exchange fails
|
|
19
|
+
*/
|
|
28
20
|
export declare class InvalidCryptoExchangeError extends Error {
|
|
29
|
-
|
|
21
|
+
static name: string;
|
|
22
|
+
constructor(message?: string);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Thrown when invalid parameters are passed to a function or method call
|
|
26
|
+
*/
|
|
27
|
+
export declare class InvalidParametersError extends Error {
|
|
28
|
+
static name: string;
|
|
29
|
+
constructor(message?: string);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Thrown when a public key is invalid
|
|
33
|
+
*/
|
|
34
|
+
export declare class InvalidPublicKeyError extends Error {
|
|
35
|
+
static name: string;
|
|
36
|
+
constructor(message?: string);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Thrown when a private key is invalid
|
|
40
|
+
*/
|
|
41
|
+
export declare class InvalidPrivateKeyError extends Error {
|
|
42
|
+
static name: string;
|
|
43
|
+
constructor(message?: string);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Thrown when a operation is unsupported
|
|
47
|
+
*/
|
|
48
|
+
export declare class UnsupportedOperationError extends Error {
|
|
49
|
+
static name: string;
|
|
50
|
+
constructor(message?: string);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Thrown when a connection is closing
|
|
54
|
+
*/
|
|
55
|
+
export declare class ConnectionClosingError extends Error {
|
|
56
|
+
static name: string;
|
|
57
|
+
constructor(message?: string);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Thrown when a connection is closed
|
|
61
|
+
*/
|
|
62
|
+
export declare class ConnectionClosedError extends Error {
|
|
63
|
+
static name: string;
|
|
64
|
+
constructor(message?: string);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Thrown when a connection fails
|
|
68
|
+
*/
|
|
69
|
+
export declare class ConnectionFailedError extends Error {
|
|
70
|
+
static name: string;
|
|
71
|
+
constructor(message?: string);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Thrown when the muxer is closed and an attempt to open a stream occurs
|
|
75
|
+
*/
|
|
76
|
+
export declare class MuxerClosedError extends Error {
|
|
77
|
+
static name: string;
|
|
78
|
+
constructor(message?: string);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Thrown when a protocol stream is reset by the remote muxer
|
|
82
|
+
*/
|
|
83
|
+
export declare class StreamResetError extends Error {
|
|
84
|
+
static name: string;
|
|
85
|
+
constructor(message?: string);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Thrown when a stream is in an invalid state
|
|
89
|
+
*/
|
|
90
|
+
export declare class StreamStateError extends Error {
|
|
91
|
+
static name: string;
|
|
92
|
+
constructor(message?: string);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Thrown when a value could not be found
|
|
96
|
+
*/
|
|
97
|
+
export declare class NotFoundError extends Error {
|
|
98
|
+
static name: string;
|
|
99
|
+
constructor(message?: string);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Thrown when an invalid peer ID is encountered
|
|
103
|
+
*/
|
|
104
|
+
export declare class InvalidPeerIdError extends Error {
|
|
105
|
+
static name: string;
|
|
106
|
+
constructor(message?: string);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Thrown when an invalid multiaddr is encountered
|
|
110
|
+
*/
|
|
111
|
+
export declare class InvalidMultiaddrError extends Error {
|
|
112
|
+
static name: string;
|
|
113
|
+
constructor(message?: string);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Thrown when an invalid CID is encountered
|
|
117
|
+
*/
|
|
118
|
+
export declare class InvalidCIDError extends Error {
|
|
119
|
+
static name: string;
|
|
120
|
+
constructor(message?: string);
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Thrown when an invalid multihash is encountered
|
|
124
|
+
*/
|
|
125
|
+
export declare class InvalidMultihashError extends Error {
|
|
126
|
+
static name: string;
|
|
127
|
+
constructor(message?: string);
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Thrown when a protocol is not supported
|
|
131
|
+
*/
|
|
132
|
+
export declare class UnsupportedProtocolError extends Error {
|
|
133
|
+
static name: string;
|
|
134
|
+
constructor(message?: string);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* An invalid or malformed message was encountered during a protocol exchange
|
|
138
|
+
*/
|
|
139
|
+
export declare class InvalidMessageError extends Error {
|
|
140
|
+
static name: string;
|
|
141
|
+
constructor(message?: string);
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Thrown when a remote peer sends a structurally valid message that does not
|
|
145
|
+
* comply with the protocol
|
|
146
|
+
*/
|
|
147
|
+
export declare class ProtocolError extends Error {
|
|
148
|
+
static name: string;
|
|
149
|
+
constructor(message?: string);
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Throw when an operation times out
|
|
153
|
+
*/
|
|
154
|
+
export declare class TimeoutError extends Error {
|
|
155
|
+
static name: string;
|
|
156
|
+
constructor(message?: string);
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Thrown when a startable component is interacted with but it has not been
|
|
160
|
+
* started yet
|
|
161
|
+
*/
|
|
162
|
+
export declare class NotStartedError extends Error {
|
|
163
|
+
static name: string;
|
|
164
|
+
constructor(message?: string);
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Thrown when a component is started that has already been started
|
|
168
|
+
*/
|
|
169
|
+
export declare class AlreadyStartedError extends Error {
|
|
170
|
+
static name: string;
|
|
171
|
+
constructor(message?: string);
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Thrown when dialing an address failed
|
|
175
|
+
*/
|
|
176
|
+
export declare class DialError extends Error {
|
|
177
|
+
static name: string;
|
|
178
|
+
constructor(message?: string);
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Thrown when listening on an address failed
|
|
182
|
+
*/
|
|
183
|
+
export declare class ListenError extends Error {
|
|
184
|
+
static name: string;
|
|
30
185
|
constructor(message?: string);
|
|
31
|
-
static readonly code = "ERR_INVALID_CRYPTO_EXCHANGE";
|
|
32
186
|
}
|
|
33
|
-
|
|
34
|
-
|
|
187
|
+
/**
|
|
188
|
+
* This error is thrown when a limited connection is encountered, i.e. if the
|
|
189
|
+
* user tried to open a stream on a connection for a protocol that is not
|
|
190
|
+
* configured to run over limited connections.
|
|
191
|
+
*/
|
|
192
|
+
export declare class LimitedConnectionError extends Error {
|
|
193
|
+
static name: string;
|
|
194
|
+
constructor(message?: string);
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* This error is thrown where there are too many inbound protocols streams open
|
|
198
|
+
*/
|
|
199
|
+
export declare class TooManyInboundProtocolStreamsError extends Error {
|
|
200
|
+
static name: string;
|
|
201
|
+
constructor(message?: string);
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* This error is thrown where there are too many outbound protocols streams open
|
|
205
|
+
*/
|
|
206
|
+
export declare class TooManyOutboundProtocolStreamsError extends Error {
|
|
207
|
+
static name: string;
|
|
208
|
+
constructor(message?: string);
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Thrown when and attempt to operate on an unsupported key was made
|
|
212
|
+
*/
|
|
213
|
+
export declare class UnsupportedKeyTypeError extends Error {
|
|
214
|
+
static name: string;
|
|
35
215
|
constructor(message?: string);
|
|
36
|
-
static readonly code = "ERR_INVALID_CRYPTO_TRANSMISSION";
|
|
37
216
|
}
|
|
38
|
-
export declare const ERR_TIMEOUT = "ERR_TIMEOUT";
|
|
39
|
-
export declare const ERR_INVALID_PARAMETERS = "ERR_INVALID_PARAMETERS";
|
|
40
|
-
export declare const ERR_NOT_FOUND = "ERR_NOT_FOUND";
|
|
41
|
-
export declare const ERR_INVALID_MESSAGE = "ERR_INVALID_MESSAGE";
|
|
42
217
|
//# sourceMappingURL=errors.d.ts.map
|
package/dist/src/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
|