libp2p 2.3.0 → 2.3.1-b248eefc0
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 +3 -3
- package/dist/src/address-manager.d.ts +12 -4
- package/dist/src/address-manager.d.ts.map +1 -1
- package/dist/src/address-manager.js +14 -5
- package/dist/src/address-manager.js.map +1 -1
- 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 +10 -10
- package/src/address-manager.ts +22 -9
- package/src/version.ts +1 -1
- package/dist/typedoc-urls.json +0 -19
|
@@ -8,17 +8,21 @@ export interface AddressManagerInit {
|
|
|
8
8
|
*/
|
|
9
9
|
announceFilter?: AddressFilter;
|
|
10
10
|
/**
|
|
11
|
-
* list of
|
|
11
|
+
* A list of string multiaddrs to listen on
|
|
12
12
|
*/
|
|
13
13
|
listen?: string[];
|
|
14
14
|
/**
|
|
15
|
-
* list of
|
|
15
|
+
* A list of string multiaddrs to use instead of those reported by transports
|
|
16
16
|
*/
|
|
17
17
|
announce?: string[];
|
|
18
18
|
/**
|
|
19
|
-
* list of multiaddrs string
|
|
19
|
+
* A list of string multiaddrs string to never announce
|
|
20
20
|
*/
|
|
21
21
|
noAnnounce?: string[];
|
|
22
|
+
/**
|
|
23
|
+
* A list of string multiaddrs to add to the list of announced addresses
|
|
24
|
+
*/
|
|
25
|
+
appendAnnounce?: string[];
|
|
22
26
|
}
|
|
23
27
|
export interface AddressManagerComponents {
|
|
24
28
|
peerId: PeerId;
|
|
@@ -39,10 +43,10 @@ export declare class AddressManager implements AddressManagerInterface {
|
|
|
39
43
|
private readonly components;
|
|
40
44
|
private readonly listen;
|
|
41
45
|
private readonly announce;
|
|
46
|
+
private readonly appendAnnounce;
|
|
42
47
|
private readonly observed;
|
|
43
48
|
private readonly announceFilter;
|
|
44
49
|
private readonly ipDomainMappings;
|
|
45
|
-
private readonly where;
|
|
46
50
|
/**
|
|
47
51
|
* Responsible for managing the peer addresses.
|
|
48
52
|
* Peers can specify their listen and announce addresses.
|
|
@@ -60,6 +64,10 @@ export declare class AddressManager implements AddressManagerInterface {
|
|
|
60
64
|
* Get peer announcing multiaddrs
|
|
61
65
|
*/
|
|
62
66
|
getAnnounceAddrs(): Multiaddr[];
|
|
67
|
+
/**
|
|
68
|
+
* Get peer announcing multiaddrs
|
|
69
|
+
*/
|
|
70
|
+
getAppendAnnounceAddrs(): Multiaddr[];
|
|
63
71
|
/**
|
|
64
72
|
* Get observed multiaddrs
|
|
65
73
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address-manager.d.ts","sourceRoot":"","sources":["../../src/address-manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAU,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACnH,OAAO,KAAK,EAAE,cAAc,IAAI,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,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;
|
|
1
|
+
{"version":3,"file":"address-manager.d.ts","sourceRoot":"","sources":["../../src/address-manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAU,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACnH,OAAO,KAAK,EAAE,cAAc,IAAI,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,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;IAErB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAC1B;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAA;IACd,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;IACtC,MAAM,EAAE,eAAe,CAAA;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAAA;CAClC;AAgCD,qBAAa,cAAe,YAAW,uBAAuB;IAC5D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0B;IAErD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAa;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsC;IAC/D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;IAEtD;;;;;OAKG;gBACU,UAAU,EAAE,wBAAwB,EAAE,IAAI,GAAE,kBAAuB;IA0BhF,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,6BAA4B;IAEzD,yBAAyB,IAAK,IAAI;IAwBlC;;OAEG;IACH,cAAc,IAAK,SAAS,EAAE;IAI9B;;OAEG;IACH,gBAAgB,IAAK,SAAS,EAAE;IAIhC;;OAEG;IACH,sBAAsB,IAAK,SAAS,EAAE;IAItC;;OAEG;IACH,gBAAgB,IAAK,SAAS,EAAE;IAIhC;;OAEG;IACH,eAAe,CAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAcvC,mBAAmB,CAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAoB3C,kBAAkB,CAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAO1C,YAAY,IAAK,SAAS,EAAE;IAgG5B,aAAa,CAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAMzD,gBAAgB,CAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAOxC"}
|
|
@@ -27,10 +27,10 @@ export class AddressManager {
|
|
|
27
27
|
// this is an array to allow for duplicates, e.g. multiples of `/ip4/0.0.0.0/tcp/0`
|
|
28
28
|
listen;
|
|
29
29
|
announce;
|
|
30
|
+
appendAnnounce;
|
|
30
31
|
observed;
|
|
31
32
|
announceFilter;
|
|
32
33
|
ipDomainMappings;
|
|
33
|
-
where;
|
|
34
34
|
/**
|
|
35
35
|
* Responsible for managing the peer addresses.
|
|
36
36
|
* Peers can specify their listen and announce addresses.
|
|
@@ -38,11 +38,12 @@ export class AddressManager {
|
|
|
38
38
|
* while the announce addresses will be used for the peer addresses' to other peers in the network.
|
|
39
39
|
*/
|
|
40
40
|
constructor(components, init = {}) {
|
|
41
|
-
const { listen = [], announce = [] } = init;
|
|
41
|
+
const { listen = [], announce = [], appendAnnounce = [] } = init;
|
|
42
42
|
this.components = components;
|
|
43
43
|
this.log = components.logger.forComponent('libp2p:address-manager');
|
|
44
44
|
this.listen = listen.map(ma => ma.toString());
|
|
45
45
|
this.announce = new Set(announce.map(ma => ma.toString()));
|
|
46
|
+
this.appendAnnounce = new Set(appendAnnounce.map(ma => ma.toString()));
|
|
46
47
|
this.observed = new Map();
|
|
47
48
|
this.ipDomainMappings = new Map();
|
|
48
49
|
this.announceFilter = init.announceFilter ?? defaultAddressFilter;
|
|
@@ -57,7 +58,6 @@ export class AddressManager {
|
|
|
57
58
|
components.events.addEventListener('transport:close', () => {
|
|
58
59
|
this._updatePeerStoreAddresses();
|
|
59
60
|
});
|
|
60
|
-
this.where = new Error('where');
|
|
61
61
|
}
|
|
62
62
|
[Symbol.toStringTag] = '@libp2p/address-manager';
|
|
63
63
|
_updatePeerStoreAddresses() {
|
|
@@ -91,6 +91,12 @@ export class AddressManager {
|
|
|
91
91
|
getAnnounceAddrs() {
|
|
92
92
|
return Array.from(this.announce).map((a) => multiaddr(a));
|
|
93
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* Get peer announcing multiaddrs
|
|
96
|
+
*/
|
|
97
|
+
getAppendAnnounceAddrs() {
|
|
98
|
+
return Array.from(this.appendAnnounce).map((a) => multiaddr(a));
|
|
99
|
+
}
|
|
94
100
|
/**
|
|
95
101
|
* Get observed multiaddrs
|
|
96
102
|
*/
|
|
@@ -137,9 +143,12 @@ export class AddressManager {
|
|
|
137
143
|
// no configured announce addrs, add configured listen addresses
|
|
138
144
|
multiaddrs = this.components.transportManager.getAddrs();
|
|
139
145
|
}
|
|
140
|
-
// add observed addresses we are confident in
|
|
141
146
|
multiaddrs = multiaddrs
|
|
142
|
-
.concat(
|
|
147
|
+
.concat(
|
|
148
|
+
// add additional announce addresses
|
|
149
|
+
...this.getAppendAnnounceAddrs(),
|
|
150
|
+
// add observed addresses we are confident in
|
|
151
|
+
Array.from(this.observed)
|
|
143
152
|
.filter(([ma, metadata]) => metadata.confident)
|
|
144
153
|
.map(([ma]) => multiaddr(ma)));
|
|
145
154
|
const mappedMultiaddrs = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address-manager.js","sourceRoot":"","sources":["../../src/address-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"address-manager.js","sourceRoot":"","sources":["../../src/address-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAiD9D,MAAM,oBAAoB,GAAG,CAAC,KAAkB,EAAe,EAAE,CAAC,KAAK,CAAA;AAMvE;;GAEG;AACH,SAAS,WAAW,CAAE,EAAa,EAAE,MAAc;IACjD,MAAM,iBAAiB,GAAG,EAAE,CAAC,SAAS,EAAE,CAAA;IAExC,0CAA0C;IAC1C,IAAI,iBAAiB,IAAI,IAAI,EAAE,CAAC;QAC9B,MAAM,cAAc,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAAA;QAE1D,mCAAmC;QACnC,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAA;QAC7D,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC;AAED,MAAM,SAAS,GAAG,IAAI,CAAA;AACtB,MAAM,SAAS,GAAG,IAAI,CAAA;AACtB,MAAM,UAAU,GAAG,IAAI,CAAA;AACvB,MAAM,UAAU,GAAG,IAAI,CAAA;AAEvB,MAAM,OAAO,cAAc;IACR,GAAG,CAAQ;IACX,UAAU,CAA0B;IACrD,mFAAmF;IAClE,MAAM,CAAU;IAChB,QAAQ,CAAa;IACrB,cAAc,CAAa;IAC3B,QAAQ,CAAsC;IAC9C,cAAc,CAAe;IAC7B,gBAAgB,CAAqB;IAEtD;;;;;OAKG;IACH,YAAa,UAAoC,EAAE,OAA2B,EAAE;QAC9E,MAAM,EAAE,MAAM,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,cAAc,GAAG,EAAE,EAAE,GAAG,IAAI,CAAA;QAEhE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAA;QACnE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC7C,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,cAAc,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;QACtE,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAA;QACzB,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAA;QACjC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,oBAAoB,CAAA;QAEjE,mFAAmF;QACnF,+EAA+E;QAC/E,IAAI,CAAC,yBAAyB,GAAG,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;QAE1F,yDAAyD;QACzD,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,GAAG,EAAE;YAC7D,IAAI,CAAC,yBAAyB,EAAE,CAAA;QAClC,CAAC,CAAC,CAAA;QACF,sEAAsE;QACtE,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACzD,IAAI,CAAC,yBAAyB,EAAE,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC;IAEQ,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,yBAAyB,CAAA;IAEzD,yBAAyB;QACvB,gFAAgF;QAChF,kCAAkC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,EAAE;aAClC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;aACnD,MAAM,CACL,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;aACzB,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;aAC7C,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAClC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACT,qCAAqC;YACrC,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACzD,OAAO,EAAE,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YACpE,CAAC;YAED,OAAO,EAAE,CAAA;QACX,CAAC,CAAC,CAAA;QAEJ,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YACtD,UAAU,EAAE,KAAK;SAClB,CAAC;aACC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;IACtE,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,sBAAsB;QACpB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IACjE,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7D,CAAC;IAED;;OAEG;IACH,eAAe,CAAE,IAAe;QAC9B,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAElC,kFAAkF;QAClF,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAClC,OAAM;QACR,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE;YAC5B,SAAS,EAAE,KAAK;SACjB,CAAC,CAAA;IACJ,CAAC;IAED,mBAAmB,CAAE,IAAe;QAClC,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAElC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI;YAChD,SAAS,EAAE,KAAK;SACjB,CAAA;QAED,MAAM,kBAAkB,GAAG,QAAQ,CAAC,SAAS,CAAA;QAE7C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE;YAC5B,SAAS,EAAE,IAAI;SAChB,CAAC,CAAA;QAEF,wFAAwF;QACxF,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,IAAI,CAAC,yBAAyB,EAAE,CAAA;QAClC,CAAC;IACH,CAAC;IAED,kBAAkB,CAAE,IAAe;QACjC,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAElC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAClC,CAAC;IAED,YAAY;QACV,IAAI,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAExC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,gEAAgE;YAChE,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAA;QAC1D,CAAC;QAED,UAAU,GAAG,UAAU;aACpB,MAAM;QACL,oCAAoC;QACpC,GAAG,IAAI,CAAC,sBAAsB,EAAE;QAEhC,6CAA6C;QAC7C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;aACtB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;aAC9C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAChC,CAAA;QAEH,MAAM,gBAAgB,GAAgB,EAAE,CAAA;QAExC,0BAA0B;QAC1B,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAA;YACrC,IAAI,QAAQ,GAAG,KAAK,CAAA;YAEpB,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACvC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;wBACxB,SAAQ;oBACV,CAAC;oBAED,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;wBAC/B,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAA;wBACzB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAA;wBACrB,QAAQ,GAAG,IAAI,CAAA;oBACjB,CAAC;oBAED,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;wBAC/B,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAA;wBACzB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAA;wBACrB,QAAQ,GAAG,IAAI,CAAA;oBACjB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,gBAAgB,CAAC,IAAI,CACnB,SAAS,CAAC,IACR,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;oBACjB,OAAO;wBACL,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;wBACxB,KAAK,CAAC,CAAC,CAAC;qBACT,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBACb,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CACb,EAAE,CAAC,CACJ,CAAA;YACH,CAAC;QACH,CAAC;QAED,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;QAEhD,oBAAoB;QACpB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;QACjC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;YAClC,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAA;YAE3B,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAA;YACd,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAElB,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;QAEF,0BAA0B;QAC1B,OAAO,IAAI,CAAC,cAAc,CACxB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;aAChB,GAAG,CAAC,GAAG,CAAC,EAAE;YACT,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;YAEzB,0EAA0E;YAC1E,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;gBACrC,OAAO,EAAE,CAAA;YACX,CAAC;YAED,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACzD,OAAO,EAAE,CAAA;YACX,CAAC;YAED,OAAO,EAAE,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QACpE,CAAC,CAAC,CACL,CAAA;IACH,CAAC;IAED,aAAa,CAAE,MAAc,EAAE,SAAmB;QAChD,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YACrB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QACvC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,gBAAgB,CAAE,MAAc;QAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3D,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gBACrB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACnC,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
|
package/dist/src/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,oBAAoB,CAAA;AACxC,eAAO,MAAM,IAAI,WAAW,CAAA"}
|
package/dist/src/version.js
CHANGED
package/dist/src/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,iBAAiB,CAAA;AACxC,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "libp2p",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.1-b248eefc0",
|
|
4
4
|
"description": "JavaScript implementation of libp2p, a modular peer to peer network stack",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/libp2p#readme",
|
|
@@ -85,15 +85,15 @@
|
|
|
85
85
|
"test:webkit": "aegir test -t browser -- --browser webkit"
|
|
86
86
|
},
|
|
87
87
|
"dependencies": {
|
|
88
|
-
"@libp2p/crypto": "
|
|
89
|
-
"@libp2p/interface": "
|
|
90
|
-
"@libp2p/interface-internal": "
|
|
91
|
-
"@libp2p/logger": "
|
|
92
|
-
"@libp2p/multistream-select": "
|
|
93
|
-
"@libp2p/peer-collections": "
|
|
94
|
-
"@libp2p/peer-id": "
|
|
95
|
-
"@libp2p/peer-store": "
|
|
96
|
-
"@libp2p/utils": "
|
|
88
|
+
"@libp2p/crypto": "5.0.7-b248eefc0",
|
|
89
|
+
"@libp2p/interface": "2.2.1-b248eefc0",
|
|
90
|
+
"@libp2p/interface-internal": "2.1.1-b248eefc0",
|
|
91
|
+
"@libp2p/logger": "5.1.4-b248eefc0",
|
|
92
|
+
"@libp2p/multistream-select": "6.0.9-b248eefc0",
|
|
93
|
+
"@libp2p/peer-collections": "6.0.12-b248eefc0",
|
|
94
|
+
"@libp2p/peer-id": "5.0.8-b248eefc0",
|
|
95
|
+
"@libp2p/peer-store": "11.0.12-b248eefc0",
|
|
96
|
+
"@libp2p/utils": "6.2.1-b248eefc0",
|
|
97
97
|
"@multiformats/dns": "^1.0.6",
|
|
98
98
|
"@multiformats/multiaddr": "^12.2.3",
|
|
99
99
|
"@multiformats/multiaddr-matcher": "^1.2.1",
|
package/src/address-manager.ts
CHANGED
|
@@ -13,19 +13,24 @@ export interface AddressManagerInit {
|
|
|
13
13
|
announceFilter?: AddressFilter
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
|
-
* list of
|
|
16
|
+
* A list of string multiaddrs to listen on
|
|
17
17
|
*/
|
|
18
18
|
listen?: string[]
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
|
-
* list of
|
|
21
|
+
* A list of string multiaddrs to use instead of those reported by transports
|
|
22
22
|
*/
|
|
23
23
|
announce?: string[]
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
|
-
* list of multiaddrs string
|
|
26
|
+
* A list of string multiaddrs string to never announce
|
|
27
27
|
*/
|
|
28
28
|
noAnnounce?: string[]
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* A list of string multiaddrs to add to the list of announced addresses
|
|
32
|
+
*/
|
|
33
|
+
appendAnnounce?: string[]
|
|
29
34
|
}
|
|
30
35
|
|
|
31
36
|
export interface AddressManagerComponents {
|
|
@@ -80,12 +85,11 @@ export class AddressManager implements AddressManagerInterface {
|
|
|
80
85
|
// this is an array to allow for duplicates, e.g. multiples of `/ip4/0.0.0.0/tcp/0`
|
|
81
86
|
private readonly listen: string[]
|
|
82
87
|
private readonly announce: Set<string>
|
|
88
|
+
private readonly appendAnnounce: Set<string>
|
|
83
89
|
private readonly observed: Map<string, ObservedAddressMetadata>
|
|
84
90
|
private readonly announceFilter: AddressFilter
|
|
85
91
|
private readonly ipDomainMappings: Map<string, string>
|
|
86
92
|
|
|
87
|
-
private readonly where: Error
|
|
88
|
-
|
|
89
93
|
/**
|
|
90
94
|
* Responsible for managing the peer addresses.
|
|
91
95
|
* Peers can specify their listen and announce addresses.
|
|
@@ -93,12 +97,13 @@ export class AddressManager implements AddressManagerInterface {
|
|
|
93
97
|
* while the announce addresses will be used for the peer addresses' to other peers in the network.
|
|
94
98
|
*/
|
|
95
99
|
constructor (components: AddressManagerComponents, init: AddressManagerInit = {}) {
|
|
96
|
-
const { listen = [], announce = [] } = init
|
|
100
|
+
const { listen = [], announce = [], appendAnnounce = [] } = init
|
|
97
101
|
|
|
98
102
|
this.components = components
|
|
99
103
|
this.log = components.logger.forComponent('libp2p:address-manager')
|
|
100
104
|
this.listen = listen.map(ma => ma.toString())
|
|
101
105
|
this.announce = new Set(announce.map(ma => ma.toString()))
|
|
106
|
+
this.appendAnnounce = new Set(appendAnnounce.map(ma => ma.toString()))
|
|
102
107
|
this.observed = new Map()
|
|
103
108
|
this.ipDomainMappings = new Map()
|
|
104
109
|
this.announceFilter = init.announceFilter ?? defaultAddressFilter
|
|
@@ -115,8 +120,6 @@ export class AddressManager implements AddressManagerInterface {
|
|
|
115
120
|
components.events.addEventListener('transport:close', () => {
|
|
116
121
|
this._updatePeerStoreAddresses()
|
|
117
122
|
})
|
|
118
|
-
|
|
119
|
-
this.where = new Error('where')
|
|
120
123
|
}
|
|
121
124
|
|
|
122
125
|
readonly [Symbol.toStringTag] = '@libp2p/address-manager'
|
|
@@ -159,6 +162,13 @@ export class AddressManager implements AddressManagerInterface {
|
|
|
159
162
|
return Array.from(this.announce).map((a) => multiaddr(a))
|
|
160
163
|
}
|
|
161
164
|
|
|
165
|
+
/**
|
|
166
|
+
* Get peer announcing multiaddrs
|
|
167
|
+
*/
|
|
168
|
+
getAppendAnnounceAddrs (): Multiaddr[] {
|
|
169
|
+
return Array.from(this.appendAnnounce).map((a) => multiaddr(a))
|
|
170
|
+
}
|
|
171
|
+
|
|
162
172
|
/**
|
|
163
173
|
* Get observed multiaddrs
|
|
164
174
|
*/
|
|
@@ -218,9 +228,12 @@ export class AddressManager implements AddressManagerInterface {
|
|
|
218
228
|
multiaddrs = this.components.transportManager.getAddrs()
|
|
219
229
|
}
|
|
220
230
|
|
|
221
|
-
// add observed addresses we are confident in
|
|
222
231
|
multiaddrs = multiaddrs
|
|
223
232
|
.concat(
|
|
233
|
+
// add additional announce addresses
|
|
234
|
+
...this.getAppendAnnounceAddrs(),
|
|
235
|
+
|
|
236
|
+
// add observed addresses we are confident in
|
|
224
237
|
Array.from(this.observed)
|
|
225
238
|
.filter(([ma, metadata]) => metadata.confident)
|
|
226
239
|
.map(([ma]) => multiaddr(ma))
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = '2.3.
|
|
1
|
+
export const version = '2.3.1-b248eefc0'
|
|
2
2
|
export const name = 'libp2p'
|
package/dist/typedoc-urls.json
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"AddressFilter": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.AddressFilter.html",
|
|
3
|
-
"AddressManagerInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.AddressManagerInit.html",
|
|
4
|
-
"ConnectionManagerInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.ConnectionManagerInit.html",
|
|
5
|
-
"ConnectionMonitorInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.ConnectionMonitorInit.html",
|
|
6
|
-
"Libp2pInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.Libp2pInit.html",
|
|
7
|
-
".:Libp2pInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.Libp2pInit.html",
|
|
8
|
-
"TransportManagerInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.TransportManagerInit.html",
|
|
9
|
-
"Libp2pOptions": "https://libp2p.github.io/js-libp2p/types/libp2p.index.Libp2pOptions.html",
|
|
10
|
-
".:Libp2pOptions": "https://libp2p.github.io/js-libp2p/types/libp2p.index.Libp2pOptions.html",
|
|
11
|
-
"ServiceFactoryMap": "https://libp2p.github.io/js-libp2p/types/libp2p.index.ServiceFactoryMap.html",
|
|
12
|
-
".:ServiceFactoryMap": "https://libp2p.github.io/js-libp2p/types/libp2p.index.ServiceFactoryMap.html",
|
|
13
|
-
"createLibp2p": "https://libp2p.github.io/js-libp2p/functions/libp2p.index.createLibp2p.html",
|
|
14
|
-
".:createLibp2p": "https://libp2p.github.io/js-libp2p/functions/libp2p.index.createLibp2p.html",
|
|
15
|
-
"name": "https://libp2p.github.io/js-libp2p/variables/libp2p.version.name.html",
|
|
16
|
-
"./version:name": "https://libp2p.github.io/js-libp2p/variables/libp2p.version.name.html",
|
|
17
|
-
"version": "https://libp2p.github.io/js-libp2p/variables/libp2p.version.version.html",
|
|
18
|
-
"./version:version": "https://libp2p.github.io/js-libp2p/variables/libp2p.version.version.html"
|
|
19
|
-
}
|