clawkr-cli 1.1.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.
package/.env.example ADDED
@@ -0,0 +1,39 @@
1
+ # Clawkr CLI Environment Configuration
2
+
3
+ # ==============================================================================
4
+ # BLOCKCHAIN CONFIGURATION
5
+ # ==============================================================================
6
+
7
+ # Base mainnet RPC URL (default: https://mainnet.base.org)
8
+ RPC_URL=https://mainnet.base.org
9
+
10
+ # Chain ID (default: 8453 for Base mainnet)
11
+ CHAIN_ID=8453
12
+
13
+ # API Configuration
14
+ API_BASE_URL=https://clawkr.com/api
15
+
16
+ # ==============================================================================
17
+ # WALLET CONFIGURATION
18
+ # ==============================================================================
19
+
20
+ # Private key for your agent wallet (WITH 0x prefix)
21
+ # IMPORTANT: Never commit this to version control!
22
+ # This is required for: register, launch, claim commands
23
+ PRIVATE_KEY=0x...
24
+
25
+ # ==============================================================================
26
+ # CLAWKR CONTRACT ADDRESSES (Base Mainnet)
27
+ # ==============================================================================
28
+
29
+ # AgentRegistry contract address (v2 deployment - Feb 4, 2026)
30
+ AGENT_REGISTRY_ADDRESS=0xaBBe7b34E9E8d9e158A68873EBC2C5ff574C4017
31
+
32
+ # ClawkrHook contract address (v2 deployment - Feb 4, 2026)
33
+ CLAWKR_HOOK_ADDRESS=0xa3966B92F2184fca0839E4D238503FcC6bA92AC8
34
+
35
+ # FairLaunch contract address (v2 deployment - Feb 4, 2026)
36
+ FAIR_LAUNCH_ADDRESS=0xd919c044999F8beE26ca3b28C4f41E58947598c4
37
+
38
+ # MarketCapPrice contract address (v2 deployment - Feb 4, 2026)
39
+ MARKET_CAP_PRICE_ADDRESS=0x90080d2752c046cec72c221822B1ddafC351905D
package/README.md ADDED
@@ -0,0 +1,219 @@
1
+ # Clawkr CLI
2
+
3
+ > Command-line tool for AI agents to launch tokens on Base blockchain
4
+
5
+ [![npm version](https://img.shields.io/npm/v/clawkr-cli.svg)](https://www.npmjs.com/package/clawkr-cli)
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
+
8
+ ## Features
9
+
10
+ - 🆓 **Free Registration** - No gas fees, instant activation via API
11
+ - 🚀 **Token Launch** - Deploy ERC-20 tokens with Uniswap V3 liquidity in one command
12
+ - ✅ **Contract Verification** - Automatic BaseScan verification (server-side, no API key required)
13
+ - 💰 **Fee Management** - Claim accumulated trading fees (90% agent, 10% protocol)
14
+ - 📊 **Status Monitoring** - Track your tokens and fee earnings
15
+
16
+ ## Installation
17
+
18
+ ```bash
19
+ npm install -g clawkr-cli
20
+ ```
21
+
22
+ ## Quick Start
23
+
24
+ ### 1. Register as an Agent (FREE)
25
+
26
+ ```bash
27
+ clawkr register --name "MyAgent" --description "AI token launcher"
28
+ ```
29
+
30
+ No gas fees required! Registration is instant via API.
31
+
32
+ ### 2. Launch Your First Token
33
+
34
+ First, upload your token image to a hosting service (catbox.moe, imgur, etc.) and get the direct URL.
35
+
36
+ ```bash
37
+ clawkr launch \
38
+ --name "My Token" \
39
+ --symbol "MTK" \
40
+ --token-uri "https://your-image-host.com/metadata.json" \
41
+ --description "My awesome token" \
42
+ --x https://x.com/mytoken \
43
+ --website https://mytoken.surge.sh
44
+ ```
45
+
46
+ This command will:
47
+ - Deploy the token contract on Base
48
+ - Create Uniswap V3 liquidity pool
49
+ - Verify the contract on BaseScan (server-side)
50
+ - Return token address, pool ID, and useful links
51
+
52
+ You can then update your landing page with the returned contract details.
53
+
54
+ ### 3. Check Status & Claim Fees
55
+
56
+ ```bash
57
+ # Check your agent status
58
+ clawkr status
59
+
60
+ # Claim accumulated fees
61
+ clawkr claim --token <TOKEN_ADDRESS>
62
+ ```
63
+
64
+ ## Configuration
65
+
66
+ Create a `.env` file or set environment variables:
67
+
68
+ ```bash
69
+ # Required for launching tokens
70
+ PRIVATE_KEY=0x...
71
+
72
+ # Optional - defaults shown
73
+ API_BASE_URL=https://clawkr.com/api
74
+ RPC_URL=https://mainnet.base.org
75
+ CHAIN_ID=8453
76
+ ```
77
+
78
+ Copy `.env.example` to `.env` and fill in your values.
79
+
80
+ **Note:** Contract verification is handled server-side via the Clawkr API. No API keys required for verification.
81
+
82
+ ## Commands
83
+
84
+ ### `clawkr register`
85
+
86
+ Register as an AI agent (free, no gas fees).
87
+
88
+ ```bash
89
+ clawkr register [options]
90
+
91
+ Options:
92
+ --name <name> Agent name (optional)
93
+ --description <text> Agent description (optional)
94
+ --json Output as JSON
95
+ ```
96
+
97
+ ### `clawkr launch`
98
+
99
+ Launch a new token with Uniswap V3 liquidity.
100
+
101
+ ```bash
102
+ clawkr launch [options]
103
+
104
+ Required:
105
+ --name <name> Token name
106
+ --symbol <symbol> Token symbol
107
+
108
+ Optional:
109
+ --token-uri <uri> Token metadata URI (recommended - use your own hosted metadata)
110
+ --description <text> Token description
111
+ --x <url> X/Twitter URL
112
+ --website <url> Website URL (your own landing page)
113
+ --market-cap <eth> Initial market cap (default: 1 ETH)
114
+ --fair-launch-duration <s> Fair launch duration in seconds (default: 300)
115
+ --json Output as JSON
116
+ --dry-run Simulate transaction without executing
117
+ ```
118
+
119
+ **Best Practice:** Upload your token image to a hosting service (catbox.moe, imgur, etc.) before launching. Create your own landing page on surge.sh or any static host. The CLI will return token address, pool ID, and useful links for you to update your landing page.
120
+
121
+ ### `clawkr status`
122
+
123
+ Check your agent status and token list.
124
+
125
+ ```bash
126
+ clawkr status [options]
127
+
128
+ Options:
129
+ --agent <address> Agent address (default: your wallet)
130
+ --json Output as JSON
131
+ ```
132
+
133
+ ### `clawkr claim`
134
+
135
+ Claim accumulated trading fees from your tokens.
136
+
137
+ ```bash
138
+ clawkr claim [options]
139
+
140
+ Required:
141
+ --token <address> Token contract address
142
+
143
+ Options:
144
+ --json Output as JSON
145
+ ```
146
+
147
+ ### `clawkr verify`
148
+
149
+ Manually verify a contract on BaseScan (auto-verification runs during launch).
150
+
151
+ ```bash
152
+ clawkr verify [options]
153
+
154
+ Required:
155
+ --token <address> Token contract address
156
+
157
+ Options:
158
+ --json Output as JSON
159
+ ```
160
+
161
+ ### `clawkr config`
162
+
163
+ View or test configuration.
164
+
165
+ ```bash
166
+ clawkr config [options]
167
+
168
+ Options:
169
+ --show Show current configuration
170
+ --test Test RPC connection
171
+ ```
172
+
173
+ ## API Integration
174
+
175
+ AI agents can use the JSON output mode for programmatic access:
176
+
177
+ ```bash
178
+ # All commands support --json flag
179
+ clawkr register --name "Agent" --json
180
+ clawkr launch --name "Token" --symbol "TKN" --image ./logo.png --json
181
+ clawkr status --json
182
+ ```
183
+
184
+ ## Requirements
185
+
186
+ - Node.js >= 18.0.0
187
+ - Base mainnet RPC access
188
+ - Private key with ETH for gas (only for launching tokens)
189
+
190
+ ## Documentation
191
+
192
+ - **Skills Documentation**: https://clawkr.com/skills.md
193
+ - **Web Dashboard**: https://clawkr.com
194
+ - **API Docs**: https://clawkr.com/api
195
+
196
+ ## Smart Contracts
197
+
198
+ All contracts are deployed on Base mainnet (Chain ID: 8453):
199
+
200
+ - **AgentRegistry**: `0xaBBe7b34E9E8d9e158A68873EBC2C5ff574C4017`
201
+ - **ClawkrHook**: `0xa3966B92F2184fca0839E4D238503FcC6bA92AC8`
202
+ - **FairLaunch**: `0xd919c044999F8beE26ca3b28C4f41E58947598c4`
203
+ - **MarketCapPrice**: `0x90080d2752c046cec72c221822B1ddafC351905D`
204
+
205
+ ## Security
206
+
207
+ - Never commit your `.env` file to version control
208
+ - Keep your private key secure
209
+ - Use environment variables in production
210
+ - API keys (BaseScan, iili.io) are optional but enhance functionality
211
+
212
+ ## Support
213
+
214
+ - GitHub Issues: https://github.com/clawkr/clawkr/issues
215
+ - Website: https://clawkr.com
216
+
217
+ ## License
218
+
219
+ MIT License - see LICENSE file for details
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.claimCommand = claimCommand;
7
+ const viem_1 = require("viem");
8
+ const accounts_1 = require("viem/accounts");
9
+ const chains_1 = require("viem/chains");
10
+ const chalk_1 = __importDefault(require("chalk"));
11
+ const ora_1 = __importDefault(require("ora"));
12
+ const config_1 = require("../utils/config");
13
+ const abis_1 = require("../utils/abis");
14
+ async function claimCommand(options) {
15
+ const config = (0, config_1.loadConfig)();
16
+ const privateKey = (0, config_1.getPrivateKey)();
17
+ const output = {
18
+ success: false,
19
+ command: 'claim',
20
+ params: {
21
+ token: options.token,
22
+ },
23
+ };
24
+ // Validate private key
25
+ if (!privateKey) {
26
+ output.error = 'Private key not found. Set PRIVATE_KEY environment variable.';
27
+ if (options.json) {
28
+ console.log(JSON.stringify(output, null, 2));
29
+ }
30
+ else {
31
+ console.error(chalk_1.default.red('Error: Private key not found. Set PRIVATE_KEY environment variable.'));
32
+ }
33
+ process.exit(1);
34
+ }
35
+ const account = (0, accounts_1.privateKeyToAccount)(privateKey);
36
+ const publicClient = (0, viem_1.createPublicClient)({
37
+ chain: chains_1.base,
38
+ transport: (0, viem_1.http)(config.rpcUrl),
39
+ });
40
+ const walletClient = (0, viem_1.createWalletClient)({
41
+ account,
42
+ chain: chains_1.base,
43
+ transport: (0, viem_1.http)(config.rpcUrl),
44
+ });
45
+ const spinner = options.json ? null : (0, ora_1.default)('Preparing claim...').start();
46
+ try {
47
+ // Check claimable balance
48
+ if (spinner)
49
+ spinner.text = 'Checking claimable balance...';
50
+ const claimableBalance = await publicClient.readContract({
51
+ address: config.contracts.clawkrHook,
52
+ abi: abis_1.CLAWKR_HOOK_ABI,
53
+ functionName: 'agentFees',
54
+ args: [account.address, options.token],
55
+ });
56
+ if (claimableBalance === 0n) {
57
+ output.error = 'No fees available to claim for this token.';
58
+ if (spinner)
59
+ spinner.fail(output.error);
60
+ if (options.json)
61
+ console.log(JSON.stringify(output, null, 2));
62
+ process.exit(1);
63
+ }
64
+ // Claim fees
65
+ if (spinner)
66
+ spinner.text = 'Claiming fees...';
67
+ const claimHash = await walletClient.writeContract({
68
+ address: config.contracts.clawkrHook,
69
+ abi: abis_1.CLAWKR_HOOK_ABI,
70
+ functionName: 'claimAgentFees',
71
+ args: [options.token],
72
+ });
73
+ if (spinner)
74
+ spinner.text = 'Waiting for confirmation...';
75
+ const receipt = await publicClient.waitForTransactionReceipt({ hash: claimHash });
76
+ output.success = true;
77
+ output.result = {
78
+ transactionHash: claimHash,
79
+ blockNumber: receipt.blockNumber.toString(),
80
+ gasUsed: receipt.gasUsed.toString(),
81
+ amount: claimableBalance.toString(),
82
+ token: options.token,
83
+ };
84
+ if (spinner)
85
+ spinner.succeed('Fees claimed successfully!');
86
+ if (options.json) {
87
+ console.log(JSON.stringify(output, null, 2));
88
+ }
89
+ else {
90
+ console.log('\n' + chalk_1.default.green.bold('Fees Claimed Successfully!'));
91
+ console.log(chalk_1.default.gray('─'.repeat(50)));
92
+ console.log(chalk_1.default.white('Amount: ') + (0, viem_1.formatUnits)(claimableBalance, 18));
93
+ console.log(chalk_1.default.white('Token: ') + chalk_1.default.cyan(options.token));
94
+ console.log(chalk_1.default.white('Transaction: ') + chalk_1.default.cyan(claimHash));
95
+ console.log(chalk_1.default.gray('─'.repeat(50)));
96
+ console.log(chalk_1.default.gray(`View on BaseScan: https://basescan.org/tx/${claimHash}`));
97
+ }
98
+ }
99
+ catch (error) {
100
+ output.error = error.message || 'Unknown error occurred';
101
+ if (spinner)
102
+ spinner.fail('Claim failed');
103
+ if (options.json) {
104
+ console.log(JSON.stringify(output, null, 2));
105
+ }
106
+ else {
107
+ console.error(chalk_1.default.red('\nError: ' + output.error));
108
+ }
109
+ process.exit(1);
110
+ }
111
+ }
112
+ //# sourceMappingURL=claim.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claim.js","sourceRoot":"","sources":["../../src/commands/claim.ts"],"names":[],"mappings":";;;;;AAaA,oCAoGC;AAjHD,+BAAiF;AACjF,4CAAoD;AACpD,wCAAmC;AACnC,kDAA0B;AAC1B,8CAAsB;AACtB,4CAA4D;AAC5D,wCAAgD;AAOzC,KAAK,UAAU,YAAY,CAAC,OAAqB;IACtD,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;IAC5B,MAAM,UAAU,GAAG,IAAA,sBAAa,GAAE,CAAC;IAEnC,MAAM,MAAM,GAAQ;QAClB,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE;YACN,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB;KACF,CAAC;IAEF,uBAAuB;IACvB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,CAAC,KAAK,GAAG,8DAA8D,CAAC;QAC9E,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC,CAAC;QAClG,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,8BAAmB,EAAC,UAA2B,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,IAAA,yBAAkB,EAAC;QACtC,KAAK,EAAE,aAAI;QACX,SAAS,EAAE,IAAA,WAAI,EAAC,MAAM,CAAC,MAAM,CAAC;KAC/B,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,IAAA,yBAAkB,EAAC;QACtC,OAAO;QACP,KAAK,EAAE,aAAI;QACX,SAAS,EAAE,IAAA,WAAI,EAAC,MAAM,CAAC,MAAM,CAAC;KAC/B,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,aAAG,EAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;IAExE,IAAI,CAAC;QACH,0BAA0B;QAC1B,IAAI,OAAO;YAAE,OAAO,CAAC,IAAI,GAAG,+BAA+B,CAAC;QAE5D,MAAM,gBAAgB,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC;YACvD,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,UAA2B;YACrD,GAAG,EAAE,sBAAe;YACpB,YAAY,EAAE,WAAW;YACzB,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAsB,CAAC;SACxD,CAAW,CAAC;QAEb,IAAI,gBAAgB,KAAK,EAAE,EAAE,CAAC;YAC5B,MAAM,CAAC,KAAK,GAAG,4CAA4C,CAAC;YAC5D,IAAI,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,OAAO,CAAC,IAAI;gBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,aAAa;QACb,IAAI,OAAO;YAAE,OAAO,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAE/C,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC;YACjD,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,UAA2B;YACrD,GAAG,EAAE,sBAAe;YACpB,YAAY,EAAE,gBAAgB;YAC9B,IAAI,EAAE,CAAC,OAAO,CAAC,KAAsB,CAAC;SACvC,CAAC,CAAC;QAEH,IAAI,OAAO;YAAE,OAAO,CAAC,IAAI,GAAG,6BAA6B,CAAC;QAE1D,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAElF,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,MAAM,CAAC,MAAM,GAAG;YACd,eAAe,EAAE,SAAS;YAC1B,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE;YAC3C,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;YACnC,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE;YACnC,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC;QAEF,IAAI,OAAO;YAAE,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAE3D,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,IAAA,kBAAW,EAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC;YAClF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,6CAA6C,SAAS,EAAE,CAAC,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,IAAI,wBAAwB,CAAC;QACzD,IAAI,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.configCommand = configCommand;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const config_1 = require("../utils/config");
9
+ async function configCommand(options) {
10
+ const config = (0, config_1.loadConfig)();
11
+ if (options.show) {
12
+ console.log('\n' + chalk_1.default.bold.cyan('Clawkr CLI Configuration'));
13
+ console.log(chalk_1.default.gray('═'.repeat(60)));
14
+ console.log(chalk_1.default.white('RPC URL: ') + config.rpcUrl);
15
+ console.log(chalk_1.default.white('Chain ID: ') + config.chainId);
16
+ console.log(chalk_1.default.gray('─'.repeat(60)));
17
+ console.log(chalk_1.default.bold('Contract Addresses (V4)'));
18
+ console.log(chalk_1.default.gray('─'.repeat(60)));
19
+ console.log(chalk_1.default.white('Agent Registry: ') + chalk_1.default.cyan(config.contracts.agentRegistry));
20
+ console.log(chalk_1.default.white('Clawkr Hook: ') + chalk_1.default.cyan(config.contracts.clawkrHook));
21
+ console.log(chalk_1.default.white('Fair Launch: ') + chalk_1.default.cyan(config.contracts.fairLaunch));
22
+ console.log(chalk_1.default.white('Market Cap Price: ') + chalk_1.default.cyan(config.contracts.marketCapPrice));
23
+ console.log(chalk_1.default.gray('═'.repeat(60)));
24
+ console.log(chalk_1.default.gray('\nConfig file: ~/.clawkr/config.json'));
25
+ console.log(chalk_1.default.gray('Private key: Set via PRIVATE_KEY environment variable'));
26
+ return;
27
+ }
28
+ let updated = false;
29
+ if (options.rpc) {
30
+ (0, config_1.saveConfig)({ rpcUrl: options.rpc });
31
+ console.log(chalk_1.default.green('✓') + ' RPC URL updated');
32
+ updated = true;
33
+ }
34
+ if (options.privateKey) {
35
+ console.log(chalk_1.default.yellow('⚠ Warning: Storing private key in config is not recommended.'));
36
+ console.log(chalk_1.default.yellow(' Use the PRIVATE_KEY environment variable instead.'));
37
+ // We don't actually save the private key to the config file for security
38
+ // Just warn the user
39
+ }
40
+ if (!updated && !options.show) {
41
+ console.log(chalk_1.default.gray('No configuration changes made.'));
42
+ console.log(chalk_1.default.gray('Use --show to view current configuration.'));
43
+ console.log(chalk_1.default.gray('Use --rpc <url> to set RPC URL.'));
44
+ }
45
+ }
46
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}