@sig-net/midnight 0.24.1 → 0.25.0-rc.2
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 +6 -5
- package/dist/compact-descriptors.d.ts +5 -7
- package/dist/compact-descriptors.d.ts.map +1 -1
- package/dist/compact-descriptors.js +6 -18
- package/dist/compact-descriptors.js.map +1 -1
- package/dist/constants.d.ts +5 -2
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +5 -2
- package/dist/constants.js.map +1 -1
- package/dist/ecdsa-attestation.d.ts +54 -11
- package/dist/ecdsa-attestation.d.ts.map +1 -1
- package/dist/ecdsa-attestation.js +90 -39
- package/dist/ecdsa-attestation.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- 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.js +2 -2
- package/dist/mpc-output-cache.js.map +1 -1
- package/dist/signet-contract-events.d.ts +15 -8
- package/dist/signet-contract-events.d.ts.map +1 -1
- package/dist/signet-contract-events.js +7 -4
- package/dist/signet-contract-events.js.map +1 -1
- package/dist/signet-evtype2tx-record-decoding.js +2 -2
- package/dist/signet-request-response-reader.d.ts.map +1 -1
- package/dist/signet-request-response-reader.js +12 -4
- package/dist/signet-request-response-reader.js.map +1 -1
- package/dist/signet-requests.d.ts +2 -2
- package/dist/signet-requests.js +2 -2
- package/dist/testing.js +1 -1
- package/dist/testing.js.map +1 -1
- package/package.json +2 -2
- package/src/Signet.compact +109 -45
- package/src/circuits.compact +40 -32
package/README.md
CHANGED
|
@@ -56,7 +56,7 @@ What your contract imports with `import "@sig-net/midnight/src/Signet"`:
|
|
|
56
56
|
| Notify the MPC of the request (runtime step 1) | `constructSignBidirectionalEventNotificationV1`: packs your contract's address and the request map's ledger-tree path. |
|
|
57
57
|
| Narrow an attested `uint256` in-circuit | `checkedTruncationU128`: the `Bytes<32>` the MPC attests (little-endian) to a `Uint<128>`, aborting unless the high 16 bytes are zero (see [Output Recovery and Serialisation](https://github.com/sig-net/midnight-integration/blob/main/README.md#output-recovery-and-serialisation)). |
|
|
58
58
|
| Build and read calldata words in-circuit | The builders `evmAddressAbiWord`, `numericAbiWord` and `boolAbiWord`, and the readers `abiWordToUint128` and `abiWordToBool` (see [EVM Type 2 transactions and ABI calldata words](https://github.com/sig-net/midnight-integration/blob/main/README.md#evm-type-2-transactions-and-abi-calldata-words)). |
|
|
59
|
-
| Verify the execution attestation (runtime step 5) | `verifyRespondBidirectionalEventV1`:
|
|
59
|
+
| Verify the execution attestation (runtime step 5) | `verifyRespondBidirectionalEventV1`: checks that the output bytes have the posted width and output hash, recomputes the attestation digest from the posted request id, block height, output kind, width and hash, and checks the MPC's signature against your pinned response key. Its two halves are exported for a contract that verifies an attestation before it has the output: `verifyRespondBidirectionalAttestationV1` (the signature, without the output) and `verifyAttestedOutputV1` (the output against an attested width and hash, taken from the event or from the copy your contract stored when it verified the event). |
|
|
60
60
|
|
|
61
61
|
### TypeScript library
|
|
62
62
|
|
|
@@ -80,7 +80,7 @@ What clients import from `@sig-net/midnight`:
|
|
|
80
80
|
| Recognise a failed remote execution | `OutputKind` on the verified `RespondBidirectionalEvent`: `failed` or `unviable` beside an empty output (see [Handling Failure](https://github.com/sig-net/midnight-integration/blob/main/README.md#handling-failure)). |
|
|
81
81
|
| Read the attested output bytes from the MPC's output cache | `MpcOutputCacheReader`: one reader per network and Signet singleton pair, over the public bucket an MPC configured with output storage writes each request's exact attested bytes to before posting, defaulting to the bucket `getMpcOutputCacheUrl` publishes for the network. `fetchSerializedOutput` yields the bytes step 5 verifies, `undefined` while the object is not in the cache (not written yet, or never written, since the cache is optional). |
|
|
82
82
|
| Hand a verified attestation to your verify circuit (runtime step 5) | `respondBidirectionalEventToCircuitInput`: flips the wire event's big-endian `bigR.x` and `s` into the little-endian record `verifyRespondBidirectionalEventV1` reads. |
|
|
83
|
-
| Verify attestations without the reader | `
|
|
83
|
+
| Verify attestations without the reader | `verifyRespondBidirectionalEvent`: the full check the reader applies, exposed for custom pipelines. `verifyRespondBidirectionalAttestation` checks a post's signature without the output, `verifyAttestedOutput` checks an output against an attested width and hash, and `calculateAttestedOutputHash` gives the output hash a post commits to. |
|
|
84
84
|
| Mint attestations in your contract's unit tests | The `@sig-net/midnight/testing` entry point, see [Testing entry point](#testing-entry-point). |
|
|
85
85
|
| Discover requests MPC-side (responders, background workers) | The discovery primitives: decode the signet contract's emitted notification events with `decodeSignetEventNamed(event, SignetEventName.SignBidirectionalEvent)` (or every kind at once with `decodeSignetEvent`, which throws on an undecodable payload anyone can emit, or its non-throwing sibling `tryDecodeSignetEvent`), then resolve each pointer against the named caller's own request map with `lookupSignetRequestAt` (the authenticated read). The polling loop belongs to the responder. |
|
|
86
86
|
| Call the compiled protocol circuits | `pureCircuits`: the compiled pure circuits of `circuits.compact`: the non-generic circuits of `Signet.compact` under their own names, for example the notification packer, and fixed-size instances of the generic ones with the sizes in the name, for example `calculateEvmType2RequestIdV1_1_0_0_34`. Off-chain code calls these compiled artefacts, so it always agrees with what the contracts prove. |
|
|
@@ -100,12 +100,12 @@ record shape the MPC posts, so the claim path is testable in-process with no
|
|
|
100
100
|
stack and no MPC:
|
|
101
101
|
|
|
102
102
|
```ts
|
|
103
|
-
import {
|
|
103
|
+
import { verifyRespondBidirectionalEvent } from "@sig-net/midnight"; // runtime
|
|
104
104
|
import { attestRespondBidirectional, secp256k1PublicKeyOf } from "@sig-net/midnight/testing"; // tests only
|
|
105
105
|
|
|
106
106
|
// A real RespondBidirectionalEvent for (requestId, blockHeight, outputKind,
|
|
107
107
|
// serializedOutput), signed by secretKey: the request id, block height, kind,
|
|
108
|
-
// output width, attestation digest and signature the MPC would post. It
|
|
108
|
+
// output width, output hash, attestation digest and signature the MPC would post. It
|
|
109
109
|
// verifies, in-circuit and off chain, against secp256k1PublicKeyOf(secretKey).
|
|
110
110
|
const event = attestRespondBidirectional(
|
|
111
111
|
{ requestId, blockHeight, outputKind, serializedOutput },
|
|
@@ -125,7 +125,8 @@ Developed in [sig-net/midnight-integration](https://github.com/sig-net/midnight-
|
|
|
125
125
|
`HashDomain` is the shared append-only enum exported by the Compact module
|
|
126
126
|
and the TypeScript SDK. Its indices are `requestId = 0`,
|
|
127
127
|
`attestationDigest = 1`, `evmType2TxHeader = 2`, `evmType2TxWord = 3`,
|
|
128
|
-
`evmType2TxAccessEntry = 4
|
|
128
|
+
`evmType2TxAccessEntry = 4`, `evmType2TxStorageKey = 5` and
|
|
129
|
+
`attestedOutput = 6`. Each protocol
|
|
129
130
|
hash input starts with its domain tag. Off-chain recomputation must use
|
|
130
131
|
the same tags and field order as the circuits.
|
|
131
132
|
|
|
@@ -103,14 +103,12 @@ export declare function compactTupleDescriptor<T extends unknown[]>(elements: {
|
|
|
103
103
|
[K in keyof T]: CompactType<T[K]>;
|
|
104
104
|
}): CompactType<T>;
|
|
105
105
|
/**
|
|
106
|
-
* Descriptor of the Compact tuple
|
|
107
|
-
*
|
|
108
|
-
* the
|
|
109
|
-
* output length, output). The output width enters the descriptor, so it is
|
|
110
|
-
* built per call.
|
|
106
|
+
* Descriptor of the Compact tuple `[HashDomain, Bytes<serializedOutputLength>]`
|
|
107
|
+
* the attested output hash hashes (domain tag, output). The output width
|
|
108
|
+
* enters the descriptor, so it is built per call.
|
|
111
109
|
*
|
|
112
110
|
* @param serializedOutputLength - Declared width of the output element, in bytes.
|
|
113
|
-
* @returns The tuple descriptor for {@link
|
|
111
|
+
* @returns The tuple descriptor for {@link calculateAttestedOutputHash}.
|
|
114
112
|
*/
|
|
115
|
-
export declare function
|
|
113
|
+
export declare function attestedOutputPreimageDescriptor(serializedOutputLength: number): CompactType<[number, Uint8Array]>;
|
|
116
114
|
//# sourceMappingURL=compact-descriptors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compact-descriptors.d.ts","sourceRoot":"","sources":["../src/compact-descriptors.ts"],"names":[],"mappings":"AAwBA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,WAAW,EAEhB,gBAAgB,EAChB,eAAe,EAEf,0BAA0B,EAC3B,MAAM,iCAAiC,CAAC;AAKzC,qFAAqF;AACrF,eAAO,MAAM,WAAW,iBAA4B,CAAC;AAErD,iBAAiB;AACjB,eAAO,MAAM,OAAO,sBAAqB,CAAC;AAC1C,gEAAgE;AAChE,eAAO,MAAM,KAAK,qBAAmB,CAAC;AACtC,kBAAkB;AAClB,eAAO,MAAM,OAAO,kBAA0B,CAAC;AAC/C,2CAA2C;AAC3C,eAAO,MAAM,QAAQ,kBAA2B,CAAC;AACjD,2CAA2C;AAC3C,eAAO,MAAM,QAAQ,kBAA2B,CAAC;AACjD,2CAA2C;AAC3C,eAAO,MAAM,QAAQ,kBAA2B,CAAC;AACjD,yCAAyC;AACzC,eAAO,MAAM,MAAM,4BAAmD,CAAC;AACvE,0CAA0C;AAC1C,eAAO,MAAM,OAAO,4BAAoD,CAAC;AACzE,0CAA0C;AAC1C,eAAO,MAAM,OAAO,4BAAoD,CAAC;AACzE,2CAA2C;AAC3C,eAAO,MAAM,QAAQ,4BAAsD,CAAC;AAE5E;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,UAAU,CAAC;CACnB;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,eAAe,CAIzD,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,KAAK,CAAC,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,CAAC,CAAC;CACV;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE;IAChE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC7C,GAAG,WAAW,CAAC,CAAC,CAAC,CAgBjB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAKtF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EACpB,KAAK,EAAE,SAAS,UAAU,EAAE,EAC5B,IAAI,EAAE,MAAM,GACX,CAAC,CASH;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAoBzE;
|
|
1
|
+
{"version":3,"file":"compact-descriptors.d.ts","sourceRoot":"","sources":["../src/compact-descriptors.ts"],"names":[],"mappings":"AAwBA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,WAAW,EAEhB,gBAAgB,EAChB,eAAe,EAEf,0BAA0B,EAC3B,MAAM,iCAAiC,CAAC;AAKzC,qFAAqF;AACrF,eAAO,MAAM,WAAW,iBAA4B,CAAC;AAErD,iBAAiB;AACjB,eAAO,MAAM,OAAO,sBAAqB,CAAC;AAC1C,gEAAgE;AAChE,eAAO,MAAM,KAAK,qBAAmB,CAAC;AACtC,kBAAkB;AAClB,eAAO,MAAM,OAAO,kBAA0B,CAAC;AAC/C,2CAA2C;AAC3C,eAAO,MAAM,QAAQ,kBAA2B,CAAC;AACjD,2CAA2C;AAC3C,eAAO,MAAM,QAAQ,kBAA2B,CAAC;AACjD,2CAA2C;AAC3C,eAAO,MAAM,QAAQ,kBAA2B,CAAC;AACjD,yCAAyC;AACzC,eAAO,MAAM,MAAM,4BAAmD,CAAC;AACvE,0CAA0C;AAC1C,eAAO,MAAM,OAAO,4BAAoD,CAAC;AACzE,0CAA0C;AAC1C,eAAO,MAAM,OAAO,4BAAoD,CAAC;AACzE,2CAA2C;AAC3C,eAAO,MAAM,QAAQ,4BAAsD,CAAC;AAE5E;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,UAAU,CAAC;CACnB;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,eAAe,CAIzD,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,KAAK,CAAC,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,CAAC,CAAC;CACV;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE;IAChE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC7C,GAAG,WAAW,CAAC,CAAC,CAAC,CAgBjB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAKtF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EACpB,KAAK,EAAE,SAAS,UAAU,EAAE,EAC5B,IAAI,EAAE,MAAM,GACX,CAAC,CASH;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAoBzE;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,QAAQ,EAAE;KACnE,CAAC,IAAI,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAClC,GAAG,WAAW,CAAC,CAAC,CAAC,CAOjB;AAED;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAC9C,sBAAsB,EAAE,MAAM,GAC7B,WAAW,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAKnC"}
|
|
@@ -25,7 +25,7 @@ import { CompactTypeBoolean, CompactTypeBytes, CompactTypeEnum, CompactTypeField
|
|
|
25
25
|
// Runtime descriptors of the Compact base types, at the same literals the
|
|
26
26
|
// compiler emits.
|
|
27
27
|
/** Protocol HashDomain enum, matching the Compact variant indices and byte width. */
|
|
28
|
-
export const HASH_DOMAIN = new CompactTypeEnum(
|
|
28
|
+
export const HASH_DOMAIN = new CompactTypeEnum(6, 1);
|
|
29
29
|
/** `Boolean`. */
|
|
30
30
|
export const BOOLEAN = CompactTypeBoolean;
|
|
31
31
|
/** `Field`: the accumulator of the transaction digest folds. */
|
|
@@ -141,12 +141,6 @@ export function declaredWidths(cell, what) {
|
|
|
141
141
|
return segment.value.length;
|
|
142
142
|
});
|
|
143
143
|
}
|
|
144
|
-
/**
|
|
145
|
-
* Descriptor of Signet.compact's three-variant `OutputKind` enum, at the
|
|
146
|
-
* literal the compiler emits (highest variant index 2, one byte). Adding a
|
|
147
|
-
* variant to the Compact enum means raising the index here in lockstep.
|
|
148
|
-
*/
|
|
149
|
-
const OUTPUT_KIND = new CompactTypeEnum(2, 1);
|
|
150
144
|
/**
|
|
151
145
|
* Descriptor of a Compact tuple, composed the way the compiler composes one:
|
|
152
146
|
* the elements' alignments and values concatenated in order.
|
|
@@ -162,22 +156,16 @@ export function compactTupleDescriptor(elements) {
|
|
|
162
156
|
};
|
|
163
157
|
}
|
|
164
158
|
/**
|
|
165
|
-
* Descriptor of the Compact tuple
|
|
166
|
-
*
|
|
167
|
-
* the
|
|
168
|
-
* output length, output). The output width enters the descriptor, so it is
|
|
169
|
-
* built per call.
|
|
159
|
+
* Descriptor of the Compact tuple `[HashDomain, Bytes<serializedOutputLength>]`
|
|
160
|
+
* the attested output hash hashes (domain tag, output). The output width
|
|
161
|
+
* enters the descriptor, so it is built per call.
|
|
170
162
|
*
|
|
171
163
|
* @param serializedOutputLength - Declared width of the output element, in bytes.
|
|
172
|
-
* @returns The tuple descriptor for {@link
|
|
164
|
+
* @returns The tuple descriptor for {@link calculateAttestedOutputHash}.
|
|
173
165
|
*/
|
|
174
|
-
export function
|
|
166
|
+
export function attestedOutputPreimageDescriptor(serializedOutputLength) {
|
|
175
167
|
return compactTupleDescriptor([
|
|
176
168
|
HASH_DOMAIN,
|
|
177
|
-
BYTES_32,
|
|
178
|
-
UINT_64,
|
|
179
|
-
OUTPUT_KIND,
|
|
180
|
-
UINT_64,
|
|
181
169
|
new CompactTypeBytes(serializedOutputLength),
|
|
182
170
|
]);
|
|
183
171
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compact-descriptors.js","sourceRoot":"","sources":["../src/compact-descriptors.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,yEAAyE;AACzE,6EAA6E;AAC7E,0CAA0C;AAC1C,mFAAmF;AACnF,gFAAgF;AAChF,oFAAoF;AACpF,eAAe;AACf,uFAAuF;AACvF,2EAA2E;AAC3E,gFAAgF;AAChF,4EAA4E;AAC5E,yEAAyE;AACzE,8BAA8B;AAC9B,2EAA2E;AAC3E,2EAA2E;AAC3E,yEAAyE;AACzE,0EAA0E;AAC1E,4CAA4C;AAC5C,EAAE;AACF,sEAAsE;AACtE,wBAAwB;AACxB,EAAE;AAEF,OAAO,EAGL,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,iCAAiC,CAAC;AAEzC,0EAA0E;AAC1E,kBAAkB;AAElB,qFAAqF;AACrF,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAErD,iBAAiB;AACjB,MAAM,CAAC,MAAM,OAAO,GAAG,kBAAkB,CAAC;AAC1C,gEAAgE;AAChE,MAAM,CAAC,MAAM,KAAK,GAAG,gBAAgB,CAAC;AACtC,kBAAkB;AAClB,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAC/C,2CAA2C;AAC3C,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC;AACjD,2CAA2C;AAC3C,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC;AACjD,2CAA2C;AAC3C,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC;AACjD,yCAAyC;AACzC,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,0BAA0B,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;AACvE,0CAA0C;AAC1C,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,0BAA0B,CAAC,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;AACzE,0CAA0C;AAC1C,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,0BAA0B,CAAC,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;AACzE,2CAA2C;AAC3C,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,0BAA0B,CAAC,EAAE,IAAI,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;AAW5E;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAiC;IAC5D,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE;IACrC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5D,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;CAClD,CAAC;AAYF;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CAAmB,MAEzD;IACC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAGlC,CAAC;IACJ,OAAO;QACL,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAChE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9E,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YACnB,MAAM,MAAM,GAAG,EAAuC,CAAC;YACvD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;gBAClC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;YACD,OAAO,MAAW,CAAC;QACrB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAI,KAAqB;IAC7D,OAAO,uBAAuB,CAAW;QACvC,OAAO,EAAE,kBAAkB;QAC3B,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAoB,EACpB,KAA4B,EAC5B,IAAY;IAEZ,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,gBAAgB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAC3F,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,IAAkB,EAAE,IAAY;IAC7D,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,aAAa,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,0BAA0B;YACzE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CACvC,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QAC3C,IAAI,OAAO,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,SAAS,MAAM,CAAC,KAAK,CAAC,wDAAwD,CACtF,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,SAAS,MAAM,CAAC,KAAK,CAAC,gBAAgB,OAAO,CAAC,KAAK,CAAC,GAAG,gCAAgC,CAC/F,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"compact-descriptors.js","sourceRoot":"","sources":["../src/compact-descriptors.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Width of `SignBidirectionalEvent.executionDest` (`Bytes<64>`): a zero-padded
|
|
3
|
+
* CAIP-2 id, at most 41 bytes.
|
|
4
|
+
*/
|
|
5
|
+
export declare const EXECUTION_DEST_BYTES = 64;
|
|
3
6
|
/** Width of `SignBidirectionalEvent.params` (`Bytes<64>`). */
|
|
4
7
|
export declare const MPC_PARAMS_BYTES = 64;
|
|
5
8
|
/** Width of `EvmCalldata.selector` (`Bytes<4>`): the literal first 4 calldata bytes. */
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AASA
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,8DAA8D;AAC9D,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,wFAAwF;AACxF,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC;;;GAGG;AACH,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAUpE;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAMvD;AAED;;;GAGG;AACH,oBAAY,eAAe;IACzB,mFAAmF;IACnF,UAAU,eAAe;IACzB,2CAA2C;IAC3C,QAAQ,aAAa;IACrB,iFAAiF;IACjF,OAAO,YAAY;IACnB,+EAA+E;IAC/E,OAAO,YAAY;IACnB,6CAA6C;IAC7C,OAAO,YAAY;CACpB;AAED;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;AAgBnF;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,CAMtE;AAYD;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,CAM3E;AAcD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,CAMvE"}
|
package/dist/constants.js
CHANGED
|
@@ -6,8 +6,11 @@
|
|
|
6
6
|
//
|
|
7
7
|
// The routing constants belong in github.com/sig-net/signet.js, kept here
|
|
8
8
|
// until upstreamed.
|
|
9
|
-
/**
|
|
10
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Width of `SignBidirectionalEvent.executionDest` (`Bytes<64>`): a zero-padded
|
|
11
|
+
* CAIP-2 id, at most 41 bytes.
|
|
12
|
+
*/
|
|
13
|
+
export const EXECUTION_DEST_BYTES = 64;
|
|
11
14
|
/** Width of `SignBidirectionalEvent.params` (`Bytes<64>`). */
|
|
12
15
|
export const MPC_PARAMS_BYTES = 64;
|
|
13
16
|
/** Width of `EvmCalldata.selector` (`Bytes<4>`): the literal first 4 calldata bytes. */
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,2EAA2E;AAC3E,mEAAmE;AACnE,qEAAqE;AACrE,sDAAsD;AACtD,EAAE;AACF,0EAA0E;AAC1E,oBAAoB;AAEpB
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -133,10 +133,37 @@ export declare function normaliseSecp256k1PublicKey(value: string): string;
|
|
|
133
133
|
*/
|
|
134
134
|
export declare function secp256k1PublicKeyOf(secretKey: Uint8Array): Secp256k1Point;
|
|
135
135
|
/**
|
|
136
|
-
* The
|
|
137
|
-
* `upgradeFromTransient(transientHash([HashDomain.
|
|
138
|
-
*
|
|
139
|
-
*
|
|
136
|
+
* The hash of a serialised execution output that the attestation digest
|
|
137
|
+
* commits to: `upgradeFromTransient(transientHash([HashDomain.attestedOutput, serializedOutput]))`.
|
|
138
|
+
* TS twin of the size-generic Compact circuit `calculateAttestedOutputHashV1`.
|
|
139
|
+
* The hash does not commit to the output's width (outputs that differ only
|
|
140
|
+
* in trailing zero bytes hash alike), so the attestation commits to the
|
|
141
|
+
* width separately and a verifier checks both.
|
|
142
|
+
*
|
|
143
|
+
* @param serializedOutput - The serialised execution output, exact unpadded bytes.
|
|
144
|
+
* @returns The 32-byte output hash.
|
|
145
|
+
*/
|
|
146
|
+
export declare function calculateAttestedOutputHash(serializedOutput: Uint8Array): Uint8Array;
|
|
147
|
+
/**
|
|
148
|
+
* Whether `serializedOutput` is the output an attestation declares: its width
|
|
149
|
+
* is `attestedOutputLength` and its {@link calculateAttestedOutputHash} is
|
|
150
|
+
* `attestedOutputHash`. TS twin of the size-generic Compact circuit
|
|
151
|
+
* `verifyAttestedOutputV1`. Both checks are needed, as the hash alone does not
|
|
152
|
+
* commit to the width. Proves nothing about the attestation itself: the length
|
|
153
|
+
* and hash must come from a post that passed
|
|
154
|
+
* {@link verifyRespondBidirectionalAttestation}.
|
|
155
|
+
*
|
|
156
|
+
* @param serializedOutput - The serialised execution output, exact unpadded bytes.
|
|
157
|
+
* @param attestedOutputLength - The attested output width, in bytes.
|
|
158
|
+
* @param attestedOutputHash - The attested 32-byte output hash.
|
|
159
|
+
* @returns Whether the output is the attested one.
|
|
160
|
+
*/
|
|
161
|
+
export declare function verifyAttestedOutput(serializedOutput: Uint8Array, attestedOutputLength: bigint, attestedOutputHash: Uint8Array): boolean;
|
|
162
|
+
/**
|
|
163
|
+
* The attestation digest of a respond-bidirectional response for an output
|
|
164
|
+
* in hand: the compiled `calculateSignetAttestationDigestV1` over the
|
|
165
|
+
* output's width and {@link calculateAttestedOutputHash}. The 32-byte digest
|
|
166
|
+
* the MPC ECDSA-signs to attest a remote execution.
|
|
140
167
|
*
|
|
141
168
|
* @param requestId - The 32-byte request id the response answers.
|
|
142
169
|
* @param blockHeight - Height of the finalised target-chain block holding the
|
|
@@ -190,23 +217,39 @@ export declare function attestRespondBidirectional(attestation: RespondBidirecti
|
|
|
190
217
|
* @throws {Error} If a signature component is not exactly 32 bytes.
|
|
191
218
|
*/
|
|
192
219
|
export declare function respondBidirectionalEventToCircuitInput(event: RespondBidirectionalEvent): RespondBidirectionalEvent;
|
|
220
|
+
/**
|
|
221
|
+
* Off-chain twin of the in-circuit `verifyRespondBidirectionalAttestationV1`:
|
|
222
|
+
* checks a posted respond-bidirectional attestation's signature against the
|
|
223
|
+
* contract's pinned MPC response key, over the request id, block height,
|
|
224
|
+
* output kind, output length and output hash the post declares, without the
|
|
225
|
+
* output. A post this accepts is an outcome the MPC attested for the request
|
|
226
|
+
* it names; the output it attests is checked by {@link verifyAttestedOutput}.
|
|
227
|
+
* Takes the record as read off the ledger (big-endian). Malformed records
|
|
228
|
+
* return `false` rather than throwing.
|
|
229
|
+
*
|
|
230
|
+
* @param respondBidirectionalEvent - The posted record to check, as read off the ledger.
|
|
231
|
+
* @param mpcResponseKey - The response key the requesting contract pinned
|
|
232
|
+
* (see {@link deriveMidnightResponseKey}).
|
|
233
|
+
* @returns Whether the post is a genuine attestation for the request it names.
|
|
234
|
+
*/
|
|
235
|
+
export declare function verifyRespondBidirectionalAttestation(respondBidirectionalEvent: RespondBidirectionalEvent, mpcResponseKey: Secp256k1Point): boolean;
|
|
193
236
|
/**
|
|
194
237
|
* Off-chain twin of the in-circuit `verifyRespondBidirectionalEventV1`: checks
|
|
195
|
-
* a posted respond-bidirectional
|
|
196
|
-
*
|
|
197
|
-
*
|
|
198
|
-
* before calling a contract: a post
|
|
199
|
-
* flipped to circuit-input form, see
|
|
238
|
+
* that `serializedOutput` is the output a posted respond-bidirectional
|
|
239
|
+
* attestation declares ({@link verifyAttestedOutput}) and
|
|
240
|
+
* that the post's signature verifies ({@link verifyRespondBidirectionalAttestation}).
|
|
241
|
+
* Clients run it to sift candidate posts before calling a contract: a post
|
|
242
|
+
* this accepts verifies in-circuit (once flipped to circuit-input form, see
|
|
200
243
|
* {@link respondBidirectionalEventToCircuitInput}). Takes the record as read
|
|
201
244
|
* off the ledger (big-endian). Malformed records return `false` rather than
|
|
202
245
|
* throwing.
|
|
203
246
|
*
|
|
204
247
|
* @param serializedOutput - The serialised execution output, exact unpadded bytes.
|
|
205
|
-
* @param
|
|
248
|
+
* @param respondBidirectionalEvent - The posted record to check, as read off the ledger.
|
|
206
249
|
* @param mpcResponseKey - The response key the requesting contract pinned
|
|
207
250
|
* (see {@link deriveMidnightResponseKey}).
|
|
208
251
|
* @returns Whether the post is a genuine attestation of that output for the
|
|
209
252
|
* request it names.
|
|
210
253
|
*/
|
|
211
|
-
export declare function
|
|
254
|
+
export declare function verifyRespondBidirectionalEvent(serializedOutput: Uint8Array, respondBidirectionalEvent: RespondBidirectionalEvent, mpcResponseKey: Secp256k1Point): boolean;
|
|
212
255
|
//# sourceMappingURL=ecdsa-attestation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecdsa-attestation.d.ts","sourceRoot":"","sources":["../src/ecdsa-attestation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ecdsa-attestation.d.ts","sourceRoot":"","sources":["../src/ecdsa-attestation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,14 @@
|
|
|
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 TS twins of the size-generic output circuits.
|
|
5
5
|
// Everything provable stays in Compact where possible: in-circuit
|
|
6
|
-
// verification is `verifyRespondBidirectionalEventV1
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
//
|
|
10
|
-
//
|
|
6
|
+
// verification is `verifyRespondBidirectionalEventV1`, and the attestation
|
|
7
|
+
// digest is the compiled `calculateSignetAttestationDigestV1`. The output
|
|
8
|
+
// hash and output check circuits are size-generic and the compiler cannot
|
|
9
|
+
// export size-generic circuits top-level, so `calculateAttestedOutputHash`
|
|
10
|
+
// and `verifyAttestedOutput` are the sanctioned TS twins here, pinned against
|
|
11
|
+
// the fixed-width oracle circuits circuits.compact exports (see
|
|
11
12
|
// tests/ecdsa-attestation.test.ts).
|
|
12
13
|
//
|
|
13
14
|
// This belongs in github.com/sig-net/signet.js as its Midnight adapter,
|
|
@@ -15,9 +16,9 @@
|
|
|
15
16
|
import { transientHash, upgradeFromTransient, } from "@midnight-ntwrk/compact-runtime";
|
|
16
17
|
import { secp256k1 } from "@noble/curves/secp256k1.js";
|
|
17
18
|
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";
|
|
19
|
+
import { bigintToBytes32BE, bytesToBigintBE, bytesToHex, stripHexPrefix } from "./byte-codecs.js";
|
|
20
|
+
import { attestedOutputPreimageDescriptor } from "./compact-descriptors.js";
|
|
21
|
+
import { HashDomain, pureCircuits } from "./managed/contract/index.js";
|
|
21
22
|
/** secp256k1 curve (group) order n. */
|
|
22
23
|
export const SECP256K1_ORDER = secp256k1.Point.Fn.ORDER;
|
|
23
24
|
/**
|
|
@@ -270,10 +271,45 @@ export function secp256k1PublicKeyOf(secretKey) {
|
|
|
270
271
|
};
|
|
271
272
|
}
|
|
272
273
|
/**
|
|
273
|
-
* The
|
|
274
|
-
* `upgradeFromTransient(transientHash([HashDomain.
|
|
275
|
-
*
|
|
276
|
-
*
|
|
274
|
+
* The hash of a serialised execution output that the attestation digest
|
|
275
|
+
* commits to: `upgradeFromTransient(transientHash([HashDomain.attestedOutput, serializedOutput]))`.
|
|
276
|
+
* TS twin of the size-generic Compact circuit `calculateAttestedOutputHashV1`.
|
|
277
|
+
* The hash does not commit to the output's width (outputs that differ only
|
|
278
|
+
* in trailing zero bytes hash alike), so the attestation commits to the
|
|
279
|
+
* width separately and a verifier checks both.
|
|
280
|
+
*
|
|
281
|
+
* @param serializedOutput - The serialised execution output, exact unpadded bytes.
|
|
282
|
+
* @returns The 32-byte output hash.
|
|
283
|
+
*/
|
|
284
|
+
export function calculateAttestedOutputHash(serializedOutput) {
|
|
285
|
+
return upgradeFromTransient(transientHash(attestedOutputPreimageDescriptor(serializedOutput.length), [
|
|
286
|
+
HashDomain.attestedOutput,
|
|
287
|
+
serializedOutput,
|
|
288
|
+
]));
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Whether `serializedOutput` is the output an attestation declares: its width
|
|
292
|
+
* is `attestedOutputLength` and its {@link calculateAttestedOutputHash} is
|
|
293
|
+
* `attestedOutputHash`. TS twin of the size-generic Compact circuit
|
|
294
|
+
* `verifyAttestedOutputV1`. Both checks are needed, as the hash alone does not
|
|
295
|
+
* commit to the width. Proves nothing about the attestation itself: the length
|
|
296
|
+
* and hash must come from a post that passed
|
|
297
|
+
* {@link verifyRespondBidirectionalAttestation}.
|
|
298
|
+
*
|
|
299
|
+
* @param serializedOutput - The serialised execution output, exact unpadded bytes.
|
|
300
|
+
* @param attestedOutputLength - The attested output width, in bytes.
|
|
301
|
+
* @param attestedOutputHash - The attested 32-byte output hash.
|
|
302
|
+
* @returns Whether the output is the attested one.
|
|
303
|
+
*/
|
|
304
|
+
export function verifyAttestedOutput(serializedOutput, attestedOutputLength, attestedOutputHash) {
|
|
305
|
+
return (attestedOutputLength === BigInt(serializedOutput.length) &&
|
|
306
|
+
bytesToHex(attestedOutputHash) === bytesToHex(calculateAttestedOutputHash(serializedOutput)));
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* The attestation digest of a respond-bidirectional response for an output
|
|
310
|
+
* in hand: the compiled `calculateSignetAttestationDigestV1` over the
|
|
311
|
+
* output's width and {@link calculateAttestedOutputHash}. The 32-byte digest
|
|
312
|
+
* the MPC ECDSA-signs to attest a remote execution.
|
|
277
313
|
*
|
|
278
314
|
* @param requestId - The 32-byte request id the response answers.
|
|
279
315
|
* @param blockHeight - Height of the finalised target-chain block holding the
|
|
@@ -284,14 +320,7 @@ export function secp256k1PublicKeyOf(secretKey) {
|
|
|
284
320
|
* @returns The 32-byte attestation digest.
|
|
285
321
|
*/
|
|
286
322
|
export function calculateSignetAttestationDigest(requestId, blockHeight, outputKind, serializedOutput) {
|
|
287
|
-
return
|
|
288
|
-
HashDomain.attestationDigest,
|
|
289
|
-
requestId,
|
|
290
|
-
blockHeight,
|
|
291
|
-
outputKind,
|
|
292
|
-
BigInt(serializedOutput.length),
|
|
293
|
-
serializedOutput,
|
|
294
|
-
]));
|
|
323
|
+
return pureCircuits.calculateSignetAttestationDigestV1(requestId, blockHeight, outputKind, BigInt(serializedOutput.length), calculateAttestedOutputHash(serializedOutput));
|
|
295
324
|
}
|
|
296
325
|
/**
|
|
297
326
|
* Mint the record the MPC posts for an outcome: the attestation digest over
|
|
@@ -307,12 +336,15 @@ export function calculateSignetAttestationDigest(requestId, blockHeight, outputK
|
|
|
307
336
|
*/
|
|
308
337
|
export function attestRespondBidirectional(attestation, secretKey) {
|
|
309
338
|
const { requestId, blockHeight, outputKind, serializedOutput } = attestation;
|
|
310
|
-
const
|
|
339
|
+
const serializedOutputLength = BigInt(serializedOutput.length);
|
|
340
|
+
const outputHash = calculateAttestedOutputHash(serializedOutput);
|
|
341
|
+
const digest = pureCircuits.calculateSignetAttestationDigestV1(requestId, blockHeight, outputKind, serializedOutputLength, outputHash);
|
|
311
342
|
return {
|
|
312
343
|
requestId,
|
|
313
344
|
blockHeight,
|
|
314
345
|
outputKind,
|
|
315
|
-
serializedOutputLength
|
|
346
|
+
serializedOutputLength,
|
|
347
|
+
outputHash,
|
|
316
348
|
digest,
|
|
317
349
|
signature: ecdsaSignatureToMpcSignature(signAttestationDigest(digest, secretKey)),
|
|
318
350
|
};
|
|
@@ -355,32 +387,30 @@ export function respondBidirectionalEventToCircuitInput(event) {
|
|
|
355
387
|
};
|
|
356
388
|
}
|
|
357
389
|
/**
|
|
358
|
-
* Off-chain twin of the in-circuit `
|
|
359
|
-
* a posted respond-bidirectional attestation against the
|
|
360
|
-
*
|
|
361
|
-
*
|
|
362
|
-
*
|
|
363
|
-
*
|
|
364
|
-
*
|
|
365
|
-
*
|
|
366
|
-
* throwing.
|
|
390
|
+
* Off-chain twin of the in-circuit `verifyRespondBidirectionalAttestationV1`:
|
|
391
|
+
* checks a posted respond-bidirectional attestation's signature against the
|
|
392
|
+
* contract's pinned MPC response key, over the request id, block height,
|
|
393
|
+
* output kind, output length and output hash the post declares, without the
|
|
394
|
+
* output. A post this accepts is an outcome the MPC attested for the request
|
|
395
|
+
* it names; the output it attests is checked by {@link verifyAttestedOutput}.
|
|
396
|
+
* Takes the record as read off the ledger (big-endian). Malformed records
|
|
397
|
+
* return `false` rather than throwing.
|
|
367
398
|
*
|
|
368
|
-
* @param
|
|
369
|
-
* @param event - The posted record to check, as read off the ledger.
|
|
399
|
+
* @param respondBidirectionalEvent - The posted record to check, as read off the ledger.
|
|
370
400
|
* @param mpcResponseKey - The response key the requesting contract pinned
|
|
371
401
|
* (see {@link deriveMidnightResponseKey}).
|
|
372
|
-
* @returns Whether the post is a genuine attestation
|
|
373
|
-
* request it names.
|
|
402
|
+
* @returns Whether the post is a genuine attestation for the request it names.
|
|
374
403
|
*/
|
|
375
|
-
export function
|
|
404
|
+
export function verifyRespondBidirectionalAttestation(respondBidirectionalEvent, mpcResponseKey) {
|
|
376
405
|
let signature;
|
|
406
|
+
let digest;
|
|
377
407
|
try {
|
|
378
|
-
signature = mpcSignatureToEcdsaSignature(
|
|
408
|
+
signature = mpcSignatureToEcdsaSignature(respondBidirectionalEvent.signature);
|
|
409
|
+
digest = pureCircuits.calculateSignetAttestationDigestV1(respondBidirectionalEvent.requestId, respondBidirectionalEvent.blockHeight, respondBidirectionalEvent.outputKind, respondBidirectionalEvent.serializedOutputLength, respondBidirectionalEvent.outputHash);
|
|
379
410
|
}
|
|
380
411
|
catch {
|
|
381
412
|
return false;
|
|
382
413
|
}
|
|
383
|
-
const digest = calculateSignetAttestationDigest(event.requestId, event.blockHeight, event.outputKind, serializedOutput);
|
|
384
414
|
// Compact form the verifier takes: r || s big-endian, and the key as
|
|
385
415
|
// uncompressed SEC1 (0x04 || x || y).
|
|
386
416
|
const compactSignature = new Uint8Array(64);
|
|
@@ -400,4 +430,25 @@ export function verifyRespondBidirectionalSignature(serializedOutput, event, mpc
|
|
|
400
430
|
return false;
|
|
401
431
|
}
|
|
402
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 respondBidirectionalEvent - 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 verifyRespondBidirectionalEvent(serializedOutput, respondBidirectionalEvent, mpcResponseKey) {
|
|
452
|
+
return (verifyAttestedOutput(serializedOutput, respondBidirectionalEvent.serializedOutputLength, respondBidirectionalEvent.outputHash) && verifyRespondBidirectionalAttestation(respondBidirectionalEvent, mpcResponseKey));
|
|
453
|
+
}
|
|
403
454
|
//# 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":"AAAA,0EAA0E;AAC1E,0EAA0E;AAC1E,sEAAsE;AACtE,+DAA+D;AAC/D,kEAAkE;AAClE,2EAA2E;AAC3E,0EAA0E;AAC1E,0EAA0E;AAC1E,2EAA2E;AAC3E,8EAA8E;AAC9E,gEAAgE;AAChE,oCAAoC;AACpC,EAAE;AACF,wEAAwE;AACxE,8BAA8B;AAE9B,OAAO,EAEL,aAAa,EACb,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClG,OAAO,EAAE,gCAAgC,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAmB,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAYxF,uCAAuC;AACvC,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC;AAgBxD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAkB,EAAE,SAAqB;IAC7E,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACvE,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC/D,wEAAwE;IACxE,MAAM,EAAE,GAAG,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,KAAK,MAAM,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvF,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,6EAA6E;IAC7E,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;AACtE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAAC,SAAyB;IACpE,IAAI,SAAS,CAAC,UAAU,KAAK,CAAC,IAAI,SAAS,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,yCAAyC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC3F,CAAC;IACD,yEAAyE;IACzE,MAAM,YAAY,GAAG,SAAS,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACxD,IAAI,KAAK,CAAC;IACV,IAAI,CAAC;QACH,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,YAAY,GAAG,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,6DAA6D,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;YAC7F,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;IACD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB;IAC5D,OAAO;QACL,IAAI,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;QACrE,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;QACjC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC;KACzC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,4BAA4B,CAAC,SAAuB;IAClE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;IAC1C,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,UAAU,KAAK,EAAE,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,yCAAyC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,OAAO;QACL,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,eAAe;QAC5C,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;KAC/B,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kCAAkC,CAAC,QAAiC;IAClF,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,4BAA4B,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC9E,OAAO,SAAS,CAAC,IAAI,CAAC;QACpB,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC;QACjB,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC;QACjB,CAAC,EAAE,UAAU,GAAG,EAAE;KACnB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kCAAkC,CAChD,SAAoB,EACpB,SAAiD;IAEjD,OAAO;QACL,SAAS;QACT,SAAS,EAAE,4BAA4B,CAAC;YACtC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YACtB,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YACtB,UAAU,EAAE,SAAS,CAAC,OAAO;SAC9B,CAAC;KACH,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,2EAA2E;AAC3E,iFAAiF;AACjF,yBAAyB;AACzB,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAC3C,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC;;;;;;;;;;GAUG;AACH,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC/C,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAChE,IAAI,KAAa,CAAC;IAClB,IAAI,CAAC;QACH,KAAK,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,IAAI,OAAO,gDAAgD,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;YAC3F,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;IACD,4EAA4E;IAC5E,yEAAyE;IACzE,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,IAAI,OAAO,4BAA4B,MAAM,CAAC,qBAAqB,CAAC,0CAA0C,EAC9G,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAClC,CAAC;AAKD;;;;;;;;;GASG;AACH,MAAM,UAAU,mCAAmC,CAAC,KAAa;IAC/D,MAAM,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC;QACH,OAAO,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,kFAAkF;YAChF,6BAA6B,KAAK,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,EAC1D,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,MAAM,YAAY,GAAG,mCAAmC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB;IACjG,OAAO;QACL,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7C,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9C,QAAQ,EAAE,KAAK;KAChB,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAqB;IAC5D,MAAM,MAAM,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACvE,OAAO,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACpD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAa;IACvD,OAAO,wBAAwB,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAqB;IACxD,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC9D,OAAO;QACL,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7C,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9C,QAAQ,EAAE,KAAK;KAChB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,2BAA2B,CAAC,gBAA4B;IACtE,OAAO,oBAAoB,CACzB,aAAa,CAAC,gCAAgC,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;QACvE,UAAU,CAAC,cAAc;QACzB,gBAAgB;KACjB,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB,CAClC,gBAA4B,EAC5B,oBAA4B,EAC5B,kBAA8B;IAE9B,OAAO,CACL,oBAAoB,KAAK,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACxD,UAAU,CAAC,kBAAkB,CAAC,KAAK,UAAU,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,CAAC,CAC7F,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,gCAAgC,CAC9C,SAAoB,EACpB,WAAmB,EACnB,UAAsB,EACtB,gBAA4B;IAE5B,OAAO,YAAY,CAAC,kCAAkC,CACpD,SAAS,EACT,WAAW,EACX,UAAU,EACV,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAC/B,2BAA2B,CAAC,gBAAgB,CAAC,CAC9C,CAAC;AACJ,CAAC;AAkBD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,0BAA0B,CACxC,WAA4C,EAC5C,SAAqB;IAErB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,WAAW,CAAC;IAC7E,MAAM,sBAAsB,GAAG,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,2BAA2B,CAAC,gBAAgB,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,YAAY,CAAC,kCAAkC,CAC5D,SAAS,EACT,WAAW,EACX,UAAU,EACV,sBAAsB,EACtB,UAAU,CACX,CAAC;IACF,OAAO;QACL,SAAS;QACT,WAAW;QACX,UAAU;QACV,sBAAsB;QACtB,UAAU;QACV,MAAM;QACN,SAAS,EAAE,4BAA4B,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;KAClF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,KAAiB;IACvC,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,uCAAuC,CACrD,KAAgC;IAEhC,OAAO;QACL,GAAG,KAAK;QACR,SAAS,EAAE;YACT,GAAG,KAAK,CAAC,SAAS;YAClB,IAAI,EAAE,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAC5E,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;SACrC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,qCAAqC,CACnD,yBAAoD,EACpD,cAA8B;IAE9B,IAAI,SAAyB,CAAC;IAC9B,IAAI,MAAkB,CAAC;IACvB,IAAI,CAAC;QACH,SAAS,GAAG,4BAA4B,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QAC9E,MAAM,GAAG,YAAY,CAAC,kCAAkC,CACtD,yBAAyB,CAAC,SAAS,EACnC,yBAAyB,CAAC,WAAW,EACrC,yBAAyB,CAAC,UAAU,EACpC,yBAAyB,CAAC,sBAAsB,EAChD,yBAAyB,CAAC,UAAU,CACrC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,qEAAqE;IACrE,sCAAsC;IACtC,MAAM,gBAAgB,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC5C,gBAAgB,CAAC,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,gBAAgB,CAAC,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACrC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACpB,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtD,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,IAAI,CAAC;QACH,OAAO,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE;YAC3D,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,+BAA+B,CAC7C,gBAA4B,EAC5B,yBAAoD,EACpD,cAA8B;IAE9B,OAAO,CACL,oBAAoB,CAClB,gBAAgB,EAChB,yBAAyB,CAAC,sBAAsB,EAChD,yBAAyB,CAAC,UAAU,CACrC,IAAI,qCAAqC,CAAC,yBAAyB,EAAE,cAAc,CAAC,CACtF,CAAC;AACJ,CAAC"}
|
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,
|
|
15
|
+
export { calculateAttestedOutputHash, formatSecp256k1PublicKey, normaliseSecp256k1PublicKey, parseSecp256k1PublicKey, respondBidirectionalEventToCircuitInput, SECP256K1_ORDER, type Secp256k1Point, signatureRespondedEventToSignature, verifyAttestedOutput, verifyRespondBidirectionalAttestation, verifyRespondBidirectionalEvent, } 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,
|
|
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,+BAA+B,GAChC,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
|
@@ -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,
|
|
27
|
+
export { calculateAttestedOutputHash, formatSecp256k1PublicKey, normaliseSecp256k1PublicKey, parseSecp256k1PublicKey, respondBidirectionalEventToCircuitInput, SECP256K1_ORDER, signatureRespondedEventToSignature, verifyAttestedOutput, verifyRespondBidirectionalAttestation, verifyRespondBidirectionalEvent, } 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,
|
|
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,+BAA+B,GAChC,MAAM,wBAAwB,CAAC;AAEhC;;;;GAIG;AACH,OAAO,EACL,UAAU,EACV,UAAU,EAEV,YAAY,GACb,MAAM,6BAA6B,CAAC"}
|