@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,18 +1,23 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import { getBase16Decoder } from "@solana/kit";
3
- import { committeeEnvelope, releaseMemo } from "@intent-engine/core";
3
+ import { buildCreateCommittee, committeeEnvelope, getCommitteeSize, IntentCoreError, MAX_COMMITTEE_MEMBERS, MAX_COMMITTEE_THRESHOLD, releaseMemo } from "@intent-engine/core";
4
4
  import { ClaimHeldBy, createClient, deliveryRecord, firstDelivery, NotSettleable, VoteRejected } from "@intent-engine/client";
5
5
  import { define } from "../actions.js";
6
6
  import { tool } from "../names.js";
7
- import { AgentRefusal } from "../problems.js";
7
+ import { AgentRefusal, ENGINE_PROBLEMS } from "../problems.js";
8
8
  import { InvalidInput, account, amount, flag, integer, list, object, optional, text } from "../schema.js";
9
9
  import { preparedView } from "../shapes.js";
10
10
  import { prepare } from "../prepare.js";
11
+ import { rentFor, rentRate } from "../budget.js";
12
+ import { sol } from "./costs.js";
11
13
  import { deviceOutput, PREVIEW_APPROVAL, PREVIEW_APPROVAL_NEXT, signerOf, sent, sha256Of, walletOpeners } from "./guard.js";
12
14
  import { openingOutput, openingPayerOf, openingsFor, sendOpenings, skippedOf } from "./openings.js";
13
15
  import { ATTEST_PAGES, DELIVERED_NEEDED, HISTORY_TOO_LONG, MAX_ATTEST_PAGES, MAX_PAGES_INPUT, notEarliest, confirmedRelease } from "./delivery.js";
14
16
  import { claimHeldBy, DEVICE_DIGEST, RELEASE_CHANGED } from "./attest.js";
15
17
  export const VOTE_CHANGED = "this vote differs from its preview: the escrow, payee, result or delivered work changed, or no approval was given; preview it again and show the user";
18
+ export const COMMITTEE_CHANGED = "this committee differs from its preview: its members, threshold or fee wallet changed, or no approval was given; preview it again and show the user";
19
+ export const COMMITTEE_EXISTS = `this committee already exists; name it as attestor in ${tool("wallet_escrow")}`;
20
+ export const COMMITTEE_LIVE = `committee live; name it as attestor in ${tool("wallet_escrow")}, then each member votes with ${tool("wallet_committee_vote")}`;
16
21
  export const NOT_A_MEMBER = "this server's wallet is not a member of the committee this escrow names, so it has no vote";
17
22
  const hex = (bytes) => getBase16Decoder().decode(bytes).toLowerCase();
18
23
  const ballotInput = {
@@ -63,7 +68,7 @@ const ballotLines = (ballot, input, delivered) => [
63
68
  export const walletCommitteeVote = define({
64
69
  name: tool("wallet_committee_vote"),
65
70
  title: "Vote on a release as a committee member",
66
- description: `Casts this wallet's vote, as a member of an escrow's judging committee, that the escrow pays pay_to for the work with delivered_sha256. Judge the work against the spec yourself first. The vote is signed, not sent: once enough members vote, anyone submits the votes with ${tool("wallet_committee_release")}. ${PREVIEW_APPROVAL}`,
71
+ description: `Votes, as a member of an escrow's judging committee, that it pays pay_to for the work with delivered_sha256. A team judges together: each member checks the work against the spec and votes; the signed vote is not sent but given to whoever releases with ${tool("wallet_committee_release")}. ${PREVIEW_APPROVAL}`,
67
72
  effect: "submit",
68
73
  input: object({
69
74
  ...ballotInput,
@@ -102,7 +107,7 @@ export const walletCommitteeVote = define({
102
107
  export const walletCommitteeRelease = define({
103
108
  name: tool("wallet_committee_release"),
104
109
  title: "Release an escrow on its committee's votes",
105
- description: `Pays a worker once a judging committee agrees: submits the members' votes from ${tool("wallet_committee_vote")} to release the escrow, and records the delivered work's sha256. Every vote is checked before sending, and the release needs at least the committee's threshold of votes. This wallet pays the fee. ${PREVIEW_APPROVAL}`,
110
+ description: `Pays a worker once a judging committee agrees: any one wallet collects the members' votes from ${tool("wallet_committee_vote")}, at least the committee's threshold, and submits them to release the escrow, recording the delivered work's sha256. Every vote is checked before sending. This wallet pays the fee. ${PREVIEW_APPROVAL}`,
106
111
  effect: "submit",
107
112
  input: object({
108
113
  ...ballotInput,
@@ -171,4 +176,66 @@ export const walletCommitteeRelease = define({
171
176
  return "signature" in done ? { ...done, ...passed, ...(await sendOpenings(ctx, opener, ballot.committee.address, openings)) } : { ...done, ...passed };
172
177
  },
173
178
  });
179
+ export const walletCommitteeCreate = define({
180
+ name: tool("wallet_committee_create"),
181
+ title: "Create a judging committee",
182
+ description: `Creates a committee so a team judges together: its members and a threshold, how many of them must vote to release. Name the committee as attestor in ${tool("wallet_escrow")}; members vote with ${tool("wallet_committee_vote")}, then anyone releases with ${tool("wallet_committee_release")}. This wallet pays its rent. ${PREVIEW_APPROVAL}`,
183
+ effect: "submit",
184
+ input: object({
185
+ members: list(account(), MAX_COMMITTEE_MEMBERS, "the distinct member wallets, in any order", 1),
186
+ threshold: integer(1, MAX_COMMITTEE_THRESHOLD, "how many members must vote to release, at most the member count"),
187
+ fee_wallet: optional(account("the wallet the committee's judge fees go to; default this wallet")),
188
+ approval: optional(text("the approval the preview returned; needed with send")),
189
+ send: optional(flag("true creates the committee; leave out to preview")),
190
+ }),
191
+ output: object({
192
+ committee: account("the committee's address: name it as attestor in an escrow"),
193
+ members: list(account(), MAX_COMMITTEE_MEMBERS),
194
+ threshold: integer(1, MAX_COMMITTEE_THRESHOLD),
195
+ fee_wallet: account(),
196
+ exists: flag("true when this committee already exists, so nothing needs sending"),
197
+ approval: optional(text()),
198
+ summary: optional(list(text(), 6)),
199
+ ...deviceOutput,
200
+ sent: flag(),
201
+ signature: optional(text()),
202
+ next: optional(text()),
203
+ }),
204
+ run: async (ctx, input, call) => {
205
+ const signer = await signerOf(ctx);
206
+ const terms = { members: input.members, threshold: input.threshold, feeWallet: input.fee_wallet ?? signer.address };
207
+ let built;
208
+ try {
209
+ built = await buildCreateCommittee({ ...terms, payer: signer });
210
+ }
211
+ catch (error) {
212
+ throw error instanceof IntentCoreError ? new AgentRefusal("CommitteeInvalid", ENGINE_PROBLEMS.CommitteeInvalid.hint) : error;
213
+ }
214
+ const { committee, instruction } = built;
215
+ const shown = { committee: committee.address, members: committee.members, threshold: committee.threshold, fee_wallet: committee.feeWallet };
216
+ const client = createClient({ url: ctx.url ?? "", transport: ctx.transport });
217
+ if ((await client.committee(committee.address)) !== null) {
218
+ return { ...shown, exists: true, sent: false, next: COMMITTEE_EXISTS };
219
+ }
220
+ const rent = rentFor(getCommitteeSize(), await rentRate(ctx.transport));
221
+ const summary = [
222
+ `Creates: committee ${committee.address}; any ${committee.threshold} of its ${committee.members.length} members release an escrow that names it`,
223
+ `Members: ${committee.members.join(", ")}`,
224
+ `Pays judge fees to: ${committee.feeWallet}`,
225
+ `Rent: ${sol(rent)} from this wallet ${signer.address}, kept by the committee account`,
226
+ ];
227
+ const approval = createHash("sha256").update(JSON.stringify(summary)).digest("hex").slice(0, 16);
228
+ if (input.send === true && input.approval !== approval) {
229
+ throw new AgentRefusal("ReleaseChanged", COMMITTEE_CHANGED);
230
+ }
231
+ const view = {
232
+ ...shown,
233
+ exists: false,
234
+ approval,
235
+ summary,
236
+ prepared: input.send === true || signer.device !== undefined ? preparedView(await prepare(ctx.transport, [instruction], signer.address)) : undefined,
237
+ };
238
+ return sent(ctx, signer, view, input.send, call, { preview: PREVIEW_APPROVAL_NEXT, done: COMMITTEE_LIVE });
239
+ },
240
+ });
174
241
  //# sourceMappingURL=committee.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"committee.js","sourceRoot":"","sources":["../../../../src/agent/wallet/committee.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"committee.js","sourceRoot":"","sources":["../../../../src/agent/wallet/committee.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { Address } from "@solana/kit";
2
+ import { type Transport } from "@intent-engine/client";
3
+ export declare const TOKEN_ACCOUNT_BYTES = 165;
4
+ export declare const TOTAL = "Total: ";
5
+ export declare const tokenAccountBytes: (tokenProgram: Address) => number;
6
+ export declare function tokenAccountRent(transport: Transport, tokenProgram: Address): Promise<bigint>;
7
+ export declare const sol: (lamports: bigint) => string;
8
+ export declare const networkFee: (prepared: {
9
+ signers: readonly unknown[];
10
+ priority_fee_lamports: bigint;
11
+ }) => bigint;
12
+ type Cost = {
13
+ what: string;
14
+ lamports: bigint;
15
+ };
16
+ export type EscrowCosts = {
17
+ sell: Address;
18
+ decimals: number;
19
+ fees: Cost[];
20
+ rent: Cost[];
21
+ setup: Cost[];
22
+ };
23
+ export declare function escrowCosts(transport: Transport, input: {
24
+ owner: Address;
25
+ sell: Address;
26
+ buy: Address;
27
+ claims: boolean;
28
+ }): Promise<EscrowCosts>;
29
+ export declare const BOARD_RENT = "the claims board";
30
+ export declare function rentBack(costs: EscrowCosts, each: string): string;
31
+ export declare function costLines(costs: EscrowCosts, network: bigint, escrowed: bigint, pieces: number): string[];
32
+ export {};
@@ -0,0 +1,77 @@
1
+ import { findAssociatedTokenAddress, formatAmount, getClaimBoardSize, getIntentSize, getUserStateSize, NATIVE_MINT, TOKEN_PROGRAM_ADDRESS } from "@intent-engine/core";
2
+ import { createdAccount, loadConfig, loadUser, mintOf } from "@intent-engine/client";
3
+ import { TOKEN_NAMES } from "../../tokens.js";
4
+ import { rentFor, rentRate, SIGNATURE_FEE, TOKEN_ACCOUNT_RENT_BYTES } from "../budget.js";
5
+ import { tool } from "../names.js";
6
+ import { SOL_DECIMALS } from "../read.js";
7
+ export const TOKEN_ACCOUNT_BYTES = 165;
8
+ export const TOTAL = "Total: ";
9
+ export const tokenAccountBytes = (tokenProgram) => (tokenProgram === TOKEN_PROGRAM_ADDRESS ? TOKEN_ACCOUNT_BYTES : TOKEN_ACCOUNT_RENT_BYTES);
10
+ export async function tokenAccountRent(transport, tokenProgram) {
11
+ return rentFor(tokenAccountBytes(tokenProgram), await rentRate(transport));
12
+ }
13
+ export const sol = (lamports) => `${formatAmount(lamports, SOL_DECIMALS)} SOL`;
14
+ export const networkFee = (prepared) => SIGNATURE_FEE * BigInt(prepared.signers.length) + prepared.priority_fee_lamports;
15
+ export async function escrowCosts(transport, input) {
16
+ const [{ config }, rent, sold, bought, user] = await Promise.all([
17
+ loadConfig(transport),
18
+ rentRate(transport),
19
+ mintOf(transport, input.sell),
20
+ mintOf(transport, input.buy),
21
+ loadUser(transport, input.owner),
22
+ ]);
23
+ const [receiver, wrapped] = await Promise.all([
24
+ findAssociatedTokenAddress({ owner: input.owner, mint: input.buy, tokenProgram: bought.tokenProgram }),
25
+ findAssociatedTokenAddress({ owner: input.owner, mint: input.sell, tokenProgram: sold.tokenProgram }),
26
+ ]);
27
+ const wraps = input.sell === NATIVE_MINT && sold.tokenProgram === TOKEN_PROGRAM_ADDRESS;
28
+ const [receiverMissing, wrappedMissing] = await Promise.all([
29
+ createdAccount(transport, receiver).then((view) => view === null),
30
+ wraps ? createdAccount(transport, wrapped).then((view) => view === null) : Promise.resolve(false),
31
+ ]);
32
+ return {
33
+ sell: input.sell,
34
+ decimals: sold.decimals,
35
+ fees: [
36
+ { what: "create fee to the treasury", lamports: BigInt(config.createFee) },
37
+ { what: "crank bounty the escrow holds for whoever closes it", lamports: BigInt(config.crankBounty) },
38
+ ],
39
+ rent: [
40
+ { what: "the escrow account", lamports: rentFor(getIntentSize(), rent) },
41
+ { what: "its token vault", lamports: rentFor(TOKEN_ACCOUNT_BYTES, rent) },
42
+ ...(input.claims ? [{ what: BOARD_RENT, lamports: rentFor(getClaimBoardSize(), rent) }] : []),
43
+ ],
44
+ setup: [
45
+ ...(user === null ? [{ what: "your engine registration", lamports: rentFor(getUserStateSize(), rent) }] : []),
46
+ ...(receiverMissing ? [{ what: `your token account for ${input.buy}`, lamports: rentFor(tokenAccountBytes(bought.tokenProgram), rent) }] : []),
47
+ ...(wrappedMissing ? [{ what: "your wrapped SOL account", lamports: rentFor(TOKEN_ACCOUNT_BYTES, rent) }] : []),
48
+ ],
49
+ };
50
+ }
51
+ const listed = (costs, joint = "") => costs.map((cost) => `${sol(cost.lamports)} ${joint}${cost.what}`).join(", ");
52
+ const sum = (costs) => costs.reduce((total, cost) => total + cost.lamports, 0n);
53
+ export const BOARD_RENT = "the claims board";
54
+ export function rentBack(costs, each) {
55
+ const board = costs.rent.filter((cost) => cost.what === BOARD_RENT);
56
+ const escrow = costs.rent.filter((cost) => cost.what !== BOARD_RENT);
57
+ return [
58
+ `Rent back${each}: ${sol(sum(escrow))} for the escrow account and its vault returns to this wallet when the escrow closes, at once with ${tool("wallet_cancel")} or by a cranker after its release or expiry`,
59
+ ...(board.length === 0 ? [] : [`${sol(sum(board))} for the claims board does not return until ${tool("wallet_claim")} action settle closes the board once the escrow is released or gone`]),
60
+ ...(costs.setup.length === 0 ? [] : ["the setup rent stays in this wallet's own accounts"]),
61
+ ].join("; ");
62
+ }
63
+ export function costLines(costs, network, escrowed, pieces) {
64
+ const fees = [...costs.fees, { what: "network fee", lamports: network }];
65
+ const each = pieces > 1 ? " per piece" : "";
66
+ const spent = BigInt(pieces) * (sum(fees) + sum(costs.rent)) + sum(costs.setup);
67
+ const name = TOKEN_NAMES[costs.sell] ?? costs.sell;
68
+ const locked = `${formatAmount(escrowed, costs.decimals)} ${name}`;
69
+ const whole = costs.sell === NATIVE_MINT ? sol(escrowed + spent) : `${locked} and ${sol(spent)}`;
70
+ return [
71
+ `Fees${each}: ${listed(fees)}`,
72
+ ...(pieces > 1 ? [`Rent per piece: ${listed(costs.rent, "for ")}`, ...(costs.setup.length === 0 ? [] : [`Rent once: ${listed(costs.setup, "for ")}`])] : [`Rent: ${listed([...costs.rent, ...costs.setup], "for ")}`]),
73
+ rentBack(costs, each),
74
+ `${TOTAL}this ${pieces > 1 ? "plan" : "send"} takes ${whole} from this wallet: ${locked} escrowed and ${sol(spent)} of fees and rent`,
75
+ ];
76
+ }
77
+ //# sourceMappingURL=costs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"costs.js","sourceRoot":"","sources":["../../../../src/agent/wallet/costs.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,10 @@ export declare const DELIVERIES_COMPLETE = "complete is false when older announc
21
21
  export declare const walletCheckDelivery: import("../actions.js").AnyAction;
22
22
  export declare const escrowClosed: (intent: Address, owner: Address, nonce: bigint, receipt: string) => string;
23
23
  export declare const noEscrow: (intent: Address, receipt: string) => string;
24
+ export declare function proofEscrow(ctx: AgentContext, intent: Address, receipt: string): Promise<{
25
+ held: import("@intent-engine/core").Intent;
26
+ params: import("@intent-engine/core").AttestedResultParams;
27
+ }>;
24
28
  export declare const checkDelivery: import("../actions.js").AnyAction;
25
29
  export declare const prepareDeliver: import("../actions.js").AnyAction;
26
30
  export declare function confirmedRelease(ctx: AgentContext, target: ConfirmTarget): Promise<void>;
@@ -3,6 +3,7 @@ import { decodeParams, getIntentDecoder, getIntentDiscriminatorBytes, getIntentS
3
3
  import { BadSaltSignature, chainTime, commitmentOf, ConfirmMismatch, confirmOnBoth, DELIVERY_PAGES, deliveryRecord, deliveryInstructions, deliverySalt, earlier, memoized, MEMOS_PER_TRANSACTION, NoMessageSigner, opensWith, publishedSalts, recordedStanding, SIGNATURE_PAGE, unmemoized, } from "@intent-engine/client";
4
4
  import { define } from "../actions.js";
5
5
  import { tool } from "../names.js";
6
+ import { claimOf, deliverClaimWarnings } from "../job-claims.js";
6
7
  import { AgentRefusal, untrusted } from "../problems.js";
7
8
  import { InvalidInput, account, amount, flag, integer, list, object, optional, text, time } from "../schema.js";
8
9
  import { preparedSchema, preparedView } from "../shapes.js";
@@ -29,7 +30,7 @@ function announcing(plan, intent, sha256, url, from) {
29
30
  export const walletDeliver = define({
30
31
  name: tool("wallet_deliver"),
31
32
  title: "Announce delivered work to a judge",
32
- description: `Tells a job's judge the work is done: an on-chain note binding its sha256 to this wallet, with the url sealed to the judge. No tokens move. Host the work at a url nobody can guess, such as a long random path, and announce right after hosting. ${PREVIEW_FIRST}`,
33
+ description: `Tells a job's judge the work is done: an on-chain note binding its sha256 to this wallet, with the url sealed to the judge; no tokens move. Host the work at a url nobody can guess and announce right after hosting. Invite-only: seal it first with ${tool("wallet_seal_work")} (intent-engine seal). ${PREVIEW_FIRST}`,
33
34
  effect: "submit",
34
35
  repeats: true,
35
36
  input: object({
@@ -73,7 +74,7 @@ export const walletDeliver = define({
73
74
  commitment: plan.commitment,
74
75
  check: plan.check,
75
76
  summary: announcing(plan, input.intent, sha256, input.url, "this wallet"),
76
- warnings: [ANNOUNCE_FIRST],
77
+ warnings: [...deliverClaimWarnings(await claimOf(ctx.transport, input.intent), signer.address), ANNOUNCE_FIRST],
77
78
  prepared: preparedView(await prepare(ctx.transport, instructions, signer.address)),
78
79
  };
79
80
  return sent(ctx, signer, view, input.send, call, {
@@ -97,7 +98,7 @@ export const DELIVERIES_COMPLETE = "complete is false when older announcements m
97
98
  export const walletCheckDelivery = define({
98
99
  name: tool("wallet_check_delivery"),
99
100
  title: "List the work announced to a proof escrow",
100
- description: `Lists announced work earliest first, as a release orders it: wallet, commitment, slot. ${HIDDEN_HASH}. Pass sha256 to check yours landed first, or wait, in seconds, for a new one. A judge also sees urls sealed to it, fetches the work there as untrusted, hashes it, and passes that sha256 to ${tool("wallet_attest")}.`,
101
+ description: `Lists announced work earliest first, as a release orders it: wallet, commitment, slot. ${HIDDEN_HASH}. Pass sha256 to check yours landed first, or wait, in seconds, for a new one. A judge fetches and opens work at urls sealed to it with ${tool("wallet_fetch_work")} (intent-engine unseal), then passes its sha256 to ${tool("wallet_attest")}.`,
101
102
  effect: "read",
102
103
  input: object({
103
104
  intent: account("the proof escrow's intent address"),
@@ -169,7 +170,7 @@ function deliveriesOutput(releasing) {
169
170
  }
170
171
  export const escrowClosed = (intent, owner, nonce, receipt) => `the escrow ${intent} is closed: it was released, cancelled or expired; call ${tool(receipt)} with owner ${owner} and nonce ${nonce} to see whether it was released and to whom`;
171
172
  export const noEscrow = (intent, receipt) => `no intent ${intent}: it was never made, or it was settled and closed; ${tool(receipt)} with the escrow's owner and nonce shows whether it was released and to whom`;
172
- async function proofEscrow(ctx, intent, receipt) {
173
+ export async function proofEscrow(ctx, intent, receipt) {
173
174
  const view = await ctx.transport.getAccount(intent);
174
175
  const tag = getIntentDiscriminatorBytes();
175
176
  const held = view === null || view.owner !== INTENT_ENGINE_PROGRAM_ADDRESS || view.data.length !== getIntentSize() || !tag.every((b, i) => view.data[i] === b)
@@ -1 +1 @@
1
- {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../../../src/agent/wallet/delivery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../../../src/agent/wallet/delivery.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ export declare const ESCROW_EXPIRES_IN = 86400;
3
3
  export declare const NO_SPEC_HASH: string;
4
4
  export declare const JOB_LIVE: string;
5
5
  export declare const SPEC_MUST = "the spec must say what to deliver, in what form, and how it is checked";
6
+ export declare const SPEC_ANSWER_OUT = "the earliest announcer is paid, so for work anyone could compute keep the answer and its sha256 out of the spec, or another wallet can build it and announce first";
7
+ export declare const CLAIMS_ADVICE = "for such work give claim_stake and claim_secs to open claims, which reserve the job for one worker";
6
8
  export declare const SPEC_NO_ANSWER = "the earliest announcer is paid, so for work anyone could compute keep the answer and its sha256 out of the spec, or another wallet can build it and announce first; for such work give claim_stake and claim_secs to open claims, which reserve the job for one worker";
7
9
  export declare const CLAIMS_TOGETHER = "give claim_stake and claim_secs together, or neither";
8
10
  export declare const CLAIMS_NEED_SPEC = "claims need spec_hash, since only a proof escrow takes claims";
@@ -1,3 +1,4 @@
1
+ import { createHash } from "node:crypto";
1
2
  import { buildOpenClaims, feeBpsFor, formatAmount, isMemoUrl, Kind, MAX_CLAIM_SECS, MAX_CLAIM_STAKE, MEMO_URL_RULE, NATIVE_MINT, splitFees } from "@intent-engine/core";
2
3
  import { chainTime, loadConfig, mintOf, plainHttpOnPublic, WARN_NO_JUDGE_KEY } from "@intent-engine/client";
3
4
  import { TOKEN_NAMES, tokenNamed } from "../../tokens.js";
@@ -8,14 +9,21 @@ import { AgentRefusal, problemOf } from "../problems.js";
8
9
  import { InvalidInput, account, amount, flag, hex32, integer, list, object, optional, text } from "../schema.js";
9
10
  import { LANDING_SECONDS, access, mintNamed, raw, salesOf, checkSale, checkHour, refusedBeforeSending, PREVIEW_FIRST, oneAtATime, signerOf } from "./guard.js";
10
11
  import { offerOutput, offered } from "./offer.js";
11
- import { fetchSha256 } from "../../delivery-fetch.js";
12
+ import { fetchBytes } from "../../delivery-fetch.js";
13
+ import { costLines, escrowCosts } from "./costs.js";
14
+ import { openedSpec, SEALED_UNCHECKED } from "./seal.js";
12
15
  async function specPreflight(ctx, specUrl, specHash) {
13
- const found = await fetchSha256(ctx.fetch ?? fetch, ctx.transport, specUrl);
16
+ const found = await fetchBytes(ctx.fetch ?? fetch, ctx.transport, specUrl);
14
17
  if ("problem" in found) {
15
18
  return `spec_url ${found.problem}; publish it or workers cannot read the job`;
16
19
  }
17
- if (found.sha256 !== specHash.toLowerCase()) {
18
- return `spec_url hashes to ${found.sha256}, not spec_hash ${specHash}; publish the exact bytes, or fix spec_hash`;
20
+ const opened = await openedSpec(ctx, found.bytes);
21
+ if (opened === undefined) {
22
+ return SEALED_UNCHECKED;
23
+ }
24
+ const sha256 = createHash("sha256").update(opened).digest("hex");
25
+ if (sha256 !== specHash.toLowerCase()) {
26
+ return `spec_url ${opened === found.bytes ? "hashes" : "opens to a spec that hashes"} to ${sha256}, not spec_hash ${specHash}; publish the exact bytes, or fix spec_hash`;
19
27
  }
20
28
  return undefined;
21
29
  }
@@ -23,14 +31,16 @@ export const ESCROW_EXPIRES_IN = 86_400;
23
31
  export const NO_SPEC_HASH = `no spec_hash, so workers cannot find this escrow with ${tool("find_jobs")}; give spec_hash and spec_url to list it`;
24
32
  export const JOB_LIVE = `job live; ${tool("wallet_check_delivery")} to watch for work, then ${tool("wallet_attest")} its earliest announcer`;
25
33
  export const SPEC_MUST = "the spec must say what to deliver, in what form, and how it is checked";
26
- export const SPEC_NO_ANSWER = "the earliest announcer is paid, so for work anyone could compute keep the answer and its sha256 out of the spec, or another wallet can build it and announce first; for such work give claim_stake and claim_secs to open claims, which reserve the job for one worker";
34
+ export const SPEC_ANSWER_OUT = "the earliest announcer is paid, so for work anyone could compute keep the answer and its sha256 out of the spec, or another wallet can build it and announce first";
35
+ export const CLAIMS_ADVICE = "for such work give claim_stake and claim_secs to open claims, which reserve the job for one worker";
36
+ export const SPEC_NO_ANSWER = `${SPEC_ANSWER_OUT}; ${CLAIMS_ADVICE}`;
27
37
  export const CLAIMS_TOGETHER = "give claim_stake and claim_secs together, or neither";
28
38
  export const CLAIMS_NEED_SPEC = "claims need spec_hash, since only a proof escrow takes claims";
29
39
  const claimInputs = {
30
40
  claim_stake: optional(text("whole SOL a worker stakes to claim the job, such as 0.01; with claim_secs it opens claims, so one worker at a time can be paid; needs spec_hash")),
31
41
  claim_secs: optional(integer(1, MAX_CLAIM_SECS, "the longest a worker may hold the job by claiming it, in seconds; with claim_stake")),
32
42
  };
33
- export const claimsLine = (secs, stake, every) => `Opens: claims on ${every ? "every piece" : "the escrow"}; a worker can hold the job for up to ${secs} seconds by staking ${stake} SOL, and this wallet pays the claims board's rent`;
43
+ export const claimsLine = (secs, stake, every) => `Opens: claims on ${every ? "every piece" : "the escrow"}; a worker can hold the job for up to ${secs} seconds by staking ${stake} SOL`;
34
44
  function claimTerms(input, every) {
35
45
  if (input.claim_stake === undefined && input.claim_secs === undefined) {
36
46
  return undefined;
@@ -108,7 +118,13 @@ export const walletEscrow = define({
108
118
  const preflight = input.spec_url !== undefined && specHash !== undefined && input.send !== true ? await specPreflight(ctx, input.spec_url, specHash) : undefined;
109
119
  let settled;
110
120
  const buy = recordedMint(sold, wallet.url, input.record_mint);
111
- const escrowed = (await offered(ctx, call, { sell: sold, buy, send: input.send, after: claims?.after }, (token, _, now) => {
121
+ const signer = await signerOf(ctx);
122
+ const costs = await escrowCosts(ctx.transport, { owner: signer.address, sell: sold, buy, claims: claims !== undefined });
123
+ let network = 0n;
124
+ const priced = (lamports) => {
125
+ network = lamports;
126
+ };
127
+ const escrowed = (await offered(ctx, call, { sell: sold, buy, send: input.send, after: claims?.after, priced }, (token, _, now) => {
112
128
  const amountIn = raw(input.amount, token.decimals, "amount");
113
129
  const judgeFee = input.judge_fee === undefined ? 0n : raw(input.judge_fee, token.decimals, "judge_fee");
114
130
  settled = { amount: amountIn, judgeFee, decimals: token.decimals };
@@ -129,14 +145,13 @@ export const walletEscrow = define({
129
145
  const summary = [
130
146
  ...explainedSetup(escrowed["summary"] ?? [], buy),
131
147
  ...(claims === undefined ? [] : [claims.line]),
132
- ...(settled === undefined ? [] : [await feeLine(ctx, settled)]),
148
+ ...(settled === undefined ? [] : [await feeLine(ctx, settled), ...costLines(costs, network, settled.amount, 1)]),
133
149
  ];
134
- const signer = await signerOf(ctx);
135
150
  const ownKey = input.attestor === signer.address && signer.device === undefined;
136
151
  const warnings = [
137
152
  ...(escrowed["warnings"] ?? []).filter((line) => !(ownKey && line.startsWith(WARN_NO_JUDGE_KEY))),
138
153
  ...(preflight === undefined ? [] : [preflight]),
139
- ...(specHash === undefined ? [NO_SPEC_HASH] : input.send === true ? [] : [SPEC_NO_ANSWER]),
154
+ ...(specHash === undefined ? [NO_SPEC_HASH] : input.send === true ? [] : [claims === undefined ? SPEC_NO_ANSWER : SPEC_ANSWER_OUT]),
140
155
  ];
141
156
  return { ...escrowed, summary, warnings };
142
157
  },
@@ -205,7 +220,7 @@ export const walletEscrowPlan = define({
205
220
  signature: optional(text()),
206
221
  }), MAX_PIECES),
207
222
  total: text("whole tokens escrowed across all pieces"),
208
- summary: list(text(), 32, `the plan, then lines marked ${PIECE_ONE} that describe the first piece alone`),
223
+ summary: list(text(), 40, `the plan, then lines marked ${PIECE_ONE} that describe the first piece alone`),
209
224
  warnings: list(text(), 16),
210
225
  sent: flag(),
211
226
  next: optional(text()),
@@ -275,13 +290,19 @@ export const walletEscrowPlan = define({
275
290
  return found === undefined ? [] : [`Piece ${i + 1} (${piece.name}): ${found}`];
276
291
  }));
277
292
  const [head, ...rest] = planned;
278
- const first = (await offered(ctx, call, { sell: sold, buy, send: input.send, after: claims?.after }, terms(head)));
293
+ const costs = await escrowCosts(ctx.transport, { owner: signer.address, sell: sold, buy, claims: claims !== undefined });
294
+ let network = 0n;
295
+ const priced = (lamports) => {
296
+ network = lamports;
297
+ };
298
+ const first = (await offered(ctx, call, { sell: sold, buy, send: input.send, after: claims?.after, priced }, terms(head)));
279
299
  const ownKey = head.attestor === signer.address && signer.device === undefined;
280
300
  const shown = {
281
301
  total: formatAmount(total, token.decimals),
282
302
  summary: [
283
303
  `Plan: ${planned.length} pieces, ${formatAmount(total, token.decimals)} of ${name} in all, each escrowed now and released on its own`,
284
304
  ...planned.map((piece, i) => `Piece ${i + 1}: ${piece.name}, ${formatAmount(piece.amountIn, token.decimals)} of ${name}, released by ${piece.attestor}${piece.specHash === undefined ? "" : ` against spec ${piece.specHash}`}`),
305
+ ...costLines(costs, network, total, planned.length),
285
306
  ...(claims === undefined ? [] : [claims.line]),
286
307
  ...explainedSetup(first["summary"], buy).map((line) => `${PIECE_ONE}: ${line}`),
287
308
  ],