@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,6 +1,6 @@
1
1
  import { getAddressDecoder } from "@solana/kit";
2
2
  import { findIntentPda, formatAmount, NATIVE_MINT } from "@intent-engine/core";
3
- import { intentAt, memoized, mintOf, recordedDelivery, unmemoized } from "@intent-engine/client";
3
+ import { intentAt, memoized, mintOf, paidWalletsOf, recordedRelease, releaseStandingOf, unmemoized } from "@intent-engine/client";
4
4
  import { define } from "../actions.js";
5
5
  import { tool } from "../names.js";
6
6
  import { AgentRefusal } from "../problems.js";
@@ -46,6 +46,9 @@ const receiptOutput = object({
46
46
  signature: optional(text("the release's transaction")),
47
47
  delivered_sha256: optional(text("the sha256 the release recorded, if any, in its own memo or in a follow-up transaction its attestor signed")),
48
48
  matches: optional(flag("whether sha256 equals the recorded one")),
49
+ delivered_salt: optional(text("the payee's salt the release recorded, which opens the payee's announcement")),
50
+ valid: optional(flag("given with delivered_salt: whether that salt opens an announcement by the payee to the recorded sha256")),
51
+ refuted_by: optional(text("an earlier announcement of the same work that a published opening shows, so the release paid a later announcer")),
49
52
  next: optional(text()),
50
53
  });
51
54
  export const walletReceipt = define({
@@ -68,7 +71,8 @@ export const walletReceipt = define({
68
71
  if (!wrapped) {
69
72
  return receipt;
70
73
  }
71
- const next = "next" in receipt && typeof receipt.next === "string" ? `${receipt.next}; ${PAID_WRAPPED}` : PAID_WRAPPED;
74
+ const prior = "next" in receipt ? receipt.next : undefined;
75
+ const next = typeof prior === "string" ? `${prior}; ${PAID_WRAPPED}` : PAID_WRAPPED;
72
76
  return { ...receipt, next };
73
77
  },
74
78
  });
@@ -105,7 +109,19 @@ export async function escrowReceipt(transport, owner, nonce, sha256, releaseSign
105
109
  }
106
110
  const fields = release.event.fields;
107
111
  let mint = createdMint([...transactions, ...(creation === null || creation === undefined ? [] : [creation])], intent) ?? releasedMint(tx, intent, fields["payee"]);
108
- const recorded = recordedDelivery(transactions, tx, fields["attestor"]) ?? undefined;
112
+ const recordedWork = recordedRelease(transactions, tx, fields["attestor"]);
113
+ const recorded = recordedWork?.sha256;
114
+ const standing = recordedWork?.salt === undefined
115
+ ? undefined
116
+ : await releaseStandingOf(transport, {
117
+ intent,
118
+ attestor: fields["attestor"],
119
+ release: tx,
120
+ recorded: { sha256: recordedWork.sha256, salt: recordedWork.salt },
121
+ payees: await paidWalletsOf(transport, { event: release.event, transaction: tx }, intent),
122
+ createdAt: creation?.blockTime ?? null,
123
+ from: creation?.slot ?? null,
124
+ });
109
125
  const common = {
110
126
  intent,
111
127
  released: true,
@@ -115,6 +131,8 @@ export async function escrowReceipt(transport, owner, nonce, sha256, releaseSign
115
131
  signature: tx.signature,
116
132
  ...(recorded === undefined ? {} : { delivered_sha256: recorded }),
117
133
  ...(wanted === undefined ? {} : { matches: wanted === recorded }),
134
+ ...(recordedWork?.salt === undefined ? {} : { delivered_salt: recordedWork.salt }),
135
+ ...(standing === undefined ? {} : { valid: standing.valid, ...(standing.refutedBy === null ? {} : { refuted_by: standing.refutedBy }) }),
118
136
  };
119
137
  if (release.event.name === "IntentSplit") {
120
138
  mint ??= await heldMint(transport, intent);
@@ -1 +1 @@
1
- {"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../../../src/agent/wallet/receipt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../../../src/agent/wallet/receipt.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type Address, type Instruction, type TransactionSigner } from "@solana/kit";
2
- import { type Transport } from "@intent-engine/client";
2
+ import { type DeliveryOpeners, type Transport } from "@intent-engine/client";
3
3
  export declare const RELEASE_INPUT = "the release's transaction signature, as the attestor's release returned it; with it the release is read from that one transaction, with no search of the escrow's history";
4
4
  export declare const RELEASE_SIGNATURE = "must be a base58 transaction signature";
5
5
  export declare function releaseOf(signature: string | undefined): string | undefined;
@@ -16,6 +16,7 @@ export declare const recipientsUnread: (release: string) => string;
16
16
  export declare const followUpsUnknown: (release: string) => string;
17
17
  export declare const historyLagging: (release: string, intent: string) => string;
18
18
  export declare const otherLifecycle: (release: string, intent: string) => string;
19
+ export declare const SALTS_SEALED = "the announcements for this escrow seal their salts to the attestor's key, and this wallet's key file cannot be read to open them, so the earliest announcer of the work cannot be known and nothing is recorded; start the server with mcp --encryption-keypair naming the encryption key file whose public key the attestor's profile publishes, or sign with the attestor's key file";
19
20
  export declare const COVERAGE_UNPROVABLE = "this transport cannot report the first slot its RPC node keeps, so it cannot prove that the history read reaches back to the escrow's creation and an escrow without a release found reads as unknown rather than not released";
20
21
  export type Recording = {
21
22
  intent: Address;
@@ -27,5 +28,5 @@ export type Recording = {
27
28
  summary: string[];
28
29
  };
29
30
  export declare const coverageOf: (transport: Transport, text: string) => string;
30
- export declare function recordingOf(transport: Transport, judge: TransactionSigner, owner: Address, nonce: bigint, sha256: string, releaseSignature?: string): Promise<Recording>;
31
+ export declare function recordingOf(transport: Transport, judge: TransactionSigner, owner: Address, nonce: bigint, sha256: string, releaseSignature?: string, keypair?: DeliveryOpeners): Promise<Recording>;
31
32
  export declare const walletRecordDelivery: import("../actions.js").AnyAction;
@@ -1,13 +1,13 @@
1
1
  import { getAddressDecoder } from "@solana/kit";
2
2
  import { decodeParams, findAssociatedTokenAddress, findIntentPda, Kind } from "@intent-engine/core";
3
- import { creationProof, firstDelivery, followUpInstructions, followUpMemo, intentAt, lifecycleDeliveries, mintOf, recordedDelivery, } from "@intent-engine/client";
3
+ import { creationProof, firstDelivery, followUpInstructions, followUpMemo, intentAt, lifecycleDeliveries, mintOf, openersOf, recordedDelivery, } from "@intent-engine/client";
4
4
  import { define } from "../actions.js";
5
5
  import { tool } from "../names.js";
6
6
  import { AgentRefusal } from "../problems.js";
7
7
  import { InvalidInput, account, amount, flag, list, object, optional, text } from "../schema.js";
8
8
  import { preparedView } from "../shapes.js";
9
9
  import { prepare } from "../prepare.js";
10
- import { PREVIEW_FIRST, signerOf, sent, sha256Of } from "./guard.js";
10
+ import { deviceOutput, PREVIEW_FIRST, signerOf, sent, sha256Of, walletOpeners } from "./guard.js";
11
11
  import { HISTORY_TOO_LONG } from "./delivery.js";
12
12
  import { RELEASE_UNKNOWN, outlives, releaseLookup, aroundRelease, namedRelease, releasedMint, heldMint, splitRecipients } from "./releases.js";
13
13
  export const RELEASE_INPUT = "the release's transaction signature, as the attestor's release returned it; with it the release is read from that one transaction, with no search of the escrow's history";
@@ -32,13 +32,14 @@ export const recipientsUnread = (release) => `the recipients of the split ${rele
32
32
  export const followUpsUnknown = (release) => `the history after the release ${release} could not be read in full: it is longer than the pages read, the RPC node could not return some of its transactions yet, or it is too long to show that the escrow address was not made again since, so whether a follow-up already records a delivered sha256 for it is unknown and nothing more is recorded; when the node lagged, call again in a few seconds`;
33
33
  export const historyLagging = (release, intent) => `the node has not returned every transaction yet; call again in a few seconds: the history of the escrow ${intent} before the release ${release} holds a transaction the RPC node could not return, so where the escrow was made is not known yet and nothing is recorded`;
34
34
  export const otherLifecycle = (release, intent) => `the release ${release} belongs to an earlier lifecycle of the escrow address ${intent}, which was closed and made again at the same nonce since, so it is not a release of the escrow there now; leave release out to read the current one`;
35
+ export const SALTS_SEALED = "the announcements for this escrow seal their salts to the attestor's key, and this wallet's key file cannot be read to open them, so the earliest announcer of the work cannot be known and nothing is recorded; start the server with mcp --encryption-keypair naming the encryption key file whose public key the attestor's profile publishes, or sign with the attestor's key file";
35
36
  export const COVERAGE_UNPROVABLE = "this transport cannot report the first slot its RPC node keeps, so it cannot prove that the history read reaches back to the escrow's creation and an escrow without a release found reads as unknown rather than not released";
36
37
  const ZERO_HASH = /^0+$/;
37
38
  function heldProof(held) {
38
39
  const params = decodeParams(held.kind, Uint8Array.from(held.params));
39
40
  return params.kind === Kind.AttestedResult ? { attestor: params.attestor, specHash: Buffer.from(params.specHash).toString("hex") } : null;
40
41
  }
41
- async function announcedFor(transport, judge, intent, held, creation, release) {
42
+ async function announcedFor(transport, judge, intent, held, creation, release, keypair) {
42
43
  const proof = (creation === null ? null : creationProof(creation, intent)) ?? (held === null ? null : heldProof(held));
43
44
  if (proof === null) {
44
45
  if (held !== null) {
@@ -52,10 +53,11 @@ async function announcedFor(transport, judge, intent, held, creation, release) {
52
53
  if (proof.attestor !== judge) {
53
54
  throw new AgentRefusal("Unauthorized", releasedBy(proof.attestor, judge));
54
55
  }
55
- return lifecycleDeliveries(transport, judge, { intent, createdAt: creation?.blockTime ?? held?.createdAt ?? null, from: creation?.slot ?? null, to: release.slot });
56
+ const lifecycle = { intent, createdAt: creation?.blockTime ?? held?.createdAt ?? null, from: creation?.slot ?? null, to: release.slot };
57
+ return lifecycleDeliveries(transport, judge, lifecycle, undefined, keypair);
56
58
  }
57
59
  export const coverageOf = (transport, text) => (transport.firstAvailableSlot === undefined ? `${text}; ${COVERAGE_UNPROVABLE}` : text);
58
- export async function recordingOf(transport, judge, owner, nonce, sha256, releaseSignature) {
60
+ export async function recordingOf(transport, judge, owner, nonce, sha256, releaseSignature, keypair) {
59
61
  const [intent] = await findIntentPda({ owner, nonce });
60
62
  const lookup = releaseSignature === undefined ? await releaseLookup(transport, intent) : await namedRelease(transport, intent, releaseSignature);
61
63
  const { release, transactions, complete } = lookup;
@@ -84,10 +86,13 @@ export async function recordingOf(transport, judge, owner, nonce, sha256, releas
84
86
  }
85
87
  const creation = around === null ? (lookup.creation ?? null) : around.creation;
86
88
  const held = await intentAt(transport, intent);
87
- const record = await announcedFor(transport, judge.address, intent, held !== null && !outlives(held, tx, creation) ? held : null, creation, tx);
89
+ const record = await announcedFor(transport, judge.address, intent, held !== null && !outlives(held, tx, creation) ? held : null, creation, tx, keypair);
88
90
  if (!record.complete) {
89
91
  throw new AgentRefusal("HistoryTooLong", HISTORY_TOO_LONG);
90
92
  }
93
+ if (openersOf(keypair).length === 0 && record.deliveries.length > 0) {
94
+ throw new AgentRefusal("SealedSalts", SALTS_SEALED);
95
+ }
91
96
  const first = firstDelivery(record.deliveries, sha256);
92
97
  if (first === null) {
93
98
  throw new AgentRefusal("NotAnnounced", neverAnnounced(sha256, intent));
@@ -109,10 +114,10 @@ export async function recordingOf(transport, judge, owner, nonce, sha256, releas
109
114
  release: tx.signature,
110
115
  attestor,
111
116
  sha256,
112
- memo: followUpMemo(sha256, tx.signature),
113
- instructions: followUpInstructions(judge, intent, sha256, tx.signature),
117
+ memo: followUpMemo(sha256, tx.signature, first.salt),
118
+ instructions: followUpInstructions(judge, intent, sha256, tx.signature, first.salt),
114
119
  summary: [
115
- `Records: the delivered work's sha256 ${sha256} for the release ${tx.signature} of the escrow ${intent}, in a memo ${attestor} signs`,
120
+ `Records: the delivered work's sha256 ${sha256} and its announcer's salt for the release ${tx.signature} of the escrow ${intent}, in a memo ${attestor} signs`,
116
121
  `Notifies: the escrow ${intent}, with a transfer of 0 lamports, so the memo shows in its history`,
117
122
  "Costs: the transaction fee; no tokens move",
118
123
  ],
@@ -155,6 +160,7 @@ export const walletRecordDelivery = define({
155
160
  memo: text("the memo the transaction records"),
156
161
  summary: list(text(), 8),
157
162
  warnings: list(text(), 8),
163
+ ...deviceOutput,
158
164
  sent: flag(),
159
165
  signature: optional(text()),
160
166
  next: optional(text()),
@@ -162,7 +168,7 @@ export const walletRecordDelivery = define({
162
168
  run: async (ctx, input, call) => {
163
169
  const signer = await signerOf(ctx);
164
170
  const sha256 = sha256Of(input.sha256, "sha256");
165
- const recording = await recordingOf(ctx.transport, signer, input.owner, input.nonce, sha256, releaseOf(input.release));
171
+ const recording = await recordingOf(ctx.transport, signer, input.owner, input.nonce, sha256, releaseOf(input.release), await walletOpeners(ctx));
166
172
  const view = {
167
173
  intent: recording.intent,
168
174
  release: recording.release,
@@ -1 +1 @@
1
- {"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/agent/wallet/record.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/agent/wallet/record.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ export declare const SPLIT_FITS = 2;
2
2
  export declare const SPLIT_FITS_WITH_TABLE = 4;
3
3
  export declare const splitTooLarge: (size: number, recipients: number, withTable: boolean) => string;
4
4
  export declare const RECORDS_SPLIT: (delivered: string) => string;
5
+ export declare const unrecordedOnDevice: () => string;
5
6
  export declare const followUpFailed: (reason: string) => string;
6
7
  export declare const SPLIT_WEIGHTS_WRONG = "the weights must be whole basis points that add up to 10000";
7
8
  export declare const SPLIT_SIG_NEEDED = "every co-author must sign the split before send: true; preview returns the envelope each one signs";
@@ -1,6 +1,5 @@
1
- import { createHash } from "node:crypto";
2
1
  import { AccountRole, getBase16Decoder, getBase16Encoder } from "@solana/kit";
3
- import { attestedSplitMessage, attestedSplitPreimage, buildEd25519BatchInstruction, buildFillAttestedSplit, decodeParams, feeBpsFor, findIntentPda, formatAmount, getIntentDecoder, INTENT_ENGINE_PROGRAM_ADDRESS, IntentStatus, Kind, MAX_SPLIT_RECIPIENTS, NATIVE_MINT, releaseMemo, splitCommit, splitFees, splitPayout, settlementWarnings, } from "@intent-engine/core";
2
+ import { attestedSplitDigest, buildEd25519CosignInstruction, cosignEnvelope, buildFillAttestedSplit, decodeParams, findIntentPda, formatAmount, getIntentDecoder, INTENT_ENGINE_PROGRAM_ADDRESS, IntentStatus, Kind, MAX_SPLIT_RECIPIENTS, NATIVE_MINT, releaseMemo, splitCommit, splitFees, splitPayout, settlementWarnings, } from "@intent-engine/core";
4
3
  import { decodeLookupTable } from "@intent-engine/solver";
5
4
  import { chainTime, deliveryRecord, firstDelivery, followUpInstructions, followUpMemo, followUpOf, loadConfig, MEMO_PROGRAM_ADDRESS, mintOf, neverLanded, PACKET_DATA_SIZE, tokenAccountIfMissing, } from "@intent-engine/client";
6
5
  import { execute } from "../../flows.js";
@@ -14,13 +13,15 @@ import { preparedView } from "../shapes.js";
14
13
  import { walletRecipient } from "../owner.js";
15
14
  import { prepare, transactionSize } from "../prepare.js";
16
15
  import { STATUS } from "../../accounts.js";
17
- import { PREVIEW_APPROVAL, PREVIEW_APPROVAL_NEXT, WAIT_SCAN, signerOf, sent, sha256Of } from "./guard.js";
18
- import { RELEASE_CHANGED, approvalOf } from "./attest.js";
16
+ import { feePayerOf, PREVIEW_APPROVAL, PREVIEW_APPROVAL_NEXT, WAIT_SCAN, signerOf, sent, sha256Of, walletOpeners } from "./guard.js";
17
+ import { openingOutput, openingsFor, sendOpenings, skippedOf } from "./openings.js";
18
+ import { DEVICE_RELEASE, RELEASE_CHANGED, approvalOf } from "./attest.js";
19
19
  import { notInSplit, DELIVERED_NEEDED, ATTEST_PAGES, MAX_ATTEST_PAGES, MAX_PAGES_INPUT, HISTORY_TOO_LONG, notAttestor, confirmedRelease } from "./delivery.js";
20
20
  export const SPLIT_FITS = 2;
21
21
  export const SPLIT_FITS_WITH_TABLE = 4;
22
22
  export const splitTooLarge = (size, recipients, withTable) => `this ${recipients}-co-author split builds a ${size}-byte transaction without the delivery memo, over the ${PACKET_DATA_SIZE}-byte limit${withTable ? " even with the lookup table" : ""}; a release fits ${SPLIT_FITS} co-authors without a lookup table and ${SPLIT_FITS_WITH_TABLE} with one when their token accounts exist, and fewer when this wallet creates them in the same transaction${withTable ? ", so reduce recipients or pay the rest in a second release" : ", so pass lookup_table with the preview's lookup_accounts to fit more, or reduce recipients"}`;
23
23
  export const RECORDS_SPLIT = (delivered) => `Records: the delivered work's sha256 ${delivered}, in a memo this wallet signs with the release, or in a follow-up transaction this wallet signs right after it when the release has no room for the memo`;
24
+ export const unrecordedOnDevice = () => `released; the Ledger signed only the release message and the fee payer the transaction, so no memo records the delivered work's sha256; to record it, call ${tool("wallet_record_delivery")} with the same owner and nonce, the delivered_sha256 as sha256 and this signature as release`;
24
25
  export const followUpFailed = (reason) => `the release landed, but the follow-up transaction that records the delivered work's sha256 failed, so the hash is not recorded on chain: ${reason}; to record it, call ${tool("wallet_record_delivery")} with the same owner and nonce, the delivered_sha256 as sha256 and this signature as release, which sends the memo in record_memo for ${tool("wallet_receipt")} to read`;
25
26
  export const SPLIT_WEIGHTS_WRONG = "the weights must be whole basis points that add up to 10000";
26
27
  export const SPLIT_SIG_NEEDED = "every co-author must sign the split before send: true; preview returns the envelope each one signs";
@@ -69,6 +70,7 @@ export const walletAttestSplit = define({
69
70
  recorded: optional(recordedWhere),
70
71
  follow_up_signature: optional(text("the follow-up transaction that records the sha256, when recorded is follow-up")),
71
72
  record_memo: optional(text(`when recorded is false, the memo that records the sha256 for this release; ${tool("wallet_record_delivery")} sends it from this wallet with a zero transfer to the escrow`)),
73
+ ...openingOutput,
72
74
  summary: list(text(), 12),
73
75
  warnings: list(text(), 8),
74
76
  sent: flag(),
@@ -77,6 +79,8 @@ export const walletAttestSplit = define({
77
79
  }),
78
80
  run: async (ctx, input, call) => {
79
81
  const signer = await signerOf(ctx);
82
+ const device = signer.device !== undefined;
83
+ const payer = device ? await feePayerOf(ctx) : signer;
80
84
  const [intent] = await findIntentPda({ owner: input.owner, nonce: input.nonce });
81
85
  const [view, { config }] = await Promise.all([ctx.transport.getAccount(intent), loadConfig(ctx.transport)]);
82
86
  if (view === null) {
@@ -115,28 +119,32 @@ export const walletAttestSplit = define({
115
119
  throw new InvalidInput([{ path: "delivered_sha256", message: DELIVERED_NEEDED }]);
116
120
  }
117
121
  const delivered = sha256Of(input.delivered_sha256, "delivered_sha256");
118
- const record = await deliveryRecord(ctx.transport, signer.address, intent, input.max_pages ?? ATTEST_PAGES);
122
+ const keypair = await walletOpeners(ctx);
123
+ const record = await deliveryRecord(ctx.transport, signer.address, intent, input.max_pages ?? ATTEST_PAGES, keypair);
119
124
  if (!record.complete) {
120
125
  throw new AgentRefusal("HistoryTooLong", HISTORY_TOO_LONG);
121
126
  }
122
127
  const first = firstDelivery(record.deliveries, delivered);
128
+ const passed = await skippedOf(ctx, { judge: signer.address, intent, device, recipients: [signer.address], record, first, openers: keypair });
123
129
  if (first !== null && !wallets.includes(first.worker)) {
124
130
  throw new AgentRefusal("NotEarliestAnnouncer", notInSplit(first.worker, delivered));
125
131
  }
126
- await confirmedRelease(ctx, { intent, attestor: signer.address, sha256: delivered, pages: input.max_pages ?? ATTEST_PAGES, payees: wallets });
127
- const memoText = releaseMemo(delivered);
132
+ const salt = first?.salt;
133
+ const openings = openingsFor(record, first);
134
+ await confirmedRelease(ctx, { intent, attestor: signer.address, sha256: delivered, pages: input.max_pages ?? ATTEST_PAGES, payees: wallets, keypair });
135
+ const memoText = releaseMemo(delivered, salt);
128
136
  const memo = { programAddress: MEMO_PROGRAM_ADDRESS, accounts: [{ address: signer.address, role: AccountRole.READONLY_SIGNER, signer }], data: new TextEncoder().encode(memoText) };
129
137
  const token = await mintOf(ctx.transport, held.inputMint);
130
- const payees = await Promise.all(wallets.map((w) => tokenAccountIfMissing(ctx.transport, signer, w, held.inputMint, token.tokenProgram)));
138
+ const payees = await Promise.all(wallets.map((w) => tokenAccountIfMissing(ctx.transport, payer, w, held.inputMint, token.tokenProgram)));
131
139
  const amountIn = held.escrowed - held.filled;
132
140
  const settleAmount = amountIn - params.judgeFee;
133
- const maxFeeBps = feeBpsFor(config, held.kind) + held.partnerBps;
134
- const shares = splitFees(settleAmount, feeBpsFor(config, held.kind), held.partnerBps, held.partnerCutBps);
141
+ const maxFeeBps = held.feeBps + held.partnerBps;
142
+ const shares = splitFees(settleAmount, held.feeBps, held.partnerBps, held.partnerCutBps);
135
143
  const payout = splitPayout(shares.net, weights);
136
- const treasury = shares.protocol > 0n ? await tokenAccountIfMissing(ctx.transport, signer, config.feeRecipient, held.inputMint, token.tokenProgram) : { create: [] };
144
+ const treasury = shares.protocol > 0n ? await tokenAccountIfMissing(ctx.transport, payer, config.feeRecipient, held.inputMint, token.tokenProgram) : { create: [] };
137
145
  const partnerPaid = shares.partner > 0n;
138
- const partner = partnerPaid ? await tokenAccountIfMissing(ctx.transport, signer, held.partner, held.inputMint, token.tokenProgram) : { create: [] };
139
- const judge = params.judgeFee > 0n ? await tokenAccountIfMissing(ctx.transport, signer, signer.address, held.inputMint, token.tokenProgram) : { create: [] };
146
+ const partner = partnerPaid ? await tokenAccountIfMissing(ctx.transport, payer, held.partner, held.inputMint, token.tokenProgram) : { create: [] };
147
+ const judge = params.judgeFee > 0n ? await tokenAccountIfMissing(ctx.transport, payer, signer.address, held.inputMint, token.tokenProgram) : { create: [] };
140
148
  const splitHash = await splitCommit(wallets, weights);
141
149
  const fields = {
142
150
  domain: Uint8Array.from(config.domain),
@@ -149,10 +157,11 @@ export const walletAttestSplit = define({
149
157
  specHash: params.specHash,
150
158
  splitHash,
151
159
  };
152
- const message = await attestedSplitMessage(fields);
153
- const digestHex = getBase16Decoder().decode(Uint8Array.from(createHash("sha256").update(await attestedSplitPreimage(fields)).digest()));
160
+ const digest = await attestedSplitDigest(fields);
161
+ const message = cosignEnvelope([...wallets, signer.address], digest);
162
+ const digestHex = getBase16Decoder().decode(digest);
154
163
  const settle = await buildFillAttestedSplit({
155
- solver: signer,
164
+ solver: payer,
156
165
  owner: input.owner,
157
166
  nonce: input.nonce,
158
167
  inputMint: held.inputMint,
@@ -165,6 +174,7 @@ export const walletAttestSplit = define({
165
174
  amountIn,
166
175
  result,
167
176
  maxFeeBps,
177
+ capped: held.capped,
168
178
  });
169
179
  const name = TOKEN_NAMES[held.inputMint] ?? held.inputMint;
170
180
  const approval = approvalOf(message, memoText);
@@ -173,17 +183,21 @@ export const walletAttestSplit = define({
173
183
  }
174
184
  let batch;
175
185
  if (input.send === true) {
176
- const entries = input.recipients.map((r, i) => {
186
+ const signatures = new Map();
187
+ input.recipients.forEach((r, i) => {
188
+ if (r.wallet === signer.address) {
189
+ return;
190
+ }
177
191
  if (r.signature === undefined || !new RegExp(SIGNATURE_PATTERN).test(r.signature)) {
178
192
  throw new InvalidInput([{ path: `recipients.${i}.signature`, message: SPLIT_SIG_NEEDED }]);
179
193
  }
180
- return { publicKey: r.wallet, signature: Uint8Array.from(getBase16Encoder().encode(r.signature)) };
194
+ signatures.set(r.wallet, Uint8Array.from(getBase16Encoder().encode(r.signature)));
181
195
  });
182
- const attestorSignature = new Uint8Array(await signer.signBytes(message));
183
- batch = buildEd25519BatchInstruction({ entries: [...entries, { publicKey: signer.address, signature: attestorSignature }], message });
196
+ signatures.set(signer.address, new Uint8Array(await signer.signBytes(message)));
197
+ batch = buildEd25519CosignInstruction({ entries: [...signatures].map(([publicKey, signature]) => ({ publicKey, signature })), message });
184
198
  }
185
199
  const setup = [...payees.flatMap((p) => p.create), ...treasury.create, ...partner.create, ...judge.create];
186
- const invoked = new Set([INTENT_ENGINE_PROGRAM_ADDRESS, token.tokenProgram, signer.address]);
200
+ const invoked = new Set([INTENT_ENGINE_PROGRAM_ADDRESS, token.tokenProgram, payer.address]);
187
201
  const lookupAccounts = [...new Set((settle.accounts ?? []).map((a) => a.address))].filter((a) => !invoked.has(a));
188
202
  let tables;
189
203
  if (input.send === true && input.lookup_table !== undefined) {
@@ -196,16 +210,20 @@ export const walletAttestSplit = define({
196
210
  let prepared;
197
211
  let followUp = false;
198
212
  if (input.send === true && batch !== undefined) {
199
- const sizeOf = async (ixs) => transactionSize(ctx.transport, await ctx.transport.budget(ixs, signer.address, tables), signer.address, tables);
213
+ const sizeOf = async (ixs) => transactionSize(ctx.transport, await ctx.transport.budget(ixs, payer.address, tables), payer.address, tables);
200
214
  const bare = [...setup, batch, settle];
201
- followUp = (await sizeOf([...bare, memo])) > PACKET_DATA_SIZE;
215
+ followUp = !device && (await sizeOf([...bare, memo])) > PACKET_DATA_SIZE;
202
216
  if (followUp) {
203
217
  const size = await sizeOf(bare);
204
218
  if (size > PACKET_DATA_SIZE) {
205
219
  throw new AgentRefusal("ReleaseTooLarge", splitTooLarge(size, input.recipients.length, input.lookup_table !== undefined));
206
220
  }
207
221
  }
208
- prepared = preparedView(await prepare(ctx.transport, followUp ? bare : [...bare, memo], signer.address, tables));
222
+ const bareSize = device ? await sizeOf(bare) : 0;
223
+ if (bareSize > PACKET_DATA_SIZE) {
224
+ throw new AgentRefusal("ReleaseTooLarge", splitTooLarge(bareSize, input.recipients.length, input.lookup_table !== undefined));
225
+ }
226
+ prepared = preparedView(await prepare(ctx.transport, followUp || device ? bare : [...bare, memo], payer.address, tables));
209
227
  }
210
228
  const view2 = {
211
229
  intent,
@@ -228,48 +246,57 @@ export const walletAttestSplit = define({
228
246
  ...(params.judgeFee > 0n ? [`Pays the judge: ${formatAmount(params.judgeFee, token.decimals)} of ${name} to this wallet, carved out of the escrow`] : []),
229
247
  `Binds: the result to the committed spec ${getBase16Decoder().decode(params.specHash)}`,
230
248
  `Attests: result ${result}, signed by this server's wallet as the escrow's attestor`,
231
- RECORDS_SPLIT(delivered),
232
- ...(setup.length === 0 ? [] : [`Setup: creates ${setup.length} token account(s), paid by this wallet`]),
249
+ ...(device
250
+ ? [`Signs: only the release message on the Ledger, which shows digest ${digestHex}; the fee payer ${payer.address} signs and pays the transaction, so no memo records the delivered work`]
251
+ : [RECORDS_SPLIT(delivered)]),
252
+ ...(setup.length === 0 ? [] : [`Setup: creates ${setup.length} token account(s), paid by ${device ? "the fee payer" : "this wallet"}`]),
233
253
  ],
234
254
  warnings: [...settlementWarnings(params), WARN_COAUTHORS],
235
255
  prepared,
236
256
  };
237
- const done = await sent(ctx, signer, view2, input.send, call, {
238
- preview: PREVIEW_APPROVAL_NEXT,
257
+ const done = await sent(ctx, payer, view2, input.send, call, {
258
+ preview: device ? `${PREVIEW_APPROVAL_NEXT}; ${DEVICE_RELEASE}` : PREVIEW_APPROVAL_NEXT,
239
259
  done: `released to co-authors; ${tool("wallet_feedback")} to rate if you own it`,
240
260
  });
241
261
  if (!("signature" in done)) {
242
- return done;
243
- }
244
- if (!followUp) {
245
- return { ...done, recorded: "release" };
262
+ return { ...done, ...passed };
246
263
  }
247
- const unrecorded = (error) => ({
248
- ...done,
249
- recorded: false,
250
- record_memo: followUpMemo(delivered, done.signature),
251
- next: followUpFailed(problemOf(error).hint),
252
- });
253
- let recording;
254
- try {
255
- recording = preparedView(await prepare(ctx.transport, followUpInstructions(signer, intent, delivered, done.signature), signer.address));
256
- }
257
- catch (error) {
258
- return unrecorded(error);
259
- }
260
- try {
261
- return { ...done, recorded: "follow-up", follow_up_signature: await execute(ctx.transport, recording, signer) };
262
- }
263
- catch (error) {
264
- if (neverLanded(error)) {
265
- return unrecorded(error);
266
- }
267
- const landed = await ctx.transport
268
- .engineTransactions(WAIT_SCAN, intent)
269
- .then((transactions) => followUpOf(transactions, done.signature, signer.address))
270
- .catch(() => null);
271
- return landed === null || landed.sha256 !== delivered ? unrecorded(error) : { ...done, recorded: "follow-up", follow_up_signature: landed.signature };
264
+ if (device) {
265
+ return { ...done, ...passed, recorded: false, record_memo: followUpMemo(delivered, done.signature, salt), next: unrecordedOnDevice(), ...(await sendOpenings(ctx, payer, signer.address, openings)) };
272
266
  }
267
+ const recorded = await recordedSplit(ctx, signer, intent, delivered, salt, done, followUp);
268
+ return recorded.recorded === false ? { ...recorded, ...passed } : { ...recorded, ...passed, ...(await sendOpenings(ctx, signer, signer.address, openings)) };
273
269
  },
274
270
  });
271
+ async function recordedSplit(ctx, signer, intent, delivered, salt, done, followUp) {
272
+ if (!followUp) {
273
+ return { ...done, recorded: "release" };
274
+ }
275
+ const unrecorded = (error) => ({
276
+ ...done,
277
+ recorded: false,
278
+ record_memo: followUpMemo(delivered, done.signature, salt),
279
+ next: followUpFailed(problemOf(error).hint),
280
+ });
281
+ let recording;
282
+ try {
283
+ recording = preparedView(await prepare(ctx.transport, followUpInstructions(signer, intent, delivered, done.signature, salt), signer.address));
284
+ }
285
+ catch (error) {
286
+ return unrecorded(error);
287
+ }
288
+ try {
289
+ return { ...done, recorded: "follow-up", follow_up_signature: await execute(ctx.transport, recording, signer) };
290
+ }
291
+ catch (error) {
292
+ if (neverLanded(error)) {
293
+ return unrecorded(error);
294
+ }
295
+ const landed = await ctx.transport
296
+ .engineTransactions(WAIT_SCAN, intent)
297
+ .then((transactions) => followUpOf(transactions, done.signature, signer.address))
298
+ .catch(() => null);
299
+ return landed === null || landed.sha256 !== delivered ? unrecorded(error) : { ...done, recorded: "follow-up", follow_up_signature: landed.signature };
300
+ }
301
+ }
275
302
  //# sourceMappingURL=split.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"split.js","sourceRoot":"","sources":["../../../../src/agent/wallet/split.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"split.js","sourceRoot":"","sources":["../../../../src/agent/wallet/split.ts"],"names":[],"mappings":"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"}