@libp2p/crypto 0.22.10 → 0.22.13

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.
@@ -6,21 +6,23 @@ import generateEphemeralKeyPair from './ephemeral-keys.js';
6
6
  import * as RSA from './rsa-class.js';
7
7
  import * as Ed25519 from './ed25519-class.js';
8
8
  import * as Secp256k1 from './secp256k1-class.js';
9
+ import type { PrivateKey, PublicKey } from '@libp2p/interfaces/keys';
9
10
  export { keyStretcher };
10
11
  export { generateEphemeralKeyPair };
11
12
  export { keysPBM };
13
+ export declare type KeyTypes = 'RSA' | 'Ed25519' | 'secp256k1';
12
14
  export declare const supportedKeys: {
13
15
  rsa: typeof RSA;
14
16
  ed25519: typeof Ed25519;
15
17
  secp256k1: typeof Secp256k1;
16
18
  };
17
- export declare function generateKeyPair(type: 'RSA' | 'Ed25519' | 'secp256k1', bits?: number): Promise<RSA.RsaPrivateKey | Ed25519.Ed25519PrivateKey | Secp256k1.Secp256k1PrivateKey>;
18
- export declare function generateKeyPairFromSeed(type: 'RSA' | 'Ed25519' | 'secp256k1', seed: Uint8Array, bits?: number): Promise<Ed25519.Ed25519PrivateKey>;
19
- export declare function unmarshalPublicKey(buf: Uint8Array): RSA.RsaPublicKey | Ed25519.Ed25519PublicKey | Secp256k1.Secp256k1PublicKey;
19
+ export declare function generateKeyPair(type: KeyTypes, bits?: number): Promise<PrivateKey>;
20
+ export declare function generateKeyPairFromSeed(type: KeyTypes, seed: Uint8Array, bits?: number): Promise<PrivateKey>;
21
+ export declare function unmarshalPublicKey(buf: Uint8Array): PublicKey;
20
22
  export declare function marshalPublicKey(key: {
21
23
  bytes: Uint8Array;
22
24
  }, type?: string): Uint8Array;
23
- export declare function unmarshalPrivateKey(buf: Uint8Array): Promise<RSA.RsaPrivateKey | Ed25519.Ed25519PrivateKey | Secp256k1.Secp256k1PrivateKey>;
25
+ export declare function unmarshalPrivateKey(buf: Uint8Array): Promise<PrivateKey>;
24
26
  export declare function marshalPrivateKey(key: {
25
27
  bytes: Uint8Array;
26
28
  }, type?: string): Uint8Array;
@@ -29,5 +31,5 @@ export declare function marshalPrivateKey(key: {
29
31
  * @param {string} encryptedKey
30
32
  * @param {string} password
31
33
  */
32
- export declare function importKey(encryptedKey: string, password: string): Promise<RSA.RsaPrivateKey | Ed25519.Ed25519PrivateKey | Secp256k1.Secp256k1PrivateKey>;
34
+ export declare function importKey(encryptedKey: string, password: string): Promise<PrivateKey>;
33
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/keys/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,wBAAwB,CAAA;AAC/B,OAAO,uBAAuB,CAAA;AAK9B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,wBAAwB,MAAM,qBAAqB,CAAA;AAE1D,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,YAAY,EAAE,CAAA;AACvB,OAAO,EAAE,wBAAwB,EAAE,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,CAAA;AAElB,eAAO,MAAM,aAAa;;;;CAIzB,CAAA;AAkBD,wBAAsB,eAAe,CAAE,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,WAAW,EAAE,IAAI,CAAC,EAAE,MAAM,0FAE1F;AAID,wBAAsB,uBAAuB,CAAE,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,sCAMpH;AAID,wBAAgB,kBAAkB,CAAE,GAAG,EAAE,UAAU,8EAclD;AAGD,wBAAgB,gBAAgB,CAAE,GAAG,EAAE;IAAE,KAAK,EAAE,UAAU,CAAA;CAAE,EAAE,IAAI,CAAC,EAAE,MAAM,cAI1E;AAID,wBAAsB,mBAAmB,CAAE,GAAG,EAAE,UAAU,0FAczD;AAGD,wBAAgB,iBAAiB,CAAE,GAAG,EAAE;IAAE,KAAK,EAAE,UAAU,CAAA;CAAE,EAAE,IAAI,CAAC,EAAE,MAAM,cAI3E;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,0FAgBtE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/keys/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,wBAAwB,CAAA;AAC/B,OAAO,uBAAuB,CAAA;AAK9B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,wBAAwB,MAAM,qBAAqB,CAAA;AAE1D,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEpE,OAAO,EAAE,YAAY,EAAE,CAAA;AACvB,OAAO,EAAE,wBAAwB,EAAE,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,CAAA;AAElB,oBAAY,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,WAAW,CAAA;AAEtD,eAAO,MAAM,aAAa;;;;CAIzB,CAAA;AAkBD,wBAAsB,eAAe,CAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAEzF;AAID,wBAAsB,uBAAuB,CAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAMnH;AAID,wBAAgB,kBAAkB,CAAE,GAAG,EAAE,UAAU,GAAG,SAAS,CAc9D;AAGD,wBAAgB,gBAAgB,CAAE,GAAG,EAAE;IAAE,KAAK,EAAE,UAAU,CAAA;CAAE,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAIvF;AAID,wBAAsB,mBAAmB,CAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAc/E;AAGD,wBAAgB,iBAAiB,CAAE,GAAG,EAAE;IAAE,KAAK,EAAE,UAAU,CAAA;CAAE,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAIxF;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAgB5F"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/keys/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/keys/index.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,18 @@
1
+ import type { Codec } from 'protons-runtime';
1
2
  export declare enum KeyType {
2
3
  RSA = "RSA",
3
4
  Ed25519 = "Ed25519",
4
5
  Secp256k1 = "Secp256k1"
5
6
  }
6
7
  export declare namespace KeyType {
7
- const codec: () => import("protons-runtime").Codec<typeof KeyType>;
8
+ const codec: () => Codec<typeof KeyType>;
8
9
  }
9
10
  export interface PublicKey {
10
11
  Type: KeyType;
11
12
  Data: Uint8Array;
12
13
  }
13
14
  export declare namespace PublicKey {
14
- const codec: () => import("protons-runtime").Codec<PublicKey>;
15
+ const codec: () => Codec<PublicKey>;
15
16
  const encode: (obj: PublicKey) => Uint8Array;
16
17
  const decode: (buf: Uint8Array) => PublicKey;
17
18
  }
@@ -20,7 +21,7 @@ export interface PrivateKey {
20
21
  Data: Uint8Array;
21
22
  }
22
23
  export declare namespace PrivateKey {
23
- const codec: () => import("protons-runtime").Codec<PrivateKey>;
24
+ const codec: () => Codec<PrivateKey>;
24
25
  const encode: (obj: PrivateKey) => Uint8Array;
25
26
  const decode: (buf: Uint8Array) => PrivateKey;
26
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/keys/keys.ts"],"names":[],"mappings":"AAKA,oBAAY,OAAO;IACjB,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAED,yBAAiB,OAAO,CAAC;IAChB,MAAM,KAAK,uDAEjB,CAAA;CACF;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,UAAU,CAAA;CACjB;AAED,yBAAiB,SAAS,CAAC;IAClB,MAAM,KAAK,kDAKjB,CAAA;IAEM,MAAM,MAAM,QAAS,SAAS,KAAG,UAEvC,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,KAAG,SAExC,CAAA;CACF;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,UAAU,CAAA;CACjB;AAED,yBAAiB,UAAU,CAAC;IACnB,MAAM,KAAK,mDAKjB,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,KAAG,UAExC,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,KAAG,UAExC,CAAA;CACF"}
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/keys/keys.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAE5C,oBAAY,OAAO;IACjB,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAQD,yBAAiB,OAAO,CAAC;IAChB,MAAM,KAAK,6BAEjB,CAAA;CACF;AACD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,UAAU,CAAA;CACjB;AAED,yBAAiB,SAAS,CAAC;IAClB,MAAM,KAAK,QAAO,MAAM,SAAS,CAKvC,CAAA;IAEM,MAAM,MAAM,QAAS,SAAS,KAAG,UAEvC,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,KAAG,SAExC,CAAA;CACF;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,UAAU,CAAA;CACjB;AAED,yBAAiB,UAAU,CAAC;IACnB,MAAM,KAAK,QAAO,MAAM,UAAU,CAKxC,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,KAAG,UAExC,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,KAAG,UAExC,CAAA;CACF"}
@@ -7,9 +7,15 @@ export var KeyType;
7
7
  KeyType["Ed25519"] = "Ed25519";
8
8
  KeyType["Secp256k1"] = "Secp256k1";
9
9
  })(KeyType || (KeyType = {}));
10
+ var __KeyTypeValues;
11
+ (function (__KeyTypeValues) {
12
+ __KeyTypeValues[__KeyTypeValues["RSA"] = 0] = "RSA";
13
+ __KeyTypeValues[__KeyTypeValues["Ed25519"] = 1] = "Ed25519";
14
+ __KeyTypeValues[__KeyTypeValues["Secp256k1"] = 2] = "Secp256k1";
15
+ })(__KeyTypeValues || (__KeyTypeValues = {}));
10
16
  (function (KeyType) {
11
17
  KeyType.codec = () => {
12
- return enumeration(KeyType);
18
+ return enumeration(__KeyTypeValues);
13
19
  };
14
20
  })(KeyType || (KeyType = {}));
15
21
  export var PublicKey;
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/keys/keys.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,oDAAoD;AAEpD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAE3F,MAAM,CAAN,IAAY,OAIX;AAJD,WAAY,OAAO;IACjB,sBAAW,CAAA;IACX,8BAAmB,CAAA;IACnB,kCAAuB,CAAA;AACzB,CAAC,EAJW,OAAO,KAAP,OAAO,QAIlB;AAED,WAAiB,OAAO;IACT,aAAK,GAAG,GAAG,EAAE;QACxB,OAAO,WAAW,CAAiB,OAAO,CAAC,CAAA;IAC7C,CAAC,CAAA;AACH,CAAC,EAJgB,OAAO,KAAP,OAAO,QAIvB;AAOD,MAAM,KAAW,SAAS,CAezB;AAfD,WAAiB,SAAS;IACX,eAAK,GAAG,GAAG,EAAE;QACxB,OAAO,OAAO,CAAY;YACxB,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE;YAC3C,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;SAClC,CAAC,CAAA;IACJ,CAAC,CAAA;IAEY,gBAAM,GAAG,CAAC,GAAc,EAAc,EAAE;QACnD,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAA;IAC9C,CAAC,CAAA;IAEY,gBAAM,GAAG,CAAC,GAAe,EAAa,EAAE;QACnD,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAA;IAC9C,CAAC,CAAA;AACH,CAAC,EAfgB,SAAS,KAAT,SAAS,QAezB;AAOD,MAAM,KAAW,UAAU,CAe1B;AAfD,WAAiB,UAAU;IACZ,gBAAK,GAAG,GAAG,EAAE;QACxB,OAAO,OAAO,CAAa;YACzB,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE;YAC3C,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;SAClC,CAAC,CAAA;IACJ,CAAC,CAAA;IAEY,iBAAM,GAAG,CAAC,GAAe,EAAc,EAAE;QACpD,OAAO,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAA;IAC/C,CAAC,CAAA;IAEY,iBAAM,GAAG,CAAC,GAAe,EAAc,EAAE;QACpD,OAAO,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAA;IAC/C,CAAC,CAAA;AACH,CAAC,EAfgB,UAAU,KAAV,UAAU,QAe1B"}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/keys/keys.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,oDAAoD;AAEpD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAG3F,MAAM,CAAN,IAAY,OAIX;AAJD,WAAY,OAAO;IACjB,sBAAW,CAAA;IACX,8BAAmB,CAAA;IACnB,kCAAuB,CAAA;AACzB,CAAC,EAJW,OAAO,KAAP,OAAO,QAIlB;AAED,IAAK,eAIJ;AAJD,WAAK,eAAe;IAClB,mDAAO,CAAA;IACP,2DAAW,CAAA;IACX,+DAAa,CAAA;AACf,CAAC,EAJI,eAAe,KAAf,eAAe,QAInB;AAED,WAAiB,OAAO;IACT,aAAK,GAAG,GAAG,EAAE;QACxB,OAAO,WAAW,CAAiB,eAAe,CAAC,CAAA;IACrD,CAAC,CAAA;AACH,CAAC,EAJgB,OAAO,KAAP,OAAO,QAIvB;AAMD,MAAM,KAAW,SAAS,CAezB;AAfD,WAAiB,SAAS;IACX,eAAK,GAAG,GAAqB,EAAE;QAC1C,OAAO,OAAO,CAAY;YACxB,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE;YAC3C,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;SAClC,CAAC,CAAA;IACJ,CAAC,CAAA;IAEY,gBAAM,GAAG,CAAC,GAAc,EAAc,EAAE;QACnD,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAA;IAC9C,CAAC,CAAA;IAEY,gBAAM,GAAG,CAAC,GAAe,EAAa,EAAE;QACnD,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAA;IAC9C,CAAC,CAAA;AACH,CAAC,EAfgB,SAAS,KAAT,SAAS,QAezB;AAOD,MAAM,KAAW,UAAU,CAe1B;AAfD,WAAiB,UAAU;IACZ,gBAAK,GAAG,GAAsB,EAAE;QAC3C,OAAO,OAAO,CAAa;YACzB,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE;YAC3C,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;SAClC,CAAC,CAAA;IACJ,CAAC,CAAA;IAEY,iBAAM,GAAG,CAAC,GAAe,EAAc,EAAE;QACpD,OAAO,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAA;IAC/C,CAAC,CAAA;IAEY,iBAAM,GAAG,CAAC,GAAe,EAAc,EAAE;QACpD,OAAO,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAA;IAC/C,CAAC,CAAA;AACH,CAAC,EAfgB,UAAU,KAAV,UAAU,QAe1B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/crypto",
3
- "version": "0.22.10",
3
+ "version": "0.22.13",
4
4
  "description": "Crypto primitives for libp2p",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p-crypto#readme",
@@ -169,21 +169,22 @@
169
169
  "generate": "protons ./src/keys/keys.proto"
170
170
  },
171
171
  "dependencies": {
172
+ "@libp2p/interfaces": "^1.3.20",
172
173
  "@noble/ed25519": "^1.6.0",
173
174
  "@noble/secp256k1": "^1.5.4",
174
175
  "err-code": "^3.0.1",
175
176
  "iso-random-stream": "^2.0.0",
176
177
  "multiformats": "^9.4.5",
177
178
  "node-forge": "^1.1.0",
178
- "protons-runtime": "^1.0.2",
179
+ "protons-runtime": "^1.0.4",
179
180
  "uint8arrays": "^3.0.0"
180
181
  },
181
182
  "devDependencies": {
182
183
  "@types/mocha": "^9.0.0",
183
184
  "aegir": "^37.0.12",
184
185
  "benchmark": "^2.1.4",
185
- "protons": "^3.0.2",
186
- "sinon": "^13.0.1",
186
+ "protons": "^3.0.4",
187
+ "sinon": "^14.0.0",
187
188
  "util": "^0.12.3",
188
189
  "wherearewe": "^1.0.0"
189
190
  },
package/src/keys/index.ts CHANGED
@@ -11,11 +11,14 @@ import { importer } from './importer.js'
11
11
  import * as RSA from './rsa-class.js'
12
12
  import * as Ed25519 from './ed25519-class.js'
13
13
  import * as Secp256k1 from './secp256k1-class.js'
14
+ import type { PrivateKey, PublicKey } from '@libp2p/interfaces/keys'
14
15
 
15
16
  export { keyStretcher }
16
17
  export { generateEphemeralKeyPair }
17
18
  export { keysPBM }
18
19
 
20
+ export type KeyTypes = 'RSA' | 'Ed25519' | 'secp256k1'
21
+
19
22
  export const supportedKeys = {
20
23
  rsa: RSA,
21
24
  ed25519: Ed25519,
@@ -38,13 +41,13 @@ function typeToKey (type: string) {
38
41
  }
39
42
 
40
43
  // Generates a keypair of the given type and bitsize
41
- export async function generateKeyPair (type: 'RSA' | 'Ed25519' | 'secp256k1', bits?: number) { // eslint-disable-line require-await
44
+ export async function generateKeyPair (type: KeyTypes, bits?: number): Promise<PrivateKey> { // eslint-disable-line require-await
42
45
  return await typeToKey(type).generateKeyPair(bits ?? 2048)
43
46
  }
44
47
 
45
48
  // Generates a keypair of the given type and bitsize
46
49
  // seed is a 32 byte uint8array
47
- export async function generateKeyPairFromSeed (type: 'RSA' | 'Ed25519' | 'secp256k1', seed: Uint8Array, bits?: number) { // eslint-disable-line require-await
50
+ export async function generateKeyPairFromSeed (type: KeyTypes, seed: Uint8Array, bits?: number): Promise<PrivateKey> { // eslint-disable-line require-await
48
51
  if (type.toLowerCase() !== 'ed25519') {
49
52
  throw errcode(new Error('Seed key derivation is unimplemented for RSA or secp256k1'), 'ERR_UNSUPPORTED_KEY_DERIVATION_TYPE')
50
53
  }
@@ -54,7 +57,7 @@ export async function generateKeyPairFromSeed (type: 'RSA' | 'Ed25519' | 'secp25
54
57
 
55
58
  // Converts a protobuf serialized public key into its
56
59
  // representative object
57
- export function unmarshalPublicKey (buf: Uint8Array) {
60
+ export function unmarshalPublicKey (buf: Uint8Array): PublicKey {
58
61
  const decoded = keysPBM.PublicKey.decode(buf)
59
62
  const data = decoded.Data
60
63
 
@@ -71,7 +74,7 @@ export function unmarshalPublicKey (buf: Uint8Array) {
71
74
  }
72
75
 
73
76
  // Converts a public key object into a protobuf serialized public key
74
- export function marshalPublicKey (key: { bytes: Uint8Array }, type?: string) {
77
+ export function marshalPublicKey (key: { bytes: Uint8Array }, type?: string): Uint8Array {
75
78
  type = (type ?? 'rsa').toLowerCase()
76
79
  typeToKey(type) // check type
77
80
  return key.bytes
@@ -79,7 +82,7 @@ export function marshalPublicKey (key: { bytes: Uint8Array }, type?: string) {
79
82
 
80
83
  // Converts a protobuf serialized private key into its
81
84
  // representative object
82
- export async function unmarshalPrivateKey (buf: Uint8Array) { // eslint-disable-line require-await
85
+ export async function unmarshalPrivateKey (buf: Uint8Array): Promise<PrivateKey> { // eslint-disable-line require-await
83
86
  const decoded = keysPBM.PrivateKey.decode(buf)
84
87
  const data = decoded.Data
85
88
 
@@ -96,7 +99,7 @@ export async function unmarshalPrivateKey (buf: Uint8Array) { // eslint-disable-
96
99
  }
97
100
 
98
101
  // Converts a private key object into a protobuf serialized private key
99
- export function marshalPrivateKey (key: { bytes: Uint8Array }, type?: string) {
102
+ export function marshalPrivateKey (key: { bytes: Uint8Array }, type?: string): Uint8Array {
100
103
  type = (type ?? 'rsa').toLowerCase()
101
104
  typeToKey(type) // check type
102
105
  return key.bytes
@@ -107,7 +110,7 @@ export function marshalPrivateKey (key: { bytes: Uint8Array }, type?: string) {
107
110
  * @param {string} encryptedKey
108
111
  * @param {string} password
109
112
  */
110
- export async function importKey (encryptedKey: string, password: string) { // eslint-disable-line require-await
113
+ export async function importKey (encryptedKey: string, password: string): Promise<PrivateKey> { // eslint-disable-line require-await
111
114
  try {
112
115
  const key = await importer(encryptedKey, password)
113
116
  return await unmarshalPrivateKey(key)
package/src/keys/keys.ts CHANGED
@@ -2,6 +2,7 @@
2
2
  /* eslint-disable @typescript-eslint/no-namespace */
3
3
 
4
4
  import { enumeration, encodeMessage, decodeMessage, message, bytes } from 'protons-runtime'
5
+ import type { Codec } from 'protons-runtime'
5
6
 
6
7
  export enum KeyType {
7
8
  RSA = 'RSA',
@@ -9,19 +10,24 @@ export enum KeyType {
9
10
  Secp256k1 = 'Secp256k1'
10
11
  }
11
12
 
13
+ enum __KeyTypeValues {
14
+ RSA = 0,
15
+ Ed25519 = 1,
16
+ Secp256k1 = 2
17
+ }
18
+
12
19
  export namespace KeyType {
13
20
  export const codec = () => {
14
- return enumeration<typeof KeyType>(KeyType)
21
+ return enumeration<typeof KeyType>(__KeyTypeValues)
15
22
  }
16
23
  }
17
-
18
24
  export interface PublicKey {
19
25
  Type: KeyType
20
26
  Data: Uint8Array
21
27
  }
22
28
 
23
29
  export namespace PublicKey {
24
- export const codec = () => {
30
+ export const codec = (): Codec<PublicKey> => {
25
31
  return message<PublicKey>({
26
32
  1: { name: 'Type', codec: KeyType.codec() },
27
33
  2: { name: 'Data', codec: bytes }
@@ -43,7 +49,7 @@ export interface PrivateKey {
43
49
  }
44
50
 
45
51
  export namespace PrivateKey {
46
- export const codec = () => {
52
+ export const codec = (): Codec<PrivateKey> => {
47
53
  return message<PrivateKey>({
48
54
  1: { name: 'Type', codec: KeyType.codec() },
49
55
  2: { name: 'Data', codec: bytes }