@sig-net/midnight 0.26.0-rc.1 → 0.26.0-rc.3
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.d.ts.map +1 -1
- package/dist/ecdsa-attestation.js +3 -1
- package/dist/ecdsa-attestation.js.map +1 -1
- package/dist/managed/compiler/contract-manifest.json +4 -4
- package/dist/managed/contract/index.js +49 -39
- package/dist/managed/contract/index.js.map +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 -13
- package/dist/signet-contract-events.d.ts.map +1 -1
- package/dist/signet-contract-events.js +15 -14
- 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 +16 -14
|
@@ -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 {
|
|
@@ -61,15 +61,9 @@ export interface SignetEventStreamOptions {
|
|
|
61
61
|
* not exceed the block of the oldest request whose responses are wanted.
|
|
62
62
|
*/
|
|
63
63
|
readonly fromBlock?: number;
|
|
64
|
-
/**
|
|
65
|
-
* Inclusive highest Midnight block height to read events up to. Omit to
|
|
66
|
-
* read to the tip. With `fromBlock` it cuts one slice of the history, so
|
|
67
|
-
* a consumer can read the newest slice first and extend backwards.
|
|
68
|
-
*/
|
|
69
|
-
readonly toBlock?: number;
|
|
70
64
|
}
|
|
71
65
|
/**
|
|
72
|
-
* Source of
|
|
66
|
+
* Source of a signet contract's emitted events, the event-side sibling of
|
|
73
67
|
* `SignetPublicStateSource`. Structural, so tests can stub it with a stream
|
|
74
68
|
* over fixtures. Read a live indexer with {@link signetEventSourceFromIndexer},
|
|
75
69
|
* which yields {@link IndexedSignetMiscEvent}s.
|
|
@@ -81,7 +75,7 @@ export interface SignetEventSource<TEvent extends SignetMiscEvent = SignetMiscEv
|
|
|
81
75
|
* yielded before the next page is requested, so a consumer sees progress
|
|
82
76
|
* per page, and leaving the `for await` loop early stops further requests.
|
|
83
77
|
*
|
|
84
|
-
* @param contractAddress - The signet contract to read events of.
|
|
78
|
+
* @param contractAddress - The signet contract or responder to read events of.
|
|
85
79
|
* @param options - Bounds on the walk, see {@link SignetEventStreamOptions}.
|
|
86
80
|
* @returns The decoded events, oldest first.
|
|
87
81
|
*/
|
|
@@ -123,13 +117,13 @@ export declare function decodeSignetEventName(name: Uint8Array): string;
|
|
|
123
117
|
* name ++ payload width.
|
|
124
118
|
*/
|
|
125
119
|
export declare function decodeSignetLogEvents(events: readonly LogEvent[], contractAddress?: string): SignetMiscEvent[];
|
|
126
|
-
/** Where {@link signetEventSourceFromIndexer} reads
|
|
120
|
+
/** Where {@link signetEventSourceFromIndexer} reads a signet contract's events from. */
|
|
127
121
|
export interface SignetIndexerConfig {
|
|
128
122
|
/** The indexer's GraphQL query endpoint over HTTP, e.g. `https://<indexer>/api/v4/graphql`. */
|
|
129
123
|
readonly queryUrl: string;
|
|
130
124
|
}
|
|
131
125
|
/**
|
|
132
|
-
* Read
|
|
126
|
+
* Read a signet contract's events from a Midnight indexer. The stream
|
|
133
127
|
* pages the indexer by offset and pins its end to the tip (`maxId`) of the
|
|
134
128
|
* first page, so the walk is a point-in-time snapshot that ends even while
|
|
135
129
|
* the contract keeps emitting: rows past that tip are dropped. The contract
|
|
@@ -367,7 +361,7 @@ export type DecodedSignetEvent<TEvent extends SignetMiscEvent = SignetMiscEvent>
|
|
|
367
361
|
/**
|
|
368
362
|
* Decode `event` as the signet event kind `name`, or skip it when it carries
|
|
369
363
|
* another name. The name is checked BEFORE the payload is touched, which is
|
|
370
|
-
* what a reader of one kind needs: the signet
|
|
364
|
+
* what a reader of one kind needs: the signet contracts are unauthenticated,
|
|
371
365
|
* so anyone can emit an undecodable event of another kind, and that must not
|
|
372
366
|
* fail a read that never asked for it.
|
|
373
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;
|
|
@@ -165,12 +167,12 @@ function signetMiscEventFromIndexerRow(row) {
|
|
|
165
167
|
* @param queryUrl - The indexer's GraphQL query endpoint.
|
|
166
168
|
* @param contractAddress - The contract whose events to read.
|
|
167
169
|
* @param offset - Events to skip from the start of the walk.
|
|
168
|
-
* @param
|
|
170
|
+
* @param fromBlock - Inclusive lowest block height to read from, or undefined for the whole history.
|
|
169
171
|
* @returns The page's rows, oldest first.
|
|
170
172
|
* @throws {Error} When the indexer cannot be reached, answers a status that
|
|
171
173
|
* is not 2xx, rejects the query, or answers without a page.
|
|
172
174
|
*/
|
|
173
|
-
async function fetchContractEventPage(queryUrl, contractAddress, offset,
|
|
175
|
+
async function fetchContractEventPage(queryUrl, contractAddress, offset, fromBlock) {
|
|
174
176
|
const response = await fetch(queryUrl, {
|
|
175
177
|
method: "POST",
|
|
176
178
|
headers: { "content-type": "application/json" },
|
|
@@ -180,8 +182,7 @@ async function fetchContractEventPage(queryUrl, contractAddress, offset, bounds)
|
|
|
180
182
|
filter: {
|
|
181
183
|
contractAddress,
|
|
182
184
|
types: ["MISC"],
|
|
183
|
-
...(
|
|
184
|
-
...(bounds.toBlock === undefined ? {} : { toBlock: bounds.toBlock }),
|
|
185
|
+
...(fromBlock === undefined ? {} : { fromBlock }),
|
|
185
186
|
},
|
|
186
187
|
limit: EVENT_PAGE_LIMIT,
|
|
187
188
|
offset,
|
|
@@ -203,7 +204,7 @@ async function fetchContractEventPage(queryUrl, contractAddress, offset, bounds)
|
|
|
203
204
|
return page;
|
|
204
205
|
}
|
|
205
206
|
/**
|
|
206
|
-
* Read
|
|
207
|
+
* Read a signet contract's events from a Midnight indexer. The stream
|
|
207
208
|
* pages the indexer by offset and pins its end to the tip (`maxId`) of the
|
|
208
209
|
* first page, so the walk is a point-in-time snapshot that ends even while
|
|
209
210
|
* the contract keeps emitting: rows past that tip are dropped. The contract
|
|
@@ -220,7 +221,7 @@ export function signetEventSourceFromIndexer(config) {
|
|
|
220
221
|
const address = bytesToHex(contractAddressFromHex(contractAddress).bytes);
|
|
221
222
|
let tipId;
|
|
222
223
|
for (let offset = 0;; offset += EVENT_PAGE_LIMIT) {
|
|
223
|
-
const page = await fetchContractEventPage(config.queryUrl, address, offset, options
|
|
224
|
+
const page = await fetchContractEventPage(config.queryUrl, address, offset, options?.fromBlock);
|
|
224
225
|
for (const row of page) {
|
|
225
226
|
const event = signetMiscEventFromIndexerRow(row);
|
|
226
227
|
if (event === undefined)
|
|
@@ -435,7 +436,7 @@ const SIGNET_EVENT_PAYLOAD_DECODERS = {
|
|
|
435
436
|
/**
|
|
436
437
|
* Decode `event` as the signet event kind `name`, or skip it when it carries
|
|
437
438
|
* another name. The name is checked BEFORE the payload is touched, which is
|
|
438
|
-
* what a reader of one kind needs: the signet
|
|
439
|
+
* what a reader of one kind needs: the signet contracts are unauthenticated,
|
|
439
440
|
* so anyone can emit an undecodable event of another kind, and that must not
|
|
440
441
|
* fail a read that never asked for it.
|
|
441
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":"AAAA,2EAA2E;AAC3E,4EAA4E;AAC5E,yEAAyE;AACzE,uEAAuE;AACvE,uEAAuE;AACvE,0EAA0E;AAK1E,OAAO,EAEL,oBAAoB,EACpB,qCAAqC,GACtC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAEL,sBAAsB,EAGtB,eAAe,EAEf,oBAAoB,GAErB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,4CAA4C,EAC5C,8CAA8C,GAC/C,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAkD,WAAW,EAAE,MAAM,sBAAsB,CAAC;AA4EnG;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,OAA+B;IAC5D,IAAI,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC,QAAQ,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,sCAAsC,CAC7C,gBAA4B,EAC5B,cAA8B,EAC9B,KAA2C;IAE3C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACnC,qCAAqC,CAAC,IAAI,EAAE,cAAc,CAAC,CAC5D,CAAC;IACF,IACE,QAAQ,KAAK,SAAS;QACtB,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,sBAAsB,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC7F,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,qCAAqC,CACnD,SAAuB,EACvB,gBAA4B,EAC5B,cAA8B,EAC9B,MAAqC;IAErC,OAAO,sCAAsC,CAC3C,gBAAgB,EAChB,cAAc,EACd,oBAAoB,CAAC,MAAM,EAAE,eAAe,CAAC,yBAAyB,EAAE,SAAS,CAAC,CACnF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,2BAA2B;IACrB,MAAM,CAAoC;IAE3D,wEAAwE;IACvD,YAAY,GAAG,IAAI,GAAG,EAAwC,CAAC;IAEhF;;;OAGG;IACH,YAAY,MAAyC;QACnD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,mBAAmB,CAAC,SAAuB;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,kBAAkB,CACnE,IAAI,CAAC,MAAM,CAAC,wBAAwB,CACrC,CAAC;QACF,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,+CAA+C,IAAI,CAAC,MAAM,CAAC,wBAAwB,qBAAqB,CACzG,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;QAChG,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,WAAW,SAAS,6CAA6C;gBAC/D,0BAA0B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,sBAAsB,CACpG,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,eAAe,CAC3B,IAAW,EACX,SAAuB;QAEvB,MAAM,OAAO,GAAgC,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,kBAAkB,CACvD,IAAI,CAAC,MAAM,CAAC,wBAAwB,EACpC,IAAI,CAAC,MAAM,CAAC,wBAAwB,KAAK,SAAS;YAChD,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,CACxD,CAAC;QACF,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACpD,IAAI,OAAO,EAAE,SAAS,KAAK,SAAS;gBAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,2BAA2B,CAAC,SAAuB;QACvD,OAAO,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,kCAAkC,CACtC,SAAuB,EACvB,cAAsB;QAEtB,OAAO,IAAI,CAAC,wBAAwB,CAClC,SAAS,EACT,cAAc,EACd,MAAM,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAClD,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,8BAA8B,CAClC,SAAuB,EACvB,cAAsB,EACtB,MAAqC;QAErC,OAAO,IAAI,CAAC,wBAAwB,CAClC,SAAS,EACT,cAAc,EACd,oBAAoB,CAAC,MAAM,EAAE,eAAe,CAAC,uBAAuB,EAAE,SAAS,CAAC,CACjF,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACK,KAAK,CAAC,wBAAwB,CACpC,SAAuB,EACvB,cAAsB,EACtB,SAA6C;QAE7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAA4B,EAAE;YAC9E,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC/B,IAAI,MAAc,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,GAAG,8BAA8B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC7D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,KAAK;oBACL,QAAQ;oBACR,cAAc,EAAE,8BAA8B,MAAM,CAAC,KAAK,CAAC,GAAG;iBAC/D,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC1D,OAAO;oBACL,KAAK;oBACL,QAAQ;oBACR,MAAM;oBACN,cAAc,EAAE,aAAa,MAAM,cAAc,cAAc,EAAE;iBAClE,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QACrC,CAAC,CAAC,CAAC;QACH,OAAO;YACL,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,SAAS,CAAC,EAAE,QAAQ;YACxE,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,yBAAyB,CAAC,SAAuB;QACrD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC1D,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC/B,OAAO,8CAA8C,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,uBAAuB,CAC3B,SAAuB,EACvB,cAAsB;QAEtB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC1D,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,kCAAkC,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAC9F,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,4CAA4C,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,6BAA6B,CACjC,SAAuB;QAEvB,OAAO,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC;IACpF,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,oCAAoC,CACxC,SAAuB,EACvB,gBAA4B,EAC5B,cAA8B;QAE9B,OAAO,sCAAsC,CAC3C,gBAAgB,EAChB,cAAc,EACd,MAAM,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC,CACpD,CAAC;IACJ,CAAC;CACF"}
|