libp2p 0.44.0 → 0.45.0-752db6d6
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 +30 -30
- package/dist/src/address-manager/index.d.ts +8 -4
- package/dist/src/address-manager/index.d.ts.map +1 -1
- package/dist/src/address-manager/index.js +37 -6
- 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 +36 -30
- 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 +10 -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 +4 -2
- 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 -4
- package/dist/src/circuit-relay/transport/index.js.map +1 -1
- package/dist/src/circuit-relay/transport/listener.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/listener.js +30 -26
- package/dist/src/circuit-relay/transport/listener.js.map +1 -1
- package/dist/src/circuit-relay/transport/reservation-store.d.ts +5 -4
- package/dist/src/circuit-relay/transport/reservation-store.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/reservation-store.js +37 -30
- package/dist/src/circuit-relay/transport/reservation-store.js.map +1 -1
- package/dist/src/components.d.ts +6 -63
- package/dist/src/components.d.ts.map +1 -1
- package/dist/src/components.js +60 -164
- 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 +0 -62
- package/dist/src/config.js.map +1 -1
- package/dist/src/connection-manager/auto-dial.d.ts +3 -0
- package/dist/src/connection-manager/auto-dial.d.ts.map +1 -1
- package/dist/src/connection-manager/auto-dial.js +36 -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 +23 -8
- package/dist/src/connection-manager/connection-pruner.js.map +1 -1
- package/dist/src/connection-manager/dial-queue.d.ts +2 -1
- package/dist/src/connection-manager/dial-queue.d.ts.map +1 -1
- package/dist/src/connection-manager/dial-queue.js +36 -14
- package/dist/src/connection-manager/dial-queue.js.map +1 -1
- package/dist/src/connection-manager/index.d.ts +8 -7
- package/dist/src/connection-manager/index.d.ts.map +1 -1
- package/dist/src/connection-manager/index.js +23 -34
- package/dist/src/connection-manager/index.js.map +1 -1
- package/dist/src/content-routing/index.d.ts +0 -10
- package/dist/src/content-routing/index.d.ts.map +1 -1
- package/dist/src/content-routing/index.js +7 -42
- 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.d.ts +13 -35
- package/dist/src/fetch/index.d.ts.map +1 -1
- package/dist/src/fetch/index.js +7 -9
- package/dist/src/fetch/index.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 +407 -0
- package/dist/src/identify/identify.js.map +1 -0
- package/dist/src/identify/index.d.ts +12 -58
- 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 +13 -68
- 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.map +1 -1
- package/dist/src/libp2p.d.ts +11 -42
- package/dist/src/libp2p.d.ts.map +1 -1
- package/dist/src/libp2p.js +137 -196
- package/dist/src/libp2p.js.map +1 -1
- package/dist/src/peer-routing.d.ts +1 -38
- package/dist/src/peer-routing.d.ts.map +1 -1
- package/dist/src/peer-routing.js +0 -59
- 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 +10 -27
- package/dist/src/ping/index.d.ts.map +1 -1
- package/dist/src/ping/index.js +18 -21
- package/dist/src/ping/index.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 +27 -25
- package/dist/src/registrar.js.map +1 -1
- package/dist/src/transport-manager.d.ts +11 -4
- package/dist/src/transport-manager.d.ts.map +1 -1
- package/dist/src/transport-manager.js +19 -10
- package/dist/src/transport-manager.js.map +1 -1
- package/dist/src/upgrader.d.ts +15 -10
- package/dist/src/upgrader.d.ts.map +1 -1
- package/dist/src/upgrader.js +39 -48
- package/dist/src/upgrader.js.map +1 -1
- package/dist/src/upnp-nat/index.d.ts +42 -0
- package/dist/src/upnp-nat/index.d.ts.map +1 -0
- package/dist/src/{nat-manager.js → upnp-nat/index.js} +11 -7
- 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 +61 -45
- package/src/address-manager/index.ts +50 -8
- package/src/address-manager/utils.ts +14 -0
- package/src/autonat/constants.ts +17 -2
- package/src/autonat/index.ts +53 -45
- package/src/circuit-relay/server/advert-service.ts +2 -2
- package/src/circuit-relay/server/index.ts +11 -3
- package/src/circuit-relay/transport/discovery.ts +5 -3
- package/src/circuit-relay/transport/index.ts +9 -4
- package/src/circuit-relay/transport/listener.ts +38 -28
- package/src/circuit-relay/transport/reservation-store.ts +34 -20
- package/src/components.ts +71 -234
- package/src/config/connection-gater.browser.ts +31 -0
- package/src/config/connection-gater.ts +19 -0
- package/src/config.ts +3 -64
- package/src/connection-manager/auto-dial.ts +44 -15
- package/src/connection-manager/connection-pruner.ts +28 -8
- package/src/connection-manager/dial-queue.ts +41 -21
- package/src/connection-manager/index.ts +31 -43
- package/src/content-routing/index.ts +7 -55
- package/src/content-routing/utils.ts +3 -1
- package/src/fetch/index.ts +51 -14
- package/src/identify/identify.ts +519 -0
- package/src/identify/index.ts +17 -507
- package/src/index.ts +14 -77
- package/src/insecure/index.ts +4 -4
- package/src/libp2p.ts +139 -260
- package/src/peer-routing.ts +1 -101
- package/src/ping/constants.ts +11 -0
- package/src/ping/index.ts +32 -28
- package/src/registrar.ts +31 -27
- package/src/transport-manager.ts +27 -13
- package/src/upgrader.ts +62 -58
- package/src/{nat-manager.ts → upnp-nat/index.ts} +16 -17
- 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 +0 -74
- 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,74 +0,0 @@
|
|
|
1
|
-
import { NatAPI } from '@achingbrain/nat-port-mapper';
|
|
2
|
-
import type { Startable } from '@libp2p/interfaces/startable';
|
|
3
|
-
import type { TransportManager } from '@libp2p/interface-transport';
|
|
4
|
-
import type { PeerId } from '@libp2p/interface-peer-id';
|
|
5
|
-
import type { AddressManager } from '@libp2p/interface-address-manager';
|
|
6
|
-
export interface PMPOptions {
|
|
7
|
-
/**
|
|
8
|
-
* Whether to enable PMP as well as UPnP
|
|
9
|
-
*/
|
|
10
|
-
enabled?: boolean;
|
|
11
|
-
}
|
|
12
|
-
export interface NatManagerInit {
|
|
13
|
-
/**
|
|
14
|
-
* Whether to enable the NAT manager
|
|
15
|
-
*/
|
|
16
|
-
enabled: boolean;
|
|
17
|
-
/**
|
|
18
|
-
* Pass a value to use instead of auto-detection
|
|
19
|
-
*/
|
|
20
|
-
externalAddress?: string;
|
|
21
|
-
/**
|
|
22
|
-
* Pass a value to use instead of auto-detection
|
|
23
|
-
*/
|
|
24
|
-
localAddress?: string;
|
|
25
|
-
/**
|
|
26
|
-
* A string value to use for the port mapping description on the gateway
|
|
27
|
-
*/
|
|
28
|
-
description?: string;
|
|
29
|
-
/**
|
|
30
|
-
* How long UPnP port mappings should last for in seconds (minimum 1200)
|
|
31
|
-
*/
|
|
32
|
-
ttl?: number;
|
|
33
|
-
/**
|
|
34
|
-
* Whether to automatically refresh UPnP port mappings when their TTL is reached
|
|
35
|
-
*/
|
|
36
|
-
keepAlive: boolean;
|
|
37
|
-
/**
|
|
38
|
-
* Pass a value to use instead of auto-detection
|
|
39
|
-
*/
|
|
40
|
-
gateway?: string;
|
|
41
|
-
}
|
|
42
|
-
export interface NatManagerComponents {
|
|
43
|
-
peerId: PeerId;
|
|
44
|
-
transportManager: TransportManager;
|
|
45
|
-
addressManager: AddressManager;
|
|
46
|
-
}
|
|
47
|
-
export declare class NatManager implements Startable {
|
|
48
|
-
private readonly components;
|
|
49
|
-
private readonly enabled;
|
|
50
|
-
private readonly externalAddress?;
|
|
51
|
-
private readonly localAddress?;
|
|
52
|
-
private readonly description;
|
|
53
|
-
private readonly ttl;
|
|
54
|
-
private readonly keepAlive;
|
|
55
|
-
private readonly gateway?;
|
|
56
|
-
private started;
|
|
57
|
-
private client?;
|
|
58
|
-
constructor(components: NatManagerComponents, init: NatManagerInit);
|
|
59
|
-
isStarted(): boolean;
|
|
60
|
-
start(): void;
|
|
61
|
-
/**
|
|
62
|
-
* Attempt to use uPnP to configure port mapping using the current gateway.
|
|
63
|
-
*
|
|
64
|
-
* Run after start to ensure the transport manager has all addresses configured.
|
|
65
|
-
*/
|
|
66
|
-
afterStart(): void;
|
|
67
|
-
_start(): Promise<void>;
|
|
68
|
-
_getClient(): Promise<NatAPI>;
|
|
69
|
-
/**
|
|
70
|
-
* Stops the NAT manager
|
|
71
|
-
*/
|
|
72
|
-
stop(): Promise<void>;
|
|
73
|
-
}
|
|
74
|
-
//# sourceMappingURL=nat-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nat-manager.d.ts","sourceRoot":"","sources":["../../src/nat-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAS9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AASvE,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAA;IAEhB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,SAAS,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,cAAc,EAAE,cAAc,CAAA;CAC/B;AAED,qBAAa,UAAW,YAAW,SAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAQ;IACzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAQ;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAQ;IACjC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAC,CAAQ;gBAEV,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,cAAc;IAiBnE,SAAS,IAAK,OAAO;IAIrB,KAAK,IAAK,IAAI;IAId;;;;OAIG;IACH,UAAU,IAAK,IAAI;IAcb,MAAM,IAAK,OAAO,CAAC,IAAI,CAAC;IAuDxB,UAAU,IAAK,OAAO,CAAC,MAAM,CAAC;IAepC;;OAEG;IACG,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;CAY7B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nat-manager.js","sourceRoot":"","sources":["../../src/nat-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { Startable } from '@libp2p/interfaces/startable';
|
|
2
|
-
import type { TransportManager } from '@libp2p/interface-transport';
|
|
3
|
-
import type { AddressManager } from '@libp2p/interface-address-manager';
|
|
4
|
-
import type { PeerId } from '@libp2p/interface-peer-id';
|
|
5
|
-
import type { PeerStore } from '@libp2p/interface-peer-store';
|
|
6
|
-
export interface PeerRecordUpdaterComponents {
|
|
7
|
-
peerId: PeerId;
|
|
8
|
-
peerStore: PeerStore;
|
|
9
|
-
transportManager: TransportManager;
|
|
10
|
-
addressManager: AddressManager;
|
|
11
|
-
}
|
|
12
|
-
export declare class PeerRecordUpdater implements Startable {
|
|
13
|
-
private readonly components;
|
|
14
|
-
private started;
|
|
15
|
-
constructor(components: PeerRecordUpdaterComponents);
|
|
16
|
-
isStarted(): boolean;
|
|
17
|
-
start(): Promise<void>;
|
|
18
|
-
stop(): Promise<void>;
|
|
19
|
-
/**
|
|
20
|
-
* Create (or update if existing) self peer record and store it in the AddressBook.
|
|
21
|
-
*/
|
|
22
|
-
update(): void;
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=peer-record-updater.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"peer-record-updater.d.ts","sourceRoot":"","sources":["../../src/peer-record-updater.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAG7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAI7D,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,SAAS,CAAA;IACpB,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,cAAc,EAAE,cAAc,CAAA;CAC/B;AAED,qBAAa,iBAAkB,YAAW,SAAS;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,OAAO,CAAS;gBAEX,UAAU,EAAE,2BAA2B;IAMpD,SAAS,IAAK,OAAO;IAIf,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAOvB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAO5B;;OAEG;IACH,MAAM,IAAK,IAAI;CAehB"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { RecordEnvelope, PeerRecord } from '@libp2p/peer-record';
|
|
2
|
-
import { logger } from '@libp2p/logger';
|
|
3
|
-
import { protocols } from '@multiformats/multiaddr';
|
|
4
|
-
const log = logger('libp2p:peer-record-updater');
|
|
5
|
-
export class PeerRecordUpdater {
|
|
6
|
-
constructor(components) {
|
|
7
|
-
this.components = components;
|
|
8
|
-
this.started = false;
|
|
9
|
-
this.update = this.update.bind(this);
|
|
10
|
-
}
|
|
11
|
-
isStarted() {
|
|
12
|
-
return this.started;
|
|
13
|
-
}
|
|
14
|
-
async start() {
|
|
15
|
-
this.started = true;
|
|
16
|
-
this.components.transportManager.addEventListener('listener:listening', this.update);
|
|
17
|
-
this.components.transportManager.addEventListener('listener:close', this.update);
|
|
18
|
-
this.components.addressManager.addEventListener('change:addresses', this.update);
|
|
19
|
-
}
|
|
20
|
-
async stop() {
|
|
21
|
-
this.started = false;
|
|
22
|
-
this.components.transportManager.removeEventListener('listener:listening', this.update);
|
|
23
|
-
this.components.transportManager.removeEventListener('listener:close', this.update);
|
|
24
|
-
this.components.addressManager.removeEventListener('change:addresses', this.update);
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Create (or update if existing) self peer record and store it in the AddressBook.
|
|
28
|
-
*/
|
|
29
|
-
update() {
|
|
30
|
-
Promise.resolve()
|
|
31
|
-
.then(async () => {
|
|
32
|
-
const peerRecord = new PeerRecord({
|
|
33
|
-
peerId: this.components.peerId,
|
|
34
|
-
multiaddrs: this.components.addressManager.getAddresses().map(ma => ma.decapsulateCode(protocols('p2p').code))
|
|
35
|
-
});
|
|
36
|
-
const envelope = await RecordEnvelope.seal(peerRecord, this.components.peerId);
|
|
37
|
-
await this.components.peerStore.addressBook.consumePeerRecord(envelope);
|
|
38
|
-
})
|
|
39
|
-
.catch(err => {
|
|
40
|
-
log.error('Could not update self peer record: %o', err);
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=peer-record-updater.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"peer-record-updater.js","sourceRoot":"","sources":["../../src/peer-record-updater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhE,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAMnD,MAAM,GAAG,GAAG,MAAM,CAAC,4BAA4B,CAAC,CAAA;AAShD,MAAM,OAAO,iBAAiB;IAI5B,YAAa,UAAuC;QAClD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACtC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QACpF,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAChF,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAClF,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QACvF,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QACnF,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACrF,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,CAAC,OAAO,EAAE;aACd,IAAI,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC;gBAChC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;gBAC9B,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;aAC/G,CAAC,CAAA;YAEF,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;YAC9E,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;QACzE,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,GAAG,CAAC,KAAK,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;IACN,CAAC;CACF"}
|
package/dist/typedoc-urls.json
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"codec": "https://libp2p.github.io/js-libp2p/functions/circuit_relay._internal_.Limit.codec.html",
|
|
3
|
-
"decode": "https://libp2p.github.io/js-libp2p/functions/circuit_relay._internal_.Limit.decode.html",
|
|
4
|
-
"encode": "https://libp2p.github.io/js-libp2p/functions/circuit_relay._internal_.Limit.encode.html",
|
|
5
|
-
"AdvertServiceComponents": "https://libp2p.github.io/js-libp2p/interfaces/circuit_relay._internal_.AdvertServiceComponents.html",
|
|
6
|
-
"AdvertServiceInit": "https://libp2p.github.io/js-libp2p/interfaces/circuit_relay._internal_.AdvertServiceInit.html",
|
|
7
|
-
"CircuitRelayServerComponents": "https://libp2p.github.io/js-libp2p/interfaces/circuit_relay._internal_.CircuitRelayServerComponents.html",
|
|
8
|
-
"CircuitRelayServerInit": "https://libp2p.github.io/js-libp2p/interfaces/circuit_relay._internal_.CircuitRelayServerInit.html",
|
|
9
|
-
"CircuitRelayTransportComponents": "https://libp2p.github.io/js-libp2p/interfaces/circuit_relay._internal_.CircuitRelayTransportComponents.html",
|
|
10
|
-
"CircuitRelayTransportInit": "https://libp2p.github.io/js-libp2p/interfaces/circuit_relay._internal_.CircuitRelayTransportInit.html",
|
|
11
|
-
"Limit": "https://libp2p.github.io/js-libp2p/interfaces/circuit_relay._internal_.Limit-1.html",
|
|
12
|
-
"RelayDiscoveryComponents": "https://libp2p.github.io/js-libp2p/interfaces/circuit_relay._internal_.RelayDiscoveryComponents.html",
|
|
13
|
-
"RelayStoreInit": "https://libp2p.github.io/js-libp2p/interfaces/circuit_relay._internal_.RelayStoreInit.html",
|
|
14
|
-
"ReservationStoreInit": "https://libp2p.github.io/js-libp2p/interfaces/circuit_relay._internal_.ReservationStoreInit.html",
|
|
15
|
-
"CircuitRelayService": "https://libp2p.github.io/js-libp2p/interfaces/circuit_relay.CircuitRelayService.html",
|
|
16
|
-
"CircuitRelayServiceEvents": "https://libp2p.github.io/js-libp2p/interfaces/circuit_relay.CircuitRelayServiceEvents.html",
|
|
17
|
-
"RelayReservation": "https://libp2p.github.io/js-libp2p/interfaces/circuit_relay.RelayReservation.html",
|
|
18
|
-
"circuitRelayServer": "https://libp2p.github.io/js-libp2p/functions/circuit_relay.circuitRelayServer.html",
|
|
19
|
-
"circuitRelayTransport": "https://libp2p.github.io/js-libp2p/functions/circuit_relay.circuitRelayTransport.html",
|
|
20
|
-
"AddressFilter": "https://libp2p.github.io/js-libp2p/interfaces/index._internal_.AddressFilter.html",
|
|
21
|
-
"AddressManagerInit": "https://libp2p.github.io/js-libp2p/interfaces/index._internal_.AddressManagerInit.html",
|
|
22
|
-
"AutonatServiceInit": "https://libp2p.github.io/js-libp2p/interfaces/index._internal_.AutonatServiceInit.html",
|
|
23
|
-
"Components": "https://libp2p.github.io/js-libp2p/interfaces/index._internal_.Components.html",
|
|
24
|
-
"ConnectionManagerInit": "https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerInit.html",
|
|
25
|
-
"FetchServiceInit": "https://libp2p.github.io/js-libp2p/interfaces/index._internal_.FetchServiceInit.html",
|
|
26
|
-
"HostProperties": "https://libp2p.github.io/js-libp2p/interfaces/index._internal_.HostProperties.html",
|
|
27
|
-
"IdentifyServiceInit": "https://libp2p.github.io/js-libp2p/interfaces/index._internal_.IdentifyServiceInit.html",
|
|
28
|
-
"NatManagerInit": "https://libp2p.github.io/js-libp2p/interfaces/index._internal_.NatManagerInit.html",
|
|
29
|
-
"PeerRoutingInit": "https://libp2p.github.io/js-libp2p/interfaces/index._internal_.PeerRoutingInit.html",
|
|
30
|
-
"PingServiceInit": "https://libp2p.github.io/js-libp2p/interfaces/index._internal_.PingServiceInit.html",
|
|
31
|
-
"RefreshManagerInit": "https://libp2p.github.io/js-libp2p/interfaces/index._internal_.RefreshManagerInit.html",
|
|
32
|
-
"TransportManagerInit": "https://libp2p.github.io/js-libp2p/interfaces/index._internal_.TransportManagerInit.html",
|
|
33
|
-
"Libp2pEvents": "https://libp2p.github.io/js-libp2p/interfaces/index.Libp2pEvents.html",
|
|
34
|
-
"Libp2pInit": "https://libp2p.github.io/js-libp2p/interfaces/index.Libp2pInit.html",
|
|
35
|
-
"Libp2pOptions": "https://libp2p.github.io/js-libp2p/types/index.Libp2pOptions.html",
|
|
36
|
-
"createLibp2p": "https://libp2p.github.io/js-libp2p/functions/index.createLibp2p.html",
|
|
37
|
-
"plaintext": "https://libp2p.github.io/js-libp2p/functions/insecure.plaintext.html",
|
|
38
|
-
"ProtectorInit": "https://libp2p.github.io/js-libp2p/interfaces/pnet.ProtectorInit.html",
|
|
39
|
-
"generateKey": "https://libp2p.github.io/js-libp2p/functions/pnet.generateKey.html",
|
|
40
|
-
"preSharedKey": "https://libp2p.github.io/js-libp2p/functions/pnet.preSharedKey.html"
|
|
41
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import drain from 'it-drain'
|
|
2
|
-
import { CodeError } from '@libp2p/interfaces/errors'
|
|
3
|
-
import type { DHT } from '@libp2p/interface-dht'
|
|
4
|
-
import type { ContentRouting } from '@libp2p/interface-content-routing'
|
|
5
|
-
import type { CID } from 'multiformats/cid'
|
|
6
|
-
import type { AbortOptions } from '@libp2p/interfaces'
|
|
7
|
-
import type { PeerInfo } from '@libp2p/interface-peer-info'
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Wrapper class to convert events into returned values
|
|
11
|
-
*/
|
|
12
|
-
export class DHTContentRouting implements ContentRouting {
|
|
13
|
-
private readonly dht: DHT
|
|
14
|
-
|
|
15
|
-
constructor (dht: DHT) {
|
|
16
|
-
this.dht = dht
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
async provide (cid: CID): Promise<void> {
|
|
20
|
-
await drain(this.dht.provide(cid))
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
async * findProviders (cid: CID, options: AbortOptions = {}): AsyncGenerator<PeerInfo, void, undefined> {
|
|
24
|
-
for await (const event of this.dht.findProviders(cid, options)) {
|
|
25
|
-
if (event.name === 'PROVIDER') {
|
|
26
|
-
yield * event.providers
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
async put (key: Uint8Array, value: Uint8Array, options?: AbortOptions): Promise<void> {
|
|
32
|
-
await drain(this.dht.put(key, value, options))
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
async get (key: Uint8Array, options?: AbortOptions): Promise<Uint8Array> {
|
|
36
|
-
for await (const event of this.dht.get(key, options)) {
|
|
37
|
-
if (event.name === 'VALUE') {
|
|
38
|
-
return event.value
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
throw new CodeError('Not found', 'ERR_NOT_FOUND')
|
|
43
|
-
}
|
|
44
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { CodeError } from '@libp2p/interfaces/errors'
|
|
2
|
-
import { messages, codes } from '../errors.js'
|
|
3
|
-
import type { PeerRouting } from '@libp2p/interface-peer-routing'
|
|
4
|
-
import type { DHT } from '@libp2p/interface-dht'
|
|
5
|
-
import type { PeerId } from '@libp2p/interface-peer-id'
|
|
6
|
-
import type { AbortOptions } from '@libp2p/interfaces'
|
|
7
|
-
import type { PeerInfo } from '@libp2p/interface-peer-info'
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Wrapper class to convert events into returned values
|
|
11
|
-
*/
|
|
12
|
-
export class DHTPeerRouting implements PeerRouting {
|
|
13
|
-
private readonly dht: DHT
|
|
14
|
-
|
|
15
|
-
constructor (dht: DHT) {
|
|
16
|
-
this.dht = dht
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
async findPeer (peerId: PeerId, options: AbortOptions = {}): Promise<PeerInfo> {
|
|
20
|
-
for await (const event of this.dht.findPeer(peerId, options)) {
|
|
21
|
-
if (event.name === 'FINAL_PEER') {
|
|
22
|
-
return event.peer
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
throw new CodeError(messages.NOT_FOUND, codes.ERR_NOT_FOUND)
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
async * getClosestPeers (key: Uint8Array, options: AbortOptions = {}): AsyncIterable<PeerInfo> {
|
|
30
|
-
for await (const event of this.dht.getClosestPeers(key, options)) {
|
|
31
|
-
if (event.name === 'FINAL_PEER') {
|
|
32
|
-
yield event.peer
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
package/src/dht/dummy-dht.ts
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import type { DualDHT, QueryEvent, SingleDHT } from '@libp2p/interface-dht'
|
|
2
|
-
import type { PeerDiscoveryEvents } from '@libp2p/interface-peer-discovery'
|
|
3
|
-
import { CodeError } from '@libp2p/interfaces/errors'
|
|
4
|
-
import { messages, codes } from '../errors.js'
|
|
5
|
-
import { EventEmitter } from '@libp2p/interfaces/events'
|
|
6
|
-
import { symbol } from '@libp2p/interface-peer-discovery'
|
|
7
|
-
|
|
8
|
-
export class DummyDHT extends EventEmitter<PeerDiscoveryEvents> implements DualDHT {
|
|
9
|
-
get [symbol] (): true {
|
|
10
|
-
return true
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
get [Symbol.toStringTag] (): '@libp2p/dummy-dht' {
|
|
14
|
-
return '@libp2p/dummy-dht'
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
get wan (): SingleDHT {
|
|
18
|
-
throw new CodeError(messages.DHT_DISABLED, codes.DHT_DISABLED)
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
get lan (): SingleDHT {
|
|
22
|
-
throw new CodeError(messages.DHT_DISABLED, codes.DHT_DISABLED)
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
get (): AsyncIterable<QueryEvent> {
|
|
26
|
-
throw new CodeError(messages.DHT_DISABLED, codes.DHT_DISABLED)
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
findProviders (): AsyncIterable<QueryEvent> {
|
|
30
|
-
throw new CodeError(messages.DHT_DISABLED, codes.DHT_DISABLED)
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
findPeer (): AsyncIterable<QueryEvent> {
|
|
34
|
-
throw new CodeError(messages.DHT_DISABLED, codes.DHT_DISABLED)
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
getClosestPeers (): AsyncIterable<QueryEvent> {
|
|
38
|
-
throw new CodeError(messages.DHT_DISABLED, codes.DHT_DISABLED)
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
provide (): AsyncIterable<QueryEvent> {
|
|
42
|
-
throw new CodeError(messages.DHT_DISABLED, codes.DHT_DISABLED)
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
put (): AsyncIterable<QueryEvent> {
|
|
46
|
-
throw new CodeError(messages.DHT_DISABLED, codes.DHT_DISABLED)
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
async getMode (): Promise<'client' | 'server'> {
|
|
50
|
-
throw new CodeError(messages.DHT_DISABLED, codes.DHT_DISABLED)
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
async setMode (): Promise<void> {
|
|
54
|
-
throw new CodeError(messages.DHT_DISABLED, codes.DHT_DISABLED)
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
async refreshRoutingTable (): Promise<void> {
|
|
58
|
-
throw new CodeError(messages.DHT_DISABLED, codes.DHT_DISABLED)
|
|
59
|
-
}
|
|
60
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { RecordEnvelope, PeerRecord } from '@libp2p/peer-record'
|
|
2
|
-
import type { Startable } from '@libp2p/interfaces/startable'
|
|
3
|
-
import { logger } from '@libp2p/logger'
|
|
4
|
-
import { protocols } from '@multiformats/multiaddr'
|
|
5
|
-
import type { TransportManager } from '@libp2p/interface-transport'
|
|
6
|
-
import type { AddressManager } from '@libp2p/interface-address-manager'
|
|
7
|
-
import type { PeerId } from '@libp2p/interface-peer-id'
|
|
8
|
-
import type { PeerStore } from '@libp2p/interface-peer-store'
|
|
9
|
-
|
|
10
|
-
const log = logger('libp2p:peer-record-updater')
|
|
11
|
-
|
|
12
|
-
export interface PeerRecordUpdaterComponents {
|
|
13
|
-
peerId: PeerId
|
|
14
|
-
peerStore: PeerStore
|
|
15
|
-
transportManager: TransportManager
|
|
16
|
-
addressManager: AddressManager
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export class PeerRecordUpdater implements Startable {
|
|
20
|
-
private readonly components: PeerRecordUpdaterComponents
|
|
21
|
-
private started: boolean
|
|
22
|
-
|
|
23
|
-
constructor (components: PeerRecordUpdaterComponents) {
|
|
24
|
-
this.components = components
|
|
25
|
-
this.started = false
|
|
26
|
-
this.update = this.update.bind(this)
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
isStarted (): boolean {
|
|
30
|
-
return this.started
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
async start (): Promise<void> {
|
|
34
|
-
this.started = true
|
|
35
|
-
this.components.transportManager.addEventListener('listener:listening', this.update)
|
|
36
|
-
this.components.transportManager.addEventListener('listener:close', this.update)
|
|
37
|
-
this.components.addressManager.addEventListener('change:addresses', this.update)
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
async stop (): Promise<void> {
|
|
41
|
-
this.started = false
|
|
42
|
-
this.components.transportManager.removeEventListener('listener:listening', this.update)
|
|
43
|
-
this.components.transportManager.removeEventListener('listener:close', this.update)
|
|
44
|
-
this.components.addressManager.removeEventListener('change:addresses', this.update)
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Create (or update if existing) self peer record and store it in the AddressBook.
|
|
49
|
-
*/
|
|
50
|
-
update (): void {
|
|
51
|
-
Promise.resolve()
|
|
52
|
-
.then(async () => {
|
|
53
|
-
const peerRecord = new PeerRecord({
|
|
54
|
-
peerId: this.components.peerId,
|
|
55
|
-
multiaddrs: this.components.addressManager.getAddresses().map(ma => ma.decapsulateCode(protocols('p2p').code))
|
|
56
|
-
})
|
|
57
|
-
|
|
58
|
-
const envelope = await RecordEnvelope.seal(peerRecord, this.components.peerId)
|
|
59
|
-
await this.components.peerStore.addressBook.consumePeerRecord(envelope)
|
|
60
|
-
})
|
|
61
|
-
.catch(err => {
|
|
62
|
-
log.error('Could not update self peer record: %o', err)
|
|
63
|
-
})
|
|
64
|
-
}
|
|
65
|
-
}
|