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.
- package/CHANGELOG.md +12 -0
- package/dist/core/Engine.d.ts +1 -1
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/MlDsa44.d.ts +389 -0
- package/dist/core/MlDsa44.d.ts.map +1 -0
- package/dist/core/MlDsa44.js +206 -0
- package/dist/core/MlDsa44.js.map +1 -0
- package/dist/core/internal/engine.d.ts +35 -1
- package/dist/core/internal/engine.d.ts.map +1 -1
- package/dist/core/internal/engine.js +2 -0
- package/dist/core/internal/engine.js.map +1 -1
- package/dist/core/internal/mlDsa44.d.ts +10 -0
- package/dist/core/internal/mlDsa44.d.ts.map +1 -0
- package/dist/core/internal/mlDsa44.js +41 -0
- package/dist/core/internal/mlDsa44.js.map +1 -0
- package/dist/index.d.ts +39 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +39 -0
- package/dist/index.js.map +1 -1
- package/dist/tempo/WithdrawalSenderTag.d.ts +36 -0
- package/dist/tempo/WithdrawalSenderTag.d.ts.map +1 -0
- package/dist/tempo/WithdrawalSenderTag.js +31 -0
- package/dist/tempo/WithdrawalSenderTag.js.map +1 -0
- package/dist/tempo/index.d.ts +23 -0
- package/dist/tempo/index.d.ts.map +1 -1
- package/dist/tempo/index.js +23 -0
- package/dist/tempo/index.js.map +1 -1
- package/dist/wasm/Engine.d.ts +5 -1
- package/dist/wasm/Engine.d.ts.map +1 -1
- package/dist/wasm/Engine.js +9 -1
- package/dist/wasm/Engine.js.map +1 -1
- package/dist/wasm/MlDsa44.d.ts +55 -0
- package/dist/wasm/MlDsa44.d.ts.map +1 -0
- package/dist/wasm/MlDsa44.js +143 -0
- package/dist/wasm/MlDsa44.js.map +1 -0
- package/dist/wasm/index.d.ts +23 -2
- package/dist/wasm/index.d.ts.map +1 -1
- package/dist/wasm/index.js +23 -2
- package/dist/wasm/index.js.map +1 -1
- package/dist/wasm/internal/mldsa44.d.ts +12 -0
- package/dist/wasm/internal/mldsa44.d.ts.map +1 -0
- package/dist/wasm/internal/mldsa44.js +5 -0
- package/dist/wasm/internal/mldsa44.js.map +1 -0
- package/dist/wasm/internal/mldsa44.wasm.d.ts +3 -0
- package/dist/wasm/internal/mldsa44.wasm.d.ts.map +1 -0
- package/dist/wasm/internal/mldsa44.wasm.js +10 -0
- package/dist/wasm/internal/mldsa44.wasm.js.map +1 -0
- package/dist/zod/TypedData.d.ts +2 -2
- package/package.json +19 -2
- package/src/core/Engine.ts +1 -0
- package/src/core/MlDsa44.ts +415 -0
- package/src/core/_test/Engine.test.ts +2 -2
- package/src/core/_test/MlDsa44.test-d.ts +56 -0
- package/src/core/_test/MlDsa44.test.ts +393 -0
- package/src/core/_test/index.test.ts +1 -0
- package/src/core/internal/engine.ts +49 -0
- package/src/core/internal/mlDsa44.ts +74 -0
- package/src/index.ts +41 -0
- package/src/tempo/WithdrawalSenderTag.test-d.ts +13 -0
- package/src/tempo/WithdrawalSenderTag.test.ts +22 -0
- package/src/tempo/WithdrawalSenderTag.ts +47 -0
- package/src/tempo/index.ts +24 -0
- package/src/version.ts +1 -1
- package/src/wasm/Engine.ts +19 -7
- package/src/wasm/MlDsa44.ts +190 -0
- package/src/wasm/_test/Engine.test-d.ts +2 -0
- package/src/wasm/_test/Engine.test.ts +16 -0
- package/src/wasm/_test/MlDsa44.test-d.ts +28 -0
- package/src/wasm/_test/MlDsa44.test.ts +192 -0
- package/src/wasm/index.ts +24 -2
- package/src/wasm/internal/mldsa44.ts +34 -0
- package/src/wasm/internal/mldsa44.wasm.ts +11 -0
- package/wasm/vendor/mldsa-native/LICENSE +286 -0
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { ml_dsa44 } from '@noble/post-quantum/ml-dsa.js';
|
|
2
|
+
import * as Bytes from './Bytes.js';
|
|
3
|
+
import * as Errors from './Errors.js';
|
|
4
|
+
import * as Hash from './Hash.js';
|
|
5
|
+
import * as Hex from './Hex.js';
|
|
6
|
+
import * as Entropy from './internal/entropy.js';
|
|
7
|
+
import * as engine from './internal/mlDsa44.js';
|
|
8
|
+
/** Re-export of noble/post-quantum ML-DSA-44 utilities. */
|
|
9
|
+
export const noble = ml_dsa44;
|
|
10
|
+
/** Size of an ML-DSA-44 private key (seed) in bytes. */
|
|
11
|
+
export const privateKeySize = 32;
|
|
12
|
+
/** Size of an ML-DSA-44 public key in bytes. */
|
|
13
|
+
export const publicKeySize = 1312;
|
|
14
|
+
/** Size of an ML-DSA-44 signature in bytes. */
|
|
15
|
+
export const signatureSize = 2420;
|
|
16
|
+
/**
|
|
17
|
+
* Creates a new ML-DSA-44 key pair consisting of a private key and its
|
|
18
|
+
* corresponding public key.
|
|
19
|
+
*
|
|
20
|
+
* The private key is the 32-byte seed (`ξ`) from FIPS 204 key generation —
|
|
21
|
+
* the canonical interchange form of an ML-DSA private key. The 1,312-byte
|
|
22
|
+
* public key is deterministically expanded from it.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts twoslash
|
|
26
|
+
* import { MlDsa44 } from 'ox'
|
|
27
|
+
*
|
|
28
|
+
* const { privateKey, publicKey } = MlDsa44.createKeyPair()
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* @param options - The options to generate the key pair.
|
|
32
|
+
* @returns The generated key pair containing both private and public keys.
|
|
33
|
+
*/
|
|
34
|
+
export function createKeyPair(options = {}) {
|
|
35
|
+
const { as = 'Hex' } = options;
|
|
36
|
+
const privateKey = randomPrivateKey({ as });
|
|
37
|
+
const publicKey = getPublicKey({ privateKey, as });
|
|
38
|
+
return {
|
|
39
|
+
privateKey: privateKey,
|
|
40
|
+
publicKey: publicKey,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Derives an ML-DSA-44 private key from a 32-byte WebAuthn PRF output.
|
|
45
|
+
*
|
|
46
|
+
* 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
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```ts twoslash
|
|
52
|
+
* import { MlDsa44 } from 'ox'
|
|
53
|
+
*
|
|
54
|
+
* const privateKey = MlDsa44.fromPrf(
|
|
55
|
+
* '0x000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f'
|
|
56
|
+
* )
|
|
57
|
+
* ```
|
|
58
|
+
*
|
|
59
|
+
* @param value - A 32-byte WebAuthn PRF output.
|
|
60
|
+
* @param options - Options.
|
|
61
|
+
* @returns An ML-DSA-44 private key (32-byte seed).
|
|
62
|
+
*/
|
|
63
|
+
export function fromPrf(value, options = {}) {
|
|
64
|
+
const { as = 'Hex' } = options;
|
|
65
|
+
const bytes = Bytes.from(value);
|
|
66
|
+
if (bytes.length !== 32)
|
|
67
|
+
throw new InvalidPrfSizeError({ size: bytes.length });
|
|
68
|
+
const privateKey = Hash.hmac256(bytes, Bytes.concat(fromPrfLabel, Bytes.fromNumber(0, { size: 4 })), { as: 'Bytes' });
|
|
69
|
+
if (as === 'Hex') {
|
|
70
|
+
const value = Hex.fromBytes(privateKey);
|
|
71
|
+
privateKey.fill(0);
|
|
72
|
+
return value;
|
|
73
|
+
}
|
|
74
|
+
return privateKey;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Computes the ML-DSA-44 public key from a provided private key.
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ```ts twoslash
|
|
81
|
+
* import { MlDsa44 } from 'ox'
|
|
82
|
+
*
|
|
83
|
+
* const publicKey = MlDsa44.getPublicKey({
|
|
84
|
+
* privateKey: '0x...'
|
|
85
|
+
* })
|
|
86
|
+
* ```
|
|
87
|
+
*
|
|
88
|
+
* @param options - The options to compute the public key.
|
|
89
|
+
* @returns The computed 1,312-byte public key.
|
|
90
|
+
*/
|
|
91
|
+
export function getPublicKey(options) {
|
|
92
|
+
const { as = 'Hex', privateKey } = options;
|
|
93
|
+
const privateKeyBytes = Bytes.from(privateKey);
|
|
94
|
+
const publicKeyBytes = engine.getPublicKey(privateKeyBytes);
|
|
95
|
+
if (as === 'Hex')
|
|
96
|
+
return Hex.fromBytes(publicKeyBytes);
|
|
97
|
+
return publicKeyBytes;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Generates a random ML-DSA-44 private key (32-byte seed).
|
|
101
|
+
*
|
|
102
|
+
* @example
|
|
103
|
+
* ```ts twoslash
|
|
104
|
+
* import { MlDsa44 } from 'ox'
|
|
105
|
+
*
|
|
106
|
+
* const privateKey = MlDsa44.randomPrivateKey()
|
|
107
|
+
* ```
|
|
108
|
+
*
|
|
109
|
+
* @param options - The options to generate the private key.
|
|
110
|
+
* @returns The generated private key.
|
|
111
|
+
*/
|
|
112
|
+
export function randomPrivateKey(options = {}) {
|
|
113
|
+
const { as = 'Hex' } = options;
|
|
114
|
+
const bytes = engine.randomSecretKey();
|
|
115
|
+
if (as === 'Hex')
|
|
116
|
+
return Hex.fromBytes(bytes);
|
|
117
|
+
return bytes;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Signs the payload with the provided private key and returns an ML-DSA-44
|
|
121
|
+
* signature (2,420 bytes).
|
|
122
|
+
*
|
|
123
|
+
* Signing is deterministic by default. Set `extraEntropy` to `true` (or to 32
|
|
124
|
+
* bytes of entropy) for the hedged variant of FIPS 204, which protects against
|
|
125
|
+
* fault attacks and randomness-reuse pitfalls at the cost of reproducibility.
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* ```ts twoslash
|
|
129
|
+
* import { MlDsa44 } from 'ox'
|
|
130
|
+
*
|
|
131
|
+
* const signature = MlDsa44.sign({
|
|
132
|
+
* // [!code focus]
|
|
133
|
+
* payload: '0xdeadbeef', // [!code focus]
|
|
134
|
+
* privateKey: '0x...' // [!code focus]
|
|
135
|
+
* }) // [!code focus]
|
|
136
|
+
* ```
|
|
137
|
+
*
|
|
138
|
+
* @param options - The signing options.
|
|
139
|
+
* @returns The ML-DSA-44 signature.
|
|
140
|
+
*/
|
|
141
|
+
export function sign(options) {
|
|
142
|
+
const { as = 'Hex', extraEntropy = Entropy.extraEntropy, payload, privateKey, } = options;
|
|
143
|
+
const context = toContextBytes(options.context);
|
|
144
|
+
const signatureBytes = engine.sign(Bytes.from(payload), Bytes.from(privateKey), {
|
|
145
|
+
context,
|
|
146
|
+
extraEntropy: typeof extraEntropy === 'boolean'
|
|
147
|
+
? extraEntropy
|
|
148
|
+
: Bytes.from(extraEntropy),
|
|
149
|
+
});
|
|
150
|
+
if (as === 'Hex')
|
|
151
|
+
return Hex.fromBytes(signatureBytes);
|
|
152
|
+
return signatureBytes;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Verifies a payload was signed by the provided public key.
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* ```ts twoslash
|
|
159
|
+
* import { MlDsa44 } from 'ox'
|
|
160
|
+
*
|
|
161
|
+
* const { privateKey, publicKey } = MlDsa44.createKeyPair()
|
|
162
|
+
* const signature = MlDsa44.sign({
|
|
163
|
+
* payload: '0xdeadbeef',
|
|
164
|
+
* privateKey
|
|
165
|
+
* })
|
|
166
|
+
*
|
|
167
|
+
* const verified = MlDsa44.verify({
|
|
168
|
+
* // [!code focus]
|
|
169
|
+
* publicKey, // [!code focus]
|
|
170
|
+
* payload: '0xdeadbeef', // [!code focus]
|
|
171
|
+
* signature // [!code focus]
|
|
172
|
+
* }) // [!code focus]
|
|
173
|
+
* ```
|
|
174
|
+
*
|
|
175
|
+
* @param options - The verification options.
|
|
176
|
+
* @returns Whether the payload was signed by the provided public key.
|
|
177
|
+
*/
|
|
178
|
+
export function verify(options) {
|
|
179
|
+
const { payload, publicKey, signature } = options;
|
|
180
|
+
const context = toContextBytes(options.context);
|
|
181
|
+
return engine.verify(Bytes.from(signature), Bytes.from(payload), Bytes.from(publicKey), { context });
|
|
182
|
+
}
|
|
183
|
+
/** Thrown when a context string exceeds the 255-byte FIPS 204 limit. */
|
|
184
|
+
export class InvalidContextSizeError extends Errors.BaseError {
|
|
185
|
+
name = 'MlDsa44.InvalidContextSizeError';
|
|
186
|
+
constructor(options) {
|
|
187
|
+
super(`Context must be at most 255 bytes. Received ${options.size} bytes.`);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
/** Thrown when a WebAuthn PRF output is not 32 bytes. */
|
|
191
|
+
export class InvalidPrfSizeError extends Errors.BaseError {
|
|
192
|
+
name = 'MlDsa44.InvalidPrfSizeError';
|
|
193
|
+
constructor(options) {
|
|
194
|
+
super(`PRF output must be exactly 32 bytes. Received ${options.size} bytes.`);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
function toContextBytes(context) {
|
|
198
|
+
if (context === undefined)
|
|
199
|
+
return undefined;
|
|
200
|
+
const bytes = Bytes.from(context);
|
|
201
|
+
if (bytes.length > 255)
|
|
202
|
+
throw new InvalidContextSizeError({ size: bytes.length });
|
|
203
|
+
return bytes;
|
|
204
|
+
}
|
|
205
|
+
const fromPrfLabel = Bytes.fromString('ox.mldsa44.fromPrf.v1');
|
|
206
|
+
//# sourceMappingURL=MlDsa44.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MlDsa44.js","sourceRoot":"","sources":["../../src/core/MlDsa44.ts"],"names":[],"mappings":"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"}
|
|
@@ -126,6 +126,37 @@ export type Eddsa = {
|
|
|
126
126
|
/** Verifies a 64-byte signature. */
|
|
127
127
|
verify?: ((signature: Uint8Array, payload: Uint8Array, publicKey: Uint8Array) => boolean) | undefined;
|
|
128
128
|
};
|
|
129
|
+
/**
|
|
130
|
+
* Module-lattice digital signatures (ML-DSA, FIPS 204). Used by the `MlDsa44`
|
|
131
|
+
* slot.
|
|
132
|
+
*
|
|
133
|
+
* Private keys cross this boundary in their 32-byte seed form (`ξ`), never as
|
|
134
|
+
* the expanded secret key -- the seed is the canonical interchange form, and an
|
|
135
|
+
* engine expands it internally.
|
|
136
|
+
*
|
|
137
|
+
* @internal
|
|
138
|
+
*/
|
|
139
|
+
export type MlDsa = {
|
|
140
|
+
/** Derives the public key from a 32-byte private-key seed. */
|
|
141
|
+
getPublicKey?: ((privateKey: Uint8Array) => Uint8Array) | undefined;
|
|
142
|
+
/** Generates a random 32-byte private-key seed. */
|
|
143
|
+
randomSecretKey?: (() => Uint8Array) | undefined;
|
|
144
|
+
/** Signs a payload. */
|
|
145
|
+
sign?: ((payload: Uint8Array, privateKey: Uint8Array, options: {
|
|
146
|
+
/** Context string for domain separation, at most 255 bytes. */
|
|
147
|
+
context?: Uint8Array | undefined;
|
|
148
|
+
/**
|
|
149
|
+
* Extra entropy for hedged signing: exactly 32 bytes, `true` for 32
|
|
150
|
+
* random bytes, or `false` for the deterministic variant.
|
|
151
|
+
*/
|
|
152
|
+
extraEntropy: boolean | Uint8Array;
|
|
153
|
+
}) => Uint8Array) | undefined;
|
|
154
|
+
/** Verifies a signature. */
|
|
155
|
+
verify?: ((signature: Uint8Array, payload: Uint8Array, publicKey: Uint8Array, options: {
|
|
156
|
+
/** Context string for domain separation, at most 255 bytes. */
|
|
157
|
+
context?: Uint8Array | undefined;
|
|
158
|
+
}) => boolean) | undefined;
|
|
159
|
+
};
|
|
129
160
|
/**
|
|
130
161
|
* Montgomery-curve key agreement (X25519).
|
|
131
162
|
*
|
|
@@ -238,6 +269,8 @@ export type Engine = {
|
|
|
238
269
|
Hash?: Hash | undefined;
|
|
239
270
|
/** Implementation for [`Keystore`](/api/Keystore). */
|
|
240
271
|
Keystore?: Keystore | undefined;
|
|
272
|
+
/** Implementation for [`MlDsa44`](/api/MlDsa44). */
|
|
273
|
+
MlDsa44?: MlDsa | undefined;
|
|
241
274
|
/** Implementation for [`Mnemonic`](/api/Mnemonic). */
|
|
242
275
|
Mnemonic?: Mnemonic | undefined;
|
|
243
276
|
/** Implementation for [`P256`](/api/P256). */
|
|
@@ -266,7 +299,7 @@ export type Complete<slot> = {
|
|
|
266
299
|
*
|
|
267
300
|
* @internal
|
|
268
301
|
*/
|
|
269
|
-
export declare const slots: readonly ["Bls", "Ed25519", "Hash", "Keystore", "Mnemonic", "P256", "Secp256k1", "X25519"];
|
|
302
|
+
export declare const slots: readonly ["Bls", "Ed25519", "Hash", "Keystore", "MlDsa44", "Mnemonic", "P256", "Secp256k1", "X25519"];
|
|
270
303
|
/**
|
|
271
304
|
* Recognized primitive names, per slot.
|
|
272
305
|
*
|
|
@@ -283,6 +316,7 @@ export declare const primitives: {
|
|
|
283
316
|
readonly Ed25519: readonly ["getPublicKey", "randomSecretKey", "sign", "toMontgomery", "toMontgomerySecret", "verify"];
|
|
284
317
|
readonly Hash: readonly ["blake3", "createBlake3", "createHmacSha256", "createKeccak256", "createRipemd160", "createSha256", "hmacSha256", "keccak256", "ripemd160", "sha256"];
|
|
285
318
|
readonly Keystore: readonly ["aesCtrDecrypt", "aesCtrEncrypt", "pbkdf2Sha256", "pbkdf2Sha256Async", "scrypt", "scryptAsync"];
|
|
319
|
+
readonly MlDsa44: readonly ["getPublicKey", "randomSecretKey", "sign", "verify"];
|
|
286
320
|
readonly Mnemonic: readonly ["toSeed"];
|
|
287
321
|
readonly P256: readonly ["getPublicKey", "getSharedSecret", "recoverPublicKey", "randomSecretKey", "sign", "verify"];
|
|
288
322
|
readonly Secp256k1: readonly ["getPublicKey", "getSharedSecret", "recoverPublicKey", "randomSecretKey", "sign", "verify"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/core/internal/engine.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/core/internal/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,gCAAgC;IAChC,KAAK,IAAI,SAAS,CAAA;IAClB,0BAA0B;IAC1B,OAAO,IAAI,IAAI,CAAA;IACf;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAA;IACpC,+BAA+B;IAC/B,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;CAChC,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,IAAI,GAAG;IACjB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,UAAU,KAAK,UAAU,CAAC,GAAG,SAAS,CAAA;IACxD,8BAA8B;IAC9B,YAAY,CAAC,EAAE,CAAC,MAAM,SAAS,CAAC,GAAG,SAAS,CAAA;IAC5C,oCAAoC;IACpC,gBAAgB,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,UAAU,KAAK,SAAS,CAAC,GAAG,SAAS,CAAA;IAC/D,iCAAiC;IACjC,eAAe,CAAC,EAAE,CAAC,MAAM,SAAS,CAAC,GAAG,SAAS,CAAA;IAC/C,kCAAkC;IAClC,eAAe,CAAC,EAAE,CAAC,MAAM,SAAS,CAAC,GAAG,SAAS,CAAA;IAC/C,+BAA+B;IAC/B,YAAY,CAAC,EAAE,CAAC,MAAM,SAAS,CAAC,GAAG,SAAS,CAAA;IAC5C,mBAAmB;IACnB,UAAU,CAAC,EACP,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,KAAK,UAAU,CAAC,GACtD,SAAS,CAAA;IACb,yCAAyC;IACzC,SAAS,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,UAAU,KAAK,UAAU,CAAC,GAAG,SAAS,CAAA;IAC3D,kBAAkB;IAClB,SAAS,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,UAAU,KAAK,UAAU,CAAC,GAAG,SAAS,CAAA;IAC3D,eAAe;IACf,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,UAAU,KAAK,UAAU,CAAC,GAAG,SAAS,CAAA;CACzD,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,oDAAoD;IACpD,YAAY,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,UAAU,KAAK,UAAU,CAAC,GAAG,SAAS,CAAA;IACnE;;;;;;OAMG;IACH,eAAe,CAAC,EACZ,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,KAAK,UAAU,CAAC,GAC/D,SAAS,CAAA;IACb;;;OAGG;IACH,gBAAgB,CAAC,EACb,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,KAAK,UAAU,CAAC,GAC5D,SAAS,CAAA;IACb,sCAAsC;IACtC,eAAe,CAAC,EAAE,CAAC,MAAM,UAAU,CAAC,GAAG,SAAS,CAAA;IAChD,kEAAkE;IAClE,IAAI,CAAC,EACD,CAAC,CACC,OAAO,EAAE,UAAU,EACnB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE;QACP,8DAA8D;QAC9D,YAAY,EAAE,OAAO,GAAG,UAAU,CAAA;QAClC,kDAAkD;QAClD,OAAO,EAAE,OAAO,CAAA;KACjB,KACE,UAAU,CAAC,GAChB,SAAS,CAAA;IACb,uDAAuD;IACvD,MAAM,CAAC,EACH,CAAC,CACC,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE;QACP,oDAAoD;QACpD,OAAO,EAAE,OAAO,CAAA;KACjB,KACE,OAAO,CAAC,GACb,SAAS,CAAA;CACd,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,oCAAoC;IACpC,YAAY,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,UAAU,KAAK,UAAU,CAAC,GAAG,SAAS,CAAA;IACnE,sCAAsC;IACtC,eAAe,CAAC,EAAE,CAAC,MAAM,UAAU,CAAC,GAAG,SAAS,CAAA;IAChD,sDAAsD;IACtD,IAAI,CAAC,EACD,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,KAAK,UAAU,CAAC,GAC7D,SAAS,CAAA;IACb,sEAAsE;IACtE,YAAY,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,UAAU,KAAK,UAAU,CAAC,GAAG,SAAS,CAAA;IAClE,uEAAuE;IACvE,kBAAkB,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,UAAU,KAAK,UAAU,CAAC,GAAG,SAAS,CAAA;IACzE,oCAAoC;IACpC,MAAM,CAAC,EACH,CAAC,CACC,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,UAAU,KAClB,OAAO,CAAC,GACb,SAAS,CAAA;CACd,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,UAAU,KAAK,UAAU,CAAC,GAAG,SAAS,CAAA;IACnE,mDAAmD;IACnD,eAAe,CAAC,EAAE,CAAC,MAAM,UAAU,CAAC,GAAG,SAAS,CAAA;IAChD,uBAAuB;IACvB,IAAI,CAAC,EACD,CAAC,CACC,OAAO,EAAE,UAAU,EACnB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE;QACP,+DAA+D;QAC/D,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;QAChC;;;WAGG;QACH,YAAY,EAAE,OAAO,GAAG,UAAU,CAAA;KACnC,KACE,UAAU,CAAC,GAChB,SAAS,CAAA;IACb,4BAA4B;IAC5B,MAAM,CAAC,EACH,CAAC,CACC,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE;QACP,+DAA+D;QAC/D,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;KACjC,KACE,OAAO,CAAC,GACb,SAAS,CAAA;CACd,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,IAAI,GAAG;IACjB,oCAAoC;IACpC,YAAY,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,UAAU,KAAK,UAAU,CAAC,GAAG,SAAS,CAAA;IACnE,wCAAwC;IACxC,eAAe,CAAC,EACZ,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,KAAK,UAAU,CAAC,GAC/D,SAAS,CAAA;IACb,sCAAsC;IACtC,eAAe,CAAC,EAAE,CAAC,MAAM,UAAU,CAAC,GAAG,SAAS,CAAA;CACjD,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,+DAA+D;IAC/D,aAAa,CAAC,EACV,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,KAAK,UAAU,CAAC,GACnE,SAAS,CAAA;IACb,+DAA+D;IAC/D,aAAa,CAAC,EACV,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,KAAK,UAAU,CAAC,GACnE,SAAS,CAAA;IACb,0BAA0B;IAC1B,YAAY,CAAC,EACT,CAAC,CACC,QAAQ,EAAE,UAAU,EACpB,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAClC,UAAU,CAAC,GAChB,SAAS,CAAA;IACb,uCAAuC;IACvC,iBAAiB,CAAC,EACd,CAAC,CACC,QAAQ,EAAE,UAAU,EACpB,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAClC,OAAO,CAAC,UAAU,CAAC,CAAC,GACzB,SAAS,CAAA;IACb,cAAc;IACd,MAAM,CAAC,EACH,CAAC,CACC,QAAQ,EAAE,UAAU,EACpB,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KACxD,UAAU,CAAC,GAChB,SAAS,CAAA;IACb,2BAA2B;IAC3B,WAAW,CAAC,EACR,CAAC,CACC,QAAQ,EAAE,UAAU,EACpB,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KACxD,OAAO,CAAC,UAAU,CAAC,CAAC,GACzB,SAAS,CAAA;CACd,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,UAAU,CAAC,GAAG,SAAS,CAAA;CAC7E,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,GAAG,GAAG;IAChB,sDAAsD;IACtD,SAAS,CAAC,EACN,CAAC,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,KAAK,UAAU,CAAC,GACnE,SAAS,CAAA;IACb,0DAA0D;IAC1D,YAAY,CAAC,EACT,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,KAAK,UAAU,CAAC,GAC5D,SAAS,CAAA;IACb,sCAAsC;IACtC,eAAe,CAAC,EAAE,CAAC,MAAM,UAAU,CAAC,GAAG,SAAS,CAAA;IAChD,2EAA2E;IAC3E,IAAI,CAAC,EACD,CAAC,CACC,OAAO,EAAE,UAAU,EACnB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE;QACP,+CAA+C;QAC/C,GAAG,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;QAC5B,8BAA8B;QAC9B,KAAK,EAAE,IAAI,GAAG,IAAI,CAAA;KACnB,KACE,UAAU,CAAC,GAChB,SAAS,CAAA;IACb,uEAAuE;IACvE,MAAM,CAAC,EACH,CAAC,CACC,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE;QACP,+CAA+C;QAC/C,GAAG,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;QAC5B,8BAA8B;QAC9B,cAAc,EAAE,IAAI,GAAG,IAAI,CAAA;KAC5B,KACE,OAAO,CAAC,GACb,SAAS,CAAA;CACd,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG;IACnB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,CAAA;IACrB,oDAAoD;IACpD,OAAO,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;IAC3B,8CAA8C;IAC9C,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;IACvB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;IAC/B,oDAAoD;IACpD,OAAO,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;IAC/B,8CAA8C;IAC9C,IAAI,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;IACxB,wDAAwD;IACxD,SAAS,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;IAC7B,kDAAkD;IAClD,MAAM,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;CAC1B,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,QAAQ,CAAC,IAAI,IAAI;KAAG,GAAG,IAAI,MAAM,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;CAAE,CAAA;AAE9E;;;;GAIG;AACH,eAAO,MAAM,KAAK,uGAU4B,CAAA;AAE9C;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;CAmDtB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,MAAW,CAAA;AAEnC;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,QAmBlC;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,MAAM,QAKxC"}
|
|
@@ -27,6 +27,7 @@ export const slots = [
|
|
|
27
27
|
'Ed25519',
|
|
28
28
|
'Hash',
|
|
29
29
|
'Keystore',
|
|
30
|
+
'MlDsa44',
|
|
30
31
|
'Mnemonic',
|
|
31
32
|
'P256',
|
|
32
33
|
'Secp256k1',
|
|
@@ -73,6 +74,7 @@ export const primitives = {
|
|
|
73
74
|
'scrypt',
|
|
74
75
|
'scryptAsync',
|
|
75
76
|
],
|
|
77
|
+
MlDsa44: ['getPublicKey', 'randomSecretKey', 'sign', 'verify'],
|
|
76
78
|
Mnemonic: ['toSeed'],
|
|
77
79
|
P256: [
|
|
78
80
|
'getPublicKey',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/core/internal/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/core/internal/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAuWH;;;;GAIG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,KAAK;IACL,SAAS;IACT,MAAM;IACN,UAAU;IACV,SAAS;IACT,UAAU;IACV,MAAM;IACN,WAAW;IACX,QAAQ;CACoC,CAAA;AAE9C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,GAAG,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC;IACvE,OAAO,EAAE;QACP,cAAc;QACd,iBAAiB;QACjB,MAAM;QACN,cAAc;QACd,oBAAoB;QACpB,QAAQ;KACT;IACD,IAAI,EAAE;QACJ,QAAQ;QACR,cAAc;QACd,kBAAkB;QAClB,iBAAiB;QACjB,iBAAiB;QACjB,cAAc;QACd,YAAY;QACZ,WAAW;QACX,WAAW;QACX,QAAQ;KACT;IACD,QAAQ,EAAE;QACR,eAAe;QACf,eAAe;QACf,cAAc;QACd,mBAAmB;QACnB,QAAQ;QACR,aAAa;KACd;IACD,OAAO,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC;IAC9D,QAAQ,EAAE,CAAC,QAAQ,CAAC;IACpB,IAAI,EAAE;QACJ,cAAc;QACd,iBAAiB;QACjB,kBAAkB;QAClB,iBAAiB;QACjB,MAAM;QACN,QAAQ;KACT;IACD,SAAS,EAAE;QACT,cAAc;QACd,iBAAiB;QACjB,kBAAkB;QAClB,iBAAiB;QACjB,MAAM;QACN,QAAQ;KACT;IACD,MAAM,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;CAG/D,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAW,EAAE,CAAA;AAEnC;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,KAAa;IACjC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAqB,EAAE,CAAC;QACzD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;QACvB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC,GAAG,CAAC,CAAA;YACrB,SAAQ;QACV,CAAC;QACD,0EAA0E;QAC1E,sEAAsE;QACtE,oDAAoD;QACpD,MAAM,MAAM,GAA4B,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAA;QAC7D,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,IAAI,EAAE,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;;gBACpC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;QACxB,CAAC;QACD,qEAAqE;QACrE,kDAAkD;QAClD,SAAS,CAAC,GAAG,CAAC,GAAG,MAAe,CAAA;IAClC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,IAAmB;IACvC,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC,IAAI,CAAC,CAAA;;QAE9B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAqB;YAC1D,OAAO,SAAS,CAAC,GAAG,CAAC,CAAA;AAC3B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type Complete, type MlDsa } from './engine.js';
|
|
2
|
+
/** @internal */
|
|
3
|
+
export declare const getPublicKey: Complete<MlDsa>['getPublicKey'];
|
|
4
|
+
/** @internal */
|
|
5
|
+
export declare const randomSecretKey: Complete<MlDsa>['randomSecretKey'];
|
|
6
|
+
/** @internal */
|
|
7
|
+
export declare const sign: Complete<MlDsa>['sign'];
|
|
8
|
+
/** @internal */
|
|
9
|
+
export declare const verify: Complete<MlDsa>['verify'];
|
|
10
|
+
//# sourceMappingURL=mlDsa44.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mlDsa44.d.ts","sourceRoot":"","sources":["../../../src/core/internal/mlDsa44.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAa,MAAM,aAAa,CAAA;AA+ClE,gBAAgB;AAChB,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,cAAc,CACa,CAAA;AAEtE,gBAAgB;AAChB,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,iBAAiB,CACG,CAAA;AAElE,gBAAgB;AAChB,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAC+B,CAAA;AAExE,gBAAgB;AAChB,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAW1C,CAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ml_dsa44 } from '@noble/post-quantum/ml-dsa.js';
|
|
2
|
+
import { randomBytes } from '@noble/post-quantum/utils.js';
|
|
3
|
+
import { overrides } from './engine.js';
|
|
4
|
+
/**
|
|
5
|
+
* Resolvers for the `MlDsa44` slot, and ox's defaults for it, backed by
|
|
6
|
+
* `@noble/post-quantum`.
|
|
7
|
+
*
|
|
8
|
+
* Declaring the defaults against the slot contract is what keeps them honest: a
|
|
9
|
+
* default that goes missing, or whose signature drifts, fails to compile rather
|
|
10
|
+
* than failing at the call site.
|
|
11
|
+
*/
|
|
12
|
+
const getPublicKeyDefault = (privateKey) => {
|
|
13
|
+
const { publicKey, secretKey } = ml_dsa44.keygen(privateKey);
|
|
14
|
+
secretKey.fill(0);
|
|
15
|
+
return publicKey;
|
|
16
|
+
};
|
|
17
|
+
const randomSecretKeyDefault = () => randomBytes(32);
|
|
18
|
+
const signDefault = (payload, privateKey, options) => {
|
|
19
|
+
const { context, extraEntropy } = options;
|
|
20
|
+
const { secretKey } = ml_dsa44.keygen(privateKey);
|
|
21
|
+
try {
|
|
22
|
+
// `true` is noble's default (fresh 32 random bytes), spelled by omission.
|
|
23
|
+
return ml_dsa44.sign(payload, secretKey, {
|
|
24
|
+
...(context ? { context } : {}),
|
|
25
|
+
...(extraEntropy === true ? {} : { extraEntropy }),
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
finally {
|
|
29
|
+
secretKey.fill(0);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
const verifyDefault = (signature, payload, publicKey, options) => ml_dsa44.verify(signature, payload, publicKey, options.context ? { context: options.context } : {});
|
|
33
|
+
/** @internal */
|
|
34
|
+
export const getPublicKey = (privateKey) => (overrides.MlDsa44?.getPublicKey ?? getPublicKeyDefault)(privateKey);
|
|
35
|
+
/** @internal */
|
|
36
|
+
export const randomSecretKey = () => (overrides.MlDsa44?.randomSecretKey ?? randomSecretKeyDefault)();
|
|
37
|
+
/** @internal */
|
|
38
|
+
export const sign = (payload, privateKey, options) => (overrides.MlDsa44?.sign ?? signDefault)(payload, privateKey, options);
|
|
39
|
+
/** @internal */
|
|
40
|
+
export const verify = (signature, payload, publicKey, options) => (overrides.MlDsa44?.verify ?? verifyDefault)(signature, payload, publicKey, options);
|
|
41
|
+
//# sourceMappingURL=mlDsa44.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mlDsa44.js","sourceRoot":"","sources":["../../../src/core/internal/mlDsa44.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAA6B,SAAS,EAAE,MAAM,aAAa,CAAA;AAElE;;;;;;;GAOG;AAEH,MAAM,mBAAmB,GAAoC,CAAC,UAAU,EAAE,EAAE;IAC1E,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAC5D,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAuC,GAAG,EAAE,CACtE,WAAW,CAAC,EAAE,CAAC,CAAA;AAEjB,MAAM,WAAW,GAA4B,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;IAC5E,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,OAAO,CAAA;IACzC,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACjD,IAAI,CAAC;QACH,0EAA0E;QAC1E,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE;YACvC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;SACnD,CAAC,CAAA;IACJ,CAAC;YAAS,CAAC;QACT,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;AACH,CAAC,CAAA;AAED,MAAM,aAAa,GAA8B,CAC/C,SAAS,EACT,OAAO,EACP,SAAS,EACT,OAAO,EACP,EAAE,CACF,QAAQ,CAAC,MAAM,CACb,SAAS,EACT,OAAO,EACP,SAAS,EACT,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CACpD,CAAA;AAEH,gBAAgB;AAChB,MAAM,CAAC,MAAM,YAAY,GAAoC,CAAC,UAAU,EAAE,EAAE,CAC1E,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,IAAI,mBAAmB,CAAC,CAAC,UAAU,CAAC,CAAA;AAEtE,gBAAgB;AAChB,MAAM,CAAC,MAAM,eAAe,GAAuC,GAAG,EAAE,CACtE,CAAC,SAAS,CAAC,OAAO,EAAE,eAAe,IAAI,sBAAsB,CAAC,EAAE,CAAA;AAElE,gBAAgB;AAChB,MAAM,CAAC,MAAM,IAAI,GAA4B,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,CAC5E,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,IAAI,WAAW,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;AAExE,gBAAgB;AAChB,MAAM,CAAC,MAAM,MAAM,GAA8B,CAC/C,SAAS,EACT,OAAO,EACP,SAAS,EACT,OAAO,EACP,EAAE,CACF,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,IAAI,aAAa,CAAC,CAC1C,SAAS,EACT,OAAO,EACP,SAAS,EACT,OAAO,CACR,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1883,6 +1883,45 @@ export * as Kzg from './core/Kzg.js';
|
|
|
1883
1883
|
* @category Execution Spec
|
|
1884
1884
|
*/
|
|
1885
1885
|
export * as Log from './core/Log.js';
|
|
1886
|
+
/**
|
|
1887
|
+
* Utilities for working with ML-DSA-44 signatures and key pairs, as defined in [FIPS 204](https://csrc.nist.gov/pubs/fips/204/final).
|
|
1888
|
+
*
|
|
1889
|
+
* ML-DSA is a post-quantum digital signature scheme, standardized by NIST as the
|
|
1890
|
+
* primary quantum-resistant replacement for elliptic-curve signatures. The `44`
|
|
1891
|
+
* parameter set targets NIST security category 2 (128-bit classical security).
|
|
1892
|
+
*
|
|
1893
|
+
* Private keys are the 32-byte FIPS 204 seed. Public keys are 1,312 bytes and
|
|
1894
|
+
* signatures are 2,420 bytes.
|
|
1895
|
+
*
|
|
1896
|
+
* @example
|
|
1897
|
+
* ### Creating Key Pairs
|
|
1898
|
+
*
|
|
1899
|
+
* ```ts twoslash
|
|
1900
|
+
* import { MlDsa44 } from 'ox'
|
|
1901
|
+
*
|
|
1902
|
+
* const { privateKey, publicKey } = MlDsa44.createKeyPair()
|
|
1903
|
+
* ```
|
|
1904
|
+
*
|
|
1905
|
+
* @example
|
|
1906
|
+
* ### Signing & Verifying
|
|
1907
|
+
*
|
|
1908
|
+
* ```ts twoslash
|
|
1909
|
+
* import { MlDsa44 } from 'ox'
|
|
1910
|
+
*
|
|
1911
|
+
* const { privateKey, publicKey } = MlDsa44.createKeyPair()
|
|
1912
|
+
* const payload = '0xdeadbeef'
|
|
1913
|
+
*
|
|
1914
|
+
* const signature = MlDsa44.sign({ payload, privateKey })
|
|
1915
|
+
* const isValid = MlDsa44.verify({
|
|
1916
|
+
* payload,
|
|
1917
|
+
* publicKey,
|
|
1918
|
+
* signature
|
|
1919
|
+
* })
|
|
1920
|
+
* ```
|
|
1921
|
+
*
|
|
1922
|
+
* @category Post Quantum
|
|
1923
|
+
*/
|
|
1924
|
+
export * as MlDsa44 from './core/MlDsa44.js';
|
|
1886
1925
|
/**
|
|
1887
1926
|
* Utility functions for generating and working with [BIP-39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki) mnemonics.
|
|
1888
1927
|
*
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1883,6 +1883,45 @@ export * as Kzg from './core/Kzg.js';
|
|
|
1883
1883
|
* @category Execution Spec
|
|
1884
1884
|
*/
|
|
1885
1885
|
export * as Log from './core/Log.js';
|
|
1886
|
+
/**
|
|
1887
|
+
* Utilities for working with ML-DSA-44 signatures and key pairs, as defined in [FIPS 204](https://csrc.nist.gov/pubs/fips/204/final).
|
|
1888
|
+
*
|
|
1889
|
+
* ML-DSA is a post-quantum digital signature scheme, standardized by NIST as the
|
|
1890
|
+
* primary quantum-resistant replacement for elliptic-curve signatures. The `44`
|
|
1891
|
+
* parameter set targets NIST security category 2 (128-bit classical security).
|
|
1892
|
+
*
|
|
1893
|
+
* Private keys are the 32-byte FIPS 204 seed. Public keys are 1,312 bytes and
|
|
1894
|
+
* signatures are 2,420 bytes.
|
|
1895
|
+
*
|
|
1896
|
+
* @example
|
|
1897
|
+
* ### Creating Key Pairs
|
|
1898
|
+
*
|
|
1899
|
+
* ```ts twoslash
|
|
1900
|
+
* import { MlDsa44 } from 'ox'
|
|
1901
|
+
*
|
|
1902
|
+
* const { privateKey, publicKey } = MlDsa44.createKeyPair()
|
|
1903
|
+
* ```
|
|
1904
|
+
*
|
|
1905
|
+
* @example
|
|
1906
|
+
* ### Signing & Verifying
|
|
1907
|
+
*
|
|
1908
|
+
* ```ts twoslash
|
|
1909
|
+
* import { MlDsa44 } from 'ox'
|
|
1910
|
+
*
|
|
1911
|
+
* const { privateKey, publicKey } = MlDsa44.createKeyPair()
|
|
1912
|
+
* const payload = '0xdeadbeef'
|
|
1913
|
+
*
|
|
1914
|
+
* const signature = MlDsa44.sign({ payload, privateKey })
|
|
1915
|
+
* const isValid = MlDsa44.verify({
|
|
1916
|
+
* payload,
|
|
1917
|
+
* publicKey,
|
|
1918
|
+
* signature
|
|
1919
|
+
* })
|
|
1920
|
+
* ```
|
|
1921
|
+
*
|
|
1922
|
+
* @category Post Quantum
|
|
1923
|
+
*/
|
|
1924
|
+
export * as MlDsa44 from './core/MlDsa44.js';
|
|
1886
1925
|
/**
|
|
1887
1926
|
* Utility functions for generating and working with [BIP-39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki) mnemonics.
|
|
1888
1927
|
*
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as Address from '../core/Address.js';
|
|
2
|
+
import * as Hex from '../core/Hex.js';
|
|
3
|
+
/**
|
|
4
|
+
* Derives the sender tag that identifies the indexed parent-chain
|
|
5
|
+
* `WithdrawalProcessed` event for a Zone withdrawal.
|
|
6
|
+
*
|
|
7
|
+
* The `transactionHash` is the Zone transaction containing the
|
|
8
|
+
* `ZoneOutbox.requestWithdrawal` call. The protocol defines the sender tag as
|
|
9
|
+
* `keccak256(abi.encodePacked(sender, transactionHash))`.
|
|
10
|
+
*
|
|
11
|
+
* [Authenticated Withdrawals Specification](https://github.com/tempoxyz/zones/blob/main/specs/spec.md#authenticated-withdrawals)
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts twoslash
|
|
15
|
+
* import { WithdrawalSenderTag } from 'ox/tempo'
|
|
16
|
+
*
|
|
17
|
+
* const senderTag = WithdrawalSenderTag.from({
|
|
18
|
+
* sender: '0x1234567890abcdef1234567890abcdef12345678',
|
|
19
|
+
* transactionHash:
|
|
20
|
+
* '0xabababababababababababababababababababababababababababababababab'
|
|
21
|
+
* })
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* @param value - Withdrawal sender and Zone transaction hash.
|
|
25
|
+
* @returns The sender tag.
|
|
26
|
+
*/
|
|
27
|
+
export declare function from(value: from.Value): Hex.Hex;
|
|
28
|
+
export declare namespace from {
|
|
29
|
+
type Value = {
|
|
30
|
+
/** Address that requested the withdrawal. */
|
|
31
|
+
sender: Address.Address;
|
|
32
|
+
/** Hash of the Zone transaction containing `ZoneOutbox.requestWithdrawal`. */
|
|
33
|
+
transactionHash: Hex.Hex;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=WithdrawalSenderTag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WithdrawalSenderTag.d.ts","sourceRoot":"","sources":["../../src/tempo/WithdrawalSenderTag.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAE7C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AAErC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAQ/C;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,KAAY,KAAK,GAAG;QAClB,6CAA6C;QAC7C,MAAM,EAAE,OAAO,CAAC,OAAO,CAAA;QACvB,8EAA8E;QAC9E,eAAe,EAAE,GAAG,CAAC,GAAG,CAAA;KACzB,CAAA;CACF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as AbiParameters from '../core/AbiParameters.js';
|
|
2
|
+
import * as Hash from '../core/Hash.js';
|
|
3
|
+
/**
|
|
4
|
+
* Derives the sender tag that identifies the indexed parent-chain
|
|
5
|
+
* `WithdrawalProcessed` event for a Zone withdrawal.
|
|
6
|
+
*
|
|
7
|
+
* The `transactionHash` is the Zone transaction containing the
|
|
8
|
+
* `ZoneOutbox.requestWithdrawal` call. The protocol defines the sender tag as
|
|
9
|
+
* `keccak256(abi.encodePacked(sender, transactionHash))`.
|
|
10
|
+
*
|
|
11
|
+
* [Authenticated Withdrawals Specification](https://github.com/tempoxyz/zones/blob/main/specs/spec.md#authenticated-withdrawals)
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts twoslash
|
|
15
|
+
* import { WithdrawalSenderTag } from 'ox/tempo'
|
|
16
|
+
*
|
|
17
|
+
* const senderTag = WithdrawalSenderTag.from({
|
|
18
|
+
* sender: '0x1234567890abcdef1234567890abcdef12345678',
|
|
19
|
+
* transactionHash:
|
|
20
|
+
* '0xabababababababababababababababababababababababababababababababab'
|
|
21
|
+
* })
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* @param value - Withdrawal sender and Zone transaction hash.
|
|
25
|
+
* @returns The sender tag.
|
|
26
|
+
*/
|
|
27
|
+
export function from(value) {
|
|
28
|
+
const { sender, transactionHash } = value;
|
|
29
|
+
return Hash.keccak256(AbiParameters.encodePacked(['address', 'bytes32'], [sender, transactionHash]));
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=WithdrawalSenderTag.js.map
|