@ftptech/canton-agent-wallet 2.2.0 → 2.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.
Files changed (49) hide show
  1. package/README.md +55 -10
  2. package/dist/cli-args.d.ts +27 -0
  3. package/dist/cli-args.d.ts.map +1 -1
  4. package/dist/cli-args.js +74 -0
  5. package/dist/cli-args.js.map +1 -1
  6. package/dist/cli.js +159 -34
  7. package/dist/cli.js.map +1 -1
  8. package/dist/merge.d.ts +26 -2
  9. package/dist/merge.d.ts.map +1 -1
  10. package/dist/merge.js +212 -31
  11. package/dist/merge.js.map +1 -1
  12. package/dist/pay-lock.d.ts.map +1 -1
  13. package/dist/pay-lock.js +8 -14
  14. package/dist/pay-lock.js.map +1 -1
  15. package/dist/pay.d.ts +5 -1
  16. package/dist/pay.d.ts.map +1 -1
  17. package/dist/pay.js +43 -8
  18. package/dist/pay.js.map +1 -1
  19. package/dist/registry-parties.d.ts +6 -0
  20. package/dist/registry-parties.d.ts.map +1 -1
  21. package/dist/registry-parties.js +8 -0
  22. package/dist/registry-parties.js.map +1 -1
  23. package/dist/relay-client.d.ts +39 -0
  24. package/dist/relay-client.d.ts.map +1 -1
  25. package/dist/relay-client.js +91 -11
  26. package/dist/relay-client.js.map +1 -1
  27. package/dist/relay-signer.d.ts.map +1 -1
  28. package/dist/relay-signer.js +15 -0
  29. package/dist/relay-signer.js.map +1 -1
  30. package/dist/swap.d.ts +14 -1
  31. package/dist/swap.d.ts.map +1 -1
  32. package/dist/swap.js +55 -12
  33. package/dist/swap.js.map +1 -1
  34. package/dist/tx.d.ts +4 -9
  35. package/dist/tx.d.ts.map +1 -1
  36. package/dist/tx.js +11 -75
  37. package/dist/tx.js.map +1 -1
  38. package/dist/verify-prepared.d.ts +14 -26
  39. package/dist/verify-prepared.d.ts.map +1 -1
  40. package/dist/verify-prepared.js +12 -73
  41. package/dist/verify-prepared.js.map +1 -1
  42. package/dist/withdraw.d.ts.map +1 -1
  43. package/dist/withdraw.js +66 -20
  44. package/dist/withdraw.js.map +1 -1
  45. package/package.json +4 -4
  46. package/dist/quest-fund.d.ts +0 -142
  47. package/dist/quest-fund.d.ts.map +0 -1
  48. package/dist/quest-fund.js +0 -355
  49. package/dist/quest-fund.js.map +0 -1
package/dist/pay.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pay.d.ts","sourceRoot":"","sources":["../src/pay.ts"],"names":[],"mappings":"AAaA,OAAO,EAAgB,KAAK,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAgB,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAInE,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,WAAW,OAAQ,SAAQ,gBAAgB;IAC/C,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC;;;wCAGoC;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;yEAKqE;IACrE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;8CAG0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,CAAC,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,mBAAmB,CAAC,GAAG,SAAS,CAmBrE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,WAAW,EACnB,IAAI,GAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAM,GAErC;IACE,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CACpD,GACD,SAAS,CAuBZ;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,OAAO,UAAU,CAAC,KAAK,CAAC,CAMlC;AAED;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,IAAI,CACR,OAAO,EACL,QAAQ,GACR,aAAa,GACb,mBAAmB,GACnB,iBAAiB,GACjB,eAAe,GACf,aAAa,CAChB,EACD,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,UAAU,CAAC,KAAK,CAAC,CAqDlC"}
1
+ {"version":3,"file":"pay.d.ts","sourceRoot":"","sources":["../src/pay.ts"],"names":[],"mappings":"AAaA,OAAO,EAAgB,KAAK,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAgB,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAQnE,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,WAAW,OAAQ,SAAQ,gBAAgB;IAC/C,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC;;;wCAGoC;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;yEAKqE;IACrE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;6DAEyD;IACzD,2BAA2B,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/D;;;8CAG0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,CAAC,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,mBAAmB,CAAC,GAAG,SAAS,CAkDrE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,WAAW,EACnB,IAAI,GAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAM,GAErC;IACE,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CACpD,GACD,SAAS,CAuBZ;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,OAAO,UAAU,CAAC,KAAK,CAAC,CAUlC;AAED;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,IAAI,CACR,OAAO,EACL,QAAQ,GACR,aAAa,GACb,mBAAmB,GACnB,iBAAiB,GACjB,6BAA6B,GAC7B,eAAe,GACf,aAAa,CAChB,EACD,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,UAAU,CAAC,KAAK,CAAC,CAwDlC"}
package/dist/pay.js CHANGED
@@ -2,15 +2,15 @@
2
2
  * makePayingFetch — a drop-in fetch that auto-pays x402 challenges from the
3
3
  * agent's self-custody wallet. Lazily creates the wallet on first use, then
4
4
  * wraps fetch so any 402 is paid (relay PREPARES a token-standard
5
- * TransferFactory_Transfer → verify-before-sign → sign locally → the relay
6
- * stashes it for the facilitator to settle) and the request retried. The agent
7
- * just "fetches".
5
+ * TransferFactory_Transfer → verify-before-sign → sign locally → the signed
6
+ * transaction rides INLINE in the payment payload for the facilitator to settle)
7
+ * and the request retried. The agent just "fetches".
8
8
  */
9
9
  import { wrapFetchWithCantonPayment, peekChosenRequirement, peekChosenTransferMethod, } from "@ftptech/x402-canton-client";
10
10
  import { assetMatches } from "@ftptech/x402-canton-core";
11
11
  import { ensureWallet } from "./onboard.js";
12
12
  import { makeRelaySigner } from "./relay-signer.js";
13
- import { resolveTrustedRegistryParties } from "./registry-parties.js";
13
+ import { isTrustedRegistryAdmin, resolveSwapSymbol, resolveTrustedRegistryParties, } from "./registry-parties.js";
14
14
  import { withPayLock } from "./pay-lock.js";
15
15
  import { walletDir } from "./store.js";
16
16
  /**
@@ -29,10 +29,38 @@ export function buildPreferAssetSelector(preferAsset) {
29
29
  if (!preferAsset)
30
30
  return undefined;
31
31
  const want = preferAsset.toLowerCase();
32
- return (cands) => {
33
- const hit = cands.find((a) => assetMatches(a.asset, preferAsset) ||
32
+ // A symbol this wallet knows is matched on WHAT IS PAID — the structured
33
+ // instrumentId the signer acts on — never on the 402's free-text `asset`
34
+ // label, which a merchant can set to anything. Otherwise `--asset USDCx`
35
+ // (and a USDCx spend cap) could pick an entry labelled "USDCx" that actually
36
+ // pays Canton Coin.
37
+ // The MainNet registrar is baked in; on testnet/devnet the same symbol comes
38
+ // from a registrar trusted through CANTON_AGENT_REGISTRY_TRUSTED_PARTIES, so the
39
+ // instrument id from any TRUSTED registrar matches (an arbitrary admin still
40
+ // does not), and the MainNet registrar's entry wins when both are offered.
41
+ const known = resolveSwapSymbol(preferAsset);
42
+ const exact = (a) => {
43
+ const inst = a.extra?.instrumentId;
44
+ return (known.kind === "registry" &&
45
+ inst?.admin === known.instrument.admin &&
46
+ inst?.id === known.instrument.id);
47
+ };
48
+ const matches = (a) => {
49
+ const inst = a.extra?.instrumentId;
50
+ if (known.kind === "registry") {
51
+ return (inst?.id === known.instrument.id &&
52
+ typeof inst.admin === "string" &&
53
+ isTrustedRegistryAdmin(inst.admin, process.env));
54
+ }
55
+ if (known.kind === "cc") {
56
+ return inst?.id === "Amulet" && resolveTrustedRegistryParties(inst.admin, process.env).size === 0;
57
+ }
58
+ return (assetMatches(a.asset, preferAsset) ||
34
59
  a.asset.toLowerCase() === want ||
35
- a.extra?.instrumentId?.id?.toLowerCase() === want);
60
+ inst?.id?.toLowerCase() === want);
61
+ };
62
+ return (cands) => {
63
+ const hit = cands.find(exact) ?? cands.find(matches);
36
64
  if (hit)
37
65
  return hit;
38
66
  const offered = [
@@ -78,7 +106,11 @@ export function peekWalletPayment(response, wallet, opts = {}) {
78
106
  };
79
107
  }
80
108
  export async function makePayingFetch(opts) {
81
- const wallet = await ensureWallet(opts);
109
+ // `relayUrl` is the relay to pay through. An EXISTING wallet used to keep the
110
+ // relay saved at `create` time and silently ignore this — so pointing a wallet
111
+ // at another facilitator (a cut-over, a staging relay) still paid through the
112
+ // old one. The saved wallet file is not changed; only this fetch uses it.
113
+ const wallet = { ...(await ensureWallet(opts)), relayUrl: opts.relayUrl };
82
114
  // The file-backed wallet serializes concurrent pays via a directory mutex in
83
115
  // its home (cross-process safe), so pass the home as the lock dir — behavior
84
116
  // is identical to before this was extracted.
@@ -99,6 +131,9 @@ export async function makePayingFetchForWallet(wallet, opts, lockHome) {
99
131
  ...(opts.maxPaymentValue !== undefined
100
132
  ? { maxPaymentValue: opts.maxPaymentValue }
101
133
  : {}),
134
+ ...(opts.maxPaymentValueByInstrument !== undefined
135
+ ? { maxPaymentValueByInstrument: opts.maxPaymentValueByInstrument }
136
+ : {}),
102
137
  ...(opts.expectedPayTo !== undefined
103
138
  ? { expectedPayTo: opts.expectedPayTo }
104
139
  : {}),
package/dist/pay.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pay.js","sourceRoot":"","sources":["../src/pay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pay.js","sourceRoot":"","sources":["../src/pay.ts"],"names":[],"mappings":"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"}
@@ -79,6 +79,12 @@ export declare function resolveTrustedRegistryParties(instrumentAdmin: string, e
79
79
  * set). Only then may the admin be pinned from the 402-supplied value; otherwise a
80
80
  * value-moving transfer keeps the Amulet DSO anchor / fails closed.
81
81
  */
82
+ /**
83
+ * Registry admins trusted through `CANTON_AGENT_REGISTRY_TRUSTED_PARTIES`, on top
84
+ * of the baked-in MainNet registrars. This is how the registrar of a known
85
+ * symbol on another network (a testnet USDCx, say) becomes recognisable.
86
+ */
87
+ export declare function envTrustedRegistryAdmins(env?: NodeJS.ProcessEnv): string[];
82
88
  export declare function isTrustedRegistryAdmin(instrumentAdmin: string, env?: NodeJS.ProcessEnv): boolean;
83
89
  /** Env naming the registry instruments this wallet MAY SPEND, e.g.
84
90
  * `CANTON_AGENT_PAYABLE_INSTRUMENTS="<admin>|USDCx,<admin2>|EURx"`. */
@@ -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;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"}
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;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,EAAE,CAEvF;AAED,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"}
@@ -156,6 +156,14 @@ export function resolveTrustedRegistryParties(instrumentAdmin, env = process.env
156
156
  * set). Only then may the admin be pinned from the 402-supplied value; otherwise a
157
157
  * value-moving transfer keeps the Amulet DSO anchor / fails closed.
158
158
  */
159
+ /**
160
+ * Registry admins trusted through `CANTON_AGENT_REGISTRY_TRUSTED_PARTIES`, on top
161
+ * of the baked-in MainNet registrars. This is how the registrar of a known
162
+ * symbol on another network (a testnet USDCx, say) becomes recognisable.
163
+ */
164
+ export function envTrustedRegistryAdmins(env = process.env) {
165
+ return Object.keys(parseEnvTrustedParties(env[REGISTRY_TRUSTED_PARTIES_ENV]));
166
+ }
159
167
  export function isTrustedRegistryAdmin(instrumentAdmin, env = process.env) {
160
168
  return resolveTrustedRegistryParties(instrumentAdmin, env).size > 0;
161
169
  }
@@ -1 +1 @@
1
- {"version":3,"file":"registry-parties.js","sourceRoot":"","sources":["../src/registry-parties.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry-parties.js","sourceRoot":"","sources":["../src/registry-parties.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,15 @@ export interface OnboardPrepareResult {
23
23
  }
24
24
  export interface HoldingsResult {
25
25
  party: string;
26
+ /** False when the relay answered a BOUNDED read (`slice`) that may not list
27
+ * every holding of the class asked for (one instrument, the registry tokens,
28
+ * or everything): totals are then lower bounds, not balances. A current relay
29
+ * narrows the read to that class, so Canton Coin dust no longer makes a
30
+ * token read incomplete; an older one answers for the wallet as a whole.
31
+ * True for a complete read (and for a relay that predates slicing, which
32
+ * only ever answers complete or 413). Always a boolean here: holdings()
33
+ * normalizes it, so callers test it as is. */
34
+ complete: boolean;
26
35
  instruments: Array<{
27
36
  admin: string;
28
37
  id: string;
@@ -146,6 +155,20 @@ export declare const PAY_AND_CLAIM_RELAY_ROUTES: {
146
155
  readonly submitPrepare: "/v1/wallet/submit/prepare";
147
156
  readonly submitExecute: "/v1/wallet/submit/execute";
148
157
  };
158
+ /** Default per-request relay timeout. Generous on purpose — a prepare against a
159
+ * busy participant takes seconds — but finite, so a hung relay fails the
160
+ * command instead of hanging it forever. Override: CANTON_AGENT_RELAY_TIMEOUT_MS. */
161
+ export declare const DEFAULT_RELAY_TIMEOUT_MS = 120000;
162
+ /** The relay did not answer in time. `outcomeUnknown` is set for a call that
163
+ * submits to the ledger: the submission may still commit, so the caller must
164
+ * check state (balance) before doing it again — a blind retry can pay twice. */
165
+ export declare class RelayTimeoutError extends Error {
166
+ readonly method: string;
167
+ readonly path: string;
168
+ readonly timeoutMs: number;
169
+ readonly outcomeUnknown: boolean;
170
+ constructor(method: string, path: string, timeoutMs: number, outcomeUnknown: boolean);
171
+ }
149
172
  export declare class RelayHttpError extends Error {
150
173
  readonly status: number;
151
174
  /** The parsed JSON response body, or undefined when it was not JSON. */
@@ -162,9 +185,12 @@ export declare class RelayHttpError extends Error {
162
185
  export declare function isHoldingsExceedNodeLimitError(err: unknown): boolean;
163
186
  export declare class RelayClient {
164
187
  private readonly opts;
188
+ private readonly timeoutMs;
165
189
  constructor(opts: {
166
190
  relayUrl: string;
167
191
  apiKey?: string | undefined;
192
+ /** Per-request timeout; default CANTON_AGENT_RELAY_TIMEOUT_MS or 120 s. */
193
+ timeoutMs?: number;
168
194
  });
169
195
  private headers;
170
196
  private req;
@@ -245,6 +271,19 @@ export declare class RelayClient {
245
271
  holdings(party: string, instrument?: {
246
272
  admin: string;
247
273
  id: string;
274
+ },
275
+ /** `slice: true` asks for a BOUNDED read: a wallet with more holdings than
276
+ * the participant lists in one read gets part of them and
277
+ * `complete: false` instead of a 413. Use it where a prefix is enough to
278
+ * make progress (merge, picking inputs) — never as a balance.
279
+ *
280
+ * `registryOnly: true` (no `instrument`) asks for every token except
281
+ * Canton Coin (`class=registry`), so `complete` is about the tokens alone.
282
+ * A relay that predates it ignores it and lists Canton Coin too, so a
283
+ * caller still skips Canton Coin rows itself. */
284
+ opts?: {
285
+ slice?: boolean;
286
+ registryOnly?: boolean;
248
287
  }): Promise<HoldingsResult>;
249
288
  /** Merchant TransferPreapproval status (public read). `hasPreapproval:true`
250
289
  * means CC transfers to this merchant complete in ONE tx (the transfer-factory
@@ -1 +1 @@
1
- {"version":3,"file":"relay-client.d.ts","sourceRoot":"","sources":["../src/relay-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relay-client.d.ts","sourceRoot":"","sources":["../src/relay-client.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,14 @@
26
26
  export function explainRelayFailure(body) {
27
27
  // `deadline 'TransferPreapproval.expiresAt' at <ISO>` — the payee's preapproval
28
28
  // has lapsed. Nothing was charged: this fails at PREPARE, before any signature.
29
+ // The payer's holdings are too many, or too fragmented, for one transfer —
30
+ // its funds may well be there. The relay names the exact merge to run.
31
+ if (/holdings_merge_required/.test(body)) {
32
+ const cmd = /(canton-agent-wallet merge[^"\\]*)/.exec(body)?.[1]?.trim();
33
+ return (`this wallet's holdings must be consolidated before it can pay this amount ` +
34
+ `(spread over more holdings than one transfer can spend). Run: ` +
35
+ `${cmd ?? "canton-agent-wallet merge"} — then retry. Nothing was charged.`);
36
+ }
29
37
  const expired = /deadline\s+'TransferPreapproval\.expiresAt'\s+at\s+([0-9T:.+-]+Z)/.exec(body);
30
38
  if (expired) {
31
39
  return (`the PAYEE's TransferPreapproval expired at ${expired[1]} — every payment to ` +
@@ -52,6 +60,46 @@ export const PAY_AND_CLAIM_RELAY_ROUTES = {
52
60
  submitPrepare: "/v1/wallet/submit/prepare",
53
61
  submitExecute: "/v1/wallet/submit/execute",
54
62
  };
63
+ /** Relay calls that SUBMIT to the ledger. A timeout on one of these is not a
64
+ * failure: the submission may still commit, so it must not read as "retry". */
65
+ const SUBMITTING_ROUTES = [
66
+ /^\/v1\/wallet\/submit\/execute$/,
67
+ /^\/v1\/wallet\/preapproval\/self\/commit$/,
68
+ /^\/v1\/wallet\/onboard\/finalize$/,
69
+ /^\/v1\/merchants\/[^/]+\/preapproval$/,
70
+ ];
71
+ /** Default per-request relay timeout. Generous on purpose — a prepare against a
72
+ * busy participant takes seconds — but finite, so a hung relay fails the
73
+ * command instead of hanging it forever. Override: CANTON_AGENT_RELAY_TIMEOUT_MS. */
74
+ export const DEFAULT_RELAY_TIMEOUT_MS = 120_000;
75
+ /** The relay did not answer in time. `outcomeUnknown` is set for a call that
76
+ * submits to the ledger: the submission may still commit, so the caller must
77
+ * check state (balance) before doing it again — a blind retry can pay twice. */
78
+ export class RelayTimeoutError extends Error {
79
+ method;
80
+ path;
81
+ timeoutMs;
82
+ outcomeUnknown;
83
+ constructor(method, path, timeoutMs, outcomeUnknown) {
84
+ super(`relay ${method} ${path} did not answer within ${Math.round(timeoutMs / 1000)}s` +
85
+ (outcomeUnknown
86
+ ? ` — the submission may still commit: check \`canton-agent-wallet balance\` ` +
87
+ `before retrying, or you may pay twice`
88
+ : ` — the relay is unreachable or overloaded; retry later ` +
89
+ `(raise CANTON_AGENT_RELAY_TIMEOUT_MS if it is just slow)`));
90
+ this.method = method;
91
+ this.path = path;
92
+ this.timeoutMs = timeoutMs;
93
+ this.outcomeUnknown = outcomeUnknown;
94
+ this.name = "RelayTimeoutError";
95
+ }
96
+ }
97
+ function resolveRelayTimeoutMs(explicit) {
98
+ if (explicit !== undefined)
99
+ return explicit;
100
+ const env = Number(process.env.CANTON_AGENT_RELAY_TIMEOUT_MS);
101
+ return Number.isFinite(env) && env > 0 ? env : DEFAULT_RELAY_TIMEOUT_MS;
102
+ }
55
103
  export class RelayHttpError extends Error {
56
104
  status;
57
105
  body;
@@ -82,8 +130,10 @@ export function isHoldingsExceedNodeLimitError(err) {
82
130
  }
83
131
  export class RelayClient {
84
132
  opts;
133
+ timeoutMs;
85
134
  constructor(opts) {
86
135
  this.opts = opts;
136
+ this.timeoutMs = resolveRelayTimeoutMs(opts.timeoutMs);
87
137
  }
88
138
  headers() {
89
139
  const h = { "content-type": "application/json" };
@@ -93,12 +143,24 @@ export class RelayClient {
93
143
  }
94
144
  async req(method, path, body, extraHeaders) {
95
145
  const url = this.opts.relayUrl.replace(/\/$/, "") + path;
96
- const r = await fetch(url, {
97
- method,
98
- headers: { ...this.headers(), ...(extraHeaders ?? {}) },
99
- ...(body !== undefined ? { body: JSON.stringify(body) } : {}),
100
- });
101
- const text = await r.text();
146
+ const route = path.split("?")[0];
147
+ let r;
148
+ let text;
149
+ try {
150
+ r = await fetch(url, {
151
+ method,
152
+ headers: { ...this.headers(), ...(extraHeaders ?? {}) },
153
+ ...(body !== undefined ? { body: JSON.stringify(body) } : {}),
154
+ signal: AbortSignal.timeout(this.timeoutMs),
155
+ });
156
+ text = await r.text();
157
+ }
158
+ catch (err) {
159
+ if (err?.name === "TimeoutError") {
160
+ throw new RelayTimeoutError(method, route, this.timeoutMs, SUBMITTING_ROUTES.some((re) => re.test(route)));
161
+ }
162
+ throw err;
163
+ }
102
164
  let json;
103
165
  try {
104
166
  json = JSON.parse(text);
@@ -175,11 +237,29 @@ export class RelayClient {
175
237
  * the one read that sees Canton Coin AND any CIP-56 token. `/balance` only
176
238
  * ever counted Amulet, so a wallet could PAY in USDCx and not SEE it.
177
239
  * Pass `instrument` to narrow to one {admin,id}. */
178
- holdings(party, instrument) {
179
- const q = instrument
180
- ? `?admin=${encodeURIComponent(instrument.admin)}&id=${encodeURIComponent(instrument.id)}`
181
- : "";
182
- return this.req("GET", `/v1/wallet/${encodeURIComponent(party)}/holdings${q}`);
240
+ holdings(party, instrument,
241
+ /** `slice: true` asks for a BOUNDED read: a wallet with more holdings than
242
+ * the participant lists in one read gets part of them and
243
+ * `complete: false` instead of a 413. Use it where a prefix is enough to
244
+ * make progress (merge, picking inputs) — never as a balance.
245
+ *
246
+ * `registryOnly: true` (no `instrument`) asks for every token except
247
+ * Canton Coin (`class=registry`), so `complete` is about the tokens alone.
248
+ * A relay that predates it ignores it and lists Canton Coin too, so a
249
+ * caller still skips Canton Coin rows itself. */
250
+ opts = {}) {
251
+ const params = new URLSearchParams();
252
+ if (instrument) {
253
+ params.set("admin", instrument.admin);
254
+ params.set("id", instrument.id);
255
+ }
256
+ else if (opts.registryOnly) {
257
+ params.set("class", "registry");
258
+ }
259
+ if (opts.slice)
260
+ params.set("slice", "1");
261
+ const q = params.size > 0 ? `?${params.toString()}` : "";
262
+ return this.req("GET", `/v1/wallet/${encodeURIComponent(party)}/holdings${q}`).then((h) => ({ ...h, complete: h.complete !== false }));
183
263
  }
184
264
  /** Merchant TransferPreapproval status (public read). `hasPreapproval:true`
185
265
  * means CC transfers to this merchant complete in ONE tx (the transfer-factory
@@ -1 +1 @@
1
- {"version":3,"file":"relay-client.js","sourceRoot":"","sources":["../src/relay-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relay-client.js","sourceRoot":"","sources":["../src/relay-client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"relay-signer.d.ts","sourceRoot":"","sources":["../src/relay-signer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAchE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAY/D,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACrB,KAAK,GAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CACI,GACtC,OAAO,CAAC,CAAC,CAAC,CAeZ;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,EACnB,IAAI,GAAE;IACJ,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC;;;yEAGqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC;;;;OAIG;IACH,2BAA2B,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/D;;;;6EAIyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;CACnB,GACL,YAAY,CAyLd"}
1
+ {"version":3,"file":"relay-signer.d.ts","sourceRoot":"","sources":["../src/relay-signer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAchE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAY/D,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACrB,KAAK,GAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CACI,GACtC,OAAO,CAAC,CAAC,CAAC,CAeZ;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,EACnB,IAAI,GAAE;IACJ,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC;;;yEAGqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC;;;;OAIG;IACH,2BAA2B,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/D;;;;6EAIyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;CACnB,GACL,YAAY,CA4Md"}
@@ -84,6 +84,21 @@ export function makeRelaySigner(wallet, opts = {}) {
84
84
  `${instrumentKey(registryInstrument.admin, registryInstrument.id)}. ` +
85
85
  `Set maxPaymentValueByInstrument for it, or clear maxPaymentValue.`);
86
86
  }
87
+ // The mirror case. A caller that capped only some TOKENS has said nothing
88
+ // about the instrument being paid, and silence must not read as
89
+ // "uncapped": a 402 that advertises a capped token's symbol but carries a
90
+ // Canton Coin instrumentId, or that offers another payable token first,
91
+ // would otherwise be signed for any amount the merchant names.
92
+ if (capRaw === undefined &&
93
+ opts.maxPaymentValueByInstrument !== undefined &&
94
+ Object.keys(opts.maxPaymentValueByInstrument).length > 0) {
95
+ throw new Error(`refusing to sign: a spend cap is configured only for ` +
96
+ `${Object.keys(opts.maxPaymentValueByInstrument).join(", ")} and this payment is ` +
97
+ (registryInstrument === undefined
98
+ ? `in Canton Coin. Set maxPaymentValue for Canton Coin, or pay in the capped instrument.`
99
+ : `in ${instrumentKey(registryInstrument.admin, registryInstrument.id)}. ` +
100
+ `Set maxPaymentValueByInstrument for it, or pay in a capped instrument.`));
101
+ }
87
102
  if (capRaw !== undefined) {
88
103
  const want = Number(amount);
89
104
  const cap = Number(capRaw);
@@ -1 +1 @@
1
- {"version":3,"file":"relay-signer.js","sourceRoot":"","sources":["../src/relay-signer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relay-signer.js","sourceRoot":"","sources":["../src/relay-signer.ts"],"names":[],"mappings":"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"}
package/dist/swap.d.ts CHANGED
@@ -266,7 +266,8 @@ export interface SwapResult {
266
266
  delivered?: string;
267
267
  /** The window elapsed with the balance up by this much but BELOW the ticket
268
268
  * minimum — an unrelated inbound, or a partial/odd settlement. Undefined when
269
- * zero or when `delivered` is set. */
269
+ * zero or when `delivered` is set. Also set next to `deliveryUnobservable`
270
+ * when the rise was seen before the wait ended on an incomplete read. */
270
271
  partialRise?: string;
271
272
  /** True when the INPUT came back instead of the output: a CC input to a venue
272
273
  * that would not fill the trade (below its minimum) is handed back as CC —
@@ -278,6 +279,18 @@ export interface SwapResult {
278
279
  inputReturned: boolean;
279
280
  /** True when we waited but the output had not arrived by the end of the window. */
280
281
  timedOut: boolean;
282
+ /** True when the relay cannot list every holding of the OUTPUT token (the
283
+ * wallet holds more holdings of that token's registry template than the
284
+ * participant lists in one read — every DA Registry Utility token shares
285
+ * one — or an older relay counts the whole wallet), so the delivery
286
+ * — its newest holding — cannot be seen. Decided before the send (the
287
+ * output is then never polled), or by a wait whose last read was
288
+ * incomplete. The wait still runs its window, claiming offers and watching
289
+ * for a returned input. The input WAS sent; nothing is known about whether
290
+ * the output landed. Not a failure and not a timeout — `claim` picks up an
291
+ * input handed back later; check `balance` after `merge --all-tokens`, and
292
+ * never resend on this alone. */
293
+ deliveryUnobservable: boolean;
281
294
  /** Relay read/claim errors survived during the wait. NOTHING thrown after the
282
295
  * input is sent — a transient relay blip must never make a SENT swap look
283
296
  * failed (that reads as "retry me", i.e. a double-send). */
@@ -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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"}