@sig-net/midnight 0.0.5 → 0.0.6
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/README.md +20 -15
- package/dist/ecdsa.d.ts +114 -0
- package/dist/ecdsa.d.ts.map +1 -0
- package/dist/ecdsa.js +145 -0
- package/dist/ecdsa.js.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/managed/compiler/contract-info.json +2 -49
- package/dist/managed/compiler/contract-manifest.json +8 -8
- package/dist/managed/contract/index.d.ts +2 -13
- package/dist/managed/contract/index.js +58 -161
- package/dist/managed/contract/index.js.map +2 -2
- package/dist/signet-contract-state-reader.d.ts +18 -14
- package/dist/signet-contract-state-reader.d.ts.map +1 -1
- package/dist/signet-contract-state-reader.js +10 -12
- package/dist/signet-contract-state-reader.js.map +1 -1
- package/dist/signet-request-response-reader.d.ts +4 -4
- package/dist/signet-request-response-reader.js +4 -4
- package/dist/signet-requests.js +1 -1
- package/dist/signet-requests.js.map +1 -1
- package/package.json +1 -1
- package/src/Signet.compact +47 -37
- package/src/circuits.compact +6 -8
- package/dist/schnorr.d.ts +0 -100
- package/dist/schnorr.d.ts.map +0 -1
- package/dist/schnorr.js +0 -144
- package/dist/schnorr.js.map +0 -1
- package/src/Schnorr.compact +0 -63
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
// (field 3), notification registry (field 4). The generic state-tree walk
|
|
10
10
|
// (RawContractState, signetFieldNode) and the shared base descriptors live in
|
|
11
11
|
// signature-state-reading.ts.
|
|
12
|
-
import { CompactTypeBytes,
|
|
12
|
+
import { CompactTypeBytes, CompactTypeUnsignedInteger, } from "@midnight-ntwrk/compact-runtime";
|
|
13
13
|
import { bytesToHex, requestIdHex, } from "./signet-requests.js";
|
|
14
14
|
import { requestIdType, signetFieldNode, u64, } from "./signature-state-reading.js";
|
|
15
15
|
/** Signet contract layout: the signature response counter index is ledger field 0. */
|
|
@@ -108,8 +108,9 @@ export const signetResponseKeyType = {
|
|
|
108
108
|
};
|
|
109
109
|
/**
|
|
110
110
|
* Hand-composed descriptor for {@link RespondBidirectional}. Field
|
|
111
|
-
* order (serializedOutput, outputLen,
|
|
112
|
-
* the
|
|
111
|
+
* order (serializedOutput, outputLen, sigR, sigS) must match the Compact
|
|
112
|
+
* struct — the signature scalars are stored as `Bytes<32>`, not
|
|
113
|
+
* `Secp256k1Scalar`.
|
|
113
114
|
*/
|
|
114
115
|
export const respondBidirectionalType = {
|
|
115
116
|
/** @returns Compound alignment of the struct's fields in declaration order. */
|
|
@@ -117,9 +118,8 @@ export const respondBidirectionalType = {
|
|
|
117
118
|
return bytes128
|
|
118
119
|
.alignment()
|
|
119
120
|
.concat(u8.alignment())
|
|
120
|
-
.concat(
|
|
121
|
-
.concat(
|
|
122
|
-
.concat(CompactTypeField.alignment());
|
|
121
|
+
.concat(bytes32.alignment())
|
|
122
|
+
.concat(bytes32.alignment());
|
|
123
123
|
},
|
|
124
124
|
/**
|
|
125
125
|
* Decode one attestation record from an aligned value, consuming it field
|
|
@@ -132,9 +132,8 @@ export const respondBidirectionalType = {
|
|
|
132
132
|
return {
|
|
133
133
|
serializedOutput: bytes128.fromValue(value),
|
|
134
134
|
outputLen: u8.fromValue(value),
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
response: CompactTypeField.fromValue(value),
|
|
135
|
+
sigR: bytes32.fromValue(value),
|
|
136
|
+
sigS: bytes32.fromValue(value),
|
|
138
137
|
};
|
|
139
138
|
},
|
|
140
139
|
/**
|
|
@@ -147,9 +146,8 @@ export const respondBidirectionalType = {
|
|
|
147
146
|
return bytes128
|
|
148
147
|
.toValue(record.serializedOutput)
|
|
149
148
|
.concat(u8.toValue(record.outputLen))
|
|
150
|
-
.concat(
|
|
151
|
-
.concat(
|
|
152
|
-
.concat(CompactTypeField.toValue(record.response));
|
|
149
|
+
.concat(bytes32.toValue(record.sigR))
|
|
150
|
+
.concat(bytes32.toValue(record.sigS));
|
|
153
151
|
},
|
|
154
152
|
};
|
|
155
153
|
/** Descriptor for the notification's packed V1 payload (`Bytes<65>`). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signet-contract-state-reader.js","sourceRoot":"","sources":["../src/signet-contract-state-reader.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,uEAAuE;AACvE,6EAA6E;AAC7E,oEAAoE;AACpE,yEAAyE;AACzE,6EAA6E;AAC7E,qEAAqE;AACrE,wEAAwE;AACxE,0EAA0E;AAC1E,8EAA8E;AAC9E,8BAA8B;AAE9B,OAAO,EACL,gBAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"signet-contract-state-reader.js","sourceRoot":"","sources":["../src/signet-contract-state-reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -153,10 +153,10 @@ export declare class SignetRequestResponseReader {
|
|
|
153
153
|
/**
|
|
154
154
|
* Fetch the MPC's respond-bidirectional attestation for `requestId`,
|
|
155
155
|
* if posted. The signet contract verified it IN-CIRCUIT at post time
|
|
156
|
-
* (
|
|
157
|
-
* the sealed MPC key), so it is
|
|
158
|
-
* verification or verdicts — `undefined`
|
|
159
|
-
* again.
|
|
156
|
+
* (secp256k1 ECDSA over `signetAttestationMessage(requestId,
|
|
157
|
+
* serializedOutput, outputLen)` against the sealed MPC key), so it is
|
|
158
|
+
* single-slot and needs no off-chain verification or verdicts — `undefined`
|
|
159
|
+
* simply means not posted yet, poll again.
|
|
160
160
|
*
|
|
161
161
|
* @param requestId - The request id whose attestation to fetch.
|
|
162
162
|
* @returns The attestation record, or `undefined` when none is posted.
|
|
@@ -181,10 +181,10 @@ export class SignetRequestResponseReader {
|
|
|
181
181
|
/**
|
|
182
182
|
* Fetch the MPC's respond-bidirectional attestation for `requestId`,
|
|
183
183
|
* if posted. The signet contract verified it IN-CIRCUIT at post time
|
|
184
|
-
* (
|
|
185
|
-
* the sealed MPC key), so it is
|
|
186
|
-
* verification or verdicts — `undefined`
|
|
187
|
-
* again.
|
|
184
|
+
* (secp256k1 ECDSA over `signetAttestationMessage(requestId,
|
|
185
|
+
* serializedOutput, outputLen)` against the sealed MPC key), so it is
|
|
186
|
+
* single-slot and needs no off-chain verification or verdicts — `undefined`
|
|
187
|
+
* simply means not posted yet, poll again.
|
|
188
188
|
*
|
|
189
189
|
* @param requestId - The request id whose attestation to fetch.
|
|
190
190
|
* @returns The attestation record, or `undefined` when none is posted.
|
package/dist/signet-requests.js
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
import { CompactTypeBoolean, CompactTypeBytes, CompactTypeEnum, CompactTypeUnsignedInteger, CompactTypeVector, persistentHash, } from "@midnight-ntwrk/compact-runtime";
|
|
17
17
|
import { getAddress, getBytes, Signature, Transaction } from "ethers";
|
|
18
18
|
import { asciiPadded } from "./constants.js";
|
|
19
|
-
import { bigintToBytes32, bytesToBigint } from "./
|
|
19
|
+
import { bigintToBytes32, bytesToBigint } from "./ecdsa.js";
|
|
20
20
|
/**
|
|
21
21
|
* Which transaction-param decomposition a request carries (Compact:
|
|
22
22
|
* `enum TxParamType`), as the generated code represents enums: a `number`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signet-requests.js","sourceRoot":"","sources":["../src/signet-requests.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"signet-requests.js","sourceRoot":"","sources":["../src/signet-requests.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/Signet.compact
CHANGED
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
// field position of its request index, so the MPC reads the authenticated
|
|
10
10
|
// request from there, re-assembles and signs the EVM transaction with the
|
|
11
11
|
// caller's derived key, and posts its responses back to the central signet
|
|
12
|
-
// contract
|
|
13
|
-
// transaction), then, after watching the remote execution, the
|
|
12
|
+
// contract: first the signature (the client broadcasts the signed
|
|
13
|
+
// transaction), then, after watching the remote execution, the ECDSA-signed
|
|
14
14
|
// respond-bidirectional attestation of its result. Clients poll the central
|
|
15
15
|
// contract's response indexes by request id. Requests and both response kinds
|
|
16
16
|
// are counterparts and are defined side by side here; the pure circuits that
|
|
@@ -154,8 +154,12 @@ module Signet {
|
|
|
154
154
|
|
|
155
155
|
// The counterpart to SignatureResponse, posted by the MPC after
|
|
156
156
|
// it observes execution of the signed transaction on the destination chain.
|
|
157
|
-
// This response contains execution output and
|
|
158
|
-
//
|
|
157
|
+
// This response contains execution output and a secp256k1 ECDSA attestation
|
|
158
|
+
// as to its authenticity. The attestation is verified IN-CIRCUIT against the
|
|
159
|
+
// signet contract's sealed MPC key (secp256k1EcdsaVerify), signed over
|
|
160
|
+
// signetAttestationMessage(requestId, serializedOutput, outputLen). The
|
|
161
|
+
// signing public key is passed alongside as a circuit argument, not stored
|
|
162
|
+
// here — it is pinned by hash against the sealed mpcPubKeyHash.
|
|
159
163
|
export struct RespondBidirectional {
|
|
160
164
|
// ABI-encoded return data of the remote call (canonical
|
|
161
165
|
// serialized_output), zero-padded. First 32-byte word == 1 signals
|
|
@@ -166,16 +170,13 @@ module Signet {
|
|
|
166
170
|
// Meaningful byte count of serializedOutput.
|
|
167
171
|
outputLen: Uint<8>;
|
|
168
172
|
|
|
169
|
-
//
|
|
170
|
-
//
|
|
171
|
-
//
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
// Schnorr response scalar s.
|
|
178
|
-
response: Field;
|
|
173
|
+
// ECDSA signature scalars r and s as LITTLE-ENDIAN 32-byte values (the byte
|
|
174
|
+
// order the `Secp256k1Scalar as Bytes<32>` cast produces). A Secp256k1Scalar
|
|
175
|
+
// cannot itself reside in ledger state (the compiler rejects it), so the
|
|
176
|
+
// stored record carries bytes and the verifying circuits cast them back with
|
|
177
|
+
// `as Secp256k1Scalar` before calling secp256k1EcdsaVerify.
|
|
178
|
+
sigR: Bytes<32>;
|
|
179
|
+
sigS: Bytes<32>;
|
|
179
180
|
}
|
|
180
181
|
|
|
181
182
|
// The EVM transaction to be signed, decomposed into typed fields
|
|
@@ -278,16 +279,21 @@ module Signet {
|
|
|
278
279
|
// field 4: SignBidirectionalNotificationIndex
|
|
279
280
|
//
|
|
280
281
|
// Each store gets the defense its contents allow:
|
|
281
|
-
// - Signature responses
|
|
282
|
-
//
|
|
283
|
-
//
|
|
284
|
-
//
|
|
285
|
-
//
|
|
286
|
-
//
|
|
287
|
-
//
|
|
288
|
-
//
|
|
289
|
-
//
|
|
290
|
-
//
|
|
282
|
+
// - Signature responses over the EVM transaction are NOT verified
|
|
283
|
+
// in-circuit — by design, to avoid the proving cost of an ECDSA check on
|
|
284
|
+
// every posted signature — so their log is UNAUTHENTICATED and
|
|
285
|
+
// append-only: each post lands under a fresh (requestId, count) key; a
|
|
286
|
+
// rogue poster can add noise but never overwrite or block the genuine
|
|
287
|
+
// response. Clients poll a request's entries by request id and verify
|
|
288
|
+
// each signature off-chain.
|
|
289
|
+
// - Respond-bidirectional attestations are secp256k1 ECDSA verified
|
|
290
|
+
// IN-CIRCUIT (secp256k1EcdsaVerify) at post time against the sealed MPC
|
|
291
|
+
// key hash. Garbage cannot land; one authenticated slot per request
|
|
292
|
+
// suffices, first VALID write wins. (secp256k1EcdsaVerify does not
|
|
293
|
+
// enforce low-s, so the malleated twin (r, n-s) also verifies — re-posts
|
|
294
|
+
// can differ byte-for-byte, which is exactly why the slot is keyed by
|
|
295
|
+
// request id and the first valid write is kept.) Clients poll the slot by
|
|
296
|
+
// request id.
|
|
291
297
|
// - Notifications are UNAUTHENTICATED pointers ("contract X stored
|
|
292
298
|
// request Y at index field Z"): anyone may register one, so the MPC
|
|
293
299
|
// never trusts a notification's content — it authenticates by reading
|
|
@@ -349,11 +355,17 @@ module Signet {
|
|
|
349
355
|
|
|
350
356
|
// ---- Respond-bidirectional attestation message ------------------------------
|
|
351
357
|
|
|
352
|
-
// The
|
|
353
|
-
// (requestId, hash(serializedOutput,
|
|
354
|
-
//
|
|
355
|
-
//
|
|
356
|
-
//
|
|
358
|
+
// The 32-byte digest the MPC ECDSA-signs to attest a remote execution:
|
|
359
|
+
// the domain-separated persistent hash of (requestId, hash(serializedOutput,
|
|
360
|
+
// outputLen)). The inner hash binds the output TOGETHER WITH its length, so
|
|
361
|
+
// neither can be swapped under a reused signature. The "signet:midnight:attest"
|
|
362
|
+
// domain tag partitions this digest from the EVM transaction hashes the SAME
|
|
363
|
+
// secp256k1 MPC key signs, so an attestation signature can never be replayed as
|
|
364
|
+
// a transaction signature or vice versa.
|
|
365
|
+
//
|
|
366
|
+
// The digest is passed straight to secp256k1EcdsaVerify as msgHash (interpreted
|
|
367
|
+
// big-endian, RFC 6979 convention — no byte reversal).
|
|
368
|
+
//
|
|
357
369
|
// ONE implementation for everyone: the signet contract verifies posts
|
|
358
370
|
// against it, requester contracts (e.g. the vault's claim) re-verify against it, and
|
|
359
371
|
// off-chain signers call the compiled copy (via circuits.compact) — never
|
|
@@ -362,18 +374,16 @@ module Signet {
|
|
|
362
374
|
requestId: RequestId,
|
|
363
375
|
serializedOutput: Bytes<128>,
|
|
364
376
|
outputLen: Uint<8>
|
|
365
|
-
):
|
|
366
|
-
const rid = requestId as Bytes<32>;
|
|
377
|
+
): Bytes<32> {
|
|
367
378
|
const outHash = persistentHash<Vector<2, Bytes<32>>>([
|
|
368
379
|
persistentHash<Bytes<128>>(serializedOutput),
|
|
369
380
|
outputLen as Field as Bytes<32>
|
|
370
381
|
]);
|
|
371
|
-
return [
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
];
|
|
382
|
+
return persistentHash<Vector<3, Bytes<32>>>([
|
|
383
|
+
pad(32, "signet:midnight:attest"),
|
|
384
|
+
requestId as Bytes<32>,
|
|
385
|
+
outHash
|
|
386
|
+
]);
|
|
377
387
|
}
|
|
378
388
|
|
|
379
389
|
// ---- Path <-> identity binding ---------------------------------------------
|
package/src/circuits.compact
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
pragma language_version >= 0.25;
|
|
2
2
|
|
|
3
|
-
// Compiled export surface of the Signet
|
|
3
|
+
// Compiled export surface of the Signet module.
|
|
4
4
|
//
|
|
5
|
-
// Signet.compact
|
|
6
|
-
//
|
|
7
|
-
// contract-less program re-exports the
|
|
5
|
+
// Signet.compact must stay a module-only file (that is what lets contracts
|
|
6
|
+
// import it), but a bare module compiles to nothing. This
|
|
7
|
+
// contract-less program re-exports the module's pure circuits so the compiler
|
|
8
8
|
// emits them as pureCircuits in managed/contract/index.js — giving the
|
|
9
9
|
// package an in-process, provable-logic-identical reference implementation:
|
|
10
10
|
// unit tests exercise the REAL circuits, and off-chain code (path checks,
|
|
11
|
-
//
|
|
11
|
+
// attestation messages, notification packing) reuses them
|
|
12
12
|
// instead of hand-porting the algorithms. Off-chain code only ever DECODES a
|
|
13
13
|
// SignBidirectionalNotification (fixed-offset byte reads), but tests build
|
|
14
14
|
// fixtures with the compiled packer to pin the pack<->decode lockstep.
|
|
@@ -27,13 +27,11 @@ pragma language_version >= 0.25;
|
|
|
27
27
|
|
|
28
28
|
import CompactStandardLibrary;
|
|
29
29
|
import "./Signet";
|
|
30
|
-
import "./Schnorr";
|
|
31
30
|
|
|
32
31
|
export {
|
|
33
32
|
signetAttestationMessage,
|
|
34
33
|
assertHexOf,
|
|
35
34
|
assertPathCommitment,
|
|
36
35
|
constructSignBidirectionalNotificationV1,
|
|
37
|
-
evmAddressAbiValue
|
|
38
|
-
schnorrChallenge
|
|
36
|
+
evmAddressAbiValue
|
|
39
37
|
};
|
package/dist/schnorr.d.ts
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { type JubjubPoint } from "@midnight-ntwrk/compact-runtime";
|
|
2
|
-
export type { JubjubPoint } from "@midnight-ntwrk/compact-runtime";
|
|
3
|
-
/** Jubjub curve scalar field order (group order of the generator). */
|
|
4
|
-
export declare const JUBJUB_ORDER = 6554484396890773809930967563523245729705921265872317281365359162392183254199n;
|
|
5
|
-
/** BLS12-381 scalar field order (the Compact `Field` type modulus). */
|
|
6
|
-
export declare const BLS_ORDER = 52435875175126190479447740508185965837690552500527637822603658699938581184513n;
|
|
7
|
-
/**
|
|
8
|
-
* Convert little-endian bytes to a bigint. Matches Compact's
|
|
9
|
-
* `Bytes<32> as Field` interpretation (and the MPC monitor's ABI-word
|
|
10
|
-
* decoding convention).
|
|
11
|
-
*
|
|
12
|
-
* @param bytes - Little-endian byte array.
|
|
13
|
-
* @returns The decoded non-negative integer.
|
|
14
|
-
*/
|
|
15
|
-
export declare function bytesToBigint(bytes: Uint8Array): bigint;
|
|
16
|
-
/**
|
|
17
|
-
* Convert a bigint to exactly 32 little-endian bytes. Matches Compact's
|
|
18
|
-
* `Field as Bytes<32>` encoding (the inverse of {@link bytesToBigint});
|
|
19
|
-
* negative inputs are interpreted in the BLS scalar field.
|
|
20
|
-
*
|
|
21
|
-
* @param n - The integer to encode.
|
|
22
|
-
* @returns The 32-byte little-endian encoding.
|
|
23
|
-
*/
|
|
24
|
-
export declare function bigintToBytes32(n: bigint): Uint8Array;
|
|
25
|
-
/** A Jubjub keypair: the secret scalar and its public curve point. */
|
|
26
|
-
export interface JubjubKeypair {
|
|
27
|
-
/** Secret scalar in `[1, JUBJUB_ORDER - 1]`. */
|
|
28
|
-
sk: bigint;
|
|
29
|
-
/** Public key: `sk * G` on Jubjub. */
|
|
30
|
-
pk: JubjubPoint;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Derive a Jubjub keypair from a seed — the same derivation the MPC server
|
|
34
|
-
* performs on its root key, so this MUST stay bit-identical to it:
|
|
35
|
-
* `sk = (persistentHash([pad32("jubjub:auth:"), seed]) mod (order - 1)) + 1`,
|
|
36
|
-
* `pk = sk * G`.
|
|
37
|
-
*
|
|
38
|
-
* @param seed - Seed bytes (e.g. the 32-byte MPC root key).
|
|
39
|
-
* @returns The derived {@link JubjubKeypair}.
|
|
40
|
-
*/
|
|
41
|
-
export declare function deriveJubjubKeypair(seed: Uint8Array): JubjubKeypair;
|
|
42
|
-
/**
|
|
43
|
-
* A Schnorr signature (TS twin of CompactStandardLibrary's
|
|
44
|
-
* `JubjubSchnorrSignature`).
|
|
45
|
-
*/
|
|
46
|
-
export interface SchnorrSignature {
|
|
47
|
-
/** Nonce commitment R = k * G. */
|
|
48
|
-
announcement: JubjubPoint;
|
|
49
|
-
/** Signature scalar s = (k + c * sk) mod JUBJUB_ORDER. */
|
|
50
|
-
response: bigint;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Computes the Schnorr challenge (the Poseidon transientHash output reduced
|
|
54
|
-
* into Jubjub's scalar field, exactly as `jubjubSchnorrVerify` computes it).
|
|
55
|
-
* ALWAYS inject the compiled circuit — signet-midnight's own
|
|
56
|
-
* `pureCircuits.schnorrChallenge` — never a TS re-implementation; keeping it
|
|
57
|
-
* injected keeps this signer decoupled from any one compiled artifact.
|
|
58
|
-
*/
|
|
59
|
-
export type SchnorrChallengeFn = (annX: bigint, annY: bigint, pkX: bigint, pkY: bigint, msg: bigint[]) => bigint;
|
|
60
|
-
/**
|
|
61
|
-
* Sign a message with Schnorr on Jubjub, matching CompactStandardLibrary's
|
|
62
|
-
* `jubjubSchnorrVerify`: `c = challenge` (already reduced into Jubjub's
|
|
63
|
-
* scalar field by the compiled circuit), `s = (k + c * sk) mod JUBJUB_ORDER`.
|
|
64
|
-
* For signet attestations the message is the compiled
|
|
65
|
-
* `pureCircuits.signetAttestationMessage(requestId, outputData)`.
|
|
66
|
-
*
|
|
67
|
-
* @param sk - Jubjub private key scalar.
|
|
68
|
-
* @param msg - Message field limbs.
|
|
69
|
-
* @param schnorrChallenge - The compiled `pureCircuits.schnorrChallenge`.
|
|
70
|
-
* @returns The signature (announcement R, response s).
|
|
71
|
-
* @throws Error if `sk` reduces to zero mod the Jubjub order.
|
|
72
|
-
*/
|
|
73
|
-
export declare function schnorrSign(sk: bigint, msg: bigint[], schnorrChallenge: SchnorrChallengeFn): SchnorrSignature;
|
|
74
|
-
/**
|
|
75
|
-
* Hash a Jubjub point exactly as the circuits do (`persistentHash<JubjubPoint>`)
|
|
76
|
-
* — the form the signet contract seals as `mpcPubKeyHash`.
|
|
77
|
-
*
|
|
78
|
-
* @param point - The point to hash.
|
|
79
|
-
* @returns The 32-byte hash.
|
|
80
|
-
*/
|
|
81
|
-
export declare function hashJubjubPoint(point: JubjubPoint): Uint8Array;
|
|
82
|
-
/**
|
|
83
|
-
* Parse a Jubjub public key from its `"x,y"` config/env form (decimal or
|
|
84
|
-
* 0x-hex field coordinates) — how deploys receive `MPC_JUBJUB_PK`.
|
|
85
|
-
*
|
|
86
|
-
* @param value - The `"x,y"` string.
|
|
87
|
-
* @returns The parsed point.
|
|
88
|
-
* @throws Error if the value is not two comma-separated field coordinates.
|
|
89
|
-
*/
|
|
90
|
-
export declare function parseJubjubPublicKey(value: string): JubjubPoint;
|
|
91
|
-
/**
|
|
92
|
-
* Format a Jubjub public key as the `"x,y"` decimal config/env form that
|
|
93
|
-
* {@link parseJubjubPublicKey} accepts — the round-trip inverse, for handing
|
|
94
|
-
* a derived key to deploys as `MPC_JUBJUB_PK`.
|
|
95
|
-
*
|
|
96
|
-
* @param point - The point to format.
|
|
97
|
-
* @returns The `"x,y"` string with decimal coordinates.
|
|
98
|
-
*/
|
|
99
|
-
export declare function formatJubjubPublicKey(point: JubjubPoint): string;
|
|
100
|
-
//# sourceMappingURL=schnorr.d.ts.map
|
package/dist/schnorr.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schnorr.d.ts","sourceRoot":"","sources":["../src/schnorr.ts"],"names":[],"mappings":"AAiBA,OAAO,EAML,KAAK,WAAW,EACjB,MAAM,iCAAiC,CAAC;AAKzC,YAAY,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE,sEAAsE;AACtE,eAAO,MAAM,YAAY,gFAAgF,CAAC;AAE1G,uEAAuE;AACvE,eAAO,MAAM,SAAS,iFAAiF,CAAC;AAKxG;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAMvD;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU,CAQrD;AAED,sEAAsE;AACtE,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,sCAAsC;IACtC,EAAE,EAAE,WAAW,CAAC;CACjB;AASD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,CAKnE;AAID;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kCAAkC;IAClC,YAAY,EAAE,WAAW,CAAC;IAC1B,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EAAE,KACV,MAAM,CAAC;AAEZ;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CACzB,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EAAE,EACb,gBAAgB,EAAE,kBAAkB,GACnC,gBAAgB,CAgBlB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,UAAU,CAE9D;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAU/D;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAEhE"}
|
package/dist/schnorr.js
DELETED
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
// Jubjub Schnorr helpers — the TS side of the shared Schnorr.compact module:
|
|
2
|
-
// key derivation, SIGNING (which needs the secret scalar, so it cannot be a
|
|
3
|
-
// circuit), and key parsing/hashing. Everything provable stays in Compact:
|
|
4
|
-
// the challenge is the COMPILED `pureCircuits.schnorrChallenge`, injected by
|
|
5
|
-
// callers (see SchnorrChallengeFn), and the attestation message is the
|
|
6
|
-
// compiled `pureCircuits.signetAttestationMessage` — this file never
|
|
7
|
-
// re-implements either. Verification lives in circuits only
|
|
8
|
-
// (CompactStandardLibrary's jubjubSchnorrVerify, run by the signet contract
|
|
9
|
-
// at post time).
|
|
10
|
-
//
|
|
11
|
-
// This belongs in github.com/sig-net/signet.js as its Midnight adapter —
|
|
12
|
-
// kept here until upstreamed. The math is Midnight-specific (Jubjub embedded
|
|
13
|
-
// in BLS12-381 via @midnight-ntwrk/compact-runtime EC ops), which is exactly
|
|
14
|
-
// why signet.js does not cover it today.
|
|
15
|
-
import { randomBytes } from "node:crypto";
|
|
16
|
-
import { CompactTypeBytes, CompactTypeJubjubPoint, CompactTypeVector, ecMulGenerator, persistentHash, } from "@midnight-ntwrk/compact-runtime";
|
|
17
|
-
/** Jubjub curve scalar field order (group order of the generator). */
|
|
18
|
-
export const JUBJUB_ORDER = 6554484396890773809930967563523245729705921265872317281365359162392183254199n;
|
|
19
|
-
/** BLS12-381 scalar field order (the Compact `Field` type modulus). */
|
|
20
|
-
export const BLS_ORDER = 52435875175126190479447740508185965837690552500527637822603658699938581184513n;
|
|
21
|
-
const bytes32Type = new CompactTypeBytes(32);
|
|
22
|
-
const vec2x32Type = new CompactTypeVector(2, bytes32Type);
|
|
23
|
-
/**
|
|
24
|
-
* Convert little-endian bytes to a bigint. Matches Compact's
|
|
25
|
-
* `Bytes<32> as Field` interpretation (and the MPC monitor's ABI-word
|
|
26
|
-
* decoding convention).
|
|
27
|
-
*
|
|
28
|
-
* @param bytes - Little-endian byte array.
|
|
29
|
-
* @returns The decoded non-negative integer.
|
|
30
|
-
*/
|
|
31
|
-
export function bytesToBigint(bytes) {
|
|
32
|
-
let result = 0n;
|
|
33
|
-
for (let i = bytes.length - 1; i >= 0; i--) {
|
|
34
|
-
result = (result << 8n) | BigInt(bytes[i]);
|
|
35
|
-
}
|
|
36
|
-
return result;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Convert a bigint to exactly 32 little-endian bytes. Matches Compact's
|
|
40
|
-
* `Field as Bytes<32>` encoding (the inverse of {@link bytesToBigint});
|
|
41
|
-
* negative inputs are interpreted in the BLS scalar field.
|
|
42
|
-
*
|
|
43
|
-
* @param n - The integer to encode.
|
|
44
|
-
* @returns The 32-byte little-endian encoding.
|
|
45
|
-
*/
|
|
46
|
-
export function bigintToBytes32(n) {
|
|
47
|
-
const buf = new Uint8Array(32);
|
|
48
|
-
let v = n < 0n ? n + BLS_ORDER : n;
|
|
49
|
-
for (let i = 0; i < 32; i++) {
|
|
50
|
-
buf[i] = Number(v & 0xffn);
|
|
51
|
-
v >>= 8n;
|
|
52
|
-
}
|
|
53
|
-
return buf;
|
|
54
|
-
}
|
|
55
|
-
/** Zero-pad an ASCII domain tag to 32 bytes (Compact `pad(32, ...)`). */
|
|
56
|
-
function pad32(tag) {
|
|
57
|
-
const padded = new Uint8Array(32);
|
|
58
|
-
new TextEncoder().encodeInto(tag, padded);
|
|
59
|
-
return padded;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Derive a Jubjub keypair from a seed — the same derivation the MPC server
|
|
63
|
-
* performs on its root key, so this MUST stay bit-identical to it:
|
|
64
|
-
* `sk = (persistentHash([pad32("jubjub:auth:"), seed]) mod (order - 1)) + 1`,
|
|
65
|
-
* `pk = sk * G`.
|
|
66
|
-
*
|
|
67
|
-
* @param seed - Seed bytes (e.g. the 32-byte MPC root key).
|
|
68
|
-
* @returns The derived {@link JubjubKeypair}.
|
|
69
|
-
*/
|
|
70
|
-
export function deriveJubjubKeypair(seed) {
|
|
71
|
-
const skBytes = persistentHash(vec2x32Type, [pad32("jubjub:auth:"), seed]);
|
|
72
|
-
const sk = (bytesToBigint(skBytes) % (JUBJUB_ORDER - 1n)) + 1n;
|
|
73
|
-
const pk = ecMulGenerator(sk);
|
|
74
|
-
return { sk, pk };
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Sign a message with Schnorr on Jubjub, matching CompactStandardLibrary's
|
|
78
|
-
* `jubjubSchnorrVerify`: `c = challenge` (already reduced into Jubjub's
|
|
79
|
-
* scalar field by the compiled circuit), `s = (k + c * sk) mod JUBJUB_ORDER`.
|
|
80
|
-
* For signet attestations the message is the compiled
|
|
81
|
-
* `pureCircuits.signetAttestationMessage(requestId, outputData)`.
|
|
82
|
-
*
|
|
83
|
-
* @param sk - Jubjub private key scalar.
|
|
84
|
-
* @param msg - Message field limbs.
|
|
85
|
-
* @param schnorrChallenge - The compiled `pureCircuits.schnorrChallenge`.
|
|
86
|
-
* @returns The signature (announcement R, response s).
|
|
87
|
-
* @throws Error if `sk` reduces to zero mod the Jubjub order.
|
|
88
|
-
*/
|
|
89
|
-
export function schnorrSign(sk, msg, schnorrChallenge) {
|
|
90
|
-
const skReduced = ((sk % JUBJUB_ORDER) + JUBJUB_ORDER) % JUBJUB_ORDER;
|
|
91
|
-
if (skReduced === 0n) {
|
|
92
|
-
throw new Error("Private key must be non-zero mod JUBJUB_ORDER");
|
|
93
|
-
}
|
|
94
|
-
const pk = ecMulGenerator(skReduced);
|
|
95
|
-
const k = (bytesToBigint(randomBytes(32)) % JUBJUB_ORDER) || 1n;
|
|
96
|
-
const announcement = ecMulGenerator(k);
|
|
97
|
-
// schnorrChallenge returns the challenge already reduced into Jubjub's
|
|
98
|
-
// scalar field — use it as-is.
|
|
99
|
-
const c = schnorrChallenge(announcement.x, announcement.y, pk.x, pk.y, msg);
|
|
100
|
-
const response = (((k + c * skReduced) % JUBJUB_ORDER) + JUBJUB_ORDER) % JUBJUB_ORDER;
|
|
101
|
-
return { announcement, response };
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Hash a Jubjub point exactly as the circuits do (`persistentHash<JubjubPoint>`)
|
|
105
|
-
* — the form the signet contract seals as `mpcPubKeyHash`.
|
|
106
|
-
*
|
|
107
|
-
* @param point - The point to hash.
|
|
108
|
-
* @returns The 32-byte hash.
|
|
109
|
-
*/
|
|
110
|
-
export function hashJubjubPoint(point) {
|
|
111
|
-
return persistentHash(CompactTypeJubjubPoint, point);
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Parse a Jubjub public key from its `"x,y"` config/env form (decimal or
|
|
115
|
-
* 0x-hex field coordinates) — how deploys receive `MPC_JUBJUB_PK`.
|
|
116
|
-
*
|
|
117
|
-
* @param value - The `"x,y"` string.
|
|
118
|
-
* @returns The parsed point.
|
|
119
|
-
* @throws Error if the value is not two comma-separated field coordinates.
|
|
120
|
-
*/
|
|
121
|
-
export function parseJubjubPublicKey(value) {
|
|
122
|
-
const parts = value.split(",").map((part) => part.trim());
|
|
123
|
-
if (parts.length !== 2 || parts.some((part) => part === "")) {
|
|
124
|
-
throw new Error(`expected a Jubjub public key as "x,y"; got "${value}"`);
|
|
125
|
-
}
|
|
126
|
-
try {
|
|
127
|
-
return { x: BigInt(parts[0]), y: BigInt(parts[1]) };
|
|
128
|
-
}
|
|
129
|
-
catch {
|
|
130
|
-
throw new Error(`Jubjub public key coordinates must be decimal or 0x-hex integers; got "${value}"`);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Format a Jubjub public key as the `"x,y"` decimal config/env form that
|
|
135
|
-
* {@link parseJubjubPublicKey} accepts — the round-trip inverse, for handing
|
|
136
|
-
* a derived key to deploys as `MPC_JUBJUB_PK`.
|
|
137
|
-
*
|
|
138
|
-
* @param point - The point to format.
|
|
139
|
-
* @returns The `"x,y"` string with decimal coordinates.
|
|
140
|
-
*/
|
|
141
|
-
export function formatJubjubPublicKey(point) {
|
|
142
|
-
return `${point.x},${point.y}`;
|
|
143
|
-
}
|
|
144
|
-
//# sourceMappingURL=schnorr.js.map
|
package/dist/schnorr.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schnorr.js","sourceRoot":"","sources":["../src/schnorr.ts"],"names":[],"mappings":"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"}
|