@intent-engine/cli 0.1.42 → 0.1.44
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/dist/src/accounts.d.ts +4 -2
- package/dist/src/accounts.js +5 -4
- package/dist/src/accounts.js.map +1 -1
- package/dist/src/add-to.d.ts +2 -0
- package/dist/src/add-to.js +9 -3
- package/dist/src/add-to.js.map +1 -1
- package/dist/src/admin-commands.d.ts +22 -1
- package/dist/src/admin-commands.js +44 -12
- package/dist/src/admin-commands.js.map +1 -1
- package/dist/src/agent/actions.d.ts +1 -0
- package/dist/src/agent/actions.js +15 -1
- package/dist/src/agent/actions.js.map +1 -1
- package/dist/src/agent/budget.d.ts +5 -5
- package/dist/src/agent/budget.js +26 -6
- package/dist/src/agent/budget.js.map +1 -1
- package/dist/src/agent/claims.d.ts +2 -1
- package/dist/src/agent/claims.js +1 -1
- package/dist/src/agent/claims.js.map +1 -1
- package/dist/src/agent/create.d.ts +16 -7
- package/dist/src/agent/create.js +25 -3
- package/dist/src/agent/create.js.map +1 -1
- package/dist/src/agent/jobs.js +8 -3
- package/dist/src/agent/jobs.js.map +1 -1
- package/dist/src/agent/mandate-agent.js +3 -2
- package/dist/src/agent/mandate-agent.js.map +1 -1
- package/dist/src/agent/mandate-revoke.js +1 -1
- package/dist/src/agent/mandate-revoke.js.map +1 -1
- package/dist/src/agent/owner.js +4 -2
- package/dist/src/agent/owner.js.map +1 -1
- package/dist/src/agent/prepare.d.ts +1 -1
- package/dist/src/agent/prepare.js +9 -2
- package/dist/src/agent/prepare.js.map +1 -1
- package/dist/src/agent/problems.d.ts +18 -0
- package/dist/src/agent/problems.js +39 -15
- package/dist/src/agent/problems.js.map +1 -1
- package/dist/src/agent/profile.d.ts +1 -0
- package/dist/src/agent/profile.js +30 -5
- package/dist/src/agent/profile.js.map +1 -1
- package/dist/src/agent/read.js +3 -4
- package/dist/src/agent/read.js.map +1 -1
- package/dist/src/agent/reputation.js +16 -7
- package/dist/src/agent/reputation.js.map +1 -1
- package/dist/src/agent/sales.js +17 -23
- package/dist/src/agent/sales.js.map +1 -1
- package/dist/src/agent/settle.js +1 -0
- package/dist/src/agent/settle.js.map +1 -1
- package/dist/src/agent/signed-prepare.js +3 -2
- package/dist/src/agent/signed-prepare.js.map +1 -1
- package/dist/src/agent/signed-relay.d.ts +1 -1
- package/dist/src/agent/signed-relay.js +2 -1
- package/dist/src/agent/signed-relay.js.map +1 -1
- package/dist/src/agent/signed-submit.js +7 -5
- package/dist/src/agent/signed-submit.js.map +1 -1
- package/dist/src/agent/signed-terms.d.ts +1 -5
- package/dist/src/agent/spec.js +16 -4
- package/dist/src/agent/spec.js.map +1 -1
- package/dist/src/agent/wallet/account.js +2 -1
- package/dist/src/agent/wallet/account.js.map +1 -1
- package/dist/src/agent/wallet/attest.d.ts +2 -0
- package/dist/src/agent/wallet/attest.js +46 -24
- package/dist/src/agent/wallet/attest.js.map +1 -1
- package/dist/src/agent/wallet/committee.js +29 -17
- package/dist/src/agent/wallet/committee.js.map +1 -1
- package/dist/src/agent/wallet/delivery.d.ts +4 -1
- package/dist/src/agent/wallet/delivery.js +80 -23
- package/dist/src/agent/wallet/delivery.js.map +1 -1
- package/dist/src/agent/wallet/escrow.d.ts +1 -0
- package/dist/src/agent/wallet/escrow.js +81 -18
- package/dist/src/agent/wallet/escrow.js.map +1 -1
- package/dist/src/agent/wallet/fills.js +4 -3
- package/dist/src/agent/wallet/fills.js.map +1 -1
- package/dist/src/agent/wallet/guard.d.ts +32 -0
- package/dist/src/agent/wallet/guard.js +131 -9
- package/dist/src/agent/wallet/guard.js.map +1 -1
- package/dist/src/agent/wallet/history.js +2 -2
- package/dist/src/agent/wallet/history.js.map +1 -1
- package/dist/src/agent/wallet/offer.d.ts +18 -0
- package/dist/src/agent/wallet/offer.js +2 -1
- package/dist/src/agent/wallet/offer.js.map +1 -1
- package/dist/src/agent/wallet/openings.d.ts +37 -0
- package/dist/src/agent/wallet/openings.js +73 -0
- package/dist/src/agent/wallet/openings.js.map +1 -0
- package/dist/src/agent/wallet/receipt.d.ts +6 -0
- package/dist/src/agent/wallet/receipt.js +21 -3
- package/dist/src/agent/wallet/receipt.js.map +1 -1
- package/dist/src/agent/wallet/record.d.ts +3 -2
- package/dist/src/agent/wallet/record.js +16 -10
- package/dist/src/agent/wallet/record.js.map +1 -1
- package/dist/src/agent/wallet/split.d.ts +1 -0
- package/dist/src/agent/wallet/split.js +84 -57
- package/dist/src/agent/wallet/split.js.map +1 -1
- package/dist/src/agent/wallet/trade.js +2 -1
- package/dist/src/agent/wallet/trade.js.map +1 -1
- package/dist/src/agent/wallet/unwrap.js +2 -1
- package/dist/src/agent/wallet/unwrap.js.map +1 -1
- package/dist/src/agent/work-claims.js +3 -2
- package/dist/src/agent/work-claims.js.map +1 -1
- package/dist/src/arg-admin.d.ts +1 -1
- package/dist/src/arg-admin.js +4 -0
- package/dist/src/arg-admin.js.map +1 -1
- package/dist/src/arg-options.d.ts +70 -2
- package/dist/src/arg-options.js +36 -10
- package/dist/src/arg-options.js.map +1 -1
- package/dist/src/arg-solve.d.ts +6 -0
- package/dist/src/arg-solve.js +46 -1
- package/dist/src/arg-solve.js.map +1 -1
- package/dist/src/arg-usage.d.ts +2 -2
- package/dist/src/arg-usage.js +40 -36
- package/dist/src/arg-usage.js.map +1 -1
- package/dist/src/arg-values.d.ts +20 -1
- package/dist/src/arg-values.js +72 -2
- package/dist/src/arg-values.js.map +1 -1
- package/dist/src/args.d.ts +4 -1
- package/dist/src/args.js +39 -9
- package/dist/src/args.js.map +1 -1
- package/dist/src/claim-commands.js +24 -4
- package/dist/src/claim-commands.js.map +1 -1
- package/dist/src/clusters.d.ts +1 -0
- package/dist/src/clusters.js +1 -0
- package/dist/src/clusters.js.map +1 -1
- package/dist/src/command-types.d.ts +49 -1
- package/dist/src/commands.js +37 -8
- package/dist/src/commands.js.map +1 -1
- package/dist/src/committee-commands.d.ts +13 -2
- package/dist/src/committee-commands.js +58 -11
- package/dist/src/committee-commands.js.map +1 -1
- package/dist/src/crank.d.ts +3 -3
- package/dist/src/crank.js +11 -9
- package/dist/src/crank.js.map +1 -1
- package/dist/src/float-commands.d.ts +17 -0
- package/dist/src/float-commands.js +94 -0
- package/dist/src/float-commands.js.map +1 -0
- package/dist/src/flow-commands.js +2 -2
- package/dist/src/flow-commands.js.map +1 -1
- package/dist/src/flows.d.ts +2 -2
- package/dist/src/flows.js +8 -2
- package/dist/src/flows.js.map +1 -1
- package/dist/src/job-args.js +16 -3
- package/dist/src/job-args.js.map +1 -1
- package/dist/src/job-commands.js +39 -10
- package/dist/src/job-commands.js.map +1 -1
- package/dist/src/job-filters.d.ts +15 -3
- package/dist/src/job-filters.js +31 -6
- package/dist/src/job-filters.js.map +1 -1
- package/dist/src/judge-digest.d.ts +7 -0
- package/dist/src/judge-digest.js +27 -0
- package/dist/src/judge-digest.js.map +1 -0
- package/dist/src/judge-watch.js +16 -6
- package/dist/src/judge-watch.js.map +1 -1
- package/dist/src/judge.d.ts +18 -1
- package/dist/src/judge.js +87 -17
- package/dist/src/judge.js.map +1 -1
- package/dist/src/ledger-keys.d.ts +4 -1
- package/dist/src/ledger-keys.js +21 -5
- package/dist/src/ledger-keys.js.map +1 -1
- package/dist/src/legacy-commands.d.ts +8 -0
- package/dist/src/legacy-commands.js +94 -0
- package/dist/src/legacy-commands.js.map +1 -0
- package/dist/src/main.d.ts +3 -0
- package/dist/src/main.js +5 -0
- package/dist/src/main.js.map +1 -1
- package/dist/src/migrate-commands.d.ts +10 -0
- package/dist/src/migrate-commands.js +127 -0
- package/dist/src/migrate-commands.js.map +1 -0
- package/dist/src/monitor-args.d.ts +2 -0
- package/dist/src/monitor-args.js +9 -2
- package/dist/src/monitor-args.js.map +1 -1
- package/dist/src/monitor-fills.d.ts +2 -2
- package/dist/src/monitor-fills.js +9 -5
- package/dist/src/monitor-fills.js.map +1 -1
- package/dist/src/monitor-limits.d.ts +25 -0
- package/dist/src/monitor-limits.js +58 -0
- package/dist/src/monitor-limits.js.map +1 -0
- package/dist/src/monitor.d.ts +10 -1
- package/dist/src/monitor.js +81 -31
- package/dist/src/monitor.js.map +1 -1
- package/dist/src/release-simulation.d.ts +3 -2
- package/dist/src/release-simulation.js +1 -0
- package/dist/src/release-simulation.js.map +1 -1
- package/dist/src/sealed-commands.d.ts +6 -0
- package/dist/src/sealed-commands.js +19 -1
- package/dist/src/sealed-commands.js.map +1 -1
- package/dist/src/solve-commands.d.ts +3 -1
- package/dist/src/solve-commands.js +31 -4
- package/dist/src/solve-commands.js.map +1 -1
- package/dist/src/trust-args.d.ts +4 -2
- package/dist/src/trust-args.js +24 -7
- package/dist/src/trust-args.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/wallet.d.ts +8 -2
- package/dist/src/wallet.js +44 -7
- package/dist/src/wallet.js.map +1 -1
- package/package.json +5 -4
package/dist/src/judge.js
CHANGED
|
@@ -2,8 +2,8 @@ import { createHash } from "node:crypto";
|
|
|
2
2
|
import { readFile, rm, writeFile } from "node:fs/promises";
|
|
3
3
|
import { basename, resolve } from "node:path";
|
|
4
4
|
import { getBase58Decoder } from "@solana/kit";
|
|
5
|
-
import { decodeParams, IntentStatus, Kind } from "@intent-engine/core";
|
|
6
|
-
import { chainTime, confirmOnBoth, createClient, deliveryRecord, firstDelivery, loadCommittee, loadIntent, SIGNATURE_PAGE, } from "@intent-engine/client";
|
|
5
|
+
import { decodeParams, IntentStatus, Kind, openingMemo, UNOPENED } from "@intent-engine/core";
|
|
6
|
+
import { chainTime, confirmOnBoth, createClient, deliveryRecord, firstDelivery, isDevice, isLedgerPath, earlierSalts, loadCommittee, loadIntent, messageOnly, openingInstructions, openingsOf, SIGNATURE_PAGE, missingKey, deviceJudgeReady, NoKeyAtCreation, ProfileHistoryIncomplete, skippedNote, unopenedOf, } from "@intent-engine/client";
|
|
7
7
|
import { NOT_SENT } from "./flows.js";
|
|
8
8
|
import { memberVote } from "./committee-commands.js";
|
|
9
9
|
import { JudgeInterrupted, JudgeRefused, SIGNAL_EXIT } from "./judge-errors.js";
|
|
@@ -14,6 +14,8 @@ import { judgeHost } from "./host-judge.js";
|
|
|
14
14
|
import { judgeNode } from "./node-judge.js";
|
|
15
15
|
import { invitedTo, notInvited } from "./invites.js";
|
|
16
16
|
import { simulateRelease } from "./release-simulation.js";
|
|
17
|
+
import { messageSigner } from "./ledger-keys.js";
|
|
18
|
+
import { loadEncryptionKeys } from "./sealed-commands.js";
|
|
17
19
|
import { drawBeacon, judgeDraw } from "./draw.js";
|
|
18
20
|
import { casesOf, judgeViper, pinnedWasm, runOf, VIPER_ENGINE_COMMIT, VIPER_WASM_SHA256 } from "./viper.js";
|
|
19
21
|
export { JudgeInterrupted, JudgeRefused, SIGNAL_EXIT } from "./judge-errors.js";
|
|
@@ -24,6 +26,20 @@ export const VOTE_NEXT = "the check passed and this member's vote is in the verd
|
|
|
24
26
|
const hex = (bytes) => Buffer.from(bytes).toString("hex");
|
|
25
27
|
const reasonOf = (error) => (error instanceof Error ? error.message : String(error));
|
|
26
28
|
export const pagesRead = (pages) => `It read ${pages} ${pages === 1 ? "page" : "pages"} of ${SIGNATURE_PAGE} signatures; a higher --max-pages reads further, but does not help when the RPC node's ledger does not reach back to the escrow's creation or the node cannot page signatures or report its first available slot`;
|
|
29
|
+
export const sealedOnDevice = (path, intent) => `a judge on the Ledger ${path} cannot open the salts sealed in the announcements for intent ${intent}, so it cannot know which announcement came first; pass --encryption-keypair with the encryption key file whose public key its profile publishes, or judge with a key file; nothing was run or paid`;
|
|
30
|
+
export const DEVICE_VOTE_PREVIEW = "nothing was signed; with --yes the Ledger signs only this member's vote, one message that lists every member's key and this digest: compare it with committee vote's preview on another machine before pressing approve";
|
|
31
|
+
export const historyRefused = (error) => {
|
|
32
|
+
throw error instanceof ProfileHistoryIncomplete || error instanceof NoKeyAtCreation ? new JudgeRefused(error.message) : error;
|
|
33
|
+
};
|
|
34
|
+
export const GIVE_KEY_FLAG = "pass the encryption key file of that key with --encryption-keypair";
|
|
35
|
+
export const unopenedRefusal = (missing, path, device) => missing.key.kind === "wallet" && device ? sealedOnDevice(path, missing.delivery.intent) : missingKey(missing, GIVE_KEY_FLAG);
|
|
36
|
+
export async function judgeOpeners(runtime, command, device) {
|
|
37
|
+
const own = device ? [] : [await runtime.loadKeypair(command.keypair)];
|
|
38
|
+
const sealed = await loadEncryptionKeys(runtime, command.encryptionKeypairs);
|
|
39
|
+
return [...own, ...sealed];
|
|
40
|
+
}
|
|
41
|
+
export const DEVICE_PREVIEW = "nothing was sent; with --yes the Ledger signs only the release message and shows this digest: compare it with judge digest run on another machine before pressing approve, and reject on any difference";
|
|
42
|
+
export const FEE_PAYER_IS_JUDGE = "--fee-payer is the judge's own key; name another key file to sign and pay the release";
|
|
27
43
|
export const resultOutside = (result, intent, min, max) => `--result ${result} lies outside the results intent ${intent} accepts, ${min} to ${max}; nothing was run or paid`;
|
|
28
44
|
export async function escrowFor(transport, judge, owner, nonce) {
|
|
29
45
|
const { address, intent } = await loadIntent(transport, owner, nonce);
|
|
@@ -55,8 +71,16 @@ export async function judge(command, runtime, transport) {
|
|
|
55
71
|
await rm(command.verdict, { force: true });
|
|
56
72
|
}
|
|
57
73
|
await sandboxReady(command.sandbox, dockerEnv(process.env));
|
|
58
|
-
const
|
|
74
|
+
const held = await messageSigner(runtime, command.keypair);
|
|
75
|
+
const signer = isDevice(held) ? messageOnly(held) : held;
|
|
76
|
+
const feePayer = command.feePayer === undefined ? undefined : await runtime.loadSigner(command.feePayer);
|
|
77
|
+
if (feePayer?.address === signer.address) {
|
|
78
|
+
throw new JudgeRefused(FEE_PAYER_IS_JUDGE);
|
|
79
|
+
}
|
|
59
80
|
const { address, attestor, committee, specHash, minResult, maxResult } = await escrowFor(transport, signer.address, command.owner, command.nonce);
|
|
81
|
+
if (isDevice(signer)) {
|
|
82
|
+
await deviceJudgeReady(transport, signer.address, address).catch(historyRefused);
|
|
83
|
+
}
|
|
60
84
|
const result = command.result ?? minResult;
|
|
61
85
|
if (result < minResult || result > maxResult) {
|
|
62
86
|
throw new JudgeRefused(resultOutside(result, address, minResult, maxResult));
|
|
@@ -74,11 +98,20 @@ export async function judge(command, runtime, transport) {
|
|
|
74
98
|
}
|
|
75
99
|
const sha256 = read.sha256;
|
|
76
100
|
const check = command.check === undefined ? undefined : { name: basename(resolve(command.check)), read: await readArtifact(resolve(command.check)) };
|
|
77
|
-
const
|
|
101
|
+
const keypair = await judgeOpeners(runtime, command, isDevice(signer));
|
|
102
|
+
const record = await deliveryRecord(transport, attestor, address, command.maxPages, keypair);
|
|
78
103
|
if (!record.complete) {
|
|
79
104
|
throw new JudgeRefused(`the delivery record is incomplete because the judge's history is too long to read in full or the RPC node cannot serve all of it, so the earliest announcer of the artifact with sha256 ${sha256} for intent ${address} cannot be known; nothing was run or paid. ${pagesRead(record.pages)}`);
|
|
80
105
|
}
|
|
81
106
|
const first = firstDelivery(record.deliveries, sha256);
|
|
107
|
+
const confirm = command.confirmUrl === undefined ? undefined : runtime.transport(command.confirmUrl);
|
|
108
|
+
const recipients = committee?.members ?? [attestor];
|
|
109
|
+
const { missing, skipped } = await unopenedOf(transport, { judge: signer.address, recipients, deliveries: record.deliveries, first, openers: keypair, confirm }).catch(historyRefused);
|
|
110
|
+
if (missing !== null) {
|
|
111
|
+
throw new JudgeRefused(unopenedRefusal(missing, command.keypair, isDevice(signer)));
|
|
112
|
+
}
|
|
113
|
+
const salt = first?.salt;
|
|
114
|
+
const earlier = first === null ? [] : earlierSalts(record.deliveries, first);
|
|
82
115
|
const payTo = command.payTo ?? first?.worker;
|
|
83
116
|
if (payTo === undefined) {
|
|
84
117
|
throw new JudgeRefused(`nobody announced the artifact with sha256 ${sha256} for intent ${address}; pass --pay-to to pay a worker who did not announce it`);
|
|
@@ -94,8 +127,8 @@ export async function judge(command, runtime, transport) {
|
|
|
94
127
|
const beacon = draw === undefined ? undefined : await drawBeacon(transport, (seconds) => runtime.sleep(seconds), first, draw, address, sha256);
|
|
95
128
|
const signals = holdSignals();
|
|
96
129
|
try {
|
|
97
|
-
const
|
|
98
|
-
return await checkAndSettle(command, transport, signer, signals,
|
|
130
|
+
const judged = { address, attestor, committee, specHash, sha256, salt, earlier, payTo, result, read, specBytes, check, viper, beacon, confirm, keypair, feePayer, skipped: skipped.map(skippedNote) };
|
|
131
|
+
return await checkAndSettle(command, transport, signer, signals, judged);
|
|
99
132
|
}
|
|
100
133
|
finally {
|
|
101
134
|
signals.release();
|
|
@@ -104,6 +137,7 @@ export async function judge(command, runtime, transport) {
|
|
|
104
137
|
export const notSent = (signal) => `the check passed, but ${signal} arrived before the release was sent; nothing was paid and no verdict was written`;
|
|
105
138
|
export const mayHaveLanded = (signal, address, signature) => `the check passed and the release was sent${signature === undefined ? "" : ` in ${signature}`}; a second ${signal} stopped the judge before the send was confirmed, so the release may have landed. Read intent ${address} before judging it again; no verdict was written`;
|
|
106
139
|
function sendRelease(command, transport, signer, signals, release) {
|
|
140
|
+
const payer = release.feePayer ?? signer;
|
|
107
141
|
return new Promise((done, failed) => {
|
|
108
142
|
let sent = false;
|
|
109
143
|
let signature;
|
|
@@ -114,8 +148,8 @@ function sendRelease(command, transport, signer, signals, release) {
|
|
|
114
148
|
throw new JudgeInterrupted(caught, notSent(caught));
|
|
115
149
|
}
|
|
116
150
|
sent = true;
|
|
117
|
-
const signed = await
|
|
118
|
-
const own = signed[0]?.[
|
|
151
|
+
const signed = await payer.signTransactions(transactions, config);
|
|
152
|
+
const own = signed[0]?.[payer.address];
|
|
119
153
|
signature = own === undefined ? signature : getBase58Decoder().decode(own);
|
|
120
154
|
return signed;
|
|
121
155
|
};
|
|
@@ -132,12 +166,17 @@ function sendRelease(command, transport, signer, signals, release) {
|
|
|
132
166
|
});
|
|
133
167
|
createClient({ url: command.url, transport })
|
|
134
168
|
.settleProof({
|
|
135
|
-
judge: Object.freeze({ ...signer, signTransactions }),
|
|
136
169
|
owner: command.owner,
|
|
137
170
|
nonce: command.nonce,
|
|
138
171
|
payTo: release.payTo,
|
|
139
172
|
result: release.result,
|
|
140
|
-
|
|
173
|
+
...(release.feePayer === undefined
|
|
174
|
+
? {
|
|
175
|
+
judge: Object.freeze({ ...signer, signTransactions }),
|
|
176
|
+
deliveredSha256: release.sha256,
|
|
177
|
+
...(release.salt === undefined ? {} : { deliveredSalt: release.salt }),
|
|
178
|
+
}
|
|
179
|
+
: { judge: signer, feePayer: Object.freeze({ ...release.feePayer, signTransactions }) }),
|
|
141
180
|
})
|
|
142
181
|
.then((confirmed) => {
|
|
143
182
|
signals.listen(() => undefined);
|
|
@@ -145,7 +184,20 @@ function sendRelease(command, transport, signer, signals, release) {
|
|
|
145
184
|
}, failed);
|
|
146
185
|
});
|
|
147
186
|
}
|
|
148
|
-
async function
|
|
187
|
+
async function sendOpenings(transport, signer, attestor, intent, earlier) {
|
|
188
|
+
const sent = [];
|
|
189
|
+
for (const opening of openingsOf(intent, earlier)) {
|
|
190
|
+
const memo = openingMemo(opening);
|
|
191
|
+
try {
|
|
192
|
+
sent.push({ memo, signature: (await transport.send(openingInstructions(signer, attestor, opening), signer)) });
|
|
193
|
+
}
|
|
194
|
+
catch (error) {
|
|
195
|
+
sent.push({ memo, signature: null, error: reasonOf(error) });
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
return sent;
|
|
199
|
+
}
|
|
200
|
+
async function checkAndSettle(command, transport, signer, signals, { address, attestor, committee, specHash, sha256, salt, earlier, payTo, result, read, specBytes, check: checkFiles, viper, beacon, confirm, keypair, feePayer, skipped }) {
|
|
149
201
|
const { sandbox } = command;
|
|
150
202
|
let check = { exitCode: null, timedOut: false };
|
|
151
203
|
let cases;
|
|
@@ -201,18 +253,28 @@ async function checkAndSettle(command, transport, signer, signals, { address, at
|
|
|
201
253
|
const agreed = (judged) => judged !== undefined && judged.total > 0 && judged.passed === judged.total;
|
|
202
254
|
const passed = cases === undefined ? check.exitCode === 0 : agreed(cases) && agreed(host) && (beacon === undefined || agreed(drawn)) && (plainNode === undefined || agreed(node));
|
|
203
255
|
if (passed && confirm !== undefined) {
|
|
204
|
-
await confirmOnBoth(transport, confirm, { intent: address, attestor, sha256, pages: command.maxPages, payees: [payTo] });
|
|
256
|
+
await confirmOnBoth(transport, confirm, { intent: address, attestor, sha256, pages: command.maxPages, payees: [payTo], keypair });
|
|
205
257
|
}
|
|
206
258
|
let signature = null;
|
|
207
259
|
let vote;
|
|
208
260
|
let simulated;
|
|
261
|
+
let openingsSent;
|
|
262
|
+
let digest = passed && committee === null && isDevice(signer)
|
|
263
|
+
? hex((await createClient({ url: command.url, transport }).proofBallot({ owner: command.owner, nonce: command.nonce, payTo, result })).digest)
|
|
264
|
+
: undefined;
|
|
209
265
|
if (passed && committee !== null) {
|
|
210
266
|
const target = { owner: command.owner, nonce: command.nonce, payTo, result };
|
|
211
|
-
|
|
267
|
+
const ballot = await createClient({ url: command.url, transport }).committeeBallot(target);
|
|
268
|
+
if (isDevice(signer) && !command.yes) {
|
|
269
|
+
digest = hex(ballot.digest);
|
|
270
|
+
}
|
|
271
|
+
else {
|
|
272
|
+
vote = await memberVote(signer, ballot, target, { salt, earlier: earlier.length === 0 ? undefined : earlier.map((one) => one ?? UNOPENED) });
|
|
273
|
+
}
|
|
212
274
|
}
|
|
213
275
|
else if (passed && command.yes) {
|
|
214
276
|
try {
|
|
215
|
-
signature = await sendRelease(command, transport, signer, signals, { address, payTo, result, sha256 });
|
|
277
|
+
signature = await sendRelease(command, transport, signer, signals, { address, payTo, result, sha256, salt, feePayer });
|
|
216
278
|
}
|
|
217
279
|
catch (error) {
|
|
218
280
|
if (error instanceof JudgeInterrupted) {
|
|
@@ -225,8 +287,11 @@ async function checkAndSettle(command, transport, signer, signals, { address, at
|
|
|
225
287
|
throw error;
|
|
226
288
|
}
|
|
227
289
|
}
|
|
228
|
-
else if (passed) {
|
|
229
|
-
simulated = await simulateRelease(transport, signer, { url: command.url, owner: command.owner, nonce: command.nonce, payTo, result, sha256 });
|
|
290
|
+
else if (passed && !isDevice(signer)) {
|
|
291
|
+
simulated = await simulateRelease(transport, signer, { url: command.url, owner: command.owner, nonce: command.nonce, payTo, result, sha256, salt });
|
|
292
|
+
}
|
|
293
|
+
if (signature !== null && earlier.length > 0) {
|
|
294
|
+
openingsSent = await sendOpenings(transport, feePayer ?? signer, attestor, address, earlier);
|
|
230
295
|
}
|
|
231
296
|
const verdict = {
|
|
232
297
|
intent: address,
|
|
@@ -244,10 +309,15 @@ async function checkAndSettle(command, transport, signer, signals, { address, at
|
|
|
244
309
|
payTo,
|
|
245
310
|
signature,
|
|
246
311
|
...(simulated === undefined ? {} : { simulated }),
|
|
312
|
+
...(digest === undefined ? {} : { digest }),
|
|
313
|
+
...(feePayer === undefined ? {} : { feePayer: feePayer.address }),
|
|
247
314
|
...(committee === null ? {} : { committee: committee.address }),
|
|
248
315
|
...(vote === undefined ? {} : { vote, next: VOTE_NEXT }),
|
|
249
|
-
...(passed && committee
|
|
316
|
+
...(passed && committee !== null && vote === undefined ? { next: DEVICE_VOTE_PREVIEW } : {}),
|
|
317
|
+
...(openingsSent === undefined ? {} : { openings: openingsSent }),
|
|
318
|
+
...(passed && committee === null && !command.yes ? { next: digest === undefined ? NOT_SENT : DEVICE_PREVIEW } : {}),
|
|
250
319
|
...(cleanup !== undefined ? { cleanup } : {}),
|
|
320
|
+
...(skipped.length === 0 ? {} : { skipped }),
|
|
251
321
|
};
|
|
252
322
|
if (command.verdict !== undefined) {
|
|
253
323
|
await writeFile(command.verdict, `${JSON.stringify(verdict, null, 2)}\n`);
|
package/dist/src/judge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"judge.js","sourceRoot":"","sources":["../../src/judge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAgB,gBAAgB,EAAsC,MAAM,aAAa,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EACL,SAAS,EAET,aAAa,EACb,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,UAAU,EACV,cAAc,GAEf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAiB,MAAM,yBAAyB,CAAC;AAEpE,OAAO,EAAwB,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACtG,OAAO,EAAkC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACjG,OAAO,EAAc,QAAQ,EAAoB,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACjH,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC5G,OAAO,EAAmB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAmB,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAyB,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAe,UAAU,EAAmB,SAAS,EAAE,MAAM,WAAW,CAAC;AAChF,OAAO,EAAc,OAAO,EAAE,UAAU,EAA8B,UAAU,EAAE,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpJ,OAAO,EAAwB,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACtG,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACpJ,OAAO,EAEL,SAAS,EACT,QAAQ,EAER,KAAK,EACL,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,WAAW,EAEX,QAAQ,EAER,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B,MAAM,cAAc,GAAG,GAAG,CAAC;AAI3B,MAAM,CAAC,MAAM,SAAS,GACpB,iKAAiK,CAAC;AAyBpK,MAAM,GAAG,GAAG,CAAC,KAAiB,EAAU,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAE9E,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAU,EAAE,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAEtG,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAa,EAAU,EAAE,CACjD,WAAW,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,OAAO,cAAc,kNAAkN,CAAC;AAE5R,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,MAAe,EAAE,GAAW,EAAE,GAAW,EAAU,EAAE,CACjG,YAAY,MAAM,oCAAoC,MAAM,aAAa,GAAG,OAAO,GAAG,2BAA2B,CAAC;AAEpH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,SAAoB,EAAE,KAAc,EAAE,KAAc,EAAE,KAAa;IACjG,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACzE,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACjF,MAAM,IAAI,YAAY,CAAC,UAAU,OAAO,2EAA2E,CAAC,CAAC;IACvH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAC5F,MAAM,IAAI,YAAY,CAAC,UAAU,OAAO,oBAAoB,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrG,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,IAAI,YAAY,CAAC,UAAU,OAAO,UAAU,MAAM,CAAC,QAAQ,sBAAsB,KAAK,EAAE,CAAC,CAAC;IAClG,CAAC;IACD,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,YAAY,CAAC,UAAU,OAAO,oBAAoB,MAAM,CAAC,QAAQ,sBAAsB,KAAK,4BAA4B,CAAC,CAAC;IACtI,CAAC;IACD,OAAO;QACL,OAAO;QACP,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS;QACT,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC9B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,OAAqB,EAAE,OAAgB,EAAE,SAAoB;IACvF,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,SAAS,CACtF,SAAS,EACT,MAAM,CAAC,OAAO,EACd,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,KAAK,CACd,CAAC;IACF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;IAC3C,IAAI,MAAM,GAAG,SAAS,IAAI,MAAM,GAAG,SAAS,EAAE,CAAC;QAC7C,MAAM,IAAI,YAAY,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxE,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,YAAY,CAAC,UAAU,OAAO,CAAC,IAAI,eAAe,UAAU,gBAAgB,OAAO,YAAY,QAAQ,EAAE,CAAC,CAAC;IACvH,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACrH,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,IAAI,YAAY,CAAC,0DAA0D,OAAO,CAAC,QAAQ,0CAA0C,CAAC,CAAC;IAC/I,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;IACrJ,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpF,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,YAAY,CACpB,2LAA2L,MAAM,eAAe,OAAO,8CAA8C,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC/R,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,EAAE,MAAM,CAAC;IAC7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,YAAY,CAAC,6CAA6C,MAAM,eAAe,OAAO,yDAAyD,CAAC,CAAC;IAC7J,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC7C,MAAM,IAAI,YAAY,CAAC,GAAG,KAAK,CAAC,MAAM,uCAAuC,MAAM,cAAc,KAAK,CAAC,SAAS,8BAA8B,KAAK,EAAE,CAAC,CAAC;IACzJ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACvE,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,YAAY,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/I,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACrG,OAAO,MAAM,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACtL,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,MAAuB,EAAU,EAAE,CACzD,yBAAyB,MAAM,mFAAmF,CAAC;AAErH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAuB,EAAE,OAAgB,EAAE,SAAgC,EAAU,EAAE,CACnH,4CAA4C,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,SAAS,EAAE,cAAc,MAAM,iGAAiG,OAAO,kDAAkD,CAAC;AAI9Q,SAAS,WAAW,CAAC,OAAqB,EAAE,SAAoB,EAAE,MAAqB,EAAE,OAAoB,EAAE,OAAgB;IAC7H,OAAO,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;QAClC,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,IAAI,SAAgC,CAAC;QACrC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,gBAAgB,GAAsC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;YACzF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,IAAI,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YACtD,CAAC;YACD,IAAI,GAAG,IAAI,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACnE,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACxC,SAAS,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,gBAAgB,EAAE,CAAC,MAAM,CAAC,GAAG,CAAe,CAAC;YAC1F,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YACxB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,CAAC,IAAI,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YACD,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,gBAAgB,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;gBACxF,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9E,CAAC;QACH,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC;aAC1C,WAAW,CAAC;YACX,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,gBAAgB,EAAE,CAAC;YACrD,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,eAAe,EAAE,OAAO,CAAC,MAAM;SAChC,CAAC;aACD,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;YAClB,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClB,CAAC,EAAE,MAAM,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAkBD,KAAK,UAAU,cAAc,CAC3B,OAAqB,EACrB,SAAoB,EACpB,MAAqB,EACrB,OAAoB,EACpB,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAU;IAErI,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,IAAI,KAAK,GAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACvD,IAAI,KAA8B,CAAC;IACnC,IAAI,KAA6B,CAAC;IAClC,IAAI,IAA4B,CAAC;IACjC,IAAI,IAA4B,CAAC;IACjC,IAAI,OAA2B,CAAC;IAChC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,MAAM,GAAG,KAAK,EAAE,KAAK,IAAI,IAAI,UAAU,EAAE,CAAC;QAChD,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACrD,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;QAC7D,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC3D,KAAK,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,SAAS,EAAE,CAAC;YACnC,KAAK,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC9D,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACjG,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC;YAClB,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QACxB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,SAAS,EAAE,CAAC;gBACnC,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC9B,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3B,KAAK,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,aAAa,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;gBAClI,CAAC;qBAAM,CAAC;oBACN,KAAK,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBACtH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,IAAI,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAC1D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,MAAqD,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC;IACrJ,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAClL,IAAI,MAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3H,CAAC;IACD,IAAI,SAAS,GAAqB,IAAI,CAAC;IACvC,IAAI,IAA0B,CAAC;IAC/B,IAAI,SAAuC,CAAC;IAC5C,IAAI,MAAM,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC7E,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,MAAM,YAAY,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IACvH,CAAC;SAAM,IAAI,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,SAAS,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACzG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,gBAAgB,EAAE,CAAC;gBACtC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,IAAI,gBAAgB,CACxB,MAAM,EACN,wBAAwB,MAAM,gGAAgG,QAAQ,CAAC,KAAK,CAAC,iBAAiB,OAAO,kDAAkD,CACxN,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,EAAE,CAAC;QAClB,SAAS,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChJ,CAAC;IACD,MAAM,OAAO,GAAY;QACvB,MAAM,EAAE,OAAO;QACf,QAAQ;QACR,cAAc,EAAE,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO;QAC/B,OAAO,EAAE,OAAO,CAAC,IAAI;QACrB,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjH,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QACjC,KAAK;QACL,SAAS;QACT,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QACjD,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC;QAC/D,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACxD,GAAG,CAAC,MAAM,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9C,CAAC;IACF,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAChC,IAAI,SAAS,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/C,MAAM,IAAI,gBAAgB,CACxB,MAAM,EACN,wBAAwB,MAAM,6DAA6D,SAAS,GAAG,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,mCAAmC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACnM,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"judge.js","sourceRoot":"","sources":["../../src/judge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAgB,gBAAgB,EAAiD,MAAM,aAAa,CAAC;AAC5G,OAAO,EAAE,YAAY,EAAuB,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACnH,OAAO,EACL,SAAS,EAET,aAAa,EACb,YAAY,EACZ,cAAc,EACd,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,UAAU,EACV,cAAc,EAEd,UAAU,EACV,gBAAgB,EAEhB,eAAe,EACf,wBAAwB,EACxB,WAAW,EACX,UAAU,GACX,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAiB,MAAM,yBAAyB,CAAC;AAEpE,OAAO,EAAwB,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACtG,OAAO,EAAkC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACjG,OAAO,EAAc,QAAQ,EAAoB,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACjH,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC5G,OAAO,EAAmB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAmB,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAyB,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAsB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAe,UAAU,EAAmB,SAAS,EAAE,MAAM,WAAW,CAAC;AAChF,OAAO,EAAc,OAAO,EAAE,UAAU,EAA8B,UAAU,EAAE,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpJ,OAAO,EAAwB,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACtG,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACpJ,OAAO,EAEL,SAAS,EACT,QAAQ,EAER,KAAK,EACL,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,WAAW,EAEX,QAAQ,EAER,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B,MAAM,cAAc,GAAG,GAAG,CAAC;AAI3B,MAAM,CAAC,MAAM,SAAS,GACpB,iKAAiK,CAAC;AA6BpK,MAAM,GAAG,GAAG,CAAC,KAAiB,EAAU,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAE9E,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAU,EAAE,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAEtG,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAa,EAAU,EAAE,CACjD,WAAW,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,OAAO,cAAc,kNAAkN,CAAC;AAE5R,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,MAAe,EAAU,EAAE,CACtE,yBAAyB,IAAI,iEAAiE,MAAM,qMAAqM,CAAC;AAE5S,MAAM,CAAC,MAAM,mBAAmB,GAC9B,yNAAyN,CAAC;AAE5N,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAc,EAAS,EAAE;IACtD,MAAM,KAAK,YAAY,wBAAwB,IAAI,KAAK,YAAY,eAAe,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAChI,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,oEAAoE,CAAC;AAElG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAmB,EAAE,IAAY,EAAE,MAAe,EAAU,EAAE,CAC5F,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAE/H,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAgB,EAAE,OAAqB,EAAE,MAAe;IACzF,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GACzB,yMAAyM,CAAC;AAE5M,MAAM,CAAC,MAAM,kBAAkB,GAAG,uFAAuF,CAAC;AAE1H,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,MAAe,EAAE,GAAW,EAAE,GAAW,EAAU,EAAE,CACjG,YAAY,MAAM,oCAAoC,MAAM,aAAa,GAAG,OAAO,GAAG,2BAA2B,CAAC;AAEpH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,SAAoB,EAAE,KAAc,EAAE,KAAc,EAAE,KAAa;IACjG,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACzE,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACjF,MAAM,IAAI,YAAY,CAAC,UAAU,OAAO,2EAA2E,CAAC,CAAC;IACvH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAC5F,MAAM,IAAI,YAAY,CAAC,UAAU,OAAO,oBAAoB,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrG,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,IAAI,YAAY,CAAC,UAAU,OAAO,UAAU,MAAM,CAAC,QAAQ,sBAAsB,KAAK,EAAE,CAAC,CAAC;IAClG,CAAC;IACD,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,YAAY,CAAC,UAAU,OAAO,oBAAoB,MAAM,CAAC,QAAQ,sBAAsB,KAAK,4BAA4B,CAAC,CAAC;IACtI,CAAC;IACD,OAAO;QACL,OAAO;QACP,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS;QACT,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC9B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,OAAqB,EAAE,OAAgB,EAAE,SAAoB;IACvF,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzG,IAAI,QAAQ,EAAE,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;QACzC,MAAM,IAAI,YAAY,CAAC,kBAAkB,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,SAAS,CACtF,SAAS,EACT,MAAM,CAAC,OAAO,EACd,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,KAAK,CACd,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,MAAM,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACnF,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;IAC3C,IAAI,MAAM,GAAG,SAAS,IAAI,MAAM,GAAG,SAAS,EAAE,CAAC;QAC7C,MAAM,IAAI,YAAY,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxE,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,YAAY,CAAC,UAAU,OAAO,CAAC,IAAI,eAAe,UAAU,gBAAgB,OAAO,YAAY,QAAQ,EAAE,CAAC,CAAC;IACvH,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACrH,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,IAAI,YAAY,CAAC,0DAA0D,OAAO,CAAC,QAAQ,0CAA0C,CAAC,CAAC;IAC/I,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;IACrJ,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7F,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,YAAY,CACpB,2LAA2L,MAAM,eAAe,OAAO,8CAA8C,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC/R,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACrG,MAAM,UAAU,GAAG,SAAS,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACvL,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,YAAY,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,CAAC;IACzB,MAAM,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,EAAE,MAAM,CAAC;IAC7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,YAAY,CAAC,6CAA6C,MAAM,eAAe,OAAO,yDAAyD,CAAC,CAAC;IAC7J,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC7C,MAAM,IAAI,YAAY,CAAC,GAAG,KAAK,CAAC,MAAM,uCAAuC,MAAM,cAAc,KAAK,CAAC,SAAS,8BAA8B,KAAK,EAAE,CAAC,CAAC;IACzJ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACvE,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,YAAY,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/I,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QACtM,OAAO,MAAM,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3E,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,MAAuB,EAAU,EAAE,CACzD,yBAAyB,MAAM,mFAAmF,CAAC;AAErH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAuB,EAAE,OAAgB,EAAE,SAAgC,EAAU,EAAE,CACnH,4CAA4C,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,SAAS,EAAE,cAAc,MAAM,iGAAiG,OAAO,kDAAkD,CAAC;AAI9Q,SAAS,WAAW,CAAC,OAAqB,EAAE,SAAoB,EAAE,MAAqB,EAAE,OAAoB,EAAE,OAAgB;IAC7H,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC;IACzC,OAAO,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;QAClC,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,IAAI,SAAgC,CAAC;QACrC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,gBAAgB,GAAiD,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;YACpG,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,IAAI,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YACtD,CAAC;YACD,IAAI,GAAG,IAAI,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAClE,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACvC,SAAS,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,gBAAgB,EAAE,CAAC,MAAM,CAAC,GAAG,CAAe,CAAC;YAC1F,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YACxB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,CAAC,IAAI,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YACD,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,gBAAgB,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;gBACxF,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9E,CAAC;QACH,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC;aAC1C,WAAW,CAAC;YACX,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS;gBAChC,CAAC,CAAC;oBACE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,gBAAgB,EAAE,CAAC;oBACrD,eAAe,EAAE,OAAO,CAAC,MAAM;oBAC/B,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;iBACvE;gBACH,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;SAC3F,CAAC;aACD,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;YAClB,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClB,CAAC,EAAE,MAAM,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAuBD,KAAK,UAAU,YAAY,CAAC,SAAoB,EAAE,MAAgC,EAAE,QAAiB,EAAE,MAAe,EAAE,OAAmC;IACzJ,MAAM,IAAI,GAAqC,EAAE,CAAC;IAClD,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,CAAc,EAAE,CAAC,CAAC;QAC9H,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,OAAqB,EACrB,SAAoB,EACpB,MAAqB,EACrB,OAAoB,EACpB,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAU;IAEhL,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,IAAI,KAAK,GAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACvD,IAAI,KAA8B,CAAC;IACnC,IAAI,KAA6B,CAAC;IAClC,IAAI,IAA4B,CAAC;IACjC,IAAI,IAA4B,CAAC;IACjC,IAAI,OAA2B,CAAC;IAChC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,MAAM,GAAG,KAAK,EAAE,KAAK,IAAI,IAAI,UAAU,EAAE,CAAC;QAChD,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACrD,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;QAC7D,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC3D,KAAK,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,SAAS,EAAE,CAAC;YACnC,KAAK,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC9D,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACjG,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC;YAClB,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QACxB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,SAAS,EAAE,CAAC;gBACnC,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC9B,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3B,KAAK,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,aAAa,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;gBAClI,CAAC;qBAAM,CAAC;oBACN,KAAK,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBACtH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,IAAI,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAC1D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,MAAqD,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC;IACrJ,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAClL,IAAI,MAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IACpI,CAAC;IACD,IAAI,SAAS,GAAqB,IAAI,CAAC;IACvC,IAAI,IAA0B,CAAC;IAC/B,IAAI,SAAuC,CAAC;IAC5C,IAAI,YAAiC,CAAC;IACtC,IAAI,MAAM,GACR,MAAM,IAAI,SAAS,KAAK,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC;QAC9C,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,YAAY,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9I,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,MAAM,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC7E,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC3F,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/I,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,SAAS,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,gBAAgB,EAAE,CAAC;gBACtC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,IAAI,gBAAgB,CACxB,MAAM,EACN,wBAAwB,MAAM,gGAAgG,QAAQ,CAAC,KAAK,CAAC,iBAAiB,OAAO,kDAAkD,CACxN,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,SAAS,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACtJ,CAAC;IACD,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,YAAY,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,QAAQ,IAAI,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/F,CAAC;IACD,MAAM,OAAO,GAAY;QACvB,MAAM,EAAE,OAAO;QACf,QAAQ;QACR,cAAc,EAAE,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO;QAC/B,OAAO,EAAE,OAAO,CAAC,IAAI;QACrB,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjH,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QACjC,KAAK;QACL,SAAS;QACT,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QACjD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3C,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;QACjE,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC;QAC/D,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACxD,GAAG,CAAC,MAAM,IAAI,SAAS,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;QACjE,GAAG,CAAC,MAAM,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnH,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;KAC7C,CAAC;IACF,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAChC,IAAI,SAAS,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/C,MAAM,IAAI,gBAAgB,CACxB,MAAM,EACN,wBAAwB,MAAM,6DAA6D,SAAS,GAAG,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,mCAAmC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACnM,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type KeyPairSigner, type MessagePartialSigner, type TransactionPartialSigner } from "@solana/kit";
|
|
2
2
|
import type { Command } from "./command-types.js";
|
|
3
3
|
import type { Runtime } from "./runtime.js";
|
|
4
4
|
export declare const LEDGER_COMMANDS: string[];
|
|
@@ -7,3 +7,6 @@ export declare const needsKeyFile: (name: string, path: string) => string;
|
|
|
7
7
|
export declare const signsOnDevice: (command: Command) => boolean;
|
|
8
8
|
export declare function checkLedgerPaths(command: Command, saved?: string): void;
|
|
9
9
|
export declare const transactionSigner: (runtime: Runtime, path: string) => Promise<TransactionPartialSigner>;
|
|
10
|
+
export type MessageSigner = TransactionPartialSigner & MessagePartialSigner;
|
|
11
|
+
export declare const messageSigner: (runtime: Runtime, path: string) => Promise<MessageSigner>;
|
|
12
|
+
export declare function keyFileSigner(signer: MessageSigner, name: string, path: string): KeyPairSigner;
|
package/dist/src/ledger-keys.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isKeyPairSigner } from "@solana/kit";
|
|
1
2
|
import { isLedgerPath, LedgerPathError, ledgerSigner, openUsb, parseLedgerPath } from "@intent-engine/client";
|
|
2
3
|
import { UsageError } from "./arg-values.js";
|
|
3
4
|
export const LEDGER_COMMANDS = [
|
|
@@ -8,18 +9,25 @@ export const LEDGER_COMMANDS = [
|
|
|
8
9
|
"approve",
|
|
9
10
|
"revoke-approval",
|
|
10
11
|
"deliver",
|
|
12
|
+
"judge",
|
|
13
|
+
"committee vote",
|
|
14
|
+
"committee release",
|
|
15
|
+
"signed prepare",
|
|
11
16
|
"advance-nonce",
|
|
12
17
|
"advance-epoch",
|
|
13
18
|
"claims take",
|
|
14
19
|
"claims drop",
|
|
15
20
|
"mandate grant",
|
|
16
21
|
"mandate revoke",
|
|
22
|
+
"profile set",
|
|
23
|
+
"profile close",
|
|
24
|
+
"solver float",
|
|
17
25
|
];
|
|
18
26
|
const DEVICE_COMMANDS = new Set(LEDGER_COMMANDS);
|
|
19
|
-
const SPACED = /^(claims|committee|mandate|profile|signed)-/;
|
|
27
|
+
const SPACED = /^(claims|committee|judge|mandate|profile|signed|solver)-/;
|
|
20
28
|
export function commandName(command) {
|
|
21
29
|
const name = command.name === "flow" ? command.flow : command.name === "lookup" ? command.lookup : command.name;
|
|
22
|
-
return name.replace(SPACED, "$1 ");
|
|
30
|
+
return name.replace(SPACED, "$1 ").replace(/^solver float-revoke$/, "solver float");
|
|
23
31
|
}
|
|
24
32
|
function keyPaths(command) {
|
|
25
33
|
const found = command;
|
|
@@ -29,13 +37,14 @@ export const needsKeyFile = (name, path) => `${name} needs a key file, not the L
|
|
|
29
37
|
export const signsOnDevice = (command) => DEVICE_COMMANDS.has(commandName(command));
|
|
30
38
|
const walletPath = (command, saved) => command.name === "mcp" && command.wallet !== null && saved !== undefined ? [saved] : [];
|
|
31
39
|
export function checkLedgerPaths(command, saved) {
|
|
32
|
-
const
|
|
40
|
+
const keys = keyPaths(command).filter(isLedgerPath);
|
|
41
|
+
const devices = [...keys, ...walletPath(command, saved).filter(isLedgerPath)];
|
|
33
42
|
if (devices.length === 0) {
|
|
34
43
|
return;
|
|
35
44
|
}
|
|
36
45
|
const name = commandName(command);
|
|
37
|
-
if (!signsOnDevice(command)) {
|
|
38
|
-
throw new UsageError(needsKeyFile(name,
|
|
46
|
+
if (keys.length > 0 && !signsOnDevice(command)) {
|
|
47
|
+
throw new UsageError(needsKeyFile(name, keys[0] ?? ""));
|
|
39
48
|
}
|
|
40
49
|
for (const path of devices) {
|
|
41
50
|
try {
|
|
@@ -47,4 +56,11 @@ export function checkLedgerPaths(command, saved) {
|
|
|
47
56
|
}
|
|
48
57
|
}
|
|
49
58
|
export const transactionSigner = async (runtime, path) => isLedgerPath(path) ? ledgerSigner(path, runtime.ledger ?? openUsb) : runtime.loadSigner(path);
|
|
59
|
+
export const messageSigner = async (runtime, path) => isLedgerPath(path) ? ledgerSigner(path, runtime.ledger ?? openUsb) : runtime.loadSigner(path);
|
|
60
|
+
export function keyFileSigner(signer, name, path) {
|
|
61
|
+
if (!isKeyPairSigner(signer)) {
|
|
62
|
+
throw new UsageError(needsKeyFile(name, path));
|
|
63
|
+
}
|
|
64
|
+
return signer;
|
|
65
|
+
}
|
|
50
66
|
//# sourceMappingURL=ledger-keys.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ledger-keys.js","sourceRoot":"","sources":["../../src/ledger-keys.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ledger-keys.js","sourceRoot":"","sources":["../../src/ledger-keys.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type Transport } from "@intent-engine/client";
|
|
2
|
+
import type { Command } from "./command-types.js";
|
|
3
|
+
import type { Runtime } from "./runtime.js";
|
|
4
|
+
type CloseLegacy = Extract<Command, {
|
|
5
|
+
name: "close-legacy";
|
|
6
|
+
}>;
|
|
7
|
+
export declare function closeLegacy(command: CloseLegacy, runtime: Runtime, transport: Transport): Promise<object>;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { boardTerms, buildCloseLegacy, findVaultPda, getIntentDecoder, INTENT_DISCRIMINATOR, INTENT_ENGINE_PROGRAM_ADDRESS, IntentStatus, isCurrentAccount, legacyStakeTo, lineIntent, migratesInPlace, recordedPayer, storedVersion, TOKEN_2022_PROGRAM_ADDRESS, TOKEN_PROGRAM_ADDRESS, } from "@intent-engine/core";
|
|
2
|
+
import { chainTime, createdAccount, loadConfig } from "@intent-engine/client";
|
|
3
|
+
import { previewed } from "./admin-commands.js";
|
|
4
|
+
import { transactionSigner } from "./ledger-keys.js";
|
|
5
|
+
const isIntent = (data) => INTENT_DISCRIMINATOR.every((b, i) => data[i] === b);
|
|
6
|
+
async function escrowOpen(transport, intent, now) {
|
|
7
|
+
const view = await createdAccount(transport, intent);
|
|
8
|
+
if (view === null || view.owner !== INTENT_ENGINE_PROGRAM_ADDRESS || !isIntent(view.data)) {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
const stored = storedVersion(view.data);
|
|
12
|
+
if (stored === null || stored.version < stored.layout.oldest || stored.version > stored.layout.version) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
const held = getIntentDecoder().decode(view.data);
|
|
16
|
+
return held.status === IntentStatus.Open && now < held.expiresAt;
|
|
17
|
+
}
|
|
18
|
+
async function stakeOf(transport, terms) {
|
|
19
|
+
if (terms === null) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
const now = await chainTime(transport);
|
|
23
|
+
return legacyStakeTo(terms, await escrowOpen(transport, terms.intent, now), now);
|
|
24
|
+
}
|
|
25
|
+
export async function closeLegacy(command, runtime, transport) {
|
|
26
|
+
const payer = await transactionSigner(runtime, command.keypair);
|
|
27
|
+
const account = command.address;
|
|
28
|
+
const view = await createdAccount(transport, account);
|
|
29
|
+
if (view === null) {
|
|
30
|
+
throw new Error(`${account} does not exist`);
|
|
31
|
+
}
|
|
32
|
+
if (view.owner !== INTENT_ENGINE_PROGRAM_ADDRESS) {
|
|
33
|
+
throw new Error(`${account} is not an engine account; close-legacy closes only accounts the engine program owns`);
|
|
34
|
+
}
|
|
35
|
+
const stored = storedVersion(view.data);
|
|
36
|
+
if (isCurrentAccount(view.data)) {
|
|
37
|
+
throw new Error(`${account} is a current ${stored?.layout.name ?? "engine"} account; close-legacy closes only accounts of an earlier layout or version`);
|
|
38
|
+
}
|
|
39
|
+
if (migratesInPlace(view.data)) {
|
|
40
|
+
throw new Error(`${account} is a ${stored?.layout.name ?? "engine"} account, which is upgraded in place and never closed`);
|
|
41
|
+
}
|
|
42
|
+
const line = lineIntent(view.data);
|
|
43
|
+
if (line !== null && (await escrowOpen(transport, line, await chainTime(transport)))) {
|
|
44
|
+
throw new Error(`${account} is an outdated ${stored?.layout.name ?? "line"} account of escrow ${line}, which is still open; closing it would drop its place in the line, so upgrade it with intent-engine migrate instead`);
|
|
45
|
+
}
|
|
46
|
+
const intent = isIntent(view.data);
|
|
47
|
+
const [vault] = await findVaultPda({ intent: account });
|
|
48
|
+
const vaultView = intent ? await createdAccount(transport, vault) : null;
|
|
49
|
+
if (vaultView !== null && [TOKEN_PROGRAM_ADDRESS, TOKEN_2022_PROGRAM_ADDRESS].includes(vaultView.owner) && vaultView.data.length > 0) {
|
|
50
|
+
throw new Error(`the vault ${vault} of intent ${account} still holds its escrow; cancel, expire or close the intent first so its owner gets every token back`);
|
|
51
|
+
}
|
|
52
|
+
const recorded = recordedPayer(view.data);
|
|
53
|
+
const recordedView = recorded === null ? null : await createdAccount(transport, recorded);
|
|
54
|
+
const unpayable = recordedView?.executable === true;
|
|
55
|
+
const config = recorded === null || unpayable ? await loadConfig(transport) : null;
|
|
56
|
+
const payee = recorded ?? config?.config.feeRecipient;
|
|
57
|
+
if (payee === undefined) {
|
|
58
|
+
throw new Error(`no wallet to pay for ${account}`);
|
|
59
|
+
}
|
|
60
|
+
const rentTo = unpayable ? config?.config.feeRecipient : payee;
|
|
61
|
+
if (rentTo === undefined) {
|
|
62
|
+
throw new Error(`no wallet to pay for ${account}`);
|
|
63
|
+
}
|
|
64
|
+
const terms = boardTerms(view.data);
|
|
65
|
+
const receiver = await stakeOf(transport, terms);
|
|
66
|
+
const stakeTo = receiver === null || receiver === rentTo ? null : receiver;
|
|
67
|
+
const stake = stakeTo === null ? 0n : (terms?.held ?? 0n);
|
|
68
|
+
const instruction = await buildCloseLegacy({
|
|
69
|
+
account,
|
|
70
|
+
payee,
|
|
71
|
+
...(config === null ? {} : { config: config.address }),
|
|
72
|
+
...(intent ? { vault } : {}),
|
|
73
|
+
...(line === null ? {} : { intent: line }),
|
|
74
|
+
...(stakeTo === null ? {} : { stakeTo }),
|
|
75
|
+
...(unpayable ? { feeTo: rentTo } : {}),
|
|
76
|
+
});
|
|
77
|
+
const what = stored === null
|
|
78
|
+
? `an engine account of ${view.data.length} bytes that matches no account type`
|
|
79
|
+
: `an outdated ${stored.layout.name} account: version ${stored.version}, ${view.data.length} bytes; the current one is version ${stored.layout.version}, ${stored.layout.space} bytes`;
|
|
80
|
+
const rest = view.lamports - stake;
|
|
81
|
+
const share = stake === 0n ? `all its ${rest}` : `the other ${rest}`;
|
|
82
|
+
const why = unpayable
|
|
83
|
+
? `the config's fee recipient, since ${payee}, which its layout records as the payer, cannot hold lamports`
|
|
84
|
+
: recorded === null
|
|
85
|
+
? "the config's fee recipient, since its layout records no payer"
|
|
86
|
+
: "the wallet its layout records as the one that paid for it";
|
|
87
|
+
const summary = [
|
|
88
|
+
`Closes ${account}, ${what}`,
|
|
89
|
+
...(stakeTo === null ? [] : [`Pays the ${stake} lamports of claim stake it holds to ${stakeTo}, as settling the claim would`]),
|
|
90
|
+
`Sends ${share} lamports to ${rentTo}, ${why}`,
|
|
91
|
+
];
|
|
92
|
+
return previewed(transport, [instruction], payer, { account, payee: rentTo, lamports: view.lamports, summary }, command.yes);
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=legacy-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacy-commands.js","sourceRoot":"","sources":["../../src/legacy-commands.ts"],"names":[],"mappings":"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"}
|
package/dist/src/main.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Readable, Writable } from "node:stream";
|
|
2
2
|
import { type KeyPairSigner } from "@solana/kit";
|
|
3
|
+
import { type Command } from "./args.js";
|
|
3
4
|
import { type Runtime } from "./commands.js";
|
|
4
5
|
export declare const EXIT_OK = 0;
|
|
5
6
|
export declare const EXIT_FAILED = 1;
|
|
@@ -15,6 +16,8 @@ type Io = {
|
|
|
15
16
|
export { render } from "./render.js";
|
|
16
17
|
export declare const unreachable: (url: string) => string;
|
|
17
18
|
export declare const PREVIEW_ONLY = "nothing was sent; pass --yes to sign and send it";
|
|
19
|
+
export declare const ONE_NODE = "this reads one RPC node; set the confirm-url setting with setup --confirm-url <cluster>, or pass --confirm-url, to check a second node before a release";
|
|
20
|
+
export declare const readsOneNode: (command: Command) => boolean;
|
|
18
21
|
export declare function main(argv: readonly string[], runtime: Runtime, io: Io): Promise<number>;
|
|
19
22
|
export declare const keypairUnreadable: (path: string) => string;
|
|
20
23
|
export declare function loadKeypairBytes(path: string, platform?: string, home?: string): Promise<Uint8Array>;
|
package/dist/src/main.js
CHANGED
|
@@ -29,6 +29,8 @@ export { render } from "./render.js";
|
|
|
29
29
|
export const unreachable = (url) => `cannot reach the RPC node at ${url}; check your network connection and that this endpoint is up, or pass another --url or set ${ENV_URL}`;
|
|
30
30
|
export const PREVIEW_ONLY = "nothing was sent; pass --yes to sign and send it";
|
|
31
31
|
const PREVIEWED = new Set(["cancel", "expire", "close"]);
|
|
32
|
+
export const ONE_NODE = "this reads one RPC node; set the confirm-url setting with setup --confirm-url <cluster>, or pass --confirm-url, to check a second node before a release";
|
|
33
|
+
export const readsOneNode = (command) => (command.name === "judge" || command.name === "committee-release" || (command.name === "mcp" && command.wallet !== null)) && command.confirmUrl === undefined;
|
|
32
34
|
const offline = (error) => error instanceof TypeError && error.message === "fetch failed";
|
|
33
35
|
function message(error, url) {
|
|
34
36
|
if (unfundedSend(error)) {
|
|
@@ -53,6 +55,9 @@ export async function main(argv, runtime, io) {
|
|
|
53
55
|
const command = parse(argv, settings);
|
|
54
56
|
url = "url" in command ? command.url : undefined;
|
|
55
57
|
checkLedgerPaths(command, settings[ENV_KEYPAIR]);
|
|
58
|
+
if (readsOneNode(command)) {
|
|
59
|
+
process.stderr.write(`${ONE_NODE}\n`);
|
|
60
|
+
}
|
|
56
61
|
const show = (value) => io.out(command.name === "help" || outputOf(argv) === "text" ? renderText(value) : render(value));
|
|
57
62
|
if (command.name === "follow") {
|
|
58
63
|
const transport = withPriority(runtime.transport(command.url), command.priority);
|
package/dist/src/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,eAAe,EAAsB,MAAM,aAAa,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAE,OAAO,EAAgB,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC/I,OAAO,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type Transport } from "@intent-engine/client";
|
|
2
|
+
import type { Command } from "./command-types.js";
|
|
3
|
+
import type { Runtime } from "./runtime.js";
|
|
4
|
+
type Migrate = Extract<Command, {
|
|
5
|
+
name: "migrate";
|
|
6
|
+
}>;
|
|
7
|
+
export declare const MIGRATE_BATCH = 8;
|
|
8
|
+
export declare const NOTHING_TO_MIGRATE = "nothing to migrate: every engine account is current or needs close-legacy";
|
|
9
|
+
export declare function migrate(command: Migrate, runtime: Runtime, transport: Transport): Promise<object>;
|
|
10
|
+
export {};
|