@darksol/terminal 0.4.2 → 0.4.3

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/README.md CHANGED
@@ -30,15 +30,30 @@ darksol
30
30
  # Create a wallet (AES-256-GCM encrypted)
31
31
  darksol wallet create main
32
32
 
33
- # Check balance
33
+ # Check balance + multi-chain portfolio
34
34
  darksol wallet balance
35
+ darksol portfolio
35
36
 
36
- # Swap tokens
37
+ # Token prices & live monitoring
38
+ darksol price ETH AERO VIRTUAL
39
+ darksol watch AERO --above 2.0
40
+
41
+ # Gas estimates
42
+ darksol gas base
43
+
44
+ # Swap tokens (Uniswap V3 with slippage protection)
37
45
  darksol trade swap -i ETH -o USDC -a 0.1
38
46
 
39
47
  # AI trading assistant
40
48
  darksol ai chat
41
49
 
50
+ # Agent email
51
+ darksol mail setup
52
+ darksol mail send --to user@example.com --subject "Hello"
53
+
54
+ # Web terminal in browser
55
+ darksol serve
56
+
42
57
  # Start agent signer for OpenClaw
43
58
  darksol agent start main
44
59
  ```
@@ -58,6 +73,16 @@ darksol agent start main
58
73
  | `market` | Market intel, top movers, token analysis | x402 micropayments |
59
74
  | `oracle` | On-chain random number oracle | $0.05–$0.25 |
60
75
  | `casino` | The Clawsino — on-chain betting | $1 flat bets |
76
+ | `portfolio` | Multi-chain balance view (5 EVM chains) | Free |
77
+ | `gas` | Gas prices & cost estimates | Free |
78
+ | `price` | Quick token price check (DexScreener) | Free |
79
+ | `watch` | Live price monitoring with alerts | Free |
80
+ | `history` | Transaction history via block explorers | Free |
81
+ | `mail` | AgentMail — email for AI agents | Free tier |
82
+ | `serve` | Web terminal in browser (xterm.js) | Free |
83
+ | `facilitator` | x402 payment facilitator | Free |
84
+ | `cards` | Prepaid Visa/MC cards | Service fees |
85
+ | `builders` | ERC-8021 builder code directory | Free |
61
86
  | `cards` | Crypto → prepaid Visa/MC (no KYC) | 3% markup |
62
87
  | `builders` | ERC-8021 builder leaderboard | Free |
63
88
  | `facilitator` | x402 payment verification & settlement | Free |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@darksol/terminal",
3
- "version": "0.4.2",
3
+ "version": "0.4.3",
4
4
  "description": "DARKSOL Terminal — unified CLI for all DARKSOL services. Market intel, trading, oracle, casino, and more.",
5
5
  "type": "module",
6
6
  "bin": {
package/src/cli.js CHANGED
@@ -26,6 +26,9 @@ import { parseIntent, startChat, adviseStrategy, analyzeToken, executeIntent } f
26
26
  import { startAgentSigner, showAgentDocs } from './wallet/agent-signer.js';
27
27
  import { listSkills, installSkill, skillInfo, uninstallSkill } from './services/skills.js';
28
28
  import { runSetupWizard, checkFirstRun } from './setup/wizard.js';
29
+ import { createRequire } from 'module';
30
+ const require = createRequire(import.meta.url);
31
+ const { version: PKG_VERSION } = require('../package.json');
29
32
 
30
33
  export function cli(argv) {
31
34
  const program = new Command();
@@ -33,7 +36,7 @@ export function cli(argv) {
33
36
  program
34
37
  .name('darksol')
35
38
  .description(theme.gold('DARKSOL Terminal') + theme.dim(' — Ghost in the machine with teeth 🌑'))
36
- .version('0.4.1')
39
+ .version(PKG_VERSION)
37
40
  ;
38
41
 
39
42
  // ═══════════════════════════════════════
@@ -721,6 +724,8 @@ export function cli(argv) {
721
724
  ['Output', cfg.output],
722
725
  ['Slippage', `${cfg.slippage}%`],
723
726
  ['Gas Multiplier', `${cfg.gasMultiplier}x`],
727
+ ['Mail', cfg.mailEmail || theme.dim('(not set)')],
728
+ ['Version', PKG_VERSION],
724
729
  ['Config File', configPath()],
725
730
  ]);
726
731
  console.log('');
@@ -18,6 +18,12 @@ const ROUTERS = {
18
18
  arbitrum: {
19
19
  uniswapV3: '0xE592427A0AEce92De3Edee1F18E0157C05861564',
20
20
  },
21
+ optimism: {
22
+ uniswapV3: '0xE592427A0AEce92De3Edee1F18E0157C05861564',
23
+ },
24
+ polygon: {
25
+ uniswapV3: '0xE592427A0AEce92De3Edee1F18E0157C05861564',
26
+ },
21
27
  };
22
28
 
23
29
  // Common token addresses per chain
@@ -38,6 +44,26 @@ const TOKENS = {
38
44
  USDT: '0xdAC17F958D2ee523a2206206994597C13D831ec7',
39
45
  DAI: '0x6B175474E89094C44Da98b954EedeAC495271d0F',
40
46
  },
47
+ arbitrum: {
48
+ ETH: ethers.ZeroAddress,
49
+ WETH: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',
50
+ USDC: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831',
51
+ USDT: '0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9',
52
+ ARB: '0x912CE59144191C1204E64559FE8253a0e49E6548',
53
+ },
54
+ optimism: {
55
+ ETH: ethers.ZeroAddress,
56
+ WETH: '0x4200000000000000000000000000000000000006',
57
+ USDC: '0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85',
58
+ OP: '0x4200000000000000000000000000000000000042',
59
+ },
60
+ polygon: {
61
+ ETH: ethers.ZeroAddress,
62
+ WETH: '0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619',
63
+ WMATIC: '0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270',
64
+ USDC: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359',
65
+ USDT: '0xc2132D05D31c914a87C6611C10748AEb04B58e8F',
66
+ },
41
67
  };
42
68
 
43
69
  // ERC20 ABI for approvals and balance checks
@@ -66,6 +92,8 @@ const QUOTERS = {
66
92
  base: '0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a',
67
93
  ethereum: '0x61fFE014bA17989E743c5F6cB21bF9697530B21e',
68
94
  arbitrum: '0x61fFE014bA17989E743c5F6cB21bF9697530B21e',
95
+ optimism: '0x61fFE014bA17989E743c5F6cB21bF9697530B21e',
96
+ polygon: '0x61fFE014bA17989E743c5F6cB21bF9697530B21e',
69
97
  };
70
98
 
71
99
  // Resolve token symbol to address
package/src/ui/banner.js CHANGED
@@ -2,6 +2,9 @@ import figlet from 'figlet';
2
2
  import gradient from 'gradient-string';
3
3
  import chalk from 'chalk';
4
4
  import { theme } from './theme.js';
5
+ import { createRequire } from 'module';
6
+ const require = createRequire(import.meta.url);
7
+ const { version } = require('../../package.json');
5
8
 
6
9
  const darksol_gradient = gradient(['#B8860B', '#FFD700', '#FFF8DC', '#FFD700', '#B8860B']);
7
10
 
@@ -11,6 +14,9 @@ export function showBanner(opts = {}) {
11
14
  horizontalLayout: 'fitted',
12
15
  });
13
16
 
17
+ const vStr = `v${version}`;
18
+ const pad = ' '.repeat(Math.max(0, 48 - vStr.length));
19
+
14
20
  console.log('');
15
21
  console.log(darksol_gradient(banner));
16
22
  console.log('');
@@ -26,8 +32,8 @@ export function showBanner(opts = {}) {
26
32
  );
27
33
  console.log(
28
34
  theme.dim(' ║ ') +
29
- theme.subtle(' v0.4.2') +
30
- theme.dim(' ') +
35
+ theme.subtle(` ${vStr}`) +
36
+ theme.dim(pad) +
31
37
  theme.gold('🌑') +
32
38
  theme.dim(' ║')
33
39
  );
@@ -44,7 +50,7 @@ export function showBanner(opts = {}) {
44
50
 
45
51
  export function showMiniBanner() {
46
52
  console.log('');
47
- console.log(theme.gold.bold(' 🌑 DARKSOL TERMINAL') + theme.dim(' v0.4.2'));
53
+ console.log(theme.gold.bold(' 🌑 DARKSOL TERMINAL') + theme.dim(` v${version}`));
48
54
  console.log(theme.dim(' ─────────────────────────────'));
49
55
  console.log('');
50
56
  }
@@ -58,20 +64,3 @@ export function showSection(title) {
58
64
  export function showDivider() {
59
65
  console.log(theme.dim(' ' + '─'.repeat(50)));
60
66
  }
61
-
62
-
63
-
64
-
65
-
66
-
67
-
68
-
69
-
70
-
71
-
72
-
73
-
74
-
75
-
76
-
77
-