@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.
- package/dist/src/agent/claim-line.d.ts +27 -0
- package/dist/src/agent/claim-line.js +131 -0
- package/dist/src/agent/claim-line.js.map +1 -0
- package/dist/src/agent/create.js +3 -2
- package/dist/src/agent/create.js.map +1 -1
- package/dist/src/agent/everyday.js +8 -0
- package/dist/src/agent/everyday.js.map +1 -1
- package/dist/src/agent/expiry.d.ts +4 -0
- package/dist/src/agent/expiry.js +23 -0
- package/dist/src/agent/expiry.js.map +1 -0
- package/dist/src/agent/job-claims.d.ts +10 -0
- package/dist/src/agent/job-claims.js +31 -0
- package/dist/src/agent/job-claims.js.map +1 -0
- package/dist/src/agent/jobs.d.ts +2 -0
- package/dist/src/agent/jobs.js +35 -9
- package/dist/src/agent/jobs.js.map +1 -1
- package/dist/src/agent/mandate-agent.js +3 -2
- package/dist/src/agent/mandate-agent.js.map +1 -1
- package/dist/src/agent/mcp.d.ts +5 -1
- package/dist/src/agent/mcp.js +31 -4
- package/dist/src/agent/mcp.js.map +1 -1
- package/dist/src/agent/problems.d.ts +2 -0
- package/dist/src/agent/problems.js +2 -0
- package/dist/src/agent/problems.js.map +1 -1
- package/dist/src/agent/signed-prepare.js +2 -1
- package/dist/src/agent/signed-prepare.js.map +1 -1
- package/dist/src/agent/signed-submit.js +4 -2
- package/dist/src/agent/signed-submit.js.map +1 -1
- package/dist/src/agent/spec.js +5 -1
- package/dist/src/agent/spec.js.map +1 -1
- package/dist/src/agent/wallet/account.js +5 -3
- package/dist/src/agent/wallet/account.js.map +1 -1
- package/dist/src/agent/wallet/attest.js +7 -2
- package/dist/src/agent/wallet/attest.js.map +1 -1
- package/dist/src/agent/wallet/committee.d.ts +4 -0
- package/dist/src/agent/wallet/committee.js +71 -4
- package/dist/src/agent/wallet/committee.js.map +1 -1
- package/dist/src/agent/wallet/costs.d.ts +32 -0
- package/dist/src/agent/wallet/costs.js +77 -0
- package/dist/src/agent/wallet/costs.js.map +1 -0
- package/dist/src/agent/wallet/delivery.d.ts +4 -0
- package/dist/src/agent/wallet/delivery.js +5 -4
- package/dist/src/agent/wallet/delivery.js.map +1 -1
- package/dist/src/agent/wallet/escrow.d.ts +2 -0
- package/dist/src/agent/wallet/escrow.js +33 -12
- package/dist/src/agent/wallet/escrow.js.map +1 -1
- package/dist/src/agent/wallet/guard.d.ts +1 -0
- package/dist/src/agent/wallet/guard.js +7 -0
- package/dist/src/agent/wallet/guard.js.map +1 -1
- package/dist/src/agent/wallet/history-profit.d.ts +30 -0
- package/dist/src/agent/wallet/history-profit.js +104 -0
- package/dist/src/agent/wallet/history-profit.js.map +1 -0
- package/dist/src/agent/wallet/history-work.d.ts +18 -2
- package/dist/src/agent/wallet/history-work.js +29 -7
- package/dist/src/agent/wallet/history-work.js.map +1 -1
- package/dist/src/agent/wallet/history.d.ts +1 -0
- package/dist/src/agent/wallet/history.js +50 -17
- package/dist/src/agent/wallet/history.js.map +1 -1
- package/dist/src/agent/wallet/offer.d.ts +1 -0
- package/dist/src/agent/wallet/offer.js +2 -0
- package/dist/src/agent/wallet/offer.js.map +1 -1
- package/dist/src/agent/wallet/receipt.d.ts +2 -0
- package/dist/src/agent/wallet/receipt.js +57 -9
- package/dist/src/agent/wallet/receipt.js.map +1 -1
- package/dist/src/agent/wallet/seal.d.ts +7 -0
- package/dist/src/agent/wallet/seal.js +62 -0
- package/dist/src/agent/wallet/seal.js.map +1 -0
- package/dist/src/agent/wallet/split.js +11 -3
- package/dist/src/agent/wallet/split.js.map +1 -1
- package/dist/src/agent/wallet/trade.js +2 -1
- package/dist/src/agent/wallet/trade.js.map +1 -1
- package/dist/src/agent/wallet/work.d.ts +8 -0
- package/dist/src/agent/wallet/work.js +150 -0
- package/dist/src/agent/wallet/work.js.map +1 -0
- package/dist/src/agent/wallet.d.ts +1 -1
- package/dist/src/agent/wallet.js +8 -2
- package/dist/src/agent/wallet.js.map +1 -1
- package/dist/src/agent/work-claims.js +111 -63
- package/dist/src/agent/work-claims.js.map +1 -1
- package/dist/src/delivery-fetch.d.ts +7 -0
- package/dist/src/delivery-fetch.js +19 -9
- package/dist/src/delivery-fetch.js.map +1 -1
- package/dist/src/job-commands.js +2 -1
- package/dist/src/job-commands.js.map +1 -1
- package/dist/src/job-filters.d.ts +3 -1
- package/dist/src/job-filters.js +5 -4
- package/dist/src/job-filters.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- 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: `
|
|
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:
|
|
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
|
|
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
|
|
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 {
|
|
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
|
|
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
|
-
|
|
18
|
-
|
|
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
|
|
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
|
|
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
|
|
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(),
|
|
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
|
|
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
|
],
|