@libp2p/utils 3.0.4 → 3.0.6
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/src/array-equals.d.ts.map +1 -1
- package/dist/src/array-equals.js.map +1 -1
- package/dist/src/ip-port-to-multiaddr.d.ts +2 -1
- package/dist/src/ip-port-to-multiaddr.d.ts.map +1 -1
- package/dist/src/ip-port-to-multiaddr.js +4 -4
- package/dist/src/ip-port-to-multiaddr.js.map +1 -1
- package/dist/src/multiaddr/is-loopback.d.ts.map +1 -1
- package/dist/src/multiaddr/is-private.d.ts.map +1 -1
- package/dist/src/multiaddr/is-private.js +7 -2
- package/dist/src/multiaddr/is-private.js.map +1 -1
- package/dist/src/stream-to-ma-conn.d.ts.map +1 -1
- package/dist/src/stream-to-ma-conn.js +1 -1
- package/dist/src/stream-to-ma-conn.js.map +1 -1
- package/package.json +4 -5
- package/src/array-equals.ts +2 -2
- package/src/ip-port-to-multiaddr.ts +6 -6
- package/src/multiaddr/is-loopback.ts +1 -1
- package/src/multiaddr/is-private.ts +7 -3
- package/src/stream-to-ma-conn.ts +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-equals.d.ts","sourceRoot":"","sources":["../../src/array-equals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;GAGG;AACH,wBAAgB,WAAW,CAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"array-equals.d.ts","sourceRoot":"","sources":["../../src/array-equals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;GAGG;AACH,wBAAgB,WAAW,CAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAUxD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-equals.js","sourceRoot":"","sources":["../../src/array-equals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAE,CAAQ,EAAE,CAAQ;IAC7C,MAAM,IAAI,GAAG,CAAC,CAAM,EAAE,CAAM,
|
|
1
|
+
{"version":3,"file":"array-equals.js","sourceRoot":"","sources":["../../src/array-equals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAE,CAAQ,EAAE,CAAQ;IAC7C,MAAM,IAAI,GAAG,CAAC,CAAM,EAAE,CAAM,EAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;IAEjF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE;QACzB,OAAO,KAAK,CAAA;KACb;IAED,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEZ,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;AACnE,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Multiaddr } from '@multiformats/multiaddr';
|
|
1
2
|
export declare const Errors: {
|
|
2
3
|
ERR_INVALID_IP_PARAMETER: string;
|
|
3
4
|
ERR_INVALID_PORT_PARAMETER: string;
|
|
@@ -6,5 +7,5 @@ export declare const Errors: {
|
|
|
6
7
|
/**
|
|
7
8
|
* Transform an IP, Port pair into a multiaddr
|
|
8
9
|
*/
|
|
9
|
-
export declare function ipPortToMultiaddr(ip: string, port: number | string):
|
|
10
|
+
export declare function ipPortToMultiaddr(ip: string, port: number | string): Multiaddr;
|
|
10
11
|
//# sourceMappingURL=ip-port-to-multiaddr.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ip-port-to-multiaddr.d.ts","sourceRoot":"","sources":["../../src/ip-port-to-multiaddr.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ip-port-to-multiaddr.d.ts","sourceRoot":"","sources":["../../src/ip-port-to-multiaddr.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAa,MAAM,yBAAyB,CAAA;AAM9D,eAAO,MAAM,MAAM;;;;CAIlB,CAAA;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA8B/E"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { logger } from '@libp2p/logger';
|
|
2
2
|
import { multiaddr } from '@multiformats/multiaddr';
|
|
3
|
-
import
|
|
3
|
+
import { CodeError } from '@libp2p/interfaces/errors';
|
|
4
4
|
import { Address4, Address6 } from '@achingbrain/ip-address';
|
|
5
5
|
const log = logger('libp2p:ip-port-to-multiaddr');
|
|
6
6
|
export const Errors = {
|
|
@@ -13,13 +13,13 @@ export const Errors = {
|
|
|
13
13
|
*/
|
|
14
14
|
export function ipPortToMultiaddr(ip, port) {
|
|
15
15
|
if (typeof ip !== 'string') {
|
|
16
|
-
throw
|
|
16
|
+
throw new CodeError(`invalid ip provided: ${ip}`, Errors.ERR_INVALID_IP_PARAMETER); // eslint-disable-line @typescript-eslint/restrict-template-expressions
|
|
17
17
|
}
|
|
18
18
|
if (typeof port === 'string') {
|
|
19
19
|
port = parseInt(port);
|
|
20
20
|
}
|
|
21
21
|
if (isNaN(port)) {
|
|
22
|
-
throw
|
|
22
|
+
throw new CodeError(`invalid port provided: ${port}`, Errors.ERR_INVALID_PORT_PARAMETER);
|
|
23
23
|
}
|
|
24
24
|
try {
|
|
25
25
|
// Test valid IPv4
|
|
@@ -37,7 +37,7 @@ export function ipPortToMultiaddr(ip, port) {
|
|
|
37
37
|
catch (err) {
|
|
38
38
|
const errMsg = `invalid ip:port for creating a multiaddr: ${ip}:${port}`;
|
|
39
39
|
log.error(errMsg);
|
|
40
|
-
throw
|
|
40
|
+
throw new CodeError(errMsg, Errors.ERR_INVALID_IP);
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
//# sourceMappingURL=ip-port-to-multiaddr.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ip-port-to-multiaddr.js","sourceRoot":"","sources":["../../src/ip-port-to-multiaddr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"ip-port-to-multiaddr.js","sourceRoot":"","sources":["../../src/ip-port-to-multiaddr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAa,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAE5D,MAAM,GAAG,GAAG,MAAM,CAAC,6BAA6B,CAAC,CAAA;AAEjD,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,wBAAwB,EAAE,0BAA0B;IACpD,0BAA0B,EAAE,4BAA4B;IACxD,cAAc,EAAE,gBAAgB;CACjC,CAAA;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAE,EAAU,EAAE,IAAqB;IAClE,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QAC1B,MAAM,IAAI,SAAS,CAAC,wBAAwB,EAAE,EAAE,EAAE,MAAM,CAAC,wBAAwB,CAAC,CAAA,CAAC,uEAAuE;KAC3J;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;KACtB;IAED,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;QACf,MAAM,IAAI,SAAS,CAAC,0BAA0B,IAAI,EAAE,EAAE,MAAM,CAAC,0BAA0B,CAAC,CAAA;KACzF;IAED,IAAI;QACF,kBAAkB;QAClB,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAA,CAAC,6BAA6B;QAC9C,OAAO,SAAS,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAA;KAC3C;IAAC,MAAM,GAAE;IAEV,IAAI;QACF,kBAAkB;QAClB,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC5B,OAAO,GAAG,CAAC,GAAG,EAAE;YACd,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,QAAQ,IAAI,EAAE,CAAC;YAC1D,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAA;KACxC;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,MAAM,GAAG,6CAA6C,EAAE,IAAI,IAAI,EAAE,CAAA;QACxE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACjB,MAAM,IAAI,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,CAAA;KACnD;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-loopback.d.ts","sourceRoot":"","sources":["../../../src/multiaddr/is-loopback.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD;;GAEG;AACH,wBAAgB,UAAU,CAAE,EAAE,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"is-loopback.d.ts","sourceRoot":"","sources":["../../../src/multiaddr/is-loopback.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD;;GAEG;AACH,wBAAgB,UAAU,CAAE,EAAE,EAAE,SAAS,GAAG,OAAO,CAIlD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-private.d.ts","sourceRoot":"","sources":["../../../src/multiaddr/is-private.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGxD;;GAEG;AACH,wBAAgB,SAAS,CAAE,EAAE,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"is-private.d.ts","sourceRoot":"","sources":["../../../src/multiaddr/is-private.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGxD;;GAEG;AACH,wBAAgB,SAAS,CAAE,EAAE,EAAE,SAAS,GAAG,OAAO,CAQjD"}
|
|
@@ -3,7 +3,12 @@ import isIpPrivate from 'private-ip';
|
|
|
3
3
|
* Check if a given multiaddr has a private address.
|
|
4
4
|
*/
|
|
5
5
|
export function isPrivate(ma) {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
try {
|
|
7
|
+
const { address } = ma.nodeAddress();
|
|
8
|
+
return Boolean(isIpPrivate(address));
|
|
9
|
+
}
|
|
10
|
+
catch {
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
8
13
|
}
|
|
9
14
|
//# sourceMappingURL=is-private.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-private.js","sourceRoot":"","sources":["../../../src/multiaddr/is-private.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,YAAY,CAAA;AAEpC;;GAEG;AACH,MAAM,UAAU,SAAS,CAAE,EAAa;IACtC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"is-private.js","sourceRoot":"","sources":["../../../src/multiaddr/is-private.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,YAAY,CAAA;AAEpC;;GAEG;AACH,MAAM,UAAU,SAAS,CAAE,EAAa;IACtC,IAAI;QACF,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAA;QAEpC,OAAO,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA;KACrC;IAAC,MAAM;QACN,OAAO,IAAI,CAAA;KACZ;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-to-ma-conn.d.ts","sourceRoot":"","sources":["../../src/stream-to-ma-conn.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAIpD,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,WAAW,CAAA;CAErB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,cAAc,GAAG,UAAU,CAAC,CAAA;IAC3D,UAAU,EAAE,SAAS,CAAA;IACrB,SAAS,EAAE,SAAS,CAAA;CACrB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,GAAE,aAAkB,
|
|
1
|
+
{"version":3,"file":"stream-to-ma-conn.d.ts","sourceRoot":"","sources":["../../src/stream-to-ma-conn.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAIpD,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,WAAW,CAAA;CAErB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,cAAc,GAAG,UAAU,CAAC,CAAA;IAC3D,UAAU,EAAE,SAAS,CAAA;IACrB,SAAS,EAAE,SAAS,CAAA;CACrB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,GAAE,aAAkB,GAAG,mBAAmB,CAiD/G"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-to-ma-conn.js","sourceRoot":"","sources":["../../src/stream-to-ma-conn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAMvC,MAAM,GAAG,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAA;AA8B7C;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAE,KAAuB,EAAE,UAAyB,EAAE;IACxF,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAA;IACpC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IAE/B,MAAM,SAAS,GAAG,CAAC,KAAK,SAAU,CAAC;QACjC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE;YAC/B,KAAM,CAAC,CAAC,IAAI,CAAA;SACb;IACH,CAAC,EAAE,CAAC,CAAA;IAEJ,MAAM,MAAM,GAAwB;QAClC,KAAK,CAAC,IAAI,CAAE,MAAM;YAChB,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE;gBAC1B,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;aACjD;YAED,IAAI;gBACF,MAAM,IAAI,CAAC,MAAM,CAAC,CAAA;gBAClB,MAAM,KAAK,EAAE,CAAA;aACd;YAAC,OAAO,GAAQ,EAAE;gBACjB,kCAAkC;gBAClC,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE;oBAC1B,uEAAuE;oBACvE,gEAAgE;oBAChE,uEAAuE;oBACvE,GAAG,CAAC,GAAG,CAAC,CAAA;iBACT;aACF;QACH,CAAC;QACD,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QACzF,UAAU;QACV,uBAAuB;QACvB,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;QAChD,KAAK,CAAC,KAAK;YACT,MAAM,IAAI,CAAC,KAAK,SAAU,CAAC;gBACzB,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;YACzB,CAAC,EAAE,CAAC,CAAA;YACJ,MAAM,KAAK,EAAE,CAAA;QACf,CAAC;KACF,CAAA;IAED,KAAK,UAAU,KAAK;QAClB,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE;YACjC,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;SACnC;QACD,
|
|
1
|
+
{"version":3,"file":"stream-to-ma-conn.js","sourceRoot":"","sources":["../../src/stream-to-ma-conn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAMvC,MAAM,GAAG,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAA;AA8B7C;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAE,KAAuB,EAAE,UAAyB,EAAE;IACxF,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAA;IACpC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IAE/B,MAAM,SAAS,GAAG,CAAC,KAAK,SAAU,CAAC;QACjC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE;YAC/B,KAAM,CAAC,CAAC,IAAI,CAAA;SACb;IACH,CAAC,EAAE,CAAC,CAAA;IAEJ,MAAM,MAAM,GAAwB;QAClC,KAAK,CAAC,IAAI,CAAE,MAAM;YAChB,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE;gBAC1B,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;aACjD;YAED,IAAI;gBACF,MAAM,IAAI,CAAC,MAAM,CAAC,CAAA;gBAClB,MAAM,KAAK,EAAE,CAAA;aACd;YAAC,OAAO,GAAQ,EAAE;gBACjB,kCAAkC;gBAClC,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE;oBAC1B,uEAAuE;oBACvE,gEAAgE;oBAChE,uEAAuE;oBACvE,GAAG,CAAC,GAAG,CAAC,CAAA;iBACT;aACF;QACH,CAAC;QACD,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QACzF,UAAU;QACV,uBAAuB;QACvB,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;QAChD,KAAK,CAAC,KAAK;YACT,MAAM,IAAI,CAAC,KAAK,SAAU,CAAC;gBACzB,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;YACzB,CAAC,EAAE,CAAC,CAAA;YACJ,MAAM,KAAK,EAAE,CAAA;QACf,CAAC;KACF,CAAA;IAED,KAAK,UAAU,KAAK;QAClB,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE;YACjC,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;SACnC;QACD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/utils",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.6",
|
|
4
4
|
"description": "Package to aggregate shared logic and dependencies for the libp2p ecosystem",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p-utils#readme",
|
|
@@ -179,20 +179,19 @@
|
|
|
179
179
|
"@achingbrain/ip-address": "^8.1.0",
|
|
180
180
|
"@libp2p/interface-connection": "^3.0.2",
|
|
181
181
|
"@libp2p/interface-peer-store": "^1.2.1",
|
|
182
|
+
"@libp2p/interfaces": "^3.2.0",
|
|
182
183
|
"@libp2p/logger": "^2.0.0",
|
|
183
|
-
"@multiformats/multiaddr": "^
|
|
184
|
+
"@multiformats/multiaddr": "^12.0.0",
|
|
184
185
|
"abortable-iterator": "^4.0.2",
|
|
185
|
-
"err-code": "^3.0.1",
|
|
186
186
|
"is-loopback-addr": "^2.0.1",
|
|
187
187
|
"it-stream-types": "^1.0.4",
|
|
188
188
|
"private-ip": "^3.0.0",
|
|
189
189
|
"uint8arraylist": "^2.3.2"
|
|
190
190
|
},
|
|
191
191
|
"devDependencies": {
|
|
192
|
-
"aegir": "^
|
|
192
|
+
"aegir": "^38.1.7",
|
|
193
193
|
"it-all": "^2.0.0",
|
|
194
194
|
"it-map": "^2.0.0",
|
|
195
|
-
"it-pair": "^2.0.2",
|
|
196
195
|
"it-pipe": "^2.0.2",
|
|
197
196
|
"p-defer": "^4.0.0",
|
|
198
197
|
"uint8arrays": "^4.0.2"
|
package/src/array-equals.ts
CHANGED
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
* Verify if two arrays of non primitive types with the "equals" function are equal.
|
|
22
22
|
* Compatible with multiaddr, peer-id and others.
|
|
23
23
|
*/
|
|
24
|
-
export function arrayEquals (a: any[], b: any[]) {
|
|
25
|
-
const sort = (a: any, b: any) => a.toString().localeCompare(b.toString())
|
|
24
|
+
export function arrayEquals (a: any[], b: any[]): boolean {
|
|
25
|
+
const sort = (a: any, b: any): number => a.toString().localeCompare(b.toString())
|
|
26
26
|
|
|
27
27
|
if (a.length !== b.length) {
|
|
28
28
|
return false
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { logger } from '@libp2p/logger'
|
|
2
|
-
import { multiaddr } from '@multiformats/multiaddr'
|
|
3
|
-
import
|
|
2
|
+
import { Multiaddr, multiaddr } from '@multiformats/multiaddr'
|
|
3
|
+
import { CodeError } from '@libp2p/interfaces/errors'
|
|
4
4
|
import { Address4, Address6 } from '@achingbrain/ip-address'
|
|
5
5
|
|
|
6
6
|
const log = logger('libp2p:ip-port-to-multiaddr')
|
|
@@ -14,9 +14,9 @@ export const Errors = {
|
|
|
14
14
|
/**
|
|
15
15
|
* Transform an IP, Port pair into a multiaddr
|
|
16
16
|
*/
|
|
17
|
-
export function ipPortToMultiaddr (ip: string, port: number | string) {
|
|
17
|
+
export function ipPortToMultiaddr (ip: string, port: number | string): Multiaddr {
|
|
18
18
|
if (typeof ip !== 'string') {
|
|
19
|
-
throw
|
|
19
|
+
throw new CodeError(`invalid ip provided: ${ip}`, Errors.ERR_INVALID_IP_PARAMETER) // eslint-disable-line @typescript-eslint/restrict-template-expressions
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
if (typeof port === 'string') {
|
|
@@ -24,7 +24,7 @@ export function ipPortToMultiaddr (ip: string, port: number | string) {
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
if (isNaN(port)) {
|
|
27
|
-
throw
|
|
27
|
+
throw new CodeError(`invalid port provided: ${port}`, Errors.ERR_INVALID_PORT_PARAMETER)
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
try {
|
|
@@ -42,6 +42,6 @@ export function ipPortToMultiaddr (ip: string, port: number | string) {
|
|
|
42
42
|
} catch (err) {
|
|
43
43
|
const errMsg = `invalid ip:port for creating a multiaddr: ${ip}:${port}`
|
|
44
44
|
log.error(errMsg)
|
|
45
|
-
throw
|
|
45
|
+
throw new CodeError(errMsg, Errors.ERR_INVALID_IP)
|
|
46
46
|
}
|
|
47
47
|
}
|
|
@@ -4,7 +4,7 @@ import type { Multiaddr } from '@multiformats/multiaddr'
|
|
|
4
4
|
/**
|
|
5
5
|
* Check if a given multiaddr is a loopback address.
|
|
6
6
|
*/
|
|
7
|
-
export function isLoopback (ma: Multiaddr) {
|
|
7
|
+
export function isLoopback (ma: Multiaddr): boolean {
|
|
8
8
|
const { address } = ma.nodeAddress()
|
|
9
9
|
|
|
10
10
|
return isLoopbackAddr(address)
|
|
@@ -4,8 +4,12 @@ import isIpPrivate from 'private-ip'
|
|
|
4
4
|
/**
|
|
5
5
|
* Check if a given multiaddr has a private address.
|
|
6
6
|
*/
|
|
7
|
-
export function isPrivate (ma: Multiaddr) {
|
|
8
|
-
|
|
7
|
+
export function isPrivate (ma: Multiaddr): boolean {
|
|
8
|
+
try {
|
|
9
|
+
const { address } = ma.nodeAddress()
|
|
9
10
|
|
|
10
|
-
|
|
11
|
+
return Boolean(isIpPrivate(address))
|
|
12
|
+
} catch {
|
|
13
|
+
return true
|
|
14
|
+
}
|
|
11
15
|
}
|
package/src/stream-to-ma-conn.ts
CHANGED
|
@@ -39,7 +39,7 @@ export interface StreamProperties {
|
|
|
39
39
|
* Convert a duplex iterable into a MultiaddrConnection.
|
|
40
40
|
* https://github.com/libp2p/interface-transport#multiaddrconnection
|
|
41
41
|
*/
|
|
42
|
-
export function streamToMaConnection (props: StreamProperties, options: StreamOptions = {}) {
|
|
42
|
+
export function streamToMaConnection (props: StreamProperties, options: StreamOptions = {}): MultiaddrConnection {
|
|
43
43
|
const { stream, remoteAddr } = props
|
|
44
44
|
const { sink, source } = stream
|
|
45
45
|
|
|
@@ -80,11 +80,11 @@ export function streamToMaConnection (props: StreamProperties, options: StreamOp
|
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
async function close () {
|
|
83
|
+
async function close (): Promise<void> {
|
|
84
84
|
if (maConn.timeline.close == null) {
|
|
85
85
|
maConn.timeline.close = Date.now()
|
|
86
86
|
}
|
|
87
|
-
|
|
87
|
+
await Promise.resolve()
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
return maConn
|