httpcat-cli 0.2.13 â 0.3.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/release.yml +96 -0
- package/.github/workflows/sync-version.yml +31 -2
- package/README.md +185 -62
- package/additions.txt +3 -0
- package/bun.lock +180 -1276
- package/dist/agent/autonomous-trader.d.ts.map +1 -0
- package/dist/agent/autonomous-trader.js +362 -0
- package/dist/agent/autonomous-trader.js.map +1 -0
- package/dist/agent/ax-agent.d.ts.map +1 -1
- package/dist/agent/ax-agent.js +293 -18
- package/dist/agent/ax-agent.js.map +1 -1
- package/dist/agent/event-client.d.ts.map +1 -0
- package/dist/agent/event-client.js +82 -0
- package/dist/agent/event-client.js.map +1 -0
- package/dist/agent/log-stream.d.ts.map +1 -0
- package/dist/agent/log-stream.js +95 -0
- package/dist/agent/log-stream.js.map +1 -0
- package/dist/agent/memory/conversation-session.d.ts.map +1 -0
- package/dist/agent/memory/conversation-session.js +232 -0
- package/dist/agent/memory/conversation-session.js.map +1 -0
- package/dist/agent/memory/conversation-store.d.ts.map +1 -0
- package/dist/agent/memory/conversation-store.js +214 -0
- package/dist/agent/memory/conversation-store.js.map +1 -0
- package/dist/agent/memory/database-schema.d.ts.map +1 -0
- package/dist/agent/memory/database-schema.js +355 -0
- package/dist/agent/memory/database-schema.js.map +1 -0
- package/dist/agent/memory/decision-tracker.d.ts.map +1 -0
- package/dist/agent/memory/decision-tracker.js +274 -0
- package/dist/agent/memory/decision-tracker.js.map +1 -0
- package/dist/agent/memory/memory-manager.d.ts.map +1 -0
- package/dist/agent/memory/memory-manager.js +187 -0
- package/dist/agent/memory/memory-manager.js.map +1 -0
- package/dist/agent/memory/types.d.ts.map +1 -0
- package/dist/agent/memory/types.js +5 -0
- package/dist/agent/memory/types.js.map +1 -0
- package/dist/agent/message-formatter.d.ts.map +1 -0
- package/dist/agent/message-formatter.js +76 -0
- package/dist/agent/message-formatter.js.map +1 -0
- package/dist/agent/position-db.d.ts.map +1 -0
- package/dist/agent/position-db.js +154 -0
- package/dist/agent/position-db.js.map +1 -0
- package/dist/agent/simple-chat-ui-static.d.ts.map +1 -0
- package/dist/agent/simple-chat-ui-static.js +129 -0
- package/dist/agent/simple-chat-ui-static.js.map +1 -0
- package/dist/agent/simple-chat-ui.d.ts.map +1 -0
- package/dist/agent/simple-chat-ui.js +90 -0
- package/dist/agent/simple-chat-ui.js.map +1 -0
- package/dist/agent/tools.d.ts.map +1 -1
- package/dist/agent/tools.js +274 -5
- package/dist/agent/tools.js.map +1 -1
- package/dist/agent/ui.d.ts.map +1 -0
- package/dist/agent/ui.js +84 -0
- package/dist/agent/ui.js.map +1 -0
- package/dist/agent/unified-runtime.d.ts.map +1 -0
- package/dist/agent/unified-runtime.js +397 -0
- package/dist/agent/unified-runtime.js.map +1 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +406 -46
- package/dist/client.js.map +1 -1
- package/dist/commands/account.d.ts.map +1 -1
- package/dist/commands/account.js +51 -22
- package/dist/commands/account.js.map +1 -1
- package/dist/commands/agent.d.ts.map +1 -0
- package/dist/commands/agent.js +258 -0
- package/dist/commands/agent.js.map +1 -0
- package/dist/commands/balances.d.ts.map +1 -1
- package/dist/commands/balances.js +122 -68
- package/dist/commands/balances.js.map +1 -1
- package/dist/commands/buy.d.ts.map +1 -1
- package/dist/commands/buy.js +73 -36
- package/dist/commands/buy.js.map +1 -1
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +200 -429
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/claim.d.ts.map +1 -1
- package/dist/commands/claim.js +84 -27
- package/dist/commands/claim.js.map +1 -1
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +65 -42
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/health.d.ts.map +1 -1
- package/dist/commands/health.js +7 -5
- package/dist/commands/health.js.map +1 -1
- package/dist/commands/info.d.ts.map +1 -1
- package/dist/commands/info.js +125 -46
- package/dist/commands/info.js.map +1 -1
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +56 -22
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/positions.d.ts.map +1 -1
- package/dist/commands/positions.js +76 -47
- package/dist/commands/positions.js.map +1 -1
- package/dist/commands/sell.d.ts.map +1 -1
- package/dist/commands/sell.js +62 -32
- package/dist/commands/sell.js.map +1 -1
- package/dist/commands/swap.d.ts.map +1 -0
- package/dist/commands/swap.js +392 -0
- package/dist/commands/swap.js.map +1 -0
- package/dist/commands/transactions.d.ts.map +1 -1
- package/dist/commands/transactions.js +28 -16
- package/dist/commands/transactions.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +132 -11
- package/dist/config.js.map +1 -1
- package/dist/index.js +453 -145
- package/dist/index.js.map +1 -1
- package/dist/interactive/art.d.ts.map +1 -1
- package/dist/interactive/art.js +38 -1
- package/dist/interactive/art.js.map +1 -1
- package/dist/interactive/shell.d.ts.map +1 -1
- package/dist/interactive/shell.js +398 -2259
- package/dist/interactive/shell.js.map +1 -1
- package/dist/mcp/chat-state.d.ts.map +1 -1
- package/dist/mcp/chat-state.js +2 -1
- package/dist/mcp/chat-state.js.map +1 -1
- package/dist/mcp/server.js +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +108 -1
- package/dist/mcp/tools.js.map +1 -1
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/types/agent-info.d.ts.map +1 -0
- package/dist/types/agent-info.js +11 -0
- package/dist/types/agent-info.js.map +1 -0
- package/dist/ui/components/ScrollableList.d.ts.map +1 -0
- package/dist/ui/components/ScrollableList.js +72 -0
- package/dist/ui/components/ScrollableList.js.map +1 -0
- package/dist/ui/components/ThemeProvider.d.ts.map +1 -0
- package/dist/ui/components/ThemeProvider.js +87 -0
- package/dist/ui/components/ThemeProvider.js.map +1 -0
- package/dist/ui/components/ThemedBox.d.ts.map +1 -0
- package/dist/ui/components/ThemedBox.js +24 -0
- package/dist/ui/components/ThemedBox.js.map +1 -0
- package/dist/ui/components/agent/ChatHeader.d.ts.map +1 -0
- package/dist/ui/components/agent/ChatHeader.js +39 -0
- package/dist/ui/components/agent/ChatHeader.js.map +1 -0
- package/dist/ui/components/agent/Header.d.ts.map +1 -0
- package/dist/ui/components/agent/Header.js +14 -0
- package/dist/ui/components/agent/Header.js.map +1 -0
- package/dist/ui/components/agent/Input.d.ts.map +1 -0
- package/dist/ui/components/agent/Input.js +23 -0
- package/dist/ui/components/agent/Input.js.map +1 -0
- package/dist/ui/components/agent/Output.d.ts.map +1 -0
- package/dist/ui/components/agent/Output.js +23 -0
- package/dist/ui/components/agent/Output.js.map +1 -0
- package/dist/ui/components/chat/TokenChatUI.d.ts.map +1 -0
- package/dist/ui/components/chat/TokenChatUI.js +133 -0
- package/dist/ui/components/chat/TokenChatUI.js.map +1 -0
- package/dist/ui/components/shell/ShellHeader.d.ts.map +1 -0
- package/dist/ui/components/shell/ShellHeader.js +31 -0
- package/dist/ui/components/shell/ShellHeader.js.map +1 -0
- package/dist/ui/components/shell/ShellInput.d.ts.map +1 -0
- package/dist/ui/components/shell/ShellInput.js +147 -0
- package/dist/ui/components/shell/ShellInput.js.map +1 -0
- package/dist/ui/components/shell/ShellOutput.d.ts.map +1 -0
- package/dist/ui/components/shell/ShellOutput.js +8 -0
- package/dist/ui/components/shell/ShellOutput.js.map +1 -0
- package/dist/ui/hooks/useChatWebSocket.d.ts.map +1 -0
- package/dist/ui/hooks/useChatWebSocket.js +76 -0
- package/dist/ui/hooks/useChatWebSocket.js.map +1 -0
- package/dist/ui/hooks/useCommandHistory.d.ts.map +1 -0
- package/dist/ui/hooks/useCommandHistory.js +70 -0
- package/dist/ui/hooks/useCommandHistory.js.map +1 -0
- package/dist/ui/hooks/useDebounce.d.ts.map +1 -0
- package/dist/ui/hooks/useDebounce.js +17 -0
- package/dist/ui/hooks/useDebounce.js.map +1 -0
- package/dist/ui/hooks/useLogStream.d.ts.map +1 -0
- package/dist/ui/hooks/useLogStream.js +20 -0
- package/dist/ui/hooks/useLogStream.js.map +1 -0
- package/dist/ui/hooks/useVirtualScroll.d.ts.map +1 -0
- package/dist/ui/hooks/useVirtualScroll.js +70 -0
- package/dist/ui/hooks/useVirtualScroll.js.map +1 -0
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/constants.js +44 -2
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +3 -3
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/formatting.d.ts.map +1 -1
- package/dist/utils/formatting.js +37 -6
- package/dist/utils/formatting.js.map +1 -1
- package/dist/utils/loading.d.ts.map +1 -1
- package/dist/utils/loading.js +23 -2
- package/dist/utils/loading.js.map +1 -1
- package/dist/utils/privateKeyPrompt.d.ts.map +1 -1
- package/dist/utils/privateKeyPrompt.js +31 -7
- package/dist/utils/privateKeyPrompt.js.map +1 -1
- package/dist/utils/status.d.ts.map +1 -0
- package/dist/utils/status.js +96 -0
- package/dist/utils/status.js.map +1 -0
- package/dist/utils/token-resolver.d.ts.map +1 -1
- package/dist/utils/token-resolver.js +17 -7
- package/dist/utils/token-resolver.js.map +1 -1
- package/issues.txt +2 -0
- package/package.json +16 -6
- package/Screenshot 2025-12-21 at 8.56.02/342/200/257PM.png +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/commands/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI7C,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAU9E;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/commands/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI7C,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAU9E;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CA0B9D"}
|
package/dist/commands/health.js
CHANGED
|
@@ -15,19 +15,21 @@ export async function checkHealth(client) {
|
|
|
15
15
|
export function displayHealthStatus(health) {
|
|
16
16
|
console.log();
|
|
17
17
|
const status = health.status || 'unknown';
|
|
18
|
-
const isHealthy = status === 'ok';
|
|
18
|
+
const isHealthy = status.toLowerCase() === 'ok' || status.toLowerCase() === 'healthy';
|
|
19
19
|
const statusIcon = isHealthy ? 'â
' : 'â';
|
|
20
20
|
const statusColor = isHealthy ? chalk.green : chalk.red;
|
|
21
|
+
console.log(chalk.magenta.bold(`${statusIcon} Health Check`));
|
|
22
|
+
console.log();
|
|
21
23
|
const boxData = {
|
|
22
|
-
'Status': statusColor(status.toUpperCase()),
|
|
24
|
+
'Status': statusColor.bold(status.toUpperCase()),
|
|
23
25
|
};
|
|
24
26
|
if (health.message) {
|
|
25
|
-
boxData['Message'] = health.message;
|
|
27
|
+
boxData['Message'] = chalk.cyan(health.message);
|
|
26
28
|
}
|
|
27
29
|
if (health.timestamp) {
|
|
28
|
-
boxData['Timestamp'] = new Date(health.timestamp).toLocaleString();
|
|
30
|
+
boxData['Timestamp'] = chalk.dim(new Date(health.timestamp).toLocaleString());
|
|
29
31
|
}
|
|
30
|
-
printBox(
|
|
32
|
+
printBox('Health Status', boxData);
|
|
31
33
|
console.log();
|
|
32
34
|
}
|
|
33
35
|
//# sourceMappingURL=health.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/commands/health.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAQlD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAqB;IACrD,iDAAiD;IACjD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gCAAgC;QAChC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAmB,QAAQ,EAAE,EAAE,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAoB;IACtD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC;IAC1C,MAAM,SAAS,GAAG,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/commands/health.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAQlD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAqB;IACrD,iDAAiD;IACjD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gCAAgC;QAChC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAmB,QAAQ,EAAE,EAAE,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAoB;IACtD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC;IAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,EAAE,KAAK,IAAI,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC;IACtF,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACzC,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;IAExD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,eAAe,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,OAAO,GAA2B;QACtC,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;KACjD,CAAC;IAEF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,OAAO,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAEnC,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAa7C,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,EAAE,mCAAmC;AACvD,WAAW,CAAC,EAAE,MAAM,EACpB,MAAM,UAAQ,GACb,OAAO,CAAC,eAAe,CAAC,CAgE1B;AA6HD,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,eAAe,EACrB,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM,EAChB,WAAW,GAAE,OAAe,GAC3B,OAAO,CAAC,IAAI,CAAC,CAsHf"}
|
package/dist/commands/info.js
CHANGED
|
@@ -3,6 +3,7 @@ import { printBox, formatAddress, formatTokenAmount, formatCurrency, } from "../
|
|
|
3
3
|
import { printGraduationProgress } from "../interactive/art.js";
|
|
4
4
|
import { resolveTokenId } from "../utils/token-resolver.js";
|
|
5
5
|
import chalk from "chalk";
|
|
6
|
+
import { config } from "../config.js";
|
|
6
7
|
export async function getTokenInfo(client, identifier, // Can be token ID, name, or symbol
|
|
7
8
|
userAddress, silent = false // Suppress resolver output for quiet/JSON mode
|
|
8
9
|
) {
|
|
@@ -45,13 +46,15 @@ userAddress, silent = false // Suppress resolver output for quiet/JSON mode
|
|
|
45
46
|
const { data } = await client.invoke("token_info", input);
|
|
46
47
|
return data;
|
|
47
48
|
}
|
|
48
|
-
async function fetchOnChainBalance(tokenAddress, userAddress) {
|
|
49
|
+
async function fetchOnChainBalance(tokenAddress, userAddress, network) {
|
|
49
50
|
try {
|
|
50
51
|
const { createPublicClient, http, parseAbi } = await import("viem");
|
|
51
|
-
const {
|
|
52
|
+
const { getNetworkConfig } = await import("../utils/constants.js");
|
|
53
|
+
const networkToUse = network || config.get("network");
|
|
54
|
+
const { chain } = await getNetworkConfig(networkToUse);
|
|
52
55
|
const publicClient = createPublicClient({
|
|
53
|
-
chain
|
|
54
|
-
transport: http(),
|
|
56
|
+
chain,
|
|
57
|
+
transport: http(config.getRpcUrl()),
|
|
55
58
|
});
|
|
56
59
|
const ERC20_ABI = parseAbi([
|
|
57
60
|
"function balanceOf(address owner) view returns (uint256)",
|
|
@@ -69,49 +72,86 @@ async function fetchOnChainBalance(tokenAddress, userAddress) {
|
|
|
69
72
|
return null;
|
|
70
73
|
}
|
|
71
74
|
}
|
|
72
|
-
async function fetchLpPrice(tokenAddress) {
|
|
75
|
+
async function fetchLpPrice(tokenAddress, network) {
|
|
73
76
|
try {
|
|
74
|
-
// Query Uniswap
|
|
77
|
+
// Query Uniswap V4 quoter directly on-chain (free, no cost)
|
|
75
78
|
const { createPublicClient, http, parseAbi, formatUnits } = await import("viem");
|
|
76
|
-
const {
|
|
77
|
-
|
|
79
|
+
const { getNetworkConfig } = await import("../utils/constants.js");
|
|
80
|
+
// Get agent info to fetch V4 quoter address
|
|
81
|
+
const agentInfo = await config.getAgentInfo();
|
|
82
|
+
const v4QuoterAddress = agentInfo.uniswapV4.v4Quoter;
|
|
83
|
+
if (!v4QuoterAddress) {
|
|
84
|
+
// Fallback: silently fail if quoter not available
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
const { chain, usdcAddress } = await getNetworkConfig(network);
|
|
78
88
|
const publicClient = createPublicClient({
|
|
79
|
-
chain
|
|
80
|
-
transport: http(),
|
|
89
|
+
chain,
|
|
90
|
+
transport: http(config.getRpcUrl()),
|
|
81
91
|
});
|
|
82
92
|
// Use 1 USDC (1e6 in raw units) to get price quote
|
|
83
93
|
const oneUsdc = BigInt(10 ** 6); // 1 USDC in raw units (6 decimals)
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
94
|
+
// Uniswap V4 Quoter ABI - quote function
|
|
95
|
+
// V4 quoter typically uses quote(QuoteParams) where QuoteParams includes:
|
|
96
|
+
// - tokenIn, tokenOut, amount, sqrtPriceLimitX96, etc.
|
|
97
|
+
const V4_QUOTER_ABI = parseAbi([
|
|
98
|
+
"function quote((address tokenIn, address tokenOut, uint256 amount, uint160 sqrtPriceLimitX96, uint24 fee) params) view returns (uint256 amountOut)"
|
|
99
|
+
]);
|
|
100
|
+
try {
|
|
101
|
+
// Try V4 quoter with standard quote function
|
|
102
|
+
// For V4, we need to find the pool first, but a simpler approach is to use
|
|
103
|
+
// the quoter's quote function if available
|
|
104
|
+
// Note: V4 quoter interface may vary, this is a common pattern
|
|
105
|
+
const tokensOut = await publicClient.readContract({
|
|
106
|
+
address: v4QuoterAddress,
|
|
107
|
+
abi: V4_QUOTER_ABI,
|
|
108
|
+
functionName: "quote",
|
|
109
|
+
args: [{
|
|
110
|
+
tokenIn: usdcAddress,
|
|
111
|
+
tokenOut: tokenAddress,
|
|
112
|
+
amount: oneUsdc,
|
|
113
|
+
sqrtPriceLimitX96: BigInt(0), // No price limit
|
|
114
|
+
fee: 0, // Default fee tier (may need to be adjusted)
|
|
115
|
+
}],
|
|
116
|
+
});
|
|
117
|
+
// tokensOut is in wei (18 decimals), need to convert
|
|
118
|
+
const tokensOutFormatted = parseFloat(formatUnits(tokensOut, 18));
|
|
119
|
+
if (tokensOutFormatted === 0) {
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
122
|
+
// Price = 1 USDC / tokens received
|
|
123
|
+
const pricePerToken = 1 / tokensOutFormatted;
|
|
124
|
+
return pricePerToken.toFixed(18);
|
|
125
|
+
}
|
|
126
|
+
catch (quoteError) {
|
|
127
|
+
// V4 quoter interface might be different, try alternative approach
|
|
128
|
+
// Some V4 quoters use a different function signature
|
|
129
|
+
// For now, silently fail - this is optional price fetching
|
|
130
|
+
if (process.env.DEBUG) {
|
|
131
|
+
console.warn("V4 quoter quote failed, trying alternative method:", quoteError);
|
|
132
|
+
}
|
|
133
|
+
// Alternative: Use StateView to get pool state and calculate price
|
|
134
|
+
// This is more complex and requires pool ID, so for now we'll return null
|
|
135
|
+
// The backend should provide price info in token_info response
|
|
97
136
|
return null;
|
|
98
137
|
}
|
|
99
|
-
// Price = 1 USDC / tokens received
|
|
100
|
-
const pricePerToken = 1 / tokensOutFormatted;
|
|
101
|
-
return pricePerToken.toFixed(18);
|
|
102
138
|
}
|
|
103
139
|
catch (error) {
|
|
104
140
|
// Silently fail - price fetching is optional
|
|
141
|
+
if (process.env.DEBUG) {
|
|
142
|
+
console.warn("Failed to fetch LP price:", error);
|
|
143
|
+
}
|
|
105
144
|
return null;
|
|
106
145
|
}
|
|
107
146
|
}
|
|
108
|
-
export async function displayTokenInfo(info, userAddress) {
|
|
147
|
+
export async function displayTokenInfo(info, userAddress, network, interactive = false) {
|
|
109
148
|
console.log();
|
|
110
149
|
// For graduated tokens, fetch LP price from on-chain (free)
|
|
111
150
|
let lpPrice = null;
|
|
112
151
|
let lpMcap = null;
|
|
113
152
|
if (info.status === "graduated") {
|
|
114
|
-
|
|
153
|
+
const networkToUse = network || config.get("network");
|
|
154
|
+
lpPrice = await fetchLpPrice(info.address, networkToUse);
|
|
115
155
|
if (lpPrice) {
|
|
116
156
|
// Calculate market cap: price * total supply
|
|
117
157
|
// totalSupply is in wei format (18 decimals), need to convert to human-readable
|
|
@@ -124,33 +164,64 @@ export async function displayTokenInfo(info, userAddress) {
|
|
|
124
164
|
}
|
|
125
165
|
}
|
|
126
166
|
}
|
|
167
|
+
// Determine graduation icon based on status and progress
|
|
168
|
+
const graduationIcon = info.status === "graduated"
|
|
169
|
+
? "đ"
|
|
170
|
+
: info.graduationProgress >= 90
|
|
171
|
+
? "đĨ"
|
|
172
|
+
: info.graduationProgress >= 50
|
|
173
|
+
? "đ"
|
|
174
|
+
: "đ";
|
|
175
|
+
// Format price with proper precision (matching list command)
|
|
176
|
+
const formatPrice = (price) => {
|
|
177
|
+
const priceNum = parseFloat(price);
|
|
178
|
+
if (isNaN(priceNum))
|
|
179
|
+
return "$0.00";
|
|
180
|
+
if (priceNum < 1) {
|
|
181
|
+
return `$${priceNum.toFixed(3)}`;
|
|
182
|
+
}
|
|
183
|
+
return formatCurrency(price);
|
|
184
|
+
};
|
|
127
185
|
const priceDisplay = info.status === "graduated"
|
|
128
186
|
? lpPrice
|
|
129
|
-
?
|
|
187
|
+
? chalk.cyan(formatPrice(lpPrice))
|
|
130
188
|
: chalk.dim("--")
|
|
131
|
-
:
|
|
189
|
+
: chalk.cyan(formatPrice(info.price));
|
|
132
190
|
const mcapDisplay = info.status === "graduated"
|
|
133
191
|
? lpMcap
|
|
134
|
-
? formatCurrency(lpMcap)
|
|
192
|
+
? chalk.green(formatCurrency(lpMcap))
|
|
135
193
|
: chalk.dim("--")
|
|
136
|
-
: formatCurrency(info.mcap);
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
194
|
+
: chalk.green(formatCurrency(info.mcap));
|
|
195
|
+
// Colorful header
|
|
196
|
+
console.log(chalk.magenta.bold(`đ ${info.name} (${info.symbol})`));
|
|
197
|
+
console.log();
|
|
198
|
+
// Show graduation progress before token information
|
|
199
|
+
if (info.graduationProgress !== undefined && info.status !== "graduated") {
|
|
200
|
+
printGraduationProgress(info.graduationProgress);
|
|
201
|
+
console.log();
|
|
202
|
+
}
|
|
203
|
+
// Enhanced box with rainbow colors
|
|
204
|
+
const statusDisplay = info.status === "graduated"
|
|
205
|
+
? chalk.green.bold("â Graduated")
|
|
206
|
+
: chalk.yellow("⥠Active");
|
|
207
|
+
printBox(`Token Information`, {
|
|
208
|
+
Name: chalk.blue(info.name),
|
|
209
|
+
Symbol: chalk.yellow.bold(info.symbol),
|
|
210
|
+
Address: chalk.cyan(formatAddress(info.address)),
|
|
211
|
+
Status: `${graduationIcon} ${statusDisplay}`,
|
|
140
212
|
Price: priceDisplay,
|
|
141
213
|
"Market Cap": mcapDisplay,
|
|
142
|
-
"Total Supply": formatTokenAmount(info.totalSupply),
|
|
143
|
-
Created: new Date(info.createdAt).toLocaleString(),
|
|
214
|
+
"Total Supply": chalk.magenta(formatTokenAmount(info.totalSupply)),
|
|
215
|
+
Created: chalk.dim(new Date(info.createdAt).toLocaleString()),
|
|
144
216
|
});
|
|
145
|
-
console.log();
|
|
146
|
-
printGraduationProgress(info.graduationProgress);
|
|
147
217
|
// For graduated tokens, show current on-chain balance
|
|
148
218
|
if (info.status === "graduated" && userAddress) {
|
|
149
|
-
const
|
|
219
|
+
const networkToUse = network || config.get("network");
|
|
220
|
+
const onChainBalance = await fetchOnChainBalance(info.address, userAddress, networkToUse);
|
|
150
221
|
if (onChainBalance !== null) {
|
|
151
222
|
console.log();
|
|
152
223
|
printBox("đ° Balances", {
|
|
153
|
-
"Current Balance": formatTokenAmount(onChainBalance),
|
|
224
|
+
"Current Balance": chalk.green.bold(formatTokenAmount(onChainBalance)),
|
|
154
225
|
});
|
|
155
226
|
}
|
|
156
227
|
}
|
|
@@ -158,14 +229,22 @@ export async function displayTokenInfo(info, userAddress) {
|
|
|
158
229
|
if (info.status !== "graduated" && info.userPosition) {
|
|
159
230
|
console.log();
|
|
160
231
|
const pnl = parseFloat(info.userPosition.pnl);
|
|
161
|
-
const pnlColor = pnl >= 0 ?
|
|
232
|
+
const pnlColor = pnl >= 0 ? chalk.green : chalk.red;
|
|
162
233
|
const pnlSign = pnl >= 0 ? "+" : "";
|
|
163
234
|
printBox("đŧ Your Position", {
|
|
164
|
-
"Tokens Owned": formatTokenAmount(info.userPosition.tokensOwned),
|
|
165
|
-
Invested: formatCurrency(info.userPosition.usdcInvested),
|
|
166
|
-
"Current Value": formatCurrency(info.userPosition.currentValue),
|
|
167
|
-
"P&L": `${
|
|
235
|
+
"Tokens Owned": chalk.blue.bold(formatTokenAmount(info.userPosition.tokensOwned)),
|
|
236
|
+
Invested: chalk.cyan(formatCurrency(info.userPosition.usdcInvested)),
|
|
237
|
+
"Current Value": chalk.green(formatCurrency(info.userPosition.currentValue)),
|
|
238
|
+
"P&L": pnlColor(`${pnl >= 0 ? "đĸ" : "đ´"} ${pnlSign}${formatCurrency(info.userPosition.pnl)}`),
|
|
168
239
|
});
|
|
169
240
|
}
|
|
241
|
+
// Quick commands section
|
|
242
|
+
const prefix = interactive ? "" : "httpcat ";
|
|
243
|
+
console.log();
|
|
244
|
+
console.log(chalk.magenta.bold("⥠Quick commands:"));
|
|
245
|
+
console.log(` ${chalk.cyan.bold(`đ° ${prefix}buy`)} ${chalk.yellow.bold(info.symbol)} ${chalk.dim("<amount>")}`);
|
|
246
|
+
console.log(` ${chalk.cyan.bold(`đ¸ ${prefix}sell`)} ${chalk.yellow.bold(info.symbol)} ${chalk.dim("<amount>")}`);
|
|
247
|
+
console.log(` ${chalk.cyan.bold(`đĩ ${prefix}balances`)}`);
|
|
248
|
+
console.log();
|
|
170
249
|
}
|
|
171
250
|
//# sourceMappingURL=info.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACL,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,cAAc,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAS7C,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,UAAU,CAC9B,MAAM,EAAE,aAAa,EACrB,IAAI,SAAI,EACR,KAAK,SAAK,EACV,MAAM,GAAE,MAAM,GAAG,SAAS,GAAG,MAAe,GAC3C,OAAO,CAAC,gBAAgB,CAAC,CAU3B;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAS7C,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,UAAU,CAC9B,MAAM,EAAE,aAAa,EACrB,IAAI,SAAI,EACR,KAAK,SAAK,EACV,MAAM,GAAE,MAAM,GAAG,SAAS,GAAG,MAAe,GAC3C,OAAO,CAAC,gBAAgB,CAAC,CAU3B;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,EAAE,WAAW,GAAE,OAAe,GAAG,IAAI,CAoG7F"}
|
package/dist/commands/list.js
CHANGED
|
@@ -7,60 +7,94 @@ export async function listTokens(client, page = 1, limit = 20, sortBy = "mcap")
|
|
|
7
7
|
const { data } = await client.invoke("list_tokens", input);
|
|
8
8
|
return data;
|
|
9
9
|
}
|
|
10
|
-
export function displayTokenList(result) {
|
|
10
|
+
export function displayTokenList(result, interactive = false) {
|
|
11
11
|
console.log();
|
|
12
|
-
console.log(chalk.
|
|
13
|
-
console.log(chalk.
|
|
12
|
+
console.log(chalk.magenta.bold(`đ Tokens (${result.total} total)`));
|
|
13
|
+
console.log(chalk.cyan(`Page ${result.page} of ${result.pages}`));
|
|
14
14
|
console.log();
|
|
15
15
|
if (result.tokens.length === 0) {
|
|
16
16
|
console.log(chalk.yellow("No tokens found."));
|
|
17
17
|
return;
|
|
18
18
|
}
|
|
19
|
+
// Sort tokens: Active first (by graduation progress desc), then graduated (by graduation progress desc)
|
|
20
|
+
const sortedTokens = [...result.tokens].sort((a, b) => {
|
|
21
|
+
// Active tokens come before graduated
|
|
22
|
+
const aIsActive = a.status !== "graduated";
|
|
23
|
+
const bIsActive = b.status !== "graduated";
|
|
24
|
+
if (aIsActive && !bIsActive)
|
|
25
|
+
return -1;
|
|
26
|
+
if (!aIsActive && bIsActive)
|
|
27
|
+
return 1;
|
|
28
|
+
// Within same status, sort by graduation progress (descending)
|
|
29
|
+
return b.graduationProgress - a.graduationProgress;
|
|
30
|
+
});
|
|
31
|
+
// Helper to format prices with proper precision
|
|
32
|
+
const formatPrice = (price) => {
|
|
33
|
+
const priceNum = parseFloat(price);
|
|
34
|
+
if (isNaN(priceNum))
|
|
35
|
+
return "$0.00";
|
|
36
|
+
// For prices < 1, show only 3 decimal places
|
|
37
|
+
if (priceNum < 1) {
|
|
38
|
+
return `$${priceNum.toFixed(3)}`;
|
|
39
|
+
}
|
|
40
|
+
// For prices >= 1, use standard currency formatting
|
|
41
|
+
return formatCurrency(price);
|
|
42
|
+
};
|
|
43
|
+
// Rainbow header with different colors for each column
|
|
19
44
|
const table = new Table({
|
|
20
|
-
head: [
|
|
45
|
+
head: [
|
|
46
|
+
chalk.blue.bold("Name"),
|
|
47
|
+
chalk.yellow.bold("Symbol"),
|
|
48
|
+
chalk.green.bold("Market Cap"),
|
|
49
|
+
chalk.cyan.bold("Price"),
|
|
50
|
+
chalk.magenta.bold("Graduation"),
|
|
51
|
+
chalk.white.bold("Status"),
|
|
52
|
+
],
|
|
21
53
|
colAligns: ["left", "left", "center", "center", "left", "left"],
|
|
22
54
|
style: {
|
|
23
55
|
head: [],
|
|
24
56
|
border: ["dim"],
|
|
25
57
|
},
|
|
26
58
|
});
|
|
27
|
-
for (const token of
|
|
59
|
+
for (const token of sortedTokens) {
|
|
28
60
|
const graduationIcon = token.status === "graduated"
|
|
29
61
|
? "đ"
|
|
30
62
|
: token.graduationProgress >= 90
|
|
31
63
|
? "đĨ"
|
|
32
64
|
: token.graduationProgress >= 50
|
|
33
65
|
? "đ"
|
|
34
|
-
: "
|
|
66
|
+
: "đ";
|
|
35
67
|
table.push([
|
|
36
|
-
chalk.
|
|
37
|
-
token.symbol,
|
|
68
|
+
chalk.blue(token.name),
|
|
69
|
+
chalk.yellow.bold(token.symbol),
|
|
38
70
|
token.status === "graduated"
|
|
39
|
-
? chalk.
|
|
40
|
-
: formatCurrency(token.mcap),
|
|
71
|
+
? chalk.gray("--")
|
|
72
|
+
: chalk.green(formatCurrency(token.mcap)),
|
|
41
73
|
token.status === "graduated"
|
|
42
|
-
? chalk.
|
|
43
|
-
:
|
|
44
|
-
`${graduationIcon} ${token.graduationProgress.toFixed(1)}
|
|
74
|
+
? chalk.gray("--")
|
|
75
|
+
: chalk.cyan(formatPrice(token.price)),
|
|
76
|
+
chalk.magenta(`${graduationIcon} ${token.graduationProgress.toFixed(1)}%`),
|
|
45
77
|
token.status === "graduated"
|
|
46
|
-
? chalk.green("â Graduated")
|
|
47
|
-
: chalk.yellow("Active"),
|
|
78
|
+
? chalk.green.bold("â Graduated")
|
|
79
|
+
: chalk.yellow("⥠Active"),
|
|
48
80
|
]);
|
|
49
81
|
}
|
|
50
82
|
console.log(table.toString());
|
|
51
83
|
console.log();
|
|
52
84
|
if (result.page < result.pages) {
|
|
53
|
-
console.log(chalk.
|
|
85
|
+
console.log(chalk.cyan(`đĄ Use --page ${result.page + 1} to see more tokens`));
|
|
54
86
|
console.log();
|
|
55
87
|
}
|
|
56
|
-
// Show example commands
|
|
88
|
+
// Show example commands with colors
|
|
57
89
|
if (result.tokens.length > 0) {
|
|
58
90
|
const firstToken = result.tokens[0];
|
|
59
|
-
|
|
60
|
-
console.log(
|
|
61
|
-
console.log(chalk.
|
|
62
|
-
console.log(chalk.
|
|
63
|
-
console.log(chalk.
|
|
91
|
+
const prefix = interactive ? "" : "httpcat ";
|
|
92
|
+
console.log();
|
|
93
|
+
console.log(chalk.magenta.bold("⥠Quick commands:"));
|
|
94
|
+
console.log(` ${chalk.cyan.bold(`đ° ${prefix}buy`)} ${chalk.yellow.bold(firstToken.symbol)} ${chalk.dim("<amount>")}`);
|
|
95
|
+
console.log(` ${chalk.cyan.bold(`đ¸ ${prefix}sell`)} ${chalk.yellow.bold(firstToken.symbol)} ${chalk.dim("<amount>")}`);
|
|
96
|
+
console.log(` ${chalk.cyan.bold(`âšī¸ ${prefix}info`)} ${chalk.yellow.bold(firstToken.symbol)}`);
|
|
97
|
+
console.log(` ${chalk.cyan.bold(`đĩ ${prefix}balances`)}`);
|
|
64
98
|
console.log();
|
|
65
99
|
}
|
|
66
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,cAAc,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,YAAY,CAAC;AA6B/B,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAqB,EACrB,IAAI,GAAG,CAAC,EACR,KAAK,GAAG,EAAE,EACV,SAAsC,MAAM;IAE5C,MAAM,KAAK,GAAoB,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAEvD,eAAe;IACf,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAClC,aAAa,EACb,KAAK,CACN,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAwB;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"positions.d.ts","sourceRoot":"","sources":["../../src/commands/positions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"positions.d.ts","sourceRoot":"","sources":["../../src/commands/positions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAS7C,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE;QACR,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,CAAC,CAU1B;AAgGD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,eAAe,EACvB,MAAM,GAAE,KAAK,GAAG,QAAQ,GAAG,WAAmB,EAC9C,WAAW,GAAE,OAAe,GAC3B,IAAI,CA2MN"}
|