@ftptech/canton-agent-wallet 1.4.2 → 1.5.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.
- package/README.md +23 -5
- package/dist/cli.js +138 -47
- package/dist/cli.js.map +1 -1
- package/dist/swap.d.ts +60 -9
- package/dist/swap.d.ts.map +1 -1
- package/dist/swap.js +267 -31
- package/dist/swap.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -30,7 +30,7 @@ canton-agent-wallet claim # accept incoming transfers
|
|
|
30
30
|
canton-agent-wallet merge [--target <n>] [--batch <n>] [--max-rounds <n>] [--dry-run] [--admin <registrar> --id <instrument>] # consolidate dust (CC, or a registry token) so a busy wallet can be enumerated + spent again
|
|
31
31
|
canton-agent-wallet preapproval [--status] [--admin <DSO>] [--days <n>] # MERCHANT: self-provision this wallet's own TransferPreapproval so transfer-factory payments settle in one round-trip (--status just checks)
|
|
32
32
|
canton-agent-wallet pay --relay-url <url> <url> # fetch a URL, auto-paying any x402 402 challenge
|
|
33
|
-
canton-agent-wallet swap --in <SYM> --out <SYM> --amount <n> [--slippage <pct>] [--direct] [--no-wait] [--max-fee <cc>] [--swap-merchant <party>] [--no-preapprove] # swap CC <-> a CIP-56 registry token via Tradecraft; waits for the output to land (see below)
|
|
33
|
+
canton-agent-wallet swap --in <SYM> --out <SYM> --amount <n> [--venue cantex|tradecraft|auto] [--slippage <pct>] [--direct] [--no-wait] [--max-fee <cc>] [--swap-merchant <party>] [--no-preapprove] # swap CC <-> a CIP-56 registry token via Tradecraft; waits for the output to land (see below)
|
|
34
34
|
canton-agent-wallet withdraw --to <party> [--amount <n>] [--admin <registrar> --id <instrument>] # send CC (default: full balance) or a registry token back out
|
|
35
35
|
canton-agent-wallet export # print the private key (backup; guard it)
|
|
36
36
|
```
|
|
@@ -149,7 +149,8 @@ exactly like funding an EVM agent.
|
|
|
149
149
|
### Swap: CC ↔ CIP-56 registry tokens
|
|
150
150
|
|
|
151
151
|
`swap` exchanges CC for a DA Registry token (USDCx, CBTC, USDXLR, cETH, eXAG,
|
|
152
|
-
eXAU) or back, on
|
|
152
|
+
eXAU) or back, on a swap venue: **Cantex Connect** (default) or the
|
|
153
|
+
**Tradecraft** AMM (`api.tradecraft.fi`). It sends the
|
|
153
154
|
input to the pair's pool party and receives the counter-asset; the output
|
|
154
155
|
preapproval is auto-provisioned so the pool can deliver directly.
|
|
155
156
|
|
|
@@ -187,8 +188,24 @@ command — the input was already sent, so it degrades to a missed poll and the
|
|
|
187
188
|
sent (fire-and-forget) and pick up the output yourself with `claim` — for
|
|
188
189
|
automation that must not block.
|
|
189
190
|
|
|
190
|
-
**
|
|
191
|
-
|
|
191
|
+
**Venues (`--venue`).** `cantex` (default) routes through Cantex Connect: the
|
|
192
|
+
input goes to Cantex's swap party, the transfer memo names the buy symbol, and
|
|
193
|
+
Cantex delivers the output at the rate it has when it executes. Its minimum is
|
|
194
|
+
50 CC-equivalent per trade; a smaller CC input never uses Cantex and the CLI
|
|
195
|
+
says so. `tradecraft` routes through the Tradecraft AMM pool for the pair.
|
|
196
|
+
`auto` quotes both and takes the better expected output. Whatever the venue,
|
|
197
|
+
the receiver is pinned to a client-side constant (Cantex: the Connect party,
|
|
198
|
+
override `CANTON_AGENT_CANTEX_PARTY`; Tradecraft: the pool derived from your
|
|
199
|
+
trusted `amm_cid`), and a ticket naming any other party is refused before
|
|
200
|
+
anything moves. eXAG and eXAU are supported in code but their Cantex pools are
|
|
201
|
+
illiquid at the time of writing, so those inputs come back.
|
|
202
|
+
|
|
203
|
+
**Slippage.** On **Cantex** there is no on-ledger floor: Cantex fills at its
|
|
204
|
+
own rate at execution time, and `--slippage <pct>` only sets the delivery
|
|
205
|
+
threshold the wait loop reports against (the CLI prints `! no on-ledger floor
|
|
206
|
+
on Cantex …`). On **Tradecraft** `--slippage <pct>` is enforced **on-ledger only
|
|
207
|
+
when the ticket carries a memo key** — the floor rides in the transfer memo the
|
|
208
|
+
pool reads.
|
|
192
209
|
Without a memo key the trade fills at **market price** and the CLI prints
|
|
193
210
|
`! no slippage protection on this ticket …` so the absence is never silent. An
|
|
194
211
|
input below the pool's minimum is safely returned by the pool (no loss).
|
|
@@ -202,7 +219,8 @@ all.
|
|
|
202
219
|
The output preapproval is provisioned automatically so the pool can deliver the
|
|
203
220
|
counter-asset directly; `--no-preapprove` skips it (e.g. it already exists).
|
|
204
221
|
|
|
205
|
-
Env: `CANTON_AGENT_SWAP_URL` (endpoint override), `
|
|
222
|
+
Env: `CANTON_AGENT_SWAP_URL` (endpoint override), `CANTON_AGENT_CANTEX_PARTY` and
|
|
223
|
+
`CANTON_AGENT_CANTEX_URL` (Cantex Connect party / quote URL), `CANTON_AGENT_TRADECRAFT_AMM_CID`
|
|
206
224
|
(the trusted `amm_cid` every ticket's pool party must derive from — a compromised
|
|
207
225
|
endpoint cannot redirect funds to another party), `CANTON_AGENT_SWAP_MERCHANT`
|
|
208
226
|
(pin the expected fee payee), `CANTON_AGENT_TRADECRAFT_API` and
|
package/dist/cli.js
CHANGED
|
@@ -62,7 +62,7 @@ import { claimAll, selfProvisionPreapproval, selfProvisionRegistryPreapproval, }
|
|
|
62
62
|
import { isTrustedRegistryAdmin, resolveSwapSymbol, KNOWN_INSTRUMENTS, } from "./registry-parties.js";
|
|
63
63
|
import { mergeHoldings } from "./merge.js";
|
|
64
64
|
import { withdraw } from "./withdraw.js";
|
|
65
|
-
import { buildLocalTicket, fetchTicketFromEndpoint, executeSwap, tradecraftMinInput, } from "./swap.js";
|
|
65
|
+
import { buildLocalTicket, buildCantexTicket, fetchTicketFromEndpoint, executeSwap, tradecraftMinInput, CANTEX_CONNECT_PARTY, CANTEX_CONNECT_URL, CANTEX_MIN_INPUT_CC, } from "./swap.js";
|
|
66
66
|
import { fundViaQuest } from "./quest-fund.js";
|
|
67
67
|
import { installProxyFromEnv } from "./proxy.js";
|
|
68
68
|
import { flag, boolFlag, intFlag, positionals, resolveNetwork, resolveRelayUrl, MISSING_RELAY_HELP, withdrawAmount, preapprovalMode, } from "./cli-args.js";
|
|
@@ -484,13 +484,20 @@ async function main() {
|
|
|
484
484
|
const outSym = flag(args, "--out");
|
|
485
485
|
const amount = flag(args, "--amount");
|
|
486
486
|
if (!inSym || !outSym || !amount) {
|
|
487
|
-
return fail("usage: canton-agent-wallet swap --in <SYMBOL> --out <SYMBOL> --amount <n> [--slippage <pct>] [--direct] [--no-wait]");
|
|
487
|
+
return fail("usage: canton-agent-wallet swap --in <SYMBOL> --out <SYMBOL> --amount <n> [--venue cantex|tradecraft|auto] [--slippage <pct>] [--direct] [--no-wait]");
|
|
488
488
|
}
|
|
489
489
|
const slippageRaw = flag(args, "--slippage");
|
|
490
490
|
const slippagePct = slippageRaw === undefined ? 1 : Number(slippageRaw);
|
|
491
491
|
if (!Number.isFinite(slippagePct) || slippagePct < 0 || slippagePct >= 100) {
|
|
492
492
|
return fail("swap: --slippage must be a percentage in [0, 100)");
|
|
493
493
|
}
|
|
494
|
+
// Venue selection. Default CANTEX (Cantex Connect works today and is keyless);
|
|
495
|
+
// `tradecraft` uses pool addresses; `auto` compares free quotes from both
|
|
496
|
+
// eligible venues and picks the better expected output.
|
|
497
|
+
const venueArg = (flag(args, "--venue") ?? "cantex").toLowerCase();
|
|
498
|
+
if (venueArg !== "cantex" && venueArg !== "tradecraft" && venueArg !== "auto") {
|
|
499
|
+
return fail("swap: --venue must be cantex, tradecraft, or auto");
|
|
500
|
+
}
|
|
494
501
|
// Resolve each leg to a CANONICAL symbol, and FAIL CLOSED on an unrecognized
|
|
495
502
|
// one. Without this an unknown symbol would fall back to native Canton Coin,
|
|
496
503
|
// so a typo like `--in USDC` (for USDCx) would silently send real CC to a
|
|
@@ -518,32 +525,49 @@ async function main() {
|
|
|
518
525
|
const outCanon = outLeg.symbol;
|
|
519
526
|
const inInstrument = inLeg.kind === "registry" ? inLeg.instrument : null;
|
|
520
527
|
const outInstrument = outLeg.kind === "registry" ? outLeg.instrument : null;
|
|
521
|
-
//
|
|
522
|
-
//
|
|
523
|
-
|
|
524
|
-
if (minIn !== undefined && Number(amount) < minIn) {
|
|
525
|
-
console.error(` ! ${amount} ${inCanon} is below Tradecraft's advertised minimum of ${minIn} ${inCanon} — ` +
|
|
526
|
-
`the trade may be returned unfilled (no loss). Proceeding.`);
|
|
527
|
-
}
|
|
528
|
-
// The amm_cid is a CLIENT-TRUSTED constant (config, never the endpoint): the
|
|
529
|
-
// pool party the funds are sent to must derive from it, so a compromised swap
|
|
530
|
-
// endpoint cannot redirect the swap to an attacker party.
|
|
528
|
+
// CLIENT-TRUSTED constants (config, never the endpoint): the receiver of the
|
|
529
|
+
// funds must equal one of these per venue, so a compromised swap endpoint can
|
|
530
|
+
// never redirect the swap to an attacker party.
|
|
531
531
|
const trustedAmmCid = process.env.CANTON_AGENT_TRADECRAFT_AMM_CID ??
|
|
532
532
|
"122096fe076cc065af0cb38f94caa60e8ddfecbe8f0cfe10655ae7aa06fab99c66b7";
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
//
|
|
538
|
-
//
|
|
539
|
-
//
|
|
540
|
-
//
|
|
541
|
-
//
|
|
542
|
-
|
|
543
|
-
if
|
|
533
|
+
const trustedCantexParty = CANTEX_CONNECT_PARTY;
|
|
534
|
+
const direct = boolFlag(args, "--direct");
|
|
535
|
+
const existing = loadWallet();
|
|
536
|
+
const dsoParty = resolveTrustedDsoParty(process.env, existing?.network ?? resolveNetwork(args));
|
|
537
|
+
// Cantex Connect handles BOTH directions (CC->token and token->CC). Its
|
|
538
|
+
// minimum is 50 CC-equivalent. We can only check that locally for a CC input;
|
|
539
|
+
// for a token input the CC-equivalent is unknown client-side, so we let Cantex's
|
|
540
|
+
// quote enforce it (and fall back to Tradecraft on failure). Note: Cantex's
|
|
541
|
+
// keyless quote can transiently fail to price a token input ("unable to
|
|
542
|
+
// determine CC-equivalent input size") — buildCantexTicket retries, and the
|
|
543
|
+
// default/auto paths fall back to Tradecraft if it still cannot quote.
|
|
544
|
+
const inputIsCC = inInstrument === null;
|
|
545
|
+
const cantexBelowMinCC = inputIsCC && Number(amount) < CANTEX_MIN_INPUT_CC;
|
|
546
|
+
// Ticket resolution. DEFAULT path = our x402 `/swap` endpoint (a small CC fee
|
|
547
|
+
// for a ticket that stays current with each venue's pools/params); the returned
|
|
548
|
+
// ticket is validated against the trusted per-venue receiver + instruments
|
|
549
|
+
// (assertTicketMatchesIntent), so the endpoint is trusted for price only. The
|
|
550
|
+
// `--direct` path resolves the venue's quote locally (no fee).
|
|
551
|
+
const resolveDirect = async (v) => {
|
|
552
|
+
if (v === "cantex") {
|
|
553
|
+
if (!dsoParty) {
|
|
554
|
+
throw new Error("swap: cannot resolve the DSO party for Cantex — set CANTON_AGENT_DSO_PARTY");
|
|
555
|
+
}
|
|
556
|
+
return buildCantexTicket({
|
|
557
|
+
connectUrl: CANTEX_CONNECT_URL,
|
|
558
|
+
cantexParty: trustedCantexParty,
|
|
559
|
+
dsoParty,
|
|
560
|
+
inSymbol: inCanon,
|
|
561
|
+
outSymbol: outCanon,
|
|
562
|
+
amount,
|
|
563
|
+
slippagePct,
|
|
564
|
+
inInstrument,
|
|
565
|
+
outInstrument,
|
|
566
|
+
});
|
|
567
|
+
}
|
|
544
568
|
const memoKey = process.env.CANTON_AGENT_TRADECRAFT_MEMO_KEY;
|
|
545
569
|
const tradecraftApi = process.env.CANTON_AGENT_TRADECRAFT_API ?? "https://api.tradecraft.fi";
|
|
546
|
-
|
|
570
|
+
return buildLocalTicket({
|
|
547
571
|
tradecraftApi,
|
|
548
572
|
ammCid: trustedAmmCid,
|
|
549
573
|
...(memoKey ? { memoKey } : {}),
|
|
@@ -554,21 +578,13 @@ async function main() {
|
|
|
554
578
|
inInstrument,
|
|
555
579
|
outInstrument,
|
|
556
580
|
});
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
}
|
|
560
|
-
}
|
|
561
|
-
else {
|
|
581
|
+
};
|
|
582
|
+
const resolveEndpoint = async (v) => {
|
|
562
583
|
const swapUrl = process.env.CANTON_AGENT_SWAP_URL ?? "https://swap.ftptech.xyz";
|
|
563
|
-
const existing = loadWallet();
|
|
564
584
|
const relayUrl = resolveRelayUrl(args) ?? existing?.relayUrl ?? fail(MISSING_RELAY_HELP);
|
|
565
|
-
// The endpoint
|
|
566
|
-
//
|
|
567
|
-
//
|
|
568
|
-
// endpoint (or its DNS/TLS) could quote the agent's whole balance to a payee
|
|
569
|
-
// of its choosing. Bound both: a ceiling that always applies, and — when the
|
|
570
|
-
// operator names the merchant — an exact payee pin that reduces the exposure
|
|
571
|
-
// to zero.
|
|
585
|
+
// The endpoint auto-settles whatever 402 it answers BEFORE any ticket
|
|
586
|
+
// validation, so bound the fee: a ceiling that always applies, plus an
|
|
587
|
+
// optional exact payee pin.
|
|
572
588
|
const maxFee = flag(args, "--max-fee") ?? SWAP_MAX_FEE_CC;
|
|
573
589
|
const swapMerchant = flag(args, "--swap-merchant") ?? process.env.CANTON_AGENT_SWAP_MERCHANT;
|
|
574
590
|
const payingFetch = await makePayingFetch({
|
|
@@ -578,7 +594,7 @@ async function main() {
|
|
|
578
594
|
maxPaymentValue: maxFee,
|
|
579
595
|
...(swapMerchant ? { expectedPayTo: swapMerchant } : {}),
|
|
580
596
|
});
|
|
581
|
-
|
|
597
|
+
return fetchTicketFromEndpoint({
|
|
582
598
|
swapUrl,
|
|
583
599
|
inSymbol: inCanon,
|
|
584
600
|
outSymbol: outCanon,
|
|
@@ -588,19 +604,94 @@ async function main() {
|
|
|
588
604
|
inInstrument,
|
|
589
605
|
outInstrument,
|
|
590
606
|
trustedAmmCid,
|
|
607
|
+
trustedCantexParty,
|
|
608
|
+
venue: v,
|
|
591
609
|
});
|
|
610
|
+
};
|
|
611
|
+
const venuePassed = flag(args, "--venue") !== undefined;
|
|
612
|
+
const resolveOne = (v) => direct ? resolveDirect(v) : resolveEndpoint(v);
|
|
613
|
+
// A CC input below Cantex's 50 CC minimum can never use Cantex; that's the one
|
|
614
|
+
// case we can rule out locally.
|
|
615
|
+
const cantexRuledOut = cantexBelowMinCC;
|
|
616
|
+
let ticket;
|
|
617
|
+
if (venueArg === "auto") {
|
|
618
|
+
// Compare FREE direct quotes from eligible venues and pick the better output
|
|
619
|
+
// (auto never pays the endpoint fee twice). One venue erroring uses the other.
|
|
620
|
+
const candidates = [];
|
|
621
|
+
if (!cantexRuledOut)
|
|
622
|
+
candidates.push("cantex");
|
|
623
|
+
candidates.push("tradecraft");
|
|
624
|
+
const settled = await Promise.allSettled(candidates.map(resolveDirect));
|
|
625
|
+
const ok = settled
|
|
626
|
+
.filter((x) => x.status === "fulfilled")
|
|
627
|
+
.map((x) => x.value);
|
|
628
|
+
if (ok.length === 0) {
|
|
629
|
+
const why = settled.find((r) => r.status === "rejected");
|
|
630
|
+
return fail(`swap: no venue could quote ${inCanon}/${outCanon}${why ? ` — ${why.reason}` : ""}`);
|
|
631
|
+
}
|
|
632
|
+
// Rank by numeric quote, best first; a market-fill ticket carries a non-numeric
|
|
633
|
+
// quote ("unknown ...") and must sort LAST so it never beats a real quote on NaN.
|
|
634
|
+
const q = (t) => {
|
|
635
|
+
const n = Number(t.quote);
|
|
636
|
+
return Number.isFinite(n) ? n : -Infinity;
|
|
637
|
+
};
|
|
638
|
+
ok.sort((a, b) => q(b) - q(a));
|
|
639
|
+
ticket = ok[0];
|
|
640
|
+
console.log(` auto: ${ok.map((t) => `${t.venue} ~${t.quote}`).join(", ")} -> chose ${ticket.venue}`);
|
|
641
|
+
}
|
|
642
|
+
else if (venueArg === "cantex") {
|
|
643
|
+
if (cantexRuledOut) {
|
|
644
|
+
const reason = `Cantex Connect minimum is ${CANTEX_MIN_INPUT_CC} CC (got ${amount} CC)`;
|
|
645
|
+
if (venuePassed)
|
|
646
|
+
return fail(`swap: ${reason} — use --venue tradecraft`);
|
|
647
|
+
console.error(` ! ${reason}; routing to Tradecraft`);
|
|
648
|
+
ticket = await resolveOne("tradecraft");
|
|
649
|
+
}
|
|
650
|
+
else {
|
|
651
|
+
// Try Cantex; on a quote failure (e.g. its transient token->CC pricing
|
|
652
|
+
// outage) the DEFAULT falls back to Tradecraft, an EXPLICIT --venue cantex
|
|
653
|
+
// surfaces the error. A failed quote sends NO funds, so this cannot strand.
|
|
654
|
+
try {
|
|
655
|
+
ticket = await resolveOne("cantex");
|
|
656
|
+
}
|
|
657
|
+
catch (e) {
|
|
658
|
+
if (venuePassed)
|
|
659
|
+
throw e;
|
|
660
|
+
console.error(` ! Cantex could not quote (${e.message.slice(0, 120)}); routing to Tradecraft`);
|
|
661
|
+
ticket = await resolveOne("tradecraft");
|
|
662
|
+
}
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
else {
|
|
666
|
+
ticket = await resolveOne("tradecraft");
|
|
667
|
+
}
|
|
668
|
+
// Advisory min-input warning for Tradecraft (mirrors its web app; not a hard
|
|
669
|
+
// limit — the pool returns the funds if a small trade will not fill).
|
|
670
|
+
if (ticket.venue === "tradecraft") {
|
|
671
|
+
const minIn = tradecraftMinInput(inCanon);
|
|
672
|
+
if (minIn !== undefined && Number(amount) < minIn) {
|
|
673
|
+
console.error(` ! ${amount} ${inCanon} is below Tradecraft's advertised minimum of ${minIn} ${inCanon} — ` +
|
|
674
|
+
`the trade may be returned unfilled (no loss). Proceeding.`);
|
|
675
|
+
}
|
|
592
676
|
}
|
|
593
|
-
console.log(`quote: ${amount} ${inCanon} -> ~${ticket.quote} ${outCanon}\n pool: ${ticket.poolParty}`);
|
|
594
|
-
if (ticket.
|
|
677
|
+
console.log(`quote: ${amount} ${inCanon} -> ~${ticket.quote} ${outCanon}\n venue: ${ticket.venue}\n pool: ${ticket.poolParty}`);
|
|
678
|
+
if (ticket.venue === "cantex") {
|
|
679
|
+
// Cantex Connect fills at its own rate at execution time. The memo carries
|
|
680
|
+
// the buy symbol, not a client minimum, so NOTHING on-ledger bounds what
|
|
681
|
+
// comes back: --slippage only sets the threshold the wait loop reports
|
|
682
|
+
// against. Say so, the way the no-memo Tradecraft path does, so a user who
|
|
683
|
+
// passed --slippage does not read the quiet line as a floor.
|
|
684
|
+
console.log(` ~${ticket.quote} ${outCanon} expected (Cantex Connect quote)`);
|
|
685
|
+
console.error(` ! no on-ledger floor on Cantex — it fills at its rate when it executes; ` +
|
|
686
|
+
`--slippage ${slippagePct}% only sets the delivery threshold this command reports against`);
|
|
687
|
+
}
|
|
688
|
+
else if (ticket.memoKey) {
|
|
595
689
|
console.log(` min ${ticket.minOutput} enforced at ${slippagePct}% slippage`);
|
|
596
690
|
}
|
|
597
691
|
else {
|
|
598
|
-
//
|
|
599
|
-
//
|
|
600
|
-
//
|
|
601
|
-
// nothing. The --direct branch already warns; a ticket from the endpoint
|
|
602
|
-
// can be equally unprotected (the service leaves the key unset), and
|
|
603
|
-
// silence there reads as "protected".
|
|
692
|
+
// Tradecraft with no memo key: the floor rides in the transfer memo, so
|
|
693
|
+
// without it nothing constrains what the pool returns — market fill, and
|
|
694
|
+
// --slippage did nothing.
|
|
604
695
|
console.error(" ! no slippage protection on this ticket — filling at market price " +
|
|
605
696
|
"(the swap endpoint set no memo key)");
|
|
606
697
|
}
|
|
@@ -720,7 +811,7 @@ async function main() {
|
|
|
720
811
|
break;
|
|
721
812
|
}
|
|
722
813
|
default:
|
|
723
|
-
console.error("canton-agent-wallet: create | address | balance | claim | fund --pay-proxy-url <url> | merge [--target <n>] [--batch <n>] [--max-rounds <n>] [--dry-run] [--yes] [--admin <registrar> --id <instrument>] | preapproval [--status] [--admin <DSO>] [--operator-token <t>] [--days <n>] [--expires-at <iso>] | pay [--asset <symbol>] <url> | swap --in <SYM> --out <SYM> --amount <n> [--slippage <pct>] [--direct] [--no-wait] [--max-fee <cc>] [--swap-merchant <party>] [--no-preapprove] | withdraw --to <party> [--amount <n>] [--admin <registrar> --id <instrument>] | export | import\n" +
|
|
814
|
+
console.error("canton-agent-wallet: create | address | balance | claim | fund --pay-proxy-url <url> | merge [--target <n>] [--batch <n>] [--max-rounds <n>] [--dry-run] [--yes] [--admin <registrar> --id <instrument>] | preapproval [--status] [--admin <DSO>] [--operator-token <t>] [--days <n>] [--expires-at <iso>] | pay [--asset <symbol>] <url> | swap --in <SYM> --out <SYM> --amount <n> [--venue cantex|tradecraft|auto] [--slippage <pct>] [--direct] [--no-wait] [--max-fee <cc>] [--swap-merchant <party>] [--no-preapprove] | withdraw --to <party> [--amount <n>] [--admin <registrar> --id <instrument>] | export | import\n" +
|
|
724
815
|
" relay required for create/pay/import/fund: --relay-url <url> or CANTON_AGENT_RELAY_URL\n" +
|
|
725
816
|
" fund = bootstrap a funded wallet via the hosted quest (--pay-proxy-url or CANTON_AGENT_PAY_PROXY_URL).\n" +
|
|
726
817
|
" preapproval = merchant TransferPreapproval setup for the transfer-factory (V3, 1-tx) path (--status to just check).");
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/swap.d.ts
CHANGED
|
@@ -29,21 +29,31 @@ export type SwapInstrument = {
|
|
|
29
29
|
admin: string;
|
|
30
30
|
id: string;
|
|
31
31
|
} | null;
|
|
32
|
+
/** The swap venue a ticket routes to. Tradecraft uses pool addresses; Cantex uses
|
|
33
|
+
* the keyless Connect "trade by a simple send" path. Both share the same on-ledger
|
|
34
|
+
* execution primitive (send the input to a party with a memo), so `executeSwap` is
|
|
35
|
+
* venue-agnostic and only ticket resolution differs. */
|
|
36
|
+
export type SwapVenue = "tradecraft" | "cantex";
|
|
32
37
|
/** Everything needed to execute one swap, resolved up front (locally, or by the
|
|
33
38
|
* facilitator /swap fee-ticket which knows the network's registrars). */
|
|
34
39
|
export interface SwapTicket {
|
|
35
|
-
/**
|
|
40
|
+
/** Which venue resolved this ticket (defaults to tradecraft when absent, for
|
|
41
|
+
* backward compatibility with older endpoint responses). */
|
|
42
|
+
venue?: SwapVenue;
|
|
43
|
+
/** The party to send the input to: Tradecraft `tc-swp_{IN}-{OUT}::<amm_cid>`, or
|
|
44
|
+
* the Cantex Connect swap party. */
|
|
36
45
|
poolParty: string;
|
|
37
46
|
/** Slippage-protected minimum output, as a ledger decimal string. Always
|
|
38
|
-
* computed for display
|
|
47
|
+
* computed for the display + delivery-detection threshold; on Tradecraft it is
|
|
48
|
+
* also what rides in the memo as the enforced minimum. */
|
|
39
49
|
minOutput: string;
|
|
40
|
-
/** The transfer-meta key
|
|
41
|
-
*
|
|
42
|
-
* it (below-minimum → the trade fails and the input returns). When UNDEFINED,
|
|
43
|
-
* the swap executes at market price with no slippage protection — exactly the
|
|
44
|
-
* bare "send to the pool" flow, which works. Tradecraft's docs: the minimum is
|
|
45
|
-
* the first text in the memo field, a decimal with ≤10 places. */
|
|
50
|
+
/** The transfer-meta key the venue reads the memo from. Tradecraft: set only when
|
|
51
|
+
* slippage protection is on (else market fill). Cantex: always the reason key. */
|
|
46
52
|
memoKey?: string;
|
|
53
|
+
/** The exact string to place in the memo (under `memoKey`). Tradecraft: the
|
|
54
|
+
* min-out decimal. Cantex: the buy-token symbol (e.g. "CBTC"). Defaults to
|
|
55
|
+
* `minOutput` when absent (older Tradecraft-only tickets). */
|
|
56
|
+
memoValue?: string;
|
|
47
57
|
/** The raw quote (estimated output) that produced `minOutput`. */
|
|
48
58
|
quote: string;
|
|
49
59
|
/** The instrument being sent in (null = CC). */
|
|
@@ -51,6 +61,17 @@ export interface SwapTicket {
|
|
|
51
61
|
/** The instrument expected back (null = CC). */
|
|
52
62
|
outInstrument: SwapInstrument;
|
|
53
63
|
}
|
|
64
|
+
/** The Cantex Connect swap party (client-trusted constant; env-overridable). Funds
|
|
65
|
+
* can only ever be sent here for a Cantex swap, so a compromised endpoint cannot
|
|
66
|
+
* redirect them. */
|
|
67
|
+
export declare const CANTEX_CONNECT_PARTY: string;
|
|
68
|
+
/** Cantex Connect quote endpoint (keyless, public). */
|
|
69
|
+
export declare const CANTEX_CONNECT_URL: string;
|
|
70
|
+
/** The Canton token-standard reason key Cantex reads the buy symbol from. */
|
|
71
|
+
export declare const CANTEX_MEMO_KEY = "splice.lfdecentralizedtrust.org/reason";
|
|
72
|
+
/** Cantex Connect minimum input, in CC-equivalent. Trades below this bounce at the
|
|
73
|
+
* quote step. */
|
|
74
|
+
export declare const CANTEX_MIN_INPUT_CC = 50;
|
|
54
75
|
/** Per-input-token advisory minimums, mirrored from the Tradecraft web app (there
|
|
55
76
|
* is NO API endpoint for these — they are a hardcoded frontend constant). A trade
|
|
56
77
|
* below the minimum is ADVISORY only: the pool safely returns the funds if it will
|
|
@@ -116,6 +137,30 @@ export declare function buildLocalTicket(opts: {
|
|
|
116
137
|
inInstrument: SwapInstrument;
|
|
117
138
|
outInstrument: SwapInstrument;
|
|
118
139
|
fetchImpl?: typeof globalThis.fetch;
|
|
140
|
+
/** Retries for a transient Tradecraft 5xx on the pools/quote fetch. Default 4. */
|
|
141
|
+
quoteAttempts?: number;
|
|
142
|
+
}): Promise<SwapTicket>;
|
|
143
|
+
/** Fetch a live Cantex Connect quote and build a ticket locally (the keyless
|
|
144
|
+
* `--direct` path for Cantex — Connect is public and free, so no fee/endpoint is
|
|
145
|
+
* needed). The counter-asset settles directly to the sender's pre-approved wallet.
|
|
146
|
+
* Unlike Tradecraft, Cantex's memo is the BUY SYMBOL (from the quote), not a min;
|
|
147
|
+
* `slippagePct` only sets the local delivery-detection threshold. */
|
|
148
|
+
export declare function buildCantexTicket(opts: {
|
|
149
|
+
connectUrl: string;
|
|
150
|
+
cantexParty: string;
|
|
151
|
+
/** Full DSO party id — Cantex requires the FULL Amulet admin (not "DSO"). */
|
|
152
|
+
dsoParty: string;
|
|
153
|
+
inSymbol: string;
|
|
154
|
+
outSymbol: string;
|
|
155
|
+
amount: string;
|
|
156
|
+
slippagePct: number;
|
|
157
|
+
inInstrument: SwapInstrument;
|
|
158
|
+
outInstrument: SwapInstrument;
|
|
159
|
+
fetchImpl?: typeof globalThis.fetch;
|
|
160
|
+
/** Retries for Cantex's transient "unable to determine CC-equivalent input size"
|
|
161
|
+
* (seen on token->CC quotes when their price backend is briefly degraded). Default 4. */
|
|
162
|
+
quoteAttempts?: number;
|
|
163
|
+
sleep?: (ms: number) => Promise<void>;
|
|
119
164
|
}): Promise<SwapTicket>;
|
|
120
165
|
/** Parse a swap-endpoint ticket response into a SwapTicket, validating the fields
|
|
121
166
|
* the local execute path relies on. Extra fields (e.g. ammCid) are ignored. */
|
|
@@ -142,6 +187,8 @@ export declare function assertTicketMatchesIntent(ticket: SwapTicket, expect: {
|
|
|
142
187
|
inInstrument: SwapInstrument;
|
|
143
188
|
outInstrument: SwapInstrument;
|
|
144
189
|
trustedAmmCid: string;
|
|
190
|
+
/** The client-trusted Cantex Connect party (for cantex-venue tickets). */
|
|
191
|
+
trustedCantexParty: string;
|
|
145
192
|
}): void;
|
|
146
193
|
/** Fetch a swap ticket from OUR x402-gated `/swap` endpoint (the default path): the
|
|
147
194
|
* managed router that stays current with Tradecraft's pools/amm_cid/minimums and
|
|
@@ -161,8 +208,12 @@ export declare function fetchTicketFromEndpoint(opts: {
|
|
|
161
208
|
inInstrument: SwapInstrument;
|
|
162
209
|
/** Locally-resolved output instrument (null = CC) the ticket MUST match. */
|
|
163
210
|
outInstrument: SwapInstrument;
|
|
164
|
-
/** The caller's OWN trusted amm_cid the pool party MUST derive from. */
|
|
211
|
+
/** The caller's OWN trusted amm_cid the pool party MUST derive from (Tradecraft). */
|
|
165
212
|
trustedAmmCid: string;
|
|
213
|
+
/** The caller's OWN trusted Cantex Connect party the pool party MUST equal (Cantex). */
|
|
214
|
+
trustedCantexParty: string;
|
|
215
|
+
/** Which venue to request. Default cantex. */
|
|
216
|
+
venue?: SwapVenue;
|
|
166
217
|
}): Promise<SwapTicket>;
|
|
167
218
|
export interface ExecuteSwapOpts {
|
|
168
219
|
amount: string;
|
package/dist/swap.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../src/swap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAO/D,+DAA+D;AAC/D,MAAM,MAAM,cAAc,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC;AAElE;0EAC0E;AAC1E,MAAM,WAAW,UAAU;IACzB,
|
|
1
|
+
{"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../src/swap.ts"],"names":[],"mappings":"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"}
|
package/dist/swap.js
CHANGED
|
@@ -27,6 +27,19 @@ import { selfProvisionRegistryPreapproval, claimAll } from "./tx.js";
|
|
|
27
27
|
import { resolveHashBinding } from "./hash-binding.js";
|
|
28
28
|
import { loadWallet } from "./store.js";
|
|
29
29
|
import { sumLedgerDecimals, decimalToAtomicCC, atomicToDecimalCC, } from "@ftptech/x402-canton-core";
|
|
30
|
+
/** The Cantex Connect swap party (client-trusted constant; env-overridable). Funds
|
|
31
|
+
* can only ever be sent here for a Cantex swap, so a compromised endpoint cannot
|
|
32
|
+
* redirect them. */
|
|
33
|
+
export const CANTEX_CONNECT_PARTY = process.env.CANTON_AGENT_CANTEX_PARTY ??
|
|
34
|
+
"cantex-swap::122038c015864f106cfed48bb9106b7c89982368d27956ffcdfda6c38328f0909b8c";
|
|
35
|
+
/** Cantex Connect quote endpoint (keyless, public). */
|
|
36
|
+
export const CANTEX_CONNECT_URL = process.env.CANTON_AGENT_CANTEX_URL ??
|
|
37
|
+
"https://api.cantex.io/v1/public/connect/quote";
|
|
38
|
+
/** The Canton token-standard reason key Cantex reads the buy symbol from. */
|
|
39
|
+
export const CANTEX_MEMO_KEY = "splice.lfdecentralizedtrust.org/reason";
|
|
40
|
+
/** Cantex Connect minimum input, in CC-equivalent. Trades below this bounce at the
|
|
41
|
+
* quote step. */
|
|
42
|
+
export const CANTEX_MIN_INPUT_CC = 50;
|
|
30
43
|
const AMM_PAIR_SEP = "-";
|
|
31
44
|
/** Per-input-token advisory minimums, mirrored from the Tradecraft web app (there
|
|
32
45
|
* is NO API endpoint for these — they are a hardcoded frontend constant). A trade
|
|
@@ -65,6 +78,26 @@ export function tradecraftMinInput(symbol) {
|
|
|
65
78
|
export function derivePoolParty(token1, token2, ammCid) {
|
|
66
79
|
return `tc-swp_${token1}${AMM_PAIR_SEP}${token2}::${ammCid}`;
|
|
67
80
|
}
|
|
81
|
+
/** Canonical CC-pair order for the tokens we support, as [token1, token2] in the
|
|
82
|
+
* pool party's order (from each pool's `lp_token_name`). Used as a FALLBACK when
|
|
83
|
+
* Tradecraft's `/pools` API is unreachable (it 5xxs periodically) so a swap can
|
|
84
|
+
* still target the correct pool party without their API. Every one is CC-first
|
|
85
|
+
* except CBTC/CC (the one live pool whose canonical order is token-first).
|
|
86
|
+
* Key is the OTHER token (case-insensitive lookup). If a pair is absent here and
|
|
87
|
+
* `/pools` is down, we fail closed rather than guess an order. */
|
|
88
|
+
const KNOWN_CC_POOL_ORDER = {
|
|
89
|
+
usdcx: ["CC", "USDCx"],
|
|
90
|
+
usdxlr: ["CC", "USDXLR"],
|
|
91
|
+
ceth: ["CC", "cETH"],
|
|
92
|
+
exag: ["CC", "eXAG"],
|
|
93
|
+
exau: ["CC", "eXAU"],
|
|
94
|
+
cbtc: ["CBTC", "CC"],
|
|
95
|
+
};
|
|
96
|
+
/** The canonical [token1, token2] for a CC/`other` pair from the fallback table,
|
|
97
|
+
* or undefined if we do not have it hardcoded. `other` is the non-CC symbol. */
|
|
98
|
+
function knownCcPoolOrder(other) {
|
|
99
|
+
return KNOWN_CC_POOL_ORDER[other.toLowerCase()];
|
|
100
|
+
}
|
|
68
101
|
/** Parse the canonical pair order out of an `lp_token_name` like "TC CBTC/CC LP".
|
|
69
102
|
* Returns undefined when it does not match (caller falls back). */
|
|
70
103
|
function parseLpName(lp) {
|
|
@@ -156,28 +189,160 @@ export async function buildLocalTicket(opts) {
|
|
|
156
189
|
const base = opts.tradecraftApi.replace(/\/$/, "");
|
|
157
190
|
// Tradecraft's edge (Cloudflare) 403s a request with no User-Agent — node's
|
|
158
191
|
// fetch sends none by default. A plain UA is enough.
|
|
192
|
+
// Tradecraft's edge returns 5xx (esp. 503) transiently; retry a few times before
|
|
193
|
+
// giving up. Read-only quote fetch, so a retry is safe and no funds have moved.
|
|
159
194
|
const get = async (path) => {
|
|
160
|
-
const
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
195
|
+
const attempts = opts.quoteAttempts ?? 4;
|
|
196
|
+
let last = 0;
|
|
197
|
+
for (let i = 0; i < attempts; i++) {
|
|
198
|
+
const res = await f(`${base}${path}`, {
|
|
199
|
+
headers: { "user-agent": "canton-agent-wallet", accept: "application/json" },
|
|
200
|
+
});
|
|
201
|
+
if (res.ok)
|
|
202
|
+
return res.json();
|
|
203
|
+
last = res.status;
|
|
204
|
+
// Retry only transient 5xx, and only while attempts remain; a 4xx is a hard
|
|
205
|
+
// failure. On the last 5xx attempt fall out of the loop to the summary throw.
|
|
206
|
+
if (res.status >= 500 && i < attempts - 1) {
|
|
207
|
+
await new Promise((r) => setTimeout(r, 1500));
|
|
208
|
+
continue;
|
|
209
|
+
}
|
|
210
|
+
if (res.status < 500) {
|
|
211
|
+
throw new Error(`swap: Tradecraft GET ${path} failed (HTTP ${res.status})`);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
throw new Error(`swap: Tradecraft GET ${path} failed after ${attempts} attempts (HTTP ${last})`);
|
|
215
|
+
};
|
|
216
|
+
// Resolve the pool's CANONICAL pair order. Prefer /pools (authoritative, validates
|
|
217
|
+
// the pool exists); if that API is unreachable (Tradecraft 5xxs periodically), fall
|
|
218
|
+
// back to the hardcoded CC-pair order so a swap still targets the correct pool party
|
|
219
|
+
// WITHOUT their API — the pool address is all that is needed to send. A CC pair not
|
|
220
|
+
// in the fallback table fails closed rather than guessing.
|
|
221
|
+
//
|
|
222
|
+
// The FETCH and the RESOLVE are separated on purpose: only a fetch failure (Tradecraft
|
|
223
|
+
// 5xx/network) is allowed to fall back to the hardcoded order. `resolvePoolPair` failing
|
|
224
|
+
// means /pools loaded but has no such pool — a genuine "pool does not exist" that MUST
|
|
225
|
+
// surface as a hard error, never silently target the hardcoded pool party.
|
|
226
|
+
const resolvePair = async () => {
|
|
227
|
+
let pools;
|
|
228
|
+
try {
|
|
229
|
+
pools = parseTradecraftPools(await get("/v1/pools"));
|
|
230
|
+
}
|
|
231
|
+
catch (e) {
|
|
232
|
+
const cc = opts.inSymbol === "CC" ? opts.outSymbol
|
|
233
|
+
: opts.outSymbol === "CC" ? opts.inSymbol
|
|
234
|
+
: undefined;
|
|
235
|
+
const known = cc !== undefined ? knownCcPoolOrder(cc) : undefined;
|
|
236
|
+
if (!known)
|
|
237
|
+
throw e; // fetch failed and no fallback for this pair — surface it
|
|
238
|
+
return { token1: known[0], token2: known[1], poolsUp: false };
|
|
165
239
|
}
|
|
166
|
-
|
|
240
|
+
// pools loaded: a missing pair here is a real "no such pool" and throws (never falls back).
|
|
241
|
+
const { token1, token2 } = resolvePoolPair(pools, opts.inSymbol, opts.outSymbol);
|
|
242
|
+
return { token1, token2, poolsUp: true };
|
|
167
243
|
};
|
|
168
|
-
|
|
169
|
-
//
|
|
170
|
-
//
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
244
|
+
const { token1, token2, poolsUp } = await resolvePair();
|
|
245
|
+
// The quote is directional and only informs the slippage minimum + display. When
|
|
246
|
+
// /pools is down the quote endpoint is down too, so skip it and market-fill (no
|
|
247
|
+
// memo min) rather than fail the whole swap; the pool still fills at market.
|
|
248
|
+
let userGets;
|
|
249
|
+
if (poolsUp) {
|
|
250
|
+
try {
|
|
251
|
+
userGets = parseTradecraftQuote(await get(`/v1/quoteForFixedInput/${encodeURIComponent(opts.inSymbol)}/` +
|
|
252
|
+
`${encodeURIComponent(opts.outSymbol)}?givingAmount=${encodeURIComponent(opts.amount)}`));
|
|
253
|
+
}
|
|
254
|
+
catch {
|
|
255
|
+
userGets = undefined; // quote flaked; fall through to market-fill
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
const haveQuote = userGets !== undefined;
|
|
259
|
+
// Fail closed: if the caller explicitly enabled on-ledger slippage protection (memoKey)
|
|
260
|
+
// but no quote could be obtained to base the minimum on, refuse rather than silently
|
|
261
|
+
// downgrading to an unprotected market-fill. With no memoKey (the default), a missing
|
|
262
|
+
// quote falls through to market-fill so a swap still completes while the API is down.
|
|
263
|
+
if (opts.memoKey !== undefined && !haveQuote) {
|
|
264
|
+
throw new Error("swap: on-ledger slippage protection was requested (memoKey) but no quote could be " +
|
|
265
|
+
"obtained to compute the minimum — refusing to market-fill without a floor");
|
|
266
|
+
}
|
|
267
|
+
const minOutput = haveQuote ? computeMinOutput(userGets, opts.slippagePct) : "0";
|
|
268
|
+
// Enforce a memo min only with a quote to base it on; without a memoKey the swap is a
|
|
269
|
+
// market-fill (no memo), the proven bare pool-address flow.
|
|
270
|
+
const attachMemo = opts.memoKey !== undefined && haveQuote;
|
|
176
271
|
return {
|
|
272
|
+
venue: "tradecraft",
|
|
177
273
|
poolParty: derivePoolParty(token1, token2, opts.ammCid),
|
|
274
|
+
minOutput,
|
|
275
|
+
...(attachMemo ? { memoKey: opts.memoKey, memoValue: minOutput } : {}),
|
|
276
|
+
quote: haveQuote ? String(userGets) : "unknown (Tradecraft quote API unavailable)",
|
|
277
|
+
inInstrument: opts.inInstrument,
|
|
278
|
+
outInstrument: opts.outInstrument,
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
/** Fetch a live Cantex Connect quote and build a ticket locally (the keyless
|
|
282
|
+
* `--direct` path for Cantex — Connect is public and free, so no fee/endpoint is
|
|
283
|
+
* needed). The counter-asset settles directly to the sender's pre-approved wallet.
|
|
284
|
+
* Unlike Tradecraft, Cantex's memo is the BUY SYMBOL (from the quote), not a min;
|
|
285
|
+
* `slippagePct` only sets the local delivery-detection threshold. */
|
|
286
|
+
export async function buildCantexTicket(opts) {
|
|
287
|
+
const f = opts.fetchImpl ?? globalThis.fetch;
|
|
288
|
+
const sleep = opts.sleep ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
|
|
289
|
+
const inCx = opts.inInstrument ?? { id: "Amulet", admin: opts.dsoParty };
|
|
290
|
+
const outCx = opts.outInstrument ?? { id: "Amulet", admin: opts.dsoParty };
|
|
291
|
+
const reqBody = JSON.stringify({
|
|
292
|
+
sellAmount: opts.amount,
|
|
293
|
+
sellInstrumentId: inCx.id,
|
|
294
|
+
sellInstrumentAdmin: inCx.admin,
|
|
295
|
+
buyInstrumentId: outCx.id,
|
|
296
|
+
buyInstrumentAdmin: outCx.admin,
|
|
297
|
+
});
|
|
298
|
+
// Cantex's keyless quote sometimes cannot price a non-CC input's CC-equivalent
|
|
299
|
+
// (the min check) and 400s transiently on token->CC. This is a QUOTE failure only
|
|
300
|
+
// (no funds have moved), so retry a few times before giving up / falling back.
|
|
301
|
+
const attempts = opts.quoteAttempts ?? 4;
|
|
302
|
+
let res;
|
|
303
|
+
let lastTransient = "";
|
|
304
|
+
for (let i = 0; i < attempts; i++) {
|
|
305
|
+
res = await f(opts.connectUrl, {
|
|
306
|
+
method: "POST",
|
|
307
|
+
headers: { "content-type": "application/json", accept: "application/json" },
|
|
308
|
+
body: reqBody,
|
|
309
|
+
});
|
|
310
|
+
if (res.ok)
|
|
311
|
+
break;
|
|
312
|
+
const text = await res.text().catch(() => "");
|
|
313
|
+
if (/CC-equivalent input size/i.test(text)) {
|
|
314
|
+
lastTransient = text;
|
|
315
|
+
if (i < attempts - 1) {
|
|
316
|
+
await sleep(1500);
|
|
317
|
+
continue;
|
|
318
|
+
}
|
|
319
|
+
break; // transient error on the last attempt — fall through to the guidance below
|
|
320
|
+
}
|
|
321
|
+
throw new Error(`swap: Cantex Connect quote failed (HTTP ${res.status}) ${text.slice(0, 200)}`);
|
|
322
|
+
}
|
|
323
|
+
if (!res.ok) {
|
|
324
|
+
throw new Error(`swap: Cantex Connect could not quote after ${attempts} attempts ` +
|
|
325
|
+
`(${lastTransient.slice(0, 120)}) — try again shortly or use --venue tradecraft`);
|
|
326
|
+
}
|
|
327
|
+
const body = (await res.json());
|
|
328
|
+
if (typeof body?.memo !== "string" || typeof body?.returned?.amount !== "string") {
|
|
329
|
+
throw new Error(`swap: unexpected Cantex Connect quote response ${JSON.stringify(body)}`);
|
|
330
|
+
}
|
|
331
|
+
const userGets = Number(body.returned.amount);
|
|
332
|
+
if (!Number.isFinite(userGets) || userGets < 0) {
|
|
333
|
+
throw new Error(`swap: Cantex returned a non-numeric output ${JSON.stringify(body.returned.amount)}`);
|
|
334
|
+
}
|
|
335
|
+
// The quote memo drives what Cantex buys — assert it identifies our requested
|
|
336
|
+
// output (defense in depth even on this direct/TLS path).
|
|
337
|
+
assertMemoMatchesOutput(body.memo, opts.outSymbol, opts.outInstrument, "Cantex");
|
|
338
|
+
return {
|
|
339
|
+
venue: "cantex",
|
|
340
|
+
poolParty: opts.cantexParty,
|
|
178
341
|
minOutput: computeMinOutput(userGets, opts.slippagePct),
|
|
179
|
-
|
|
180
|
-
|
|
342
|
+
memoKey: CANTEX_MEMO_KEY,
|
|
343
|
+
// Cantex reads the buy instrument from the memo (symbol or admin party). No ref.
|
|
344
|
+
memoValue: body.memo,
|
|
345
|
+
quote: body.returned.amount,
|
|
181
346
|
inInstrument: opts.inInstrument,
|
|
182
347
|
outInstrument: opts.outInstrument,
|
|
183
348
|
};
|
|
@@ -202,9 +367,11 @@ export function parseEndpointTicket(body) {
|
|
|
202
367
|
throw new Error(`swap: malformed ticket from endpoint ${JSON.stringify(body)}`);
|
|
203
368
|
}
|
|
204
369
|
return {
|
|
370
|
+
...(b.venue === "cantex" || b.venue === "tradecraft" ? { venue: b.venue } : {}),
|
|
205
371
|
poolParty: b.poolParty,
|
|
206
372
|
minOutput: b.minOutput,
|
|
207
373
|
...(typeof b.memoKey === "string" ? { memoKey: b.memoKey } : {}),
|
|
374
|
+
...(typeof b.memoValue === "string" ? { memoValue: b.memoValue } : {}),
|
|
208
375
|
quote: b.quote,
|
|
209
376
|
inInstrument: asSwapInstrument(b.inInstrument),
|
|
210
377
|
outInstrument: asSwapInstrument(b.outInstrument),
|
|
@@ -216,6 +383,24 @@ function sameInstrument(a, b) {
|
|
|
216
383
|
return a === b;
|
|
217
384
|
return a.admin === b.admin && a.id === b.id;
|
|
218
385
|
}
|
|
386
|
+
/** Assert a Cantex memo identifies EXACTLY the requested output instrument. Cantex
|
|
387
|
+
* Connect returns the buy instrument as its symbol, its instrument id, or its full
|
|
388
|
+
* admin party (observed: "CBTC" for CBTC, the registrar party for USDCx). The memo
|
|
389
|
+
* drives what asset Cantex buys, so it must be one of those forms for the caller's
|
|
390
|
+
* own output — never an endpoint-chosen substitute. `outInstrument` is null for a CC
|
|
391
|
+
* output (Cantex's buy id is then "Amulet"). Throws on any mismatch. */
|
|
392
|
+
function assertMemoMatchesOutput(memo, outCanon, outInstrument, source) {
|
|
393
|
+
const allowed = [
|
|
394
|
+
outCanon,
|
|
395
|
+
outInstrument?.id,
|
|
396
|
+
outInstrument?.admin,
|
|
397
|
+
outInstrument === null ? "Amulet" : undefined,
|
|
398
|
+
].filter((v) => typeof v === "string" && v.length > 0);
|
|
399
|
+
if (typeof memo !== "string" || !allowed.includes(memo)) {
|
|
400
|
+
throw new Error(`swap: ${source} memo ${JSON.stringify(memo)} does not identify the requested output ` +
|
|
401
|
+
`${JSON.stringify(outCanon)} (allowed: ${allowed.join(", ")}) — refusing`);
|
|
402
|
+
}
|
|
403
|
+
}
|
|
219
404
|
/**
|
|
220
405
|
* Validate an endpoint-returned ticket against LOCALLY-TRUSTED values before it is
|
|
221
406
|
* ever executed. The swap endpoint is UNTRUSTED for money safety: the ticket's
|
|
@@ -233,12 +418,55 @@ function sameInstrument(a, b) {
|
|
|
233
418
|
* a bad fill, which returns the input) — never for where the funds go.
|
|
234
419
|
*/
|
|
235
420
|
export function assertTicketMatchesIntent(ticket, expect) {
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
421
|
+
// The receiver (`poolParty`) is pinned to a client-trusted constant PER VENUE, so a
|
|
422
|
+
// compromised endpoint can never redirect funds to an attacker party. Tradecraft:
|
|
423
|
+
// the pool must be tc-swp of this pair under OUR amm_cid. Cantex: the party must be
|
|
424
|
+
// OUR trusted Cantex Connect party exactly.
|
|
425
|
+
// minOutput is consumed AFTER the input is sent (executeSwap's BigInt(decimalToAtomicCC(
|
|
426
|
+
// minOutput)) delivery-threshold), and a throw there would strand a SENT swap as an
|
|
427
|
+
// apparent failure (a retry = double-send). So validate it numeric for EVERY venue
|
|
428
|
+
// here, before anything moves — not just on the Tradecraft path.
|
|
429
|
+
if (!/^\d+(\.\d+)?$/.test(ticket.minOutput)) {
|
|
430
|
+
throw new Error(`swap: endpoint returned a non-numeric minOutput ${JSON.stringify(ticket.minOutput)} — refusing`);
|
|
431
|
+
}
|
|
432
|
+
const venue = ticket.venue ?? "tradecraft";
|
|
433
|
+
if (venue === "cantex") {
|
|
434
|
+
if (ticket.poolParty !== expect.trustedCantexParty) {
|
|
435
|
+
throw new Error(`swap: endpoint returned Cantex party ${JSON.stringify(ticket.poolParty)} which is not our ` +
|
|
436
|
+
`trusted Cantex Connect party — refusing`);
|
|
437
|
+
}
|
|
438
|
+
// The memo IS the buy-instrument selector Cantex acts on (its symbol, its
|
|
439
|
+
// instrument id, or its full admin party — the forms Cantex Connect returns), so
|
|
440
|
+
// it drives what asset the wallet receives. It MUST match the output the caller
|
|
441
|
+
// asked for, or a compromised endpoint could make Cantex buy a different (junk)
|
|
442
|
+
// token. Also pin the memo key. This exact-match allow-list subsumes any
|
|
443
|
+
// affiliate-`ref:` injection (a ref-appended memo simply is not in the set).
|
|
444
|
+
if (ticket.memoKey !== CANTEX_MEMO_KEY) {
|
|
445
|
+
throw new Error(`swap: endpoint returned an unexpected Cantex memo key ${JSON.stringify(ticket.memoKey)} — refusing`);
|
|
446
|
+
}
|
|
447
|
+
assertMemoMatchesOutput(ticket.memoValue, expect.outCanon, expect.outInstrument, "Cantex");
|
|
448
|
+
}
|
|
449
|
+
else {
|
|
450
|
+
const wantA = derivePoolParty(expect.inCanon, expect.outCanon, expect.trustedAmmCid);
|
|
451
|
+
const wantB = derivePoolParty(expect.outCanon, expect.inCanon, expect.trustedAmmCid);
|
|
452
|
+
if (ticket.poolParty !== wantA && ticket.poolParty !== wantB) {
|
|
453
|
+
throw new Error(`swap: endpoint returned pool party ${JSON.stringify(ticket.poolParty)} which is not the ` +
|
|
454
|
+
`trusted ${expect.inCanon}/${expect.outCanon} pool — refusing (a compromised endpoint ` +
|
|
455
|
+
`cannot redirect the swap: the pool must be tc-swp of this pair under our own amm_cid)`);
|
|
456
|
+
}
|
|
457
|
+
// Tradecraft reads the slippage FLOOR from the on-chain memo. `executeSwap` sends
|
|
458
|
+
// `memoValue`, so if a memo rides (memoKey set) it MUST be the validated minOutput
|
|
459
|
+
// under the trusted reason key — otherwise a compromised endpoint could show a
|
|
460
|
+
// healthy minOutput while sending a zero/garbage floor on-chain (no protection).
|
|
461
|
+
if (ticket.memoKey !== undefined) {
|
|
462
|
+
if (ticket.memoKey !== CANTEX_MEMO_KEY) {
|
|
463
|
+
throw new Error(`swap: endpoint returned an unexpected Tradecraft memo key ${JSON.stringify(ticket.memoKey)} — refusing`);
|
|
464
|
+
}
|
|
465
|
+
if (ticket.memoValue !== ticket.minOutput) {
|
|
466
|
+
throw new Error(`swap: endpoint's on-chain floor ${JSON.stringify(ticket.memoValue)} does not equal the ` +
|
|
467
|
+
`validated minOutput ${JSON.stringify(ticket.minOutput)} — refusing (slippage-strip attempt)`);
|
|
468
|
+
}
|
|
469
|
+
}
|
|
242
470
|
}
|
|
243
471
|
if (!sameInstrument(ticket.inInstrument, expect.inInstrument)) {
|
|
244
472
|
throw new Error(`swap: endpoint returned a different input instrument than requested — refusing`);
|
|
@@ -246,9 +474,6 @@ export function assertTicketMatchesIntent(ticket, expect) {
|
|
|
246
474
|
if (!sameInstrument(ticket.outInstrument, expect.outInstrument)) {
|
|
247
475
|
throw new Error(`swap: endpoint returned a different output instrument than requested — refusing`);
|
|
248
476
|
}
|
|
249
|
-
if (!/^\d+(\.\d+)?$/.test(ticket.minOutput)) {
|
|
250
|
-
throw new Error(`swap: endpoint returned a non-numeric minOutput ${JSON.stringify(ticket.minOutput)} — refusing`);
|
|
251
|
-
}
|
|
252
477
|
}
|
|
253
478
|
/** Fetch a swap ticket from OUR x402-gated `/swap` endpoint (the default path): the
|
|
254
479
|
* managed router that stays current with Tradecraft's pools/amm_cid/minimums and
|
|
@@ -262,7 +487,8 @@ export async function fetchTicketFromEndpoint(opts) {
|
|
|
262
487
|
const url = `${base}/swap?in=${encodeURIComponent(opts.inSymbol)}` +
|
|
263
488
|
`&out=${encodeURIComponent(opts.outSymbol)}` +
|
|
264
489
|
`&amount=${encodeURIComponent(opts.amount)}` +
|
|
265
|
-
`&slippage=${encodeURIComponent(String(opts.slippagePct))}
|
|
490
|
+
`&slippage=${encodeURIComponent(String(opts.slippagePct))}` +
|
|
491
|
+
`&venue=${encodeURIComponent(opts.venue ?? "cantex")}`;
|
|
266
492
|
const res = await opts.payingFetch(url);
|
|
267
493
|
if (!res.ok) {
|
|
268
494
|
const text = await res.text().catch(() => "");
|
|
@@ -275,6 +501,7 @@ export async function fetchTicketFromEndpoint(opts) {
|
|
|
275
501
|
inInstrument: opts.inInstrument,
|
|
276
502
|
outInstrument: opts.outInstrument,
|
|
277
503
|
trustedAmmCid: opts.trustedAmmCid,
|
|
504
|
+
trustedCantexParty: opts.trustedCantexParty,
|
|
278
505
|
});
|
|
279
506
|
return ticket;
|
|
280
507
|
}
|
|
@@ -333,6 +560,13 @@ export async function executeSwap(opts) {
|
|
|
333
560
|
if (wait)
|
|
334
561
|
await claimAll(relay, wallet, { hashBinding });
|
|
335
562
|
const outputBaseline = wait ? await readOutputBalance() : "0";
|
|
563
|
+
// Convert the numeric delivery thresholds to atomics BEFORE sending, so a malformed
|
|
564
|
+
// decimal (e.g. an endpoint-supplied non-numeric minOutput that somehow reached here)
|
|
565
|
+
// throws PRE-SEND — never after the input has moved, which would surface a sent swap as
|
|
566
|
+
// a failure and invite a double-send retry. assertTicketMatchesIntent already rejects a
|
|
567
|
+
// non-numeric minOutput on the endpoint path; this is the executeSwap-level backstop.
|
|
568
|
+
const baseAtomic = wait ? BigInt(decimalToAtomicCC(outputBaseline)) : 0n;
|
|
569
|
+
const minAtomic = wait ? BigInt(decimalToAtomicCC(ticket.minOutput)) : 0n;
|
|
336
570
|
// (2) SEND THE INPUT to the pool, carrying the slippage floor in the AMM's meta
|
|
337
571
|
// key. The ticket's pool party was derived from (or validated against, on the
|
|
338
572
|
// endpoint path via assertTicketMatchesIntent) the CALLER's trusted amm_cid, so
|
|
@@ -342,9 +576,13 @@ export async function executeSwap(opts) {
|
|
|
342
576
|
amount: opts.amount,
|
|
343
577
|
apiKey: opts.apiKey,
|
|
344
578
|
hashBinding,
|
|
345
|
-
// Attach the
|
|
346
|
-
//
|
|
347
|
-
|
|
579
|
+
// Attach the memo ONLY when a memo key is set. Tradecraft: the value is the
|
|
580
|
+
// slippage floor (omitted → market fill). Cantex: the value is the buy symbol
|
|
581
|
+
// (always set). `memoValue` falls back to `minOutput` for older Tradecraft-only
|
|
582
|
+
// tickets that predate the field.
|
|
583
|
+
...(ticket.memoKey
|
|
584
|
+
? { meta: { [ticket.memoKey]: ticket.memoValue ?? ticket.minOutput } }
|
|
585
|
+
: {}),
|
|
348
586
|
...(ticket.inInstrument
|
|
349
587
|
? {
|
|
350
588
|
instrumentAdmin: ticket.inInstrument.admin,
|
|
@@ -381,8 +619,6 @@ export async function executeSwap(opts) {
|
|
|
381
619
|
const sleep = opts.sleep ?? defaultSleep;
|
|
382
620
|
const attempts = opts.claimAttempts ?? 8;
|
|
383
621
|
const intervalMs = opts.claimIntervalMs ?? 15_000;
|
|
384
|
-
const baseAtomic = BigInt(decimalToAtomicCC(outputBaseline));
|
|
385
|
-
const minAtomic = BigInt(decimalToAtomicCC(ticket.minOutput));
|
|
386
622
|
timedOut = true;
|
|
387
623
|
let lastRise = 0n;
|
|
388
624
|
for (let i = 0; i < attempts; i++) {
|
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.
|
|
4
|
+
"version": "1.5.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",
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"@canton-network/core-ledger-proto": "~1.4.0",
|
|
21
21
|
"undici": "^7.1.0",
|
|
22
22
|
"@ftptech/x402-canton-ledger": "^0.4.0",
|
|
23
|
-
"@ftptech/x402-canton-
|
|
24
|
-
"@ftptech/x402-canton-
|
|
23
|
+
"@ftptech/x402-canton-client": "^1.1.0",
|
|
24
|
+
"@ftptech/x402-canton-core": "^1.2.1"
|
|
25
25
|
},
|
|
26
26
|
"publishConfig": {
|
|
27
27
|
"access": "public"
|