@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.
Files changed (194) hide show
  1. package/dist/src/accounts.d.ts +4 -2
  2. package/dist/src/accounts.js +5 -4
  3. package/dist/src/accounts.js.map +1 -1
  4. package/dist/src/add-to.d.ts +2 -0
  5. package/dist/src/add-to.js +9 -3
  6. package/dist/src/add-to.js.map +1 -1
  7. package/dist/src/admin-commands.d.ts +22 -1
  8. package/dist/src/admin-commands.js +44 -12
  9. package/dist/src/admin-commands.js.map +1 -1
  10. package/dist/src/agent/actions.d.ts +1 -0
  11. package/dist/src/agent/actions.js +15 -1
  12. package/dist/src/agent/actions.js.map +1 -1
  13. package/dist/src/agent/budget.d.ts +5 -5
  14. package/dist/src/agent/budget.js +26 -6
  15. package/dist/src/agent/budget.js.map +1 -1
  16. package/dist/src/agent/claims.d.ts +2 -1
  17. package/dist/src/agent/claims.js +1 -1
  18. package/dist/src/agent/claims.js.map +1 -1
  19. package/dist/src/agent/create.d.ts +16 -7
  20. package/dist/src/agent/create.js +25 -3
  21. package/dist/src/agent/create.js.map +1 -1
  22. package/dist/src/agent/jobs.js +8 -3
  23. package/dist/src/agent/jobs.js.map +1 -1
  24. package/dist/src/agent/mandate-agent.js +3 -2
  25. package/dist/src/agent/mandate-agent.js.map +1 -1
  26. package/dist/src/agent/mandate-revoke.js +1 -1
  27. package/dist/src/agent/mandate-revoke.js.map +1 -1
  28. package/dist/src/agent/owner.js +4 -2
  29. package/dist/src/agent/owner.js.map +1 -1
  30. package/dist/src/agent/prepare.d.ts +1 -1
  31. package/dist/src/agent/prepare.js +9 -2
  32. package/dist/src/agent/prepare.js.map +1 -1
  33. package/dist/src/agent/problems.d.ts +18 -0
  34. package/dist/src/agent/problems.js +39 -15
  35. package/dist/src/agent/problems.js.map +1 -1
  36. package/dist/src/agent/profile.d.ts +1 -0
  37. package/dist/src/agent/profile.js +30 -5
  38. package/dist/src/agent/profile.js.map +1 -1
  39. package/dist/src/agent/read.js +3 -4
  40. package/dist/src/agent/read.js.map +1 -1
  41. package/dist/src/agent/reputation.js +16 -7
  42. package/dist/src/agent/reputation.js.map +1 -1
  43. package/dist/src/agent/sales.js +17 -23
  44. package/dist/src/agent/sales.js.map +1 -1
  45. package/dist/src/agent/settle.js +1 -0
  46. package/dist/src/agent/settle.js.map +1 -1
  47. package/dist/src/agent/signed-prepare.js +3 -2
  48. package/dist/src/agent/signed-prepare.js.map +1 -1
  49. package/dist/src/agent/signed-relay.d.ts +1 -1
  50. package/dist/src/agent/signed-relay.js +2 -1
  51. package/dist/src/agent/signed-relay.js.map +1 -1
  52. package/dist/src/agent/signed-submit.js +7 -5
  53. package/dist/src/agent/signed-submit.js.map +1 -1
  54. package/dist/src/agent/signed-terms.d.ts +1 -5
  55. package/dist/src/agent/spec.js +16 -4
  56. package/dist/src/agent/spec.js.map +1 -1
  57. package/dist/src/agent/wallet/account.js +2 -1
  58. package/dist/src/agent/wallet/account.js.map +1 -1
  59. package/dist/src/agent/wallet/attest.d.ts +2 -0
  60. package/dist/src/agent/wallet/attest.js +46 -24
  61. package/dist/src/agent/wallet/attest.js.map +1 -1
  62. package/dist/src/agent/wallet/committee.js +29 -17
  63. package/dist/src/agent/wallet/committee.js.map +1 -1
  64. package/dist/src/agent/wallet/delivery.d.ts +4 -1
  65. package/dist/src/agent/wallet/delivery.js +80 -23
  66. package/dist/src/agent/wallet/delivery.js.map +1 -1
  67. package/dist/src/agent/wallet/escrow.d.ts +1 -0
  68. package/dist/src/agent/wallet/escrow.js +81 -18
  69. package/dist/src/agent/wallet/escrow.js.map +1 -1
  70. package/dist/src/agent/wallet/fills.js +4 -3
  71. package/dist/src/agent/wallet/fills.js.map +1 -1
  72. package/dist/src/agent/wallet/guard.d.ts +32 -0
  73. package/dist/src/agent/wallet/guard.js +131 -9
  74. package/dist/src/agent/wallet/guard.js.map +1 -1
  75. package/dist/src/agent/wallet/history.js +2 -2
  76. package/dist/src/agent/wallet/history.js.map +1 -1
  77. package/dist/src/agent/wallet/offer.d.ts +18 -0
  78. package/dist/src/agent/wallet/offer.js +2 -1
  79. package/dist/src/agent/wallet/offer.js.map +1 -1
  80. package/dist/src/agent/wallet/openings.d.ts +37 -0
  81. package/dist/src/agent/wallet/openings.js +73 -0
  82. package/dist/src/agent/wallet/openings.js.map +1 -0
  83. package/dist/src/agent/wallet/receipt.d.ts +6 -0
  84. package/dist/src/agent/wallet/receipt.js +21 -3
  85. package/dist/src/agent/wallet/receipt.js.map +1 -1
  86. package/dist/src/agent/wallet/record.d.ts +3 -2
  87. package/dist/src/agent/wallet/record.js +16 -10
  88. package/dist/src/agent/wallet/record.js.map +1 -1
  89. package/dist/src/agent/wallet/split.d.ts +1 -0
  90. package/dist/src/agent/wallet/split.js +84 -57
  91. package/dist/src/agent/wallet/split.js.map +1 -1
  92. package/dist/src/agent/wallet/trade.js +2 -1
  93. package/dist/src/agent/wallet/trade.js.map +1 -1
  94. package/dist/src/agent/wallet/unwrap.js +2 -1
  95. package/dist/src/agent/wallet/unwrap.js.map +1 -1
  96. package/dist/src/agent/work-claims.js +3 -2
  97. package/dist/src/agent/work-claims.js.map +1 -1
  98. package/dist/src/arg-admin.d.ts +1 -1
  99. package/dist/src/arg-admin.js +4 -0
  100. package/dist/src/arg-admin.js.map +1 -1
  101. package/dist/src/arg-options.d.ts +70 -2
  102. package/dist/src/arg-options.js +36 -10
  103. package/dist/src/arg-options.js.map +1 -1
  104. package/dist/src/arg-solve.d.ts +6 -0
  105. package/dist/src/arg-solve.js +46 -1
  106. package/dist/src/arg-solve.js.map +1 -1
  107. package/dist/src/arg-usage.d.ts +2 -2
  108. package/dist/src/arg-usage.js +40 -36
  109. package/dist/src/arg-usage.js.map +1 -1
  110. package/dist/src/arg-values.d.ts +20 -1
  111. package/dist/src/arg-values.js +72 -2
  112. package/dist/src/arg-values.js.map +1 -1
  113. package/dist/src/args.d.ts +4 -1
  114. package/dist/src/args.js +39 -9
  115. package/dist/src/args.js.map +1 -1
  116. package/dist/src/claim-commands.js +24 -4
  117. package/dist/src/claim-commands.js.map +1 -1
  118. package/dist/src/clusters.d.ts +1 -0
  119. package/dist/src/clusters.js +1 -0
  120. package/dist/src/clusters.js.map +1 -1
  121. package/dist/src/command-types.d.ts +49 -1
  122. package/dist/src/commands.js +37 -8
  123. package/dist/src/commands.js.map +1 -1
  124. package/dist/src/committee-commands.d.ts +13 -2
  125. package/dist/src/committee-commands.js +58 -11
  126. package/dist/src/committee-commands.js.map +1 -1
  127. package/dist/src/crank.d.ts +3 -3
  128. package/dist/src/crank.js +11 -9
  129. package/dist/src/crank.js.map +1 -1
  130. package/dist/src/float-commands.d.ts +17 -0
  131. package/dist/src/float-commands.js +94 -0
  132. package/dist/src/float-commands.js.map +1 -0
  133. package/dist/src/flow-commands.js +2 -2
  134. package/dist/src/flow-commands.js.map +1 -1
  135. package/dist/src/flows.d.ts +2 -2
  136. package/dist/src/flows.js +8 -2
  137. package/dist/src/flows.js.map +1 -1
  138. package/dist/src/job-args.js +16 -3
  139. package/dist/src/job-args.js.map +1 -1
  140. package/dist/src/job-commands.js +39 -10
  141. package/dist/src/job-commands.js.map +1 -1
  142. package/dist/src/job-filters.d.ts +15 -3
  143. package/dist/src/job-filters.js +31 -6
  144. package/dist/src/job-filters.js.map +1 -1
  145. package/dist/src/judge-digest.d.ts +7 -0
  146. package/dist/src/judge-digest.js +27 -0
  147. package/dist/src/judge-digest.js.map +1 -0
  148. package/dist/src/judge-watch.js +16 -6
  149. package/dist/src/judge-watch.js.map +1 -1
  150. package/dist/src/judge.d.ts +18 -1
  151. package/dist/src/judge.js +87 -17
  152. package/dist/src/judge.js.map +1 -1
  153. package/dist/src/ledger-keys.d.ts +4 -1
  154. package/dist/src/ledger-keys.js +21 -5
  155. package/dist/src/ledger-keys.js.map +1 -1
  156. package/dist/src/legacy-commands.d.ts +8 -0
  157. package/dist/src/legacy-commands.js +94 -0
  158. package/dist/src/legacy-commands.js.map +1 -0
  159. package/dist/src/main.d.ts +3 -0
  160. package/dist/src/main.js +5 -0
  161. package/dist/src/main.js.map +1 -1
  162. package/dist/src/migrate-commands.d.ts +10 -0
  163. package/dist/src/migrate-commands.js +127 -0
  164. package/dist/src/migrate-commands.js.map +1 -0
  165. package/dist/src/monitor-args.d.ts +2 -0
  166. package/dist/src/monitor-args.js +9 -2
  167. package/dist/src/monitor-args.js.map +1 -1
  168. package/dist/src/monitor-fills.d.ts +2 -2
  169. package/dist/src/monitor-fills.js +9 -5
  170. package/dist/src/monitor-fills.js.map +1 -1
  171. package/dist/src/monitor-limits.d.ts +25 -0
  172. package/dist/src/monitor-limits.js +58 -0
  173. package/dist/src/monitor-limits.js.map +1 -0
  174. package/dist/src/monitor.d.ts +10 -1
  175. package/dist/src/monitor.js +81 -31
  176. package/dist/src/monitor.js.map +1 -1
  177. package/dist/src/release-simulation.d.ts +3 -2
  178. package/dist/src/release-simulation.js +1 -0
  179. package/dist/src/release-simulation.js.map +1 -1
  180. package/dist/src/sealed-commands.d.ts +6 -0
  181. package/dist/src/sealed-commands.js +19 -1
  182. package/dist/src/sealed-commands.js.map +1 -1
  183. package/dist/src/solve-commands.d.ts +3 -1
  184. package/dist/src/solve-commands.js +31 -4
  185. package/dist/src/solve-commands.js.map +1 -1
  186. package/dist/src/trust-args.d.ts +4 -2
  187. package/dist/src/trust-args.js +24 -7
  188. package/dist/src/trust-args.js.map +1 -1
  189. package/dist/src/version.d.ts +1 -1
  190. package/dist/src/version.js +1 -1
  191. package/dist/src/wallet.d.ts +8 -2
  192. package/dist/src/wallet.js +44 -7
  193. package/dist/src/wallet.js.map +1 -1
  194. package/package.json +5 -4
@@ -1,5 +1,5 @@
1
1
  import { TOKEN_AMOUNT_PATTERN } from "@intent-engine/core";
2
- import { confirmUrlOf, key, memoUrlOf, noSub, parseBounded, required, sha256Of, u64, UsageError } from "./arg-values.js";
2
+ import { confirmUrlOf, encryptionKeypairOf, feePayerOf, key, memoUrlOf, noSub, parseBounded, required, sha256Of, u64, UsageError } from "./arg-values.js";
3
3
  import { JUDGE_TIMEOUT, MAX_JUDGE_TIMEOUT, maxPagesOf, releaseOption, runOf } from "./command-builders.js";
4
4
  import { sandboxOf } from "./sandbox.js";
5
5
  export const JUDGE_WATCH_INTERVAL = 30;
@@ -33,6 +33,16 @@ function minPayOf(values) {
33
33
  return text;
34
34
  }
35
35
  export function jobArgsOf(verb, sub, remote, values) {
36
+ if (verb === "judge" && sub === "digest") {
37
+ return {
38
+ name: "judge-digest",
39
+ ...remote,
40
+ owner: key(values, "owner"),
41
+ nonce: u64(values, "nonce"),
42
+ payTo: key(values, "pay-to"),
43
+ result: values.result === undefined ? undefined : u64(values, "result"),
44
+ };
45
+ }
36
46
  noSub(sub);
37
47
  switch (verb) {
38
48
  case "jobs":
@@ -77,10 +87,11 @@ export function jobArgsOf(verb, sub, remote, values) {
77
87
  case "judge": {
78
88
  const sandbox = sandboxOf(values);
79
89
  const watch = watchOf(values);
90
+ const keypair = required(values, "keypair");
80
91
  return {
81
92
  name: "judge",
82
93
  ...remote,
83
- keypair: required(values, "keypair"),
94
+ keypair,
84
95
  yes: values.yes === true,
85
96
  owner: key(values, "owner"),
86
97
  nonce: u64(values, "nonce"),
@@ -95,7 +106,9 @@ export function jobArgsOf(verb, sub, remote, values) {
95
106
  maxPages: maxPagesOf(values),
96
107
  check: values.check,
97
108
  sandbox,
98
- ...confirmUrlOf(values),
109
+ ...feePayerOf(values, keypair),
110
+ ...encryptionKeypairOf(values),
111
+ ...confirmUrlOf(values, remote.url),
99
112
  };
100
113
  }
101
114
  }
@@ -1 +1 @@
1
- {"version":3,"file":"job-args.js","sourceRoot":"","sources":["../../src/job-args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"job-args.js","sourceRoot":"","sources":["../../src/job-args.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  import { getAddressDecoder } from "@solana/kit";
2
2
  import { findIntentPda, formatAmount } from "@intent-engine/core";
3
- import { createClient, deliveryInstructions, deliveryRecord, loadConfig, mintOf, } from "@intent-engine/client";
3
+ import { createClient, deliveryInstructions, deliveryRecord, isLedgerPath, loadConfig, mintOf, publishedSalts, recordedStanding, releaseStandingAt, } from "@intent-engine/client";
4
4
  import { escrowReceipt, recordingOf } from "./agent/wallet.js";
5
- import { ANNOUNCE_FIRST } from "./agent/wallet/delivery.js";
5
+ import { ANNOUNCE_FIRST, sealedForLine } from "./agent/wallet/delivery.js";
6
6
  import { previewed } from "./admin-commands.js";
7
7
  import { artifactSha256 } from "./artifact.js";
8
- import { pricedJobs } from "./job-filters.js";
8
+ import { freezeFields, pricedJobs } from "./job-filters.js";
9
9
  import { transactionSigner } from "./ledger-keys.js";
10
+ import { loadEncryptionKeys } from "./sealed-commands.js";
10
11
  export const NOT_RELEASED = "no release of this escrow is among its recent transactions; show intent says whether it is still open, and --release with the release's signature reads a release directly";
11
12
  const TOKEN_ACCOUNT_HEAD = 64;
12
13
  async function receiptOf(transport, url, intent, wanted) {
@@ -18,6 +19,10 @@ async function receiptOf(transport, url, intent, wanted) {
18
19
  return { intent, released: false, next: NOT_RELEASED };
19
20
  }
20
21
  const recorded = release.deliveredSha256;
22
+ const salt = release.deliveredSalt;
23
+ const standing = recorded === undefined || salt === undefined
24
+ ? undefined
25
+ : await releaseStandingAt(transport, intent, release.signature, { createdAt: created?.blockTime ?? null, from: created?.slot ?? null });
21
26
  const common = {
22
27
  intent,
23
28
  released: true,
@@ -26,6 +31,8 @@ async function receiptOf(transport, url, intent, wanted) {
26
31
  signature: release.signature,
27
32
  ...(recorded === undefined ? {} : { delivered_sha256: recorded }),
28
33
  ...(wanted === undefined ? {} : { matches: wanted === recorded }),
34
+ ...(salt === undefined ? {} : { delivered_salt: salt }),
35
+ ...(standing === undefined || standing === null ? {} : { valid: standing.valid, ...(standing.refutedBy === null ? {} : { refuted_by: standing.refutedBy }) }),
29
36
  };
30
37
  const paid = async (net) => formatAmount(net, mint === undefined ? undefined : (await mintOf(transport, mint)).decimals);
31
38
  if (release.name === "IntentSplit") {
@@ -42,32 +49,39 @@ async function receiptOf(transport, url, intent, wanted) {
42
49
  paid: await paid(release.fields.net),
43
50
  };
44
51
  }
52
+ function saltOf(delivery, openings) {
53
+ const [salt] = publishedSalts(delivery, openings);
54
+ return salt === undefined ? {} : { opened_salt: salt };
55
+ }
45
56
  export async function jobCommand(command, runtime, transport) {
46
57
  switch (command.name) {
47
58
  case "jobs":
48
59
  return {
49
- jobs: (await pricedJobs(transport, command, (await loadConfig(transport)).config)).map(({ netPay, payable, claimedBy, claimEnds, waiting, ...job }) => ({
60
+ jobs: (await pricedJobs(transport, command, (await loadConfig(transport)).config)).map(({ netPay, payable, claimedBy, claimEnds, waiting, freezeAuthority, ...job }) => ({
50
61
  ...job,
51
62
  net_pay: netPay,
52
63
  payable,
53
64
  claimed_by: claimedBy,
54
65
  claim_ends: claimEnds,
55
66
  waiting,
67
+ ...freezeFields(freezeAuthority, job.owner),
56
68
  })),
57
69
  };
58
70
  case "deliver": {
59
71
  const worker = await transactionSigner(runtime, command.keypair);
60
72
  const { intent, workUrl } = command;
61
73
  const sha256 = "sha256" in command ? command.sha256 : await artifactSha256(command.artifact);
62
- const { attestor, instructions, commitment, sealedTo } = await deliveryInstructions(transport, { worker, intent, sha256, url: workUrl });
74
+ const { attestor, instructions, commitment, check, sealedTo, sealedFor } = await deliveryInstructions(transport, { worker, intent, sha256, url: workUrl });
63
75
  const shown = {
64
76
  intent,
65
77
  attestor,
66
78
  commitment,
79
+ check,
67
80
  summary: [
68
- `Announces: the work with sha256 ${sha256}, for the proof escrow ${intent}, as the commitment ${commitment}, which binds it to ${worker.address}`,
69
- `Seals: the url ${workUrl}, so only ${sealedTo.length === 1 ? `the judge ${attestor}` : `the ${sealedTo.length} committee members`} can read it`,
81
+ `Announces: the work with sha256 ${sha256}, for the proof escrow ${intent}, as the commitment ${commitment}, which binds it to ${worker.address} and a salt only its key derives`,
82
+ `Seals: the salt and the url ${workUrl}, so only ${sealedTo.length === 1 ? `the judge ${attestor}` : `the ${sealedTo.length} committee members`} can read it`,
70
83
  `Notifies: its judge ${attestor}, with a transfer of 0 lamports from ${worker.address}, which signs and pays the fee`,
84
+ ...sealedFor.map(sealedForLine),
71
85
  ],
72
86
  warnings: [ANNOUNCE_FIRST],
73
87
  };
@@ -82,17 +96,32 @@ export async function jobCommand(command, runtime, transport) {
82
96
  }
83
97
  case "record-delivery": {
84
98
  const judge = await runtime.loadSigner(command.keypair);
85
- const recording = await recordingOf(transport, judge, command.owner, command.nonce, command.sha256, command.release);
99
+ const keypair = isLedgerPath(command.keypair) ? undefined : await runtime.loadKeypair(command.keypair);
100
+ const recording = await recordingOf(transport, judge, command.owner, command.nonce, command.sha256, command.release, keypair);
86
101
  const { intent, release, sha256, memo, summary, instructions } = recording;
87
102
  return previewed(transport, instructions, judge, { intent, release, sha256, memo, summary }, command.yes);
88
103
  }
89
104
  case "deliveries": {
90
- const keypair = command.judgeKeypair === undefined ? undefined : await runtime.loadKeypair(command.judgeKeypair);
105
+ const own = command.judgeKeypair === undefined ? [] : [await runtime.loadKeypair(command.judgeKeypair)];
106
+ const sealed = await loadEncryptionKeys(runtime, command.encryptionKeypairs);
107
+ const keypair = [...own, ...sealed];
91
108
  const record = await deliveryRecord(transport, command.attestor, command.intent, command.maxPages, keypair);
109
+ const release = await recordedStanding(transport, command.intent, record);
92
110
  return {
93
111
  intent: command.intent,
94
112
  complete: record.complete,
95
- deliveries: record.deliveries.map(({ worker, commitment, signature, slot, url }) => ({ worker, commitment, signature, slot, ...(url === "" ? {} : { url }) })),
113
+ deliveries: record.deliveries.map((delivery) => ({
114
+ worker: delivery.worker,
115
+ commitment: delivery.commitment,
116
+ check: delivery.check,
117
+ signature: delivery.signature,
118
+ slot: delivery.slot,
119
+ ...(delivery.url === "" ? {} : { url: delivery.url }),
120
+ ...saltOf(delivery, record.openings),
121
+ })),
122
+ ...(release === null
123
+ ? {}
124
+ : { release: { signature: release.signature, sha256: release.sha256, valid: release.valid, ...(release.refutedBy === null ? {} : { refuted_by: release.refutedBy }) } }),
96
125
  };
97
126
  }
98
127
  }
@@ -1 +1 @@
1
- {"version":3,"file":"job-commands.js","sourceRoot":"","sources":["../../src/job-commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"job-commands.js","sourceRoot":"","sources":["../../src/job-commands.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Address } from "@solana/kit";
2
- import { type Job, type JobClaim, type JobPay, type PayTerms, type Transport } from "@intent-engine/client";
2
+ import { type Job, type JobClaim, type JobPay, type MintView, type PayTerms, type Transport } from "@intent-engine/client";
3
3
  export type JobsWanted = {
4
4
  attestor?: Address | undefined;
5
5
  mint?: Address | undefined;
@@ -8,6 +8,18 @@ export type JobsWanted = {
8
8
  };
9
9
  export declare function leastUnits(tokens: string, decimals: number): bigint;
10
10
  export type DecimalsOf = (mint: Address) => Promise<number>;
11
- export declare function decimalsOnce(transport: Transport): DecimalsOf;
11
+ export type MintsOf = (mint: Address) => Promise<MintView>;
12
+ export declare function mintsOnce(transport: Transport): MintsOf;
13
+ export declare function decimalsOnce(transport: Transport, mintsOf?: MintsOf): DecimalsOf;
14
+ export declare function freezeAuthorityRead(read: Promise<MintView>): Promise<Address | null>;
15
+ export declare const freezeWarning: (authority: Address, owner: Address) => string;
16
+ export type FreezeFields = {
17
+ freeze_authority: Address | null;
18
+ freeze_warning?: string;
19
+ };
20
+ export declare const freezeFields: (authority: Address | null, owner: Address) => FreezeFields;
12
21
  export declare function jobsWanted(transport: Transport, { attestor, mint, minPay, unclaimed }: JobsWanted, decimalsOf?: DecimalsOf): Promise<Job[]>;
13
- export declare function pricedJobs(transport: Transport, wanted: JobsWanted, terms: PayTerms): Promise<(Job & JobPay & JobClaim)[]>;
22
+ export type PricedJob = Job & JobPay & JobClaim & {
23
+ freezeAuthority: Address | null;
24
+ };
25
+ export declare function pricedJobs(transport: Transport, wanted: JobsWanted, terms: PayTerms): Promise<PricedJob[]>;
@@ -5,15 +5,30 @@ export function leastUnits(tokens, decimals) {
5
5
  const finer = /[1-9]/.test(fraction.slice(decimals)) ? 1n : 0n;
6
6
  return BigInt(whole === "" ? "0" : whole) * 10n ** BigInt(decimals) + BigInt(kept === "" ? "0" : kept) + finer;
7
7
  }
8
- const latestFirst = (a, b) => (a.expiresAt === b.expiresAt ? 0 : a.expiresAt > b.expiresAt ? -1 : 1);
9
- export function decimalsOnce(transport) {
8
+ const latestFirst = (a, b) => (a.expiresAt === b.expiresAt ? 0 : Number(b.expiresAt - a.expiresAt));
9
+ export function mintsOnce(transport) {
10
10
  const seen = new Map();
11
11
  return (mint) => {
12
- const known = seen.get(mint) ?? mintOf(transport, mint).then(({ decimals }) => decimals);
12
+ const known = seen.get(mint) ?? mintOf(transport, mint);
13
13
  seen.set(mint, known);
14
14
  return known;
15
15
  };
16
16
  }
17
+ export function decimalsOnce(transport, mintsOf = mintsOnce(transport)) {
18
+ return async (mint) => (await mintsOf(mint)).decimals;
19
+ }
20
+ export async function freezeAuthorityRead(read) {
21
+ try {
22
+ return (await read).freezeAuthority;
23
+ }
24
+ catch {
25
+ return null;
26
+ }
27
+ }
28
+ export const freezeWarning = (authority, owner) => authority === owner
29
+ ? `the escrow's owner ${owner} holds the freeze authority of this job's token and can freeze the payment`
30
+ : `${authority} holds the freeze authority of this job's token and can freeze the payment`;
31
+ export const freezeFields = (authority, owner) => authority === null ? { freeze_authority: null } : { freeze_authority: authority, freeze_warning: freezeWarning(authority, owner) };
17
32
  export async function jobsWanted(transport, { attestor, mint, minPay, unclaimed }, decimalsOf = decimalsOnce(transport)) {
18
33
  if (minPay === undefined) {
19
34
  return jobsOf(transport, { attestor, mint, unclaimed });
@@ -24,9 +39,19 @@ export async function jobsWanted(transport, { attestor, mint, minPay, unclaimed
24
39
  return lists.flat().sort(latestFirst).slice(0, JOBS_LIMIT);
25
40
  }
26
41
  export async function pricedJobs(transport, wanted, terms) {
27
- const decimalsOf = decimalsOnce(transport);
42
+ const mintsOf = mintsOnce(transport);
43
+ const decimalsOf = decimalsOnce(transport, mintsOf);
28
44
  const jobs = await jobsWanted(transport, wanted, decimalsOf);
29
- const [pays, claims] = await Promise.all([jobPays(transport, jobs, terms, decimalsOf), loadClaimsOf(transport, jobs.map(({ intent }) => intent))]);
30
- return jobs.map((job, i) => ({ ...job, ...(pays[i] ?? { netPay: "0", payable: false }), ...jobClaimOf(claims[i] ?? null) }));
45
+ const [pays, claims, freezes] = await Promise.all([
46
+ jobPays(transport, jobs, terms, decimalsOf),
47
+ loadClaimsOf(transport, jobs.map(({ intent }) => intent)),
48
+ Promise.all(jobs.map(({ inputMint }) => freezeAuthorityRead(mintsOf(inputMint)))),
49
+ ]);
50
+ return jobs.map((job, i) => ({
51
+ ...job,
52
+ ...(pays[i] ?? { netPay: "0", payable: false }),
53
+ ...jobClaimOf(claims[i] ?? null),
54
+ freezeAuthority: freezes[i] ?? null,
55
+ }));
31
56
  }
32
57
  //# sourceMappingURL=job-filters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"job-filters.js","sourceRoot":"","sources":["../../src/job-filters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"job-filters.js","sourceRoot":"","sources":["../../src/job-filters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { type Transport } from "@intent-engine/client";
2
+ import type { Command } from "./command-types.js";
3
+ export type JudgeDigestCommand = Extract<Command, {
4
+ name: "judge-digest";
5
+ }>;
6
+ export declare const DIGEST_NEXT = "the Ledger shows this digest when it signs the release; compare the two before pressing approve, and reject on any difference";
7
+ export declare function judgeDigest(command: JudgeDigestCommand, transport: Transport): Promise<object>;
@@ -0,0 +1,27 @@
1
+ import { decodeParams, Kind } from "@intent-engine/core";
2
+ import { createClient, loadIntent } from "@intent-engine/client";
3
+ import { JudgeRefused } from "./judge-errors.js";
4
+ export const DIGEST_NEXT = "the Ledger shows this digest when it signs the release; compare the two before pressing approve, and reject on any difference";
5
+ const hex = (bytes) => Buffer.from(bytes).toString("hex");
6
+ export async function judgeDigest(command, transport) {
7
+ const { address, intent } = await loadIntent(transport, command.owner, command.nonce);
8
+ const params = decodeParams(intent.kind, Uint8Array.from(intent.params));
9
+ if (params.kind !== Kind.AttestedResult || params.specHash.every((b) => b === 0)) {
10
+ throw new JudgeRefused(`intent ${address} is not a proof escrow: an AttestedResult intent that commits a spec hash`);
11
+ }
12
+ const result = command.result ?? params.minResult;
13
+ if (result < params.minResult || result > params.maxResult) {
14
+ throw new JudgeRefused(`--result ${result} lies outside the results intent ${address} accepts, ${params.minResult} to ${params.maxResult}`);
15
+ }
16
+ const ballot = await createClient({ url: command.url, transport }).proofBallot({ owner: command.owner, nonce: command.nonce, payTo: command.payTo, result });
17
+ return {
18
+ intent: ballot.intent,
19
+ judge: ballot.attestor,
20
+ pay_to: command.payTo,
21
+ payee: ballot.payee,
22
+ result,
23
+ digest: hex(ballot.digest),
24
+ next: DIGEST_NEXT,
25
+ };
26
+ }
27
+ //# sourceMappingURL=judge-digest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"judge-digest.js","sourceRoot":"","sources":["../../src/judge-digest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAkB,MAAM,uBAAuB,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIjD,MAAM,CAAC,MAAM,WAAW,GACtB,+HAA+H,CAAC;AAElI,MAAM,GAAG,GAAG,CAAC,KAAiB,EAAU,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAE9E,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAA2B,EAAE,SAAoB;IACjF,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACtF,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,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC;IAClD,IAAI,MAAM,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAC3D,MAAM,IAAI,YAAY,CAAC,YAAY,MAAM,oCAAoC,OAAO,aAAa,MAAM,CAAC,SAAS,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAC9I,CAAC;IACD,MAAM,MAAM,GAAG,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,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7J,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,QAAQ;QACtB,MAAM,EAAE,OAAO,CAAC,KAAK;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM;QACN,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QAC1B,IAAI,EAAE,WAAW;KAClB,CAAC;AACJ,CAAC"}
@@ -2,14 +2,15 @@ import { createHash } from "node:crypto";
2
2
  import { readFile } from "node:fs/promises";
3
3
  import { resolve } from "node:path";
4
4
  import { getIntentDecoder, INTENT_ENGINE_PROGRAM_ADDRESS, IntentStatus } from "@intent-engine/core";
5
- import { chainTime, deliveryRecord } from "@intent-engine/client";
5
+ import { chainTime, deliveryRecord, deviceJudgeReady, isDevice, unopenedOf } from "@intent-engine/client";
6
6
  import { removeCopy } from "./artifact.js";
7
7
  import { holdSignals } from "./check-process.js";
8
8
  import { DeliveryUnfit, fetchDelivery } from "./delivery-fetch.js";
9
9
  import { JudgeInterrupted, JudgeRefused } from "./judge-errors.js";
10
- import { escrowFor, judge, pagesRead } from "./judge.js";
10
+ import { escrowFor, historyRefused, judge, judgeOpeners, pagesRead, unopenedRefusal } from "./judge.js";
11
+ import { messageSigner } from "./ledger-keys.js";
11
12
  export const SEALED_ELSEWHERE = "is sealed to other wallets than this judge, so its url cannot be read";
12
- const earlier = (a, b) => (a.slot < b.slot ? -1 : a.slot > b.slot ? 1 : a.signature < b.signature ? -1 : a.signature > b.signature ? 1 : 0);
13
+ const earlier = (a, b) => (a.slot < b.slot ? -1 : a.slot > b.slot ? 1 : Buffer.compare(Buffer.from(a.signature), Buffer.from(b.signature)));
13
14
  function unjudged(deliveries, seen) {
14
15
  return deliveries.filter(({ signature }) => !seen.has(signature)).sort(earlier);
15
16
  }
@@ -59,9 +60,13 @@ async function judgeDelivery(command, runtime, transport, delivery, interrupted,
59
60
  }
60
61
  }
61
62
  export async function watchJudge(command, interval, runtime, transport, out) {
62
- const signer = await runtime.loadSigner(command.keypair);
63
- const keypair = await runtime.loadKeypair(command.keypair).catch(() => undefined);
64
- const { address, attestor, specHash } = await escrowFor(transport, signer.address, command.owner, command.nonce);
63
+ const signer = await messageSigner(runtime, command.keypair);
64
+ const keypair = await judgeOpeners(runtime, command, isDevice(signer));
65
+ const { address, attestor, committee, specHash } = await escrowFor(transport, signer.address, command.owner, command.nonce);
66
+ const confirm = command.confirmUrl === undefined ? undefined : runtime.transport(command.confirmUrl);
67
+ if (isDevice(signer)) {
68
+ await deviceJudgeReady(transport, signer.address, address).catch(historyRefused);
69
+ }
65
70
  const specSha256 = createHash("sha256").update(await readFile(resolve(command.spec))).digest("hex");
66
71
  if (specSha256 !== specHash) {
67
72
  throw new JudgeRefused(`--spec ${command.spec} has sha256 ${specSha256}, but intent ${address} commits ${specHash}`);
@@ -88,6 +93,11 @@ export async function watchJudge(command, interval, runtime, transport, out) {
88
93
  if (!record.complete) {
89
94
  throw new JudgeRefused(`the delivery record of intent ${address} is incomplete because the judge's history is too long to read in full or the RPC node cannot serve all of it; nothing was run or paid. ${pagesRead(record.pages)}`);
90
95
  }
96
+ const recipients = committee?.members ?? [attestor];
97
+ const { missing } = await unopenedOf(transport, { judge: signer.address, recipients, deliveries: record.deliveries, first: null, openers: keypair, confirm }).catch(historyRefused);
98
+ if (missing !== null) {
99
+ throw new JudgeRefused(unopenedRefusal(missing, command.keypair, isDevice(signer)));
100
+ }
91
101
  const fresh = unjudged(record.deliveries, seen);
92
102
  for (const first of fresh) {
93
103
  if (signals.caught() !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"judge-watch.js","sourceRoot":"","sources":["../../src/judge-watch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAE,SAAS,EAAiB,cAAc,EAAkB,MAAM,uBAAuB,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAgB,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAwB,gBAAgB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,KAAK,EAAqB,SAAS,EAAgB,MAAM,YAAY,CAAC;AAS1F,MAAM,CAAC,MAAM,gBAAgB,GAAG,uEAAuE,CAAC;AAExG,MAAM,OAAO,GAAG,CAAC,CAAW,EAAE,CAAW,EAAU,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAExK,SAAS,QAAQ,CAAC,UAA+B,EAAE,IAAyB;IAC1E,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,IAAI,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7H,KAAK,UAAU,SAAS,CAAC,SAAoB,EAAE,MAAe;IAC5D,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,KAAK,6BAA6B,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrG,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,gBAAgB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,OAAO,MAAM,KAAK,YAAY,CAAC,IAAI,IAAI,SAAS,GAAG,CAAC,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,OAAqB,EACrB,OAAgB,EAChB,SAAoB,EACpB,QAAkB,EAClB,WAA8C,EAC9C,IAAiB;IAEjB,MAAM,SAAS,GAAc,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;IAC3G,MAAM,MAAM,GAAG,CAAC,KAAY,EAAW,EAAE,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,cAAc,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACtI,IAAI,QAAQ,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC,IAAI,aAAa,CAAC,gBAAgB,QAAQ,CAAC,SAAS,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACzF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;YACnC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,IAAI,WAAW,EAAE,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,EAAE,GAAG,SAAS,EAAE,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;IACxG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;YAClC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAqB,EAAE,QAAgB,EAAE,OAAgB,EAAE,SAAoB,EAAE,GAA2B;IAC3I,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAClF,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACjH,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpG,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,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;IACnC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,CAAC,GAAY,EAAU,EAAE;QACvC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IACF,IAAI,CAAC;QACH,SAAS,CAAC;YACR,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC;YACD,IAAI,CAAC,CAAC,MAAM,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;gBAC3C,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC7F,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACrB,MAAM,IAAI,YAAY,CACpB,iCAAiC,OAAO,2IAA2I,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC7M,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAChD,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;gBAC1B,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,SAAS,EAAE,CAAC;oBACnC,MAAM;gBACR,CAAC;gBACD,IAAI,CAAC,CAAC,MAAM,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;oBAC3C,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC3B,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC9F,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBACrB,MAAM;gBACR,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC1B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,CAAC,CAAC;gBACZ,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBACnB,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;oBAC/B,OAAO,OAAO,CAAC,WAAW,IAAI,OAAO,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC3F,CAAC;YACH,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBACpF,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,OAAO,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,gBAAgB,EAAE,CAAC;YACtC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,QAAQ,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"judge-watch.js","sourceRoot":"","sources":["../../src/judge-watch.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { type Address, type Signature } from "@solana/kit";
2
- import { type CommitteeView, type Transport } from "@intent-engine/client";
2
+ import { type DeliveryOpener } from "@intent-engine/core";
3
+ import { type CommitteeView, type Transport, type MissingKey } from "@intent-engine/client";
3
4
  import type { Command } from "./args.js";
4
5
  import { type VoteFile } from "./committee-commands.js";
5
6
  import type { Runtime } from "./commands.js";
@@ -36,12 +37,28 @@ export type Verdict = {
36
37
  payTo: Address;
37
38
  signature: Signature | null;
38
39
  simulated?: SimulatedRelease;
40
+ digest?: string;
41
+ feePayer?: Address;
39
42
  committee?: Address;
40
43
  vote?: VoteFile;
44
+ openings?: {
45
+ memo: string;
46
+ signature: Signature | null;
47
+ error?: string;
48
+ }[];
49
+ skipped?: string[];
41
50
  next?: string;
42
51
  cleanup?: string;
43
52
  };
44
53
  export declare const pagesRead: (pages: number) => string;
54
+ export declare const sealedOnDevice: (path: string, intent: Address) => string;
55
+ export declare 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";
56
+ export declare const historyRefused: (error: unknown) => never;
57
+ export declare const GIVE_KEY_FLAG = "pass the encryption key file of that key with --encryption-keypair";
58
+ export declare const unopenedRefusal: (missing: MissingKey, path: string, device: boolean) => string;
59
+ export declare function judgeOpeners(runtime: Runtime, command: JudgeCommand, device: boolean): Promise<DeliveryOpener[]>;
60
+ export declare 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";
61
+ export declare const FEE_PAYER_IS_JUDGE = "--fee-payer is the judge's own key; name another key file to sign and pay the release";
45
62
  export declare const resultOutside: (result: bigint, intent: Address, min: bigint, max: bigint) => string;
46
63
  export declare function escrowFor(transport: Transport, judge: Address, owner: Address, nonce: bigint): Promise<{
47
64
  address: Address<string>;