ox 1.6.3 → 1.7.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.
Files changed (43) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/core/AesGcm.d.ts +67 -2
  3. package/dist/core/AesGcm.d.ts.map +1 -1
  4. package/dist/core/AesGcm.js +79 -10
  5. package/dist/core/AesGcm.js.map +1 -1
  6. package/dist/core/Ed25519.d.ts +83 -2
  7. package/dist/core/Ed25519.d.ts.map +1 -1
  8. package/dist/core/Ed25519.js +79 -4
  9. package/dist/core/Ed25519.js.map +1 -1
  10. package/dist/core/MlDsa44.d.ts +84 -5
  11. package/dist/core/MlDsa44.d.ts.map +1 -1
  12. package/dist/core/MlDsa44.js +79 -4
  13. package/dist/core/MlDsa44.js.map +1 -1
  14. package/dist/core/P256.d.ts +82 -1
  15. package/dist/core/P256.d.ts.map +1 -1
  16. package/dist/core/P256.js +78 -0
  17. package/dist/core/P256.js.map +1 -1
  18. package/dist/core/Secp256k1.d.ts +85 -1
  19. package/dist/core/Secp256k1.d.ts.map +1 -1
  20. package/dist/core/Secp256k1.js +74 -3
  21. package/dist/core/Secp256k1.js.map +1 -1
  22. package/dist/core/internal/keyDerivation.d.ts +13 -0
  23. package/dist/core/internal/keyDerivation.d.ts.map +1 -0
  24. package/dist/core/internal/keyDerivation.js +13 -0
  25. package/dist/core/internal/keyDerivation.js.map +1 -0
  26. package/package.json +1 -1
  27. package/src/core/AesGcm.ts +137 -30
  28. package/src/core/Ed25519.ts +135 -4
  29. package/src/core/MlDsa44.ts +135 -4
  30. package/src/core/P256.ts +135 -1
  31. package/src/core/Secp256k1.ts +134 -3
  32. package/src/core/_test/AesGcm.test-d.ts +19 -0
  33. package/src/core/_test/AesGcm.test.ts +90 -1
  34. package/src/core/_test/Ed25519.test-d.ts +24 -0
  35. package/src/core/_test/Ed25519.test.ts +87 -1
  36. package/src/core/_test/MlDsa44.test-d.ts +24 -0
  37. package/src/core/_test/MlDsa44.test.ts +69 -1
  38. package/src/core/_test/P256.test-d.ts +26 -0
  39. package/src/core/_test/P256.test.ts +98 -1
  40. package/src/core/_test/Secp256k1.test-d.ts +27 -0
  41. package/src/core/_test/Secp256k1.test.ts +112 -1
  42. package/src/core/internal/keyDerivation.ts +34 -0
  43. package/src/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MlDsa44.d.ts","sourceRoot":"","sources":["../../src/core/MlDsa44.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MlDsa44.d.ts","sourceRoot":"","sources":["../../src/core/MlDsa44.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,9 @@ import * as Errors from './Errors.js';
4
4
  import * as Hash from './Hash.js';
5
5
  import * as Hex from './Hex.js';
6
6
  import * as Entropy from './internal/entropy.js';
7
+ import * as keyDerivation from './internal/keyDerivation.js';
7
8
  import * as engine from './internal/mlDsa44.js';
9
+ import * as mnemonic_ from './internal/mnemonic.js';
8
10
  /** Re-export of noble/post-quantum ML-DSA-44 utilities. */
9
11
  export const noble = ml_dsa44;
10
12
  /** Size of an ML-DSA-44 private key (seed) in bytes. */
@@ -44,8 +46,8 @@ export function createKeyPair(options = {}) {
44
46
  * Derives an ML-DSA-44 private key from a 32-byte WebAuthn PRF output.
45
47
  *
46
48
  * The permanent derivation contract uses the PRF output as the HMAC-SHA256
47
- * key. Its message is the UTF-8 bytes of `ox.mldsa44.fromPrf.v1` followed by
48
- * a 32-bit big-endian counter set to zero.
49
+ * key. The HMAC message uses the `ox.mldsa44.fromPrf.v1` domain followed by a
50
+ * 32-bit big-endian counter set to zero.
49
51
  *
50
52
  * @example
51
53
  * ```ts twoslash
@@ -65,7 +67,72 @@ export function fromPrf(value, options = {}) {
65
67
  const bytes = Bytes.from(value);
66
68
  if (bytes.length !== 32)
67
69
  throw new InvalidPrfSizeError({ size: bytes.length });
68
- const privateKey = Hash.hmac256(bytes, Bytes.concat(fromPrfLabel, Bytes.fromNumber(0, { size: 4 })), { as: 'Bytes' });
70
+ const privateKey = Hash.hmac256(bytes, Bytes.concat(fromPrfDomain, Bytes.fromNumber(0, { size: 4 })), { as: 'Bytes' });
71
+ if (as === 'Hex') {
72
+ const value = Hex.fromBytes(privateKey);
73
+ privateKey.fill(0);
74
+ return value;
75
+ }
76
+ return privateKey;
77
+ }
78
+ /**
79
+ * Derives an ML-DSA-44 private key from a BIP-39 mnemonic.
80
+ *
81
+ * This is equivalent to passing `Mnemonic.toSeed(mnemonic, { passphrase })`
82
+ * to {@link ox#MlDsa44.fromSeed}.
83
+ *
84
+ * @example
85
+ * ```ts twoslash
86
+ * import { MlDsa44 } from 'ox'
87
+ *
88
+ * const privateKey = MlDsa44.fromMnemonic(
89
+ * 'test test test test test test test test test test test junk'
90
+ * )
91
+ * ```
92
+ *
93
+ * @param mnemonic - BIP-39 mnemonic phrase.
94
+ * @param options - Options.
95
+ * @returns An ML-DSA-44 private key (32-byte seed).
96
+ */
97
+ export function fromMnemonic(mnemonic, options = {}) {
98
+ const { passphrase } = options;
99
+ const seed = mnemonic_.toSeed(mnemonic, passphrase);
100
+ try {
101
+ return fromSeed(seed, options);
102
+ }
103
+ finally {
104
+ seed.fill(0);
105
+ }
106
+ }
107
+ /**
108
+ * Derives an ML-DSA-44 private key from a seed.
109
+ *
110
+ * The seed must contain at least 32 bytes of cryptographically strong key
111
+ * material. Do not pass a password directly; use a password KDF first.
112
+ *
113
+ * The permanent derivation contract uses the seed as the HMAC-SHA256
114
+ * key. The HMAC message uses the `ox.mldsa44.fromSeed.v1` domain followed by a
115
+ * 32-bit big-endian counter set to zero.
116
+ *
117
+ * @example
118
+ * ```ts twoslash
119
+ * import { MlDsa44 } from 'ox'
120
+ *
121
+ * const privateKey = MlDsa44.fromSeed(
122
+ * '0x000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f'
123
+ * )
124
+ * ```
125
+ *
126
+ * @param seed - Seed containing at least 32 bytes of cryptographically strong key material.
127
+ * @param options - Options.
128
+ * @returns An ML-DSA-44 private key (32-byte seed).
129
+ */
130
+ export function fromSeed(seed, options = {}) {
131
+ const { as = 'Hex' } = options;
132
+ const bytes = Bytes.from(seed);
133
+ if (bytes.length < 32)
134
+ throw new InvalidSeedSizeError({ size: bytes.length });
135
+ const privateKey = keyDerivation.derive(bytes, fromSeedDomain);
69
136
  if (as === 'Hex') {
70
137
  const value = Hex.fromBytes(privateKey);
71
138
  privateKey.fill(0);
@@ -194,6 +261,13 @@ export class InvalidPrfSizeError extends Errors.BaseError {
194
261
  super(`PRF output must be exactly 32 bytes. Received ${options.size} bytes.`);
195
262
  }
196
263
  }
264
+ /** Thrown when a seed contains fewer than 32 bytes. */
265
+ export class InvalidSeedSizeError extends Errors.BaseError {
266
+ name = 'MlDsa44.InvalidSeedSizeError';
267
+ constructor(options) {
268
+ super(`Seed must contain at least 32 bytes. Received ${options.size} bytes.`);
269
+ }
270
+ }
197
271
  function toContextBytes(context) {
198
272
  if (context === undefined)
199
273
  return undefined;
@@ -202,5 +276,6 @@ function toContextBytes(context) {
202
276
  throw new InvalidContextSizeError({ size: bytes.length });
203
277
  return bytes;
204
278
  }
205
- const fromPrfLabel = Bytes.fromString('ox.mldsa44.fromPrf.v1');
279
+ const fromPrfDomain = Bytes.fromString('ox.mldsa44.fromPrf.v1');
280
+ const fromSeedDomain = Bytes.fromString('ox.mldsa44.fromSeed.v1');
206
281
  //# sourceMappingURL=MlDsa44.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MlDsa44.js","sourceRoot":"","sources":["../../src/core/MlDsa44.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MlDsa44.js","sourceRoot":"","sources":["../../src/core/MlDsa44.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import * as Bytes from './Bytes.js';
2
- import type * as Errors from './Errors.js';
2
+ import * as Errors from './Errors.js';
3
3
  import * as Hex from './Hex.js';
4
+ import * as keyDerivation from './internal/keyDerivation.js';
4
5
  import * as PublicKey from './PublicKey.js';
5
6
  import type * as Signature from './Signature.js';
6
7
  /** Re-export of noble/curves P256 utilities. */
@@ -33,6 +34,74 @@ export declare namespace createKeyPair {
33
34
  };
34
35
  type ErrorType = Hex.fromBytes.ErrorType | PublicKey.from.ErrorType | Errors.GlobalErrorType;
35
36
  }
37
+ /**
38
+ * Derives a valid P256 private key from a BIP-39 mnemonic.
39
+ *
40
+ * This is equivalent to passing `Mnemonic.toSeed(mnemonic, { passphrase })`
41
+ * to {@link ox#P256.fromSeed}.
42
+ *
43
+ * @example
44
+ * ```ts twoslash
45
+ * import { P256 } from 'ox'
46
+ *
47
+ * const privateKey = P256.fromMnemonic(
48
+ * 'test test test test test test test test test test test junk'
49
+ * )
50
+ * ```
51
+ *
52
+ * @param mnemonic - BIP-39 mnemonic phrase.
53
+ * @param options - Options.
54
+ * @returns A valid P256 private key.
55
+ */
56
+ export declare function fromMnemonic<as extends 'Hex' | 'Bytes' = 'Hex'>(mnemonic: string, options?: fromMnemonic.Options<as>): fromMnemonic.ReturnType<as>;
57
+ export declare namespace fromMnemonic {
58
+ type Options<as extends 'Hex' | 'Bytes' = 'Hex'> = {
59
+ /**
60
+ * Format of the returned private key.
61
+ * @default 'Hex'
62
+ */
63
+ as?: as | 'Hex' | 'Bytes' | undefined;
64
+ /** Optional BIP-39 passphrase. */
65
+ passphrase?: string | undefined;
66
+ };
67
+ type ReturnType<as extends 'Hex' | 'Bytes'> = fromSeed.ReturnType<as>;
68
+ type ErrorType = fromSeed.ErrorType;
69
+ }
70
+ /**
71
+ * Derives a valid P256 private key from a seed.
72
+ *
73
+ * The seed must contain at least 32 bytes of cryptographically strong key
74
+ * material. Do not pass a password directly; use a password KDF first.
75
+ *
76
+ * The permanent derivation contract uses the seed as the HMAC-SHA256
77
+ * key. The HMAC message uses the `ox.p256.fromSeed.v1` domain followed by a
78
+ * 32-bit big-endian counter starting at zero. Invalid scalars are skipped.
79
+ *
80
+ * @example
81
+ * ```ts twoslash
82
+ * import { P256 } from 'ox'
83
+ *
84
+ * const privateKey = P256.fromSeed(
85
+ * '0x000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f'
86
+ * )
87
+ * ```
88
+ *
89
+ * @param seed - Seed containing at least 32 bytes of cryptographically strong key material.
90
+ * @param options - Options.
91
+ * @returns A valid P256 private key.
92
+ */
93
+ export declare function fromSeed<as extends 'Hex' | 'Bytes' = 'Hex'>(seed: Hex.Hex | Bytes.Bytes, options?: fromSeed.Options<as>): fromSeed.ReturnType<as>;
94
+ export declare namespace fromSeed {
95
+ type Options<as extends 'Hex' | 'Bytes' = 'Hex'> = {
96
+ /**
97
+ * Format of the returned private key.
98
+ * @default 'Hex'
99
+ */
100
+ as?: as | 'Hex' | 'Bytes' | undefined;
101
+ };
102
+ type ReturnType<as extends 'Hex' | 'Bytes'> = (as extends 'Bytes' ? Bytes.Bytes : never) | (as extends 'Hex' ? Hex.Hex : never);
103
+ type ErrorType = Bytes.from.ErrorType | Hex.fromBytes.ErrorType | keyDerivation.derive.ErrorType | InvalidSeedSizeError | Errors.GlobalErrorType;
104
+ }
36
105
  /**
37
106
  * Computes the P256 ECDSA public key from a provided private key.
38
107
  *
@@ -268,4 +337,16 @@ export declare namespace verify {
268
337
  };
269
338
  type ErrorType = Errors.GlobalErrorType;
270
339
  }
340
+ /** Thrown when a seed contains fewer than 32 bytes. */
341
+ export declare class InvalidSeedSizeError extends Errors.BaseError {
342
+ readonly name = "P256.InvalidSeedSizeError";
343
+ constructor(options: InvalidSeedSizeError.Options);
344
+ }
345
+ export declare namespace InvalidSeedSizeError {
346
+ /** Options for {@link ox#P256.InvalidSeedSizeError}. */
347
+ type Options = {
348
+ /** Received seed size. */
349
+ size: number;
350
+ };
351
+ }
271
352
  //# sourceMappingURL=P256.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"P256.d.ts","sourceRoot":"","sources":["../../src/core/P256.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"P256.d.ts","sourceRoot":"","sources":["../../src/core/P256.ts"],"names":[],"mappings":"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"}
package/dist/core/P256.js CHANGED
@@ -1,7 +1,10 @@
1
1
  import { p256 as noble_p256 } from '@noble/curves/nist.js';
2
2
  import * as Bytes from './Bytes.js';
3
+ import * as Errors from './Errors.js';
3
4
  import * as Hex from './Hex.js';
4
5
  import { formatPublicKey, formatSignature, normalizePublicKey, normalizeSignature, } from './internal/cryptoIo.js';
6
+ import * as keyDerivation from './internal/keyDerivation.js';
7
+ import * as mnemonic_ from './internal/mnemonic.js';
5
8
  import * as engine from './internal/p256.js';
6
9
  import * as Entropy from './internal/entropy.js';
7
10
  import { fromRecoveredBytes, toCompactBytes, toRecoveredBytes, } from './internal/signature.js';
@@ -30,6 +33,73 @@ export function createKeyPair(options = {}) {
30
33
  publicKey,
31
34
  };
32
35
  }
36
+ /**
37
+ * Derives a valid P256 private key from a BIP-39 mnemonic.
38
+ *
39
+ * This is equivalent to passing `Mnemonic.toSeed(mnemonic, { passphrase })`
40
+ * to {@link ox#P256.fromSeed}.
41
+ *
42
+ * @example
43
+ * ```ts twoslash
44
+ * import { P256 } from 'ox'
45
+ *
46
+ * const privateKey = P256.fromMnemonic(
47
+ * 'test test test test test test test test test test test junk'
48
+ * )
49
+ * ```
50
+ *
51
+ * @param mnemonic - BIP-39 mnemonic phrase.
52
+ * @param options - Options.
53
+ * @returns A valid P256 private key.
54
+ */
55
+ export function fromMnemonic(mnemonic, options = {}) {
56
+ const { passphrase } = options;
57
+ const seed = mnemonic_.toSeed(mnemonic, passphrase);
58
+ try {
59
+ return fromSeed(seed, options);
60
+ }
61
+ finally {
62
+ seed.fill(0);
63
+ }
64
+ }
65
+ /**
66
+ * Derives a valid P256 private key from a seed.
67
+ *
68
+ * The seed must contain at least 32 bytes of cryptographically strong key
69
+ * material. Do not pass a password directly; use a password KDF first.
70
+ *
71
+ * The permanent derivation contract uses the seed as the HMAC-SHA256
72
+ * key. The HMAC message uses the `ox.p256.fromSeed.v1` domain followed by a
73
+ * 32-bit big-endian counter starting at zero. Invalid scalars are skipped.
74
+ *
75
+ * @example
76
+ * ```ts twoslash
77
+ * import { P256 } from 'ox'
78
+ *
79
+ * const privateKey = P256.fromSeed(
80
+ * '0x000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f'
81
+ * )
82
+ * ```
83
+ *
84
+ * @param seed - Seed containing at least 32 bytes of cryptographically strong key material.
85
+ * @param options - Options.
86
+ * @returns A valid P256 private key.
87
+ */
88
+ export function fromSeed(seed, options = {}) {
89
+ const { as = 'Hex' } = options;
90
+ const bytes = Bytes.from(seed);
91
+ if (bytes.length < 32)
92
+ throw new InvalidSeedSizeError({ size: bytes.length });
93
+ const privateKey = keyDerivation.derive(bytes, fromSeedDomain, {
94
+ validate: noble.utils.isValidSecretKey,
95
+ });
96
+ if (as === 'Hex') {
97
+ const value = Hex.fromBytes(privateKey);
98
+ privateKey.fill(0);
99
+ return value;
100
+ }
101
+ return privateKey;
102
+ }
33
103
  /**
34
104
  * Computes the P256 ECDSA public key from a provided private key.
35
105
  *
@@ -181,4 +251,12 @@ export function verify(options) {
181
251
  const { hash, payload, publicKey, signature } = options;
182
252
  return engine.verify(toCompactBytes(normalizeSignature(signature)), Bytes.from(payload), PublicKey.toBytes(normalizePublicKey(publicKey)), { prehash: hash === true });
183
253
  }
254
+ /** Thrown when a seed contains fewer than 32 bytes. */
255
+ export class InvalidSeedSizeError extends Errors.BaseError {
256
+ name = 'P256.InvalidSeedSizeError';
257
+ constructor(options) {
258
+ super(`Seed must contain at least 32 bytes. Received ${options.size} bytes.`);
259
+ }
260
+ }
261
+ const fromSeedDomain = Bytes.fromString('ox.p256.fromSeed.v1');
184
262
  //# sourceMappingURL=P256.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"P256.js","sourceRoot":"","sources":["../../src/core/P256.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"P256.js","sourceRoot":"","sources":["../../src/core/P256.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,9 @@ import * as Bytes from './Bytes.js';
3
3
  import * as Errors from './Errors.js';
4
4
  import * as Hash from './Hash.js';
5
5
  import * as Hex from './Hex.js';
6
+ import * as keyDerivation from './internal/keyDerivation.js';
6
7
  import type { OneOf } from './internal/types.js';
8
+ import * as Mnemonic from './Mnemonic.js';
7
9
  import * as PublicKey from './PublicKey.js';
8
10
  import type * as Signature from './Signature.js';
9
11
  /** Re-export of noble/curves secp256k1 utilities. */
@@ -40,7 +42,7 @@ export declare namespace createKeyPair {
40
42
  * Derives a valid secp256k1 private key from a 32-byte WebAuthn PRF output.
41
43
  *
42
44
  * The permanent derivation contract uses the PRF output as the HMAC-SHA256
43
- * key. Its message is the UTF-8 bytes of `ox.secp256k1.fromPrf.v1` followed by
45
+ * key. The HMAC message uses the `ox.secp256k1.fromPrf.v1` domain followed by
44
46
  * a 32-bit big-endian counter starting at zero. Invalid scalars are skipped.
45
47
  *
46
48
  * @example
@@ -68,6 +70,76 @@ export declare namespace fromPrf {
68
70
  type ReturnType<as extends 'Hex' | 'Bytes'> = (as extends 'Bytes' ? Bytes.Bytes : never) | (as extends 'Hex' ? Hex.Hex : never);
69
71
  type ErrorType = Bytes.concat.ErrorType | Bytes.from.ErrorType | Bytes.fromNumber.ErrorType | Hash.hmac256.ErrorType | Hex.fromBytes.ErrorType | InvalidPrfSizeError | Errors.GlobalErrorType;
70
72
  }
73
+ /**
74
+ * Derives a valid secp256k1 private key from a BIP-39 mnemonic.
75
+ *
76
+ * This is equivalent to {@link ox#Mnemonic.toPrivateKey}, and derives the
77
+ * private key at `m/44'/60'/0'/0/0` by default.
78
+ *
79
+ * @example
80
+ * ```ts twoslash
81
+ * import { Secp256k1 } from 'ox'
82
+ *
83
+ * const privateKey = Secp256k1.fromMnemonic(
84
+ * 'test test test test test test test test test test test junk'
85
+ * )
86
+ * ```
87
+ *
88
+ * @param mnemonic - BIP-39 mnemonic phrase.
89
+ * @param options - Options.
90
+ * @returns A valid secp256k1 private key.
91
+ */
92
+ export declare function fromMnemonic<as extends 'Hex' | 'Bytes' = 'Hex'>(mnemonic: string, options?: fromMnemonic.Options<as>): fromMnemonic.ReturnType<as>;
93
+ export declare namespace fromMnemonic {
94
+ type Options<as extends 'Hex' | 'Bytes' = 'Hex'> = {
95
+ /**
96
+ * Format of the returned private key.
97
+ * @default 'Hex'
98
+ */
99
+ as?: as | 'Hex' | 'Bytes' | undefined;
100
+ /** Derivation path. @default `m/44'/60'/0'/0/0` */
101
+ path?: string | undefined;
102
+ /** Optional BIP-39 passphrase. */
103
+ passphrase?: string | undefined;
104
+ };
105
+ type ReturnType<as extends 'Hex' | 'Bytes'> = Mnemonic.toPrivateKey.ReturnType<as>;
106
+ type ErrorType = Mnemonic.toPrivateKey.ErrorType;
107
+ }
108
+ /**
109
+ * Derives a valid secp256k1 private key from a seed.
110
+ *
111
+ * The seed must contain at least 32 bytes of cryptographically strong key
112
+ * material. Do not pass a password directly; use a password KDF first.
113
+ *
114
+ * The permanent derivation contract uses the seed as the HMAC-SHA256
115
+ * key. The HMAC message uses the `ox.secp256k1.fromSeed.v1` domain followed by
116
+ * a 32-bit big-endian counter starting at zero. Invalid scalars are skipped.
117
+ *
118
+ * @example
119
+ * ```ts twoslash
120
+ * import { Secp256k1 } from 'ox'
121
+ *
122
+ * const privateKey = Secp256k1.fromSeed(
123
+ * '0x000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f'
124
+ * )
125
+ * ```
126
+ *
127
+ * @param seed - Seed containing at least 32 bytes of cryptographically strong key material.
128
+ * @param options - Options.
129
+ * @returns A valid secp256k1 private key.
130
+ */
131
+ export declare function fromSeed<as extends 'Hex' | 'Bytes' = 'Hex'>(seed: Hex.Hex | Bytes.Bytes, options?: fromSeed.Options<as>): fromSeed.ReturnType<as>;
132
+ export declare namespace fromSeed {
133
+ type Options<as extends 'Hex' | 'Bytes' = 'Hex'> = {
134
+ /**
135
+ * Format of the returned private key.
136
+ * @default 'Hex'
137
+ */
138
+ as?: as | 'Hex' | 'Bytes' | undefined;
139
+ };
140
+ type ReturnType<as extends 'Hex' | 'Bytes'> = (as extends 'Bytes' ? Bytes.Bytes : never) | (as extends 'Hex' ? Hex.Hex : never);
141
+ type ErrorType = Bytes.from.ErrorType | Hex.fromBytes.ErrorType | keyDerivation.derive.ErrorType | InvalidSeedSizeError | Errors.GlobalErrorType;
142
+ }
71
143
  /**
72
144
  * Computes the secp256k1 ECDSA public key from a provided private key.
73
145
  *
@@ -388,4 +460,16 @@ export declare namespace InvalidPrfSizeError {
388
460
  size: number;
389
461
  };
390
462
  }
463
+ /** Thrown when a seed contains fewer than 32 bytes. */
464
+ export declare class InvalidSeedSizeError extends Errors.BaseError {
465
+ readonly name = "Secp256k1.InvalidSeedSizeError";
466
+ constructor(options: InvalidSeedSizeError.Options);
467
+ }
468
+ export declare namespace InvalidSeedSizeError {
469
+ /** Options for {@link ox#Secp256k1.InvalidSeedSizeError}. */
470
+ type Options = {
471
+ /** Received seed size. */
472
+ size: number;
473
+ };
474
+ }
391
475
  //# sourceMappingURL=Secp256k1.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Secp256k1.d.ts","sourceRoot":"","sources":["../../src/core/Secp256k1.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Secp256k1.d.ts","sourceRoot":"","sources":["../../src/core/Secp256k1.ts"],"names":[],"mappings":"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"}