@intent-engine/cli 0.1.47 → 0.1.49

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 (90) hide show
  1. package/dist/src/agent/claim-line.d.ts +27 -0
  2. package/dist/src/agent/claim-line.js +131 -0
  3. package/dist/src/agent/claim-line.js.map +1 -0
  4. package/dist/src/agent/create.js +3 -2
  5. package/dist/src/agent/create.js.map +1 -1
  6. package/dist/src/agent/everyday.js +8 -0
  7. package/dist/src/agent/everyday.js.map +1 -1
  8. package/dist/src/agent/expiry.d.ts +4 -0
  9. package/dist/src/agent/expiry.js +23 -0
  10. package/dist/src/agent/expiry.js.map +1 -0
  11. package/dist/src/agent/job-claims.d.ts +10 -0
  12. package/dist/src/agent/job-claims.js +31 -0
  13. package/dist/src/agent/job-claims.js.map +1 -0
  14. package/dist/src/agent/jobs.d.ts +2 -0
  15. package/dist/src/agent/jobs.js +35 -9
  16. package/dist/src/agent/jobs.js.map +1 -1
  17. package/dist/src/agent/mandate-agent.js +3 -2
  18. package/dist/src/agent/mandate-agent.js.map +1 -1
  19. package/dist/src/agent/mcp.d.ts +5 -1
  20. package/dist/src/agent/mcp.js +31 -4
  21. package/dist/src/agent/mcp.js.map +1 -1
  22. package/dist/src/agent/problems.d.ts +2 -0
  23. package/dist/src/agent/problems.js +2 -0
  24. package/dist/src/agent/problems.js.map +1 -1
  25. package/dist/src/agent/signed-prepare.js +2 -1
  26. package/dist/src/agent/signed-prepare.js.map +1 -1
  27. package/dist/src/agent/signed-submit.js +4 -2
  28. package/dist/src/agent/signed-submit.js.map +1 -1
  29. package/dist/src/agent/spec.js +5 -1
  30. package/dist/src/agent/spec.js.map +1 -1
  31. package/dist/src/agent/wallet/account.js +5 -3
  32. package/dist/src/agent/wallet/account.js.map +1 -1
  33. package/dist/src/agent/wallet/attest.js +7 -2
  34. package/dist/src/agent/wallet/attest.js.map +1 -1
  35. package/dist/src/agent/wallet/committee.d.ts +4 -0
  36. package/dist/src/agent/wallet/committee.js +71 -4
  37. package/dist/src/agent/wallet/committee.js.map +1 -1
  38. package/dist/src/agent/wallet/costs.d.ts +32 -0
  39. package/dist/src/agent/wallet/costs.js +77 -0
  40. package/dist/src/agent/wallet/costs.js.map +1 -0
  41. package/dist/src/agent/wallet/delivery.d.ts +4 -0
  42. package/dist/src/agent/wallet/delivery.js +5 -4
  43. package/dist/src/agent/wallet/delivery.js.map +1 -1
  44. package/dist/src/agent/wallet/escrow.d.ts +2 -0
  45. package/dist/src/agent/wallet/escrow.js +33 -12
  46. package/dist/src/agent/wallet/escrow.js.map +1 -1
  47. package/dist/src/agent/wallet/guard.d.ts +1 -0
  48. package/dist/src/agent/wallet/guard.js +7 -0
  49. package/dist/src/agent/wallet/guard.js.map +1 -1
  50. package/dist/src/agent/wallet/history-profit.d.ts +30 -0
  51. package/dist/src/agent/wallet/history-profit.js +104 -0
  52. package/dist/src/agent/wallet/history-profit.js.map +1 -0
  53. package/dist/src/agent/wallet/history-work.d.ts +18 -2
  54. package/dist/src/agent/wallet/history-work.js +29 -7
  55. package/dist/src/agent/wallet/history-work.js.map +1 -1
  56. package/dist/src/agent/wallet/history.d.ts +1 -0
  57. package/dist/src/agent/wallet/history.js +50 -17
  58. package/dist/src/agent/wallet/history.js.map +1 -1
  59. package/dist/src/agent/wallet/offer.d.ts +1 -0
  60. package/dist/src/agent/wallet/offer.js +2 -0
  61. package/dist/src/agent/wallet/offer.js.map +1 -1
  62. package/dist/src/agent/wallet/receipt.d.ts +2 -0
  63. package/dist/src/agent/wallet/receipt.js +57 -9
  64. package/dist/src/agent/wallet/receipt.js.map +1 -1
  65. package/dist/src/agent/wallet/seal.d.ts +7 -0
  66. package/dist/src/agent/wallet/seal.js +62 -0
  67. package/dist/src/agent/wallet/seal.js.map +1 -0
  68. package/dist/src/agent/wallet/split.js +11 -3
  69. package/dist/src/agent/wallet/split.js.map +1 -1
  70. package/dist/src/agent/wallet/trade.js +2 -1
  71. package/dist/src/agent/wallet/trade.js.map +1 -1
  72. package/dist/src/agent/wallet/work.d.ts +8 -0
  73. package/dist/src/agent/wallet/work.js +150 -0
  74. package/dist/src/agent/wallet/work.js.map +1 -0
  75. package/dist/src/agent/wallet.d.ts +1 -1
  76. package/dist/src/agent/wallet.js +8 -2
  77. package/dist/src/agent/wallet.js.map +1 -1
  78. package/dist/src/agent/work-claims.js +111 -63
  79. package/dist/src/agent/work-claims.js.map +1 -1
  80. package/dist/src/delivery-fetch.d.ts +7 -0
  81. package/dist/src/delivery-fetch.js +19 -9
  82. package/dist/src/delivery-fetch.js.map +1 -1
  83. package/dist/src/job-commands.js +2 -1
  84. package/dist/src/job-commands.js.map +1 -1
  85. package/dist/src/job-filters.d.ts +3 -1
  86. package/dist/src/job-filters.js +5 -4
  87. package/dist/src/job-filters.js.map +1 -1
  88. package/dist/src/version.d.ts +1 -1
  89. package/dist/src/version.js +1 -1
  90. package/package.json +4 -4
@@ -1,12 +1,14 @@
1
- import { findIntentPda, formatAmount, kindName, tokenName } from "@intent-engine/core";
1
+ import { findIntentPda, formatAmount, Kind, kindName, tokenName } from "@intent-engine/core";
2
2
  import { createClient, mintOf, ownHistory, paidWalletsOf, transactionAt } from "@intent-engine/client";
3
3
  import { define } from "../actions.js";
4
4
  import { tool } from "../names.js";
5
5
  import { account, amount, choice, flag, integer, list, nullable, object, optional, text, time } from "../schema.js";
6
6
  import { signerOf } from "./guard.js";
7
7
  import { claimItem, claimsOf, OWN_TRANSACTIONS, workItem, workOf } from "./history-work.js";
8
+ import { PAID_FROM_INPUT, PAID_FROM_MAX, profitItem, profitOf } from "./history-profit.js";
8
9
  export const HISTORY_DEFAULT = 10;
9
10
  export const HISTORY_MAX = 25;
11
+ export const RANGE_SCAN = 100;
10
12
  const EVENTS_PER_INTENT = 20;
11
13
  const OUTCOMES = ["open", "filled", "released", "cancelled", "expired", "unknown"];
12
14
  const fields = (event) => (event?.fields ?? {});
@@ -18,6 +20,9 @@ const ENDINGS = {
18
20
  IntentCancelled: "cancelled",
19
21
  IntentExpired: "expired",
20
22
  };
23
+ const inRange = (range, intent, at) => (range.escrow === undefined || intent === range.escrow) &&
24
+ (range.since === undefined || (at !== null && at >= range.since)) &&
25
+ (range.until === undefined || (at !== null && at <= range.until));
21
26
  async function paidWalletOf(transport, ending, intent) {
22
27
  const { signature, slot, blockTime } = ending;
23
28
  const transaction = (await transactionAt(transport, signature, intent)) ?? { signature, slot, blockTime, failed: false, emitted: [] };
@@ -26,10 +31,14 @@ async function paidWalletOf(transport, ending, intent) {
26
31
  export const walletHistory = define({
27
32
  name: tool("wallet_history"),
28
33
  title: "Show the wallet's history",
29
- description: `Shows the user what this wallet did, newest first, read from the chain: orders (intents) it created and how each ended, closed ones included; work it announced with ${tool("wallet_deliver")} and whether a release paid it; claims it took or dropped and the stake's outcome. It leaves out transfers, releases it judged, fills of others' orders, and standby lines.`,
34
+ description: `Shows what this wallet did, newest first, from the chain: orders (intents) it created and how each ended; work it announced with ${tool("wallet_deliver")} and whether a release paid it; claims it took or dropped. escrow, since and until narrow the lists; paid_from adds profit: what a job paid against what its sub-escrows cost. Leaves out transfers and releases it judged.`,
30
35
  effect: "read",
31
36
  input: object({
32
37
  limit: optional(integer(1, HISTORY_MAX, `how many of the newest intents, and of the newest announcements and claims, to show; default ${HISTORY_DEFAULT}`)),
38
+ escrow: optional(account("list only this escrow's intent, announcements and claims; with paid_from, the job this wallet was paid for")),
39
+ since: optional(time("list only what happened at or after these unix seconds")),
40
+ until: optional(time("list only what happened at or before these unix seconds")),
41
+ paid_from: optional(list(account(), PAID_FROM_MAX, PAID_FROM_INPUT, 1)),
33
42
  }),
34
43
  output: object({
35
44
  wallet: account("this server's wallet, whose history this is"),
@@ -41,7 +50,7 @@ export const walletHistory = define({
41
50
  sold: text("whole tokens the intent escrowed"),
42
51
  sell_token: text("SOL, TEST or the mint"),
43
52
  received: nullable(text("whole tokens delivered by the fill")),
44
- receive_token: text("SOL, TEST or the mint"),
53
+ receive_token: nullable(text("SOL, TEST or the mint a fill delivers; null for a work escrow, which pays a worker and receives nothing")),
45
54
  paid_to: nullable(account("the wallet a release paid: the owner of payee")),
46
55
  payee: nullable(account("the token account a release paid into, owned by paid_to; for SOL it holds wrapped SOL")),
47
56
  signature: nullable(text("the transaction that ended it")),
@@ -51,13 +60,16 @@ export const walletHistory = define({
51
60
  work: list(workItem, HISTORY_MAX, `the work this wallet announced with ${tool("wallet_deliver")}, newest first`),
52
61
  claims: list(claimItem, HISTORY_MAX, "the claims this wallet took or dropped, newest first"),
53
62
  more_work: flag(`true when older announcements or claims exist beyond limit, or this wallet has transactions older than the newest ${OWN_TRANSACTIONS} read`),
63
+ profit: optional(profitItem),
54
64
  }),
55
65
  run: async (ctx, input) => {
56
66
  const wallet = (await signerOf(ctx)).address;
67
+ const profit = input.paid_from === undefined ? undefined : await profitOf(ctx.transport, wallet, input.escrow, input.paid_from);
57
68
  const client = createClient({ url: ctx.url ?? "http://cluster", transport: ctx.transport });
58
69
  const next = await client.nextNonce(wallet);
59
70
  const limit = BigInt(input.limit ?? HISTORY_DEFAULT);
60
- const oldest = next - limit;
71
+ const ranged = input.since !== undefined || input.until !== undefined;
72
+ const range = { escrow: input.escrow, since: input.since, until: input.until };
61
73
  const decimals = new Map();
62
74
  const tokens = async (mint, raw) => {
63
75
  if (!decimals.has(mint)) {
@@ -65,41 +77,62 @@ export const walletHistory = define({
65
77
  }
66
78
  return formatAmount(raw, decimals.get(mint) ?? 0);
67
79
  };
68
- const activity = [];
69
- for (let nonce = next - 1n; nonce >= oldest && nonce >= 0n; nonce -= 1n) {
70
- const [intent] = await findIntentPda({ owner: wallet, nonce });
80
+ const activityOf = async (intent, nonce) => {
71
81
  const events = await client.history(intent, EVENTS_PER_INTENT);
72
82
  const created = fields(events.find((e) => e.name === "IntentCreated"));
73
83
  const inputMint = created["inputMint"];
74
84
  const outputMint = created["outputMint"];
75
- if (inputMint === undefined || outputMint === undefined) {
76
- continue;
85
+ if (inputMint === undefined || outputMint === undefined || (nonce === undefined && created["owner"] !== wallet)) {
86
+ return undefined;
77
87
  }
88
+ const kind = Number(created["kind"]);
78
89
  const ending = events.find((e) => e.name in ENDINGS);
79
90
  const outcome = ending === undefined ? ((await ctx.transport.getAccount(intent)) === null ? "unknown" : "open") : (ENDINGS[ending.name] ?? "unknown");
80
91
  const ended = fields(ending);
81
92
  const delivered = outcome === "filled" ? ended["delivered"] : undefined;
82
93
  const attested = ending?.name === "IntentAttested" ? ending : undefined;
83
- activity.push({
84
- nonce,
94
+ return {
95
+ nonce: nonce ?? created["nonce"],
85
96
  intent,
86
- kind: kindName(Number(created["kind"])) ?? "unknown",
97
+ kind: kindName(kind) ?? "unknown",
87
98
  outcome,
88
99
  sold: await tokens(inputMint, created["escrowed"]),
89
100
  sell_token: tokenName(inputMint) ?? inputMint,
90
101
  received: delivered === undefined ? null : await tokens(outputMint, delivered),
91
- receive_token: tokenName(outputMint) ?? outputMint,
102
+ receive_token: kind === Kind.AttestedResult ? null : (tokenName(outputMint) ?? outputMint),
92
103
  paid_to: attested === undefined ? null : await paidWalletOf(ctx.transport, attested, intent),
93
104
  payee: attested === undefined ? null : attested.fields.payee,
94
105
  signature: ending?.signature ?? null,
95
106
  at: (ending ?? events[0])?.blockTime ?? null,
96
- });
107
+ };
108
+ };
109
+ const activity = [];
110
+ let more = false;
111
+ if (input.escrow !== undefined) {
112
+ const item = await activityOf(input.escrow, undefined);
113
+ activity.push(...(item !== undefined && inRange(range, item.intent, item.at) ? [item] : []));
114
+ }
115
+ else {
116
+ const oldest = next - (ranged ? BigInt(RANGE_SCAN) : limit);
117
+ for (let nonce = next - 1n; nonce >= oldest && nonce >= 0n; nonce -= 1n) {
118
+ if (BigInt(activity.length) === limit) {
119
+ more = true;
120
+ break;
121
+ }
122
+ const [intent] = await findIntentPda({ owner: wallet, nonce });
123
+ const item = await activityOf(intent, nonce);
124
+ if (item !== undefined && inRange(range, intent, item.at)) {
125
+ activity.push(item);
126
+ }
127
+ }
128
+ more ||= oldest > 0n;
97
129
  }
130
+ const kept = ({ intent, blockTime }) => inRange(range, intent, blockTime);
98
131
  const own = await ownHistory(ctx.transport, wallet, OWN_TRANSACTIONS);
99
132
  const count = Number(limit);
100
- const { work, more: moreWork } = await workOf(ctx.transport, wallet, own.transactions, count, tokens);
101
- const { claims, more: moreClaims } = await claimsOf(ctx.transport, wallet, own.transactions, count);
102
- return { wallet, activity, more: oldest > 0n, work, claims, more_work: moreWork || moreClaims || !own.complete };
133
+ const { work, more: moreWork } = await workOf(ctx.transport, wallet, own.transactions, count, tokens, kept);
134
+ const { claims, more: moreClaims } = await claimsOf(ctx.transport, wallet, own.transactions, count, kept);
135
+ return { wallet, activity, more, work, claims, more_work: moreWork || moreClaims || !own.complete, ...(profit === undefined ? {} : { profit }) };
103
136
  },
104
137
  });
105
138
  //# sourceMappingURL=history.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../../../../src/agent/wallet/history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../../../src/agent/wallet/history.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,7 @@ export declare function offered(ctx: AgentContext, call: Call, input: {
49
49
  pay_to?: Address | undefined;
50
50
  send?: boolean | undefined;
51
51
  after?: AfterCreate | undefined;
52
+ priced?: ((network: bigint) => void) | undefined;
52
53
  }, terms: (sold: Token, bought: Token, now: bigint, inputMint: Address, outputMint: Address) => Promise<Terms> | Terms, done?: string): Promise<{
53
54
  sent: boolean;
54
55
  next: string;
@@ -4,6 +4,7 @@ import { createIntent } from "../create.js";
4
4
  import { AgentRefusal, problemOf } from "../problems.js";
5
5
  import { account, amount, flag, list, object, optional, text } from "../schema.js";
6
6
  import { orderSchema } from "../shapes.js";
7
+ import { networkFee } from "./costs.js";
7
8
  import { walletEmpty, access, signerOf, mintNamed, limited, bookOf, live, salesOf, checkSale, sent, refusedBeforeSending, deviceOutput } from "./guard.js";
8
9
  export const offerFields = {
9
10
  intent: account(),
@@ -40,6 +41,7 @@ export async function offered(ctx, call, input, terms, done) {
40
41
  return { intent, nonce, summary, warnings, prepared };
41
42
  };
42
43
  const first = await created(ctx);
44
+ input.priced?.(networkFee(first.prepared));
43
45
  if (input.send !== true) {
44
46
  return sent(ctx, signer, first, input.send, call, { done });
45
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"offer.js","sourceRoot":"","sources":["../../../../src/agent/wallet/offer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"offer.js","sourceRoot":"","sources":["../../../../src/agent/wallet/offer.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export declare const noneKnown: (name: string, count: number) => string;
10
10
  export declare const RELEASE_LANDING = "the escrow is marked released on chain, but the RPC node has not returned the release transaction yet, so who it paid is not known; call again in a few seconds";
11
11
  export declare const stillUnknown: (name: string) => string;
12
12
  export { NO_CLOCK } from "./wait.js";
13
+ export declare const paidOther: (wallets: readonly Address[], self: Address) => string;
13
14
  export declare const walletReceipt: import("../actions.js").AnyAction;
14
15
  export declare const getReceipt: import("../actions.js").AnyAction;
15
16
  export declare function escrowReceipt(transport: Transport, owner: Address, nonce: bigint, sha256: string | undefined, releaseSignature?: string): Promise<{
@@ -38,6 +39,7 @@ export declare function escrowReceipt(transport: Transport, owner: Address, nonc
38
39
  paid: string;
39
40
  mint?: Address;
40
41
  recipients: bigint;
42
+ paid_wallets?: Address[];
41
43
  } | {
42
44
  intent: Address<string>;
43
45
  released: boolean;
@@ -1,5 +1,5 @@
1
1
  import { getAddressDecoder } from "@solana/kit";
2
- import { findIntentPda, formatAmount, IntentStatus, Kind, NATIVE_MINT } from "@intent-engine/core";
2
+ import { findIntentPda, formatAmount, IntentStatus, Kind, MAX_RECIPIENTS, NATIVE_MINT } from "@intent-engine/core";
3
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";
@@ -21,19 +21,53 @@ export const RELEASE_LANDING = "the escrow is marked released on chain, but the
21
21
  export const stillUnknown = (name) => `the RPC node had not returned the escrow's release when the wait ran out, so whether and how it was paid is still unknown; call ${tool(name)} again with wait in a few seconds`;
22
22
  export { NO_CLOCK } from "./wait.js";
23
23
  const waitInput = optional(integer(1, WAIT_MAX, "most seconds to wait for a release; without it, the tool reads once"));
24
- const alsoInput = optional(list(object({ owner: account("the wallet that made this escrow"), nonce: amount("this escrow's nonce") }), ALSO_MAX, `up to ${ALSO_MAX} more escrows, each by owner and nonce, read with the one nonce names; the result is the first released, and its owner and nonce say which; sha256 and release apply only to the one nonce names`));
24
+ const alsoInput = optional(list(object({ owner: account("the wallet that made this escrow"), nonce: amount("this escrow's nonce") }), ALSO_MAX, `up to ${ALSO_MAX} more escrows, each by owner and nonce, read with the one nonce names; the result is the first released, and its owner and nonce say which, and escrows gives the state of each; sha256 and release apply only to the one nonce names`));
25
25
  const unknownIn = (receipt) => "complete" in receipt && receipt.complete === false;
26
+ const paidWalletsIn = (paid) => (!paid.released ? undefined : paid.paid_to !== undefined ? [paid.paid_to] : paid.paid_wallets);
27
+ const stateOf = ({ owner, nonce }, receipt) => {
28
+ const paid = receipt;
29
+ return {
30
+ owner,
31
+ nonce,
32
+ intent: receipt.intent,
33
+ released: receipt.released,
34
+ ...(unknownIn(receipt) ? { complete: false } : {}),
35
+ ...(!paid.released ? {} : paid.paid_to !== undefined ? { paid_to: paid.paid_to } : paid.paid_wallets !== undefined ? { paid_wallets: paid.paid_wallets } : {}),
36
+ };
37
+ };
26
38
  async function firstReleased(transport, escrows) {
27
39
  const read = [];
28
40
  for (const { owner, nonce, sha256, release } of escrows) {
29
- const receipt = await escrowReceipt(transport, owner, nonce, sha256, release);
30
- if (receipt.released) {
31
- return escrows.length === 1 ? receipt : { ...receipt, owner, nonce };
32
- }
33
- read.push(receipt);
41
+ read.push(await escrowReceipt(transport, owner, nonce, sha256, release));
34
42
  }
35
43
  const [first] = read;
36
- return escrows.length === 1 || !read.some(unknownIn) ? first : { intent: first.intent, released: false, complete: false, next: "" };
44
+ if (escrows.length === 1) {
45
+ return first;
46
+ }
47
+ const states = escrows.map((escrow, at) => stateOf(escrow, read[at]));
48
+ const at = read.findIndex(({ released }) => released);
49
+ const escrow = escrows[at];
50
+ if (escrow !== undefined) {
51
+ return { ...read[at], owner: escrow.owner, nonce: escrow.nonce, escrows: states };
52
+ }
53
+ return read.some(unknownIn) ? { intent: first.intent, released: false, complete: false, next: "", escrows: states } : { ...first, escrows: states };
54
+ }
55
+ export const paidOther = (wallets, self) => `this release paid ${wallets.join(", ")}, not this wallet ${self}: matches and valid describe the recorded work, and this wallet was not paid for it`;
56
+ function forWallet(receipt, self) {
57
+ const paid = (state) => {
58
+ const wallets = paidWalletsIn(state);
59
+ return wallets === undefined ? {} : { paid_this_wallet: wallets.includes(self) };
60
+ };
61
+ const escrows = receipt.escrows?.map((state) => ({ ...state, ...paid(state) }));
62
+ const own = paid(receipt);
63
+ const wallets = paidWalletsIn(receipt);
64
+ const shown = { ...receipt, ...own, ...(escrows === undefined ? {} : { escrows }) };
65
+ if (own.paid_this_wallet !== false || wallets === undefined) {
66
+ return shown;
67
+ }
68
+ const prior = "next" in receipt ? receipt.next : undefined;
69
+ const line = paidOther(wallets, self);
70
+ return { ...shown, next: typeof prior === "string" && prior !== "" ? `${line}; ${prior}` : line };
37
71
  }
38
72
  async function waitedReceipt(ctx, name, wait, escrows) {
39
73
  const many = escrows.length > 1;
@@ -79,8 +113,20 @@ const receiptOutput = object({
79
113
  delivered_salt: optional(text("the payee's salt the release recorded, which opens the payee's announcement")),
80
114
  valid: optional(flag("given with delivered_salt: whether that salt opens an announcement by the payee to the recorded sha256")),
81
115
  refuted_by: optional(text("an earlier announcement of the same work that a published opening shows, so the release paid a later announcer")),
116
+ paid_wallets: optional(list(account(), MAX_RECIPIENTS, "the wallets a split release paid")),
117
+ paid_this_wallet: optional(flag("wallet_receipt with a released escrow whose payees are known: whether the release paid this server's wallet")),
82
118
  owner: optional(account("given with also: the owner of the escrow released")),
83
119
  nonce: optional(amount("given with also: the nonce of the escrow released")),
120
+ escrows: optional(list(object({
121
+ owner: account(),
122
+ nonce: amount(),
123
+ intent: account(),
124
+ released: flag(),
125
+ complete: optional(flag("false when the history read was not enough to know whether it was released")),
126
+ paid_to: optional(account("the wallet the release paid")),
127
+ paid_wallets: optional(list(account(), MAX_RECIPIENTS, "the wallets a split release paid")),
128
+ paid_this_wallet: optional(flag("wallet_receipt only: whether the release paid this server's wallet")),
129
+ }), ALSO_MAX + 1, "given with also: every named escrow in the order given, released or not, with whom each release paid")),
84
130
  next: optional(text()),
85
131
  });
86
132
  export const walletReceipt = define({
@@ -100,7 +146,7 @@ export const walletReceipt = define({
100
146
  run: async (ctx, input) => {
101
147
  const self = (await signerOf(ctx)).address;
102
148
  const escrows = escrowsOf({ owner: input.owner ?? self, nonce: input.nonce, sha256: input.sha256, release: input.release }, input.also);
103
- const receipt = await waitedReceipt(ctx, "wallet_receipt", input.wait, escrows);
149
+ const receipt = forWallet(await waitedReceipt(ctx, "wallet_receipt", input.wait, escrows), self);
104
150
  const wrapped = "paid_to" in receipt && receipt.paid_to === self && receipt.mint === NATIVE_MINT;
105
151
  if (!wrapped) {
106
152
  return receipt;
@@ -176,11 +222,13 @@ export async function escrowReceipt(transport, owner, nonce, sha256, releaseSign
176
222
  if (release.event.name === "IntentSplit") {
177
223
  mint ??= await heldMint(transport, intent);
178
224
  const decimals = mint === undefined ? undefined : (await mintOf(transport, mint)).decimals;
225
+ const wallets = await paidWalletsOf(transport, { event: release.event, transaction: tx }, intent);
179
226
  return {
180
227
  ...common,
181
228
  paid: formatAmount(fields["net"], decimals),
182
229
  ...(mint === undefined ? {} : { mint }),
183
230
  recipients: BigInt(fields["recipients"]),
231
+ ...(wallets === null ? {} : { paid_wallets: wallets }),
184
232
  };
185
233
  }
186
234
  const payee = fields["payee"];
@@ -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":"AAAA,OAAO,EAAgB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAoB,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACrI,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,iBAAiB,EAAkB,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAClJ,OAAO,EAAqB,MAAM,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE5H,MAAM,CAAC,MAAM,YAAY,GAAG,oEAAoE,CAAC;AAEjG,MAAM,CAAC,MAAM,YAAY,GAAG,wBAAwB,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC;AAEpG,MAAM,CAAC,MAAM,eAAe,GAC1B,+XAA+X,CAAC;AAElY,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,0BAA0B,IAAI,CAAC,IAAI,CAAC,uDAAuD,CAAC;AAE7I,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC;AAE1B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAAC,eAAe,KAAK,kCAAkC,IAAI,CAAC,IAAI,CAAC,6DAA6D,CAAC;AAE3L,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CACvD,qBAAqB,KAAK,yHAAyH,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC;AAE7M,MAAM,CAAC,MAAM,eAAe,GAC1B,iKAAiK,CAAC;AAEpK,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE,CAC3C,mIAAmI,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC;AAEnL,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,qEAAqE,CAAC,CAAC,CAAC;AAExH,MAAM,SAAS,GAAG,QAAQ,CACxB,IAAI,CACF,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,kCAAkC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC,EACpG,QAAQ,EACR,SAAS,QAAQ,uOAAuO,CACzP,CACF,CAAC;AAUF,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAW,EAAE,CAAC,UAAU,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC;AAErG,MAAM,aAAa,GAAG,CAAC,IAAU,EAAkC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAErK,MAAM,OAAO,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAU,EAAE,OAAgB,EAAe,EAAE;IAC1E,MAAM,IAAI,GAAS,OAAO,CAAC;IAC3B,OAAO;QACL,KAAK;QACL,KAAK;QACL,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/J,CAAC;AACJ,CAAC,CAAC;AAEF,KAAK,UAAU,aAAa,CAAC,SAAoB,EAAE,OAA0B;IAC3E,MAAM,IAAI,GAAc,EAAE,CAAC;IAC3B,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,OAAO,EAAE,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,MAAM,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,GAAG,IAAiB,CAAC;IAClC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAY,CAAC,CAAC,CAAC;IACjF,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,EAAE,GAAI,IAAI,CAAC,EAAE,CAAa,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IACjG,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACtJ,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAA2B,EAAE,IAAa,EAAE,EAAE,CACtE,qBAAqB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,IAAI,qFAAqF,CAAC;AAExJ,SAAS,SAAS,CAAC,OAAgB,EAAE,IAAa;IAChD,MAAM,IAAI,GAAG,CAAC,KAAW,EAAkC,EAAE;QAC3D,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACrC,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IACnF,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAChF,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACpF,IAAI,GAAG,CAAC,gBAAgB,KAAK,KAAK,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAY,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtC,OAAO,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACpG,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,GAAiB,EAAE,IAAY,EAAE,IAAwB,EAAE,OAA0B;IAChH,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,CAAC,IAAa,EAAW,EAAE,CACtC,IAAI,CAAC,QAAQ;QACX,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;YACf,CAAC,CAAC,IAAI;gBACJ,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;gBACpD,CAAC,CAAC,IAAI,KAAK,SAAS;oBAClB,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE;YAC3C,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;IAC7F,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,MAAM,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC;IACtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,OAA4B,CAAC;IACjC,MAAM,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;QACjC,OAAO,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;QACxD,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,OAAkB,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,IAAmC,EAAY,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;AAE7G,MAAM,aAAa,GAAG,MAAM,CAAC;IAC3B,MAAM,EAAE,OAAO,EAAE;IACjB,QAAQ,EAAE,IAAI,EAAE;IAChB,QAAQ,EAAE,QAAQ,CAChB,IAAI,CACF,yQAAyQ,CAC1Q,CACF;IACD,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,0EAA0E,CAAC,CAAC;IACtG,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,wFAAwF,CAAC,CAAC;IAClH,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IACvD,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACrD,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC7B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACtC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC;IACxE,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACtD,gBAAgB,EAAE,QAAQ,CAAC,IAAI,CAAC,4GAA4G,CAAC,CAAC;IAC9I,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IACjE,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;IAC7G,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,wGAAwG,CAAC,CAAC;IAC/H,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,gHAAgH,CAAC,CAAC;IAC5I,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,kCAAkC,CAAC,CAAC;IAC3F,gBAAgB,EAAE,QAAQ,CAAC,IAAI,CAAC,6GAA6G,CAAC,CAAC;IAC/I,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC;IAC7E,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,mDAAmD,CAAC,CAAC;IAC5E,OAAO,EAAE,QAAQ,CACf,IAAI,CACF,MAAM,CAAC;QACL,KAAK,EAAE,OAAO,EAAE;QAChB,KAAK,EAAE,MAAM,EAAE;QACf,MAAM,EAAE,OAAO,EAAE;QACjB,QAAQ,EAAE,IAAI,EAAE;QAChB,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;QACtG,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QACzD,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,kCAAkC,CAAC,CAAC;QAC3F,gBAAgB,EAAE,QAAQ,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;KACvG,CAAC,EACF,QAAQ,GAAG,CAAC,EACZ,sGAAsG,CACvG,CACF;IACD,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC;IAClC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC;IAC5B,KAAK,EAAE,yBAAyB;IAChC,WAAW,EAAE,sKAAsK,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,QAAQ,yHAAyH;IACjW,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,+DAA+D,CAAC,CAAC;QACzF,KAAK,EAAE,MAAM,CAAC,2BAA2B,CAAC;QAC1C,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,yFAAyF,CAAC,CAAC;QACjH,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACtC,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;KAChB,CAAC;IACF,MAAM,EAAE,aAAa;IACrB,GAAG,EAAE,KAAK,EAAE,GAAiB,EAAE,KAAK,EAAE,EAAE;QACtC,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACxI,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;QACjG,MAAM,OAAO,GAAG,SAAS,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC;QACjG,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,MAAM,KAAK,GAAY,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACpE,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;QACpF,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC;IAC9B,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC;IAC/B,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC;IACzB,KAAK,EAAE,kCAAkC;IACzC,WAAW,EAAE,mfAAmf,QAAQ,6EAA6E;IACrlB,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,OAAO,CAAC,iCAAiC,CAAC;QACjD,KAAK,EAAE,MAAM,CAAC,2BAA2B,CAAC;QAC1C,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,sGAAsG,CAAC,CAAC;QAC9H,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACtC,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;KAChB,CAAC;IACF,MAAM,EAAE,aAAa;IACrB,GAAG,EAAE,KAAK,EAAE,GAAiB,EAAE,KAAK,EAAE,EAAE,CACtC,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;CACjK,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,SAAoB,EAAE,KAAc,EAAE,KAAa,EAAE,MAA0B,EAAE,gBAAyB;IAC5I,MAAM,MAAM,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC1C,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3H,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IACpE,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;YAC9F,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;QAC7E,CAAC;QACD,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,CAAC;IACjK,CAAC;IACD,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC;IACvB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC3E,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAiC,CAAC;IAC/D,IAAI,IAAI,GAAG,WAAW,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAwB,CAAC,CAAC;IAC1L,MAAM,YAAY,GAAG,eAAe,CAAC,YAAY,EAAE,EAAE,EAAE,MAAM,CAAC,UAAU,CAAY,CAAC,CAAC;IACtF,MAAM,QAAQ,GAAG,YAAY,EAAE,MAAM,CAAC;IACtC,MAAM,QAAQ,GACZ,YAAY,EAAE,IAAI,KAAK,SAAS;QAC9B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,iBAAiB,CAAC,SAAS,EAAE;YACjC,MAAM;YACN,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAY;YACvC,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE;YAClE,MAAM,EAAE,MAAM,aAAa,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAoB,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC;YACxG,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,IAAI;YACtC,IAAI,EAAE,QAAQ,EAAE,IAAI,IAAI,IAAI;SAC7B,CAAC,CAAC;IACT,MAAM,MAAM,GAAG;QACb,MAAM;QACN,QAAQ,EAAE,IAAI;QACd,GAAG,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;QACxE,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAY;QACvC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAW;QAClC,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC;QACjE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;QACjE,GAAG,CAAC,YAAY,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC;QAClF,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;KACzI,CAAC;IACF,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACzC,IAAI,KAAK,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3F,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAoB,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QACjH,OAAO;YACL,GAAG,MAAM;YACT,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,CAAW,EAAE,QAAQ,CAAC;YACrD,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YACvC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAW,CAAC;YAClD,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;SACvD,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAY,CAAC;IACzC,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/C,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5I,MAAM,QAAQ,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC3F,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3L,OAAO;QACL,GAAG,MAAM;QACT,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QACpD,KAAK;QACL,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,CAAW,EAAE,QAAQ,CAAC;QACrD,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { type AgentContext } from "../actions.js";
2
+ export declare const SEAL_LIMIT = "seal to at most 32 wallets in all, the attestor included";
3
+ export declare const SEALED_UNCHECKED = "spec_url holds a sealed spec this wallet cannot open, so its sha256 was not checked against spec_hash";
4
+ export declare const SEALED_NEXT: string;
5
+ export declare const sealedTooLarge: (bytes: number) => string;
6
+ export declare function openedSpec(ctx: AgentContext, bytes: Uint8Array): Promise<Uint8Array | undefined>;
7
+ export declare const walletSealSpec: import("../actions.js").AnyAction;
@@ -0,0 +1,62 @@
1
+ import { createHash } from "node:crypto";
2
+ import { isSealed, MAX_SEALED_RECIPIENTS, seal, SealedError, unseal } from "@intent-engine/core";
3
+ import { MAX_SPEC_BYTES } from "@intent-engine/client";
4
+ import { define } from "../actions.js";
5
+ import { tool } from "../names.js";
6
+ import { InvalidInput, account, list, object, optional, text } from "../schema.js";
7
+ import { signerOf, walletKeypair } from "./guard.js";
8
+ export const SEAL_LIMIT = `seal to at most ${MAX_SEALED_RECIPIENTS} wallets in all, the attestor included`;
9
+ export const SEALED_UNCHECKED = "spec_url holds a sealed spec this wallet cannot open, so its sha256 was not checked against spec_hash";
10
+ export const SEALED_NEXT = `host sealed at an https url, byte for byte, then pass that url as spec_url and sha256 as spec_hash to ${tool("wallet_escrow")}`;
11
+ export const sealedTooLarge = (bytes) => `sealed, it is ${bytes} bytes, over the ${MAX_SPEC_BYTES} bytes ${tool("get_spec")} reads; shorten the spec`;
12
+ const sha256 = (bytes) => createHash("sha256").update(bytes).digest("hex");
13
+ export async function openedSpec(ctx, bytes) {
14
+ if (!isSealed(bytes)) {
15
+ return bytes;
16
+ }
17
+ const keypair = await walletKeypair(ctx);
18
+ return keypair === undefined ? undefined : unseal(bytes, keypair).catch(() => undefined);
19
+ }
20
+ export const walletSealSpec = define({
21
+ name: tool("wallet_seal_spec"),
22
+ title: "Seal a spec for an invite-only job",
23
+ description: `Seals an acceptance spec so only the wallets it invites and the attestor (the judge) can read it, in the form ${tool("get_spec")} opens. Sends nothing: host sealed at a public url, then pass that url as spec_url and sha256 as spec_hash to ${tool("wallet_escrow")}.`,
24
+ effect: "read",
25
+ input: object({
26
+ text: text("the spec, exactly as invited workers should read it"),
27
+ invite: list(account(), MAX_SEALED_RECIPIENTS, `the wallets that may read the spec, such as the workers you hire; ${SEAL_LIMIT}`, 1),
28
+ attestor: optional(account("the escrow's attestor, who reads the spec to judge the work; default this wallet")),
29
+ }),
30
+ output: object({
31
+ sealed: text("the sealed spec to host, byte for byte"),
32
+ sha256: text("64 hex: the sha256 of the spec text; pass it as spec_hash"),
33
+ sealed_sha256: text("64 hex: the sha256 of sealed, to check the hosted copy"),
34
+ sealed_to: list(account(), MAX_SEALED_RECIPIENTS, "every wallet that can open it, the attestor included"),
35
+ next: text(),
36
+ }),
37
+ run: async (ctx, input) => {
38
+ const attestor = input.attestor ?? (await signerOf(ctx)).address;
39
+ const recipients = [...new Set([...input.invite, attestor])];
40
+ if (recipients.length > MAX_SEALED_RECIPIENTS) {
41
+ throw new InvalidInput([{ path: "invite", message: SEAL_LIMIT }]);
42
+ }
43
+ let sealed;
44
+ try {
45
+ sealed = await seal(new TextEncoder().encode(input.text), recipients);
46
+ }
47
+ catch (error) {
48
+ throw error instanceof SealedError ? new InvalidInput([{ path: "invite", message: error.message }]) : error;
49
+ }
50
+ if (sealed.length > MAX_SPEC_BYTES) {
51
+ throw new InvalidInput([{ path: "text", message: sealedTooLarge(sealed.length) }]);
52
+ }
53
+ return {
54
+ sealed: new TextDecoder().decode(sealed),
55
+ sha256: sha256(input.text),
56
+ sealed_sha256: sha256(sealed),
57
+ sealed_to: recipients,
58
+ next: SEALED_NEXT,
59
+ };
60
+ },
61
+ });
62
+ //# sourceMappingURL=seal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seal.js","sourceRoot":"","sources":["../../../../src/agent/wallet/seal.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import { TOKEN_NAMES } from "../../tokens.js";
7
7
  import { define } from "../actions.js";
8
8
  import { WRAPPED } from "../create.js";
9
9
  import { tool } from "../names.js";
10
+ import { boardLeft, leavesBoard, thenSettle } from "../claim-line.js";
10
11
  import { AgentRefusal, problemOf } from "../problems.js";
11
12
  import { InvalidInput, account, amount, choice, flag, integer, list, object, optional, text } from "../schema.js";
12
13
  import { preparedView } from "../shapes.js";
@@ -16,7 +17,12 @@ import { STATUS } from "../../accounts.js";
16
17
  import { feePayerOf, PREVIEW_APPROVAL, PREVIEW_APPROVAL_NEXT, WAIT_SCAN, signerOf, sent, sha256Of, walletOpeners } from "./guard.js";
17
18
  import { openingOutput, openingsFor, sendOpenings, skippedOf } from "./openings.js";
18
19
  import { DEVICE_RELEASE, RELEASE_CHANGED, approvalOf, claimsOfRelease, stakeReturned } from "./attest.js";
20
+ import { sol, tokenAccountRent } from "./costs.js";
19
21
  import { notInSplit, DELIVERED_NEEDED, ATTEST_PAGES, MAX_ATTEST_PAGES, MAX_PAGES_INPUT, HISTORY_TOO_LONG, notAttestor, confirmedRelease } from "./delivery.js";
22
+ async function setupLine(ctx, count, tokenProgram, device) {
23
+ const rent = await tokenAccountRent(ctx.transport, tokenProgram);
24
+ return `Setup: creates ${count} token account(s), paid by ${device ? "the fee payer" : "this wallet"}: ${sol(rent)} of rent each, ${sol(rent * BigInt(count))} in all`;
25
+ }
20
26
  export const SPLIT_FITS = 2;
21
27
  export const SPLIT_FITS_WITH_TABLE = 4;
22
28
  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"}`;
@@ -71,7 +77,7 @@ export const walletAttestSplit = define({
71
77
  follow_up_signature: optional(text("the follow-up transaction that records the sha256, when recorded is follow-up")),
72
78
  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
79
  ...openingOutput,
74
- summary: list(text(), 16),
80
+ summary: list(text(), 18),
75
81
  warnings: list(text(), 8),
76
82
  sent: flag(),
77
83
  signature: optional(text()),
@@ -116,6 +122,7 @@ export const walletAttestSplit = define({
116
122
  await walletRecipient(ctx.transport, r.wallet, `recipients.${i}.wallet`);
117
123
  }
118
124
  const claimed = await claimsOfRelease(ctx, intent, held.claims, wallets);
125
+ const left = claimed.accounts.claims === undefined ? undefined : await boardLeft(ctx.transport, input.owner, input.nonce, intent);
119
126
  if (input.delivered_sha256 === undefined) {
120
127
  throw new InvalidInput([{ path: "delivered_sha256", message: DELIVERED_NEEDED }]);
121
128
  }
@@ -252,14 +259,15 @@ export const walletAttestSplit = define({
252
259
  ? [`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`]
253
260
  : [RECORDS_SPLIT(delivered)]),
254
261
  ...stakeReturned(claimed.stake, claimed.accounts.stakeTo),
255
- ...(setup.length === 0 ? [] : [`Setup: creates ${setup.length} token account(s), paid by ${device ? "the fee payer" : "this wallet"}`]),
262
+ ...leavesBoard(left),
263
+ ...(setup.length === 0 ? [] : [await setupLine(ctx, setup.length, token.tokenProgram, device)]),
256
264
  ],
257
265
  warnings: [...settlementWarnings(params), WARN_COAUTHORS],
258
266
  prepared,
259
267
  };
260
268
  const done = await sent(ctx, payer, view2, input.send, call, {
261
269
  preview: device ? `${PREVIEW_APPROVAL_NEXT}; ${DEVICE_RELEASE}` : PREVIEW_APPROVAL_NEXT,
262
- done: `released to co-authors; ${tool("wallet_feedback")} to rate if you own it`,
270
+ done: thenSettle(`released to co-authors; ${tool("wallet_feedback")} to rate if you own it`, left),
263
271
  });
264
272
  if (!("signature" in done)) {
265
273
  return { ...done, ...passed };