@libp2p/utils 1.0.4 → 1.0.7
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/address-sort.d.ts.map +1 -1
- package/dist/src/address-sort.js +0 -9
- package/dist/src/address-sort.js.map +1 -1
- package/dist/src/ip-port-to-multiaddr.d.ts.map +1 -1
- package/dist/src/ip-port-to-multiaddr.js +2 -4
- package/dist/src/ip-port-to-multiaddr.js.map +1 -1
- package/dist/src/multiaddr/is-loopback.d.ts +1 -1
- package/dist/src/multiaddr/is-loopback.d.ts.map +1 -1
- package/dist/src/multiaddr/is-loopback.js +1 -2
- package/dist/src/multiaddr/is-loopback.js.map +1 -1
- package/dist/src/stream-to-ma-conn.d.ts +3 -9
- package/dist/src/stream-to-ma-conn.d.ts.map +1 -1
- package/dist/src/stream-to-ma-conn.js +6 -8
- package/dist/src/stream-to-ma-conn.js.map +1 -1
- package/package.json +19 -20
- package/src/address-sort.ts +0 -10
- package/src/ip-port-to-multiaddr.ts +2 -4
- package/src/multiaddr/is-loopback.ts +1 -2
- package/src/stream-to-ma-conn.ts +8 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address-sort.d.ts","sourceRoot":"","sources":["../../src/address-sort.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGxD,UAAU,OAAO;IACf,SAAS,EAAE,SAAS,CAAA;IACpB,WAAW,EAAE,OAAO,CAAA;CACrB;
|
|
1
|
+
{"version":3,"file":"address-sort.d.ts","sourceRoot":"","sources":["../../src/address-sort.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGxD,UAAU,OAAO;IACf,SAAS,EAAE,SAAS,CAAA;IACpB,WAAW,EAAE,OAAO,CAAA;CACrB;AA0BD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAE,SAAS,EAAE,OAAO,EAAE,aAEzD"}
|
package/dist/src/address-sort.js
CHANGED
|
@@ -1,17 +1,8 @@
|
|
|
1
1
|
import { isPrivate } from './multiaddr/is-private.js';
|
|
2
|
-
/**
|
|
3
|
-
* @typedef {Object} Address
|
|
4
|
-
* @property {Multiaddr} multiaddr peer multiaddr.
|
|
5
|
-
* @property {boolean} isCertified obtained from a signed peer record.
|
|
6
|
-
*/
|
|
7
2
|
/**
|
|
8
3
|
* Compare function for array.sort().
|
|
9
4
|
* This sort aims to move the private adresses to the end of the array.
|
|
10
5
|
* In case of equality, a certified address will come first.
|
|
11
|
-
*
|
|
12
|
-
* @param {Address} a
|
|
13
|
-
* @param {Address} b
|
|
14
|
-
* @returns {number}
|
|
15
6
|
*/
|
|
16
7
|
function addressesPublicFirstCompareFunction(a, b) {
|
|
17
8
|
const isAPrivate = isPrivate(a.multiaddr);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address-sort.js","sourceRoot":"","sources":["../../src/address-sort.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAOrD;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"address-sort.js","sourceRoot":"","sources":["../../src/address-sort.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAOrD;;;;GAIG;AACH,SAAS,mCAAmC,CAAE,CAAU,EAAE,CAAU;IAClE,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACzC,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAEzC,IAAI,UAAU,IAAI,CAAC,UAAU,EAAE;QAC7B,OAAO,CAAC,CAAA;KACT;SAAM,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE;QACpC,OAAO,CAAC,CAAC,CAAA;KACV;IACD,mBAAmB;IACnB,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE;QACnC,OAAO,CAAC,CAAC,CAAA;KACV;SAAM,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,EAAE;QAC1C,OAAO,CAAC,CAAA;KACT;IAED,OAAO,CAAC,CAAA;AACV,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAE,SAAoB;IACxD,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAA;AACjE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ip-port-to-multiaddr.d.ts","sourceRoot":"","sources":["../../src/ip-port-to-multiaddr.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"ip-port-to-multiaddr.d.ts","sourceRoot":"","sources":["../../src/ip-port-to-multiaddr.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAMnD,eAAO,MAAM,MAAM;;;;CAIlB,CAAA;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,aA8BnE"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { logger } from '@libp2p/logger';
|
|
2
2
|
import { Multiaddr } from '@multiformats/multiaddr';
|
|
3
3
|
import errCode from 'err-code';
|
|
4
4
|
import { Address4, Address6 } from '@achingbrain/ip-address';
|
|
5
|
-
const log =
|
|
6
|
-
error: debug('libp2p:ip-port-to-multiaddr:err')
|
|
7
|
-
});
|
|
5
|
+
const log = logger('libp2p:ip-port-to-multiaddr');
|
|
8
6
|
export const Errors = {
|
|
9
7
|
ERR_INVALID_IP_PARAMETER: 'ERR_INVALID_IP_PARAMETER',
|
|
10
8
|
ERR_INVALID_PORT_PARAMETER: 'ERR_INVALID_PORT_PARAMETER',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ip-port-to-multiaddr.js","sourceRoot":"","sources":["../../src/ip-port-to-multiaddr.ts"],"names":[],"mappings":"AAAA,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,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,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,OAAO,CAAC,IAAI,KAAK,CAAC,wBAAwB,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,wBAAwB,CAAC,CAAA,CAAC,uEAAuE;KAChK;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,OAAO,CAAC,IAAI,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,0BAA0B,CAAC,CAAA;KAC9F;IAED,IAAI;QACF,kBAAkB;QAClB,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAA,CAAC,6BAA6B;QAC9C,OAAO,IAAI,SAAS,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAA;KAC/C;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,IAAI,SAAS,CAAC,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,QAAQ,IAAI,EAAE,CAAC;YAC9D,CAAC,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAA;KAC5C;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,MAAM,GAAG,6CAA6C,EAAE,IAAI,IAAI,EAAE,CAAA;QACxE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACjB,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAA;KACxD;AACH,CAAC"}
|
|
@@ -2,5 +2,5 @@ import type { Multiaddr } from '@multiformats/multiaddr';
|
|
|
2
2
|
/**
|
|
3
3
|
* Check if a given multiaddr is a loopback address.
|
|
4
4
|
*/
|
|
5
|
-
export declare function isLoopback(ma: Multiaddr):
|
|
5
|
+
export declare function isLoopback(ma: Multiaddr): boolean;
|
|
6
6
|
//# sourceMappingURL=is-loopback.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-loopback.d.ts","sourceRoot":"","sources":["../../../src/multiaddr/is-loopback.ts"],"names":[],"mappings":"
|
|
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,WAIxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-loopback.js","sourceRoot":"","sources":["../../../src/multiaddr/is-loopback.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"is-loopback.js","sourceRoot":"","sources":["../../../src/multiaddr/is-loopback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAGjD;;GAEG;AACH,MAAM,UAAU,UAAU,CAAE,EAAa;IACvC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAA;IAEpC,OAAO,cAAc,CAAC,OAAO,CAAC,CAAA;AAChC,CAAC"}
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
import type { MuxedStream } from '@libp2p/interfaces/stream-muxer';
|
|
2
1
|
import type { Multiaddr } from '@multiformats/multiaddr';
|
|
3
2
|
import type { MultiaddrConnection } from '@libp2p/interfaces/transport';
|
|
4
|
-
|
|
5
|
-
* @typedef {Object} Timeline
|
|
6
|
-
* @property {number} open -
|
|
7
|
-
* @property {number} [upgraded] - .
|
|
8
|
-
* @property {number} [close]
|
|
9
|
-
*/
|
|
3
|
+
import type { Duplex } from 'it-stream-types';
|
|
10
4
|
export interface Timeline {
|
|
11
5
|
/**
|
|
12
6
|
* Connection opening timestamp
|
|
@@ -25,7 +19,7 @@ interface StreamOptions {
|
|
|
25
19
|
signal?: AbortSignal;
|
|
26
20
|
}
|
|
27
21
|
interface StreamProperties {
|
|
28
|
-
stream:
|
|
22
|
+
stream: Duplex<Uint8Array>;
|
|
29
23
|
remoteAddr: Multiaddr;
|
|
30
24
|
localAddr: Multiaddr;
|
|
31
25
|
}
|
|
@@ -33,6 +27,6 @@ interface StreamProperties {
|
|
|
33
27
|
* Convert a duplex iterable into a MultiaddrConnection.
|
|
34
28
|
* https://github.com/libp2p/interface-transport#multiaddrconnection
|
|
35
29
|
*/
|
|
36
|
-
export declare function streamToMaConnection(props: StreamProperties, options?: StreamOptions): MultiaddrConnection
|
|
30
|
+
export declare function streamToMaConnection(props: StreamProperties, options?: StreamOptions): MultiaddrConnection;
|
|
37
31
|
export {};
|
|
38
32
|
//# sourceMappingURL=stream-to-ma-conn.d.ts.map
|
|
@@ -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,
|
|
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;AAI7C,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,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,WAAW,CAAA;CAErB;AAED,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IAC1B,UAAU,EAAE,SAAS,CAAA;IACrB,SAAS,EAAE,SAAS,CAAA;CACrB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,GAAE,aAAkB,uBA0CzF"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
const log =
|
|
1
|
+
import { abortableSource } from 'abortable-iterator';
|
|
2
|
+
import { logger } from '@libp2p/logger';
|
|
3
|
+
const log = logger('libp2p:stream:converter');
|
|
4
4
|
/**
|
|
5
5
|
* Convert a duplex iterable into a MultiaddrConnection.
|
|
6
6
|
* https://github.com/libp2p/interface-transport#multiaddrconnection
|
|
7
7
|
*/
|
|
8
8
|
export function streamToMaConnection(props, options = {}) {
|
|
9
|
-
const { stream, remoteAddr
|
|
9
|
+
const { stream, remoteAddr } = props;
|
|
10
10
|
const { sink, source } = stream;
|
|
11
11
|
const maConn = {
|
|
12
12
|
async sink(source) {
|
|
13
13
|
if (options.signal != null) {
|
|
14
|
-
source =
|
|
14
|
+
source = abortableSource(source, options.signal);
|
|
15
15
|
}
|
|
16
16
|
try {
|
|
17
17
|
await sink(source);
|
|
@@ -27,9 +27,7 @@ export function streamToMaConnection(props, options = {}) {
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
|
-
source: (options.signal != null) ?
|
|
31
|
-
conn: stream,
|
|
32
|
-
localAddr,
|
|
30
|
+
source: (options.signal != null) ? abortableSource(source, options.signal) : source,
|
|
33
31
|
remoteAddr,
|
|
34
32
|
/** @type {Timeline} */
|
|
35
33
|
timeline: { open: Date.now(), close: undefined },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-to-ma-conn.js","sourceRoot":"","sources":["../../src/stream-to-ma-conn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
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;AAKvC,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;IAC/B,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,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;QACnF,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,OAAO,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;IAChC,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/utils",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
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",
|
|
@@ -43,14 +43,6 @@
|
|
|
43
43
|
".": {
|
|
44
44
|
"import": "./dist/src/index.js"
|
|
45
45
|
},
|
|
46
|
-
"./multiaddr/is-loopback": {
|
|
47
|
-
"import": "./dist/src/multiaddr/is-loopback.js",
|
|
48
|
-
"types": "./dist/src/multiaddr/is-loopback.d.ts"
|
|
49
|
-
},
|
|
50
|
-
"./multiaddr/is-private": {
|
|
51
|
-
"import": "./dist/src/multiaddr/is-private.js",
|
|
52
|
-
"types": "./dist/src/multiaddr/is-private.d.ts"
|
|
53
|
-
},
|
|
54
46
|
"./address-sort": {
|
|
55
47
|
"import": "./dist/src/address-sort.js",
|
|
56
48
|
"types": "./dist/src/address-sort.d.ts"
|
|
@@ -63,6 +55,14 @@
|
|
|
63
55
|
"import": "./dist/src/ip-port-to-multiaddr.js",
|
|
64
56
|
"types": "./dist/src/ip-port-to-multiaddr.d.ts"
|
|
65
57
|
},
|
|
58
|
+
"./multiaddr/is-loopback": {
|
|
59
|
+
"import": "./dist/src/multiaddr/is-loopback.js",
|
|
60
|
+
"types": "./dist/src/multiaddr/is-loopback.d.ts"
|
|
61
|
+
},
|
|
62
|
+
"./multiaddr/is-private": {
|
|
63
|
+
"import": "./dist/src/multiaddr/is-private.js",
|
|
64
|
+
"types": "./dist/src/multiaddr/is-private.d.ts"
|
|
65
|
+
},
|
|
66
66
|
"./stream-to-ma-conn": {
|
|
67
67
|
"import": "./dist/src/stream-to-ma-connr.js",
|
|
68
68
|
"types": "./dist/src/stream-to-ma-connr.d.ts"
|
|
@@ -160,8 +160,8 @@
|
|
|
160
160
|
"dep-check": "aegir dep-check dist/src/**/*.js dist/test/**/*.js",
|
|
161
161
|
"build": "tsc",
|
|
162
162
|
"pretest": "npm run build",
|
|
163
|
-
"test": "aegir test -f ./dist/test/**/*.js",
|
|
164
|
-
"test:chrome": "npm run test -- -t browser",
|
|
163
|
+
"test": "aegir test -f ./dist/test/*.js -f ./dist/test/**/*.js",
|
|
164
|
+
"test:chrome": "npm run test -- -t browser --cov",
|
|
165
165
|
"test:chrome-webworker": "npm run test -- -t webworker",
|
|
166
166
|
"test:firefox": "npm run test -- -t browser -- --browser firefox",
|
|
167
167
|
"test:firefox-webworker": "npm run test -- -t webworker -- --browser firefox",
|
|
@@ -171,20 +171,19 @@
|
|
|
171
171
|
},
|
|
172
172
|
"dependencies": {
|
|
173
173
|
"@achingbrain/ip-address": "^8.1.0",
|
|
174
|
+
"@libp2p/logger": "^1.0.1",
|
|
174
175
|
"@multiformats/multiaddr": "^10.1.1",
|
|
175
|
-
"abortable-iterator": "^
|
|
176
|
-
"debug": "^4.3.0",
|
|
176
|
+
"abortable-iterator": "^4.0.2",
|
|
177
177
|
"err-code": "^3.0.1",
|
|
178
|
-
"is-loopback-addr": "^
|
|
178
|
+
"is-loopback-addr": "^2.0.1",
|
|
179
|
+
"it-stream-types": "^1.0.4",
|
|
179
180
|
"private-ip": "^2.1.1"
|
|
180
181
|
},
|
|
181
182
|
"devDependencies": {
|
|
182
|
-
"@libp2p/interfaces": "^0.
|
|
183
|
-
"@types/debug": "^4.1.5",
|
|
183
|
+
"@libp2p/interfaces": "^1.0.3",
|
|
184
184
|
"aegir": "^36.1.2",
|
|
185
|
-
"it-
|
|
186
|
-
"it-
|
|
187
|
-
"
|
|
188
|
-
"util": "^0.12.3"
|
|
185
|
+
"it-all": "^1.0.6",
|
|
186
|
+
"it-pair": "^2.0.2",
|
|
187
|
+
"it-pipe": "^2.0.2"
|
|
189
188
|
}
|
|
190
189
|
}
|
package/src/address-sort.ts
CHANGED
|
@@ -6,20 +6,10 @@ interface Address {
|
|
|
6
6
|
isCertified: boolean
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
/**
|
|
10
|
-
* @typedef {Object} Address
|
|
11
|
-
* @property {Multiaddr} multiaddr peer multiaddr.
|
|
12
|
-
* @property {boolean} isCertified obtained from a signed peer record.
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
9
|
/**
|
|
16
10
|
* Compare function for array.sort().
|
|
17
11
|
* This sort aims to move the private adresses to the end of the array.
|
|
18
12
|
* In case of equality, a certified address will come first.
|
|
19
|
-
*
|
|
20
|
-
* @param {Address} a
|
|
21
|
-
* @param {Address} b
|
|
22
|
-
* @returns {number}
|
|
23
13
|
*/
|
|
24
14
|
function addressesPublicFirstCompareFunction (a: Address, b: Address) {
|
|
25
15
|
const isAPrivate = isPrivate(a.multiaddr)
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { logger } from '@libp2p/logger'
|
|
2
2
|
import { Multiaddr } from '@multiformats/multiaddr'
|
|
3
3
|
import errCode from 'err-code'
|
|
4
4
|
import { Address4, Address6 } from '@achingbrain/ip-address'
|
|
5
5
|
|
|
6
|
-
const log =
|
|
7
|
-
error: debug('libp2p:ip-port-to-multiaddr:err')
|
|
8
|
-
})
|
|
6
|
+
const log = logger('libp2p:ip-port-to-multiaddr')
|
|
9
7
|
|
|
10
8
|
export const Errors = {
|
|
11
9
|
ERR_INVALID_IP_PARAMETER: 'ERR_INVALID_IP_PARAMETER',
|
package/src/stream-to-ma-conn.ts
CHANGED
|
@@ -1,17 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import type { MuxedStream } from '@libp2p/interfaces/stream-muxer'
|
|
1
|
+
import { abortableSource } from 'abortable-iterator'
|
|
2
|
+
import { logger } from '@libp2p/logger'
|
|
4
3
|
import type { Multiaddr } from '@multiformats/multiaddr'
|
|
5
4
|
import type { MultiaddrConnection } from '@libp2p/interfaces/transport'
|
|
5
|
+
import type { Duplex } from 'it-stream-types'
|
|
6
6
|
|
|
7
|
-
const log =
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* @typedef {Object} Timeline
|
|
11
|
-
* @property {number} open -
|
|
12
|
-
* @property {number} [upgraded] - .
|
|
13
|
-
* @property {number} [close]
|
|
14
|
-
*/
|
|
7
|
+
const log = logger('libp2p:stream:converter')
|
|
15
8
|
|
|
16
9
|
export interface Timeline {
|
|
17
10
|
/**
|
|
@@ -36,7 +29,7 @@ interface StreamOptions {
|
|
|
36
29
|
}
|
|
37
30
|
|
|
38
31
|
interface StreamProperties {
|
|
39
|
-
stream:
|
|
32
|
+
stream: Duplex<Uint8Array>
|
|
40
33
|
remoteAddr: Multiaddr
|
|
41
34
|
localAddr: Multiaddr
|
|
42
35
|
}
|
|
@@ -46,12 +39,12 @@ interface StreamProperties {
|
|
|
46
39
|
* https://github.com/libp2p/interface-transport#multiaddrconnection
|
|
47
40
|
*/
|
|
48
41
|
export function streamToMaConnection (props: StreamProperties, options: StreamOptions = {}) {
|
|
49
|
-
const { stream, remoteAddr
|
|
42
|
+
const { stream, remoteAddr } = props
|
|
50
43
|
const { sink, source } = stream
|
|
51
44
|
const maConn: MultiaddrConnection = {
|
|
52
45
|
async sink (source) {
|
|
53
46
|
if (options.signal != null) {
|
|
54
|
-
source =
|
|
47
|
+
source = abortableSource(source, options.signal)
|
|
55
48
|
}
|
|
56
49
|
|
|
57
50
|
try {
|
|
@@ -67,9 +60,7 @@ export function streamToMaConnection (props: StreamProperties, options: StreamOp
|
|
|
67
60
|
}
|
|
68
61
|
}
|
|
69
62
|
},
|
|
70
|
-
source: (options.signal != null) ?
|
|
71
|
-
conn: stream,
|
|
72
|
-
localAddr,
|
|
63
|
+
source: (options.signal != null) ? abortableSource(source, options.signal) : source,
|
|
73
64
|
remoteAddr,
|
|
74
65
|
/** @type {Timeline} */
|
|
75
66
|
timeline: { open: Date.now(), close: undefined },
|