@activeledger/sdk-web 2.2.0 → 2.4.0
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/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/interfaces.d.ts +1 -0
- package/lib/interfaces.d.ts.map +1 -1
- package/lib/key.d.ts +0 -2
- package/lib/key.d.ts.map +1 -1
- package/lib/key.js +6 -14
- package/lib/key.js.map +1 -1
- package/lib/recovery.d.ts +11 -0
- package/lib/recovery.d.ts.map +1 -0
- package/lib/recovery.js +56 -0
- package/lib/recovery.js.map +1 -0
- package/package.json +2 -2
package/lib/index.d.ts
CHANGED
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAuBA,cAAc,wBAAwB,CAAC;AAKvC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAuBA,cAAc,wBAAwB,CAAC;AAKvC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC"}
|
package/lib/index.js
CHANGED
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAuBA,cAAc,wBAAwB,CAAC;AAKvC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAuBA,cAAc,wBAAwB,CAAC;AAKvC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC"}
|
package/lib/interfaces.d.ts
CHANGED
package/lib/interfaces.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAKvD,MAAM,WAAW,YAAa,SAAQ,IAAI;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,UAAU,CAAC,EAAE,MAAM,CAAC;IAQpB,MAAM,CAAC,EAAE,OAAO,CAAC;IAUjB,IAAI,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAKvD,MAAM,WAAW,YAAa,SAAQ,IAAI;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,UAAU,CAAC,EAAE,MAAM,CAAC;IAQpB,MAAM,CAAC,EAAE,OAAO,CAAC;IAUjB,IAAI,CAAC,EAAE,OAAO,CAAC;IAYf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
|
package/lib/key.d.ts
CHANGED
|
@@ -5,7 +5,5 @@ export declare class KeyHandler extends CoreKeyHandler {
|
|
|
5
5
|
constructor();
|
|
6
6
|
generateBIP39Key(keyName: string, options?: IBIP39Options): Promise<IKeyExtended>;
|
|
7
7
|
restoreBIP39Key(keyName: string, phrase: string, options?: IBIP39Options): Promise<IKeyExtended>;
|
|
8
|
-
private deriveSeed;
|
|
9
|
-
private deriveBIP32MasterKey;
|
|
10
8
|
}
|
|
11
9
|
//# sourceMappingURL=key.d.ts.map
|
package/lib/key.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../src/key.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAE,UAAU,IAAI,cAAc,EAAW,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../src/key.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAE,UAAU,IAAI,cAAc,EAAW,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAY9D,qBAAa,UAAW,SAAQ,cAAc;IAE5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;;IAgBtC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IA4BjF,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;CAiD5G"}
|
package/lib/key.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { generateMnemonic, mnemonicToSeedSync } from "@scure/bip39";
|
|
2
2
|
import { wordlist } from "@scure/bip39/wordlists/english.js";
|
|
3
|
-
import {
|
|
4
|
-
import { hkdf } from "@noble/hashes/hkdf.js";
|
|
5
|
-
import { sha256, sha512 } from "@noble/hashes/sha2.js";
|
|
3
|
+
import { sha256 } from "@noble/hashes/sha2.js";
|
|
6
4
|
import { KeyHandler as CoreKeyHandler, KeyType } from "@activeledger/sdk-core";
|
|
7
5
|
import { WebCryptoProvider } from "./crypto.js";
|
|
6
|
+
import { deriveSeed, validate } from "./recovery.js";
|
|
8
7
|
const textEncoder = new TextEncoder();
|
|
9
8
|
export class KeyHandler extends CoreKeyHandler {
|
|
10
9
|
constructor() {
|
|
@@ -22,9 +21,12 @@ export class KeyHandler extends CoreKeyHandler {
|
|
|
22
21
|
if (options.legacy && type !== KeyType.EllipticCurve) {
|
|
23
22
|
return reject(new Error(`The legacy BIP-39 scheme is secp256k1 only - it cannot derive ${type}`));
|
|
24
23
|
}
|
|
24
|
+
if (!options.legacy && options.validate !== false) {
|
|
25
|
+
validate(phrase);
|
|
26
|
+
}
|
|
25
27
|
const seed = options.legacy
|
|
26
28
|
? sha256(textEncoder.encode(phrase))
|
|
27
|
-
:
|
|
29
|
+
: deriveSeed(type, mnemonicToSeedSync(phrase, options.passphrase || ""));
|
|
28
30
|
const keyHolder = {
|
|
29
31
|
key: this.provider.generateFromSeed(seed, options.compressed, type),
|
|
30
32
|
name: keyName,
|
|
@@ -38,15 +40,5 @@ export class KeyHandler extends CoreKeyHandler {
|
|
|
38
40
|
}
|
|
39
41
|
});
|
|
40
42
|
}
|
|
41
|
-
deriveSeed(type, bip39Seed) {
|
|
42
|
-
if (type === KeyType.EllipticCurve) {
|
|
43
|
-
return this.deriveBIP32MasterKey(bip39Seed);
|
|
44
|
-
}
|
|
45
|
-
const length = type === KeyType.Falcon512 ? 48 : 32;
|
|
46
|
-
return hkdf(sha512, bip39Seed, new Uint8Array(0), textEncoder.encode(`activeledger-seed-v1:${type}`), length);
|
|
47
|
-
}
|
|
48
|
-
deriveBIP32MasterKey(seed) {
|
|
49
|
-
return hmac(sha512, textEncoder.encode("Bitcoin seed"), seed).subarray(0, 32);
|
|
50
|
-
}
|
|
51
43
|
}
|
|
52
44
|
//# sourceMappingURL=key.js.map
|
package/lib/key.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key.js","sourceRoot":"","sources":["../src/key.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"key.js","sourceRoot":"","sources":["../src/key.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAG7D,OAAO,EAAE,MAAM,EAAU,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE/E,OAAO,EAAkB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAQtC,MAAM,OAAO,UAAW,SAAQ,cAAc;IAI5C;QACE,MAAM,QAAQ,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACzC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAUM,gBAAgB,CAAC,OAAe,EAAE,OAAuB;QAC9D,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;IA0BM,eAAe,CAAC,OAAe,EAAE,MAAc,EAAE,UAAyB,EAAE;QACjF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC;gBAEnD,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC;oBAKrD,OAAO,MAAM,CACX,IAAI,KAAK,CAAC,iEAAiE,IAAI,EAAE,CAAC,CACnF,CAAC;gBACJ,CAAC;gBAaD,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;oBAClD,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACnB,CAAC;gBAED,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM;oBACzB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACpC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;gBAE3E,MAAM,SAAS,GAAiB;oBAC9B,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC;oBACnE,IAAI,EAAE,OAAO;oBACb,IAAI;oBACJ,MAAM;iBACP,CAAC;gBAEF,OAAO,CAAC,SAAS,CAAC,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CAGF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { KeyType } from "@activeledger/sdk-core";
|
|
2
|
+
export declare const BIP39_SEED_BYTES = 64;
|
|
3
|
+
export declare const SEED_SIZES: Readonly<Record<string, number>>;
|
|
4
|
+
export declare function seedSize(type: KeyType): number;
|
|
5
|
+
export declare function validate(phrase: string): string;
|
|
6
|
+
export declare function toSeed(phrase: string, passphrase?: string, options?: {
|
|
7
|
+
validate?: boolean;
|
|
8
|
+
}): Uint8Array;
|
|
9
|
+
export declare function deriveSeed(type: KeyType, bip39Seed: Uint8Array): Uint8Array;
|
|
10
|
+
export declare function deriveBIP32MasterKey(bip39Seed: Uint8Array): Uint8Array;
|
|
11
|
+
//# sourceMappingURL=recovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../src/recovery.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAgCjD,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAQnC,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAItD,CAAC;AAGH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAM9C;AAkBD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CA2B/C;AASD,wBAAgB,MAAM,CACpB,MAAM,EAAE,MAAM,EACd,UAAU,SAAK,EACf,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GACnC,UAAU,CAGZ;AAQD,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,GAAG,UAAU,CAoB3E;AAYD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,UAAU,GAAG,UAAU,CAEtE"}
|
package/lib/recovery.js
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { hmac } from "@noble/hashes/hmac.js";
|
|
2
|
+
import { hkdf } from "@noble/hashes/hkdf.js";
|
|
3
|
+
import { sha512 } from "@noble/hashes/sha2.js";
|
|
4
|
+
import { mnemonicToSeedSync, validateMnemonic } from "@scure/bip39";
|
|
5
|
+
import { wordlist } from "@scure/bip39/wordlists/english.js";
|
|
6
|
+
import { KeyType } from "@activeledger/sdk-core";
|
|
7
|
+
const textEncoder = new TextEncoder();
|
|
8
|
+
export const BIP39_SEED_BYTES = 64;
|
|
9
|
+
export const SEED_SIZES = Object.freeze({
|
|
10
|
+
[KeyType.EllipticCurve]: 32,
|
|
11
|
+
[KeyType.MLDSA65]: 32,
|
|
12
|
+
[KeyType.Falcon512]: 48,
|
|
13
|
+
});
|
|
14
|
+
export function seedSize(type) {
|
|
15
|
+
const size = SEED_SIZES[type];
|
|
16
|
+
if (!size) {
|
|
17
|
+
throw new Error(`${type} keys cannot be derived from a seed`);
|
|
18
|
+
}
|
|
19
|
+
return size;
|
|
20
|
+
}
|
|
21
|
+
export function validate(phrase) {
|
|
22
|
+
const words = phrase.normalize("NFKD").split(/\s+/).filter(Boolean);
|
|
23
|
+
if (words.length < 12 || words.length > 24 || words.length % 3 !== 0) {
|
|
24
|
+
throw new Error(`a BIP-39 phrase is 12, 15, 18, 21 or 24 words, got ${words.length}`);
|
|
25
|
+
}
|
|
26
|
+
words.forEach((word, index) => {
|
|
27
|
+
if (!wordlist.includes(word)) {
|
|
28
|
+
throw new Error(`word ${index + 1} ("${word}") is not in the BIP-39 English wordlist`);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
const normalised = words.join(" ");
|
|
32
|
+
if (!validateMnemonic(normalised, wordlist)) {
|
|
33
|
+
throw new Error("the BIP-39 checksum does not match - the phrase has a typo or the words are in the " +
|
|
34
|
+
"wrong order. Deriving from it anyway would produce a valid key for an identity " +
|
|
35
|
+
"nobody owns. If you meant to derive from a non-mnemonic string, pass " +
|
|
36
|
+
"{ validate: false }.");
|
|
37
|
+
}
|
|
38
|
+
return normalised;
|
|
39
|
+
}
|
|
40
|
+
export function toSeed(phrase, passphrase = "", options = {}) {
|
|
41
|
+
const checked = options.validate === false ? phrase : validate(phrase);
|
|
42
|
+
return mnemonicToSeedSync(checked, passphrase);
|
|
43
|
+
}
|
|
44
|
+
export function deriveSeed(type, bip39Seed) {
|
|
45
|
+
if (bip39Seed.length !== BIP39_SEED_BYTES) {
|
|
46
|
+
throw new Error(`a BIP-39 seed is ${BIP39_SEED_BYTES} bytes, got ${bip39Seed.length}`);
|
|
47
|
+
}
|
|
48
|
+
if (type === KeyType.EllipticCurve) {
|
|
49
|
+
return deriveBIP32MasterKey(bip39Seed);
|
|
50
|
+
}
|
|
51
|
+
return hkdf(sha512, bip39Seed, new Uint8Array(0), textEncoder.encode(`activeledger-seed-v1:${type}`), seedSize(type));
|
|
52
|
+
}
|
|
53
|
+
export function deriveBIP32MasterKey(bip39Seed) {
|
|
54
|
+
return hmac(sha512, textEncoder.encode("Bitcoin seed"), bip39Seed).subarray(0, 32);
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=recovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recovery.js","sourceRoot":"","sources":["../src/recovery.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@activeledger/sdk-web",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.0",
|
|
4
4
|
"description": "Activeledger SDK for browsers and React Native - secp256k1 signing via @noble/curves (audited, pure JS, no native/WebCrypto dependency)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"lib"
|
|
38
38
|
],
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@activeledger/sdk-core": "2.
|
|
40
|
+
"@activeledger/sdk-core": "2.4.0",
|
|
41
41
|
"@noble/curves": "^2.4.0",
|
|
42
42
|
"@noble/hashes": "^2.4.0",
|
|
43
43
|
"@noble/post-quantum": "^0.7.1",
|