libp2p 0.39.5 → 0.40.0
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/README.md +5 -0
- package/dist/src/address-manager/index.d.ts +18 -2
- package/dist/src/address-manager/index.d.ts.map +1 -1
- package/dist/src/address-manager/index.js +18 -5
- package/dist/src/address-manager/index.js.map +1 -1
- package/dist/src/circuit/auto-relay.d.ts +2 -2
- package/dist/src/circuit/auto-relay.d.ts.map +1 -1
- package/dist/src/circuit/auto-relay.js +12 -12
- package/dist/src/circuit/auto-relay.js.map +1 -1
- package/dist/src/circuit/index.d.ts +13 -3
- package/dist/src/circuit/index.d.ts.map +1 -1
- package/dist/src/circuit/index.js +1 -1
- package/dist/src/circuit/index.js.map +1 -1
- package/dist/src/circuit/pb/index.d.ts.map +1 -1
- package/dist/src/circuit/pb/index.js +29 -34
- package/dist/src/circuit/pb/index.js.map +1 -1
- package/dist/src/circuit/transport.d.ts +22 -7
- package/dist/src/circuit/transport.d.ts.map +1 -1
- package/dist/src/circuit/transport.js +26 -17
- package/dist/src/circuit/transport.js.map +1 -1
- package/dist/src/components.d.ts +110 -0
- package/dist/src/components.d.ts.map +1 -0
- package/dist/src/components.js +199 -0
- package/dist/src/components.js.map +1 -0
- package/dist/src/connection-manager/auto-dialler.d.ts +9 -2
- package/dist/src/connection-manager/auto-dialler.d.ts.map +1 -1
- package/dist/src/connection-manager/auto-dialler.js +6 -6
- package/dist/src/connection-manager/auto-dialler.js.map +1 -1
- package/dist/src/connection-manager/dialer/index.d.ts +12 -5
- package/dist/src/connection-manager/dialer/index.d.ts.map +1 -1
- package/dist/src/connection-manager/dialer/index.js +9 -9
- package/dist/src/connection-manager/dialer/index.js.map +1 -1
- package/dist/src/connection-manager/index.d.ts +41 -9
- package/dist/src/connection-manager/index.d.ts.map +1 -1
- package/dist/src/connection-manager/index.js +82 -39
- package/dist/src/connection-manager/index.js.map +1 -1
- package/dist/src/content-routing/index.d.ts +7 -2
- package/dist/src/content-routing/index.d.ts.map +1 -1
- package/dist/src/content-routing/index.js +4 -4
- 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/errors.d.ts +2 -1
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +1 -0
- package/dist/src/errors.js.map +1 -1
- package/dist/src/fetch/index.d.ts +7 -3
- package/dist/src/fetch/index.d.ts.map +1 -1
- package/dist/src/fetch/index.js +3 -3
- package/dist/src/fetch/index.js.map +1 -1
- package/dist/src/fetch/pb/proto.d.ts.map +1 -1
- package/dist/src/fetch/pb/proto.js +24 -35
- package/dist/src/fetch/pb/proto.js.map +1 -1
- package/dist/src/identify/index.d.ts +13 -3
- package/dist/src/identify/index.d.ts.map +1 -1
- package/dist/src/identify/index.js +41 -41
- package/dist/src/identify/index.js.map +1 -1
- package/dist/src/identify/pb/message.d.ts.map +1 -1
- package/dist/src/identify/pb/message.js +23 -34
- package/dist/src/identify/pb/message.js.map +1 -1
- package/dist/src/index.d.ts +10 -9
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/insecure/index.d.ts +2 -8
- package/dist/src/insecure/index.d.ts.map +1 -1
- package/dist/src/insecure/index.js +5 -3
- package/dist/src/insecure/index.js.map +1 -1
- package/dist/src/insecure/pb/proto.d.ts.map +1 -1
- package/dist/src/insecure/pb/proto.js +24 -29
- package/dist/src/insecure/pb/proto.js.map +1 -1
- package/dist/src/keychain/index.d.ts +6 -2
- package/dist/src/keychain/index.d.ts.map +1 -1
- package/dist/src/keychain/index.js +19 -19
- package/dist/src/keychain/index.js.map +1 -1
- package/dist/src/libp2p.d.ts +1 -2
- package/dist/src/libp2p.d.ts.map +1 -1
- package/dist/src/libp2p.js +48 -71
- package/dist/src/libp2p.js.map +1 -1
- package/dist/src/nat-manager.d.ts +9 -2
- package/dist/src/nat-manager.d.ts.map +1 -1
- package/dist/src/nat-manager.js +3 -3
- package/dist/src/nat-manager.js.map +1 -1
- package/dist/src/peer-record-updater.d.ts +11 -2
- package/dist/src/peer-record-updater.d.ts.map +1 -1
- package/dist/src/peer-record-updater.js +10 -10
- package/dist/src/peer-record-updater.js.map +1 -1
- package/dist/src/peer-routing.d.ts +6 -2
- package/dist/src/peer-routing.d.ts.map +1 -1
- package/dist/src/peer-routing.js +4 -4
- package/dist/src/peer-routing.js.map +1 -1
- package/dist/src/ping/index.d.ts +7 -3
- package/dist/src/ping/index.d.ts.map +1 -1
- package/dist/src/ping/index.js +3 -3
- package/dist/src/ping/index.js.map +1 -1
- package/dist/src/pnet/index.d.ts +2 -17
- package/dist/src/pnet/index.d.ts.map +1 -1
- package/dist/src/pnet/index.js +4 -1
- package/dist/src/pnet/index.js.map +1 -1
- package/dist/src/pubsub/dummy-pubsub.d.ts +2 -1
- package/dist/src/pubsub/dummy-pubsub.d.ts.map +1 -1
- package/dist/src/pubsub/dummy-pubsub.js +4 -0
- package/dist/src/pubsub/dummy-pubsub.js.map +1 -1
- package/dist/src/registrar.d.ts +9 -3
- package/dist/src/registrar.d.ts.map +1 -1
- package/dist/src/registrar.js +6 -6
- 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 +4 -4
- package/dist/src/transport-manager.js.map +1 -1
- package/dist/src/upgrader.d.ts +17 -5
- package/dist/src/upgrader.d.ts.map +1 -1
- package/dist/src/upgrader.js +55 -43
- package/dist/src/upgrader.js.map +1 -1
- package/package.json +37 -37
- package/src/address-manager/index.ts +31 -8
- package/src/circuit/auto-relay.ts +15 -15
- package/src/circuit/index.ts +16 -5
- package/src/circuit/pb/index.ts +29 -35
- package/src/circuit/transport.ts +49 -20
- package/src/components.ts +332 -0
- package/src/connection-manager/auto-dialler.ts +17 -9
- package/src/connection-manager/dialer/index.ts +23 -15
- package/src/connection-manager/index.ts +139 -47
- package/src/content-routing/index.ts +13 -7
- package/src/errors.ts +2 -1
- package/src/fetch/index.ts +12 -7
- package/src/fetch/pb/proto.ts +24 -35
- package/src/identify/index.ts +57 -53
- package/src/identify/pb/message.ts +23 -35
- package/src/index.ts +10 -9
- package/src/insecure/index.ts +6 -3
- package/src/insecure/pb/proto.ts +24 -29
- package/src/keychain/index.ts +27 -22
- package/src/libp2p.ts +49 -77
- package/src/nat-manager.ts +14 -6
- package/src/peer-record-updater.ts +23 -13
- package/src/peer-routing.ts +12 -7
- package/src/ping/index.ts +12 -7
- package/src/pnet/index.ts +5 -1
- package/src/pubsub/dummy-pubsub.ts +3 -1
- package/src/registrar.ts +17 -10
- package/src/transport-manager.ts +15 -8
- package/src/upgrader.ts +75 -49
- package/src/version.ts +1 -1
- package/dist/src/connection-manager/dialer/auto-dialer.d.ts +0 -16
- package/dist/src/connection-manager/dialer/auto-dialer.d.ts.map +0 -1
- package/dist/src/connection-manager/dialer/auto-dialer.js +0 -43
- package/dist/src/connection-manager/dialer/auto-dialer.js.map +0 -1
- package/src/connection-manager/dialer/auto-dialer.ts +0 -65
package/README.md
CHANGED
|
@@ -45,6 +45,7 @@ If you are looking for the documentation of the latest release, you can view the
|
|
|
45
45
|
- [Install](#install)
|
|
46
46
|
- [Usage](#usage)
|
|
47
47
|
- [Configuration](#configuration)
|
|
48
|
+
- [Limits](#limits)
|
|
48
49
|
- [API](#api)
|
|
49
50
|
- [Getting started](#getting-started)
|
|
50
51
|
- [Tutorials and Examples](#tutorials-and-examples)
|
|
@@ -85,6 +86,10 @@ npm install libp2p
|
|
|
85
86
|
|
|
86
87
|
For all the information on how you can configure libp2p see [CONFIGURATION.md](./doc/CONFIGURATION.md).
|
|
87
88
|
|
|
89
|
+
### Limits
|
|
90
|
+
|
|
91
|
+
For help configuring your node to resist malicious network peers, see [LIMITS.md](./doc/LIMITS.md)
|
|
92
|
+
|
|
88
93
|
### API
|
|
89
94
|
|
|
90
95
|
The specification is available on [API.md](./doc/API.md).
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { AddressManagerEvents } from '@libp2p/interface-address-manager';
|
|
2
2
|
import { EventEmitter } from '@libp2p/interfaces/events';
|
|
3
3
|
import type { Multiaddr } from '@multiformats/multiaddr';
|
|
4
|
-
import type {
|
|
4
|
+
import type { PeerId } from '@libp2p/interface-peer-id';
|
|
5
|
+
import type { TransportManager } from '@libp2p/interface-transport';
|
|
5
6
|
export interface AddressManagerInit {
|
|
6
7
|
announceFilter?: AddressFilter;
|
|
7
8
|
/**
|
|
@@ -17,6 +18,10 @@ export interface AddressManagerInit {
|
|
|
17
18
|
*/
|
|
18
19
|
noAnnounce?: string[];
|
|
19
20
|
}
|
|
21
|
+
export interface DefaultAddressManagerComponents {
|
|
22
|
+
peerId: PeerId;
|
|
23
|
+
transportManager: TransportManager;
|
|
24
|
+
}
|
|
20
25
|
export interface AddressFilter {
|
|
21
26
|
(addrs: Multiaddr[]): Multiaddr[];
|
|
22
27
|
}
|
|
@@ -32,7 +37,7 @@ export declare class DefaultAddressManager extends EventEmitter<AddressManagerEv
|
|
|
32
37
|
* The listen addresses will be used by the libp2p transports to listen for new connections,
|
|
33
38
|
* while the announce addresses will be used for the peer addresses' to other peers in the network.
|
|
34
39
|
*/
|
|
35
|
-
constructor(components:
|
|
40
|
+
constructor(components: DefaultAddressManagerComponents, init: AddressManagerInit);
|
|
36
41
|
/**
|
|
37
42
|
* Get peer listen multiaddrs
|
|
38
43
|
*/
|
|
@@ -45,6 +50,17 @@ export declare class DefaultAddressManager extends EventEmitter<AddressManagerEv
|
|
|
45
50
|
* Get observed multiaddrs
|
|
46
51
|
*/
|
|
47
52
|
getObservedAddrs(): Multiaddr[];
|
|
53
|
+
/**
|
|
54
|
+
* Add peer observed addresses
|
|
55
|
+
* Signal that we have confidence an observed multiaddr is publicly dialable -
|
|
56
|
+
* this will make it appear in the output of getAddresses()
|
|
57
|
+
*/
|
|
58
|
+
confirmObservedAddr(addr: Multiaddr): void;
|
|
59
|
+
/**
|
|
60
|
+
* Signal that we do not have confidence an observed multiaddr is publicly dialable -
|
|
61
|
+
* this will remove it from the output of getObservedAddrs()
|
|
62
|
+
*/
|
|
63
|
+
removeObservedAddr(addr: Multiaddr): void;
|
|
48
64
|
/**
|
|
49
65
|
* Add peer observed addresses
|
|
50
66
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/address-manager/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AAC7E,OAAO,EAAe,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGxD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/address-manager/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AAC7E,OAAO,EAAe,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAEnE,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,EAAE,aAAa,CAAA;IAE9B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IAEnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,MAAM,CAAA;IACd,gBAAgB,EAAE,gBAAgB,CAAA;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAAA;CAClC;AAID,qBAAa,qBAAsB,SAAQ,YAAY,CAAC,oBAAoB,CAAC;IAC3E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;IAC5D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAe;IAE9C;;;;;OAKG;gBACU,UAAU,EAAE,+BAA+B,EAAE,IAAI,EAAE,kBAAkB;IAYlF;;OAEG;IACH,cAAc,IAAK,SAAS,EAAE;IAI9B;;OAEG;IACH,gBAAgB,IAAK,SAAS,EAAE;IAIhC;;OAEG;IACH,gBAAgB,IAAK,SAAS,EAAE;IAIhC;;;;OAIG;IACH,mBAAmB,CAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAI3C;;;OAGG;IACH,kBAAkB,CAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAI1C;;OAEG;IACH,eAAe,CAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAyBhD,YAAY,IAAK,SAAS,EAAE;CAwB7B"}
|
|
@@ -36,6 +36,19 @@ export class DefaultAddressManager extends EventEmitter {
|
|
|
36
36
|
getObservedAddrs() {
|
|
37
37
|
return Array.from(this.observed).map((a) => multiaddr(a));
|
|
38
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Add peer observed addresses
|
|
41
|
+
* Signal that we have confidence an observed multiaddr is publicly dialable -
|
|
42
|
+
* this will make it appear in the output of getAddresses()
|
|
43
|
+
*/
|
|
44
|
+
confirmObservedAddr(addr) {
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Signal that we do not have confidence an observed multiaddr is publicly dialable -
|
|
48
|
+
* this will remove it from the output of getObservedAddrs()
|
|
49
|
+
*/
|
|
50
|
+
removeObservedAddr(addr) {
|
|
51
|
+
}
|
|
39
52
|
/**
|
|
40
53
|
* Add peer observed addresses
|
|
41
54
|
*/
|
|
@@ -46,8 +59,8 @@ export class DefaultAddressManager extends EventEmitter {
|
|
|
46
59
|
if (remotePeer != null) {
|
|
47
60
|
const remotePeerId = peerIdFromString(remotePeer);
|
|
48
61
|
// use same encoding for comparison
|
|
49
|
-
if (remotePeerId.equals(this.components.
|
|
50
|
-
ma = ma.decapsulate(multiaddr(`/p2p/${this.components.
|
|
62
|
+
if (remotePeerId.equals(this.components.peerId)) {
|
|
63
|
+
ma = ma.decapsulate(multiaddr(`/p2p/${this.components.peerId.toString()}`));
|
|
51
64
|
}
|
|
52
65
|
}
|
|
53
66
|
const addrString = ma.toString();
|
|
@@ -62,7 +75,7 @@ export class DefaultAddressManager extends EventEmitter {
|
|
|
62
75
|
let addrs = this.getAnnounceAddrs().map(ma => ma.toString());
|
|
63
76
|
if (addrs.length === 0) {
|
|
64
77
|
// no configured announce addrs, add configured listen addresses
|
|
65
|
-
addrs = this.components.
|
|
78
|
+
addrs = this.components.transportManager.getAddrs().map(ma => ma.toString());
|
|
66
79
|
}
|
|
67
80
|
addrs = addrs.concat(this.getObservedAddrs().map(ma => ma.toString()));
|
|
68
81
|
// dedupe multiaddrs
|
|
@@ -71,10 +84,10 @@ export class DefaultAddressManager extends EventEmitter {
|
|
|
71
84
|
return this.announceFilter(Array.from(addrSet)
|
|
72
85
|
.map(str => multiaddr(str)))
|
|
73
86
|
.map(ma => {
|
|
74
|
-
if (ma.getPeerId() === this.components.
|
|
87
|
+
if (ma.getPeerId() === this.components.peerId.toString()) {
|
|
75
88
|
return ma;
|
|
76
89
|
}
|
|
77
|
-
return ma.encapsulate(`/p2p/${this.components.
|
|
90
|
+
return ma.encapsulate(`/p2p/${this.components.peerId.toString()}`);
|
|
78
91
|
});
|
|
79
92
|
}
|
|
80
93
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/address-manager/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAErE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/address-manager/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAErE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAgClD,MAAM,oBAAoB,GAAG,CAAC,KAAkB,EAAe,EAAE,CAAC,KAAK,CAAA;AAEvE,MAAM,OAAO,qBAAsB,SAAQ,YAAkC;IAO3E;;;;;OAKG;IACH,YAAa,UAA2C,EAAE,IAAwB;QAChF,KAAK,EAAE,CAAA;QAEP,MAAM,EAAE,MAAM,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,IAAI,CAAA;QAE3C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;QACtD,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;QAC1D,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAA;QACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,oBAAoB,CAAA;IACnE,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IACzD,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3D,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3D,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAE,IAAe;IAEpC,CAAC;IAED;;;OAGG;IACH,kBAAkB,CAAE,IAAe;IAEnC,CAAC;IAED;;OAEG;IACH,eAAe,CAAE,IAAwB;QACvC,IAAI,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;QACxB,MAAM,UAAU,GAAG,EAAE,CAAC,SAAS,EAAE,CAAA;QAEjC,0CAA0C;QAC1C,IAAI,UAAU,IAAI,IAAI,EAAE;YACtB,MAAM,YAAY,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAA;YAEjD,mCAAmC;YACnC,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;gBAC/C,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAA;aAC5E;SACF;QAED,MAAM,UAAU,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAA;QAEhC,kFAAkF;QAClF,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YACjC,OAAM;SACP;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAA;IACzD,CAAC;IAED,YAAY;QACV,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;QAE5D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,gEAAgE;YAChE,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;SAC7E;QAED,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;QAEtE,oBAAoB;QACpB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;QAE9B,0BAA0B;QAC1B,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;aAC3C,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;aAC3B,GAAG,CAAC,EAAE,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE;gBACxD,OAAO,EAAE,CAAA;aACV;YAED,OAAO,EAAE,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QACpE,CAAC,CAAC,CAAA;IACN,CAAC;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { PeerId } from '@libp2p/interface-peer-id';
|
|
2
2
|
import type { AddressSorter, PeerProtocolsChangeData } from '@libp2p/interface-peer-store';
|
|
3
3
|
import type { Connection } from '@libp2p/interface-connection';
|
|
4
|
-
import type {
|
|
4
|
+
import type { RelayComponents } from './index.js';
|
|
5
5
|
export interface AutoRelayInit {
|
|
6
6
|
addressSorter?: AddressSorter;
|
|
7
7
|
maxListeners?: number;
|
|
@@ -13,7 +13,7 @@ export declare class AutoRelay {
|
|
|
13
13
|
private readonly maxListeners;
|
|
14
14
|
private readonly listenRelays;
|
|
15
15
|
private readonly onError;
|
|
16
|
-
constructor(components:
|
|
16
|
+
constructor(components: RelayComponents, init: AutoRelayInit);
|
|
17
17
|
/**
|
|
18
18
|
* Check if a peer supports the relay protocol.
|
|
19
19
|
* If the protocol is not supported, check if it was supported before and remove it as a listen relay.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-relay.d.ts","sourceRoot":"","sources":["../../../src/circuit/auto-relay.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAC1F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"auto-relay.d.ts","sourceRoot":"","sources":["../../../src/circuit/auto-relay.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAC1F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAK9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAMjD,MAAM,WAAW,aAAa;IAC5B,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CAC/C;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAa;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsC;gBAEjD,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa;IAkB7D;;;;;OAKG;IACG,iBAAiB,CAAE,GAAG,EAAE,WAAW,CAAC,uBAAuB,CAAC;IAkDlE;;OAEG;IACH,mBAAmB,CAAE,GAAG,EAAE,WAAW,CAAC,UAAU,CAAC;IAejD;;OAEG;IACG,eAAe,CAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+CzE;;OAEG;IACG,kBAAkB,CAAE,EAAE,EAAE,MAAM;IAOpC;;;;;;OAMG;IACG,2BAA2B,CAAE,aAAa,GAAE,MAAM,EAAO;IAqFzD,mBAAmB,CAAE,MAAM,EAAE,MAAM;CAS1C"}
|
|
@@ -20,12 +20,12 @@ export class AutoRelay {
|
|
|
20
20
|
this.onError = init.onError ?? noop;
|
|
21
21
|
this._onProtocolChange = this._onProtocolChange.bind(this);
|
|
22
22
|
this._onPeerDisconnected = this._onPeerDisconnected.bind(this);
|
|
23
|
-
this.components.
|
|
23
|
+
this.components.peerStore.addEventListener('change:protocols', (evt) => {
|
|
24
24
|
void this._onProtocolChange(evt).catch(err => {
|
|
25
25
|
log.error(err);
|
|
26
26
|
});
|
|
27
27
|
});
|
|
28
|
-
this.components.
|
|
28
|
+
this.components.connectionManager.addEventListener('peer:disconnect', this._onPeerDisconnected);
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
31
31
|
* Check if a peer supports the relay protocol.
|
|
@@ -50,7 +50,7 @@ export class AutoRelay {
|
|
|
50
50
|
}
|
|
51
51
|
// If protocol, check if can hop, store info in the metadataBook and listen on it
|
|
52
52
|
try {
|
|
53
|
-
const connections = this.components.
|
|
53
|
+
const connections = this.components.connectionManager.getConnections(peerId);
|
|
54
54
|
if (connections.length === 0) {
|
|
55
55
|
return;
|
|
56
56
|
}
|
|
@@ -62,7 +62,7 @@ export class AutoRelay {
|
|
|
62
62
|
}
|
|
63
63
|
const supportsHop = await canHop({ connection });
|
|
64
64
|
if (supportsHop) {
|
|
65
|
-
await this.components.
|
|
65
|
+
await this.components.peerStore.metadataBook.setValue(peerId, HOP_METADATA_KEY, uint8ArrayFromString(HOP_METADATA_VALUE));
|
|
66
66
|
await this._addListenRelay(connection, id);
|
|
67
67
|
}
|
|
68
68
|
}
|
|
@@ -95,7 +95,7 @@ export class AutoRelay {
|
|
|
95
95
|
return;
|
|
96
96
|
}
|
|
97
97
|
// Get peer known addresses and sort them with public addresses first
|
|
98
|
-
const remoteAddrs = await pipe(await this.components.
|
|
98
|
+
const remoteAddrs = await pipe(await this.components.peerStore.addressBook.get(connection.remotePeer), (source) => sort(source, this.addressSorter), async (source) => await all(source));
|
|
99
99
|
// Attempt to listen on relay
|
|
100
100
|
const result = await Promise.all(remoteAddrs.map(async (addr) => {
|
|
101
101
|
try {
|
|
@@ -105,7 +105,7 @@ export class AutoRelay {
|
|
|
105
105
|
}
|
|
106
106
|
multiaddr = multiaddr.encapsulate('/p2p-circuit');
|
|
107
107
|
// Announce multiaddrs will update on listen success by TransportManager event being triggered
|
|
108
|
-
await this.components.
|
|
108
|
+
await this.components.transportManager.listen([multiaddr]);
|
|
109
109
|
return true;
|
|
110
110
|
}
|
|
111
111
|
catch (err) {
|
|
@@ -146,7 +146,7 @@ export class AutoRelay {
|
|
|
146
146
|
return;
|
|
147
147
|
}
|
|
148
148
|
const knownHopsToDial = [];
|
|
149
|
-
const peers = await this.components.
|
|
149
|
+
const peers = await this.components.peerStore.all();
|
|
150
150
|
// Check if we have known hop peers to use and attempt to listen on the already connected
|
|
151
151
|
for (const { id, metadata } of peers) {
|
|
152
152
|
const idStr = id.toString();
|
|
@@ -162,7 +162,7 @@ export class AutoRelay {
|
|
|
162
162
|
if ((supportsHop == null) || uint8ArrayToString(supportsHop) !== HOP_METADATA_VALUE) {
|
|
163
163
|
continue;
|
|
164
164
|
}
|
|
165
|
-
const connections = this.components.
|
|
165
|
+
const connections = this.components.connectionManager.getConnections(id);
|
|
166
166
|
// If not connected, store for possible later use.
|
|
167
167
|
if (connections.length === 0) {
|
|
168
168
|
knownHopsToDial.push(id);
|
|
@@ -185,16 +185,16 @@ export class AutoRelay {
|
|
|
185
185
|
// Try to find relays to hop on the network
|
|
186
186
|
try {
|
|
187
187
|
const cid = await namespaceToCid(RELAY_RENDEZVOUS_NS);
|
|
188
|
-
for await (const provider of this.components.
|
|
188
|
+
for await (const provider of this.components.contentRouting.findProviders(cid)) {
|
|
189
189
|
if (provider.multiaddrs.length === 0) {
|
|
190
190
|
continue;
|
|
191
191
|
}
|
|
192
192
|
const peerId = provider.id;
|
|
193
|
-
if (peerId.equals(this.components.
|
|
193
|
+
if (peerId.equals(this.components.peerId)) {
|
|
194
194
|
// Skip the provider if it's us as dialing will fail
|
|
195
195
|
continue;
|
|
196
196
|
}
|
|
197
|
-
await this.components.
|
|
197
|
+
await this.components.peerStore.addressBook.add(peerId, provider.multiaddrs);
|
|
198
198
|
await this._tryToListenOnRelay(peerId);
|
|
199
199
|
// Check if already listening on enough relays
|
|
200
200
|
if (this.listenRelays.size >= this.maxListeners) {
|
|
@@ -208,7 +208,7 @@ export class AutoRelay {
|
|
|
208
208
|
}
|
|
209
209
|
async _tryToListenOnRelay(peerId) {
|
|
210
210
|
try {
|
|
211
|
-
const connection = await this.components.
|
|
211
|
+
const connection = await this.components.connectionManager.openConnection(peerId);
|
|
212
212
|
await this._addListenRelay(connection, peerId.toString());
|
|
213
213
|
}
|
|
214
214
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-relay.js","sourceRoot":"","sources":["../../../src/circuit/auto-relay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"auto-relay.js","sourceRoot":"","sources":["../../../src/circuit/auto-relay.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import type { AddressSorter } from '@libp2p/interface-peer-store';
|
|
1
|
+
import type { AddressSorter, PeerStore } from '@libp2p/interface-peer-store';
|
|
2
2
|
import type { Startable } from '@libp2p/interfaces/startable';
|
|
3
|
-
import type { Components } from '@libp2p/components';
|
|
4
3
|
import type { RelayConfig } from '../index.js';
|
|
4
|
+
import type { ContentRouting } from '@libp2p/interface-content-routing';
|
|
5
|
+
import type { ConnectionManager } from '@libp2p/interface-connection-manager';
|
|
6
|
+
import type { TransportManager } from '@libp2p/interface-transport';
|
|
7
|
+
import type { PeerId } from '@libp2p/interface-peer-id';
|
|
5
8
|
export interface RelayAdvertiseConfig {
|
|
6
9
|
bootDelay?: number;
|
|
7
10
|
enabled?: boolean;
|
|
@@ -17,6 +20,13 @@ export interface AutoRelayConfig {
|
|
|
17
20
|
export interface RelayInit extends RelayConfig {
|
|
18
21
|
addressSorter?: AddressSorter;
|
|
19
22
|
}
|
|
23
|
+
export interface RelayComponents {
|
|
24
|
+
peerId: PeerId;
|
|
25
|
+
contentRouting: ContentRouting;
|
|
26
|
+
peerStore: PeerStore;
|
|
27
|
+
connectionManager: ConnectionManager;
|
|
28
|
+
transportManager: TransportManager;
|
|
29
|
+
}
|
|
20
30
|
export declare class Relay implements Startable {
|
|
21
31
|
private readonly components;
|
|
22
32
|
private readonly init;
|
|
@@ -26,7 +36,7 @@ export declare class Relay implements Startable {
|
|
|
26
36
|
/**
|
|
27
37
|
* Creates an instance of Relay
|
|
28
38
|
*/
|
|
29
|
-
constructor(components:
|
|
39
|
+
constructor(components: RelayComponents, init: RelayInit);
|
|
30
40
|
isStarted(): boolean;
|
|
31
41
|
/**
|
|
32
42
|
* Start Relay service
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/circuit/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/circuit/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAIvD,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,SAAU,SAAQ,WAAW;IAC5C,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,cAAc,CAAA;IAC9B,SAAS,EAAE,SAAS,CAAA;IACpB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,gBAAgB,EAAE,gBAAgB,CAAA;CACnC;AAED,qBAAa,KAAM,YAAW,SAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAW;IAEhC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAW;IACtC,OAAO,CAAC,OAAO,CAAC,CAAK;IACrB,OAAO,CAAC,OAAO,CAAS;IAExB;;OAEG;gBACU,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS;IAezD,SAAS;IAIT;;OAEG;IACG,KAAK;IAWX;;OAEG;IACG,IAAI;IAQV;;OAEG;IACG,iBAAiB;CAcxB"}
|
|
@@ -52,7 +52,7 @@ export class Relay {
|
|
|
52
52
|
async _advertiseService() {
|
|
53
53
|
try {
|
|
54
54
|
const cid = await namespaceToCid(RELAY_RENDEZVOUS_NS);
|
|
55
|
-
await this.components.
|
|
55
|
+
await this.components.contentRouting.provide(cid);
|
|
56
56
|
}
|
|
57
57
|
catch (err) {
|
|
58
58
|
if (err.code === codes.ERR_NO_ROUTERS_AVAILABLE) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/circuit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EACL,kBAAkB,EAClB,oBAAoB;AACtB,8DAA8D;EAC7D,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EACL,mBAAmB,EACpB,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/circuit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EACL,kBAAkB,EAClB,oBAAoB;AACtB,8DAA8D;EAC7D,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EACL,mBAAmB,EACpB,MAAM,gBAAgB,CAAA;AASvB,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;AA6BlC,MAAM,OAAO,KAAK;IAQhB;;OAEG;IACH,YAAa,UAA2B,EAAE,IAAe;QACvD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,8BAA8B;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,KAAK,KAAK;YAChD,CAAC,CAAC,IAAI,SAAS,CAAC,UAAU,EAAE;gBAC1B,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,GAAG,IAAI,CAAC,SAAS;aAClB,CAAC;YACF,CAAC,CAAC,SAAS,CAAA;QAEb,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC5D,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,mCAAmC;QACnC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,KAAK,EAAE;YAC5E,IAAI,CAAC,OAAO,GAAG,kBAAkB,CAC/B,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAC/E,CAAA;SACF;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;SACnC;QAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;IACtB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB;QACrB,IAAI;YACF,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,mBAAmB,CAAC,CAAA;YACrD,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;SAClD;QAAC,OAAO,GAAQ,EAAE;YACjB,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,wBAAwB,EAAE;gBAC/C,GAAG,CAAC,KAAK,CAAC,2FAA2F,EAAE,GAAG,CAAC,CAAA;gBAC3G,qBAAqB;gBACrB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;aAClB;iBAAM;gBACL,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;aACf;SACF;IACH,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/circuit/pb/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/circuit/pb/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,YAAY,CAAC,IAAI,CAAA;IACxB,OAAO,CAAC,EAAE,YAAY,CAAC,IAAI,CAAA;IAC3B,OAAO,CAAC,EAAE,YAAY,CAAC,IAAI,CAAA;IAC3B,IAAI,CAAC,EAAE,YAAY,CAAC,MAAM,CAAA;CAC3B;AAED,yBAAiB,YAAY,CAAC;IAC5B,KAAY,MAAM;QAChB,OAAO,YAAY;QACnB,qBAAqB,0BAA0B;QAC/C,qBAAqB,0BAA0B;QAC/C,yBAAyB,8BAA8B;QACvD,yBAAyB,8BAA8B;QACvD,kBAAkB,uBAAuB;QACzC,iBAAiB,sBAAsB;QACvC,wBAAwB,6BAA6B;QACrD,oBAAoB,yBAAyB;QAC7C,sBAAsB,2BAA2B;QACjD,sBAAsB,2BAA2B;QACjD,sBAAsB,2BAA2B;QACjD,0BAA0B,+BAA+B;QACzD,0BAA0B,+BAA+B;QACzD,kBAAkB,uBAAuB;QACzC,iBAAiB,sBAAsB;KACxC;IAqBD,UAAiB,MAAM,CAAC;QACf,MAAM,KAAK,qBAEjB,CAAA;KACF;IAED,KAAY,IAAI;QACd,GAAG,QAAQ;QACX,IAAI,SAAS;QACb,MAAM,WAAW;QACjB,OAAO,YAAY;KACpB;IASD,UAAiB,IAAI,CAAC;QACb,MAAM,KAAK,mBAEjB,CAAA;KACF;IAED,UAAiB,IAAI;QACnB,EAAE,EAAE,UAAU,CAAA;QACd,KAAK,EAAE,UAAU,EAAE,CAAA;KACpB;IAED,UAAiB,IAAI,CAAC;QAGb,MAAM,KAAK,QAAO,MAAM,IAAI,CAmDlC,CAAA;QAEM,MAAM,MAAM,QAAS,IAAI,KAAG,UAElC,CAAA;QAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,KAAG,IAEzD,CAAA;KACF;IAIM,MAAM,KAAK,QAAO,MAAM,YAAY,CAkE1C,CAAA;IAEM,MAAM,MAAM,QAAS,YAAY,KAAG,UAE1C,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,KAAG,YAEzD,CAAA;CACF"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/* eslint-disable import/export */
|
|
2
|
+
/* eslint-disable complexity */
|
|
2
3
|
/* eslint-disable @typescript-eslint/no-namespace */
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */
|
|
3
5
|
import { enumeration, encodeMessage, decodeMessage, message } from 'protons-runtime';
|
|
4
6
|
export var CircuitRelay;
|
|
5
7
|
(function (CircuitRelay) {
|
|
@@ -70,31 +72,28 @@ export var CircuitRelay;
|
|
|
70
72
|
let _codec;
|
|
71
73
|
Peer.codec = () => {
|
|
72
74
|
if (_codec == null) {
|
|
73
|
-
_codec = message((obj,
|
|
75
|
+
_codec = message((obj, w, opts = {}) => {
|
|
74
76
|
if (opts.lengthDelimited !== false) {
|
|
75
|
-
|
|
77
|
+
w.fork();
|
|
76
78
|
}
|
|
77
|
-
if (obj.id != null) {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
throw new Error('Protocol error: required field "id" was not found in object');
|
|
79
|
+
if (opts.writeDefaults === true || (obj.id != null && obj.id.byteLength > 0)) {
|
|
80
|
+
w.uint32(10);
|
|
81
|
+
w.bytes(obj.id);
|
|
83
82
|
}
|
|
84
83
|
if (obj.addrs != null) {
|
|
85
84
|
for (const value of obj.addrs) {
|
|
86
|
-
|
|
87
|
-
|
|
85
|
+
w.uint32(18);
|
|
86
|
+
w.bytes(value);
|
|
88
87
|
}
|
|
89
88
|
}
|
|
90
|
-
else {
|
|
91
|
-
throw new Error('Protocol error: required field "addrs" was not found in object');
|
|
92
|
-
}
|
|
93
89
|
if (opts.lengthDelimited !== false) {
|
|
94
|
-
|
|
90
|
+
w.ldelim();
|
|
95
91
|
}
|
|
96
92
|
}, (reader, length) => {
|
|
97
|
-
const obj = {
|
|
93
|
+
const obj = {
|
|
94
|
+
id: new Uint8Array(0),
|
|
95
|
+
addrs: []
|
|
96
|
+
};
|
|
98
97
|
const end = length == null ? reader.len : reader.pos + length;
|
|
99
98
|
while (reader.pos < end) {
|
|
100
99
|
const tag = reader.uint32();
|
|
@@ -103,7 +102,6 @@ export var CircuitRelay;
|
|
|
103
102
|
obj.id = reader.bytes();
|
|
104
103
|
break;
|
|
105
104
|
case 2:
|
|
106
|
-
obj.addrs = obj.addrs ?? [];
|
|
107
105
|
obj.addrs.push(reader.bytes());
|
|
108
106
|
break;
|
|
109
107
|
default:
|
|
@@ -111,13 +109,6 @@ export var CircuitRelay;
|
|
|
111
109
|
break;
|
|
112
110
|
}
|
|
113
111
|
}
|
|
114
|
-
obj.addrs = obj.addrs ?? [];
|
|
115
|
-
if (obj.id == null) {
|
|
116
|
-
throw new Error('Protocol error: value for required field "id" was not found in protobuf');
|
|
117
|
-
}
|
|
118
|
-
if (obj.addrs == null) {
|
|
119
|
-
throw new Error('Protocol error: value for required field "addrs" was not found in protobuf');
|
|
120
|
-
}
|
|
121
112
|
return obj;
|
|
122
113
|
});
|
|
123
114
|
}
|
|
@@ -133,28 +124,32 @@ export var CircuitRelay;
|
|
|
133
124
|
let _codec;
|
|
134
125
|
CircuitRelay.codec = () => {
|
|
135
126
|
if (_codec == null) {
|
|
136
|
-
_codec = message((obj,
|
|
127
|
+
_codec = message((obj, w, opts = {}) => {
|
|
137
128
|
if (opts.lengthDelimited !== false) {
|
|
138
|
-
|
|
129
|
+
w.fork();
|
|
139
130
|
}
|
|
140
131
|
if (obj.type != null) {
|
|
141
|
-
|
|
142
|
-
CircuitRelay.Type.codec().encode(obj.type,
|
|
132
|
+
w.uint32(8);
|
|
133
|
+
CircuitRelay.Type.codec().encode(obj.type, w);
|
|
143
134
|
}
|
|
144
135
|
if (obj.srcPeer != null) {
|
|
145
|
-
|
|
146
|
-
CircuitRelay.Peer.codec().encode(obj.srcPeer,
|
|
136
|
+
w.uint32(18);
|
|
137
|
+
CircuitRelay.Peer.codec().encode(obj.srcPeer, w, {
|
|
138
|
+
writeDefaults: false
|
|
139
|
+
});
|
|
147
140
|
}
|
|
148
141
|
if (obj.dstPeer != null) {
|
|
149
|
-
|
|
150
|
-
CircuitRelay.Peer.codec().encode(obj.dstPeer,
|
|
142
|
+
w.uint32(26);
|
|
143
|
+
CircuitRelay.Peer.codec().encode(obj.dstPeer, w, {
|
|
144
|
+
writeDefaults: false
|
|
145
|
+
});
|
|
151
146
|
}
|
|
152
147
|
if (obj.code != null) {
|
|
153
|
-
|
|
154
|
-
CircuitRelay.Status.codec().encode(obj.code,
|
|
148
|
+
w.uint32(32);
|
|
149
|
+
CircuitRelay.Status.codec().encode(obj.code, w);
|
|
155
150
|
}
|
|
156
151
|
if (opts.lengthDelimited !== false) {
|
|
157
|
-
|
|
152
|
+
w.ldelim();
|
|
158
153
|
}
|
|
159
154
|
}, (reader, length) => {
|
|
160
155
|
const obj = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/circuit/pb/index.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,oDAAoD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/circuit/pb/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,32 @@
|
|
|
1
1
|
import type { Multiaddr } from '@multiformats/multiaddr';
|
|
2
|
-
import { symbol } from '@libp2p/interface-transport';
|
|
3
|
-
import { Components, Initializable } from '@libp2p/components';
|
|
2
|
+
import { symbol, Upgrader } from '@libp2p/interface-transport';
|
|
4
3
|
import type { AbortOptions } from '@libp2p/interfaces';
|
|
5
|
-
import type { IncomingStreamData } from '@libp2p/interface-registrar';
|
|
4
|
+
import type { IncomingStreamData, Registrar } from '@libp2p/interface-registrar';
|
|
6
5
|
import type { Listener, Transport, CreateListenerOptions } from '@libp2p/interface-transport';
|
|
7
6
|
import type { Connection } from '@libp2p/interface-connection';
|
|
8
7
|
import type { RelayConfig } from '../index.js';
|
|
9
|
-
|
|
8
|
+
import type { Startable } from '@libp2p/interfaces/startable';
|
|
9
|
+
import type { ConnectionManager } from '@libp2p/interface-connection-manager';
|
|
10
|
+
import type { PeerId } from '@libp2p/interface-peer-id';
|
|
11
|
+
import type { PeerStore } from '@libp2p/interface-peer-store';
|
|
12
|
+
import type { AddressManager } from '@libp2p/interface-address-manager';
|
|
13
|
+
export interface CircuitComponents {
|
|
14
|
+
peerId: PeerId;
|
|
15
|
+
peerStore: PeerStore;
|
|
16
|
+
registrar: Registrar;
|
|
17
|
+
connectionManager: ConnectionManager;
|
|
18
|
+
upgrader: Upgrader;
|
|
19
|
+
addressManager: AddressManager;
|
|
20
|
+
}
|
|
21
|
+
export declare class Circuit implements Transport, Startable {
|
|
10
22
|
private handler?;
|
|
11
|
-
private components;
|
|
23
|
+
private readonly components;
|
|
12
24
|
private readonly _init;
|
|
13
|
-
|
|
14
|
-
|
|
25
|
+
private _started;
|
|
26
|
+
constructor(components: CircuitComponents, init: RelayConfig);
|
|
27
|
+
isStarted(): boolean;
|
|
28
|
+
start(): Promise<void>;
|
|
29
|
+
stop(): Promise<void>;
|
|
15
30
|
hopEnabled(): boolean;
|
|
16
31
|
hopActive(): boolean;
|
|
17
32
|
get [symbol](): true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/circuit/transport.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAUxD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/circuit/transport.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAUxD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAE9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,qBAAqB,EAAqB,MAAM,6BAA6B,CAAA;AAChH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAM9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAIvE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,QAAQ,EAAE,QAAQ,CAAA;IAClB,cAAc,EAAE,cAAc,CAAA;CAC/B;AAED,qBAAa,OAAQ,YAAW,SAAS,EAAE,SAAS;IAClD,OAAO,CAAC,OAAO,CAAC,CAAmB;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAS;gBAEZ,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW;IAM7D,SAAS;IAIH,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAiBvB,IAAI;IAIV,UAAU;IAIV,SAAS;IAIT,IAAI,CAAC,MAAM,CAAC,IAAK,IAAI,CAEpB;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,WAEvB;IAEK,WAAW,CAAE,IAAI,EAAE,kBAAkB;IA6F3C;;OAEG;IACG,IAAI,CAAE,EAAE,EAAE,SAAS,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IA4D3E;;OAEG;IACH,cAAc,CAAE,OAAO,EAAE,qBAAqB,GAAG,QAAQ;IAUzD;;;;;OAKG;IACH,MAAM,CAAE,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE;CAO9C"}
|