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 +39 -0
- package/README.md +219 -0
- package/dist/commands/claim.js +112 -0
- package/dist/commands/claim.js.map +1 -0
- package/dist/commands/config.js +46 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/launch.js +328 -0
- package/dist/commands/launch.js.map +1 -0
- package/dist/commands/register.js +107 -0
- package/dist/commands/register.js.map +1 -0
- package/dist/commands/status.js +155 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/verify.js +172 -0
- package/dist/commands/verify.js.map +1 -0
- package/dist/index.js +78 -0
- package/dist/index.js.map +1 -0
- package/dist/templates/token-landing.html +436 -0
- package/dist/utils/abis.js +242 -0
- package/dist/utils/abis.js.map +1 -0
- package/dist/utils/basescan.js +252 -0
- package/dist/utils/basescan.js.map +1 -0
- package/dist/utils/config.js +103 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/contract-sources.js +817 -0
- package/dist/utils/contract-sources.js.map +1 -0
- package/dist/utils/wallet.js +116 -0
- package/dist/utils/wallet.js.map +1 -0
- package/package.json +62 -0
|
@@ -0,0 +1,172 @@
|
|
|
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.verifyCommand = verifyCommand;
|
|
7
|
+
const accounts_1 = require("viem/accounts");
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const ora_1 = __importDefault(require("ora"));
|
|
10
|
+
const config_1 = require("../utils/config");
|
|
11
|
+
const basescan_1 = require("../utils/basescan");
|
|
12
|
+
async function verifyCommand(options) {
|
|
13
|
+
const config = (0, config_1.loadConfig)();
|
|
14
|
+
// JSON output object
|
|
15
|
+
const output = {
|
|
16
|
+
success: false,
|
|
17
|
+
command: 'verify',
|
|
18
|
+
params: {
|
|
19
|
+
contractAddress: options.contractAddress,
|
|
20
|
+
agentAddress: options.agent || null,
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
// Get BaseScan API key
|
|
24
|
+
const basescanApiKey = process.env.BASESCAN_API_KEY;
|
|
25
|
+
if (!basescanApiKey) {
|
|
26
|
+
output.error = 'BASESCAN_API_KEY not found. Set it in environment or config file.';
|
|
27
|
+
if (options.json) {
|
|
28
|
+
console.log(JSON.stringify(output, null, 2));
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
console.error(chalk_1.default.red('Error: BASESCAN_API_KEY not found.'));
|
|
32
|
+
console.error(chalk_1.default.gray('\nSet the API key:'));
|
|
33
|
+
console.error(chalk_1.default.gray(' export BASESCAN_API_KEY=your_api_key_here'));
|
|
34
|
+
console.error(chalk_1.default.gray('\nOr add it to cli/.env file'));
|
|
35
|
+
}
|
|
36
|
+
process.exit(1);
|
|
37
|
+
}
|
|
38
|
+
// Get agent address
|
|
39
|
+
let agentAddress;
|
|
40
|
+
if (options.agent) {
|
|
41
|
+
// Use provided agent address
|
|
42
|
+
agentAddress = options.agent;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
// Get agent address from private key
|
|
46
|
+
const privateKey = (0, config_1.getPrivateKey)();
|
|
47
|
+
if (!privateKey) {
|
|
48
|
+
output.error = 'Private key not found. Set PRIVATE_KEY environment variable or use --agent flag.';
|
|
49
|
+
if (options.json) {
|
|
50
|
+
console.log(JSON.stringify(output, null, 2));
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
console.error(chalk_1.default.red('Error: Private key not found.'));
|
|
54
|
+
console.error(chalk_1.default.gray('\nOptions:'));
|
|
55
|
+
console.error(chalk_1.default.gray(' 1. Set PRIVATE_KEY environment variable'));
|
|
56
|
+
console.error(chalk_1.default.gray(' 2. Use --agent flag to specify agent address manually'));
|
|
57
|
+
}
|
|
58
|
+
process.exit(1);
|
|
59
|
+
}
|
|
60
|
+
const account = (0, accounts_1.privateKeyToAccount)(privateKey);
|
|
61
|
+
agentAddress = account.address;
|
|
62
|
+
}
|
|
63
|
+
output.params.agentAddress = agentAddress;
|
|
64
|
+
const spinner = options.json ? null : (0, ora_1.default)('Verifying contract on BaseScan...').start();
|
|
65
|
+
try {
|
|
66
|
+
// Verify the contract with 60 second timeout (longer than auto-verification)
|
|
67
|
+
if (spinner)
|
|
68
|
+
spinner.text = 'Submitting verification request to BaseScan...';
|
|
69
|
+
const verificationResult = await (0, basescan_1.verifyTokenContract)({
|
|
70
|
+
contractAddress: options.contractAddress,
|
|
71
|
+
agentAddress,
|
|
72
|
+
hookAddress: config.contracts.clawkrHook,
|
|
73
|
+
basescanApiKey,
|
|
74
|
+
}, 60 // 60 second timeout for manual verification
|
|
75
|
+
);
|
|
76
|
+
// Build output
|
|
77
|
+
output.success = verificationResult.success;
|
|
78
|
+
output.verification = {
|
|
79
|
+
status: verificationResult.status,
|
|
80
|
+
guid: verificationResult.guid,
|
|
81
|
+
result: verificationResult.result,
|
|
82
|
+
error: verificationResult.error,
|
|
83
|
+
};
|
|
84
|
+
if (verificationResult.success) {
|
|
85
|
+
if (spinner)
|
|
86
|
+
spinner.succeed('Contract verified successfully!');
|
|
87
|
+
if (options.json) {
|
|
88
|
+
console.log(JSON.stringify(output, null, 2));
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
console.log('\n' + chalk_1.default.green.bold('Contract Verified Successfully!'));
|
|
92
|
+
console.log(chalk_1.default.gray('═'.repeat(50)));
|
|
93
|
+
console.log(chalk_1.default.white('Contract Address: ') + chalk_1.default.cyan(options.contractAddress));
|
|
94
|
+
console.log(chalk_1.default.white('Agent Address: ') + chalk_1.default.gray(agentAddress));
|
|
95
|
+
console.log(chalk_1.default.white('Hook Address: ') + chalk_1.default.gray(config.contracts.clawkrHook));
|
|
96
|
+
console.log(chalk_1.default.gray('─'.repeat(50)));
|
|
97
|
+
console.log(chalk_1.default.white('Status: ') + chalk_1.default.green('✓ Verified'));
|
|
98
|
+
console.log(chalk_1.default.white('GUID: ') + chalk_1.default.gray(verificationResult.guid || 'N/A'));
|
|
99
|
+
console.log(chalk_1.default.gray('═'.repeat(50)));
|
|
100
|
+
console.log(chalk_1.default.bold('\nView on BaseScan:'));
|
|
101
|
+
console.log(chalk_1.default.cyan(` https://basescan.org/address/${options.contractAddress}#code`));
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
else if (verificationResult.status === 'pending') {
|
|
105
|
+
// Still pending after timeout
|
|
106
|
+
if (spinner)
|
|
107
|
+
spinner.warn('Verification timeout - still processing');
|
|
108
|
+
output.error = 'Verification timeout - check BaseScan manually or retry later';
|
|
109
|
+
if (options.json) {
|
|
110
|
+
console.log(JSON.stringify(output, null, 2));
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
console.log('\n' + chalk_1.default.yellow.bold('Verification Timeout'));
|
|
114
|
+
console.log(chalk_1.default.gray('═'.repeat(50)));
|
|
115
|
+
console.log(chalk_1.default.white('Contract Address: ') + chalk_1.default.cyan(options.contractAddress));
|
|
116
|
+
console.log(chalk_1.default.gray('─'.repeat(50)));
|
|
117
|
+
console.log(chalk_1.default.white('Status: ') + chalk_1.default.yellow('⏳ Still Processing'));
|
|
118
|
+
console.log(chalk_1.default.white('GUID: ') + chalk_1.default.gray(verificationResult.guid || 'N/A'));
|
|
119
|
+
console.log(chalk_1.default.gray('═'.repeat(50)));
|
|
120
|
+
console.log(chalk_1.default.yellow('\nVerification is still processing on BaseScan.'));
|
|
121
|
+
console.log(chalk_1.default.gray('Check status manually or retry in a few minutes:'));
|
|
122
|
+
console.log(chalk_1.default.cyan(` https://basescan.org/address/${options.contractAddress}#code`));
|
|
123
|
+
console.log(chalk_1.default.gray('\nRetry command:'));
|
|
124
|
+
console.log(chalk_1.default.cyan(` clawkr verify ${options.contractAddress}`));
|
|
125
|
+
}
|
|
126
|
+
process.exit(1);
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
// Failed
|
|
130
|
+
if (spinner)
|
|
131
|
+
spinner.fail('Verification failed');
|
|
132
|
+
output.error = verificationResult.error || 'Verification failed';
|
|
133
|
+
if (options.json) {
|
|
134
|
+
console.log(JSON.stringify(output, null, 2));
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
console.log('\n' + chalk_1.default.red.bold('Verification Failed'));
|
|
138
|
+
console.log(chalk_1.default.gray('═'.repeat(50)));
|
|
139
|
+
console.log(chalk_1.default.white('Contract Address: ') + chalk_1.default.cyan(options.contractAddress));
|
|
140
|
+
console.log(chalk_1.default.gray('─'.repeat(50)));
|
|
141
|
+
console.log(chalk_1.default.white('Status: ') + chalk_1.default.red('✗ Failed'));
|
|
142
|
+
console.log(chalk_1.default.white('Error: ') + chalk_1.default.red(verificationResult.error || 'Unknown error'));
|
|
143
|
+
if (verificationResult.guid) {
|
|
144
|
+
console.log(chalk_1.default.white('GUID: ') + chalk_1.default.gray(verificationResult.guid));
|
|
145
|
+
}
|
|
146
|
+
console.log(chalk_1.default.gray('═'.repeat(50)));
|
|
147
|
+
console.log(chalk_1.default.yellow('\nPossible reasons:'));
|
|
148
|
+
console.log(chalk_1.default.gray(' • Contract already verified'));
|
|
149
|
+
console.log(chalk_1.default.gray(' • Constructor arguments mismatch'));
|
|
150
|
+
console.log(chalk_1.default.gray(' • Compiler settings mismatch'));
|
|
151
|
+
console.log(chalk_1.default.gray(' • Wrong agent or hook address'));
|
|
152
|
+
console.log(chalk_1.default.gray('\nCheck BaseScan for details:'));
|
|
153
|
+
console.log(chalk_1.default.cyan(` https://basescan.org/address/${options.contractAddress}#code`));
|
|
154
|
+
}
|
|
155
|
+
process.exit(1);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
catch (error) {
|
|
159
|
+
output.error = error.message || 'Unknown verification error';
|
|
160
|
+
if (spinner)
|
|
161
|
+
spinner.fail('Verification error');
|
|
162
|
+
if (options.json) {
|
|
163
|
+
console.log(JSON.stringify(output, null, 2));
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
console.error(chalk_1.default.red('\nError: ' + output.error));
|
|
167
|
+
console.error(chalk_1.default.gray('\nCheck your inputs and try again.'));
|
|
168
|
+
}
|
|
169
|
+
process.exit(1);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=verify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
const commander_1 = require("commander");
|
|
5
|
+
const register_1 = require("./commands/register");
|
|
6
|
+
const launch_1 = require("./commands/launch");
|
|
7
|
+
const status_1 = require("./commands/status");
|
|
8
|
+
const claim_1 = require("./commands/claim");
|
|
9
|
+
const verify_1 = require("./commands/verify");
|
|
10
|
+
const config_1 = require("./commands/config");
|
|
11
|
+
const program = new commander_1.Command();
|
|
12
|
+
program
|
|
13
|
+
.name('clawkr')
|
|
14
|
+
.description('CLI for AI agents to launch tokens on Clawkr')
|
|
15
|
+
.version('1.1.0');
|
|
16
|
+
// Register as an agent (free, no gas required)
|
|
17
|
+
program
|
|
18
|
+
.command('register')
|
|
19
|
+
.description('Register as an AI agent (FREE - no gas fees, instant activation)')
|
|
20
|
+
.option('--name <name>', 'Agent name (optional)')
|
|
21
|
+
.option('--description <text>', 'Agent description (optional)')
|
|
22
|
+
.option('--json', 'Output result as JSON', false)
|
|
23
|
+
.action(register_1.registerCommand);
|
|
24
|
+
// Launch a new token
|
|
25
|
+
program
|
|
26
|
+
.command('launch')
|
|
27
|
+
.description('Launch a new token with Uniswap V4 liquidity')
|
|
28
|
+
.requiredOption('--name <name>', 'Token name')
|
|
29
|
+
.requiredOption('--symbol <symbol>', 'Token symbol')
|
|
30
|
+
.option('--description <text>', 'Token description (optional - will be stored in metadata)')
|
|
31
|
+
.option('--website <url>', 'Token website URL (optional - will be stored in metadata)')
|
|
32
|
+
.option('--x <url>', 'X (Twitter) profile URL (optional - will be stored in metadata)')
|
|
33
|
+
.option('--image <path>', 'Path to token image (for local reference only - use --token-uri for metadata)')
|
|
34
|
+
.option('--token-uri <uri>', 'Token metadata URI (data URI or external URL) - use instead of --image if already prepared')
|
|
35
|
+
.option('--market-cap <eth>', 'Initial market cap in ETH (default: 1 ETH)', '1')
|
|
36
|
+
.option('--fair-launch-duration <seconds>', 'Fair launch duration in seconds (default: 300)')
|
|
37
|
+
.option('--json', 'Output result as JSON', false)
|
|
38
|
+
.option('--dry-run', 'Simulate the transaction without executing', false)
|
|
39
|
+
.action(launch_1.launchCommand);
|
|
40
|
+
// Check status of a token or vault
|
|
41
|
+
program
|
|
42
|
+
.command('status')
|
|
43
|
+
.description('Get status of a launched token')
|
|
44
|
+
.requiredOption('--token <address>', 'Token contract address')
|
|
45
|
+
.option('--json', 'Output result as JSON', false)
|
|
46
|
+
.action(status_1.statusCommand);
|
|
47
|
+
// Claim trading fees
|
|
48
|
+
program
|
|
49
|
+
.command('claim')
|
|
50
|
+
.description('Claim accumulated trading fees from a vault')
|
|
51
|
+
.requiredOption('--token <address>', 'Token contract address')
|
|
52
|
+
.requiredOption('--asset <asset>', 'Asset to claim (weth or token)')
|
|
53
|
+
.option('--json', 'Output result as JSON', false)
|
|
54
|
+
.action(claim_1.claimCommand);
|
|
55
|
+
// Verify contract on BaseScan
|
|
56
|
+
program
|
|
57
|
+
.command('verify')
|
|
58
|
+
.description('Verify a ClawkrToken contract on BaseScan')
|
|
59
|
+
.requiredOption('--contract <address>', 'Token contract address to verify')
|
|
60
|
+
.option('--agent <address>', 'Agent address (will use PRIVATE_KEY if not provided)')
|
|
61
|
+
.option('--json', 'Output result as JSON', false)
|
|
62
|
+
.action((options) => {
|
|
63
|
+
(0, verify_1.verifyCommand)({
|
|
64
|
+
contractAddress: options.contract,
|
|
65
|
+
agent: options.agent,
|
|
66
|
+
json: options.json,
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
// Configure CLI
|
|
70
|
+
program
|
|
71
|
+
.command('config')
|
|
72
|
+
.description('Configure CLI settings')
|
|
73
|
+
.option('--rpc <url>', 'Set RPC URL')
|
|
74
|
+
.option('--private-key <key>', 'Set private key (not recommended, use env var instead)')
|
|
75
|
+
.option('--show', 'Show current configuration', false)
|
|
76
|
+
.action(config_1.configCommand);
|
|
77
|
+
program.parse(process.argv);
|
|
78
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|