@libp2p/peer-id 1.1.7 → 1.1.10
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/index.d.ts +8 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +19 -16
- package/dist/src/index.js.map +1 -1
- package/package.json +14 -13
- package/src/index.ts +22 -23
package/dist/src/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CID } from 'multiformats/cid';
|
|
2
2
|
import { symbol } from '@libp2p/interfaces/peer-id';
|
|
3
|
-
import type { MultibaseDecoder
|
|
3
|
+
import type { MultibaseDecoder } from 'multiformats/bases/interface';
|
|
4
4
|
import type { MultihashDigest } from 'multiformats/hashes/interface';
|
|
5
5
|
import type { PeerId } from '@libp2p/interfaces/peer-id';
|
|
6
6
|
interface PeerIdInit {
|
|
@@ -13,17 +13,21 @@ declare class PeerIdImpl {
|
|
|
13
13
|
readonly multihash: MultihashDigest;
|
|
14
14
|
readonly privateKey?: Uint8Array;
|
|
15
15
|
readonly publicKey?: Uint8Array;
|
|
16
|
-
private
|
|
16
|
+
private string?;
|
|
17
17
|
constructor(init: PeerIdInit);
|
|
18
18
|
get [Symbol.toStringTag](): string;
|
|
19
19
|
get [symbol](): boolean;
|
|
20
|
-
toString(
|
|
20
|
+
toString(): string;
|
|
21
21
|
toCID(): CID;
|
|
22
22
|
toBytes(): Uint8Array;
|
|
23
|
+
/**
|
|
24
|
+
* Returns Multiaddr as a JSON encoded object
|
|
25
|
+
*/
|
|
26
|
+
toJSON(): string;
|
|
23
27
|
/**
|
|
24
28
|
* Checks the equality of `this` peer against a given PeerId
|
|
25
29
|
*/
|
|
26
|
-
equals(id:
|
|
30
|
+
equals(id: PeerId | Uint8Array | string): boolean;
|
|
27
31
|
}
|
|
28
32
|
export declare function createPeerId(init: PeerIdInit): PeerIdImpl;
|
|
29
33
|
export declare function peerIdFromPeerId(other: any): PeerId;
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAQtC,OAAO,EAA6C,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAC9F,OAAO,KAAK,EAAE,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAQtC,OAAO,EAA6C,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAC9F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAcxD,UAAU,UAAU;IAClB,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,WAAW,CAAA;IACrC,SAAS,EAAE,eAAe,CAAA;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB;AAkBD,cAAM,UAAU;IACP,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,WAAW,CAAA;IAC5C,SAAgB,SAAS,EAAE,eAAe,CAAA;IAC1C,SAAgB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvC,SAAgB,SAAS,CAAC,EAAE,UAAU,CAAA;IACtC,OAAO,CAAC,MAAM,CAAC,CAAQ;gBAEV,IAAI,EAAE,UAAU;IAY7B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,WAEvB;IAED,IAAI,CAAC,MAAM,CAAC,YAEX;IAED,QAAQ;IAUR,KAAK;IAIL,OAAO;IAIP;;OAEG;IACH,MAAM;IAIN;;OAEG;IACH,MAAM,CAAE,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO;CAWnD;AAmCD,wBAAgB,YAAY,CAAE,IAAI,EAAE,UAAU,cAE7C;AAED,wBAAgB,gBAAgB,CAAE,KAAK,EAAE,GAAG,GAAG,MAAM,CAgBpD;AAED,wBAAgB,gBAAgB,CAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,MAAM,CAkBtF;AAED,wBAAgB,eAAe,CAAE,GAAG,EAAE,UAAU,UAoB/C;AAED,wBAAgB,aAAa,CAAE,GAAG,EAAE,GAAG,GAAG,MAAM,CAkB/C;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAUrG"}
|
package/dist/src/index.js
CHANGED
|
@@ -21,10 +21,10 @@ class PeerIdImpl {
|
|
|
21
21
|
this.type = init.type;
|
|
22
22
|
this.multihash = init.multihash;
|
|
23
23
|
this.privateKey = init.privateKey;
|
|
24
|
-
// mark
|
|
25
|
-
this
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
// mark string cache as non-enumerable
|
|
25
|
+
Object.defineProperty(this, 'string', {
|
|
26
|
+
enumerable: false,
|
|
27
|
+
writable: true
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
30
|
get [Symbol.toStringTag]() {
|
|
@@ -33,17 +33,11 @@ class PeerIdImpl {
|
|
|
33
33
|
get [symbol]() {
|
|
34
34
|
return true;
|
|
35
35
|
}
|
|
36
|
-
toString(
|
|
37
|
-
if (
|
|
38
|
-
|
|
36
|
+
toString() {
|
|
37
|
+
if (this.string == null) {
|
|
38
|
+
this.string = base58btc.encode(this.multihash.bytes).slice(1);
|
|
39
39
|
}
|
|
40
|
-
|
|
41
|
-
if (cached != null) {
|
|
42
|
-
return cached;
|
|
43
|
-
}
|
|
44
|
-
const encoded = codec.encode(this.multihash.bytes).slice(1);
|
|
45
|
-
this.strings.set(codec.name, encoded);
|
|
46
|
-
return encoded;
|
|
40
|
+
return this.string;
|
|
47
41
|
}
|
|
48
42
|
// return self-describing String representation
|
|
49
43
|
// in default format from RFC 0001: https://github.com/libp2p/specs/pull/209
|
|
@@ -53,6 +47,12 @@ class PeerIdImpl {
|
|
|
53
47
|
toBytes() {
|
|
54
48
|
return this.multihash.bytes;
|
|
55
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Returns Multiaddr as a JSON encoded object
|
|
52
|
+
*/
|
|
53
|
+
toJSON() {
|
|
54
|
+
return this.toString();
|
|
55
|
+
}
|
|
56
56
|
/**
|
|
57
57
|
* Checks the equality of `this` peer against a given PeerId
|
|
58
58
|
*/
|
|
@@ -60,6 +60,9 @@ class PeerIdImpl {
|
|
|
60
60
|
if (id instanceof Uint8Array) {
|
|
61
61
|
return uint8ArrayEquals(this.multihash.bytes, id);
|
|
62
62
|
}
|
|
63
|
+
else if (typeof id === 'string') {
|
|
64
|
+
return peerIdFromString(id).equals(this);
|
|
65
|
+
}
|
|
63
66
|
else if (id?.multihash?.bytes != null) {
|
|
64
67
|
return uint8ArrayEquals(this.multihash.bytes, id.multihash.bytes);
|
|
65
68
|
}
|
|
@@ -152,10 +155,10 @@ export function peerIdFromCID(cid) {
|
|
|
152
155
|
return new RSAPeerIdImpl({ multihash: cid.multihash });
|
|
153
156
|
}
|
|
154
157
|
else if (multihash.code === identity.code) {
|
|
155
|
-
if (multihash.
|
|
158
|
+
if (multihash.digest.length === MARSHALLED_ED225519_PUBLIC_KEY_LENGTH) {
|
|
156
159
|
return new Ed25519PeerIdImpl({ multihash: cid.multihash });
|
|
157
160
|
}
|
|
158
|
-
else if (multihash.
|
|
161
|
+
else if (multihash.digest.length === MARSHALLED_SECP258K1_PUBLIC_KEY_LENGTH) {
|
|
159
162
|
return new Secp256k1PeerIdImpl({ multihash: cid.multihash });
|
|
160
163
|
}
|
|
161
164
|
}
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,EAA6C,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAK9F,MAAM,WAAW,GAAG,MAAM;KACvB,MAAM,CAAC,KAAK,CAAC;KACb,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;IAC5B,8EAA8E;KAC7E,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;AAE9D,yFAAyF;AACzF,MAAM,eAAe,GAAG,IAAI,CAAA;AAE5B,MAAM,qCAAqC,GAAG,EAAE,CAAA;AAChD,MAAM,sCAAsC,GAAG,EAAE,CAAA;AAwBjD,MAAM,UAAU;IAOd,YAAa,IAAgB;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;QAEjC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/peer-id",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.10",
|
|
4
4
|
"description": "IPFS Peer Id implementation in Node.js",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/libp2p-peer-id#readme",
|
|
@@ -119,25 +119,26 @@
|
|
|
119
119
|
]
|
|
120
120
|
},
|
|
121
121
|
"scripts": {
|
|
122
|
+
"clean": "aegir clean",
|
|
122
123
|
"lint": "aegir lint",
|
|
123
|
-
"dep-check": "aegir dep-check
|
|
124
|
-
"build": "
|
|
125
|
-
"
|
|
126
|
-
"test": "aegir test -
|
|
127
|
-
"test:chrome": "
|
|
128
|
-
"test:
|
|
129
|
-
"test:firefox": "
|
|
130
|
-
"test:
|
|
131
|
-
"test:
|
|
132
|
-
"
|
|
124
|
+
"dep-check": "aegir dep-check",
|
|
125
|
+
"build": "aegir build",
|
|
126
|
+
"test": "aegir test",
|
|
127
|
+
"test:chrome": "aegir test -t browser --cov",
|
|
128
|
+
"test:chrome-webworker": "aegir test -t webworker",
|
|
129
|
+
"test:firefox": "aegir test -t browser -- --browser firefox",
|
|
130
|
+
"test:firefox-webworker": "aegir test -t webworker -- --browser firefox",
|
|
131
|
+
"test:node": "aegir test -t node --cov",
|
|
132
|
+
"test:electron-main": "aegir test -t electron-main",
|
|
133
|
+
"release": "aegir release"
|
|
133
134
|
},
|
|
134
135
|
"dependencies": {
|
|
135
|
-
"@libp2p/interfaces": "^1.3.
|
|
136
|
+
"@libp2p/interfaces": "^1.3.0",
|
|
136
137
|
"err-code": "^3.0.1",
|
|
137
138
|
"multiformats": "^9.6.3",
|
|
138
139
|
"uint8arrays": "^3.0.0"
|
|
139
140
|
},
|
|
140
141
|
"devDependencies": {
|
|
141
|
-
"aegir": "^
|
|
142
|
+
"aegir": "^37.0.7"
|
|
142
143
|
}
|
|
143
144
|
}
|
package/src/index.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { equals as uint8ArrayEquals } from 'uint8arrays/equals'
|
|
|
7
7
|
import { sha256 } from 'multiformats/hashes/sha2'
|
|
8
8
|
import errcode from 'err-code'
|
|
9
9
|
import { Ed25519PeerId, RSAPeerId, Secp256k1PeerId, symbol } from '@libp2p/interfaces/peer-id'
|
|
10
|
-
import type { MultibaseDecoder
|
|
10
|
+
import type { MultibaseDecoder } from 'multiformats/bases/interface'
|
|
11
11
|
import type { MultihashDigest } from 'multiformats/hashes/interface'
|
|
12
12
|
import type { PeerId } from '@libp2p/interfaces/peer-id'
|
|
13
13
|
|
|
@@ -50,17 +50,17 @@ class PeerIdImpl {
|
|
|
50
50
|
public readonly multihash: MultihashDigest
|
|
51
51
|
public readonly privateKey?: Uint8Array
|
|
52
52
|
public readonly publicKey?: Uint8Array
|
|
53
|
-
private
|
|
53
|
+
private string?: string
|
|
54
54
|
|
|
55
55
|
constructor (init: PeerIdInit) {
|
|
56
56
|
this.type = init.type
|
|
57
57
|
this.multihash = init.multihash
|
|
58
58
|
this.privateKey = init.privateKey
|
|
59
59
|
|
|
60
|
-
// mark
|
|
61
|
-
this
|
|
62
|
-
|
|
63
|
-
|
|
60
|
+
// mark string cache as non-enumerable
|
|
61
|
+
Object.defineProperty(this, 'string', {
|
|
62
|
+
enumerable: false,
|
|
63
|
+
writable: true
|
|
64
64
|
})
|
|
65
65
|
}
|
|
66
66
|
|
|
@@ -72,22 +72,12 @@ class PeerIdImpl {
|
|
|
72
72
|
return true
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
toString (
|
|
76
|
-
if (
|
|
77
|
-
|
|
75
|
+
toString () {
|
|
76
|
+
if (this.string == null) {
|
|
77
|
+
this.string = base58btc.encode(this.multihash.bytes).slice(1)
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
if (cached != null) {
|
|
83
|
-
return cached
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
const encoded = codec.encode(this.multihash.bytes).slice(1)
|
|
87
|
-
|
|
88
|
-
this.strings.set(codec.name, encoded)
|
|
89
|
-
|
|
90
|
-
return encoded
|
|
80
|
+
return this.string
|
|
91
81
|
}
|
|
92
82
|
|
|
93
83
|
// return self-describing String representation
|
|
@@ -100,12 +90,21 @@ class PeerIdImpl {
|
|
|
100
90
|
return this.multihash.bytes
|
|
101
91
|
}
|
|
102
92
|
|
|
93
|
+
/**
|
|
94
|
+
* Returns Multiaddr as a JSON encoded object
|
|
95
|
+
*/
|
|
96
|
+
toJSON () {
|
|
97
|
+
return this.toString()
|
|
98
|
+
}
|
|
99
|
+
|
|
103
100
|
/**
|
|
104
101
|
* Checks the equality of `this` peer against a given PeerId
|
|
105
102
|
*/
|
|
106
|
-
equals (id:
|
|
103
|
+
equals (id: PeerId | Uint8Array | string): boolean {
|
|
107
104
|
if (id instanceof Uint8Array) {
|
|
108
105
|
return uint8ArrayEquals(this.multihash.bytes, id)
|
|
106
|
+
} else if (typeof id === 'string') {
|
|
107
|
+
return peerIdFromString(id).equals(this as PeerId)
|
|
109
108
|
} else if (id?.multihash?.bytes != null) {
|
|
110
109
|
return uint8ArrayEquals(this.multihash.bytes, id.multihash.bytes)
|
|
111
110
|
} else {
|
|
@@ -221,9 +220,9 @@ export function peerIdFromCID (cid: CID): PeerId {
|
|
|
221
220
|
if (multihash.code === sha256.code) {
|
|
222
221
|
return new RSAPeerIdImpl({ multihash: cid.multihash })
|
|
223
222
|
} else if (multihash.code === identity.code) {
|
|
224
|
-
if (multihash.
|
|
223
|
+
if (multihash.digest.length === MARSHALLED_ED225519_PUBLIC_KEY_LENGTH) {
|
|
225
224
|
return new Ed25519PeerIdImpl({ multihash: cid.multihash })
|
|
226
|
-
} else if (multihash.
|
|
225
|
+
} else if (multihash.digest.length === MARSHALLED_SECP258K1_PUBLIC_KEY_LENGTH) {
|
|
227
226
|
return new Secp256k1PeerIdImpl({ multihash: cid.multihash })
|
|
228
227
|
}
|
|
229
228
|
}
|