@intent-engine/client 0.1.21 → 0.1.23

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.
@@ -43,8 +43,8 @@ export async function budgeted(transport, priority, instructions, feePayer) {
43
43
  }
44
44
  const price = await priceOf(transport, priority, instructions);
45
45
  const head = price > 0n ? [computeUnitPrice(price)] : [];
46
- const consumed = await unitsOf(transport, [computeUnitLimit(MAX_COMPUTE_UNITS), ...head, ...instructions], feePayer);
47
- return [computeUnitLimit(consumed === null ? MAX_COMPUTE_UNITS : headroom(consumed)), ...head, ...instructions];
46
+ const consumed = await unitsOf(transport, [...instructions, computeUnitLimit(MAX_COMPUTE_UNITS), ...head], feePayer);
47
+ return [...instructions, computeUnitLimit(consumed === null ? MAX_COMPUTE_UNITS : headroom(consumed)), ...head];
48
48
  }
49
49
  export function withPriority(inner, priority) {
50
50
  const budget = (instructions, feePayer) => budgeted(inner, priority, instructions, feePayer);
@@ -1 +1 @@
1
- {"version":3,"file":"budget.js","sourceRoot":"","sources":["../../src/budget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"budget.js","sourceRoot":"","sources":["../../src/budget.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { type Address, type Instruction, type KeyPairSigner, type Signature, typ
2
2
  import { type Config, type EngineEvent, type Intent, type IntentParams } from "@intent-engine/core";
3
3
  import { type Priority } from "./budget.js";
4
4
  import { type EngineError } from "./errors.js";
5
+ import { type DeliverInput, type Delivery, type Job, type Spec, type SpecFetch } from "./jobs.js";
5
6
  import { type Notifications, type Simulation, type Transport } from "./transport.js";
6
7
  export type ClientOptions = {
7
8
  url: string;
@@ -10,6 +11,7 @@ export type ClientOptions = {
10
11
  priority?: Priority;
11
12
  pollMs?: number;
12
13
  resyncSeconds?: number;
14
+ fetch?: SpecFetch;
13
15
  };
14
16
  export type IntentAccount = {
15
17
  address: Address;
@@ -19,7 +21,7 @@ export type IntentFilter = {
19
21
  owner?: Address;
20
22
  status?: number;
21
23
  };
22
- export type WatchCallback = (changed: IntentAccount[], closed: Address[]) => void;
24
+ export type WatchCallback = (changed: IntentAccount[], closed: IntentAccount[]) => void;
23
25
  export type Mint = {
24
26
  decimals: number;
25
27
  tokenProgram: Address;
@@ -33,6 +35,7 @@ export type CreateIntentInput = {
33
35
  expiresAt?: bigint;
34
36
  nonce?: bigint;
35
37
  receiver?: Address;
38
+ specUrl?: string;
36
39
  };
37
40
  export type CreatedIntent = {
38
41
  signature: Signature;
@@ -46,10 +49,42 @@ export type SettleProofInput = {
46
49
  payTo: Address;
47
50
  result: bigint;
48
51
  payer?: TransactionSigner;
52
+ deliveredSha256?: string;
49
53
  };
50
54
  export type HistoryEvent = EngineEvent & {
51
55
  signature: Signature;
52
56
  slot: bigint;
57
+ blockTime: bigint | null;
58
+ };
59
+ export type FillInput = {
60
+ solver: TransactionSigner;
61
+ owner: Address;
62
+ nonce: bigint;
63
+ amountIn?: bigint;
64
+ amountOut?: bigint;
65
+ route?: readonly Instruction[];
66
+ };
67
+ export type Fill = {
68
+ steps: 1 | 2;
69
+ solver: Address;
70
+ delivered: bigint;
71
+ required: bigint;
72
+ fee: bigint;
73
+ net: bigint;
74
+ signature: Signature;
75
+ slot: bigint;
76
+ blockTime: bigint | null;
77
+ };
78
+ export type TokenBalance = {
79
+ mint: Address;
80
+ name: string | undefined;
81
+ account: Address;
82
+ amount: bigint;
83
+ decimals: number;
84
+ };
85
+ export type Balances = {
86
+ sol: bigint;
87
+ tokens: TokenBalance[];
53
88
  };
54
89
  export type Client = {
55
90
  readonly url: string;
@@ -71,7 +106,22 @@ export type Client = {
71
106
  cancel(signer: TransactionSigner, nonce: bigint): Promise<Signature>;
72
107
  unwrap(signer: TransactionSigner): Promise<Signature | null>;
73
108
  settleProof(input: SettleProofInput): Promise<Signature>;
109
+ fill(input: FillInput): Promise<Signature>;
110
+ fillOf(intent: Address): Promise<Fill | null>;
111
+ expire(cranker: TransactionSigner, owner: Address, nonce: bigint): Promise<Signature>;
112
+ close(cranker: TransactionSigner, owner: Address, nonce: bigint): Promise<Signature>;
113
+ balances(owner: Address, mints: readonly Address[]): Promise<Balances>;
114
+ jobs(filter?: {
115
+ attestor?: Address;
116
+ }): Promise<Job[]>;
117
+ spec(intent: Address): Promise<Spec | null>;
118
+ deliver(input: DeliverInput): Promise<Signature>;
119
+ deliveries(filter: {
120
+ judge: Address;
121
+ intent?: Address;
122
+ }): Promise<Delivery[]>;
74
123
  };
124
+ export declare const SPEC_URL_NEEDS_PROOF = "specUrl needs an AttestedResult intent with a non-zero specHash";
75
125
  export declare const DEFAULT_EXPIRES_IN = 3600n;
76
126
  export declare const HISTORY_LIMIT = 100;
77
127
  export declare const WATCH_POLL_MS = 2000;
@@ -84,4 +134,8 @@ export declare class NotSettleable extends Error {
84
134
  readonly intent: Address;
85
135
  constructor(intent: Address, reason: string);
86
136
  }
137
+ export declare class NotFillable extends Error {
138
+ readonly intent: Address;
139
+ constructor(intent: Address, reason: string);
140
+ }
87
141
  export declare function createClient(options: ClientOptions): Client;
@@ -1,11 +1,13 @@
1
1
  import { createSolanaRpc } from "@solana/kit";
2
- import { attestedProofMessage, buildCancelIntent, buildCreateIntent, buildFillAttested, decodeEvent, decodeParams, escrowAmount, feeBpsFor, findAssociatedTokenAddress, findIntentPda, getIntentDecoder, IntentStatus, Kind, NATIVE_MINT, nextFreeNonce, signEd25519Instruction, splitFees, TOKEN_PROGRAM_ADDRESS, } from "@intent-engine/core";
2
+ import { attestedProofMessage, buildCancelIntent, buildCloseIntent, buildCreateIntent, buildExpireIntent, buildFillAttested, buildFillIntent, decodeEvent, decodeParams, escrowAmount, feeBpsFor, findAssociatedTokenAddress, findIntentPda, getIntentDecoder, IntentStatus, Kind, isSha256Hex, NATIVE_MINT, nextFreeNonce, remainingOf, releaseMemo, requiredOut, signEd25519Instruction, specMemo, splitFees, TOKEN_PROGRAM_ADDRESS, tokenName, } from "@intent-engine/core";
3
3
  import { getCloseAccountInstruction } from "@solana-program/token";
4
- import { chainTime, createdAccount, loadConfig, loadIntent, loadUser, MissingAccount, mintOf } from "./accounts.js";
4
+ import { chainTime, createdAccount, loadConfig, loadIntent, loadUser, MissingAccount, mintOf, tokenAmountOf, } from "./accounts.js";
5
5
  import { budgeted, simulated } from "./budget.js";
6
6
  import { explain } from "./errors.js";
7
+ import { deliveriesOf, deliveryInstructions, jobsOf, memoInstruction, readSpec, } from "./jobs.js";
7
8
  import { initUserIfMissing, tokenAccountIfMissing, wrapIfShort } from "./setup.js";
8
9
  import { changesFrom, intentNotifications, pause, rpcTransport, signatureWatch, } from "./transport.js";
10
+ export const SPEC_URL_NEEDS_PROOF = "specUrl needs an AttestedResult intent with a non-zero specHash";
9
11
  export const DEFAULT_EXPIRES_IN = 3600n;
10
12
  export const HISTORY_LIMIT = 100;
11
13
  export const WATCH_POLL_MS = 2_000;
@@ -26,6 +28,14 @@ export class NotSettleable extends Error {
26
28
  this.intent = intent;
27
29
  }
28
30
  }
31
+ export class NotFillable extends Error {
32
+ intent;
33
+ constructor(intent, reason) {
34
+ super(`intent ${intent} ${reason}`);
35
+ this.name = "NotFillable";
36
+ this.intent = intent;
37
+ }
38
+ }
29
39
  function nonceAfter(owner, user) {
30
40
  if (user === null) {
31
41
  return 0n;
@@ -52,14 +62,15 @@ export function createClient(options) {
52
62
  return [];
53
63
  }
54
64
  const key = Buffer.from(account.data).toString("base64");
55
- if (seen.get(account.address) === key) {
65
+ if (seen.get(account.address)?.key === key) {
56
66
  return [];
57
67
  }
58
- seen.set(account.address, key);
68
+ seen.set(account.address, { key, view });
59
69
  return [view];
60
70
  });
61
- const report = (changed, closed) => {
62
- if ((changed.length > 0 || closed.length > 0) && !signal.aborted) {
71
+ let read = false;
72
+ const report = (changed, closed, first = false) => {
73
+ if ((changed.length > 0 || closed.length > 0 || first) && !signal.aborted) {
63
74
  onChange(changed, closed);
64
75
  }
65
76
  };
@@ -70,11 +81,12 @@ export function createClient(options) {
70
81
  }
71
82
  const present = new Set(accounts.map(({ address }) => address));
72
83
  const changed = fresh(accounts);
73
- const closed = [...seen.keys()].filter((address) => !present.has(address));
74
- for (const address of closed) {
84
+ const closed = [...seen].filter(([address]) => !present.has(address)).map(([, { view }]) => view);
85
+ for (const { address } of closed) {
75
86
  seen.delete(address);
76
87
  }
77
- report(changed, closed);
88
+ report(changed, closed, !read);
89
+ read = true;
78
90
  };
79
91
  if (notifications === undefined) {
80
92
  while (!signal.aborted) {
@@ -118,6 +130,10 @@ export function createClient(options) {
118
130
  const createIntent = async (input) => {
119
131
  const { signer, params, inputMint, outputMint } = input;
120
132
  const owner = signer.address;
133
+ if (input.specUrl !== undefined && (params.kind !== Kind.AttestedResult || params.specHash.every((b) => b === 0))) {
134
+ throw new RangeError(SPEC_URL_NEEDS_PROOF);
135
+ }
136
+ const published = input.specUrl === undefined ? [] : [memoInstruction(signer, specMemo(input.specUrl))];
121
137
  const [settings, sell, buy, user] = await Promise.all([config(), mint(inputMint), mint(outputMint), loadUser(transport, owner)]);
122
138
  const nonce = input.nonce ?? nonceAfter(owner, user);
123
139
  const expiresAt = input.expiresAt ?? (await chainTime(transport)) + (input.expiresIn ?? DEFAULT_EXPIRES_IN);
@@ -139,7 +155,7 @@ export function createClient(options) {
139
155
  ...(recipient === owner ? {} : { receiver: receiver.address, receiverAuthority: recipient }),
140
156
  });
141
157
  const register = await initUserIfMissing(user, signer);
142
- const signature = await send([...register, ...receiver.create, ...wrap.instructions, create], signer);
158
+ const signature = await send([...register, ...receiver.create, ...wrap.instructions, create, ...published], signer);
143
159
  const [intent] = await findIntentPda({ owner, nonce });
144
160
  return { signature, intent, nonce };
145
161
  };
@@ -158,14 +174,108 @@ export function createClient(options) {
158
174
  };
159
175
  const history = async (intent, limit = HISTORY_LIMIT) => (await transport.engineTransactions(limit, intent))
160
176
  .filter(({ failed }) => !failed)
161
- .flatMap(({ signature, slot, emitted }) => emitted
177
+ .flatMap(({ signature, slot, blockTime, emitted }) => emitted
162
178
  .map((data) => decodeEvent(data))
163
179
  .filter((event) => event !== null && "intent" in event.fields && event.fields.intent === intent)
164
180
  .reverse()
165
- .map((event) => ({ ...event, signature: signature, slot })));
181
+ .map((event) => ({ ...event, signature: signature, slot, blockTime })));
182
+ const fillOf = async (intent) => {
183
+ const events = await history(intent);
184
+ for (const event of events) {
185
+ const { signature, slot, blockTime } = event;
186
+ if (event.name === "IntentFilled") {
187
+ const { solver, delivered, required, fee, net } = event.fields;
188
+ return { steps: 1, solver, delivered, required, fee, net, signature, slot, blockTime };
189
+ }
190
+ if (event.name === "FillEnded") {
191
+ const begun = events.find((other) => other.name === "FillBegun" && other.signature === signature);
192
+ if (begun?.name === "FillBegun") {
193
+ const { solver, delivered, required } = event.fields;
194
+ return { steps: 2, solver, delivered, required, fee: begun.fields.fee, net: begun.fields.net, signature, slot, blockTime };
195
+ }
196
+ }
197
+ }
198
+ return null;
199
+ };
200
+ const fill = async (input) => {
201
+ const { solver, owner, nonce } = input;
202
+ const [{ address, intent: held }, settings] = await Promise.all([loadIntent(transport, owner, nonce), config()]);
203
+ if (held.status !== IntentStatus.Open) {
204
+ throw new NotFillable(address, "is not open");
205
+ }
206
+ const params = decodeParams(held.kind, Uint8Array.from(held.params));
207
+ if (params.kind === Kind.AttestedResult) {
208
+ throw new NotFillable(address, "is an AttestedResult intent, which only its judge settles");
209
+ }
210
+ const [sell, buy] = await Promise.all([mint(held.inputMint), mint(held.outputMint)]);
211
+ const amountIn = input.amountIn ?? remainingOf(held);
212
+ const amountOut = input.amountOut ?? requiredOut(params, amountIn, await chainTime(transport));
213
+ const kindBps = feeBpsFor(settings, held.kind);
214
+ const shares = splitFees(amountIn, kindBps, held.partnerBps, held.partnerCutBps);
215
+ const feeRecipient = shares.protocol > 0n ? settings.feeRecipient : undefined;
216
+ const partner = shares.partner > 0n ? held.partner : undefined;
217
+ const agent = held.agentFee > 0n ? held.rentPayer : undefined;
218
+ const paid = (wallet) => tokenAccountIfMissing(transport, solver, wallet, held.inputMint, sell.tokenProgram);
219
+ const [solverInput, solverOutput, ...payouts] = await Promise.all([
220
+ paid(solver.address),
221
+ tokenAccountIfMissing(transport, solver, solver.address, held.outputMint, buy.tokenProgram),
222
+ ...[feeRecipient, partner, agent].filter((wallet) => wallet !== undefined).map(paid),
223
+ ]);
224
+ const filled = await buildFillIntent({
225
+ solver,
226
+ owner,
227
+ nonce,
228
+ inputMint: held.inputMint,
229
+ outputMint: held.outputMint,
230
+ inputTokenProgram: sell.tokenProgram,
231
+ outputTokenProgram: buy.tokenProgram,
232
+ receiver: held.receiver,
233
+ solverInput: solverInput.address,
234
+ solverOutput: solverOutput.address,
235
+ ...(feeRecipient === undefined ? {} : { feeRecipient }),
236
+ ...(partner === undefined ? {} : { partner }),
237
+ ...(agent === undefined ? {} : { agent }),
238
+ mandate: held.mandate,
239
+ amountIn,
240
+ amountOut,
241
+ maxFeeBps: kindBps + held.partnerBps,
242
+ });
243
+ const setup = [solverInput, solverOutput, ...payouts].flatMap(({ create }) => create);
244
+ const wrap = input.route === undefined ? (await wrapIfShort(transport, solver, held.outputMint, buy.tokenProgram, amountOut)).instructions : [];
245
+ return send([...setup, ...wrap, ...(input.route ?? []), filled], solver);
246
+ };
247
+ const settling = async (cranker, owner, nonce) => {
248
+ const { intent } = await loadIntent(transport, owner, nonce);
249
+ const { tokenProgram } = await mint(intent.inputMint);
250
+ return { ref: { cranker, owner, nonce, inputMint: intent.inputMint, tokenProgram }, rentPayer: intent.rentPayer };
251
+ };
252
+ const expire = async (cranker, owner, nonce) => {
253
+ const { ref } = await settling(cranker, owner, nonce);
254
+ const refund = await tokenAccountIfMissing(transport, cranker, owner, ref.inputMint, ref.tokenProgram);
255
+ return send([...refund.create, await buildExpireIntent(ref)], cranker);
256
+ };
257
+ const close = async (cranker, owner, nonce) => {
258
+ const { ref, rentPayer } = await settling(cranker, owner, nonce);
259
+ return send([await buildCloseIntent({ ...ref, rentPayer })], cranker);
260
+ };
261
+ const balances = async (owner, mints) => {
262
+ const [wallet, tokens] = await Promise.all([
263
+ transport.getAccount(owner),
264
+ Promise.all(mints.map(async (address) => {
265
+ const { decimals, tokenProgram } = await mint(address);
266
+ const account = await findAssociatedTokenAddress({ owner, mint: address, tokenProgram });
267
+ const amount = tokenAmountOf((await createdAccount(transport, account))?.data ?? null) ?? 0n;
268
+ return { mint: address, name: tokenName(address), account, amount, decimals };
269
+ })),
270
+ ]);
271
+ return { sol: wallet?.lamports ?? 0n, tokens };
272
+ };
166
273
  const settleProof = async (input) => {
167
- const { judge, owner, nonce, payTo, result } = input;
274
+ const { judge, owner, nonce, payTo, result, deliveredSha256 } = input;
168
275
  const payer = input.payer ?? judge;
276
+ if (deliveredSha256 !== undefined && !isSha256Hex(deliveredSha256)) {
277
+ throw new RangeError("deliveredSha256 must be 64 lowercase hex digits");
278
+ }
169
279
  const [{ address, intent: held }, settings] = await Promise.all([loadIntent(transport, owner, nonce), config()]);
170
280
  const params = decodeParams(held.kind, Uint8Array.from(held.params));
171
281
  if (params.kind !== Kind.AttestedResult) {
@@ -214,7 +324,8 @@ export function createClient(options) {
214
324
  ...(paidJudge === undefined ? {} : { judge: paidJudge }),
215
325
  });
216
326
  const setup = [payee, ...others].flatMap(({ create }) => create);
217
- return send([...setup, await signEd25519Instruction(judge, message), settle], payer);
327
+ const recorded = deliveredSha256 === undefined ? [] : [memoInstruction(judge, releaseMemo(deliveredSha256))];
328
+ return send([...setup, await signEd25519Instruction(judge, message), settle, ...recorded], payer);
218
329
  };
219
330
  return {
220
331
  url,
@@ -246,6 +357,15 @@ export function createClient(options) {
246
357
  cancel,
247
358
  unwrap,
248
359
  settleProof,
360
+ fill,
361
+ fillOf,
362
+ expire,
363
+ close,
364
+ balances,
365
+ jobs: (filter = {}) => jobsOf(transport, filter.attestor),
366
+ spec: (intent) => readSpec(transport, options.fetch ?? fetch, intent),
367
+ deliver: async (input) => send((await deliveryInstructions(transport, input)).instructions, input.worker),
368
+ deliveries: ({ judge, intent }) => deliveriesOf(transport, judge, intent),
249
369
  };
250
370
  }
251
371
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,eAAe,EAAgF,MAAM,aAAa,CAAC;AAC1I,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EAEjB,WAAW,EACX,YAAY,EAEZ,YAAY,EACZ,SAAS,EACT,0BAA0B,EAC1B,aAAa,EACb,gBAAgB,EAGhB,YAAY,EACZ,IAAI,EACJ,WAAW,EACX,aAAa,EACb,sBAAsB,EACtB,SAAS,EACT,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAoB,MAAM,eAAe,CAAC;AACtI,OAAO,EAAE,QAAQ,EAAiB,SAAS,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAoB,OAAO,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACnF,OAAO,EACL,WAAW,EACX,mBAAmB,EAEnB,KAAK,EAGL,YAAY,EAEZ,cAAc,GAEf,MAAM,gBAAgB,CAAC;AA+DxB,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAM,CAAC;AACzC,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC;AAEjC,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC;AACnC,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAErC,MAAM,OAAO,WAAY,SAAQ,KAAK;IAC3B,KAAK,CAAU;IAExB,YAAY,KAAc;QACxB,KAAK,CAAC,gCAAgC,KAAK,0CAA0C,CAAC,CAAC;QACvF,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,KAAK;IAC7B,MAAM,CAAU;IAEzB,YAAY,MAAe,EAAE,MAAc;QACzC,KAAK,CAAC,UAAU,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,SAAS,UAAU,CAAC,KAAc,EAAE,IAAwB;IAC1D,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,MAAM,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAkB,EAAiB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAE7H,MAAM,UAAU,YAAY,CAAC,OAAsB;IACjD,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,EAAE,EAAE,MAAM,GAAG,aAAa,EAAE,aAAa,GAAG,kBAAkB,EAAE,GAAG,OAAO,CAAC;IACnG,MAAM,SAAS,GACb,OAAO,CAAC,SAAS,IAAI,YAAY,CAAC,eAAe,CAAC,GAAG,CAAuB,EAAE,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IAChH,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAExH,MAAM,KAAK,GAAG,KAAK,EAAE,QAAuB,EAAE,MAAmB,EAAE,MAAM,GAAwB,EAAE,EAAE,EAAE;QACrG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAmB,CAAC;QACxC,MAAM,KAAK,GAAG,CAAC,QAAmC,EAAE,EAAE,CACpD,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9B,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;gBACrE,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzD,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;gBACtC,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QACL,MAAM,MAAM,GAAG,CAAC,OAAwB,EAAE,MAAiB,EAAE,EAAE;YAC7D,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;YACtB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACzE,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAChE,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAChC,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3E,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;YACD,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC;QACF,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACvB,MAAM,IAAI,EAAE,CAAC;gBACb,MAAM,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,IAAI,EAAE,CAAC;YACb,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACxB,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACvB,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7D,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,aAAa,GAAG,IAAI,EAAE,CAAC;oBACnE,MAAM,IAAI,EAAE,CAAC;oBACb,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC1C,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IAChE,MAAM,IAAI,GAAG,KAAK,EAAE,YAAoC,EAAE,MAAyB,EAAE,EAAE,CACrF,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAc,CAAC;IAEjH,MAAM,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;IAChD,MAAM,IAAI,GAAG,CAAC,OAAgB,EAAE,EAAE;QAChC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;QAC9G,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3C,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,EAAE,KAAwB,EAA0B,EAAE;QAC9E,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;QACxD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;QAC7B,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACjI,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,kBAAkB,CAAC,CAAC;QAC5G,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;QACzG,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACtG,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;YACrC,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,QAAQ,CAAC,YAAY;YAC/B,YAAY,EAAE,QAAQ,CAAC,SAAS;YAChC,SAAS,EAAE,QAAQ,CAAC,WAAW;YAC/B,KAAK;YACL,MAAM;YACN,SAAS;YACT,SAAS;YACT,UAAU;YACV,iBAAiB,EAAE,IAAI,CAAC,YAAY;YACpC,kBAAkB,EAAE,GAAG,CAAC,YAAY;YACpC,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC;SAC7F,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QACtG,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACvD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACtC,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,EAAE,MAAyB,EAAE,KAAa,EAAE,EAAE;QAChE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAC9G,OAAO,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,iBAAiB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACxI,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,EAAE,MAAyB,EAAE,EAAE;QACjD,MAAM,OAAO,GAAG,MAAM,0BAA0B,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACpI,IAAI,CAAC,MAAM,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,CAAC,0BAA0B,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7G,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,EAAE,MAAe,EAAE,KAAK,GAAG,aAAa,EAA2B,EAAE,CACxF,CAAC,MAAM,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;SAChD,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;SAC/B,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CACxC,OAAO;SACJ,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAuB,CAAC;SACtD,MAAM,CAAC,CAAC,KAAK,EAAwB,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC;SACrH,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,SAAsB,EAAE,IAAI,EAAE,CAAC,CAAC,CAC3E,CAAC;IAEN,MAAM,WAAW,GAAG,KAAK,EAAE,KAAuB,EAAE,EAAE;QACpD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QACrD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC;QACnC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACjH,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,IAAI,aAAa,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,aAAa,CAAC,OAAO,EAAE,mDAAmD,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC;YACtC,MAAM,IAAI,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;YACtC,MAAM,IAAI,aAAa,CAAC,OAAO,EAAE,SAAS,MAAM,CAAC,QAAQ,sBAAsB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAClG,CAAC;QACD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC,qBAAqB,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACnH,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7C,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACnG,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/D,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3H,MAAM,MAAM,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE;YACxD,GAAG,MAAM;YACT,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACxC,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,KAAK,CAAC,OAAO;YACpB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;YACrC,GAAG,MAAM;YACT,MAAM,EAAE,KAAK;YACb,KAAK;YACL,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,iBAAiB,EAAE,YAAY;YAC/B,KAAK,EAAE,KAAK,CAAC,OAAO;YACpB,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;YACvD,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;YAC7C,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;SACzD,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,EAAE,MAAM,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IACvF,CAAC,CAAC;IAEF,OAAO;QACL,GAAG;QACH,SAAS;QACT,MAAM;QACN,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC7B,IAAI,CAAC;gBACH,OAAO,MAAM,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;oBACpC,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,EAAE,EAAE,EAAE,CAC7B,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACpC,GAAG,CAAC,OAAO,CAAC;aACZ,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC;QAC3F,OAAO;QACP,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC/E,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,CACvC,SAAS,CAAC,SAAS,EAAE,MAAM,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;QACzG,IAAI;QACJ,KAAK;QACL,OAAO;QACP,IAAI;QACJ,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC;QACrC,YAAY;QACZ,MAAM;QACN,MAAM;QACN,WAAW;KACZ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,6 @@ export * from "./accounts.js";
2
2
  export * from "./budget.js";
3
3
  export * from "./client.js";
4
4
  export * from "./errors.js";
5
+ export * from "./jobs.js";
5
6
  export * from "./setup.js";
6
7
  export * from "./transport.js";
package/dist/src/index.js CHANGED
@@ -2,6 +2,7 @@ export * from "./accounts.js";
2
2
  export * from "./budget.js";
3
3
  export * from "./client.js";
4
4
  export * from "./errors.js";
5
+ export * from "./jobs.js";
5
6
  export * from "./setup.js";
6
7
  export * from "./transport.js";
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,77 @@
1
+ import { type Address, type Instruction, type Signature, type TransactionSigner } from "@solana/kit";
2
+ import { type AttestedResultParams, type Intent } from "@intent-engine/core";
3
+ import { type Transport } from "./transport.js";
4
+ export declare const JOBS_LIMIT = 50;
5
+ export declare const SPEC_SCAN = 10;
6
+ export declare const DELIVERY_SCAN = 100;
7
+ export declare const MEMOS_PER_TRANSACTION = 8;
8
+ export declare const MAX_SPEC_BYTES = 1048576;
9
+ export declare const SPEC_TIMEOUT_MS = 10000;
10
+ export type Job = {
11
+ intent: Address;
12
+ owner: Address;
13
+ nonce: bigint;
14
+ attestor: Address;
15
+ specHash: string;
16
+ specUrl: string | null;
17
+ sells: bigint;
18
+ judgeFee: bigint;
19
+ inputMint: Address;
20
+ expiresAt: bigint;
21
+ };
22
+ export type Spec = {
23
+ url: string;
24
+ text: string;
25
+ sha256: string;
26
+ matches: boolean;
27
+ };
28
+ export type DeliverInput = {
29
+ worker: TransactionSigner;
30
+ intent: Address;
31
+ sha256: string;
32
+ url: string;
33
+ };
34
+ export type Delivery = {
35
+ intent: Address;
36
+ worker: Address;
37
+ sha256: string;
38
+ url: string;
39
+ signature: Signature;
40
+ slot: bigint;
41
+ blockTime: bigint | null;
42
+ };
43
+ export type Announcement = {
44
+ sha256: string;
45
+ first: Delivery;
46
+ copies: number;
47
+ };
48
+ export type SpecFetch = (url: string, init: {
49
+ redirect: "error";
50
+ signal: AbortSignal;
51
+ }) => Promise<Response>;
52
+ export declare class NotDeliverable extends Error {
53
+ readonly intent: Address;
54
+ constructor(intent: Address, reason: string);
55
+ }
56
+ export declare class SpecUnreadable extends Error {
57
+ readonly url: string;
58
+ constructor(url: string, reason: string);
59
+ }
60
+ type Proof = {
61
+ address: Address;
62
+ intent: Intent;
63
+ params: AttestedResultParams;
64
+ };
65
+ export declare function openProofEscrows(transport: Transport, attestor?: Address): Promise<Proof[]>;
66
+ export declare function specUrlOf(transport: Transport, intent: Address): Promise<string | null>;
67
+ export declare function jobsOf(transport: Transport, attestor?: Address): Promise<Job[]>;
68
+ export declare function readSpec(transport: Transport, get: SpecFetch, intent: Address): Promise<Spec | null>;
69
+ export declare function memoInstruction(signer: TransactionSigner, text: string): Instruction;
70
+ export declare function deliveryInstructions(transport: Transport, input: DeliverInput): Promise<{
71
+ attestor: Address;
72
+ instructions: Instruction[];
73
+ }>;
74
+ export declare function deliveriesOf(transport: Transport, judge: Address, intent?: Address): Promise<Delivery[]>;
75
+ export declare function firstDelivery(deliveries: readonly Delivery[], sha256: string): Delivery | null;
76
+ export declare function announcements(deliveries: readonly Delivery[]): Announcement[];
77
+ export {};
@@ -0,0 +1,187 @@
1
+ import { createHash } from "node:crypto";
2
+ import { AccountRole } from "@solana/kit";
3
+ import { getTransferSolInstruction } from "@solana-program/system";
4
+ import { decodeEvent, decodeParams, deliveryMemo, getIntentDecoder, getIntentDiscriminatorBytes, getIntentSize, INTENT_ENGINE_PROGRAM_ADDRESS, IntentStatus, Kind, DELIVERY_MEMO_PREFIX, parseDeliveryMemo, parseSpecMemo, remainingOf, SPEC_MEMO_PREFIX, } from "@intent-engine/core";
5
+ import { chainTime, createdAccount } from "./accounts.js";
6
+ import { MEMO_PROGRAM_ADDRESS, TRANSACTION_FETCHES } from "./transport.js";
7
+ export const JOBS_LIMIT = 50;
8
+ export const SPEC_SCAN = 10;
9
+ export const DELIVERY_SCAN = 100;
10
+ export const MEMOS_PER_TRANSACTION = 8;
11
+ export const MAX_SPEC_BYTES = 1_048_576;
12
+ export const SPEC_TIMEOUT_MS = 10_000;
13
+ export class NotDeliverable extends Error {
14
+ intent;
15
+ constructor(intent, reason) {
16
+ super(`intent ${intent} ${reason}`);
17
+ this.name = "NotDeliverable";
18
+ this.intent = intent;
19
+ }
20
+ }
21
+ export class SpecUnreadable extends Error {
22
+ url;
23
+ constructor(url, reason) {
24
+ super(`the spec at ${url} ${reason}`);
25
+ this.name = "SpecUnreadable";
26
+ this.url = url;
27
+ }
28
+ }
29
+ const hex = (bytes) => Buffer.from(bytes).toString("hex");
30
+ function proofOf(address, intent) {
31
+ const params = decodeParams(intent.kind, Uint8Array.from(intent.params));
32
+ return params.kind === Kind.AttestedResult && params.specHash.some((b) => b !== 0) ? { address, intent, params } : null;
33
+ }
34
+ async function proofAt(transport, address) {
35
+ const view = await createdAccount(transport, address);
36
+ const tag = getIntentDiscriminatorBytes();
37
+ if (view === null || view.owner !== INTENT_ENGINE_PROGRAM_ADDRESS || view.data.length !== getIntentSize() || !tag.every((b, i) => view.data[i] === b)) {
38
+ return null;
39
+ }
40
+ return proofOf(address, getIntentDecoder().decode(view.data));
41
+ }
42
+ export async function openProofEscrows(transport, attestor) {
43
+ const [accounts, now] = await Promise.all([transport.intents(), chainTime(transport)]);
44
+ return accounts
45
+ .map(({ address, data }) => proofOf(address, getIntentDecoder().decode(data)))
46
+ .filter((proof) => proof !== null &&
47
+ proof.intent.status === IntentStatus.Open &&
48
+ proof.intent.expiresAt > now &&
49
+ (attestor === undefined || proof.params.attestor === attestor))
50
+ .sort((a, b) => (a.intent.expiresAt === b.intent.expiresAt ? 0 : a.intent.expiresAt > b.intent.expiresAt ? -1 : 1))
51
+ .slice(0, JOBS_LIMIT);
52
+ }
53
+ const createdIn = (emitted, intent) => emitted.some((data) => {
54
+ const event = decodeEvent(data);
55
+ return event?.name === "IntentCreated" && "intent" in event.fields && event.fields.intent === intent;
56
+ });
57
+ export async function specUrlOf(transport, intent) {
58
+ for (const tx of await transport.engineTransactions(SPEC_SCAN, intent, SPEC_MEMO_PREFIX)) {
59
+ if (tx.failed || !createdIn(tx.emitted, intent)) {
60
+ continue;
61
+ }
62
+ const urls = new Set((tx.memos ?? [])
63
+ .slice(0, MEMOS_PER_TRANSACTION)
64
+ .map(parseSpecMemo)
65
+ .flatMap((memo) => (memo === null ? [] : [memo.url])));
66
+ return urls.size === 1 ? ([...urls][0] ?? null) : null;
67
+ }
68
+ return null;
69
+ }
70
+ export async function jobsOf(transport, attestor) {
71
+ const proofs = await openProofEscrows(transport, attestor);
72
+ const urls = [];
73
+ for (let at = 0; at < proofs.length; at += TRANSACTION_FETCHES) {
74
+ urls.push(...(await Promise.all(proofs.slice(at, at + TRANSACTION_FETCHES).map(({ address }) => specUrlOf(transport, address)))));
75
+ }
76
+ return proofs.map(({ address, intent, params }, i) => ({
77
+ intent: address,
78
+ owner: intent.owner,
79
+ nonce: intent.nonce,
80
+ attestor: params.attestor,
81
+ specHash: hex(params.specHash),
82
+ specUrl: urls[i] ?? null,
83
+ sells: remainingOf(intent),
84
+ judgeFee: params.judgeFee,
85
+ inputMint: intent.inputMint,
86
+ expiresAt: intent.expiresAt,
87
+ }));
88
+ }
89
+ async function bounded(response, url) {
90
+ if (!response.ok) {
91
+ throw new SpecUnreadable(url, `answered ${response.status}`);
92
+ }
93
+ const declared = Number(response.headers.get("content-length") ?? "0");
94
+ if (declared > MAX_SPEC_BYTES) {
95
+ throw new SpecUnreadable(url, `is larger than ${MAX_SPEC_BYTES} bytes`);
96
+ }
97
+ const reader = response.body?.getReader();
98
+ const chunks = [];
99
+ let size = 0;
100
+ for (let next = await reader?.read(); next !== undefined && next.done !== true; next = await reader?.read()) {
101
+ size += next.value.length;
102
+ if (size > MAX_SPEC_BYTES) {
103
+ await reader?.cancel();
104
+ throw new SpecUnreadable(url, `is larger than ${MAX_SPEC_BYTES} bytes`);
105
+ }
106
+ chunks.push(next.value);
107
+ }
108
+ return Buffer.concat(chunks);
109
+ }
110
+ export async function readSpec(transport, get, intent) {
111
+ const proof = await proofAt(transport, intent);
112
+ if (proof === null) {
113
+ return null;
114
+ }
115
+ const url = await specUrlOf(transport, intent);
116
+ if (url === null) {
117
+ return null;
118
+ }
119
+ const bytes = await bounded(await get(url, { redirect: "error", signal: AbortSignal.timeout(SPEC_TIMEOUT_MS) }), url);
120
+ const sha256 = createHash("sha256").update(bytes).digest("hex");
121
+ return { url, text: new TextDecoder().decode(bytes), sha256, matches: sha256 === hex(proof.params.specHash) };
122
+ }
123
+ export function memoInstruction(signer, text) {
124
+ const meta = { address: signer.address, role: AccountRole.READONLY_SIGNER, signer };
125
+ return { programAddress: MEMO_PROGRAM_ADDRESS, accounts: [meta], data: new TextEncoder().encode(text) };
126
+ }
127
+ export async function deliveryInstructions(transport, input) {
128
+ const { worker, intent } = input;
129
+ const memo = deliveryMemo({ intent, sha256: input.sha256, url: input.url });
130
+ const [proof, now] = await Promise.all([proofAt(transport, intent), chainTime(transport)]);
131
+ if (proof === null) {
132
+ throw new NotDeliverable(intent, "is not a proof escrow: an AttestedResult intent that commits a spec hash");
133
+ }
134
+ if (proof.intent.status !== IntentStatus.Open || proof.intent.expiresAt <= now) {
135
+ throw new NotDeliverable(intent, "is no longer open");
136
+ }
137
+ const attestor = proof.params.attestor;
138
+ return {
139
+ attestor,
140
+ instructions: [memoInstruction(worker, memo), getTransferSolInstruction({ source: worker, destination: attestor, amount: 0n })],
141
+ };
142
+ }
143
+ export async function deliveriesOf(transport, judge, intent) {
144
+ let judged;
145
+ if (intent === undefined) {
146
+ judged = new Set((await openProofEscrows(transport, judge)).map(({ address }) => address));
147
+ }
148
+ else {
149
+ const proof = await proofAt(transport, intent);
150
+ judged = new Set(proof !== null && proof.params.attestor === judge ? [intent] : []);
151
+ }
152
+ if (judged.size === 0) {
153
+ return [];
154
+ }
155
+ return (await transport.engineTransactions(DELIVERY_SCAN, judge, DELIVERY_MEMO_PREFIX)).flatMap(({ signature, slot, blockTime, failed, memos, feePayer }) => failed || feePayer === undefined
156
+ ? []
157
+ : (memos ?? [])
158
+ .slice(0, MEMOS_PER_TRANSACTION)
159
+ .map(parseDeliveryMemo)
160
+ .flatMap((memo) => memo === null || !judged.has(memo.intent)
161
+ ? []
162
+ : [{ ...memo, worker: feePayer, signature: signature, slot, blockTime }]));
163
+ }
164
+ const earlier = (a, b) => a.slot < b.slot || (a.slot === b.slot && a.signature < b.signature);
165
+ export function firstDelivery(deliveries, sha256) {
166
+ let first = null;
167
+ for (const delivery of deliveries) {
168
+ if (delivery.sha256 === sha256 && (first === null || earlier(delivery, first))) {
169
+ first = delivery;
170
+ }
171
+ }
172
+ return first;
173
+ }
174
+ export function announcements(deliveries) {
175
+ const hashes = [...new Set(deliveries.map(({ sha256 }) => sha256))];
176
+ return hashes
177
+ .flatMap((sha256) => {
178
+ const first = firstDelivery(deliveries, sha256);
179
+ if (first === null) {
180
+ return [];
181
+ }
182
+ const others = new Set(deliveries.filter((d) => d.sha256 === sha256 && d.worker !== first.worker).map(({ worker }) => worker));
183
+ return [{ sha256, first, copies: others.size }];
184
+ })
185
+ .sort((a, b) => (earlier(a.first, b.first) ? -1 : earlier(b.first, a.first) ? 1 : 0));
186
+ }
187
+ //# sourceMappingURL=jobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../src/jobs.ts"],"names":[],"mappings":"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"}
package/dist/src/svm.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { type LiteSVM } from "litesvm";
2
- import type { Transport } from "./transport.js";
2
+ import { type Transport } from "./transport.js";
3
3
  export type SvmTransportOptions = {
4
4
  genesisHash?: string;
5
5
  };
package/dist/src/svm.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { appendTransactionMessageInstructions, createTransactionMessage, getBase64Encoder, getCompiledTransactionMessageDecoder, getSignatureFromTransaction, getTransactionDecoder, lamports, pipe, setTransactionMessageFeePayerSigner, signTransactionMessageWithSigners, } from "@solana/kit";
2
2
  import { getIntentDecoder, getIntentDiscriminatorBytes, INTENT_ENGINE_PROGRAM_ADDRESS } from "@intent-engine/core";
3
3
  import { FailedTransactionMetadata } from "litesvm";
4
+ import { MEMO_PROGRAM_ADDRESS } from "./transport.js";
4
5
  export const SVM_GENESIS_HASH = "11111111111111111111111111111111";
5
6
  const decodeWire = (wire) => getTransactionDecoder().decode(getBase64Encoder().encode(wire));
6
7
  export function svmTransport(svm, options = {}) {
@@ -16,7 +17,8 @@ export function svmTransport(svm, options = {}) {
16
17
  if (result instanceof FailedTransactionMetadata) {
17
18
  throw new Error(`${String(result.err())}\n${result.meta().logs().join("\n")}`);
18
19
  }
19
- const keys = getCompiledTransactionMessageDecoder().decode(tx.messageBytes).staticAccounts;
20
+ const compiled = getCompiledTransactionMessageDecoder().decode(tx.messageBytes);
21
+ const keys = compiled.staticAccounts;
20
22
  for (const address of keys) {
21
23
  const data = engineData(address);
22
24
  if (data !== null && tag.every((b, i) => data[i] === b)) {
@@ -25,6 +27,10 @@ export function svmTransport(svm, options = {}) {
25
27
  }
26
28
  const signature = getSignatureFromTransaction(tx);
27
29
  const clock = svm.getClock();
30
+ const memos = ("instructions" in compiled ? compiled.instructions : [])
31
+ .filter((ix) => keys[ix.programAddressIndex] === MEMO_PROGRAM_ADDRESS)
32
+ .map((ix) => new TextDecoder().decode(Uint8Array.from(ix.data ?? [])));
33
+ const feePayer = keys[0];
28
34
  history.unshift({
29
35
  touched: new Set(keys),
30
36
  found: {
@@ -38,6 +44,8 @@ export function svmTransport(svm, options = {}) {
38
44
  .map((inner) => inner.instruction())
39
45
  .filter((ix) => keys[ix.programIdIndex()] === INTENT_ENGINE_PROGRAM_ADDRESS)
40
46
  .map((ix) => new Uint8Array(ix.data())),
47
+ ...(memos.length === 0 ? {} : { memos }),
48
+ ...(feePayer === undefined ? {} : { feePayer }),
41
49
  },
42
50
  });
43
51
  return signature;
@@ -84,7 +92,11 @@ export function svmTransport(svm, options = {}) {
84
92
  }
85
93
  return found;
86
94
  },
87
- engineTransactions: async (limit, of = INTENT_ENGINE_PROGRAM_ADDRESS) => history.filter(({ touched }) => touched.has(of)).slice(0, limit).map(({ found }) => found),
95
+ engineTransactions: async (limit, of = INTENT_ENGINE_PROGRAM_ADDRESS, memo) => history
96
+ .filter(({ touched }) => touched.has(of))
97
+ .slice(0, limit)
98
+ .map(({ found }) => found)
99
+ .filter(({ memos }) => memo === undefined || (memos ?? []).some((text) => text.includes(memo))),
88
100
  recentFees: async () => [],
89
101
  budget: async (instructions) => [...instructions],
90
102
  airdrop: async (address, amount) => {
@@ -1 +1 @@
1
- {"version":3,"file":"svm.js","sourceRoot":"","sources":["../../src/svm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"svm.js","sourceRoot":"","sources":["../../src/svm.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export type EngineTransaction = {
16
16
  failed: boolean;
17
17
  emitted: Uint8Array[];
18
18
  memos?: string[];
19
+ feePayer?: Address;
19
20
  unread?: true;
20
21
  };
21
22
  export type Latest = {
@@ -39,7 +40,7 @@ export interface Transport {
39
40
  simulate(wire: Base64EncodedWireTransaction, watch?: readonly Address[]): Promise<Simulation>;
40
41
  genesisHash(): Promise<string>;
41
42
  intents(owner?: Address): Promise<ProgramAccount[]>;
42
- engineTransactions(limit: number, of?: Address): Promise<EngineTransaction[]>;
43
+ engineTransactions(limit: number, of?: Address, memo?: string): Promise<EngineTransaction[]>;
43
44
  recentFees(accounts: readonly Address[]): Promise<bigint[]>;
44
45
  budget(instructions: readonly Instruction[], feePayer: Address): Promise<Instruction[]>;
45
46
  airdrop(address: Address, lamports: bigint): Promise<string>;
@@ -147,6 +148,7 @@ export type RpcLike = {
147
148
  slot: bigint;
148
149
  blockTime: bigint | null;
149
150
  err: unknown;
151
+ memo?: string | null;
150
152
  }[]>;
151
153
  getTransaction(signature: Signature, config: {
152
154
  encoding: "json";
@@ -272,8 +272,8 @@ export function rpcTransport(rpc, wait, watch) {
272
272
  async budget(instructions) {
273
273
  return [...instructions];
274
274
  },
275
- async engineTransactions(limit, of) {
276
- const signatures = await patiently(() => rpc.getSignaturesForAddress(of ?? INTENT_ENGINE_PROGRAM_ADDRESS, { limit, ...atLeast() }).send(), wait);
275
+ async engineTransactions(limit, of, memo) {
276
+ const listed = await patiently(() => rpc.getSignaturesForAddress(of ?? INTENT_ENGINE_PROGRAM_ADDRESS, { limit, ...atLeast() }).send(), wait);
277
277
  const fetchOne = (entry) => {
278
278
  const known = fetched.get(entry.signature);
279
279
  if (known !== undefined) {
@@ -314,6 +314,7 @@ export function rpcTransport(rpc, wait, watch) {
314
314
  const memos = (tx?.transaction.message.instructions ?? [])
315
315
  .filter((ix) => keys[ix.programIdIndex] === MEMO_PROGRAM_ADDRESS)
316
316
  .map((ix) => new TextDecoder().decode(Uint8Array.from(getBase58Encoder().encode(ix.data))));
317
+ const feePayer = tx?.transaction.message.accountKeys[0];
317
318
  return {
318
319
  signature: entry.signature,
319
320
  slot: entry.slot,
@@ -321,10 +322,12 @@ export function rpcTransport(rpc, wait, watch) {
321
322
  failed: entry.err !== null,
322
323
  emitted,
323
324
  ...(memos.length === 0 ? {} : { memos }),
325
+ ...(feePayer === undefined ? {} : { feePayer }),
324
326
  ...(tx?.meta === null || tx?.meta === undefined ? { unread: true } : {}),
325
327
  complete: tx?.meta !== null && tx?.meta !== undefined && entry.blockTime !== null,
326
328
  };
327
329
  };
330
+ const signatures = memo === undefined ? listed : listed.filter((entry) => (entry.memo ?? "").includes(memo));
328
331
  const found = [];
329
332
  for (let i = 0; i < signatures.length; i += TRANSACTION_FETCHES) {
330
333
  found.push(...(await Promise.all(signatures.slice(i, i + TRANSACTION_FETCHES).map(fetchOne))));
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/transport.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intent-engine/client",
3
- "version": "0.1.21",
3
+ "version": "0.1.23",
4
4
  "description": "Runtime client for the intent engine on Solana: transport, confirmation, account readers and intent notifications",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -27,7 +27,7 @@
27
27
  "@solana-program/system": "0.14.1",
28
28
  "@solana-program/token": "0.16.1",
29
29
  "@solana/kit": "^8.4.0",
30
- "@intent-engine/core": "0.1.21"
30
+ "@intent-engine/core": "0.1.23"
31
31
  },
32
32
  "peerDependencies": {
33
33
  "litesvm": "^1.5.0"