fibx 0.4.2 → 0.5.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 (147) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +80 -30
  3. package/dist/commands/auth/import.d.ts.map +1 -1
  4. package/dist/commands/auth/import.js +15 -15
  5. package/dist/commands/auth/import.js.map +1 -1
  6. package/dist/commands/auth/login.d.ts.map +1 -1
  7. package/dist/commands/auth/login.js +9 -11
  8. package/dist/commands/auth/login.js.map +1 -1
  9. package/dist/commands/auth/logout.d.ts.map +1 -1
  10. package/dist/commands/auth/logout.js +3 -11
  11. package/dist/commands/auth/logout.js.map +1 -1
  12. package/dist/commands/auth/verify.d.ts.map +1 -1
  13. package/dist/commands/auth/verify.js +10 -9
  14. package/dist/commands/auth/verify.js.map +1 -1
  15. package/dist/commands/chain/transaction.d.ts.map +1 -1
  16. package/dist/commands/chain/transaction.js +13 -13
  17. package/dist/commands/chain/transaction.js.map +1 -1
  18. package/dist/commands/config/index.d.ts.map +1 -1
  19. package/dist/commands/config/index.js +40 -8
  20. package/dist/commands/config/index.js.map +1 -1
  21. package/dist/commands/defi/aave.d.ts +1 -0
  22. package/dist/commands/defi/aave.d.ts.map +1 -1
  23. package/dist/commands/defi/aave.js +105 -40
  24. package/dist/commands/defi/aave.js.map +1 -1
  25. package/dist/commands/portfolio/index.d.ts +3 -0
  26. package/dist/commands/portfolio/index.d.ts.map +1 -0
  27. package/dist/commands/portfolio/index.js +64 -0
  28. package/dist/commands/portfolio/index.js.map +1 -0
  29. package/dist/commands/trade/status.d.ts.map +1 -1
  30. package/dist/commands/trade/status.js +17 -19
  31. package/dist/commands/trade/status.js.map +1 -1
  32. package/dist/commands/trade/swap.d.ts +1 -0
  33. package/dist/commands/trade/swap.d.ts.map +1 -1
  34. package/dist/commands/trade/swap.js +156 -101
  35. package/dist/commands/trade/swap.js.map +1 -1
  36. package/dist/commands/wallet/address.d.ts.map +1 -1
  37. package/dist/commands/wallet/address.js +7 -9
  38. package/dist/commands/wallet/address.js.map +1 -1
  39. package/dist/commands/wallet/balance.d.ts.map +1 -1
  40. package/dist/commands/wallet/balance.js +42 -22
  41. package/dist/commands/wallet/balance.js.map +1 -1
  42. package/dist/commands/wallet/list.d.ts +1 -1
  43. package/dist/commands/wallet/list.d.ts.map +1 -1
  44. package/dist/commands/wallet/list.js +7 -16
  45. package/dist/commands/wallet/list.js.map +1 -1
  46. package/dist/commands/wallet/send.d.ts +5 -1
  47. package/dist/commands/wallet/send.d.ts.map +1 -1
  48. package/dist/commands/wallet/send.js +66 -24
  49. package/dist/commands/wallet/send.js.map +1 -1
  50. package/dist/index.js +185 -22
  51. package/dist/index.js.map +1 -1
  52. package/dist/lib/brand.d.ts +5 -0
  53. package/dist/lib/brand.d.ts.map +1 -0
  54. package/dist/lib/brand.js +15 -0
  55. package/dist/lib/brand.js.map +1 -0
  56. package/dist/lib/cli-helpers.d.ts +10 -0
  57. package/dist/lib/cli-helpers.d.ts.map +1 -0
  58. package/dist/lib/cli-helpers.js +20 -0
  59. package/dist/lib/cli-helpers.js.map +1 -0
  60. package/dist/lib/concurrency.d.ts +8 -0
  61. package/dist/lib/concurrency.d.ts.map +1 -0
  62. package/dist/lib/concurrency.js +26 -0
  63. package/dist/lib/concurrency.js.map +1 -0
  64. package/dist/lib/config.d.ts.map +1 -1
  65. package/dist/lib/config.js +1 -2
  66. package/dist/lib/config.js.map +1 -1
  67. package/dist/lib/errors.d.ts +1 -0
  68. package/dist/lib/errors.d.ts.map +1 -1
  69. package/dist/lib/errors.js +1 -0
  70. package/dist/lib/errors.js.map +1 -1
  71. package/dist/lib/format.d.ts +26 -3
  72. package/dist/lib/format.d.ts.map +1 -1
  73. package/dist/lib/format.js +131 -31
  74. package/dist/lib/format.js.map +1 -1
  75. package/dist/lib/parse-evm-error.d.ts +6 -0
  76. package/dist/lib/parse-evm-error.d.ts.map +1 -0
  77. package/dist/lib/parse-evm-error.js +48 -0
  78. package/dist/lib/parse-evm-error.js.map +1 -0
  79. package/dist/lib/parseAmount.d.ts.map +1 -1
  80. package/dist/lib/parseAmount.js +0 -1
  81. package/dist/lib/parseAmount.js.map +1 -1
  82. package/dist/lib/retry.d.ts +20 -0
  83. package/dist/lib/retry.d.ts.map +1 -0
  84. package/dist/lib/retry.js +36 -0
  85. package/dist/lib/retry.js.map +1 -0
  86. package/dist/mcp/handlers.d.ts +7 -1
  87. package/dist/mcp/handlers.d.ts.map +1 -1
  88. package/dist/mcp/handlers.js +86 -18
  89. package/dist/mcp/handlers.js.map +1 -1
  90. package/dist/mcp/server.d.ts.map +1 -1
  91. package/dist/mcp/server.js +4 -3
  92. package/dist/mcp/server.js.map +1 -1
  93. package/dist/mcp/tools.d.ts.map +1 -1
  94. package/dist/mcp/tools.js +16 -3
  95. package/dist/mcp/tools.js.map +1 -1
  96. package/dist/services/auth/session.d.ts.map +1 -1
  97. package/dist/services/auth/session.js +22 -1
  98. package/dist/services/auth/session.js.map +1 -1
  99. package/dist/services/chain/client.d.ts +9376 -241
  100. package/dist/services/chain/client.d.ts.map +1 -1
  101. package/dist/services/chain/client.js +0 -1
  102. package/dist/services/chain/client.js.map +1 -1
  103. package/dist/services/chain/constants.d.ts.map +1 -1
  104. package/dist/services/chain/constants.js +1 -2
  105. package/dist/services/chain/constants.js.map +1 -1
  106. package/dist/services/chain/erc20.d.ts +5 -183
  107. package/dist/services/chain/erc20.d.ts.map +1 -1
  108. package/dist/services/chain/erc20.js +15 -128
  109. package/dist/services/chain/erc20.js.map +1 -1
  110. package/dist/services/chain/nonceManager.d.ts.map +1 -1
  111. package/dist/services/chain/nonceManager.js +0 -3
  112. package/dist/services/chain/nonceManager.js.map +1 -1
  113. package/dist/services/config/config.d.ts +2 -0
  114. package/dist/services/config/config.d.ts.map +1 -1
  115. package/dist/services/config/config.js +9 -1
  116. package/dist/services/config/config.js.map +1 -1
  117. package/dist/services/defi/aave.d.ts +12 -10
  118. package/dist/services/defi/aave.d.ts.map +1 -1
  119. package/dist/services/defi/aave.js +83 -46
  120. package/dist/services/defi/aave.js.map +1 -1
  121. package/dist/services/defi/abi/aave.d.ts +99 -0
  122. package/dist/services/defi/abi/aave.d.ts.map +1 -1
  123. package/dist/services/defi/abi/aave.js +53 -0
  124. package/dist/services/defi/abi/aave.js.map +1 -1
  125. package/dist/services/defi/constants.d.ts +0 -4
  126. package/dist/services/defi/constants.d.ts.map +1 -1
  127. package/dist/services/defi/constants.js +1 -6
  128. package/dist/services/defi/constants.js.map +1 -1
  129. package/dist/services/fibrous/balances.d.ts.map +1 -1
  130. package/dist/services/fibrous/balances.js +12 -9
  131. package/dist/services/fibrous/balances.js.map +1 -1
  132. package/dist/services/fibrous/route.d.ts.map +1 -1
  133. package/dist/services/fibrous/route.js +17 -9
  134. package/dist/services/fibrous/route.js.map +1 -1
  135. package/dist/services/fibrous/tokens.d.ts +1 -0
  136. package/dist/services/fibrous/tokens.d.ts.map +1 -1
  137. package/dist/services/fibrous/tokens.js +7 -4
  138. package/dist/services/fibrous/tokens.js.map +1 -1
  139. package/dist/services/portfolio/portfolio.d.ts +28 -0
  140. package/dist/services/portfolio/portfolio.d.ts.map +1 -0
  141. package/dist/services/portfolio/portfolio.js +116 -0
  142. package/dist/services/portfolio/portfolio.js.map +1 -0
  143. package/dist/services/privy/account.d.ts +16 -14
  144. package/dist/services/privy/account.d.ts.map +1 -1
  145. package/dist/services/privy/account.js +6 -16
  146. package/dist/services/privy/account.js.map +1 -1
  147. package/package.json +9 -9
@@ -1,47 +1,55 @@
1
- import ora from "ora";
2
1
  import chalk from "chalk";
3
2
  import { AaveService } from "../../services/defi/aave.js";
4
3
  import { getChainConfig } from "../../services/chain/constants.js";
5
4
  import { resolveToken } from "../../services/fibrous/tokens.js";
6
5
  import { HEALTH_FACTOR_WARNING_THRESHOLD, HEALTH_FACTOR_CRITICAL_THRESHOLD, } from "../../services/defi/constants.js";
7
- import { outputError, outputResult } from "../../lib/format.js";
6
+ import { createSpinner, outputResult, formatResult, formatError } from "../../lib/format.js";
7
+ import { MINT } from "../../lib/brand.js";
8
8
  export const aaveCommand = async (action, amount, tokenSymbol, opts) => {
9
- const spinner = ora("Initializing Aave service...").start();
9
+ const spinner = createSpinner("Initializing Aave service...").start();
10
10
  try {
11
- // Aave V3 is currently Base-only
12
11
  const chainConfig = getChainConfig("base");
13
12
  const aave = new AaveService(chainConfig);
14
13
  try {
15
14
  await attemptSessionLogin(aave, chainConfig);
16
15
  }
17
16
  catch {
18
- // Ignore if no session; read-only mode works without it
17
+ // No session = read-only
19
18
  }
20
19
  const userAddress = aave.getAccountAddress();
21
- if (!userAddress) {
22
- if (action === "status") {
20
+ if (action === "status") {
21
+ if (!userAddress) {
23
22
  spinner.fail("No wallet connected. Run `fibx auth login` or `fibx auth import`.");
23
+ process.exitCode = 1;
24
+ return;
24
25
  }
25
- else {
26
- spinner.fail("No active session found. Please login or import a private key.");
27
- }
26
+ await handleStatus(aave, userAddress, opts, spinner);
28
27
  return;
29
28
  }
30
- if (action === "status") {
31
- await handleStatus(aave, userAddress, opts, spinner);
29
+ if (action === "markets") {
30
+ await handleMarkets(aave, opts, spinner);
31
+ return;
32
+ }
33
+ // Write operations require an active wallet session
34
+ if (!userAddress) {
35
+ spinner.fail("No active session found. Please login or import a private key.");
36
+ process.exitCode = 1;
32
37
  return;
33
38
  }
34
39
  if (!isValidAction(action)) {
35
40
  spinner.fail(`Unknown action: ${action}`);
36
- console.log(chalk.gray("Available actions: status, supply, borrow, repay, withdraw"));
41
+ console.log(chalk.gray("Available actions: status, markets, supply, borrow, repay, withdraw"));
42
+ process.exitCode = 1;
37
43
  return;
38
44
  }
39
45
  if (!tokenSymbol) {
40
46
  spinner.fail(`Token is required for action: ${action}`);
47
+ process.exitCode = 1;
41
48
  return;
42
49
  }
43
50
  if (!amount) {
44
51
  spinner.fail(`Amount is required for action: ${action}`);
52
+ process.exitCode = 1;
45
53
  return;
46
54
  }
47
55
  spinner.text = `Resolving token ${tokenSymbol}...`;
@@ -57,7 +65,7 @@ export const aaveCommand = async (action, amount, tokenSymbol, opts) => {
57
65
  spinner.text = "Interacting with Aave Protocol...";
58
66
  switch (action) {
59
67
  case "supply":
60
- await handleSupply(aave, token, amount, userAddress, chainConfig, spinner, opts, tokenSymbol.toUpperCase() === chainConfig.nativeSymbol);
68
+ await handleSupply(aave, token, amount, spinner, opts);
61
69
  break;
62
70
  case "borrow":
63
71
  await handleBorrow(aave, token, amount, spinner, opts);
@@ -71,12 +79,18 @@ export const aaveCommand = async (action, amount, tokenSymbol, opts) => {
71
79
  }
72
80
  }
73
81
  catch (error) {
74
- spinner.stop();
75
- outputError(error, { json: !!opts.json });
82
+ spinner.fail("Aave operation failed");
83
+ console.error(formatError(error));
84
+ process.exitCode = 1;
76
85
  }
77
86
  };
78
87
  function isValidAction(action) {
79
- return ["status", "supply", "borrow", "repay", "withdraw"].includes(action);
88
+ return ["status", "markets", "supply", "borrow", "repay", "withdraw"].includes(action);
89
+ }
90
+ function getExplorerLink(txHash) {
91
+ const chain = getChainConfig("base");
92
+ const baseUrl = chain.viemChain.blockExplorers?.default.url;
93
+ return baseUrl ? `${baseUrl}/tx/${txHash}` : undefined;
80
94
  }
81
95
  async function attemptSessionLogin(aave, chainConfig) {
82
96
  try {
@@ -85,22 +99,17 @@ async function attemptSessionLogin(aave, chainConfig) {
85
99
  const session = loadSession();
86
100
  if (session) {
87
101
  const walletClient = getWalletClient(session, chainConfig);
88
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
89
102
  aave.setWalletClient(walletClient);
90
103
  }
91
104
  }
92
105
  catch {
93
- // Session load failed, ignore
106
+ // No session
94
107
  }
95
108
  }
96
109
  async function handleStatus(aave, userAddress, opts, spinner) {
97
- spinner.text = `Fetching data for ${userAddress}...`;
110
+ spinner.text = `Fetching Aave V3 data for ${userAddress.slice(0, 6)}...${userAddress.slice(-4)}...`;
98
111
  const data = await aave.getUserAccountData(userAddress);
99
- spinner.stop();
100
- if (opts.json) {
101
- console.log(JSON.stringify(data));
102
- return;
103
- }
112
+ spinner.succeed("Position loaded");
104
113
  const hf = parseFloat(data.healthFactor);
105
114
  let hfColor = chalk.green;
106
115
  if (hf < HEALTH_FACTOR_CRITICAL_THRESHOLD)
@@ -108,38 +117,91 @@ async function handleStatus(aave, userAddress, opts, spinner) {
108
117
  else if (hf < HEALTH_FACTOR_WARNING_THRESHOLD)
109
118
  hfColor = chalk.yellow;
110
119
  const hfDisplay = hf > 100 ? "Safe (>100)" : hf.toFixed(2);
111
- console.log(chalk.bold("\nAave V3 Position (Base)"));
112
- console.log(chalk.gray("---------------------------"));
113
- outputResult({
114
- "Health Factor": hfColor(hfDisplay),
115
- Collateral: `$${parseFloat(data.totalCollateralUSD).toFixed(2)}`,
116
- Debt: `$${parseFloat(data.totalDebtUSD).toFixed(2)}`,
117
- "Available Borrow": `$${parseFloat(data.availableBorrowsUSD).toFixed(2)}`,
118
- }, { json: !!opts.json });
120
+ if (opts.json) {
121
+ outputResult(data, { json: true });
122
+ return;
123
+ }
124
+ console.log(chalk.bold.hex(MINT)("\n Aave V3 Position (Base)\n"));
125
+ console.log(formatResult({
126
+ healthFactor: hfColor(hfDisplay),
127
+ collateral: `$${parseFloat(data.totalCollateralUSD).toFixed(2)}`,
128
+ debt: `$${parseFloat(data.totalDebtUSD).toFixed(2)}`,
129
+ availableBorrow: `$${parseFloat(data.availableBorrowsUSD).toFixed(2)}`,
130
+ }));
131
+ console.log();
132
+ }
133
+ // Format large numbers compactly
134
+ const fmtNum = (s) => {
135
+ const n = parseFloat(s);
136
+ if (n >= 1_000_000)
137
+ return `${(n / 1_000_000).toFixed(2)}M`;
138
+ if (n >= 1_000)
139
+ return `${(n / 1_000).toFixed(2)}K`;
140
+ return n.toFixed(2);
141
+ };
142
+ async function handleMarkets(aave, opts, spinner) {
143
+ spinner.text = "Fetching Aave V3 markets...";
144
+ const markets = await aave.getMarkets();
145
+ spinner.succeed(`Found ${markets.length} active markets`);
146
+ if (opts.json) {
147
+ outputResult(markets, { json: true });
148
+ return;
149
+ }
150
+ console.log(chalk.bold.hex(MINT)("\n Aave V3 Markets on Base\n"));
151
+ // Table header
152
+ const header = [
153
+ "Token".padEnd(10),
154
+ "Supply APY".padEnd(12),
155
+ "Borrow APY".padEnd(12),
156
+ "Total Supply".padEnd(18),
157
+ "Total Borrow".padEnd(18),
158
+ "LTV".padEnd(8),
159
+ ].join(" ");
160
+ console.log(chalk.dim(` ${header}`));
161
+ console.log(chalk.dim(` ${"─".repeat(header.length)}`));
162
+ for (const m of markets) {
163
+ const frozen = m.isFrozen ? chalk.yellow(" ❄") : "";
164
+ const supplyColor = chalk.green;
165
+ const borrowVal = parseFloat(m.borrowAPY);
166
+ const borrowColor = borrowVal > 10 ? chalk.red : borrowVal > 5 ? chalk.yellow : chalk.white;
167
+ const row = [
168
+ chalk.white.bold(m.symbol.padEnd(10)),
169
+ supplyColor(m.supplyAPY.padEnd(12)),
170
+ borrowColor(m.borrowAPY.padEnd(12)),
171
+ chalk.dim(fmtNum(m.totalSupply).padEnd(18)),
172
+ chalk.dim(fmtNum(m.totalBorrow).padEnd(18)),
173
+ chalk.white(m.ltv.padEnd(8)),
174
+ ].join(" ");
175
+ console.log(` ${row}${frozen}`);
176
+ }
177
+ console.log();
119
178
  }
120
- async function handleSupply(aave, token, amount, userAddress, chainConfig, spinner, opts, isNativeETH = false) {
121
- // If native ETH, allow service to handle auto-wrap (token is already resolved to WETH address)
179
+ async function handleSupply(aave, token, amount, spinner, opts) {
122
180
  const txHash = await aave.supplyWithAutoWrap(token.address, amount, (status) => {
123
181
  spinner.text = status;
124
182
  });
125
- spinner.succeed("Supply transaction sent!");
183
+ spinner.succeed("Supply confirmed");
184
+ const explorer = getExplorerLink(txHash);
126
185
  outputResult({
127
186
  action: "Supply",
128
187
  amount,
129
188
  token: token.symbol,
130
189
  txHash,
190
+ ...(explorer ? { explorer } : {}),
131
191
  chain: "base",
132
192
  }, { json: !!opts.json });
133
193
  }
134
194
  async function handleBorrow(aave, token, amount, spinner, opts) {
135
195
  spinner.text = "Signaling Aave Borrow...";
136
196
  const tx = await aave.borrow(token.address, amount);
137
- spinner.succeed("Borrow transaction sent!");
197
+ spinner.succeed("Borrow confirmed");
198
+ const explorer = getExplorerLink(tx);
138
199
  outputResult({
139
200
  action: "Borrow",
140
201
  amount,
141
202
  token: token.symbol,
142
203
  txHash: tx,
204
+ ...(explorer ? { explorer } : {}),
143
205
  chain: "base",
144
206
  }, { json: !!opts.json });
145
207
  }
@@ -147,26 +209,29 @@ async function handleRepay(aave, token, amount, spinner, opts) {
147
209
  const txHash = await aave.repayWithAutoWrap(token.address, amount, (status) => {
148
210
  spinner.text = status;
149
211
  });
150
- spinner.succeed("Repay transaction completed!");
212
+ spinner.succeed("Repay confirmed");
213
+ const explorer = getExplorerLink(txHash);
151
214
  outputResult({
152
215
  action: "Repay",
153
216
  amount: amount === "-1" || amount.toLowerCase() === "max" ? "MAX" : amount,
154
217
  token: token.symbol,
155
218
  txHash,
219
+ ...(explorer ? { explorer } : {}),
156
220
  chain: "base",
157
221
  }, { json: !!opts.json });
158
222
  }
159
223
  async function handleWithdraw(aave, token, amount, spinner, opts, isNativeETH = false) {
160
- // Delegate to service
161
224
  const txHash = await aave.withdrawWithAutoUnwrap(token.address, amount, isNativeETH, (status) => {
162
225
  spinner.text = status;
163
226
  });
164
- spinner.succeed("Withdraw transaction sent!");
227
+ spinner.succeed("Withdraw confirmed");
228
+ const explorer = getExplorerLink(txHash);
165
229
  outputResult({
166
230
  action: "Withdraw",
167
231
  amount,
168
232
  token: isNativeETH ? "ETH (unwrapped)" : token.symbol,
169
233
  txHash,
234
+ ...(explorer ? { explorer } : {}),
170
235
  chain: "base",
171
236
  }, { json: !!opts.json });
172
237
  }
@@ -1 +1 @@
1
- {"version":3,"file":"aave.js","sourceRoot":"","sources":["../../../src/commands/defi/aave.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aave.js","sourceRoot":"","sources":["../../../src/commands/defi/aave.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type OutputOptions } from "../../lib/format.js";
2
+ export declare function portfolioCommand(opts: OutputOptions): Promise<void>;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/portfolio/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAKN,KAAK,aAAa,EAClB,MAAM,qBAAqB,CAAC;AA6D7B,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBzE"}
@@ -0,0 +1,64 @@
1
+ import chalk from "chalk";
2
+ import { getPortfolio } from "../../services/portfolio/portfolio.js";
3
+ import { createSpinner, formatResult, formatTable, formatError, } from "../../lib/format.js";
4
+ import { MINT } from "../../lib/brand.js";
5
+ function formatUsd(value) {
6
+ return `$${value.toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`;
7
+ }
8
+ function printPortfolio(portfolio) {
9
+ const shortAddr = `${portfolio.wallet.slice(0, 6)}...${portfolio.wallet.slice(-4)}`;
10
+ console.log();
11
+ console.log(chalk.bold.hex(MINT)(` Portfolio — ${shortAddr}`));
12
+ console.log(chalk.dim(" " + "═".repeat(52)));
13
+ for (const chain of portfolio.chains) {
14
+ if (chain.assets.length === 0)
15
+ continue;
16
+ console.log();
17
+ console.log(chalk.bold.white(` ${chain.chain}`));
18
+ console.log(formatTable(["Token", "Balance", "USD Value"], chain.assets.map((asset) => [
19
+ asset.symbol,
20
+ parseFloat(asset.balance).toFixed(4),
21
+ formatUsd(asset.usdValue),
22
+ ])));
23
+ }
24
+ if (portfolio.defi.length > 0) {
25
+ for (const pos of portfolio.defi) {
26
+ console.log();
27
+ console.log(chalk.bold.white(` DeFi — ${pos.protocol} (${pos.chain})`));
28
+ const hf = parseFloat(pos.healthFactor);
29
+ const hfStr = hf > 100 ? "Safe (>100)" : hf.toFixed(2);
30
+ const hfColor = hf > 2 ? chalk.green : hf > 1.2 ? chalk.yellow : chalk.red;
31
+ console.log(formatResult({
32
+ collateral: formatUsd(pos.collateralUsd),
33
+ debt: `-${formatUsd(pos.debtUsd)}`,
34
+ healthFactor: hfColor(hfStr),
35
+ netPosition: formatUsd(pos.netUsd),
36
+ }));
37
+ }
38
+ }
39
+ console.log();
40
+ console.log(chalk.dim(" " + "═".repeat(52)));
41
+ console.log(formatResult({
42
+ totalPortfolioUsd: chalk.bold.hex(MINT)(formatUsd(portfolio.totalUsd)),
43
+ }));
44
+ console.log();
45
+ }
46
+ export async function portfolioCommand(opts) {
47
+ const spinner = createSpinner("Fetching portfolio across all chains...").start();
48
+ try {
49
+ const portfolio = await getPortfolio();
50
+ spinner.succeed("Portfolio loaded");
51
+ if (opts.json) {
52
+ console.log(JSON.stringify(portfolio, null, 2));
53
+ }
54
+ else {
55
+ printPortfolio(portfolio);
56
+ }
57
+ }
58
+ catch (error) {
59
+ spinner.fail("Failed to load portfolio");
60
+ console.error(formatError(error));
61
+ process.exitCode = 1;
62
+ }
63
+ }
64
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/portfolio/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/commands/trade/status.ts"],"names":[],"mappings":"AAGA,OAAO,EAA0C,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjG,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCtE"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/commands/trade/status.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,KAAK,aAAa,EAAsB,MAAM,qBAAqB,CAAC;AAG3F,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BtE"}
@@ -1,32 +1,30 @@
1
1
  import { loadSession } from "../../services/auth/session.js";
2
2
  import { checkHealth } from "../../services/fibrous/health.js";
3
3
  import { getChainConfig } from "../../services/chain/constants.js";
4
- import { outputResult, outputError, withSpinner } from "../../lib/format.js";
4
+ import { outputResult } from "../../lib/format.js";
5
+ import { runCommand } from "../../lib/cli-helpers.js";
5
6
  export async function statusCommand(opts) {
6
- try {
7
+ await runCommand("Checking status...", "Status check complete", "Status check failed", async (spinner) => {
7
8
  const globalOpts = opts;
8
9
  const chainName = globalOpts.chain || "base";
9
10
  const chain = getChainConfig(chainName);
10
11
  const session = loadSession();
11
- const fibrousHealth = await withSpinner("Checking Fibrous API...", async () => {
12
- try {
13
- const health = await checkHealth(chain);
14
- return { ok: true, message: health.message };
15
- }
16
- catch {
17
- return { ok: false, message: "unreachable" };
18
- }
19
- }, opts);
20
- outputResult({
12
+ spinner.text = "Checking Fibrous API...";
13
+ let fibrousHealth;
14
+ try {
15
+ const health = await checkHealth(chain);
16
+ fibrousHealth = { ok: true, message: health.message };
17
+ }
18
+ catch {
19
+ fibrousHealth = { ok: false, message: "unreachable" };
20
+ }
21
+ return {
21
22
  chain: chain.name,
22
23
  chainId: chain.id,
23
24
  authenticated: !!session,
24
- wallet: session?.walletAddress ?? null,
25
- fibrous: fibrousHealth,
26
- }, opts);
27
- }
28
- catch (error) {
29
- outputError(error, opts);
30
- }
25
+ wallet: session?.walletAddress ?? "N/A",
26
+ fibrous: fibrousHealth.ok ? "✓ healthy" : "✗ unreachable",
27
+ };
28
+ }, (data) => outputResult(data, opts));
31
29
  }
32
30
  //# sourceMappingURL=status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/trade/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAsB,MAAM,qBAAqB,CAAC;AAEjG,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAmB;IACtD,IAAI,CAAC;QACJ,MAAM,UAAU,GAAG,IAAqC,CAAC;QACzD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,IAAI,MAAM,CAAC;QAC7C,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;QAE9B,MAAM,aAAa,GAAG,MAAM,WAAW,CACtC,yBAAyB,EACzB,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;gBACxC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YAC9C,CAAC;YAAC,MAAM,CAAC;gBACR,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;YAC9C,CAAC;QACF,CAAC,EACD,IAAI,CACJ,CAAC;QAEF,YAAY,CACX;YACC,KAAK,EAAE,KAAK,CAAC,IAAI;YACjB,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,aAAa,EAAE,CAAC,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,EAAE,aAAa,IAAI,IAAI;YACtC,OAAO,EAAE,aAAa;SACtB,EACD,IAAI,CACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC1B,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/trade/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,YAAY,EAA0C,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAmB;IACtD,MAAM,UAAU,CACf,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,EAAE,OAAO,EAAE,EAAE;QACjB,MAAM,UAAU,GAAG,IAAgC,CAAC;QACpD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,IAAI,MAAM,CAAC;QAC7C,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;QAE9B,OAAO,CAAC,IAAI,GAAG,yBAAyB,CAAC;QACzC,IAAI,aAA+C,CAAC;QACpD,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;YACxC,aAAa,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACR,aAAa,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;QACvD,CAAC;QAED,OAAO;YACN,KAAK,EAAE,KAAK,CAAC,IAAI;YACjB,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,aAAa,EAAE,CAAC,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,EAAE,aAAa,IAAI,KAAK;YACvC,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe;SACzD,CAAC;IACH,CAAC,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAClC,CAAC;AACH,CAAC"}
@@ -2,6 +2,7 @@ import { type OutputOptions } from "../../lib/format.js";
2
2
  interface TradeOptions extends OutputOptions {
3
3
  slippage: number;
4
4
  approveMax?: boolean;
5
+ simulate?: boolean;
5
6
  }
6
7
  export declare function tradeCommand(amount: string, from: string, to: string, opts: TradeOptions): Promise<void>;
7
8
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../../src/commands/trade/swap.ts"],"names":[],"mappings":"AAeA,OAAO,EAA0C,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjG,UAAU,YAAa,SAAQ,aAAa;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAsB,YAAY,CACjC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,YAAY,GAChB,OAAO,CAAC,IAAI,CAAC,CAkKf"}
1
+ {"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../../src/commands/trade/swap.ts"],"names":[],"mappings":"AAiBA,OAAO,EAIN,KAAK,aAAa,EAElB,MAAM,qBAAqB,CAAC;AAE7B,UAAU,YAAa,SAAQ,aAAa;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,YAAY,CACjC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,YAAY,GAChB,OAAO,CAAC,IAAI,CAAC,CAuQf"}