httpcat-cli 0.3.0 → 0.3.1

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 (322) hide show
  1. package/.github/workflows/ci.yml +3 -0
  2. package/.github/workflows/rc-publish.yml +6 -0
  3. package/.github/workflows/release.yml +102 -0
  4. package/.github/workflows/sync-version.yml +31 -2
  5. package/README.md +1408 -109
  6. package/additions.txt +3 -0
  7. package/bun.lock +260 -25
  8. package/dist/agent/autonomous-trader.d.ts.map +1 -0
  9. package/dist/agent/autonomous-trader.js +362 -0
  10. package/dist/agent/autonomous-trader.js.map +1 -0
  11. package/dist/agent/ax-agent.d.ts.map +1 -1
  12. package/dist/agent/ax-agent.js +356 -18
  13. package/dist/agent/ax-agent.js.map +1 -1
  14. package/dist/agent/event-client.d.ts.map +1 -0
  15. package/dist/agent/event-client.js +82 -0
  16. package/dist/agent/event-client.js.map +1 -0
  17. package/dist/agent/log-stream.d.ts.map +1 -0
  18. package/dist/agent/log-stream.js +95 -0
  19. package/dist/agent/log-stream.js.map +1 -0
  20. package/dist/agent/memory/conversation-session.d.ts.map +1 -0
  21. package/dist/agent/memory/conversation-session.js +232 -0
  22. package/dist/agent/memory/conversation-session.js.map +1 -0
  23. package/dist/agent/memory/conversation-store.d.ts.map +1 -0
  24. package/dist/agent/memory/conversation-store.js +214 -0
  25. package/dist/agent/memory/conversation-store.js.map +1 -0
  26. package/dist/agent/memory/database-schema.d.ts.map +1 -0
  27. package/dist/agent/memory/database-schema.js +355 -0
  28. package/dist/agent/memory/database-schema.js.map +1 -0
  29. package/dist/agent/memory/decision-tracker.d.ts.map +1 -0
  30. package/dist/agent/memory/decision-tracker.js +274 -0
  31. package/dist/agent/memory/decision-tracker.js.map +1 -0
  32. package/dist/agent/memory/memory-manager.d.ts.map +1 -0
  33. package/dist/agent/memory/memory-manager.js +187 -0
  34. package/dist/agent/memory/memory-manager.js.map +1 -0
  35. package/dist/agent/memory/types.d.ts.map +1 -0
  36. package/dist/agent/memory/types.js +5 -0
  37. package/dist/agent/memory/types.js.map +1 -0
  38. package/dist/agent/message-formatter.d.ts.map +1 -0
  39. package/dist/agent/message-formatter.js +76 -0
  40. package/dist/agent/message-formatter.js.map +1 -0
  41. package/dist/agent/position-db.d.ts.map +1 -0
  42. package/dist/agent/position-db.js +154 -0
  43. package/dist/agent/position-db.js.map +1 -0
  44. package/dist/agent/simple-chat-ui-static.d.ts.map +1 -0
  45. package/dist/agent/simple-chat-ui-static.js +129 -0
  46. package/dist/agent/simple-chat-ui-static.js.map +1 -0
  47. package/dist/agent/simple-chat-ui.d.ts.map +1 -0
  48. package/dist/agent/simple-chat-ui.js +90 -0
  49. package/dist/agent/simple-chat-ui.js.map +1 -0
  50. package/dist/agent/tools.d.ts.map +1 -1
  51. package/dist/agent/tools.js +297 -4
  52. package/dist/agent/tools.js.map +1 -1
  53. package/dist/agent/ui.d.ts.map +1 -0
  54. package/dist/agent/ui.js +84 -0
  55. package/dist/agent/ui.js.map +1 -0
  56. package/dist/agent/unified-runtime.d.ts.map +1 -0
  57. package/dist/agent/unified-runtime.js +397 -0
  58. package/dist/agent/unified-runtime.js.map +1 -0
  59. package/dist/client.d.ts.map +1 -1
  60. package/dist/client.js +272 -21
  61. package/dist/client.js.map +1 -1
  62. package/dist/commands/account.d.ts.map +1 -1
  63. package/dist/commands/account.js +187 -33
  64. package/dist/commands/account.js.map +1 -1
  65. package/dist/commands/agent.d.ts.map +1 -0
  66. package/dist/commands/agent.js +125 -0
  67. package/dist/commands/agent.js.map +1 -0
  68. package/dist/commands/approve.d.ts.map +1 -0
  69. package/dist/commands/approve.js +505 -0
  70. package/dist/commands/approve.js.map +1 -0
  71. package/dist/commands/automation.d.ts.map +1 -0
  72. package/dist/commands/automation.js +346 -0
  73. package/dist/commands/automation.js.map +1 -0
  74. package/dist/commands/balances.d.ts.map +1 -1
  75. package/dist/commands/balances.js +226 -73
  76. package/dist/commands/balances.js.map +1 -1
  77. package/dist/commands/buy.d.ts.map +1 -1
  78. package/dist/commands/buy.js +149 -146
  79. package/dist/commands/buy.js.map +1 -1
  80. package/dist/commands/call.d.ts.map +1 -0
  81. package/dist/commands/call.js +51 -0
  82. package/dist/commands/call.js.map +1 -0
  83. package/dist/commands/cex.d.ts.map +1 -0
  84. package/dist/commands/cex.js +958 -0
  85. package/dist/commands/cex.js.map +1 -0
  86. package/dist/commands/chat.d.ts.map +1 -1
  87. package/dist/commands/chat.js +169 -411
  88. package/dist/commands/chat.js.map +1 -1
  89. package/dist/commands/claim.d.ts.map +1 -1
  90. package/dist/commands/claim.js +313 -29
  91. package/dist/commands/claim.js.map +1 -1
  92. package/dist/commands/create.d.ts.map +1 -1
  93. package/dist/commands/create.js +151 -43
  94. package/dist/commands/create.js.map +1 -1
  95. package/dist/commands/gasless-swap.d.ts.map +1 -0
  96. package/dist/commands/gasless-swap.js +232 -0
  97. package/dist/commands/gasless-swap.js.map +1 -0
  98. package/dist/commands/health.d.ts.map +1 -1
  99. package/dist/commands/health.js +63 -7
  100. package/dist/commands/health.js.map +1 -1
  101. package/dist/commands/info.d.ts.map +1 -1
  102. package/dist/commands/info.js +131 -47
  103. package/dist/commands/info.js.map +1 -1
  104. package/dist/commands/launchpad.d.ts.map +1 -0
  105. package/dist/commands/launchpad.js +708 -0
  106. package/dist/commands/launchpad.js.map +1 -0
  107. package/dist/commands/list.d.ts.map +1 -1
  108. package/dist/commands/list.js +57 -23
  109. package/dist/commands/list.js.map +1 -1
  110. package/dist/commands/market.d.ts.map +1 -0
  111. package/dist/commands/market.js +960 -0
  112. package/dist/commands/market.js.map +1 -0
  113. package/dist/commands/mcp-install.d.ts.map +1 -0
  114. package/dist/commands/mcp-install.js +387 -0
  115. package/dist/commands/mcp-install.js.map +1 -0
  116. package/dist/commands/opps.d.ts.map +1 -0
  117. package/dist/commands/opps.js +409 -0
  118. package/dist/commands/opps.js.map +1 -0
  119. package/dist/commands/perps.d.ts.map +1 -0
  120. package/dist/commands/perps.js +248 -0
  121. package/dist/commands/perps.js.map +1 -0
  122. package/dist/commands/portfolio.d.ts.map +1 -0
  123. package/dist/commands/portfolio.js +679 -0
  124. package/dist/commands/portfolio.js.map +1 -0
  125. package/dist/commands/positions.d.ts.map +1 -1
  126. package/dist/commands/positions.js +76 -47
  127. package/dist/commands/positions.js.map +1 -1
  128. package/dist/commands/predict.d.ts.map +1 -0
  129. package/dist/commands/predict.js +280 -0
  130. package/dist/commands/predict.js.map +1 -0
  131. package/dist/commands/predictions.d.ts.map +1 -0
  132. package/dist/commands/predictions.js +486 -0
  133. package/dist/commands/predictions.js.map +1 -0
  134. package/dist/commands/risk.d.ts.map +1 -0
  135. package/dist/commands/risk.js +225 -0
  136. package/dist/commands/risk.js.map +1 -0
  137. package/dist/commands/security.d.ts.map +1 -0
  138. package/dist/commands/security.js +244 -0
  139. package/dist/commands/security.js.map +1 -0
  140. package/dist/commands/sell.d.ts.map +1 -1
  141. package/dist/commands/sell.js +67 -34
  142. package/dist/commands/sell.js.map +1 -1
  143. package/dist/commands/send.d.ts.map +1 -0
  144. package/dist/commands/send.js +733 -0
  145. package/dist/commands/send.js.map +1 -0
  146. package/dist/commands/sign.d.ts.map +1 -0
  147. package/dist/commands/sign.js +1048 -0
  148. package/dist/commands/sign.js.map +1 -0
  149. package/dist/commands/swap.d.ts.map +1 -0
  150. package/dist/commands/swap.js +744 -0
  151. package/dist/commands/swap.js.map +1 -0
  152. package/dist/commands/system.d.ts.map +1 -0
  153. package/dist/commands/system.js +417 -0
  154. package/dist/commands/system.js.map +1 -0
  155. package/dist/commands/tools/index.d.ts.map +1 -0
  156. package/dist/commands/tools/index.js +2040 -0
  157. package/dist/commands/tools/index.js.map +1 -0
  158. package/dist/commands/trade.d.ts.map +1 -0
  159. package/dist/commands/trade.js +237 -0
  160. package/dist/commands/trade.js.map +1 -0
  161. package/dist/commands/transactions.d.ts.map +1 -1
  162. package/dist/commands/transactions.js +29 -17
  163. package/dist/commands/transactions.js.map +1 -1
  164. package/dist/commands/update.d.ts.map +1 -0
  165. package/dist/commands/update.js +429 -0
  166. package/dist/commands/update.js.map +1 -0
  167. package/dist/config.d.ts.map +1 -1
  168. package/dist/config.js +351 -40
  169. package/dist/config.js.map +1 -1
  170. package/dist/index.js +4524 -924
  171. package/dist/index.js.map +1 -1
  172. package/dist/interactive/art.d.ts.map +1 -1
  173. package/dist/interactive/art.js +33 -1
  174. package/dist/interactive/art.js.map +1 -1
  175. package/dist/interactive/shell.d.ts.map +1 -1
  176. package/dist/interactive/shell.js +467 -2652
  177. package/dist/interactive/shell.js.map +1 -1
  178. package/dist/mcp/context.d.ts.map +1 -0
  179. package/dist/mcp/context.js +211 -0
  180. package/dist/mcp/context.js.map +1 -0
  181. package/dist/mcp/onboarding.d.ts.map +1 -0
  182. package/dist/mcp/onboarding.js +266 -0
  183. package/dist/mcp/onboarding.js.map +1 -0
  184. package/dist/mcp/resources.d.ts.map +1 -0
  185. package/dist/mcp/resources.js +222 -0
  186. package/dist/mcp/resources.js.map +1 -0
  187. package/dist/mcp/server.d.ts.map +1 -1
  188. package/dist/mcp/server.js +51 -1
  189. package/dist/mcp/server.js.map +1 -1
  190. package/dist/mcp/tools.d.ts.map +1 -1
  191. package/dist/mcp/tools.js +4119 -169
  192. package/dist/mcp/tools.js.map +1 -1
  193. package/dist/mcp/types.d.ts.map +1 -1
  194. package/dist/types/agent-info.d.ts.map +1 -0
  195. package/dist/types/agent-info.js +11 -0
  196. package/dist/types/agent-info.js.map +1 -0
  197. package/dist/ui/components/ScrollableList.d.ts.map +1 -0
  198. package/dist/ui/components/ScrollableList.js +72 -0
  199. package/dist/ui/components/ScrollableList.js.map +1 -0
  200. package/dist/ui/components/ThemeProvider.d.ts.map +1 -0
  201. package/dist/ui/components/ThemeProvider.js +87 -0
  202. package/dist/ui/components/ThemeProvider.js.map +1 -0
  203. package/dist/ui/components/ThemedBox.d.ts.map +1 -0
  204. package/dist/ui/components/ThemedBox.js +24 -0
  205. package/dist/ui/components/ThemedBox.js.map +1 -0
  206. package/dist/ui/components/agent/ChatHeader.d.ts.map +1 -0
  207. package/dist/ui/components/agent/ChatHeader.js +39 -0
  208. package/dist/ui/components/agent/ChatHeader.js.map +1 -0
  209. package/dist/ui/components/agent/Header.d.ts.map +1 -0
  210. package/dist/ui/components/agent/Header.js +14 -0
  211. package/dist/ui/components/agent/Header.js.map +1 -0
  212. package/dist/ui/components/agent/Input.d.ts.map +1 -0
  213. package/dist/ui/components/agent/Input.js +23 -0
  214. package/dist/ui/components/agent/Input.js.map +1 -0
  215. package/dist/ui/components/agent/Output.d.ts.map +1 -0
  216. package/dist/ui/components/agent/Output.js +23 -0
  217. package/dist/ui/components/agent/Output.js.map +1 -0
  218. package/dist/ui/components/chat/TokenChatUI.d.ts.map +1 -0
  219. package/dist/ui/components/chat/TokenChatUI.js +133 -0
  220. package/dist/ui/components/chat/TokenChatUI.js.map +1 -0
  221. package/dist/ui/components/shell/ShellHeader.d.ts.map +1 -0
  222. package/dist/ui/components/shell/ShellHeader.js +31 -0
  223. package/dist/ui/components/shell/ShellHeader.js.map +1 -0
  224. package/dist/ui/components/shell/ShellInput.d.ts.map +1 -0
  225. package/dist/ui/components/shell/ShellInput.js +151 -0
  226. package/dist/ui/components/shell/ShellInput.js.map +1 -0
  227. package/dist/ui/components/shell/ShellOutput.d.ts.map +1 -0
  228. package/dist/ui/components/shell/ShellOutput.js +8 -0
  229. package/dist/ui/components/shell/ShellOutput.js.map +1 -0
  230. package/dist/ui/hooks/useChatWebSocket.d.ts.map +1 -0
  231. package/dist/ui/hooks/useChatWebSocket.js +76 -0
  232. package/dist/ui/hooks/useChatWebSocket.js.map +1 -0
  233. package/dist/ui/hooks/useCommandHistory.d.ts.map +1 -0
  234. package/dist/ui/hooks/useCommandHistory.js +70 -0
  235. package/dist/ui/hooks/useCommandHistory.js.map +1 -0
  236. package/dist/ui/hooks/useDebounce.d.ts.map +1 -0
  237. package/dist/ui/hooks/useDebounce.js +17 -0
  238. package/dist/ui/hooks/useDebounce.js.map +1 -0
  239. package/dist/ui/hooks/useLogStream.d.ts.map +1 -0
  240. package/dist/ui/hooks/useLogStream.js +20 -0
  241. package/dist/ui/hooks/useLogStream.js.map +1 -0
  242. package/dist/ui/hooks/useVirtualScroll.d.ts.map +1 -0
  243. package/dist/ui/hooks/useVirtualScroll.js +70 -0
  244. package/dist/ui/hooks/useVirtualScroll.js.map +1 -0
  245. package/dist/utils/admin.d.ts.map +1 -0
  246. package/dist/utils/admin.js +144 -0
  247. package/dist/utils/admin.js.map +1 -0
  248. package/dist/utils/autoSetup.d.ts.map +1 -0
  249. package/dist/utils/autoSetup.js +252 -0
  250. package/dist/utils/autoSetup.js.map +1 -0
  251. package/dist/utils/build-constants.d.ts.map +1 -0
  252. package/dist/utils/build-constants.js +10 -0
  253. package/dist/utils/build-constants.js.map +1 -0
  254. package/dist/utils/constants.d.ts.map +1 -1
  255. package/dist/utils/errors.d.ts.map +1 -1
  256. package/dist/utils/errors.js +10 -1
  257. package/dist/utils/errors.js.map +1 -1
  258. package/dist/utils/formatting.d.ts.map +1 -1
  259. package/dist/utils/formatting.js +46 -9
  260. package/dist/utils/formatting.js.map +1 -1
  261. package/dist/utils/llm-cli-config.d.ts.map +1 -0
  262. package/dist/utils/llm-cli-config.js +963 -0
  263. package/dist/utils/llm-cli-config.js.map +1 -0
  264. package/dist/utils/llm-cli-detector.d.ts.map +1 -0
  265. package/dist/utils/llm-cli-detector.js +202 -0
  266. package/dist/utils/llm-cli-detector.js.map +1 -0
  267. package/dist/utils/loading.d.ts.map +1 -1
  268. package/dist/utils/loading.js +25 -3
  269. package/dist/utils/loading.js.map +1 -1
  270. package/dist/utils/maintenance.d.ts.map +1 -0
  271. package/dist/utils/maintenance.js +17 -0
  272. package/dist/utils/maintenance.js.map +1 -0
  273. package/dist/utils/mcp-config.d.ts.map +1 -0
  274. package/dist/utils/mcp-config.js +77 -0
  275. package/dist/utils/mcp-config.js.map +1 -0
  276. package/dist/utils/privateKeyPrompt.d.ts.map +1 -1
  277. package/dist/utils/privateKeyPrompt.js +308 -129
  278. package/dist/utils/privateKeyPrompt.js.map +1 -1
  279. package/dist/utils/process-cleanup.d.ts.map +1 -0
  280. package/dist/utils/process-cleanup.js +136 -0
  281. package/dist/utils/process-cleanup.js.map +1 -0
  282. package/dist/utils/retry.d.ts.map +1 -0
  283. package/dist/utils/retry.js +56 -0
  284. package/dist/utils/retry.js.map +1 -0
  285. package/dist/utils/rpc-helpers.d.ts.map +1 -0
  286. package/dist/utils/rpc-helpers.js +70 -0
  287. package/dist/utils/rpc-helpers.js.map +1 -0
  288. package/dist/utils/rpc-transport.d.ts.map +1 -0
  289. package/dist/utils/rpc-transport.js +87 -0
  290. package/dist/utils/rpc-transport.js.map +1 -0
  291. package/dist/utils/shell-setup.d.ts.map +1 -0
  292. package/dist/utils/shell-setup.js +531 -0
  293. package/dist/utils/shell-setup.js.map +1 -0
  294. package/dist/utils/status.d.ts.map +1 -1
  295. package/dist/utils/status.js +34 -5
  296. package/dist/utils/status.js.map +1 -1
  297. package/dist/utils/token-resolver.d.ts.map +1 -1
  298. package/dist/utils/token-resolver.js +51 -8
  299. package/dist/utils/token-resolver.js.map +1 -1
  300. package/dist/utils/x402-caller.d.ts.map +1 -0
  301. package/dist/utils/x402-caller.js +17 -0
  302. package/dist/utils/x402-caller.js.map +1 -0
  303. package/docs/README.md +28 -0
  304. package/docs/agent/README.md +18 -0
  305. package/docs/api/README.md +41 -0
  306. package/docs/cli/README.md +42 -0
  307. package/docs/guides/README.md +26 -0
  308. package/docs/implementation/README.md +18 -0
  309. package/docs/planning/README.md +19 -0
  310. package/docs/testing/README.md +15 -0
  311. package/docs/ux/README.md +16 -0
  312. package/issues.txt +2 -0
  313. package/package.json +24 -9
  314. package/scripts/cat-spin.sh +417 -0
  315. package/scripts/deprecate-rc-versions.js +58 -0
  316. package/scripts/inject-build-constants.js +43 -0
  317. package/scripts/monitor-foobar.js +117 -0
  318. package/swap.logs +61 -0
  319. package/swapping.txt +108 -0
  320. package/test.txt +12 -0
  321. package/tests/fixtures/test-data.json +16 -0
  322. package/Screenshot 2025-12-21 at 8.56.02/342/200/257PM.png +0 -0
@@ -3,10 +3,11 @@ import { privateKeyToAccount } from "viem/accounts";
3
3
  import { formatEther } from "viem";
4
4
  // USDC balance checking using viem directly
5
5
  import { printCat } from "../interactive/art.js";
6
- import { formatAddress, printWarning } from "../utils/formatting.js";
7
6
  import inquirer from "inquirer";
8
7
  import { config } from "../config.js";
9
8
  import { getNetworkConfig } from "../utils/constants.js";
9
+ import Table from 'cli-table3';
10
+ import { retryWithBackoff } from "../utils/retry.js";
10
11
  /**
11
12
  * Checks and displays wallet balances for a given private key.
12
13
  * This mimics the behavior of promptForPrivateKey but without saving to config.
@@ -44,77 +45,118 @@ export async function checkBalance(privateKey, silent = false) {
44
45
  try {
45
46
  // Get network configuration
46
47
  const network = config.get("network");
48
+ const networkDisplayName = config.caip2ToNetwork(network);
49
+ // Format network name for display (base-sepolia -> Base Sepolia, base -> Base)
50
+ const networkName = networkDisplayName === "base-sepolia"
51
+ ? "Base Sepolia"
52
+ : networkDisplayName === "base"
53
+ ? "Base"
54
+ : networkDisplayName;
47
55
  const { chain, usdcAddress } = await getNetworkConfig(network);
48
56
  // Create signer using viem for balance checks
49
- const { createPublicClient, http, parseAbi, formatUnits } = await import("viem");
57
+ const { createPublicClient, parseAbi, formatUnits } = await import("viem");
58
+ const { createRpcTransport } = await import("../utils/rpc-transport.js");
50
59
  const publicClient = createPublicClient({
51
60
  chain,
52
- transport: http(),
61
+ transport: createRpcTransport({
62
+ chainId: chain.id,
63
+ // HttpcatClient not available in this context, will use public/Alchemy RPC
64
+ }),
65
+ });
66
+ // Check ETH balance with retry logic for network failures
67
+ const ethBalance = await retryWithBackoff(() => publicClient.getBalance({ address }), {
68
+ maxRetries: 3,
69
+ initialDelay: 500,
70
+ maxDelay: 3000,
53
71
  });
54
- // Check ETH balance
55
- const ethBalance = await publicClient.getBalance({ address });
56
72
  const ethFormatted = formatEther(ethBalance);
57
- // Check USDC balance using ERC20 token contract
73
+ // Check USDC balance using ERC20 token contract with retry logic
58
74
  const ERC20_ABI = parseAbi([
59
75
  "function balanceOf(address owner) view returns (uint256)",
60
76
  "function decimals() view returns (uint8)",
61
77
  ]);
62
78
  const [usdcBalance, decimals] = await Promise.all([
63
- publicClient.readContract({
79
+ retryWithBackoff(() => publicClient.readContract({
64
80
  address: usdcAddress,
65
81
  abi: ERC20_ABI,
66
82
  functionName: "balanceOf",
67
83
  args: [address],
84
+ }), {
85
+ maxRetries: 3,
86
+ initialDelay: 500,
87
+ maxDelay: 3000,
68
88
  }).catch(() => BigInt(0)),
69
- publicClient.readContract({
89
+ retryWithBackoff(() => publicClient.readContract({
70
90
  address: usdcAddress,
71
91
  abi: ERC20_ABI,
72
92
  functionName: "decimals",
93
+ }), {
94
+ maxRetries: 3,
95
+ initialDelay: 500,
96
+ maxDelay: 3000,
73
97
  }).catch(() => 6), // Default to 6 decimals for USDC
74
98
  ]);
75
99
  const usdcFormatted = formatUnits(usdcBalance, decimals);
76
- // Fetch 402CAT token address from agent info
100
+ // Fetch 402CAT token address from environment variable or agent info
77
101
  let cat402Balance = BigInt(0);
78
102
  let cat402Formatted = "0.00";
79
103
  let cat402Fetched = false;
80
104
  try {
81
- const agentUrl = config.getAgentUrl();
82
- const agentInfoResponse = await fetch(`${agentUrl}/api/agent/info`);
83
- if (agentInfoResponse.ok) {
84
- const agentInfo = await agentInfoResponse.json();
85
- const catTokenAddress = agentInfo.catTokenAddress;
86
- if (catTokenAddress) {
87
- // Get 402CAT balance using ERC20 balanceOf
88
- const { createPublicClient, http, parseAbi } = await import("viem");
89
- const network = config.get("network");
90
- const { chain } = await getNetworkConfig(network);
91
- const publicClient = createPublicClient({
92
- chain,
93
- transport: http(config.getRpcUrl()),
94
- });
95
- const ERC20_ABI = parseAbi([
96
- "function balanceOf(address owner) view returns (uint256)",
97
- "function decimals() view returns (uint8)",
98
- ]);
99
- // Get balance and decimals
100
- const [balance, decimals] = await Promise.all([
101
- publicClient.readContract({
102
- address: catTokenAddress,
103
- abi: ERC20_ABI,
104
- functionName: "balanceOf",
105
- args: [address],
106
- }),
107
- publicClient.readContract({
108
- address: catTokenAddress,
109
- abi: ERC20_ABI,
110
- functionName: "decimals",
111
- }).catch(() => 18), // Default to 18 decimals if call fails
112
- ]);
113
- cat402Balance = balance;
114
- cat402Formatted = formatUnits(balance, decimals);
115
- cat402Fetched = true;
105
+ // Priority 1: Environment variable
106
+ let catTokenAddress = config.getPlatformTokenAddress();
107
+ // Priority 2: Fetch from agent /info endpoint if not in env var
108
+ if (!catTokenAddress) {
109
+ try {
110
+ const agentInfo = await config.getAgentInfo();
111
+ catTokenAddress = agentInfo.platform.platformAddress;
112
+ }
113
+ catch (error) {
114
+ // Silently fail - will just not show CAT balance
116
115
  }
117
116
  }
117
+ if (catTokenAddress) {
118
+ // Get 402CAT balance using ERC20 balanceOf
119
+ const { createPublicClient, parseAbi } = await import("viem");
120
+ const { createRpcTransport } = await import("../utils/rpc-transport.js");
121
+ const network = config.get("network");
122
+ const { chain } = await getNetworkConfig(network);
123
+ const publicClient = createPublicClient({
124
+ chain,
125
+ transport: createRpcTransport({
126
+ chainId: chain.id,
127
+ // HttpcatClient not available in this context, will use public/Alchemy RPC
128
+ }),
129
+ });
130
+ const ERC20_ABI = parseAbi([
131
+ "function balanceOf(address owner) view returns (uint256)",
132
+ "function decimals() view returns (uint8)",
133
+ ]);
134
+ // Get balance and decimals with retry logic
135
+ const [balance, decimals] = await Promise.all([
136
+ retryWithBackoff(() => publicClient.readContract({
137
+ address: catTokenAddress,
138
+ abi: ERC20_ABI,
139
+ functionName: "balanceOf",
140
+ args: [address],
141
+ }), {
142
+ maxRetries: 3,
143
+ initialDelay: 500,
144
+ maxDelay: 3000,
145
+ }),
146
+ retryWithBackoff(() => publicClient.readContract({
147
+ address: catTokenAddress,
148
+ abi: ERC20_ABI,
149
+ functionName: "decimals",
150
+ }), {
151
+ maxRetries: 3,
152
+ initialDelay: 500,
153
+ maxDelay: 3000,
154
+ }).catch(() => 18), // Default to 18 decimals if call fails
155
+ ]);
156
+ cat402Balance = balance;
157
+ cat402Formatted = formatUnits(balance, decimals);
158
+ cat402Fetched = true;
159
+ }
118
160
  }
119
161
  catch (error) {
120
162
  // If we can't fetch 402CAT balance, just continue without it
@@ -127,47 +169,71 @@ export async function checkBalance(privateKey, silent = false) {
127
169
  if (!silent) {
128
170
  console.log();
129
171
  printCat("wizard");
130
- console.log(chalk.bold.cyan("💰 Wallet Balances"));
131
- console.log(chalk.dim("─".repeat(50)));
172
+ console.log(chalk.magenta.bold("💰 Wallet Balances"));
173
+ console.log(chalk.dim("─".repeat(80)));
132
174
  console.log();
133
- // Format ETH with consistent alignment
134
- const ethLabel = "ETH:".padEnd(8);
135
- console.log(` ${chalk.dim(ethLabel)}${chalk.yellow(ethFormatted.padStart(25))} ${chalk.dim("ETH")}`);
136
- // Format USDC with consistent alignment
137
- const usdcLabel = "USDC:".padEnd(8);
138
- const usdcDisplay = parseFloat(usdcFormatted).toFixed(2);
139
- console.log(` ${chalk.dim(usdcLabel)}${chalk.green(`$${usdcDisplay}`.padStart(25))} ${chalk.dim("USDC")}`);
140
- // Format 402CAT if fetched
175
+ // Create colorful balances table
176
+ const balancesTable = new Table({
177
+ head: [
178
+ chalk.blue.bold('Asset'),
179
+ chalk.green.bold('Balance'),
180
+ chalk.cyan.bold('Symbol')
181
+ ],
182
+ colAligns: ['left', 'right', 'left'],
183
+ style: {
184
+ head: [],
185
+ border: ['dim'],
186
+ },
187
+ });
188
+ // ETH balance row
189
+ const ethNum = Number(ethFormatted);
190
+ const ethIcon = ethNum < 0.001 ? '⚠️ ' : '⚡ ';
191
+ balancesTable.push([
192
+ chalk.yellow(ethIcon + 'Ethereum'),
193
+ ethNum < 0.001 ? chalk.red.bold(ethFormatted) : chalk.green(ethFormatted),
194
+ chalk.dim('ETH')
195
+ ]);
196
+ // USDC balance row
197
+ const usdcNum = Number(usdcFormatted);
198
+ const usdcDisplay = usdcNum.toFixed(2);
199
+ const usdcIcon = usdcNum < 1 ? '⚠️ ' : '💵 ';
200
+ balancesTable.push([
201
+ chalk.green(usdcIcon + 'USD Coin'),
202
+ usdcNum < 1 ? chalk.red.bold('$' + usdcDisplay) : chalk.green('$' + usdcDisplay),
203
+ chalk.dim('USDC')
204
+ ]);
205
+ // CAT balance row (if fetched)
141
206
  if (cat402Fetched) {
142
- const catLabel = "CAT:".padEnd(8);
143
- // Format the 402CAT amount to a reasonable precision
144
207
  const catFormattedClean = parseFloat(cat402Formatted).toLocaleString('en-US', {
145
- maximumFractionDigits: 4,
208
+ maximumFractionDigits: 2,
146
209
  minimumFractionDigits: 0
147
210
  });
148
- console.log(` ${chalk.dim(catLabel)}${chalk.cyan(catFormattedClean.padStart(25))} ${chalk.dim("CAT")}`);
211
+ balancesTable.push([
212
+ chalk.cyan('🐱 402.CAT'),
213
+ chalk.magenta(catFormattedClean),
214
+ chalk.dim('CAT')
215
+ ]);
149
216
  }
217
+ console.log(balancesTable.toString());
150
218
  console.log();
151
- console.log(chalk.dim(` Wallet: ${formatAddress(address, 12)}`));
219
+ console.log(chalk.dim(`Wallet: ${address}`));
220
+ console.log(chalk.dim(`Network: ${networkName}`));
152
221
  console.log();
153
222
  // Show warnings if balances are low
154
- const ethNum = Number(ethFormatted);
155
- const usdcNum = Number(usdcFormatted);
156
223
  if (ethNum < 0.001 && usdcNum < 1) {
157
- console.log();
158
- printWarning("Low balances detected!");
159
- console.log(chalk.dim(" You need Base Sepolia ETH for gas fees"));
160
- console.log(chalk.dim(" You need Base Sepolia USDC for trading"));
224
+ console.log(chalk.yellow.bold("⚠️ Low balances detected!"));
225
+ console.log(chalk.dim(` You need ${networkName} ETH for gas fees`));
226
+ console.log(chalk.dim(` You need ${networkName} USDC for trading`));
161
227
  console.log();
162
228
  }
163
229
  else if (ethNum < 0.001) {
164
- console.log();
165
- printWarning("Low ETH balance - you may not have enough for gas fees");
230
+ console.log(chalk.yellow.bold("⚠️ Low ETH balance"));
231
+ console.log(chalk.dim(" You may not have enough for gas fees"));
166
232
  console.log();
167
233
  }
168
234
  else if (usdcNum < 1) {
169
- console.log();
170
- printWarning("Low USDC balance - you may not have enough for trades");
235
+ console.log(chalk.yellow.bold("⚠️ Low USDC balance"));
236
+ console.log(chalk.dim(" You may not have enough for trades"));
171
237
  console.log();
172
238
  }
173
239
  }
@@ -183,16 +249,103 @@ export async function checkBalance(privateKey, silent = false) {
183
249
  }
184
250
  catch (error) {
185
251
  // If balance check fails, just warn but continue
252
+ const network = config.get("network");
253
+ const networkDisplayName = config.caip2ToNetwork(network);
254
+ const networkName = networkDisplayName === "base-sepolia"
255
+ ? "Base Sepolia"
256
+ : networkDisplayName === "base"
257
+ ? "Base"
258
+ : networkDisplayName;
186
259
  console.log(chalk.yellow("⚠️ Could not check balances (network may be slow)"));
187
- console.log(chalk.dim(" Make sure you have Base Sepolia ETH and USDC!\n"));
260
+ console.log(chalk.dim(` Make sure you have ${networkName} ETH and USDC!\n`));
188
261
  throw error;
189
262
  }
190
263
  }
191
264
  /**
192
- * Display balance information (for JSON output)
265
+ * Display balance information (for JSON output or after silent checkBalance)
193
266
  */
194
267
  export function displayBalance(balance) {
195
- // This is mainly for JSON mode, but we already display in checkBalance
196
- // So this is a no-op for interactive mode
268
+ const network = config.get("network");
269
+ const networkDisplayName = config.caip2ToNetwork(network);
270
+ const networkName = networkDisplayName === "base-sepolia"
271
+ ? "Base Sepolia"
272
+ : networkDisplayName === "base"
273
+ ? "Base"
274
+ : networkDisplayName;
275
+ console.log();
276
+ printCat("wizard");
277
+ console.log(chalk.magenta.bold("💰 Wallet Balances"));
278
+ console.log(chalk.dim("─".repeat(80)));
279
+ console.log();
280
+ // Create colorful balances table
281
+ const balancesTable = new Table({
282
+ head: [
283
+ chalk.blue.bold("Asset"),
284
+ chalk.green.bold("Balance"),
285
+ chalk.cyan.bold("Symbol"),
286
+ ],
287
+ colAligns: ["left", "right", "left"],
288
+ style: {
289
+ head: [],
290
+ border: ["dim"],
291
+ },
292
+ });
293
+ // ETH balance row
294
+ const ethNum = Number(balance.ethFormatted);
295
+ const ethIcon = ethNum < 0.001 ? "⚠️ " : "⚡ ";
296
+ balancesTable.push([
297
+ chalk.yellow(ethIcon + "Ethereum"),
298
+ ethNum < 0.001
299
+ ? chalk.red.bold(balance.ethFormatted)
300
+ : chalk.green(balance.ethFormatted),
301
+ chalk.dim("ETH"),
302
+ ]);
303
+ // USDC balance row
304
+ const usdcNum = Number(balance.usdcFormatted);
305
+ const usdcDisplay = usdcNum.toFixed(2);
306
+ const usdcIcon = usdcNum < 1 ? "⚠️ " : "💵 ";
307
+ balancesTable.push([
308
+ chalk.green(usdcIcon + "USD Coin"),
309
+ usdcNum < 1
310
+ ? chalk.red.bold("$" + usdcDisplay)
311
+ : chalk.green("$" + usdcDisplay),
312
+ chalk.dim("USDC"),
313
+ ]);
314
+ // CAT balance row (if fetched and non-zero)
315
+ if (balance.cat402Formatted !== undefined &&
316
+ balance.cat402Formatted !== "0.00" &&
317
+ parseFloat(balance.cat402Formatted) > 0) {
318
+ const catFormattedClean = parseFloat(balance.cat402Formatted).toLocaleString("en-US", {
319
+ maximumFractionDigits: 2,
320
+ minimumFractionDigits: 0,
321
+ });
322
+ balancesTable.push([
323
+ chalk.cyan("🐱 402.CAT"),
324
+ chalk.magenta(catFormattedClean),
325
+ chalk.dim("CAT"),
326
+ ]);
327
+ }
328
+ console.log(balancesTable.toString());
329
+ console.log();
330
+ console.log(chalk.dim(`Wallet: ${balance.address}`));
331
+ console.log(chalk.dim(`Network: ${networkName}`));
332
+ console.log();
333
+ // Show warnings if balances are low
334
+ if (ethNum < 0.001 && usdcNum < 1) {
335
+ console.log(chalk.yellow.bold("⚠️ Low balances detected!"));
336
+ console.log(chalk.dim(` You need ${networkName} ETH for gas fees`));
337
+ console.log(chalk.dim(` You need ${networkName} USDC for trading`));
338
+ console.log();
339
+ }
340
+ else if (ethNum < 0.001) {
341
+ console.log(chalk.yellow.bold("⚠️ Low ETH balance"));
342
+ console.log(chalk.dim(" You may not have enough for gas fees"));
343
+ console.log();
344
+ }
345
+ else if (usdcNum < 1) {
346
+ console.log(chalk.yellow.bold("⚠️ Low USDC balance"));
347
+ console.log(chalk.dim(" You may not have enough for trades"));
348
+ console.log();
349
+ }
197
350
  }
198
351
  //# sourceMappingURL=balances.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"balances.js","sourceRoot":"","sources":["../../src/commands/balances.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"balances.js","sourceRoot":"","sources":["../../src/commands/balances.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"buy.d.ts","sourceRoot":"","sources":["../../src/commands/buy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AA+D7C,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,eAAe,GAAG,YAAY,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAqCD,eAAO,MAAM,YAAY,UAA2B,CAAC;AACrD,eAAO,MAAM,YAAY,UAAuB,CAAC;AA4iBjD,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,EAAE,mCAAmC;AACvD,MAAM,EAAE,MAAM,EACd,UAAU,UAAO,EACjB,MAAM,UAAQ,EAAE,+CAA+C;AAC/D,UAAU,CAAC,EAAE,KAAK,MAAM,EAAE,GACzB,OAAO,CAAC,cAAc,CAAC,CAkOzB;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CA8E7D;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,cAAc,EACtB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI,CAkBN"}
1
+ {"version":3,"file":"buy.d.ts","sourceRoot":"","sources":["../../src/commands/buy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAgE7C,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,eAAe,GAAG,YAAY,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAqCD,eAAO,MAAM,YAAY,UAA2B,CAAC;AACrD,eAAO,MAAM,YAAY,UAAuB,CAAC;AA8mBjD,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,EAAE,mCAAmC;AACvD,MAAM,EAAE,MAAM,EACd,UAAU,UAAO,EACjB,MAAM,UAAQ,EAAE,+CAA+C;AAC/D,UAAU,CAAC,EAAE,KAAK,MAAM,EAAE,GACzB,OAAO,CAAC,cAAc,CAAC,CAsKzB;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,GAAE,OAAe,GAAG,IAAI,CAyG3F;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,cAAc,EACtB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI,CAkBN"}