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 @@
|
|
|
1
|
+
{"version":3,"file":"contract-sources.js","sourceRoot":"","sources":["../../src/utils/contract-sources.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEU,QAAA,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsvBlC,CAAC;AAEF;;;;;GAKG;AACU,QAAA,gBAAgB,GAAG,yBAAyB,CAAC;AAE1D;;GAEG;AACU,QAAA,iBAAiB,GAAG,GAAG,CAAC;AAErC;;GAEG;AACU,QAAA,WAAW,GAAG,QAAQ,CAAC;AAEpC;;GAEG;AACU,QAAA,aAAa,GAAG,aAAa,CAAC;AAE3C;;;GAGG;AACU,QAAA,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC;IAChD,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE;QACP,iBAAiB,EAAE;YACjB,OAAO,EAAE,2BAAmB;SAC7B;KACF;IACD,QAAQ,EAAE;QACR,SAAS,EAAE;YACT,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,yBAAiB;SACxB;QACD,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,mBAAW;QACvB,eAAe,EAAE;YACf,GAAG,EAAE;gBACH,GAAG,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,uBAAuB,CAAC;gBAC7E,EAAE,EAAE,CAAC,KAAK,CAAC;aACZ;SACF;KACF;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.loadWallet = loadWallet;
|
|
37
|
+
exports.createWallet = createWallet;
|
|
38
|
+
exports.loadOrCreateWallet = loadOrCreateWallet;
|
|
39
|
+
exports.getWalletFilePath = getWalletFilePath;
|
|
40
|
+
exports.walletExists = walletExists;
|
|
41
|
+
const fs = __importStar(require("fs"));
|
|
42
|
+
const path = __importStar(require("path"));
|
|
43
|
+
const os = __importStar(require("os"));
|
|
44
|
+
const ethers_1 = require("ethers");
|
|
45
|
+
const CONFIG_DIR = path.join(os.homedir(), '.clawkr');
|
|
46
|
+
const WALLET_FILE = path.join(CONFIG_DIR, 'wallet.json');
|
|
47
|
+
/**
|
|
48
|
+
* Ensure the config directory exists
|
|
49
|
+
*/
|
|
50
|
+
function ensureConfigDir() {
|
|
51
|
+
if (!fs.existsSync(CONFIG_DIR)) {
|
|
52
|
+
fs.mkdirSync(CONFIG_DIR, { recursive: true, mode: 0o700 });
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Load existing wallet from ~/.clawkr/wallet.json
|
|
57
|
+
*/
|
|
58
|
+
function loadWallet() {
|
|
59
|
+
if (!fs.existsSync(WALLET_FILE)) {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
try {
|
|
63
|
+
const data = fs.readFileSync(WALLET_FILE, 'utf-8');
|
|
64
|
+
const wallet = JSON.parse(data);
|
|
65
|
+
// Validate wallet data
|
|
66
|
+
if (!wallet.address || !wallet.privateKey) {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
return wallet;
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Create a new wallet and save to ~/.clawkr/wallet.json
|
|
77
|
+
* Uses restricted permissions (0o600) for security
|
|
78
|
+
*/
|
|
79
|
+
function createWallet() {
|
|
80
|
+
ensureConfigDir();
|
|
81
|
+
// Generate random wallet using ethers.js
|
|
82
|
+
const wallet = ethers_1.ethers.Wallet.createRandom();
|
|
83
|
+
const walletData = {
|
|
84
|
+
address: wallet.address,
|
|
85
|
+
privateKey: wallet.privateKey,
|
|
86
|
+
createdAt: new Date().toISOString(),
|
|
87
|
+
};
|
|
88
|
+
// Save with restricted permissions (owner read/write only)
|
|
89
|
+
fs.writeFileSync(WALLET_FILE, JSON.stringify(walletData, null, 2), { mode: 0o600 });
|
|
90
|
+
return walletData;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Load existing wallet or create a new one
|
|
94
|
+
* Returns the wallet data and whether it was newly created
|
|
95
|
+
*/
|
|
96
|
+
function loadOrCreateWallet() {
|
|
97
|
+
const existing = loadWallet();
|
|
98
|
+
if (existing) {
|
|
99
|
+
return { wallet: existing, isNew: false };
|
|
100
|
+
}
|
|
101
|
+
const wallet = createWallet();
|
|
102
|
+
return { wallet, isNew: true };
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Get the wallet file path (for display purposes)
|
|
106
|
+
*/
|
|
107
|
+
function getWalletFilePath() {
|
|
108
|
+
return WALLET_FILE;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Check if a wallet file exists
|
|
112
|
+
*/
|
|
113
|
+
function walletExists() {
|
|
114
|
+
return fs.existsSync(WALLET_FILE);
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=wallet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/utils/wallet.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,gCAkBC;AAMD,oCAgBC;AAMD,gDASC;AAKD,8CAEC;AAKD,oCAEC;AApGD,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,mCAAgC;AAEhC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AACtD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAazD;;GAEG;AACH,SAAS,eAAe;IACtB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU;IACxB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAe,CAAC;QAE9C,uBAAuB;QACvB,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,YAAY;IAC1B,eAAe,EAAE,CAAC;IAElB,yCAAyC;IACzC,MAAM,MAAM,GAAG,eAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IAE5C,MAAM,UAAU,GAAe;QAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;IAEF,2DAA2D;IAC3D,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAEpF,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,SAAgB,kBAAkB;IAChC,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;IAE9B,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY;IAC1B,OAAO,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AACpC,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "clawkr-cli",
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "CLI tool for AI agents to launch tokens on Base blockchain via Clawkr platform. Features: free registration, automated token deployment with Uniswap V3 liquidity, and automatic contract verification.",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"clawkr": "./dist/index.js"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"build": "tsc && cp -r src/templates dist/",
|
|
11
|
+
"dev": "ts-node src/index.ts",
|
|
12
|
+
"start": "node dist/index.js",
|
|
13
|
+
"prepublishOnly": "npm run build"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [
|
|
16
|
+
"clawkr",
|
|
17
|
+
"cli",
|
|
18
|
+
"blockchain",
|
|
19
|
+
"base",
|
|
20
|
+
"uniswap",
|
|
21
|
+
"ai-agents",
|
|
22
|
+
"token-factory",
|
|
23
|
+
"cryptocurrency",
|
|
24
|
+
"web3",
|
|
25
|
+
"erc20",
|
|
26
|
+
"defi"
|
|
27
|
+
],
|
|
28
|
+
"author": "Clawkr",
|
|
29
|
+
"license": "MIT",
|
|
30
|
+
"homepage": "https://clawkr.com",
|
|
31
|
+
"repository": {
|
|
32
|
+
"type": "git",
|
|
33
|
+
"url": "https://github.com/clawkr/clawkr"
|
|
34
|
+
},
|
|
35
|
+
"bugs": {
|
|
36
|
+
"url": "https://github.com/clawkr/clawkr/issues"
|
|
37
|
+
},
|
|
38
|
+
"files": [
|
|
39
|
+
"dist",
|
|
40
|
+
".env.example",
|
|
41
|
+
"README.md"
|
|
42
|
+
],
|
|
43
|
+
"type": "commonjs",
|
|
44
|
+
"dependencies": {
|
|
45
|
+
"axios": "^1.7.9",
|
|
46
|
+
"chalk": "^4.1.2",
|
|
47
|
+
"commander": "^14.0.3",
|
|
48
|
+
"dotenv": "^17.2.3",
|
|
49
|
+
"ethers": "^6.16.0",
|
|
50
|
+
"form-data": "^4.0.1",
|
|
51
|
+
"ora": "^5.4.1",
|
|
52
|
+
"viem": "^2.45.1"
|
|
53
|
+
},
|
|
54
|
+
"devDependencies": {
|
|
55
|
+
"@types/node": "^25.2.0",
|
|
56
|
+
"ts-node": "^10.9.2",
|
|
57
|
+
"typescript": "^5.9.3"
|
|
58
|
+
},
|
|
59
|
+
"engines": {
|
|
60
|
+
"node": ">=18.0.0"
|
|
61
|
+
}
|
|
62
|
+
}
|