@sig-net/midnight 0.23.0 → 0.24.0-rc.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.md +52 -24
  2. package/dist/abi-serde.d.ts +198 -57
  3. package/dist/abi-serde.d.ts.map +1 -1
  4. package/dist/abi-serde.js +478 -367
  5. package/dist/abi-serde.js.map +1 -1
  6. package/dist/compact-descriptors.d.ts +25 -8
  7. package/dist/compact-descriptors.d.ts.map +1 -1
  8. package/dist/compact-descriptors.js +42 -25
  9. package/dist/compact-descriptors.js.map +1 -1
  10. package/dist/constants.d.ts +3 -22
  11. package/dist/constants.d.ts.map +1 -1
  12. package/dist/constants.js +3 -25
  13. package/dist/constants.js.map +1 -1
  14. package/dist/ecdsa-attestation.d.ts +44 -14
  15. package/dist/ecdsa-attestation.d.ts.map +1 -1
  16. package/dist/ecdsa-attestation.js +50 -15
  17. package/dist/ecdsa-attestation.js.map +1 -1
  18. package/dist/index.d.ts +6 -6
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +5 -5
  21. package/dist/index.js.map +1 -1
  22. package/dist/managed/compiler/contract-info.json +1808 -48
  23. package/dist/managed/compiler/contract-manifest.json +8 -8
  24. package/dist/managed/contract/index.d.ts +424 -5
  25. package/dist/managed/contract/index.js +1311 -171
  26. package/dist/managed/contract/index.js.map +1 -1
  27. package/dist/mpc-output-cache.js +2 -2
  28. package/dist/mpc-output-cache.js.map +1 -1
  29. package/dist/signature-requests-state-reader.d.ts +6 -13
  30. package/dist/signature-requests-state-reader.d.ts.map +1 -1
  31. package/dist/signature-requests-state-reader.js +10 -16
  32. package/dist/signature-requests-state-reader.js.map +1 -1
  33. package/dist/signet-contract-events.d.ts +52 -12
  34. package/dist/signet-contract-events.d.ts.map +1 -1
  35. package/dist/signet-contract-events.js +89 -34
  36. package/dist/signet-contract-events.js.map +1 -1
  37. package/dist/signet-evtype2tx-record-decoding.d.ts.map +1 -1
  38. package/dist/signet-evtype2tx-record-decoding.js +7 -6
  39. package/dist/signet-evtype2tx-record-decoding.js.map +1 -1
  40. package/dist/signet-evtype2tx-requests.d.ts +17 -12
  41. package/dist/signet-evtype2tx-requests.d.ts.map +1 -1
  42. package/dist/signet-evtype2tx-requests.js +92 -16
  43. package/dist/signet-evtype2tx-requests.js.map +1 -1
  44. package/dist/signet-request-id.d.ts +5 -2
  45. package/dist/signet-request-id.d.ts.map +1 -1
  46. package/dist/signet-request-id.js +27 -9
  47. package/dist/signet-request-id.js.map +1 -1
  48. package/dist/signet-request-response-reader.d.ts +8 -0
  49. package/dist/signet-request-response-reader.d.ts.map +1 -1
  50. package/dist/signet-request-response-reader.js +8 -7
  51. package/dist/signet-request-response-reader.js.map +1 -1
  52. package/dist/signet-requests.d.ts +48 -19
  53. package/dist/signet-requests.d.ts.map +1 -1
  54. package/dist/signet-requests.js +19 -8
  55. package/dist/signet-requests.js.map +1 -1
  56. package/dist/testing.d.ts +1 -1
  57. package/dist/testing.d.ts.map +1 -1
  58. package/dist/testing.js +3 -8
  59. package/dist/testing.js.map +1 -1
  60. package/package.json +2 -2
  61. package/src/Signet.compact +299 -101
  62. package/src/circuits.compact +92 -12
@@ -1 +1 @@
1
- {"version":3,"file":"signet-evtype2tx-record-decoding.js","sourceRoot":"","sources":["../src/signet-evtype2tx-record-decoding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signet-evtype2tx-record-decoding.js","sourceRoot":"","sources":["../src/signet-evtype2tx-record-decoding.ts"],"names":[],"mappings":"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"}
@@ -89,17 +89,6 @@ export declare function evmAccessListEntryDescriptor(maxStorageKeys: number): Co
89
89
  * @returns The tx-params descriptor.
90
90
  */
91
91
  export declare function evmType2TxParamsDescriptor(maxCalldataWords: number, maxAccessListEntries: number, maxStorageKeysPerEntry: number): CompactType<EvmType2TxParams>;
92
- /**
93
- * Descriptor of {@link EvmType2TxParams} at the capacity instantiation a
94
- * stored value itself exhibits: vector capacities are read off the value's
95
- * array lengths, which carry the contract's compile-time throttles. For
96
- * hashing or re-encoding a record already decoded at full capacity (see
97
- * `calculateRequestId` in signet-request-id.ts).
98
- *
99
- * @param txParams - The transaction decomposition to size against.
100
- * @returns The tx-params descriptor at the value's capacities.
101
- */
102
- export declare function evmType2TxParamsDescriptorOf(txParams: EvmType2TxParams): CompactType<EvmType2TxParams>;
103
92
  /**
104
93
  * Descriptor of {@link SignBidirectionalEvent} at one EVM Type-2 capacity
105
94
  * instantiation.
@@ -164,6 +153,22 @@ export declare function abiWordToUint128(word: Uint8Array): bigint;
164
153
  * @throws {Error} If the word is not 32 bytes or is not a canonical Boolean.
165
154
  */
166
155
  export declare function abiWordToBool(word: Uint8Array): boolean;
156
+ /**
157
+ * Digest of an {@link EvmType2TxParams} over the bytes that reach the signed
158
+ * transaction, the TS twin of the `calculateEvmType2TxParamsDigestV1` circuit
159
+ * (lockstep-tested against its fixed-width oracles): the scalar fields, then
160
+ * the calldata words, access-list entries and storage keys up to their
161
+ * declared counts, each count hashed beside its entries. Slots past a count
162
+ * are skipped and an absent calldata contributes only its absence, so one
163
+ * transaction has one digest whatever the capacities and whatever bytes sit
164
+ * in unused slots. This is what {@link calculateRequestId} hashes in place of
165
+ * the parameters.
166
+ *
167
+ * @param txParams - The transaction decomposition to digest, at any capacity.
168
+ * @returns The 32-byte digest.
169
+ * @throws {Error} When a count exceeds its capacity.
170
+ */
171
+ export declare function calculateEvmType2TxParamsDigest(txParams: EvmType2TxParams): Uint8Array;
167
172
  /**
168
173
  * Assemble the raw calldata a request's words describe:
169
174
  * `data = selector || words[0..noWords]`, VERBATIM (see {@link EvmCalldata}).
@@ -182,7 +187,7 @@ export declare function assembleCalldata(calldata: Maybe<EvmCalldata>): string;
182
187
  * @param request - The on-ledger request record.
183
188
  * @returns The unsigned ethers transaction (`unsignedHash` is the digest the
184
189
  * MPC signs).
185
- * @throws {Error} If a calldata word carries an unknown kind.
190
+ * @throws {Error} If a calldata count overruns its stored slots.
186
191
  */
187
192
  export declare function signBidirectionalEventToUnsignedEvmTransaction(request: SignBidirectionalEvent): Transaction;
188
193
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"signet-evtype2tx-requests.d.ts","sourceRoot":"","sources":["../src/signet-evtype2tx-requests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signet-evtype2tx-requests.d.ts","sourceRoot":"","sources":["../src/signet-evtype2tx-requests.ts"],"names":[],"mappings":"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"}
@@ -7,11 +7,12 @@
7
7
  // Words are stored ABI-ready: {@link assembleCalldata} concatenates
8
8
  // `selector || words` VERBATIM, so the transaction the MPC signs carries the
9
9
  // contract-stored bytes untouched.
10
- import { CompactTypeVector } from "@midnight-ntwrk/compact-runtime";
10
+ import { CompactTypeVector, transientHash, upgradeFromTransient, } from "@midnight-ntwrk/compact-runtime";
11
11
  import { getAddress, Transaction } from "ethers";
12
12
  import { bigintToBytes32BE, bytesToHex } from "./byte-codecs.js";
13
- import { BYTES_4, BYTES_20, BYTES_32, compactMaybeDescriptor, compactStructDescriptor, UINT_8, UINT_16, UINT_64, UINT_128, } from "./compact-descriptors.js";
13
+ import { BOOLEAN, BYTES_4, BYTES_20, BYTES_32, compactMaybeDescriptor, compactStructDescriptor, compactTupleDescriptor, FIELD, HASH_DOMAIN, UINT_8, UINT_16, UINT_64, UINT_128, } from "./compact-descriptors.js";
14
14
  import { signatureRespondedEventToSignature } from "./ecdsa-attestation.js";
15
+ import { HashDomain } from "./managed/contract/index.js";
15
16
  import { signBidirectionalEventDescriptorWith, } from "./signet-requests.js";
16
17
  // ---- Runtime descriptors (see the deviation note in signet-requests.ts) ----
17
18
  // Base-type descriptors come from compact-descriptors.ts at the literals the
@@ -69,19 +70,6 @@ export function evmType2TxParamsDescriptor(maxCalldataWords, maxAccessListEntrie
69
70
  accessList: new CompactTypeVector(maxAccessListEntries, evmAccessListEntryDescriptor(maxStorageKeysPerEntry)),
70
71
  });
71
72
  }
72
- /**
73
- * Descriptor of {@link EvmType2TxParams} at the capacity instantiation a
74
- * stored value itself exhibits: vector capacities are read off the value's
75
- * array lengths, which carry the contract's compile-time throttles. For
76
- * hashing or re-encoding a record already decoded at full capacity (see
77
- * `calculateRequestId` in signet-request-id.ts).
78
- *
79
- * @param txParams - The transaction decomposition to size against.
80
- * @returns The tx-params descriptor at the value's capacities.
81
- */
82
- export function evmType2TxParamsDescriptorOf(txParams) {
83
- return evmType2TxParamsDescriptor(txParams.calldata.value.words.length, txParams.accessList.length, txParams.accessList[0]?.storageKeys.length ?? 0);
84
- }
85
73
  /**
86
74
  * Descriptor of {@link SignBidirectionalEvent} at one EVM Type-2 capacity
87
75
  * instantiation.
@@ -183,6 +171,94 @@ export function abiWordToBool(word) {
183
171
  }
184
172
  return low === 1;
185
173
  }
174
+ /** The digest's head tuple: the scalar fields, the calldata presence, selector and count, the entry count. */
175
+ const EVM_TYPE2_DIGEST_HEAD = compactTupleDescriptor([
176
+ HASH_DOMAIN,
177
+ UINT_64,
178
+ UINT_64,
179
+ UINT_128,
180
+ UINT_128,
181
+ UINT_64,
182
+ BYTES_20,
183
+ UINT_128,
184
+ BOOLEAN,
185
+ BYTES_4,
186
+ UINT_16,
187
+ UINT_8,
188
+ ]);
189
+ /** One fold step over a calldata word or storage key. */
190
+ const DOMAIN_FIELD_BYTES_32 = compactTupleDescriptor([
191
+ HASH_DOMAIN,
192
+ FIELD,
193
+ BYTES_32,
194
+ ]);
195
+ /** One fold step over a used access-list entry with its keys' digest. */
196
+ const EVM_TYPE2_DIGEST_ENTRY = compactTupleDescriptor([HASH_DOMAIN, FIELD, BYTES_20, UINT_8, FIELD]);
197
+ /**
198
+ * Digest of an {@link EvmType2TxParams} over the bytes that reach the signed
199
+ * transaction, the TS twin of the `calculateEvmType2TxParamsDigestV1` circuit
200
+ * (lockstep-tested against its fixed-width oracles): the scalar fields, then
201
+ * the calldata words, access-list entries and storage keys up to their
202
+ * declared counts, each count hashed beside its entries. Slots past a count
203
+ * are skipped and an absent calldata contributes only its absence, so one
204
+ * transaction has one digest whatever the capacities and whatever bytes sit
205
+ * in unused slots. This is what {@link calculateRequestId} hashes in place of
206
+ * the parameters.
207
+ *
208
+ * @param txParams - The transaction decomposition to digest, at any capacity.
209
+ * @returns The 32-byte digest.
210
+ * @throws {Error} When a count exceeds its capacity.
211
+ */
212
+ export function calculateEvmType2TxParamsDigest(txParams) {
213
+ const { calldata, accessListEntryCount, accessList } = txParams;
214
+ const noWords = calldata.is_some ? calldata.value.noWords : 0n;
215
+ const selector = calldata.is_some ? calldata.value.selector : new Uint8Array(4);
216
+ if (noWords > BigInt(calldata.value.words.length)) {
217
+ throw new Error("calldata noWords exceeds capacity");
218
+ }
219
+ if (accessListEntryCount > BigInt(accessList.length)) {
220
+ throw new Error("accessListEntryCount exceeds capacity");
221
+ }
222
+ const head = transientHash(EVM_TYPE2_DIGEST_HEAD, [
223
+ HashDomain.evmType2TxHeader,
224
+ txParams.chainId,
225
+ txParams.nonce,
226
+ txParams.maxPriorityFeePerGas,
227
+ txParams.maxFeePerGas,
228
+ txParams.gasLimit,
229
+ txParams.to,
230
+ txParams.value,
231
+ calldata.is_some,
232
+ selector,
233
+ noWords,
234
+ accessListEntryCount,
235
+ ]);
236
+ let acc = head;
237
+ for (const word of calldata.value.words.slice(0, Number(noWords))) {
238
+ acc = transientHash(DOMAIN_FIELD_BYTES_32, [HashDomain.evmType2TxWord, acc, word]);
239
+ }
240
+ for (const entry of accessList.slice(0, Number(accessListEntryCount))) {
241
+ if (entry.storageKeyCount > BigInt(entry.storageKeys.length)) {
242
+ throw new Error("a used entry's storageKeyCount exceeds capacity");
243
+ }
244
+ let keysAcc = 0n;
245
+ for (const key of entry.storageKeys.slice(0, Number(entry.storageKeyCount))) {
246
+ keysAcc = transientHash(DOMAIN_FIELD_BYTES_32, [
247
+ HashDomain.evmType2TxStorageKey,
248
+ keysAcc,
249
+ key,
250
+ ]);
251
+ }
252
+ acc = transientHash(EVM_TYPE2_DIGEST_ENTRY, [
253
+ HashDomain.evmType2TxAccessEntry,
254
+ acc,
255
+ entry.address,
256
+ entry.storageKeyCount,
257
+ keysAcc,
258
+ ]);
259
+ }
260
+ return upgradeFromTransient(acc);
261
+ }
186
262
  /**
187
263
  * Assemble the raw calldata a request's words describe:
188
264
  * `data = selector || words[0..noWords]`, VERBATIM (see {@link EvmCalldata}).
@@ -226,7 +302,7 @@ function decodeAccessList(txParams) {
226
302
  * @param request - The on-ledger request record.
227
303
  * @returns The unsigned ethers transaction (`unsignedHash` is the digest the
228
304
  * MPC signs).
229
- * @throws {Error} If a calldata word carries an unknown kind.
305
+ * @throws {Error} If a calldata count overruns its stored slots.
230
306
  */
231
307
  export function signBidirectionalEventToUnsignedEvmTransaction(request) {
232
308
  const { txParams } = request;
@@ -1 +1 @@
1
- {"version":3,"file":"signet-evtype2tx-requests.js","sourceRoot":"","sources":["../src/signet-evtype2tx-requests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signet-evtype2tx-requests.js","sourceRoot":"","sources":["../src/signet-evtype2tx-requests.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,15 @@
1
1
  import { type RequestId, type SignBidirectionalEvent } from "./signet-requests.ts";
2
2
  /**
3
3
  * Canonical id of a signet request: the transientHash (Poseidon) of the
4
- * entire event record over its field-aligned representation.
4
+ * record's {@link RequestIdPreimage} prefixed with {@link HashDomain.requestId},
5
+ * with the transaction entering as its decomposition's digest
6
+ * ({@link calculateEvmType2TxParamsDigest} for evmType2), so the id ignores
7
+ * the record's capacities and unused slots.
5
8
  *
6
9
  * @param request - The full event record (contract-shaped, all slots).
7
10
  * @returns The 32-byte request id, the record's ledger map key.
8
11
  * @throws {Error} If the record's `txParamType` names a decomposition this
9
- * computation has no descriptor for.
12
+ * computation has no digest for, or a count overruns its capacity.
10
13
  */
11
14
  export declare function calculateRequestId(request: SignBidirectionalEvent): RequestId;
12
15
  //# sourceMappingURL=signet-request-id.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signet-request-id.d.ts","sourceRoot":"","sources":["../src/signet-request-id.ts"],"names":[],"mappings":"AASA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,sBAAsB,EAG5B,MAAM,sBAAsB,CAAC;AAE9B;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,sBAAsB,GAAG,SAAS,CAiB7E"}
1
+ {"version":3,"file":"signet-request-id.d.ts","sourceRoot":"","sources":["../src/signet-request-id.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,KAAK,SAAS,EAGd,KAAK,sBAAsB,EAE5B,MAAM,sBAAsB,CAAC;AAO9B;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,sBAAsB,GAAG,SAAS,CAmB7E"}
@@ -1,25 +1,43 @@
1
1
  // The signet request id computation: the TS twin of Signet.compact's
2
- // `calculateRequestId` circuit (see the deviation note in
3
- // signet-requests.ts). Chain-agnostic entry point that resolves each
4
- // record's tx-params descriptor by its `txParamType` tag, so every
5
- // decomposition mints ids through this one function.
2
+ // `calculateEvmType2RequestIdV1` circuit (see the deviation note in
3
+ // signet-requests.ts). Chain-agnostic entry point that digests each record's
4
+ // transaction by its `txParamType` tag, so every decomposition mints ids
5
+ // through this one function.
6
6
  import { transientHash, upgradeFromTransient } from "@midnight-ntwrk/compact-runtime";
7
- import { evmType2TxParamsDescriptorOf } from "./signet-evtype2tx-requests.js";
8
- import { signBidirectionalEventDescriptorWith, TxParamType, } from "./signet-requests.js";
7
+ import { compactTupleDescriptor, HASH_DOMAIN } from "./compact-descriptors.js";
8
+ import { HashDomain } from "./managed/contract/index.js";
9
+ import { calculateEvmType2TxParamsDigest } from "./signet-evtype2tx-requests.js";
10
+ import { requestIdPreimageDescriptor, TxParamType, } from "./signet-requests.js";
11
+ const REQUEST_ID_HASH_PREIMAGE = compactTupleDescriptor([
12
+ HASH_DOMAIN,
13
+ requestIdPreimageDescriptor,
14
+ ]);
9
15
  /**
10
16
  * Canonical id of a signet request: the transientHash (Poseidon) of the
11
- * entire event record over its field-aligned representation.
17
+ * record's {@link RequestIdPreimage} prefixed with {@link HashDomain.requestId},
18
+ * with the transaction entering as its decomposition's digest
19
+ * ({@link calculateEvmType2TxParamsDigest} for evmType2), so the id ignores
20
+ * the record's capacities and unused slots.
12
21
  *
13
22
  * @param request - The full event record (contract-shaped, all slots).
14
23
  * @returns The 32-byte request id, the record's ledger map key.
15
24
  * @throws {Error} If the record's `txParamType` names a decomposition this
16
- * computation has no descriptor for.
25
+ * computation has no digest for, or a count overruns its capacity.
17
26
  */
18
27
  export function calculateRequestId(request) {
19
28
  if (request.txParamType !== TxParamType.evmType2) {
20
29
  throw new Error(`unsupported txParamType ${String(request.txParamType)}: this id computation ` +
21
30
  `understands evmType2 (${String(TxParamType.evmType2)})`);
22
31
  }
23
- return upgradeFromTransient(transientHash(signBidirectionalEventDescriptorWith(evmType2TxParamsDescriptorOf(request.txParams), request.outputDeserializationSchema.length, request.respondSerializationSchema.length), request));
32
+ const preimage = {
33
+ keyVersion: request.keyVersion,
34
+ sender: request.sender,
35
+ path: request.path,
36
+ algo: request.algo,
37
+ txParamType: request.txParamType,
38
+ txParamsDigest: calculateEvmType2TxParamsDigest(request.txParams),
39
+ executionDest: request.executionDest,
40
+ };
41
+ return upgradeFromTransient(transientHash(REQUEST_ID_HASH_PREIMAGE, [HashDomain.requestId, preimage]));
24
42
  }
25
43
  //# sourceMappingURL=signet-request-id.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signet-request-id.js","sourceRoot":"","sources":["../src/signet-request-id.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,0DAA0D;AAC1D,qEAAqE;AACrE,mEAAmE;AACnE,qDAAqD;AAErD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEtF,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAGL,oCAAoC,EACpC,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAE9B;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAA+B;IAChE,IAAI,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC,QAAQ,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CACb,2BAA2B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,wBAAwB;YAC5E,yBAAyB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAC3D,CAAC;IACJ,CAAC;IACD,OAAO,oBAAoB,CACzB,aAAa,CACX,oCAAoC,CAClC,4BAA4B,CAAC,OAAO,CAAC,QAAQ,CAAC,EAC9C,OAAO,CAAC,2BAA2B,CAAC,MAAM,EAC1C,OAAO,CAAC,0BAA0B,CAAC,MAAM,CAC1C,EACD,OAAO,CACR,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"signet-request-id.js","sourceRoot":"","sources":["../src/signet-request-id.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,oEAAoE;AACpE,6EAA6E;AAC7E,yEAAyE;AACzE,6BAA6B;AAE7B,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEtF,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAGL,2BAA2B,EAE3B,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAE9B,MAAM,wBAAwB,GAAG,sBAAsB,CAAkC;IACvF,WAAW;IACX,2BAA2B;CAC5B,CAAC,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAA+B;IAChE,IAAI,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC,QAAQ,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CACb,2BAA2B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,wBAAwB;YAC5E,yBAAyB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAC3D,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAsB;QAClC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,cAAc,EAAE,+BAA+B,CAAC,OAAO,CAAC,QAAQ,CAAC;QACjE,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC;IACF,OAAO,oBAAoB,CACzB,aAAa,CAAC,wBAAwB,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAC1E,CAAC;AACJ,CAAC"}
@@ -41,6 +41,14 @@ export interface SignetRequestResponseReaderConfig {
41
41
  * with `signetEventSourceFromIndexer`.
42
42
  */
43
43
  readonly eventSource: SignetEventSource;
44
+ /**
45
+ * Inclusive lowest Midnight block the reader scans for responses. Omit to
46
+ * scan the whole history. Responses are emitted after their request, so
47
+ * the tip taken BEFORE submitting the first request is safe for a fresh
48
+ * client. It must not exceed the block of the oldest request whose
49
+ * responses are still wanted: a value too high hides them without error.
50
+ */
51
+ readonly signetEventsFromBlock?: number;
44
52
  }
45
53
  /** The verdict on one emitted response, in emission order. */
46
54
  export interface SignatureResponseVerdict {
@@ -1 +1 @@
1
- {"version":3,"file":"signet-request-response-reader.d.ts","sourceRoot":"","sources":["../src/signet-request-response-reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signet-request-response-reader.d.ts","sourceRoot":"","sources":["../src/signet-request-response-reader.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import { lookupSignetRequestAt } from "./signature-requests-state-reader.js";
9
9
  import { recoverSignatureResponseSigner } from "./signature-response-verification.js";
10
10
  import { decodeSignetEventNamed, SignetEventName, signetEventRecordsOf, } from "./signet-contract-events.js";
11
11
  import { signBidirectionalEventToSignedEvmTransaction, signBidirectionalEventToUnsignedEvmTransaction, } from "./signet-evtype2tx-requests.js";
12
- import { requestIdBytes, TxParamType, } from "./signet-requests.js";
12
+ import { TxParamType } from "./signet-requests.js";
13
13
  /**
14
14
  * Assert a fetched request carries the evmType2 decomposition, the only one
15
15
  * the EVM-transaction methods may read `txParams` from.
@@ -26,14 +26,13 @@ function assertEvmType2Request(request) {
26
26
  * The first (oldest) of a request's respond-bidirectional posts whose
27
27
  * signature verifies over `serializedOutput` against `mpcResponseKey`.
28
28
  *
29
- * @param requestId - The request id the attestation must commit to.
30
29
  * @param serializedOutput - The serialised execution output, exact unpadded bytes.
31
30
  * @param mpcResponseKey - The MPC response key the requesting contract pinned.
32
31
  * @param posts - The request's posts, in emission order.
33
32
  * @returns The first verifying post, or `undefined` when none verifies.
34
33
  */
35
- function firstVerifiedRespondBidirectionalEvent(requestId, serializedOutput, mpcResponseKey, posts) {
36
- return posts.find((post) => verifyRespondBidirectionalSignature(requestIdBytes(requestId), serializedOutput, post, mpcResponseKey));
34
+ function firstVerifiedRespondBidirectionalEvent(serializedOutput, mpcResponseKey, posts) {
35
+ return posts.find((post) => verifyRespondBidirectionalSignature(serializedOutput, post, mpcResponseKey));
37
36
  }
38
37
  /**
39
38
  * `SignetRequestResponseReader.getVerifiedRespondBidirectionalEvent` over
@@ -52,7 +51,7 @@ function firstVerifiedRespondBidirectionalEvent(requestId, serializedOutput, mpc
52
51
  * @returns The first verifying post, or `undefined` when none attests this output.
53
52
  */
54
53
  export function findVerifiedRespondBidirectionalEvent(requestId, serializedOutput, mpcResponseKey, events) {
55
- return firstVerifiedRespondBidirectionalEvent(requestId, serializedOutput, mpcResponseKey, signetEventRecordsOf(events, SignetEventName.RespondBidirectionalEvent, requestId));
54
+ return firstVerifiedRespondBidirectionalEvent(serializedOutput, mpcResponseKey, signetEventRecordsOf(events, SignetEventName.RespondBidirectionalEvent, requestId));
56
55
  }
57
56
  /**
58
57
  * Reader over one requester contract / signet contract pair. Construct once
@@ -106,7 +105,9 @@ export class SignetRequestResponseReader {
106
105
  */
107
106
  async getRecordsNamed(name, requestId) {
108
107
  const records = [];
109
- const events = this.config.eventSource.streamSignetEvents(this.config.signetContractAddress);
108
+ const events = this.config.eventSource.streamSignetEvents(this.config.signetContractAddress, this.config.signetEventsFromBlock === undefined
109
+ ? undefined
110
+ : { fromBlock: this.config.signetEventsFromBlock });
110
111
  for await (const event of events) {
111
112
  const decoded = decodeSignetEventNamed(event, name);
112
113
  if (decoded?.requestId === requestId)
@@ -272,7 +273,7 @@ export class SignetRequestResponseReader {
272
273
  * posted yet (poll again) or none attests this output.
273
274
  */
274
275
  async getVerifiedRespondBidirectionalEvent(requestId, serializedOutput, mpcResponseKey) {
275
- return firstVerifiedRespondBidirectionalEvent(requestId, serializedOutput, mpcResponseKey, await this.getRespondBidirectionalEvents(requestId));
276
+ return firstVerifiedRespondBidirectionalEvent(serializedOutput, mpcResponseKey, await this.getRespondBidirectionalEvents(requestId));
276
277
  }
277
278
  }
278
279
  //# sourceMappingURL=signet-request-response-reader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signet-request-response-reader.js","sourceRoot":"","sources":["../src/signet-request-response-reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signet-request-response-reader.js","sourceRoot":"","sources":["../src/signet-request-response-reader.ts"],"names":[],"mappings":"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"}
@@ -60,45 +60,74 @@ export declare const MPCDestination: {
60
60
  /** Never emitted: the >= 2 variants padding (see {@link TxParamType}). */
61
61
  readonly reserved: 1;
62
62
  };
63
+ /**
64
+ * The fields of a {@link SignBidirectionalEvent} that mint its
65
+ * {@link RequestId} (Compact: `RequestIdPreimageV1`), in Compact declaration
66
+ * order: the signing key, the requesting contract, a digest of the
67
+ * transaction and its execution destination. The transaction enters as the
68
+ * digest its decomposition's own function computes over the used entries
69
+ * only, so the id is the same whatever capacities the requester compiled its
70
+ * struct with and whatever bytes sit in unused slots. The serialisation
71
+ * schemas and the reserved MPC parameters stay out.
72
+ */
73
+ export interface RequestIdPreimage {
74
+ /** MPC root-key version to derive from (>= 1). */
75
+ keyVersion: bigint;
76
+ /** Address of the client contract that stores this event (`kernel.self()`). */
77
+ sender: ContractAddress;
78
+ /** Key-derivation path: 32 opaque bytes of the client contract's choosing. */
79
+ path: Uint8Array;
80
+ /** An {@link MPCSignatureAlgorithm} value. */
81
+ algo: number;
82
+ /** A {@link TxParamType} value tagging the txParams decomposition. */
83
+ txParamType: number;
84
+ /** The 32-byte digest of the transaction decomposition over its used entries. */
85
+ txParamsDigest: Uint8Array;
86
+ /** Execution destination: the target chain in CAIP-2 form (https://chainagnostic.org/CAIPs/caip-2), zero-padded, 32 bytes. */
87
+ executionDest: Uint8Array;
88
+ }
63
89
  /**
64
90
  * Canonical signet request record (Compact:
65
- * `SignBidirectionalEvent<TxParams, #LenOutputDeserialization,
91
+ * `SignBidirectionalEventV1<TxParams, #LenOutputDeserialization,
66
92
  * #LenRespondSerialization>`), stored per {@link RequestId} in a requesting
67
- * contract's `SignBidirectionalEventMap`. Generic over the tx-params
68
- * decomposition, {@link EvmType2TxParams} by default. The schema fields
69
- * carry their contract-declared byte widths in their array lengths.
93
+ * contract's `SignBidirectionalEventMapV1`, in Compact declaration order. The
94
+ * {@link RequestIdPreimage} fields come first and mint its id, the
95
+ * protocol-only fields follow, and the schema fields carry their
96
+ * contract-declared byte widths in their array lengths.
70
97
  */
71
98
  export interface SignBidirectionalEvent<TxParams = EvmType2TxParams> {
72
- /** Address of the client contract that stores this event (`kernel.self()`). */
73
- sender: ContractAddress;
74
- /** Contract-local nonce captured when the request was created. */
75
- requestNonce: bigint;
76
99
  /** MPC root-key version to derive from (>= 1). */
77
100
  keyVersion: bigint;
101
+ /** Address of the client contract that stores this event (`kernel.self()`). */
102
+ sender: ContractAddress;
78
103
  /** Key-derivation path: 32 opaque bytes of the client contract's choosing. */
79
104
  path: Uint8Array;
80
105
  /** An {@link MPCSignatureAlgorithm} value. */
81
106
  algo: number;
82
- /** An {@link MPCDestination} value. */
83
- dest: number;
84
- /** Extra MPC parameters: 64 opaque bytes, reserved, zero-filled. */
85
- params: Uint8Array;
86
107
  /** A {@link TxParamType} value tagging the txParams decomposition. */
87
108
  txParamType: number;
88
109
  /** The transaction decomposition. */
89
110
  txParams: TxParams;
90
- /** Target chain in CAIP-2 form (https://chainagnostic.org/CAIPs/caip-2), zero-padded, 32 bytes. */
91
- caip2Id: Uint8Array;
111
+ /** Execution destination: the target chain in CAIP-2 form (https://chainagnostic.org/CAIPs/caip-2), zero-padded, 32 bytes. */
112
+ executionDest: Uint8Array;
113
+ /** An {@link MPCDestination} value: the signature destination, reserved. */
114
+ signatureDest: number;
115
+ /** Extra MPC parameters: 64 opaque bytes, reserved, zero-filled. */
116
+ params: Uint8Array;
92
117
  /** MPC output_deserialization_schema (destination chain -> MPC), contract-declared width. */
93
118
  outputDeserializationSchema: Uint8Array;
94
119
  /** MPC respond_serialization_schema (MPC -> Midnight), contract-declared width. */
95
120
  respondSerializationSchema: Uint8Array;
96
121
  }
97
122
  /**
98
-
123
+ * Descriptor of {@link RequestIdPreimage}: what {@link calculateRequestId}
124
+ * hashes, in Compact declaration order.
125
+ */
126
+ export declare const requestIdPreimageDescriptor: CompactType<RequestIdPreimage>;
127
+ /**
99
128
  * Descriptor of {@link SignBidirectionalEvent} over ANY tx-params
100
129
  * decomposition: the TS analogue of Compact's generic
101
- * `SignBidirectionalEvent`. Each decomposition wraps this with its own
130
+ * `SignBidirectionalEventV1`. Each decomposition wraps this with its own
102
131
  * capacity-parameterised convenience (see `signBidirectionalEventDescriptor`
103
132
  * in signet-evtype2tx-requests.ts for the EVM Type-2 one).
104
133
  *
@@ -112,9 +141,9 @@ export interface SignBidirectionalEvent<TxParams = EvmType2TxParams> {
112
141
  */
113
142
  export declare function signBidirectionalEventDescriptorWith<TxParams>(txParams: CompactType<TxParams>, lenOutputDeserialization: number, lenRespondSerialization: number): CompactType<SignBidirectionalEvent<TxParams>>;
114
143
  /**
115
- * The generated ledger shape of `Map<RequestId, SignBidirectionalEvent>`:
116
- * what a contract's `ledger(state).signetRequestsIndex` provides. Structural,
117
- * so any contract exposing the index satisfies it.
144
+ * The generated ledger shape of a `SignBidirectionalEventMapV1`: what a
145
+ * contract's `ledger(state).signBidirectionalEventMap` provides. Structural,
146
+ * so any contract exposing such a map satisfies it.
118
147
  */
119
148
  export interface SignBidirectionalEventLedgerMap extends Iterable<[
120
149
  RequestId,
@@ -1 +1 @@
1
- {"version":3,"file":"signet-requests.d.ts","sourceRoot":"","sources":["../src/signet-requests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signet-requests.d.ts","sourceRoot":"","sources":["../src/signet-requests.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@
10
10
  // packages/test-caller-contract/tests/contract.test.ts).
11
11
  import { CompactTypeBytes, CompactTypeEnum, } from "@midnight-ntwrk/compact-runtime";
12
12
  import { bytesToHex, hexToBytes, stripHexPrefix } from "./byte-codecs.js";
13
- import { BYTES_32, BYTES_64, compactStructDescriptor, CONTRACT_ADDRESS, UINT_8, UINT_64, } from "./compact-descriptors.js";
13
+ import { BYTES_32, BYTES_64, compactStructDescriptor, CONTRACT_ADDRESS, UINT_8, } from "./compact-descriptors.js";
14
14
  /**
15
15
  * Parse a contract address from its hex rendering (optional `0x`/`0X`
16
16
  * prefix): the form the deploy flow prints, the environment carries and the
@@ -91,10 +91,22 @@ const TX_PARAM_TYPE = new CompactTypeEnum(1, 1);
91
91
  const MPC_SIGNATURE_ALGORITHM = new CompactTypeEnum(1, 1);
92
92
  const MPC_DESTINATION = new CompactTypeEnum(1, 1);
93
93
  /**
94
-
94
+ * Descriptor of {@link RequestIdPreimage}: what {@link calculateRequestId}
95
+ * hashes, in Compact declaration order.
96
+ */
97
+ export const requestIdPreimageDescriptor = compactStructDescriptor({
98
+ keyVersion: UINT_8,
99
+ sender: CONTRACT_ADDRESS,
100
+ path: BYTES_32,
101
+ algo: MPC_SIGNATURE_ALGORITHM,
102
+ txParamType: TX_PARAM_TYPE,
103
+ txParamsDigest: BYTES_32,
104
+ executionDest: BYTES_32,
105
+ });
106
+ /**
95
107
  * Descriptor of {@link SignBidirectionalEvent} over ANY tx-params
96
108
  * decomposition: the TS analogue of Compact's generic
97
- * `SignBidirectionalEvent`. Each decomposition wraps this with its own
109
+ * `SignBidirectionalEventV1`. Each decomposition wraps this with its own
98
110
  * capacity-parameterised convenience (see `signBidirectionalEventDescriptor`
99
111
  * in signet-evtype2tx-requests.ts for the EVM Type-2 one).
100
112
  *
@@ -108,16 +120,15 @@ const MPC_DESTINATION = new CompactTypeEnum(1, 1);
108
120
  */
109
121
  export function signBidirectionalEventDescriptorWith(txParams, lenOutputDeserialization, lenRespondSerialization) {
110
122
  return compactStructDescriptor({
111
- sender: CONTRACT_ADDRESS,
112
- requestNonce: UINT_64,
113
123
  keyVersion: UINT_8,
124
+ sender: CONTRACT_ADDRESS,
114
125
  path: BYTES_32,
115
126
  algo: MPC_SIGNATURE_ALGORITHM,
116
- dest: MPC_DESTINATION,
117
- params: BYTES_64,
118
127
  txParamType: TX_PARAM_TYPE,
119
128
  txParams,
120
- caip2Id: BYTES_32,
129
+ executionDest: BYTES_32,
130
+ signatureDest: MPC_DESTINATION,
131
+ params: BYTES_64,
121
132
  outputDeserializationSchema: new CompactTypeBytes(lenOutputDeserialization),
122
133
  respondSerializationSchema: new CompactTypeBytes(lenRespondSerialization),
123
134
  });