libp2p 0.43.4 → 0.44.0-17eb162a
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 +29 -29
- package/dist/src/address-manager/index.d.ts +4 -4
- package/dist/src/address-manager/index.d.ts.map +1 -1
- package/dist/src/address-manager/index.js +9 -6
- package/dist/src/address-manager/index.js.map +1 -1
- package/dist/src/autonat/index.d.ts +1 -2
- package/dist/src/autonat/index.d.ts.map +1 -1
- package/dist/src/autonat/index.js +4 -6
- package/dist/src/autonat/index.js.map +1 -1
- package/dist/src/circuit-relay/server/advert-service.d.ts.map +1 -1
- package/dist/src/circuit-relay/server/advert-service.js +2 -2
- package/dist/src/circuit-relay/server/advert-service.js.map +1 -1
- package/dist/src/circuit-relay/server/index.d.ts.map +1 -1
- package/dist/src/circuit-relay/server/index.js +7 -3
- package/dist/src/circuit-relay/server/index.js.map +1 -1
- package/dist/src/circuit-relay/transport/discovery.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/discovery.js +3 -1
- package/dist/src/circuit-relay/transport/discovery.js.map +1 -1
- package/dist/src/circuit-relay/transport/index.d.ts +3 -0
- package/dist/src/circuit-relay/transport/index.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/index.js +6 -2
- package/dist/src/circuit-relay/transport/index.js.map +1 -1
- package/dist/src/circuit-relay/transport/listener.d.ts +3 -0
- package/dist/src/circuit-relay/transport/listener.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/listener.js +5 -4
- package/dist/src/circuit-relay/transport/listener.js.map +1 -1
- package/dist/src/circuit-relay/transport/reservation-store.d.ts +4 -1
- package/dist/src/circuit-relay/transport/reservation-store.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/reservation-store.js +11 -6
- package/dist/src/circuit-relay/transport/reservation-store.js.map +1 -1
- package/dist/src/circuit-relay/utils.d.ts.map +1 -1
- package/dist/src/circuit-relay/utils.js +3 -1
- package/dist/src/circuit-relay/utils.js.map +1 -1
- package/dist/src/components.d.ts +8 -6
- package/dist/src/components.d.ts.map +1 -1
- package/dist/src/components.js +10 -10
- package/dist/src/components.js.map +1 -1
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +0 -9
- package/dist/src/config.js.map +1 -1
- package/dist/src/connection-manager/auto-dial.d.ts +39 -0
- package/dist/src/connection-manager/auto-dial.d.ts.map +1 -0
- package/dist/src/connection-manager/auto-dial.js +131 -0
- package/dist/src/connection-manager/auto-dial.js.map +1 -0
- package/dist/src/connection-manager/connection-pruner.d.ts +32 -0
- package/dist/src/connection-manager/connection-pruner.d.ts.map +1 -0
- package/dist/src/connection-manager/connection-pruner.js +111 -0
- package/dist/src/connection-manager/connection-pruner.js.map +1 -0
- package/dist/src/connection-manager/constants.d.ts +49 -0
- package/dist/src/connection-manager/constants.d.ts.map +1 -0
- package/dist/src/connection-manager/constants.js +49 -0
- package/dist/src/connection-manager/constants.js.map +1 -0
- package/dist/src/connection-manager/dial-queue.d.ts +78 -0
- package/dist/src/connection-manager/dial-queue.d.ts.map +1 -0
- package/dist/src/connection-manager/dial-queue.js +374 -0
- package/dist/src/connection-manager/dial-queue.js.map +1 -0
- package/dist/src/connection-manager/index.d.ts +70 -73
- package/dist/src/connection-manager/index.d.ts.map +1 -1
- package/dist/src/connection-manager/index.js +116 -248
- package/dist/src/connection-manager/index.js.map +1 -1
- package/dist/src/connection-manager/utils.d.ts +9 -0
- package/dist/src/connection-manager/utils.d.ts.map +1 -0
- package/dist/src/connection-manager/utils.js +66 -0
- package/dist/src/connection-manager/utils.js.map +1 -0
- package/dist/src/content-routing/index.js +1 -1
- package/dist/src/content-routing/index.js.map +1 -1
- package/dist/src/content-routing/utils.d.ts.map +1 -1
- package/dist/src/content-routing/utils.js +3 -1
- package/dist/src/content-routing/utils.js.map +1 -1
- package/dist/src/fetch/index.js +3 -3
- package/dist/src/fetch/index.js.map +1 -1
- package/dist/src/identify/index.d.ts +4 -0
- package/dist/src/identify/index.d.ts.map +1 -1
- package/dist/src/identify/index.js +104 -128
- package/dist/src/identify/index.js.map +1 -1
- package/dist/src/index.d.ts +2 -19
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/insecure/index.d.ts.map +1 -1
- package/dist/src/insecure/index.js +3 -1
- package/dist/src/insecure/index.js.map +1 -1
- package/dist/src/libp2p.d.ts +5 -3
- package/dist/src/libp2p.d.ts.map +1 -1
- package/dist/src/libp2p.js +47 -50
- package/dist/src/libp2p.js.map +1 -1
- package/dist/src/registrar.d.ts +5 -2
- package/dist/src/registrar.d.ts.map +1 -1
- package/dist/src/registrar.js +25 -23
- package/dist/src/registrar.js.map +1 -1
- package/dist/src/transport-manager.d.ts +9 -3
- package/dist/src/transport-manager.d.ts.map +1 -1
- package/dist/src/transport-manager.js +23 -9
- package/dist/src/transport-manager.js.map +1 -1
- package/dist/src/upgrader.d.ts +14 -11
- package/dist/src/upgrader.d.ts.map +1 -1
- package/dist/src/upgrader.js +14 -10
- package/dist/src/upgrader.js.map +1 -1
- package/package.json +46 -45
- package/src/address-manager/index.ts +12 -8
- package/src/autonat/index.ts +6 -9
- package/src/circuit-relay/server/advert-service.ts +2 -2
- package/src/circuit-relay/server/index.ts +7 -3
- package/src/circuit-relay/transport/discovery.ts +3 -1
- package/src/circuit-relay/transport/index.ts +10 -2
- package/src/circuit-relay/transport/listener.ts +8 -4
- package/src/circuit-relay/transport/reservation-store.ts +15 -7
- package/src/circuit-relay/utils.ts +3 -1
- package/src/components.ts +19 -17
- package/src/config.ts +0 -9
- package/src/connection-manager/auto-dial.ts +183 -0
- package/src/connection-manager/connection-pruner.ts +157 -0
- package/src/connection-manager/constants.ts +60 -0
- package/src/connection-manager/dial-queue.ts +512 -0
- package/src/connection-manager/index.ts +191 -340
- package/src/connection-manager/utils.ts +76 -0
- package/src/content-routing/index.ts +1 -1
- package/src/content-routing/utils.ts +3 -1
- package/src/fetch/index.ts +4 -4
- package/src/identify/index.ts +100 -140
- package/src/index.ts +2 -20
- package/src/insecure/index.ts +9 -5
- package/src/libp2p.ts +54 -60
- package/src/registrar.ts +29 -25
- package/src/transport-manager.ts +31 -11
- package/src/upgrader.ts +31 -22
- package/src/version.ts +1 -1
- package/dist/src/connection-manager/auto-dialler.d.ts +0 -42
- package/dist/src/connection-manager/auto-dialler.d.ts.map +0 -1
- package/dist/src/connection-manager/auto-dialler.js +0 -105
- package/dist/src/connection-manager/auto-dialler.js.map +0 -1
- package/dist/src/connection-manager/dialer/dial-request.d.ts +0 -27
- package/dist/src/connection-manager/dialer/dial-request.d.ts.map +0 -1
- package/dist/src/connection-manager/dialer/dial-request.js +0 -114
- package/dist/src/connection-manager/dialer/dial-request.js.map +0 -1
- package/dist/src/connection-manager/dialer/index.d.ts +0 -121
- package/dist/src/connection-manager/dialer/index.d.ts.map +0 -1
- package/dist/src/connection-manager/dialer/index.js +0 -324
- package/dist/src/connection-manager/dialer/index.js.map +0 -1
- package/dist/src/connection-manager/latency-monitor.d.ts +0 -120
- package/dist/src/connection-manager/latency-monitor.d.ts.map +0 -1
- package/dist/src/connection-manager/latency-monitor.js +0 -220
- package/dist/src/connection-manager/latency-monitor.js.map +0 -1
- package/dist/src/connection-manager/visibility-change-emitter.d.ts +0 -66
- package/dist/src/connection-manager/visibility-change-emitter.d.ts.map +0 -1
- package/dist/src/connection-manager/visibility-change-emitter.js +0 -118
- package/dist/src/connection-manager/visibility-change-emitter.js.map +0 -1
- package/dist/src/constants.d.ts +0 -27
- package/dist/src/constants.d.ts.map +0 -1
- package/dist/src/constants.js +0 -31
- package/dist/src/constants.js.map +0 -1
- package/dist/src/peer-record-updater.d.ts +0 -24
- package/dist/src/peer-record-updater.d.ts.map +0 -1
- package/dist/src/peer-record-updater.js +0 -44
- package/dist/src/peer-record-updater.js.map +0 -1
- package/dist/typedoc-urls.json +0 -41
- package/src/connection-manager/auto-dialler.ts +0 -158
- package/src/connection-manager/dialer/dial-request.ts +0 -144
- package/src/connection-manager/dialer/index.ts +0 -461
- package/src/connection-manager/latency-monitor.ts +0 -319
- package/src/connection-manager/visibility-change-emitter.ts +0 -135
- package/src/constants.ts +0 -36
- package/src/peer-record-updater.ts +0 -65
package/dist/src/index.d.ts
CHANGED
|
@@ -18,7 +18,6 @@ import type { TransportManagerInit } from './transport-manager.js';
|
|
|
18
18
|
import type { IdentifyServiceInit } from './identify/index.js';
|
|
19
19
|
import type { DualDHT } from '@libp2p/interface-dht';
|
|
20
20
|
import type { Datastore } from 'interface-datastore';
|
|
21
|
-
import type { PeerStoreInit } from '@libp2p/interface-peer-store';
|
|
22
21
|
import type { PeerId } from '@libp2p/interface-peer-id';
|
|
23
22
|
import type { PeerDiscovery } from '@libp2p/interface-peer-discovery';
|
|
24
23
|
import type { ConnectionProtector } from '@libp2p/interface-connection';
|
|
@@ -30,7 +29,6 @@ import type { PeerRouting } from '@libp2p/interface-peer-routing';
|
|
|
30
29
|
import type { ContentRouting } from '@libp2p/interface-content-routing';
|
|
31
30
|
import type { PubSub } from '@libp2p/interface-pubsub';
|
|
32
31
|
import type { Metrics } from '@libp2p/interface-metrics';
|
|
33
|
-
import type { PeerInfo } from '@libp2p/interface-peer-info';
|
|
34
32
|
import type { PingServiceInit } from './ping/index.js';
|
|
35
33
|
import type { FetchServiceInit } from './fetch/index.js';
|
|
36
34
|
import type { AutonatServiceInit } from './autonat/index.js';
|
|
@@ -42,6 +40,7 @@ import type { AddressManagerInit } from './address-manager/index.js';
|
|
|
42
40
|
import type { PeerRoutingInit } from './peer-routing.js';
|
|
43
41
|
import type { ConnectionManagerInit } from './connection-manager/index.js';
|
|
44
42
|
import type { CircuitRelayService } from './circuit-relay/index.js';
|
|
43
|
+
import type { PersistentPeerStoreInit } from '@libp2p/peer-store';
|
|
45
44
|
/**
|
|
46
45
|
* For Libp2p configurations and modules details read the [Configuration Document](./CONFIGURATION.md).
|
|
47
46
|
*/
|
|
@@ -75,7 +74,7 @@ export interface Libp2pInit {
|
|
|
75
74
|
/**
|
|
76
75
|
* libp2p PeerStore configuration
|
|
77
76
|
*/
|
|
78
|
-
peerStore:
|
|
77
|
+
peerStore: PersistentPeerStoreInit;
|
|
79
78
|
/**
|
|
80
79
|
* libp2p Peer routing service configuration
|
|
81
80
|
*/
|
|
@@ -135,22 +134,6 @@ export interface Libp2pInit {
|
|
|
135
134
|
*/
|
|
136
135
|
connectionProtector?: (components: Components) => ConnectionProtector;
|
|
137
136
|
}
|
|
138
|
-
/**
|
|
139
|
-
* Once you have a libp2p instance, you can listen to several events it emits, so that you can be notified of relevant network events.
|
|
140
|
-
*/
|
|
141
|
-
export interface Libp2pEvents {
|
|
142
|
-
/**
|
|
143
|
-
* @example
|
|
144
|
-
*
|
|
145
|
-
* ```js
|
|
146
|
-
* libp2p.addEventListener('peer:discovery', (event) => {
|
|
147
|
-
* const peerInfo = event.detail
|
|
148
|
-
* // ...
|
|
149
|
-
* })
|
|
150
|
-
* ```
|
|
151
|
-
*/
|
|
152
|
-
'peer:discovery': CustomEvent<PeerInfo>;
|
|
153
|
-
}
|
|
154
137
|
export type { Libp2p };
|
|
155
138
|
export type Libp2pOptions = RecursivePartial<Libp2pInit> & {
|
|
156
139
|
start?: boolean;
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAmJ9C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAE,OAAsB;IACxD,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAE5C,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE;QAC3B,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;KACnB;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/insecure/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AASH,OAAO,KAAK,EAAE,mBAAmB,EAAqB,MAAM,wCAAwC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/insecure/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AASH,OAAO,KAAK,EAAE,mBAAmB,EAAqB,MAAM,wCAAwC,CAAA;AAwGpG,wBAAgB,SAAS,IAAK,MAAM,mBAAmB,CAEtD"}
|
|
@@ -56,8 +56,10 @@ async function encrypt(localId, conn, remoteId) {
|
|
|
56
56
|
}).subarray());
|
|
57
57
|
log('write pubkey exchange to peer %p', remoteId);
|
|
58
58
|
// Get the Exchange message
|
|
59
|
-
// @ts-expect-error needs to be generator
|
|
60
59
|
const response = (await lp.decode.fromReader(shake.reader).next()).value;
|
|
60
|
+
if (response == null) {
|
|
61
|
+
throw new Error('Did not read response');
|
|
62
|
+
}
|
|
61
63
|
const id = Exchange.decode(response);
|
|
62
64
|
log('read pubkey exchange from peer %p', remoteId);
|
|
63
65
|
let peerId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/insecure/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,+CAA+C,CAAA;AAC/G,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAGjE,OAAO,GAAG,MAAM,QAAQ,CAAA;AAGxB,MAAM,GAAG,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAA;AACtC,MAAM,QAAQ,GAAG,kBAAkB,CAAA;AAEnC,SAAS,gBAAgB,CAAE,QAAkB;IAC3C,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAEpC,OAAO,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AAC7B,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,OAAO,CAAE,OAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/insecure/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/libp2p.d.ts
CHANGED
|
@@ -14,12 +14,13 @@ import type { PubSub } from '@libp2p/interface-pubsub';
|
|
|
14
14
|
import type { Registrar, StreamHandler, StreamHandlerOptions, Topology } from '@libp2p/interface-registrar';
|
|
15
15
|
import type { ConnectionManager } from '@libp2p/interface-connection-manager';
|
|
16
16
|
import type { PeerInfo } from '@libp2p/interface-peer-info';
|
|
17
|
-
import type { Libp2p,
|
|
17
|
+
import type { Libp2p, Libp2pInit, Libp2pOptions } from './index.js';
|
|
18
18
|
import type { PeerStore } from '@libp2p/interface-peer-store';
|
|
19
19
|
import type { DualDHT } from '@libp2p/interface-dht';
|
|
20
20
|
import type { Metrics } from '@libp2p/interface-metrics';
|
|
21
21
|
import type { KeyChain } from '@libp2p/interface-keychain';
|
|
22
22
|
import type { CircuitRelayService } from './circuit-relay/index.js';
|
|
23
|
+
import type { Libp2pEvents, PendingDial } from '@libp2p/interface-libp2p';
|
|
23
24
|
export declare class Libp2pNode extends EventEmitter<Libp2pEvents> implements Libp2p {
|
|
24
25
|
peerId: PeerId;
|
|
25
26
|
dht: DualDHT;
|
|
@@ -51,6 +52,7 @@ export declare class Libp2pNode extends EventEmitter<Libp2pEvents> implements Li
|
|
|
51
52
|
stop(): Promise<void>;
|
|
52
53
|
isStarted(): boolean;
|
|
53
54
|
getConnections(peerId?: PeerId): Connection[];
|
|
55
|
+
getDialQueue(): PendingDial[];
|
|
54
56
|
getPeers(): PeerId[];
|
|
55
57
|
dial(peer: PeerId | Multiaddr | Multiaddr[], options?: AbortOptions): Promise<Connection>;
|
|
56
58
|
dialProtocol(peer: PeerId | Multiaddr | Multiaddr[], protocols: string | string[], options?: AbortOptions): Promise<Stream>;
|
|
@@ -68,8 +70,8 @@ export declare class Libp2pNode extends EventEmitter<Libp2pEvents> implements Li
|
|
|
68
70
|
register(protocol: string, topology: Topology): Promise<string>;
|
|
69
71
|
unregister(id: string): void;
|
|
70
72
|
/**
|
|
71
|
-
* Called whenever peer discovery services emit `peer` events
|
|
72
|
-
*
|
|
73
|
+
* Called whenever peer discovery services emit `peer` events and adds peers
|
|
74
|
+
* to the peer store.
|
|
73
75
|
*/
|
|
74
76
|
onDiscoveryPeer(evt: CustomEvent<PeerInfo>): void;
|
|
75
77
|
}
|
package/dist/src/libp2p.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libp2p.d.ts","sourceRoot":"","sources":["../../src/libp2p.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAe,MAAM,2BAA2B,CAAA;AAErE,OAAO,EAAe,SAAS,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"libp2p.d.ts","sourceRoot":"","sources":["../../src/libp2p.ts"],"names":[],"mappings":"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"}
|
package/dist/src/libp2p.js
CHANGED
|
@@ -8,7 +8,6 @@ import { CompoundContentRouting } from './content-routing/index.js';
|
|
|
8
8
|
import { codes } from './errors.js';
|
|
9
9
|
import { DefaultAddressManager } from './address-manager/index.js';
|
|
10
10
|
import { DefaultConnectionManager } from './connection-manager/index.js';
|
|
11
|
-
import { AutoDialler } from './connection-manager/auto-dialler.js';
|
|
12
11
|
import { DefaultKeyChain } from '@libp2p/keychain';
|
|
13
12
|
import { DefaultTransportManager } from './transport-manager.js';
|
|
14
13
|
import { DefaultUpgrader } from './upgrader.js';
|
|
@@ -17,7 +16,6 @@ import { IdentifyService } from './identify/index.js';
|
|
|
17
16
|
import { FetchService } from './fetch/index.js';
|
|
18
17
|
import { PingService } from './ping/index.js';
|
|
19
18
|
import { NatManager } from './nat-manager.js';
|
|
20
|
-
import { PeerRecordUpdater } from './peer-record-updater.js';
|
|
21
19
|
import { DHTPeerRouting } from './dht/dht-peer-routing.js';
|
|
22
20
|
import { PersistentPeerStore } from '@libp2p/peer-store';
|
|
23
21
|
import { DHTContentRouting } from './dht/dht-content-routing.js';
|
|
@@ -28,21 +26,35 @@ import { createEd25519PeerId } from '@libp2p/peer-id-factory';
|
|
|
28
26
|
import { concat as uint8ArrayConcat } from 'uint8arrays/concat';
|
|
29
27
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
30
28
|
import { CodeError } from '@libp2p/interfaces/errors';
|
|
31
|
-
import { unmarshalPublicKey } from '@libp2p/crypto/keys';
|
|
32
29
|
import { DummyDHT } from './dht/dummy-dht.js';
|
|
33
30
|
import { DummyPubSub } from './pubsub/dummy-pubsub.js';
|
|
34
31
|
import { PeerSet } from '@libp2p/peer-collections';
|
|
35
|
-
import { DefaultDialer } from './connection-manager/dialer/index.js';
|
|
36
32
|
import { peerIdFromString } from '@libp2p/peer-id';
|
|
37
33
|
import mergeOptions from 'merge-options';
|
|
34
|
+
import { setMaxListeners } from 'events';
|
|
38
35
|
const log = logger('libp2p');
|
|
39
36
|
export class Libp2pNode extends EventEmitter {
|
|
40
37
|
constructor(init) {
|
|
41
38
|
super();
|
|
39
|
+
// event bus - components can listen to this emitter to be notified of system events
|
|
40
|
+
// and also cause them to be emitted
|
|
41
|
+
const events = new EventEmitter();
|
|
42
|
+
const originalDispatch = events.dispatchEvent.bind(events);
|
|
43
|
+
events.dispatchEvent = (evt) => {
|
|
44
|
+
const internalResult = originalDispatch(evt);
|
|
45
|
+
const externalResult = this.dispatchEvent(new CustomEvent(evt.type, { detail: evt.detail }));
|
|
46
|
+
return internalResult || externalResult;
|
|
47
|
+
};
|
|
48
|
+
try {
|
|
49
|
+
// This emitter gets listened to a lot
|
|
50
|
+
setMaxListeners?.(Infinity, events);
|
|
51
|
+
}
|
|
52
|
+
catch { }
|
|
42
53
|
this.started = false;
|
|
43
54
|
this.peerId = init.peerId;
|
|
44
55
|
const components = this.components = new DefaultComponents({
|
|
45
56
|
peerId: init.peerId,
|
|
57
|
+
events,
|
|
46
58
|
datastore: init.datastore ?? new MemoryDatastore(),
|
|
47
59
|
connectionGater: {
|
|
48
60
|
denyDialPeer: async () => await Promise.resolve(false),
|
|
@@ -69,9 +81,11 @@ export class Libp2pNode extends EventEmitter {
|
|
|
69
81
|
this.metrics = this.components.metrics = this.configureComponent(init.metrics(this.components));
|
|
70
82
|
}
|
|
71
83
|
this.peerStore = this.components.peerStore;
|
|
72
|
-
this.
|
|
73
|
-
|
|
74
|
-
|
|
84
|
+
this.components.events.addEventListener('peer:update', evt => {
|
|
85
|
+
// if there was no peer previously in the peer store this is a new peer
|
|
86
|
+
if (evt.detail.previous == null) {
|
|
87
|
+
this.safeDispatchEvent('peer:discovery', { detail: evt.detail.peer });
|
|
88
|
+
}
|
|
75
89
|
});
|
|
76
90
|
// Set up connection protector if configured
|
|
77
91
|
if (init.connectionProtector != null) {
|
|
@@ -83,25 +97,14 @@ export class Libp2pNode extends EventEmitter {
|
|
|
83
97
|
muxers: (init.streamMuxers ?? []).map(fn => this.configureComponent(fn(this.components))),
|
|
84
98
|
inboundUpgradeTimeout: init.connectionManager.inboundUpgradeTimeout
|
|
85
99
|
});
|
|
86
|
-
//
|
|
87
|
-
this.components.
|
|
100
|
+
// Setup the transport manager
|
|
101
|
+
this.components.transportManager = new DefaultTransportManager(this.components, init.transportManager);
|
|
88
102
|
// Create the Connection Manager
|
|
89
103
|
this.connectionManager = this.components.connectionManager = new DefaultConnectionManager(this.components, init.connectionManager);
|
|
90
|
-
// forward connection manager events
|
|
91
|
-
this.components.connectionManager.addEventListener('peer:disconnect', (event) => {
|
|
92
|
-
this.dispatchEvent(new CustomEvent('peer:disconnect', { detail: event.detail }));
|
|
93
|
-
});
|
|
94
|
-
this.components.connectionManager.addEventListener('peer:connect', (event) => {
|
|
95
|
-
this.dispatchEvent(new CustomEvent('peer:connect', { detail: event.detail }));
|
|
96
|
-
});
|
|
97
104
|
// Create the Registrar
|
|
98
105
|
this.registrar = this.components.registrar = new DefaultRegistrar(this.components);
|
|
99
|
-
// Setup the transport manager
|
|
100
|
-
this.components.transportManager = new DefaultTransportManager(this.components, init.transportManager);
|
|
101
106
|
// Addresses {listen, announce, noAnnounce}
|
|
102
107
|
this.components.addressManager = new DefaultAddressManager(this.components, init.addresses);
|
|
103
|
-
// update our peer record when addresses change
|
|
104
|
-
this.configureComponent(new PeerRecordUpdater(this.components));
|
|
105
108
|
// Create keychain
|
|
106
109
|
const keychainOpts = DefaultKeyChain.generateOptions();
|
|
107
110
|
this.keychain = this.configureComponent(new DefaultKeyChain(this.components, {
|
|
@@ -161,10 +164,6 @@ export class Libp2pNode extends EventEmitter {
|
|
|
161
164
|
this.autonatService = this.configureComponent(new AutonatService(this.components, {
|
|
162
165
|
...init.autonat
|
|
163
166
|
}));
|
|
164
|
-
this.configureComponent(new AutoDialler(this.components, {
|
|
165
|
-
minConnections: init.connectionManager.minConnections,
|
|
166
|
-
autoDialInterval: init.connectionManager.autoDialInterval
|
|
167
|
-
}));
|
|
168
167
|
if (init.relay != null) {
|
|
169
168
|
this.circuitService = this.configureComponent(init.relay(this.components));
|
|
170
169
|
}
|
|
@@ -249,6 +248,9 @@ export class Libp2pNode extends EventEmitter {
|
|
|
249
248
|
getConnections(peerId) {
|
|
250
249
|
return this.components.connectionManager.getConnections(peerId);
|
|
251
250
|
}
|
|
251
|
+
getDialQueue() {
|
|
252
|
+
return this.components.connectionManager.getDialQueue();
|
|
253
|
+
}
|
|
252
254
|
getPeers() {
|
|
253
255
|
const peerSet = new PeerSet();
|
|
254
256
|
for (const conn of this.components.connectionManager.getConnections()) {
|
|
@@ -257,7 +259,6 @@ export class Libp2pNode extends EventEmitter {
|
|
|
257
259
|
return Array.from(peerSet);
|
|
258
260
|
}
|
|
259
261
|
async dial(peer, options = {}) {
|
|
260
|
-
// @ts-expect-error
|
|
261
262
|
return await this.components.connectionManager.openConnection(peer, options);
|
|
262
263
|
}
|
|
263
264
|
async dialProtocol(peer, protocols, options = {}) {
|
|
@@ -292,30 +293,26 @@ export class Libp2pNode extends EventEmitter {
|
|
|
292
293
|
return peer.publicKey;
|
|
293
294
|
}
|
|
294
295
|
const peerInfo = await this.peerStore.get(peer);
|
|
295
|
-
if (peerInfo.
|
|
296
|
-
return peerInfo.
|
|
297
|
-
}
|
|
298
|
-
if (this.dht == null) {
|
|
299
|
-
throw new CodeError('Public key was not in the peer store and the DHT is not enabled', codes.ERR_NO_ROUTERS_AVAILABLE);
|
|
296
|
+
if (peerInfo.id.publicKey != null) {
|
|
297
|
+
return peerInfo.id.publicKey;
|
|
300
298
|
}
|
|
301
299
|
const peerKey = uint8ArrayConcat([
|
|
302
300
|
uint8ArrayFromString('/pk/'),
|
|
303
301
|
peer.multihash.digest
|
|
304
302
|
]);
|
|
305
|
-
// search
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
throw new CodeError(`Node not responding with its public key: ${peer.toString()}`, codes.ERR_INVALID_RECORD);
|
|
303
|
+
// search any available content routing methods
|
|
304
|
+
const bytes = await this.contentRouting.get(peerKey, options);
|
|
305
|
+
await this.peerStore.patch(peer, {
|
|
306
|
+
publicKey: bytes
|
|
307
|
+
});
|
|
308
|
+
return bytes;
|
|
314
309
|
}
|
|
315
310
|
async fetch(peer, key, options = {}) {
|
|
316
311
|
if (isMultiaddr(peer)) {
|
|
317
312
|
const peerId = peerIdFromString(peer.getPeerId() ?? '');
|
|
318
|
-
await this.components.peerStore.
|
|
313
|
+
await this.components.peerStore.merge(peerId, {
|
|
314
|
+
multiaddrs: [peer]
|
|
315
|
+
});
|
|
319
316
|
peer = peerId;
|
|
320
317
|
}
|
|
321
318
|
return await this.fetchService.fetch(peer, key, options);
|
|
@@ -323,7 +320,9 @@ export class Libp2pNode extends EventEmitter {
|
|
|
323
320
|
async ping(peer, options = {}) {
|
|
324
321
|
if (isMultiaddr(peer)) {
|
|
325
322
|
const peerId = peerIdFromString(peer.getPeerId() ?? '');
|
|
326
|
-
await this.components.peerStore.
|
|
323
|
+
await this.components.peerStore.merge(peerId, {
|
|
324
|
+
multiaddrs: [peer]
|
|
325
|
+
});
|
|
327
326
|
peer = peerId;
|
|
328
327
|
}
|
|
329
328
|
return await this.pingService.ping(peer, options);
|
|
@@ -351,8 +350,8 @@ export class Libp2pNode extends EventEmitter {
|
|
|
351
350
|
this.registrar.unregister(id);
|
|
352
351
|
}
|
|
353
352
|
/**
|
|
354
|
-
* Called whenever peer discovery services emit `peer` events
|
|
355
|
-
*
|
|
353
|
+
* Called whenever peer discovery services emit `peer` events and adds peers
|
|
354
|
+
* to the peer store.
|
|
356
355
|
*/
|
|
357
356
|
onDiscoveryPeer(evt) {
|
|
358
357
|
const { detail: peer } = evt;
|
|
@@ -360,13 +359,11 @@ export class Libp2pNode extends EventEmitter {
|
|
|
360
359
|
log.error(new Error(codes.ERR_DISCOVERED_SELF));
|
|
361
360
|
return;
|
|
362
361
|
}
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
}
|
|
369
|
-
this.dispatchEvent(new CustomEvent('peer:discovery', { detail: peer }));
|
|
362
|
+
void this.components.peerStore.merge(peer.id, {
|
|
363
|
+
multiaddrs: peer.multiaddrs,
|
|
364
|
+
protocols: peer.protocols
|
|
365
|
+
})
|
|
366
|
+
.catch(err => { log.error(err); });
|
|
370
367
|
}
|
|
371
368
|
}
|
|
372
369
|
/**
|
package/dist/src/libp2p.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libp2p.js","sourceRoot":"","sources":["../../src/libp2p.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"libp2p.js","sourceRoot":"","sources":["../../src/libp2p.ts"],"names":[],"mappings":"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"}
|
package/dist/src/registrar.d.ts
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import { StreamHandlerOptions, StreamHandlerRecord } from '@libp2p/interface-registrar';
|
|
2
2
|
import type { Registrar, StreamHandler, Topology } from '@libp2p/interface-registrar';
|
|
3
|
-
import type {
|
|
3
|
+
import type { PeerStore } from '@libp2p/interface-peer-store';
|
|
4
4
|
import type { Connection } from '@libp2p/interface-connection';
|
|
5
5
|
import type { ConnectionManager } from '@libp2p/interface-connection-manager';
|
|
6
6
|
import type { PeerId } from '@libp2p/interface-peer-id';
|
|
7
|
+
import type { EventEmitter } from '@libp2p/interfaces/events';
|
|
8
|
+
import type { Libp2pEvents, PeerUpdate } from '@libp2p/interface-libp2p';
|
|
7
9
|
export declare const DEFAULT_MAX_INBOUND_STREAMS = 32;
|
|
8
10
|
export declare const DEFAULT_MAX_OUTBOUND_STREAMS = 64;
|
|
9
11
|
export interface RegistrarComponents {
|
|
10
12
|
peerId: PeerId;
|
|
11
13
|
connectionManager: ConnectionManager;
|
|
12
14
|
peerStore: PeerStore;
|
|
15
|
+
events: EventEmitter<Libp2pEvents>;
|
|
13
16
|
}
|
|
14
17
|
/**
|
|
15
18
|
* Responsible for notifying registered protocols of events in the network.
|
|
@@ -51,6 +54,6 @@ export declare class DefaultRegistrar implements Registrar {
|
|
|
51
54
|
/**
|
|
52
55
|
* Check if a new peer support the multicodecs for this topology
|
|
53
56
|
*/
|
|
54
|
-
|
|
57
|
+
_onPeerUpdate(evt: CustomEvent<PeerUpdate>): void;
|
|
55
58
|
}
|
|
56
59
|
//# sourceMappingURL=registrar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registrar.d.ts","sourceRoot":"","sources":["../../src/registrar.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEnG,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACrF,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"registrar.d.ts","sourceRoot":"","sources":["../../src/registrar.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEnG,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACrF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAIxE,eAAO,MAAM,2BAA2B,KAAK,CAAA;AAC7C,eAAO,MAAM,4BAA4B,KAAK,CAAA;AAE9C,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,CAAA;CACnC;AAED;;GAEG;AACH,qBAAa,gBAAiB,YAAW,SAAS;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAC/D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;gBAEnC,UAAU,EAAE,mBAAmB;IAc5C,YAAY,IAAK,MAAM,EAAE;IAMzB,UAAU,CAAE,QAAQ,EAAE,MAAM,GAAG,mBAAmB;IAUlD,aAAa,CAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE;IAY5C;;OAEG;IACG,MAAM,CAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBnG;;;OAGG;IACG,QAAQ,CAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5D;;OAEG;IACG,QAAQ,CAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAwBtE;;OAEG;IACH,UAAU,CAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAY7B;;OAEG;IACH,aAAa,CAAE,GAAG,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,IAAI;IAuBlD;;;OAGG;IACH,UAAU,CAAE,GAAG,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,IAAI;IAuB/C;;OAEG;IACH,aAAa,CAAE,GAAG,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,IAAI;CAoCnD"}
|
package/dist/src/registrar.js
CHANGED
|
@@ -15,16 +15,14 @@ export class DefaultRegistrar {
|
|
|
15
15
|
this.handlers = new Map();
|
|
16
16
|
this.components = components;
|
|
17
17
|
this._onDisconnect = this._onDisconnect.bind(this);
|
|
18
|
-
this.
|
|
18
|
+
this._onPeerUpdate = this._onPeerUpdate.bind(this);
|
|
19
19
|
this._onConnect = this._onConnect.bind(this);
|
|
20
|
-
this.components.
|
|
21
|
-
this.components.
|
|
22
|
-
|
|
23
|
-
this.components.peerStore.addEventListener('change:protocols', this._onProtocolChange);
|
|
20
|
+
this.components.events.addEventListener('connection:close', this._onDisconnect);
|
|
21
|
+
this.components.events.addEventListener('connection:open', this._onConnect);
|
|
22
|
+
this.components.events.addEventListener('peer:update', this._onPeerUpdate);
|
|
24
23
|
}
|
|
25
24
|
getProtocols() {
|
|
26
25
|
return Array.from(new Set([
|
|
27
|
-
...this.topologies.keys(),
|
|
28
26
|
...this.handlers.keys()
|
|
29
27
|
])).sort();
|
|
30
28
|
}
|
|
@@ -59,8 +57,10 @@ export class DefaultRegistrar {
|
|
|
59
57
|
handler,
|
|
60
58
|
options
|
|
61
59
|
});
|
|
62
|
-
// Add new
|
|
63
|
-
await this.components.peerStore.
|
|
60
|
+
// Add new protocol to self protocols in the peer store
|
|
61
|
+
await this.components.peerStore.merge(this.components.peerId, {
|
|
62
|
+
protocols: [protocol]
|
|
63
|
+
});
|
|
64
64
|
}
|
|
65
65
|
/**
|
|
66
66
|
* Removes the handler for each protocol. The protocol
|
|
@@ -71,8 +71,10 @@ export class DefaultRegistrar {
|
|
|
71
71
|
protocolList.forEach(protocol => {
|
|
72
72
|
this.handlers.delete(protocol);
|
|
73
73
|
});
|
|
74
|
-
//
|
|
75
|
-
await this.components.peerStore.
|
|
74
|
+
// Update self protocols in the peer store
|
|
75
|
+
await this.components.peerStore.patch(this.components.peerId, {
|
|
76
|
+
protocols: protocolList
|
|
77
|
+
});
|
|
76
78
|
}
|
|
77
79
|
/**
|
|
78
80
|
* Register handlers for a set of multicodecs given
|
|
@@ -112,9 +114,9 @@ export class DefaultRegistrar {
|
|
|
112
114
|
*/
|
|
113
115
|
_onDisconnect(evt) {
|
|
114
116
|
const connection = evt.detail;
|
|
115
|
-
void this.components.peerStore.
|
|
116
|
-
.then(
|
|
117
|
-
for (const protocol of
|
|
117
|
+
void this.components.peerStore.get(connection.remotePeer)
|
|
118
|
+
.then(peer => {
|
|
119
|
+
for (const protocol of peer.protocols) {
|
|
118
120
|
const topologies = this.topologies.get(protocol);
|
|
119
121
|
if (topologies == null) {
|
|
120
122
|
// no topologies are interested in this protocol
|
|
@@ -135,9 +137,9 @@ export class DefaultRegistrar {
|
|
|
135
137
|
*/
|
|
136
138
|
_onConnect(evt) {
|
|
137
139
|
const connection = evt.detail;
|
|
138
|
-
void this.components.peerStore.
|
|
139
|
-
.then(
|
|
140
|
-
for (const protocol of
|
|
140
|
+
void this.components.peerStore.get(connection.remotePeer)
|
|
141
|
+
.then(peer => {
|
|
142
|
+
for (const protocol of peer.protocols) {
|
|
141
143
|
const topologies = this.topologies.get(protocol);
|
|
142
144
|
if (topologies == null) {
|
|
143
145
|
// no topologies are interested in this protocol
|
|
@@ -155,10 +157,10 @@ export class DefaultRegistrar {
|
|
|
155
157
|
/**
|
|
156
158
|
* Check if a new peer support the multicodecs for this topology
|
|
157
159
|
*/
|
|
158
|
-
|
|
159
|
-
const {
|
|
160
|
-
const removed =
|
|
161
|
-
const added = protocols.filter(protocol => !
|
|
160
|
+
_onPeerUpdate(evt) {
|
|
161
|
+
const { peer, previous } = evt.detail;
|
|
162
|
+
const removed = (previous?.protocols ?? []).filter(protocol => !peer.protocols.includes(protocol));
|
|
163
|
+
const added = peer.protocols.filter(protocol => !(previous?.protocols ?? []).includes(protocol));
|
|
162
164
|
for (const protocol of removed) {
|
|
163
165
|
const topologies = this.topologies.get(protocol);
|
|
164
166
|
if (topologies == null) {
|
|
@@ -166,7 +168,7 @@ export class DefaultRegistrar {
|
|
|
166
168
|
continue;
|
|
167
169
|
}
|
|
168
170
|
for (const topology of topologies.values()) {
|
|
169
|
-
topology.onDisconnect(
|
|
171
|
+
topology.onDisconnect(peer.id);
|
|
170
172
|
}
|
|
171
173
|
}
|
|
172
174
|
for (const protocol of added) {
|
|
@@ -176,11 +178,11 @@ export class DefaultRegistrar {
|
|
|
176
178
|
continue;
|
|
177
179
|
}
|
|
178
180
|
for (const topology of topologies.values()) {
|
|
179
|
-
const connection = this.components.connectionManager.getConnections(
|
|
181
|
+
const connection = this.components.connectionManager.getConnections(peer.id)[0];
|
|
180
182
|
if (connection == null) {
|
|
181
183
|
continue;
|
|
182
184
|
}
|
|
183
|
-
topology.onConnect(
|
|
185
|
+
topology.onConnect(peer.id, connection);
|
|
184
186
|
}
|
|
185
187
|
}
|
|
186
188
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registrar.js","sourceRoot":"","sources":["../../src/registrar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,UAAU,EAA6C,MAAM,6BAA6B,CAAA;AACnG,OAAO,KAAK,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"registrar.js","sourceRoot":"","sources":["../../src/registrar.ts"],"names":[],"mappings":"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"}
|