clawcontract 0.1.1 → 0.1.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/README.md CHANGED
@@ -30,16 +30,6 @@ pnpm install
30
30
  pnpm run build
31
31
  ```
32
32
 
33
- Then set up your environment:
34
-
35
- ```bash
36
- clawcontract setup
37
- clawcontract setup --openrouter-key sk-or-... --bscscan-key ABC123
38
- clawcontract setup --private-key 0xabc... --openrouter-key sk-or-... --openrouter-model anthropic/claude-sonnet-4-20250514
39
- ```
40
-
41
- This writes a `.env` file non-interactively. If `--private-key` is not provided, `PRIVATE_KEY` is left empty — no key is auto-generated.
42
-
43
33
  ## Usage
44
34
 
45
35
  ### Generate a contract
@@ -195,20 +185,16 @@ ClawContract ships with an [OpenClaw skill](src/openclaw/SKILL.md) that teaches
195
185
 
196
186
  ## Configuration
197
187
 
198
- Run `clawcontract setup` to generate a `.env` file, or copy the example and fill in manually:
199
-
200
- ```bash
201
- cp .env.example .env
202
- ```
188
+ Environment variables are configured via `docker-compose.yml` or set directly in your environment.
203
189
 
204
190
  | Variable | Description | Required |
205
191
  |---|---|---|
206
- | `PRIVATE_KEY` | Wallet private key for deployment (required for deploy/full) | Yes (for deploy) |
207
- | `OPENROUTER_API_KEY` | OpenRouter API key for AI contract generation | Yes |
208
- | `OPENROUTER_MODEL` | OpenRouter model (default: `anthropic/claude-sonnet-4-20250514`) | No |
209
- | `BSCSCAN_API_KEY` | BscScan / opBNBScan API key for contract verification | No |
192
+ | `CLAWCONTRACT_PRIVATE_KEY` | Wallet private key for deployment (required for deploy/full) | Yes (for deploy) |
193
+ | `CLAWCONTRACT_OPENROUTER_API_KEY` | OpenRouter API key for AI contract generation | Yes |
194
+ | `CLAWCONTRACT_OPENROUTER_MODEL` | OpenRouter model (default: `anthropic/claude-sonnet-4-20250514`) | No |
195
+ | `CLAWCONTRACT_BSCSCAN_API_KEY` | BscScan / opBNBScan API key for contract verification | No |
210
196
 
211
- > **Security:** Never commit your `.env` file. The `.env.example` file is provided as a reference.
197
+ > **Security:** Never commit secrets to version control. When using Docker, set values in `docker-compose.yml` or pass them via environment variables.
212
198
 
213
199
  > **Data:** Deployment metadata is saved to `contracts/.deployments/` using a directory-based store with deduplicated ABIs and an index for fast lookups. Legacy `.deployments.json` files are auto-migrated on first access. This directory is local and should not be committed.
214
200
 
package/dist/cli/index.js CHANGED
@@ -9,7 +9,6 @@ import { deployCommand } from './commands/deploy.js';
9
9
  import { verifyCommand } from './commands/verify.js';
10
10
  import { fullCommand } from './commands/full.js';
11
11
  import { interactCommand } from './commands/interact.js';
12
- import { setupCommand } from './commands/setup.js';
13
12
  import { listCommand } from './commands/list.js';
14
13
  import { deleteCommand } from './commands/delete.js';
15
14
  const require = createRequire(import.meta.url);
@@ -70,21 +69,6 @@ program
70
69
  const opts = program.opts();
71
70
  await interactCommand(address, fn, args, { chain: opts.chain, file: cmdOpts.file, value: cmdOpts.value });
72
71
  });
73
- program
74
- .command('setup')
75
- .description('Generate .env file non-interactively (flags or env vars, auto-generates wallet if needed)')
76
- .option('--private-key <key>', 'wallet private key')
77
- .option('--openrouter-key <key>', 'OpenRouter API key')
78
- .option('--openrouter-model <model>', 'OpenRouter model')
79
- .option('--bscscan-key <key>', 'BscScan API key')
80
- .action((opts) => {
81
- setupCommand({
82
- privateKey: opts.privateKey,
83
- openrouterKey: opts.openrouterKey,
84
- openrouterModel: opts.openrouterModel,
85
- bscscanKey: opts.bscscanKey,
86
- });
87
- });
88
72
  program
89
73
  .command('list')
90
74
  .description('List all stored deployment records')
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { ethers } from 'ethers';
2
2
  export function resolvePrivateKey() {
3
- const envKey = process.env.PRIVATE_KEY;
3
+ const envKey = process.env.CLAWCONTRACT_PRIVATE_KEY;
4
4
  if (envKey && envKey.trim()) {
5
5
  return envKey.startsWith('0x') ? envKey : `0x${envKey}`;
6
6
  }
7
- throw new Error('No PRIVATE_KEY found. Set PRIVATE_KEY in your environment or .env file, or run: clawcontract setup --private-key <key>');
7
+ throw new Error('No CLAWCONTRACT_PRIVATE_KEY found. Set CLAWCONTRACT_PRIVATE_KEY in your environment.');
8
8
  }
9
9
  export function getWalletInfo(privateKey) {
10
10
  const normalized = privateKey.startsWith('0x') ? privateKey : `0x${privateKey}`;
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/deployer/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,UAAU,iBAAiB;IAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACvC,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;IAC1D,CAAC;IAED,MAAM,IAAI,KAAK,CACb,wHAAwH,CACzH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,UAAkB;IAC9C,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;IAChF,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/deployer/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,UAAU,iBAAiB;IAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;IACpD,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;IAC1D,CAAC;IAED,MAAM,IAAI,KAAK,CACb,sFAAsF,CACvF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,UAAkB;IAC9C,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;IAChF,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AAC7D,CAAC"}
@@ -16,7 +16,7 @@ export async function generateContract(options) {
16
16
  }
17
17
  else {
18
18
  throw new Error("AI generation is unavailable. " +
19
- "Set the OPENROUTER_API_KEY environment variable to enable contract generation.");
19
+ "Set the CLAWCONTRACT_OPENROUTER_API_KEY environment variable to enable contract generation.");
20
20
  }
21
21
  await ensureOutputDir(outputDir);
22
22
  const contractName = extractContractName(source);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,SAAS,EACT,qBAAqB,EACrB,YAAY,GACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAgBrG,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAwB;IAExB,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAElD,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;IAC9B,MAAM,WAAW,GAAG,KAAK,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;IAE/C,IAAI,MAAc,CAAC;IACnB,IAAI,YAAY,GAAkB,IAAI,CAAC;IACvC,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACjD,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,gCAAgC;YAC9B,gFAAgF,CACnF,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,CAAC,SAAS,CAAC,CAAC;IAEjC,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAEpE,OAAO;QACL,QAAQ;QACR,YAAY;QACZ,MAAM;QACN,YAAY;QACZ,WAAW;KACZ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,SAAS,EACT,qBAAqB,EACrB,YAAY,GACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAgBrG,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAwB;IAExB,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAElD,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;IAC9B,MAAM,WAAW,GAAG,KAAK,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;IAE/C,IAAI,MAAc,CAAC;IACnB,IAAI,YAAY,GAAkB,IAAI,CAAC;IACvC,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACjD,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,gCAAgC;YAC9B,6FAA6F,CAChG,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,CAAC,SAAS,CAAC,CAAC;IAEjC,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAEpE,OAAO;QACL,QAAQ;QACR,YAAY;QACZ,MAAM;QACN,YAAY;QACZ,WAAW;KACZ,CAAC;AACJ,CAAC"}
@@ -5,7 +5,7 @@ Follow these rules strictly:
5
5
  - Ensure compatibility with BSC and opBNB (EVM-compatible)
6
6
  - Always include an SPDX license identifier comment at the top (e.g., // SPDX-License-Identifier: MIT)
7
7
  - Return ONLY the Solidity source code, no markdown fences, no explanations`;
8
- const OPENROUTER_MODEL = process.env.OPENROUTER_MODEL || "anthropic/claude-sonnet-4-20250514";
8
+ const OPENROUTER_MODEL = process.env.CLAWCONTRACT_OPENROUTER_MODEL || "anthropic/claude-sonnet-4-20250514";
9
9
  const MAX_TOKENS = 4096;
10
10
  function stripMarkdownFences(text) {
11
11
  return text.replace(/^```(?:solidity)?\n?/m, "").replace(/\n?```\s*$/m, "").trim();
@@ -57,12 +57,12 @@ function createOpenRouterClient(apiKey) {
57
57
  const NULL_CLIENT = {
58
58
  isAvailable: () => false,
59
59
  provider: () => null,
60
- customizeContract: () => { throw new Error("No LLM API key configured. Set OPENROUTER_API_KEY."); },
61
- generateContract: () => { throw new Error("No LLM API key configured. Set OPENROUTER_API_KEY."); },
62
- suggestFixes: () => { throw new Error("No LLM API key configured. Set OPENROUTER_API_KEY."); },
60
+ customizeContract: () => { throw new Error("No LLM API key configured. Set CLAWCONTRACT_OPENROUTER_API_KEY."); },
61
+ generateContract: () => { throw new Error("No LLM API key configured. Set CLAWCONTRACT_OPENROUTER_API_KEY."); },
62
+ suggestFixes: () => { throw new Error("No LLM API key configured. Set CLAWCONTRACT_OPENROUTER_API_KEY."); },
63
63
  };
64
64
  export function createLLMClient() {
65
- const openrouterKey = process.env.OPENROUTER_API_KEY;
65
+ const openrouterKey = process.env.CLAWCONTRACT_OPENROUTER_API_KEY;
66
66
  if (openrouterKey) {
67
67
  return createOpenRouterClient(openrouterKey);
68
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/generator/llm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/generator/llm.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,9 @@ const SUBMIT_MAX_RETRIES = 5;
8
8
  const SUBMIT_INITIAL_DELAY_MS = 5_000;
9
9
  export async function submitVerification(options) {
10
10
  const chain = getChain(options.chainKey);
11
- const apiKey = process.env['BSCSCAN_API_KEY'];
11
+ const apiKey = process.env['CLAWCONTRACT_BSCSCAN_API_KEY'];
12
12
  if (!apiKey) {
13
- throw new Error('BSCSCAN_API_KEY environment variable is not set');
13
+ throw new Error('CLAWCONTRACT_BSCSCAN_API_KEY environment variable is not set');
14
14
  }
15
15
  const params = new URLSearchParams({
16
16
  module: 'contract',
@@ -53,9 +53,9 @@ export async function submitVerification(options) {
53
53
  }
54
54
  export async function checkVerificationStatus(guid, chainKey) {
55
55
  const chain = getChain(chainKey);
56
- const apiKey = process.env['BSCSCAN_API_KEY'];
56
+ const apiKey = process.env['CLAWCONTRACT_BSCSCAN_API_KEY'];
57
57
  if (!apiKey) {
58
- throw new Error('BSCSCAN_API_KEY environment variable is not set');
58
+ throw new Error('CLAWCONTRACT_BSCSCAN_API_KEY environment variable is not set');
59
59
  }
60
60
  const params = new URLSearchParams({
61
61
  module: 'contract',
@@ -1 +1 @@
1
- {"version":3,"file":"explorer-api.js","sourceRoot":"","sources":["../../src/verifier/explorer-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explorer-api.js","sourceRoot":"","sources":["../../src/verifier/explorer-api.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clawcontract",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "type": "module",
5
5
  "description": "AI-powered smart contract generator, analyzer, and deployer for BNB Chain",
6
6
  "main": "./dist/index.js",
@@ -1,33 +0,0 @@
1
- import fs from 'node:fs';
2
- import path from 'node:path';
3
- import chalk from 'chalk';
4
- export function setupCommand(options) {
5
- const privateKey = resolveKey(options.privateKey ?? process.env.PRIVATE_KEY);
6
- const openrouterKey = options.openrouterKey ?? process.env.OPENROUTER_API_KEY ?? '';
7
- const openrouterModel = options.openrouterModel ?? process.env.OPENROUTER_MODEL ?? '';
8
- const bscscanKey = options.bscscanKey ?? process.env.BSCSCAN_API_KEY ?? '';
9
- const envLines = [
10
- `PRIVATE_KEY=${privateKey}`,
11
- '',
12
- `OPENROUTER_API_KEY=${openrouterKey}`,
13
- '',
14
- '# OpenRouter model (optional)',
15
- `OPENROUTER_MODEL=${openrouterModel}`,
16
- '',
17
- `BSCSCAN_API_KEY=${bscscanKey}`,
18
- '',
19
- ];
20
- const envPath = path.resolve(process.cwd(), '.env');
21
- fs.writeFileSync(envPath, envLines.join('\n'), 'utf-8');
22
- console.log(chalk.green(`\n✔ .env written to ${envPath}`));
23
- console.log(chalk.gray(' Make sure .env is in your .gitignore!'));
24
- }
25
- function resolveKey(raw) {
26
- if (raw && raw.trim()) {
27
- return raw.startsWith('0x') ? raw : `0x${raw}`;
28
- }
29
- console.log(chalk.yellow('\n⚠ No private key supplied — PRIVATE_KEY will be empty in .env.'));
30
- console.log(chalk.yellow(' Supply one later via: clawcontract setup --private-key <key>'));
31
- return '';
32
- }
33
- //# sourceMappingURL=setup.js.map