@dfm-fi/agent 0.2.1846 → 0.2.1849
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 +77 -400
- package/package.json +4 -6
- package/dist/api-client.d.ts.map +0 -1
- package/dist/api-client.js.map +0 -1
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js.map +0 -1
- package/dist/control-flow.test.d.ts +0 -2
- package/dist/control-flow.test.d.ts.map +0 -1
- package/dist/control-flow.test.js +0 -259
- package/dist/control-flow.test.js.map +0 -1
- package/dist/create-flow.d.ts.map +0 -1
- package/dist/create-flow.js.map +0 -1
- package/dist/create-flow.metadata.test.d.ts +0 -2
- package/dist/create-flow.metadata.test.d.ts.map +0 -1
- package/dist/create-flow.metadata.test.js +0 -100
- package/dist/create-flow.metadata.test.js.map +0 -1
- package/dist/examples/fund-app-wallet.d.ts +0 -2
- package/dist/examples/fund-app-wallet.d.ts.map +0 -1
- package/dist/examples/fund-app-wallet.js +0 -39
- package/dist/examples/fund-app-wallet.js.map +0 -1
- package/dist/examples/launch-deposit-redeem.d.ts +0 -2
- package/dist/examples/launch-deposit-redeem.d.ts.map +0 -1
- package/dist/examples/launch-deposit-redeem.js +0 -150
- package/dist/examples/launch-deposit-redeem.js.map +0 -1
- package/dist/examples/list-and-status.d.ts +0 -2
- package/dist/examples/list-and-status.d.ts.map +0 -1
- package/dist/examples/list-and-status.js +0 -66
- package/dist/examples/list-and-status.js.map +0 -1
- package/dist/examples/rebalance-drill.d.ts +0 -2
- package/dist/examples/rebalance-drill.d.ts.map +0 -1
- package/dist/examples/rebalance-drill.js +0 -20
- package/dist/examples/rebalance-drill.js.map +0 -1
- package/dist/examples/recover-app-wallet-assets.d.ts +0 -2
- package/dist/examples/recover-app-wallet-assets.d.ts.map +0 -1
- package/dist/examples/recover-app-wallet-assets.js +0 -86
- package/dist/examples/recover-app-wallet-assets.js.map +0 -1
- package/dist/examples/zap-cycle.d.ts +0 -2
- package/dist/examples/zap-cycle.d.ts.map +0 -1
- package/dist/examples/zap-cycle.js +0 -56
- package/dist/examples/zap-cycle.js.map +0 -1
- package/dist/examples/zap-soak.d.ts +0 -2
- package/dist/examples/zap-soak.d.ts.map +0 -1
- package/dist/examples/zap-soak.js +0 -164
- package/dist/examples/zap-soak.js.map +0 -1
- package/dist/install.d.ts.map +0 -1
- package/dist/install.js.map +0 -1
- package/dist/keyless.d.ts.map +0 -1
- package/dist/keyless.js.map +0 -1
- package/dist/manager-flow.d.ts.map +0 -1
- package/dist/manager-flow.js.map +0 -1
- package/dist/manager-flow.reconfigure.test.d.ts +0 -2
- package/dist/manager-flow.reconfigure.test.d.ts.map +0 -1
- package/dist/manager-flow.reconfigure.test.js +0 -210
- package/dist/manager-flow.reconfigure.test.js.map +0 -1
- package/dist/mcp-server.confirm-gate.test.d.ts +0 -2
- package/dist/mcp-server.confirm-gate.test.d.ts.map +0 -1
- package/dist/mcp-server.confirm-gate.test.js +0 -222
- package/dist/mcp-server.confirm-gate.test.js.map +0 -1
- package/dist/mcp-server.d.ts.map +0 -1
- package/dist/mcp-server.js.map +0 -1
- package/dist/money-path.test.d.ts +0 -2
- package/dist/money-path.test.d.ts.map +0 -1
- package/dist/money-path.test.js +0 -193
- package/dist/money-path.test.js.map +0 -1
- package/dist/recovery-flow.d.ts.map +0 -1
- package/dist/recovery-flow.deadleg.test.d.ts +0 -2
- package/dist/recovery-flow.deadleg.test.d.ts.map +0 -1
- package/dist/recovery-flow.deadleg.test.js +0 -143
- package/dist/recovery-flow.deadleg.test.js.map +0 -1
- package/dist/recovery-flow.js.map +0 -1
- package/dist/session.d.ts.map +0 -1
- package/dist/session.js.map +0 -1
- package/dist/signing.d.ts.map +0 -1
- package/dist/signing.js.map +0 -1
- package/dist/submit.d.ts.map +0 -1
- package/dist/submit.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/wallet-identity.d.ts.map +0 -1
- package/dist/wallet-identity.js.map +0 -1
- package/dist/wallet-identity.test.d.ts +0 -2
- package/dist/wallet-identity.test.d.ts.map +0 -1
- package/dist/wallet-identity.test.js +0 -56
- package/dist/wallet-identity.test.js.map +0 -1
- package/dist/who-pays.test.d.ts +0 -2
- package/dist/who-pays.test.d.ts.map +0 -1
- package/dist/who-pays.test.js +0 -56
- package/dist/who-pays.test.js.map +0 -1
- package/dist/zap-v2-flow.d.ts.map +0 -1
- package/dist/zap-v2-flow.js.map +0 -1
- package/dist/zap-v2-flow.pending.test.d.ts +0 -2
- package/dist/zap-v2-flow.pending.test.d.ts.map +0 -1
- package/dist/zap-v2-flow.pending.test.js +0 -147
- package/dist/zap-v2-flow.pending.test.js.map +0 -1
package/dist/money-path.test.js
DELETED
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MONEY-PATH regressions (runnable: `npx tsx agent/src/money-path.test.ts`).
|
|
3
|
-
*
|
|
4
|
-
* `signing.ts`, `keyless.ts` and `api-client.ts` decide how real money moves and
|
|
5
|
-
* had NO tests. These three lock the parts where being wrong is expensive and
|
|
6
|
-
* silent — each one is a bug that has already happened or was one retry away:
|
|
7
|
-
*
|
|
8
|
-
* 1. `isVersionedTxBytes` — the hand-rolled wire-format sniff that picks
|
|
9
|
-
* `sign()` vs `partialSign()`. Guessing wrong yields "Transaction did not
|
|
10
|
-
* pass signature verification" at BROADCAST time, long after the code that
|
|
11
|
-
* caused it. Both branches are exercised against real byte layouts.
|
|
12
|
-
* 2. "an explicit keypair beats an API key" — recorded in keyless.ts as a past
|
|
13
|
-
* production bug: keying the decision off `config.keypairPath` meant a
|
|
14
|
-
* stray default-path file silently hijacked writes on a machine set up with
|
|
15
|
-
* an API key.
|
|
16
|
-
* 3. The idempotency key is STABLE across a retry of the same terminal write
|
|
17
|
-
* (and DIFFERENT for a different one). A fresh UUID per retry defeats the
|
|
18
|
-
* server's replay cache entirely — that is how a retried launch_vault paid
|
|
19
|
-
* the 1 USDC creation fee twice on mainnet.
|
|
20
|
-
*
|
|
21
|
-
* No keypair, no network, no RPC: byte fixtures + a stub fetch.
|
|
22
|
-
*/
|
|
23
|
-
import { isVersionedTxBytes } from './signing.js';
|
|
24
|
-
import { isKeylessMode, hasExplicitKeypair } from './keyless.js';
|
|
25
|
-
import { DfmApiClient } from './api-client.js';
|
|
26
|
-
let failures = 0;
|
|
27
|
-
function assert(cond, msg) {
|
|
28
|
-
if (!cond) {
|
|
29
|
-
console.error(` ✗ ${msg}`);
|
|
30
|
-
failures++;
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
console.log(` ✓ ${msg}`);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
// ── 1. isVersionedTxBytes ────────────────────────────────────────────────
|
|
37
|
-
console.log('case: isVersionedTxBytes routes v0 vs legacy on real byte layouts');
|
|
38
|
-
{
|
|
39
|
-
// Wire layout: compact-u16 signature count, then `count` × 64 signature bytes,
|
|
40
|
-
// then the message. The message's FIRST byte is the discriminator — high bit
|
|
41
|
-
// set = versioned (0x80 | version), clear = legacy (numRequiredSignatures).
|
|
42
|
-
const tx = (sigCountPrefix, sigs, firstMsgByte) => Buffer.concat([
|
|
43
|
-
Buffer.from(sigCountPrefix),
|
|
44
|
-
Buffer.alloc(sigs * 64),
|
|
45
|
-
Buffer.from([firstMsgByte, 0x01, 0x00, 0x01]),
|
|
46
|
-
]);
|
|
47
|
-
assert(isVersionedTxBytes(tx([1], 1, 0x80)) === true, 'v0 (1 sig, 0x80) → versioned');
|
|
48
|
-
assert(isVersionedTxBytes(tx([1], 1, 0x01)) === false, 'legacy (1 sig, numRequiredSignatures=1) → legacy');
|
|
49
|
-
// The manager endpoints (assets/prepare, transfer-admin) return legacy txs the
|
|
50
|
-
// API has ALREADY partially signed — 2 signature slots, still legacy.
|
|
51
|
-
assert(isVersionedTxBytes(tx([2], 2, 0x02)) === false, 'legacy with 2 sig slots → legacy');
|
|
52
|
-
// An UNSIGNED prepare can carry a zero signature count; the discriminator is
|
|
53
|
-
// then the very next byte and the loop must not skip past it.
|
|
54
|
-
assert(isVersionedTxBytes(tx([0], 0, 0x80)) === true, '0 sigs + 0x80 → versioned');
|
|
55
|
-
assert(isVersionedTxBytes(tx([0], 0, 0x01)) === false, '0 sigs + 0x01 → legacy');
|
|
56
|
-
// Multi-byte compact-u16: 0x80,0x01 = 128. Mis-decoding the continuation bit
|
|
57
|
-
// would land the offset 8KB away from the real discriminator.
|
|
58
|
-
assert(isVersionedTxBytes(tx([0x80, 0x01], 128, 0x80)) === true, 'multi-byte compact-u16 sig count (128) still finds the discriminator');
|
|
59
|
-
// Truncated input must THROW, never guess — a wrong guess signs the wrong way.
|
|
60
|
-
let threw = false;
|
|
61
|
-
try {
|
|
62
|
-
isVersionedTxBytes(Buffer.from([0x01, 0x00]));
|
|
63
|
-
}
|
|
64
|
-
catch {
|
|
65
|
-
threw = true;
|
|
66
|
-
}
|
|
67
|
-
assert(threw, 'truncated bytes throw instead of returning a guess');
|
|
68
|
-
}
|
|
69
|
-
// ── 2. an explicit keypair beats an API key ──────────────────────────────
|
|
70
|
-
console.log('case: an EXPLICIT keypair always wins over DFM_API_KEY');
|
|
71
|
-
{
|
|
72
|
-
const env = { ...process.env };
|
|
73
|
-
const reset = () => {
|
|
74
|
-
delete process.env.DFM_API_KEY;
|
|
75
|
-
delete process.env.DFM_AGENT_KEYPAIR_PATH;
|
|
76
|
-
delete process.env.DFM_AGENT_KEYPAIR_JSON;
|
|
77
|
-
};
|
|
78
|
-
// `config.keypairPath` is populated from a DEFAULT path when that file merely
|
|
79
|
-
// exists — the exact field the old bug keyed off. Keyless must ignore it.
|
|
80
|
-
const cfgWithDefaultKeypair = {
|
|
81
|
-
keypairPath: '/home/someone/.config/dfm/agent-wallet.json',
|
|
82
|
-
keypairJsonEnvPresent: false,
|
|
83
|
-
};
|
|
84
|
-
reset();
|
|
85
|
-
process.env.DFM_API_KEY = 'dfm_test_key_value';
|
|
86
|
-
assert(hasExplicitKeypair() === false, 'no keypair env var → no explicit keypair');
|
|
87
|
-
assert(isKeylessMode(cfgWithDefaultKeypair) === true, 'API key + only a DEFAULT-PATH keypair file → KEYLESS (the fixed bug)');
|
|
88
|
-
process.env.DFM_AGENT_KEYPAIR_PATH = '/tmp/explicit-wallet.json';
|
|
89
|
-
assert(hasExplicitKeypair() === true, 'DFM_AGENT_KEYPAIR_PATH → explicit keypair');
|
|
90
|
-
assert(isKeylessMode(cfgWithDefaultKeypair) === false, 'API key + EXPLICIT keypair → local signing wins (never keyless)');
|
|
91
|
-
delete process.env.DFM_AGENT_KEYPAIR_PATH;
|
|
92
|
-
process.env.DFM_AGENT_KEYPAIR_JSON = '[1,2,3]';
|
|
93
|
-
assert(isKeylessMode(cfgWithDefaultKeypair) === false, 'API key + EXPLICIT inline keypair JSON → local signing wins');
|
|
94
|
-
reset();
|
|
95
|
-
assert(isKeylessMode(cfgWithDefaultKeypair) === false, 'no API key → never keyless');
|
|
96
|
-
process.env = env;
|
|
97
|
-
}
|
|
98
|
-
// ── 3. the idempotency key is stable across a retry ──────────────────────
|
|
99
|
-
console.log('case: X-Idempotency-Key is STABLE across a retry of the same write');
|
|
100
|
-
{
|
|
101
|
-
const sent = [];
|
|
102
|
-
const realFetch = globalThis.fetch;
|
|
103
|
-
globalThis.fetch = (async (url, init) => {
|
|
104
|
-
const headers = (init?.headers ?? {});
|
|
105
|
-
sent.push({ path: String(url), key: headers['X-Idempotency-Key'] });
|
|
106
|
-
return new Response(JSON.stringify({ signature: 'sig', confirmed: true }), {
|
|
107
|
-
status: 200,
|
|
108
|
-
headers: { 'Content-Type': 'application/json' },
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
const prevKey = process.env.DFM_API_KEY;
|
|
112
|
-
process.env.DFM_API_KEY = 'dfm_test_key_value';
|
|
113
|
-
const api = new DfmApiClient({ apiUrl: 'https://api.test' }, {});
|
|
114
|
-
const VAULT = 'Vau1t1111111111111111111111111111111111111';
|
|
115
|
-
const SIG = '5'.repeat(88);
|
|
116
|
-
await api.submitSignedTx('prepared-tx-abc', 'AAAA');
|
|
117
|
-
await api.submitSignedTx('prepared-tx-abc', 'AAAA'); // the RETRY
|
|
118
|
-
await api.submitSignedTx('prepared-tx-xyz', 'AAAA'); // a DIFFERENT tx
|
|
119
|
-
assert(sent[0].key !== undefined && sent[0].key === sent[1].key, '/tx/submit retry reuses the SAME key (the server can dedupe the broadcast)');
|
|
120
|
-
assert(sent[2].key !== sent[0].key, '/tx/submit for a DIFFERENT preparedTxId gets a DIFFERENT key');
|
|
121
|
-
sent.length = 0;
|
|
122
|
-
await api.confirmCreateVault(SIG, VAULT);
|
|
123
|
-
await api.confirmCreateVault(SIG, VAULT); // the RETRY
|
|
124
|
-
assert(sent[0].key === sent[1].key, 'create/confirm retry reuses the SAME key');
|
|
125
|
-
// Endpoint prefixes matter: the server's Redis key is `idempotency:<caller>:<key>`
|
|
126
|
-
// with NO path component, so two routes keyed on the same signature would
|
|
127
|
-
// replay each other's cached response.
|
|
128
|
-
const createKey = sent[0].key;
|
|
129
|
-
sent.length = 0;
|
|
130
|
-
await api.confirmUpdateAssets(VAULT, SIG);
|
|
131
|
-
assert(sent[0].key !== createKey, 'assets/confirm and create/confirm on the SAME signature do NOT collide');
|
|
132
|
-
const assetsKey = sent[0].key;
|
|
133
|
-
sent.length = 0;
|
|
134
|
-
await api.confirmAcceptAdminTransfer(VAULT, SIG);
|
|
135
|
-
await api.confirmAcceptAdminTransfer(VAULT, SIG);
|
|
136
|
-
assert(sent[0].key === sent[1].key, 'admin acceptance confirm retry reuses the SAME key');
|
|
137
|
-
assert(sent[0].key !== createKey && sent[0].key !== assetsKey, 'admin acceptance confirmation has its OWN endpoint prefix');
|
|
138
|
-
const adminAcceptKey = sent[0].key;
|
|
139
|
-
sent.length = 0;
|
|
140
|
-
await api.confirmVaultPolicy(VAULT, SIG);
|
|
141
|
-
await api.confirmVaultPolicy(VAULT, SIG);
|
|
142
|
-
assert(sent[0].key === sent[1].key, 'policy confirm retry reuses the SAME key');
|
|
143
|
-
assert(sent[0].key !== adminAcceptKey && sent[0].key !== createKey, 'policy confirmation has its OWN endpoint prefix');
|
|
144
|
-
// A /prepare is NOT a retryable-identity call: it must ask for a genuinely new
|
|
145
|
-
// transaction (fresh blockhash), so its key must differ every time.
|
|
146
|
-
sent.length = 0;
|
|
147
|
-
await api.prepareZapInCloseV2(VAULT);
|
|
148
|
-
await api.prepareZapInCloseV2(VAULT);
|
|
149
|
-
assert(sent[0].key !== undefined && sent[0].key !== sent[1].key, 'a re-prepare gets a FRESH key (a pinned one would replay a stale tx)');
|
|
150
|
-
globalThis.fetch = realFetch;
|
|
151
|
-
if (prevKey === undefined)
|
|
152
|
-
delete process.env.DFM_API_KEY;
|
|
153
|
-
else
|
|
154
|
-
process.env.DFM_API_KEY = prevKey;
|
|
155
|
-
}
|
|
156
|
-
// ── 4. a slow keyless launch keeps the vault address after polling ─────────
|
|
157
|
-
console.log('case: keyless 202 polling preserves vaultAddress');
|
|
158
|
-
{
|
|
159
|
-
const realFetch = globalThis.fetch;
|
|
160
|
-
const prevKey = process.env.DFM_API_KEY;
|
|
161
|
-
process.env.DFM_API_KEY = 'dfm_test_key_value';
|
|
162
|
-
const api = new DfmApiClient({ apiUrl: 'https://api.test' }, {});
|
|
163
|
-
const vaultAddress = 'Vau1t1111111111111111111111111111111111111';
|
|
164
|
-
let call = 0;
|
|
165
|
-
globalThis.fetch = (async () => {
|
|
166
|
-
call += 1;
|
|
167
|
-
const body = call === 1
|
|
168
|
-
? { status: 'pending', jobId: 'job-launch', poll: '/agent/operating/execute/job-launch' }
|
|
169
|
-
: {
|
|
170
|
-
jobStatus: 'done',
|
|
171
|
-
signature: 'SIG_LATE',
|
|
172
|
-
execStatus: 'complete',
|
|
173
|
-
vaultAddress,
|
|
174
|
-
};
|
|
175
|
-
return new Response(JSON.stringify(body), {
|
|
176
|
-
status: call === 1 ? 202 : 200,
|
|
177
|
-
headers: { 'Content-Type': 'application/json' },
|
|
178
|
-
});
|
|
179
|
-
});
|
|
180
|
-
const launched = await api.executeViaOperatingWallet('launch_vault', {});
|
|
181
|
-
assert(launched.vaultAddress === vaultAddress, 'a 202/polled launch returns its vault address to MCP/CLI callers');
|
|
182
|
-
globalThis.fetch = realFetch;
|
|
183
|
-
if (prevKey === undefined)
|
|
184
|
-
delete process.env.DFM_API_KEY;
|
|
185
|
-
else
|
|
186
|
-
process.env.DFM_API_KEY = prevKey;
|
|
187
|
-
}
|
|
188
|
-
if (failures > 0) {
|
|
189
|
-
console.error(`\n${failures} money-path assertion(s) FAILED`);
|
|
190
|
-
process.exit(1);
|
|
191
|
-
}
|
|
192
|
-
console.log('\nmoney-path: all assertions passed');
|
|
193
|
-
//# sourceMappingURL=money-path.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"money-path.test.js","sourceRoot":"","sources":["../src/money-path.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"recovery-flow.d.ts","sourceRoot":"","sources":["../src/recovery-flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAgB9C,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,YAAY,CAAC,CAAC;IAC1G,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,SAAS,EAAE;QACT,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAmBxF;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GACzE,OAAO,CAAC,oBAAoB,CAAC,CAgH/B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"recovery-flow.deadleg.test.d.ts","sourceRoot":"","sources":["../src/recovery-flow.deadleg.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* #64 regression (runnable: `npx tsx agent/src/recovery-flow.deadleg.test.ts`).
|
|
3
|
-
*
|
|
4
|
-
* A dead-legged REDEEM reaches READY_TO_CLOSE with an unsellable leg paid in-kind
|
|
5
|
-
* (`actualOut = 0`). Its pinned `min_usdc_out` assumed EVERY leg sells, so the
|
|
6
|
-
* realized USDC is below the floor and `zap_out_close_v2` reverts `UsdcBelowMin`
|
|
7
|
-
* (6023). Before the fix, `runUpdateEnvelope` short-circuited on `readyToClose`
|
|
8
|
-
* and refused the exact recovery it implements (lower `min_usdc_out`, then close).
|
|
9
|
-
*
|
|
10
|
-
* This asserts the NEW contract:
|
|
11
|
-
* 1. a dead-legged redeem REACHES the update-envelope prepare (guard no longer
|
|
12
|
-
* blocks it);
|
|
13
|
-
* 2. the new `min_usdc_out` is the DETERMINISTIC dead-leg reduction
|
|
14
|
-
* (`old − Σ dead-leg minOuts`), not a blind pct — and is low enough to clear;
|
|
15
|
-
* 3. a CLEANLY-sold readyToClose redeem STILL throws "already ready" (nothing to
|
|
16
|
-
* loosen);
|
|
17
|
-
* 4. a readyToClose DEPOSIT STILL throws "already ready".
|
|
18
|
-
*/
|
|
19
|
-
import { runUpdateEnvelope } from './recovery-flow.js';
|
|
20
|
-
const VAULT = 'Vau1t1111111111111111111111111111111111111';
|
|
21
|
-
const USER = 'User1111111111111111111111111111111111111111';
|
|
22
|
-
const ESCROW = 'Escrow11111111111111111111111111111111111111';
|
|
23
|
-
/** A 3-leg REDEEM at READY_TO_CLOSE; leg `deadIdx` was marked dead (actualOut 0). */
|
|
24
|
-
function deadLeggedRedeem(deadIdx) {
|
|
25
|
-
const minOuts = ['10000000', '7500000', '2079179']; // per-leg gross USDC floors
|
|
26
|
-
const actualOuts = deadIdx === null
|
|
27
|
-
? ['10100000', '7600000', '2100000'] // all sold
|
|
28
|
-
: minOuts.map((v, i) => (i === deadIdx ? '0' : String(Number(v) + 100_000)));
|
|
29
|
-
return {
|
|
30
|
-
escrowPda: ESCROW,
|
|
31
|
-
vault: VAULT,
|
|
32
|
-
user: USER,
|
|
33
|
-
mode: 1, // redeem
|
|
34
|
-
state: 5, // READY_TO_CLOSE
|
|
35
|
-
nAssets: 3,
|
|
36
|
-
assetMints: [],
|
|
37
|
-
filledMask: 0x7, // 3/3 (sold or dead)
|
|
38
|
-
legProgress: [],
|
|
39
|
-
legsFilled: 3,
|
|
40
|
-
legsTotal: 3,
|
|
41
|
-
readyToClose: true,
|
|
42
|
-
legFailures: [],
|
|
43
|
-
openedAt: 0,
|
|
44
|
-
expiresAt: 1_000,
|
|
45
|
-
isExpired: true,
|
|
46
|
-
slippageBps: 300,
|
|
47
|
-
plannedAmountIn: [],
|
|
48
|
-
minOuts,
|
|
49
|
-
actualOuts,
|
|
50
|
-
inputAmount: '0',
|
|
51
|
-
sharesIn: '1000000',
|
|
52
|
-
minSharesOut: '0',
|
|
53
|
-
minUsdcOut: '19496890', // pinned assuming ALL legs sell
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
function readyDeposit() {
|
|
57
|
-
const s = deadLeggedRedeem(null);
|
|
58
|
-
return { ...s, mode: 0, minUsdcOut: '0' };
|
|
59
|
-
}
|
|
60
|
-
let failures = 0;
|
|
61
|
-
function assert(cond, msg) {
|
|
62
|
-
if (!cond) {
|
|
63
|
-
console.error(` ✗ ${msg}`);
|
|
64
|
-
failures++;
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
console.log(` ✓ ${msg}`);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
const STOP = '__STOP_BEFORE_SIGN__';
|
|
71
|
-
/** Run runUpdateEnvelope with a mock API that captures the prepare opts, then
|
|
72
|
-
* throws STOP so we never reach real signing/submit. Returns capture or the
|
|
73
|
-
* guard error message. */
|
|
74
|
-
async function driveCapture(status, opts = {}) {
|
|
75
|
-
let captured;
|
|
76
|
-
const mockApi = {
|
|
77
|
-
getZapV2Status: async () => status,
|
|
78
|
-
prepareUpdateEnvelopeV2: async (_v, o) => {
|
|
79
|
-
captured = o;
|
|
80
|
-
throw new Error(STOP);
|
|
81
|
-
},
|
|
82
|
-
};
|
|
83
|
-
try {
|
|
84
|
-
await runUpdateEnvelope({}, mockApi, USER, VAULT, opts);
|
|
85
|
-
return { err: '(no throw — unexpected)' };
|
|
86
|
-
}
|
|
87
|
-
catch (e) {
|
|
88
|
-
const msg = e.message;
|
|
89
|
-
if (msg === STOP)
|
|
90
|
-
return { captured };
|
|
91
|
-
return { err: msg };
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
async function caseDeadLegRecovers() {
|
|
95
|
-
console.log('case: dead-legged redeem → guard passes, min_usdc_out reduced by dead leg');
|
|
96
|
-
const { captured, err } = await driveCapture(deadLeggedRedeem(2));
|
|
97
|
-
assert(!err, `reached prepare, no guard throw (got err='${err ?? ''}')`);
|
|
98
|
-
// old 19,496,890 − dead-leg minOuts[2] 2,079,179 = 17,417,711 (more relaxed than
|
|
99
|
-
// the 5% pct path 18,522,045, so it dominates).
|
|
100
|
-
assert(captured?.newMinUsdcOut === '17417711', `newMinUsdcOut === '17417711' (deterministic dead-leg reduction) — got '${captured?.newMinUsdcOut}'`);
|
|
101
|
-
// The reduced floor must be ≤ realized net USDC (17,433,306 in the live #64 repro)
|
|
102
|
-
// so zap_out_close_v2 clears instead of reverting UsdcBelowMin.
|
|
103
|
-
assert(BigInt(captured?.newMinUsdcOut ?? '0') <= 17433306n, 'reduced floor ≤ live realized USDC (17,433,306) → close clears');
|
|
104
|
-
}
|
|
105
|
-
async function caseCleanRedeemStillBlocked() {
|
|
106
|
-
console.log('case: cleanly-sold readyToClose redeem → still blocked (nothing to loosen)');
|
|
107
|
-
const { captured, err } = await driveCapture(deadLeggedRedeem(null));
|
|
108
|
-
assert(captured === undefined, 'did NOT reach prepare');
|
|
109
|
-
assert(!!err && /already READY to close/i.test(err), `threw "already ready" (got '${err}')`);
|
|
110
|
-
}
|
|
111
|
-
async function caseDepositStillBlocked() {
|
|
112
|
-
console.log('case: readyToClose deposit → still blocked');
|
|
113
|
-
const { captured, err } = await driveCapture(readyDeposit());
|
|
114
|
-
assert(captured === undefined, 'did NOT reach prepare');
|
|
115
|
-
assert(!!err && /already READY to close/i.test(err), `threw "already ready" (got '${err}')`);
|
|
116
|
-
}
|
|
117
|
-
async function caseMidCrankNoDeadLegReduction() {
|
|
118
|
-
// C3 guard: a MID-CRANK (PARTIAL_OUT, not readyToClose) redeem with unfilled
|
|
119
|
-
// legs (actualOut 0) must NOT be treated as dead-legged — only the pct loosen
|
|
120
|
-
// applies. Otherwise the still-pending legs' floors get subtracted and
|
|
121
|
-
// min_usdc_out is slashed far below the intended 5%.
|
|
122
|
-
console.log('case: mid-crank redeem with unfilled legs → pct loosen only (no dead-leg reduction)');
|
|
123
|
-
const mid = deadLeggedRedeem(2); // has an actualOut-0 leg…
|
|
124
|
-
mid.readyToClose = false; // …but it's NOT ready → those 0s are "pending", not "dead"
|
|
125
|
-
mid.state = 4; // PARTIAL_OUT
|
|
126
|
-
const { captured, err } = await driveCapture(mid);
|
|
127
|
-
assert(!err, `reached prepare (mid-crank loosen allowed) — got err='${err ?? ''}'`);
|
|
128
|
-
// Pure 5% pct path: floor(19,496,890 * 95 / 100) = 18,522,045. The dead-leg
|
|
129
|
-
// reduction (→17,417,711) must NOT have been applied.
|
|
130
|
-
assert(captured?.newMinUsdcOut === '18522045', `newMinUsdcOut === '18522045' (pct-only, NOT dead-leg-reduced) — got '${captured?.newMinUsdcOut}'`);
|
|
131
|
-
}
|
|
132
|
-
(async () => {
|
|
133
|
-
await caseDeadLegRecovers();
|
|
134
|
-
await caseCleanRedeemStillBlocked();
|
|
135
|
-
await caseDepositStillBlocked();
|
|
136
|
-
await caseMidCrankNoDeadLegReduction();
|
|
137
|
-
if (failures > 0) {
|
|
138
|
-
console.error(`\n#64 regression FAILED (${failures} assertion(s))`);
|
|
139
|
-
process.exit(1);
|
|
140
|
-
}
|
|
141
|
-
console.log('\n#64 regression PASSED');
|
|
142
|
-
})();
|
|
143
|
-
//# sourceMappingURL=recovery-flow.deadleg.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"recovery-flow.deadleg.test.js","sourceRoot":"","sources":["../src/recovery-flow.deadleg.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"recovery-flow.js","sourceRoot":"","sources":["../src/recovery-flow.ts"],"names":[],"mappings":"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"}
|
package/dist/session.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI/C,qBAAa,WAAW;IAaV,OAAO,CAAC,QAAQ,CAAC,MAAM;IAZnC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,MAAM,CAAuB;IACrC,wEAAwE;IACxE,OAAO,CAAC,WAAW,CAAK;IACxB;;;;;OAKG;IACH,OAAO,CAAC,aAAa,CAAgC;gBAExB,MAAM,EAAE,WAAW;IAEhD,qFAAqF;IACrF,IAAI,aAAa,IAAI,MAAM,CAK1B;IAED;;;;OAIG;IACG,cAAc,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;YAatC,MAAM;IA6BpB,OAAO,CAAC,aAAa;IAarB,+DAA+D;YACjD,QAAQ;CAYvB"}
|
package/dist/session.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
package/dist/signing.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"signing.d.ts","sourceRoot":"","sources":["../src/signing.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,OAAO,EAAqC,MAAM,iBAAiB,CAAC;AAG7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAyC/C;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAuC5D;AAED,0EAA0E;AAC1E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAE/D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAK5E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAYnF;AA0BD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAkBvD"}
|
package/dist/signing.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"signing.js","sourceRoot":"","sources":["../src/signing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB;;;;;GAKG;AACH,MAAM,eAAe,GAAG,8CAA8C,CAAC;AAEvE,IAAI,aAAa,GAAmB,IAAI,CAAC;AAEzC,mEAAmE;AACnE,SAAS,oBAAoB,CAAC,IAAY,EAAE,MAAc;IACxD,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;QAClD,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,kDAAkD,CAAC,CAAC;IACjG,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,EAAE,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CACb,qBAAqB,MAAM,4EACzB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,WACpC,GAAG,CACJ,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAe,CAAC,CAAC;IAC/C,IAAI,CAAC;QACH,4EAA4E;QAC5E,2EAA2E;QAC3E,2EAA2E;QAC3E,2EAA2E;QAC3E,6DAA6D;QAC7D,OAAO,KAAK,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,qCAAqC,CAAC,CAAC;IACpF,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,MAAmB;IACjD,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC;IAExC,IAAI,EAAW,CAAC;IAChB,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACH,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,GAAI,CAA2B,CAAC,IAAI,IAAI,YAAY,CAAC;YAC/D,MAAM,IAAI,KAAK,CACb,+DAA+D,IAAI,KAAK;gBACtE,wEAAwE,CAC3E,CAAC;QACJ,CAAC;QACD,EAAE,GAAG,oBAAoB,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;IAC3D,CAAC;SAAM,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;QACxC,4EAA4E;QAC5E,EAAE,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAgC,EAAE,wBAAwB,CAAC,CAAC;IACpG,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,2EAA2E;YACzE,2EAA2E;YAC3E,oEAAoE,CACvE,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IACvC,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;QAC/B,mBAAmB;QACnB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,4EAA4E;YAC1E,kFAAkF,CACrF,CAAC;IACJ,CAAC;IAED,aAAa,GAAG,EAAE,CAAC;IACnB,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,mBAAmB,CAAC,MAAmB;IACrD,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;AACtD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,MAAmB,EAAE,OAAe;IAClE,MAAM,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,YAAY,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;IAC3D,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAmB,EAAE,QAAgB;IACzE,MAAM,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC5C,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,EAAE,GAAG,oBAAoB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,EAAE,CAAC,OAAO,KAAK,CAAC;YAAE,OAAO,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACrD,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACd,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,8CAA8C;IAClE,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,UAAU,CAAC,GAAW,EAAE,EAAwB,EAAE,EAAW;IACpE,MAAM,KAAK,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;IACnC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,wCAAwC,KAAK,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IACnF,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7B,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAClE,OAAO,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,SAAS,CAAC;QACR,IAAI,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAE,CAAC;QACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC;QAChC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YAAE,MAAM;QAC5B,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,MAAM,IAAI,QAAQ,GAAG,EAAE,CAAC,CAAC,6BAA6B;IACtD,IAAI,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC"}
|
package/dist/submit.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../src/submit.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CACZ,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACvD;AAID,uEAAuE;AACvE,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAED,8EAA8E;AAC9E,qBAAa,kBAAmB,SAAQ,KAAK;IAGzC,QAAQ,CAAC,SAAS,EAAE,MAAM;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;gBAF9B,OAAO,EAAE,MAAM,EACN,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;CAKjC;AAED;;;;;GAKG;AACH,qBAAa,yBAA0B,SAAQ,KAAK;IAGhD,QAAQ,CAAC,SAAS,EAAE,MAAM;gBAD1B,OAAO,EAAE,MAAM,EACN,SAAS,EAAE,MAAM;CAK7B;AAmBD;;;;;;;;;;GAUG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE;IAAE,GAAG,EAAE,gBAAgB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,EACxD,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAYpD;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,WAAW,EACnB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,oBAAoB,EAAE,MAAM,EAC5B,OAAO,CAAC,EAAE;IAAE,GAAG,EAAE,gBAAgB,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GACzD,OAAO,CAAC,MAAM,CAAC,CAoHjB;AAED;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,WAAW,EACnB,eAAe,EAAE,MAAM,EAAE,EACzB,SAAS,EAAE,MAAM,EACjB,oBAAoB,EAAE,MAAM,EAC5B,OAAO,CAAC,EAAE;IAAE,GAAG,EAAE,gBAAgB,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAC5D,OAAO,CAAC,MAAM,EAAE,CAAC,CAiBnB"}
|
package/dist/submit.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"submit.js","sourceRoot":"","sources":["../src/submit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAe7C,IAAI,UAAU,GAAsB,IAAI,CAAC;AAEzC,uEAAuE;AACvE,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED,8EAA8E;AAC9E,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAGhC;IACA;IAHX,YACE,OAAe,EACN,SAAiB,EACjB,IAAqB;QAE9B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHN,cAAS,GAAT,SAAS,CAAQ;QACjB,SAAI,GAAJ,IAAI,CAAiB;QAG9B,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAGvC;IAFX,YACE,OAAe,EACN,SAAiB;QAE1B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFN,cAAS,GAAT,SAAS,CAAQ;QAG1B,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED,SAAS,aAAa,CAAC,MAAmB;IACxC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,4EAA4E;YAC1E,qDAAqD,CACxD,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,EAAU;IAC7B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAAwD,EACxD,YAAoB;IAEpB,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAC9E,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,qBAAqB,CAC7B,wCAAwC,GAAG,6BAA6B,CACzE,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAmB,EACnB,YAAoB,EACpB,SAAiB,EACjB,oBAA4B,EAC5B,OAA0D;IAE1D,2EAA2E;IAC3E,0EAA0E;IAC1E,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,8BAA8B;IAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,OAAO,EAAE,GAAG,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAC/D,OAAO,CAAC,YAAY,EACpB,YAAY,CACb,CAAC;gBACF,2EAA2E;gBAC3E,2EAA2E;gBAC3E,wEAAwE;gBACxE,0EAA0E;gBAC1E,yEAAyE;gBACzE,2EAA2E;gBAC3E,+CAA+C;gBAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,MAAM,IAAI,yBAAyB,CACjC,eAAe,SAAS,4DAA4D;wBAClF,gFAAgF;wBAChF,6EAA6E;wBAC7E,mFAAmF;wBACnF,kCAAkC,EACpC,SAAS,CACV,CAAC;gBACJ,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,yBAAyB;oBAAE,MAAM,CAAC,CAAC;gBACpD,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACvD,sEAAsE;gBACtE,oDAAoD;gBACpD,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChD,MAAM,IAAI,qBAAqB,CAC7B,wCAAwC,GAAG,6BAA6B,CACzE,CAAC;gBACJ,CAAC;gBACD,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CACb,8EAA8E;YAC5E,mFAAmF,CACtF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,4EAA4E;IAC5E,+EAA+E;IAC/E,+EAA+E;IAC/E,sEAAsE;IACtE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAEhD,8EAA8E;IAC9E,mEAAmE;IACnE,IAAI,SAAiB,CAAC;IACtB,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,eAAe,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,2EAA2E;IAC3E,8EAA8E;IAC9E,wEAAwE;IACxE,MAAM,OAAO,GAAG,KAAK,CAAC;IACtB,MAAM,iBAAiB,GAAG,CAAC,CAAC,CAAC,oBAAoB;IACjD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,SAAS,CAAC;QACR,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,wBAAwB,EAAE,KAAK,EAAE,CAAC,CAAC;QAChG,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;gBACd,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC9C,MAAM,IAAI,kBAAkB,CAC1B,eAAe,SAAS,sBAAsB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACvE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC7D,SAAS,EACT,IAAI,CACL,CAAC;YACJ,CAAC;YACD,IAAI,KAAK,CAAC,kBAAkB,KAAK,WAAW,IAAI,KAAK,CAAC,kBAAkB,KAAK,WAAW,EAAE,CAAC;gBACzF,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,4EAA4E;QAC5E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,MAAM,GAAG,oBAAoB,EAAE,CAAC;YAClC,0EAA0E;YAC1E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3F,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG;gBAAE,OAAO,SAAS,CAAC;YACtD,MAAM,IAAI,qBAAqB,CAC7B,eAAe,SAAS,eAAe,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,4BAA4B;gBACtF,uCAAuC,MAAM,gBAAgB,oBAAoB,KAAK;gBACtF,+FAA+F,CAClG,CAAC;QACJ,CAAC;QAED,KAAK,IAAI,CAAC,CAAC;QACX,IAAI,KAAK,GAAG,iBAAiB,KAAK,CAAC,EAAE,CAAC;YACpC,2EAA2E;YAC3E,4BAA4B;YAC5B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;YAC7E,CAAC;YAAC,MAAM,CAAC;gBACP,4CAA4C;YAC9C,CAAC;QACH,CAAC;QACD,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,MAAmB,EACnB,eAAyB,EACzB,SAAiB,EACjB,oBAA4B,EAC5B,OAA6D;IAE7D,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,OAAO,EAAE,GAAG;YACxB,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE;YAChE,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CACP,MAAM,cAAc,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,KAAK,CAAC,CACzF,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,IAAI,CAAC,YAAY,KAAK;gBAAE,CAAC,CAAC,OAAO,GAAG,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;YACvD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gFAAgF;AAChF,SAAS,eAAe,CAAC,CAAU;IACjC,MAAM,GAAG,GAAG,CAAgC,CAAC;IAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,OAAO,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,oBAAoB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,4EAA4E;AAC5E,KAAK,UAAU,SAAS,CAAC,IAAgB,EAAE,SAAiB;IAC1D,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;YAC9C,8BAA8B,EAAE,CAAC,EAAE,gDAAgD;YACnF,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC;QACH,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,IAAI,IAAI,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/dist/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-identity.d.ts","sourceRoot":"","sources":["../src/wallet-identity.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,qEAAqE;IACrE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,+EAA+E;IAC/E,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,8DAA8D;IAC9D,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,uBAAuB,GAAG,IAAI,EACzC,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,cAAc,CAahB;AAED,+EAA+E;AAC/E,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,cAAc,GAAG,kBAAkB,CAElF;AAED,8EAA8E;AAC9E,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,cAAc,GAAG,kBAAkB,CAErF;AAED,mFAAmF;AACnF,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,cAAc,EACxB,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM,GAAG,IAAI,CAEf"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-identity.js","sourceRoot":"","sources":["../src/wallet-identity.ts"],"names":[],"mappings":"AAsBA;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,SAAyC,EACzC,iBAAgC;IAEhC,MAAM,YAAY,GAAG,SAAS,EAAE,MAAM,IAAI,iBAAiB,CAAC;IAC5D,MAAM,gBAAgB,GAAG,SAAS,EAAE,sBAAsB,IAAI,IAAI,CAAC;IACnE,MAAM,eAAe,GAAG,gBAAgB,IAAI,YAAY,CAAC;IACzD,OAAO;QACL,YAAY;QACZ,gBAAgB;QAChB,eAAe,EAAE,SAAS,EAAE,MAAM,IAAI,IAAI;QAC1C,+EAA+E;QAC/E,YAAY,EAAE,SAAS,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI;QACtE,eAAe;QACf,gBAAgB,EAAE,eAAe;KAClC,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,qBAAqB,CAAC,QAAwB;IAC5D,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,YAAY,EAAE,GAAG,QAAQ,EAAE,CAAC;AACxD,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,wBAAwB,CAAC,QAAwB;IAC/D,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,eAAe,EAAE,GAAG,QAAQ,EAAE,CAAC;AAC3D,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,sBAAsB,CACpC,QAAwB,EACxB,cAAuB;IAEvB,OAAO,cAAc,IAAI,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,YAAY,CAAC;AAC9E,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-identity.test.d.ts","sourceRoot":"","sources":["../src/wallet-identity.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import assert from 'node:assert/strict';
|
|
2
|
-
import { buildWalletIdentity, resolveZapStatusWallet, withActingWalletAlias, withPortfolioWalletAlias, } from './wallet-identity.js';
|
|
3
|
-
const signIn = '6VCH-sign-in';
|
|
4
|
-
const app = 'AppWa11et-internal';
|
|
5
|
-
const keylessIdentity = buildWalletIdentity({ wallet: signIn, operatingWalletAddress: app, status: 'active' }, null);
|
|
6
|
-
assert.deepEqual(keylessIdentity, {
|
|
7
|
-
signInWallet: signIn,
|
|
8
|
-
appWalletAddress: app,
|
|
9
|
-
appWalletStatus: 'active',
|
|
10
|
-
actingWallet: app,
|
|
11
|
-
portfolioWallet: app,
|
|
12
|
-
primaryDfmWallet: app,
|
|
13
|
-
}, 'keyless identity must act and report positions through the app wallet');
|
|
14
|
-
assert.deepEqual(withActingWalletAlias(keylessIdentity), {
|
|
15
|
-
wallet: app,
|
|
16
|
-
...keylessIdentity,
|
|
17
|
-
}, 'keyless whoami.wallet must be the app wallet');
|
|
18
|
-
assert.equal(resolveZapStatusWallet(keylessIdentity), app, 'keyless zap_status must default to the app wallet');
|
|
19
|
-
assert.deepEqual(withPortfolioWalletAlias(keylessIdentity), {
|
|
20
|
-
wallet: app,
|
|
21
|
-
...keylessIdentity,
|
|
22
|
-
}, 'keyless get_portfolio must report the app wallet');
|
|
23
|
-
const localIdentityWithOperatingProfile = buildWalletIdentity({ wallet: signIn, operatingWalletAddress: app, status: 'active' }, signIn);
|
|
24
|
-
assert.deepEqual(localIdentityWithOperatingProfile, {
|
|
25
|
-
signInWallet: signIn,
|
|
26
|
-
appWalletAddress: app,
|
|
27
|
-
appWalletStatus: 'active',
|
|
28
|
-
actingWallet: app,
|
|
29
|
-
portfolioWallet: app,
|
|
30
|
-
primaryDfmWallet: app,
|
|
31
|
-
}, 'an external keypair must not replace the active app-wallet actor');
|
|
32
|
-
assert.deepEqual(withActingWalletAlias(localIdentityWithOperatingProfile), {
|
|
33
|
-
wallet: app,
|
|
34
|
-
...localIdentityWithOperatingProfile,
|
|
35
|
-
}, 'whoami.wallet names the app wallet that executes fund operations');
|
|
36
|
-
assert.equal(resolveZapStatusWallet(localIdentityWithOperatingProfile), app, 'zap_status inspects app-wallet escrows even with a local keypair');
|
|
37
|
-
assert.equal(resolveZapStatusWallet(localIdentityWithOperatingProfile, app), app, 'zap_status must preserve an explicit wallet override');
|
|
38
|
-
assert.deepEqual(withPortfolioWalletAlias(localIdentityWithOperatingProfile), {
|
|
39
|
-
wallet: app,
|
|
40
|
-
...localIdentityWithOperatingProfile,
|
|
41
|
-
}, 'local-keypair get_portfolio must label positions with the provisioned app wallet');
|
|
42
|
-
assert.deepEqual(buildWalletIdentity(null, signIn), {
|
|
43
|
-
signInWallet: signIn,
|
|
44
|
-
appWalletAddress: null,
|
|
45
|
-
appWalletStatus: null,
|
|
46
|
-
actingWallet: null,
|
|
47
|
-
portfolioWallet: signIn,
|
|
48
|
-
primaryDfmWallet: signIn,
|
|
49
|
-
}, 'an external keypair with no app wallet has no fund-operation actor');
|
|
50
|
-
for (const status of ['pending', 'revoked', 'unknown']) {
|
|
51
|
-
const identity = buildWalletIdentity({ wallet: signIn, operatingWalletAddress: app, status }, signIn);
|
|
52
|
-
assert.equal(identity.actingWallet, null, `${status} grants never advertise external signing`);
|
|
53
|
-
assert.equal(resolveZapStatusWallet(identity), app, `${status} grants still inspect existing app-wallet escrows`);
|
|
54
|
-
}
|
|
55
|
-
console.log('wallet identity tests passed');
|
|
56
|
-
//# sourceMappingURL=wallet-identity.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-identity.test.js","sourceRoot":"","sources":["../src/wallet-identity.test.ts"],"names":[],"mappings":"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"}
|
package/dist/who-pays.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"who-pays.test.d.ts","sourceRoot":"","sources":["../src/who-pays.test.ts"],"names":[],"mappings":""}
|
package/dist/who-pays.test.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import assert from 'node:assert/strict';
|
|
2
|
-
import { executeAppWalletWrite, shouldExecuteViaAppWallet, mayLaunchViaAppWallet } from './keyless.js';
|
|
3
|
-
const config = {};
|
|
4
|
-
const names = ['DFM_API_KEY', 'DFM_AGENT_KEYPAIR_PATH', 'DFM_AGENT_FORCE_LOCAL_SIGNING'];
|
|
5
|
-
const saved = names.map((name) => process.env[name]);
|
|
6
|
-
try {
|
|
7
|
-
delete process.env.DFM_API_KEY;
|
|
8
|
-
process.env.DFM_AGENT_KEYPAIR_PATH = '/tmp/auth-only-wallet.json';
|
|
9
|
-
process.env.DFM_AGENT_FORCE_LOCAL_SIGNING = 'true';
|
|
10
|
-
let status = 'active';
|
|
11
|
-
let executions = 0;
|
|
12
|
-
const calls = [];
|
|
13
|
-
const api = {
|
|
14
|
-
getOperatingWallet: async () => status ? { status } : null,
|
|
15
|
-
executeViaOperatingWallet: async (tool) => {
|
|
16
|
-
executions++;
|
|
17
|
-
calls.push(tool);
|
|
18
|
-
return { signature: 'APP_WALLET_SIGNATURE', status: 'complete' };
|
|
19
|
-
},
|
|
20
|
-
};
|
|
21
|
-
// Exercise the actual boundary used by MCP, including its retired override.
|
|
22
|
-
for (const tool of ['launch_vault', 'deposit', 'redeem', 'rebalance_to_targets',
|
|
23
|
-
'init_rebalancer', 'update_vault_assets', 'zap_v2_cancel', 'zap_v2_update_envelope', 'update_vault_policy']) {
|
|
24
|
-
status = 'active';
|
|
25
|
-
assert.equal(shouldExecuteViaAppWallet(config, status), true);
|
|
26
|
-
assert.equal(mayLaunchViaAppWallet(config, status), true);
|
|
27
|
-
assert.equal((await executeAppWalletWrite(config, api, tool, {})).signature, 'APP_WALLET_SIGNATURE');
|
|
28
|
-
const before = executions;
|
|
29
|
-
for (status of ['pending', 'revoked', undefined]) {
|
|
30
|
-
await assert.rejects(executeAppWalletWrite(config, api, tool, {}), /OPERATING_WALLET_REQUIRED/);
|
|
31
|
-
assert.equal(executions, before, 'an unavailable app wallet never reaches any signer');
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
assert.equal(calls.length, 9);
|
|
35
|
-
await assert.rejects(executeAppWalletWrite(config, {
|
|
36
|
-
...api, getOperatingWallet: async () => { throw new Error('lookup failed'); },
|
|
37
|
-
}, 'deposit', {}), /lookup failed/);
|
|
38
|
-
status = 'active';
|
|
39
|
-
await assert.rejects(executeAppWalletWrite(config, {
|
|
40
|
-
...api, executeViaOperatingWallet: async () => { throw new Error('signature refused'); },
|
|
41
|
-
}, 'redeem', {}), /signature refused/);
|
|
42
|
-
process.env.DFM_API_KEY = 'dfm_test';
|
|
43
|
-
delete process.env.DFM_AGENT_KEYPAIR_PATH;
|
|
44
|
-
status = 'revoked';
|
|
45
|
-
await assert.rejects(executeAppWalletWrite(config, {
|
|
46
|
-
...api, executeViaOperatingWallet: async () => { throw new Error('server: wallet revoked'); },
|
|
47
|
-
}, 'deposit', {}), /wallet revoked/);
|
|
48
|
-
console.log('✓ app-wallet-only: all 9 fund operations, unavailable wallets, local override, lookup and signing failures');
|
|
49
|
-
}
|
|
50
|
-
finally {
|
|
51
|
-
names.forEach((name, i) => { if (saved[i] === undefined)
|
|
52
|
-
delete process.env[name];
|
|
53
|
-
else
|
|
54
|
-
process.env[name] = saved[i]; });
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=who-pays.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"who-pays.test.js","sourceRoot":"","sources":["../src/who-pays.test.ts"],"names":[],"mappings":"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"}
|