@intent-engine/cli 0.0.0-stage → 0.1.0

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 (102) hide show
  1. package/LICENSE +202 -0
  2. package/dist/src/accounts.d.ts +112 -0
  3. package/dist/src/accounts.js +162 -0
  4. package/dist/src/accounts.js.map +1 -0
  5. package/dist/src/agent/actions.d.ts +45 -0
  6. package/dist/src/agent/actions.js +43 -0
  7. package/dist/src/agent/actions.js.map +1 -0
  8. package/dist/src/agent/budget.d.ts +22 -0
  9. package/dist/src/agent/budget.js +31 -0
  10. package/dist/src/agent/budget.js.map +1 -0
  11. package/dist/src/agent/claims.d.ts +15 -0
  12. package/dist/src/agent/claims.js +47 -0
  13. package/dist/src/agent/claims.js.map +1 -0
  14. package/dist/src/agent/create.d.ts +56 -0
  15. package/dist/src/agent/create.js +118 -0
  16. package/dist/src/agent/create.js.map +1 -0
  17. package/dist/src/agent/mandate.d.ts +30 -0
  18. package/dist/src/agent/mandate.js +478 -0
  19. package/dist/src/agent/mandate.js.map +1 -0
  20. package/dist/src/agent/mcp.d.ts +17 -0
  21. package/dist/src/agent/mcp.js +53 -0
  22. package/dist/src/agent/mcp.js.map +1 -0
  23. package/dist/src/agent/names.d.ts +1 -0
  24. package/dist/src/agent/names.js +3 -0
  25. package/dist/src/agent/names.js.map +1 -0
  26. package/dist/src/agent/owner.d.ts +40 -0
  27. package/dist/src/agent/owner.js +123 -0
  28. package/dist/src/agent/owner.js.map +1 -0
  29. package/dist/src/agent/prepare.d.ts +14 -0
  30. package/dist/src/agent/prepare.js +32 -0
  31. package/dist/src/agent/prepare.js.map +1 -0
  32. package/dist/src/agent/problems.d.ts +120 -0
  33. package/dist/src/agent/problems.js +189 -0
  34. package/dist/src/agent/problems.js.map +1 -0
  35. package/dist/src/agent/read.d.ts +13 -0
  36. package/dist/src/agent/read.js +210 -0
  37. package/dist/src/agent/read.js.map +1 -0
  38. package/dist/src/agent/registry.d.ts +2 -0
  39. package/dist/src/agent/registry.js +24 -0
  40. package/dist/src/agent/registry.js.map +1 -0
  41. package/dist/src/agent/relay.d.ts +20 -0
  42. package/dist/src/agent/relay.js +43 -0
  43. package/dist/src/agent/relay.js.map +1 -0
  44. package/dist/src/agent/schema.d.ts +68 -0
  45. package/dist/src/agent/schema.js +210 -0
  46. package/dist/src/agent/schema.js.map +1 -0
  47. package/dist/src/agent/settle.d.ts +5 -0
  48. package/dist/src/agent/settle.js +144 -0
  49. package/dist/src/agent/settle.js.map +1 -0
  50. package/dist/src/agent/shapes.d.ts +165 -0
  51. package/dist/src/agent/shapes.js +162 -0
  52. package/dist/src/agent/shapes.js.map +1 -0
  53. package/dist/src/agent/signed.d.ts +21 -0
  54. package/dist/src/agent/signed.js +360 -0
  55. package/dist/src/agent/signed.js.map +1 -0
  56. package/dist/src/agent/wallet.d.ts +18 -0
  57. package/dist/src/agent/wallet.js +186 -0
  58. package/dist/src/agent/wallet.js.map +1 -0
  59. package/dist/src/args.d.ts +491 -0
  60. package/dist/src/args.js +1124 -0
  61. package/dist/src/args.js.map +1 -0
  62. package/dist/src/bin.d.ts +2 -0
  63. package/dist/src/bin.js +4 -0
  64. package/dist/src/bin.js.map +1 -0
  65. package/dist/src/commands.d.ts +51 -0
  66. package/dist/src/commands.js +451 -0
  67. package/dist/src/commands.js.map +1 -0
  68. package/dist/src/compute.d.ts +19 -0
  69. package/dist/src/compute.js +81 -0
  70. package/dist/src/compute.js.map +1 -0
  71. package/dist/src/crank.d.ts +39 -0
  72. package/dist/src/crank.js +171 -0
  73. package/dist/src/crank.js.map +1 -0
  74. package/dist/src/events.d.ts +8 -0
  75. package/dist/src/events.js +43 -0
  76. package/dist/src/events.js.map +1 -0
  77. package/dist/src/flows.d.ts +23 -0
  78. package/dist/src/flows.js +128 -0
  79. package/dist/src/flows.js.map +1 -0
  80. package/dist/src/main.d.ts +32 -0
  81. package/dist/src/main.js +99 -0
  82. package/dist/src/main.js.map +1 -0
  83. package/dist/src/render.d.ts +5 -0
  84. package/dist/src/render.js +46 -0
  85. package/dist/src/render.js.map +1 -0
  86. package/dist/src/tokens.d.ts +6 -0
  87. package/dist/src/tokens.js +15 -0
  88. package/dist/src/tokens.js.map +1 -0
  89. package/dist/src/transport.d.ts +155 -0
  90. package/dist/src/transport.js +173 -0
  91. package/dist/src/transport.js.map +1 -0
  92. package/dist/src/treasury.d.ts +27 -0
  93. package/dist/src/treasury.js +85 -0
  94. package/dist/src/treasury.js.map +1 -0
  95. package/dist/src/version.d.ts +1 -0
  96. package/dist/src/version.js +2 -0
  97. package/dist/src/version.js.map +1 -0
  98. package/dist/src/wallet.d.ts +29 -0
  99. package/dist/src/wallet.js +108 -0
  100. package/dist/src/wallet.js.map +1 -0
  101. package/package.json +37 -3
  102. package/README.md +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/args.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+ import { runProcess } from "./main.js";
3
+ process.exitCode = await runProcess(process);
4
+ //# sourceMappingURL=bin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/bin.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,CAAC,QAAQ,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { type Address, type Instruction, type KeyPairSigner, type TransactionSigner } from "@solana/kit";
2
+ import { type Fetch } from "@intent-engine/solver";
3
+ import type { McpServer } from "@modelcontextprotocol/server";
4
+ import { type Authority, type Command, type Env } from "./args.js";
5
+ import type { Transport } from "./transport.js";
6
+ export type Runtime = {
7
+ transport(url: string): Transport;
8
+ loadSigner(path: string): Promise<KeyPairSigner>;
9
+ readText(path: string): Promise<string>;
10
+ sleep(seconds: number): Promise<boolean>;
11
+ env: Env;
12
+ writeText(path: string, text: string): Promise<void>;
13
+ saveText(path: string, text: string, secret: boolean): Promise<void>;
14
+ home: string;
15
+ now(): bigint;
16
+ fetch: Fetch;
17
+ entropy(): number;
18
+ serve(server: McpServer): Promise<void>;
19
+ };
20
+ export declare const SOLVER_ROUTE_ACCOUNTS = 40;
21
+ export declare const configExists: (config: Address) => string;
22
+ export declare const ENV_JUPITER_KEY = "JUPITER_API_KEY";
23
+ export declare const JUPITER_DOMAIN = "jup.ag";
24
+ export declare function jupiterHost(url: string): boolean;
25
+ export * from "./accounts.js";
26
+ export * from "./crank.js";
27
+ export declare const SIGNED_FILE_VERSION = 1;
28
+ export declare const SOLVER_TABLE_NEXT = "put these in an address lookup table you own (solana address-lookup-table create, then extend with them) and pass it to solve with --lookup-table";
29
+ export declare function relayAnything(signer: TransactionSigner, mint: Address): import("./agent/relay.js").Relay;
30
+ export declare const AUTHORITY_NEXT = "import transaction_base58 into the multisig as a proposal (its blockhash and fee payer are replaced there), or build one from instructions; it carries no compute budget so it can run from a vault";
31
+ export declare function instructionView(ix: Instruction): {
32
+ program: Address<string>;
33
+ accounts: {
34
+ address: Address<string>;
35
+ signer: boolean;
36
+ writable: boolean;
37
+ }[];
38
+ data: string;
39
+ };
40
+ export declare function administer(transport: Transport, runtime: Runtime, by: Authority, build: (signer: TransactionSigner) => Promise<Instruction[]>, summary: (signer: Address) => string[], extra?: object): Promise<object>;
41
+ export type EngineEvents = {
42
+ signature: string;
43
+ slot: bigint;
44
+ blockTime: bigint | null;
45
+ failed: boolean;
46
+ events: object[];
47
+ };
48
+ export declare function engineEvents(transport: Transport, limit: number): Promise<EngineEvents[]>;
49
+ export declare const followGap: (limit: number) => string;
50
+ export declare function follow(transport: Transport, runtime: Runtime, limit: number, interval: number, emit: (value: object) => void): Promise<number>;
51
+ export declare function run(command: Command, runtime: Runtime): Promise<object | null>;
@@ -0,0 +1,451 @@
1
+ import { createNoopSigner, getBase58Decoder, getBase64Decoder, getBase64Encoder, isSignerRole, isWritableRole, } from "@solana/kit";
2
+ import { buildAcceptAdmin, buildAdvanceEpoch, buildProposeAdmin, buildUpdateConfig, buildAdvanceNonce, buildCancelIntent, buildInitConfig, buildLowerPause, buildRaisePause, buildUpdateEconomics, decodeEvent, findConfigPda, findIntentPda, findUserStatePda, feeBpsFor, findVaultPda, getIntentDecoder, getUserStateDecoder, kindBit, nextEpoch, PAUSE_CREATE, PAUSE_FILL, U64_MAX, } from "@intent-engine/core";
3
+ import { decodeLookupTable, issuePricer, jitoBundles, jupiterPricer, solverTableAccounts, tick, tipAccount, } from "@intent-engine/solver";
4
+ import { agentServer } from "./agent/mcp.js";
5
+ import { claimsOf } from "./agent/claims.js";
6
+ import { budgetOf } from "./agent/budget.js";
7
+ import { relayOf } from "./agent/relay.js";
8
+ import { usageOf } from "./args.js";
9
+ import { VERSION } from "./version.js";
10
+ import { balances, defaultMints, setup } from "./wallet.js";
11
+ import { prepare } from "./agent/prepare.js";
12
+ import { KIND_NAMES, KINDS, preparedView } from "./agent/shapes.js";
13
+ import { prepareCreate } from "./agent/create.js";
14
+ import { getMandate, prepareAgentCreate, prepareMandate, prepareRevokeMandate } from "./agent/mandate.js";
15
+ import { listIntents } from "./agent/read.js";
16
+ import { prepareSignedIntent, previewSignedIntent, submitSignedIntent } from "./agent/signed.js";
17
+ import { approval, ask, finish, FlowRefused, hasTokens, inRaw, NOT_SENT, perform, signMessage } from "./flows.js";
18
+ import { loadMandate } from "./agent/mandate.js";
19
+ import { RELAY_MAX_TTL } from "./args.js";
20
+ import { chainTime, clusterDomain, createdAccount, describeIntent, loadConfig, loadIntent, quoteOf, sameBytes, tokenAmountOf, tokenProgramOf, } from "./accounts.js";
21
+ import { closing, crank, expiring } from "./crank.js";
22
+ import { priceOf, withPriority } from "./compute.js";
23
+ import { createTreasuryAccounts, intentInputMints, treasuryView } from "./treasury.js";
24
+ export const SOLVER_ROUTE_ACCOUNTS = 40;
25
+ export const configExists = (config) => `the engine is already set up on this cluster (config ${config}); change it with update-config, set-economics, raise-pause or lower-pause`;
26
+ export const ENV_JUPITER_KEY = "JUPITER_API_KEY";
27
+ export const JUPITER_DOMAIN = "jup.ag";
28
+ export function jupiterHost(url) {
29
+ const host = new URL(url).hostname;
30
+ return host === JUPITER_DOMAIN || host.endsWith(`.${JUPITER_DOMAIN}`);
31
+ }
32
+ export * from "./accounts.js";
33
+ export * from "./crank.js";
34
+ export const SIGNED_FILE_VERSION = 1;
35
+ export const SOLVER_TABLE_NEXT = "put these in an address lookup table you own (solana address-lookup-table create, then extend with them) and pass it to solve with --lookup-table";
36
+ export function relayAnything(signer, mint) {
37
+ return relayOf(signer, {
38
+ maxLamports: U64_MAX,
39
+ maxTtl: BigInt(RELAY_MAX_TTL),
40
+ perHour: Number.MAX_SAFE_INTEGER,
41
+ hourlyLamports: U64_MAX,
42
+ fees: new Map([[mint, 0n]]),
43
+ });
44
+ }
45
+ async function rawFlowInput(transport, flow, input, signer) {
46
+ if (flow === "approve" || flow === "revoke-approval") {
47
+ const mint = input["mint"];
48
+ return inRaw(transport, input, mint, mint);
49
+ }
50
+ if (flow === "mandate-use") {
51
+ if (!hasTokens(input)) {
52
+ return input;
53
+ }
54
+ const owner = input["owner"];
55
+ const id = input["id"] === undefined ? 0n : BigInt(input["id"]);
56
+ const { mandate } = await loadMandate(transport, owner, signer, id);
57
+ return inRaw(transport, input, mandate.inputMint, mandate.outputMint);
58
+ }
59
+ if (flow === "mandate-revoke") {
60
+ return input;
61
+ }
62
+ return inRaw(transport, input, input["input_mint"], input["output_mint"]);
63
+ }
64
+ function context(transport, relay = undefined) {
65
+ return { transport, relay, agent: undefined, claims: claimsOf() };
66
+ }
67
+ export const AUTHORITY_NEXT = "import transaction_base58 into the multisig as a proposal (its blockhash and fee payer are replaced there), or build one from instructions; it carries no compute budget so it can run from a vault";
68
+ export function instructionView(ix) {
69
+ return {
70
+ program: ix.programAddress,
71
+ accounts: (ix.accounts ?? []).map((meta) => ({
72
+ address: meta.address,
73
+ signer: isSignerRole(meta.role),
74
+ writable: isWritableRole(meta.role),
75
+ })),
76
+ data: getBase64Decoder().decode(ix.data ?? new Uint8Array()),
77
+ };
78
+ }
79
+ const kindList = (mask) => KINDS.filter((kind) => (mask & kindBit(kind)) !== 0n)
80
+ .map((kind) => KIND_NAMES[kind])
81
+ .join(", ") || "none";
82
+ const pauseList = (flags) => [...((flags & PAUSE_CREATE) !== 0 ? ["creating"] : []), ...((flags & PAUSE_FILL) !== 0 ? ["filling"] : [])].join(" and ") ||
83
+ "nothing";
84
+ export async function administer(transport, runtime, by, build, summary, extra = {}) {
85
+ if ("keypair" in by) {
86
+ const signer = await runtime.loadSigner(by.keypair);
87
+ const instructions = await build(signer);
88
+ const described = { ...extra, summary: summary(signer.address) };
89
+ if (!by.yes) {
90
+ const simulated = await prepare(transport, instructions, signer.address);
91
+ return { ...described, sent: false, units_consumed: simulated.unitsConsumed, next: NOT_SENT };
92
+ }
93
+ return { ...described, sent: true, signature: await transport.send(instructions, signer) };
94
+ }
95
+ const instructions = await build(createNoopSigner(by.authority));
96
+ const unbudgeted = { ...transport, budget: async (ixs) => [...ixs] };
97
+ const view = preparedView(await prepare(unbudgeted, instructions, by.authority));
98
+ return {
99
+ ...extra,
100
+ summary: summary(by.authority),
101
+ unsigned: {
102
+ ...view,
103
+ transaction_base58: getBase58Decoder().decode(getBase64Encoder().encode(view.transaction)),
104
+ instructions: instructions.map(instructionView),
105
+ next: AUTHORITY_NEXT,
106
+ },
107
+ };
108
+ }
109
+ export async function engineEvents(transport, limit) {
110
+ return (await transport.engineTransactions(limit)).map((tx) => ({
111
+ signature: tx.signature,
112
+ slot: tx.slot,
113
+ blockTime: tx.blockTime,
114
+ failed: tx.failed,
115
+ events: tx.failed ? [] : tx.emitted.map(decodeEvent).filter((e) => e !== null),
116
+ }));
117
+ }
118
+ export const followGap = (limit) => `more than ${limit} engine transactions landed since the last poll, so some were not shown; raise --limit or lower --interval`;
119
+ export async function follow(transport, runtime, limit, interval, emit) {
120
+ let seen = new Set();
121
+ let shown = 0;
122
+ do {
123
+ const fetched = await engineEvents(transport, limit);
124
+ const fresh = fetched.filter((tx) => !seen.has(tx.signature)).reverse();
125
+ if (seen.size > 0 && fetched.length >= limit && fresh.length === fetched.length) {
126
+ emit({ gap: true, warning: followGap(limit) });
127
+ }
128
+ for (const tx of fresh) {
129
+ emit(tx);
130
+ shown++;
131
+ }
132
+ seen = new Set(fetched.map((tx) => tx.signature));
133
+ } while (await runtime.sleep(interval));
134
+ return shown;
135
+ }
136
+ export async function run(command, runtime) {
137
+ if (command.name === "help") {
138
+ return usageOf(command.verb);
139
+ }
140
+ if (command.name === "version") {
141
+ return { version: VERSION };
142
+ }
143
+ if (command.name === "pda") {
144
+ const [intent] = await findIntentPda({ owner: command.owner, nonce: command.nonce });
145
+ const [vault] = await findVaultPda({ intent });
146
+ return { intent, vault };
147
+ }
148
+ const transport = withPriority(runtime.transport(command.url), command.priority);
149
+ switch (command.name) {
150
+ case "mcp": {
151
+ const relay = command.relay === undefined ? undefined : relayOf(await runtime.loadSigner(command.relay.keypair), command.relay);
152
+ const agent = command.agent === undefined
153
+ ? undefined
154
+ : {
155
+ signer: await runtime.loadSigner(command.agent.keypair),
156
+ budget: budgetOf(command.agent.hourlyLamports),
157
+ owners: new Set(command.agent.owners),
158
+ };
159
+ const wallet = command.wallet ? { wallet: { url: command.url, files: runtime, env: runtime.env } } : {};
160
+ await runtime.serve(agentServer({ transport, relay, agent, claims: claimsOf(), ...wallet }));
161
+ return null;
162
+ }
163
+ case "setup":
164
+ return setup(transport, runtime, command.url, command.keypair);
165
+ case "balance": {
166
+ const owner = command.owner ?? (await runtime.loadSigner(command.keypair ?? "")).address;
167
+ return balances(transport, owner, command.mints ?? defaultMints(command.url));
168
+ }
169
+ case "domain":
170
+ return { genesisHash: await transport.genesisHash(), domain: await clusterDomain(transport) };
171
+ case "show-config": {
172
+ const { address, config } = await loadConfig(transport);
173
+ return { address, ...config, domainMatchesCluster: sameBytes(config.domain, await clusterDomain(transport)) };
174
+ }
175
+ case "show-intent": {
176
+ const { address, intent } = await loadIntent(transport, command.owner, command.nonce);
177
+ return describeIntent(address, intent);
178
+ }
179
+ case "quote": {
180
+ const { address, intent } = await loadIntent(transport, command.owner, command.nonce);
181
+ const { config } = await loadConfig(transport);
182
+ return { address, ...quoteOf(intent, config, command.at ?? runtime.now()) };
183
+ }
184
+ case "cancel": {
185
+ const owner = await runtime.loadSigner(command.keypair);
186
+ const { intent } = await loadIntent(transport, owner.address, command.nonce);
187
+ const ix = await buildCancelIntent({
188
+ owner,
189
+ nonce: command.nonce,
190
+ inputMint: intent.inputMint,
191
+ tokenProgram: await tokenProgramOf(transport, intent.inputMint),
192
+ });
193
+ return { signature: await transport.send([ix], owner) };
194
+ }
195
+ case "expire": {
196
+ const cranker = await runtime.loadSigner(command.keypair);
197
+ const { address, intent } = await loadIntent(transport, command.owner, command.nonce);
198
+ return { signature: await transport.send(await expiring(transport, cranker, address, intent, "always", false), cranker) };
199
+ }
200
+ case "close": {
201
+ const payer = await runtime.loadSigner(command.keypair);
202
+ const { address, intent } = await loadIntent(transport, command.owner, command.nonce);
203
+ return { signature: await transport.send(await closing(transport, payer, address, intent, "always"), payer) };
204
+ }
205
+ case "follow":
206
+ throw new FlowRefused("events --follow streams to the terminal and runs only from the command line");
207
+ case "events": {
208
+ const transactions = await engineEvents(transport, command.limit);
209
+ const notable = transactions.reduce((n, tx) => n + tx.events.filter((e) => e.notable === true).length, 0);
210
+ return { notable, transactions };
211
+ }
212
+ case "treasury": {
213
+ const view = await treasuryView(transport, command.mints ?? (await intentInputMints(transport)));
214
+ if (!command.create || command.keypair === undefined) {
215
+ return view;
216
+ }
217
+ return createTreasuryAccounts(transport, view, await runtime.loadSigner(command.keypair), command.yes);
218
+ }
219
+ case "solver-table": {
220
+ const { config } = await loadConfig(transport);
221
+ const mints = [];
222
+ for (const mint of command.mints) {
223
+ mints.push({ mint, tokenProgram: await tokenProgramOf(transport, mint) });
224
+ }
225
+ const addresses = await solverTableAccounts(command.solver, config.feeRecipient, mints);
226
+ return { solver: command.solver, count: addresses.length, addresses, next: SOLVER_TABLE_NEXT };
227
+ }
228
+ case "crank": {
229
+ const cranker = await runtime.loadSigner(command.keypair);
230
+ return crank(transport, cranker, command.dryRun, command.fundAccounts);
231
+ }
232
+ case "init-config": {
233
+ const [config] = await findConfigPda();
234
+ if ((await transport.getAccount(config)) !== null) {
235
+ throw new Error(configExists(config));
236
+ }
237
+ const domain = await clusterDomain(transport);
238
+ return administer(transport, runtime, command.by, async (authority) => [
239
+ await buildInitConfig({
240
+ authority,
241
+ domain,
242
+ guardian: command.guardian,
243
+ feeRecipient: command.feeRecipient,
244
+ enabledKinds: command.enabledKinds,
245
+ feeBps: command.feeBps,
246
+ paused: command.paused,
247
+ }),
248
+ ], () => [
249
+ `Creates the engine config ${config} for this cluster (domain ${getBase58Decoder().decode(domain)}) with the signer as admin`,
250
+ `Guardian: ${command.guardian}`,
251
+ `Fee recipient: ${command.feeRecipient}`,
252
+ `Fee: ${command.feeBps} bps`,
253
+ `Enabled kinds: ${kindList(command.enabledKinds)}`,
254
+ `Paused: ${pauseList(command.paused)}`,
255
+ ], { config, domain });
256
+ }
257
+ case "raise-pause":
258
+ return administer(transport, runtime, command.by, async (authority) => [await buildRaisePause({ authority, flags: command.flags })], () => [`Pauses ${pauseList(command.flags)} for every intent until the admin lowers the pause`]);
259
+ case "lower-pause":
260
+ return administer(transport, runtime, command.by, async (admin) => [await buildLowerPause({ admin, flags: command.flags })], () => [`Resumes ${pauseList(command.flags)}`]);
261
+ case "update-config": {
262
+ const { config } = await loadConfig(transport);
263
+ const c = command.change;
264
+ const update = {
265
+ guardian: c.guardian ?? config.guardian,
266
+ feeRecipient: c.feeRecipient ?? config.feeRecipient,
267
+ feeBps: c.feeBps ?? config.feeBps,
268
+ enabledKinds: c.enabledKinds ?? config.enabledKinds,
269
+ fillDisabledKinds: c.fillDisabledKinds ?? config.fillDisabledKinds,
270
+ };
271
+ const changes = [
272
+ ...(update.guardian === config.guardian ? [] : [`Guardian: ${config.guardian} -> ${update.guardian}`]),
273
+ ...(update.feeRecipient === config.feeRecipient ? [] : [`Fee recipient: ${config.feeRecipient} -> ${update.feeRecipient}`]),
274
+ ...(update.feeBps === config.feeBps ? [] : [`Fee: ${config.feeBps} -> ${update.feeBps} bps`]),
275
+ ...(update.enabledKinds === config.enabledKinds
276
+ ? []
277
+ : [`Enabled kinds: ${kindList(config.enabledKinds)} -> ${kindList(update.enabledKinds)}`]),
278
+ ...(update.fillDisabledKinds === config.fillDisabledKinds
279
+ ? []
280
+ : [`Fills stopped for: ${kindList(config.fillDisabledKinds)} -> ${kindList(update.fillDisabledKinds)}`]),
281
+ ];
282
+ return administer(transport, runtime, command.by, async (admin) => [await buildUpdateConfig({ admin, update })], () => (changes.length === 0 ? ["Changes nothing: every setting already has the value given"] : changes), { update });
283
+ }
284
+ case "propose-admin": {
285
+ const { config } = await loadConfig(transport);
286
+ return administer(transport, runtime, command.by, async (admin) => [await buildProposeAdmin({ admin, pendingAdmin: command.pendingAdmin })], () => [
287
+ `Proposes ${command.pendingAdmin} as the next admin in place of ${config.admin}`,
288
+ "Nothing changes until that key accepts; a later proposal replaces this one",
289
+ ]);
290
+ }
291
+ case "accept-admin": {
292
+ const { config } = await loadConfig(transport);
293
+ return administer(transport, runtime, command.by, async (pendingAdmin) => [await buildAcceptAdmin({ pendingAdmin })], (signer) => [`Makes ${signer} the admin in place of ${config.admin}`]);
294
+ }
295
+ case "advance-nonce": {
296
+ const owner = await runtime.loadSigner(command.keypair);
297
+ const ix = await buildAdvanceNonce({ owner, nonceBase: command.base });
298
+ return { signature: await transport.send([ix], owner) };
299
+ }
300
+ case "solve": {
301
+ const solver = await runtime.loadSigner(command.keypair);
302
+ let latest;
303
+ const chain = {
304
+ config: async () => (await loadConfig(transport)).config,
305
+ intents: async () => (await transport.intents()).map(({ address, data }) => ({ address, intent: getIntentDecoder().decode(data) })),
306
+ now: () => chainTime(transport),
307
+ tokenProgram: (mint) => tokenProgramOf(transport, mint),
308
+ exists: async (address) => (await createdAccount(transport, address)) !== null,
309
+ tokenAmount: async (address) => tokenAmountOf((await transport.getAccount(address))?.data ?? null) ?? 0n,
310
+ lookupTables: async (addresses) => {
311
+ const tables = {};
312
+ for (const address of addresses) {
313
+ const view = await transport.getAccount(address);
314
+ if (view === null) {
315
+ throw new Error(`lookup table ${address} does not exist`);
316
+ }
317
+ tables[address] = decodeLookupTable(view.data);
318
+ }
319
+ return tables;
320
+ },
321
+ blockhash: async () => {
322
+ latest = await transport.latestBlockhash();
323
+ return latest;
324
+ },
325
+ };
326
+ const bundle = command.jito === undefined ? undefined : jitoBundles({ url: command.jito, fetch: runtime.fetch });
327
+ const report = await tick({
328
+ chain,
329
+ pricer: command.jupiter === undefined
330
+ ? issuePricer(await Promise.all(command.issue.map(async (route) => ({ ...route, outputTokenProgram: await tokenProgramOf(transport, route.outputMint) }))))
331
+ : jupiterPricer({
332
+ baseUrl: command.jupiter,
333
+ fetch: runtime.fetch,
334
+ slippageBps: command.slippageBps,
335
+ maxAccounts: SOLVER_ROUTE_ACCOUNTS,
336
+ ...(runtime.env[ENV_JUPITER_KEY] === undefined || !jupiterHost(command.jupiter)
337
+ ? {}
338
+ : { apiKey: runtime.env[ENV_JUPITER_KEY] }),
339
+ ...(command.routeProgram === undefined ? {} : { swapPrograms: new Set([command.routeProgram]) }),
340
+ }),
341
+ solver,
342
+ strategy: { minProfit: command.minProfit, maxFeeBps: command.maxFeeBps },
343
+ tip: command.tipLamports === 0n ? null : { account: tipAccount(runtime.entropy()), lamports: command.tipLamports },
344
+ lookupTables: command.lookupTables,
345
+ unitPrice: (instructions) => priceOf(transport, command.priority, instructions),
346
+ simulate: async (wire, watch) => {
347
+ const simulated = await transport.simulate(wire, watch);
348
+ return { err: simulated.err, unitsConsumed: simulated.unitsConsumed, balances: simulated.accounts.map(tokenAmountOf) };
349
+ },
350
+ send: async (wire) => {
351
+ if (bundle !== undefined) {
352
+ return { signature: await bundle([wire]), confirmed: false };
353
+ }
354
+ if (latest === undefined) {
355
+ throw new Error("no blockhash was fetched for this transaction");
356
+ }
357
+ return { signature: await transport.sendWire(wire, latest), confirmed: true };
358
+ },
359
+ });
360
+ return report;
361
+ }
362
+ case "set-economics": {
363
+ const { config } = await loadConfig(transport);
364
+ const e = command.economics;
365
+ const kindFees = KINDS.filter((kind) => (BigInt(e.kindFeeMask) & kindBit(kind)) !== 0n)
366
+ .map((kind) => `${KIND_NAMES[kind]} ${feeBpsFor({ feeBps: config.feeBps, ...e }, kind)} bps`)
367
+ .join(", ");
368
+ return administer(transport, runtime, command.by, async (admin) => [await buildUpdateEconomics({ admin, economics: e })], () => [
369
+ `Crank bounty: ${config.crankBounty} -> ${e.crankBounty} lamports per intent`,
370
+ `Create fee: ${config.createFee} -> ${e.createFee} lamports per intent`,
371
+ `Partner cut: ${config.partnerCutBps} -> ${e.partnerCutBps} bps of each partner fee`,
372
+ `Kind fees: ${kindFees === "" ? "none; every kind pays the base fee" : kindFees}`,
373
+ ]);
374
+ }
375
+ case "flow": {
376
+ const signer = await runtime.loadSigner(command.keypair);
377
+ const ctx = context(transport);
378
+ const raw = await rawFlowInput(transport, command.flow, command.input, signer.address);
379
+ switch (command.flow) {
380
+ case "create":
381
+ return perform(prepareCreate, ctx, { owner: signer.address, ...raw }, signer, command.yes);
382
+ case "mandate-grant":
383
+ return perform(prepareMandate, ctx, { owner: signer.address, ...raw }, signer, command.yes);
384
+ case "mandate-revoke":
385
+ return perform(prepareRevokeMandate, ctx, { owner: signer.address, ...raw }, signer, command.yes);
386
+ case "mandate-use":
387
+ return perform(prepareAgentCreate, ctx, { agent: signer.address, ...raw }, signer, command.yes);
388
+ case "approve":
389
+ case "revoke-approval": {
390
+ const input = raw;
391
+ return approval(transport, signer, input.mint, input.amount === undefined ? undefined : BigInt(input.amount), command.yes);
392
+ }
393
+ }
394
+ throw new FlowRefused(`unknown flow ${String(command.flow)}`);
395
+ }
396
+ case "lookup": {
397
+ const owner = command.input["owner"] ??
398
+ (command.keypair === undefined ? undefined : (await runtime.loadSigner(command.keypair)).address);
399
+ if (owner === undefined) {
400
+ throw new FlowRefused("name the owner with --owner or --keypair");
401
+ }
402
+ const action = command.lookup === "list" ? listIntents : getMandate;
403
+ return ask(action, context(transport), { ...command.input, owner });
404
+ }
405
+ case "signed-prepare": {
406
+ const owner = await runtime.loadSigner(command.keypair);
407
+ const input = await inRaw(transport, command.input, command.input["input_mint"], command.input["output_mint"]);
408
+ if (command.yes && (await runtime.readText(command.out).then(() => true, () => false))) {
409
+ throw new FlowRefused(`${command.out} already exists; choose another --out`);
410
+ }
411
+ const value = await ask(prepareSignedIntent, context(transport), { owner: owner.address, ...input });
412
+ if (!command.yes) {
413
+ return finish(transport, value, owner, false);
414
+ }
415
+ const signature = await signMessage(owner, value["message"]);
416
+ const shown = await finish(transport, value, owner, true);
417
+ await runtime.writeText(command.out, `${JSON.stringify({ version: SIGNED_FILE_VERSION, submit: value["submit"], signature }, null, 2)}\n`);
418
+ return { ...shown, saved: command.out };
419
+ }
420
+ case "signed-submit": {
421
+ const relayer = await runtime.loadSigner(command.keypair);
422
+ let saved;
423
+ try {
424
+ saved = JSON.parse(await runtime.readText(command.file));
425
+ }
426
+ catch {
427
+ throw new FlowRefused(`${command.file} is not a signed intent file`);
428
+ }
429
+ if (saved.version !== SIGNED_FILE_VERSION || saved.submit === undefined || typeof saved.signature !== "string") {
430
+ throw new FlowRefused(`${command.file} is not a signed intent file`);
431
+ }
432
+ const signed = { ...saved.submit, signature: saved.signature };
433
+ if (!command.yes) {
434
+ return { ...(await ask(previewSignedIntent, context(transport), signed)), sent: false, next: NOT_SENT };
435
+ }
436
+ return { ...(await ask(submitSignedIntent, context(transport, relayAnything(relayer, String(saved.submit["input_mint"]))), signed)), sent: true };
437
+ }
438
+ case "advance-epoch": {
439
+ const owner = await runtime.loadSigner(command.keypair);
440
+ const [userState] = await findUserStatePda({ owner: owner.address });
441
+ const view = await createdAccount(transport, userState);
442
+ if (view === null) {
443
+ throw new Error(`${owner.address} has no user state`);
444
+ }
445
+ const epoch = nextEpoch(getUserStateDecoder().decode(view.data).epoch);
446
+ const ix = await buildAdvanceEpoch({ owner, epoch });
447
+ return { epoch, signature: await transport.send([ix], owner) };
448
+ }
449
+ }
450
+ }
451
+ //# sourceMappingURL=commands.js.map