@libp2p/peer-id 1.0.2 → 1.1.1

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.
@@ -1,6 +1,6 @@
1
1
  import { CID } from 'multiformats/cid';
2
- import type { MultibaseDecoder, MultibaseEncoder } from 'multiformats/types/bases/interface';
3
- import type { MultihashDigest } from 'multiformats/types/hashes/interface';
2
+ import type { MultibaseDecoder, MultibaseEncoder } from 'multiformats/bases/interface';
3
+ import type { MultihashDigest } from 'multiformats/hashes/interface';
4
4
  interface PeerIdOptions {
5
5
  type: 'RSA' | 'Ed25519' | 'secp256k1';
6
6
  multihash: MultihashDigest;
@@ -35,14 +35,15 @@ export declare class PeerId {
35
35
  * @returns {boolean}
36
36
  */
37
37
  equals(id: any): boolean;
38
- static fromString(str: string, decoder?: MultibaseDecoder<any>): Ed25519PeerId | Secp256k1PeerId | RSAPeerId;
39
- static fromBytes(buf: Uint8Array): Ed25519PeerId | Secp256k1PeerId | RSAPeerId;
40
- static fromCID(cid: CID): Ed25519PeerId | Secp256k1PeerId | RSAPeerId;
38
+ static fromPeerId(other: any): RSAPeerId | Ed25519PeerId | Secp256k1PeerId;
39
+ static fromString(str: string, decoder?: MultibaseDecoder<any>): RSAPeerId | Ed25519PeerId | Secp256k1PeerId;
40
+ static fromBytes(buf: Uint8Array): RSAPeerId | Ed25519PeerId | Secp256k1PeerId;
41
+ static fromCID(cid: CID): RSAPeerId | Ed25519PeerId | Secp256k1PeerId;
41
42
  /**
42
43
  * @param publicKey - A marshalled public key
43
44
  * @param privateKey - A marshalled private key
44
45
  */
45
- static fromKeys(publicKey: Uint8Array, privateKey?: Uint8Array): Promise<Ed25519PeerId | Secp256k1PeerId | RSAPeerId>;
46
+ static fromKeys(publicKey: Uint8Array, privateKey?: Uint8Array): Promise<RSAPeerId | Ed25519PeerId | Secp256k1PeerId>;
46
47
  }
47
48
  export declare class RSAPeerId extends PeerId {
48
49
  readonly type = "RSA";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAMtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAC5F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AAe1E,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,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,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"}
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;AAcpE,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,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,7 @@ 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';
8
9
  const baseDecoder = Object
9
10
  .values(bases)
10
11
  .map(codec => codec.decoder)
@@ -51,6 +52,19 @@ export class PeerId {
51
52
  throw new Error('not valid Id');
52
53
  }
53
54
  }
55
+ static fromPeerId(other) {
56
+ const err = errcode(new Error('Not a PeerId'), 'ERR_INVALID_PARAMETERS');
57
+ if (other.type === 'RSA') {
58
+ return new RSAPeerId(other);
59
+ }
60
+ if (other.type === 'Ed25519') {
61
+ return new Ed25519PeerId(other);
62
+ }
63
+ if (other.type === 'secp256k1') {
64
+ return new Secp256k1PeerId(other);
65
+ }
66
+ throw err;
67
+ }
54
68
  static fromString(str, decoder) {
55
69
  decoder = decoder ?? baseDecoder;
56
70
  if (str.charAt(0) === '1' || str.charAt(0) === 'Q') {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,61 +1,42 @@
1
1
  {
2
2
  "name": "@libp2p/peer-id",
3
- "version": "1.0.2",
3
+ "version": "1.1.1",
4
4
  "description": "IPFS Peer Id implementation in Node.js",
5
+ "license": "Apache-2.0 OR MIT",
6
+ "homepage": "https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/libp2p-peer-id#readme",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/libp2p/js-libp2p-interfaces.git"
10
+ },
11
+ "bugs": {
12
+ "url": "https://github.com/libp2p/js-libp2p-interfaces/issues"
13
+ },
14
+ "keywords": [
15
+ "IPFS"
16
+ ],
17
+ "engines": {
18
+ "node": ">=16.0.0",
19
+ "npm": ">=7.0.0"
20
+ },
5
21
  "type": "module",
6
22
  "types": "./dist/src/index.d.ts",
7
- "exports": {
8
- ".": {
9
- "import": "./dist/src/index.js"
10
- }
11
- },
12
23
  "files": [
13
24
  "src",
14
25
  "dist/src",
26
+ "!dist/test",
15
27
  "!**/*.tsbuildinfo"
16
28
  ],
29
+ "exports": {
30
+ ".": {
31
+ "import": "./dist/src/index.js"
32
+ }
33
+ },
17
34
  "eslintConfig": {
18
35
  "extends": "ipfs",
19
36
  "parserOptions": {
20
37
  "sourceType": "module"
21
38
  }
22
39
  },
23
- "scripts": {
24
- "lint": "aegir lint",
25
- "dep-check": "aegir dep-check dist/src/**/*.js",
26
- "build": "tsc",
27
- "pretest": "npm run build",
28
- "test": "aegir test -f ./dist/test/**/*.js",
29
- "test:chrome": "npm run test -- -t browser",
30
- "test:chrome-webworker": "npm run test -- -t webworker",
31
- "test:firefox": "npm run test -- -t browser -- --browser firefox",
32
- "test:firefox-webworker": "npm run test -- -t webworker -- --browser firefox",
33
- "test:node": "npm run test -- -t node --cov",
34
- "test:electron-main": "npm run test -- -t electron-main"
35
- },
36
- "keywords": [
37
- "IPFS"
38
- ],
39
- "license": "MIT",
40
- "engines": {
41
- "node": ">=15.0.0"
42
- },
43
- "repository": {
44
- "type": "git",
45
- "url": "git+https://github.com/libp2p/js-libp2p-interfaces.git"
46
- },
47
- "bugs": {
48
- "url": "https://github.com/libp2p/js-libp2p-interfaces/issues"
49
- },
50
- "homepage": "https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/libp2p-peer-id#readme",
51
- "devDependencies": {
52
- "aegir": "^36.1.3"
53
- },
54
- "dependencies": {
55
- "@libp2p/interfaces": "^1.0.0",
56
- "multiformats": "^9.4.5",
57
- "uint8arrays": "^3.0.0"
58
- },
59
40
  "release": {
60
41
  "branches": [
61
42
  "master"
@@ -136,5 +117,27 @@
136
117
  "@semantic-release/github",
137
118
  "@semantic-release/git"
138
119
  ]
120
+ },
121
+ "scripts": {
122
+ "lint": "aegir lint",
123
+ "dep-check": "aegir dep-check dist/src/**/*.js dist/test/**/*.js",
124
+ "build": "tsc",
125
+ "pretest": "npm run build",
126
+ "test": "aegir test -f ./dist/test/*.js -f ./dist/test/**/*.js",
127
+ "test:chrome": "npm run test -- -t browser",
128
+ "test:chrome-webworker": "npm run test -- -t webworker",
129
+ "test:firefox": "npm run test -- -t browser -- --browser firefox",
130
+ "test:firefox-webworker": "npm run test -- -t webworker -- --browser firefox",
131
+ "test:node": "npm run test -- -t node --cov",
132
+ "test:electron-main": "npm run test -- -t electron-main"
133
+ },
134
+ "dependencies": {
135
+ "@libp2p/interfaces": "^1.0.0",
136
+ "err-code": "^3.0.1",
137
+ "multiformats": "^9.4.5",
138
+ "uint8arrays": "^3.0.0"
139
+ },
140
+ "devDependencies": {
141
+ "aegir": "^36.1.3"
139
142
  }
140
143
  }
package/src/index.ts CHANGED
@@ -4,9 +4,10 @@ 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'
10
11
 
11
12
  const baseDecoder = Object
12
13
  .values(bases)
@@ -88,6 +89,24 @@ export class PeerId {
88
89
  }
89
90
  }
90
91
 
92
+ static fromPeerId (other: any) {
93
+ const err = errcode(new Error('Not a PeerId'), 'ERR_INVALID_PARAMETERS')
94
+
95
+ if (other.type === 'RSA') {
96
+ return new RSAPeerId(other)
97
+ }
98
+
99
+ if (other.type === 'Ed25519') {
100
+ return new Ed25519PeerId(other)
101
+ }
102
+
103
+ if (other.type === 'secp256k1') {
104
+ return new Secp256k1PeerId(other)
105
+ }
106
+
107
+ throw err
108
+ }
109
+
91
110
  static fromString (str: string, decoder?: MultibaseDecoder<any>) {
92
111
  decoder = decoder ?? baseDecoder
93
112