@libp2p/peer-id 1.1.16 → 1.1.17
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/README.md +1 -1
- package/dist/src/index.d.ts +3 -24
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +26 -1
- package/dist/src/index.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +35 -5
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
[](https://codecov.io/gh/libp2p/js-libp2p-peer-id)
|
|
7
7
|
[](https://github.com/libp2p/js-libp2p-peer-id/actions/workflows/js-test-and-release.yml)
|
|
8
8
|
|
|
9
|
-
> Implementation of @libp2p/interface-peer-
|
|
9
|
+
> Implementation of @libp2p/interface-peer-id
|
|
10
10
|
|
|
11
11
|
## Table of contents <!-- omit in toc -->
|
|
12
12
|
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,35 +1,14 @@
|
|
|
1
1
|
import { CID } from 'multiformats/cid';
|
|
2
|
-
import {
|
|
2
|
+
import { PeerIdType } from '@libp2p/interface-peer-id';
|
|
3
3
|
import type { MultibaseDecoder } from 'multiformats/bases/interface';
|
|
4
4
|
import type { MultihashDigest } from 'multiformats/hashes/interface';
|
|
5
5
|
import type { PeerId } from '@libp2p/interface-peer-id';
|
|
6
6
|
interface PeerIdInit {
|
|
7
|
-
type:
|
|
7
|
+
type: PeerIdType;
|
|
8
8
|
multihash: MultihashDigest;
|
|
9
9
|
privateKey?: Uint8Array;
|
|
10
10
|
}
|
|
11
|
-
declare
|
|
12
|
-
type: 'RSA' | 'Ed25519' | 'secp256k1';
|
|
13
|
-
readonly multihash: MultihashDigest;
|
|
14
|
-
readonly privateKey?: Uint8Array;
|
|
15
|
-
readonly publicKey?: Uint8Array;
|
|
16
|
-
private string?;
|
|
17
|
-
constructor(init: PeerIdInit);
|
|
18
|
-
get [Symbol.toStringTag](): string;
|
|
19
|
-
get [symbol](): boolean;
|
|
20
|
-
toString(): string;
|
|
21
|
-
toCID(): CID<unknown, 114, number, 1>;
|
|
22
|
-
toBytes(): Uint8Array;
|
|
23
|
-
/**
|
|
24
|
-
* Returns Multiaddr as a JSON encoded object
|
|
25
|
-
*/
|
|
26
|
-
toJSON(): string;
|
|
27
|
-
/**
|
|
28
|
-
* Checks the equality of `this` peer against a given PeerId
|
|
29
|
-
*/
|
|
30
|
-
equals(id: PeerId | Uint8Array | string): boolean;
|
|
31
|
-
}
|
|
32
|
-
export declare function createPeerId(init: PeerIdInit): PeerIdImpl;
|
|
11
|
+
export declare function createPeerId(init: PeerIdInit): PeerId;
|
|
33
12
|
export declare function peerIdFromPeerId(other: any): PeerId;
|
|
34
13
|
export declare function peerIdFromString(str: string, decoder?: MultibaseDecoder<any>): PeerId;
|
|
35
14
|
export declare function peerIdFromBytes(buf: Uint8Array): 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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAQtC,OAAO,EAAiB,UAAU,EAAsC,MAAM,2BAA2B,CAAA;AACzG,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,2BAA2B,CAAA;AAgBvD,UAAU,UAAU;IAClB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,eAAe,CAAA;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB;AAuID,wBAAgB,YAAY,CAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CActD;AAED,wBAAgB,gBAAgB,CAAE,KAAK,EAAE,GAAG,GAAG,MAAM,CAcpD;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
|
@@ -7,6 +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 { symbol } from '@libp2p/interface-peer-id';
|
|
10
|
+
const inspect = Symbol.for('nodejs.util.inspect.custom');
|
|
10
11
|
const baseDecoder = Object
|
|
11
12
|
.values(bases)
|
|
12
13
|
.map(codec => codec.decoder)
|
|
@@ -70,6 +71,21 @@ class PeerIdImpl {
|
|
|
70
71
|
throw new Error('not valid Id');
|
|
71
72
|
}
|
|
72
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Returns PeerId as a human-readable string
|
|
76
|
+
* https://nodejs.org/api/util.html#utilinspectcustom
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```js
|
|
80
|
+
* import { peerIdFromString } from '@libp2p/peer-id'
|
|
81
|
+
*
|
|
82
|
+
* console.info(peerIdFromString('QmFoo'))
|
|
83
|
+
* // 'PeerId(QmFoo)'
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
[inspect]() {
|
|
87
|
+
return `PeerId(${this.toString()})`;
|
|
88
|
+
}
|
|
73
89
|
}
|
|
74
90
|
class RSAPeerIdImpl extends PeerIdImpl {
|
|
75
91
|
constructor(init) {
|
|
@@ -93,7 +109,16 @@ class Secp256k1PeerIdImpl extends PeerIdImpl {
|
|
|
93
109
|
}
|
|
94
110
|
}
|
|
95
111
|
export function createPeerId(init) {
|
|
96
|
-
|
|
112
|
+
if (init.type === 'RSA') {
|
|
113
|
+
return new RSAPeerIdImpl(init);
|
|
114
|
+
}
|
|
115
|
+
if (init.type === 'Ed25519') {
|
|
116
|
+
return new Ed25519PeerIdImpl(init);
|
|
117
|
+
}
|
|
118
|
+
if (init.type === 'secp256k1') {
|
|
119
|
+
return new Secp256k1PeerIdImpl(init);
|
|
120
|
+
}
|
|
121
|
+
throw errcode(new Error('Type must be "RSA", "Ed25519" or "secp256k1"'), 'ERR_INVALID_PARAMETERS');
|
|
97
122
|
}
|
|
98
123
|
export function peerIdFromPeerId(other) {
|
|
99
124
|
if (other.type === 'RSA') {
|
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,
|
|
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.17",
|
|
4
4
|
"description": "Implementation of @libp2p/interface-peer-d",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p-peer-id/tree/master/packages/libp2p-peer-id#readme",
|
package/src/index.ts
CHANGED
|
@@ -6,11 +6,13 @@ import { identity } from 'multiformats/hashes/identity'
|
|
|
6
6
|
import { equals as uint8ArrayEquals } from 'uint8arrays/equals'
|
|
7
7
|
import { sha256 } from 'multiformats/hashes/sha2'
|
|
8
8
|
import errcode from 'err-code'
|
|
9
|
-
import { Ed25519PeerId, RSAPeerId, Secp256k1PeerId, symbol } from '@libp2p/interface-peer-id'
|
|
9
|
+
import { Ed25519PeerId, PeerIdType, RSAPeerId, Secp256k1PeerId, symbol } from '@libp2p/interface-peer-id'
|
|
10
10
|
import type { MultibaseDecoder } from 'multiformats/bases/interface'
|
|
11
11
|
import type { MultihashDigest } from 'multiformats/hashes/interface'
|
|
12
12
|
import type { PeerId } from '@libp2p/interface-peer-id'
|
|
13
13
|
|
|
14
|
+
const inspect = Symbol.for('nodejs.util.inspect.custom')
|
|
15
|
+
|
|
14
16
|
const baseDecoder = Object
|
|
15
17
|
.values(bases)
|
|
16
18
|
.map(codec => codec.decoder)
|
|
@@ -24,7 +26,7 @@ const MARSHALLED_ED225519_PUBLIC_KEY_LENGTH = 36
|
|
|
24
26
|
const MARSHALLED_SECP256K1_PUBLIC_KEY_LENGTH = 37
|
|
25
27
|
|
|
26
28
|
interface PeerIdInit {
|
|
27
|
-
type:
|
|
29
|
+
type: PeerIdType
|
|
28
30
|
multihash: MultihashDigest
|
|
29
31
|
privateKey?: Uint8Array
|
|
30
32
|
}
|
|
@@ -46,7 +48,7 @@ interface Secp256k1PeerIdInit {
|
|
|
46
48
|
}
|
|
47
49
|
|
|
48
50
|
class PeerIdImpl {
|
|
49
|
-
public type:
|
|
51
|
+
public type: PeerIdType
|
|
50
52
|
public readonly multihash: MultihashDigest
|
|
51
53
|
public readonly privateKey?: Uint8Array
|
|
52
54
|
public readonly publicKey?: Uint8Array
|
|
@@ -111,6 +113,22 @@ class PeerIdImpl {
|
|
|
111
113
|
throw new Error('not valid Id')
|
|
112
114
|
}
|
|
113
115
|
}
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Returns PeerId as a human-readable string
|
|
119
|
+
* https://nodejs.org/api/util.html#utilinspectcustom
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```js
|
|
123
|
+
* import { peerIdFromString } from '@libp2p/peer-id'
|
|
124
|
+
*
|
|
125
|
+
* console.info(peerIdFromString('QmFoo'))
|
|
126
|
+
* // 'PeerId(QmFoo)'
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
[inspect] (): string {
|
|
130
|
+
return `PeerId(${this.toString()})`
|
|
131
|
+
}
|
|
114
132
|
}
|
|
115
133
|
|
|
116
134
|
class RSAPeerIdImpl extends PeerIdImpl implements RSAPeerId {
|
|
@@ -146,8 +164,20 @@ class Secp256k1PeerIdImpl extends PeerIdImpl implements Secp256k1PeerId {
|
|
|
146
164
|
}
|
|
147
165
|
}
|
|
148
166
|
|
|
149
|
-
export function createPeerId (init: PeerIdInit) {
|
|
150
|
-
|
|
167
|
+
export function createPeerId (init: PeerIdInit): PeerId {
|
|
168
|
+
if (init.type === 'RSA') {
|
|
169
|
+
return new RSAPeerIdImpl(init)
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
if (init.type === 'Ed25519') {
|
|
173
|
+
return new Ed25519PeerIdImpl(init)
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
if (init.type === 'secp256k1') {
|
|
177
|
+
return new Secp256k1PeerIdImpl(init)
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
throw errcode(new Error('Type must be "RSA", "Ed25519" or "secp256k1"'), 'ERR_INVALID_PARAMETERS')
|
|
151
181
|
}
|
|
152
182
|
|
|
153
183
|
export function peerIdFromPeerId (other: any): PeerId {
|