@sig-net/midnight 0.0.6 → 0.0.7

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 (57) hide show
  1. package/README.md +23 -20
  2. package/dist/constants.d.ts +4 -16
  3. package/dist/constants.d.ts.map +1 -1
  4. package/dist/constants.js +4 -16
  5. package/dist/constants.js.map +1 -1
  6. package/dist/ecdsa-attestation.d.ts +79 -0
  7. package/dist/ecdsa-attestation.d.ts.map +1 -0
  8. package/dist/ecdsa-attestation.js +140 -0
  9. package/dist/ecdsa-attestation.js.map +1 -0
  10. package/dist/epsilon-derivation.d.ts +60 -0
  11. package/dist/epsilon-derivation.d.ts.map +1 -1
  12. package/dist/epsilon-derivation.js +106 -5
  13. package/dist/epsilon-derivation.js.map +1 -1
  14. package/dist/index.d.ts +9 -7
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +9 -7
  17. package/dist/index.js.map +1 -1
  18. package/dist/managed/compiler/contract-info.json +74 -52
  19. package/dist/managed/compiler/contract-manifest.json +8 -8
  20. package/dist/managed/contract/index.d.ts +38 -31
  21. package/dist/managed/contract/index.js +232 -382
  22. package/dist/managed/contract/index.js.map +1 -1
  23. package/dist/signature-requests-state-reader.d.ts +14 -13
  24. package/dist/signature-requests-state-reader.d.ts.map +1 -1
  25. package/dist/signature-requests-state-reader.js +31 -20
  26. package/dist/signature-requests-state-reader.js.map +1 -1
  27. package/dist/signature-response-verification.d.ts +5 -5
  28. package/dist/signature-response-verification.d.ts.map +1 -1
  29. package/dist/signature-response-verification.js +4 -4
  30. package/dist/signature-response-verification.js.map +1 -1
  31. package/dist/signet-contract-state-reader.d.ts +101 -112
  32. package/dist/signet-contract-state-reader.d.ts.map +1 -1
  33. package/dist/signet-contract-state-reader.js +123 -115
  34. package/dist/signet-contract-state-reader.js.map +1 -1
  35. package/dist/signet-request-feed.d.ts +4 -3
  36. package/dist/signet-request-feed.d.ts.map +1 -1
  37. package/dist/signet-request-feed.js +9 -8
  38. package/dist/signet-request-feed.js.map +1 -1
  39. package/dist/signet-request-resolver.d.ts +6 -4
  40. package/dist/signet-request-resolver.d.ts.map +1 -1
  41. package/dist/signet-request-resolver.js +8 -6
  42. package/dist/signet-request-resolver.js.map +1 -1
  43. package/dist/signet-request-response-reader.d.ts +21 -20
  44. package/dist/signet-request-response-reader.d.ts.map +1 -1
  45. package/dist/signet-request-response-reader.js +35 -23
  46. package/dist/signet-request-response-reader.js.map +1 -1
  47. package/dist/signet-requests.d.ts +93 -59
  48. package/dist/signet-requests.d.ts.map +1 -1
  49. package/dist/signet-requests.js +84 -67
  50. package/dist/signet-requests.js.map +1 -1
  51. package/package.json +2 -2
  52. package/src/Signet.compact +277 -425
  53. package/src/circuits.compact +22 -21
  54. package/dist/ecdsa.d.ts +0 -114
  55. package/dist/ecdsa.d.ts.map +0 -1
  56. package/dist/ecdsa.js +0 -145
  57. package/dist/ecdsa.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"signet-contract-state-reader.d.ts","sourceRoot":"","sources":["../src/signet-contract-state-reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signet-contract-state-reader.d.ts","sourceRoot":"","sources":["../src/signet-contract-state-reader.ts"],"names":[],"mappings":"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"}
@@ -2,41 +2,48 @@
2
2
  // its ledger fields out of a contract's raw state WITHOUT the compiled
3
3
  // contract, the mirror image of signature-requests-state-reader.ts. A poller
4
4
  // has only the contract address, queries raw state from the indexer
5
- // (queryContractState(address).data), and decodes by the signet contract
6
- // layout convention (see "Signet Contract Ledger Layout" in Signet.compact):
7
- // signature response counter index (field 0), signature response log
8
- // (field 1), respond-bidirectional index (field 2), sealed MPC key hash
9
- // (field 3), notification registry (field 4). The generic state-tree walk
10
- // (RawContractState, signetFieldNode) and the shared base descriptors live in
11
- // signature-state-reading.ts.
5
+ // (queryContractState(address).data), and decodes by the signet contract's
6
+ // declaration-order layout:
7
+ // field 0: signBidirectionalEventNotificationCounterMap (Map<RequestId, Counter>)
8
+ // field 1: signBidirectionalEventNotificationMap (Map<SignetMapKey, Notification>)
9
+ // field 2: signatureResponseCounterMap (Map<RequestId, Counter>)
10
+ // field 3: signatureResponseMap (Map<SignetMapKey, SignatureRespondedEvent>)
11
+ // field 4: respondBidirectionalCounterMap (Map<RequestId, Counter>)
12
+ // field 5: respondBidirectionalMap (Map<SignetMapKey, RespondBidirectionalEvent>)
13
+ // Every store is an unauthenticated append-only log keyed by
14
+ // (requestId, count); verification is the reader's job. The generic
15
+ // state-tree walk (RawContractState, signetFieldNode) and the shared base
16
+ // descriptors live in signature-state-reading.ts.
12
17
  import { CompactTypeBytes, CompactTypeUnsignedInteger, } from "@midnight-ntwrk/compact-runtime";
13
18
  import { bytesToHex, requestIdHex, } from "./signet-requests.js";
14
19
  import { requestIdType, signetFieldNode, u64, } from "./signature-state-reading.js";
15
- /** Signet contract layout: the signature response counter index is ledger field 0. */
16
- export const SIGNATURE_RESPONSE_COUNTER_INDEX_FIELD = 0;
17
- /** Signet contract layout: the signature response log is ledger field 1. */
18
- export const SIGNATURE_RESPONSE_INDEX_FIELD = 1;
19
- /** Signet contract layout: the respond-bidirectional index is ledger field 2. */
20
- export const RESPOND_BIDIRECTIONAL_INDEX_FIELD = 2;
21
- /** Signet contract layout: the sealed MPC attestation key hash is ledger field 3. */
22
- export const MPC_PUB_KEY_HASH_FIELD = 3;
23
- /** Signet contract layout: the request notification registry is ledger field 4. */
24
- export const SIGN_BIDIRECTIONAL_NOTIFICATION_INDEX_FIELD = 4;
20
+ /** Signet contract layout: the notification counter map is ledger field 0. */
21
+ export const SIGN_BIDIRECTIONAL_EVENT_NOTIFICATION_COUNTER_MAP_FIELD = 0;
22
+ /** Signet contract layout: the notification map is ledger field 1. */
23
+ export const SIGN_BIDIRECTIONAL_EVENT_NOTIFICATION_MAP_FIELD = 1;
24
+ /** Signet contract layout: the signature response counter map is ledger field 2. */
25
+ export const SIGNATURE_RESPONSE_COUNTER_MAP_FIELD = 2;
26
+ /** Signet contract layout: the signature response map is ledger field 3. */
27
+ export const SIGNATURE_RESPONSE_MAP_FIELD = 3;
28
+ /** Signet contract layout: the respond-bidirectional counter map is ledger field 4. */
29
+ export const RESPOND_BIDIRECTIONAL_COUNTER_MAP_FIELD = 4;
30
+ /** Signet contract layout: the respond-bidirectional map is ledger field 5. */
31
+ export const RESPOND_BIDIRECTIONAL_MAP_FIELD = 5;
25
32
  // ---- Type descriptors (must mirror Signet.compact field-for-field) ----
26
33
  // As in the requests reader, fromValue consumes the aligned value
27
34
  // sequentially, so field order and width here must match the Compact structs
28
35
  // exactly — a mismatch is silent data corruption, not an error.
29
- /** Descriptor for a signature scalar / MPC key hash (`Bytes<32>`). */
36
+ /** Descriptor for a 32-byte scalar / hash (`Bytes<32>`). */
30
37
  const bytes32 = new CompactTypeBytes(32);
31
- /** Descriptor for the attestation's serialized output (`Bytes<128>`). */
38
+ /** Descriptor for the response's serialized output (`Bytes<128>`). */
32
39
  const bytes128 = new CompactTypeBytes(128);
33
40
  /** Descriptor for a Compact `Uint<8>` (1-byte unsigned integer). */
34
41
  const u8 = new CompactTypeUnsignedInteger(255n, 1);
35
42
  /**
36
- * Hand-composed descriptor for {@link SignatureResponse}. Field
43
+ * Hand-composed descriptor for {@link SignatureRespondedEvent}. Field
37
44
  * order (bigRx, bigRy, s, recoveryId) must match the Compact struct.
38
45
  */
39
- export const signatureResponseType = {
46
+ export const signatureRespondedEventType = {
40
47
  /** @returns Compound alignment of the struct's fields in declaration order. */
41
48
  alignment() {
42
49
  return bytes32
@@ -75,11 +82,11 @@ export const signatureResponseType = {
75
82
  },
76
83
  };
77
84
  /**
78
- * Hand-composed descriptor for {@link SignetResponseKey} — the map key of
79
- * the signature response log. Field order (count, then requestId) must match
80
- * the Compact struct.
85
+ * Hand-composed descriptor for {@link SignetMapKey} — the map key of every
86
+ * posted-entry map in the signet contract. Field order (count, then
87
+ * requestId) must match the Compact struct.
81
88
  */
82
- export const signetResponseKeyType = {
89
+ export const signetMapKeyType = {
83
90
  /** @returns Compound alignment of the struct's fields in declaration order. */
84
91
  alignment() {
85
92
  return u64.alignment().concat(requestIdType.alignment());
@@ -107,22 +114,22 @@ export const signetResponseKeyType = {
107
114
  },
108
115
  };
109
116
  /**
110
- * Hand-composed descriptor for {@link RespondBidirectional}. Field
111
- * order (serializedOutput, outputLen, sigR, sigS) must match the Compact
112
- * struct — the signature scalars are stored as `Bytes<32>`, not
113
- * `Secp256k1Scalar`.
117
+ * Hand-composed descriptor for {@link RespondBidirectionalEvent}. Field
118
+ * order (serializedOutput, outputLen, r, s, recoveryId) must match the
119
+ * Compact struct.
114
120
  */
115
- export const respondBidirectionalType = {
121
+ export const respondBidirectionalEventType = {
116
122
  /** @returns Compound alignment of the struct's fields in declaration order. */
117
123
  alignment() {
118
124
  return bytes128
119
125
  .alignment()
120
126
  .concat(u8.alignment())
121
127
  .concat(bytes32.alignment())
122
- .concat(bytes32.alignment());
128
+ .concat(bytes32.alignment())
129
+ .concat(u8.alignment());
123
130
  },
124
131
  /**
125
- * Decode one attestation record from an aligned value, consuming it field
132
+ * Decode one response record from an aligned value, consuming it field
126
133
  * by field.
127
134
  *
128
135
  * @param value - Mutable aligned value cursor; pass a copy.
@@ -132,12 +139,13 @@ export const respondBidirectionalType = {
132
139
  return {
133
140
  serializedOutput: bytes128.fromValue(value),
134
141
  outputLen: u8.fromValue(value),
135
- sigR: bytes32.fromValue(value),
136
- sigS: bytes32.fromValue(value),
142
+ r: bytes32.fromValue(value),
143
+ s: bytes32.fromValue(value),
144
+ recoveryId: u8.fromValue(value),
137
145
  };
138
146
  },
139
147
  /**
140
- * Encode an attestation record into its aligned on-ledger representation.
148
+ * Encode a response record into its aligned on-ledger representation.
141
149
  *
142
150
  * @param record - The record to encode.
143
151
  * @returns The aligned value, fields concatenated in declaration order.
@@ -146,12 +154,13 @@ export const respondBidirectionalType = {
146
154
  return bytes128
147
155
  .toValue(record.serializedOutput)
148
156
  .concat(u8.toValue(record.outputLen))
149
- .concat(bytes32.toValue(record.sigR))
150
- .concat(bytes32.toValue(record.sigS));
157
+ .concat(bytes32.toValue(record.r))
158
+ .concat(bytes32.toValue(record.s))
159
+ .concat(u8.toValue(record.recoveryId));
151
160
  },
152
161
  };
153
- /** Descriptor for the notification's packed V1 payload (`Bytes<65>`). */
154
- const bytes65 = new CompactTypeBytes(65);
162
+ /** Descriptor for the notification's packed V1 payload (`Bytes<128>`). */
163
+ const bytes128Payload = new CompactTypeBytes(128);
155
164
  /**
156
165
  * Hand-composed descriptor for {@link SignBidirectionalNotificationRecord}.
157
166
  * Field order (version, payload) must match the Compact struct.
@@ -159,7 +168,7 @@ const bytes65 = new CompactTypeBytes(65);
159
168
  export const signBidirectionalNotificationType = {
160
169
  /** @returns Compound alignment of the struct's fields in declaration order. */
161
170
  alignment() {
162
- return u8.alignment().concat(bytes65.alignment());
171
+ return u8.alignment().concat(bytes128Payload.alignment());
163
172
  },
164
173
  /**
165
174
  * Decode one notification record from an aligned value, consuming it
@@ -171,7 +180,7 @@ export const signBidirectionalNotificationType = {
171
180
  fromValue(value) {
172
181
  return {
173
182
  version: u8.fromValue(value),
174
- payload: bytes65.fromValue(value),
183
+ payload: bytes128Payload.fromValue(value),
175
184
  };
176
185
  },
177
186
  /**
@@ -181,23 +190,24 @@ export const signBidirectionalNotificationType = {
181
190
  * @returns The aligned value, fields concatenated in declaration order.
182
191
  */
183
192
  toValue(record) {
184
- return u8.toValue(record.version).concat(bytes65.toValue(record.payload));
193
+ return u8
194
+ .toValue(record.version)
195
+ .concat(bytes128Payload.toValue(record.payload));
185
196
  },
186
197
  };
187
198
  /** Offset of the V1 `callerAddress` in the packed payload (`Bytes<32>` at the front). */
188
199
  const NOTIFICATION_CALLER_ADDRESS_OFFSET = 0;
189
- /** Offset of the V1 `requestId` (after the 32 callerAddress bytes). */
190
- const NOTIFICATION_REQUEST_ID_OFFSET = 32;
191
- /** Offset of the V1 `requestsIndexField` (after callerAddress + requestId). */
192
- const NOTIFICATION_REQUESTS_INDEX_FIELD_OFFSET = 64;
200
+ /** Offset of the V1 `requestsIndexField` (after the 32 callerAddress bytes). */
201
+ const NOTIFICATION_REQUESTS_INDEX_FIELD_OFFSET = 32;
193
202
  /** The only payload interpretation {@link decodeSignBidirectionalNotification} understands today. */
194
203
  const SUPPORTED_NOTIFICATION_VERSION = 1n;
195
204
  /**
196
205
  * Unpack a stored {@link SignBidirectionalNotificationRecord}'s payload by
197
206
  * the fixed V1 offsets — the decode twin of the compiled
198
- * `constructSignBidirectionalNotificationV1` circuit (byte plumbing only; the
199
- * pack↔decode lockstep is pinned by the state-reader unit test that round-trips
200
- * through the real circuit).
207
+ * `constructSignBidirectionalEventNotificationV1` circuit (byte plumbing
208
+ * only; the pack↔decode lockstep is pinned by the state-reader unit test that
209
+ * round-trips through the real circuit). V1 layout:
210
+ * callerAddress (32) ++ requestsIndexField (1) ++ zero padding (95).
201
211
  *
202
212
  * Fails closed on an unrecognised `version`: a future payload layout adds a
203
213
  * branch here rather than silently misinterpreting bytes under the V1 offsets.
@@ -208,64 +218,104 @@ const SUPPORTED_NOTIFICATION_VERSION = 1n;
208
218
  */
209
219
  export function decodeSignBidirectionalNotification(record) {
210
220
  if (record.version !== SUPPORTED_NOTIFICATION_VERSION) {
211
- throw new Error(`SignBidirectionalNotification version ${record.version} is not supported ` +
221
+ throw new Error(`SignBidirectionalEventNotification version ${record.version} is not supported ` +
212
222
  `(this decoder understands version ${SUPPORTED_NOTIFICATION_VERSION})`);
213
223
  }
214
- const callerAddress = bytesToHex(record.payload.slice(NOTIFICATION_CALLER_ADDRESS_OFFSET, NOTIFICATION_REQUEST_ID_OFFSET));
215
- const requestId = requestIdHex(record.payload.slice(NOTIFICATION_REQUEST_ID_OFFSET, NOTIFICATION_REQUESTS_INDEX_FIELD_OFFSET));
224
+ const callerAddress = bytesToHex(record.payload.slice(NOTIFICATION_CALLER_ADDRESS_OFFSET, NOTIFICATION_REQUESTS_INDEX_FIELD_OFFSET));
216
225
  const requestsIndexField = record.payload[NOTIFICATION_REQUESTS_INDEX_FIELD_OFFSET];
217
226
  return {
218
227
  version: Number(record.version),
219
228
  callerAddress,
220
- requestId,
221
229
  requestsIndexField,
222
230
  };
223
231
  }
224
232
  /**
225
- * Build the {@link SignatureResponseIndex} key for a `(requestId, count)`
226
- * pair — the composite Compact key flattened to a string so it works as a JS
233
+ * Build the flattened JS map key for a `(requestId, count)` pair — the
234
+ * composite Compact {@link SignetMapKey} as a string so it works as a JS
227
235
  * `Map` key.
228
236
  *
229
- * @param id - The request id the response answers, in canonical hex form.
237
+ * @param id - The request id the entry belongs to, in canonical hex form.
230
238
  * @param count - 0-based post count within that request.
231
239
  * @returns `"<hexRequestId>:<count>"`.
232
240
  */
233
- export function signetResponseIndexKey(id, count) {
241
+ export function signetMapEntryKey(id, count) {
234
242
  return `${id}:${count}`;
235
243
  }
244
+ /** Decode a `Map<RequestId, Counter>` ledger field into a {@link SignetCounterIndex}. */
245
+ function readCounterMap(raw, field) {
246
+ const counterMap = signetFieldNode(raw, field).asMap();
247
+ if (counterMap === undefined) {
248
+ throw new Error(`Ledger field ${field} is not a Map`);
249
+ }
250
+ const index = new Map();
251
+ for (const key of counterMap.keys()) {
252
+ // fromValue consumes its input, so hand each descriptor a copy.
253
+ const requestId = requestIdType.fromValue([...key.value]);
254
+ // A Counter is stored as a plain u64 cell.
255
+ const cell = counterMap.get(key)?.asCell();
256
+ if (cell === undefined)
257
+ continue;
258
+ index.set(requestIdHex(requestId), u64.fromValue([...cell.value]));
259
+ }
260
+ return index;
261
+ }
262
+ /** Decode a `Map<SignetMapKey, T>` ledger field into a string-keyed JS map. */
263
+ function readSignetKeyedMap(raw, field, valueType) {
264
+ const map = signetFieldNode(raw, field).asMap();
265
+ if (map === undefined) {
266
+ throw new Error(`Ledger field ${field} is not a Map`);
267
+ }
268
+ const index = new Map();
269
+ for (const key of map.keys()) {
270
+ const mapKey = signetMapKeyType.fromValue([...key.value]);
271
+ const cell = map.get(key)?.asCell();
272
+ if (cell === undefined)
273
+ continue;
274
+ index.set(signetMapEntryKey(requestIdHex(mapKey.requestId), mapKey.count), valueType.fromValue([...cell.value]));
275
+ }
276
+ return index;
277
+ }
236
278
  /**
237
279
  * Read ONLY the notification registry (ledger field
238
- * {@link SIGN_BIDIRECTIONAL_NOTIFICATION_INDEX_FIELD}) out of raw signet
280
+ * {@link SIGN_BIDIRECTIONAL_EVENT_NOTIFICATION_MAP_FIELD}) out of raw signet
239
281
  * contract state — the poll-loop primitive of {@link SignetRequestFeed},
240
- * which cycles frequently and has no use for the response fields.
282
+ * which cycles frequently and has no use for the response fields. One record
283
+ * per request id (the count-0 post; see
284
+ * {@link SignBidirectionalNotificationIndex}).
241
285
  *
242
286
  * @param raw - Raw contract state, e.g. `queryContractState(address).data`
243
287
  * from the indexer or `ctx.currentQueryContext.state` from the simulator.
244
- * @returns The registry, keyed by the hex request id each record was
245
- * registered under.
288
+ * @returns The registry, keyed by the hex request id of each entry's map key.
246
289
  * @throws Error if the field is missing or is not a Map.
247
290
  */
248
291
  export function readSignBidirectionalNotificationIndexFromState(raw) {
249
- const notificationMap = signetFieldNode(raw, SIGN_BIDIRECTIONAL_NOTIFICATION_INDEX_FIELD).asMap();
292
+ const notificationMap = signetFieldNode(raw, SIGN_BIDIRECTIONAL_EVENT_NOTIFICATION_MAP_FIELD).asMap();
250
293
  if (notificationMap === undefined) {
251
- throw new Error(`Ledger field ${SIGN_BIDIRECTIONAL_NOTIFICATION_INDEX_FIELD} is not a Map`);
294
+ throw new Error(`Ledger field ${SIGN_BIDIRECTIONAL_EVENT_NOTIFICATION_MAP_FIELD} is not a Map`);
252
295
  }
253
296
  const index = new Map();
297
+ const counts = new Map();
254
298
  for (const key of notificationMap.keys()) {
255
299
  // fromValue consumes its input, so hand each descriptor a copy.
256
- const requestId = requestIdType.fromValue([...key.value]);
300
+ const mapKey = signetMapKeyType.fromValue([...key.value]);
257
301
  const cell = notificationMap.get(key)?.asCell();
258
302
  if (cell === undefined)
259
303
  continue;
260
- index.set(requestIdHex(requestId), signBidirectionalNotificationType.fromValue([...cell.value]));
304
+ const id = requestIdHex(mapKey.requestId);
305
+ const seen = counts.get(id);
306
+ // Keep the FIRST post (lowest count) per request id.
307
+ if (seen !== undefined && seen <= mapKey.count)
308
+ continue;
309
+ counts.set(id, mapKey.count);
310
+ index.set(id, signBidirectionalNotificationType.fromValue([...cell.value]));
261
311
  }
262
312
  return index;
263
313
  }
264
314
  /**
265
315
  * MPC-/client-style read: parse the signet contract's ledger fields out of
266
316
  * raw contract state by field position alone — no compiled contract, no
267
- * generated `ledger()`, only the signet contract layout convention and the
268
- * canonical descriptors above.
317
+ * generated `ledger()`, only the declaration-order layout and the canonical
318
+ * descriptors above.
269
319
  *
270
320
  * @param raw - Raw contract state, e.g. `queryContractState(address).data`
271
321
  * from the indexer or `ctx.currentQueryContext.state` from the simulator.
@@ -273,55 +323,13 @@ export function readSignBidirectionalNotificationIndexFromState(raw) {
273
323
  * @throws Error if a field is missing or has the wrong state-value shape.
274
324
  */
275
325
  export function readSignetContractLedgerFromState(raw) {
276
- const counterMap = signetFieldNode(raw, SIGNATURE_RESPONSE_COUNTER_INDEX_FIELD).asMap();
277
- if (counterMap === undefined) {
278
- throw new Error(`Ledger field ${SIGNATURE_RESPONSE_COUNTER_INDEX_FIELD} is not a Map`);
279
- }
280
- const signatureResponseCounterIndex = new Map();
281
- for (const key of counterMap.keys()) {
282
- // fromValue consumes its input, so hand each descriptor a copy.
283
- const requestId = requestIdType.fromValue([...key.value]);
284
- // A Counter is stored as a plain u64 cell.
285
- const cell = counterMap.get(key)?.asCell();
286
- if (cell === undefined)
287
- continue;
288
- signatureResponseCounterIndex.set(requestIdHex(requestId), u64.fromValue([...cell.value]));
289
- }
290
- const responseMap = signetFieldNode(raw, SIGNATURE_RESPONSE_INDEX_FIELD).asMap();
291
- if (responseMap === undefined) {
292
- throw new Error(`Ledger field ${SIGNATURE_RESPONSE_INDEX_FIELD} is not a Map`);
293
- }
294
- const signatureResponseIndex = new Map();
295
- for (const key of responseMap.keys()) {
296
- const responseKey = signetResponseKeyType.fromValue([...key.value]);
297
- const cell = responseMap.get(key)?.asCell();
298
- if (cell === undefined)
299
- continue;
300
- signatureResponseIndex.set(signetResponseIndexKey(requestIdHex(responseKey.requestId), responseKey.count), signatureResponseType.fromValue([...cell.value]));
301
- }
302
- const respondBidirectionalMap = signetFieldNode(raw, RESPOND_BIDIRECTIONAL_INDEX_FIELD).asMap();
303
- if (respondBidirectionalMap === undefined) {
304
- throw new Error(`Ledger field ${RESPOND_BIDIRECTIONAL_INDEX_FIELD} is not a Map`);
305
- }
306
- const respondBidirectionalIndex = new Map();
307
- for (const key of respondBidirectionalMap.keys()) {
308
- const requestId = requestIdType.fromValue([...key.value]);
309
- const cell = respondBidirectionalMap.get(key)?.asCell();
310
- if (cell === undefined)
311
- continue;
312
- respondBidirectionalIndex.set(requestIdHex(requestId), respondBidirectionalType.fromValue([...cell.value]));
313
- }
314
- const hashCell = signetFieldNode(raw, MPC_PUB_KEY_HASH_FIELD).asCell();
315
- if (hashCell === undefined) {
316
- throw new Error(`Ledger field ${MPC_PUB_KEY_HASH_FIELD} is not a Cell`);
317
- }
318
- const mpcPubKeyHash = bytes32.fromValue([...hashCell.value]);
319
326
  return {
320
- signatureResponseCounterIndex,
321
- signatureResponseIndex,
322
- respondBidirectionalIndex,
323
- mpcPubKeyHash,
324
- signBidirectionalNotificationIndex: readSignBidirectionalNotificationIndexFromState(raw),
327
+ signBidirectionalEventNotificationCounterMap: readCounterMap(raw, SIGN_BIDIRECTIONAL_EVENT_NOTIFICATION_COUNTER_MAP_FIELD),
328
+ signBidirectionalEventNotificationMap: readSignBidirectionalNotificationIndexFromState(raw),
329
+ signatureResponseCounterMap: readCounterMap(raw, SIGNATURE_RESPONSE_COUNTER_MAP_FIELD),
330
+ signatureResponseMap: readSignetKeyedMap(raw, SIGNATURE_RESPONSE_MAP_FIELD, signatureRespondedEventType),
331
+ respondBidirectionalCounterMap: readCounterMap(raw, RESPOND_BIDIRECTIONAL_COUNTER_MAP_FIELD),
332
+ respondBidirectionalMap: readSignetKeyedMap(raw, RESPOND_BIDIRECTIONAL_MAP_FIELD, respondBidirectionalEventType),
325
333
  };
326
334
  }
327
335
  //# sourceMappingURL=signet-contract-state-reader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signet-contract-state-reader.js","sourceRoot":"","sources":["../src/signet-contract-state-reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signet-contract-state-reader.js","sourceRoot":"","sources":["../src/signet-contract-state-reader.ts"],"names":[],"mappings":"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"}
@@ -64,9 +64,10 @@ export declare class SignetRequestFeed {
64
64
  * indexed yet is retried next cycle; undecodable or unsupported-version
65
65
  * records are likewise skipped (and logged) without being marked.
66
66
  *
67
- * Dedupe and resolution key off the notification PAYLOAD's request id (the
68
- * canonical one — the registry map key is caller-supplied and could
69
- * disagree; the resolver's membership check authenticates the payload's).
67
+ * Dedupe and resolution key off the request id of the registry entry's map
68
+ * key (the V1 payload no longer carries one). The key is caller-supplied,
69
+ * so it confers no authority — the resolver's membership check against the
70
+ * named caller's own ledger is what authenticates it.
70
71
  *
71
72
  * @returns The newly-authenticated requests this cycle.
72
73
  * @throws Error if the signet contract has no readable state at the
@@ -1 +1 @@
1
- {"version":3,"file":"signet-request-feed.d.ts","sourceRoot":"","sources":["../src/signet-request-feed.ts"],"names":[],"mappings":"AAkBA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzE,6EAA6E;AAC7E,eAAO,MAAM,6BAA6B,OAAO,CAAC;AAElD,oDAAoD;AACpD,MAAM,WAAW,uBAAuB;IACtC,kFAAkF;IAClF,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3C,0GAA0G;IAC1G,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAaf;AAOD;;;;;;;GAOG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAc;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAIxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IAEnD;;;OAGG;gBACS,MAAM,EAAE,uBAAuB;IAW3C,qFAAqF;IACrF,OAAO,CAAC,OAAO;IAOf;;;;;;;;;;;;;;;;;;OAkBG;IACG,IAAI,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAqC9C;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI;IAIrC;;;;;;;;OAQG;IACI,QAAQ,CAAC,IAAI,CAAC,EAAE;QACrB,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GAAG,qBAAqB,CAAC,qBAAqB,CAAC;CAQjD"}
1
+ {"version":3,"file":"signet-request-feed.d.ts","sourceRoot":"","sources":["../src/signet-request-feed.ts"],"names":[],"mappings":"AAkBA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzE,6EAA6E;AAC7E,eAAO,MAAM,6BAA6B,OAAO,CAAC;AAElD,oDAAoD;AACpD,MAAM,WAAW,uBAAuB;IACtC,kFAAkF;IAClF,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3C,0GAA0G;IAC1G,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAaf;AAOD;;;;;;;GAOG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAc;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAIxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IAEnD;;;OAGG;gBACS,MAAM,EAAE,uBAAuB;IAW3C,qFAAqF;IACrF,OAAO,CAAC,OAAO;IAOf;;;;;;;;;;;;;;;;;;;OAmBG;IACG,IAAI,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAqC9C;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI;IAIrC;;;;;;;;OAQG;IACI,QAAQ,CAAC,IAAI,CAAC,EAAE;QACrB,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GAAG,qBAAqB,CAAC,qBAAqB,CAAC;CAQjD"}
@@ -90,9 +90,10 @@ export class SignetRequestFeed {
90
90
  * indexed yet is retried next cycle; undecodable or unsupported-version
91
91
  * records are likewise skipped (and logged) without being marked.
92
92
  *
93
- * Dedupe and resolution key off the notification PAYLOAD's request id (the
94
- * canonical one — the registry map key is caller-supplied and could
95
- * disagree; the resolver's membership check authenticates the payload's).
93
+ * Dedupe and resolution key off the request id of the registry entry's map
94
+ * key (the V1 payload no longer carries one). The key is caller-supplied,
95
+ * so it confers no authority — the resolver's membership check against the
96
+ * named caller's own ledger is what authenticates it.
96
97
  *
97
98
  * @returns The newly-authenticated requests this cycle.
98
99
  * @throws Error if the signet contract has no readable state at the
@@ -106,24 +107,24 @@ export class SignetRequestFeed {
106
107
  }
107
108
  const registry = readSignBidirectionalNotificationIndexFromState(state.data);
108
109
  const out = [];
109
- for (const [registryKey, record] of [...registry.entries()].sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0))) {
110
+ for (const [requestId, record] of [...registry.entries()].sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0))) {
110
111
  let notification;
111
112
  try {
112
113
  notification = decodeSignBidirectionalNotification(record);
113
114
  }
114
115
  catch (error) {
115
116
  console.warn(`SignetRequestFeed: skipping undecodable notification ` +
116
- `registered under ${registryKey}: ${String(error)}`);
117
+ `registered under ${requestId}: ${String(error)}`);
117
118
  continue;
118
119
  }
119
- if (this.yielded.has(notification.requestId))
120
+ if (this.yielded.has(requestId))
120
121
  continue;
121
122
  if (!this.allowed(notification.callerAddress))
122
123
  continue;
123
- const resolved = await this.resolver.resolve(notification);
124
+ const resolved = await this.resolver.resolve(requestId, notification);
124
125
  if (resolved === undefined)
125
126
  continue;
126
- this.yielded.add(notification.requestId);
127
+ this.yielded.add(requestId);
127
128
  out.push(resolved);
128
129
  }
129
130
  return out;
@@ -1 +1 @@
1
- {"version":3,"file":"signet-request-feed.js","sourceRoot":"","sources":["../src/signet-request-feed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signet-request-feed.js","sourceRoot":"","sources":["../src/signet-request-feed.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { SignBidirectionalNotification } from "./signet-contract-state-reader.ts";
2
2
  import type { SignetPublicStateSource } from "./signet-request-response-reader.ts";
3
- import type { RequestIdHex, SignBidirectionalRequest } from "./signet-requests.ts";
3
+ import type { RequestIdHex, SignBidirectionalEvent } from "./signet-requests.ts";
4
4
  /**
5
5
  * A {@link SignBidirectionalNotification} resolved to the authenticated
6
6
  * request it refers to: the request record read from `callerAddress`'s own
@@ -16,7 +16,7 @@ export interface ResolvedSignetRequest {
16
16
  /** The request id, confirmed to be a member of `callerAddress`'s index. */
17
17
  requestId: RequestIdHex;
18
18
  /** The authenticated request record to sign. */
19
- request: SignBidirectionalRequest;
19
+ request: SignBidirectionalEvent;
20
20
  }
21
21
  /** Everything a {@link SignetRequestResolver} needs. */
22
22
  export interface SignetRequestResolverConfig {
@@ -46,13 +46,15 @@ export declare class SignetRequestResolver {
46
46
  /**
47
47
  * Resolve a notification to its authenticated request, or `undefined` when it
48
48
  * cannot be trusted: the caller contract has no state, or `requestId` is not
49
- * a member of the index at `requestsIndexField` (forged, stale, wrong field,
49
+ * a member of the map at `requestsIndexField` (forged, stale, wrong field,
50
50
  * or not yet indexed — poll again). Never throws on an untrusted
51
51
  * notification; a bad one is dropped, not surfaced as an error.
52
52
  *
53
+ * @param requestId - The request id the notification was registered under
54
+ * (the registry map key — the V1 payload does not carry one).
53
55
  * @param notification - The decoded notification.
54
56
  * @returns The authenticated request, or `undefined` to drop the notification.
55
57
  */
56
- resolve(notification: SignBidirectionalNotification): Promise<ResolvedSignetRequest | undefined>;
58
+ resolve(requestId: RequestIdHex, notification: SignBidirectionalNotification): Promise<ResolvedSignetRequest | undefined>;
57
59
  }
58
60
  //# sourceMappingURL=signet-request-resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signet-request-resolver.d.ts","sourceRoot":"","sources":["../src/signet-request-resolver.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,KAAK,EACV,YAAY,EACZ,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAE9B;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,SAAS,EAAE,YAAY,CAAC;IACxB,gDAAgD;IAChD,OAAO,EAAE,wBAAwB,CAAC;CACnC;AAED,wDAAwD;AACxD,MAAM,WAAW,2BAA2B;IAC1C,oFAAoF;IACpF,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;CAC1C;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IAIjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkD;IAEhF;;OAEG;gBACS,MAAM,EAAE,2BAA2B;IAI/C;;;;;;;;;OASG;IACG,OAAO,CACX,YAAY,EAAE,6BAA6B,GAC1C,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;CA8B9C"}
1
+ {"version":3,"file":"signet-request-resolver.d.ts","sourceRoot":"","sources":["../src/signet-request-resolver.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,KAAK,EACV,YAAY,EACZ,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;AAE9B;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,SAAS,EAAE,YAAY,CAAC;IACxB,gDAAgD;IAChD,OAAO,EAAE,sBAAsB,CAAC;CACjC;AAED,wDAAwD;AACxD,MAAM,WAAW,2BAA2B;IAC1C,oFAAoF;IACpF,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;CAC1C;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IAIjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkD;IAEhF;;OAEG;gBACS,MAAM,EAAE,2BAA2B;IAI/C;;;;;;;;;;;OAWG;IACG,OAAO,CACX,SAAS,EAAE,YAAY,EACvB,YAAY,EAAE,6BAA6B,GAC1C,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;CA8B9C"}
@@ -38,15 +38,17 @@ export class SignetRequestResolver {
38
38
  /**
39
39
  * Resolve a notification to its authenticated request, or `undefined` when it
40
40
  * cannot be trusted: the caller contract has no state, or `requestId` is not
41
- * a member of the index at `requestsIndexField` (forged, stale, wrong field,
41
+ * a member of the map at `requestsIndexField` (forged, stale, wrong field,
42
42
  * or not yet indexed — poll again). Never throws on an untrusted
43
43
  * notification; a bad one is dropped, not surfaced as an error.
44
44
  *
45
+ * @param requestId - The request id the notification was registered under
46
+ * (the registry map key — the V1 payload does not carry one).
45
47
  * @param notification - The decoded notification.
46
48
  * @returns The authenticated request, or `undefined` to drop the notification.
47
49
  */
48
- async resolve(notification) {
49
- const cached = this.resolvedCache.get(notification.requestId);
50
+ async resolve(requestId, notification) {
51
+ const cached = this.resolvedCache.get(requestId);
50
52
  if (cached !== undefined) {
51
53
  return cached;
52
54
  }
@@ -60,16 +62,16 @@ export class SignetRequestResolver {
60
62
  if (!state?.data) {
61
63
  return undefined; // no state at the named caller — cannot authenticate
62
64
  }
63
- const request = lookupSignetRequestAt(state.data, notification.requestsIndexField, notification.requestId);
65
+ const request = lookupSignetRequestAt(state.data, notification.requestsIndexField, requestId);
64
66
  if (request === undefined) {
65
67
  return undefined; // membership check failed — drop the notification
66
68
  }
67
69
  const resolved = {
68
70
  callerAddress: notification.callerAddress,
69
- requestId: notification.requestId,
71
+ requestId,
70
72
  request,
71
73
  };
72
- this.resolvedCache.set(notification.requestId, resolved);
74
+ this.resolvedCache.set(requestId, resolved);
73
75
  return resolved;
74
76
  }
75
77
  }