@sig-net/midnight 0.24.0 → 0.25.0-rc.1
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 +9 -8
- package/dist/abi-serde.d.ts +7 -5
- package/dist/abi-serde.d.ts.map +1 -1
- package/dist/abi-serde.js +9 -6
- package/dist/abi-serde.js.map +1 -1
- package/dist/compact-descriptors.d.ts +5 -7
- package/dist/compact-descriptors.d.ts.map +1 -1
- package/dist/compact-descriptors.js +7 -19
- package/dist/compact-descriptors.js.map +1 -1
- package/dist/constants.d.ts +7 -4
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +7 -4
- package/dist/constants.js.map +1 -1
- package/dist/ecdsa-attestation.d.ts +61 -12
- package/dist/ecdsa-attestation.d.ts.map +1 -1
- package/dist/ecdsa-attestation.js +92 -39
- package/dist/ecdsa-attestation.js.map +1 -1
- package/dist/epsilon-derivation.d.ts +9 -7
- package/dist/epsilon-derivation.d.ts.map +1 -1
- package/dist/epsilon-derivation.js +6 -5
- package/dist/epsilon-derivation.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/managed/compiler/contract-info.json +251 -143
- package/dist/managed/compiler/contract-manifest.json +8 -8
- package/dist/managed/contract/index.d.ts +75 -46
- package/dist/managed/contract/index.js +604 -585
- package/dist/managed/contract/index.js.map +1 -1
- package/dist/mpc-output-cache.d.ts +7 -5
- package/dist/mpc-output-cache.d.ts.map +1 -1
- package/dist/mpc-output-cache.js +6 -5
- package/dist/mpc-output-cache.js.map +1 -1
- package/dist/signet-contract-events.d.ts +20 -11
- package/dist/signet-contract-events.d.ts.map +1 -1
- package/dist/signet-contract-events.js +9 -6
- package/dist/signet-contract-events.js.map +1 -1
- package/dist/signet-evtype2tx-record-decoding.js +2 -2
- package/dist/signet-evtype2tx-requests.d.ts +3 -5
- package/dist/signet-evtype2tx-requests.d.ts.map +1 -1
- package/dist/signet-evtype2tx-requests.js +2 -4
- package/dist/signet-evtype2tx-requests.js.map +1 -1
- package/dist/signet-requests.d.ts +7 -6
- package/dist/signet-requests.d.ts.map +1 -1
- package/dist/signet-requests.js +2 -2
- package/dist/signet-requests.js.map +1 -1
- package/dist/testing.js +1 -1
- package/dist/testing.js.map +1 -1
- package/package.json +2 -2
- package/src/Signet.compact +138 -70
- package/src/circuits.compact +40 -32
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
// secp256k1 ECDSA helpers: the TS side of Signet.compact's respond flows:
|
|
2
2
|
// SIGNING (which needs the secret scalar, so it cannot be a circuit), key
|
|
3
3
|
// parsing/formatting, the signature-record codecs both respond events
|
|
4
|
-
// share, and the
|
|
4
|
+
// share, and the attested output hash's TS twin.
|
|
5
5
|
// Everything provable stays in Compact where possible: in-circuit
|
|
6
|
-
// verification is `verifyRespondBidirectionalEventV1
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
// the ONE sanctioned TS twin here,
|
|
10
|
-
// fixed-width oracle circuits
|
|
11
|
-
// tests/ecdsa-attestation.test.ts).
|
|
6
|
+
// verification is `verifyRespondBidirectionalEventV1`, and the attestation
|
|
7
|
+
// digest is the compiled `calculateSignetAttestationDigestV1`. The output
|
|
8
|
+
// hash circuit is size-generic and the compiler cannot export size-generic
|
|
9
|
+
// circuits top-level, so the output hash is the ONE sanctioned TS twin here,
|
|
10
|
+
// pinned byte-for-byte against the fixed-width oracle circuits
|
|
11
|
+
// circuits.compact exports (see tests/ecdsa-attestation.test.ts).
|
|
12
12
|
//
|
|
13
13
|
// This belongs in github.com/sig-net/signet.js as its Midnight adapter,
|
|
14
14
|
// kept here until upstreamed.
|
|
15
15
|
import { transientHash, upgradeFromTransient, } from "@midnight-ntwrk/compact-runtime";
|
|
16
16
|
import { secp256k1 } from "@noble/curves/secp256k1.js";
|
|
17
17
|
import { decodeBase58, Signature, toBeHex } from "ethers";
|
|
18
|
-
import { bigintToBytes32BE, bytesToBigintBE, stripHexPrefix } from "./byte-codecs.js";
|
|
19
|
-
import {
|
|
20
|
-
import { HashDomain } from "./managed/contract/index.js";
|
|
18
|
+
import { bigintToBytes32BE, bytesToBigintBE, bytesToHex, stripHexPrefix } from "./byte-codecs.js";
|
|
19
|
+
import { attestedOutputPreimageDescriptor } from "./compact-descriptors.js";
|
|
20
|
+
import { HashDomain, pureCircuits } from "./managed/contract/index.js";
|
|
21
21
|
/** secp256k1 curve (group) order n. */
|
|
22
22
|
export const SECP256K1_ORDER = secp256k1.Point.Fn.ORDER;
|
|
23
23
|
/**
|
|
@@ -270,27 +270,56 @@ export function secp256k1PublicKeyOf(secretKey) {
|
|
|
270
270
|
};
|
|
271
271
|
}
|
|
272
272
|
/**
|
|
273
|
-
* The
|
|
274
|
-
* `upgradeFromTransient(transientHash([HashDomain.
|
|
275
|
-
*
|
|
276
|
-
*
|
|
273
|
+
* The hash of a serialised execution output that the attestation digest
|
|
274
|
+
* commits to: `upgradeFromTransient(transientHash([HashDomain.attestedOutput, serializedOutput]))`.
|
|
275
|
+
* TS twin of the size-generic Compact circuit `calculateAttestedOutputHashV1`.
|
|
276
|
+
* The hash does not commit to the output's width (outputs that differ only
|
|
277
|
+
* in trailing zero bytes hash alike), so the attestation commits to the
|
|
278
|
+
* width separately and a verifier checks both.
|
|
279
|
+
*
|
|
280
|
+
* @param serializedOutput - The serialised execution output, exact unpadded bytes.
|
|
281
|
+
* @returns The 32-byte output hash.
|
|
282
|
+
*/
|
|
283
|
+
export function calculateAttestedOutputHash(serializedOutput) {
|
|
284
|
+
return upgradeFromTransient(transientHash(attestedOutputPreimageDescriptor(serializedOutput.length), [
|
|
285
|
+
HashDomain.attestedOutput,
|
|
286
|
+
serializedOutput,
|
|
287
|
+
]));
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Whether `serializedOutput` is the output an attestation declares: its width
|
|
291
|
+
* is `attestedOutputLength` and its {@link calculateAttestedOutputHash} is
|
|
292
|
+
* `attestedOutputHash`. TS twin of the size-generic Compact circuit
|
|
293
|
+
* `verifyAttestedOutputV1`. Both checks are needed, as the hash alone does not
|
|
294
|
+
* commit to the width. Proves nothing about the attestation itself: the length
|
|
295
|
+
* and hash must come from a post that passed
|
|
296
|
+
* {@link verifyRespondBidirectionalAttestation}.
|
|
297
|
+
*
|
|
298
|
+
* @param serializedOutput - The serialised execution output, exact unpadded bytes.
|
|
299
|
+
* @param attestedOutputLength - The attested output width, in bytes.
|
|
300
|
+
* @param attestedOutputHash - The attested 32-byte output hash.
|
|
301
|
+
* @returns Whether the output is the attested one.
|
|
302
|
+
*/
|
|
303
|
+
export function verifyAttestedOutput(serializedOutput, attestedOutputLength, attestedOutputHash) {
|
|
304
|
+
return (attestedOutputLength === BigInt(serializedOutput.length) &&
|
|
305
|
+
bytesToHex(attestedOutputHash) === bytesToHex(calculateAttestedOutputHash(serializedOutput)));
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* The attestation digest of a respond-bidirectional response for an output
|
|
309
|
+
* in hand: the compiled `calculateSignetAttestationDigestV1` over the
|
|
310
|
+
* output's width and {@link calculateAttestedOutputHash}. The 32-byte digest
|
|
311
|
+
* the MPC ECDSA-signs to attest a remote execution.
|
|
277
312
|
*
|
|
278
313
|
* @param requestId - The 32-byte request id the response answers.
|
|
279
|
-
* @param blockHeight - Height of the finalised
|
|
280
|
-
*
|
|
314
|
+
* @param blockHeight - Height of the finalised target-chain block holding the
|
|
315
|
+
* transaction the outcome describes (for unviable, the transaction that
|
|
316
|
+
* used up the replay protection), in the target chain's own numbering.
|
|
281
317
|
* @param outputKind - The MPC's verdict on the execution.
|
|
282
318
|
* @param serializedOutput - The serialised execution output, exact unpadded bytes.
|
|
283
319
|
* @returns The 32-byte attestation digest.
|
|
284
320
|
*/
|
|
285
321
|
export function calculateSignetAttestationDigest(requestId, blockHeight, outputKind, serializedOutput) {
|
|
286
|
-
return
|
|
287
|
-
HashDomain.attestationDigest,
|
|
288
|
-
requestId,
|
|
289
|
-
blockHeight,
|
|
290
|
-
outputKind,
|
|
291
|
-
BigInt(serializedOutput.length),
|
|
292
|
-
serializedOutput,
|
|
293
|
-
]));
|
|
322
|
+
return pureCircuits.calculateSignetAttestationDigestV1(requestId, blockHeight, outputKind, BigInt(serializedOutput.length), calculateAttestedOutputHash(serializedOutput));
|
|
294
323
|
}
|
|
295
324
|
/**
|
|
296
325
|
* Mint the record the MPC posts for an outcome: the attestation digest over
|
|
@@ -306,12 +335,15 @@ export function calculateSignetAttestationDigest(requestId, blockHeight, outputK
|
|
|
306
335
|
*/
|
|
307
336
|
export function attestRespondBidirectional(attestation, secretKey) {
|
|
308
337
|
const { requestId, blockHeight, outputKind, serializedOutput } = attestation;
|
|
309
|
-
const
|
|
338
|
+
const serializedOutputLength = BigInt(serializedOutput.length);
|
|
339
|
+
const outputHash = calculateAttestedOutputHash(serializedOutput);
|
|
340
|
+
const digest = pureCircuits.calculateSignetAttestationDigestV1(requestId, blockHeight, outputKind, serializedOutputLength, outputHash);
|
|
310
341
|
return {
|
|
311
342
|
requestId,
|
|
312
343
|
blockHeight,
|
|
313
344
|
outputKind,
|
|
314
|
-
serializedOutputLength
|
|
345
|
+
serializedOutputLength,
|
|
346
|
+
outputHash,
|
|
315
347
|
digest,
|
|
316
348
|
signature: ecdsaSignatureToMpcSignature(signAttestationDigest(digest, secretKey)),
|
|
317
349
|
};
|
|
@@ -354,32 +386,31 @@ export function respondBidirectionalEventToCircuitInput(event) {
|
|
|
354
386
|
};
|
|
355
387
|
}
|
|
356
388
|
/**
|
|
357
|
-
* Off-chain twin of the in-circuit `
|
|
358
|
-
* a posted respond-bidirectional attestation against the
|
|
359
|
-
*
|
|
360
|
-
*
|
|
361
|
-
*
|
|
362
|
-
*
|
|
363
|
-
* {@link
|
|
364
|
-
*
|
|
389
|
+
* Off-chain twin of the in-circuit `verifyRespondBidirectionalAttestationV1`:
|
|
390
|
+
* checks a posted respond-bidirectional attestation's signature against the
|
|
391
|
+
* contract's pinned MPC response key, over the request id, block height,
|
|
392
|
+
* output kind, output length and output hash the post declares, without the
|
|
393
|
+
* output. A post this accepts is an outcome the MPC attested for the request
|
|
394
|
+
* it names; the output it attests is checked by
|
|
395
|
+
* {@link verifyRespondBidirectionalSignature}. Takes the record as read off
|
|
396
|
+
* the ledger (big-endian). Malformed records return `false` rather than
|
|
365
397
|
* throwing.
|
|
366
398
|
*
|
|
367
|
-
* @param serializedOutput - The serialised execution output, exact unpadded bytes.
|
|
368
399
|
* @param event - The posted record to check, as read off the ledger.
|
|
369
400
|
* @param mpcResponseKey - The response key the requesting contract pinned
|
|
370
401
|
* (see {@link deriveMidnightResponseKey}).
|
|
371
|
-
* @returns Whether the post is a genuine attestation
|
|
372
|
-
* request it names.
|
|
402
|
+
* @returns Whether the post is a genuine attestation for the request it names.
|
|
373
403
|
*/
|
|
374
|
-
export function
|
|
404
|
+
export function verifyRespondBidirectionalAttestation(event, mpcResponseKey) {
|
|
375
405
|
let signature;
|
|
406
|
+
let digest;
|
|
376
407
|
try {
|
|
377
408
|
signature = mpcSignatureToEcdsaSignature(event.signature);
|
|
409
|
+
digest = pureCircuits.calculateSignetAttestationDigestV1(event.requestId, event.blockHeight, event.outputKind, event.serializedOutputLength, event.outputHash);
|
|
378
410
|
}
|
|
379
411
|
catch {
|
|
380
412
|
return false;
|
|
381
413
|
}
|
|
382
|
-
const digest = calculateSignetAttestationDigest(event.requestId, event.blockHeight, event.outputKind, serializedOutput);
|
|
383
414
|
// Compact form the verifier takes: r || s big-endian, and the key as
|
|
384
415
|
// uncompressed SEC1 (0x04 || x || y).
|
|
385
416
|
const compactSignature = new Uint8Array(64);
|
|
@@ -399,4 +430,26 @@ export function verifyRespondBidirectionalSignature(serializedOutput, event, mpc
|
|
|
399
430
|
return false;
|
|
400
431
|
}
|
|
401
432
|
}
|
|
433
|
+
/**
|
|
434
|
+
* Off-chain twin of the in-circuit `verifyRespondBidirectionalEventV1`: checks
|
|
435
|
+
* that `serializedOutput` is the output a posted respond-bidirectional
|
|
436
|
+
* attestation declares ({@link verifyAttestedOutput}) and
|
|
437
|
+
* that the post's signature verifies ({@link verifyRespondBidirectionalAttestation}).
|
|
438
|
+
* Clients run it to sift candidate posts before calling a contract: a post
|
|
439
|
+
* this accepts verifies in-circuit (once flipped to circuit-input form, see
|
|
440
|
+
* {@link respondBidirectionalEventToCircuitInput}). Takes the record as read
|
|
441
|
+
* off the ledger (big-endian). Malformed records return `false` rather than
|
|
442
|
+
* throwing.
|
|
443
|
+
*
|
|
444
|
+
* @param serializedOutput - The serialised execution output, exact unpadded bytes.
|
|
445
|
+
* @param event - The posted record to check, as read off the ledger.
|
|
446
|
+
* @param mpcResponseKey - The response key the requesting contract pinned
|
|
447
|
+
* (see {@link deriveMidnightResponseKey}).
|
|
448
|
+
* @returns Whether the post is a genuine attestation of that output for the
|
|
449
|
+
* request it names.
|
|
450
|
+
*/
|
|
451
|
+
export function verifyRespondBidirectionalSignature(serializedOutput, event, mpcResponseKey) {
|
|
452
|
+
return (verifyAttestedOutput(serializedOutput, event.serializedOutputLength, event.outputHash) &&
|
|
453
|
+
verifyRespondBidirectionalAttestation(event, mpcResponseKey));
|
|
454
|
+
}
|
|
402
455
|
//# sourceMappingURL=ecdsa-attestation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecdsa-attestation.js","sourceRoot":"","sources":["../src/ecdsa-attestation.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,0EAA0E;AAC1E,sEAAsE;AACtE
|
|
1
|
+
{"version":3,"file":"ecdsa-attestation.js","sourceRoot":"","sources":["../src/ecdsa-attestation.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,15 +21,16 @@ export declare const MIDNIGHT_CAIP2_ID = "midnight:mainnet";
|
|
|
21
21
|
* (sig-net/mpc chain-signatures/node/src/respond_bidirectional.rs). The
|
|
22
22
|
* response key is derived PER CLIENT CONTRACT from (the client contract's
|
|
23
23
|
* own address, this path): it is not the MPC root key and not the key that
|
|
24
|
-
* signs the requested transaction. Client contracts
|
|
25
|
-
* one-shot `initialise` circuit after deploy and verify
|
|
26
|
-
* RespondBidirectionalEvents against
|
|
24
|
+
* signs the requested transaction. Client contracts store the key itself
|
|
25
|
+
* with a one-shot `initialise` circuit after deploy and verify
|
|
26
|
+
* RespondBidirectionalEvents against it.
|
|
27
27
|
*/
|
|
28
28
|
export declare const MIDNIGHT_RESPOND_BIDIRECTIONAL_PATH = "midnight response key";
|
|
29
29
|
/**
|
|
30
|
-
* The two fields of a request record that
|
|
31
|
-
* The record's tx-params
|
|
32
|
-
* decomposition satisfies
|
|
30
|
+
* The two fields of a request record that, with the root key of its
|
|
31
|
+
* `keyVersion`, select its request signing key. The record's tx-params
|
|
32
|
+
* decomposition plays no part, so a record over any decomposition satisfies
|
|
33
|
+
* it.
|
|
33
34
|
*/
|
|
34
35
|
export type SignBidirectionalEventKeySelector = Pick<SignBidirectionalEvent, "sender" | "path">;
|
|
35
36
|
/**
|
|
@@ -94,7 +95,8 @@ export declare function deriveSignBidirectionalEventSigningKey(mpcSecp256k1Publi
|
|
|
94
95
|
/**
|
|
95
96
|
* Derive the EVM address of an on-ledger request record's request signing
|
|
96
97
|
* key (see {@link deriveSignBidirectionalEventSigningKey}): the signer a
|
|
97
|
-
* response to that request must recover
|
|
98
|
+
* signature response (SignatureRespondedEvent) to that request must recover
|
|
99
|
+
* to.
|
|
98
100
|
*
|
|
99
101
|
* @param mpcSecp256k1PublicKey - The MPC root secp256k1 public key of the
|
|
100
102
|
* record's `keyVersion`, in any spelling `parseSecp256k1PublicKey`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"epsilon-derivation.d.ts","sourceRoot":"","sources":["../src/epsilon-derivation.ts"],"names":[],"mappings":"AAWA,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEnE;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,0CAA0C,CAAC;AAEjF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,qBAAqB,CAAC;AAEpD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mCAAmC,0BAA0B,CAAC;AAE3E
|
|
1
|
+
{"version":3,"file":"epsilon-derivation.d.ts","sourceRoot":"","sources":["../src/epsilon-derivation.ts"],"names":[],"mappings":"AAWA,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEnE;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,0CAA0C,CAAC;AAEjF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,qBAAqB,CAAC;AAEpD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mCAAmC,0BAA0B,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,MAAM,iCAAiC,GAAG,IAAI,CAAC,sBAAsB,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC;AAehG;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,+BAA+B,CAC7C,qBAAqB,EAAE,MAAM,EAC7B,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,MAAM,GACX,cAAc,CAEhB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAC9B,qBAAqB,EAAE,MAAM,EAC7B,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,MAAM,GACX,MAAM,CAMR;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sCAAsC,CACpD,qBAAqB,EAAE,MAAM,EAC7B,OAAO,EAAE,iCAAiC,GACzC,cAAc,CAMhB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,4CAA4C,CAC1D,qBAAqB,EAAE,MAAM,EAC7B,OAAO,EAAE,iCAAiC,GACzC,MAAM,CAMR;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAKrE;AAuBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CACvC,qBAAqB,EAAE,MAAM,EAC7B,qBAAqB,EAAE,MAAM,GAC5B,cAAc,CAMhB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,+BAA+B,CAC7C,gBAAgB,EAAE,UAAU,EAC5B,qBAAqB,EAAE,MAAM,GAC5B,UAAU,CAcZ"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
//
|
|
3
3
|
// This belongs in github.com/sig-net/signet.js, kept here until upstreamed.
|
|
4
4
|
//
|
|
5
|
-
// v2.0.0 (COLON-separated) is the only scheme
|
|
5
|
+
// v2.0.0 (COLON-separated) is the only scheme this SDK derives: the Compact
|
|
6
6
|
// contracts assert `keyVersion >= 1`, which selects v2.
|
|
7
7
|
import { secp256k1 } from "@noble/curves/secp256k1.js";
|
|
8
8
|
import { computeAddress, keccak256, toUtf8Bytes } from "ethers";
|
|
@@ -29,9 +29,9 @@ export const MIDNIGHT_CAIP2_ID = "midnight:mainnet";
|
|
|
29
29
|
* (sig-net/mpc chain-signatures/node/src/respond_bidirectional.rs). The
|
|
30
30
|
* response key is derived PER CLIENT CONTRACT from (the client contract's
|
|
31
31
|
* own address, this path): it is not the MPC root key and not the key that
|
|
32
|
-
* signs the requested transaction. Client contracts
|
|
33
|
-
* one-shot `initialise` circuit after deploy and verify
|
|
34
|
-
* RespondBidirectionalEvents against
|
|
32
|
+
* signs the requested transaction. Client contracts store the key itself
|
|
33
|
+
* with a one-shot `initialise` circuit after deploy and verify
|
|
34
|
+
* RespondBidirectionalEvents against it.
|
|
35
35
|
*/
|
|
36
36
|
export const MIDNIGHT_RESPOND_BIDIRECTIONAL_PATH = "midnight response key";
|
|
37
37
|
/**
|
|
@@ -114,7 +114,8 @@ export function deriveSignBidirectionalEventSigningKey(mpcSecp256k1PublicKey, re
|
|
|
114
114
|
/**
|
|
115
115
|
* Derive the EVM address of an on-ledger request record's request signing
|
|
116
116
|
* key (see {@link deriveSignBidirectionalEventSigningKey}): the signer a
|
|
117
|
-
* response to that request must recover
|
|
117
|
+
* signature response (SignatureRespondedEvent) to that request must recover
|
|
118
|
+
* to.
|
|
118
119
|
*
|
|
119
120
|
* @param mpcSecp256k1PublicKey - The MPC root secp256k1 public key of the
|
|
120
121
|
* record's `keyVersion`, in any spelling `parseSecp256k1PublicKey`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"epsilon-derivation.js","sourceRoot":"","sources":["../src/epsilon-derivation.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,EAAE;AACF,4EAA4E;AAC5E,EAAE;AACF,
|
|
1
|
+
{"version":3,"file":"epsilon-derivation.js","sourceRoot":"","sources":["../src/epsilon-derivation.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export { abiWordToBool, abiWordToUint128, assembleCalldata, boolAbiWord, calcula
|
|
|
12
12
|
export { calculateRequestId } from "./signet-request-id.ts";
|
|
13
13
|
export * from "./signet-request-response-reader.ts";
|
|
14
14
|
export { type ContractAddress, contractAddressFromHex, type Maybe, MPCDestination, MPCSignatureAlgorithm, parseRequestIdHex, PATH_BYTES, type RequestId, requestIdBytes, type RequestIdHex, requestIdHex, type RequestIdPreimage, type SignBidirectionalEvent, type SignBidirectionalEventIndex, type SignBidirectionalEventLedgerMap, toSignBidirectionalEventIndex, TxParamType, } from "./signet-requests.ts";
|
|
15
|
-
export { formatSecp256k1PublicKey, normaliseSecp256k1PublicKey, parseSecp256k1PublicKey, respondBidirectionalEventToCircuitInput, SECP256K1_ORDER, type Secp256k1Point, signatureRespondedEventToSignature, verifyRespondBidirectionalSignature, } from "./ecdsa-attestation.ts";
|
|
15
|
+
export { calculateAttestedOutputHash, formatSecp256k1PublicKey, normaliseSecp256k1PublicKey, parseSecp256k1PublicKey, respondBidirectionalEventToCircuitInput, SECP256K1_ORDER, type Secp256k1Point, signatureRespondedEventToSignature, verifyAttestedOutput, verifyRespondBidirectionalAttestation, verifyRespondBidirectionalSignature, } from "./ecdsa-attestation.ts";
|
|
16
16
|
/**
|
|
17
17
|
* Compiled pure circuits and protocol enums of Signet.compact (run
|
|
18
18
|
* `yarn compile` first). Off-chain code MUST use these instead of re-porting
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,eAAe,EACf,UAAU,EACV,UAAU,EACV,cAAc,GACf,MAAM,kBAAkB,CAAC;AAI1B,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,+BAA+B,EAC/B,yBAAyB,EACzB,4CAA4C,EAC5C,sCAAsC,EACtC,yBAAyB,EACzB,iBAAiB,EACjB,mCAAmC,EACnC,KAAK,iCAAiC,GACvC,MAAM,yBAAyB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,KAAK,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACvF,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,+BAA+B,EAC/B,KAAK,kBAAkB,EACvB,iBAAiB,EACjB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,cAAc,EACd,4CAA4C,EAC5C,8CAA8C,GAC/C,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,cAAc,qCAAqC,CAAC;AACpD,OAAO,EACL,KAAK,eAAe,EACpB,sBAAsB,EACtB,KAAK,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,UAAU,EACV,KAAK,SAAS,EACd,cAAc,EACd,KAAK,YAAY,EACjB,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,+BAA+B,EACpC,6BAA6B,EAC7B,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACvB,uCAAuC,EACvC,eAAe,EACf,KAAK,cAAc,EACnB,kCAAkC,EAClC,mCAAmC,GACpC,MAAM,wBAAwB,CAAC;AAEhC;;;;GAIG;AACH,OAAO,EACL,UAAU,EACV,UAAU,EACV,KAAK,YAAY,EACjB,YAAY,GACb,MAAM,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,eAAe,EACf,UAAU,EACV,UAAU,EACV,cAAc,GACf,MAAM,kBAAkB,CAAC;AAI1B,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,+BAA+B,EAC/B,yBAAyB,EACzB,4CAA4C,EAC5C,sCAAsC,EACtC,yBAAyB,EACzB,iBAAiB,EACjB,mCAAmC,EACnC,KAAK,iCAAiC,GACvC,MAAM,yBAAyB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,KAAK,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACvF,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,+BAA+B,EAC/B,KAAK,kBAAkB,EACvB,iBAAiB,EACjB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,cAAc,EACd,4CAA4C,EAC5C,8CAA8C,GAC/C,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,cAAc,qCAAqC,CAAC;AACpD,OAAO,EACL,KAAK,eAAe,EACpB,sBAAsB,EACtB,KAAK,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,UAAU,EACV,KAAK,SAAS,EACd,cAAc,EACd,KAAK,YAAY,EACjB,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,+BAA+B,EACpC,6BAA6B,EAC7B,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACvB,uCAAuC,EACvC,eAAe,EACf,KAAK,cAAc,EACnB,kCAAkC,EAClC,oBAAoB,EACpB,qCAAqC,EACrC,mCAAmC,GACpC,MAAM,wBAAwB,CAAC;AAEhC;;;;GAIG;AACH,OAAO,EACL,UAAU,EACV,UAAU,EACV,KAAK,YAAY,EACjB,YAAY,GACb,MAAM,6BAA6B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Midnight-side sig-net integration: the client-agnostic signet protocol
|
|
2
|
-
// library (wire structs, state readers, event decoders,
|
|
2
|
+
// library (wire structs, state readers, event decoders, event source,
|
|
3
3
|
// crypto) plus the compiled pure circuits of the shared Compact module.
|
|
4
4
|
export * from "./abi-serde.js";
|
|
5
5
|
export { bigintToBytes32, bigintToBytes32BE, BLS_ORDER, bytesToBigint, bytesToBigintBE, bytesToHex, hexToBytes, stripHexPrefix, } from "./byte-codecs.js";
|
|
@@ -24,7 +24,7 @@ export { contractAddressFromHex, MPCDestination, MPCSignatureAlgorithm, parseReq
|
|
|
24
24
|
// (the attestation-minting helpers that take a secret key live THERE), and
|
|
25
25
|
// its record decoder (mpcSignatureToEcdsaSignature) and noble-point parser
|
|
26
26
|
// (parseSecp256k1PublicKeyToNoblePoint) are package-internal.
|
|
27
|
-
export { formatSecp256k1PublicKey, normaliseSecp256k1PublicKey, parseSecp256k1PublicKey, respondBidirectionalEventToCircuitInput, SECP256K1_ORDER, signatureRespondedEventToSignature, verifyRespondBidirectionalSignature, } from "./ecdsa-attestation.js";
|
|
27
|
+
export { calculateAttestedOutputHash, formatSecp256k1PublicKey, normaliseSecp256k1PublicKey, parseSecp256k1PublicKey, respondBidirectionalEventToCircuitInput, SECP256K1_ORDER, signatureRespondedEventToSignature, verifyAttestedOutput, verifyRespondBidirectionalAttestation, verifyRespondBidirectionalSignature, } from "./ecdsa-attestation.js";
|
|
28
28
|
/**
|
|
29
29
|
* Compiled pure circuits and protocol enums of Signet.compact (run
|
|
30
30
|
* `yarn compile` first). Off-chain code MUST use these instead of re-porting
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,sEAAsE;AACtE,wEAAwE;AAExE,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,eAAe,EACf,UAAU,EACV,UAAU,EACV,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,uEAAuE;AACvE,4EAA4E;AAC5E,4EAA4E;AAC5E,cAAc,gBAAgB,CAAC;AAC/B,2EAA2E;AAC3E,yEAAyE;AACzE,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,+BAA+B,EAC/B,yBAAyB,EACzB,4CAA4C,EAC5C,sCAAsC,EACtC,yBAAyB,EACzB,iBAAiB,EACjB,mCAAmC,GAEpC,MAAM,yBAAyB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAyB,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACvF,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,+BAA+B,EAE/B,iBAAiB,EAGjB,cAAc,EACd,4CAA4C,EAC5C,8CAA8C,GAC/C,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,cAAc,qCAAqC,CAAC;AACpD,OAAO,EAEL,sBAAsB,EAEtB,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,UAAU,EAEV,cAAc,EAEd,YAAY,EAKZ,6BAA6B,EAC7B,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,2EAA2E;AAC3E,2EAA2E;AAC3E,2EAA2E;AAC3E,8DAA8D;AAC9D,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACvB,uCAAuC,EACvC,eAAe,EAEf,kCAAkC,EAClC,mCAAmC,GACpC,MAAM,wBAAwB,CAAC;AAEhC;;;;GAIG;AACH,OAAO,EACL,UAAU,EACV,UAAU,EAEV,YAAY,GACb,MAAM,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,sEAAsE;AACtE,wEAAwE;AAExE,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,eAAe,EACf,UAAU,EACV,UAAU,EACV,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,uEAAuE;AACvE,4EAA4E;AAC5E,4EAA4E;AAC5E,cAAc,gBAAgB,CAAC;AAC/B,2EAA2E;AAC3E,yEAAyE;AACzE,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,+BAA+B,EAC/B,yBAAyB,EACzB,4CAA4C,EAC5C,sCAAsC,EACtC,yBAAyB,EACzB,iBAAiB,EACjB,mCAAmC,GAEpC,MAAM,yBAAyB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAyB,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACvF,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,+BAA+B,EAE/B,iBAAiB,EAGjB,cAAc,EACd,4CAA4C,EAC5C,8CAA8C,GAC/C,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,cAAc,qCAAqC,CAAC;AACpD,OAAO,EAEL,sBAAsB,EAEtB,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,UAAU,EAEV,cAAc,EAEd,YAAY,EAKZ,6BAA6B,EAC7B,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,2EAA2E;AAC3E,2EAA2E;AAC3E,2EAA2E;AAC3E,8DAA8D;AAC9D,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACvB,uCAAuC,EACvC,eAAe,EAEf,kCAAkC,EAClC,oBAAoB,EACpB,qCAAqC,EACrC,mCAAmC,GACpC,MAAM,wBAAwB,CAAC;AAEhC;;;;GAIG;AACH,OAAO,EACL,UAAU,EACV,UAAU,EAEV,YAAY,GACb,MAAM,6BAA6B,CAAC"}
|