@ftptech/canton-agent-wallet 1.2.0 → 1.3.1
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 +47 -0
- package/dist/cli-args.d.ts.map +1 -1
- package/dist/cli-args.js +5 -0
- package/dist/cli-args.js.map +1 -1
- package/dist/cli.js +161 -2
- package/dist/cli.js.map +1 -1
- package/dist/registry-parties.d.ts +36 -7
- package/dist/registry-parties.d.ts.map +1 -1
- package/dist/registry-parties.js +69 -1
- package/dist/registry-parties.js.map +1 -1
- package/dist/swap.d.ts +205 -0
- package/dist/swap.d.ts.map +1 -0
- package/dist/swap.js +361 -0
- package/dist/swap.js.map +1 -0
- package/dist/tx.d.ts +5 -0
- package/dist/tx.d.ts.map +1 -1
- package/dist/tx.js +1 -0
- package/dist/tx.js.map +1 -1
- package/dist/withdraw.d.ts +10 -0
- package/dist/withdraw.d.ts.map +1 -1
- package/dist/withdraw.js +2 -0
- package/dist/withdraw.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -30,6 +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] [--max-fee <cc>] [--swap-merchant <party>] [--no-preapprove] # swap CC <-> a CIP-56 registry token via Tradecraft (see below)
|
|
33
34
|
canton-agent-wallet withdraw --to <party> [--amount <n>] [--admin <registrar> --id <instrument>] # send CC (default: full balance) or a registry token back out
|
|
34
35
|
canton-agent-wallet export # print the private key (backup; guard it)
|
|
35
36
|
```
|
|
@@ -145,6 +146,52 @@ so the first-run flow is:
|
|
|
145
146
|
the printed party id → `claim` → `balance`. Funding once is the only human step,
|
|
146
147
|
exactly like funding an EVM agent.
|
|
147
148
|
|
|
149
|
+
### Swap: CC ↔ CIP-56 registry tokens
|
|
150
|
+
|
|
151
|
+
`swap` exchanges CC for a DA Registry token (USDCx, CBTC, USDXLR, cETH, eXAG,
|
|
152
|
+
eXAU) or back, on the Tradecraft AMM (`api.tradecraft.fi`). It sends the
|
|
153
|
+
input to the pair's pool party and receives the counter-asset; the output
|
|
154
|
+
preapproval is auto-provisioned so the pool can deliver directly.
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
canton-agent-wallet swap --in CC --out USDCx --amount 7 # buy: 7 CC -> USDCx
|
|
158
|
+
canton-agent-wallet swap --in USDCx --out CC --amount 0.78 # sell: 0.78 USDCx -> CC
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
**Default path — our x402 swap endpoint.** The ticket (pool party, `amm_cid`,
|
|
162
|
+
slippage minimum) is fetched from a hosted endpoint for a small CC fee, so it
|
|
163
|
+
stays correct when Tradecraft rotates a pool address, the `amm_cid`, or a
|
|
164
|
+
minimum. Override the endpoint with `CANTON_AGENT_SWAP_URL`.
|
|
165
|
+
|
|
166
|
+
**`--direct` — free, straight from Tradecraft.** Bypasses the endpoint (and its
|
|
167
|
+
fee) and builds the ticket by querying `api.tradecraft.fi` itself, deriving the
|
|
168
|
+
pool party from the `amm_cid` baked into this release. Two things are then on
|
|
169
|
+
you: that pinned `amm_cid` is only as current as the release (Tradecraft can
|
|
170
|
+
rotate it), and the reply is trusted as it comes — the endpoint path re-checks
|
|
171
|
+
the ticket against your own trusted `amm_cid` and instruments before signing.
|
|
172
|
+
It is the power-user escape hatch, not the preferred path.
|
|
173
|
+
|
|
174
|
+
**Slippage.** `--slippage <pct>` is enforced **on-ledger only when the ticket
|
|
175
|
+
carries a memo key** — the floor rides in the transfer memo the pool reads.
|
|
176
|
+
Without a memo key the trade fills at **market price** and the CLI prints
|
|
177
|
+
`! no slippage protection on this ticket …` so the absence is never silent. An
|
|
178
|
+
input below the pool's minimum is safely returned by the pool (no loss).
|
|
179
|
+
|
|
180
|
+
**The endpoint fee is bounded.** The endpoint is untrusted for money safety, so
|
|
181
|
+
the 402 it answers with is capped at 0.5 CC (`--max-fee <cc>` to change) and, when
|
|
182
|
+
you name the merchant (`--swap-merchant <party>` or `CANTON_AGENT_SWAP_MERCHANT`),
|
|
183
|
+
the payment is pinned to that payee — a hijacked endpoint then cannot be paid at
|
|
184
|
+
all.
|
|
185
|
+
|
|
186
|
+
The output preapproval is provisioned automatically so the pool can deliver the
|
|
187
|
+
counter-asset directly; `--no-preapprove` skips it (e.g. it already exists).
|
|
188
|
+
|
|
189
|
+
Env: `CANTON_AGENT_SWAP_URL` (endpoint override), `CANTON_AGENT_TRADECRAFT_AMM_CID`
|
|
190
|
+
(the trusted `amm_cid` every ticket's pool party must derive from — a compromised
|
|
191
|
+
endpoint cannot redirect funds to another party), `CANTON_AGENT_SWAP_MERCHANT`
|
|
192
|
+
(pin the expected fee payee), `CANTON_AGENT_TRADECRAFT_API` and
|
|
193
|
+
`CANTON_AGENT_TRADECRAFT_MEMO_KEY` (used by `--direct`).
|
|
194
|
+
|
|
148
195
|
## Programmatic API
|
|
149
196
|
|
|
150
197
|
`makePayingFetch()` returns a `fetch` that transparently pays x402 challenges
|
package/dist/cli-args.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-args.d.ts","sourceRoot":"","sources":["../src/cli-args.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,eAAe,mBAAmB,CAAC;AAEhD,8EAA8E;AAC9E,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"cli-args.d.ts","sourceRoot":"","sources":["../src/cli-args.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,eAAe,mBAAmB,CAAC;AAEhD,8EAA8E;AAC9E,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,MAAM,CAyB1C,CAAC;AAEH,gEAAgE;AAChE,wBAAgB,IAAI,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAU9E;AAED;;0EAE0E;AAC1E,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAUvE;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,SAAS,CAQpB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAW7D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,GAAG,SAAS,CAEpB;AAED,+EAA+E;AAC/E,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAER;AAED,iEAAiE;AACjE,eAAO,MAAM,kBAAkB,QAEkD,CAAC;AAElF;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,MAAM,EAAE,GACtB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAY5F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACtC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CASvF"}
|
package/dist/cli-args.js
CHANGED
package/dist/cli-args.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-args.js","sourceRoot":"","sources":["../src/cli-args.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli-args.js","sourceRoot":"","sources":["../src/cli-args.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -23,6 +23,14 @@
|
|
|
23
23
|
* instrument (e.g. USDCx) when the 402 offers
|
|
24
24
|
* several, else the first compatible entry
|
|
25
25
|
* withdraw --to <p> send CC back out (--amount <cc> for a partial amount)
|
|
26
|
+
* swap --in <SYM> --out <SYM> --amount <n> [--slippage <pct>] [--direct]
|
|
27
|
+
* swap on Tradecraft: pre-approve the output, send
|
|
28
|
+
* the input to the pool, and claim the returning
|
|
29
|
+
* transfer. By DEFAULT the ticket (pool, minimum,
|
|
30
|
+
* amm_cid) comes from our x402 swap endpoint (a small
|
|
31
|
+
* CC fee for always-current data; CANTON_AGENT_SWAP_URL
|
|
32
|
+
* overrides it). --direct resolves the ticket locally
|
|
33
|
+
* from Tradecraft with no fee (a best-effort snapshot).
|
|
26
34
|
* export print the private key (backup; guard it)
|
|
27
35
|
* import [--relay-url <url>] [--key-file <p>] restore a wallet from a backed-up
|
|
28
36
|
* key (stdin or --key-file); inverse of export
|
|
@@ -49,13 +57,18 @@ import { agentKeyFromPrivatePem } from "./keys.js";
|
|
|
49
57
|
import { makePayingFetch } from "./pay.js";
|
|
50
58
|
import { RelayClient, isHoldingsExceedNodeLimitError } from "./relay-client.js";
|
|
51
59
|
import { claimAll, selfProvisionPreapproval, selfProvisionRegistryPreapproval, } from "./tx.js";
|
|
52
|
-
import { isTrustedRegistryAdmin } from "./registry-parties.js";
|
|
60
|
+
import { isTrustedRegistryAdmin, resolveSwapSymbol, KNOWN_INSTRUMENTS, } from "./registry-parties.js";
|
|
53
61
|
import { mergeHoldings } from "./merge.js";
|
|
54
62
|
import { withdraw } from "./withdraw.js";
|
|
63
|
+
import { buildLocalTicket, fetchTicketFromEndpoint, executeSwap, tradecraftMinInput, } from "./swap.js";
|
|
55
64
|
import { fundViaQuest } from "./quest-fund.js";
|
|
56
65
|
import { installProxyFromEnv } from "./proxy.js";
|
|
57
66
|
import { flag, boolFlag, intFlag, positionals, resolveNetwork, resolveRelayUrl, MISSING_RELAY_HELP, withdrawAmount, preapprovalMode, } from "./cli-args.js";
|
|
58
67
|
import { resolveTrustedDsoParty } from "./trusted-dso.js";
|
|
68
|
+
/** Ceiling on the swap-ticket fee the endpoint may charge, in CC. The live fee is
|
|
69
|
+
* 0.01 CC, so this leaves a wide margin while still bounding a hijacked endpoint
|
|
70
|
+
* to a trivial loss instead of the agent's balance. Override with --max-fee. */
|
|
71
|
+
const SWAP_MAX_FEE_CC = "0.5";
|
|
59
72
|
const API_KEY = process.env.CANTON_AGENT_API_KEY;
|
|
60
73
|
function fail(msg) {
|
|
61
74
|
console.error(msg);
|
|
@@ -448,6 +461,152 @@ async function main() {
|
|
|
448
461
|
console.log(`withdrew ${r.amount} ${wId ?? "CC"} to ${to}\n updateId: ${r.updateId}`);
|
|
449
462
|
break;
|
|
450
463
|
}
|
|
464
|
+
case "swap": {
|
|
465
|
+
// Swap `--amount` of `--in` for `--out` on Tradecraft. The pool address,
|
|
466
|
+
// slippage floor, and AMM meta-key are resolved into a ticket; then the
|
|
467
|
+
// output is pre-approved, the input is sent to the pool with the floor in
|
|
468
|
+
// meta, and the returning transfer is claimed. Symbols resolve to their
|
|
469
|
+
// MainNet registrar via KNOWN_INSTRUMENTS (CC = omit an instrument).
|
|
470
|
+
const inSym = flag(args, "--in");
|
|
471
|
+
const outSym = flag(args, "--out");
|
|
472
|
+
const amount = flag(args, "--amount");
|
|
473
|
+
if (!inSym || !outSym || !amount) {
|
|
474
|
+
return fail("usage: canton-agent-wallet swap --in <SYMBOL> --out <SYMBOL> --amount <n> [--slippage <pct>] [--direct]");
|
|
475
|
+
}
|
|
476
|
+
const slippageRaw = flag(args, "--slippage");
|
|
477
|
+
const slippagePct = slippageRaw === undefined ? 1 : Number(slippageRaw);
|
|
478
|
+
if (!Number.isFinite(slippagePct) || slippagePct < 0 || slippagePct >= 100) {
|
|
479
|
+
return fail("swap: --slippage must be a percentage in [0, 100)");
|
|
480
|
+
}
|
|
481
|
+
// Resolve each leg to a CANONICAL symbol, and FAIL CLOSED on an unrecognized
|
|
482
|
+
// one. Without this an unknown symbol would fall back to native Canton Coin,
|
|
483
|
+
// so a typo like `--in USDC` (for USDCx) would silently send real CC to a
|
|
484
|
+
// `tc-swp_USDC-…` pool. We also use the canonical casing for the pool party
|
|
485
|
+
// and the quote so `--in usdcx` targets the real `USDCx` pool, not a
|
|
486
|
+
// case-mismatched non-existent one.
|
|
487
|
+
const inLeg = resolveSwapSymbol(inSym);
|
|
488
|
+
const outLeg = resolveSwapSymbol(outSym);
|
|
489
|
+
for (const [flagName, sym, leg] of [
|
|
490
|
+
["--in", inSym, inLeg],
|
|
491
|
+
["--out", outSym, outLeg],
|
|
492
|
+
]) {
|
|
493
|
+
if (leg.kind === "unknown") {
|
|
494
|
+
return fail(`swap: ${flagName} ${JSON.stringify(sym)} is not a known instrument. ` +
|
|
495
|
+
`Use CC or one of: ${Object.keys(KNOWN_INSTRUMENTS).join(", ")} ` +
|
|
496
|
+
`(add others via CANTON_AGENT_REGISTRY_TRUSTED_PARTIES + code).`);
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
if (inLeg.kind === "unknown" || outLeg.kind === "unknown")
|
|
500
|
+
return; // unreachable: fail() above exits
|
|
501
|
+
if (inLeg.kind === "cc" && outLeg.kind === "cc") {
|
|
502
|
+
return fail("swap: --in and --out are both CC — nothing to swap");
|
|
503
|
+
}
|
|
504
|
+
const inCanon = inLeg.symbol;
|
|
505
|
+
const outCanon = outLeg.symbol;
|
|
506
|
+
const inInstrument = inLeg.kind === "registry" ? inLeg.instrument : null;
|
|
507
|
+
const outInstrument = outLeg.kind === "registry" ? outLeg.instrument : null;
|
|
508
|
+
// Advisory min-input warning (mirrors the Tradecraft web app; not a hard
|
|
509
|
+
// limit — the pool returns the funds if a small trade will not fill).
|
|
510
|
+
const minIn = tradecraftMinInput(inCanon);
|
|
511
|
+
if (minIn !== undefined && Number(amount) < minIn) {
|
|
512
|
+
console.error(` ! ${amount} ${inCanon} is below Tradecraft's advertised minimum of ${minIn} ${inCanon} — ` +
|
|
513
|
+
`the trade may be returned unfilled (no loss). Proceeding.`);
|
|
514
|
+
}
|
|
515
|
+
// The amm_cid is a CLIENT-TRUSTED constant (config, never the endpoint): the
|
|
516
|
+
// pool party the funds are sent to must derive from it, so a compromised swap
|
|
517
|
+
// endpoint cannot redirect the swap to an attacker party.
|
|
518
|
+
const trustedAmmCid = process.env.CANTON_AGENT_TRADECRAFT_AMM_CID ??
|
|
519
|
+
"122096fe076cc065af0cb38f94caa60e8ddfecbe8f0cfe10655ae7aa06fab99c66b7";
|
|
520
|
+
// TWO ways to get the ticket (pool party, slippage minimum, quote):
|
|
521
|
+
// DEFAULT — our x402 swap endpoint: a small CC fee for a ticket that stays
|
|
522
|
+
// current with Tradecraft's pools/amm_cid/minimums (a bare Tradecraft
|
|
523
|
+
// snapshot goes stale silently). Discovered via CANTON_AGENT_SWAP_URL, or a
|
|
524
|
+
// baked default. The returned ticket is validated against the trusted amm_cid
|
|
525
|
+
// + the locally-resolved instruments (fetchTicketFromEndpoint), so the
|
|
526
|
+
// endpoint is trusted for the price only, never for where funds go.
|
|
527
|
+
// --direct — resolve the ticket locally straight from Tradecraft (no fee),
|
|
528
|
+
// for power users who accept the stale-snapshot risk.
|
|
529
|
+
let ticket;
|
|
530
|
+
if (boolFlag(args, "--direct")) {
|
|
531
|
+
const memoKey = process.env.CANTON_AGENT_TRADECRAFT_MEMO_KEY;
|
|
532
|
+
const tradecraftApi = process.env.CANTON_AGENT_TRADECRAFT_API ?? "https://api.tradecraft.fi";
|
|
533
|
+
ticket = await buildLocalTicket({
|
|
534
|
+
tradecraftApi,
|
|
535
|
+
ammCid: trustedAmmCid,
|
|
536
|
+
...(memoKey ? { memoKey } : {}),
|
|
537
|
+
inSymbol: inCanon,
|
|
538
|
+
outSymbol: outCanon,
|
|
539
|
+
amount,
|
|
540
|
+
slippagePct,
|
|
541
|
+
inInstrument,
|
|
542
|
+
outInstrument,
|
|
543
|
+
});
|
|
544
|
+
if (!memoKey) {
|
|
545
|
+
console.error(" ! no slippage protection (CANTON_AGENT_TRADECRAFT_MEMO_KEY unset) — filling at market price");
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
else {
|
|
549
|
+
const swapUrl = process.env.CANTON_AGENT_SWAP_URL ?? "https://swap.ftptech.xyz";
|
|
550
|
+
const existing = loadWallet();
|
|
551
|
+
const relayUrl = resolveRelayUrl(args) ?? existing?.relayUrl ?? fail(MISSING_RELAY_HELP);
|
|
552
|
+
// The endpoint is UNTRUSTED for money safety (see assertTicketMatchesIntent),
|
|
553
|
+
// and this call auto-settles whatever 402 it answers with BEFORE any ticket
|
|
554
|
+
// validation runs. Without a ceiling that is a blank cheque: a hijacked
|
|
555
|
+
// endpoint (or its DNS/TLS) could quote the agent's whole balance to a payee
|
|
556
|
+
// of its choosing. Bound both: a ceiling that always applies, and — when the
|
|
557
|
+
// operator names the merchant — an exact payee pin that reduces the exposure
|
|
558
|
+
// to zero.
|
|
559
|
+
const maxFee = flag(args, "--max-fee") ?? SWAP_MAX_FEE_CC;
|
|
560
|
+
const swapMerchant = flag(args, "--swap-merchant") ?? process.env.CANTON_AGENT_SWAP_MERCHANT;
|
|
561
|
+
const payingFetch = await makePayingFetch({
|
|
562
|
+
relayUrl,
|
|
563
|
+
network: existing?.network ?? resolveNetwork(args),
|
|
564
|
+
apiKey: API_KEY,
|
|
565
|
+
maxPaymentValue: maxFee,
|
|
566
|
+
...(swapMerchant ? { expectedPayTo: swapMerchant } : {}),
|
|
567
|
+
});
|
|
568
|
+
ticket = await fetchTicketFromEndpoint({
|
|
569
|
+
swapUrl,
|
|
570
|
+
inSymbol: inCanon,
|
|
571
|
+
outSymbol: outCanon,
|
|
572
|
+
amount,
|
|
573
|
+
slippagePct,
|
|
574
|
+
payingFetch,
|
|
575
|
+
inInstrument,
|
|
576
|
+
outInstrument,
|
|
577
|
+
trustedAmmCid,
|
|
578
|
+
});
|
|
579
|
+
}
|
|
580
|
+
console.log(`quote: ${amount} ${inCanon} -> ~${ticket.quote} ${outCanon}\n pool: ${ticket.poolParty}`);
|
|
581
|
+
if (ticket.memoKey) {
|
|
582
|
+
console.log(` min ${ticket.minOutput} enforced at ${slippagePct}% slippage`);
|
|
583
|
+
}
|
|
584
|
+
else {
|
|
585
|
+
// Say it on BOTH paths. The floor rides in the transfer memo, so without
|
|
586
|
+
// a memo key nothing constrains what the pool returns — the trade fills
|
|
587
|
+
// at whatever the pool quotes when it executes, and --slippage did
|
|
588
|
+
// nothing. The --direct branch already warns; a ticket from the endpoint
|
|
589
|
+
// can be equally unprotected (the service leaves the key unset), and
|
|
590
|
+
// silence there reads as "protected".
|
|
591
|
+
console.error(" ! no slippage protection on this ticket — filling at market price " +
|
|
592
|
+
"(the swap endpoint set no memo key)");
|
|
593
|
+
}
|
|
594
|
+
// A registry output is preapproved by default so the pool can deliver it
|
|
595
|
+
// directly (it delivers only to a preapproved receiver); --no-preapprove
|
|
596
|
+
// opts out (e.g. the preapproval already exists).
|
|
597
|
+
const sr = await executeSwap({
|
|
598
|
+
amount,
|
|
599
|
+
ticket,
|
|
600
|
+
apiKey: API_KEY,
|
|
601
|
+
preapproveOutput: !boolFlag(args, "--no-preapprove"),
|
|
602
|
+
});
|
|
603
|
+
console.log(`sent input to pool\n updateId: ${sr.sentUpdateId}\n` +
|
|
604
|
+
(sr.claimed > 0
|
|
605
|
+
? `claimed ${sr.claimed} returning transfer(s): ${sr.claimedUpdateIds.join(", ")}`
|
|
606
|
+
: `no return claimed yet — it settles directly to your preapproval, or run ` +
|
|
607
|
+
`\`canton-agent-wallet claim\` shortly`));
|
|
608
|
+
break;
|
|
609
|
+
}
|
|
451
610
|
case "export": {
|
|
452
611
|
const w = loadWallet();
|
|
453
612
|
if (!w)
|
|
@@ -522,7 +681,7 @@ async function main() {
|
|
|
522
681
|
break;
|
|
523
682
|
}
|
|
524
683
|
default:
|
|
525
|
-
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>] [--expires-at <iso>] | pay [--asset <symbol>] <url> | withdraw --to <party> [--amount <n>] [--admin <registrar> --id <instrument>] | export | import\n" +
|
|
684
|
+
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] [--max-fee <cc>] [--swap-merchant <party>] [--no-preapprove] | withdraw --to <party> [--amount <n>] [--admin <registrar> --id <instrument>] | export | import\n" +
|
|
526
685
|
" relay required for create/pay/import/fund: --relay-url <url> or CANTON_AGENT_RELAY_URL\n" +
|
|
527
686
|
" fund = bootstrap a funded wallet via the hosted quest (--pay-proxy-url or CANTON_AGENT_PAY_PROXY_URL).\n" +
|
|
528
687
|
" 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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"}
|
|
@@ -28,15 +28,44 @@
|
|
|
28
28
|
*/
|
|
29
29
|
/** JSON env: `{ "<instrument-admin>": ["<operator>", "<bridge>", …] }`. */
|
|
30
30
|
export declare const REGISTRY_TRUSTED_PARTIES_ENV = "CANTON_AGENT_REGISTRY_TRUSTED_PARTIES";
|
|
31
|
+
export declare const KNOWN_REGISTRY_TRUSTED_PARTIES: Readonly<Record<string, readonly string[]>>;
|
|
32
|
+
/** MainNet symbol → {admin, id} for the DA Registry Utility instruments this
|
|
33
|
+
* wallet knows out of the box (all `decimals: 10`). Canton Coin is NOT here —
|
|
34
|
+
* it is the native Amulet, named by omitting an instrument. Used by `swap` to
|
|
35
|
+
* resolve `--in USDCx` locally; the fee-ticket path (facilitator /swap) carries
|
|
36
|
+
* its own resolved instruments, which take precedence on DevNet/other networks. */
|
|
37
|
+
export declare const KNOWN_INSTRUMENTS: Readonly<Record<string, {
|
|
38
|
+
admin: string;
|
|
39
|
+
id: string;
|
|
40
|
+
}>>;
|
|
31
41
|
/**
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* `
|
|
36
|
-
*
|
|
37
|
-
* `
|
|
42
|
+
* Resolve a swap leg symbol to a CANONICAL form, distinguishing the three cases a
|
|
43
|
+
* swap must never confuse:
|
|
44
|
+
* - `{ kind: "cc" }` — native Canton Coin (canonical symbol `"CC"`).
|
|
45
|
+
* - `{ kind: "registry" }` — a known registry token, with its `instrument`
|
|
46
|
+
* ({admin,id}) and canonical `symbol` (correct case).
|
|
47
|
+
* - `{ kind: "unknown" }` — anything else. The caller MUST reject this rather
|
|
48
|
+
* than fall back to CC, so a typo like `USDC` (for
|
|
49
|
+
* `USDCx`) can never silently send real Canton Coin.
|
|
50
|
+
*
|
|
51
|
+
* The canonical symbol is what the pool-party name and the Tradecraft quote URL
|
|
52
|
+
* must use, so an input like `usdcx` resolves to `USDCx` and targets the real pool
|
|
53
|
+
* rather than a case-mismatched, non-existent one.
|
|
38
54
|
*/
|
|
39
|
-
export
|
|
55
|
+
export type SwapSymbol = {
|
|
56
|
+
kind: "cc";
|
|
57
|
+
symbol: "CC";
|
|
58
|
+
} | {
|
|
59
|
+
kind: "registry";
|
|
60
|
+
symbol: string;
|
|
61
|
+
instrument: {
|
|
62
|
+
admin: string;
|
|
63
|
+
id: string;
|
|
64
|
+
};
|
|
65
|
+
} | {
|
|
66
|
+
kind: "unknown";
|
|
67
|
+
};
|
|
68
|
+
export declare function resolveSwapSymbol(symbol: string): SwapSymbol;
|
|
40
69
|
/**
|
|
41
70
|
* The independently-trusted registry infra party set for `instrumentAdmin`, or an
|
|
42
71
|
* empty set when the admin is not a known/configured registry (Amulet, or an
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-parties.d.ts","sourceRoot":"","sources":["../src/registry-parties.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,2EAA2E;AAC3E,eAAO,MAAM,4BAA4B,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"registry-parties.d.ts","sourceRoot":"","sources":["../src/registry-parties.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,2EAA2E;AAC3E,eAAO,MAAM,4BAA4B,0CAA0C,CAAC;AAgBpF,eAAO,MAAM,8BAA8B,EAAE,QAAQ,CACnD,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAgClC,CAAC;AAEF;;;;oFAIoF;AACpF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CACtC,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAmC9C,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,IAAI,CAAA;CAAE,GAC5B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAC/E;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAExB,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAW5D;AA0BD;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,eAAe,EAAE,MAAM,EACvB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,WAAW,CAAC,MAAM,CAAC,CAMrB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,eAAe,EAAE,MAAM,EACvB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAET;AAED;wEACwE;AACxE,eAAO,MAAM,uBAAuB,qCAAqC,CAAC;AAE1E;gEACgE;AAChE,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,eAAe,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EAC9C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAUT"}
|
package/dist/registry-parties.js
CHANGED
|
@@ -36,14 +36,82 @@ export const REGISTRY_TRUSTED_PARTIES_ENV = "CANTON_AGENT_REGISTRY_TRUSTED_PARTI
|
|
|
36
36
|
* the xReserve Bridge-Operator, both confirmed on a live MainNet USDCx
|
|
37
37
|
* `TransferFactory_Transfer`.
|
|
38
38
|
*/
|
|
39
|
+
/** DA Registry Utility operator, shared by EVERY instrument the utility hosts
|
|
40
|
+
* (verified live at /api/utilities/v0/operator — identical for USDCx, CBTC,
|
|
41
|
+
* USDXLR, cETH). It appears on every DA-Utility `TransferFactory_Transfer`. */
|
|
42
|
+
const DA_UTILITY_OPERATOR = "auth0_007c6643538f2eadd3e573dd05b9::12205bcc106efa0eaa7f18dc491e5c6f5fb9b0cc68dc110ae66f4ed6467475d7c78e";
|
|
39
43
|
export const KNOWN_REGISTRY_TRUSTED_PARTIES = {
|
|
40
44
|
"decentralized-usdc-interchain-rep::12208115f1e168dd7e792320be9c4ca720c751a02a3053c7606e1c1cd3dad9bf60ef": [
|
|
41
45
|
// DA Registry Utility operator (from /api/utilities/v0/operator).
|
|
42
|
-
|
|
46
|
+
DA_UTILITY_OPERATOR,
|
|
43
47
|
// xReserve Bridge-Operator (mints/burns USDCx; signatory on the holding).
|
|
44
48
|
"Bridge-Operator::1220c8448890a70e65f6906bd48d797ee6551f094e9e6a53e329fd5b2b549334f13f",
|
|
45
49
|
],
|
|
50
|
+
// CBTC (BitSafe), USDXLR (Excellar), cETH (onRails) — all DA Registry Utility
|
|
51
|
+
// instruments, so each carries the shared operator above. A token-specific infra
|
|
52
|
+
// party is added when its transfers reference one: CBTC declares a fee/config
|
|
53
|
+
// "cbtc-beneficiary" party in its registrar-authored InstrumentConfiguration
|
|
54
|
+
// (verified: it appears only in the authenticated InstrumentConfiguration input
|
|
55
|
+
// contract — never as a value owner or recipient — so a relay cannot forge it).
|
|
56
|
+
// cETH instead uses per-user parties minted UNDER ITS OWN NAMESPACE, which are
|
|
57
|
+
// trusted generically by the same-namespace rule in @ftptech/x402-canton-core's
|
|
58
|
+
// foreign-party backstop, so none need listing here.
|
|
59
|
+
"cbtc-network::12205af3b949a04776fc48cdcc05a060f6bda2e470632935f375d1049a8546a3b262": [
|
|
60
|
+
DA_UTILITY_OPERATOR,
|
|
61
|
+
// CBTC beneficiary declared in the registrar's InstrumentConfiguration.
|
|
62
|
+
"cbtc-beneficiary::1220409a9fcc5ff6422e29ab978c22c004dde33202546b4bcbde24b25b85353366c2",
|
|
63
|
+
],
|
|
64
|
+
"excellar-issuer::12203d1e36930ee0e3fbb898add7e222a47ae9d2a5f0f6187e3a446ea32f871ce2ca": [DA_UTILITY_OPERATOR],
|
|
65
|
+
"rails-cethMain-1::12200350ba6e96e3b701c3048b5aa013a8c1c08833e8ebf54339cff581055c29003a": [DA_UTILITY_OPERATOR],
|
|
66
|
+
"ember-silver::1220ad9c097ae75192b4716854fa413aa8582c86a62b16714663cdab55e025cc79c4": [DA_UTILITY_OPERATOR],
|
|
67
|
+
"ember-gold::1220ad9c097ae75192b4716854fa413aa8582c86a62b16714663cdab55e025cc79c4": [DA_UTILITY_OPERATOR],
|
|
68
|
+
};
|
|
69
|
+
/** MainNet symbol → {admin, id} for the DA Registry Utility instruments this
|
|
70
|
+
* wallet knows out of the box (all `decimals: 10`). Canton Coin is NOT here —
|
|
71
|
+
* it is the native Amulet, named by omitting an instrument. Used by `swap` to
|
|
72
|
+
* resolve `--in USDCx` locally; the fee-ticket path (facilitator /swap) carries
|
|
73
|
+
* its own resolved instruments, which take precedence on DevNet/other networks. */
|
|
74
|
+
export const KNOWN_INSTRUMENTS = {
|
|
75
|
+
USDCx: {
|
|
76
|
+
admin: "decentralized-usdc-interchain-rep::12208115f1e168dd7e792320be9c4ca720c751a02a3053c7606e1c1cd3dad9bf60ef",
|
|
77
|
+
id: "USDCx",
|
|
78
|
+
},
|
|
79
|
+
CBTC: {
|
|
80
|
+
admin: "cbtc-network::12205af3b949a04776fc48cdcc05a060f6bda2e470632935f375d1049a8546a3b262",
|
|
81
|
+
id: "CBTC",
|
|
82
|
+
},
|
|
83
|
+
USDXLR: {
|
|
84
|
+
admin: "excellar-issuer::12203d1e36930ee0e3fbb898add7e222a47ae9d2a5f0f6187e3a446ea32f871ce2ca",
|
|
85
|
+
id: "USDXLR",
|
|
86
|
+
},
|
|
87
|
+
cETH: {
|
|
88
|
+
admin: "rails-cethMain-1::12200350ba6e96e3b701c3048b5aa013a8c1c08833e8ebf54339cff581055c29003a",
|
|
89
|
+
id: "cETH",
|
|
90
|
+
},
|
|
91
|
+
// Ember tokenized metals (eXAG = silver, eXAU = gold), both DA Registry Utility
|
|
92
|
+
// instruments (live metadata resolves, decimals 10) — same shared packages, no new
|
|
93
|
+
// DARs to receive; ids verified from Tradecraft's /v1/tokenB and the DA Utility.
|
|
94
|
+
eXAG: {
|
|
95
|
+
admin: "ember-silver::1220ad9c097ae75192b4716854fa413aa8582c86a62b16714663cdab55e025cc79c4",
|
|
96
|
+
id: "eXAG",
|
|
97
|
+
},
|
|
98
|
+
eXAU: {
|
|
99
|
+
admin: "ember-gold::1220ad9c097ae75192b4716854fa413aa8582c86a62b16714663cdab55e025cc79c4",
|
|
100
|
+
id: "eXAU",
|
|
101
|
+
},
|
|
46
102
|
};
|
|
103
|
+
export function resolveSwapSymbol(symbol) {
|
|
104
|
+
const s = symbol.trim().toLowerCase();
|
|
105
|
+
if (s === "cc" || s === "canton-coin" || s === "amulet") {
|
|
106
|
+
return { kind: "cc", symbol: "CC" };
|
|
107
|
+
}
|
|
108
|
+
for (const [sym, instrument] of Object.entries(KNOWN_INSTRUMENTS)) {
|
|
109
|
+
if (sym.toLowerCase() === s) {
|
|
110
|
+
return { kind: "registry", symbol: sym, instrument };
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return { kind: "unknown" };
|
|
114
|
+
}
|
|
47
115
|
/** Parse the env JSON (admin → party[]) fail-closed to `{}` on any malformation. */
|
|
48
116
|
function parseEnvTrustedParties(raw) {
|
|
49
117
|
if (!raw || raw.trim().length === 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-parties.js","sourceRoot":"","sources":["../src/registry-parties.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,2EAA2E;AAC3E,MAAM,CAAC,MAAM,4BAA4B,GAAG,uCAAuC,CAAC;AAEpF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAEvC;IACF,yGAAyG,EACvG;QACE,kEAAkE;QAClE,
|
|
1
|
+
{"version":3,"file":"registry-parties.js","sourceRoot":"","sources":["../src/registry-parties.ts"],"names":[],"mappings":"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"}
|