@sig-net/midnight 0.25.1 → 0.26.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -5
- package/dist/constants.d.ts +18 -5
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +32 -4
- package/dist/constants.js.map +1 -1
- package/dist/ecdsa-attestation.d.ts +1 -1
- package/dist/ecdsa-attestation.js +1 -1
- package/dist/record-contract-address.d.ts +27 -10
- package/dist/record-contract-address.d.ts.map +1 -1
- package/dist/record-contract-address.js +54 -17
- package/dist/record-contract-address.js.map +1 -1
- package/dist/signature-response-verification.js +3 -3
- package/dist/signature-response-verification.js.map +1 -1
- package/dist/signet-contract-events.d.ts +7 -7
- package/dist/signet-contract-events.d.ts.map +1 -1
- package/dist/signet-contract-events.js +11 -9
- package/dist/signet-contract-events.js.map +1 -1
- package/dist/signet-request-response-reader.d.ts +11 -8
- package/dist/signet-request-response-reader.d.ts.map +1 -1
- package/dist/signet-request-response-reader.js +7 -7
- package/dist/signet-request-response-reader.js.map +1 -1
- package/package.json +2 -2
- package/src/Signet.compact +12 -12
package/README.md
CHANGED
|
@@ -19,7 +19,7 @@ This package has 2 components:
|
|
|
19
19
|
import "@sig-net/midnight/src/Signet";
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
-
- **TypeScript library** for clients off chain: readers that poll the signet
|
|
22
|
+
- **TypeScript library** for clients off chain: readers that poll the signet responder and verify the MPC's responses, key derivation and attestation crypto, output serialisation, the published per-network addresses and constant values, and typed twins of the on-chain structs and circuits.
|
|
23
23
|
|
|
24
24
|
The [Export highlights](#export-highlights) section lists the specific exports each task uses.
|
|
25
25
|
|
|
@@ -64,11 +64,11 @@ What clients import from `@sig-net/midnight`:
|
|
|
64
64
|
|
|
65
65
|
| Task | Exports |
|
|
66
66
|
|---|---|
|
|
67
|
-
| Poll for the MPC's responses and verify them (runtime steps 2 to 4) | `SignetRequestResponseReader`: one reader per contract and Signet
|
|
67
|
+
| Poll for the MPC's responses and verify them (runtime steps 2 to 4) | `SignetRequestResponseReader`: one reader per contract and Signet responder pair. Its getters `getVerifiedSignatureRespondedEvent`, `getSignedEvmTransaction` and `getVerifiedRespondBidirectionalEvent` map to steps 2, 3 and 4. |
|
|
68
68
|
| Verify responses over events already in hand (explorers, anything that streams the history once) | Decode the stream once with `tryDecodeSignetEvent`, then `reader.verifySignatureRespondedEvents(requestId, expectedSigner, events)` and `findVerifiedRespondBidirectionalEvent(requestId, serializedOutput, mpcResponseKey, events)` judge a request's posts without another walk of the event history. `signetEventRecordsOf` is the routing step both share. |
|
|
69
69
|
| Derive the key the MPC signs your requests with | `deriveMidnightRequestSigningKey`: the request signing public key for a contract address and path, and `deriveEvmAddress`: that key's EVM address, the expected signer checked in step 2 (see [Derived keys](https://github.com/sig-net/midnight-integration/blob/main/README.md#derived-keys)). With a request record in hand, `deriveSignBidirectionalEventSigningKey` and `deriveSignBidirectionalEventSignerEvmAddress` take the record and render its `sender` and `path` into the derivation themselves. |
|
|
70
70
|
| Derive the response key your deploy pins | `deriveMidnightResponseKey`: the key `initialise` stores (setup step 4), derived from your contract's address. |
|
|
71
|
-
| Look up published counterparty values | `MidnightNetwork`, `getMpcRootPublicKey` and `
|
|
71
|
+
| Look up published counterparty values | `MidnightNetwork`, `getMpcRootPublicKey`, `getSignetContractAddress` and `getResponderContractAddress`: the fixed per-network values (see the notes in [Runtime](https://github.com/sig-net/midnight-integration/blob/main/README.md#runtime)). |
|
|
72
72
|
| Accept an MPC public key in any published spelling | `parseSecp256k1PublicKey` (to a Compact `Secp256k1Point`) and `normaliseSecp256k1PublicKey` (to the canonical `0x04…` uncompressed SEC1 hex): both take SEC1 hex, compressed or uncompressed with an optional `0x`, and NEAR's `secp256k1:<base58>`. |
|
|
73
73
|
| Read a text field of a request record | `asciiUnpadded`: the inverse of `asciiPadded`, for the zero-padded text fields (`executionDest`, `outputDeserializationSchema`). |
|
|
74
74
|
| Compute a request id off chain | `calculateRequestId`: the TS twin of the on-chain circuit, plus `requestIdHex` and `parseRequestIdHex` for the hex form. |
|
|
@@ -115,8 +115,9 @@ const event = attestRespondBidirectional(
|
|
|
115
115
|
|
|
116
116
|
## Related packages
|
|
117
117
|
|
|
118
|
-
- [`@sig-net/midnight-contract`](https://www.npmjs.com/package/@sig-net/midnight-contract): the central signet contract this library reads from.
|
|
119
|
-
- [`@sig-net/midnight-
|
|
118
|
+
- [`@sig-net/midnight-contract`](https://www.npmjs.com/package/@sig-net/midnight-contract): the central signet contract this library reads requests from.
|
|
119
|
+
- [`@sig-net/midnight-responder`](https://www.npmjs.com/package/@sig-net/midnight-responder): the signet responder this library reads the MPC's responses from.
|
|
120
|
+
- [`@sig-net/midnight-contract-deploy`](https://www.npmjs.com/package/@sig-net/midnight-contract-deploy): deploy tooling for the signet contract and the signet responder plus generic Midnight deploy/wallet plumbing.
|
|
120
121
|
|
|
121
122
|
Developed in [sig-net/midnight-integration](https://github.com/sig-net/midnight-integration).
|
|
122
123
|
|
package/dist/constants.d.ts
CHANGED
|
@@ -51,8 +51,8 @@ export declare enum MidnightNetwork {
|
|
|
51
51
|
/**
|
|
52
52
|
* A public, long-lived Midnight network: every named network except the
|
|
53
53
|
* local standalone stack. Only these have fixed protocol counterparty
|
|
54
|
-
* values published in this package (see {@link getMpcRootPublicKey}
|
|
55
|
-
* {@link getSignetContractAddress}).
|
|
54
|
+
* values published in this package (see {@link getMpcRootPublicKey},
|
|
55
|
+
* {@link getSignetContractAddress} and {@link getResponderContractAddress}).
|
|
56
56
|
*/
|
|
57
57
|
export type DeployedNetwork = Exclude<MidnightNetwork, MidnightNetwork.Undeployed>;
|
|
58
58
|
/**
|
|
@@ -69,9 +69,9 @@ export type DeployedNetwork = Exclude<MidnightNetwork, MidnightNetwork.Undeploye
|
|
|
69
69
|
export declare function getMpcRootPublicKey(networkId: DeployedNetwork): string;
|
|
70
70
|
/**
|
|
71
71
|
* The address of the central signet singleton contract on a deployed
|
|
72
|
-
* Midnight network: the
|
|
73
|
-
*
|
|
74
|
-
*
|
|
72
|
+
* Midnight network: the contract a requester contract seals at deploy and
|
|
73
|
+
* notifies of its requests. A local standalone stack has no fixed address:
|
|
74
|
+
* each stack deploys its own singleton.
|
|
75
75
|
*
|
|
76
76
|
* @param networkId - The deployed network to look up.
|
|
77
77
|
* @returns The network's signet contract address.
|
|
@@ -79,6 +79,19 @@ export declare function getMpcRootPublicKey(networkId: DeployedNetwork): string;
|
|
|
79
79
|
* package.
|
|
80
80
|
*/
|
|
81
81
|
export declare function getSignetContractAddress(networkId: DeployedNetwork): string;
|
|
82
|
+
/**
|
|
83
|
+
* The address of the signet responder contract on a deployed Midnight
|
|
84
|
+
* network: the contract the MPC posts its responses to, and the
|
|
85
|
+
* `responderContractAddress` a `SignetRequestResponseReader` polls. A local
|
|
86
|
+
* standalone stack has no fixed address: each stack deploys its own
|
|
87
|
+
* responder.
|
|
88
|
+
*
|
|
89
|
+
* @param networkId - The deployed network to look up.
|
|
90
|
+
* @returns The network's responder contract address.
|
|
91
|
+
* @throws {Error} When the responder's address is not yet published in this
|
|
92
|
+
* package.
|
|
93
|
+
*/
|
|
94
|
+
export declare function getResponderContractAddress(networkId: DeployedNetwork): string;
|
|
82
95
|
/**
|
|
83
96
|
* The public URL of the MPC's output cache on a deployed Midnight network,
|
|
84
97
|
* down to the MPC's object prefix: the `cacheUrl` an `MpcOutputCacheReader`
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,8DAA8D;AAC9D,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,wFAAwF;AACxF,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC;;;GAGG;AACH,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAUpE;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAMvD;AAED;;;GAGG;AACH,oBAAY,eAAe;IACzB,mFAAmF;IACnF,UAAU,eAAe;IACzB,2CAA2C;IAC3C,QAAQ,aAAa;IACrB,iFAAiF;IACjF,OAAO,YAAY;IACnB,+EAA+E;IAC/E,OAAO,YAAY;IACnB,6CAA6C;IAC7C,OAAO,YAAY;CACpB;AAED;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;AAgBnF;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,CAMtE;AAYD;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,CAM3E;AAcD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,CAMvE"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,8DAA8D;AAC9D,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,wFAAwF;AACxF,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC;;;GAGG;AACH,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAUpE;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAMvD;AAED;;;GAGG;AACH,oBAAY,eAAe;IACzB,mFAAmF;IACnF,UAAU,eAAe;IACzB,2CAA2C;IAC3C,QAAQ,aAAa;IACrB,iFAAiF;IACjF,OAAO,YAAY;IACnB,+EAA+E;IAC/E,OAAO,YAAY;IACnB,6CAA6C;IAC7C,OAAO,YAAY;CACpB;AAED;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;AAgBnF;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,CAMtE;AAYD;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,CAM3E;AAYD;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,CAM9E;AAcD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,CAMvE"}
|
package/dist/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// MPC routing constants, the padded-ASCII codec for the signet request
|
|
2
2
|
// structs, and the published per-network counterparty values (the MPC root
|
|
3
|
-
// public key and the signet
|
|
3
|
+
// public key and the signet singleton and responder addresses). Field widths mirror
|
|
4
4
|
// Signet.compact (the wire format: keep in lockstep), and the string
|
|
5
5
|
// constants are the values the MPC network routes on.
|
|
6
6
|
//
|
|
@@ -113,9 +113,9 @@ const signetContractAddresses = {
|
|
|
113
113
|
};
|
|
114
114
|
/**
|
|
115
115
|
* The address of the central signet singleton contract on a deployed
|
|
116
|
-
* Midnight network: the
|
|
117
|
-
*
|
|
118
|
-
*
|
|
116
|
+
* Midnight network: the contract a requester contract seals at deploy and
|
|
117
|
+
* notifies of its requests. A local standalone stack has no fixed address:
|
|
118
|
+
* each stack deploys its own singleton.
|
|
119
119
|
*
|
|
120
120
|
* @param networkId - The deployed network to look up.
|
|
121
121
|
* @returns The network's signet contract address.
|
|
@@ -129,6 +129,34 @@ export function getSignetContractAddress(networkId) {
|
|
|
129
129
|
}
|
|
130
130
|
return contractAddress;
|
|
131
131
|
}
|
|
132
|
+
// Each network's signet responder address, filled in as the responder is
|
|
133
|
+
// deployed there. An empty string means "not yet deployed or published" and
|
|
134
|
+
// makes getResponderContractAddress throw for that network.
|
|
135
|
+
const responderContractAddresses = {
|
|
136
|
+
[MidnightNetwork.Stagenet]: "",
|
|
137
|
+
[MidnightNetwork.Preview]: "",
|
|
138
|
+
[MidnightNetwork.Preprod]: "",
|
|
139
|
+
[MidnightNetwork.Mainnet]: "",
|
|
140
|
+
};
|
|
141
|
+
/**
|
|
142
|
+
* The address of the signet responder contract on a deployed Midnight
|
|
143
|
+
* network: the contract the MPC posts its responses to, and the
|
|
144
|
+
* `responderContractAddress` a `SignetRequestResponseReader` polls. A local
|
|
145
|
+
* standalone stack has no fixed address: each stack deploys its own
|
|
146
|
+
* responder.
|
|
147
|
+
*
|
|
148
|
+
* @param networkId - The deployed network to look up.
|
|
149
|
+
* @returns The network's responder contract address.
|
|
150
|
+
* @throws {Error} When the responder's address is not yet published in this
|
|
151
|
+
* package.
|
|
152
|
+
*/
|
|
153
|
+
export function getResponderContractAddress(networkId) {
|
|
154
|
+
const contractAddress = responderContractAddresses[networkId];
|
|
155
|
+
if (!contractAddress) {
|
|
156
|
+
throw new Error(`no responder contract address published for the '${networkId}' network yet`);
|
|
157
|
+
}
|
|
158
|
+
return contractAddress;
|
|
159
|
+
}
|
|
132
160
|
// The public URL of each network's MPC output cache down to the MPC's
|
|
133
161
|
// configured object prefix (`publisher.output_storage.prefix`). An empty
|
|
134
162
|
// string means "no cache published" and makes getMpcOutputCacheUrl throw for
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,2EAA2E;AAC3E,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -192,7 +192,7 @@ export interface RespondBidirectionalAttestation {
|
|
|
192
192
|
/**
|
|
193
193
|
* Mint the record the MPC posts for an outcome: the attestation digest over
|
|
194
194
|
* `attestation`, ECDSA-signed with `secretKey`, in the ledger shape the
|
|
195
|
-
*
|
|
195
|
+
* responder emits (big-endian signature bytes). Responder-side and
|
|
196
196
|
* test-fixture side (the fakenet posts through this), so it is exported
|
|
197
197
|
* through the `./testing` entry point.
|
|
198
198
|
*
|
|
@@ -325,7 +325,7 @@ export function calculateSignetAttestationDigest(requestId, blockHeight, outputK
|
|
|
325
325
|
/**
|
|
326
326
|
* Mint the record the MPC posts for an outcome: the attestation digest over
|
|
327
327
|
* `attestation`, ECDSA-signed with `secretKey`, in the ledger shape the
|
|
328
|
-
*
|
|
328
|
+
* responder emits (big-endian signature bytes). Responder-side and
|
|
329
329
|
* test-fixture side (the fakenet posts through this), so it is exported
|
|
330
330
|
* through the `./testing` entry point.
|
|
331
331
|
*
|
|
@@ -1,14 +1,30 @@
|
|
|
1
1
|
import type { ContractAddress } from "./compact-descriptors.ts";
|
|
2
2
|
import { type DeployedNetwork } from "./constants.ts";
|
|
3
|
+
/** A contract whose per-network addresses constants.ts publishes. */
|
|
4
|
+
export declare enum PublishedContract {
|
|
5
|
+
/** The signet singleton, behind `getSignetContractAddress`. */
|
|
6
|
+
SignetContract = "signet-contract",
|
|
7
|
+
/** The signet responder, behind `getResponderContractAddress`. */
|
|
8
|
+
SignetResponder = "signet-responder"
|
|
9
|
+
}
|
|
3
10
|
/**
|
|
4
11
|
* Resolve a network id to a deployed network. The local standalone stack is
|
|
5
|
-
* rejected, as it deploys its own
|
|
12
|
+
* rejected, as it deploys its own protocol contracts per stack and has no
|
|
13
|
+
* row in either table.
|
|
6
14
|
*
|
|
7
15
|
* @param networkId - The network id to resolve, e.g. `stagenet`.
|
|
8
16
|
* @returns The id as a {@link DeployedNetwork}.
|
|
9
17
|
* @throws {Error} If the id names no deployed network.
|
|
10
18
|
*/
|
|
11
19
|
export declare function parseDeployedNetwork(networkId: string): DeployedNetwork;
|
|
20
|
+
/**
|
|
21
|
+
* Resolve a contract name to a published contract.
|
|
22
|
+
*
|
|
23
|
+
* @param name - The contract's package directory name, e.g. `signet-responder`.
|
|
24
|
+
* @returns The name as a {@link PublishedContract}.
|
|
25
|
+
* @throws {Error} If the name is not a published contract.
|
|
26
|
+
*/
|
|
27
|
+
export declare function parsePublishedContract(name: string): PublishedContract;
|
|
12
28
|
/** The outcome of {@link recordContractAddress}: the new source and the diff it made. */
|
|
13
29
|
export interface RecordedContractAddress {
|
|
14
30
|
/** The full constants.ts source with the entry rewritten. */
|
|
@@ -19,19 +35,20 @@ export interface RecordedContractAddress {
|
|
|
19
35
|
entry: string;
|
|
20
36
|
}
|
|
21
37
|
/**
|
|
22
|
-
* Record a deployed
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
38
|
+
* Record a deployed contract's address for one network in the source text of
|
|
39
|
+
* constants.ts: a single exact-match replace of that network's row inside the
|
|
40
|
+
* contract's address table. The replace is scoped to that table, as the file
|
|
41
|
+
* holds other tables keyed by the very same enum members. Anything else
|
|
42
|
+
* throws without producing a source, so a silent no-op can never masquerade
|
|
43
|
+
* as a recorded deploy: a missing or unclosed table, or a row that matches
|
|
44
|
+
* zero or several times.
|
|
29
45
|
*
|
|
30
46
|
* @param source - The current constants.ts source text.
|
|
47
|
+
* @param contract - The contract whose address table to edit.
|
|
31
48
|
* @param network - The network whose row to rewrite.
|
|
32
|
-
* @param address - The deployed
|
|
49
|
+
* @param address - The deployed contract's address.
|
|
33
50
|
* @returns The rewritten source with the rows before and after.
|
|
34
51
|
* @throws {Error} If the table or the network's row cannot be located exactly once.
|
|
35
52
|
*/
|
|
36
|
-
export declare function recordContractAddress(source: string, network: DeployedNetwork, address: ContractAddress): RecordedContractAddress;
|
|
53
|
+
export declare function recordContractAddress(source: string, contract: PublishedContract, network: DeployedNetwork, address: ContractAddress): RecordedContractAddress;
|
|
37
54
|
//# sourceMappingURL=record-contract-address.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-contract-address.d.ts","sourceRoot":"","sources":["../src/record-contract-address.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"record-contract-address.d.ts","sourceRoot":"","sources":["../src/record-contract-address.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,gBAAgB,CAAC;AAEvE,qEAAqE;AACrE,oBAAY,iBAAiB;IAC3B,+DAA+D;IAC/D,cAAc,oBAAoB;IAClC,kEAAkE;IAClE,eAAe,qBAAqB;CACrC;AAmBD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CAOvE;AAaD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAOtE;AAED,yFAAyF;AACzF,MAAM,WAAW,uBAAuB;IACtC,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,aAAa,EAAE,MAAM,CAAC;IACtB,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;CACf;AAQD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,eAAe,GACvB,uBAAuB,CAiCzB"}
|
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
// Rewrites one deployed network's entry of
|
|
1
|
+
// Rewrites one deployed network's entry of a published contract's address
|
|
2
2
|
// table in constants.ts, as source text. The pure core of the package-root
|
|
3
3
|
// record-contract-address.ts entrypoint, kept in src so it typechecks with the
|
|
4
4
|
// package and its table surgery is unit-tested against the real file. Not part
|
|
5
5
|
// of the package's export surface.
|
|
6
6
|
import { bytesToHex } from "./byte-codecs.js";
|
|
7
7
|
import { MidnightNetwork } from "./constants.js";
|
|
8
|
+
/** A contract whose per-network addresses constants.ts publishes. */
|
|
9
|
+
export var PublishedContract;
|
|
10
|
+
(function (PublishedContract) {
|
|
11
|
+
/** The signet singleton, behind `getSignetContractAddress`. */
|
|
12
|
+
PublishedContract["SignetContract"] = "signet-contract";
|
|
13
|
+
/** The signet responder, behind `getResponderContractAddress`. */
|
|
14
|
+
PublishedContract["SignetResponder"] = "signet-responder";
|
|
15
|
+
})(PublishedContract || (PublishedContract = {}));
|
|
8
16
|
/** Every network with a row in the published per-network tables. */
|
|
9
17
|
const DEPLOYED_NETWORKS = Object.values(MidnightNetwork).filter((network) => network !== MidnightNetwork.Undeployed);
|
|
10
18
|
/**
|
|
@@ -20,7 +28,8 @@ function isDeployedNetwork(networkId) {
|
|
|
20
28
|
}
|
|
21
29
|
/**
|
|
22
30
|
* Resolve a network id to a deployed network. The local standalone stack is
|
|
23
|
-
* rejected, as it deploys its own
|
|
31
|
+
* rejected, as it deploys its own protocol contracts per stack and has no
|
|
32
|
+
* row in either table.
|
|
24
33
|
*
|
|
25
34
|
* @param networkId - The network id to resolve, e.g. `stagenet`.
|
|
26
35
|
* @returns The id as a {@link DeployedNetwork}.
|
|
@@ -32,42 +41,70 @@ export function parseDeployedNetwork(networkId) {
|
|
|
32
41
|
}
|
|
33
42
|
return networkId;
|
|
34
43
|
}
|
|
35
|
-
/** The constants.ts table {@link recordContractAddress} edits. */
|
|
36
|
-
const TABLE_NAME = "signetContractAddresses";
|
|
37
44
|
/**
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
+
* Whether a name names a published contract.
|
|
46
|
+
*
|
|
47
|
+
* @param name - The name to classify.
|
|
48
|
+
* @returns Whether the name is a {@link PublishedContract}.
|
|
49
|
+
*/
|
|
50
|
+
function isPublishedContract(name) {
|
|
51
|
+
const names = Object.values(PublishedContract);
|
|
52
|
+
return names.includes(name);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Resolve a contract name to a published contract.
|
|
56
|
+
*
|
|
57
|
+
* @param name - The contract's package directory name, e.g. `signet-responder`.
|
|
58
|
+
* @returns The name as a {@link PublishedContract}.
|
|
59
|
+
* @throws {Error} If the name is not a published contract.
|
|
60
|
+
*/
|
|
61
|
+
export function parsePublishedContract(name) {
|
|
62
|
+
if (!isPublishedContract(name)) {
|
|
63
|
+
throw new Error(`unknown contract "${name}": expected one of ${Object.values(PublishedContract).join(", ")}`);
|
|
64
|
+
}
|
|
65
|
+
return name;
|
|
66
|
+
}
|
|
67
|
+
/** Each published contract's address table in constants.ts. */
|
|
68
|
+
const ADDRESS_TABLES = {
|
|
69
|
+
[PublishedContract.SignetContract]: "signetContractAddresses",
|
|
70
|
+
[PublishedContract.SignetResponder]: "responderContractAddresses",
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Record a deployed contract's address for one network in the source text of
|
|
74
|
+
* constants.ts: a single exact-match replace of that network's row inside the
|
|
75
|
+
* contract's address table. The replace is scoped to that table, as the file
|
|
76
|
+
* holds other tables keyed by the very same enum members. Anything else
|
|
77
|
+
* throws without producing a source, so a silent no-op can never masquerade
|
|
78
|
+
* as a recorded deploy: a missing or unclosed table, or a row that matches
|
|
79
|
+
* zero or several times.
|
|
45
80
|
*
|
|
46
81
|
* @param source - The current constants.ts source text.
|
|
82
|
+
* @param contract - The contract whose address table to edit.
|
|
47
83
|
* @param network - The network whose row to rewrite.
|
|
48
|
-
* @param address - The deployed
|
|
84
|
+
* @param address - The deployed contract's address.
|
|
49
85
|
* @returns The rewritten source with the rows before and after.
|
|
50
86
|
* @throws {Error} If the table or the network's row cannot be located exactly once.
|
|
51
87
|
*/
|
|
52
|
-
export function recordContractAddress(source, network, address) {
|
|
88
|
+
export function recordContractAddress(source, contract, network, address) {
|
|
89
|
+
const tableName = ADDRESS_TABLES[contract];
|
|
53
90
|
const memberName = Object.entries(MidnightNetwork).find(([, id]) => id === network)?.[0];
|
|
54
91
|
if (memberName === undefined) {
|
|
55
92
|
throw new Error(`"${network}" is not a MidnightNetwork member`);
|
|
56
93
|
}
|
|
57
|
-
const tableStart = source.indexOf(`const ${
|
|
94
|
+
const tableStart = source.indexOf(`const ${tableName}`);
|
|
58
95
|
if (tableStart === -1) {
|
|
59
|
-
throw new Error(`no "${
|
|
96
|
+
throw new Error(`no "${tableName}" table in the source`);
|
|
60
97
|
}
|
|
61
98
|
const tableEnd = source.indexOf("\n};", tableStart);
|
|
62
99
|
if (tableEnd === -1) {
|
|
63
|
-
throw new Error(`the "${
|
|
100
|
+
throw new Error(`the "${tableName}" table is not closed by "\\n};"`);
|
|
64
101
|
}
|
|
65
102
|
const table = source.slice(tableStart, tableEnd);
|
|
66
103
|
const rowPattern = new RegExp(`\\[MidnightNetwork\\.${memberName}\\]: "[0-9a-fA-F]*"`, "g");
|
|
67
104
|
const rows = table.match(rowPattern) ?? [];
|
|
68
105
|
const previousEntry = rows.at(0);
|
|
69
106
|
if (rows.length !== 1 || previousEntry === undefined) {
|
|
70
|
-
throw new Error(`expected exactly one ${network} row in ${
|
|
107
|
+
throw new Error(`expected exactly one ${network} row in ${tableName}, found ${String(rows.length)}`);
|
|
71
108
|
}
|
|
72
109
|
const entry = `[MidnightNetwork.${memberName}]: "${bytesToHex(address.bytes)}"`;
|
|
73
110
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-contract-address.js","sourceRoot":"","sources":["../src/record-contract-address.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"record-contract-address.js","sourceRoot":"","sources":["../src/record-contract-address.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
// Client-side verification of MPC signature responses. The signet
|
|
2
|
-
// emits signature responses UNAUTHENTICATED (see the
|
|
3
|
-
//
|
|
1
|
+
// Client-side verification of MPC signature responses. The signet responder
|
|
2
|
+
// emits signature responses UNAUTHENTICATED (see the header of
|
|
3
|
+
// signet-responder.compact), so a poller must verify every posted response before
|
|
4
4
|
// trusting it.
|
|
5
5
|
import { getAddress, recoverAddress } from "ethers";
|
|
6
6
|
import { signatureRespondedEventToSignature } from "./ecdsa-attestation.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature-response-verification.js","sourceRoot":"","sources":["../src/signature-response-verification.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"signature-response-verification.js","sourceRoot":"","sources":["../src/signature-response-verification.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,+DAA+D;AAC/D,kFAAkF;AAClF,eAAe;AAEf,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAEpD,OAAO,EAAE,kCAAkC,EAAE,MAAM,wBAAwB,CAAC;AAE5E,OAAO,EAAE,8CAA8C,EAAE,MAAM,gCAAgC,CAAC;AAChG,OAAO,EAA+B,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEhF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,8BAA8B,CAC5C,OAA+B,EAC/B,QAAiC;IAEjC,QAAQ,OAAO,CAAC,WAAW,EAAE,CAAC;QAC5B,KAAK,WAAW,CAAC,QAAQ;YACvB,OAAO,cAAc,CACnB,8CAA8C,CAAC,OAAO,CAAC,CAAC,YAAY,EACpE,kCAAkC,CAAC,QAAQ,CAAC,CAC7C,CAAC;QACJ;YACE,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,6BAA6B,CAC3C,OAA+B,EAC/B,QAAiC,EACjC,cAAsB;IAEtB,IAAI,CAAC;QACH,OAAO,8BAA8B,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,UAAU,CAAC,cAAc,CAAC,CAAC;IAC1F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -2,8 +2,8 @@ import { type LogEvent } from "@midnight-ntwrk/compact-runtime";
|
|
|
2
2
|
import { OutputKind } from "./managed/contract/index.js";
|
|
3
3
|
import { type RequestIdHex } from "./signet-requests.ts";
|
|
4
4
|
/**
|
|
5
|
-
* The event names the signet
|
|
6
|
-
*
|
|
5
|
+
* The event names the signet contracts emit, exactly as their `emit`
|
|
6
|
+
* literals spell them (the on-wire name is this string NUL-padded to
|
|
7
7
|
* {@link SIGNET_EVENT_NAME_LENGTH} bytes, see {@link decodeSignetEventName}).
|
|
8
8
|
*/
|
|
9
9
|
export declare enum SignetEventName {
|
|
@@ -63,7 +63,7 @@ export interface SignetEventStreamOptions {
|
|
|
63
63
|
readonly fromBlock?: number;
|
|
64
64
|
}
|
|
65
65
|
/**
|
|
66
|
-
* Source of
|
|
66
|
+
* Source of a signet contract's emitted events, the event-side sibling of
|
|
67
67
|
* `SignetPublicStateSource`. Structural, so tests can stub it with a stream
|
|
68
68
|
* over fixtures. Read a live indexer with {@link signetEventSourceFromIndexer},
|
|
69
69
|
* which yields {@link IndexedSignetMiscEvent}s.
|
|
@@ -75,7 +75,7 @@ export interface SignetEventSource<TEvent extends SignetMiscEvent = SignetMiscEv
|
|
|
75
75
|
* yielded before the next page is requested, so a consumer sees progress
|
|
76
76
|
* per page, and leaving the `for await` loop early stops further requests.
|
|
77
77
|
*
|
|
78
|
-
* @param contractAddress - The signet contract to read events of.
|
|
78
|
+
* @param contractAddress - The signet contract or responder to read events of.
|
|
79
79
|
* @param options - Bounds on the walk, see {@link SignetEventStreamOptions}.
|
|
80
80
|
* @returns The decoded events, oldest first.
|
|
81
81
|
*/
|
|
@@ -117,13 +117,13 @@ export declare function decodeSignetEventName(name: Uint8Array): string;
|
|
|
117
117
|
* name ++ payload width.
|
|
118
118
|
*/
|
|
119
119
|
export declare function decodeSignetLogEvents(events: readonly LogEvent[], contractAddress?: string): SignetMiscEvent[];
|
|
120
|
-
/** Where {@link signetEventSourceFromIndexer} reads
|
|
120
|
+
/** Where {@link signetEventSourceFromIndexer} reads a signet contract's events from. */
|
|
121
121
|
export interface SignetIndexerConfig {
|
|
122
122
|
/** The indexer's GraphQL query endpoint over HTTP, e.g. `https://<indexer>/api/v4/graphql`. */
|
|
123
123
|
readonly queryUrl: string;
|
|
124
124
|
}
|
|
125
125
|
/**
|
|
126
|
-
* Read
|
|
126
|
+
* Read a signet contract's events from a Midnight indexer. The stream
|
|
127
127
|
* pages the indexer by offset and pins its end to the tip (`maxId`) of the
|
|
128
128
|
* first page, so the walk is a point-in-time snapshot that ends even while
|
|
129
129
|
* the contract keeps emitting: rows past that tip are dropped. The contract
|
|
@@ -361,7 +361,7 @@ export type DecodedSignetEvent<TEvent extends SignetMiscEvent = SignetMiscEvent>
|
|
|
361
361
|
/**
|
|
362
362
|
* Decode `event` as the signet event kind `name`, or skip it when it carries
|
|
363
363
|
* another name. The name is checked BEFORE the payload is touched, which is
|
|
364
|
-
* what a reader of one kind needs: the signet
|
|
364
|
+
* what a reader of one kind needs: the signet contracts are unauthenticated,
|
|
365
365
|
* so anyone can emit an undecodable event of another kind, and that must not
|
|
366
366
|
* fail a read that never asked for it.
|
|
367
367
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signet-contract-events.d.ts","sourceRoot":"","sources":["../src/signet-contract-events.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"signet-contract-events.d.ts","sourceRoot":"","sources":["../src/signet-contract-events.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
// MPC-/client-style decoders for the
|
|
2
|
-
//
|
|
1
|
+
// MPC-/client-style decoders for the signet contracts' emitted events: the
|
|
2
|
+
// central SIGNET contract emits the requests, the signet responder the MPC's
|
|
3
|
+
// responses. Every circuit of either contract emits one `Misc` contract event
|
|
3
4
|
// (MIP-0002 public log emission) whose 32-byte name tags the event kind and
|
|
4
5
|
// whose 256-byte payload packs the record:
|
|
5
6
|
// SignBidirectionalEvent - version (1) ++ requestId (32) ++ notification payload (128) ++ zeros (95)
|
|
@@ -9,8 +10,9 @@
|
|
|
9
10
|
// ++ digest (32) ++ bigR.x (32) ++ bigR.y (32) ++ s (32)
|
|
10
11
|
// ++ recoveryId (1) ++ zeros (46)
|
|
11
12
|
// The decoders here are the byte-plumbing twins of the emit literals in
|
|
12
|
-
// signet-contract.compact: field order and
|
|
13
|
-
// (
|
|
13
|
+
// signet-contract.compact and signet-responder.compact: field order and
|
|
14
|
+
// offsets must match byte-for-byte (each contract's simulator tests pin the
|
|
15
|
+
// lockstep against real emits).
|
|
14
16
|
// Every event is UNAUTHENTICATED: verification is the reader's job. The
|
|
15
17
|
// request id every payload discloses is routing data only, so it scopes
|
|
16
18
|
// reads to one request and proves nothing.
|
|
@@ -21,8 +23,8 @@ import { asciiUnpadded } from "./constants.js";
|
|
|
21
23
|
import { OutputKind } from "./managed/contract/index.js";
|
|
22
24
|
import { contractAddressFromHex, requestIdHex } from "./signet-requests.js";
|
|
23
25
|
/**
|
|
24
|
-
* The event names the signet
|
|
25
|
-
*
|
|
26
|
+
* The event names the signet contracts emit, exactly as their `emit`
|
|
27
|
+
* literals spell them (the on-wire name is this string NUL-padded to
|
|
26
28
|
* {@link SIGNET_EVENT_NAME_LENGTH} bytes, see {@link decodeSignetEventName}).
|
|
27
29
|
*/
|
|
28
30
|
export var SignetEventName;
|
|
@@ -114,7 +116,7 @@ const SIGNET_CONTRACT_EVENTS_QUERY = `
|
|
|
114
116
|
}
|
|
115
117
|
}
|
|
116
118
|
`;
|
|
117
|
-
/** The `__typename` of the one contract event variant the signet
|
|
119
|
+
/** The `__typename` of the one contract event variant the signet contracts emit. */
|
|
118
120
|
const MISC_CONTRACT_EVENT_TYPENAME = "MiscContractEvent";
|
|
119
121
|
/** Events requested per page: the page size midnight-js's own contract events query defaults to. */
|
|
120
122
|
const EVENT_PAGE_LIMIT = 100;
|
|
@@ -202,7 +204,7 @@ async function fetchContractEventPage(queryUrl, contractAddress, offset, fromBlo
|
|
|
202
204
|
return page;
|
|
203
205
|
}
|
|
204
206
|
/**
|
|
205
|
-
* Read
|
|
207
|
+
* Read a signet contract's events from a Midnight indexer. The stream
|
|
206
208
|
* pages the indexer by offset and pins its end to the tip (`maxId`) of the
|
|
207
209
|
* first page, so the walk is a point-in-time snapshot that ends even while
|
|
208
210
|
* the contract keeps emitting: rows past that tip are dropped. The contract
|
|
@@ -434,7 +436,7 @@ const SIGNET_EVENT_PAYLOAD_DECODERS = {
|
|
|
434
436
|
/**
|
|
435
437
|
* Decode `event` as the signet event kind `name`, or skip it when it carries
|
|
436
438
|
* another name. The name is checked BEFORE the payload is touched, which is
|
|
437
|
-
* what a reader of one kind needs: the signet
|
|
439
|
+
* what a reader of one kind needs: the signet contracts are unauthenticated,
|
|
438
440
|
* so anyone can emit an undecodable event of another kind, and that must not
|
|
439
441
|
* fail a read that never asked for it.
|
|
440
442
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signet-contract-events.js","sourceRoot":"","sources":["../src/signet-contract-events.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"signet-contract-events.js","sourceRoot":"","sources":["../src/signet-contract-events.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,12 +32,15 @@ export interface SignetRequestResponseReaderConfig {
|
|
|
32
32
|
* (`[4]` for a flat contract's field 4, longer once chunking applies).
|
|
33
33
|
*/
|
|
34
34
|
readonly requesterRequestsPath: readonly number[];
|
|
35
|
-
/**
|
|
36
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Address of the signet responder contract, which emits the MPC's
|
|
37
|
+
* responses (see `getResponderContractAddress`).
|
|
38
|
+
*/
|
|
39
|
+
readonly responderContractAddress: string;
|
|
37
40
|
/** Source of raw contract state, e.g. midnight-js's `indexerPublicDataProvider`. */
|
|
38
41
|
readonly publicDataProvider: SignetPublicStateSource;
|
|
39
42
|
/**
|
|
40
|
-
* Source of the
|
|
43
|
+
* Source of the responder contract's emitted events. Read a live indexer
|
|
41
44
|
* with `signetEventSourceFromIndexer`.
|
|
42
45
|
*/
|
|
43
46
|
readonly eventSource: SignetEventSource;
|
|
@@ -48,7 +51,7 @@ export interface SignetRequestResponseReaderConfig {
|
|
|
48
51
|
* client. It must not exceed the block of the oldest request whose
|
|
49
52
|
* responses are still wanted: a value too high hides them without error.
|
|
50
53
|
*/
|
|
51
|
-
readonly
|
|
54
|
+
readonly responderEventsFromBlock?: number;
|
|
52
55
|
}
|
|
53
56
|
/** The verdict on one emitted response, in emission order. */
|
|
54
57
|
export interface SignatureResponseVerdict {
|
|
@@ -73,7 +76,7 @@ export interface VerifiedSignatureResponseResult {
|
|
|
73
76
|
}
|
|
74
77
|
/**
|
|
75
78
|
* `SignetRequestResponseReader.getVerifiedRespondBidirectionalEvent` over
|
|
76
|
-
* decoded events already in hand: no walk of the
|
|
79
|
+
* decoded events already in hand: no walk of the responder contract's event
|
|
77
80
|
* history, and no ledger read either, since the attestation verifies against
|
|
78
81
|
* the output and the response key alone.
|
|
79
82
|
*
|
|
@@ -89,7 +92,7 @@ export interface VerifiedSignatureResponseResult {
|
|
|
89
92
|
*/
|
|
90
93
|
export declare function findVerifiedRespondBidirectionalEvent(requestId: RequestIdHex, serializedOutput: Uint8Array, mpcResponseKey: Secp256k1Point, events: readonly DecodedSignetEvent[]): RespondBidirectionalEvent | undefined;
|
|
91
94
|
/**
|
|
92
|
-
* Reader over one requester contract /
|
|
95
|
+
* Reader over one requester contract / responder contract pair. Construct once
|
|
93
96
|
* per pair and reuse: fetched request records are cached, so repeated
|
|
94
97
|
* verification calls cost one event query each.
|
|
95
98
|
*/
|
|
@@ -112,7 +115,7 @@ export declare class SignetRequestResponseReader {
|
|
|
112
115
|
*/
|
|
113
116
|
getSignatureRequest(requestId: RequestIdHex): Promise<SignBidirectionalEvent>;
|
|
114
117
|
/**
|
|
115
|
-
* Fetch the
|
|
118
|
+
* Fetch the responder contract's posts of event `name` that declare
|
|
116
119
|
* `requestId`, in emission order. The declared id is routing data only.
|
|
117
120
|
*
|
|
118
121
|
* @param name - The signet event name to keep.
|
|
@@ -147,7 +150,7 @@ export declare class SignetRequestResponseReader {
|
|
|
147
150
|
/**
|
|
148
151
|
* {@link getVerifiedSignatureRespondedEvent} over decoded events already in
|
|
149
152
|
* hand: the one ledger read for the request (cached), and no walk of the
|
|
150
|
-
*
|
|
153
|
+
* responder contract's event history. For a consumer that streamed and decoded
|
|
151
154
|
* the history once and verifies many requests against it.
|
|
152
155
|
*
|
|
153
156
|
* @param requestId - The request id to verify responses for.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signet-request-response-reader.d.ts","sourceRoot":"","sources":["../src/signet-request-response-reader.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EACL,KAAK,cAAc,EAGpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,EACL,KAAK,kBAAkB,EAEvB,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAI5B,KAAK,iBAAiB,EACvB,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,sBAAsB,EAAe,MAAM,sBAAsB,CAAC;AAEnG;;;;;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;;;;OAIG;IACH,QAAQ,CAAC,qBAAqB,EAAE,SAAS,MAAM,EAAE,CAAC;IAClD
|
|
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,6 +1,6 @@
|
|
|
1
1
|
// Client-side reader for the signet request/response flow: fetch a request
|
|
2
2
|
// record from the requester contract's ledger, read the request's responses
|
|
3
|
-
// out of the contract events the signet
|
|
3
|
+
// out of the contract events the signet responder emits, and verify each
|
|
4
4
|
// candidate against the request. The request id a response declares is
|
|
5
5
|
// UNAUTHENTICATED routing data: VERIFICATION establishes authenticity.
|
|
6
6
|
// Single-shot: each call queries once, and the caller owns any poll loop.
|
|
@@ -44,7 +44,7 @@ function firstVerifiedRespondBidirectionalEvent(serializedOutput, mpcResponseKey
|
|
|
44
44
|
}
|
|
45
45
|
/**
|
|
46
46
|
* `SignetRequestResponseReader.getVerifiedRespondBidirectionalEvent` over
|
|
47
|
-
* decoded events already in hand: no walk of the
|
|
47
|
+
* decoded events already in hand: no walk of the responder contract's event
|
|
48
48
|
* history, and no ledger read either, since the attestation verifies against
|
|
49
49
|
* the output and the response key alone.
|
|
50
50
|
*
|
|
@@ -62,7 +62,7 @@ export function findVerifiedRespondBidirectionalEvent(requestId, serializedOutpu
|
|
|
62
62
|
return firstVerifiedRespondBidirectionalEvent(serializedOutput, mpcResponseKey, signetEventRecordsOf(events, SignetEventName.RespondBidirectionalEvent, requestId));
|
|
63
63
|
}
|
|
64
64
|
/**
|
|
65
|
-
* Reader over one requester contract /
|
|
65
|
+
* Reader over one requester contract / responder contract pair. Construct once
|
|
66
66
|
* per pair and reuse: fetched request records are cached, so repeated
|
|
67
67
|
* verification calls cost one event query each.
|
|
68
68
|
*/
|
|
@@ -104,7 +104,7 @@ export class SignetRequestResponseReader {
|
|
|
104
104
|
return request;
|
|
105
105
|
}
|
|
106
106
|
/**
|
|
107
|
-
* Fetch the
|
|
107
|
+
* Fetch the responder contract's posts of event `name` that declare
|
|
108
108
|
* `requestId`, in emission order. The declared id is routing data only.
|
|
109
109
|
*
|
|
110
110
|
* @param name - The signet event name to keep.
|
|
@@ -113,9 +113,9 @@ export class SignetRequestResponseReader {
|
|
|
113
113
|
*/
|
|
114
114
|
async getRecordsNamed(name, requestId) {
|
|
115
115
|
const records = [];
|
|
116
|
-
const events = this.config.eventSource.streamSignetEvents(this.config.
|
|
116
|
+
const events = this.config.eventSource.streamSignetEvents(this.config.responderContractAddress, this.config.responderEventsFromBlock === undefined
|
|
117
117
|
? undefined
|
|
118
|
-
: { fromBlock: this.config.
|
|
118
|
+
: { fromBlock: this.config.responderEventsFromBlock });
|
|
119
119
|
for await (const event of events) {
|
|
120
120
|
const decoded = decodeSignetEventNamed(event, name);
|
|
121
121
|
if (decoded?.requestId === requestId)
|
|
@@ -154,7 +154,7 @@ export class SignetRequestResponseReader {
|
|
|
154
154
|
/**
|
|
155
155
|
* {@link getVerifiedSignatureRespondedEvent} over decoded events already in
|
|
156
156
|
* hand: the one ledger read for the request (cached), and no walk of the
|
|
157
|
-
*
|
|
157
|
+
* responder contract's event history. For a consumer that streamed and decoded
|
|
158
158
|
* the history once and verifies many requests against it.
|
|
159
159
|
*
|
|
160
160
|
* @param requestId - The request id to verify responses for.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signet-request-response-reader.js","sourceRoot":"","sources":["../src/signet-request-response-reader.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,4EAA4E;AAC5E,
|
|
1
|
+
{"version":3,"file":"signet-request-response-reader.js","sourceRoot":"","sources":["../src/signet-request-response-reader.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sig-net/midnight",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.26.0-rc.2",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/sig-net/midnight-integration",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"@midnight-ntwrk/compact-runtime": "0.18.0-rc.1",
|
|
50
50
|
"@midnight-ntwrk/midnight-js-types": "5.0.0-beta.6",
|
|
51
51
|
"@noble/curves": "^2.2.0",
|
|
52
|
-
"@sig-net/midnight-serde": "^0.
|
|
52
|
+
"@sig-net/midnight-serde": "^0.26.0-rc.2",
|
|
53
53
|
"ethers": "^6.17.0"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
package/src/Signet.compact
CHANGED
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
// Distributed MPC network to execute arbitrary transactions on foreign
|
|
9
9
|
// blockchains.
|
|
10
10
|
// - Signet singleton: a single contract on the Midnight blockchain through which clients notify
|
|
11
|
-
// the MPC of signature requests
|
|
12
|
-
//
|
|
13
|
-
// emitted as a contract event
|
|
14
|
-
// chain).
|
|
11
|
+
// the MPC of signature requests.
|
|
12
|
+
// - Signet responder: the contract through which the MPC posts back signatures and signed
|
|
13
|
+
// attestations of foreign executions, each emitted as a contract event
|
|
14
|
+
// (the execution outputs themselves travel off chain).
|
|
15
15
|
//
|
|
16
16
|
// Usage:
|
|
17
17
|
// // Import this module at the start of a contract (resolved through node_modules via COMPACT_PATH):
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
// (executed, failed or unviable).
|
|
31
31
|
//
|
|
32
32
|
// The V1 suffix marks the wire and hash-domain artefacts of protocol version 1 (the structs the
|
|
33
|
-
// ledger stores and the
|
|
33
|
+
// ledger stores and the signet contracts emit, and the circuits that hash, verify or construct them).
|
|
34
34
|
// Vocabulary shared across versions (RequestId, OutputKind, Signature, the enums, the transaction
|
|
35
35
|
// parameter structs, which TxParamType tags) and the version-tagged notification carry no suffix.
|
|
36
36
|
//
|
|
@@ -42,13 +42,13 @@
|
|
|
42
42
|
// 2. MPC polls the Signet singleton contract's events for SignBidirectionalEventNotifications and
|
|
43
43
|
// uses each one to look the declared SignBidirectionalEvent signature request up in the named
|
|
44
44
|
// client's own ledger. It generates the signature and posts a SignatureRespondedEvent (the requested
|
|
45
|
-
// signature) through the Signet
|
|
46
|
-
// 3. Client polls the Signet
|
|
45
|
+
// signature) through the Signet responder, which emits it as a contract event.
|
|
46
|
+
// 3. Client polls the Signet responder contract's SignatureRespondedEvent events, identifying the response
|
|
47
47
|
// associated with their request by RequestId. Clients validate the signature is correct by checking with
|
|
48
48
|
// the requested signing key. Then it broadcasts the signed txn to the target chain.
|
|
49
49
|
// 4. MPC observes the txn's outcome in a final block on the target chain (executed, failed,
|
|
50
50
|
// or unviable when another request's transaction took its nonce) and posts a
|
|
51
|
-
// RespondBidirectionalEvent attestation through the Signet
|
|
51
|
+
// RespondBidirectionalEvent attestation through the Signet responder, which emits it as a
|
|
52
52
|
// contract event beside the request id.
|
|
53
53
|
// The client polls its request's posts and takes the first one that verifies over the request id,
|
|
54
54
|
// block height, output kind and output. The client obtains the execution output off chain (for EVM: the mined
|
|
@@ -322,10 +322,10 @@ module Signet {
|
|
|
322
322
|
}
|
|
323
323
|
|
|
324
324
|
// Counterpart to SignBidirectionalEvent: the MPC generated signature a request asked for.
|
|
325
|
-
// Posted by the MPC through the Signet
|
|
325
|
+
// Posted by the MPC through the Signet responder for clients to extract and build a
|
|
326
326
|
// signed transaction from.
|
|
327
327
|
export struct SignatureRespondedEventV1 {
|
|
328
|
-
// The request this signature answers. Routing data: the
|
|
328
|
+
// The request this signature answers. Routing data: the responder emits it
|
|
329
329
|
// unverified, and a reader proves the signature against the request's own key.
|
|
330
330
|
requestId: RequestId;
|
|
331
331
|
// The requested signature over the transaction the request describes.
|
|
@@ -349,7 +349,7 @@ module Signet {
|
|
|
349
349
|
// (verifyRespondBidirectionalAttestationV1), and the output checks against the
|
|
350
350
|
// event's length and hash (verifyAttestedOutputV1). The signature
|
|
351
351
|
// is the ONLY thing that distinguishes a genuine post from garbage: the
|
|
352
|
-
//
|
|
352
|
+
// responder emits every post unverified.
|
|
353
353
|
export struct RespondBidirectionalEventV1 {
|
|
354
354
|
// The request this attestation answers. Signed into the digest: a verified
|
|
355
355
|
// post settles exactly the request it names, so a client consumes this id
|
|
@@ -480,7 +480,7 @@ module Signet {
|
|
|
480
480
|
// against the event's length and hash) and the event's signature verifies
|
|
481
481
|
// (verifyRespondBidirectionalAttestationV1, whose byte-order and abort
|
|
482
482
|
// contract applies here too). Client contracts run this before consuming
|
|
483
|
-
// outputs, as the
|
|
483
|
+
// outputs, as the responder emits responses unverified. The caller supplies
|
|
484
484
|
// serializedOutput at its exact unpadded width.
|
|
485
485
|
export pure circuit verifyRespondBidirectionalEventV1<#serializedOutputLength>(
|
|
486
486
|
serializedOutput: Bytes<serializedOutputLength>,
|