libp2p 0.44.0 → 0.45.0-08d4c261
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 +32 -32
- package/dist/src/address-manager/index.d.ts +9 -5
- package/dist/src/address-manager/index.d.ts.map +1 -1
- package/dist/src/address-manager/index.js +44 -7
- package/dist/src/address-manager/index.js.map +1 -1
- package/dist/src/address-manager/utils.d.ts +2 -0
- package/dist/src/address-manager/utils.d.ts.map +1 -0
- package/dist/src/address-manager/utils.js +12 -0
- package/dist/src/address-manager/utils.js.map +1 -0
- package/dist/src/autonat/constants.d.ts +16 -2
- package/dist/src/autonat/constants.d.ts.map +1 -1
- package/dist/src/autonat/constants.js +16 -2
- package/dist/src/autonat/constants.js.map +1 -1
- package/dist/src/autonat/index.d.ts +12 -33
- package/dist/src/autonat/index.d.ts.map +1 -1
- package/dist/src/autonat/index.js +48 -33
- package/dist/src/autonat/index.js.map +1 -1
- package/dist/src/circuit-relay/index.d.ts +1 -1
- package/dist/src/circuit-relay/index.d.ts.map +1 -1
- package/dist/src/circuit-relay/server/advert-service.d.ts +2 -2
- package/dist/src/circuit-relay/server/advert-service.d.ts.map +1 -1
- package/dist/src/circuit-relay/server/advert-service.js +8 -4
- package/dist/src/circuit-relay/server/advert-service.js.map +1 -1
- package/dist/src/circuit-relay/server/index.d.ts +8 -8
- package/dist/src/circuit-relay/server/index.d.ts.map +1 -1
- package/dist/src/circuit-relay/server/index.js +32 -12
- package/dist/src/circuit-relay/server/index.js.map +1 -1
- package/dist/src/circuit-relay/server/reservation-store.d.ts +5 -5
- package/dist/src/circuit-relay/server/reservation-store.d.ts.map +1 -1
- package/dist/src/circuit-relay/server/reservation-store.js +10 -3
- package/dist/src/circuit-relay/server/reservation-store.js.map +1 -1
- package/dist/src/circuit-relay/server/reservation-voucher.d.ts.map +1 -1
- package/dist/src/circuit-relay/server/reservation-voucher.js +5 -2
- package/dist/src/circuit-relay/server/reservation-voucher.js.map +1 -1
- package/dist/src/circuit-relay/transport/discovery.d.ts +4 -4
- package/dist/src/circuit-relay/transport/discovery.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/discovery.js +13 -5
- package/dist/src/circuit-relay/transport/discovery.js.map +1 -1
- package/dist/src/circuit-relay/transport/index.d.ts +10 -8
- package/dist/src/circuit-relay/transport/index.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/index.js +26 -18
- package/dist/src/circuit-relay/transport/index.js.map +1 -1
- package/dist/src/circuit-relay/transport/listener.d.ts +1 -1
- package/dist/src/circuit-relay/transport/listener.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/listener.js +43 -43
- package/dist/src/circuit-relay/transport/listener.js.map +1 -1
- package/dist/src/circuit-relay/transport/reservation-store.d.ts +8 -7
- package/dist/src/circuit-relay/transport/reservation-store.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/reservation-store.js +65 -52
- 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 -3
- package/dist/src/circuit-relay/utils.js.map +1 -1
- package/dist/src/components.d.ts +10 -67
- package/dist/src/components.d.ts.map +1 -1
- package/dist/src/components.js +61 -165
- package/dist/src/components.js.map +1 -1
- package/dist/src/config/connection-gater.browser.d.ts +8 -0
- package/dist/src/config/connection-gater.browser.d.ts.map +1 -0
- package/dist/src/config/connection-gater.browser.js +27 -0
- package/dist/src/config/connection-gater.browser.js.map +1 -0
- package/dist/src/config/connection-gater.d.ts +6 -0
- package/dist/src/config/connection-gater.d.ts.map +1 -0
- package/dist/src/config/connection-gater.js +18 -0
- package/dist/src/config/connection-gater.js.map +1 -0
- package/dist/src/config.d.ts +2 -1
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +4 -66
- package/dist/src/config.js.map +1 -1
- package/dist/src/connection/index.d.ts +3 -3
- package/dist/src/connection/index.d.ts.map +1 -1
- package/dist/src/connection/index.js +38 -8
- package/dist/src/connection/index.js.map +1 -1
- package/dist/src/connection-manager/auto-dial.d.ts +4 -1
- package/dist/src/connection-manager/auto-dial.d.ts.map +1 -1
- package/dist/src/connection-manager/auto-dial.js +44 -13
- package/dist/src/connection-manager/auto-dial.js.map +1 -1
- package/dist/src/connection-manager/connection-pruner.d.ts +4 -0
- package/dist/src/connection-manager/connection-pruner.d.ts.map +1 -1
- package/dist/src/connection-manager/connection-pruner.js +28 -8
- package/dist/src/connection-manager/connection-pruner.js.map +1 -1
- package/dist/src/connection-manager/dial-queue.d.ts +7 -6
- package/dist/src/connection-manager/dial-queue.d.ts.map +1 -1
- package/dist/src/connection-manager/dial-queue.js +59 -23
- package/dist/src/connection-manager/dial-queue.js.map +1 -1
- package/dist/src/connection-manager/index.d.ts +16 -15
- package/dist/src/connection-manager/index.d.ts.map +1 -1
- package/dist/src/connection-manager/index.js +44 -41
- package/dist/src/connection-manager/index.js.map +1 -1
- package/dist/src/connection-manager/utils.d.ts +2 -3
- package/dist/src/connection-manager/utils.d.ts.map +1 -1
- package/dist/src/connection-manager/utils.js +3 -3
- package/dist/src/connection-manager/utils.js.map +1 -1
- package/dist/src/content-routing/index.d.ts +2 -12
- package/dist/src/content-routing/index.d.ts.map +1 -1
- package/dist/src/content-routing/index.js +12 -44
- package/dist/src/content-routing/index.js.map +1 -1
- package/dist/src/content-routing/utils.d.ts +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.d.ts +15 -37
- package/dist/src/fetch/index.d.ts.map +1 -1
- package/dist/src/fetch/index.js +19 -16
- package/dist/src/fetch/index.js.map +1 -1
- package/dist/src/get-peer.d.ts +1 -1
- package/dist/src/get-peer.d.ts.map +1 -1
- package/dist/src/get-peer.js +3 -3
- package/dist/src/get-peer.js.map +1 -1
- package/dist/src/identify/identify.d.ts +53 -0
- package/dist/src/identify/identify.d.ts.map +1 -0
- package/dist/src/identify/identify.js +417 -0
- package/dist/src/identify/identify.js.map +1 -0
- package/dist/src/identify/index.d.ts +14 -59
- package/dist/src/identify/index.d.ts.map +1 -1
- package/dist/src/identify/index.js +5 -388
- package/dist/src/identify/index.js.map +1 -1
- package/dist/src/index.d.ts +28 -79
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/insecure/index.js +6 -8
- package/dist/src/insecure/index.js.map +1 -1
- package/dist/src/libp2p.d.ts +16 -47
- package/dist/src/libp2p.d.ts.map +1 -1
- package/dist/src/libp2p.js +141 -201
- package/dist/src/libp2p.js.map +1 -1
- package/dist/src/peer-routing.d.ts +3 -40
- package/dist/src/peer-routing.d.ts.map +1 -1
- package/dist/src/peer-routing.js +8 -65
- package/dist/src/peer-routing.js.map +1 -1
- package/dist/src/ping/constants.d.ts +4 -0
- package/dist/src/ping/constants.d.ts.map +1 -1
- package/dist/src/ping/constants.js +10 -0
- package/dist/src/ping/constants.js.map +1 -1
- package/dist/src/ping/index.d.ts +11 -28
- package/dist/src/ping/index.d.ts.map +1 -1
- package/dist/src/ping/index.js +31 -28
- package/dist/src/ping/index.js.map +1 -1
- package/dist/src/pnet/crypto.js +3 -3
- package/dist/src/pnet/crypto.js.map +1 -1
- package/dist/src/pnet/index.d.ts.map +1 -1
- package/dist/src/pnet/index.js +9 -6
- package/dist/src/pnet/index.js.map +1 -1
- package/dist/src/pnet/key-generator.js +1 -1
- package/dist/src/pnet/key-generator.js.map +1 -1
- package/dist/src/pubsub/dummy-pubsub.d.ts.map +1 -1
- package/dist/src/pubsub/dummy-pubsub.js +2 -5
- package/dist/src/pubsub/dummy-pubsub.js.map +1 -1
- package/dist/src/registrar.d.ts +6 -4
- package/dist/src/registrar.d.ts.map +1 -1
- package/dist/src/registrar.js +33 -28
- package/dist/src/registrar.js.map +1 -1
- package/dist/src/transport-manager.d.ts +14 -7
- package/dist/src/transport-manager.d.ts.map +1 -1
- package/dist/src/transport-manager.js +27 -13
- package/dist/src/transport-manager.js.map +1 -1
- package/dist/src/upgrader.d.ts +20 -15
- package/dist/src/upgrader.d.ts.map +1 -1
- package/dist/src/upgrader.js +49 -53
- package/dist/src/upgrader.js.map +1 -1
- package/dist/src/{nat-manager.d.ts → upnp-nat/index.d.ts} +12 -15
- package/dist/src/upnp-nat/index.d.ts.map +1 -0
- package/dist/src/{nat-manager.js → upnp-nat/index.js} +23 -10
- package/dist/src/upnp-nat/index.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 +62 -47
- package/src/address-manager/index.ts +52 -10
- package/src/address-manager/utils.ts +14 -0
- package/src/autonat/constants.ts +17 -2
- package/src/autonat/index.ts +65 -57
- package/src/circuit-relay/index.ts +1 -1
- package/src/circuit-relay/server/advert-service.ts +5 -5
- package/src/circuit-relay/server/index.ts +28 -20
- package/src/circuit-relay/server/reservation-store.ts +5 -5
- package/src/circuit-relay/server/reservation-voucher.ts +1 -1
- package/src/circuit-relay/transport/discovery.ts +12 -10
- package/src/circuit-relay/transport/index.ts +26 -26
- package/src/circuit-relay/transport/listener.ts +43 -33
- package/src/circuit-relay/transport/reservation-store.ts +42 -28
- package/src/circuit-relay/utils.ts +6 -6
- package/src/components.ts +75 -238
- package/src/config/connection-gater.browser.ts +31 -0
- package/src/config/connection-gater.ts +19 -0
- package/src/config.ts +9 -70
- package/src/connection/index.ts +6 -10
- package/src/connection-manager/auto-dial.ts +46 -17
- package/src/connection-manager/connection-pruner.ts +30 -10
- package/src/connection-manager/dial-queue.ts +56 -35
- package/src/connection-manager/index.ts +45 -57
- package/src/connection-manager/utils.ts +4 -5
- package/src/content-routing/index.ts +11 -59
- package/src/content-routing/utils.ts +4 -2
- package/src/fetch/index.ts +63 -26
- package/src/get-peer.ts +4 -4
- package/src/identify/identify.ts +519 -0
- package/src/identify/index.ts +19 -509
- package/src/index.ts +25 -88
- package/src/insecure/index.ts +10 -10
- package/src/libp2p.ts +158 -279
- package/src/peer-routing.ts +10 -110
- package/src/ping/constants.ts +11 -0
- package/src/ping/index.ts +43 -39
- package/src/pnet/crypto.ts +3 -3
- package/src/pnet/index.ts +6 -6
- package/src/pnet/key-generator.ts +1 -1
- package/src/pubsub/dummy-pubsub.ts +2 -2
- package/src/registrar.ts +34 -31
- package/src/transport-manager.ts +33 -19
- package/src/upgrader.ts +75 -71
- package/src/{nat-manager.ts → upnp-nat/index.ts} +23 -24
- package/src/version.ts +1 -1
- package/dist/src/dht/dht-content-routing.d.ts +0 -17
- package/dist/src/dht/dht-content-routing.d.ts.map +0 -1
- package/dist/src/dht/dht-content-routing.js +0 -32
- package/dist/src/dht/dht-content-routing.js.map +0 -1
- package/dist/src/dht/dht-peer-routing.d.ts +0 -15
- package/dist/src/dht/dht-peer-routing.d.ts.map +0 -1
- package/dist/src/dht/dht-peer-routing.js +0 -26
- package/dist/src/dht/dht-peer-routing.js.map +0 -1
- package/dist/src/dht/dummy-dht.d.ts +0 -20
- package/dist/src/dht/dummy-dht.d.ts.map +0 -1
- package/dist/src/dht/dummy-dht.js +0 -46
- package/dist/src/dht/dummy-dht.js.map +0 -1
- package/dist/src/nat-manager.d.ts.map +0 -1
- package/dist/src/nat-manager.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/dht/dht-content-routing.ts +0 -44
- package/src/dht/dht-peer-routing.ts +0 -36
- package/src/dht/dummy-dht.ts +0 -60
- package/src/peer-record-updater.ts +0 -65
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
-
};
|
|
6
|
-
var _CircuitRelayTransportListener_instances, _CircuitRelayTransportListener_removeRelayPeer;
|
|
7
|
-
import { CustomEvent, EventEmitter } from '@libp2p/interfaces/events';
|
|
8
|
-
import { multiaddr } from '@multiformats/multiaddr';
|
|
9
|
-
import { PeerMap } from '@libp2p/peer-collections';
|
|
1
|
+
import { CodeError } from '@libp2p/interfaces/errors';
|
|
2
|
+
import { EventEmitter } from '@libp2p/interfaces/events';
|
|
10
3
|
import { logger } from '@libp2p/logger';
|
|
4
|
+
import { PeerMap } from '@libp2p/peer-collections';
|
|
5
|
+
import { peerIdFromString } from '@libp2p/peer-id';
|
|
6
|
+
import { multiaddr } from '@multiformats/multiaddr';
|
|
11
7
|
const log = logger('libp2p:circuit-relay:transport:listener');
|
|
12
8
|
class CircuitRelayTransportListener extends EventEmitter {
|
|
9
|
+
connectionManager;
|
|
10
|
+
relayStore;
|
|
11
|
+
listeningAddrs;
|
|
13
12
|
constructor(components) {
|
|
14
13
|
super();
|
|
15
|
-
_CircuitRelayTransportListener_instances.add(this);
|
|
16
14
|
this.connectionManager = components.connectionManager;
|
|
17
15
|
this.relayStore = components.relayStore;
|
|
18
16
|
this.listeningAddrs = new PeerMap();
|
|
19
17
|
// remove listening addrs when a relay is removed
|
|
20
18
|
this.relayStore.addEventListener('relay:removed', (evt) => {
|
|
21
|
-
|
|
22
|
-
});
|
|
23
|
-
// remove listening addrs when a peer disconnects
|
|
24
|
-
this.connectionManager.addEventListener('peer:disconnect', (evt) => {
|
|
25
|
-
__classPrivateFieldGet(this, _CircuitRelayTransportListener_instances, "m", _CircuitRelayTransportListener_removeRelayPeer).call(this, evt.detail.remotePeer);
|
|
19
|
+
this.#removeRelayPeer(evt.detail);
|
|
26
20
|
});
|
|
27
21
|
}
|
|
28
22
|
async listen(addr) {
|
|
29
23
|
log('listen on %s', addr);
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
24
|
+
const relayPeerStr = addr.getPeerId();
|
|
25
|
+
let relayConn;
|
|
26
|
+
// check if we already have a connection to the relay
|
|
27
|
+
if (relayPeerStr != null) {
|
|
28
|
+
const relayPeer = peerIdFromString(relayPeerStr);
|
|
29
|
+
const connections = this.connectionManager.getConnectionsMap().get(relayPeer) ?? [];
|
|
30
|
+
if (connections.length > 0) {
|
|
31
|
+
relayConn = connections[0];
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
// open a new connection as we don't already have one
|
|
35
|
+
if (relayConn == null) {
|
|
36
|
+
const addrString = addr.toString().split('/p2p-circuit').find(a => a !== '');
|
|
37
|
+
const ma = multiaddr(addrString);
|
|
38
|
+
relayConn = await this.connectionManager.openConnection(ma);
|
|
39
|
+
}
|
|
33
40
|
if (!this.relayStore.hasReservation(relayConn.remotePeer)) {
|
|
34
41
|
// addRelay calls transportManager.listen which calls this listen method
|
|
35
42
|
await this.relayStore.addRelay(relayConn.remotePeer, 'configured');
|
|
36
43
|
return;
|
|
37
44
|
}
|
|
45
|
+
const reservation = this.relayStore.getReservation(relayConn.remotePeer);
|
|
46
|
+
if (reservation == null) {
|
|
47
|
+
throw new CodeError('Did not have reservation after making reservation', 'ERR_NO_RESERVATION');
|
|
48
|
+
}
|
|
38
49
|
if (this.listeningAddrs.has(relayConn.remotePeer)) {
|
|
39
50
|
log('already listening on relay %p', relayConn.remotePeer);
|
|
40
51
|
return;
|
|
41
52
|
}
|
|
42
|
-
|
|
43
|
-
this.
|
|
53
|
+
// add all addresses from the relay reservation
|
|
54
|
+
this.listeningAddrs.set(relayConn.remotePeer, reservation.addrs.map(buf => {
|
|
55
|
+
return multiaddr(buf).encapsulate('/p2p-circuit');
|
|
56
|
+
}));
|
|
57
|
+
this.safeDispatchEvent('listening', {});
|
|
44
58
|
}
|
|
45
|
-
/**
|
|
46
|
-
* Get fixed up multiaddrs
|
|
47
|
-
*
|
|
48
|
-
* NOTE: This method will grab the peers multiaddrs and expand them such that:
|
|
49
|
-
*
|
|
50
|
-
* a) If it's an existing /p2p-circuit address for a specific relay i.e.
|
|
51
|
-
* `/ip4/0.0.0.0/tcp/0/ipfs/QmRelay/p2p-circuit` this method will expand the
|
|
52
|
-
* address to `/ip4/0.0.0.0/tcp/0/ipfs/QmRelay/p2p-circuit/ipfs/QmPeer` where
|
|
53
|
-
* `QmPeer` is this peers id
|
|
54
|
-
* b) If it's not a /p2p-circuit address, it will encapsulate the address as a /p2p-circuit
|
|
55
|
-
* addr, such when dialing over a relay with this address, it will create the circuit using
|
|
56
|
-
* the encapsulated transport address. This is useful when for example, a peer should only
|
|
57
|
-
* be dialed over TCP rather than any other transport
|
|
58
|
-
*/
|
|
59
59
|
getAddrs() {
|
|
60
|
-
return [...this.listeningAddrs.values()];
|
|
60
|
+
return [...this.listeningAddrs.values()].flat();
|
|
61
61
|
}
|
|
62
62
|
async close() {
|
|
63
63
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
64
|
+
#removeRelayPeer(peerId) {
|
|
65
|
+
const had = this.listeningAddrs.has(peerId);
|
|
66
|
+
this.listeningAddrs.delete(peerId);
|
|
67
|
+
if (had) {
|
|
68
|
+
// Announce listen addresses change
|
|
69
|
+
this.safeDispatchEvent('close', {});
|
|
70
|
+
}
|
|
71
71
|
}
|
|
72
|
-
}
|
|
72
|
+
}
|
|
73
73
|
export function createListener(options) {
|
|
74
74
|
return new CircuitRelayTransportListener(options);
|
|
75
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listener.js","sourceRoot":"","sources":["../../../../src/circuit-relay/transport/listener.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"listener.js","sourceRoot":"","sources":["../../../../src/circuit-relay/transport/listener.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { EventEmitter } from '@libp2p/interfaces/events';
|
|
2
|
+
import type { Reservation } from '../pb/index.js';
|
|
2
3
|
import type { ConnectionManager } from '@libp2p/interface-connection-manager';
|
|
4
|
+
import type { Libp2pEvents } from '@libp2p/interface-libp2p';
|
|
5
|
+
import type { PeerId } from '@libp2p/interface-peer-id';
|
|
6
|
+
import type { PeerStore } from '@libp2p/interface-peer-store';
|
|
3
7
|
import type { TransportManager } from '@libp2p/interface-transport';
|
|
4
8
|
import type { Startable } from '@libp2p/interfaces/startable';
|
|
5
|
-
import { EventEmitter } from '@libp2p/interfaces/events';
|
|
6
|
-
import type { PeerStore } from '@libp2p/interface-peer-store';
|
|
7
9
|
export interface RelayStoreComponents {
|
|
8
10
|
peerId: PeerId;
|
|
9
11
|
connectionManager: ConnectionManager;
|
|
10
12
|
transportManager: TransportManager;
|
|
11
13
|
peerStore: PeerStore;
|
|
14
|
+
events: EventEmitter<Libp2pEvents>;
|
|
12
15
|
}
|
|
13
16
|
export interface RelayStoreInit {
|
|
14
17
|
/**
|
|
@@ -36,6 +39,7 @@ export declare class ReservationStore extends EventEmitter<ReservationStoreEvent
|
|
|
36
39
|
private readonly connectionManager;
|
|
37
40
|
private readonly transportManager;
|
|
38
41
|
private readonly peerStore;
|
|
42
|
+
private readonly events;
|
|
39
43
|
private readonly reserveQueue;
|
|
40
44
|
private readonly reservations;
|
|
41
45
|
private readonly maxDiscoveredRelays;
|
|
@@ -52,9 +56,6 @@ export declare class ReservationStore extends EventEmitter<ReservationStoreEvent
|
|
|
52
56
|
*/
|
|
53
57
|
addRelay(peerId: PeerId, type: RelayType): Promise<void>;
|
|
54
58
|
hasReservation(peerId: PeerId): boolean;
|
|
55
|
-
|
|
56
|
-
* Remove listen relay
|
|
57
|
-
*/
|
|
58
|
-
removeRelay(peerId: PeerId): void;
|
|
59
|
+
getReservation(peerId: PeerId): Reservation | undefined;
|
|
59
60
|
}
|
|
60
61
|
//# sourceMappingURL=reservation-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reservation-store.d.ts","sourceRoot":"","sources":["../../../../src/circuit-relay/transport/reservation-store.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"reservation-store.d.ts","sourceRoot":"","sources":["../../../../src/circuit-relay/transport/reservation-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AASxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAa7D,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B;;;;;;;OAOG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAE/B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,YAAY,CAAA;AAQnD,MAAM,WAAW,sBAAsB;IACrC,yBAAyB,EAAE,WAAW,CAAA;IACtC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CACrC;AAED,qBAAa,gBAAiB,SAAQ,YAAY,CAAC,sBAAsB,CAAE,YAAW,SAAS;;IAC7F,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;IAC5C,OAAO,CAAC,OAAO,CAAS;gBAEX,UAAU,EAAE,oBAAoB,EAAE,IAAI,CAAC,EAAE,cAAc;IAyBpE,SAAS,IAAK,OAAO;IAIf,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAIvB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAS5B;;;;;OAKG;IACG,QAAQ,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAqF/D,cAAc,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAIxC,cAAc,CAAE,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;CAsDzD"}
|
|
@@ -1,18 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
-
};
|
|
6
|
-
var _ReservationStore_instances, _ReservationStore_createReservation;
|
|
1
|
+
import { EventEmitter } from '@libp2p/interfaces/events';
|
|
2
|
+
import { logger } from '@libp2p/logger';
|
|
7
3
|
import { PeerMap } from '@libp2p/peer-collections';
|
|
4
|
+
import { multiaddr } from '@multiformats/multiaddr';
|
|
5
|
+
import { pbStream } from 'it-pb-stream';
|
|
8
6
|
import PQueue from 'p-queue';
|
|
9
7
|
import { DEFAULT_RESERVATION_CONCURRENCY, RELAY_TAG, RELAY_V2_HOP_CODEC } from '../constants.js';
|
|
10
|
-
import { logger } from '@libp2p/logger';
|
|
11
|
-
import { pbStream } from 'it-pb-stream';
|
|
12
8
|
import { HopMessage, Status } from '../pb/index.js';
|
|
13
9
|
import { getExpirationMilliseconds } from '../utils.js';
|
|
14
|
-
import { CustomEvent, EventEmitter } from '@libp2p/interfaces/events';
|
|
15
|
-
import { multiaddr } from '@multiformats/multiaddr';
|
|
16
10
|
const log = logger('libp2p:circuit-relay:transport:reservation-store');
|
|
17
11
|
// allow refreshing a relay reservation if it will expire in the next 10 minutes
|
|
18
12
|
const REFRESH_WINDOW = (60 * 1000) * 10;
|
|
@@ -21,13 +15,22 @@ const REFRESH_TIMEOUT = (60 * 1000) * 5;
|
|
|
21
15
|
// minimum duration before which a reservation must not be refreshed
|
|
22
16
|
const REFRESH_TIMEOUT_MIN = 30 * 1000;
|
|
23
17
|
export class ReservationStore extends EventEmitter {
|
|
18
|
+
peerId;
|
|
19
|
+
connectionManager;
|
|
20
|
+
transportManager;
|
|
21
|
+
peerStore;
|
|
22
|
+
events;
|
|
23
|
+
reserveQueue;
|
|
24
|
+
reservations;
|
|
25
|
+
maxDiscoveredRelays;
|
|
26
|
+
started;
|
|
24
27
|
constructor(components, init) {
|
|
25
28
|
super();
|
|
26
|
-
_ReservationStore_instances.add(this);
|
|
27
29
|
this.peerId = components.peerId;
|
|
28
30
|
this.connectionManager = components.connectionManager;
|
|
29
31
|
this.transportManager = components.transportManager;
|
|
30
32
|
this.peerStore = components.peerStore;
|
|
33
|
+
this.events = components.events;
|
|
31
34
|
this.reservations = new PeerMap();
|
|
32
35
|
this.maxDiscoveredRelays = init?.discoverRelays ?? 0;
|
|
33
36
|
this.started = false;
|
|
@@ -38,8 +41,8 @@ export class ReservationStore extends EventEmitter {
|
|
|
38
41
|
// When a peer disconnects, if we had a reservation on that peer
|
|
39
42
|
// remove the reservation and multiaddr and maybe trigger search
|
|
40
43
|
// for new relays
|
|
41
|
-
this.
|
|
42
|
-
this
|
|
44
|
+
this.events.addEventListener('peer:disconnect', (evt) => {
|
|
45
|
+
this.#removeRelay(evt.detail);
|
|
43
46
|
});
|
|
44
47
|
}
|
|
45
48
|
isStarted() {
|
|
@@ -62,13 +65,13 @@ export class ReservationStore extends EventEmitter {
|
|
|
62
65
|
* on the remote peer
|
|
63
66
|
*/
|
|
64
67
|
async addRelay(peerId, type) {
|
|
65
|
-
|
|
68
|
+
if (this.peerId.equals(peerId)) {
|
|
69
|
+
log('not trying to use self as relay');
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
log('add relay %p', peerId);
|
|
66
73
|
await this.reserveQueue.add(async () => {
|
|
67
74
|
try {
|
|
68
|
-
if (this.peerId.equals(peerId)) {
|
|
69
|
-
log('not trying to use self as relay');
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
75
|
// allow refresh of an existing reservation if it is about to expire
|
|
73
76
|
const existingReservation = this.reservations.get(peerId);
|
|
74
77
|
if (existingReservation != null) {
|
|
@@ -93,7 +96,7 @@ export class ReservationStore extends EventEmitter {
|
|
|
93
96
|
log('not creating reservation over relayed connection');
|
|
94
97
|
return;
|
|
95
98
|
}
|
|
96
|
-
const reservation = await
|
|
99
|
+
const reservation = await this.#createReservation(connection);
|
|
97
100
|
log('created reservation on relay peer %p', peerId);
|
|
98
101
|
const expiration = getExpirationMilliseconds(reservation.expire);
|
|
99
102
|
// sets a lower bound on the timeout, and also don't let it go over
|
|
@@ -104,67 +107,77 @@ export class ReservationStore extends EventEmitter {
|
|
|
104
107
|
log.error('could not refresh reservation to relay %p', peerId, err);
|
|
105
108
|
});
|
|
106
109
|
}, timeoutDuration);
|
|
110
|
+
// we've managed to create a reservation successfully
|
|
107
111
|
this.reservations.set(peerId, {
|
|
108
112
|
timeout,
|
|
109
113
|
reservation,
|
|
110
114
|
type
|
|
111
115
|
});
|
|
112
116
|
// ensure we don't close the connection to the relay
|
|
113
|
-
await this.peerStore.
|
|
114
|
-
|
|
115
|
-
|
|
117
|
+
await this.peerStore.merge(peerId, {
|
|
118
|
+
tags: {
|
|
119
|
+
[RELAY_TAG]: {
|
|
120
|
+
value: 1,
|
|
121
|
+
ttl: expiration
|
|
122
|
+
}
|
|
123
|
+
}
|
|
116
124
|
});
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
}));
|
|
125
|
+
// listen on multiaddr that only the circuit transport is listening for
|
|
126
|
+
await this.transportManager.listen([multiaddr(`/p2p/${peerId.toString()}/p2p-circuit`)]);
|
|
120
127
|
}
|
|
121
128
|
catch (err) {
|
|
122
129
|
log.error('could not reserve slot on %p', peerId, err);
|
|
130
|
+
// if listening failed, remove the reservation
|
|
131
|
+
this.reservations.delete(peerId);
|
|
123
132
|
}
|
|
124
133
|
});
|
|
125
134
|
}
|
|
126
135
|
hasReservation(peerId) {
|
|
127
136
|
return this.reservations.has(peerId);
|
|
128
137
|
}
|
|
138
|
+
getReservation(peerId) {
|
|
139
|
+
return this.reservations.get(peerId)?.reservation;
|
|
140
|
+
}
|
|
141
|
+
async #createReservation(connection) {
|
|
142
|
+
log('requesting reservation from %s', connection.remotePeer);
|
|
143
|
+
const stream = await connection.newStream(RELAY_V2_HOP_CODEC);
|
|
144
|
+
const pbstr = pbStream(stream);
|
|
145
|
+
const hopstr = pbstr.pb(HopMessage);
|
|
146
|
+
hopstr.write({ type: HopMessage.Type.RESERVE });
|
|
147
|
+
let response;
|
|
148
|
+
try {
|
|
149
|
+
response = await hopstr.read();
|
|
150
|
+
}
|
|
151
|
+
catch (err) {
|
|
152
|
+
log.error('error parsing reserve message response from %p because', connection.remotePeer, err);
|
|
153
|
+
throw err;
|
|
154
|
+
}
|
|
155
|
+
finally {
|
|
156
|
+
stream.close();
|
|
157
|
+
}
|
|
158
|
+
if (response.status === Status.OK && (response.reservation != null)) {
|
|
159
|
+
return response.reservation;
|
|
160
|
+
}
|
|
161
|
+
const errMsg = `reservation failed with status ${response.status ?? 'undefined'}`;
|
|
162
|
+
log.error(errMsg);
|
|
163
|
+
throw new Error(errMsg);
|
|
164
|
+
}
|
|
129
165
|
/**
|
|
130
166
|
* Remove listen relay
|
|
131
167
|
*/
|
|
132
|
-
removeRelay(peerId) {
|
|
168
|
+
#removeRelay(peerId) {
|
|
133
169
|
const existingReservation = this.reservations.get(peerId);
|
|
134
170
|
if (existingReservation == null) {
|
|
135
171
|
return;
|
|
136
172
|
}
|
|
137
|
-
log('
|
|
173
|
+
log('connection to relay %p closed, removing reservation from local store', peerId);
|
|
138
174
|
clearTimeout(existingReservation.timeout);
|
|
139
175
|
this.reservations.delete(peerId);
|
|
140
176
|
this.safeDispatchEvent('relay:removed', { detail: peerId });
|
|
141
177
|
if (this.reservations.size < this.maxDiscoveredRelays) {
|
|
142
|
-
|
|
178
|
+
log('not enough relays %d/%d', this.reservations.size, this.maxDiscoveredRelays);
|
|
179
|
+
this.safeDispatchEvent('relay:not-enough-relays', {});
|
|
143
180
|
}
|
|
144
181
|
}
|
|
145
182
|
}
|
|
146
|
-
_ReservationStore_instances = new WeakSet(), _ReservationStore_createReservation = async function _ReservationStore_createReservation(connection) {
|
|
147
|
-
log('requesting reservation from %s', connection.remotePeer);
|
|
148
|
-
const stream = await connection.newStream(RELAY_V2_HOP_CODEC);
|
|
149
|
-
const pbstr = pbStream(stream);
|
|
150
|
-
const hopstr = pbstr.pb(HopMessage);
|
|
151
|
-
hopstr.write({ type: HopMessage.Type.RESERVE });
|
|
152
|
-
let response;
|
|
153
|
-
try {
|
|
154
|
-
response = await hopstr.read();
|
|
155
|
-
}
|
|
156
|
-
catch (err) {
|
|
157
|
-
log.error('error parsing reserve message response from %p because', connection.remotePeer, err);
|
|
158
|
-
throw err;
|
|
159
|
-
}
|
|
160
|
-
finally {
|
|
161
|
-
stream.close();
|
|
162
|
-
}
|
|
163
|
-
if (response.status === Status.OK && (response.reservation != null)) {
|
|
164
|
-
return response.reservation;
|
|
165
|
-
}
|
|
166
|
-
const errMsg = `reservation failed with status ${response.status ?? 'undefined'}`;
|
|
167
|
-
log.error(errMsg);
|
|
168
|
-
throw new Error(errMsg);
|
|
169
|
-
};
|
|
170
183
|
//# sourceMappingURL=reservation-store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reservation-store.js","sourceRoot":"","sources":["../../../../src/circuit-relay/transport/reservation-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reservation-store.js","sourceRoot":"","sources":["../../../../src/circuit-relay/transport/reservation-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/circuit-relay/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/circuit-relay/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAGtC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAyF1D,wBAAgB,kBAAkB,CAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAQtH;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAKrE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAM5E"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { CID } from 'multiformats/cid';
|
|
2
|
-
import { sha256 } from 'multiformats/hashes/sha2';
|
|
3
1
|
import { logger } from '@libp2p/logger';
|
|
4
|
-
import { DEFAULT_DATA_LIMIT, DEFAULT_DURATION_LIMIT } from './constants.js';
|
|
5
2
|
import { abortableSource } from 'abortable-iterator';
|
|
6
3
|
import { anySignal } from 'any-signal';
|
|
4
|
+
import { CID } from 'multiformats/cid';
|
|
5
|
+
import { sha256 } from 'multiformats/hashes/sha2';
|
|
6
|
+
import { DEFAULT_DATA_LIMIT, DEFAULT_DURATION_LIMIT } from './constants.js';
|
|
7
7
|
const log = logger('libp2p:circuit-relay:utils');
|
|
8
8
|
async function* countStreamBytes(source, limit) {
|
|
9
9
|
for await (const buf of source) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/circuit-relay/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/circuit-relay/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/src/components.d.ts
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
|
+
import { type Startable } from '@libp2p/interfaces/startable';
|
|
2
|
+
import type { AddressManager } from '@libp2p/interface-address-manager';
|
|
1
3
|
import type { ConnectionProtector } from '@libp2p/interface-connection';
|
|
4
|
+
import type { ConnectionGater } from '@libp2p/interface-connection-gater';
|
|
5
|
+
import type { ConnectionManager } from '@libp2p/interface-connection-manager';
|
|
2
6
|
import type { ContentRouting } from '@libp2p/interface-content-routing';
|
|
3
|
-
import type {
|
|
4
|
-
import { Startable } from '@libp2p/interfaces/startable';
|
|
7
|
+
import type { Libp2pEvents } from '@libp2p/interface-libp2p';
|
|
5
8
|
import type { Metrics } from '@libp2p/interface-metrics';
|
|
6
9
|
import type { PeerId } from '@libp2p/interface-peer-id';
|
|
7
10
|
import type { PeerRouting } from '@libp2p/interface-peer-routing';
|
|
8
11
|
import type { PeerStore } from '@libp2p/interface-peer-store';
|
|
9
12
|
import type { Registrar } from '@libp2p/interface-registrar';
|
|
10
13
|
import type { TransportManager, Upgrader } from '@libp2p/interface-transport';
|
|
14
|
+
import type { EventEmitter } from '@libp2p/interfaces/events';
|
|
11
15
|
import type { Datastore } from 'interface-datastore';
|
|
12
|
-
|
|
13
|
-
import type { DualDHT } from '@libp2p/interface-dht';
|
|
14
|
-
import type { ConnectionManager } from '@libp2p/interface-connection-manager';
|
|
15
|
-
import type { ConnectionGater } from '@libp2p/interface-connection-gater';
|
|
16
|
-
export interface Components {
|
|
16
|
+
export interface Components extends Record<string, any>, Startable {
|
|
17
17
|
peerId: PeerId;
|
|
18
|
+
events: EventEmitter<Libp2pEvents>;
|
|
18
19
|
addressManager: AddressManager;
|
|
19
20
|
peerStore: PeerStore;
|
|
20
21
|
upgrader: Upgrader;
|
|
@@ -27,11 +28,10 @@ export interface Components {
|
|
|
27
28
|
datastore: Datastore;
|
|
28
29
|
connectionProtector?: ConnectionProtector;
|
|
29
30
|
metrics?: Metrics;
|
|
30
|
-
dht?: DualDHT;
|
|
31
|
-
pubsub?: PubSub;
|
|
32
31
|
}
|
|
33
32
|
export interface ComponentsInit {
|
|
34
33
|
peerId?: PeerId;
|
|
34
|
+
events?: EventEmitter<Libp2pEvents>;
|
|
35
35
|
addressManager?: AddressManager;
|
|
36
36
|
peerStore?: PeerStore;
|
|
37
37
|
upgrader?: Upgrader;
|
|
@@ -44,63 +44,6 @@ export interface ComponentsInit {
|
|
|
44
44
|
peerRouting?: PeerRouting;
|
|
45
45
|
datastore?: Datastore;
|
|
46
46
|
connectionProtector?: ConnectionProtector;
|
|
47
|
-
dht?: DualDHT;
|
|
48
|
-
pubsub?: PubSub;
|
|
49
|
-
}
|
|
50
|
-
export declare class DefaultComponents implements Components, Startable {
|
|
51
|
-
private _peerId?;
|
|
52
|
-
private _addressManager?;
|
|
53
|
-
private _peerStore?;
|
|
54
|
-
private _upgrader?;
|
|
55
|
-
private _metrics?;
|
|
56
|
-
private _registrar?;
|
|
57
|
-
private _connectionManager?;
|
|
58
|
-
private _transportManager?;
|
|
59
|
-
private _connectionGater?;
|
|
60
|
-
private _contentRouting?;
|
|
61
|
-
private _peerRouting?;
|
|
62
|
-
private _datastore?;
|
|
63
|
-
private _connectionProtector?;
|
|
64
|
-
private _dht?;
|
|
65
|
-
private _pubsub?;
|
|
66
|
-
private _started;
|
|
67
|
-
constructor(init?: ComponentsInit);
|
|
68
|
-
isStarted(): boolean;
|
|
69
|
-
beforeStart(): Promise<void>;
|
|
70
|
-
start(): Promise<void>;
|
|
71
|
-
afterStart(): Promise<void>;
|
|
72
|
-
beforeStop(): Promise<void>;
|
|
73
|
-
stop(): Promise<void>;
|
|
74
|
-
afterStop(): Promise<void>;
|
|
75
|
-
get peerId(): PeerId;
|
|
76
|
-
set peerId(peerId: PeerId);
|
|
77
|
-
get addressManager(): AddressManager;
|
|
78
|
-
set addressManager(addressManager: AddressManager);
|
|
79
|
-
get peerStore(): PeerStore;
|
|
80
|
-
set peerStore(peerStore: PeerStore);
|
|
81
|
-
get upgrader(): Upgrader;
|
|
82
|
-
set upgrader(upgrader: Upgrader);
|
|
83
|
-
get registrar(): Registrar;
|
|
84
|
-
set registrar(registrar: Registrar);
|
|
85
|
-
get connectionManager(): ConnectionManager;
|
|
86
|
-
set connectionManager(connectionManager: ConnectionManager);
|
|
87
|
-
get transportManager(): TransportManager;
|
|
88
|
-
set transportManager(transportManager: TransportManager);
|
|
89
|
-
get connectionGater(): ConnectionGater;
|
|
90
|
-
set connectionGater(connectionGater: ConnectionGater);
|
|
91
|
-
get contentRouting(): ContentRouting;
|
|
92
|
-
set contentRouting(contentRouting: ContentRouting);
|
|
93
|
-
get peerRouting(): PeerRouting;
|
|
94
|
-
set peerRouting(peerRouting: PeerRouting);
|
|
95
|
-
get datastore(): Datastore;
|
|
96
|
-
set datastore(datastore: Datastore);
|
|
97
|
-
get connectionProtector(): ConnectionProtector | undefined;
|
|
98
|
-
set connectionProtector(connectionProtector: ConnectionProtector | undefined);
|
|
99
|
-
get metrics(): Metrics | undefined;
|
|
100
|
-
set metrics(metrics: Metrics | undefined);
|
|
101
|
-
get dht(): DualDHT | undefined;
|
|
102
|
-
set dht(dht: DualDHT | undefined);
|
|
103
|
-
get pubsub(): PubSub | undefined;
|
|
104
|
-
set pubsub(pubsub: PubSub | undefined);
|
|
105
47
|
}
|
|
48
|
+
export declare function defaultComponents(init?: ComponentsInit): Components;
|
|
106
49
|
//# sourceMappingURL=components.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/components.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/components.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,WAAW,UAAW,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,SAAS;IAChE,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,CAAA;IAClC,cAAc,EAAE,cAAc,CAAA;IAC9B,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,eAAe,EAAE,eAAe,CAAA;IAChC,cAAc,EAAE,cAAc,CAAA;IAC9B,WAAW,EAAE,WAAW,CAAA;IACxB,SAAS,EAAE,SAAS,CAAA;IACpB,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,YAAY,CAAC,YAAY,CAAC,CAAA;IACnC,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;CAC1C;AAyED,wBAAgB,iBAAiB,CAAE,IAAI,GAAE,cAAmB,GAAG,UAAU,CA+BxE"}
|