@dfm-fi/agent 0.2.1562 → 0.2.1567
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/dist/examples/rebalance-drill.d.ts +2 -0
- package/dist/examples/rebalance-drill.d.ts.map +1 -0
- package/dist/examples/rebalance-drill.js +20 -0
- package/dist/examples/rebalance-drill.js.map +1 -0
- package/dist/examples/zap-soak.js +31 -6
- package/dist/examples/zap-soak.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rebalance-drill.d.ts","sourceRoot":"","sources":["../../src/examples/rebalance-drill.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rebalance drill: converge a vault to its config and report what landed.
|
|
3
|
+
*
|
|
4
|
+
* DFM_API_URL=… DFM_AGENT_KEYPAIR_PATH=… VAULT=<pda> [SLIPPAGE_BPS=100]
|
|
5
|
+
* npx tsx src/examples/rebalance-drill.ts
|
|
6
|
+
*/
|
|
7
|
+
import { loadConfig } from '../config.js';
|
|
8
|
+
import { SiwsSession } from '../session.js';
|
|
9
|
+
import { DfmApiClient } from '../api-client.js';
|
|
10
|
+
const config = loadConfig();
|
|
11
|
+
const api = new DfmApiClient(config, new SiwsSession(config));
|
|
12
|
+
const vault = process.env.VAULT;
|
|
13
|
+
if (!vault)
|
|
14
|
+
throw new Error('VAULT is required');
|
|
15
|
+
const r = await api.executeViaOperatingWallet('rebalance_to_targets', {
|
|
16
|
+
vault,
|
|
17
|
+
slippageBps: Number(process.env.SLIPPAGE_BPS ?? '100'),
|
|
18
|
+
});
|
|
19
|
+
console.log('REBALANCE', JSON.stringify(r, null, 2));
|
|
20
|
+
//# sourceMappingURL=rebalance-drill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rebalance-drill.js","sourceRoot":"","sources":["../../src/examples/rebalance-drill.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;AAC5B,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;AAChC,IAAI,CAAC,KAAK;IAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;AACjD,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,yBAAyB,CAAC,sBAAsB,EAAE;IACpE,KAAK;IACL,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,KAAK,CAAC;CACvD,CAAC,CAAC;AACH,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -7,10 +7,18 @@
|
|
|
7
7
|
* venue, which error. Every transaction it touches is appended to a JSONL
|
|
8
8
|
* ledger, so a failure is reproducible after the fact.
|
|
9
9
|
*
|
|
10
|
-
* SPEND BUDGET — the loop stops when
|
|
10
|
+
* SPEND BUDGET — the loop stops when ANY cap is reached, checked before each
|
|
11
11
|
* cycle against the balances it started from. A soak that drains the wallet it
|
|
12
12
|
* tests with is not a soak, it is an outage.
|
|
13
13
|
*
|
|
14
|
+
* THE KEEPER IS A BUDGET TOO, and forgetting that cost real money: on
|
|
15
|
+
* 2026-09-20 this harness capped the app wallet at 0.05 SOL and capped the
|
|
16
|
+
* KEEPER at nothing, so 30 cycles ran happily while 9GjE paid 0.0131 SOL for
|
|
17
|
+
* every HumidiFi leg (the venue spends the leg wallet's float as swap input).
|
|
18
|
+
* ~0.196 SOL left the treasury before anyone looked. `MAX_KEEPER_SOL_SPEND`
|
|
19
|
+
* now stops the loop the same way the others do — the keeper pays per LEG, so
|
|
20
|
+
* it is the budget that moves fastest, not the one that moves least.
|
|
21
|
+
*
|
|
14
22
|
* DFM_API_URL=https://n2-api.dfm.finance \
|
|
15
23
|
* DFM_AGENT_KEYPAIR_PATH=~/.config/dfm/test-6vch.json \
|
|
16
24
|
* HELIUS_RPC_URL=… VAULTS=<pda,pda> USDC_PER_CYCLE=1 CYCLES=20 \
|
|
@@ -42,12 +50,17 @@ async function main() {
|
|
|
42
50
|
const cycles = Number(process.env.CYCLES ?? '10');
|
|
43
51
|
const maxSol = Number(process.env.MAX_SOL_SPEND ?? '0.05');
|
|
44
52
|
const maxUsdc = Number(process.env.MAX_USDC_SPEND ?? '0.5');
|
|
53
|
+
// The keeper signs every leg and pays for every leg. Default deliberately
|
|
54
|
+
// tight: a soak should notice an expensive route in one cycle, not in thirty.
|
|
55
|
+
const maxKeeperSol = Number(process.env.MAX_KEEPER_SOL_SPEND ?? '0.02');
|
|
56
|
+
const keeper = new PublicKey(process.env.KEEPER ?? '9GjEBsZ1Cos2J6inmgwhBKv9pXGNtLSJ7xQ9xZb29bET');
|
|
45
57
|
const ledger = process.env.LEDGER ?? 'zap-soak.jsonl';
|
|
46
58
|
const float = await api.getOperatingFloatBalance();
|
|
47
59
|
if (!float?.operatingWalletAddress)
|
|
48
60
|
throw new Error('no app wallet for this identity');
|
|
49
61
|
const app = new PublicKey(float.operatingWalletAddress);
|
|
50
62
|
const start = await balances(conn, app);
|
|
63
|
+
const keeperStart = (await conn.getBalance(keeper, 'confirmed')) / 1e9;
|
|
51
64
|
console.log(`soak: ${vaults.length} vault(s) × ${cycles} cycles, ${usdcPerCycle} USDC each`);
|
|
52
65
|
console.log(`start: ${start.sol.toFixed(6)} SOL / ${start.usdc.toFixed(6)} USDC`);
|
|
53
66
|
console.log(`budget: ${maxSol} SOL / ${maxUsdc} USDC · ledger ${ledger}\n`);
|
|
@@ -57,11 +70,14 @@ async function main() {
|
|
|
57
70
|
for (let i = 0; i < cycles; i++) {
|
|
58
71
|
const vault = vaults[i % vaults.length];
|
|
59
72
|
const now = await balances(conn, app);
|
|
73
|
+
const keeperNow = (await conn.getBalance(keeper, 'confirmed')) / 1e9;
|
|
60
74
|
const spentSol = start.sol - now.sol;
|
|
61
75
|
const spentUsdc = start.usdc - now.usdc;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
76
|
+
const keeperSpent = keeperStart - keeperNow;
|
|
77
|
+
if (spentSol >= maxSol || spentUsdc >= maxUsdc || keeperSpent >= maxKeeperSol) {
|
|
78
|
+
console.log(`\nBUDGET REACHED after ${i} cycles — app ${spentSol.toFixed(6)} SOL / ` +
|
|
79
|
+
`${spentUsdc.toFixed(6)} USDC · KEEPER ${keeperSpent.toFixed(6)} SOL`);
|
|
80
|
+
record({ event: 'budget_stop', cycles: i, spentSol, spentUsdc, keeperSpent });
|
|
65
81
|
break;
|
|
66
82
|
}
|
|
67
83
|
const label = `cycle ${i + 1}/${cycles} ${vault.slice(0, 8)}…`;
|
|
@@ -92,9 +108,18 @@ async function main() {
|
|
|
92
108
|
}
|
|
93
109
|
}
|
|
94
110
|
const end = await balances(conn, app);
|
|
111
|
+
const keeperEnd = (await conn.getBalance(keeper, 'confirmed')) / 1e9;
|
|
95
112
|
console.log(`\n${ok} ok · ${failed} failed`);
|
|
96
|
-
console.log(`
|
|
97
|
-
|
|
113
|
+
console.log(`app wallet: ${(start.sol - end.sol).toFixed(6)} SOL / ${(start.usdc - end.usdc).toFixed(6)} USDC`);
|
|
114
|
+
console.log(`KEEPER: ${(keeperStart - keeperEnd).toFixed(6)} SOL — this is the one that pays per leg`);
|
|
115
|
+
record({
|
|
116
|
+
event: 'summary',
|
|
117
|
+
ok,
|
|
118
|
+
failed,
|
|
119
|
+
solSpent: start.sol - end.sol,
|
|
120
|
+
usdcSpent: start.usdc - end.usdc,
|
|
121
|
+
keeperSolSpent: keeperStart - keeperEnd,
|
|
122
|
+
});
|
|
98
123
|
}
|
|
99
124
|
/** No escrow for this (user, vault) = the last operation finished settling. */
|
|
100
125
|
async function waitForSettled(api, vault, user) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zap-soak.js","sourceRoot":"","sources":["../../src/examples/zap-soak.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"zap-soak.js","sourceRoot":"","sources":["../../src/examples/zap-soak.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED