starkfi 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/LICENSE +1 -1
  2. package/MCP.md +292 -0
  3. package/README.md +424 -54
  4. package/dist/commands/auth/login.js +2 -2
  5. package/dist/commands/auth/login.js.map +1 -1
  6. package/dist/commands/auth/verify.d.ts.map +1 -1
  7. package/dist/commands/auth/verify.js +2 -2
  8. package/dist/commands/auth/verify.js.map +1 -1
  9. package/dist/commands/batch/batch.d.ts +3 -0
  10. package/dist/commands/batch/batch.d.ts.map +1 -0
  11. package/dist/commands/batch/batch.js +155 -0
  12. package/dist/commands/batch/batch.js.map +1 -0
  13. package/dist/commands/chain/tx-status.js +2 -2
  14. package/dist/commands/chain/tx-status.js.map +1 -1
  15. package/dist/commands/config/config.d.ts.map +1 -1
  16. package/dist/commands/config/config.js +23 -34
  17. package/dist/commands/config/config.js.map +1 -1
  18. package/dist/commands/lending/lending.d.ts +1 -0
  19. package/dist/commands/lending/lending.d.ts.map +1 -1
  20. package/dist/commands/lending/lending.js +197 -51
  21. package/dist/commands/lending/lending.js.map +1 -1
  22. package/dist/commands/portfolio/portfolio.d.ts +3 -0
  23. package/dist/commands/portfolio/portfolio.d.ts.map +1 -0
  24. package/dist/commands/portfolio/portfolio.js +76 -0
  25. package/dist/commands/portfolio/portfolio.js.map +1 -0
  26. package/dist/commands/staking/staking.d.ts +1 -1
  27. package/dist/commands/staking/staking.d.ts.map +1 -1
  28. package/dist/commands/staking/staking.js +144 -61
  29. package/dist/commands/staking/staking.js.map +1 -1
  30. package/dist/commands/trade/multi-swap.d.ts +3 -0
  31. package/dist/commands/trade/multi-swap.d.ts.map +1 -0
  32. package/dist/commands/trade/multi-swap.js +141 -0
  33. package/dist/commands/trade/multi-swap.js.map +1 -0
  34. package/dist/commands/trade/status.js +2 -2
  35. package/dist/commands/trade/status.js.map +1 -1
  36. package/dist/commands/trade/swap.d.ts.map +1 -1
  37. package/dist/commands/trade/swap.js +48 -12
  38. package/dist/commands/trade/swap.js.map +1 -1
  39. package/dist/commands/wallet/balance.d.ts.map +1 -1
  40. package/dist/commands/wallet/balance.js +20 -3
  41. package/dist/commands/wallet/balance.js.map +1 -1
  42. package/dist/commands/wallet/deploy.d.ts.map +1 -1
  43. package/dist/commands/wallet/deploy.js +2 -1
  44. package/dist/commands/wallet/deploy.js.map +1 -1
  45. package/dist/commands/wallet/send.d.ts.map +1 -1
  46. package/dist/commands/wallet/send.js +46 -9
  47. package/dist/commands/wallet/send.js.map +1 -1
  48. package/dist/index.js +162 -9
  49. package/dist/index.js.map +1 -1
  50. package/dist/lib/banner.d.ts +6 -0
  51. package/dist/lib/banner.d.ts.map +1 -0
  52. package/dist/lib/banner.js +78 -0
  53. package/dist/lib/banner.js.map +1 -0
  54. package/dist/lib/concurrency.d.ts +2 -0
  55. package/dist/lib/concurrency.d.ts.map +1 -0
  56. package/dist/lib/concurrency.js +21 -0
  57. package/dist/lib/concurrency.js.map +1 -0
  58. package/dist/lib/config.d.ts +0 -11
  59. package/dist/lib/config.d.ts.map +1 -1
  60. package/dist/lib/config.js +0 -20
  61. package/dist/lib/config.js.map +1 -1
  62. package/dist/lib/errors.d.ts +2 -0
  63. package/dist/lib/errors.d.ts.map +1 -1
  64. package/dist/lib/errors.js +2 -0
  65. package/dist/lib/errors.js.map +1 -1
  66. package/dist/lib/fetch.d.ts +4 -0
  67. package/dist/lib/fetch.d.ts.map +1 -0
  68. package/dist/lib/fetch.js +13 -0
  69. package/dist/lib/fetch.js.map +1 -0
  70. package/dist/lib/format.d.ts +12 -2
  71. package/dist/lib/format.d.ts.map +1 -1
  72. package/dist/lib/format.js +86 -23
  73. package/dist/lib/format.js.map +1 -1
  74. package/dist/lib/retry.d.ts +8 -0
  75. package/dist/lib/retry.d.ts.map +1 -0
  76. package/dist/lib/retry.js +25 -0
  77. package/dist/lib/retry.js.map +1 -0
  78. package/dist/lib/types.d.ts +6 -0
  79. package/dist/lib/types.d.ts.map +1 -0
  80. package/dist/lib/types.js +2 -0
  81. package/dist/lib/types.js.map +1 -0
  82. package/dist/lib/validation.d.ts +0 -12
  83. package/dist/lib/validation.d.ts.map +1 -1
  84. package/dist/lib/validation.js +1 -23
  85. package/dist/lib/validation.js.map +1 -1
  86. package/dist/mcp/handlers/batch.d.ts +13 -0
  87. package/dist/mcp/handlers/batch.d.ts.map +1 -0
  88. package/dist/mcp/handlers/batch.js +33 -0
  89. package/dist/mcp/handlers/batch.js.map +1 -0
  90. package/dist/mcp/handlers/config.d.ts +1 -1
  91. package/dist/mcp/handlers/config.d.ts.map +1 -1
  92. package/dist/mcp/handlers/config.js +11 -12
  93. package/dist/mcp/handlers/config.js.map +1 -1
  94. package/dist/mcp/handlers/index.d.ts +3 -0
  95. package/dist/mcp/handlers/index.d.ts.map +1 -1
  96. package/dist/mcp/handlers/index.js +3 -0
  97. package/dist/mcp/handlers/index.js.map +1 -1
  98. package/dist/mcp/handlers/lending.d.ts +12 -1
  99. package/dist/mcp/handlers/lending.d.ts.map +1 -1
  100. package/dist/mcp/handlers/lending.js +67 -23
  101. package/dist/mcp/handlers/lending.js.map +1 -1
  102. package/dist/mcp/handlers/multi-swap.d.ts +27 -0
  103. package/dist/mcp/handlers/multi-swap.d.ts.map +1 -0
  104. package/dist/mcp/handlers/multi-swap.js +73 -0
  105. package/dist/mcp/handlers/multi-swap.js.map +1 -0
  106. package/dist/mcp/handlers/portfolio.d.ts +7 -0
  107. package/dist/mcp/handlers/portfolio.d.ts.map +1 -0
  108. package/dist/mcp/handlers/portfolio.js +11 -0
  109. package/dist/mcp/handlers/portfolio.js.map +1 -0
  110. package/dist/mcp/handlers/staking.d.ts +13 -1
  111. package/dist/mcp/handlers/staking.d.ts.map +1 -1
  112. package/dist/mcp/handlers/staking.js +18 -5
  113. package/dist/mcp/handlers/staking.js.map +1 -1
  114. package/dist/mcp/handlers/trade.d.ts +1 -0
  115. package/dist/mcp/handlers/trade.d.ts.map +1 -1
  116. package/dist/mcp/handlers/trade.js +27 -13
  117. package/dist/mcp/handlers/trade.js.map +1 -1
  118. package/dist/mcp/handlers/wallet.d.ts +1 -0
  119. package/dist/mcp/handlers/wallet.d.ts.map +1 -1
  120. package/dist/mcp/handlers/wallet.js +24 -5
  121. package/dist/mcp/handlers/wallet.js.map +1 -1
  122. package/dist/mcp/server.d.ts.map +1 -1
  123. package/dist/mcp/server.js +45 -4
  124. package/dist/mcp/server.js.map +1 -1
  125. package/dist/mcp/tools/auth.d.ts +3 -0
  126. package/dist/mcp/tools/auth.d.ts.map +1 -0
  127. package/dist/mcp/tools/auth.js +17 -0
  128. package/dist/mcp/tools/auth.js.map +1 -0
  129. package/dist/mcp/tools/error-handling.d.ts +12 -0
  130. package/dist/mcp/tools/error-handling.d.ts.map +1 -0
  131. package/dist/mcp/tools/error-handling.js +28 -0
  132. package/dist/mcp/tools/error-handling.js.map +1 -0
  133. package/dist/mcp/tools/index.d.ts +11 -0
  134. package/dist/mcp/tools/index.d.ts.map +1 -0
  135. package/dist/mcp/tools/index.js +19 -0
  136. package/dist/mcp/tools/index.js.map +1 -0
  137. package/dist/mcp/tools/lending.d.ts +3 -0
  138. package/dist/mcp/tools/lending.d.ts.map +1 -0
  139. package/dist/mcp/tools/lending.js +71 -0
  140. package/dist/mcp/tools/lending.js.map +1 -0
  141. package/dist/mcp/tools/staking.d.ts +3 -0
  142. package/dist/mcp/tools/staking.d.ts.map +1 -0
  143. package/dist/mcp/tools/staking.js +50 -0
  144. package/dist/mcp/tools/staking.js.map +1 -0
  145. package/dist/mcp/tools/trade.d.ts +3 -0
  146. package/dist/mcp/tools/trade.d.ts.map +1 -0
  147. package/dist/mcp/tools/trade.js +63 -0
  148. package/dist/mcp/tools/trade.js.map +1 -0
  149. package/dist/mcp/tools/wallet.d.ts +3 -0
  150. package/dist/mcp/tools/wallet.d.ts.map +1 -0
  151. package/dist/mcp/tools/wallet.js +27 -0
  152. package/dist/mcp/tools/wallet.js.map +1 -0
  153. package/dist/mcp/tools.d.ts.map +1 -1
  154. package/dist/mcp/tools.js +125 -41
  155. package/dist/mcp/tools.js.map +1 -1
  156. package/dist/services/api/client.d.ts +0 -12
  157. package/dist/services/api/client.d.ts.map +1 -1
  158. package/dist/services/api/client.js +7 -16
  159. package/dist/services/api/client.js.map +1 -1
  160. package/dist/services/auth/session.d.ts +1 -7
  161. package/dist/services/auth/session.d.ts.map +1 -1
  162. package/dist/services/auth/session.js +21 -0
  163. package/dist/services/auth/session.js.map +1 -1
  164. package/dist/services/batch/batch.d.ts +35 -0
  165. package/dist/services/batch/batch.d.ts.map +1 -0
  166. package/dist/services/batch/batch.js +110 -0
  167. package/dist/services/batch/batch.js.map +1 -0
  168. package/dist/services/config/config.d.ts +3 -0
  169. package/dist/services/config/config.d.ts.map +1 -1
  170. package/dist/services/config/config.js +30 -1
  171. package/dist/services/config/config.js.map +1 -1
  172. package/dist/services/fibrous/config.d.ts +4 -0
  173. package/dist/services/fibrous/config.d.ts.map +1 -0
  174. package/dist/services/fibrous/config.js +4 -0
  175. package/dist/services/fibrous/config.js.map +1 -0
  176. package/dist/services/fibrous/health.js +1 -1
  177. package/dist/services/fibrous/health.js.map +1 -1
  178. package/dist/services/fibrous/route.d.ts +15 -6
  179. package/dist/services/fibrous/route.d.ts.map +1 -1
  180. package/dist/services/fibrous/route.js +64 -3
  181. package/dist/services/fibrous/route.js.map +1 -1
  182. package/dist/services/portfolio/portfolio.d.ts +31 -0
  183. package/dist/services/portfolio/portfolio.d.ts.map +1 -0
  184. package/dist/services/portfolio/portfolio.js +104 -0
  185. package/dist/services/portfolio/portfolio.js.map +1 -0
  186. package/dist/services/simulate/simulate.d.ts +10 -0
  187. package/dist/services/simulate/simulate.d.ts.map +1 -0
  188. package/dist/services/simulate/simulate.js +57 -0
  189. package/dist/services/simulate/simulate.js.map +1 -0
  190. package/dist/services/staking/staking.d.ts +9 -30
  191. package/dist/services/staking/staking.d.ts.map +1 -1
  192. package/dist/services/staking/staking.js +44 -52
  193. package/dist/services/staking/staking.js.map +1 -1
  194. package/dist/services/starkzap/client.d.ts +2 -1
  195. package/dist/services/starkzap/client.d.ts.map +1 -1
  196. package/dist/services/starkzap/client.js +39 -21
  197. package/dist/services/starkzap/client.js.map +1 -1
  198. package/dist/services/starkzap/config.d.ts +6 -0
  199. package/dist/services/starkzap/config.d.ts.map +1 -0
  200. package/dist/services/starkzap/config.js +13 -0
  201. package/dist/services/starkzap/config.js.map +1 -0
  202. package/dist/services/tokens/balances.d.ts.map +1 -1
  203. package/dist/services/tokens/balances.js +8 -8
  204. package/dist/services/tokens/balances.js.map +1 -1
  205. package/dist/services/tokens/tokens.d.ts +2 -3
  206. package/dist/services/tokens/tokens.d.ts.map +1 -1
  207. package/dist/services/tokens/tokens.js +3 -8
  208. package/dist/services/tokens/tokens.js.map +1 -1
  209. package/dist/services/vesu/api.d.ts +28 -0
  210. package/dist/services/vesu/api.d.ts.map +1 -0
  211. package/dist/services/vesu/api.js +91 -0
  212. package/dist/services/vesu/api.js.map +1 -0
  213. package/dist/services/vesu/config.d.ts +9 -0
  214. package/dist/services/vesu/config.d.ts.map +1 -0
  215. package/dist/services/vesu/config.js +32 -0
  216. package/dist/services/vesu/config.js.map +1 -0
  217. package/dist/services/vesu/index.d.ts +2 -0
  218. package/dist/services/vesu/index.d.ts.map +1 -1
  219. package/dist/services/vesu/index.js +2 -0
  220. package/dist/services/vesu/index.js.map +1 -1
  221. package/dist/services/vesu/lending.d.ts +9 -5
  222. package/dist/services/vesu/lending.d.ts.map +1 -1
  223. package/dist/services/vesu/lending.js +176 -60
  224. package/dist/services/vesu/lending.js.map +1 -1
  225. package/dist/services/vesu/pools.d.ts +6 -12
  226. package/dist/services/vesu/pools.d.ts.map +1 -1
  227. package/dist/services/vesu/pools.js +11 -31
  228. package/dist/services/vesu/pools.js.map +1 -1
  229. package/package.json +88 -82
  230. package/skills/README.md +59 -0
  231. package/skills/authenticate-wallet/SKILL.md +119 -0
  232. package/skills/balance/SKILL.md +80 -0
  233. package/skills/batch/SKILL.md +118 -0
  234. package/skills/config/SKILL.md +144 -0
  235. package/skills/lending/SKILL.md +209 -0
  236. package/skills/multi-swap/SKILL.md +95 -0
  237. package/skills/portfolio/SKILL.md +82 -0
  238. package/skills/send/SKILL.md +82 -0
  239. package/skills/staking/SKILL.md +188 -0
  240. package/skills/trade/SKILL.md +92 -0
@@ -1,25 +1,41 @@
1
1
  import { requireSession } from "../../services/auth/session.js";
2
2
  import { initSDKAndWallet } from "../../services/starkzap/client.js";
3
3
  import * as lendingService from "../../services/vesu/lending.js";
4
- import { getVesuPools, findVesuPool } from "../../services/vesu/pools.js";
5
- import { createSpinner, formatResult, formatTable } from "../../lib/format.js";
4
+ import chalk from "chalk";
5
+ import { getVesuPools, findPoolEntry } from "../../services/vesu/pools.js";
6
+ import { createSpinner, formatResult, formatTable, formatError } from "../../lib/format.js";
6
7
  import { validateAddress } from "../../lib/validation.js";
7
8
  function resolvePoolAddress(poolQuery, network) {
8
- const found = findVesuPool(poolQuery, network);
9
+ const found = findPoolEntry(poolQuery, network);
9
10
  if (found)
10
- return found.poolContract;
11
- return validateAddress(poolQuery);
11
+ return { address: found.address, name: found.name };
12
+ return { address: validateAddress(poolQuery), name: null };
13
+ }
14
+ function handleLendingError(error) {
15
+ const msg = error instanceof Error ? error.message : String(error);
16
+ if (msg.includes("dusty-collateral-balance")) {
17
+ console.error(formatError(new Error("Collateral amount is below the pool's minimum (dust limit). Please increase the amount.")));
18
+ }
19
+ else if (msg.includes("dusty-debt-balance")) {
20
+ console.error(formatError(new Error("Borrow amount is below the pool's minimum (dust limit). Please increase the amount.")));
21
+ }
22
+ else {
23
+ console.error(formatError(error));
24
+ }
25
+ process.exit(1);
12
26
  }
13
27
  export function registerLendPoolsCommand(program) {
14
28
  program
15
29
  .command("lend-pools")
16
30
  .description("List available Vesu V2 lending pools")
17
- .argument("[name]", "Filter pools by name (partial match)")
18
- .action(async (name) => {
31
+ .argument("[name]", "Filter pools by name (partial match, shows details)")
32
+ .option("--json", "Output raw JSON")
33
+ .addHelpText("after", "\nExamples:\n $ starkfi lend-pools\n $ starkfi lend-pools prime\n $ starkfi lend-pools --json")
34
+ .action(async (name, opts) => {
19
35
  const spinner = createSpinner("Fetching Vesu pools...").start();
20
36
  try {
21
37
  const session = requireSession();
22
- let pools = getVesuPools(session.network);
38
+ let pools = await getVesuPools(session.network);
23
39
  if (name) {
24
40
  const lower = name.toLowerCase();
25
41
  pools = pools.filter((p) => p.name.toLowerCase().includes(lower));
@@ -29,15 +45,69 @@ export function registerLendPoolsCommand(program) {
29
45
  return;
30
46
  }
31
47
  spinner.succeed(`Found ${pools.length} pool(s)`);
32
- console.log(formatTable(["Name", "Pool Address", "Pairs"], pools.map((p) => [
48
+ if (opts.json) {
49
+ console.log(JSON.stringify({
50
+ pools: pools.map((p) => ({
51
+ name: p.name,
52
+ version: p.protocolVersion,
53
+ address: p.address,
54
+ assets: p.assets,
55
+ pairs: p.pairs,
56
+ })),
57
+ }, null, 2));
58
+ return;
59
+ }
60
+ if (name && pools.length <= 2) {
61
+ for (const pool of pools) {
62
+ console.log("");
63
+ console.log(chalk.bold.hex("#a5b4fc")(` ${pool.name}`) +
64
+ chalk.dim(` (${pool.protocolVersion})`));
65
+ console.log(chalk.gray(` ${pool.address}`));
66
+ if (pool.assets.length > 0) {
67
+ console.log("");
68
+ console.log(chalk.bold(" Assets:"));
69
+ for (const a of pool.assets) {
70
+ const borrowLabel = a.canBeBorrowed
71
+ ? chalk.green("borrowable")
72
+ : chalk.dim("supply-only");
73
+ console.log(` ${chalk.white(a.symbol.padEnd(12))} ` +
74
+ `${chalk.gray("Supply APY")} ${chalk.yellow(a.supplyApy.padEnd(8))} ` +
75
+ `${chalk.gray("Borrow APR")} ${chalk.yellow(a.borrowApr.padEnd(8))} ` +
76
+ `${borrowLabel}`);
77
+ }
78
+ }
79
+ if (pool.pairs.length > 0) {
80
+ console.log("");
81
+ console.log(chalk.bold(` Pairs (${pool.pairs.length}):`));
82
+ const pairStrs = pool.pairs.map((p) => `${p.collateralSymbol}/${p.debtSymbol}`);
83
+ const lines = [];
84
+ let current = " ";
85
+ for (const pair of pairStrs) {
86
+ if (current.length + pair.length + 2 > 80 && current.trim()) {
87
+ lines.push(current);
88
+ current = " ";
89
+ }
90
+ current += (current.trim() ? ", " : "") + pair;
91
+ }
92
+ if (current.trim())
93
+ lines.push(current);
94
+ console.log(chalk.white(lines.join("\n")));
95
+ }
96
+ }
97
+ console.log("");
98
+ return;
99
+ }
100
+ console.log(formatTable(["Name", "Version", "Assets", "Pairs"], pools.map((p) => [
33
101
  p.name,
34
- p.poolContract,
35
- p.pairs.map((pair) => `${pair.collateral}/${pair.debt}`).join(", "),
102
+ p.protocolVersion,
103
+ String(p.assets.length),
104
+ String(p.pairs.length),
36
105
  ])));
106
+ console.log(chalk.dim("\n Tip: Use lend-pools <name> to see pool details and APY rates."));
37
107
  }
38
108
  catch (error) {
39
109
  spinner.fail("Failed to list pools");
40
- console.error(error instanceof Error ? error.message : error);
110
+ console.error(formatError(error));
41
111
  process.exit(1);
42
112
  }
43
113
  });
@@ -47,28 +117,28 @@ export function registerLendSupplyCommand(program) {
47
117
  .command("lend-supply")
48
118
  .description("Supply assets into a Vesu V2 lending pool")
49
119
  .argument("<amount>", "Amount to supply")
50
- .requiredOption("-p, --pool <name|address>", "Pool name (e.g. 'Genesis') or contract address")
120
+ .requiredOption("-p, --pool <name|address>", "Pool name (e.g. 'Prime') or contract address")
51
121
  .requiredOption("-t, --token <symbol>", "Token symbol (e.g. 'STRK', 'ETH', 'USDC')")
122
+ .addHelpText("after", "\nExamples:\n $ starkfi lend-supply 100 USDC -p Prime -t USDC\n $ starkfi lend-supply 0.5 ETH -p Prime -t ETH")
52
123
  .action(async (amount, opts) => {
53
124
  const spinner = createSpinner(`Supplying ${amount} ${opts.token}...`).start();
54
125
  try {
55
126
  const session = requireSession();
56
127
  const { wallet } = await initSDKAndWallet(session);
57
128
  await wallet.ensureReady({ deploy: "if_needed" });
58
- const poolAddress = resolvePoolAddress(opts.pool, session.network);
59
- const result = await lendingService.supply(wallet, poolAddress, opts.token, amount);
129
+ const pool = resolvePoolAddress(opts.pool, session.network);
130
+ const result = await lendingService.supply(wallet, pool.address, opts.token, amount);
60
131
  spinner.succeed("Supply confirmed");
61
132
  console.log(formatResult({
62
133
  amount: `${amount} ${opts.token.toUpperCase()}`,
63
- pool: poolAddress,
134
+ pool: pool.name ?? pool.address,
64
135
  txHash: result.hash,
65
136
  explorer: result.explorerUrl,
66
137
  }));
67
138
  }
68
139
  catch (error) {
69
140
  spinner.fail("Supply failed");
70
- console.error(error instanceof Error ? error.message : error);
71
- process.exit(1);
141
+ handleLendingError(error);
72
142
  }
73
143
  });
74
144
  }
@@ -77,28 +147,28 @@ export function registerLendWithdrawCommand(program) {
77
147
  .command("lend-withdraw")
78
148
  .description("Withdraw supplied assets from a Vesu V2 lending pool")
79
149
  .argument("<amount>", "Amount to withdraw")
80
- .requiredOption("-p, --pool <name|address>", "Pool name (e.g. 'Genesis') or contract address")
150
+ .requiredOption("-p, --pool <name|address>", "Pool name (e.g. 'Prime') or contract address")
81
151
  .requiredOption("-t, --token <symbol>", "Token symbol (e.g. 'STRK', 'ETH', 'USDC')")
152
+ .addHelpText("after", "\nExamples:\n $ starkfi lend-withdraw 50 -p Prime -t USDC\n $ starkfi lend-withdraw 0.2 -p Prime -t ETH")
82
153
  .action(async (amount, opts) => {
83
154
  const spinner = createSpinner(`Withdrawing ${amount} ${opts.token}...`).start();
84
155
  try {
85
156
  const session = requireSession();
86
157
  const { wallet } = await initSDKAndWallet(session);
87
158
  await wallet.ensureReady({ deploy: "if_needed" });
88
- const poolAddress = resolvePoolAddress(opts.pool, session.network);
89
- const result = await lendingService.withdraw(wallet, poolAddress, opts.token, amount);
159
+ const pool = resolvePoolAddress(opts.pool, session.network);
160
+ const result = await lendingService.withdraw(wallet, pool.address, opts.token, amount);
90
161
  spinner.succeed("Withdrawal confirmed");
91
162
  console.log(formatResult({
92
163
  amount: `${amount} ${opts.token.toUpperCase()}`,
93
- pool: poolAddress,
164
+ pool: pool.name ?? pool.address,
94
165
  txHash: result.hash,
95
166
  explorer: result.explorerUrl,
96
167
  }));
97
168
  }
98
169
  catch (error) {
99
170
  spinner.fail("Withdrawal failed");
100
- console.error(error instanceof Error ? error.message : error);
101
- process.exit(1);
171
+ handleLendingError(error);
102
172
  }
103
173
  });
104
174
  }
@@ -106,32 +176,43 @@ export function registerLendBorrowCommand(program) {
106
176
  program
107
177
  .command("lend-borrow")
108
178
  .description("Borrow assets from a Vesu V2 lending pool (requires collateral)")
109
- .requiredOption("-p, --pool <name|address>", "Pool name (e.g. 'Genesis') or contract address")
179
+ .requiredOption("-p, --pool <name|address>", "Pool name (e.g. 'Prime') or contract address")
110
180
  .requiredOption("--collateral-amount <n>", "Collateral amount to supply")
111
181
  .requiredOption("--collateral-token <symbol>", "Collateral token symbol (e.g. 'ETH', 'STRK')")
112
182
  .requiredOption("--borrow-amount <n>", "Amount to borrow")
113
183
  .requiredOption("--borrow-token <symbol>", "Token to borrow (e.g. 'USDC', 'USDT')")
184
+ .option("--use-supplied", "Use your previously supplied yield tokens as collateral instead of transferring from wallet")
185
+ .addHelpText("after", "\nExamples:\n $ starkfi lend-borrow -p Prime --collateral-amount 0.5 --collateral-token ETH --borrow-amount 500 --borrow-token USDC\n $ starkfi lend-borrow -p Prime --collateral-amount 100 --collateral-token STRK --borrow-amount 50 --borrow-token USDT --use-supplied")
114
186
  .action(async (opts) => {
115
187
  const spinner = createSpinner(`Borrowing ${opts.borrowAmount} ${opts.borrowToken}...`).start();
116
188
  try {
117
189
  const session = requireSession();
118
190
  const { wallet } = await initSDKAndWallet(session);
119
191
  await wallet.ensureReady({ deploy: "if_needed" });
120
- const poolAddress = resolvePoolAddress(opts.pool, session.network);
121
- const result = await lendingService.borrow(wallet, poolAddress, opts.collateralToken, opts.collateralAmount, opts.borrowToken, opts.borrowAmount);
192
+ const pool = resolvePoolAddress(opts.pool, session.network);
193
+ let useSupplied = false;
194
+ if (opts.useSupplied) {
195
+ spinner.text = "Checking supplied yield balance...";
196
+ const balance = await lendingService.getSuppliedBalance(wallet, pool.address, opts.collateralToken);
197
+ if (!balance || parseFloat(balance) < parseFloat(opts.collateralAmount)) {
198
+ throw new Error(`Insufficient supplied balance. You have ${balance || "0"} ${opts.collateralToken} supplied, but want to use ${opts.collateralAmount} as collateral.`);
199
+ }
200
+ useSupplied = true;
201
+ spinner.text = `Borrowing ${opts.borrowAmount} ${opts.borrowToken}...`;
202
+ }
203
+ const result = await lendingService.borrow(wallet, pool.address, opts.collateralToken, opts.collateralAmount, opts.borrowToken, opts.borrowAmount, useSupplied);
122
204
  spinner.succeed("Borrow confirmed");
123
205
  console.log(formatResult({
124
206
  collateral: `${opts.collateralAmount} ${opts.collateralToken.toUpperCase()}`,
125
207
  borrowed: `${opts.borrowAmount} ${opts.borrowToken.toUpperCase()}`,
126
- pool: poolAddress,
208
+ pool: pool.name ?? pool.address,
127
209
  txHash: result.hash,
128
210
  explorer: result.explorerUrl,
129
211
  }));
130
212
  }
131
213
  catch (error) {
132
214
  spinner.fail("Borrow failed");
133
- console.error(error instanceof Error ? error.message : error);
134
- process.exit(1);
215
+ handleLendingError(error);
135
216
  }
136
217
  });
137
218
  }
@@ -140,60 +221,125 @@ export function registerLendRepayCommand(program) {
140
221
  .command("lend-repay")
141
222
  .description("Repay borrowed assets on a Vesu V2 lending pool")
142
223
  .argument("<amount>", "Amount to repay")
143
- .requiredOption("-p, --pool <name|address>", "Pool name (e.g. 'Genesis') or contract address")
144
- .requiredOption("-t, --token <symbol>", "Debt token symbol (e.g. 'USDC', 'USDT')")
224
+ .requiredOption("-p, --pool <name|address>", "Pool name (e.g. 'Prime') or contract address")
225
+ .requiredOption("-t, --token <symbol>", "Token to repay (e.g. 'USDC', 'USDT')")
145
226
  .requiredOption("--collateral-token <symbol>", "Collateral token of the position (e.g. 'ETH', 'STRK')")
227
+ .addHelpText("after", "\nExamples:\n $ starkfi lend-repay 500 -p Prime -t USDC --collateral-token ETH\n $ starkfi lend-repay 50 -p Prime -t USDT --collateral-token STRK")
146
228
  .action(async (amount, opts) => {
147
229
  const spinner = createSpinner(`Repaying ${amount} ${opts.token}...`).start();
148
230
  try {
149
231
  const session = requireSession();
150
232
  const { wallet } = await initSDKAndWallet(session);
151
233
  await wallet.ensureReady({ deploy: "if_needed" });
152
- const poolAddress = resolvePoolAddress(opts.pool, session.network);
153
- const result = await lendingService.repay(wallet, poolAddress, opts.collateralToken, opts.token, amount);
234
+ const pool = resolvePoolAddress(opts.pool, session.network);
235
+ const result = await lendingService.repay(wallet, pool.address, opts.collateralToken, opts.token, amount);
154
236
  spinner.succeed("Repayment confirmed");
155
237
  console.log(formatResult({
156
238
  repaid: `${amount} ${opts.token.toUpperCase()}`,
157
- pool: poolAddress,
239
+ pool: pool.name ?? pool.address,
158
240
  txHash: result.hash,
159
241
  explorer: result.explorerUrl,
160
242
  }));
161
243
  }
162
244
  catch (error) {
163
245
  spinner.fail("Repayment failed");
164
- console.error(error instanceof Error ? error.message : error);
165
- process.exit(1);
246
+ handleLendingError(error);
247
+ }
248
+ });
249
+ }
250
+ export function registerLendCloseCommand(program) {
251
+ program
252
+ .command("lend-close")
253
+ .description("Atomically repay all debt and withdraw all collateral from a Vesu V2 position")
254
+ .requiredOption("-p, --pool <name|address>", "Pool name (e.g. 'Prime') or contract address")
255
+ .requiredOption("--collateral-token <symbol>", "Collateral token symbol (e.g. 'ETH', 'STRK')")
256
+ .requiredOption("--borrow-token <symbol>", "Borrowed token symbol (e.g. 'USDC', 'USDT')")
257
+ .addHelpText("after", "\nExamples:\n $ starkfi lend-close -p Prime --collateral-token ETH --borrow-token USDC\n $ starkfi lend-close -p Prime --collateral-token STRK --borrow-token USDT")
258
+ .action(async (opts) => {
259
+ const spinner = createSpinner("Closing position...").start();
260
+ try {
261
+ const session = requireSession();
262
+ const { wallet } = await initSDKAndWallet(session);
263
+ await wallet.ensureReady({ deploy: "if_needed" });
264
+ const pool = resolvePoolAddress(opts.pool, session.network);
265
+ const result = await lendingService.closePosition(wallet, pool.address, opts.collateralToken, opts.borrowToken);
266
+ spinner.succeed("Position closed successfully");
267
+ console.log(formatResult({
268
+ status: "Closed",
269
+ pool: pool.name ?? pool.address,
270
+ txHash: result.hash,
271
+ explorer: result.explorerUrl,
272
+ }));
273
+ }
274
+ catch (error) {
275
+ spinner.fail("Failed to close position");
276
+ handleLendingError(error);
166
277
  }
167
278
  });
168
279
  }
169
280
  export function registerLendStatusCommand(program) {
170
281
  program
171
282
  .command("lend-status")
172
- .description("View your lending position in a Vesu V2 pool")
173
- .requiredOption("-p, --pool <name|address>", "Pool name (e.g. 'Genesis') or contract address")
174
- .requiredOption("--collateral-token <symbol>", "Collateral token (e.g. 'ETH', 'STRK')")
175
- .requiredOption("--debt-token <symbol>", "Debt token (e.g. 'USDC', 'USDT')")
283
+ .description("View your lending position and supplied assets in a Vesu V2 pool")
284
+ .requiredOption("-p, --pool <name|address>", "Pool name (e.g. 'Prime') or contract address")
285
+ .requiredOption("--collateral-token <symbol>", "Token supplied to vToken and/or Pool (e.g. 'ETH', 'STRK')")
286
+ .option("--borrow-token <symbol>", "Borrow token (e.g. 'USDC', 'USDT'), required to see debt position")
287
+ .addHelpText("after", "\nExamples:\n $ starkfi lend-status -p Prime --collateral-token ETH\n $ starkfi lend-status -p Prime --collateral-token ETH --borrow-token USDC")
176
288
  .action(async (opts) => {
177
289
  const spinner = createSpinner("Fetching lending position...").start();
178
290
  try {
179
291
  const session = requireSession();
180
292
  const { wallet } = await initSDKAndWallet(session);
181
- const poolAddress = resolvePoolAddress(opts.pool, session.network);
182
- const position = await lendingService.getPosition(wallet, poolAddress, opts.collateralToken, opts.debtToken);
183
- if (!position) {
184
- spinner.info("No active position found in this pool");
293
+ const pool = resolvePoolAddress(opts.pool, session.network);
294
+ const suppliedBalance = await lendingService.getSuppliedBalance(wallet, pool.address, opts.collateralToken);
295
+ let position = null;
296
+ if (opts.borrowToken) {
297
+ position = await lendingService.getPosition(wallet, pool.address, opts.collateralToken, opts.borrowToken);
298
+ }
299
+ if (!position && (!suppliedBalance || suppliedBalance === "0")) {
300
+ spinner.info("No active position or supply found in this pool");
185
301
  return;
186
302
  }
187
303
  spinner.succeed("Position found");
188
- console.log(formatResult({
189
- pool: poolAddress,
190
- collateral: `${position.collateralAmount} ${position.collateralAsset}`,
191
- debt: `${position.debtAmount} ${position.debtAsset}`,
192
- }));
304
+ const resultObj = {
305
+ pool: pool.name ?? pool.address,
306
+ };
307
+ if (suppliedBalance && suppliedBalance !== "0.0") {
308
+ resultObj["suppliedYield"] =
309
+ `${suppliedBalance} ${opts.collateralToken.toUpperCase()}`;
310
+ }
311
+ if (position) {
312
+ resultObj["collateral"] =
313
+ `${position.collateralAmount} ${position.collateralAsset}`;
314
+ resultObj["debt"] = `${position.debtAmount} ${position.debtAsset}`;
315
+ if (position.healthFactor !== undefined) {
316
+ let hfStr = position.healthFactor === Infinity
317
+ ? "∞"
318
+ : position.healthFactor.toFixed(2);
319
+ let riskStrFormatted = position.riskLevel ?? "UNKNOWN";
320
+ if (position.riskLevel === "SAFE")
321
+ riskStrFormatted = chalk.green("SAFE");
322
+ else if (position.riskLevel === "WARNING")
323
+ riskStrFormatted = chalk.yellow("WARNING");
324
+ else if (position.riskLevel === "DANGER")
325
+ riskStrFormatted = chalk.red("DANGER");
326
+ if (position.healthFactor === Infinity)
327
+ hfStr = chalk.green(hfStr);
328
+ else if (position.healthFactor > 1.5)
329
+ hfStr = chalk.green(hfStr);
330
+ else if (position.healthFactor > 1.1)
331
+ hfStr = chalk.yellow(hfStr);
332
+ else
333
+ hfStr = chalk.red(hfStr);
334
+ resultObj["healthFactor"] = hfStr;
335
+ resultObj["riskLevel"] = riskStrFormatted;
336
+ }
337
+ }
338
+ console.log(formatResult(resultObj));
193
339
  }
194
340
  catch (error) {
195
341
  spinner.fail("Failed to fetch position");
196
- console.error(error instanceof Error ? error.message : error);
342
+ console.error(formatError(error));
197
343
  process.exit(1);
198
344
  }
199
345
  });
@@ -1 +1 @@
1
- {"version":3,"file":"lending.js","sourceRoot":"","sources":["../../../src/commands/lending/lending.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lending.js","sourceRoot":"","sources":["../../../src/commands/lending/lending.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerPortfolioCommand(program: Command): void;
3
+ //# sourceMappingURL=portfolio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portfolio.d.ts","sourceRoot":"","sources":["../../../src/commands/portfolio/portfolio.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+F/D"}
@@ -0,0 +1,76 @@
1
+ import { requireSession } from "../../services/auth/session.js";
2
+ import { initSDKAndWallet } from "../../services/starkzap/client.js";
3
+ import { getPortfolio } from "../../services/portfolio/portfolio.js";
4
+ import { createSpinner, formatResult, formatTable, formatError } from "../../lib/format.js";
5
+ export function registerPortfolioCommand(program) {
6
+ program
7
+ .command("portfolio")
8
+ .description("Show complete DeFi portfolio: balances, staking, and lending positions")
9
+ .option("--json", "Output raw JSON instead of formatted table")
10
+ .action(async (opts) => {
11
+ const spinner = createSpinner("Loading portfolio...").start();
12
+ try {
13
+ const session = requireSession();
14
+ const { sdk, wallet } = await initSDKAndWallet(session);
15
+ spinner.text = "Fetching balances, staking & lending positions...";
16
+ const portfolio = await getPortfolio(sdk, wallet, session);
17
+ spinner.stop();
18
+ if (opts.json) {
19
+ console.log(JSON.stringify(portfolio, null, 2));
20
+ return;
21
+ }
22
+ // Balances
23
+ console.log(`\n Token Balances\n`);
24
+ if (portfolio.balances.length > 0) {
25
+ console.log(formatTable(["Token", "Amount", "USD Value"], portfolio.balances.map((b) => [
26
+ b.symbol,
27
+ b.amount,
28
+ b.usdValue > 0 ? `$${b.usdValue.toFixed(2)}` : "—",
29
+ ])));
30
+ }
31
+ else {
32
+ console.log(" No token balances found.\n");
33
+ }
34
+ // Staking
35
+ console.log(`\n Staking Positions\n`);
36
+ if (portfolio.staking.length > 0) {
37
+ console.log(formatTable(["Validator", "Pool", "Staked", "Rewards", "USD Value"], portfolio.staking.map((s) => [
38
+ s.validator,
39
+ s.pool.slice(0, 10) + "…",
40
+ `${s.staked} ${s.token}`,
41
+ s.rewards,
42
+ s.usdValue > 0 ? `$${s.usdValue.toFixed(2)}` : "—",
43
+ ])));
44
+ }
45
+ else {
46
+ console.log(" No staking positions found.\n");
47
+ }
48
+ // Lending
49
+ console.log(`\n Lending Positions (Vesu)\n`);
50
+ if (portfolio.lending.length > 0) {
51
+ console.log(formatTable(["Pool", "Asset", "Supplied"], portfolio.lending.map((l) => [l.pool, l.asset, l.supplied])));
52
+ }
53
+ else {
54
+ console.log(" No lending positions found.\n");
55
+ }
56
+ // Summary
57
+ console.log();
58
+ console.log(formatResult({
59
+ network: portfolio.network,
60
+ totalUsdValue: portfolio.totalUsdValue > 0
61
+ ? `$${portfolio.totalUsdValue.toFixed(2)}`
62
+ : "Price data unavailable",
63
+ tokens: portfolio.balances.length,
64
+ stakingPositions: portfolio.staking.length,
65
+ lendingPositions: portfolio.lending.length,
66
+ }));
67
+ console.log();
68
+ }
69
+ catch (error) {
70
+ spinner.fail("Failed to load portfolio");
71
+ console.error(formatError(error));
72
+ process.exit(1);
73
+ }
74
+ });
75
+ }
76
+ //# sourceMappingURL=portfolio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portfolio.js","sourceRoot":"","sources":["../../../src/commands/portfolio/portfolio.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,5 @@ export declare function registerUnstakeCommand(program: Command): void;
4
4
  export declare function registerRewardsCommand(program: Command): void;
5
5
  export declare function registerPoolsCommand(program: Command): void;
6
6
  export declare function registerValidatorsCommand(program: Command): void;
7
- export declare function registerStakingStatsCommand(program: Command): void;
7
+ export declare function registerStakeStatusCommand(program: Command): void;
8
8
  //# sourceMappingURL=staking.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"staking.d.ts","sourceRoot":"","sources":["../../../src/commands/staking/staking.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8D3D;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiE7D;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4E7D;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+C3D;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4BhE;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0DlE"}
1
+ {"version":3,"file":"staking.d.ts","sourceRoot":"","sources":["../../../src/commands/staking/staking.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6F3D;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0F7D;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuF7D;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwE3D;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+ChE;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwEjE"}