ox 1.4.0 → 1.6.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 (74) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/core/Engine.d.ts +1 -1
  3. package/dist/core/Engine.d.ts.map +1 -1
  4. package/dist/core/Engine.js.map +1 -1
  5. package/dist/core/MlDsa44.d.ts +389 -0
  6. package/dist/core/MlDsa44.d.ts.map +1 -0
  7. package/dist/core/MlDsa44.js +206 -0
  8. package/dist/core/MlDsa44.js.map +1 -0
  9. package/dist/core/internal/engine.d.ts +35 -1
  10. package/dist/core/internal/engine.d.ts.map +1 -1
  11. package/dist/core/internal/engine.js +2 -0
  12. package/dist/core/internal/engine.js.map +1 -1
  13. package/dist/core/internal/mlDsa44.d.ts +10 -0
  14. package/dist/core/internal/mlDsa44.d.ts.map +1 -0
  15. package/dist/core/internal/mlDsa44.js +41 -0
  16. package/dist/core/internal/mlDsa44.js.map +1 -0
  17. package/dist/index.d.ts +39 -0
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +39 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/tempo/WithdrawalSenderTag.d.ts +36 -0
  22. package/dist/tempo/WithdrawalSenderTag.d.ts.map +1 -0
  23. package/dist/tempo/WithdrawalSenderTag.js +31 -0
  24. package/dist/tempo/WithdrawalSenderTag.js.map +1 -0
  25. package/dist/tempo/index.d.ts +23 -0
  26. package/dist/tempo/index.d.ts.map +1 -1
  27. package/dist/tempo/index.js +23 -0
  28. package/dist/tempo/index.js.map +1 -1
  29. package/dist/wasm/Engine.d.ts +5 -1
  30. package/dist/wasm/Engine.d.ts.map +1 -1
  31. package/dist/wasm/Engine.js +9 -1
  32. package/dist/wasm/Engine.js.map +1 -1
  33. package/dist/wasm/MlDsa44.d.ts +55 -0
  34. package/dist/wasm/MlDsa44.d.ts.map +1 -0
  35. package/dist/wasm/MlDsa44.js +143 -0
  36. package/dist/wasm/MlDsa44.js.map +1 -0
  37. package/dist/wasm/index.d.ts +23 -2
  38. package/dist/wasm/index.d.ts.map +1 -1
  39. package/dist/wasm/index.js +23 -2
  40. package/dist/wasm/index.js.map +1 -1
  41. package/dist/wasm/internal/mldsa44.d.ts +12 -0
  42. package/dist/wasm/internal/mldsa44.d.ts.map +1 -0
  43. package/dist/wasm/internal/mldsa44.js +5 -0
  44. package/dist/wasm/internal/mldsa44.js.map +1 -0
  45. package/dist/wasm/internal/mldsa44.wasm.d.ts +3 -0
  46. package/dist/wasm/internal/mldsa44.wasm.d.ts.map +1 -0
  47. package/dist/wasm/internal/mldsa44.wasm.js +10 -0
  48. package/dist/wasm/internal/mldsa44.wasm.js.map +1 -0
  49. package/dist/zod/TypedData.d.ts +2 -2
  50. package/package.json +19 -2
  51. package/src/core/Engine.ts +1 -0
  52. package/src/core/MlDsa44.ts +415 -0
  53. package/src/core/_test/Engine.test.ts +2 -2
  54. package/src/core/_test/MlDsa44.test-d.ts +56 -0
  55. package/src/core/_test/MlDsa44.test.ts +393 -0
  56. package/src/core/_test/index.test.ts +1 -0
  57. package/src/core/internal/engine.ts +49 -0
  58. package/src/core/internal/mlDsa44.ts +74 -0
  59. package/src/index.ts +41 -0
  60. package/src/tempo/WithdrawalSenderTag.test-d.ts +13 -0
  61. package/src/tempo/WithdrawalSenderTag.test.ts +22 -0
  62. package/src/tempo/WithdrawalSenderTag.ts +47 -0
  63. package/src/tempo/index.ts +24 -0
  64. package/src/version.ts +1 -1
  65. package/src/wasm/Engine.ts +19 -7
  66. package/src/wasm/MlDsa44.ts +190 -0
  67. package/src/wasm/_test/Engine.test-d.ts +2 -0
  68. package/src/wasm/_test/Engine.test.ts +16 -0
  69. package/src/wasm/_test/MlDsa44.test-d.ts +28 -0
  70. package/src/wasm/_test/MlDsa44.test.ts +192 -0
  71. package/src/wasm/index.ts +24 -2
  72. package/src/wasm/internal/mldsa44.ts +34 -0
  73. package/src/wasm/internal/mldsa44.wasm.ts +11 -0
  74. package/wasm/vendor/mldsa-native/LICENSE +286 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # ox
2
2
 
3
+ ## 1.6.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#350](https://github.com/wevm/ox/pull/350) [`7cabe8b`](https://github.com/wevm/ox/commit/7cabe8bcda8d54c4b63cb39f601ed77e586bd47e) Thanks [@jxom](https://github.com/jxom)! - Added `MlDsa44` for ML-DSA-44 signatures and included its WASM provider with `Secp256k1` in `ox/wasm`'s aggregate engine.
8
+
9
+ ## 1.5.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [#348](https://github.com/wevm/ox/pull/348) [`fcd16f0`](https://github.com/wevm/ox/commit/fcd16f0c0b76bcc69c14205428dfb56f65d931c2) Thanks [@struong](https://github.com/struong)! - Added `WithdrawalSenderTag` utilities for deriving Tempo Zone withdrawal sender tags.
14
+
3
15
  ## 1.4.0
4
16
 
5
17
  ### Minor Changes
@@ -1,6 +1,6 @@
1
1
  import * as Errors from './Errors.js';
2
2
  import * as engine from './internal/engine.js';
3
- export type { Bls, Ecdh, Ecdsa, Eddsa, Engine, Hash, HashState, Keystore, Mnemonic, } from './internal/engine.js';
3
+ export type { Bls, Ecdh, Ecdsa, Eddsa, Engine, Hash, HashState, Keystore, MlDsa, Mnemonic, } from './internal/engine.js';
4
4
  /**
5
5
  * Resolves and installs crypto implementations.
6
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../../src/core/Engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../../src/core/Engine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Engine.js","sourceRoot":"","sources":["../../src/core/Engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Engine.js","sourceRoot":"","sources":["../../src/core/Engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,389 @@
1
+ import * as Bytes from './Bytes.js';
2
+ import * as Errors from './Errors.js';
3
+ import * as Hash from './Hash.js';
4
+ import * as Hex from './Hex.js';
5
+ /** Re-export of noble/post-quantum ML-DSA-44 utilities. */
6
+ export declare const noble: import("@noble/post-quantum/utils.js").CryptoKeys & {
7
+ lengths: {
8
+ signRand?: number;
9
+ signature?: number;
10
+ };
11
+ sign: (msg: import("@noble/post-quantum/utils.js").TArg<Uint8Array>, secretKey: import("@noble/post-quantum/utils.js").TArg<Uint8Array>, opts
12
+ /** Thrown when a context string exceeds the 255-byte FIPS 204 limit. */
13
+ ?: import("@noble/post-quantum/utils.js").TArg<import("@noble/post-quantum/utils.js").SigOpts>) => import("@noble/post-quantum/utils.js").TRet<Uint8Array>;
14
+ verify: (sig: import("@noble/post-quantum/utils.js").TArg<Uint8Array>, msg: import("@noble/post-quantum/utils.js").TArg<Uint8Array>, publicKey: import("@noble/post-quantum/utils.js").TArg<Uint8Array>, opts?: import("@noble/post-quantum/utils.js").TArg<import("@noble/post-quantum/utils.js").VerOpts>) => boolean;
15
+ } & {
16
+ internal: import("@noble/post-quantum/utils.js").TRet<import("@noble/post-quantum/ml-dsa.js").DSAInternal>;
17
+ } & {
18
+ info?: ({
19
+ type?: string;
20
+ } & {
21
+ type?: string | undefined;
22
+ }) | undefined;
23
+ lengths: {
24
+ seed?: number;
25
+ publicKey?: number;
26
+ secretKey?: number;
27
+ } & {
28
+ signRand?: number;
29
+ signature?: number;
30
+ } & {
31
+ seed?: number | undefined;
32
+ publicKey?: number | undefined;
33
+ secretKey?: number | undefined;
34
+ signRand?: number | undefined;
35
+ signature?: number | undefined;
36
+ };
37
+ keygen: ((seed?: import("@noble/post-quantum/utils.js").TArg<Uint8Array>) => {
38
+ secretKey: import("@noble/post-quantum/utils.js").TRet<Uint8Array>;
39
+ publicKey: import("@noble/post-quantum/utils.js").TRet<Uint8Array>;
40
+ }) & ((seed?: import("@noble/post-quantum/utils.js").TArg<Uint8Array | undefined>) => {
41
+ secretKey: import("@noble/post-quantum/utils.js").TRet<Uint8Array>;
42
+ publicKey: import("@noble/post-quantum/utils.js").TRet<Uint8Array>;
43
+ } & {
44
+ secretKey: import("@noble/post-quantum/utils.js").TRet<Uint8Array>;
45
+ publicKey: import("@noble/post-quantum/utils.js").TRet<Uint8Array>;
46
+ }) & {};
47
+ getPublicKey: ((secretKey: import("@noble/post-quantum/utils.js").TArg<Uint8Array>) => import("@noble/post-quantum/utils.js").TRet<Uint8Array>) & ((secretKey: Uint8Array) => Uint8Array) & {};
48
+ sign: ((msg: import("@noble/post-quantum/utils.js").TArg<Uint8Array>, secretKey: import("@noble/post-quantum/utils.js").TArg<Uint8Array>, opts?: import("@noble/post-quantum/utils.js").TArg<import("@noble/post-quantum/utils.js").SigOpts>) => import("@noble/post-quantum/utils.js").TRet<Uint8Array>) & ((msg: Uint8Array, secretKey: Uint8Array, opts?: import("@noble/post-quantum/utils.js").TArg<import("@noble/post-quantum/utils.js").TArg<import("@noble/post-quantum/utils.js").SigOpts> | undefined>) => Uint8Array) & {};
49
+ verify: ((sig: import("@noble/post-quantum/utils.js").TArg<Uint8Array>, msg: import("@noble/post-quantum/utils.js").TArg<Uint8Array>, publicKey: import("@noble/post-quantum/utils.js").TArg<Uint8Array>, opts?: import("@noble/post-quantum/utils.js").TArg<import("@noble/post-quantum/utils.js").VerOpts>) => boolean) & ((sig: Uint8Array, msg: Uint8Array, publicKey: Uint8Array, opts?: import("@noble/post-quantum/utils.js").TArg<import("@noble/post-quantum/utils.js").TArg<import("@noble/post-quantum/utils.js").VerOpts> | undefined>) => boolean) & {};
50
+ internal: import("@noble/post-quantum/utils.js").CryptoKeys & {
51
+ lengths: import("@noble/post-quantum/utils.js").Signer["lengths"];
52
+ sign: (msg: import("@noble/post-quantum/utils.js").TArg<Uint8Array>, secretKey: import("@noble/post-quantum/utils.js").TArg<Uint8Array>, opts?: import("@noble/post-quantum/utils.js").TArg<import("@noble/post-quantum/utils.js").SigOpts & import("@noble/post-quantum/ml-dsa.js").DSAInternalOpts>) => import("@noble/post-quantum/utils.js").TRet<Uint8Array>;
53
+ verify: (sig: import("@noble/post-quantum/utils.js").TArg<Uint8Array>, msg: import("@noble/post-quantum/utils.js").TArg<Uint8Array>, pubKey: import("@noble/post-quantum/utils.js").TArg<Uint8Array>, opts?: import("@noble/post-quantum/utils.js").TArg<import("@noble/post-quantum/utils.js").VerOpts & import("@noble/post-quantum/ml-dsa.js").DSAInternalOpts>) => boolean;
54
+ } & {
55
+ info?: ({
56
+ type?: string;
57
+ } & {
58
+ type?: string | undefined;
59
+ }) | undefined;
60
+ lengths: {
61
+ seed?: number;
62
+ publicKey?: number;
63
+ secretKey?: number;
64
+ } & {
65
+ signRand?: number;
66
+ signature?: number;
67
+ } & {
68
+ seed?: number | undefined;
69
+ publicKey?: number | undefined;
70
+ secretKey?: number | undefined;
71
+ signRand?: number | undefined;
72
+ signature?: number | undefined;
73
+ };
74
+ keygen: ((seed?: import("@noble/post-quantum/utils.js").TArg<Uint8Array>) => {
75
+ secretKey: import("@noble/post-quantum/utils.js").TRet<Uint8Array>;
76
+ publicKey: import("@noble/post-quantum/utils.js").TRet<Uint8Array>;
77
+ }) & ((seed?: import("@noble/post-quantum/utils.js").TArg<Uint8Array | undefined>) => {
78
+ secretKey: import("@noble/post-quantum/utils.js").TRet<Uint8Array>;
79
+ publicKey: import("@noble/post-quantum/utils.js").TRet<Uint8Array>;
80
+ } & {
81
+ secretKey: import("@noble/post-quantum/utils.js").TRet<Uint8Array>;
82
+ publicKey: import("@noble/post-quantum/utils.js").TRet<Uint8Array>;
83
+ }) & {};
84
+ getPublicKey: ((secretKey: import("@noble/post-quantum/utils.js").TArg<Uint8Array>) => import("@noble/post-quantum/utils.js").TRet<Uint8Array>) & ((secretKey: Uint8Array) => Uint8Array) & {};
85
+ sign: ((msg: import("@noble/post-quantum/utils.js").TArg<Uint8Array>, secretKey: import("@noble/post-quantum/utils.js").TArg<Uint8Array>, opts?: import("@noble/post-quantum/utils.js").TArg<import("@noble/post-quantum/utils.js").SigOpts & import("@noble/post-quantum/ml-dsa.js").DSAInternalOpts>) => import("@noble/post-quantum/utils.js").TRet<Uint8Array>) & ((msg: Uint8Array, secretKey: Uint8Array, opts?: import("@noble/post-quantum/utils.js").TArg<import("@noble/post-quantum/utils.js").TArg<import("@noble/post-quantum/utils.js").VerOpts & {
86
+ extraEntropy?: Uint8Array | false;
87
+ } & import("@noble/post-quantum/ml-dsa.js").DSAInternalOpts> | undefined>) => Uint8Array) & {};
88
+ verify: ((sig: import("@noble/post-quantum/utils.js").TArg<Uint8Array>, msg: import("@noble/post-quantum/utils.js").TArg<Uint8Array>, pubKey: import("@noble/post-quantum/utils.js").TArg<Uint8Array>, opts?: import("@noble/post-quantum/utils.js").TArg<import("@noble/post-quantum/utils.js").VerOpts & import("@noble/post-quantum/ml-dsa.js").DSAInternalOpts>) => boolean) & ((sig: Uint8Array, msg: Uint8Array, pubKey: Uint8Array, opts?: import("@noble/post-quantum/utils.js").TArg<import("@noble/post-quantum/utils.js").TArg<import("@noble/post-quantum/utils.js").VerOpts & import("@noble/post-quantum/ml-dsa.js").DSAInternalOpts> | undefined>) => boolean) & {};
89
+ } & {
90
+ info?: ({
91
+ type?: string;
92
+ } & {
93
+ type?: string | undefined;
94
+ } & {
95
+ type?: string | undefined;
96
+ }) | undefined;
97
+ lengths: {
98
+ seed?: number;
99
+ publicKey?: number;
100
+ secretKey?: number;
101
+ } & {
102
+ signRand?: number;
103
+ signature?: number;
104
+ } & {
105
+ seed?: number | undefined;
106
+ publicKey?: number | undefined;
107
+ secretKey?: number | undefined;
108
+ signRand?: number | undefined;
109
+ signature?: number | undefined;
110
+ } & {
111
+ seed?: number | undefined;
112
+ publicKey?: number | undefined;
113
+ secretKey?: number | undefined;
114
+ signRand?: number | undefined;
115
+ signature?: number | undefined;
116
+ };
117
+ keygen: ((seed?: import("@noble/post-quantum/utils.js").TArg<Uint8Array>) => {
118
+ secretKey: import("@noble/post-quantum/utils.js").TRet<Uint8Array>;
119
+ publicKey: import("@noble/post-quantum/utils.js").TRet<Uint8Array>;
120
+ }) & ((seed?: import("@noble/post-quantum/utils.js").TArg<Uint8Array | undefined>) => {
121
+ secretKey: import("@noble/post-quantum/utils.js").TRet<Uint8Array>;
122
+ publicKey: import("@noble/post-quantum/utils.js").TRet<Uint8Array>;
123
+ } & {
124
+ secretKey: import("@noble/post-quantum/utils.js").TRet<Uint8Array>;
125
+ publicKey: import("@noble/post-quantum/utils.js").TRet<Uint8Array>;
126
+ }) & {} & ((seed?: import("@noble/post-quantum/utils.js").TArg<import("@noble/post-quantum/utils.js").TArg<Uint8Array | undefined>>) => {
127
+ secretKey: import("@noble/post-quantum/utils.js").TRet<Uint8Array>;
128
+ publicKey: import("@noble/post-quantum/utils.js").TRet<Uint8Array>;
129
+ } & {
130
+ secretKey: import("@noble/post-quantum/utils.js").TRet<Uint8Array>;
131
+ publicKey: import("@noble/post-quantum/utils.js").TRet<Uint8Array>;
132
+ } & {
133
+ secretKey: import("@noble/post-quantum/utils.js").TRet<Uint8Array>;
134
+ publicKey: import("@noble/post-quantum/utils.js").TRet<Uint8Array>;
135
+ }) & {};
136
+ getPublicKey: ((secretKey: import("@noble/post-quantum/utils.js").TArg<Uint8Array>) => import("@noble/post-quantum/utils.js").TRet<Uint8Array>) & ((secretKey: Uint8Array) => Uint8Array) & {} & {};
137
+ sign: ((msg: import("@noble/post-quantum/utils.js").TArg<Uint8Array>, secretKey: import("@noble/post-quantum/utils.js").TArg<Uint8Array>, opts?: import("@noble/post-quantum/utils.js").TArg<import("@noble/post-quantum/utils.js").SigOpts & import("@noble/post-quantum/ml-dsa.js").DSAInternalOpts>) => import("@noble/post-quantum/utils.js").TRet<Uint8Array>) & ((msg: Uint8Array, secretKey: Uint8Array, opts?: import("@noble/post-quantum/utils.js").TArg<import("@noble/post-quantum/utils.js").TArg<import("@noble/post-quantum/utils.js").VerOpts & {
138
+ extraEntropy?: Uint8Array | false;
139
+ } & import("@noble/post-quantum/ml-dsa.js").DSAInternalOpts> | undefined>) => Uint8Array) & {} & {};
140
+ verify: ((sig: import("@noble/post-quantum/utils.js").TArg<Uint8Array>, msg: import("@noble/post-quantum/utils.js").TArg<Uint8Array>, pubKey: import("@noble/post-quantum/utils.js").TArg<Uint8Array>, opts?: import("@noble/post-quantum/utils.js").TArg<import("@noble/post-quantum/utils.js").VerOpts & import("@noble/post-quantum/ml-dsa.js").DSAInternalOpts>) => boolean) & ((sig: Uint8Array, msg: Uint8Array, pubKey: Uint8Array, opts?: import("@noble/post-quantum/utils.js").TArg<import("@noble/post-quantum/utils.js").TArg<import("@noble/post-quantum/utils.js").VerOpts & import("@noble/post-quantum/ml-dsa.js").DSAInternalOpts> | undefined>) => boolean) & {} & {};
141
+ };
142
+ };
143
+ /** Size of an ML-DSA-44 private key (seed) in bytes. */
144
+ export declare const privateKeySize = 32;
145
+ /** Size of an ML-DSA-44 public key in bytes. */
146
+ export declare const publicKeySize = 1312;
147
+ /** Size of an ML-DSA-44 signature in bytes. */
148
+ export declare const signatureSize = 2420;
149
+ /**
150
+ * Creates a new ML-DSA-44 key pair consisting of a private key and its
151
+ * corresponding public key.
152
+ *
153
+ * The private key is the 32-byte seed (`ξ`) from FIPS 204 key generation —
154
+ * the canonical interchange form of an ML-DSA private key. The 1,312-byte
155
+ * public key is deterministically expanded from it.
156
+ *
157
+ * @example
158
+ * ```ts twoslash
159
+ * import { MlDsa44 } from 'ox'
160
+ *
161
+ * const { privateKey, publicKey } = MlDsa44.createKeyPair()
162
+ * ```
163
+ *
164
+ * @param options - The options to generate the key pair.
165
+ * @returns The generated key pair containing both private and public keys.
166
+ */
167
+ export declare function createKeyPair<as extends 'Hex' | 'Bytes' = 'Hex'>(options?: createKeyPair.Options<as>): createKeyPair.ReturnType<as>;
168
+ export declare namespace createKeyPair {
169
+ type Options<as extends 'Hex' | 'Bytes' = 'Hex'> = {
170
+ /**
171
+ * Format of the returned private and public keys.
172
+ * @default 'Hex'
173
+ */
174
+ as?: as | 'Hex' | 'Bytes' | undefined;
175
+ };
176
+ type ReturnType<as extends 'Hex' | 'Bytes'> = {
177
+ privateKey: (as extends 'Bytes' ? Bytes.Bytes : never) | (as extends 'Hex' ? Hex.Hex : never);
178
+ publicKey: (as extends 'Bytes' ? Bytes.Bytes : never) | (as extends 'Hex' ? Hex.Hex : never);
179
+ };
180
+ type ErrorType = randomPrivateKey.ErrorType | getPublicKey.ErrorType | Errors.GlobalErrorType;
181
+ }
182
+ /**
183
+ * Derives an ML-DSA-44 private key from a 32-byte WebAuthn PRF output.
184
+ *
185
+ * The permanent derivation contract uses the PRF output as the HMAC-SHA256
186
+ * key. Its message is the UTF-8 bytes of `ox.mldsa44.fromPrf.v1` followed by
187
+ * a 32-bit big-endian counter set to zero.
188
+ *
189
+ * @example
190
+ * ```ts twoslash
191
+ * import { MlDsa44 } from 'ox'
192
+ *
193
+ * const privateKey = MlDsa44.fromPrf(
194
+ * '0x000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f'
195
+ * )
196
+ * ```
197
+ *
198
+ * @param value - A 32-byte WebAuthn PRF output.
199
+ * @param options - Options.
200
+ * @returns An ML-DSA-44 private key (32-byte seed).
201
+ */
202
+ export declare function fromPrf<as extends 'Hex' | 'Bytes' = 'Hex'>(value: Hex.Hex | Bytes.Bytes, options?: fromPrf.Options<as>): fromPrf.ReturnType<as>;
203
+ export declare namespace fromPrf {
204
+ type Options<as extends 'Hex' | 'Bytes' = 'Hex'> = {
205
+ /**
206
+ * Format of the returned private key.
207
+ * @default 'Hex'
208
+ */
209
+ as?: as | 'Hex' | 'Bytes' | undefined;
210
+ };
211
+ type ReturnType<as extends 'Hex' | 'Bytes'> = (as extends 'Bytes' ? Bytes.Bytes : never) | (as extends 'Hex' ? Hex.Hex : never);
212
+ type ErrorType = Bytes.concat.ErrorType | Bytes.from.ErrorType | Bytes.fromNumber.ErrorType | Hash.hmac256.ErrorType | Hex.fromBytes.ErrorType | InvalidPrfSizeError | Errors.GlobalErrorType;
213
+ }
214
+ /**
215
+ * Computes the ML-DSA-44 public key from a provided private key.
216
+ *
217
+ * @example
218
+ * ```ts twoslash
219
+ * import { MlDsa44 } from 'ox'
220
+ *
221
+ * const publicKey = MlDsa44.getPublicKey({
222
+ * privateKey: '0x...'
223
+ * })
224
+ * ```
225
+ *
226
+ * @param options - The options to compute the public key.
227
+ * @returns The computed 1,312-byte public key.
228
+ */
229
+ export declare function getPublicKey<as extends 'Hex' | 'Bytes' = 'Hex'>(options: getPublicKey.Options<as>): getPublicKey.ReturnType<as>;
230
+ export declare namespace getPublicKey {
231
+ type Options<as extends 'Hex' | 'Bytes' = 'Hex'> = {
232
+ /**
233
+ * Format of the returned public key.
234
+ * @default 'Hex'
235
+ */
236
+ as?: as | 'Hex' | 'Bytes' | undefined;
237
+ /**
238
+ * Private key (32-byte seed) to compute the public key from.
239
+ */
240
+ privateKey: Hex.Hex | Bytes.Bytes;
241
+ };
242
+ type ReturnType<as extends 'Hex' | 'Bytes'> = (as extends 'Bytes' ? Bytes.Bytes : never) | (as extends 'Hex' ? Hex.Hex : never);
243
+ type ErrorType = Bytes.from.ErrorType | Hex.fromBytes.ErrorType | Errors.GlobalErrorType;
244
+ }
245
+ /**
246
+ * Generates a random ML-DSA-44 private key (32-byte seed).
247
+ *
248
+ * @example
249
+ * ```ts twoslash
250
+ * import { MlDsa44 } from 'ox'
251
+ *
252
+ * const privateKey = MlDsa44.randomPrivateKey()
253
+ * ```
254
+ *
255
+ * @param options - The options to generate the private key.
256
+ * @returns The generated private key.
257
+ */
258
+ export declare function randomPrivateKey<as extends 'Hex' | 'Bytes' = 'Hex'>(options?: randomPrivateKey.Options<as>): randomPrivateKey.ReturnType<as>;
259
+ export declare namespace randomPrivateKey {
260
+ type Options<as extends 'Hex' | 'Bytes' = 'Hex'> = {
261
+ /**
262
+ * Format of the returned private key.
263
+ * @default 'Hex'
264
+ */
265
+ as?: as | 'Hex' | 'Bytes' | undefined;
266
+ };
267
+ type ReturnType<as extends 'Hex' | 'Bytes'> = (as extends 'Bytes' ? Bytes.Bytes : never) | (as extends 'Hex' ? Hex.Hex : never);
268
+ type ErrorType = Hex.fromBytes.ErrorType | Errors.GlobalErrorType;
269
+ }
270
+ /**
271
+ * Signs the payload with the provided private key and returns an ML-DSA-44
272
+ * signature (2,420 bytes).
273
+ *
274
+ * Signing is deterministic by default. Set `extraEntropy` to `true` (or to 32
275
+ * bytes of entropy) for the hedged variant of FIPS 204, which protects against
276
+ * fault attacks and randomness-reuse pitfalls at the cost of reproducibility.
277
+ *
278
+ * @example
279
+ * ```ts twoslash
280
+ * import { MlDsa44 } from 'ox'
281
+ *
282
+ * const signature = MlDsa44.sign({
283
+ * // [!code focus]
284
+ * payload: '0xdeadbeef', // [!code focus]
285
+ * privateKey: '0x...' // [!code focus]
286
+ * }) // [!code focus]
287
+ * ```
288
+ *
289
+ * @param options - The signing options.
290
+ * @returns The ML-DSA-44 signature.
291
+ */
292
+ export declare function sign<as extends 'Hex' | 'Bytes' = 'Hex'>(options: sign.Options<as>): sign.ReturnType<as>;
293
+ export declare namespace sign {
294
+ type Options<as extends 'Hex' | 'Bytes' = 'Hex'> = {
295
+ /**
296
+ * Format of the returned signature.
297
+ * @default 'Hex'
298
+ */
299
+ as?: as | 'Hex' | 'Bytes' | undefined;
300
+ /**
301
+ * Context string for domain separation, at most 255 bytes.
302
+ * @default empty
303
+ */
304
+ context?: Hex.Hex | Bytes.Bytes | undefined;
305
+ /**
306
+ * Extra entropy to add to the signing process. Setting to `true` enables
307
+ * hedged signing with 32 fresh random bytes; 32 bytes may be supplied
308
+ * directly instead.
309
+ * @default false
310
+ */
311
+ extraEntropy?: boolean | Hex.Hex | Bytes.Bytes | undefined;
312
+ /**
313
+ * Payload to sign.
314
+ */
315
+ payload: Hex.Hex | Bytes.Bytes;
316
+ /**
317
+ * ML-DSA-44 private key (32-byte seed).
318
+ */
319
+ privateKey: Hex.Hex | Bytes.Bytes;
320
+ };
321
+ type ReturnType<as extends 'Hex' | 'Bytes'> = (as extends 'Bytes' ? Bytes.Bytes : never) | (as extends 'Hex' ? Hex.Hex : never);
322
+ type ErrorType = Bytes.from.ErrorType | Hex.fromBytes.ErrorType | InvalidContextSizeError | Errors.GlobalErrorType;
323
+ }
324
+ /**
325
+ * Verifies a payload was signed by the provided public key.
326
+ *
327
+ * @example
328
+ * ```ts twoslash
329
+ * import { MlDsa44 } from 'ox'
330
+ *
331
+ * const { privateKey, publicKey } = MlDsa44.createKeyPair()
332
+ * const signature = MlDsa44.sign({
333
+ * payload: '0xdeadbeef',
334
+ * privateKey
335
+ * })
336
+ *
337
+ * const verified = MlDsa44.verify({
338
+ * // [!code focus]
339
+ * publicKey, // [!code focus]
340
+ * payload: '0xdeadbeef', // [!code focus]
341
+ * signature // [!code focus]
342
+ * }) // [!code focus]
343
+ * ```
344
+ *
345
+ * @param options - The verification options.
346
+ * @returns Whether the payload was signed by the provided public key.
347
+ */
348
+ export declare function verify(options: verify.Options): boolean;
349
+ export declare namespace verify {
350
+ type Options = {
351
+ /**
352
+ * Context string for domain separation, at most 255 bytes.
353
+ * @default empty
354
+ */
355
+ context?: Hex.Hex | Bytes.Bytes | undefined;
356
+ /** Payload that was signed. */
357
+ payload: Hex.Hex | Bytes.Bytes;
358
+ /** Public key that signed the payload. */
359
+ publicKey: Hex.Hex | Bytes.Bytes;
360
+ /** Signature of the payload. */
361
+ signature: Hex.Hex | Bytes.Bytes;
362
+ };
363
+ type ErrorType = Bytes.from.ErrorType | InvalidContextSizeError | Errors.GlobalErrorType;
364
+ }
365
+ /** Thrown when a context string exceeds the 255-byte FIPS 204 limit. */
366
+ export declare class InvalidContextSizeError extends Errors.BaseError {
367
+ readonly name = "MlDsa44.InvalidContextSizeError";
368
+ constructor(options: InvalidContextSizeError.Options);
369
+ }
370
+ export declare namespace InvalidContextSizeError {
371
+ /** Options for {@link ox#MlDsa44.InvalidContextSizeError}. */
372
+ type Options = {
373
+ /** Received context size. */
374
+ size: number;
375
+ };
376
+ }
377
+ /** Thrown when a WebAuthn PRF output is not 32 bytes. */
378
+ export declare class InvalidPrfSizeError extends Errors.BaseError {
379
+ readonly name = "MlDsa44.InvalidPrfSizeError";
380
+ constructor(options: InvalidPrfSizeError.Options);
381
+ }
382
+ export declare namespace InvalidPrfSizeError {
383
+ /** Options for {@link ox#MlDsa44.InvalidPrfSizeError}. */
384
+ type Options = {
385
+ /** Received PRF output size. */
386
+ size: number;
387
+ };
388
+ }
389
+ //# sourceMappingURL=MlDsa44.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MlDsa44.d.ts","sourceRoot":"","sources":["../../src/core/MlDsa44.ts"],"names":[],"mappings":"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"}