@intent-engine/solver 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.
@@ -64,3 +64,9 @@ export declare const BALANCES_REFUSED = "the fill would leave the solver with le
64
64
  export declare const ROUTE_ACCOUNT_BUDGETS: readonly [40, 30, 20];
65
65
  export declare const tooLarge: (bytes: number | null, accounts: number) => string;
66
66
  export declare function tick(o: SolverOptions): Promise<Report>;
67
+ export declare const CONFIG_TTL_MS = 30000;
68
+ export declare const BLOCKHASH_TTL_MS = 20000;
69
+ export type Remembering = Chain & {
70
+ forget(): void;
71
+ };
72
+ export declare function remembering(chain: Chain, clock?: () => number): Remembering;
@@ -21,14 +21,14 @@ export async function tick(o) {
21
21
  continue;
22
22
  }
23
23
  try {
24
- const inputTokenProgram = await o.chain.tokenProgram(intent.inputMint);
24
+ const [inputTokenProgram, outputTokenProgram] = await Promise.all([
25
+ o.chain.tokenProgram(intent.inputMint),
26
+ o.chain.tokenProgram(intent.outputMint),
27
+ ]);
25
28
  const payable = async (draft) => {
26
- const missing = [];
27
- for (const payout of await payoutAccounts(draft, config.feeRecipient, inputTokenProgram)) {
28
- if (!(await o.chain.exists(payout.address))) {
29
- missing.push(payout.name);
30
- }
31
- }
29
+ const payouts = await payoutAccounts(draft, config.feeRecipient, inputTokenProgram);
30
+ const found = await Promise.all(payouts.map((payout) => o.chain.exists(payout.address)));
31
+ const missing = payouts.filter((_, i) => !found[i]).map((payout) => payout.name);
32
32
  return missing.length === 0 ? null : `no ${missing.join(" or ")} account to pay into`;
33
33
  };
34
34
  const solverInput = await findAssociatedTokenAddress({
@@ -36,12 +36,16 @@ export async function tick(o) {
36
36
  mint: intent.inputMint,
37
37
  tokenProgram: inputTokenProgram,
38
38
  });
39
- const outputTokenProgram = await o.chain.tokenProgram(intent.outputMint);
40
39
  const solverOutput = await findAssociatedTokenAddress({
41
40
  owner: o.solver.address,
42
41
  mint: intent.outputMint,
43
42
  tokenProgram: outputTokenProgram,
44
43
  });
44
+ const [inputExists, outputExists, latest] = await Promise.all([
45
+ o.chain.exists(solverInput),
46
+ o.chain.exists(solverOutput),
47
+ o.chain.blockhash(),
48
+ ]);
45
49
  const draft = {
46
50
  solver: o.solver,
47
51
  feeRecipient: config.feeRecipient,
@@ -49,14 +53,13 @@ export async function tick(o) {
49
53
  outputTokenProgram,
50
54
  computeUnits: MAX_COMPUTE_UNITS,
51
55
  unitPrice: 0n,
52
- createSolverInput: !(await o.chain.exists(solverInput)),
53
- createSolverOutput: !(await o.chain.exists(solverOutput)),
56
+ createSolverInput: !inputExists,
57
+ createSolverOutput: !outputExists,
54
58
  tip: o.tip,
55
59
  };
56
60
  let fitting = null;
57
61
  let skipped = null;
58
62
  let size = { bytes: null, accounts: 0 };
59
- const latest = await o.chain.blockhash();
60
63
  for (const routeAccounts of ROUTE_ACCOUNT_BUDGETS) {
61
64
  const decision = await decide(address, intent, config, now, o.pricer, o.solver.address, { ...o.strategy, routeAccounts }, payable);
62
65
  if (decision.kind === "skip") {
@@ -85,7 +88,7 @@ export async function tick(o) {
85
88
  continue;
86
89
  }
87
90
  const { plan, context, tables, probe } = fitting;
88
- const before = [await o.chain.tokenAmount(solverInput), await o.chain.tokenAmount(solverOutput)];
91
+ const before = await Promise.all([o.chain.tokenAmount(solverInput), o.chain.tokenAmount(solverOutput)]);
89
92
  const simulated = await o.simulate(probe, [solverInput, solverOutput]);
90
93
  if (simulated.err !== null) {
91
94
  report.failed.push({ intent: address, error: `${SIMULATION_REFUSED}: ${simulated.err}` });
@@ -117,4 +120,64 @@ export async function tick(o) {
117
120
  }
118
121
  return report;
119
122
  }
123
+ export const CONFIG_TTL_MS = 30_000;
124
+ export const BLOCKHASH_TTL_MS = 20_000;
125
+ function fresh(ttl, clock, load) {
126
+ let held = null;
127
+ return {
128
+ get: () => {
129
+ if (held === null || clock() - held.at > ttl) {
130
+ const value = load();
131
+ const entry = { at: clock(), value };
132
+ held = entry;
133
+ value.catch(() => {
134
+ if (held === entry) {
135
+ held = null;
136
+ }
137
+ });
138
+ }
139
+ return held.value;
140
+ },
141
+ clear: () => {
142
+ held = null;
143
+ },
144
+ };
145
+ }
146
+ export function remembering(chain, clock = Date.now) {
147
+ const programs = new Map();
148
+ const existing = new Set();
149
+ const config = fresh(CONFIG_TTL_MS, clock, () => chain.config());
150
+ const blockhash = fresh(BLOCKHASH_TTL_MS, clock, () => chain.blockhash());
151
+ return {
152
+ ...chain,
153
+ config: () => config.get(),
154
+ blockhash: () => blockhash.get(),
155
+ tokenProgram: (mint) => {
156
+ const known = programs.get(mint);
157
+ if (known !== undefined) {
158
+ return known;
159
+ }
160
+ const loaded = chain.tokenProgram(mint);
161
+ programs.set(mint, loaded);
162
+ loaded.catch(() => programs.delete(mint));
163
+ return loaded;
164
+ },
165
+ exists: async (address) => {
166
+ if (existing.has(address)) {
167
+ return true;
168
+ }
169
+ const found = await chain.exists(address);
170
+ if (found) {
171
+ existing.add(address);
172
+ }
173
+ return found;
174
+ },
175
+ forget: () => {
176
+ programs.clear();
177
+ existing.clear();
178
+ config.clear();
179
+ blockhash.clear();
180
+ },
181
+ };
182
+ }
120
183
  //# sourceMappingURL=solver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"solver.js","sourceRoot":"","sources":["../../src/solver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solver.js","sourceRoot":"","sources":["../../src/solver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intent-engine/solver",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "A solver that fills intent engine intents at a profit",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -23,7 +23,7 @@
23
23
  "@solana-program/system": "0.14.1",
24
24
  "@solana-program/token": "0.16.1",
25
25
  "@solana/kit": "8.4.0",
26
- "@intent-engine/core": "0.1.5"
26
+ "@intent-engine/core": "0.1.7"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/node": "26.6.4",