@ftptech/canton-agent-wallet 0.4.0 → 0.4.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 +24 -0
- package/dist/cli-args.d.ts +10 -0
- package/dist/cli-args.d.ts.map +1 -1
- package/dist/cli-args.js +26 -0
- package/dist/cli-args.js.map +1 -1
- package/dist/cli.js +51 -5
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/merge.d.ts +93 -0
- package/dist/merge.d.ts.map +1 -0
- package/dist/merge.js +198 -0
- package/dist/merge.js.map +1 -0
- package/dist/relay-client.d.ts +45 -0
- package/dist/relay-client.d.ts.map +1 -1
- package/dist/relay-client.js +48 -1
- package/dist/relay-client.js.map +1 -1
- package/dist/tx.d.ts +10 -0
- package/dist/tx.d.ts.map +1 -1
- package/dist/tx.js +1 -2
- package/dist/tx.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -26,6 +26,7 @@ canton-agent-wallet create --relay-url <url> # generate + onboard a self-
|
|
|
26
26
|
canton-agent-wallet address # print the party id (fund this)
|
|
27
27
|
canton-agent-wallet balance # print CC balance
|
|
28
28
|
canton-agent-wallet claim # accept incoming transfers (e.g. the initial funding)
|
|
29
|
+
canton-agent-wallet merge [--target <n>] [--batch <n>] [--max-rounds <n>] [--dry-run] # consolidate dust amulets so a busy wallet can be enumerated + spent again
|
|
29
30
|
canton-agent-wallet merchant-onboard --facilitator <party> --synchronizer <id> # EXTERNAL-PARTY merchant: sign this wallet's once-total MerchantConsent (allocation-direct)
|
|
30
31
|
canton-agent-wallet merchant-onboard-hosted --party <merchantParty> --facilitator <party> --participant-url <url> --synchronizer <id> --user-id <id> # HOSTED-PARTY merchant: create its once-total MerchantConsent via its own node's Ledger API
|
|
31
32
|
canton-agent-wallet pay --relay-url <url> <url> # fetch a URL, auto-paying any x402 402 challenge
|
|
@@ -66,6 +67,29 @@ commands depending on where the merchant party lives:
|
|
|
66
67
|
command is idempotent: if the consent already exists it prints "already
|
|
67
68
|
onboarded" and submits nothing.
|
|
68
69
|
|
|
70
|
+
### Consolidating dust (`merge`)
|
|
71
|
+
|
|
72
|
+
Every incoming CC transfer the wallet accepts creates a **fresh Amulet contract**,
|
|
73
|
+
so a busy wallet steadily accumulates thousands of tiny "dust" amulets. Past the
|
|
74
|
+
participant's JSON-API result cap the wallet can no longer be enumerated on-ledger
|
|
75
|
+
at all — `balance` then reports it holds too many contracts, and `pay` (which
|
|
76
|
+
selects inputs from that same enumeration) stops working. `merge` fixes both by
|
|
77
|
+
self-transferring the amulets back to the wallet's own party in batches; each
|
|
78
|
+
batch collapses ~`--batch` amulets into ~2, restoring a spendable wallet:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
canton-agent-wallet merge --dry-run # show the plan (counts + batches), change nothing
|
|
82
|
+
canton-agent-wallet merge # consolidate (defaults: --batch 90, --target 2, --max-rounds 30)
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
For a wallet already too large to enumerate on-ledger, `merge` reads the holdings
|
|
86
|
+
from the public SV Scan ACS snapshot (paginated, no node cap) and does one sweep
|
|
87
|
+
over them, then finishes the tail against the live balance. It is safe to re-run:
|
|
88
|
+
each amulet is consumed at most once, and every merge transfer is a **self-transfer
|
|
89
|
+
pinned to your own party and gated by verify-before-sign** — the relay can never
|
|
90
|
+
turn a merge into an outbound payment. If a wallet is so large that one run cannot
|
|
91
|
+
finish, `merge` says so; just run it again.
|
|
92
|
+
|
|
69
93
|
On Canton, incoming CC arrives as a **pending transfer** the agent must accept,
|
|
70
94
|
so the first-run flow is:
|
|
71
95
|
`create --relay-url https://facilitator.ftptech.xyz` → tell your human to send CC to
|
package/dist/cli-args.d.ts
CHANGED
|
@@ -10,6 +10,16 @@ export declare const DEFAULT_NETWORK = "canton:testnet";
|
|
|
10
10
|
export declare const VALUE_FLAGS: ReadonlySet<string>;
|
|
11
11
|
/** First value following `--<name>` in `args`, or undefined. */
|
|
12
12
|
export declare function flag(args: readonly string[], name: string): string | undefined;
|
|
13
|
+
/** True when the boolean switch `--<name>` is present anywhere in `args` (it takes
|
|
14
|
+
* no value). Used by `merge --dry-run`. */
|
|
15
|
+
export declare function boolFlag(args: readonly string[], name: string): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Parse a positive-integer `--<name> <n>` flag. Returns undefined when the flag
|
|
18
|
+
* is absent; THROWS on a present-but-invalid value (non-integer, ≤ 0) so a
|
|
19
|
+
* fat-fingered `--batch abc` fails fast with a clear message instead of silently
|
|
20
|
+
* falling back to a default. Pure (no process.exit) so it is unit-testable.
|
|
21
|
+
*/
|
|
22
|
+
export declare function intFlag(args: readonly string[], name: string): number | undefined;
|
|
13
23
|
/**
|
|
14
24
|
* Positional args with any known `--flag <value>` pairs removed, so a command
|
|
15
25
|
* can read its positional (e.g. `pay <url>`) regardless of where the flags
|
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,CAqB1C,CAAC;AAEH,gEAAgE;AAChE,wBAAgB,IAAI,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG9E;AAED;4CAC4C;AAC5C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvE;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"}
|
package/dist/cli-args.js
CHANGED
|
@@ -17,6 +17,11 @@ export const VALUE_FLAGS = new Set([
|
|
|
17
17
|
"--key-file",
|
|
18
18
|
"--facilitator",
|
|
19
19
|
"--synchronizer",
|
|
20
|
+
// merge: consolidate dust amulets. `--dry-run` is a BOOLEAN flag (no value), so
|
|
21
|
+
// it is intentionally NOT listed here — only the value-taking merge flags are.
|
|
22
|
+
"--target",
|
|
23
|
+
"--batch",
|
|
24
|
+
"--max-rounds",
|
|
20
25
|
// merchant-onboard-hosted (hosted-party merchant onboards via its OWN node's
|
|
21
26
|
// Ledger API — no wallet, no relay): node connection flags. Secrets are NEVER
|
|
22
27
|
// accepted as flags (OIDC config comes from env only), so none appear here.
|
|
@@ -29,6 +34,27 @@ export function flag(args, name) {
|
|
|
29
34
|
const i = args.indexOf(name);
|
|
30
35
|
return i >= 0 && i + 1 < args.length ? args[i + 1] : undefined;
|
|
31
36
|
}
|
|
37
|
+
/** True when the boolean switch `--<name>` is present anywhere in `args` (it takes
|
|
38
|
+
* no value). Used by `merge --dry-run`. */
|
|
39
|
+
export function boolFlag(args, name) {
|
|
40
|
+
return args.includes(name);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Parse a positive-integer `--<name> <n>` flag. Returns undefined when the flag
|
|
44
|
+
* is absent; THROWS on a present-but-invalid value (non-integer, ≤ 0) so a
|
|
45
|
+
* fat-fingered `--batch abc` fails fast with a clear message instead of silently
|
|
46
|
+
* falling back to a default. Pure (no process.exit) so it is unit-testable.
|
|
47
|
+
*/
|
|
48
|
+
export function intFlag(args, name) {
|
|
49
|
+
const raw = flag(args, name);
|
|
50
|
+
if (raw === undefined)
|
|
51
|
+
return undefined;
|
|
52
|
+
const n = Number(raw);
|
|
53
|
+
if (!Number.isInteger(n) || n <= 0) {
|
|
54
|
+
throw new Error(`${name} must be a positive integer (got ${JSON.stringify(raw)})`);
|
|
55
|
+
}
|
|
56
|
+
return n;
|
|
57
|
+
}
|
|
32
58
|
/**
|
|
33
59
|
* Positional args with any known `--flag <value>` pairs removed, so a command
|
|
34
60
|
* can read its positional (e.g. `pay <url>`) regardless of where the flags
|
package/dist/cli-args.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-args.js","sourceRoot":"","sources":["../src/cli-args.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAEhD,8EAA8E;AAC9E,MAAM,CAAC,MAAM,WAAW,GAAwB,IAAI,GAAG,CAAC;IACtD,aAAa;IACb,WAAW;IACX,MAAM;IACN,UAAU;IACV,kBAAkB;IAClB,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,gBAAgB;IAChB,6EAA6E;IAC7E,8EAA8E;IAC9E,4EAA4E;IAC5E,SAAS;IACT,mBAAmB;IACnB,WAAW;CACZ,CAAC,CAAC;AAEH,gEAAgE;AAChE,MAAM,UAAU,IAAI,CAAC,IAAuB,EAAE,IAAY;IACxD,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,IAAuB;IACjD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAW,CAAC;QAC5B,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAyB;YACjC,SAAS;QACX,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACd,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAuB,EACvB,MAAyB,OAAO,CAAC,GAAG;IAEpC,OAAO,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,GAAG,CAAC,sBAAsB,IAAI,SAAS,CAAC;AAC9E,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,cAAc,CAC5B,IAAuB,EACvB,MAAyB,OAAO,CAAC,GAAG;IAEpC,OAAO,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,GAAG,CAAC,oBAAoB,IAAI,eAAe,CAAC;AAChF,CAAC;AAED,iEAAiE;AACjE,MAAM,CAAC,MAAM,kBAAkB,GAC7B,wEAAwE;IACxE,+EAA+E,CAAC"}
|
|
1
|
+
{"version":3,"file":"cli-args.js","sourceRoot":"","sources":["../src/cli-args.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAEhD,8EAA8E;AAC9E,MAAM,CAAC,MAAM,WAAW,GAAwB,IAAI,GAAG,CAAC;IACtD,aAAa;IACb,WAAW;IACX,MAAM;IACN,UAAU;IACV,kBAAkB;IAClB,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,gBAAgB;IAChB,gFAAgF;IAChF,+EAA+E;IAC/E,UAAU;IACV,SAAS;IACT,cAAc;IACd,6EAA6E;IAC7E,8EAA8E;IAC9E,4EAA4E;IAC5E,SAAS;IACT,mBAAmB;IACnB,WAAW;CACZ,CAAC,CAAC;AAEH,gEAAgE;AAChE,MAAM,UAAU,IAAI,CAAC,IAAuB,EAAE,IAAY;IACxD,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC;AAED;4CAC4C;AAC5C,MAAM,UAAU,QAAQ,CAAC,IAAuB,EAAE,IAAY;IAC5D,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CACrB,IAAuB,EACvB,IAAY;IAEZ,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7B,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,oCAAoC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,IAAuB;IACjD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAW,CAAC;QAC5B,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAyB;YACjC,SAAS;QACX,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACd,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAuB,EACvB,MAAyB,OAAO,CAAC,GAAG;IAEpC,OAAO,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,GAAG,CAAC,sBAAsB,IAAI,SAAS,CAAC;AAC9E,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,cAAc,CAC5B,IAAuB,EACvB,MAAyB,OAAO,CAAC,GAAG;IAEpC,OAAO,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,GAAG,CAAC,oBAAoB,IAAI,eAAe,CAAC;AAChF,CAAC;AAED,iEAAiE;AACjE,MAAM,CAAC,MAAM,kBAAkB,GAC7B,wEAAwE;IACxE,+EAA+E,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -6,6 +6,10 @@
|
|
|
6
6
|
* address print the party id (fund this)
|
|
7
7
|
* balance print CC balance
|
|
8
8
|
* claim accept incoming transfers (e.g. the initial funding)
|
|
9
|
+
* merge [--target <n>] [--batch <n>] [--max-rounds <n>] [--dry-run]
|
|
10
|
+
* consolidate dust amulets (self-transfer in batches)
|
|
11
|
+
* so a wallet with thousands of holdings can be
|
|
12
|
+
* enumerated + spent again. --dry-run prints the plan.
|
|
9
13
|
* reclaim --allocation-cid <c> [--receiver <merchantParty>]
|
|
10
14
|
* reclaim a locked allocation back to this wallet
|
|
11
15
|
* (Allocation_Withdraw; funds return to the sender).
|
|
@@ -50,12 +54,13 @@ import { ensureWallet } from "./onboard.js";
|
|
|
50
54
|
import { loadWallet } from "./store.js";
|
|
51
55
|
import { agentKeyFromPrivatePem } from "./keys.js";
|
|
52
56
|
import { makePayingFetch } from "./pay.js";
|
|
53
|
-
import { RelayClient } from "./relay-client.js";
|
|
57
|
+
import { RelayClient, isHoldingsExceedNodeLimitError } from "./relay-client.js";
|
|
54
58
|
import { claimAll, reclaimAllocation, createMerchantConsent } from "./tx.js";
|
|
59
|
+
import { mergeHoldings } from "./merge.js";
|
|
55
60
|
import { createMerchantConsentHosted } from "./hosted-onboard.js";
|
|
56
61
|
import { withdraw } from "./withdraw.js";
|
|
57
62
|
import { installProxyFromEnv } from "./proxy.js";
|
|
58
|
-
import { flag, positionals, resolveNetwork, resolveRelayUrl, MISSING_RELAY_HELP, } from "./cli-args.js";
|
|
63
|
+
import { flag, boolFlag, intFlag, positionals, resolveNetwork, resolveRelayUrl, MISSING_RELAY_HELP, } from "./cli-args.js";
|
|
59
64
|
const API_KEY = process.env.CANTON_AGENT_API_KEY;
|
|
60
65
|
function fail(msg) {
|
|
61
66
|
console.error(msg);
|
|
@@ -108,8 +113,49 @@ async function main() {
|
|
|
108
113
|
const w = loadWallet();
|
|
109
114
|
if (!w)
|
|
110
115
|
return fail("no wallet yet — run: canton-agent-wallet create");
|
|
111
|
-
|
|
112
|
-
|
|
116
|
+
try {
|
|
117
|
+
const b = await new RelayClient({ relayUrl: w.relayUrl, apiKey: API_KEY }).balance(w.party);
|
|
118
|
+
console.log(`${b.cc} CC (${b.amulet} holding${b.amulet === 1 ? "" : "s"})`);
|
|
119
|
+
}
|
|
120
|
+
catch (err) {
|
|
121
|
+
// A whale wallet holds more amulet contracts than the participant's
|
|
122
|
+
// JSON-API element cap can enumerate — balance 413s. Print an actionable
|
|
123
|
+
// next step (consolidate) instead of a raw relay-error stack.
|
|
124
|
+
if (isHoldingsExceedNodeLimitError(err)) {
|
|
125
|
+
return fail("balance unavailable: this wallet holds too many amulet contracts to " +
|
|
126
|
+
"enumerate on-ledger (the participant's element cap). Consolidate them " +
|
|
127
|
+
"first with: canton-agent-wallet merge");
|
|
128
|
+
}
|
|
129
|
+
throw err;
|
|
130
|
+
}
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
133
|
+
case "merge": {
|
|
134
|
+
// Consolidate dust amulets by self-transferring them in batches (receiver ==
|
|
135
|
+
// this wallet, enforced by verify-before-sign). Restores `balance`/`pay` for
|
|
136
|
+
// a wallet whose amulet count outgrew the participant's ACS element cap.
|
|
137
|
+
const w = loadWallet();
|
|
138
|
+
if (!w)
|
|
139
|
+
return fail("no wallet yet — run: canton-agent-wallet create");
|
|
140
|
+
const target = intFlag(args, "--target");
|
|
141
|
+
const batch = intFlag(args, "--batch");
|
|
142
|
+
const maxRounds = intFlag(args, "--max-rounds");
|
|
143
|
+
const dryRun = boolFlag(args, "--dry-run");
|
|
144
|
+
const relay = new RelayClient({ relayUrl: w.relayUrl, apiKey: API_KEY });
|
|
145
|
+
const res = await mergeHoldings(relay, w, {
|
|
146
|
+
...(target !== undefined ? { target } : {}),
|
|
147
|
+
...(batch !== undefined ? { batch } : {}),
|
|
148
|
+
...(maxRounds !== undefined ? { maxRounds } : {}),
|
|
149
|
+
dryRun,
|
|
150
|
+
onProgress: (line) => console.log(line),
|
|
151
|
+
});
|
|
152
|
+
if (!dryRun) {
|
|
153
|
+
console.log(`merge complete: ${res.rounds} batch transfer(s), ` +
|
|
154
|
+
`${res.merged.length} amulet(s) consumed` +
|
|
155
|
+
(res.finalHoldings === null
|
|
156
|
+
? " (still large — run `merge` again to continue)"
|
|
157
|
+
: ` → ${res.finalHoldings} holding(s) remain`));
|
|
158
|
+
}
|
|
113
159
|
break;
|
|
114
160
|
}
|
|
115
161
|
case "claim": {
|
|
@@ -284,7 +330,7 @@ async function main() {
|
|
|
284
330
|
break;
|
|
285
331
|
}
|
|
286
332
|
default:
|
|
287
|
-
console.error("canton-agent-wallet: create | address | balance | claim | reclaim --allocation-cid <cid> [--receiver <merchantParty>] | merchant-onboard --facilitator <party> --synchronizer <id> | merchant-onboard-hosted --party <merchantParty> --facilitator <party> --participant-url <url> --synchronizer <id> --user-id <id> | pay <url> | withdraw --to <party> | export | import\n" +
|
|
333
|
+
console.error("canton-agent-wallet: create | address | balance | claim | merge [--target <n>] [--batch <n>] [--max-rounds <n>] [--dry-run] | reclaim --allocation-cid <cid> [--receiver <merchantParty>] | merchant-onboard --facilitator <party> --synchronizer <id> | merchant-onboard-hosted --party <merchantParty> --facilitator <party> --participant-url <url> --synchronizer <id> --user-id <id> | pay <url> | withdraw --to <party> | export | import\n" +
|
|
288
334
|
" relay required for create/pay/import: --relay-url <url> or CANTON_AGENT_RELAY_URL\n" +
|
|
289
335
|
" merchant-onboard = EXTERNAL-PARTY merchant (this Ed25519 wallet, via the relay).\n" +
|
|
290
336
|
" merchant-onboard-hosted = HOSTED-PARTY merchant (party on its OWN Canton node, via that node's Ledger API; OIDC config from env: OIDC_TOKEN_ENDPOINT/OIDC_CLIENT_ID/OIDC_CLIENT_SECRET/LEDGER_API_AUDIENCE/[OIDC_SCOPE]).");
|
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/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EACL,6BAA6B,EAC7B,kCAAkC,EAClC,iBAAiB,EACjB,gCAAgC,EAChC,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,6BAA6B,EAC7B,4BAA4B,EAC5B,+BAA+B,EAC/B,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAChC,KAAK,gCAAgC,EACrC,KAAK,6BAA6B,GACnC,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EACL,6BAA6B,EAC7B,kCAAkC,EAClC,iBAAiB,EACjB,gCAAgC,EAChC,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,6BAA6B,EAC7B,4BAA4B,EAC5B,+BAA+B,EAC/B,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAChC,KAAK,gCAAgC,EACrC,KAAK,6BAA6B,GACnC,MAAM,sBAAsB,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EACL,6BAA6B,EAC7B,kCAAkC,EAClC,iBAAiB,EACjB,gCAAgC,EAChC,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,6BAA6B,EAC7B,4BAA4B,EAC5B,+BAA+B,GAKhC,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EACL,6BAA6B,EAC7B,kCAAkC,EAClC,iBAAiB,EACjB,gCAAgC,EAChC,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,6BAA6B,EAC7B,4BAA4B,EAC5B,+BAA+B,GAKhC,MAAM,sBAAsB,CAAC"}
|
package/dist/merge.d.ts
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Amulet merge / consolidate — collapse a wallet's dust Amulet UTXOs into a
|
|
3
|
+
* couple of holdings by self-transferring them in batches.
|
|
4
|
+
*
|
|
5
|
+
* WHY: every accepted incoming Canton transfer creates a fresh Amulet contract,
|
|
6
|
+
* so an active wallet accumulates thousands of dust amulets. The participant's
|
|
7
|
+
* JSON API caps /v2/state/active-contracts result size, so past that cap the
|
|
8
|
+
* wallet can no longer even be ENUMERATED through the ledger (balance → 413
|
|
9
|
+
* holdings_exceed_node_limit) and therefore can no longer PAY (the pay path
|
|
10
|
+
* selects inputHoldingCids from that same enumeration). Merging restores both.
|
|
11
|
+
*
|
|
12
|
+
* HOW: each batch executes ONE self-transfer (sender = receiver = the wallet's
|
|
13
|
+
* OWN party) of 1 atomic ("0.0000000001") consuming the whole batch as inputs.
|
|
14
|
+
* The TransferFactory returns everything else as ONE change amulet to the sender,
|
|
15
|
+
* so a batch of N dust amulets collapses to ~2 amulets. Using 1 atomic sidesteps
|
|
16
|
+
* ALL fee math (the change amulet absorbs the remainder).
|
|
17
|
+
*
|
|
18
|
+
* The transfer itself reuses the EXISTING outbound `transfer()` machinery — same
|
|
19
|
+
* relay resolve → build → verify-before-sign → local sign → relay execute — so
|
|
20
|
+
* there is no second signing path to audit. mergeHoldings only orchestrates
|
|
21
|
+
* batching + the whale-wallet enumeration fallback.
|
|
22
|
+
*
|
|
23
|
+
* SECURITY INVARIANT (non-negotiable): every merge transfer pins
|
|
24
|
+
* `receiver === wallet.party` BEFORE signing, and the verify-before-sign arm
|
|
25
|
+
* (`assertPreparedTransferMatches`, via `transfer()`'s `kind:"cip56"` spec, which
|
|
26
|
+
* pins `expect.receiver`) refuses to sign unless the prepared tx's receiver
|
|
27
|
+
* equals it. A compromised relay therefore cannot turn a "merge" into an outbound
|
|
28
|
+
* drain — the self-transfer receiver is caller intent, never the relay's value.
|
|
29
|
+
*/
|
|
30
|
+
import { transfer } from "./tx.js";
|
|
31
|
+
import { type RelayClient } from "./relay-client.js";
|
|
32
|
+
import type { AgentWallet } from "./store.js";
|
|
33
|
+
import type { HashBindingOptions } from "./verify-prepared.js";
|
|
34
|
+
export interface MergeOptions {
|
|
35
|
+
/** Stop once the LIVE holding count is at or below this (default 2 — the two
|
|
36
|
+
* amulets a single self-transfer already collapses a batch into). */
|
|
37
|
+
target?: number;
|
|
38
|
+
/** Input amulets consumed per self-transfer (default 90). Bounded well under
|
|
39
|
+
* the participant's per-tx input limit; each batch → ~2 amulets. */
|
|
40
|
+
batch?: number;
|
|
41
|
+
/** Max live-phase rounds after the whale pass (default 30). A hard stop so a
|
|
42
|
+
* pathological wallet can never loop unbounded. */
|
|
43
|
+
maxRounds?: number;
|
|
44
|
+
/** Enumerate + report the plan only; execute NO transfers. */
|
|
45
|
+
dryRun?: boolean;
|
|
46
|
+
/** Hash-binding policy for the self-transfers; defaults to the env-resolved
|
|
47
|
+
* binding (real V2 recompute unless CANTON_AGENT_TRUST_RELAY_HASH). */
|
|
48
|
+
hashBinding?: HashBindingOptions;
|
|
49
|
+
/** Independently-trusted Amulet DSO (instrument admin) to pin on each transfer,
|
|
50
|
+
* exactly like `withdraw`. Defaults to CANTON_AGENT_DSO_PARTY / the network
|
|
51
|
+
* constant; without it a self-transfer carrying the DSO in its consequences
|
|
52
|
+
* fails closed (see trusted-dso.ts). */
|
|
53
|
+
instrumentAdmin?: string;
|
|
54
|
+
/** @internal Injected transfer executor (defaults to the real `transfer`). Lets
|
|
55
|
+
* unit tests mock the outbound seam and assert receiver === wallet.party on
|
|
56
|
+
* every call without stubbing the whole relay/prepare/sign chain. */
|
|
57
|
+
transferFn?: typeof transfer;
|
|
58
|
+
/** @internal Progress sink (defaults to no-op). The CLI passes a logger. */
|
|
59
|
+
onProgress?: (line: string) => void;
|
|
60
|
+
}
|
|
61
|
+
export interface MergeResult {
|
|
62
|
+
/** Number of batch self-transfers that were EXECUTED (0 for a dry run). */
|
|
63
|
+
rounds: number;
|
|
64
|
+
/** Every input amulet cid consumed across all executed batches. */
|
|
65
|
+
merged: string[];
|
|
66
|
+
/** The updateId of each executed batch self-transfer. */
|
|
67
|
+
updateIds: string[];
|
|
68
|
+
/** The final LIVE holding count, or null when the wallet still 413s on balance
|
|
69
|
+
* (i.e. it is STILL a whale — extremely large; another `merge` run continues). */
|
|
70
|
+
finalHoldings: number | null;
|
|
71
|
+
/** True when enumeration used the Scan-snapshot whale path (balance 413'd). */
|
|
72
|
+
usedScan: boolean;
|
|
73
|
+
/** For a dry run: the planned batch count over the enumerated holdings. */
|
|
74
|
+
plannedBatches?: number;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Consolidate the wallet's dust Amulet holdings.
|
|
78
|
+
*
|
|
79
|
+
* Phases:
|
|
80
|
+
* 1. ENUMERATE — `balance` if it works, else the Scan snapshot (whale).
|
|
81
|
+
* 2. WHALE PASS (only when enumeration used Scan) — ONE pass over the snapshot
|
|
82
|
+
* list in batches of `batch`; each batch is one self-transfer. The snapshot
|
|
83
|
+
* lags but is safe here: an idle wallet's amulets don't move and each cid is
|
|
84
|
+
* consumed at most once. A batch that fails on a stale/archived input cid is
|
|
85
|
+
* SKIPPED (logged) and the pass continues; any other failure aborts.
|
|
86
|
+
* 3. LIVE PHASE — loop reading the LIVE `balance`; stop when holdings ≤ target
|
|
87
|
+
* or `maxRounds` is hit; otherwise self-transfer the next `batch` of live
|
|
88
|
+
* cids. (Small wallets go straight here — step 2 is skipped.)
|
|
89
|
+
*
|
|
90
|
+
* Every self-transfer pins receiver = wallet.party (verify-before-sign enforced).
|
|
91
|
+
*/
|
|
92
|
+
export declare function mergeHoldings(relay: RelayClient, wallet: AgentWallet, opts?: MergeOptions): Promise<MergeResult>;
|
|
93
|
+
//# sourceMappingURL=merge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../src/merge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAI9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAQ/D,MAAM,WAAW,YAAY;IAC3B;0EACsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;yEACqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;wDACoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;4EACwE;IACxE,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC;;;6CAGyC;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;0EAEsE;IACtE,UAAU,CAAC,EAAE,OAAO,QAAQ,CAAC;IAC7B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,yDAAyD;IACzD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB;uFACmF;IACnF,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,EAAE,OAAO,CAAC;IAClB,2EAA2E;IAC3E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA2BD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,WAAW,EACnB,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC,WAAW,CAAC,CAuItB"}
|
package/dist/merge.js
ADDED
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Amulet merge / consolidate — collapse a wallet's dust Amulet UTXOs into a
|
|
3
|
+
* couple of holdings by self-transferring them in batches.
|
|
4
|
+
*
|
|
5
|
+
* WHY: every accepted incoming Canton transfer creates a fresh Amulet contract,
|
|
6
|
+
* so an active wallet accumulates thousands of dust amulets. The participant's
|
|
7
|
+
* JSON API caps /v2/state/active-contracts result size, so past that cap the
|
|
8
|
+
* wallet can no longer even be ENUMERATED through the ledger (balance → 413
|
|
9
|
+
* holdings_exceed_node_limit) and therefore can no longer PAY (the pay path
|
|
10
|
+
* selects inputHoldingCids from that same enumeration). Merging restores both.
|
|
11
|
+
*
|
|
12
|
+
* HOW: each batch executes ONE self-transfer (sender = receiver = the wallet's
|
|
13
|
+
* OWN party) of 1 atomic ("0.0000000001") consuming the whole batch as inputs.
|
|
14
|
+
* The TransferFactory returns everything else as ONE change amulet to the sender,
|
|
15
|
+
* so a batch of N dust amulets collapses to ~2 amulets. Using 1 atomic sidesteps
|
|
16
|
+
* ALL fee math (the change amulet absorbs the remainder).
|
|
17
|
+
*
|
|
18
|
+
* The transfer itself reuses the EXISTING outbound `transfer()` machinery — same
|
|
19
|
+
* relay resolve → build → verify-before-sign → local sign → relay execute — so
|
|
20
|
+
* there is no second signing path to audit. mergeHoldings only orchestrates
|
|
21
|
+
* batching + the whale-wallet enumeration fallback.
|
|
22
|
+
*
|
|
23
|
+
* SECURITY INVARIANT (non-negotiable): every merge transfer pins
|
|
24
|
+
* `receiver === wallet.party` BEFORE signing, and the verify-before-sign arm
|
|
25
|
+
* (`assertPreparedTransferMatches`, via `transfer()`'s `kind:"cip56"` spec, which
|
|
26
|
+
* pins `expect.receiver`) refuses to sign unless the prepared tx's receiver
|
|
27
|
+
* equals it. A compromised relay therefore cannot turn a "merge" into an outbound
|
|
28
|
+
* drain — the self-transfer receiver is caller intent, never the relay's value.
|
|
29
|
+
*/
|
|
30
|
+
import { transfer } from "./tx.js";
|
|
31
|
+
import { isHoldingsExceedNodeLimitError, } from "./relay-client.js";
|
|
32
|
+
import { resolveHashBinding } from "./hash-binding.js";
|
|
33
|
+
import { resolveTrustedDsoParty } from "./trusted-dso.js";
|
|
34
|
+
import { isStaleInputHoldingError } from "./tx.js";
|
|
35
|
+
/** 1 atomic Amulet, as a ledger Decimal. The self-transfer moves this token
|
|
36
|
+
* amount and the factory returns the rest as ONE change amulet — so the amount
|
|
37
|
+
* never needs to cover fees, and the exact per-batch amount is irrelevant to the
|
|
38
|
+
* consolidation. Kept a named constant because the "why 1 atomic" is load-bearing. */
|
|
39
|
+
const ONE_ATOMIC = "0.0000000001";
|
|
40
|
+
/** Split `cids` into consecutive chunks of at most `size`. */
|
|
41
|
+
function chunk(cids, size) {
|
|
42
|
+
const out = [];
|
|
43
|
+
for (let i = 0; i < cids.length; i += size)
|
|
44
|
+
out.push(cids.slice(i, i + size));
|
|
45
|
+
return out;
|
|
46
|
+
}
|
|
47
|
+
/** Enumerate the wallet's Amulet holding cids. Tries the ledger (`balance`)
|
|
48
|
+
* first; on the discriminated 413 holdings_exceed_node_limit falls back to the
|
|
49
|
+
* PUBLIC Scan snapshot (whale path). Returns the cids + whether Scan was used. */
|
|
50
|
+
async function enumerateHoldingCids(relay, party) {
|
|
51
|
+
try {
|
|
52
|
+
const bal = await relay.balance(party);
|
|
53
|
+
return { cids: bal.holdings.map((h) => h.cid), usedScan: false };
|
|
54
|
+
}
|
|
55
|
+
catch (err) {
|
|
56
|
+
if (!isHoldingsExceedNodeLimitError(err))
|
|
57
|
+
throw err;
|
|
58
|
+
// Whale: the ledger can't enumerate this party — read the snapshot instead.
|
|
59
|
+
const scan = await relay.holdingsScan(party);
|
|
60
|
+
return { cids: scan.holdings.map((h) => h.cid), usedScan: true };
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Consolidate the wallet's dust Amulet holdings.
|
|
65
|
+
*
|
|
66
|
+
* Phases:
|
|
67
|
+
* 1. ENUMERATE — `balance` if it works, else the Scan snapshot (whale).
|
|
68
|
+
* 2. WHALE PASS (only when enumeration used Scan) — ONE pass over the snapshot
|
|
69
|
+
* list in batches of `batch`; each batch is one self-transfer. The snapshot
|
|
70
|
+
* lags but is safe here: an idle wallet's amulets don't move and each cid is
|
|
71
|
+
* consumed at most once. A batch that fails on a stale/archived input cid is
|
|
72
|
+
* SKIPPED (logged) and the pass continues; any other failure aborts.
|
|
73
|
+
* 3. LIVE PHASE — loop reading the LIVE `balance`; stop when holdings ≤ target
|
|
74
|
+
* or `maxRounds` is hit; otherwise self-transfer the next `batch` of live
|
|
75
|
+
* cids. (Small wallets go straight here — step 2 is skipped.)
|
|
76
|
+
*
|
|
77
|
+
* Every self-transfer pins receiver = wallet.party (verify-before-sign enforced).
|
|
78
|
+
*/
|
|
79
|
+
export async function mergeHoldings(relay, wallet, opts = {}) {
|
|
80
|
+
const target = opts.target ?? 2;
|
|
81
|
+
const batchSize = opts.batch ?? 90;
|
|
82
|
+
const maxRounds = opts.maxRounds ?? 30;
|
|
83
|
+
const doTransfer = opts.transferFn ?? transfer;
|
|
84
|
+
const log = opts.onProgress ?? (() => { });
|
|
85
|
+
const hashBinding = opts.hashBinding ?? resolveHashBinding();
|
|
86
|
+
const instrumentAdmin = opts.instrumentAdmin ?? resolveTrustedDsoParty(process.env, wallet.network);
|
|
87
|
+
// One self-transfer of a single batch. receiver === wallet.party is the merge
|
|
88
|
+
// security invariant — pinned here (caller intent) and re-checked by
|
|
89
|
+
// verify-before-sign inside `transfer` before it signs.
|
|
90
|
+
const mergeBatch = (cids) => doTransfer(relay, wallet, {
|
|
91
|
+
receiver: wallet.party, // SELF-transfer — the non-negotiable invariant.
|
|
92
|
+
amount: ONE_ATOMIC, // 1 atomic; the change amulet absorbs the rest (no fee math).
|
|
93
|
+
inputHoldingCids: cids,
|
|
94
|
+
hashBinding,
|
|
95
|
+
...(instrumentAdmin !== undefined ? { expectInstrumentAdmin: instrumentAdmin } : {}),
|
|
96
|
+
});
|
|
97
|
+
const { cids: initialCids, usedScan } = await enumerateHoldingCids(relay, wallet.party);
|
|
98
|
+
// ── Dry run: report the plan, execute nothing. ──
|
|
99
|
+
if (opts.dryRun) {
|
|
100
|
+
const plannedBatches = Math.ceil(initialCids.length / batchSize);
|
|
101
|
+
log(`dry run: ${initialCids.length} holding(s)` +
|
|
102
|
+
`${usedScan ? " (via Scan snapshot — wallet too large to enumerate on-ledger)" : ""}` +
|
|
103
|
+
` → ${plannedBatches} batch(es) of up to ${batchSize} → target ${target}. ` +
|
|
104
|
+
`Nothing executed.`);
|
|
105
|
+
return {
|
|
106
|
+
rounds: 0,
|
|
107
|
+
merged: [],
|
|
108
|
+
updateIds: [],
|
|
109
|
+
finalHoldings: usedScan ? null : initialCids.length,
|
|
110
|
+
usedScan,
|
|
111
|
+
plannedBatches,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
const merged = [];
|
|
115
|
+
const updateIds = [];
|
|
116
|
+
let rounds = 0;
|
|
117
|
+
// ── Phase 2: whale pass over the snapshot list (only when Scan was needed). ──
|
|
118
|
+
// A single pass is enough: each batch collapses ~batch dust amulets to ~2, so
|
|
119
|
+
// one sweep drops the count by orders of magnitude; the live phase then finishes
|
|
120
|
+
// the tail against the now-enumerable ledger.
|
|
121
|
+
if (usedScan) {
|
|
122
|
+
const batches = chunk(initialCids, batchSize);
|
|
123
|
+
log(`whale pass: ${initialCids.length} holdings (Scan snapshot) → ${batches.length} batch(es) of up to ${batchSize}.`);
|
|
124
|
+
for (let i = 0; i < batches.length; i++) {
|
|
125
|
+
const b = batches[i];
|
|
126
|
+
try {
|
|
127
|
+
const updateId = await mergeBatch(b);
|
|
128
|
+
rounds++;
|
|
129
|
+
merged.push(...b);
|
|
130
|
+
updateIds.push(updateId);
|
|
131
|
+
log(` whale batch ${i + 1}/${batches.length}: merged ${b.length} → updateId ${updateId}`);
|
|
132
|
+
}
|
|
133
|
+
catch (err) {
|
|
134
|
+
// A stale/archived input cid is expected on the lagging snapshot (the
|
|
135
|
+
// amulet was already consumed) — SKIP that batch and keep going. Any other
|
|
136
|
+
// failure is real: abort with a clear message.
|
|
137
|
+
if (isStaleInputHoldingError(err)) {
|
|
138
|
+
log(` whale batch ${i + 1}/${batches.length}: skipped (stale/archived input cid)`);
|
|
139
|
+
continue;
|
|
140
|
+
}
|
|
141
|
+
throw new Error(`merge aborted during whale batch ${i + 1}/${batches.length}: ` +
|
|
142
|
+
(err instanceof Error ? err.message : String(err)));
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
// ── Phase 3: live phase — batch from the LIVE balance until ≤ target. ──
|
|
147
|
+
// `maxRounds` bounds ONLY this phase (its own counter), so a large whale pass
|
|
148
|
+
// never starves the tail cleanup. Each iteration reads the LIVE balance: it is
|
|
149
|
+
// the stop condition AND the source of the next batch, so a batch's own 2 output
|
|
150
|
+
// amulets are naturally re-read next round. The NON-whale first iteration reuses
|
|
151
|
+
// the enumeration already read above (`prefetched`) rather than reading balance
|
|
152
|
+
// twice; the whale path leaves it undefined so the loop reads the post-pass state.
|
|
153
|
+
let finalHoldings = null;
|
|
154
|
+
let liveRoundCount = 0;
|
|
155
|
+
let prefetched = usedScan ? undefined : initialCids;
|
|
156
|
+
for (;;) {
|
|
157
|
+
let liveCids;
|
|
158
|
+
if (prefetched !== undefined) {
|
|
159
|
+
liveCids = prefetched;
|
|
160
|
+
prefetched = undefined;
|
|
161
|
+
finalHoldings = liveCids.length;
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
try {
|
|
165
|
+
const bal = await relay.balance(wallet.party);
|
|
166
|
+
liveCids = bal.holdings.map((h) => h.cid);
|
|
167
|
+
finalHoldings = liveCids.length;
|
|
168
|
+
}
|
|
169
|
+
catch (err) {
|
|
170
|
+
if (isHoldingsExceedNodeLimitError(err)) {
|
|
171
|
+
// Still a whale after the pass (extremely large). Report null so the
|
|
172
|
+
// caller knows another run continues; stop here to stay bounded.
|
|
173
|
+
finalHoldings = null;
|
|
174
|
+
log("still too many holdings to enumerate on-ledger — run `merge` again to continue consolidating.");
|
|
175
|
+
break;
|
|
176
|
+
}
|
|
177
|
+
throw err;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
if (liveCids.length <= target) {
|
|
181
|
+
log(`done: ${liveCids.length} holding(s) ≤ target ${target}.`);
|
|
182
|
+
break;
|
|
183
|
+
}
|
|
184
|
+
if (liveRoundCount >= maxRounds) {
|
|
185
|
+
log(`reached maxRounds (${maxRounds}); ${liveCids.length} holding(s) remain.`);
|
|
186
|
+
break;
|
|
187
|
+
}
|
|
188
|
+
const b = liveCids.slice(0, batchSize);
|
|
189
|
+
const updateId = await mergeBatch(b);
|
|
190
|
+
rounds++;
|
|
191
|
+
liveRoundCount++;
|
|
192
|
+
merged.push(...b);
|
|
193
|
+
updateIds.push(updateId);
|
|
194
|
+
log(` live round ${liveRoundCount}: merged ${b.length} → updateId ${updateId}`);
|
|
195
|
+
}
|
|
196
|
+
return { rounds, merged, updateIds, finalHoldings, usedScan };
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=merge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../src/merge.ts"],"names":[],"mappings":"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"}
|
package/dist/relay-client.d.ts
CHANGED
|
@@ -30,6 +30,22 @@ export interface BalanceResult {
|
|
|
30
30
|
amount: string;
|
|
31
31
|
}>;
|
|
32
32
|
}
|
|
33
|
+
/** Amulet holdings enumerated from the PUBLIC SV Scan ACS snapshot (paginated,
|
|
34
|
+
* no participant node cap). The WHALE path for `merge`: used when /balance 413s
|
|
35
|
+
* (holdings_exceed_node_limit). `recordTime` is the snapshot time — it LAGS the
|
|
36
|
+
* ledger by hours, which is fine for merge (an idle wallet's amulets don't move
|
|
37
|
+
* and each cid is consumed at most once). `complete` is false when the relay
|
|
38
|
+
* page-capped and the list is only a prefix. */
|
|
39
|
+
export interface HoldingsScanResult {
|
|
40
|
+
party: string;
|
|
41
|
+
source: string;
|
|
42
|
+
recordTime: string;
|
|
43
|
+
holdings: Array<{
|
|
44
|
+
cid: string;
|
|
45
|
+
amount: string;
|
|
46
|
+
}>;
|
|
47
|
+
complete: boolean;
|
|
48
|
+
}
|
|
33
49
|
export interface ResolveFactoryResult {
|
|
34
50
|
factoryId: string;
|
|
35
51
|
transferKind: string;
|
|
@@ -99,6 +115,30 @@ export interface MintDirectConsentResult {
|
|
|
99
115
|
minted: boolean;
|
|
100
116
|
updateId?: string;
|
|
101
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* A non-2xx relay response. Carries the HTTP `status` and the PARSED JSON `body`
|
|
120
|
+
* (when the body was JSON) alongside the human-readable message, so callers can
|
|
121
|
+
* branch on a discriminated relay error WITHOUT regexing the message string. The
|
|
122
|
+
* `merge` path relies on this to recognize a /balance 413
|
|
123
|
+
* `{code:"holdings_exceed_node_limit"}` and fall back to the Scan-snapshot
|
|
124
|
+
* enumeration. The message format is unchanged from the previous plain Error
|
|
125
|
+
* (`relay <METHOD> <path> -> <status> <body-snippet>`), so existing message
|
|
126
|
+
* assertions keep passing.
|
|
127
|
+
*/
|
|
128
|
+
export declare class RelayHttpError extends Error {
|
|
129
|
+
readonly status: number;
|
|
130
|
+
/** The parsed JSON response body, or undefined when it was not JSON. */
|
|
131
|
+
readonly body: unknown;
|
|
132
|
+
constructor(message: string, status: number,
|
|
133
|
+
/** The parsed JSON response body, or undefined when it was not JSON. */
|
|
134
|
+
body: unknown);
|
|
135
|
+
}
|
|
136
|
+
/** True when `err` is a relay /balance 413 signalling the party holds more amulet
|
|
137
|
+
* contracts than the participant's JSON-API element cap can enumerate — the
|
|
138
|
+
* discriminated case that routes `merge` to the Scan-snapshot whale path. Matches
|
|
139
|
+
* on the structured {status:413, body.code} first (robust), with a message-string
|
|
140
|
+
* fallback for older/opaque errors. */
|
|
141
|
+
export declare function isHoldingsExceedNodeLimitError(err: unknown): boolean;
|
|
102
142
|
export declare class RelayClient {
|
|
103
143
|
private readonly opts;
|
|
104
144
|
constructor(opts: {
|
|
@@ -125,6 +165,11 @@ export declare class RelayClient {
|
|
|
125
165
|
updateId: string;
|
|
126
166
|
}>;
|
|
127
167
|
balance(party: string): Promise<BalanceResult>;
|
|
168
|
+
/** Enumerate `party`'s Amulet holdings from the PUBLIC SV Scan ACS snapshot
|
|
169
|
+
* (paginated, no participant node cap). The WHALE fallback for `merge` when
|
|
170
|
+
* `balance()` throws the 413 holdings_exceed_node_limit case
|
|
171
|
+
* (`isHoldingsExceedNodeLimitError`). */
|
|
172
|
+
holdingsScan(party: string): Promise<HoldingsScanResult>;
|
|
128
173
|
pending(party: string): Promise<PendingResult>;
|
|
129
174
|
/** Request a one-time faucet seed for `party` (out-of-box e2e funding). The
|
|
130
175
|
* facilitator sends a tiny CC grant FROM ITS OWN party; it lands as a pending
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay-client.d.ts","sourceRoot":"","sources":["../src/relay-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClD;AACD,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,yBAAyB,EAAE,MAAM,CAAC;IAClC,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,OAAO,EAAE,CAAC;CAC/B;AACD,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,OAAO,EAAE,CAAC;CAC/B;AACD;;;mFAGmF;AACnF,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,OAAO,EAAE,CAAC;CAC/B;AACD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnE;AACD;;;iEAGiE;AACjE,MAAM,WAAW,8BAA8B;IAC7C,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C;qDACiD;IACjD,aAAa,EAAE,OAAO,CAAC;IACvB,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,OAAO,EAAE,CAAC;CAC/B;AACD;;mFAEmF;AACnF,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C;AACD;;sFAEsF;AACtF,MAAM,WAAW,uBAAuB;IACtC,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,WAAW;IAEpB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE;IAG1E,OAAO,CAAC,OAAO;YAMD,GAAG;
|
|
1
|
+
{"version":3,"file":"relay-client.d.ts","sourceRoot":"","sources":["../src/relay-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClD;AACD;;;;;iDAKiD;AACjD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,QAAQ,EAAE,OAAO,CAAC;CACnB;AACD,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,yBAAyB,EAAE,MAAM,CAAC;IAClC,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,OAAO,EAAE,CAAC;CAC/B;AACD,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,OAAO,EAAE,CAAC;CAC/B;AACD;;;mFAGmF;AACnF,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,OAAO,EAAE,CAAC;CAC/B;AACD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnE;AACD;;;iEAGiE;AACjE,MAAM,WAAW,8BAA8B;IAC7C,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C;qDACiD;IACjD,aAAa,EAAE,OAAO,CAAC;IACvB,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,OAAO,EAAE,CAAC;CAC/B;AACD;;mFAEmF;AACnF,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C;AACD;;sFAEsF;AACtF,MAAM,WAAW,uBAAuB;IACtC,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,qBAAa,cAAe,SAAQ,KAAK;IAGrC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,OAAO;gBAHtB,OAAO,EAAE,MAAM,EACN,MAAM,EAAE,MAAM;IACvB,wEAAwE;IAC/D,IAAI,EAAE,OAAO;CAKzB;AAED;;;;wCAIwC;AACxC,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAQpE;AAED,qBAAa,WAAW;IAEpB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE;IAG1E,OAAO,CAAC,OAAO;YAMD,GAAG;IA0BjB,cAAc,CAAC,CAAC,EAAE;QAAE,SAAS,EAAE,cAAc,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAGlE,eAAe,CAAC,CAAC,EAAE;QACjB,sBAAsB,EAAE,MAAM,EAAE,CAAC;QACjC,mBAAmB,EAAE,cAAc,EAAE,CAAC;KACvC;eAC0B,MAAM;;IAEjC,aAAa,CAAC,CAAC,EAAE,OAAO;6BACiB,MAAM;cAAQ,MAAM;;IAM7D,aAAa,CAAC,CAAC,EAAE,OAAO;kBACM,MAAM;;IAEpC,OAAO,CAAC,KAAK,EAAE,MAAM;IAMrB;;;8CAG0C;IAC1C,YAAY,CAAC,KAAK,EAAE,MAAM;IAM1B,OAAO,CAAC,KAAK,EAAE,MAAM;IAMrB;;;;qEAIiE;IACjE,WAAW,CAAC,KAAK,EAAE,MAAM;kBACK,MAAM;gBAAU,MAAM;eAAS,MAAM;;IAMnE;;;+EAG2E;IAC3E,SAAS;gBAEG,KAAK,CAAC;YAAE,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;;IAGvC,sBAAsB,CAAC,CAAC,EAAE;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC/B;IAOD,aAAa,CAAC,CAAC,EAAE;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE;IAG3C;;0CAEsC;IACtC,eAAe,CAAC,CAAC,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE;IAO5C;;kCAE8B;IAC9B,wBAAwB,CAAC,CAAC,EAAE;QAC1B,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,qBAAqB,EAAE,MAAM,CAAC;QAC9B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC/B;IAOD;gFAC4E;IAC5E,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAMhD;;;;;;sFAMkF;IAClF,iBAAiB,CAAC,CAAC,EAAE;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B;CAOF"}
|
package/dist/relay-client.js
CHANGED
|
@@ -1,3 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A non-2xx relay response. Carries the HTTP `status` and the PARSED JSON `body`
|
|
3
|
+
* (when the body was JSON) alongside the human-readable message, so callers can
|
|
4
|
+
* branch on a discriminated relay error WITHOUT regexing the message string. The
|
|
5
|
+
* `merge` path relies on this to recognize a /balance 413
|
|
6
|
+
* `{code:"holdings_exceed_node_limit"}` and fall back to the Scan-snapshot
|
|
7
|
+
* enumeration. The message format is unchanged from the previous plain Error
|
|
8
|
+
* (`relay <METHOD> <path> -> <status> <body-snippet>`), so existing message
|
|
9
|
+
* assertions keep passing.
|
|
10
|
+
*/
|
|
11
|
+
export class RelayHttpError extends Error {
|
|
12
|
+
status;
|
|
13
|
+
body;
|
|
14
|
+
constructor(message, status,
|
|
15
|
+
/** The parsed JSON response body, or undefined when it was not JSON. */
|
|
16
|
+
body) {
|
|
17
|
+
super(message);
|
|
18
|
+
this.status = status;
|
|
19
|
+
this.body = body;
|
|
20
|
+
this.name = "RelayHttpError";
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/** True when `err` is a relay /balance 413 signalling the party holds more amulet
|
|
24
|
+
* contracts than the participant's JSON-API element cap can enumerate — the
|
|
25
|
+
* discriminated case that routes `merge` to the Scan-snapshot whale path. Matches
|
|
26
|
+
* on the structured {status:413, body.code} first (robust), with a message-string
|
|
27
|
+
* fallback for older/opaque errors. */
|
|
28
|
+
export function isHoldingsExceedNodeLimitError(err) {
|
|
29
|
+
if (err instanceof RelayHttpError) {
|
|
30
|
+
if (err.status === 413)
|
|
31
|
+
return true;
|
|
32
|
+
const code = err.body?.code;
|
|
33
|
+
if (code === "holdings_exceed_node_limit")
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
37
|
+
return /holdings_exceed_node_limit/.test(msg) || /-> 413\b/.test(msg);
|
|
38
|
+
}
|
|
1
39
|
export class RelayClient {
|
|
2
40
|
opts;
|
|
3
41
|
constructor(opts) {
|
|
@@ -25,7 +63,9 @@ export class RelayClient {
|
|
|
25
63
|
/* leave undefined */
|
|
26
64
|
}
|
|
27
65
|
if (!r.ok) {
|
|
28
|
-
|
|
66
|
+
// Same message as before (message-based assertions unchanged) but now a
|
|
67
|
+
// typed error carrying the status + parsed body for discriminated handling.
|
|
68
|
+
throw new RelayHttpError(`relay ${method} ${path} -> ${r.status} ${text.slice(0, 200)}`, r.status, json);
|
|
29
69
|
}
|
|
30
70
|
return json;
|
|
31
71
|
}
|
|
@@ -44,6 +84,13 @@ export class RelayClient {
|
|
|
44
84
|
balance(party) {
|
|
45
85
|
return this.req("GET", `/v1/wallet/${encodeURIComponent(party)}/balance`);
|
|
46
86
|
}
|
|
87
|
+
/** Enumerate `party`'s Amulet holdings from the PUBLIC SV Scan ACS snapshot
|
|
88
|
+
* (paginated, no participant node cap). The WHALE fallback for `merge` when
|
|
89
|
+
* `balance()` throws the 413 holdings_exceed_node_limit case
|
|
90
|
+
* (`isHoldingsExceedNodeLimitError`). */
|
|
91
|
+
holdingsScan(party) {
|
|
92
|
+
return this.req("GET", `/v1/wallet/${encodeURIComponent(party)}/holdings-scan`);
|
|
93
|
+
}
|
|
47
94
|
pending(party) {
|
|
48
95
|
return this.req("GET", `/v1/wallet/${encodeURIComponent(party)}/pending`);
|
|
49
96
|
}
|
package/dist/relay-client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay-client.js","sourceRoot":"","sources":["../src/relay-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"relay-client.js","sourceRoot":"","sources":["../src/relay-client.ts"],"names":[],"mappings":"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"}
|
package/dist/tx.d.ts
CHANGED
|
@@ -29,6 +29,16 @@ export declare function transfer(relay: RelayClient, wallet: AgentWallet, opts:
|
|
|
29
29
|
* set. See HashBindingOptions / verify-prepared.ts.
|
|
30
30
|
*/
|
|
31
31
|
hashBinding?: HashBindingOptions;
|
|
32
|
+
/**
|
|
33
|
+
* EXPLICIT set of input holding cids to spend (caller intent). When omitted
|
|
34
|
+
* (the default, e.g. a normal pay/withdraw) the full balance is read from the
|
|
35
|
+
* relay and used. Supplied by `merge`, which self-transfers a SPECIFIC batch
|
|
36
|
+
* of dust amulets — and whose whale wallets cannot be balance-enumerated
|
|
37
|
+
* (that read is exactly what 413s), so it MUST bypass the relay.balance() read
|
|
38
|
+
* here. The receiver is still pinned to caller intent by verify-before-sign,
|
|
39
|
+
* so this only narrows which of the agent's OWN holdings fund the transfer.
|
|
40
|
+
*/
|
|
41
|
+
inputHoldingCids?: string[];
|
|
32
42
|
}): Promise<string>;
|
|
33
43
|
/** @internal Exported for unit tests (disjoint selection + release). Not part of
|
|
34
44
|
* the public API. */
|
package/dist/tx.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../src/tx.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAOL,KAAK,kBAAkB,EAMxB,MAAM,sBAAsB,CAAC;AAkL9B;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE;IACJ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;6DAEyD;IACzD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;6EAGyE;IACzE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../src/tx.ts"],"names":[],"mappings":"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"}
|
package/dist/tx.js
CHANGED
|
@@ -161,8 +161,7 @@ synchronizerId) {
|
|
|
161
161
|
* taken from the relay.
|
|
162
162
|
*/
|
|
163
163
|
export async function transfer(relay, wallet, opts) {
|
|
164
|
-
const
|
|
165
|
-
const inputHoldingCids = bal.holdings.map((h) => h.cid);
|
|
164
|
+
const inputHoldingCids = opts.inputHoldingCids ?? (await relay.balance(wallet.party)).holdings.map((h) => h.cid);
|
|
166
165
|
const f = await relay.resolveTransferFactory({
|
|
167
166
|
sender: wallet.party,
|
|
168
167
|
receiver: opts.receiver,
|
package/dist/tx.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx.js","sourceRoot":"","sources":["../src/tx.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGvD,OAAO,EACL,iBAAiB,EACjB,6BAA6B,EAC7B,2BAA2B,EAC3B,+BAA+B,EAC/B,uCAAuC,EACvC,kCAAkC,GAOnC,MAAM,sBAAsB,CAAC;AAE9B,MAAM,QAAQ,GACZ,sGAAsG,CAAC;AAEzG;;;;+EAI+E;AAC/E,MAAM,gBAAgB,GACpB,0EAA0E,CAAC;AAE7E;;;;;;;;;GASG;AACH,MAAM,sBAAsB,GAAG,QAAQ,CAAC;AAExC;;;;;gFAKgF;AAChF,MAAM,8BAA8B,GAClC,wGAAwG,CAAC;AAE3G;;;;;;sGAMsG;AACtG,MAAM,sCAAsC,GAAG,uCAAuC,CAAC;AACvF,MAAM,wCAAwC,GAC5C,yCAAyC,CAAC;AAE5C,SAAS,GAAG,CAAC,MAAc;IACzB,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAC7E,CAAC;AAmBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,KAAK,UAAU,kBAAkB,CAC/B,KAAkB,EAClB,MAAmB,EACnB,QAAmB,EACnB,kBAA6B,EAC7B,MAAkB,EAClB,WAAgC;AAChC;;;qEAGqE;AACrE,cAAuB;IAEvB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC;QACrC,MAAM,EAAE,OAAO,EAAE,kDAAkD;QACnE,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC;QACvB,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;QACrB,QAAQ;QACR,kBAAkB;QAClB,4BAA4B,EAAE,EAAE;QAChC,cAAc,EAAE,KAAK;QACrB,4EAA4E;QAC5E,6EAA6E;QAC7E,2DAA2D;QAC3D,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5D,CAAC,CAAC;IACH,4EAA4E;IAC5E,MAAM,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;IACrD,4EAA4E;IAC5E,2EAA2E;IAC3E,2EAA2E;IAC3E,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,6BAA6B,CAAC,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACpE,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACxC,sEAAsE;QACtE,6DAA6D;QAC7D,uEAAuE;QACvE,kEAAkE;QAClE,+BAA+B,CAAC,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACtE,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;QACjD,yEAAyE;QACzE,2EAA2E;QAC3E,kFAAkF;QAClF,+EAA+E;QAC/E,uCAAuC,CAAC,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9E,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAC5C,6EAA6E;QAC7E,0EAA0E;QAC1E,+EAA+E;QAC/E,4EAA4E;QAC5E,+EAA+E;QAC/E,iFAAiF;QACjF,6EAA6E;QAC7E,kCAAkC,CAAC,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACzE,CAAC;SAAM,CAAC;QACN,qEAAqE;QACrE,kEAAkE;QAClE,2BAA2B,CAAC,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAClE,CAAC;IACD,6EAA6E;IAC7E,sEAAsE;IACtE,4EAA4E;IAC5E,4EAA4E;IAC5E,0EAA0E;IAC1E,+DAA+D;IAC/D,MAAM,iBAAiB,CAAC,mBAAmB,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC;QACrC,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC;QAC/B,mBAAmB;QACnB,oBAAoB,EAAE,2BAA2B;QACjD,eAAe,EAAE;YACf,UAAU,EAAE;gBACV;oBACE,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,UAAU,EAAE;wBACV;4BACE,MAAM,EAAE,yBAAyB;4BACjC,SAAS;4BACT,oBAAoB,EAAE,gCAAgC;4BACtD,QAAQ,EAAE,MAAM,CAAC,oBAAoB;yBACtC;qBACF;iBACF;aACF;SACF;QACD,mBAAmB,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;KACnC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,QAAQ,CAAC;AACvB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,KAAkB,EAClB,MAAmB,EACnB,IAqBC;IAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,gBAAgB,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACxD,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,sBAAsB,CAAC;QAC3C,MAAM,EAAE,MAAM,CAAC,KAAK;QACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1C,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,EAAE,GAAG;QACT,eAAe,EAAE;YACf,UAAU,EAAE,CAAC,CAAC,yBAAyB;YACvC,UAAU,EAAE,CAAC,CAAC,SAAS;YACvB,MAAM,EAAE,0BAA0B;YAClC,cAAc,EAAE;gBACd,aAAa,EAAE,CAAC,CAAC,YAAY,CAAC,KAAK;gBACnC,QAAQ,EAAE;oBACR,MAAM,EAAE,MAAM,CAAC,KAAK;oBACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,YAAY,EAAE,CAAC,CAAC,YAAY;oBAC5B,WAAW,EAAE,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;oBAC/C,aAAa,EAAE,IAAI,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,WAAW,EAAE;oBACpD,gBAAgB;oBAChB,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE;iBAClC;gBACD,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,iBAAiB,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;aAClE;SACF;KACF,CAAC;IACF,OAAO,kBAAkB,CACvB,KAAK,EACL,MAAM,EACN,CAAC,EAAE,CAAC,EACJ,CAAC,CAAC,kBAAkB,EACpB;QACE,IAAI,EAAE,OAAO;QACb,MAAM,EAAE;YACN,6EAA6E;YAC7E,MAAM,EAAE,MAAM,CAAC,KAAK;YACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,YAAY,EAAE,IAAI,CAAC,kBAAkB,IAAI,sBAAsB;YAC/D,yEAAyE;YACzE,wEAAwE;YACxE,yEAAyE;YACzE,uCAAuC;YACvC,kBAAkB,EAAE,CAAC,CAAC,SAAS;YAC/B,yEAAyE;YACzE,uEAAuE;YACvE,yEAAyE;YACzE,0EAA0E;YAC1E,oCAAoC;YACpC,GAAG,CAAC,IAAI,CAAC,oBAAoB,KAAK,SAAS;gBACzC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,oBAAoB,EAAE;gBAC/C,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,qBAAqB,KAAK,SAAS;gBAC1C,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,qBAAqB,EAAE;gBACjD,CAAC,CAAC,EAAE,CAAC;YACP,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE;SAClB;KACF,EACD,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,oBAAoB,CAC1B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAuB,CAAC;AAExD;sBACsB;AACtB,MAAM,UAAU,cAAc,CAC5B,KAAa,EACb,QAAgD,EAChD,MAAc;IAEd,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;QACxB,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,+EAA+E;IAC/E,yDAAyD;IACzD,MAAM,MAAM,GAAG,IAAI;SAChB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;SACvC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,IAAI,MAA8C,CAAC;IACnD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,4EAA4E;QAC5E,+BAA+B;QAC/B,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7E,MAAM,GAAG,EAAE,CAAC;QACZ,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACf,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACxB,IAAI,GAAG,IAAI,IAAI;gBAAE,MAAM;QACzB,CAAC;QACD,+EAA+E;QAC/E,+EAA+E;QAC/E,+EAA+E;QAC/E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,GAAG,QAAQ,CAAC;IAC7C,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACtC,KAAK,MAAM,CAAC,IAAI,IAAI;QAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,IAAI,QAAQ;YAAE,OAAO;QACrB,QAAQ,GAAG,IAAI,CAAC;QAChB,MAAM,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC;YAAE,OAAO;QACf,KAAK,MAAM,CAAC,IAAI,IAAI;YAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC;YAAE,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAAY;IACnD,IAAI,GAAG,GAAY,GAAG,CAAC;IACvB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,GAAG,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QAC9C,MAAM,CAAC,GAAG,GAA+D,CAAC;QAC1E,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAC3D,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAC5C,EAAE,CAAC;QACH,IAAI,oDAAoD,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAChF,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC;IAChB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,KAAkB,EAClB,MAAmB,EACnB,IA0BC;IAWD,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CACb,kCAAkC,IAAI,CAAC,mBAAmB,cAAc;YACtE,0BAA0B,IAAI,CAAC,qBAAqB,GAAG,CAC1D,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9C,2EAA2E;IAC3E,+EAA+E;IAC/E,4EAA4E;IAC5E,gFAAgF;IAChF,2EAA2E;IAC3E,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,CAAC;IAE1C,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,wBAAwB,CAAC;YAC7C,MAAM,EAAE,MAAM,CAAC,KAAK;YACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1D,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,2EAA2E;QAC3E,6EAA6E;QAC7E,6EAA6E;QAC7E,0EAA0E;QAC1E,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QACvD,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QACvF,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAEnF,MAAM,UAAU,GAAG;YACjB,UAAU,EAAE;gBACV,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,aAAa,EAAE,CAAC,CAAC,aAAa;gBAC9B,WAAW;gBACX,cAAc;gBACd,YAAY;gBACZ,IAAI,EAAE,EAAE,MAAM,EAAE,EAA4B,EAAE;aAC/C;YACD,aAAa,EAAE,CAAC,CAAC,aAAa;YAC9B,WAAW,EAAE;gBACX,MAAM,EAAE,MAAM,CAAC,KAAK;gBACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE;aAC1C;SACF,CAAC;QAEF,MAAM,EAAE,GAAG;YACT,eAAe,EAAE;gBACf,UAAU,EAAE,8BAA8B;gBAC1C,UAAU,EAAE,CAAC,CAAC,SAAS;gBACvB,MAAM,EAAE,4BAA4B;gBACpC,cAAc,EAAE;oBACd,aAAa,EAAE,CAAC,CAAC,YAAY,CAAC,KAAK;oBACnC,UAAU;oBACV,WAAW;oBACX,gBAAgB;oBAChB,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,iBAAiB,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;iBAClE;aACF;SACF,CAAC;QAEF,QAAQ,GAAG,MAAM,kBAAkB,CACjC,KAAK,EACL,MAAM,EACN,CAAC,EAAE,CAAC,EACJ,CAAC,CAAC,kBAAkB,EACpB;YACE,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE;gBACN,6EAA6E;gBAC7E,MAAM,EAAE,MAAM,CAAC,KAAK;gBACpB,wEAAwE;gBACxE,qEAAqE;gBACrE,uEAAuE;gBACvE,2EAA2E;gBAC3E,cAAc,EAAE,MAAM,CAAC,KAAK;gBAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,YAAY,EAAE,IAAI,CAAC,kBAAkB,IAAI,sBAAsB;gBAC/D,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,qEAAqE;gBACrE,6CAA6C;gBAC7C,kBAAkB,EAAE,CAAC,CAAC,SAAS;gBAC/B,GAAG,CAAC,IAAI,CAAC,qBAAqB,KAAK,SAAS;oBAC1C,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,qBAAqB,EAAE;oBACjD,CAAC,CAAC,EAAE,CAAC;gBACP,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE;aAClB;SACF,EACD,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,cAAc,CACpB,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,8EAA8E;QAC9E,+EAA+E;QAC/E,0DAA0D;QAC1D,WAAW,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,wEAAwE;IACxE,4EAA4E;IAC5E,6EAA6E;IAC7E,gBAAgB;IAChB,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnE,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,KAAK;QACxB,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,IAAI;QAC1C,wBAAwB,EAAE,KAAK,CAAC,wBAAwB,IAAI,IAAI;QAChE,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAkB,EAClB,MAAmB,EACnB,IASC;IAED,OAAO,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE;QACxC,OAAO,EAAE,QAAQ;QACjB,UAAU,EAAE,sCAAsC;QAClD,mFAAmF;QACnF,eAAe,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;QACxE,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/D,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAkB,EAClB,MAAmB,EACnB,IAIC;IAED,OAAO,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE;QACxC,OAAO,EAAE,UAAU;QACnB,UAAU,EAAE,wCAAwC;QACpD,uFAAuF;QACvF,eAAe,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;QAC1E,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/D,CAAC,CAAC;AACL,CAAC;AAED;;yCAEyC;AACzC,KAAK,UAAU,mBAAmB,CAChC,KAAkB,EAClB,MAAmB,EACnB,IAOC;IAED,MAAM,EAAE,GAAG;QACT,aAAa,EAAE;YACb,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC;KACF,CAAC;IACF,OAAO,kBAAkB,CACvB,KAAK,EACL,MAAM,EACN,CAAC,EAAE,CAAC,EACJ,EAAE,EAAE,mEAAmE;IACvE,uEAAuE;IACvE,2EAA2E;IAC3E,2EAA2E;IAC3E,iDAAiD;IACjD;QACE,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE;YACN,SAAS,EAAE,MAAM,CAAC,KAAK;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE;SAClB;KACF;IACD,yEAAyE;IACzE,0EAA0E;IAC1E,2EAA2E;IAC3E,4EAA4E;IAC5E,IAAI,CAAC,WAAW,IAAI,kBAAkB,EAAE,EACxC,IAAI,CAAC,cAAc,CACpB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,KAAkB,EAClB,MAAmB,EACnB,OAA6C,EAAE;IAE/C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC;IAC7D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACjE,MAAM,EAAE,GAAG;YACT,eAAe,EAAE;gBACf,UAAU,EAAE,QAAQ;gBACpB,UAAU,EAAE,CAAC,CAAC,GAAG;gBACjB,MAAM,EAAE,4BAA4B;gBACpC,cAAc,EAAE;oBACd,SAAS,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;iBACpE;aACF;SACF,CAAC;QACF,SAAS,CAAC,IAAI,CACZ,MAAM,kBAAkB,CACtB,KAAK,EACL,MAAM,EACN,CAAC,EAAE,CAAC,EACJ,GAAG,CAAC,kBAAkB;QACtB,yEAAyE;QACzE,qDAAqD;QACrD,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAC1E,WAAW,CACZ,CACF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAkB,EAClB,MAAmB,EACnB,IAkBC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC;IAC7D,uEAAuE;IACvE,0EAA0E;IAC1E,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAC/E,MAAM,EAAE,GAAG;QACT,eAAe,EAAE;YACf,6EAA6E;YAC7E,4EAA4E;YAC5E,UAAU,EAAE,gBAAgB;YAC5B,UAAU,EAAE,IAAI,CAAC,aAAa;YAC9B,MAAM,EAAE,qBAAqB;YAC7B,cAAc,EAAE;gBACd,SAAS,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;aACpE;SACF;KACF,CAAC;IACF,OAAO,kBAAkB,CACvB,KAAK,EACL,MAAM,EACN,CAAC,EAAE,CAAC,EACJ,GAAG,CAAC,kBAAkB;IACtB,8EAA8E;IAC9E,+EAA+E;IAC/E,0EAA0E;IAC1E;QACE,IAAI,EAAE,qBAAqB;QAC3B,MAAM,EAAE;YACN,SAAS,EAAE,MAAM,CAAC,KAAK;YACvB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE;YACjB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,wEAAwE;YACxE,2EAA2E;YAC3E,6DAA6D;YAC7D,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD;KACF,EACD,WAAW,CACZ,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"tx.js","sourceRoot":"","sources":["../src/tx.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": "0.4.
|
|
4
|
+
"version": "0.4.1",
|
|
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",
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
"@canton-network/core-tx-visualizer": "~1.4.0",
|
|
20
20
|
"@canton-network/core-ledger-proto": "~1.4.0",
|
|
21
21
|
"undici": "^7.1.0",
|
|
22
|
-
"@ftptech/x402-canton-
|
|
23
|
-
"@ftptech/x402-canton-
|
|
22
|
+
"@ftptech/x402-canton-client": "0.4.0",
|
|
23
|
+
"@ftptech/x402-canton-ledger": "0.1.1"
|
|
24
24
|
},
|
|
25
25
|
"publishConfig": {
|
|
26
26
|
"access": "public"
|