@libp2p/peer-id 1.0.3 → 1.1.2
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 +11 -6
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +24 -0
- package/dist/src/index.js.map +1 -1
- package/package.json +4 -3
- package/src/index.ts +35 -2
package/dist/src/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CID } from 'multiformats/cid';
|
|
2
|
-
import type { MultibaseDecoder, MultibaseEncoder } from 'multiformats/
|
|
3
|
-
import type { MultihashDigest } from 'multiformats/
|
|
2
|
+
import type { MultibaseDecoder, MultibaseEncoder } from 'multiformats/bases/interface';
|
|
3
|
+
import type { MultihashDigest } from 'multiformats/hashes/interface';
|
|
4
|
+
declare const peerIdSymbol: unique symbol;
|
|
4
5
|
interface PeerIdOptions {
|
|
5
6
|
type: 'RSA' | 'Ed25519' | 'secp256k1';
|
|
6
7
|
multihash: MultihashDigest;
|
|
@@ -25,6 +26,9 @@ export declare class PeerId {
|
|
|
25
26
|
readonly privateKey?: Uint8Array;
|
|
26
27
|
readonly publicKey?: Uint8Array;
|
|
27
28
|
constructor(opts: PeerIdOptions);
|
|
29
|
+
static isPeerId(other: any): other is PeerId;
|
|
30
|
+
get [Symbol.toStringTag](): string;
|
|
31
|
+
get [peerIdSymbol](): boolean;
|
|
28
32
|
toString(codec?: MultibaseEncoder<any>): string;
|
|
29
33
|
toCID(): CID;
|
|
30
34
|
toBytes(): Uint8Array;
|
|
@@ -35,14 +39,15 @@ export declare class PeerId {
|
|
|
35
39
|
* @returns {boolean}
|
|
36
40
|
*/
|
|
37
41
|
equals(id: any): boolean;
|
|
38
|
-
static
|
|
39
|
-
static
|
|
40
|
-
static
|
|
42
|
+
static fromPeerId(other: any): RSAPeerId | Ed25519PeerId | Secp256k1PeerId;
|
|
43
|
+
static fromString(str: string, decoder?: MultibaseDecoder<any>): RSAPeerId | Ed25519PeerId | Secp256k1PeerId;
|
|
44
|
+
static fromBytes(buf: Uint8Array): RSAPeerId | Ed25519PeerId | Secp256k1PeerId;
|
|
45
|
+
static fromCID(cid: CID): RSAPeerId | Ed25519PeerId | Secp256k1PeerId;
|
|
41
46
|
/**
|
|
42
47
|
* @param publicKey - A marshalled public key
|
|
43
48
|
* @param privateKey - A marshalled private key
|
|
44
49
|
*/
|
|
45
|
-
static fromKeys(publicKey: Uint8Array, privateKey?: Uint8Array): Promise<
|
|
50
|
+
static fromKeys(publicKey: Uint8Array, privateKey?: Uint8Array): Promise<RSAPeerId | Ed25519PeerId | Secp256k1PeerId>;
|
|
46
51
|
}
|
|
47
52
|
export declare class RSAPeerId extends PeerId {
|
|
48
53
|
readonly type = "RSA";
|
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;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAQtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpE,QAAA,MAAM,YAAY,eAAgC,CAAA;AAclD,UAAU,aAAa;IACrB,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,WAAW,CAAA;IACrC,SAAS,EAAE,eAAe,CAAA;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB;AAED,UAAU,gBAAgB;IACxB,SAAS,EAAE,eAAe,CAAA;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,SAAS,CAAC,EAAE,UAAU,CAAA;CACvB;AAED,UAAU,oBAAoB;IAC5B,SAAS,EAAE,eAAe,CAAA;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB;AAED,UAAU,sBAAsB;IAC9B,SAAS,EAAE,eAAe,CAAA;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB;AAED,qBAAa,MAAM;IACV,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;gBAEzB,IAAI,EAAE,aAAa;IAMhC,MAAM,CAAC,QAAQ,CAAE,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,MAAM;IAI7C,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,WAEvB;IAED,IAAI,CAAC,YAAY,CAAC,YAEjB;IAED,QAAQ,CAAE,KAAK,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC;IAUvC,KAAK;IAIL,OAAO;IAIP;;;;;OAKG;IACH,MAAM,CAAE,EAAE,EAAE,GAAG;IAUf,MAAM,CAAC,UAAU,CAAE,KAAK,EAAE,GAAG;IAkB7B,MAAM,CAAC,UAAU,CAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC;IAoB/D,MAAM,CAAC,SAAS,CAAE,GAAG,EAAE,UAAU;IAsBjC,MAAM,CAAC,OAAO,CAAE,GAAG,EAAE,GAAG;IAoBxB;;;OAGG;WACU,QAAQ,CAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,UAAU;CAWtE;AAED,qBAAa,SAAU,SAAQ,MAAM;IACnC,SAAgB,IAAI,SAAQ;IAC5B,SAAgB,SAAS,CAAC,EAAE,UAAU,CAAA;gBAEzB,IAAI,EAAE,gBAAgB;CAKpC;AAED,qBAAa,aAAc,SAAQ,MAAM;IACvC,SAAgB,IAAI,aAAY;IAChC,SAAgB,SAAS,EAAE,UAAU,CAAA;gBAExB,IAAI,EAAE,oBAAoB;CAKxC;AAED,qBAAa,eAAgB,SAAQ,MAAM;IACzC,SAAgB,IAAI,eAAc;IAClC,SAAgB,SAAS,EAAE,UAAU,CAAA;gBAExB,IAAI,EAAE,sBAAsB;CAK1C"}
|
package/dist/src/index.js
CHANGED
|
@@ -5,6 +5,8 @@ import * as Digest from 'multiformats/hashes/digest';
|
|
|
5
5
|
import { identity } from 'multiformats/hashes/identity';
|
|
6
6
|
import { equals as uint8ArrayEquals } from 'uint8arrays/equals';
|
|
7
7
|
import { sha256 } from 'multiformats/hashes/sha2';
|
|
8
|
+
import errcode from 'err-code';
|
|
9
|
+
const peerIdSymbol = Symbol.for('@libp2p/peer-id');
|
|
8
10
|
const baseDecoder = Object
|
|
9
11
|
.values(bases)
|
|
10
12
|
.map(codec => codec.decoder)
|
|
@@ -20,6 +22,15 @@ export class PeerId {
|
|
|
20
22
|
this.multihash = opts.multihash;
|
|
21
23
|
this.privateKey = opts.privateKey;
|
|
22
24
|
}
|
|
25
|
+
static isPeerId(other) {
|
|
26
|
+
return peerIdSymbol in other;
|
|
27
|
+
}
|
|
28
|
+
get [Symbol.toStringTag]() {
|
|
29
|
+
return peerIdSymbol.toString();
|
|
30
|
+
}
|
|
31
|
+
get [peerIdSymbol]() {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
23
34
|
toString(codec) {
|
|
24
35
|
if (codec == null) {
|
|
25
36
|
codec = base58btc;
|
|
@@ -51,6 +62,19 @@ export class PeerId {
|
|
|
51
62
|
throw new Error('not valid Id');
|
|
52
63
|
}
|
|
53
64
|
}
|
|
65
|
+
static fromPeerId(other) {
|
|
66
|
+
const err = errcode(new Error('Not a PeerId'), 'ERR_INVALID_PARAMETERS');
|
|
67
|
+
if (other.type === 'RSA') {
|
|
68
|
+
return new RSAPeerId(other);
|
|
69
|
+
}
|
|
70
|
+
if (other.type === 'Ed25519') {
|
|
71
|
+
return new Ed25519PeerId(other);
|
|
72
|
+
}
|
|
73
|
+
if (other.type === 'secp256k1') {
|
|
74
|
+
return new Secp256k1PeerId(other);
|
|
75
|
+
}
|
|
76
|
+
throw err;
|
|
77
|
+
}
|
|
54
78
|
static fromString(str, decoder) {
|
|
55
79
|
decoder = decoder ?? baseDecoder;
|
|
56
80
|
if (str.charAt(0) === '1' || str.charAt(0) === 'Q') {
|
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;
|
|
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.
|
|
3
|
+
"version": "1.1.2",
|
|
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",
|
|
@@ -120,10 +120,10 @@
|
|
|
120
120
|
},
|
|
121
121
|
"scripts": {
|
|
122
122
|
"lint": "aegir lint",
|
|
123
|
-
"dep-check": "aegir dep-check dist/src/**/*.js",
|
|
123
|
+
"dep-check": "aegir dep-check dist/src/**/*.js dist/test/**/*.js",
|
|
124
124
|
"build": "tsc",
|
|
125
125
|
"pretest": "npm run build",
|
|
126
|
-
"test": "aegir test -f ./dist/test/**/*.js",
|
|
126
|
+
"test": "aegir test -f ./dist/test/*.js -f ./dist/test/**/*.js",
|
|
127
127
|
"test:chrome": "npm run test -- -t browser",
|
|
128
128
|
"test:chrome-webworker": "npm run test -- -t webworker",
|
|
129
129
|
"test:firefox": "npm run test -- -t browser -- --browser firefox",
|
|
@@ -133,6 +133,7 @@
|
|
|
133
133
|
},
|
|
134
134
|
"dependencies": {
|
|
135
135
|
"@libp2p/interfaces": "^1.0.0",
|
|
136
|
+
"err-code": "^3.0.1",
|
|
136
137
|
"multiformats": "^9.4.5",
|
|
137
138
|
"uint8arrays": "^3.0.0"
|
|
138
139
|
},
|
package/src/index.ts
CHANGED
|
@@ -4,9 +4,12 @@ import { base58btc } from 'multiformats/bases/base58'
|
|
|
4
4
|
import * as Digest from 'multiformats/hashes/digest'
|
|
5
5
|
import { identity } from 'multiformats/hashes/identity'
|
|
6
6
|
import { equals as uint8ArrayEquals } from 'uint8arrays/equals'
|
|
7
|
-
import type { MultibaseDecoder, MultibaseEncoder } from 'multiformats/types/bases/interface'
|
|
8
|
-
import type { MultihashDigest } from 'multiformats/types/hashes/interface'
|
|
9
7
|
import { sha256 } from 'multiformats/hashes/sha2'
|
|
8
|
+
import errcode from 'err-code'
|
|
9
|
+
import type { MultibaseDecoder, MultibaseEncoder } from 'multiformats/bases/interface'
|
|
10
|
+
import type { MultihashDigest } from 'multiformats/hashes/interface'
|
|
11
|
+
|
|
12
|
+
const peerIdSymbol = Symbol.for('@libp2p/peer-id')
|
|
10
13
|
|
|
11
14
|
const baseDecoder = Object
|
|
12
15
|
.values(bases)
|
|
@@ -54,6 +57,18 @@ export class PeerId {
|
|
|
54
57
|
this.privateKey = opts.privateKey
|
|
55
58
|
}
|
|
56
59
|
|
|
60
|
+
static isPeerId (other: any): other is PeerId {
|
|
61
|
+
return peerIdSymbol in other
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
get [Symbol.toStringTag] () {
|
|
65
|
+
return peerIdSymbol.toString()
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
get [peerIdSymbol] () {
|
|
69
|
+
return true
|
|
70
|
+
}
|
|
71
|
+
|
|
57
72
|
toString (codec?: MultibaseEncoder<any>) {
|
|
58
73
|
if (codec == null) {
|
|
59
74
|
codec = base58btc
|
|
@@ -88,6 +103,24 @@ export class PeerId {
|
|
|
88
103
|
}
|
|
89
104
|
}
|
|
90
105
|
|
|
106
|
+
static fromPeerId (other: any) {
|
|
107
|
+
const err = errcode(new Error('Not a PeerId'), 'ERR_INVALID_PARAMETERS')
|
|
108
|
+
|
|
109
|
+
if (other.type === 'RSA') {
|
|
110
|
+
return new RSAPeerId(other)
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
if (other.type === 'Ed25519') {
|
|
114
|
+
return new Ed25519PeerId(other)
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
if (other.type === 'secp256k1') {
|
|
118
|
+
return new Secp256k1PeerId(other)
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
throw err
|
|
122
|
+
}
|
|
123
|
+
|
|
91
124
|
static fromString (str: string, decoder?: MultibaseDecoder<any>) {
|
|
92
125
|
decoder = decoder ?? baseDecoder
|
|
93
126
|
|