@intent-engine/cli 0.1.42 → 0.1.44

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 (194) hide show
  1. package/dist/src/accounts.d.ts +4 -2
  2. package/dist/src/accounts.js +5 -4
  3. package/dist/src/accounts.js.map +1 -1
  4. package/dist/src/add-to.d.ts +2 -0
  5. package/dist/src/add-to.js +9 -3
  6. package/dist/src/add-to.js.map +1 -1
  7. package/dist/src/admin-commands.d.ts +22 -1
  8. package/dist/src/admin-commands.js +44 -12
  9. package/dist/src/admin-commands.js.map +1 -1
  10. package/dist/src/agent/actions.d.ts +1 -0
  11. package/dist/src/agent/actions.js +15 -1
  12. package/dist/src/agent/actions.js.map +1 -1
  13. package/dist/src/agent/budget.d.ts +5 -5
  14. package/dist/src/agent/budget.js +26 -6
  15. package/dist/src/agent/budget.js.map +1 -1
  16. package/dist/src/agent/claims.d.ts +2 -1
  17. package/dist/src/agent/claims.js +1 -1
  18. package/dist/src/agent/claims.js.map +1 -1
  19. package/dist/src/agent/create.d.ts +16 -7
  20. package/dist/src/agent/create.js +25 -3
  21. package/dist/src/agent/create.js.map +1 -1
  22. package/dist/src/agent/jobs.js +8 -3
  23. package/dist/src/agent/jobs.js.map +1 -1
  24. package/dist/src/agent/mandate-agent.js +3 -2
  25. package/dist/src/agent/mandate-agent.js.map +1 -1
  26. package/dist/src/agent/mandate-revoke.js +1 -1
  27. package/dist/src/agent/mandate-revoke.js.map +1 -1
  28. package/dist/src/agent/owner.js +4 -2
  29. package/dist/src/agent/owner.js.map +1 -1
  30. package/dist/src/agent/prepare.d.ts +1 -1
  31. package/dist/src/agent/prepare.js +9 -2
  32. package/dist/src/agent/prepare.js.map +1 -1
  33. package/dist/src/agent/problems.d.ts +18 -0
  34. package/dist/src/agent/problems.js +39 -15
  35. package/dist/src/agent/problems.js.map +1 -1
  36. package/dist/src/agent/profile.d.ts +1 -0
  37. package/dist/src/agent/profile.js +30 -5
  38. package/dist/src/agent/profile.js.map +1 -1
  39. package/dist/src/agent/read.js +3 -4
  40. package/dist/src/agent/read.js.map +1 -1
  41. package/dist/src/agent/reputation.js +16 -7
  42. package/dist/src/agent/reputation.js.map +1 -1
  43. package/dist/src/agent/sales.js +17 -23
  44. package/dist/src/agent/sales.js.map +1 -1
  45. package/dist/src/agent/settle.js +1 -0
  46. package/dist/src/agent/settle.js.map +1 -1
  47. package/dist/src/agent/signed-prepare.js +3 -2
  48. package/dist/src/agent/signed-prepare.js.map +1 -1
  49. package/dist/src/agent/signed-relay.d.ts +1 -1
  50. package/dist/src/agent/signed-relay.js +2 -1
  51. package/dist/src/agent/signed-relay.js.map +1 -1
  52. package/dist/src/agent/signed-submit.js +7 -5
  53. package/dist/src/agent/signed-submit.js.map +1 -1
  54. package/dist/src/agent/signed-terms.d.ts +1 -5
  55. package/dist/src/agent/spec.js +16 -4
  56. package/dist/src/agent/spec.js.map +1 -1
  57. package/dist/src/agent/wallet/account.js +2 -1
  58. package/dist/src/agent/wallet/account.js.map +1 -1
  59. package/dist/src/agent/wallet/attest.d.ts +2 -0
  60. package/dist/src/agent/wallet/attest.js +46 -24
  61. package/dist/src/agent/wallet/attest.js.map +1 -1
  62. package/dist/src/agent/wallet/committee.js +29 -17
  63. package/dist/src/agent/wallet/committee.js.map +1 -1
  64. package/dist/src/agent/wallet/delivery.d.ts +4 -1
  65. package/dist/src/agent/wallet/delivery.js +80 -23
  66. package/dist/src/agent/wallet/delivery.js.map +1 -1
  67. package/dist/src/agent/wallet/escrow.d.ts +1 -0
  68. package/dist/src/agent/wallet/escrow.js +81 -18
  69. package/dist/src/agent/wallet/escrow.js.map +1 -1
  70. package/dist/src/agent/wallet/fills.js +4 -3
  71. package/dist/src/agent/wallet/fills.js.map +1 -1
  72. package/dist/src/agent/wallet/guard.d.ts +32 -0
  73. package/dist/src/agent/wallet/guard.js +131 -9
  74. package/dist/src/agent/wallet/guard.js.map +1 -1
  75. package/dist/src/agent/wallet/history.js +2 -2
  76. package/dist/src/agent/wallet/history.js.map +1 -1
  77. package/dist/src/agent/wallet/offer.d.ts +18 -0
  78. package/dist/src/agent/wallet/offer.js +2 -1
  79. package/dist/src/agent/wallet/offer.js.map +1 -1
  80. package/dist/src/agent/wallet/openings.d.ts +37 -0
  81. package/dist/src/agent/wallet/openings.js +73 -0
  82. package/dist/src/agent/wallet/openings.js.map +1 -0
  83. package/dist/src/agent/wallet/receipt.d.ts +6 -0
  84. package/dist/src/agent/wallet/receipt.js +21 -3
  85. package/dist/src/agent/wallet/receipt.js.map +1 -1
  86. package/dist/src/agent/wallet/record.d.ts +3 -2
  87. package/dist/src/agent/wallet/record.js +16 -10
  88. package/dist/src/agent/wallet/record.js.map +1 -1
  89. package/dist/src/agent/wallet/split.d.ts +1 -0
  90. package/dist/src/agent/wallet/split.js +84 -57
  91. package/dist/src/agent/wallet/split.js.map +1 -1
  92. package/dist/src/agent/wallet/trade.js +2 -1
  93. package/dist/src/agent/wallet/trade.js.map +1 -1
  94. package/dist/src/agent/wallet/unwrap.js +2 -1
  95. package/dist/src/agent/wallet/unwrap.js.map +1 -1
  96. package/dist/src/agent/work-claims.js +3 -2
  97. package/dist/src/agent/work-claims.js.map +1 -1
  98. package/dist/src/arg-admin.d.ts +1 -1
  99. package/dist/src/arg-admin.js +4 -0
  100. package/dist/src/arg-admin.js.map +1 -1
  101. package/dist/src/arg-options.d.ts +70 -2
  102. package/dist/src/arg-options.js +36 -10
  103. package/dist/src/arg-options.js.map +1 -1
  104. package/dist/src/arg-solve.d.ts +6 -0
  105. package/dist/src/arg-solve.js +46 -1
  106. package/dist/src/arg-solve.js.map +1 -1
  107. package/dist/src/arg-usage.d.ts +2 -2
  108. package/dist/src/arg-usage.js +40 -36
  109. package/dist/src/arg-usage.js.map +1 -1
  110. package/dist/src/arg-values.d.ts +20 -1
  111. package/dist/src/arg-values.js +72 -2
  112. package/dist/src/arg-values.js.map +1 -1
  113. package/dist/src/args.d.ts +4 -1
  114. package/dist/src/args.js +39 -9
  115. package/dist/src/args.js.map +1 -1
  116. package/dist/src/claim-commands.js +24 -4
  117. package/dist/src/claim-commands.js.map +1 -1
  118. package/dist/src/clusters.d.ts +1 -0
  119. package/dist/src/clusters.js +1 -0
  120. package/dist/src/clusters.js.map +1 -1
  121. package/dist/src/command-types.d.ts +49 -1
  122. package/dist/src/commands.js +37 -8
  123. package/dist/src/commands.js.map +1 -1
  124. package/dist/src/committee-commands.d.ts +13 -2
  125. package/dist/src/committee-commands.js +58 -11
  126. package/dist/src/committee-commands.js.map +1 -1
  127. package/dist/src/crank.d.ts +3 -3
  128. package/dist/src/crank.js +11 -9
  129. package/dist/src/crank.js.map +1 -1
  130. package/dist/src/float-commands.d.ts +17 -0
  131. package/dist/src/float-commands.js +94 -0
  132. package/dist/src/float-commands.js.map +1 -0
  133. package/dist/src/flow-commands.js +2 -2
  134. package/dist/src/flow-commands.js.map +1 -1
  135. package/dist/src/flows.d.ts +2 -2
  136. package/dist/src/flows.js +8 -2
  137. package/dist/src/flows.js.map +1 -1
  138. package/dist/src/job-args.js +16 -3
  139. package/dist/src/job-args.js.map +1 -1
  140. package/dist/src/job-commands.js +39 -10
  141. package/dist/src/job-commands.js.map +1 -1
  142. package/dist/src/job-filters.d.ts +15 -3
  143. package/dist/src/job-filters.js +31 -6
  144. package/dist/src/job-filters.js.map +1 -1
  145. package/dist/src/judge-digest.d.ts +7 -0
  146. package/dist/src/judge-digest.js +27 -0
  147. package/dist/src/judge-digest.js.map +1 -0
  148. package/dist/src/judge-watch.js +16 -6
  149. package/dist/src/judge-watch.js.map +1 -1
  150. package/dist/src/judge.d.ts +18 -1
  151. package/dist/src/judge.js +87 -17
  152. package/dist/src/judge.js.map +1 -1
  153. package/dist/src/ledger-keys.d.ts +4 -1
  154. package/dist/src/ledger-keys.js +21 -5
  155. package/dist/src/ledger-keys.js.map +1 -1
  156. package/dist/src/legacy-commands.d.ts +8 -0
  157. package/dist/src/legacy-commands.js +94 -0
  158. package/dist/src/legacy-commands.js.map +1 -0
  159. package/dist/src/main.d.ts +3 -0
  160. package/dist/src/main.js +5 -0
  161. package/dist/src/main.js.map +1 -1
  162. package/dist/src/migrate-commands.d.ts +10 -0
  163. package/dist/src/migrate-commands.js +127 -0
  164. package/dist/src/migrate-commands.js.map +1 -0
  165. package/dist/src/monitor-args.d.ts +2 -0
  166. package/dist/src/monitor-args.js +9 -2
  167. package/dist/src/monitor-args.js.map +1 -1
  168. package/dist/src/monitor-fills.d.ts +2 -2
  169. package/dist/src/monitor-fills.js +9 -5
  170. package/dist/src/monitor-fills.js.map +1 -1
  171. package/dist/src/monitor-limits.d.ts +25 -0
  172. package/dist/src/monitor-limits.js +58 -0
  173. package/dist/src/monitor-limits.js.map +1 -0
  174. package/dist/src/monitor.d.ts +10 -1
  175. package/dist/src/monitor.js +81 -31
  176. package/dist/src/monitor.js.map +1 -1
  177. package/dist/src/release-simulation.d.ts +3 -2
  178. package/dist/src/release-simulation.js +1 -0
  179. package/dist/src/release-simulation.js.map +1 -1
  180. package/dist/src/sealed-commands.d.ts +6 -0
  181. package/dist/src/sealed-commands.js +19 -1
  182. package/dist/src/sealed-commands.js.map +1 -1
  183. package/dist/src/solve-commands.d.ts +3 -1
  184. package/dist/src/solve-commands.js +31 -4
  185. package/dist/src/solve-commands.js.map +1 -1
  186. package/dist/src/trust-args.d.ts +4 -2
  187. package/dist/src/trust-args.js +24 -7
  188. package/dist/src/trust-args.js.map +1 -1
  189. package/dist/src/version.d.ts +1 -1
  190. package/dist/src/version.js +1 -1
  191. package/dist/src/wallet.d.ts +8 -2
  192. package/dist/src/wallet.js +44 -7
  193. package/dist/src/wallet.js.map +1 -1
  194. package/package.json +5 -4
@@ -1,22 +1,24 @@
1
1
  import { createNoopSigner, getBase16Decoder } from "@solana/kit";
2
- import { decodeParams, getIntentDecoder, getIntentDiscriminatorBytes, getIntentSize, isMemoUrl, MEMO_URL_RULE, INTENT_ENGINE_PROGRAM_ADDRESS, IntentStatus, Kind, } from "@intent-engine/core";
3
- import { chainTime, commitmentOf, ConfirmMismatch, confirmOnBoth, DELIVERY_PAGES, deliveryRecord, deliveryInstructions, firstDelivery, MEMOS_PER_TRANSACTION, SIGNATURE_PAGE, } from "@intent-engine/client";
2
+ import { decodeParams, getIntentDecoder, getIntentDiscriminatorBytes, getIntentSize, isMemoUrl, MEMO_URL_RULE, INTENT_ENGINE_PROGRAM_ADDRESS, saltMessage, IntentStatus, Kind, } from "@intent-engine/core";
3
+ import { BadSaltSignature, chainTime, commitmentOf, ConfirmMismatch, confirmOnBoth, DELIVERY_PAGES, deliveryRecord, deliveryInstructions, deliverySalt, earlier, MEMOS_PER_TRANSACTION, NoMessageSigner, opensWith, publishedSalts, recordedStanding, SIGNATURE_PAGE, } from "@intent-engine/client";
4
4
  import { define } from "../actions.js";
5
5
  import { tool } from "../names.js";
6
6
  import { AgentRefusal, untrusted } from "../problems.js";
7
7
  import { InvalidInput, account, amount, flag, integer, list, object, optional, text } from "../schema.js";
8
8
  import { preparedSchema, preparedView } from "../shapes.js";
9
9
  import { prepare } from "../prepare.js";
10
- import { PREVIEW_FIRST, signerOf, sent, sha256Of, walletKeypair } from "./guard.js";
10
+ import { deviceOutput, PREVIEW_FIRST, signerOf, sent, sha256Of, walletOpeners } from "./guard.js";
11
11
  export const ANNOUNCE_FIRST = "keep the work private until this announcement lands: the earliest announcer of the work is paid, so publish it only after";
12
- const SEALED_NOTE = "The memo carries the url sealed to the escrow's judge, or to each member of its committee, and a commitment that binds the work's sha256 to the announcing wallet, so a copied announcement pays nobody else";
12
+ const SEALED_NOTE = "The memo carries a salt and the url sealed to the escrow's judge, or to each member of its committee, a check of the salt, and a commitment that binds the work's sha256 to the announcing wallet and its salt, so a copied announcement pays nobody else and a guessed sha256 cannot be tested against it";
13
+ export const sealedForLine = ({ wallet, kind, key }) => `Seals to: ${wallet} with the key ${key}, ${kind === "profile" ? "the encryption key its profile publishes" : "derived from its wallet"}`;
13
14
  function announcing(plan, intent, sha256, url, from) {
14
15
  const { sealedTo } = plan;
15
16
  return [
16
- `Announces: the work with sha256 ${sha256}, for the proof escrow ${intent}, as the commitment ${plan.commitment}, which binds it to ${from}`,
17
- `Seals: the url ${url}, so only ${sealedTo.length === 1 ? `the attestor ${sealedTo[0] ?? plan.attestor}` : `the ${sealedTo.length} committee members`} can read it`,
17
+ `Announces: the work with sha256 ${sha256}, for the proof escrow ${intent}, as the commitment ${plan.commitment}, which binds it to ${from} and a salt only its key derives`,
18
+ `Seals: the salt and the url ${url}, so only ${sealedTo.length === 1 ? `the attestor ${sealedTo[0] ?? plan.attestor}` : `the ${sealedTo.length} committee members`} can read it`,
18
19
  `Notifies: its attestor ${plan.attestor}, with a transfer of 0 lamports from ${from}`,
19
20
  "Costs: the transaction fee; no tokens move",
21
+ plan.sealedFor.map(sealedForLine).join("; "),
20
22
  ];
21
23
  }
22
24
  export const walletDeliver = define({
@@ -38,9 +40,11 @@ export const walletDeliver = define({
38
40
  attestor: account("the escrow's judge, who receives the announcement"),
39
41
  sha256: text(),
40
42
  url: text(),
41
- commitment: text("64 hex: the sha256 that binds the work's hash to this wallet; the memo carries it in place of the hash"),
43
+ commitment: text("64 hex: the sha256 that binds the work's hash to this wallet and its salt; the memo carries it in place of the hash"),
44
+ check: text("32 hex: the salt's check, which the memo carries so that an opened salt can be matched to this announcement"),
42
45
  summary: list(text(), 8),
43
46
  warnings: list(text(), 8),
47
+ ...deviceOutput,
44
48
  sent: flag(),
45
49
  signature: optional(text()),
46
50
  next: optional(text()),
@@ -62,6 +66,7 @@ export const walletDeliver = define({
62
66
  sha256,
63
67
  url: input.url,
64
68
  commitment: plan.commitment,
69
+ check: plan.check,
65
70
  summary: announcing(plan, input.intent, sha256, input.url, "this wallet"),
66
71
  warnings: [ANNOUNCE_FIRST],
67
72
  prepared: preparedView(await prepare(ctx.transport, instructions, signer.address)),
@@ -71,6 +76,7 @@ export const walletDeliver = define({
71
76
  });
72
77
  },
73
78
  });
79
+ export const signSalt = (intent, sha256) => `the worker's ed25519 signature of the message ${Buffer.from(saltMessage(intent, sha256)).toString("hex")}, as 128 hex digits; the salt is derived from it, so sign it with the worker's key, the same way each time`;
74
80
  export const notEarliest = (worker, sha256) => `${worker} announced the work with sha256 ${sha256} first, so a release recording it pays ${worker}; anyone can copy an announcement once it is on chain, so the earliest announcer is paid`;
75
81
  export const notInSplit = (worker, sha256) => `${worker} announced the work with sha256 ${sha256} first, so a split recording it must pay ${worker} among its recipients; anyone can copy an announcement once it is on chain, so the earliest announcer is paid`;
76
82
  export const DELIVERY_LIST = DELIVERY_PAGES * SIGNATURE_PAGE * MEMOS_PER_TRANSACTION;
@@ -92,8 +98,12 @@ export const walletCheckDelivery = define({
92
98
  output: deliveriesOutput(tool("wallet_attest")),
93
99
  run: async (ctx, input) => {
94
100
  const sha256 = input.sha256 === undefined ? undefined : sha256Of(input.sha256, "sha256");
95
- const wallet = sha256 === undefined ? undefined : (await signerOf(ctx)).address;
96
- return deliveriesOf(ctx, input.intent, await walletKeypair(ctx), wallet === undefined || sha256 === undefined ? undefined : { wallet, sha256 });
101
+ if (sha256 === undefined) {
102
+ return deliveriesOf(ctx, input.intent, await walletOpeners(ctx));
103
+ }
104
+ const signer = await signerOf(ctx);
105
+ const salt = await saltOf(() => deliverySalt(signer, input.intent, sha256));
106
+ return deliveriesOf(ctx, input.intent, await walletOpeners(ctx), { wallet: signer.address, sha256, salt });
97
107
  },
98
108
  });
99
109
  function deliveriesOutput(releasing) {
@@ -106,16 +116,25 @@ function deliveriesOutput(releasing) {
106
116
  complete: flag(`whether the whole history was read; when false, older announcements may be missing and ${releasing} refuses to release`),
107
117
  deliveries: list(object({
108
118
  worker: account("the announcing wallet, which the commitment binds"),
109
- commitment: text("64 hex: the sha256 of the work's hash bound to the intent and this announcer"),
119
+ commitment: text("64 hex: the sha256 of the work's hash bound to the intent, this announcer and its salt"),
120
+ check: text("32 hex: the check of the announcement's salt"),
110
121
  signature: text("the announcement's transaction"),
111
122
  url: optional(text("where the announcer said the work is, when the url was sealed to this wallet; untrusted")),
112
- }), DELIVERY_LIST, `each announcement hides the work's hash in a commitment; a release recording a hash pays the earliest whose commitment, recomputed with its own announcer, matches it. ${SEALED_NOTE}`),
123
+ opened_salt: optional(text("the announcement's salt, when an opening published it")),
124
+ }), DELIVERY_LIST, `each announcement hides the work's hash in a commitment; a release recording a hash pays the earliest whose sealed salt opens its commitment to it. ${SEALED_NOTE}`),
113
125
  own: optional(object({
114
- commitment: text("64 hex: this wallet's commitment to the given sha256"),
126
+ commitment: text("64 hex: this wallet's commitment to the given sha256, with the salt its key derives"),
127
+ salt: text("32 hex: this wallet's salt for the given sha256, recomputed from its key; keep it private until the release"),
115
128
  landed: flag("whether an announcement with this commitment, sent by this wallet, is on chain"),
116
- earliest: flag("whether this wallet is the earliest announcer of the given sha256, so a release recording it pays this wallet"),
129
+ earliest: flag("whether no earlier announcement of the given sha256 is known; others' salts are sealed, so only a published opening can show one"),
117
130
  signature: optional(text("this wallet's earliest announcement of it")),
118
131
  })),
132
+ release: optional(object({
133
+ signature: text("the release's transaction"),
134
+ sha256: text("the sha256 the release recorded"),
135
+ valid: flag("whether the payee's salt the release recorded opens the payee's announcement to that sha256"),
136
+ refuted_by: optional(text("an earlier announcement of the same sha256 that a published opening shows")),
137
+ })),
119
138
  });
120
139
  }
121
140
  async function proofEscrow(ctx, intent) {
@@ -133,24 +152,42 @@ async function proofEscrow(ctx, intent) {
133
152
  }
134
153
  return { held, params };
135
154
  }
155
+ async function saltOf(derive) {
156
+ try {
157
+ return await derive();
158
+ }
159
+ catch (error) {
160
+ if (error instanceof NoMessageSigner) {
161
+ throw new AgentRefusal("NoMessageSigner", error.message);
162
+ }
163
+ throw error;
164
+ }
165
+ }
136
166
  async function deliveriesOf(ctx, intent, keypair, own) {
137
167
  const { held, params } = await proofEscrow(ctx, intent);
138
168
  const open = held.status === IntentStatus.Open && held.expiresAt > (await chainTime(ctx.transport));
139
169
  const record = await deliveryRecord(ctx.transport, params.attestor, intent, undefined, keypair);
140
- const deliveries = record.deliveries.map(({ worker, commitment, signature, url }) => ({ worker, commitment, signature, ...(url === "" ? {} : { url }) }));
170
+ const deliveries = record.deliveries.map((delivery) => {
171
+ const [opened] = publishedSalts(delivery, record.openings);
172
+ const { worker, commitment, check, signature, url } = delivery;
173
+ return { worker, commitment, check, signature, ...(url === "" ? {} : { url }), ...(opened === undefined ? {} : { opened_salt: opened }) };
174
+ });
141
175
  const mine = own === undefined
142
176
  ? undefined
143
177
  : (() => {
144
- const commitment = commitmentOf(intent, own.wallet, own.sha256);
145
- const landed = record.deliveries.filter((d) => d.worker === own.wallet && d.commitment === commitment);
146
- const first = firstDelivery(landed, own.sha256);
178
+ const commitment = commitmentOf(intent, own.wallet, own.salt, own.sha256);
179
+ const landed = record.deliveries.filter((d) => d.worker === own.wallet && opensWith(d, own.salt, own.sha256)).sort((a, b) => (earlier(a, b) ? -1 : 1));
180
+ const [first] = landed;
181
+ const shown = record.deliveries.some((d) => d.worker !== own.wallet && (first === undefined || earlier(d, first)) && publishedSalts(d, record.openings).some((salt) => opensWith(d, salt, own.sha256)));
147
182
  return {
148
183
  commitment,
149
- landed: first !== null,
150
- earliest: firstDelivery(record.deliveries, own.sha256)?.worker === own.wallet,
151
- ...(first === null ? {} : { signature: first.signature }),
184
+ salt: own.salt,
185
+ landed: first !== undefined,
186
+ earliest: first !== undefined && !shown,
187
+ ...(first === undefined ? {} : { signature: first.signature }),
152
188
  };
153
189
  })();
190
+ const release = await recordedStanding(ctx.transport, intent, record);
154
191
  return {
155
192
  intent,
156
193
  owner: held.owner,
@@ -160,6 +197,9 @@ async function deliveriesOf(ctx, intent, keypair, own) {
160
197
  complete: record.complete,
161
198
  deliveries,
162
199
  ...(mine === undefined ? {} : { own: mine }),
200
+ ...(release === null
201
+ ? {}
202
+ : { release: { signature: release.signature, sha256: release.sha256, valid: release.valid, ...(release.refutedBy === null ? {} : { refuted_by: release.refutedBy }) } }),
163
203
  };
164
204
  }
165
205
  async function deliveryPlan(ctx, input) {
@@ -167,6 +207,12 @@ async function deliveryPlan(ctx, input) {
167
207
  return await deliveryInstructions(ctx.transport, input);
168
208
  }
169
209
  catch (error) {
210
+ if (error instanceof BadSaltSignature) {
211
+ throw new InvalidInput([{ path: "salt_signature", message: error.message }]);
212
+ }
213
+ if (error instanceof NoMessageSigner) {
214
+ throw new AgentRefusal("NoMessageSigner", input.saltSignature === undefined ? `${error.message}; or pass salt_signature: ${signSalt(input.intent, input.sha256)}` : error.message);
215
+ }
170
216
  if (error instanceof RangeError) {
171
217
  throw new InvalidInput([{ path: "url", message: error.message }]);
172
218
  }
@@ -180,7 +226,7 @@ export const checkDelivery = define({
180
226
  effect: "read",
181
227
  input: object({ intent: account("the proof escrow's intent address") }),
182
228
  output: deliveriesOutput("a release"),
183
- run: async (ctx, input) => deliveriesOf(ctx, input.intent),
229
+ run: async (ctx, input) => deliveriesOf(ctx, input.intent, []),
184
230
  });
185
231
  export const prepareDeliver = define({
186
232
  name: tool("prepare_deliver"),
@@ -192,13 +238,15 @@ export const prepareDeliver = define({
192
238
  intent: account("the proof escrow's intent address"),
193
239
  sha256: text("the sha256 of the delivered work, as 64 hex digits; the judge releases for this same value, passed as delivered_sha256"),
194
240
  url: text(`where the attestor fetches the work, ${MEMO_URL_RULE}`),
241
+ salt_signature: optional(text("the worker's ed25519 signature, as 128 hex digits, of the salt message a call without it names; the announcement's salt is derived from it")),
195
242
  }),
196
243
  output: object({
197
244
  intent: account(),
198
245
  attestor: account("the escrow's judge, who receives the announcement"),
199
246
  sha256: text(),
200
247
  url: text(),
201
- commitment: text("64 hex: the sha256 that binds the work's hash to the worker; the memo carries it in place of the hash"),
248
+ commitment: text("64 hex: the sha256 that binds the work's hash to the worker and its salt; the memo carries it in place of the hash"),
249
+ check: text("32 hex: the salt's check, which the memo carries"),
202
250
  summary: list(text(), 8),
203
251
  warnings: list(text(), 8),
204
252
  prepared: preparedSchema,
@@ -208,7 +256,9 @@ export const prepareDeliver = define({
208
256
  if (!isMemoUrl(input.url)) {
209
257
  throw new InvalidInput([{ path: "url", message: `must be ${MEMO_URL_RULE}` }]);
210
258
  }
211
- const plan = await deliveryPlan(ctx, { worker: createNoopSigner(input.worker), intent: input.intent, sha256, url: input.url });
259
+ const saltSignature = input.salt_signature === undefined ? undefined : signatureOf(input.salt_signature);
260
+ const worker = createNoopSigner(input.worker);
261
+ const plan = await deliveryPlan(ctx, { worker, intent: input.intent, sha256, url: input.url, ...(saltSignature === undefined ? {} : { saltSignature }) });
212
262
  const { attestor, instructions } = plan;
213
263
  return {
214
264
  intent: input.intent,
@@ -216,12 +266,19 @@ export const prepareDeliver = define({
216
266
  sha256,
217
267
  url: input.url,
218
268
  commitment: plan.commitment,
269
+ check: plan.check,
219
270
  summary: announcing(plan, input.intent, sha256, input.url, input.worker),
220
271
  warnings: [ANNOUNCE_FIRST],
221
272
  prepared: preparedView(await prepare(ctx.transport, instructions, input.worker)),
222
273
  };
223
274
  },
224
275
  });
276
+ function signatureOf(text) {
277
+ if (!/^[0-9a-fA-F]{128}$/.test(text)) {
278
+ throw new InvalidInput([{ path: "salt_signature", message: "give the signature as 128 hex digits" }]);
279
+ }
280
+ return Uint8Array.from(Buffer.from(text, "hex"));
281
+ }
225
282
  export async function confirmedRelease(ctx, target) {
226
283
  if (ctx.confirm === undefined) {
227
284
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../../../src/agent/wallet/delivery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../../../src/agent/wallet/delivery.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export declare const ESCROW_EXPIRES_IN = 86400;
2
+ export declare const NO_SPEC_HASH: string;
2
3
  export declare const JOB_LIVE: string;
3
4
  export declare const RECORD_MINT_NEEDED = "selling SOL on this RPC needs record_mint: any other token's mint, which only labels the escrow";
4
5
  export declare const walletEscrow: import("../actions.js").AnyAction;
@@ -1,12 +1,12 @@
1
- import { feeBpsFor, formatAmount, Kind, MEMO_URL_RULE, NATIVE_MINT, splitFees } from "@intent-engine/core";
2
- import { chainTime, loadConfig, mintOf } from "@intent-engine/client";
1
+ import { feeBpsFor, formatAmount, isMemoUrl, Kind, MEMO_URL_RULE, NATIVE_MINT, splitFees } from "@intent-engine/core";
2
+ import { chainTime, loadConfig, mintOf, plainHttpOnPublic } from "@intent-engine/client";
3
3
  import { TOKEN_NAMES, tokenNamed } from "../../tokens.js";
4
4
  import { define } from "../actions.js";
5
- import { MAX_EXPIRES_IN, MIN_EXPIRES_IN, neverSettles } from "../create.js";
5
+ import { escrowJudge, MAX_EXPIRES_IN, MIN_EXPIRES_IN, neverSettles, SPEC_URL_PLAIN } from "../create.js";
6
6
  import { tool } from "../names.js";
7
7
  import { AgentRefusal, problemOf } from "../problems.js";
8
8
  import { InvalidInput, account, amount, flag, hex32, integer, list, object, optional, text } from "../schema.js";
9
- import { LANDING_SECONDS, access, mintNamed, raw, salesOf, checkSale, checkHour, refusedBeforeSending, PREVIEW_FIRST } from "./guard.js";
9
+ import { LANDING_SECONDS, access, mintNamed, raw, salesOf, checkSale, checkHour, refusedBeforeSending, PREVIEW_FIRST, oneAtATime, signerOf } from "./guard.js";
10
10
  import { offerOutput, offered } from "./offer.js";
11
11
  import { fetchSha256 } from "../../delivery-fetch.js";
12
12
  async function specPreflight(ctx, specUrl, specHash) {
@@ -20,6 +20,7 @@ async function specPreflight(ctx, specUrl, specHash) {
20
20
  return undefined;
21
21
  }
22
22
  export const ESCROW_EXPIRES_IN = 86_400;
23
+ export const NO_SPEC_HASH = `no spec_hash, so workers cannot find this escrow with ${tool("find_jobs")}; give spec_hash and spec_url to list it`;
23
24
  export const JOB_LIVE = `job live; ${tool("wallet_check_delivery")} to watch for work, then ${tool("wallet_attest")} its earliest announcer`;
24
25
  export const RECORD_MINT_NEEDED = "selling SOL on this RPC needs record_mint: any other token's mint, which only labels the escrow";
25
26
  function recordedMint(sell, url, chosen) {
@@ -44,7 +45,7 @@ export const walletEscrow = define({
44
45
  input: object({
45
46
  sell: text("SOL, TEST or a mint address: the token to pay with"),
46
47
  amount: text("whole tokens to escrow, such as 0.05"),
47
- attestor: account("the wallet whose signature alone releases the escrow"),
48
+ attestor: account("the wallet whose signature alone releases the escrow, or a committee's address; at or above the token's committee floor it must be a committee of 2 or more"),
48
49
  min_result: optional(amount("least result the attestor may attest, a plain count not whole tokens; default 1")),
49
50
  max_result: optional(amount("greatest result the attestor may attest, a plain count not whole tokens; default min_result")),
50
51
  spec_hash: optional(hex32("64 hex: the sha256 of the acceptance spec the attestor must verify. Setting it binds the release to a signature over that exact spec, so the attestor cannot sign a generic result")),
@@ -91,7 +92,7 @@ export const walletEscrow = define({
91
92
  };
92
93
  }, JOB_LIVE));
93
94
  const summary = [...(escrowed["summary"] ?? []), ...(settled === undefined ? [] : [await feeLine(ctx, settled)])];
94
- const warnings = [...(escrowed["warnings"] ?? []), ...(preflight === undefined ? [] : [preflight])];
95
+ const warnings = [...(escrowed["warnings"] ?? []), ...(preflight === undefined ? [] : [preflight]), ...(specHash === undefined ? [NO_SPEC_HASH] : [])];
95
96
  return { ...escrowed, summary, warnings };
96
97
  },
97
98
  });
@@ -104,26 +105,58 @@ export const MAX_PIECES = 12;
104
105
  export const piecesPartlySent = (sent, total, problem) => `${sent} of ${total} pieces were escrowed; the next failed with ${problem}. To finish, escrow only the ${total - sent} remaining pieces; do not repeat this call`;
105
106
  export const piecesMayHaveLanded = (sent, total, problem) => `${sent} of ${total} pieces were escrowed and the next may have landed too (${problem}); check ${tool("wallet_intents")} before escrowing any again, and do not repeat this call`;
106
107
  export const pieceUnsettled = (index, name) => `nothing was escrowed: piece ${index} (${name}) cannot be paid; `;
108
+ async function checkedSpec(ctx, plan, piece, i) {
109
+ const specHash = piece.spec_hash ?? plan.spec_hash;
110
+ const specUrl = piece.spec_url ?? plan.spec_url;
111
+ if (specUrl === undefined) {
112
+ return { specHash, specUrl };
113
+ }
114
+ const path = piece.spec_url === undefined ? "spec_url" : `pieces.${i}.spec_url`;
115
+ if (specHash === undefined) {
116
+ throw new InvalidInput([{ path, message: "needs spec_hash" }]);
117
+ }
118
+ if (!isMemoUrl(specUrl)) {
119
+ throw new InvalidInput([{ path, message: `must be ${MEMO_URL_RULE}` }]);
120
+ }
121
+ if (await plainHttpOnPublic(ctx.transport, specUrl)) {
122
+ throw new InvalidInput([{ path, message: SPEC_URL_PLAIN }]);
123
+ }
124
+ return { specHash, specUrl };
125
+ }
126
+ const specBytes = (specHash) => (specHash === undefined ? new Uint8Array(32) : Uint8Array.from(Buffer.from(specHash, "hex")));
107
127
  export const walletEscrowPlan = define({
108
128
  name: tool("wallet_escrow_plan"),
109
129
  title: "Escrow a task's pieces in one plan",
110
- description: `Pays for a larger task in pieces: one preview and one send lock a payment per piece, each like ${tool("wallet_escrow")}. Each piece is released on its own as it passes; cancel an unreleased piece with ${tool("wallet_cancel")}. Workers deliver to the attestor, not this wallet. ${PREVIEW_FIRST}`,
130
+ description: `Pays for a larger task in pieces: one preview and one send lock a payment per piece, each like ${tool("wallet_escrow")}. Each piece is released on its own; cancel an unreleased one with ${tool("wallet_cancel")}. spec_hash and spec_url list pieces in ${tool("find_jobs")}. Workers deliver to the attestor, not this wallet. ${PREVIEW_FIRST}`,
111
131
  effect: "submit",
112
132
  repeats: true,
113
133
  input: object({
114
134
  sell: text("SOL, TEST or a mint address: the token to pay with"),
115
135
  attestor: account("the wallet that releases every piece that names no attestor of its own"),
136
+ spec_hash: optional(hex32("64 hex: the sha256 of the acceptance spec of every piece that names none; it binds each release to that spec")),
137
+ spec_url: optional(text(`where that spec is published, ${MEMO_URL_RULE}; needs spec_hash; for every piece that names none`)),
116
138
  pieces: list(object({
117
139
  name: text("a label for the piece, shown in the plan only"),
118
140
  amount: text("whole tokens this piece pays, such as 0.01"),
119
141
  attestor: optional(account("this piece's attestor, instead of the plan's")),
142
+ spec_hash: optional(hex32("this piece's spec_hash, instead of the plan's")),
143
+ spec_url: optional(text("this piece's spec_url, instead of the plan's")),
120
144
  }), MAX_PIECES, "the pieces, in order", 2),
121
145
  expires_in: optional(integer(MIN_EXPIRES_IN, MAX_EXPIRES_IN, `least seconds each escrow stays open once sent; default ${ESCROW_EXPIRES_IN}`)),
122
146
  record_mint: optional(text("a token the escrows record as their output, other than sell; only a label. Default SOL, or TEST when selling SOL on devnet")),
123
147
  send: optional(flag("true signs and sends every piece; leave out to preview")),
124
148
  }),
125
149
  output: object({
126
- pieces: list(object({ name: text(), amount: text(), attestor: account(), intent: optional(account()), nonce: optional(amount()), signature: optional(text()) }), MAX_PIECES),
150
+ pieces: list(object({
151
+ name: text(),
152
+ amount: text(),
153
+ attestor: account(),
154
+ spec_hash: optional(text()),
155
+ spec_url: optional(text()),
156
+ intent: optional(account()),
157
+ nonce: optional(amount()),
158
+ signature: optional(text()),
159
+ }), MAX_PIECES),
127
160
  total: text("whole tokens escrowed across all pieces"),
128
161
  summary: list(text(), 24, "the plan, then the first piece"),
129
162
  warnings: list(text(), 16),
@@ -132,19 +165,28 @@ export const walletEscrowPlan = define({
132
165
  }),
133
166
  run: async (ctx, input, call) => {
134
167
  const wallet = access(ctx);
168
+ oneAtATime(await signerOf(ctx));
135
169
  const sold = mintNamed(input.sell, wallet.url, "sell");
136
170
  const buy = recordedMint(sold, wallet.url, input.record_mint);
137
171
  const [token, now, { config }] = await Promise.all([mintOf(ctx.transport, sold), chainTime(ctx.transport), loadConfig(ctx.transport)]);
138
- const planned = input.pieces.map((piece, i) => ({
139
- name: piece.name,
140
- amountIn: raw(piece.amount, token.decimals, `pieces.${i}.amount`),
141
- attestor: piece.attestor ?? input.attestor,
142
- }));
172
+ const planned = [];
173
+ for (const [i, piece] of input.pieces.entries()) {
174
+ planned.push({
175
+ name: piece.name,
176
+ amountIn: raw(piece.amount, token.decimals, `pieces.${i}.amount`),
177
+ attestor: piece.attestor ?? input.attestor,
178
+ ...(await checkedSpec(ctx, input, piece, i)),
179
+ });
180
+ }
143
181
  for (const [i, piece] of planned.entries()) {
144
- const unsettled = neverSettles({ kind: Kind.AttestedResult, amountIn: piece.amountIn, minResult: 1n, maxResult: 1n, attestor: piece.attestor, specHash: new Uint8Array(32), judgeFee: 0n }, config, 0, token.decimals);
182
+ const order = { kind: Kind.AttestedResult, amountIn: piece.amountIn, minResult: 1n, maxResult: 1n, attestor: piece.attestor, specHash: specBytes(piece.specHash), judgeFee: 0n };
183
+ const unsettled = neverSettles(order, config, 0, token.decimals);
145
184
  if (unsettled !== undefined) {
146
185
  throw new AgentRefusal("NeverSettles", `${pieceUnsettled(i + 1, piece.name)}${unsettled}`);
147
186
  }
187
+ await escrowJudge(ctx.transport, config, sold, order, token.decimals).catch((error) => {
188
+ throw error instanceof AgentRefusal ? new AgentRefusal("CommitteeRequired", `${pieceUnsettled(i + 1, piece.name)}${error.message}`) : error;
189
+ });
148
190
  }
149
191
  const total = planned.reduce((sum, piece) => sum + piece.amountIn, 0n);
150
192
  const sales = await salesOf(wallet, now);
@@ -153,21 +195,42 @@ export const walletEscrowPlan = define({
153
195
  }
154
196
  checkHour(wallet.limits, sold, token.decimals, total, now, sales);
155
197
  const terms = (piece) => (_sold, _bought, at) => ({
156
- order: { kind: "attested", amount_in: piece.amountIn, min_result: 1n, max_result: 1n, attestor: piece.attestor },
198
+ order: {
199
+ kind: "attested",
200
+ amount_in: piece.amountIn,
201
+ min_result: 1n,
202
+ max_result: 1n,
203
+ attestor: piece.attestor,
204
+ ...(piece.specHash === undefined ? {} : { spec_hash: piece.specHash }),
205
+ },
157
206
  expires_at: at + BigInt((input.expires_in ?? ESCROW_EXPIRES_IN) + LANDING_SECONDS),
207
+ ...(piece.specUrl === undefined ? {} : { spec_url: piece.specUrl }),
158
208
  });
159
209
  const name = TOKEN_NAMES[sold] ?? sold;
160
- const listed = (piece) => ({ name: piece.name, amount: formatAmount(piece.amountIn, token.decimals), attestor: piece.attestor });
210
+ const listed = (piece) => ({
211
+ name: piece.name,
212
+ amount: formatAmount(piece.amountIn, token.decimals),
213
+ attestor: piece.attestor,
214
+ ...(piece.specHash === undefined ? {} : { spec_hash: piece.specHash }),
215
+ ...(piece.specUrl === undefined ? {} : { spec_url: piece.specUrl }),
216
+ });
217
+ const unlisted = planned.flatMap((piece, i) => (piece.specHash === undefined ? [`Piece ${i + 1} (${piece.name}): ${NO_SPEC_HASH}`] : []));
218
+ const preflights = input.send === true
219
+ ? []
220
+ : await Promise.all(planned.map(async (piece, i) => {
221
+ const found = piece.specUrl === undefined || piece.specHash === undefined ? undefined : await specPreflight(ctx, piece.specUrl, piece.specHash);
222
+ return found === undefined ? [] : [`Piece ${i + 1} (${piece.name}): ${found}`];
223
+ }));
161
224
  const [head, ...rest] = planned;
162
225
  const first = (await offered(ctx, call, { sell: sold, buy, send: input.send }, terms(head)));
163
226
  const shown = {
164
227
  total: formatAmount(total, token.decimals),
165
228
  summary: [
166
229
  `Plan: ${planned.length} pieces, ${formatAmount(total, token.decimals)} of ${name} in all, each escrowed now and released on its own`,
167
- ...planned.map((piece, i) => `Piece ${i + 1}: ${piece.name}, ${formatAmount(piece.amountIn, token.decimals)} of ${name}, released by ${piece.attestor}`),
230
+ ...planned.map((piece, i) => `Piece ${i + 1}: ${piece.name}, ${formatAmount(piece.amountIn, token.decimals)} of ${name}, released by ${piece.attestor}${piece.specHash === undefined ? "" : ` against spec ${piece.specHash}`}`),
168
231
  ...first["summary"],
169
232
  ],
170
- warnings: first["warnings"],
233
+ warnings: [...first["warnings"], ...unlisted, ...preflights.flat()],
171
234
  };
172
235
  if (input.send !== true) {
173
236
  return { pieces: planned.map(listed), ...shown, sent: false, next: first["next"] };
@@ -1 +1 @@
1
- {"version":3,"file":"escrow.js","sourceRoot":"","sources":["../../../../src/agent/wallet/escrow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3G,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAqB,MAAM,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACjH,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACzI,OAAO,EAAE,WAAW,EAAc,OAAO,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,KAAK,UAAU,aAAa,CAAC,GAAiB,EAAE,OAAe,EAAE,QAAgB;IAC/E,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC5E,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;QACvB,OAAO,YAAY,KAAK,CAAC,OAAO,6CAA6C,CAAC;IAChF,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;QAC5C,OAAO,sBAAsB,KAAK,CAAC,MAAM,mBAAmB,QAAQ,6CAA6C,CAAC;IACpH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAExC,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAa,IAAI,CAAC,uBAAuB,CAAC,4BAA4B,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC;AAE7I,MAAM,CAAC,MAAM,kBAAkB,GAAG,iGAAiG,CAAC;AAEpI,SAAS,YAAY,CAAC,IAAa,EAAE,GAAW,EAAE,MAA0B;IAC1E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,IAAI,IAAI,YAAY,KAAK,EAAE,CAAC;QAC1B,MAAM,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,IAAe,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;IACjC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC;IAC3B,KAAK,EAAE,6CAA6C;IACpD,WAAW,EAAE,6MAA6M,IAAI,CAAC,WAAW,CAAC,4EAA4E,aAAa,EAAE;IACtU,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,IAAI,CAAC,oDAAoD,CAAC;QAChE,MAAM,EAAE,IAAI,CAAC,sCAAsC,CAAC;QACpD,QAAQ,EAAE,OAAO,CAAC,sDAAsD,CAAC;QACzE,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,iFAAiF,CAAC,CAAC;QAC/G,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,6FAA6F,CAAC,CAAC;QAC3H,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,oLAAoL,CAAC,CAAC;QAChN,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,2CAA2C,aAAa,yEAAyE,CAAC,CAAC;QAC3J,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,sIAAsI,CAAC,CAAC;QACjK,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,cAAc,EAAE,0DAA0D,iBAAiB,EAAE,CAAC,CAAC;QAC5I,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,0HAA0H,CAAC,CAAC;QACvJ,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;KACnE,CAAC;IACF,MAAM,EAAE,WAAW;IACnB,GAAG,EAAE,KAAK,EAAE,GAAiB,EAAE,KAAK,EAAE,IAAU,EAAE,EAAE;QAClD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC;QACvC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;YACjB,MAAM,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC5D,MAAM,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3D,MAAM,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjK,IAAI,OAA2E,CAAC;QAChF,MAAM,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;YACrJ,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACxG,OAAO,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnE,OAAO;gBACL,KAAK,EAAE;oBACL,IAAI,EAAE,UAAU;oBAChB,SAAS,EAAE,QAAQ;oBACnB,UAAU,EAAE,KAAK;oBACjB,UAAU,EAAE,IAAI;oBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;oBAC1D,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;iBAClE;gBACD,UAAU,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,iBAAiB,CAAC,GAAG,eAAe,CAAC;gBACnF,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;aACtE,CAAC;QACJ,CAAC,EAAE,QAAQ,CAAC,CAA4B,CAAC;QACzC,MAAM,OAAO,GAAG,CAAC,GAAG,CAAE,QAAQ,CAAC,SAAS,CAAc,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAChI,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAE,QAAQ,CAAC,UAAU,CAAc,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAClH,OAAO,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAC5C,CAAC;CACF,CAAC,CAAC;AAEH,KAAK,UAAU,OAAO,CAAC,GAAiB,EAAE,OAA+D;IACvG,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACrF,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACxE,OAAO,mBAAmB,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,eAAe,GAAG,GAAG,GAAG,kCAAkC,CAAC;AAC1H,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC;AAE7B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,OAAe,EAAE,EAAE,CAC/E,GAAG,IAAI,OAAO,KAAK,+CAA+C,OAAO,gCAAgC,KAAK,GAAG,IAAI,4CAA4C,CAAC;AAEpK,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,OAAe,EAAE,EAAE,CAClF,GAAG,IAAI,OAAO,KAAK,2DAA2D,OAAO,YAAY,IAAI,CAAC,gBAAgB,CAAC,0DAA0D,CAAC;AAEpL,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,IAAY,EAAE,EAAE,CAAC,+BAA+B,KAAK,KAAK,IAAI,oBAAoB,CAAC;AAIjI,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;IACrC,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC;IAChC,KAAK,EAAE,oCAAoC;IAC3C,WAAW,EAAE,kGAAkG,IAAI,CAAC,eAAe,CAAC,qFAAqF,IAAI,CAAC,eAAe,CAAC,uDAAuD,aAAa,EAAE;IACpT,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,IAAI,CAAC,oDAAoD,CAAC;QAChE,QAAQ,EAAE,OAAO,CAAC,wEAAwE,CAAC;QAC3F,MAAM,EAAE,IAAI,CACV,MAAM,CAAC;YACL,IAAI,EAAE,IAAI,CAAC,+CAA+C,CAAC;YAC3D,MAAM,EAAE,IAAI,CAAC,4CAA4C,CAAC;YAC1D,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;SAC5E,CAAC,EACF,UAAU,EACV,sBAAsB,EACtB,CAAC,CACF;QACD,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,cAAc,EAAE,2DAA2D,iBAAiB,EAAE,CAAC,CAAC;QAC7I,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,4HAA4H,CAAC,CAAC;QACzJ,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;KAC/E,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,IAAI,CACV,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAClJ,UAAU,CACX;QACD,KAAK,EAAE,IAAI,CAAC,yCAAyC,CAAC;QACtD,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,gCAAgC,CAAC;QAC3D,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;QAC1B,IAAI,EAAE,IAAI,EAAE;QACZ,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;KACvB,CAAC;IACF,GAAG,EAAE,KAAK,EAAE,GAAiB,EAAE,KAAK,EAAE,IAAU,EAAE,EAAE;QAClD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QAC9D,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACvI,MAAM,OAAO,GAAY,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACvD,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC;YACjE,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ;SAC3C,CAAC,CAAC,CAAC;QACJ,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YACvN,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,IAAI,YAAY,CAAC,cAAc,EAAE,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACzC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7E,CAAC;QACD,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,CAAC,KAAY,EAAE,OAAc,EAAE,EAAU,EAAE,EAAE,CAAC,CAAC;YAC7E,KAAK,EAAE,EAAE,IAAI,EAAE,UAAmB,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE;YACzH,UAAU,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,iBAAiB,CAAC,GAAG,eAAe,CAAC;SACnF,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QACvC,MAAM,MAAM,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxI,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,OAA8B,CAAC;QACvD,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAA4B,CAAC;QACxH,MAAM,KAAK,GAAG;YACZ,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC;YAC1C,OAAO,EAAE;gBACP,SAAS,OAAO,CAAC,MAAM,YAAY,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,oDAAoD;gBACrI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,iBAAiB,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACxJ,GAAI,KAAK,CAAC,SAAS,CAAc;aAClC;YACD,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAa;SACxC,CAAC;QACF,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACrF,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACpH,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAA4B,CAAC;gBAClH,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAChH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvC,IAAI,EAAE,CAAC;gBACT,CAAC;gBACD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBACjC,MAAM,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;gBAClD,OAAO;oBACL,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAChE,GAAG,KAAK;oBACR,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;iBACzJ,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO;YACL,MAAM;YACN,GAAG,KAAK;YACR,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,qBAAqB,IAAI,CAAC,uBAAuB,CAAC,SAAS,IAAI,CAAC,eAAe,CAAC,0BAA0B;SAClI,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"escrow.js","sourceRoot":"","sources":["../../../../src/agent/wallet/escrow.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ export async function recentFills(transport, inputMint, outputMint) {
18
18
  .filter((f) => f.amountIn > 0n && created.get(f.intent)?.inputMint === inputMint && created.get(f.intent)?.outputMint === outputMint)
19
19
  .slice(0, ESTIMATE_FILLS);
20
20
  }
21
- const byRate = (fills) => [...fills].sort((a, b) => (a.delivered * b.amountIn < b.delivered * a.amountIn ? -1 : a.delivered * b.amountIn > b.delivered * a.amountIn ? 1 : 0));
21
+ const byRate = (fills) => [...fills].sort((a, b) => Number(a.delivered * b.amountIn - b.delivered * a.amountIn));
22
22
  export const bestOf = (fills) => byRate(fills).at(-1);
23
23
  export const medianOf = (fills) => byRate(fills)[Math.floor((fills.length - 1) / 2)];
24
24
  export function openingAsk(fills, amount, floor) {
@@ -26,8 +26,9 @@ export function openingAsk(fills, amount, floor) {
26
26
  const blind = (floor * (10000n + SWAP_BLIND_BPS)) / 10000n;
27
27
  const seen = typical === undefined ? 0n : (amount * typical.delivered * (10000n + SWAP_HEADROOM_BPS)) / (typical.amountIn * 10000n);
28
28
  const cap = (floor * SWAP_CAP_BPS) / 10000n;
29
- const ask = seen > blind ? seen : blind;
30
- return ask < cap ? ask : cap;
29
+ const [ask = blind] = [seen, blind].sort((a, b) => Number(b - a));
30
+ const [capped = cap] = [ask, cap].sort((a, b) => Number(a - b));
31
+ return capped;
31
32
  }
32
33
  async function engineHistory(transport, limit) {
33
34
  return historyIn(await transport.engineTransactions(limit));
@@ -1 +1 @@
1
- {"version":3,"file":"fills.js","sourceRoot":"","sources":["../../../../src/agent/wallet/fills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fills.js","sourceRoot":"","sources":["../../../../src/agent/wallet/fills.ts"],"names":[],"mappings":"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"}