@sig-net/midnight 0.10.0 → 0.12.0
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 +17 -17
- package/dist/abi-serde.d.ts +89 -0
- package/dist/abi-serde.d.ts.map +1 -0
- package/dist/abi-serde.js +393 -0
- package/dist/abi-serde.js.map +1 -0
- package/dist/constants.d.ts +23 -14
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +28 -20
- package/dist/constants.js.map +1 -1
- package/dist/ecdsa-attestation.d.ts +81 -9
- package/dist/ecdsa-attestation.d.ts.map +1 -1
- package/dist/ecdsa-attestation.js +137 -18
- package/dist/ecdsa-attestation.js.map +1 -1
- package/dist/epsilon-derivation.d.ts +8 -8
- package/dist/epsilon-derivation.d.ts.map +1 -1
- package/dist/epsilon-derivation.js +16 -18
- package/dist/epsilon-derivation.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/managed/compiler/contract-info.json +180 -104
- package/dist/managed/compiler/contract-manifest.json +8 -8
- package/dist/managed/contract/index.d.ts +38 -24
- package/dist/managed/contract/index.js +363 -154
- package/dist/managed/contract/index.js.map +1 -1
- package/dist/signature-requests-state-reader.d.ts +15 -15
- package/dist/signature-requests-state-reader.d.ts.map +1 -1
- package/dist/signature-requests-state-reader.js +51 -34
- package/dist/signature-requests-state-reader.js.map +1 -1
- package/dist/signature-response-verification.d.ts +2 -2
- package/dist/signature-response-verification.js +8 -8
- package/dist/signature-response-verification.js.map +1 -1
- package/dist/signet-contract-state-reader.d.ts +74 -58
- package/dist/signet-contract-state-reader.d.ts.map +1 -1
- package/dist/signet-contract-state-reader.js +76 -58
- package/dist/signet-contract-state-reader.js.map +1 -1
- package/dist/signet-evtype2tx-requests.d.ts +62 -59
- package/dist/signet-evtype2tx-requests.d.ts.map +1 -1
- package/dist/signet-evtype2tx-requests.js +58 -90
- package/dist/signet-evtype2tx-requests.js.map +1 -1
- package/dist/signet-request-response-reader.d.ts +26 -26
- package/dist/signet-request-response-reader.d.ts.map +1 -1
- package/dist/signet-request-response-reader.js +37 -37
- package/dist/signet-request-response-reader.js.map +1 -1
- package/dist/signet-requests.d.ts +30 -30
- package/dist/signet-requests.d.ts.map +1 -1
- package/dist/signet-requests.js +29 -30
- package/dist/signet-requests.js.map +1 -1
- package/package.json +3 -2
- package/src/Signet.compact +137 -88
- package/src/circuits.compact +45 -2
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
// The EVM Type-2 (EIP-1559) instantiation of the signet request protocol:
|
|
2
|
-
// TypeScript twins of the `
|
|
2
|
+
// TypeScript twins of the `EvmType2TxParams` decomposition structs in
|
|
3
3
|
// `Signet.compact`, their runtime descriptors, the ABI-word helpers, and the
|
|
4
4
|
// request -> transaction assembly the signer runs. Everything chain-agnostic
|
|
5
5
|
// (the request record itself, ids, the descriptor toolkit) lives in
|
|
6
|
-
// `signet-requests.ts
|
|
6
|
+
// `signet-requests.ts`. A future non-EVM decomposition gets a sibling of THIS
|
|
7
7
|
// file.
|
|
8
8
|
//
|
|
9
9
|
// The no-translation invariant lives here: words are stored ABI-ready and
|
|
10
10
|
// {@link assembleCalldata} concatenates `selector || words` VERBATIM, so the
|
|
11
11
|
// transaction the MPC signs carries the contract-stored bytes untouched.
|
|
12
|
-
import { CompactTypeBytes, CompactTypeUnsignedInteger, CompactTypeVector,
|
|
13
|
-
import { getAddress,
|
|
12
|
+
import { CompactTypeBytes, CompactTypeUnsignedInteger, CompactTypeVector, keccak256, } from "@midnight-ntwrk/compact-runtime";
|
|
13
|
+
import { getAddress, Signature, toBeHex, Transaction } from "ethers";
|
|
14
|
+
import { bigintToBytes32BE, ecdsaSignatureToMpcSignature, mpcSignatureToEcdsaSignature, } from "./ecdsa-attestation.js";
|
|
14
15
|
import { bytesToHex, compactMaybeDescriptor, compactStructDescriptor, signBidirectionalEventDescriptorWith, } from "./signet-requests.js";
|
|
15
16
|
// ---- Runtime descriptors (see the deviation note in signet-requests.ts) ----
|
|
16
17
|
// Base-type literals match what the compiler emits for the EVM structs'
|
|
@@ -23,8 +24,8 @@ const UINT_16 = new CompactTypeUnsignedInteger(2n ** 16n - 1n, 2);
|
|
|
23
24
|
const UINT_64 = new CompactTypeUnsignedInteger(2n ** 64n - 1n, 8);
|
|
24
25
|
const UINT_128 = new CompactTypeUnsignedInteger(2n ** 128n - 1n, 16);
|
|
25
26
|
/**
|
|
26
|
-
* Descriptor of {@link
|
|
27
|
-
* of instantiating Compact's `
|
|
27
|
+
* Descriptor of {@link EvmCalldata} at one word capacity: the TS analogue
|
|
28
|
+
* of instantiating Compact's `EvmCalldata<#maxWords>`.
|
|
28
29
|
*
|
|
29
30
|
* @param maxWords - The contract's calldata word capacity (the vault uses 2).
|
|
30
31
|
* @returns The calldata descriptor.
|
|
@@ -37,8 +38,8 @@ export function evmCalldataDescriptor(maxWords) {
|
|
|
37
38
|
});
|
|
38
39
|
}
|
|
39
40
|
/**
|
|
40
|
-
* Descriptor of {@link
|
|
41
|
-
* (Compact: `
|
|
41
|
+
* Descriptor of {@link EvmAccessListEntry} at one storage-key capacity
|
|
42
|
+
* (Compact: `EvmAccessListEntry<#maxStorageKeys>`).
|
|
42
43
|
*
|
|
43
44
|
* @param maxStorageKeys - Storage-key capacity per entry.
|
|
44
45
|
* @returns The entry descriptor.
|
|
@@ -51,8 +52,8 @@ export function evmAccessListEntryDescriptor(maxStorageKeys) {
|
|
|
51
52
|
});
|
|
52
53
|
}
|
|
53
54
|
/**
|
|
54
|
-
* Descriptor of {@link
|
|
55
|
-
* the TS analogue of Compact's `
|
|
55
|
+
* Descriptor of {@link EvmType2TxParams} at one capacity instantiation:
|
|
56
|
+
* the TS analogue of Compact's `EvmType2TxParams<#maxCalldataWords,
|
|
56
57
|
* #maxAccessListEntries, #maxStorageKeysPerEntry>`.
|
|
57
58
|
*
|
|
58
59
|
* @param maxCalldataWords - Calldata word capacity.
|
|
@@ -61,22 +62,23 @@ export function evmAccessListEntryDescriptor(maxStorageKeys) {
|
|
|
61
62
|
* @returns The tx-params descriptor.
|
|
62
63
|
*/
|
|
63
64
|
export function evmType2TxParamsDescriptor(maxCalldataWords, maxAccessListEntries, maxStorageKeysPerEntry) {
|
|
65
|
+
// Key order IS the encoding order: keep it identical to the Compact struct's.
|
|
64
66
|
return compactStructDescriptor({
|
|
65
|
-
to: BYTES_20,
|
|
66
67
|
chainId: UINT_64,
|
|
67
68
|
nonce: UINT_64,
|
|
68
|
-
gasLimit: UINT_64,
|
|
69
|
-
maxFeePerGas: UINT_128,
|
|
70
69
|
maxPriorityFeePerGas: UINT_128,
|
|
70
|
+
maxFeePerGas: UINT_128,
|
|
71
|
+
gasLimit: UINT_64,
|
|
72
|
+
to: BYTES_20,
|
|
71
73
|
value: UINT_128,
|
|
74
|
+
calldata: compactMaybeDescriptor(evmCalldataDescriptor(maxCalldataWords)),
|
|
72
75
|
accessListEntryCount: UINT_8,
|
|
73
76
|
accessList: new CompactTypeVector(maxAccessListEntries, evmAccessListEntryDescriptor(maxStorageKeysPerEntry)),
|
|
74
|
-
calldata: compactMaybeDescriptor(evmCalldataDescriptor(maxCalldataWords)),
|
|
75
77
|
});
|
|
76
78
|
}
|
|
77
79
|
/**
|
|
78
80
|
* Descriptor of {@link SignBidirectionalEvent} at one EVM Type-2 capacity
|
|
79
|
-
* instantiation
|
|
81
|
+
* instantiation: the generic record descriptor
|
|
80
82
|
* (`signBidirectionalEventDescriptorWith`) over
|
|
81
83
|
* {@link evmType2TxParamsDescriptor}.
|
|
82
84
|
*
|
|
@@ -94,22 +96,22 @@ export function signBidirectionalEventDescriptor(maxCalldataWords, maxAccessList
|
|
|
94
96
|
}
|
|
95
97
|
/**
|
|
96
98
|
* Canonical id of a signet request: the persistent hash of the entire event
|
|
97
|
-
* record (which commits to every field, the sender address included
|
|
98
|
-
*
|
|
99
|
+
* record (which commits to every field, the sender address included, and
|
|
100
|
+
* deliberately carries no extra domain tag). TS twin of Signet.compact's
|
|
99
101
|
* `calculateRequestId` circuit (see the deviation note in
|
|
100
102
|
* signet-requests.ts), generic over the capacity instantiation via the
|
|
101
|
-
* record's own array lengths
|
|
103
|
+
* record's own array lengths: pass the record exactly as the ledger stores
|
|
102
104
|
* it, unused slots included and schemas at their declared widths.
|
|
103
105
|
*
|
|
104
106
|
* @param request - The full event record (contract-shaped, all slots).
|
|
105
|
-
* @returns The 32-byte request id
|
|
107
|
+
* @returns The 32-byte request id, the record's ledger map key.
|
|
106
108
|
*/
|
|
107
109
|
export function calculateRequestId(request) {
|
|
108
110
|
const { txParams } = request;
|
|
109
111
|
const maxCalldataWords = txParams.calldata.value.words.length;
|
|
110
112
|
const maxAccessListEntries = txParams.accessList.length;
|
|
111
113
|
const maxStorageKeysPerEntry = maxAccessListEntries === 0 ? 0 : txParams.accessList[0].storageKeys.length;
|
|
112
|
-
return
|
|
114
|
+
return keccak256(signBidirectionalEventDescriptor(maxCalldataWords, maxAccessListEntries, maxStorageKeysPerEntry, request.outputDeserializationSchema.length, request.respondSerializationSchema.length), request);
|
|
113
115
|
}
|
|
114
116
|
// ---- ABI words / calldata / transaction assembly ---------------------------
|
|
115
117
|
/**
|
|
@@ -120,7 +122,8 @@ export function calculateRequestId(request) {
|
|
|
120
122
|
* builders, tests).
|
|
121
123
|
*
|
|
122
124
|
* @param value - The word's numeric value (e.g. an amount).
|
|
123
|
-
* @returns The ABI-ready 32-byte word to store in an {@link
|
|
125
|
+
* @returns The ABI-ready 32-byte word to store in an {@link EvmCalldata} word.
|
|
126
|
+
* @throws Error if the value is negative or does not fit 32 bytes.
|
|
124
127
|
*/
|
|
125
128
|
export function numericAbiWord(value) {
|
|
126
129
|
return bigintToBytes32BE(value);
|
|
@@ -131,7 +134,7 @@ export function numericAbiWord(value) {
|
|
|
131
134
|
* `evmAddressAbiWord` circuit (lockstep-tested against the compiled circuit).
|
|
132
135
|
*
|
|
133
136
|
* @param address - The 20-byte address in display order.
|
|
134
|
-
* @returns The ABI-ready 32-byte word to store in an {@link
|
|
137
|
+
* @returns The ABI-ready 32-byte word to store in an {@link EvmCalldata} word.
|
|
135
138
|
* @throws Error if the address is not exactly 20 bytes.
|
|
136
139
|
*/
|
|
137
140
|
export function evmAddressAbiWord(address) {
|
|
@@ -148,7 +151,7 @@ export function evmAddressAbiWord(address) {
|
|
|
148
151
|
* (lockstep-tested against the compiled circuit).
|
|
149
152
|
*
|
|
150
153
|
* @param value - The word's Boolean value.
|
|
151
|
-
* @returns The ABI-ready 32-byte word to store in an {@link
|
|
154
|
+
* @returns The ABI-ready 32-byte word to store in an {@link EvmCalldata} word.
|
|
152
155
|
*/
|
|
153
156
|
export function boolAbiWord(value) {
|
|
154
157
|
const word = new Uint8Array(32);
|
|
@@ -199,10 +202,10 @@ export function abiWordToBool(word) {
|
|
|
199
202
|
/**
|
|
200
203
|
* Assemble the raw calldata a request's words describe:
|
|
201
204
|
* `data = selector || words[0..noWords]`, VERBATIM. Words are stored
|
|
202
|
-
* ABI-ready (see {@link
|
|
203
|
-
* reordered or reinterpreted on the way into the transaction
|
|
205
|
+
* ABI-ready (see {@link EvmCalldata}), so no byte of the stored record is
|
|
206
|
+
* reordered or reinterpreted on the way into the transaction. Slots past
|
|
204
207
|
* `noWords` are unused capacity and are dropped. This is THE implementation
|
|
205
|
-
* of the signer-side assembly documented on `
|
|
208
|
+
* of the signer-side assembly documented on `EvmCalldata` in Signet.compact.
|
|
206
209
|
*
|
|
207
210
|
* @param calldata - The request's calldata field.
|
|
208
211
|
* @returns Hex calldata for the transaction (`"0x"` when absent).
|
|
@@ -240,7 +243,7 @@ function decodeAccessList(txParams) {
|
|
|
240
243
|
* byte-identical to the one the MPC assembles and signs: calldata from the
|
|
241
244
|
* tagged words (see {@link assembleCalldata}), the count-trimmed access
|
|
242
245
|
* list, and the stored envelope fields. This is the canonical
|
|
243
|
-
* request→transaction transform
|
|
246
|
+
* request→transaction transform. Response-side verification
|
|
244
247
|
* (`signature-response-verification.ts`) and the signed-transaction builder
|
|
245
248
|
* below both go through it, so the transaction a client broadcasts is
|
|
246
249
|
* provably the one the MPC put its signature over.
|
|
@@ -250,7 +253,7 @@ function decodeAccessList(txParams) {
|
|
|
250
253
|
* MPC signs).
|
|
251
254
|
* @throws Error if a calldata word carries an unknown kind.
|
|
252
255
|
*/
|
|
253
|
-
export function
|
|
256
|
+
export function signBidirectionalEventToUnsignedEvmTransaction(request) {
|
|
254
257
|
const { txParams } = request;
|
|
255
258
|
return Transaction.from({
|
|
256
259
|
type: 2,
|
|
@@ -267,104 +270,69 @@ export function signBidirectionalEventToUnsignedEVMTransaction(request) {
|
|
|
267
270
|
}
|
|
268
271
|
/**
|
|
269
272
|
* Decode a response signature record (as posted to the signet contract's
|
|
270
|
-
* signature response log
|
|
271
|
-
*
|
|
272
|
-
*
|
|
273
|
+
* signature response log) into an ethers {@link Signature}. Goes through
|
|
274
|
+
* {@link mpcSignatureToEcdsaSignature}, so this and in-circuit claims decode
|
|
275
|
+
* a post identically:
|
|
276
|
+
* ethers' `r` is the ECDSA scalar (`bigR.x` reduced mod the curve order),
|
|
277
|
+
* not the raw coordinate, and a malformed record is rejected the same way
|
|
278
|
+
* in both paths.
|
|
273
279
|
*
|
|
274
280
|
* @param response - The posted signature record.
|
|
275
281
|
* @returns The ethers signature.
|
|
276
|
-
* @throws Error if the
|
|
282
|
+
* @throws Error if the record is malformed (see {@link mpcSignatureToEcdsaSignature}).
|
|
277
283
|
*/
|
|
278
284
|
export function signatureRespondedEventToSignature(response) {
|
|
279
|
-
const recoveryId =
|
|
280
|
-
if (recoveryId !== 0 && recoveryId !== 1) {
|
|
281
|
-
throw new Error(`expected a recovery id of 0 or 1, got ${recoveryId}`);
|
|
282
|
-
}
|
|
285
|
+
const { r, s, recoveryId } = mpcSignatureToEcdsaSignature(response.signature);
|
|
283
286
|
return Signature.from({
|
|
284
|
-
r:
|
|
285
|
-
s:
|
|
287
|
+
r: toBeHex(r, 32),
|
|
288
|
+
s: toBeHex(s, 32),
|
|
286
289
|
v: recoveryId + 27,
|
|
287
290
|
});
|
|
288
291
|
}
|
|
289
|
-
/** secp256k1 base field prime (2^256 - 2^32 - 977). */
|
|
290
|
-
const SECP256K1_P = 2n ** 256n - 2n ** 32n - 977n;
|
|
291
|
-
/** Modular exponentiation by squaring. */
|
|
292
|
-
function modPow(base, exponent, modulus) {
|
|
293
|
-
let result = 1n;
|
|
294
|
-
let b = base % modulus;
|
|
295
|
-
let e = exponent;
|
|
296
|
-
while (e > 0n) {
|
|
297
|
-
if (e & 1n)
|
|
298
|
-
result = (result * b) % modulus;
|
|
299
|
-
b = (b * b) % modulus;
|
|
300
|
-
e >>= 1n;
|
|
301
|
-
}
|
|
302
|
-
return result;
|
|
303
|
-
}
|
|
304
|
-
/** Encode a bigint as exactly 32 BIG-endian bytes (secp256k1 scalar form). */
|
|
305
|
-
function bigintToBytes32BE(value) {
|
|
306
|
-
const out = new Uint8Array(32);
|
|
307
|
-
let v = value;
|
|
308
|
-
for (let i = 31; i >= 0; i--) {
|
|
309
|
-
out[i] = Number(v & 0xffn);
|
|
310
|
-
v >>= 8n;
|
|
311
|
-
}
|
|
312
|
-
return out;
|
|
313
|
-
}
|
|
314
292
|
/**
|
|
315
293
|
* Encode an ECDSA signature as the response record posted to the signet
|
|
316
|
-
* contract
|
|
317
|
-
*
|
|
318
|
-
* carries
|
|
319
|
-
*
|
|
320
|
-
* point on the curve (y² = x³ + 7 over the secp256k1 base field).
|
|
294
|
+
* contract: the inverse of {@link signatureRespondedEventToSignature}, for
|
|
295
|
+
* MPC-side posters (the fakenet signer, tests). An `r || s || v` signature
|
|
296
|
+
* carries only R.x and the parity of R.y, so the full R point the record
|
|
297
|
+
* stores is recovered on-curve (see {@link ecdsaSignatureToMpcSignature}).
|
|
321
298
|
*
|
|
322
299
|
* The parameter is structural (the r/s/yParity subset of an ethers
|
|
323
|
-
* {@link Signature}) so signatures from ANY ethers instance qualify
|
|
300
|
+
* {@link Signature}) so signatures from ANY ethers instance qualify: posters
|
|
324
301
|
* living in other repos resolve their own ethers install, and nominal class
|
|
325
302
|
* typing would reject it.
|
|
326
303
|
*
|
|
327
304
|
* @param signature - The signature to encode (`r`/`s` as 0x hex, `yParity` 0 or 1).
|
|
328
305
|
* @returns The response record, ready to post.
|
|
329
|
-
* @throws Error if `r` is not the x coordinate of a
|
|
306
|
+
* @throws Error if `r` is not the x coordinate of a secp256k1 point.
|
|
330
307
|
*/
|
|
331
308
|
export function signatureToSignatureRespondedEvent(signature) {
|
|
332
|
-
const x = BigInt(signature.r);
|
|
333
|
-
const ySquared = (modPow(x, 3n, SECP256K1_P) + 7n) % SECP256K1_P;
|
|
334
|
-
// P ≡ 3 (mod 4), so a square root (when one exists) is c^((P+1)/4).
|
|
335
|
-
let y = modPow(ySquared, (SECP256K1_P + 1n) / 4n, SECP256K1_P);
|
|
336
|
-
if ((y * y) % SECP256K1_P !== ySquared) {
|
|
337
|
-
throw new Error("signature r is not the x coordinate of a secp256k1 point");
|
|
338
|
-
}
|
|
339
|
-
if ((y & 1n) !== BigInt(signature.yParity)) {
|
|
340
|
-
y = SECP256K1_P - y;
|
|
341
|
-
}
|
|
342
309
|
return {
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
310
|
+
signature: ecdsaSignatureToMpcSignature({
|
|
311
|
+
r: BigInt(signature.r),
|
|
312
|
+
s: BigInt(signature.s),
|
|
313
|
+
recoveryId: signature.yParity,
|
|
314
|
+
}),
|
|
347
315
|
};
|
|
348
316
|
}
|
|
349
317
|
/**
|
|
350
318
|
* Assemble the broadcast-ready signed EIP-1559 transaction for a request from
|
|
351
319
|
* its MPC signature response: rebuild the exact unsigned transaction the MPC
|
|
352
|
-
* signed (see {@link
|
|
320
|
+
* signed (see {@link signBidirectionalEventToUnsignedEvmTransaction}) and
|
|
353
321
|
* attach the signature. Does NOT check that the signature recovers to the
|
|
354
|
-
* requester's derived address
|
|
322
|
+
* requester's derived address: the response log is unauthenticated, so
|
|
355
323
|
* verify first with `verifySignatureRespondedEvent`.
|
|
356
324
|
*
|
|
357
325
|
* @param request - The on-ledger request record.
|
|
358
326
|
* @param response - The posted signature record answering it.
|
|
359
|
-
* @returns The signed ethers transaction
|
|
327
|
+
* @returns The signed ethers transaction: `serialized` is the raw payload for
|
|
360
328
|
* `eth_sendRawTransaction`, `hash` its on-chain hash, `from` the recovered
|
|
361
329
|
* sender.
|
|
362
330
|
* @throws Error if the request record is malformed (see
|
|
363
|
-
* {@link
|
|
331
|
+
* {@link signBidirectionalEventToUnsignedEvmTransaction}) or the response
|
|
364
332
|
* is not a decodable signature.
|
|
365
333
|
*/
|
|
366
|
-
export function
|
|
367
|
-
const transaction =
|
|
334
|
+
export function signBidirectionalEventToSignedEvmTransaction(request, response) {
|
|
335
|
+
const transaction = signBidirectionalEventToUnsignedEvmTransaction(request);
|
|
368
336
|
transaction.signature = signatureRespondedEventToSignature(response);
|
|
369
337
|
return transaction;
|
|
370
338
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signet-evtype2tx-requests.js","sourceRoot":"","sources":["../src/signet-evtype2tx-requests.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,sEAAsE;AACtE,6EAA6E;AAC7E,6EAA6E;AAC7E,oEAAoE;AACpE,8EAA8E;AAC9E,QAAQ;AACR,EAAE;AACF,0EAA0E;AAC1E,6EAA6E;AAC7E,yEAAyE;AAEzE,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,iBAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"signet-evtype2tx-requests.js","sourceRoot":"","sources":["../src/signet-evtype2tx-requests.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,8 @@ import type { RawContractState } from "./signature-state-reading.ts";
|
|
|
5
5
|
import type { SignBidirectionalEvent, RequestIdHex } from "./signet-requests.ts";
|
|
6
6
|
/**
|
|
7
7
|
* The least of midnight-js's `PublicDataProvider` the reader needs: raw
|
|
8
|
-
* contract state by address. Declared structurally
|
|
9
|
-
*
|
|
8
|
+
* contract state by address. Declared structurally so tests can satisfy it
|
|
9
|
+
* with a plain stub. Any full `PublicDataProvider`
|
|
10
10
|
* (e.g. `indexerPublicDataProvider`) is assignable to it.
|
|
11
11
|
*/
|
|
12
12
|
export interface SignetPublicStateSource {
|
|
@@ -26,7 +26,7 @@ export interface SignetRequestResponseReaderConfig {
|
|
|
26
26
|
/** Address of the signet-compliant requester contract (e.g. the vault). */
|
|
27
27
|
readonly requesterContractAddress: string;
|
|
28
28
|
/**
|
|
29
|
-
* Ledger field position of the requester contract's request index
|
|
29
|
+
* Ledger field position of the requester contract's request index: the
|
|
30
30
|
* same position the contract passes as `requestsIndexField` in its
|
|
31
31
|
* notifications. A contract is free to declare the index at any field, so
|
|
32
32
|
* the reader cannot assume one.
|
|
@@ -43,16 +43,16 @@ export interface SignatureResponseVerdict {
|
|
|
43
43
|
count: bigint;
|
|
44
44
|
/** The posted signature record, verbatim. */
|
|
45
45
|
response: SignatureRespondedEvent;
|
|
46
|
-
/** Recovered signer address
|
|
46
|
+
/** Recovered signer address, absent when the signature did not decode. */
|
|
47
47
|
signer?: string;
|
|
48
|
-
/** Why the post was rejected
|
|
48
|
+
/** Why the post was rejected, absent when the post is valid. */
|
|
49
49
|
rejectedReason?: string;
|
|
50
50
|
}
|
|
51
51
|
/** Result of {@link SignetRequestResponseReader['getVerifiedSignatureRespondedEvent']}. */
|
|
52
52
|
export interface VerifiedSignatureResponseResult {
|
|
53
53
|
/**
|
|
54
54
|
* The first valid response (lowest count), or `undefined` when no valid
|
|
55
|
-
* response has been posted yet
|
|
55
|
+
* response has been posted yet: poll again.
|
|
56
56
|
*/
|
|
57
57
|
verified?: SignatureRespondedEvent;
|
|
58
58
|
/**
|
|
@@ -64,7 +64,7 @@ export interface VerifiedSignatureResponseResult {
|
|
|
64
64
|
/**
|
|
65
65
|
* Reader over one requester contract / signet contract pair.
|
|
66
66
|
* Construct once per pair and reuse: fetched request records are cached (they
|
|
67
|
-
* are immutable
|
|
67
|
+
* are immutable, the ledger key is their hash), so repeated verification
|
|
68
68
|
* calls cost one responses-contract query each.
|
|
69
69
|
*/
|
|
70
70
|
export declare class SignetRequestResponseReader {
|
|
@@ -96,32 +96,32 @@ export declare class SignetRequestResponseReader {
|
|
|
96
96
|
getSignatureRequest(requestId: RequestIdHex): Promise<SignBidirectionalEvent>;
|
|
97
97
|
/**
|
|
98
98
|
* Fetch every response posted for `requestId`, in post (count) order.
|
|
99
|
-
* UNVERIFIED
|
|
100
|
-
* {@link getVerifiedSignatureRespondedEvent}.
|
|
99
|
+
* UNVERIFIED: any of them may be garbage (see
|
|
100
|
+
* {@link getVerifiedSignatureRespondedEvent}).
|
|
101
101
|
*
|
|
102
102
|
* @param requestId - The request id whose posts to enumerate.
|
|
103
|
-
* @returns The posted payloads, index = count
|
|
103
|
+
* @returns The posted payloads, index = count, empty when none yet.
|
|
104
104
|
* @throws Error when the responses contract has no state, or its counter
|
|
105
105
|
* disagrees with the log (inconsistent ledger).
|
|
106
106
|
*/
|
|
107
107
|
getSignatureResponses(requestId: RequestIdHex): Promise<SignatureRespondedEvent[]>;
|
|
108
108
|
/**
|
|
109
109
|
* Fetch and verify the responses posted for `requestId`: each post's
|
|
110
|
-
*
|
|
110
|
+
* signature must recover to `expectedSigner`
|
|
111
111
|
* (compared case-insensitively) over the signing hash of the transaction
|
|
112
|
-
* the request record describes. The first valid post wins
|
|
113
|
-
* a verdict so callers can report the noise.
|
|
112
|
+
* the request record describes. The first valid post wins, and every post
|
|
113
|
+
* gets a verdict so callers can report the noise.
|
|
114
114
|
*
|
|
115
115
|
* @param requestId - The request id to fetch a verified response for.
|
|
116
116
|
* @param expectedSigner - The EVM address (0x hex, any case) the genuine
|
|
117
|
-
* response must be signed by
|
|
117
|
+
* response must be signed by: the requester's MPC-derived address.
|
|
118
118
|
* @returns The first valid response (if any) plus per-post verdicts.
|
|
119
119
|
* @throws Error when either contract has no state, the request is not on
|
|
120
120
|
* the requester's ledger, or the responses ledger is inconsistent.
|
|
121
121
|
*/
|
|
122
122
|
getVerifiedSignatureRespondedEvent(requestId: RequestIdHex, expectedSigner: string): Promise<VerifiedSignatureResponseResult>;
|
|
123
123
|
/**
|
|
124
|
-
* Rebuild the unsigned EIP-1559 transaction for `requestId
|
|
124
|
+
* Rebuild the unsigned EIP-1559 transaction for `requestId`: the exact
|
|
125
125
|
* transaction the MPC signs, assembled from the request record's decomposed
|
|
126
126
|
* fields. No responses-contract query: this needs only the request record
|
|
127
127
|
* (fetched via {@link getSignatureRequest}, cached).
|
|
@@ -132,34 +132,34 @@ export declare class SignetRequestResponseReader {
|
|
|
132
132
|
* @throws Error when the requester contract has no state or holds no
|
|
133
133
|
* request under `requestId`.
|
|
134
134
|
*/
|
|
135
|
-
|
|
135
|
+
getUnsignedEvmTransaction(requestId: RequestIdHex): Promise<Transaction>;
|
|
136
136
|
/**
|
|
137
137
|
* Assemble the broadcast-ready signed EIP-1559 transaction for `requestId`:
|
|
138
138
|
* rebuild the request's transaction and attach the first VERIFIED response
|
|
139
|
-
* signed by `expectedSigner` (see {@link getVerifiedSignatureRespondedEvent}
|
|
140
|
-
* response log is unauthenticated, so an `expectedSigner` is required
|
|
141
|
-
* unverified posts are never attached).
|
|
139
|
+
* signed by `expectedSigner` (see {@link getVerifiedSignatureRespondedEvent}:
|
|
140
|
+
* the response log is unauthenticated, so an `expectedSigner` is required
|
|
141
|
+
* and unverified posts are never attached).
|
|
142
142
|
*
|
|
143
143
|
* @param requestId - The request id to produce a signed transaction for.
|
|
144
144
|
* @param expectedSigner - The EVM address (0x hex, any case) the genuine
|
|
145
|
-
* response must be signed by
|
|
145
|
+
* response must be signed by: the requester's MPC-derived address.
|
|
146
146
|
* @returns The signed ethers transaction (`serialized` is the payload for
|
|
147
147
|
* `eth_sendRawTransaction`), or `undefined` when no valid response has
|
|
148
|
-
* been posted yet
|
|
148
|
+
* been posted yet: poll again.
|
|
149
149
|
* @throws Error when either contract has no state, the request is not on the
|
|
150
150
|
* requester's ledger, or the responses ledger is inconsistent.
|
|
151
151
|
*/
|
|
152
|
-
|
|
152
|
+
getSignedEvmTransaction(requestId: RequestIdHex, expectedSigner: string): Promise<Transaction | undefined>;
|
|
153
153
|
/**
|
|
154
154
|
* Fetch every respond-bidirectional response posted for `requestId`, in
|
|
155
|
-
* post (count) order. UNVERIFIED
|
|
156
|
-
* checking them, so any entry may be garbage
|
|
155
|
+
* post (count) order. UNVERIFIED: the signet contract stores posts without
|
|
156
|
+
* checking them, so any entry may be garbage. Verify each candidate before
|
|
157
157
|
* trusting it (in-circuit at claim time, or off-chain via the compiled
|
|
158
158
|
* `pureCircuits.verifyRespondBidirectionalEvent` against the MPC derived
|
|
159
|
-
* key you expect). An empty array simply means none posted yet
|
|
159
|
+
* key you expect). An empty array simply means none posted yet: poll again.
|
|
160
160
|
*
|
|
161
161
|
* @param requestId - The request id whose responses to enumerate.
|
|
162
|
-
* @returns The posted records, index = count
|
|
162
|
+
* @returns The posted records, index = count, empty when none yet.
|
|
163
163
|
* @throws Error when the signet contract has no state, or its counter
|
|
164
164
|
* disagrees with the log (inconsistent ledger).
|
|
165
165
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signet-request-response-reader.d.ts","sourceRoot":"","sources":["../src/signet-request-response-reader.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAG1C,OAAO,EAGL,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC/B,MAAM,mCAAmC,CAAC;AAE3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAKrE,OAAO,KAAK,EACV,sBAAsB,EACtB,YAAY,EACb,MAAM,sBAAsB,CAAC;AAE9B;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;;;OAMG;IACH,kBAAkB,CAChB,eAAe,EAAE,UAAU,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,GACvE,OAAO,CAAC;QAAE,IAAI,EAAE,gBAAgB,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CAC/C;AAED,yEAAyE;AACzE,MAAM,WAAW,iCAAiC;IAChD,2EAA2E;IAC3E,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C;;;;;OAKG;IACH,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;IAC7C,8CAA8C;IAC9C,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,oFAAoF;IACpF,QAAQ,CAAC,kBAAkB,EAAE,uBAAuB,CAAC;CACtD;AAED,4DAA4D;AAC5D,MAAM,WAAW,wBAAwB;IACvC,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,QAAQ,EAAE,uBAAuB,CAAC;IAClC,
|
|
1
|
+
{"version":3,"file":"signet-request-response-reader.d.ts","sourceRoot":"","sources":["../src/signet-request-response-reader.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAG1C,OAAO,EAGL,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC/B,MAAM,mCAAmC,CAAC;AAE3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAKrE,OAAO,KAAK,EACV,sBAAsB,EACtB,YAAY,EACb,MAAM,sBAAsB,CAAC;AAE9B;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;;;OAMG;IACH,kBAAkB,CAChB,eAAe,EAAE,UAAU,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,GACvE,OAAO,CAAC;QAAE,IAAI,EAAE,gBAAgB,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CAC/C;AAED,yEAAyE;AACzE,MAAM,WAAW,iCAAiC;IAChD,2EAA2E;IAC3E,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C;;;;;OAKG;IACH,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;IAC7C,8CAA8C;IAC9C,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,oFAAoF;IACpF,QAAQ,CAAC,kBAAkB,EAAE,uBAAuB,CAAC;CACtD;AAED,4DAA4D;AAC5D,MAAM,WAAW,wBAAwB;IACvC,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,QAAQ,EAAE,uBAAuB,CAAC;IAClC,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,2FAA2F;AAC3F,MAAM,WAAW,+BAA+B;IAC9C;;;OAGG;IACH,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IACnC;;;OAGG;IACH,QAAQ,EAAE,wBAAwB,EAAE,CAAC;CACtC;AAED;;;;;GAKG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAG3D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAGzB;IAEJ;;OAEG;gBACS,MAAM,EAAE,iCAAiC;IAIrD;;;;;;;OAOG;YACW,aAAa;IAc3B;;;;;;;;;OASG;IACG,mBAAmB,CACvB,SAAS,EAAE,YAAY,GACtB,OAAO,CAAC,sBAAsB,CAAC;IAwBlC;;;;;;;;;OASG;IACG,qBAAqB,CACzB,SAAS,EAAE,YAAY,GACtB,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAwBrC;;;;;;;;;;;;;OAaG;IACG,kCAAkC,CACtC,SAAS,EAAE,YAAY,EACvB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,+BAA+B,CAAC;IAiC3C;;;;;;;;;;;OAWG;IACG,yBAAyB,CAC7B,SAAS,EAAE,YAAY,GACtB,OAAO,CAAC,WAAW,CAAC;IAMvB;;;;;;;;;;;;;;;OAeG;IACG,uBAAuB,CAC3B,SAAS,EAAE,YAAY,EACvB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAcnC;;;;;;;;;;;;OAYG;IACG,6BAA6B,CACjC,SAAS,EAAE,YAAY,GACtB,OAAO,CAAC,yBAAyB,EAAE,CAAC;CAuBxC"}
|