@intent-engine/cli 0.1.5 → 0.1.7

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 (62) hide show
  1. package/dist/src/accounts.d.ts +1 -3
  2. package/dist/src/accounts.js +4 -4
  3. package/dist/src/accounts.js.map +1 -1
  4. package/dist/src/agent/actions.d.ts +4 -3
  5. package/dist/src/agent/actions.js +2 -1
  6. package/dist/src/agent/actions.js.map +1 -1
  7. package/dist/src/agent/budget.d.ts +2 -1
  8. package/dist/src/agent/create.d.ts +15 -7
  9. package/dist/src/agent/create.js +10 -2
  10. package/dist/src/agent/create.js.map +1 -1
  11. package/dist/src/agent/mandate.d.ts +2 -6
  12. package/dist/src/agent/mandate.js +5 -5
  13. package/dist/src/agent/mandate.js.map +1 -1
  14. package/dist/src/agent/owner.d.ts +3 -3
  15. package/dist/src/agent/owner.js +1 -1
  16. package/dist/src/agent/owner.js.map +1 -1
  17. package/dist/src/agent/problems.d.ts +2 -2
  18. package/dist/src/agent/read.d.ts +0 -3
  19. package/dist/src/agent/read.js +3 -3
  20. package/dist/src/agent/read.js.map +1 -1
  21. package/dist/src/agent/relay.d.ts +3 -2
  22. package/dist/src/agent/schema.d.ts +2 -2
  23. package/dist/src/agent/settle.d.ts +0 -1
  24. package/dist/src/agent/settle.js +1 -1
  25. package/dist/src/agent/settle.js.map +1 -1
  26. package/dist/src/agent/shapes.d.ts +0 -3
  27. package/dist/src/agent/shapes.js +3 -3
  28. package/dist/src/agent/shapes.js.map +1 -1
  29. package/dist/src/agent/signed.d.ts +0 -8
  30. package/dist/src/agent/signed.js +5 -5
  31. package/dist/src/agent/signed.js.map +1 -1
  32. package/dist/src/agent/wallet.d.ts +0 -4
  33. package/dist/src/agent/wallet.js +4 -4
  34. package/dist/src/agent/wallet.js.map +1 -1
  35. package/dist/src/args.d.ts +13 -19
  36. package/dist/src/args.js +16 -10
  37. package/dist/src/args.js.map +1 -1
  38. package/dist/src/commands.d.ts +8 -24
  39. package/dist/src/commands.js +110 -71
  40. package/dist/src/commands.js.map +1 -1
  41. package/dist/src/compute.d.ts +0 -4
  42. package/dist/src/compute.js +4 -4
  43. package/dist/src/compute.js.map +1 -1
  44. package/dist/src/crank.d.ts +2 -6
  45. package/dist/src/crank.js +2 -2
  46. package/dist/src/crank.js.map +1 -1
  47. package/dist/src/flows.d.ts +0 -1
  48. package/dist/src/flows.js +2 -1
  49. package/dist/src/flows.js.map +1 -1
  50. package/dist/src/main.d.ts +3 -3
  51. package/dist/src/main.js +8 -3
  52. package/dist/src/main.js.map +1 -1
  53. package/dist/src/transport.d.ts +31 -3
  54. package/dist/src/transport.js +198 -16
  55. package/dist/src/transport.js.map +1 -1
  56. package/dist/src/treasury.d.ts +2 -2
  57. package/dist/src/version.d.ts +1 -1
  58. package/dist/src/version.js +1 -1
  59. package/dist/src/wallet.d.ts +0 -7
  60. package/dist/src/wallet.js +3 -3
  61. package/dist/src/wallet.js.map +1 -1
  62. package/package.json +3 -3
package/dist/src/args.js CHANGED
@@ -15,9 +15,9 @@ export const CLUSTERS = {
15
15
  };
16
16
  export const ENV_URL = "INTENT_ENGINE_URL";
17
17
  export const ENV_KEYPAIR = "INTENT_ENGINE_KEYPAIR";
18
- export const SETUP_CLUSTER = "devnet";
18
+ const SETUP_CLUSTER = "devnet";
19
19
  export const WALLET_NOT_MAINNET = "mcp --wallet keeps its key in a file on this machine, so it serves devnet, testnet and localnet only";
20
- export const BALANCE_OF_ONE = "balance takes --keypair or --owner, not both";
20
+ const BALANCE_OF_ONE = "balance takes --keypair or --owner, not both";
21
21
  export const GLOBAL_OPTIONS = ["output", "help"];
22
22
  export class UsageError extends Error {
23
23
  }
@@ -27,8 +27,8 @@ export const RELAY_DEFAULT_TTL = 24 * 60 * 60;
27
27
  export const RELAY_DEFAULT_HOURLY_LAMPORTS = 100000000n;
28
28
  export const AGENT_DEFAULT_HOURLY_LAMPORTS = 50000000n;
29
29
  export const RELAY_MAX_TTL = 365 * 24 * 60 * 60;
30
- export const RELAY_DEFAULT_PER_HOUR = 10;
31
- export const RELAY_MIN_TTL = 60;
30
+ const RELAY_DEFAULT_PER_HOUR = 10;
31
+ const RELAY_MIN_TTL = 60;
32
32
  export const TOKEN_SIDES = {
33
33
  "amount-in": "input",
34
34
  make: "input",
@@ -82,6 +82,7 @@ const OPTIONS = {
82
82
  help: { type: "boolean" },
83
83
  version: { type: "boolean" },
84
84
  follow: { type: "boolean" },
85
+ watch: { type: "boolean" },
85
86
  output: { type: "string" },
86
87
  interval: { type: "string" },
87
88
  "expires-in": { type: "string" },
@@ -139,7 +140,7 @@ const PAUSE_NAMES = { none: 0, create: 1, fill: 2, all: 3 };
139
140
  export function parseKinds(text) {
140
141
  return parseKindSet(text, "kinds", false);
141
142
  }
142
- export function parseKindSet(text, key, allowNone) {
143
+ function parseKindSet(text, key, allowNone) {
143
144
  if (allowNone && text === "none") {
144
145
  return 0n;
145
146
  }
@@ -160,13 +161,13 @@ export function parsePause(text, key) {
160
161
  }
161
162
  return flags;
162
163
  }
163
- export function parseBounded(text, key, max, min = 0) {
164
+ function parseBounded(text, key, max, min = 0) {
164
165
  if (!/^\d+$/.test(text) || BigInt(text) > BigInt(max) || BigInt(text) < BigInt(min)) {
165
166
  throw new UsageError(`--${key} must be an integer from ${min} to ${max}`);
166
167
  }
167
168
  return Number(text);
168
169
  }
169
- export function parseKindFees(text) {
170
+ function parseKindFees(text) {
170
171
  const bps = [0, 0, 0, 0];
171
172
  let mask = 0;
172
173
  if (text === "") {
@@ -258,7 +259,7 @@ export const ACCEPTS = {
258
259
  ],
259
260
  "propose-admin": ["url", "priority-fee", "keypair", "authority", "yes", "new-admin"],
260
261
  "accept-admin": ["url", "priority-fee", "keypair", "authority", "yes"],
261
- solve: ["url", "priority-fee", "keypair", "jupiter", "issue", "jito", "tip", "min-profit", "max-fee-bps", "slippage-bps", "route-program", "lookup-table"],
262
+ solve: ["url", "priority-fee", "keypair", "jupiter", "issue", "jito", "tip", "min-profit", "max-fee-bps", "slippage-bps", "route-program", "lookup-table", "watch", "interval"],
262
263
  "solver-table": ["url", "solver", "mints"],
263
264
  "lower-pause": ["url", "priority-fee", "keypair", "authority", "yes", "flags"],
264
265
  events: ["url", "limit", "follow", "interval"],
@@ -373,7 +374,7 @@ export const SUB_ACCEPTS = {
373
374
  submit: ["url", "keypair", "yes", "file"],
374
375
  },
375
376
  };
376
- export function noRepeats(argv) {
377
+ function noRepeats(argv) {
377
378
  const seen = new Set();
378
379
  for (const arg of argv) {
379
380
  if (arg === "--") {
@@ -811,6 +812,7 @@ export function outputOf(argv) {
811
812
  return value;
812
813
  }
813
814
  export const MAX_FOLLOW_INTERVAL = 3_600;
815
+ export const WATCH_INTERVAL = 5;
814
816
  export const COMMANDS = "setup | balance | pda | domain | mcp | show config | show intent | quote | cancel | expire | close | advance-nonce | advance-epoch | create swap|limit|dutch|attested | list | mandate grant|show|revoke|use <kind> | approve | revoke-approval | signed prepare <kind>|submit | init-config | update-config | set-economics | propose-admin | accept-admin | solve | raise-pause | lower-pause | crank | treasury | solver-table | events | version | help [command]";
815
817
  export const USAGE = `usage: ${COMMANDS}`;
816
818
  const MANDATE_ORDER_SHAPE = "(--amount-in --min-out | --make --take | --amount-in --start-out --end-out --start-at --end-at)";
@@ -836,7 +838,7 @@ export const SHAPES = {
836
838
  "raise-pause": "(--keypair <file> [--yes] | --authority <address>) --flags create|fill|all",
837
839
  "lower-pause": "(--keypair <file> [--yes] | --authority <address>) --flags create|fill|all",
838
840
  "set-economics": "(--keypair <file> [--yes] | --authority <address>) --bounty --create-fee [--kind-fees] [--partner-cut]",
839
- solve: "--keypair <file> (--jupiter <url> | --issue <input mint>:<output mint>=<out>/<in>,...) --min-profit <output mint=raw,...> [--priority-fee <micro-lamports|auto>] [--max-fee-bps <n>] [--slippage-bps <n>] [--jito <url> [--tip <lamports>]] [--route-program <program the aggregator swaps through>] [--lookup-table <address,...>]",
841
+ solve: "--keypair <file> (--jupiter <url> | --issue <input mint>:<output mint>=<out>/<in>,...) --min-profit <output mint=raw,...> [--priority-fee <micro-lamports|auto>] [--max-fee-bps <n>] [--slippage-bps <n>] [--jito <url> [--tip <lamports>]] [--route-program <program the aggregator swaps through>] [--lookup-table <address,...>] [--watch [--interval <seconds>]]",
840
842
  "solver-table": "--solver <address> --mints <mint,...>",
841
843
  crank: "--keypair <file> [--dry-run] [--fund-accounts]",
842
844
  treasury: "[--mints <mint,...>] [--create --mints <mint,...> --keypair <payer file> [--yes]]",
@@ -1004,6 +1006,9 @@ export function parse(argv, env = {}) {
1004
1006
  if (tipLamports > 0n && values.jito === undefined) {
1005
1007
  throw new UsageError("--tip pays a jito tip and needs --jito");
1006
1008
  }
1009
+ if (values.interval !== undefined && values.watch !== true) {
1010
+ throw new UsageError("--interval needs --watch");
1011
+ }
1007
1012
  return {
1008
1013
  name: "solve",
1009
1014
  ...remote,
@@ -1016,6 +1021,7 @@ export function parse(argv, env = {}) {
1016
1021
  slippageBps: parseBounded(values["slippage-bps"] ?? "50", "slippage-bps", 10_000),
1017
1022
  routeProgram: values["route-program"] === undefined ? undefined : parseAddress(values["route-program"], "route-program"),
1018
1023
  lookupTables: values["lookup-table"] === undefined ? [] : addressList(values["lookup-table"], "lookup-table"),
1024
+ watch: values.watch === true ? parseBounded(values.interval ?? String(WATCH_INTERVAL), "interval", MAX_FOLLOW_INTERVAL, 1) : null,
1019
1025
  };
1020
1026
  }
1021
1027
  case "update-config":
@@ -1 +1 @@
1
- {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/args.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import { type Address, type Instruction, type KeyPairSigner, type TransactionSigner } from "@solana/kit";
1
+ import { type Address, type KeyPairSigner } from "@solana/kit";
2
2
  import { type Fetch } from "@intent-engine/solver";
3
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";
4
+ import { type Command, type Env } from "./args.js";
5
+ import { type IntentChanges, type Transport } from "./transport.js";
6
6
  export type Runtime = {
7
7
  transport(url: string): Transport;
8
+ intentChanges(url: string): IntentChanges;
8
9
  loadSigner(path: string): Promise<KeyPairSigner>;
9
10
  readText(path: string): Promise<string>;
10
11
  sleep(seconds: number): Promise<boolean>;
@@ -17,35 +18,18 @@ export type Runtime = {
17
18
  entropy(): number;
18
19
  serve(server: McpServer): Promise<void>;
19
20
  };
20
- export declare const SOLVER_ROUTE_ACCOUNTS = 40;
21
21
  export declare const configExists: (config: Address) => string;
22
22
  export declare const ENV_JUPITER_KEY = "JUPITER_API_KEY";
23
23
  export declare const JUPITER_DOMAIN = "jup.ag";
24
24
  export declare function jupiterHost(url: string): boolean;
25
25
  export * from "./accounts.js";
26
26
  export * from "./crank.js";
27
- export declare const SIGNED_FILE_VERSION = 1;
28
27
  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
28
  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
29
  export declare const followGap: (limit: number) => string;
50
30
  export declare function follow(transport: Transport, runtime: Runtime, limit: number, interval: number, emit: (value: object) => void): Promise<number>;
31
+ type SolveCommand = Extract<Command, {
32
+ name: "solve";
33
+ }>;
34
+ export declare function watchSolve(command: SolveCommand, interval: number, runtime: Runtime, emit: (value: object) => void): Promise<number>;
51
35
  export declare function run(command: Command, runtime: Runtime): Promise<object | null>;
@@ -1,6 +1,6 @@
1
1
  import { createNoopSigner, getBase58Decoder, getBase64Decoder, getBase64Encoder, isSignerRole, isWritableRole, } from "@solana/kit";
2
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";
3
+ import { decodeLookupTable, issuePricer, jitoBundles, jupiterPricer, remembering, solverTableAccounts, tick, tipAccount, } from "@intent-engine/solver";
4
4
  import { agentServer } from "./agent/mcp.js";
5
5
  import { claimsOf } from "./agent/claims.js";
6
6
  import { budgetOf } from "./agent/budget.js";
@@ -17,11 +17,12 @@ import { prepareSignedIntent, previewSignedIntent, submitSignedIntent } from "./
17
17
  import { approval, ask, finish, FlowRefused, hasTokens, inRaw, NOT_SENT, perform, signMessage } from "./flows.js";
18
18
  import { loadMandate } from "./agent/mandate.js";
19
19
  import { RELAY_MAX_TTL } from "./args.js";
20
+ import { memoized } from "./transport.js";
20
21
  import { chainTime, clusterDomain, createdAccount, describeIntent, loadConfig, loadIntent, quoteOf, sameBytes, tokenAmountOf, tokenProgramOf, } from "./accounts.js";
21
22
  import { closing, crank, expiring } from "./crank.js";
22
23
  import { priceOf, withPriority } from "./compute.js";
23
24
  import { createTreasuryAccounts, intentInputMints, treasuryView } from "./treasury.js";
24
- export const SOLVER_ROUTE_ACCOUNTS = 40;
25
+ const SOLVER_ROUTE_ACCOUNTS = 40;
25
26
  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
27
  export const ENV_JUPITER_KEY = "JUPITER_API_KEY";
27
28
  export const JUPITER_DOMAIN = "jup.ag";
@@ -31,9 +32,9 @@ export function jupiterHost(url) {
31
32
  }
32
33
  export * from "./accounts.js";
33
34
  export * from "./crank.js";
34
- export const SIGNED_FILE_VERSION = 1;
35
+ const SIGNED_FILE_VERSION = 1;
35
36
  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
+ function relayAnything(signer, mint) {
37
38
  return relayOf(signer, {
38
39
  maxLamports: U64_MAX,
39
40
  maxTtl: BigInt(RELAY_MAX_TTL),
@@ -65,7 +66,7 @@ function context(transport, relay = undefined) {
65
66
  return { transport, relay, agent: undefined, claims: claimsOf() };
66
67
  }
67
68
  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
+ function instructionView(ix) {
69
70
  return {
70
71
  program: ix.programAddress,
71
72
  accounts: (ix.accounts ?? []).map((meta) => ({
@@ -81,7 +82,7 @@ const kindList = (mask) => KINDS.filter((kind) => (mask & kindBit(kind)) !== 0n)
81
82
  .join(", ") || "none";
82
83
  const pauseList = (flags) => [...((flags & PAUSE_CREATE) !== 0 ? ["creating"] : []), ...((flags & PAUSE_FILL) !== 0 ? ["filling"] : [])].join(" and ") ||
83
84
  "nothing";
84
- export async function administer(transport, runtime, by, build, summary, extra = {}) {
85
+ async function administer(transport, runtime, by, build, summary, extra = {}) {
85
86
  if ("keypair" in by) {
86
87
  const signer = await runtime.loadSigner(by.keypair);
87
88
  const instructions = await build(signer);
@@ -106,7 +107,7 @@ export async function administer(transport, runtime, by, build, summary, extra =
106
107
  },
107
108
  };
108
109
  }
109
- export async function engineEvents(transport, limit) {
110
+ async function engineEvents(transport, limit) {
110
111
  return (await transport.engineTransactions(limit)).map((tx) => ({
111
112
  signature: tx.signature,
112
113
  slot: tx.slot,
@@ -133,6 +134,103 @@ export async function follow(transport, runtime, limit, interval, emit) {
133
134
  } while (await runtime.sleep(interval));
134
135
  return shown;
135
136
  }
137
+ export async function watchSolve(command, interval, runtime, emit) {
138
+ const transport = withPriority(runtime.transport(command.url), command.priority);
139
+ const options = await solverOptions(command, runtime, transport);
140
+ const chain = remembering(options.chain);
141
+ const live = {
142
+ ...options,
143
+ chain,
144
+ send: command.jito === undefined ? async (wire) => ({ signature: await transport.submitWire(wire), confirmed: false }) : options.send,
145
+ };
146
+ const changes = runtime.intentChanges(command.url);
147
+ let acted = 0;
148
+ try {
149
+ for (let changed = []; changed !== null; changed = await changes.wait(interval)) {
150
+ const only = changed.map(({ address, data }) => ({ address, intent: getIntentDecoder().decode(data) }));
151
+ const round = only.length === 0 ? live : { ...live, chain: { ...chain, intents: async () => only } };
152
+ try {
153
+ const { filled, sent, failed } = await tick(round);
154
+ if (filled.length + sent.length + failed.length > 0) {
155
+ emit({ filled, sent, failed });
156
+ acted += filled.length + sent.length;
157
+ }
158
+ if (failed.length > 0) {
159
+ chain.forget();
160
+ }
161
+ }
162
+ catch (error) {
163
+ chain.forget();
164
+ emit({ error: error instanceof Error ? error.message : String(error) });
165
+ }
166
+ }
167
+ }
168
+ finally {
169
+ changes.close();
170
+ }
171
+ return acted;
172
+ }
173
+ async function solverOptions(command, runtime, transport) {
174
+ const solver = await runtime.loadSigner(command.keypair);
175
+ let latest;
176
+ const chain = {
177
+ config: async () => (await loadConfig(transport)).config,
178
+ intents: async () => (await transport.intents()).map(({ address, data }) => ({ address, intent: getIntentDecoder().decode(data) })),
179
+ now: () => chainTime(transport),
180
+ tokenProgram: (mint) => tokenProgramOf(transport, mint),
181
+ exists: async (address) => (await createdAccount(transport, address)) !== null,
182
+ tokenAmount: async (address) => tokenAmountOf((await transport.getAccount(address))?.data ?? null) ?? 0n,
183
+ lookupTables: async (addresses) => {
184
+ const tables = {};
185
+ for (const address of addresses) {
186
+ const view = await transport.getAccount(address);
187
+ if (view === null) {
188
+ throw new Error(`lookup table ${address} does not exist`);
189
+ }
190
+ tables[address] = decodeLookupTable(view.data);
191
+ }
192
+ return tables;
193
+ },
194
+ blockhash: async () => {
195
+ latest = await transport.latestBlockhash();
196
+ return latest;
197
+ },
198
+ };
199
+ const bundle = command.jito === undefined ? undefined : jitoBundles({ url: command.jito, fetch: runtime.fetch });
200
+ return {
201
+ chain,
202
+ pricer: command.jupiter === undefined
203
+ ? issuePricer(await Promise.all(command.issue.map(async (route) => ({ ...route, outputTokenProgram: await tokenProgramOf(transport, route.outputMint) }))))
204
+ : jupiterPricer({
205
+ baseUrl: command.jupiter,
206
+ fetch: runtime.fetch,
207
+ slippageBps: command.slippageBps,
208
+ maxAccounts: SOLVER_ROUTE_ACCOUNTS,
209
+ ...(runtime.env[ENV_JUPITER_KEY] === undefined || !jupiterHost(command.jupiter)
210
+ ? {}
211
+ : { apiKey: runtime.env[ENV_JUPITER_KEY] }),
212
+ ...(command.routeProgram === undefined ? {} : { swapPrograms: new Set([command.routeProgram]) }),
213
+ }),
214
+ solver,
215
+ strategy: { minProfit: command.minProfit, maxFeeBps: command.maxFeeBps },
216
+ tip: command.tipLamports === 0n ? null : { account: tipAccount(runtime.entropy()), lamports: command.tipLamports },
217
+ lookupTables: command.lookupTables,
218
+ unitPrice: (instructions) => priceOf(transport, command.priority, instructions),
219
+ simulate: async (wire, watch) => {
220
+ const simulated = await transport.simulate(wire, watch);
221
+ return { err: simulated.err, unitsConsumed: simulated.unitsConsumed, balances: simulated.accounts.map(tokenAmountOf) };
222
+ },
223
+ send: async (wire) => {
224
+ if (bundle !== undefined) {
225
+ return { signature: await bundle([wire]), confirmed: false };
226
+ }
227
+ if (latest === undefined) {
228
+ throw new Error("no blockhash was fetched for this transaction");
229
+ }
230
+ return { signature: await transport.sendWire(wire, latest), confirmed: true };
231
+ },
232
+ };
233
+ }
136
234
  export async function run(command, runtime) {
137
235
  if (command.name === "help") {
138
236
  return usageOf(command.verb);
@@ -297,68 +395,8 @@ export async function run(command, runtime) {
297
395
  const ix = await buildAdvanceNonce({ owner, nonceBase: command.base });
298
396
  return { signature: await transport.send([ix], owner) };
299
397
  }
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
- }
398
+ case "solve":
399
+ return tick(await solverOptions(command, runtime, transport));
362
400
  case "set-economics": {
363
401
  const { config } = await loadConfig(transport);
364
402
  const e = command.economics;
@@ -374,8 +412,9 @@ export async function run(command, runtime) {
374
412
  }
375
413
  case "flow": {
376
414
  const signer = await runtime.loadSigner(command.keypair);
377
- const ctx = context(transport);
378
- const raw = await rawFlowInput(transport, command.flow, command.input, signer.address);
415
+ const reading = memoized(transport);
416
+ const ctx = context(reading);
417
+ const raw = await rawFlowInput(reading, command.flow, command.input, signer.address);
379
418
  switch (command.flow) {
380
419
  case "create":
381
420
  return perform(prepareCreate, ctx, { owner: signer.address, ...raw }, signer, command.yes);