@ftptech/canton-agent-wallet 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,275 @@
1
+ /**
2
+ * swap-route — the venue-routing half of `swap`: resolve the two legs fail-closed,
3
+ * pick a venue (explicit, default-with-fallback, or `auto` by best quote) and
4
+ * produce the ticket `executeSwap` sends against.
5
+ *
6
+ * This is the ONE copy of that logic. The CLI `swap` command and the MCP `swap`
7
+ * tool both call it, so a routing rule (which venue is tried first, when a
8
+ * fallback is allowed, which minimums are checked) cannot drift between the two
9
+ * the way the quest's "unreadable balance" guard once did.
10
+ *
11
+ * Nothing here moves the swap input. The only money this module can spend is the
12
+ * endpoint's ticket fee, on the non-direct path, through the `payingFetch` the
13
+ * caller supplies (and bounds).
14
+ */
15
+ import { resolveSwapSymbol, KNOWN_INSTRUMENTS } from "./registry-parties.js";
16
+ import { buildLocalTicket, buildCantexTicket, fetchTicketFromEndpoint, tradecraftMinInput, CANTEX_CONNECT_PARTY, CANTEX_CONNECT_URL, CANTEX_MIN_INPUT_CC, } from "./swap.js";
17
+ /** The venue used when the caller names none. */
18
+ export const DEFAULT_SWAP_VENUE = "cantex";
19
+ /** Ceiling on the swap-ticket fee the endpoint may charge, in CC. The live fee is
20
+ * 0.01 CC, so this leaves a wide margin while still bounding a hijacked endpoint
21
+ * to a trivial loss instead of the agent's balance. */
22
+ export const SWAP_MAX_FEE_CC = "0.5";
23
+ /** The Tradecraft AMM-rules contract every pool party derives from. CLIENT-TRUSTED
24
+ * (config, never the endpoint): the receiver of a Tradecraft swap must be a
25
+ * `tc-swp_…::<this>` party, so a compromised endpoint cannot redirect funds. */
26
+ export const DEFAULT_TRADECRAFT_AMM_CID = "122096fe076cc065af0cb38f94caa60e8ddfecbe8f0cfe10655ae7aa06fab99c66b7";
27
+ /** Our x402-gated ticket endpoint (the default, fee-charging path). */
28
+ export const DEFAULT_SWAP_URL = "https://swap.ftptech.xyz";
29
+ /** Tradecraft's public REST (the `direct` path quotes here). */
30
+ export const DEFAULT_TRADECRAFT_API = "https://api.tradecraft.fi";
31
+ /** Parse a venue choice; absent = the default. Throws on anything else. */
32
+ export function parseSwapVenue(raw) {
33
+ const v = (raw ?? DEFAULT_SWAP_VENUE).toLowerCase();
34
+ if (v !== "cantex" && v !== "tradecraft" && v !== "auto") {
35
+ throw new Error("swap: venue must be cantex, tradecraft, or auto");
36
+ }
37
+ return v;
38
+ }
39
+ /** Parse a slippage percentage; absent = 1%. Throws outside [0, 100). */
40
+ export function parseSlippagePct(raw) {
41
+ const pct = raw === undefined ? 1 : Number(raw);
42
+ if (!Number.isFinite(pct) || pct < 0 || pct >= 100) {
43
+ throw new Error("swap: slippage must be a percentage in [0, 100)");
44
+ }
45
+ return pct;
46
+ }
47
+ /**
48
+ * Resolve each leg to a CANONICAL symbol, and FAIL CLOSED on an unrecognized one.
49
+ * Without this an unknown symbol would fall back to native Canton Coin, so a typo
50
+ * like `USDC` (for USDCx) would silently send real CC to a `tc-swp_USDC-…` pool.
51
+ * The canonical casing also targets the real `USDCx` pool, not a case-mismatched
52
+ * non-existent one. `labels` name the two inputs in the error the way the caller
53
+ * spells them (`--in` for the CLI, `in` for a tool argument).
54
+ */
55
+ export function resolveSwapIntent(inSym, outSym, labels = { in: "in", out: "out" }) {
56
+ const inLeg = resolveSwapSymbol(inSym);
57
+ const outLeg = resolveSwapSymbol(outSym);
58
+ for (const [label, sym, leg] of [
59
+ [labels.in, inSym, inLeg],
60
+ [labels.out, outSym, outLeg],
61
+ ]) {
62
+ if (leg.kind === "unknown") {
63
+ throw new Error(`swap: ${label} ${JSON.stringify(sym)} is not a known instrument. ` +
64
+ `Use CC or one of: ${Object.keys(KNOWN_INSTRUMENTS).join(", ")} ` +
65
+ `(add others via CANTON_AGENT_REGISTRY_TRUSTED_PARTIES + code).`);
66
+ }
67
+ }
68
+ if (inLeg.kind === "unknown" || outLeg.kind === "unknown") {
69
+ throw new Error("unreachable"); // narrowed above
70
+ }
71
+ if (inLeg.kind === "cc" && outLeg.kind === "cc") {
72
+ throw new Error(`swap: ${labels.in} and ${labels.out} are both CC — nothing to swap`);
73
+ }
74
+ return {
75
+ inCanon: inLeg.symbol,
76
+ outCanon: outLeg.symbol,
77
+ inInstrument: inLeg.kind === "registry" ? inLeg.instrument : null,
78
+ outInstrument: outLeg.kind === "registry" ? outLeg.instrument : null,
79
+ };
80
+ }
81
+ /**
82
+ * Resolve the ticket for a swap. DEFAULT path = our x402 `/swap` endpoint (a
83
+ * small CC fee for a ticket that stays current with each venue's pools/params);
84
+ * the returned ticket is validated against the trusted per-venue receiver +
85
+ * instruments inside `fetchTicketFromEndpoint`, so the endpoint is trusted for
86
+ * price only. The `direct` path resolves the venue's quote locally (no fee).
87
+ *
88
+ * Venue rules (identical for every caller):
89
+ * - `cantex` (default): a CC input below Cantex's minimum, or a Cantex quote
90
+ * failure, routes to Tradecraft — unless the caller named cantex explicitly,
91
+ * in which case it is an error.
92
+ * - `tradecraft`: Tradecraft only.
93
+ * - `auto`: FREE direct quotes from every eligible venue, best expected output
94
+ * wins; one venue erroring uses the other. Never pays the endpoint fee.
95
+ */
96
+ export async function resolveSwapTicket(opts) {
97
+ const env = opts.env ?? process.env;
98
+ const { intent, amount, slippagePct } = opts;
99
+ const d = {
100
+ buildCantexTicket,
101
+ buildLocalTicket,
102
+ fetchTicketFromEndpoint,
103
+ ...opts.deps,
104
+ };
105
+ const notes = [];
106
+ const note = (level, text) => {
107
+ const n = { level, text };
108
+ notes.push(n);
109
+ opts.onNote?.(n);
110
+ };
111
+ // CLIENT-TRUSTED constants (config, never the endpoint): the receiver of the
112
+ // funds must equal one of these per venue, so a compromised swap endpoint can
113
+ // never redirect the swap to an attacker party.
114
+ const trustedAmmCid = env.CANTON_AGENT_TRADECRAFT_AMM_CID ?? DEFAULT_TRADECRAFT_AMM_CID;
115
+ const trustedCantexParty = CANTEX_CONNECT_PARTY;
116
+ // Cantex Connect handles BOTH directions (CC->token and token->CC). Its minimum
117
+ // is 50 CC-equivalent. We can only check that locally for a CC input; for a
118
+ // token input the CC-equivalent is unknown client-side, so we let Cantex's quote
119
+ // enforce it (and fall back to Tradecraft on failure). Cantex's keyless quote can
120
+ // also transiently fail to price a token input — buildCantexTicket retries, and
121
+ // the default/auto paths fall back to Tradecraft if it still cannot quote.
122
+ const inputIsCC = intent.inInstrument === null;
123
+ const cantexRuledOut = inputIsCC && Number(amount) < CANTEX_MIN_INPUT_CC;
124
+ const resolveDirect = async (v) => {
125
+ if (v === "cantex") {
126
+ if (!opts.dsoParty) {
127
+ throw new Error("swap: cannot resolve the DSO party for Cantex — set CANTON_AGENT_DSO_PARTY");
128
+ }
129
+ return d.buildCantexTicket({
130
+ connectUrl: CANTEX_CONNECT_URL,
131
+ cantexParty: trustedCantexParty,
132
+ dsoParty: opts.dsoParty,
133
+ inSymbol: intent.inCanon,
134
+ outSymbol: intent.outCanon,
135
+ amount,
136
+ slippagePct,
137
+ inInstrument: intent.inInstrument,
138
+ outInstrument: intent.outInstrument,
139
+ });
140
+ }
141
+ const memoKey = env.CANTON_AGENT_TRADECRAFT_MEMO_KEY;
142
+ const tradecraftApi = env.CANTON_AGENT_TRADECRAFT_API ?? DEFAULT_TRADECRAFT_API;
143
+ return d.buildLocalTicket({
144
+ tradecraftApi,
145
+ ammCid: trustedAmmCid,
146
+ ...(memoKey ? { memoKey } : {}),
147
+ inSymbol: intent.inCanon,
148
+ outSymbol: intent.outCanon,
149
+ amount,
150
+ slippagePct,
151
+ inInstrument: intent.inInstrument,
152
+ outInstrument: intent.outInstrument,
153
+ });
154
+ };
155
+ const resolveEndpoint = async (v) => {
156
+ if (!opts.payingFetch) {
157
+ throw new Error("swap: the endpoint path needs a paying fetch (none supplied) — use direct");
158
+ }
159
+ const swapUrl = env.CANTON_AGENT_SWAP_URL ?? DEFAULT_SWAP_URL;
160
+ // Built here, not up front: the endpoint auto-settles whatever 402 it answers
161
+ // before any ticket validation, so the fetch (and its fee bound) must exist
162
+ // only on the path that actually pays.
163
+ const payingFetch = await opts.payingFetch();
164
+ return d.fetchTicketFromEndpoint({
165
+ swapUrl,
166
+ inSymbol: intent.inCanon,
167
+ outSymbol: intent.outCanon,
168
+ amount,
169
+ slippagePct,
170
+ payingFetch,
171
+ inInstrument: intent.inInstrument,
172
+ outInstrument: intent.outInstrument,
173
+ trustedAmmCid,
174
+ trustedCantexParty,
175
+ venue: v,
176
+ });
177
+ };
178
+ const resolveOne = (v) => opts.direct ? resolveDirect(v) : resolveEndpoint(v);
179
+ let ticket;
180
+ if (opts.venue === "auto") {
181
+ // Compare FREE direct quotes from eligible venues and pick the better output
182
+ // (auto never pays the endpoint fee twice). One venue erroring uses the other.
183
+ const candidates = [];
184
+ if (!cantexRuledOut)
185
+ candidates.push("cantex");
186
+ candidates.push("tradecraft");
187
+ const settled = await Promise.allSettled(candidates.map(resolveDirect));
188
+ const ok = settled
189
+ .filter((x) => x.status === "fulfilled")
190
+ .map((x) => x.value);
191
+ if (ok.length === 0) {
192
+ const why = settled.find((r) => r.status === "rejected");
193
+ throw new Error(`swap: no venue could quote ${intent.inCanon}/${intent.outCanon}` +
194
+ (why ? ` — ${why.reason instanceof Error ? why.reason.message : String(why.reason)}` : ""));
195
+ }
196
+ // Rank by numeric quote, best first; a market-fill ticket carries a non-numeric
197
+ // quote ("unknown ...") and must sort LAST so it never beats a real quote on NaN.
198
+ const q = (t) => {
199
+ const n = Number(t.quote);
200
+ return Number.isFinite(n) ? n : -Infinity;
201
+ };
202
+ ok.sort((a, b) => q(b) - q(a));
203
+ ticket = ok[0];
204
+ note("info", `auto: ${ok.map((t) => `${t.venue} ~${t.quote}`).join(", ")} -> chose ${ticket.venue}`);
205
+ }
206
+ else if (opts.venue === "cantex") {
207
+ if (cantexRuledOut) {
208
+ const reason = `Cantex Connect minimum is ${CANTEX_MIN_INPUT_CC} CC (got ${amount} CC)`;
209
+ if (opts.venueExplicit) {
210
+ throw new Error(`swap: ${reason} — use the tradecraft venue`);
211
+ }
212
+ note("warn", `${reason}; routing to Tradecraft`);
213
+ ticket = await resolveOne("tradecraft");
214
+ }
215
+ else {
216
+ // Try Cantex; on a quote failure (e.g. its transient token->CC pricing
217
+ // outage) the DEFAULT falls back to Tradecraft, an EXPLICIT cantex surfaces
218
+ // the error. A failed quote sends NO funds, so this cannot strand.
219
+ try {
220
+ ticket = await resolveOne("cantex");
221
+ }
222
+ catch (e) {
223
+ if (opts.venueExplicit)
224
+ throw e;
225
+ note("warn", `Cantex could not quote (${(e instanceof Error ? e.message : String(e)).slice(0, 120)}); routing to Tradecraft`);
226
+ ticket = await resolveOne("tradecraft");
227
+ }
228
+ }
229
+ }
230
+ else {
231
+ ticket = await resolveOne("tradecraft");
232
+ }
233
+ // Advisory min-input warning for Tradecraft (mirrors its web app; not a hard
234
+ // limit — the pool returns the funds if a small trade will not fill).
235
+ if (ticket.venue === "tradecraft") {
236
+ const minIn = tradecraftMinInput(intent.inCanon);
237
+ if (minIn !== undefined && Number(amount) < minIn) {
238
+ note("warn", `${amount} ${intent.inCanon} is below Tradecraft's advertised minimum of ${minIn} ${intent.inCanon} — ` +
239
+ `the trade may be returned unfilled (no loss). Proceeding.`);
240
+ }
241
+ }
242
+ return { ticket, notes };
243
+ }
244
+ /**
245
+ * What bounds the fill, as lines for the user. Cantex Connect fills at its own
246
+ * rate at execution time: the memo carries the buy symbol, not a client minimum,
247
+ * so NOTHING on-ledger bounds what comes back and slippage only sets the delivery
248
+ * threshold the wait loop reports against. Tradecraft enforces the floor from
249
+ * the memo when a memo key rides; with none it is a market fill and slippage did
250
+ * nothing. Said explicitly every time, so a caller who passed a slippage never
251
+ * reads the quiet quote line as a floor.
252
+ */
253
+ export function swapFloorNotes(ticket, slippagePct, outCanon) {
254
+ if (ticket.venue === "cantex") {
255
+ return [
256
+ { level: "info", text: `~${ticket.quote} ${outCanon} expected (Cantex Connect quote)` },
257
+ {
258
+ level: "warn",
259
+ text: `no on-ledger floor on Cantex — it fills at its rate when it executes; ` +
260
+ `slippage ${slippagePct}% only sets the delivery threshold this swap reports against`,
261
+ },
262
+ ];
263
+ }
264
+ if (ticket.memoKey) {
265
+ return [{ level: "info", text: `min ${ticket.minOutput} enforced at ${slippagePct}% slippage` }];
266
+ }
267
+ return [
268
+ {
269
+ level: "warn",
270
+ text: "no slippage protection on this ticket — filling at market price " +
271
+ "(the swap endpoint set no memo key)",
272
+ },
273
+ ];
274
+ }
275
+ //# sourceMappingURL=swap-route.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swap-route.js","sourceRoot":"","sources":["../src/swap-route.ts"],"names":[],"mappings":"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"}
package/dist/swap.d.ts CHANGED
@@ -268,6 +268,14 @@ export interface SwapResult {
268
268
  * minimum — an unrelated inbound, or a partial/odd settlement. Undefined when
269
269
  * zero or when `delivered` is set. */
270
270
  partialRise?: string;
271
+ /** True when the INPUT came back instead of the output: a CC input to a venue
272
+ * that would not fill the trade (below its minimum) is handed back as CC —
273
+ * directly, to a wallet holding a CC preapproval — which the output watch
274
+ * cannot see. Detected from the CC balance standing back at its pre-send
275
+ * level (≥99% of the amount, from the second tick on), and it ends the wait
276
+ * early. A balance delta, not a per-transfer receipt: a concurrent inbound of
277
+ * the same size reads the same. Only watched for a CC input + token output. */
278
+ inputReturned: boolean;
271
279
  /** True when we waited but the output had not arrived by the end of the window. */
272
280
  timedOut: boolean;
273
281
  /** Relay read/claim errors survived during the wait. NOTHING thrown after the
@@ -1 +1 @@
1
- {"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../src/swap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../src/swap.ts"],"names":[],"mappings":"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"}
package/dist/swap.js CHANGED
@@ -567,6 +567,18 @@ export async function executeSwap(opts) {
567
567
  // non-numeric minOutput on the endpoint path; this is the executeSwap-level backstop.
568
568
  const baseAtomic = wait ? BigInt(decimalToAtomicCC(outputBaseline)) : 0n;
569
569
  const minAtomic = wait ? BigInt(decimalToAtomicCC(ticket.minOutput)) : 0n;
570
+ // CC input, token output: an unfilled trade hands the CC back — to a wallet
571
+ // holding a CC preapproval DIRECTLY, and long before the window ends — and the
572
+ // output watch above cannot see it (seen live: 0.2 CC to the CC/USDCx pool was
573
+ // back within a minute while the loop ran its full two). Baseline the CC
574
+ // balance BEFORE the send (a post-send read would race the return) so each
575
+ // tick can tell "back where it started" from "still out". Pre-send, so a
576
+ // failure here aborts safely with nothing moved.
577
+ const watchInputReturn = wait && ticket.inInstrument === null && ticket.outInstrument !== null;
578
+ const ccBeforeSend = watchInputReturn
579
+ ? BigInt(decimalToAtomicCC((await relay.balance(wallet.party)).cc))
580
+ : 0n;
581
+ const inputAtomic = watchInputReturn ? BigInt(decimalToAtomicCC(opts.amount)) : 0n;
570
582
  // (2) SEND THE INPUT to the pool, carrying the slippage floor in the AMM's meta
571
583
  // key. The ticket's pool party was derived from (or validated against, on the
572
584
  // endpoint path via assertTicketMatchesIntent) the CALLER's trusted amm_cid, so
@@ -613,6 +625,7 @@ export async function executeSwap(opts) {
613
625
  const claimedUpdateIds = [];
614
626
  let delivered;
615
627
  let partialRise;
628
+ let inputReturned = false;
616
629
  let timedOut = false;
617
630
  let pollErrors = 0;
618
631
  if (wait) {
@@ -634,6 +647,17 @@ export async function executeSwap(opts) {
634
647
  timedOut = false;
635
648
  break;
636
649
  }
650
+ // The input-return check waits one interval: on the very first tick a
651
+ // balance read that has not caught up with the send would show the CC
652
+ // still "there" and read as a return that never happened.
653
+ if (watchInputReturn && i > 0) {
654
+ const cc = BigInt(decimalToAtomicCC((await relay.balance(wallet.party)).cc));
655
+ if (cc - (ccBeforeSend - inputAtomic) >= (inputAtomic * 99n) / 100n) {
656
+ inputReturned = true;
657
+ timedOut = false;
658
+ break;
659
+ }
660
+ }
637
661
  }
638
662
  catch {
639
663
  pollErrors++;
@@ -650,6 +674,7 @@ export async function executeSwap(opts) {
650
674
  claimedUpdateIds,
651
675
  ...(delivered !== undefined ? { delivered } : {}),
652
676
  ...(partialRise !== undefined ? { partialRise } : {}),
677
+ inputReturned,
653
678
  timedOut,
654
679
  pollErrors,
655
680
  };
package/dist/swap.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"swap.js","sourceRoot":"","sources":["../src/swap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swap.js","sourceRoot":"","sources":["../src/swap.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ftptech/canton-agent-wallet",
3
3
  "private": false,
4
- "version": "1.5.0",
4
+ "version": "1.6.0",
5
5
  "description": "Self-custody Canton wallet + x402 autopay for AI agents. One CLI: create, pay, balance, withdraw, export, import. Backs the canton-x402-agent skill.",
6
6
  "license": "Apache-2.0",
7
7
  "author": "FTP team",
@@ -15,21 +15,21 @@
15
15
  "dist",
16
16
  "README.md"
17
17
  ],
18
+ "scripts": {
19
+ "build": "tsc -p tsconfig.json",
20
+ "typecheck": "tsc -p tsconfig.json --noEmit",
21
+ "test": "vitest run",
22
+ "lint": "eslint src --max-warnings 0"
23
+ },
18
24
  "dependencies": {
19
25
  "@canton-network/core-tx-visualizer": "~1.4.0",
20
26
  "@canton-network/core-ledger-proto": "~1.4.0",
27
+ "@ftptech/x402-canton-ledger": "workspace:^",
28
+ "@ftptech/x402-canton-client": "workspace:^",
21
29
  "undici": "^7.1.0",
22
- "@ftptech/x402-canton-ledger": "^0.4.0",
23
- "@ftptech/x402-canton-client": "^1.1.0",
24
- "@ftptech/x402-canton-core": "^1.2.1"
30
+ "@ftptech/x402-canton-core": "workspace:^"
25
31
  },
26
32
  "publishConfig": {
27
33
  "access": "public"
28
- },
29
- "scripts": {
30
- "build": "tsc -p tsconfig.json",
31
- "typecheck": "tsc -p tsconfig.json --noEmit",
32
- "test": "vitest run",
33
- "lint": "eslint src --max-warnings 0"
34
34
  }
35
- }
35
+ }