@dfm-fi/agent 0.2.706 → 0.2.715

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.
@@ -23,6 +23,8 @@
23
23
  import type { AgentConfig } from './config.js';
24
24
  import type { DfmApiClient } from './api-client.js';
25
25
  import type { CreateAssetInput } from './types.js';
26
+ import { signBase64Transaction } from './signing.js';
27
+ import { submitSignedTx, submitViaBackendConfirmed } from './submit.js';
26
28
  export interface LaunchVaultParams {
27
29
  name: string;
28
30
  symbol: string;
@@ -44,8 +46,31 @@ export interface LaunchVaultResult {
44
46
  confirmError?: string;
45
47
  /** board #47: tx sig of the share-mint Metaplex metadata attach (undefined if it was skipped/failed — non-fatal). */
46
48
  metadataSignature?: string;
49
+ /** board #47: the reason the metadata attach failed (surfaced, not swallowed) so the operator can retry. */
50
+ metadataError?: string;
47
51
  message: string;
48
52
  }
53
+ /**
54
+ * #47 — attach Metaplex name/symbol/uri to a vault's share mint so explorers/
55
+ * wallets show the DTF instead of "SPL Token". Uses the SAME dual submit path as
56
+ * the create tx (backend-confirmed when no client RPC, else direct).
57
+ *
58
+ * 🐛 THE BUG this fixes: the prior inline version called `submitSignedTx` directly,
59
+ * which THROWS when `config.rpcUrl` is unset — but the MCP's DEFAULT is backend
60
+ * mode (no RPC) — and the throw was swallowed, so EVERY agent-launched vault's
61
+ * share token shipped with no name/ticker. Now it backend-submits via the
62
+ * `preparedTxId`, retries transient failures, and SURFACES the error. Idempotent
63
+ * (a re-attach reverts "already in use" = already attached). Non-fatal to launch.
64
+ * `_deps` injects sign/submit for tests; real defaults → production unchanged.
65
+ */
66
+ export declare function attachShareMintMetadata(config: AgentConfig, api: DfmApiClient, vaultAddress: string, _deps?: {
67
+ signBase64Transaction?: typeof signBase64Transaction;
68
+ submitViaBackendConfirmed?: typeof submitViaBackendConfirmed;
69
+ submitSignedTx?: typeof submitSignedTx;
70
+ }): Promise<{
71
+ signature?: string;
72
+ error?: string;
73
+ }>;
49
74
  /**
50
75
  * Validate the basket client-side BEFORE hitting the network — fast, clear
51
76
  * failures the agent can fix without a round-trip. (The API re-validates
@@ -1 +1 @@
1
- {"version":3,"file":"create-flow.d.ts","sourceRoot":"","sources":["../src/create-flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAInD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qHAAqH;IACrH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAID;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAsBpE;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,iBAAiB,CAAC,CAiH5B"}
1
+ {"version":3,"file":"create-flow.d.ts","sourceRoot":"","sources":["../src/create-flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAExE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qHAAqH;IACrH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,4GAA4G;IAC5G,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,YAAY,EACjB,YAAY,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE;IACN,qBAAqB,CAAC,EAAE,OAAO,qBAAqB,CAAC;IACrD,yBAAyB,CAAC,EAAE,OAAO,yBAAyB,CAAC;IAC7D,cAAc,CAAC,EAAE,OAAO,cAAc,CAAC;CACxC,GACA,OAAO,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA0CjD;AAID;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAsBpE;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,iBAAiB,CAAC,CAoG5B"}
@@ -1,5 +1,54 @@
1
1
  import { signBase64Transaction } from './signing.js';
2
2
  import { submitSignedTx, submitViaBackendConfirmed } from './submit.js';
3
+ /**
4
+ * #47 — attach Metaplex name/symbol/uri to a vault's share mint so explorers/
5
+ * wallets show the DTF instead of "SPL Token". Uses the SAME dual submit path as
6
+ * the create tx (backend-confirmed when no client RPC, else direct).
7
+ *
8
+ * 🐛 THE BUG this fixes: the prior inline version called `submitSignedTx` directly,
9
+ * which THROWS when `config.rpcUrl` is unset — but the MCP's DEFAULT is backend
10
+ * mode (no RPC) — and the throw was swallowed, so EVERY agent-launched vault's
11
+ * share token shipped with no name/ticker. Now it backend-submits via the
12
+ * `preparedTxId`, retries transient failures, and SURFACES the error. Idempotent
13
+ * (a re-attach reverts "already in use" = already attached). Non-fatal to launch.
14
+ * `_deps` injects sign/submit for tests; real defaults → production unchanged.
15
+ */
16
+ export async function attachShareMintMetadata(config, api, vaultAddress, _deps) {
17
+ const sign = _deps?.signBase64Transaction ?? signBase64Transaction;
18
+ const backendSubmit = _deps?.submitViaBackendConfirmed ?? submitViaBackendConfirmed;
19
+ const directSubmit = _deps?.submitSignedTx ?? submitSignedTx;
20
+ let signature;
21
+ let error;
22
+ for (let attempt = 1; attempt <= 3 && !signature; attempt++) {
23
+ try {
24
+ const metaPrepared = await api.prepareCreateVaultMetadata(vaultAddress);
25
+ const metaSigned = sign(config, metaPrepared.transaction);
26
+ if (!config.rpcUrl) {
27
+ if (!metaPrepared.preparedTxId) {
28
+ throw new Error('No preparedTxId on metadata/prepare — cannot backend-submit (set HELIUS_RPC_URL for direct submit).');
29
+ }
30
+ const { signature: sig, confirmed } = await backendSubmit({ api, preparedTxId: metaPrepared.preparedTxId }, metaSigned);
31
+ if (!confirmed)
32
+ throw new Error(`metadata tx ${sig} broadcast but did not confirm`);
33
+ signature = sig;
34
+ }
35
+ else {
36
+ signature = await directSubmit(config, metaSigned, metaPrepared.blockhash, metaPrepared.lastValidBlockHeight);
37
+ }
38
+ error = undefined;
39
+ }
40
+ catch (e) {
41
+ error = e.message;
42
+ // Idempotent: a re-attach onto an existing metadata account reverts "already
43
+ // in use" — treat that as already-attached (clear the error, stop).
44
+ if (/already in use|already initialized|0x0\b|custom program error: 0x0/i.test(error)) {
45
+ error = undefined;
46
+ break;
47
+ }
48
+ }
49
+ }
50
+ return { signature, error };
51
+ }
3
52
  const MAX_ASSETS = 15; // mainnet basket cap (zap-v2 OPEN tx ceiling)
4
53
  /**
5
54
  * Validate the basket client-side BEFORE hitting the network — fast, clear
@@ -92,23 +141,11 @@ export async function runLaunchVault(config, api, params) {
92
141
  `or it will need a chain reconcile.`,
93
142
  };
94
143
  }
95
- // 5. METADATA (board #47) — attach Metaplex name/symbol/uri to the share mint so
96
- // explorers/wallets show the DTF instead of "Unknown Token". Creator-signed +
97
- // creator-paid (~0.0056 SOL rent); the vault must already exist on-chain (it does,
98
- // step 3 confirmed). Best-effort + non-fatal: the vault is fully usable without it,
99
- // and it's idempotent (a 2nd call reverts, so a retry is safe). If it fails the
100
- // operator can re-run POST /vaults/:address/metadata/prepare later.
101
- let metadataSignature;
102
- try {
103
- const metaPrepared = await api.prepareCreateVaultMetadata(prepared.vaultAddress);
104
- const metaSigned = signBase64Transaction(config, metaPrepared.transaction);
105
- metadataSignature = await submitSignedTx(config, metaSigned, metaPrepared.blockhash, metaPrepared.lastValidBlockHeight);
106
- }
107
- catch (e) {
108
- // Swallow: metadata is cosmetic, the launch already succeeded.
109
- metadataSignature = undefined;
110
- void e;
111
- }
144
+ // 5. METADATA (board #47) — attach Metaplex name/symbol/uri to the share mint
145
+ // (the dual-submit fix lives in attachShareMintMetadata; non-fatal + surfaced).
146
+ const meta = await attachShareMintMetadata(config, api, prepared.vaultAddress);
147
+ const metadataSignature = meta.signature;
148
+ const metadataError = meta.error;
112
149
  return {
113
150
  ok: true,
114
151
  vault: prepared.vaultAddress,
@@ -116,11 +153,14 @@ export async function runLaunchVault(config, api, params) {
116
153
  vaultMint: prepared.vaultMint,
117
154
  vaultIndex: prepared.vaultIndex,
118
155
  metadataSignature,
156
+ metadataError,
119
157
  message: `Vault "${params.name}" (${params.symbol}) launched: ${prepared.vaultAddress} ` +
120
158
  `(index ${prepared.vaultIndex}). Recorded. ` +
121
159
  (metadataSignature
122
- ? `Share-mint metadata attached (#47). `
123
- : `Share-mint metadata pending retry POST /vaults/${prepared.vaultAddress}/metadata/prepare. `) +
160
+ ? `Share-mint metadata attached (#47, tx ${metadataSignature.slice(0, 16)}…). `
161
+ : `⚠️ Share-mint metadata NOT attached${metadataError ? ` (${metadataError})` : ''} — ` +
162
+ `the share token will show no name/ticker. Retry by calling launch_vault's metadata step ` +
163
+ `again or POST /vaults/${prepared.vaultAddress}/metadata/prepare. `) +
124
164
  `Fund the first deposit ≥ ~$12 to clear the $10 floor.`,
125
165
  };
126
166
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-flow.js","sourceRoot":"","sources":["../src/create-flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-flow.js","sourceRoot":"","sources":["../src/create-flow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=create-flow.metadata.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-flow.metadata.test.d.ts","sourceRoot":"","sources":["../src/create-flow.metadata.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * #47 regression (runnable: `npx tsx agent/src/create-flow.metadata.test.ts`).
3
+ *
4
+ * THE BUG: a vault launched via the MCP shipped with NO share-mint metadata
5
+ * ("SPL Token", no name/ticker). Root cause: the metadata attach called
6
+ * `submitSignedTx` directly, which THROWS when `config.rpcUrl` is unset — and the
7
+ * MCP's DEFAULT is backend-broadcast mode (no RPC) — and the throw was swallowed.
8
+ * So in backend mode the metadata tx could NEVER be submitted.
9
+ *
10
+ * This locks the fix: with no client RPC, `attachShareMintMetadata` must submit via
11
+ * the BACKEND path (the `preparedTxId`), NOT `submitSignedTx`; it must surface a
12
+ * missing-preparedTxId as an error (not silently lose it); and an "already in use"
13
+ * revert is idempotent (treated as already-attached, no error). sign/submit are
14
+ * injected so no real keypair/RPC is needed.
15
+ */
16
+ import { attachShareMintMetadata } from './create-flow.js';
17
+ let failures = 0;
18
+ function assert(cond, msg) {
19
+ if (!cond) {
20
+ console.error(` ✗ ${msg}`);
21
+ failures++;
22
+ }
23
+ else {
24
+ console.log(` ✓ ${msg}`);
25
+ }
26
+ }
27
+ const VAULT = 'Vau1t1111111111111111111111111111111111111';
28
+ const sign = (_c, t) => t; // no real keypair
29
+ async function caseBackendPath() {
30
+ console.log('case: no client RPC → backend-submit via preparedTxId (NOT submitSignedTx)');
31
+ let directCalled = 0;
32
+ let backendCalled = 0;
33
+ const api = {
34
+ prepareCreateVaultMetadata: async () => ({
35
+ transaction: 'BASE64TX',
36
+ blockhash: 'bh',
37
+ lastValidBlockHeight: 1,
38
+ preparedTxId: 'pid-123',
39
+ }),
40
+ };
41
+ const res = await attachShareMintMetadata({ rpcUrl: undefined }, api, VAULT, {
42
+ signBase64Transaction: sign,
43
+ submitViaBackendConfirmed: (async (opts) => {
44
+ backendCalled++;
45
+ assert(opts.preparedTxId === 'pid-123', 'backend got the preparedTxId');
46
+ return { signature: 'metaSig', confirmed: true };
47
+ }),
48
+ submitSignedTx: (async () => {
49
+ directCalled++;
50
+ throw new Error('submitSignedTx must NOT be called in backend mode (the old bug)');
51
+ }),
52
+ });
53
+ assert(res.signature === 'metaSig', `returns the metadata signature (got '${res.signature}')`);
54
+ assert(res.error === undefined, 'no error');
55
+ assert(backendCalled === 1, 'backend submit called once');
56
+ assert(directCalled === 0, 'submitSignedTx was NOT called');
57
+ }
58
+ async function caseNoPreparedTxId() {
59
+ console.log('case: no RPC + no preparedTxId → surfaced error, not a silent loss');
60
+ const api = {
61
+ prepareCreateVaultMetadata: async () => ({
62
+ transaction: 'BASE64TX',
63
+ blockhash: 'bh',
64
+ lastValidBlockHeight: 1,
65
+ // preparedTxId missing
66
+ }),
67
+ };
68
+ const res = await attachShareMintMetadata({ rpcUrl: undefined }, api, VAULT, { signBase64Transaction: sign });
69
+ assert(res.signature === undefined, 'no signature');
70
+ assert(!!res.error && /preparedTxId/i.test(res.error), `error mentions preparedTxId (got '${res.error}')`);
71
+ }
72
+ async function caseIdempotent() {
73
+ console.log('case: "already in use" revert → treated as already-attached (no error)');
74
+ const api = {
75
+ prepareCreateVaultMetadata: async () => ({
76
+ transaction: 'BASE64TX',
77
+ blockhash: 'bh',
78
+ lastValidBlockHeight: 1,
79
+ preparedTxId: 'pid-123',
80
+ }),
81
+ };
82
+ const res = await attachShareMintMetadata({ rpcUrl: undefined }, api, VAULT, {
83
+ signBase64Transaction: sign,
84
+ submitViaBackendConfirmed: (async () => {
85
+ throw new Error('Allocate: account Address already in use');
86
+ }),
87
+ });
88
+ assert(res.error === undefined, `idempotent revert cleared the error (got '${res.error}')`);
89
+ }
90
+ (async () => {
91
+ await caseBackendPath();
92
+ await caseNoPreparedTxId();
93
+ await caseIdempotent();
94
+ if (failures > 0) {
95
+ console.error(`\n#47 regression FAILED (${failures} assertion(s))`);
96
+ process.exit(1);
97
+ }
98
+ console.log('\n#47 regression PASSED');
99
+ })();
100
+ //# sourceMappingURL=create-flow.metadata.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-flow.metadata.test.js","sourceRoot":"","sources":["../src/create-flow.metadata.test.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@
20
20
  */
21
21
  import type { AgentConfig } from './config.js';
22
22
  import type { DfmApiClient } from './api-client.js';
23
- import type { CreateAssetInput, ReconfigureTargetInput } from './types.js';
23
+ import type { CreateAssetInput, ConvergeLegTx, ReconfigureTargetInput } from './types.js';
24
24
  export interface UpdateAssetsResult {
25
25
  ok: boolean;
26
26
  vault: string;
@@ -127,5 +127,15 @@ export declare function runRebalanceToTargets(config: AgentConfig, api: DfmApiCl
127
127
  * passes (`VaultAssetsNotDecommissioned`/`MintNotInBasket` avoided). A config
128
128
  * change ALWAYS converges — never config-only.
129
129
  */
130
- export declare function runReconfigure(config: AgentConfig, api: DfmApiClient, vault: string, targets: ReconfigureTargetInput[], maxSlippageBps?: number): Promise<ReconfigureResult>;
130
+ export declare function runReconfigure(config: AgentConfig, api: DfmApiClient, vault: string, targets: ReconfigureTargetInput[], maxSlippageBps?: number, _deps?: {
131
+ submitConvergeLegs?: typeof submitConvergeLegs;
132
+ runUpdateVaultAssets?: typeof runUpdateVaultAssets;
133
+ }): Promise<ReconfigureResult>;
134
+ /**
135
+ * Sign + submit a list of pre-prepared converge legs (each its OWN blockhash)
136
+ * IN ORDER, sleeping the 5s on-chain rebalance cooldown between legs. Each leg is
137
+ * an admin-signed `execute_rebalance` (on-chain velocity-ceiling + min_out guarded, oracle-free).
138
+ */
139
+ declare function submitConvergeLegs(config: AgentConfig, api: DfmApiClient, legs: ConvergeLegTx[], preparedTxIds?: string[]): Promise<string[]>;
140
+ export {};
131
141
  //# sourceMappingURL=manager-flow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"manager-flow.d.ts","sourceRoot":"","sources":["../src/manager-flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager-flow.d.ts","sourceRoot":"","sources":["../src/manager-flow.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { signBase64Transaction } from './signing.js';
2
- import { submitSignedTx } from './submit.js';
2
+ import { submitSignedTx, BlockhashExpiredError } from './submit.js';
3
3
  /** On-chain rebalance cooldown (5s) — keep a small margin so back-to-back legs
4
4
  * never trip `HARD_MIN_REBALANCE_INTERVAL_SECS`. */
5
5
  const REBALANCE_COOLDOWN_MS = 6_000;
@@ -168,12 +168,55 @@ export async function runRebalanceToTargets(config, api, vault, maxSlippageBps)
168
168
  * passes (`VaultAssetsNotDecommissioned`/`MintNotInBasket` avoided). A config
169
169
  * change ALWAYS converges — never config-only.
170
170
  */
171
- export async function runReconfigure(config, api, vault, targets, maxSlippageBps) {
171
+ export async function runReconfigure(config, api, vault, targets, maxSlippageBps,
172
+ // TEST SEAM (production-unaffected): the two sub-steps that touch the real
173
+ // signing/RPC stack are injectable so the resumable-drain control flow can be
174
+ // unit-tested without a wallet or a validator. Both default to the real
175
+ // functions, so every production caller is byte-identical.
176
+ _deps) {
177
+ const submitLegs = _deps?.submitConvergeLegs ?? submitConvergeLegs;
178
+ const updateAssets = _deps?.runUpdateVaultAssets ?? runUpdateVaultAssets;
172
179
  // Client-side guard mirrors the API + contract (Σ bps == 10000, ≤15, no dupes).
173
180
  validateManagerBasket(targets.map((t) => ({ mint: t.mint, symbol: t.symbol, mintBps: t.allocationBps })));
174
181
  const prepared = await api.prepareReconfigure(vault, targets, maxSlippageBps);
175
- // (1) Drain the removed assets to ~0 (each its own admin-signed execute_rebalance).
176
- const drainSignatures = await submitConvergeLegs(config, api, prepared.drainTxs, prepared.preparedTxIds);
182
+ // (1) Drain the removed assets to ~0, RESILIENT to mid-sequence blockhash expiry
183
+ // (#57 repro 3). The drain legs are pre-prepared with blockhashes from the
184
+ // same instant, but submit sequentially over ~50s+, so late legs could expire
185
+ // ("Blockhash not found") leaving a PARTIAL drain. That partial state is
186
+ // CONSISTENT + RESUMABLE — `update_vault_assets` (step 2) hasn't run, so the
187
+ // config is still the OLD basket — and `prepareReconfigure` is IDEMPOTENT
188
+ // (it recomputes drains from CURRENT holdings, skipping already-drained ~0
189
+ // legs). So on a transient expiry we re-prepare the REMAINING drains afresh
190
+ // and continue, instead of throwing a half-done reconfigure. A non-transient
191
+ // error (a real revert) is NOT retried — it surfaces the resumable guidance.
192
+ const drainSignatures = [];
193
+ let drainTxs = prepared.drainTxs;
194
+ let drainTxIds = prepared.preparedTxIds;
195
+ const MAX_DRAIN_ROUNDS = 4;
196
+ for (let round = 1; drainTxs.length > 0; round++) {
197
+ try {
198
+ const sigs = await submitLegs(config, api, drainTxs, drainTxIds);
199
+ drainSignatures.push(...sigs);
200
+ break; // all remaining drains landed
201
+ }
202
+ catch (e) {
203
+ const msg = e instanceof Error ? e.message : String(e);
204
+ const transient = e instanceof BlockhashExpiredError ||
205
+ /blockhash.*not found|block height exceeded|was not confirmed|expired/i.test(msg);
206
+ if (!transient || round >= MAX_DRAIN_ROUNDS) {
207
+ throw new Error(`${msg}\nReconfigure drain did not finish — but the basket CONFIG was NOT changed ` +
208
+ `(update_vault_assets runs only AFTER all drains), so holdings are consistent and this ` +
209
+ `is RESUMABLE: call reconfigure again (same targets) to drain the remainder, then it ` +
210
+ `proceeds. No rollback needed; no value left the basket.`);
211
+ }
212
+ // Transient expiry mid-sequence — re-prepare the REMAINING drains (fresh
213
+ // blockhashes) from current holdings and retry. Already-drained legs are ~0
214
+ // now, so the recomputed plan skips them.
215
+ const reprepared = await api.prepareReconfigure(vault, targets, maxSlippageBps);
216
+ drainTxs = reprepared.drainTxs;
217
+ drainTxIds = reprepared.preparedTxIds;
218
+ }
219
+ }
177
220
  // (2) Full-replace the basket targets. After the drains confirm, the removed
178
221
  // mints hold ~0 so update_vault_assets accepts dropping them. Reuse the
179
222
  // existing assets-prepare → sign → submit → confirm path.
@@ -182,7 +225,7 @@ export async function runReconfigure(config, api, vault, targets, maxSlippageBps
182
225
  symbol: t.symbol,
183
226
  mintBps: t.allocationBps,
184
227
  }));
185
- const updateRes = await runUpdateVaultAssets(config, api, vault, newAssets);
228
+ const updateRes = await updateAssets(config, api, vault, newAssets);
186
229
  return {
187
230
  ok: true,
188
231
  vault,
@@ -1 +1 @@
1
- {"version":3,"file":"manager-flow.js","sourceRoot":"","sources":["../src/manager-flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager-flow.js","sourceRoot":"","sources":["../src/manager-flow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=manager-flow.reconfigure.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager-flow.reconfigure.test.d.ts","sourceRoot":"","sources":["../src/manager-flow.reconfigure.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,153 @@
1
+ /**
2
+ * #57 reconfigure-drain resilience regression
3
+ * (runnable: `npx tsx agent/src/manager-flow.reconfigure.test.ts`).
4
+ *
5
+ * The agent package has no jest runner — this is a self-contained assertion
6
+ * script (exit 1 on failure), same pattern as `zap-v2-flow.pending.test.ts`.
7
+ *
8
+ * Locks the #57 (commit f99b870) `runReconfigure` drain control flow that shipped
9
+ * WITHOUT a named regression test. The fix makes the removed-asset DRAIN phase
10
+ * resilient to a mid-sequence blockhash expiry:
11
+ *
12
+ * CASE A (TRANSIENT → re-prep): a `BlockhashExpiredError` from `submitConvergeLegs`
13
+ * mid-sequence is RECOVERABLE — `update_vault_assets` (the basket drop) has NOT
14
+ * run yet, so holdings are consistent and `prepareReconfigure` is idempotent.
15
+ * The driver re-calls `prepareReconfigure` for the REMAINING drains (≤4 rounds)
16
+ * and continues. `update_vault_assets` runs exactly ONCE, only AFTER all drains.
17
+ *
18
+ * CASE B (NON-TRANSIENT → NO retry): a real revert (e.g. `0x1793`) is NOT retried
19
+ * — `prepareReconfigure` is called exactly ONCE (no double-drain), `runReconfigure`
20
+ * rejects, and the error message contains "RESUMABLE" guidance.
21
+ *
22
+ * To drive `submitConvergeLegs`'s outcome without the real signing/RPC stack, the
23
+ * test uses the minimal `_deps` seam added to `runReconfigure` (injectable
24
+ * `submitConvergeLegs` + `runUpdateVaultAssets`, both defaulting to the real fns so
25
+ * production is byte-identical).
26
+ */
27
+ import { runReconfigure } from './manager-flow.js';
28
+ import { BlockhashExpiredError } from './submit.js';
29
+ const VAULT = 'Vau1t1111111111111111111111111111111111111';
30
+ // Two real-ish mints; allocations must sum to 10000 (validateManagerBasket).
31
+ const MINT_KEEP = 'So11111111111111111111111111111111111111112';
32
+ const MINT_ADD = 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v';
33
+ const TARGETS = [
34
+ { mint: MINT_KEEP, symbol: 'SOL', allocationBps: 6000 },
35
+ { mint: MINT_ADD, symbol: 'USDC', allocationBps: 4000 },
36
+ ];
37
+ function drainLeg(i) {
38
+ return {
39
+ kind: 'drain',
40
+ inputMint: `Drain${i}1111111111111111111111111111111111111`.slice(0, 43),
41
+ outputMint: MINT_ADD,
42
+ amountIn: '1000000',
43
+ minOut: '0',
44
+ valueUsdc: 1,
45
+ slippageBps: 300,
46
+ transaction: 'AA==',
47
+ blockhash: '11111111111111111111111111111111',
48
+ lastValidBlockHeight: 1,
49
+ };
50
+ }
51
+ function reconfigureResponse(drainTxs) {
52
+ return {
53
+ vaultAddress: VAULT,
54
+ gavUsdc: 100,
55
+ plan: {
56
+ diff: { reweight: [], add: [MINT_ADD], remove: ['DriX'], isCompositionChange: true },
57
+ steps: [],
58
+ reweight: [],
59
+ maxSlippageBps: 300,
60
+ gavUsdc: 100,
61
+ },
62
+ drainTxs,
63
+ transactions: drainTxs.map((d) => d.transaction),
64
+ preparedTxIds: drainTxs.map((_, i) => `prep-${i}`),
65
+ note: '',
66
+ };
67
+ }
68
+ let failures = 0;
69
+ function assert(cond, msg) {
70
+ if (!cond) {
71
+ console.error(` ✗ ${msg}`);
72
+ failures++;
73
+ }
74
+ else {
75
+ console.log(` ✓ ${msg}`);
76
+ }
77
+ }
78
+ async function caseTransient() {
79
+ console.log('case A: TRANSIENT blockhash expiry mid-drain → re-prep remaining + continue');
80
+ let prepareCalls = 0;
81
+ // Round 1: two drain legs. Round 2 (after the transient): one remaining leg.
82
+ const api = {
83
+ prepareReconfigure: async () => {
84
+ prepareCalls++;
85
+ return prepareCalls === 1
86
+ ? reconfigureResponse([drainLeg(1), drainLeg(2)])
87
+ : reconfigureResponse([drainLeg(2)]); // one leg left
88
+ },
89
+ };
90
+ let submitCalls = 0;
91
+ let updateCalls = 0;
92
+ const submitConvergeLegs = async (_c, _a, legs) => {
93
+ submitCalls++;
94
+ if (submitCalls === 1) {
95
+ // First call: expire mid-sequence (a transient, recoverable failure).
96
+ throw new BlockhashExpiredError('Blockhash not found / window expired');
97
+ }
98
+ // Second call (round 2): the remaining drains land.
99
+ return legs.map((_, i) => `drainSig-${submitCalls}-${i}`);
100
+ };
101
+ const runUpdateVaultAssets = async () => {
102
+ updateCalls++;
103
+ return { ok: true, vault: VAULT, signature: 'updateSig111', message: 'updated' };
104
+ };
105
+ const res = await runReconfigure({}, api, VAULT, TARGETS, 300, { submitConvergeLegs: submitConvergeLegs, runUpdateVaultAssets: runUpdateVaultAssets });
106
+ assert(prepareCalls === 2, `prepareReconfigure called 2× (re-prepped remaining drains) — got ${prepareCalls}`);
107
+ assert(submitCalls === 2, `submitConvergeLegs called 2× (retry after transient) — got ${submitCalls}`);
108
+ assert(updateCalls === 1, `update_vault_assets ran exactly 1× — got ${updateCalls}`);
109
+ assert(res.ok === true, `result.ok === true — got ${res.ok}`);
110
+ // The basket drop ran AFTER the drains completed (1 update, both drain rounds done).
111
+ assert(res.drainSignatures.length === 1, `drain signatures from the successful round — got ${res.drainSignatures.length}`);
112
+ }
113
+ async function caseNonTransient() {
114
+ console.log('case B: NON-TRANSIENT revert mid-drain → NO retry, reject with RESUMABLE guidance');
115
+ let prepareCalls = 0;
116
+ const api = {
117
+ prepareReconfigure: async () => {
118
+ prepareCalls++;
119
+ return reconfigureResponse([drainLeg(1), drainLeg(2)]);
120
+ },
121
+ };
122
+ let updateCalls = 0;
123
+ const submitConvergeLegs = async () => {
124
+ // A real on-chain revert — NOT transient. Must NOT be retried.
125
+ throw new Error('custom program error: 0x1793');
126
+ };
127
+ const runUpdateVaultAssets = async () => {
128
+ updateCalls++;
129
+ throw new Error('update_vault_assets MUST NOT run after a failed drain');
130
+ };
131
+ let caught;
132
+ try {
133
+ await runReconfigure({}, api, VAULT, TARGETS, 300, { submitConvergeLegs: submitConvergeLegs, runUpdateVaultAssets: runUpdateVaultAssets });
134
+ }
135
+ catch (e) {
136
+ caught = e;
137
+ }
138
+ assert(caught !== undefined, 'runReconfigure rejected (did not silently succeed)');
139
+ assert(prepareCalls === 1, `prepareReconfigure called exactly 1× (NO retry → no double-drain) — got ${prepareCalls}`);
140
+ assert(updateCalls === 0, `update_vault_assets did NOT run (basket config unchanged) — got ${updateCalls}`);
141
+ assert(!!caught && /RESUMABLE/.test(caught.message), `error message carries "RESUMABLE" guidance — got: ${caught?.message?.slice(0, 60)}…`);
142
+ assert(!!caught && /0x1793/.test(caught.message), 'error message preserves the original on-chain revert');
143
+ }
144
+ (async () => {
145
+ await caseTransient();
146
+ await caseNonTransient();
147
+ if (failures > 0) {
148
+ console.error(`\n#57 reconfigure-drain regression FAILED (${failures} assertion(s))`);
149
+ process.exit(1);
150
+ }
151
+ console.log('\n#57 reconfigure-drain regression PASSED');
152
+ })();
153
+ //# sourceMappingURL=manager-flow.reconfigure.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager-flow.reconfigure.test.js","sourceRoot":"","sources":["../src/manager-flow.reconfigure.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":";AAquBA;;;;GAIG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAMjD"}
1
+ {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":";AA2uBA;;;;GAIG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAMjD"}
@@ -360,7 +360,10 @@ server.registerTool('deposit', {
360
360
  usdcAmount: rawAmount6dp,
361
361
  slippageBps: z.number().int().min(10).max(1000).optional(),
362
362
  expirySecs: z.number().int().min(60).max(1800).optional(),
363
- pollTimeoutSecs: z.number().int().min(30).max(600).optional(),
363
+ // #61 — max raised 600→1800s; a multi-asset zap with a slow/retrying leg
364
+ // can take many minutes. On timeout the tool returns `settlement:"pending"`
365
+ // (NOT an error) — call deposit again (same args) to resume polling.
366
+ pollTimeoutSecs: z.number().int().min(30).max(1800).optional(),
364
367
  },
365
368
  annotations: { title: 'DFM zap-in deposit', readOnlyHint: false, destructiveHint: true, idempotentHint: true, openWorldHint: true },
366
369
  },
@@ -396,7 +399,10 @@ server.registerTool('redeem', {
396
399
  shares: rawShares6dp,
397
400
  slippageBps: z.number().int().min(10).max(1000).optional(),
398
401
  expirySecs: z.number().int().min(60).max(1800).optional(),
399
- pollTimeoutSecs: z.number().int().min(30).max(600).optional(),
402
+ // #61 — max raised 600→1800s; a 10-asset redeem with a slow leg (e.g.
403
+ // ORCA→USDC) can self-heal over many minutes. On timeout the tool returns
404
+ // `settlement:"pending"` (NOT an error) — call redeem again to resume.
405
+ pollTimeoutSecs: z.number().int().min(30).max(1800).optional(),
400
406
  },
401
407
  annotations: { title: 'DFM zap-out redeem', readOnlyHint: false, destructiveHint: true, idempotentHint: true, openWorldHint: true },
402
408
  },
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;AAC5B,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;AACxC,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE9C,8EAA8E;AAC9E,8EAA8E;AAC9E,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE;IAChC,IAAI,CAAC;QACH,+EAA+E;QAC/E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AAEL,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,EAC3C;IACE,YAAY,EACV,kSAAkS;QAClS,0BAA0B;QAC1B,+QAA+Q;QAC/Q,2CAA2C;QAC3C,gPAAgP;QAChP,kGAAkG;QAClG,0PAA0P;QAC1P,+BAA+B;QAC/B,wbAAwb;QACxb,8QAA8Q;QAC9Q,mEAAmE;QACnE,o7BAAo7B;QACp7B,ikBAAikB;QACjkB,iKAAiK;QACjK,0JAA0J;QAC1J,+FAA+F;QAC/F,6LAA6L;QAC7L,sBAAsB;QACtB,qMAAqM;QACrM,mHAAmH;QACnH,2SAA2S;CAC9S,CACF,CAAC;AAEF,MAAM,MAAM,GAAG,+BAA+B,CAAC;AAC/C,MAAM,UAAU,GAAG,iBAAiB,CAAC,CAAC,iDAAiD;AAEvF;;;;;;;;GAQG;AACH,MAAM,cAAc,GAAG,QAAU,CAAC;AAClC,MAAM,YAAY,GAAG,CAAC;KACnB,MAAM,EAAE;KACR,KAAK,CAAC,UAAU,EAAE,mDAAmD,CAAC;KACtE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE;IAC1C,OAAO,EACL,6GAA6G;CAChH,CAAC,CAAC;AAEL;;;;;;GAMG;AACH,MAAM,cAAc,GAAG,MAAO,CAAC;AAC/B,MAAM,YAAY,GAAG,CAAC;KACnB,MAAM,EAAE;KACR,KAAK,CAAC,UAAU,EAAE,yDAAyD,CAAC;KAC5E,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE;IAC1C,OAAO,EACL,uGAAuG;CAC1G,CAAC,CAAC;AAEL,MAAM,IAAI,GAAG,CAAC,GAAY,EAAE,EAAE,CAAC,CAAC;IAC9B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;CACzG,CAAC,CAAC;AACH,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC;IAChC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAC/C,OAAO,EAAE,IAAI;CACd,CAAC,CAAC;AAEH,4EAA4E;AAE5E,MAAM,CAAC,YAAY,CACjB,WAAW,EACX;IACE,KAAK,EAAE,iBAAiB;IACxB,WAAW,EACT,2EAA2E;QAC3E,6EAA6E;QAC7E,+EAA+E;IACjF,WAAW,EAAE;QACX,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;QACvD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;KACvD;IACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;CACzD,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;IACb,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpC,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,IAAI,EAAE,CAAC,CAAC,SAAS;YACjB,MAAM,EAAE,CAAC,CAAC,WAAW;YACrB,IAAI,EAAE,CAAC,CAAC,OAAO;YACf,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC1E,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,IAAI,EAAE;gBACJ,QAAQ,EAAE,CAAC,CAAC,WAAW;gBACvB,OAAO,EAAE,CAAC,CAAC,UAAU;aACtB;YACD,MAAM,EAAE,CAAC,CAAC,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7C,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,aAAa,EAAE,CAAC,CAAC,aAAa;aAC/B,CAAC,CAAC;SACJ,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;IACxF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,OAAO,CAAC,qBAAsB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC,CACF,CAAC;AAEF,4EAA4E;AAE5E,MAAM,CAAC,YAAY,CACjB,WAAW,EACX;IACE,KAAK,EAAE,kBAAkB;IACzB,WAAW,EACT,0EAA0E;QAC1E,8EAA8E;QAC9E,8CAA8C;IAChD,WAAW,EAAE;QACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,8BAA8B,CAAC;KAClE;IACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;CACzD,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,OAAO,CAAC,qBAAsB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC,CACF,CAAC;AAEF,4EAA4E;AAE5E,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;IACE,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EACT,sEAAsE;QACtE,6EAA6E;QAC7E,4EAA4E;QAC5E,6EAA6E;QAC7E,kEAAkE;IACpE,WAAW,EAAE;QACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,8BAA8B,CAAC;QAC/D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,4BAA4B,CAAC;KAC7D;IACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;CACzD,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,4CAA4C,EAAE,CAAC,CAAC;IAC3F,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,OAAO,CAAC,sBAAuB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC,CACF,CAAC;AAEF,4EAA4E;AAE5E,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;IACE,KAAK,EAAE,gCAAgC;IACvC,WAAW,EACT,0EAA0E;QAC1E,+EAA+E;QAC/E,+EAA+E;QAC/E,8DAA8D;IAChE,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;CACzD,EACD,KAAK,IAAI,EAAE;IACT,IAAI,CAAC;QACH,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC7C,GAAG,CAAC,qBAAqB,EAAE;YAC3B,GAAG,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SAC5C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,OAAO,CAAC,yBAA0B,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;AACH,CAAC,CACF,CAAC;AAEF,4EAA4E;AAE5E,MAAM,CAAC,YAAY,CACjB,QAAQ,EACR;IACE,KAAK,EAAE,gCAAgC;IACvC,WAAW,EACT,wEAAwE;QACxE,6EAA6E;QAC7E,qEAAqE;QACrE,gFAAgF;IAClF,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;CACzD,EACD,KAAK,IAAI,EAAE;IACT,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,sCAAsC;QAC5E,IAAI,MAAM,GAAY,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QACjE,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,8BAA8B;QAChC,CAAC;QACD,OAAO,IAAI,CAAC;YACV,MAAM;YACN,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YACrC,UAAU,EAAE,MAAM;YAClB,IAAI,EACF,6EAA6E;gBAC7E,2EAA2E;gBAC3E,qFAAqF;SACxF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,OAAO,CAAC,kBAAmB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC,CACF,CAAC;AAEF,2EAA2E;AAC3E,uEAAuE;AACvE,gEAAgE;AAChE,2EAA2E;AAE3E,MAAM,kBAAkB,GACtB,kFAAkF;IAClF,iFAAiF;IACjF,iFAAiF;IACjF,mDAAmD,CAAC;AAEtD,SAAS,SAAS;IAChB,IAAI,CAAC,MAAM,CAAC,YAAY;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACpF,gFAAgF;IAChF,6EAA6E;IAC7E,8EAA8E;IAC9E,qEAAqE;IACrE,8DAA8D;IAC9D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,6EAA6E;AAE7E,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;IACE,KAAK,EAAE,6BAA6B;IACpC,WAAW,EACT,6EAA6E;QAC7E,4EAA4E;QAC5E,4EAA4E;QAC5E,4EAA4E;QAC5E,6EAA6E;QAC7E,+EAA+E;QAC/E,8EAA8E;QAC9E,0EAA0E;QAC1E,4EAA4E;QAC5E,iEAAiE;QACjE,4DAA4D;IAC9D,WAAW,EAAE;QACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;aACP,KAAK,CAAC,eAAe,EAAE,sCAAsC,CAAC;QACjE,MAAM,EAAE,CAAC;aACN,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,qBAAqB,CAAC;YACrD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;SAClD,CAAC,CACH;aACA,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;QACV,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE;QACrE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QACrC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;QAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;KAC5C;IACD,WAAW,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;CAClI;AACD,gEAAgE;AAChE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE;IAC9E,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;IACzB,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE;YAC5C,IAAI;YACJ,MAAM;YACN,8DAA8D;YAC9D,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,OAAO,EAAE,CAAC,CAAC,aAAa;aACzB,CAAC,CAAC;YACH,OAAO;YACP,QAAQ;YACR,WAAW;YACX,WAAW;SACZ,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,OAAO,CAAC,wBAAyB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC;AACH,CAAC,CACF,CAAC;AAEF,6EAA6E;AAE7E,MAAM,CAAC,YAAY,CACjB,SAAS,EACT;IACE,KAAK,EAAE,yCAAyC;IAChD,WAAW,EACT,8EAA8E;QAC9E,4EAA4E;QAC5E,6EAA6E;QAC7E,8EAA8E;QAC9E,oEAAoE;IACtE,WAAW,EAAE;QACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,8BAA8B,CAAC;QAC/D,UAAU,EAAE,YAAY;QACxB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;QAC1D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;QACzD,yEAAyE;QACzE,4EAA4E;QAC5E,qEAAqE;QACrE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;KAC/D;IACD,WAAW,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;CACpI;AACD,gEAAgE;AAChE,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE,EAAE;IACxE,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;IACzB,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC;QACnC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE;YACjE,WAAW;YACX,UAAU;YACV,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS;SACrE,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,OAAO,CACZ,mBAAoB,CAAW,CAAC,OAAO,IAAI;YACzC,6EAA6E;YAC7E,4EAA4E,CAC/E,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AAEF,6EAA6E;AAE7E,MAAM,CAAC,YAAY,CACjB,QAAQ,EACR;IACE,KAAK,EAAE,0CAA0C;IACjD,WAAW,EACT,6EAA6E;QAC7E,yEAAyE;QACzE,8EAA8E;QAC9E,4DAA4D;IAC9D,WAAW,EAAE;QACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,8BAA8B,CAAC;QAC/D,MAAM,EAAE,YAAY;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;QAC1D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;QACzD,sEAAsE;QACtE,0EAA0E;QAC1E,uEAAuE;QACvE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;KAC/D;IACD,WAAW,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;CACpI;AACD,gEAAgE;AAChE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE,EAAE;IACpE,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;IACzB,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC;QACnC,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;YAC5D,WAAW;YACX,UAAU;YACV,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS;SACrE,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,OAAO,CACZ,kBAAmB,CAAW,CAAC,OAAO,IAAI;YACxC,6EAA6E;YAC7E,0CAA0C,CAC7C,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AAEF,6EAA6E;AAC7E,gFAAgF;AAChF,iFAAiF;AACjF,gFAAgF;AAChF,gEAAgE;AAEhE,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;IACE,KAAK,EAAE,mDAAmD;IAC1D,WAAW,EACT,uEAAuE;QACvE,gFAAgF;QAChF,gFAAgF;QAChF,8EAA8E;IAChF,WAAW,EAAE;QACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,8BAA8B,CAAC;KAChE;IACD,WAAW,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;CACnI;AACD,gEAAgE;AAChE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IAClB,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;IACzB,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,OAAO,CAAC,yBAA0B,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;AACH,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;IACE,KAAK,EAAE,iDAAiD;IACxD,WAAW,EACT,6EAA6E;QAC7E,4EAA4E;QAC5E,uEAAuE;QACvE,2EAA2E;QAC3E,+EAA+E;QAC/E,mFAAmF;IACrF,WAAW,EAAE;QACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,8BAA8B,CAAC;QAC/D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC/C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;QAC5D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;KACzD;IACD,WAAW,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;CAC5I;AACD,gEAAgE;AAChE,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,EAAE;IACzD,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;IACzB,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE;YAC7E,SAAS;YACT,cAAc;YACd,UAAU;SACX,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,OAAO,CAAC,kCAAmC,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC,CACF,CAAC;AAEF,oFAAoF;AACpF,+EAA+E;AAC/E,kFAAkF;AAClF,8EAA8E;AAC9E,iEAAiE;AACjE,iFAAiF;AAEjF,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;IACE,KAAK,EAAE,qDAAqD;IAC5D,WAAW,EACT,6EAA6E;QAC7E,0EAA0E;QAC1E,6EAA6E;QAC7E,qEAAqE;QACrE,2EAA2E;QAC3E,iFAAiF;QACjF,yEAAyE;QACzE,8EAA8E;QAC9E,6EAA6E;QAC7E,yEAAyE;QACzE,8EAA8E;QAC9E,wDAAwD;IAC1D,WAAW,EAAE;QACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,8BAA8B,CAAC;QAC/D,MAAM,EAAE,CAAC;aACN,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,qBAAqB,CAAC;YACrD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,yEAAyE;YACzE,uEAAuE;YACvE,iDAAiD;YACjD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;YACjD,wEAAwE;YACxE,8DAA8D;YAC9D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;YACvC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;SACrD,CAAC,CACH;aACA,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;QACV,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;KACzD;IACD,WAAW,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;CACvI;AACD,0EAA0E;AAC1E,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE;IACvC,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;IACzB,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,cAAc,CAC9B,MAAM,EACN,GAAG,EACH,KAAK,EACL,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,aAAa,EAAE,CAAC,CAAC,aAAa;YAC9B,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC,CAAC,EACH,WAAW,CACZ,CAAC;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,OAAO,CAAC,6CAA8C,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACtF,CAAC;AACH,CAAC,CACF,CAAC;AAEF,6EAA6E;AAE7E,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;IACE,KAAK,EAAE,iDAAiD;IACxD,WAAW,EACT,8EAA8E;QAC9E,yEAAyE;QACzE,0EAA0E;QAC1E,4EAA4E;QAC5E,+EAA+E;QAC/E,iDAAiD;IACnD,WAAW,EAAE;QACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,8BAA8B,CAAC;QAC/D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,kCAAkC,CAAC;KACvE;IACD,WAAW,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;CACpI;AACD,0EAA0E;AAC1E,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5B,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;IACzB,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,OAAO,CAAC,0BAA2B,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACnE,CAAC;AACH,CAAC,CACF,CAAC;AAEF,gFAAgF;AAEhF,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;IACE,KAAK,EAAE,wDAAwD;IAC/D,WAAW,EACT,6EAA6E;QAC7E,6EAA6E;QAC7E,8EAA8E;QAC9E,+EAA+E;QAC/E,+EAA+E;QAC/E,wEAAwE;IAC1E,WAAW,EAAE;QACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,8BAA8B,CAAC;KAChE;IACD,WAAW,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;CACtI,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IAClB,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;IACzB,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,OAAO,CAAC,2BAA4B,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC;AACH,CAAC,CACF,CAAC;AAEF,iFAAiF;AACjF,kFAAkF;AAClF,gFAAgF;AAChF,2EAA2E;AAC3E,0EAA0E;AAC1E,sEAAsE;AACtE,mDAAmD;AAEnD,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;IACE,KAAK,EAAE,oDAAoD;IAC3D,WAAW,EACT,6EAA6E;QAC7E,4EAA4E;QAC5E,0EAA0E;QAC1E,8EAA8E;QAC9E,+EAA+E;QAC/E,2EAA2E;QAC3E,4EAA4E;QAC5E,+EAA+E;QAC/E,gFAAgF;QAChF,2EAA2E;QAC3E,iFAAiF;QACjF,iFAAiF;QACjF,sDAAsD;IACxD,WAAW,EAAE;QACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,8BAA8B,CAAC;QAC/D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;KACzD;IACD,WAAW,EAAE,EAAE,KAAK,EAAE,0BAA0B,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;CAC1I;AACD,2EAA2E;AAC3E,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE;IAC/B,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;IACzB,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,OAAO,CAAC,gCAAiC,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;AACH,CAAC,CACF,CAAC;AAEF,6EAA6E;AAE7E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,4DAA4D;IAC5D,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACpD,OAAO,CAAC,KAAK,CAAC,QAAQ,MAAM,CAAC,MAAM,eAAe,MAAM,CAAC,OAAO,aAAa,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;AAC1H,CAAC;AAED,oEAAoE;AACpE,6EAA6E;AAC7E,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,kEAAkE;AAClE,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE;IACzB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AAEL,IAAI,YAAY,EAAE,CAAC;IACjB,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QAC1B,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -40,11 +40,24 @@ export interface ZapFlowResult {
40
40
  vault: string;
41
41
  /** 'deposit' | 'redeem' */
42
42
  kind: 'deposit' | 'redeem';
43
+ /**
44
+ * #61 — 'complete' = escrow closed/settled (shares minted / USDC paid).
45
+ * 'pending' = the poll window elapsed but the escrow is STILL OPEN and
46
+ * self-healing (the backend orchestrator keeps cranking) — this is NOT a
47
+ * failure; call the same tool again (same args) to RESUME polling to close.
48
+ */
49
+ settlement: 'complete' | 'pending';
43
50
  openSignatures: string[];
44
51
  closeSignatures: string[];
45
52
  escrowPda: string;
46
53
  /** Final escrow status snapshot just before close (for diagnostics). */
47
54
  finalStatus?: ZapV2Status | null;
55
+ /** Present only when settlement==='pending' — progress + why it's pending. */
56
+ pending?: {
57
+ reason: 'timeout' | 'expired' | 'gone';
58
+ legsFilled: number;
59
+ legsTotal: number;
60
+ };
48
61
  message: string;
49
62
  }
50
63
  interface PollOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"zap-v2-flow.d.ts","sourceRoot":"","sources":["../src/zap-v2-flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAwB,MAAM,YAAY,CAAC;AAQpE,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC3B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,WAAW;IACnB,iEAAiE;IACjE,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;CACtB;AA0KD;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;CAAE,GAChF,OAAO,CAAC,aAAa,CAAC,CAmExB;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;CAAE,GAChF,OAAO,CAAC,aAAa,CAAC,CAkDxB"}
1
+ {"version":3,"file":"zap-v2-flow.d.ts","sourceRoot":"","sources":["../src/zap-v2-flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAwB,MAAM,YAAY,CAAC;AAQpE,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC3B;;;;;OAKG;IACH,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;IACnC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,8EAA8E;IAC9E,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5F,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,WAAW;IACnB,iEAAiE;IACjE,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;CACtB;AA0ND;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;CAAE,GAChF,OAAO,CAAC,aAAa,CAAC,CAwExB;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;CAAE,GAChF,OAAO,CAAC,aAAa,CAAC,CAuDxB"}
@@ -1,6 +1,10 @@
1
1
  import { signBase64Transaction } from './signing.js';
2
2
  import { submitSignedTxsSequential, BlockhashExpiredError, BroadcastUnconfirmedError, } from './submit.js';
3
- const DEFAULT_POLL = { timeoutSecs: 180, intervalSecs: 4 };
3
+ // #61 default poll window. Was 180s; a 10-asset redeem with a slow/retrying
4
+ // leg (e.g. ORCA→USDC) can take many minutes to self-heal, so a hard error at
5
+ // 180/300s misreported a still-settling redeem as failed. Raised to 600s, and on
6
+ // timeout we now return `pending` (resume-able) instead of throwing.
7
+ const DEFAULT_POLL = { timeoutSecs: 600, intervalSecs: 4 };
4
8
  async function sleep(secs) {
5
9
  await new Promise((r) => setTimeout(r, secs * 1000));
6
10
  }
@@ -100,32 +104,69 @@ async function closeWithRetry(config, api, prepareClose, confirmClosed, attempts
100
104
  `or inspect with zap_status.`);
101
105
  }
102
106
  /**
103
- * Poll `zap-v2/status` until the escrow is `readyToClose`, it expires, or we
104
- * time out. Returns the last status seen. Throws on expiry/timeout so the caller
105
- * can surface a clear recovery hint (update-envelope / cancel).
107
+ * Poll `zap-v2/status` until the escrow is `readyToClose`, it expires, it
108
+ * disappears (settled/cancelled), or we time out. #61: returns a structured
109
+ * {@link PollResult} it NO LONGER throws on timeout/expiry, so the caller can
110
+ * surface a resume-able `pending` instead of a misleading hard error (a redeem
111
+ * that out-runs the poll window is still self-healing, not failed).
106
112
  */
107
113
  async function pollUntilReady(api, vault, user, poll) {
108
114
  const deadline = Date.now() + poll.timeoutSecs * 1000;
109
115
  let last = null;
116
+ let sawOpen = false; // have we observed the escrow OPEN at least once this poll?
110
117
  while (Date.now() < deadline) {
111
118
  last = await api.getZapV2Status(vault, user);
112
119
  if (!last) {
113
- throw new Error('Escrow disappeared during polling (cancelled or already closed?).');
120
+ // A null read is ambiguous: (a) the escrow SETTLED + closed (the backend
121
+ // keeper finished it — the #61 success case), OR (b) a freshly-opened escrow
122
+ // hasn't propagated to this RPC node yet (create→use race, failure-class ⑥).
123
+ // Only conclude 'gone/settled' once we've ACTUALLY seen it open this poll;
124
+ // otherwise it's still propagating — keep waiting (falls through to 'timeout'
125
+ // if it truly never appears). This stops a just-opened deposit from being
126
+ // mis-reported as "settled automatically" while the funds sit in escrow.
127
+ if (sawOpen)
128
+ return { ready: false, reason: 'gone', status: null };
129
+ await sleep(poll.intervalSecs);
130
+ continue;
114
131
  }
132
+ sawOpen = true;
115
133
  if (last.readyToClose)
116
- return last;
117
- if (last.isExpired) {
118
- throw new Error(`Escrow expired before all legs filled (${last.legsFilled}/${last.legsTotal}). ` +
119
- `Use zap_v2_cancel to recover the held funds, or zap_v2_update_envelope to ` +
120
- `loosen floors and retry.`);
121
- }
134
+ return { ready: true, status: last };
135
+ if (last.isExpired)
136
+ return { ready: false, reason: 'expired', status: last };
122
137
  await sleep(poll.intervalSecs);
123
138
  }
124
- const tail = last
125
- ? `${last.legsFilled}/${last.legsTotal} legs filled; lastFailures=${JSON.stringify(last.legFailures)}`
126
- : 'no status';
127
- throw new Error(`Timed out after ${poll.timeoutSecs}s waiting for the orchestrator to fill all legs (${tail}). ` +
128
- `The escrow is still open — poll zap_status, then zap_v2_update_envelope or zap_v2_cancel.`);
139
+ return { ready: false, reason: 'timeout', status: last };
140
+ }
141
+ /** Build the non-fatal `pending` ZapFlowResult (#61) — escrow still open / self-healing. */
142
+ function pendingResult(kind, vault, escrowPda, openSignatures, pr) {
143
+ const legsFilled = pr.status?.legsFilled ?? 0;
144
+ const legsTotal = pr.status?.legsTotal ?? 0;
145
+ const verb = kind === 'redeem' ? 'redeem' : 'deposit';
146
+ const why = pr.reason === 'gone'
147
+ ? `The escrow is no longer open — most likely it SETTLED (the backend keeper closed it ` +
148
+ `after cranking the legs) or was cancelled. Verify with get_portfolio / your balances ` +
149
+ `before assuming completion.`
150
+ : pr.reason === 'expired'
151
+ ? `The escrow passed its expiry with ${legsFilled}/${legsTotal} legs filled. The backend ` +
152
+ `stall-recovery may STILL settle it automatically (it loosens floors + extends expiry) — ` +
153
+ `call ${verb} again (same args) to resume polling. If it stays stuck, use ` +
154
+ `zap_v2_update_envelope (loosen floors) or zap_v2_cancel (recover holdings).`
155
+ : `Still cranking: ${legsFilled}/${legsTotal} legs filled. The escrow is OPEN and ` +
156
+ `self-healing — this is NOT a failure. Call ${verb} again (same args) to RESUME polling ` +
157
+ `to completion (consider a larger pollTimeoutSecs), or inspect with zap_status.`;
158
+ return {
159
+ ok: true,
160
+ vault,
161
+ kind,
162
+ settlement: 'pending',
163
+ openSignatures,
164
+ closeSignatures: [],
165
+ escrowPda,
166
+ finalStatus: pr.status ?? null,
167
+ pending: { reason: pr.reason, legsFilled, legsTotal },
168
+ message: `${verb.toUpperCase()} PENDING (not failed). ${why}`,
169
+ };
129
170
  }
130
171
  /**
131
172
  * Drive a full DEPOSIT (USDC → basket → shares). `usdcAmountRaw` is 6-dp raw
@@ -168,7 +209,12 @@ export async function runDeposit(config, api, user, vault, usdcAmountRaw, opts)
168
209
  escrowPda = open.escrowPda;
169
210
  }
170
211
  // 2. POLL — wait for the backend orchestrator to crank every USDC→asset leg.
171
- const ready = await pollUntilReady(api, vault, user, poll);
212
+ // #61: on timeout/expiry/auto-settle, return a resume-able `pending` rather
213
+ // than throwing — the escrow keeps self-healing.
214
+ const pr = await pollUntilReady(api, vault, user, poll);
215
+ if (!pr.ready)
216
+ return pendingResult('deposit', vault, escrowPda, openSignatures, pr);
217
+ const ready = pr.status;
172
218
  // 3. CLOSE — mint_in_kind_v2, forward shares, close escrow. Retries on
173
219
  // blockhash expiry (escrow stays READY between attempts).
174
220
  const closeSignatures = await closeWithRetry(config, api, () => api.prepareZapInCloseV2(vault), async () => !(await api.getZapV2Status(vault, user)));
@@ -176,6 +222,7 @@ export async function runDeposit(config, api, user, vault, usdcAmountRaw, opts)
176
222
  ok: true,
177
223
  vault,
178
224
  kind: 'deposit',
225
+ settlement: 'complete',
179
226
  openSignatures,
180
227
  closeSignatures,
181
228
  escrowPda,
@@ -217,7 +264,12 @@ export async function runRedeem(config, api, user, vault, sharesRaw, opts) {
217
264
  escrowPda = open.escrowPda;
218
265
  }
219
266
  // 2. POLL — wait for the orchestrator to crank every asset→USDC leg.
220
- const ready = await pollUntilReady(api, vault, user, poll);
267
+ // #61: a slow/retrying leg (e.g. ORCA→USDC) can self-heal over many minutes;
268
+ // on timeout/expiry/auto-settle return a resume-able `pending`, not an error.
269
+ const pr = await pollUntilReady(api, vault, user, poll);
270
+ if (!pr.ready)
271
+ return pendingResult('redeem', vault, escrowPda, openSignatures, pr);
272
+ const ready = pr.status;
221
273
  // 3. CLOSE — apply exit fee, pay net USDC, close escrow. Retries on blockhash
222
274
  // expiry (escrow stays READY between attempts).
223
275
  const closeSignatures = await closeWithRetry(config, api, () => api.prepareZapOutCloseV2(vault), async () => !(await api.getZapV2Status(vault, user)));
@@ -225,6 +277,7 @@ export async function runRedeem(config, api, user, vault, sharesRaw, opts) {
225
277
  ok: true,
226
278
  vault,
227
279
  kind: 'redeem',
280
+ settlement: 'complete',
228
281
  openSignatures,
229
282
  closeSignatures,
230
283
  escrowPda,
@@ -1 +1 @@
1
- {"version":3,"file":"zap-v2-flow.js","sourceRoot":"","sources":["../src/zap-v2-flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zap-v2-flow.js","sourceRoot":"","sources":["../src/zap-v2-flow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=zap-v2-flow.pending.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zap-v2-flow.pending.test.d.ts","sourceRoot":"","sources":["../src/zap-v2-flow.pending.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * #61 regression (runnable: `npx tsx agent/src/zap-v2-flow.pending.test.ts`).
3
+ *
4
+ * The agent package has no jest runner — this is a self-contained assertion
5
+ * script (exit 1 on failure) covering the #61 contract: when the poll window
6
+ * elapses with the escrow STILL OPEN (or it auto-settled / disappeared), the
7
+ * redeem flow must return `settlement:"pending"` (ok:true) WITHOUT calling the
8
+ * close builder — NOT throw a hard error. On the OLD code `pollUntilReady` threw,
9
+ * so `runRedeem` rejected and `prepareZapOutCloseV2` was never reached either;
10
+ * here we assert the NEW resume-able contract: a resolved pending result + no
11
+ * close attempt.
12
+ */
13
+ import { runRedeem } from './zap-v2-flow.js';
14
+ const VAULT = 'Vau1t1111111111111111111111111111111111111';
15
+ const USER = 'User1111111111111111111111111111111111111111';
16
+ const ESCROW = 'Escrow11111111111111111111111111111111111111';
17
+ function openRedeemStatus() {
18
+ return {
19
+ escrowPda: ESCROW,
20
+ vault: VAULT,
21
+ user: USER,
22
+ mode: 1, // redeem
23
+ state: 4, // PARTIAL_OUT
24
+ nAssets: 10,
25
+ assetMints: [],
26
+ filledMask: 0x1ff, // 9/10
27
+ legProgress: [],
28
+ legsFilled: 9,
29
+ legsTotal: 10,
30
+ readyToClose: false, // never ready within the window
31
+ legFailures: [],
32
+ openedAt: 0,
33
+ expiresAt: 9_999_999_999,
34
+ isExpired: false,
35
+ slippageBps: 300,
36
+ plannedAmountIn: [],
37
+ minOuts: [],
38
+ actualOuts: [],
39
+ inputAmount: '0',
40
+ sharesIn: '1000000',
41
+ minSharesOut: '0',
42
+ minUsdcOut: '0',
43
+ };
44
+ }
45
+ let failures = 0;
46
+ function assert(cond, msg) {
47
+ if (!cond) {
48
+ console.error(` ✗ ${msg}`);
49
+ failures++;
50
+ }
51
+ else {
52
+ console.log(` ✓ ${msg}`);
53
+ }
54
+ }
55
+ async function caseTimeout() {
56
+ console.log('case: poll TIMEOUT with escrow still open → pending (no close)');
57
+ let closeCalled = 0;
58
+ const mockApi = {
59
+ getZapV2Status: async () => openRedeemStatus(),
60
+ prepareZapOutCloseV2: async () => {
61
+ closeCalled++;
62
+ return { transactions: [], blockhash: '', lastValidBlockHeight: 0, escrowPda: ESCROW };
63
+ },
64
+ };
65
+ const res = await runRedeem({}, // config — unused on the pending path
66
+ mockApi, USER, VAULT, '1000000', { poll: { timeoutSecs: 0.3, intervalSecs: 0.1 } });
67
+ assert(res.ok === true, 'result.ok === true (not an error)');
68
+ assert(res.settlement === 'pending', `settlement === 'pending' (got '${res.settlement}')`);
69
+ assert(res.closeSignatures.length === 0, 'no close signatures');
70
+ assert(closeCalled === 0, 'prepareZapOutCloseV2 was NOT called');
71
+ assert(res.pending?.reason === 'timeout', `pending.reason === 'timeout' (got '${res.pending?.reason}')`);
72
+ assert(res.pending?.legsFilled === 9 && res.pending?.legsTotal === 10, 'pending carries 9/10 legs');
73
+ }
74
+ async function caseGone() {
75
+ console.log('case: escrow GONE during poll (auto-settled) → pending/gone (no throw)');
76
+ let calls = 0;
77
+ const mockApi = {
78
+ // resume guard (call 0) + first poll (call 1) see the escrow OPEN, then it
79
+ // disappears (call 2+) = a genuine mid-poll settle. The guard requires having
80
+ // seen it open before concluding 'gone' (so a not-yet-propagated fresh escrow
81
+ // isn't mis-reported) — realistic settle must show it open first.
82
+ getZapV2Status: async () => (calls++ < 2 ? openRedeemStatus() : null),
83
+ prepareZapOutCloseV2: async () => {
84
+ throw new Error('close must not be called on gone');
85
+ },
86
+ };
87
+ const res = await runRedeem({}, mockApi, USER, VAULT, '1000000', { poll: { timeoutSecs: 5, intervalSecs: 0.1 } });
88
+ assert(res.ok === true, 'result.ok === true');
89
+ assert(res.settlement === 'pending', `settlement === 'pending' (got '${res.settlement}')`);
90
+ assert(res.pending?.reason === 'gone', `pending.reason === 'gone' (got '${res.pending?.reason}')`);
91
+ }
92
+ async function caseFreshNullNotGone() {
93
+ console.log('case: null reads WITHOUT ever seeing the escrow open → timeout, NOT gone (race ⑥ guard)');
94
+ let calls = 0;
95
+ const mockApi = {
96
+ // resume guard (call 0) sees it open; every poll read after is null BEFORE the
97
+ // poll loop ever observes it open itself (propagation blip / not-yet-visible).
98
+ // The fix must NOT declare 'gone' here — it keeps waiting → 'timeout'. The OLD
99
+ // code returned 'gone' on the first null, mis-reporting a live escrow as settled.
100
+ getZapV2Status: async () => (calls++ === 0 ? openRedeemStatus() : null),
101
+ prepareZapOutCloseV2: async () => {
102
+ throw new Error('close must not be called');
103
+ },
104
+ };
105
+ const res = await runRedeem({}, mockApi, USER, VAULT, '1000000', { poll: { timeoutSecs: 0.3, intervalSecs: 0.1 } });
106
+ assert(res.settlement === 'pending', `settlement === 'pending' (got '${res.settlement}')`);
107
+ assert(res.pending?.reason === 'timeout', `reason === 'timeout' not 'gone' (got '${res.pending?.reason}')`);
108
+ }
109
+ (async () => {
110
+ await caseTimeout();
111
+ await caseGone();
112
+ await caseFreshNullNotGone();
113
+ if (failures > 0) {
114
+ console.error(`\n#61 regression FAILED (${failures} assertion(s))`);
115
+ process.exit(1);
116
+ }
117
+ console.log('\n#61 regression PASSED');
118
+ })();
119
+ //# sourceMappingURL=zap-v2-flow.pending.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zap-v2-flow.pending.test.js","sourceRoot":"","sources":["../src/zap-v2-flow.pending.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dfm-fi/agent",
3
- "version": "0.2.706",
3
+ "version": "0.2.715",
4
4
  "description": "DFM v2 MCP server — drive the full DTF launch → deposit → redeem (+ manage) lifecycle from an AI agent against the live API.",
5
5
  "type": "module",
6
6
  "bin": {