stylus-toolkit 0.2.5 → 0.2.7

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/dist/cli.js CHANGED
@@ -8,6 +8,7 @@ const commander_1 = require("commander");
8
8
  const chalk_1 = __importDefault(require("chalk"));
9
9
  const init_1 = require("./commands/init");
10
10
  const build_1 = require("./commands/build");
11
+ const deploy_1 = require("./commands/deploy");
11
12
  const dev_1 = require("./commands/dev");
12
13
  const profile_1 = require("./commands/profile");
13
14
  const benchmark_1 = require("./commands/benchmark");
@@ -16,12 +17,12 @@ const program = new commander_1.Command();
16
17
  program
17
18
  .name('stylus-toolkit')
18
19
  .description('A comprehensive CLI development environment for Arbitrum Stylus smart contracts')
19
- .version('0.2.5');
20
+ .version('0.2.7');
20
21
  program
21
22
  .command('init')
22
23
  .description('Initialize a new Stylus project')
23
24
  .option('-n, --name <name>', 'Project name')
24
- .option('-t, --template <template>', 'Project template (erc20, erc721, defi, basic)', 'basic')
25
+ .option('-t, --template <template>', 'Project template (erc20, erc721, defi, basic)')
25
26
  .option('--rust-only', 'Initialize Rust-only project')
26
27
  .option('--solidity-only', 'Initialize Solidity-only project')
27
28
  .action(init_1.initCommand);
@@ -32,6 +33,17 @@ program
32
33
  .option('--no-release', 'Build in debug mode instead of release')
33
34
  .option('--no-check', 'Skip cargo stylus check')
34
35
  .action(build_1.buildCommand);
36
+ program
37
+ .command('deploy')
38
+ .description('Deploy Stylus contract with automatic gas estimation')
39
+ .option('-n, --network <network>', 'Network name (local, arbitrum-sepolia, arbitrum-one)', 'local')
40
+ .option('-r, --rpc <url>', 'Custom RPC endpoint URL')
41
+ .option('--private-key <key>', 'Private key for deployment (not recommended, use --private-key-path)')
42
+ .option('--private-key-path <path>', 'Path to file containing private key')
43
+ .option('--gas-limit <amount>', 'Manual gas limit (overrides automatic estimation)')
44
+ .option('--estimate-only', 'Only estimate gas, do not deploy')
45
+ .option('--no-activate', 'Skip contract activation step')
46
+ .action(deploy_1.deployCommand);
35
47
  program
36
48
  .command('dev')
37
49
  .description('Start a local Stylus development node')
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ interface DeployOptions {
2
+ network?: string;
3
+ privateKey?: string;
4
+ privateKeyPath?: string;
5
+ rpc?: string;
6
+ gasLimit?: string;
7
+ estimateOnly?: boolean;
8
+ noActivate?: boolean;
9
+ }
10
+ export declare function deployCommand(options: DeployOptions): Promise<void>;
11
+ export {};
12
+ //# sourceMappingURL=deploy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAMA,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA6VzE"}
@@ -0,0 +1,340 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.deployCommand = deployCommand;
40
+ const logger_1 = require("../utils/logger");
41
+ const file_system_1 = require("../utils/file-system");
42
+ const path_1 = __importDefault(require("path"));
43
+ const execa_1 = __importDefault(require("execa"));
44
+ const chalk_1 = __importDefault(require("chalk"));
45
+ async function deployCommand(options) {
46
+ logger_1.logger.header('Stylus Toolkit - Deploy Contract');
47
+ try {
48
+ const projectRoot = file_system_1.FileSystem.getProjectRoot();
49
+ const rustProjectPath = path_1.default.join(projectRoot, 'contracts-rust');
50
+ // Check if Rust project exists
51
+ if (!(await file_system_1.FileSystem.fileExists(rustProjectPath))) {
52
+ logger_1.logger.error('Rust project not found. Run "stylus-toolkit init" first.');
53
+ process.exit(1);
54
+ }
55
+ // Check if cargo-stylus is installed
56
+ logger_1.logger.startSpinner('Checking cargo-stylus installation...');
57
+ try {
58
+ await (0, execa_1.default)('cargo', ['stylus', '--version']);
59
+ logger_1.logger.succeedSpinner('cargo-stylus is installed');
60
+ }
61
+ catch {
62
+ logger_1.logger.failSpinner('cargo-stylus not installed');
63
+ logger_1.logger.error('cargo-stylus is required for deployment.');
64
+ logger_1.logger.info('Install with: cargo install cargo-stylus');
65
+ process.exit(1);
66
+ }
67
+ // Determine RPC endpoint
68
+ let rpcUrl = options.rpc;
69
+ if (!rpcUrl) {
70
+ switch (options.network) {
71
+ case 'arbitrum-sepolia':
72
+ rpcUrl = 'https://sepolia-rollup.arbitrum.io/rpc';
73
+ break;
74
+ case 'arbitrum-one':
75
+ case 'arbitrum-mainnet':
76
+ rpcUrl = 'https://arb1.arbitrum.io/rpc';
77
+ break;
78
+ case 'local':
79
+ default:
80
+ rpcUrl = 'http://localhost:8547';
81
+ break;
82
+ }
83
+ }
84
+ const network = options.network || 'local';
85
+ logger_1.logger.newLine();
86
+ logger_1.logger.section('Deployment Configuration');
87
+ logger_1.logger.table({
88
+ 'Network': network,
89
+ 'RPC URL': rpcUrl,
90
+ 'Private Key': options.privateKeyPath ? `From file: ${options.privateKeyPath}` :
91
+ options.privateKey ? 'Provided via --private-key' : 'Not provided',
92
+ });
93
+ logger_1.logger.newLine();
94
+ // Validate private key
95
+ if (!options.privateKey && !options.privateKeyPath) {
96
+ logger_1.logger.error('Private key is required for deployment.');
97
+ logger_1.logger.info('Options:');
98
+ logger_1.logger.info(' 1. Use --private-key-path=<path> (recommended)');
99
+ logger_1.logger.info(' 2. Use --private-key=<key> (not recommended for production)');
100
+ logger_1.logger.info('');
101
+ logger_1.logger.warn('For testnet, create a key.txt file with your private key:');
102
+ logger_1.logger.info(' echo "0xyourprivatekey" > key.txt');
103
+ logger_1.logger.info(' stylus-toolkit deploy --private-key-path=./key.txt --network arbitrum-sepolia');
104
+ process.exit(1);
105
+ }
106
+ // Get contract name and WASM path
107
+ const cargoTomlPath = path_1.default.join(rustProjectPath, 'Cargo.toml');
108
+ const cargoToml = await file_system_1.FileSystem.readFile(cargoTomlPath);
109
+ const nameMatch = cargoToml.match(/name\s*=\s*"([^"]+)"/);
110
+ const contractName = nameMatch ? nameMatch[1] : 'contract';
111
+ const wasmPath = path_1.default.join(rustProjectPath, 'target', 'wasm32-unknown-unknown', 'release');
112
+ const wasmFileName = `${contractName.replace(/-/g, '_')}.wasm`;
113
+ const wasmFilePath = path_1.default.join(wasmPath, wasmFileName);
114
+ // Check if WASM file exists
115
+ if (!(await file_system_1.FileSystem.fileExists(wasmFilePath))) {
116
+ logger_1.logger.error('WASM file not found. Build the contract first.');
117
+ logger_1.logger.info('Run: stylus-toolkit build');
118
+ process.exit(1);
119
+ }
120
+ // Show WASM size
121
+ const fs = await Promise.resolve().then(() => __importStar(require('fs-extra')));
122
+ const wasmBinary = await fs.readFile(wasmFilePath);
123
+ const wasmSizeKb = (wasmBinary.length / 1024).toFixed(2);
124
+ logger_1.logger.section('Contract Information');
125
+ logger_1.logger.table({
126
+ 'Contract Name': contractName,
127
+ 'WASM Size': `${wasmSizeKb} KB`,
128
+ 'WASM Path': wasmFilePath,
129
+ });
130
+ logger_1.logger.newLine();
131
+ // Estimate gas if not provided
132
+ let gasLimit = options.gasLimit;
133
+ if (!gasLimit) {
134
+ logger_1.logger.startSpinner('Calculating gas requirements...');
135
+ // Calculate gas based on WASM size
136
+ // Stylus deployment formula:
137
+ // - Base transaction: 21,000 gas
138
+ // - Activation overhead: ~14,000,000 gas (first deployment)
139
+ // - Per-byte storage: ~16 gas per compressed byte
140
+ // - For safety, we use a generous multiplier
141
+ const wasmSizeBytes = wasmBinary.length;
142
+ // Estimated gas: base + (size * gas_per_byte) * safety_multiplier
143
+ // Using 2.5x safety multiplier to ensure deployment always succeeds
144
+ const baseGas = 21000;
145
+ const activationGas = 14000000;
146
+ const perByteGas = 16;
147
+ const safetyMultiplier = 2.5;
148
+ const estimatedGas = Math.ceil(baseGas + activationGas + (wasmSizeBytes * perByteGas * safetyMultiplier));
149
+ gasLimit = estimatedGas.toString();
150
+ logger_1.logger.succeedSpinner(`Gas calculated: ${estimatedGas.toLocaleString()} (WASM: ${wasmSizeKb} KB, 2.5x safety buffer)`);
151
+ // Try to get actual estimate from cargo stylus if network is available
152
+ try {
153
+ const estimateArgs = [
154
+ 'stylus',
155
+ 'deploy',
156
+ '--estimate-gas',
157
+ '--wasm-file',
158
+ wasmFilePath,
159
+ '--endpoint',
160
+ rpcUrl,
161
+ ];
162
+ if (options.privateKeyPath) {
163
+ estimateArgs.push('--private-key-path', options.privateKeyPath);
164
+ }
165
+ else if (options.privateKey) {
166
+ estimateArgs.push('--private-key', options.privateKey);
167
+ }
168
+ logger_1.logger.startSpinner('Verifying gas estimate with network...');
169
+ const { stdout, stderr } = await (0, execa_1.default)('cargo', estimateArgs, {
170
+ cwd: rustProjectPath,
171
+ reject: false,
172
+ timeout: 10000, // 10 second timeout
173
+ });
174
+ // Parse gas estimate from output
175
+ const output = stdout + stderr;
176
+ const gasMatch = output.match(/estimated?\s+gas[:\s]+(\d+)/i) ||
177
+ output.match(/gas\s+estimate[:\s]+(\d+)/i) ||
178
+ output.match(/(\d+)\s+gas/i);
179
+ if (gasMatch) {
180
+ const networkEstimate = parseInt(gasMatch[1]);
181
+ // Add 50% buffer to network estimate
182
+ const gasWithBuffer = Math.ceil(networkEstimate * 1.5);
183
+ // Use the higher of the two estimates for safety
184
+ const finalGas = Math.max(estimatedGas, gasWithBuffer);
185
+ gasLimit = finalGas.toString();
186
+ logger_1.logger.succeedSpinner(`Network estimate: ${networkEstimate.toLocaleString()}, using: ${finalGas.toLocaleString()} (highest with buffer)`);
187
+ }
188
+ else {
189
+ logger_1.logger.updateSpinner('Network estimate unavailable, using calculated gas');
190
+ logger_1.logger.succeedSpinner(`Using calculated gas: ${estimatedGas.toLocaleString()}`);
191
+ }
192
+ }
193
+ catch (error) {
194
+ // Network estimation failed, use calculated estimate
195
+ logger_1.logger.updateSpinner('Network unavailable, using calculated gas');
196
+ logger_1.logger.succeedSpinner(`Using calculated gas: ${estimatedGas.toLocaleString()}`);
197
+ }
198
+ }
199
+ if (options.estimateOnly) {
200
+ logger_1.logger.success('Gas estimation complete!');
201
+ logger_1.logger.info(`Use --gas-limit=${gasLimit} for actual deployment`);
202
+ return;
203
+ }
204
+ // Deploy the contract
205
+ logger_1.logger.newLine();
206
+ logger_1.logger.section('Deploying Contract');
207
+ logger_1.logger.startSpinner('Sending deployment transaction...');
208
+ try {
209
+ const deployArgs = [
210
+ 'stylus',
211
+ 'deploy',
212
+ '--wasm-file',
213
+ wasmFilePath,
214
+ '--endpoint',
215
+ rpcUrl,
216
+ ];
217
+ if (options.privateKeyPath) {
218
+ deployArgs.push('--private-key-path', options.privateKeyPath);
219
+ }
220
+ else if (options.privateKey) {
221
+ deployArgs.push('--private-key', options.privateKey);
222
+ }
223
+ // Add gas limit
224
+ if (gasLimit) {
225
+ deployArgs.push('--gas-limit', gasLimit);
226
+ }
227
+ // Add no-activate flag if specified
228
+ if (options.noActivate) {
229
+ deployArgs.push('--no-activate');
230
+ }
231
+ const startTime = Date.now();
232
+ const { stdout, stderr } = await (0, execa_1.default)('cargo', deployArgs, {
233
+ cwd: rustProjectPath,
234
+ });
235
+ const deployTime = ((Date.now() - startTime) / 1000).toFixed(2);
236
+ logger_1.logger.succeedSpinner(`Contract deployed successfully (${deployTime}s)`);
237
+ // Parse deployment output
238
+ const output = stdout + stderr;
239
+ const addressMatch = output.match(/deployed\s+(?:at|to)[:\s]+(0x[a-fA-F0-9]{40})/i) ||
240
+ output.match(/contract[:\s]+(0x[a-fA-F0-9]{40})/i) ||
241
+ output.match(/(0x[a-fA-F0-9]{40})/);
242
+ const txHashMatch = output.match(/transaction[:\s]+(0x[a-fA-F0-9]{64})/i) ||
243
+ output.match(/tx[:\s]+(0x[a-fA-F0-9]{64})/i);
244
+ const gasUsedMatch = output.match(/gas\s+used[:\s]+(\d+)/i);
245
+ logger_1.logger.newLine();
246
+ logger_1.logger.section('Deployment Results');
247
+ const results = {
248
+ 'Status': chalk_1.default.green('✓ Deployed'),
249
+ 'Network': network,
250
+ };
251
+ if (addressMatch) {
252
+ results['Contract Address'] = chalk_1.default.cyan(addressMatch[1]);
253
+ }
254
+ if (txHashMatch) {
255
+ results['Transaction Hash'] = chalk_1.default.dim(txHashMatch[1]);
256
+ }
257
+ if (gasUsedMatch) {
258
+ results['Gas Used'] = parseInt(gasUsedMatch[1]).toLocaleString();
259
+ }
260
+ if (gasLimit) {
261
+ results['Gas Limit'] = parseInt(gasLimit).toLocaleString();
262
+ }
263
+ logger_1.logger.table(results);
264
+ // Show explorer links for public networks
265
+ if (addressMatch) {
266
+ logger_1.logger.newLine();
267
+ logger_1.logger.section('Explorer Links');
268
+ if (network === 'arbitrum-sepolia') {
269
+ logger_1.logger.info(`Contract: https://sepolia.arbiscan.io/address/${addressMatch[1]}`);
270
+ if (txHashMatch) {
271
+ logger_1.logger.info(`Transaction: https://sepolia.arbiscan.io/tx/${txHashMatch[1]}`);
272
+ }
273
+ }
274
+ else if (network === 'arbitrum-one' || network === 'arbitrum-mainnet') {
275
+ logger_1.logger.info(`Contract: https://arbiscan.io/address/${addressMatch[1]}`);
276
+ if (txHashMatch) {
277
+ logger_1.logger.info(`Transaction: https://arbiscan.io/tx/${txHashMatch[1]}`);
278
+ }
279
+ }
280
+ }
281
+ logger_1.logger.newLine();
282
+ logger_1.logger.success('Deployment complete!');
283
+ // Show next steps
284
+ logger_1.logger.newLine();
285
+ logger_1.logger.section('Next Steps');
286
+ if (addressMatch) {
287
+ logger_1.logger.info('1. Interact with your contract using the address above');
288
+ logger_1.logger.info('2. Verify on explorer (if on public network)');
289
+ logger_1.logger.info(`3. Test with: cast call ${addressMatch[1]} "<function>" --rpc-url ${rpcUrl}`);
290
+ }
291
+ else {
292
+ logger_1.logger.info('1. Check deployment output above for contract address');
293
+ logger_1.logger.info('2. Verify the deployment on block explorer');
294
+ }
295
+ }
296
+ catch (error) {
297
+ logger_1.logger.failSpinner('Deployment failed');
298
+ const errorMessage = error.message;
299
+ // Provide helpful error messages
300
+ if (errorMessage.includes('insufficient funds')) {
301
+ logger_1.logger.error('Insufficient funds for deployment');
302
+ logger_1.logger.newLine();
303
+ logger_1.logger.section('Solutions');
304
+ logger_1.logger.info('1. Get testnet ETH from faucet:');
305
+ logger_1.logger.info(' • Arbitrum Sepolia: https://faucet.quicknode.com/arbitrum/sepolia');
306
+ logger_1.logger.info(' • Check your balance first');
307
+ logger_1.logger.info('');
308
+ logger_1.logger.info('2. Use a different account with sufficient balance');
309
+ }
310
+ else if (errorMessage.includes('out of gas') || errorMessage.includes('gas')) {
311
+ logger_1.logger.error('Transaction ran out of gas');
312
+ logger_1.logger.newLine();
313
+ logger_1.logger.section('Solutions');
314
+ logger_1.logger.info('1. The automatic gas estimation should prevent this.');
315
+ logger_1.logger.info('2. Try manually increasing gas limit:');
316
+ logger_1.logger.info(` stylus-toolkit deploy --gas-limit=150000000 --private-key-path=${options.privateKeyPath || './key.txt'}`);
317
+ logger_1.logger.info('');
318
+ logger_1.logger.info('3. If error persists, there may be an issue with the contract code.');
319
+ }
320
+ else if (errorMessage.includes('nonce')) {
321
+ logger_1.logger.error('Nonce error (transaction ordering issue)');
322
+ logger_1.logger.info('Wait a few seconds and try again.');
323
+ }
324
+ else if (errorMessage.includes('connection')) {
325
+ logger_1.logger.error('Connection to RPC endpoint failed');
326
+ logger_1.logger.info(`Check if ${rpcUrl} is accessible`);
327
+ }
328
+ else {
329
+ logger_1.logger.error('Deployment error:');
330
+ logger_1.logger.info(errorMessage);
331
+ }
332
+ process.exit(1);
333
+ }
334
+ }
335
+ catch (error) {
336
+ logger_1.logger.error(`Deployment failed: ${error.message}`);
337
+ process.exit(1);
338
+ }
339
+ }
340
+ //# sourceMappingURL=deploy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,sCA6VC;AA7WD,4CAAyC;AACzC,sDAAkD;AAClD,gDAAwB;AACxB,kDAA0B;AAC1B,kDAA0B;AAYnB,KAAK,UAAU,aAAa,CAAC,OAAsB;IACxD,eAAM,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC;IAElD,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,wBAAU,CAAC,cAAc,EAAE,CAAC;QAChD,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAEjE,+BAA+B;QAC/B,IAAI,CAAC,CAAC,MAAM,wBAAU,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;YACpD,eAAM,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;YACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,qCAAqC;QACrC,eAAM,CAAC,YAAY,CAAC,uCAAuC,CAAC,CAAC;QAC7D,IAAI,CAAC;YACH,MAAM,IAAA,eAAK,EAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;YAC9C,eAAM,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,eAAM,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC;YACjD,eAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YACzD,eAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,yBAAyB;QACzB,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;QACzB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,QAAQ,OAAO,CAAC,OAAO,EAAE,CAAC;gBACxB,KAAK,kBAAkB;oBACrB,MAAM,GAAG,wCAAwC,CAAC;oBAClD,MAAM;gBACR,KAAK,cAAc,CAAC;gBACpB,KAAK,kBAAkB;oBACrB,MAAM,GAAG,8BAA8B,CAAC;oBACxC,MAAM;gBACR,KAAK,OAAO,CAAC;gBACb;oBACE,MAAM,GAAG,uBAAuB,CAAC;oBACjC,MAAM;YACV,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC;QAE3C,eAAM,CAAC,OAAO,EAAE,CAAC;QACjB,eAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAC3C,eAAM,CAAC,KAAK,CAAC;YACX,SAAS,EAAE,OAAO;YAClB,SAAS,EAAE,MAAM;YACjB,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;gBACjE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,cAAc;SAClF,CAAC,CAAC;QACH,eAAM,CAAC,OAAO,EAAE,CAAC;QAEjB,uBAAuB;QACvB,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YACnD,eAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACxD,eAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxB,eAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAChE,eAAM,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;YAC7E,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,eAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YACzE,eAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YACnD,eAAM,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;YAC/F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,kCAAkC;QAClC,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QAC/D,MAAM,SAAS,GAAG,MAAM,wBAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAE3D,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CACxB,eAAe,EACf,QAAQ,EACR,wBAAwB,EACxB,SAAS,CACV,CAAC;QACF,MAAM,YAAY,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC;QAC/D,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAEvD,4BAA4B;QAC5B,IAAI,CAAC,CAAC,MAAM,wBAAU,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YACjD,eAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;YAC/D,eAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,iBAAiB;QACjB,MAAM,EAAE,GAAG,wDAAa,UAAU,GAAC,CAAC;QACpC,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEzD,eAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACvC,eAAM,CAAC,KAAK,CAAC;YACX,eAAe,EAAE,YAAY;YAC7B,WAAW,EAAE,GAAG,UAAU,KAAK;YAC/B,WAAW,EAAE,YAAY;SAC1B,CAAC,CAAC;QACH,eAAM,CAAC,OAAO,EAAE,CAAC;QAEjB,+BAA+B;QAC/B,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAEhC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,eAAM,CAAC,YAAY,CAAC,iCAAiC,CAAC,CAAC;YAEvD,mCAAmC;YACnC,6BAA6B;YAC7B,iCAAiC;YACjC,4DAA4D;YAC5D,kDAAkD;YAClD,6CAA6C;YAE7C,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC;YAExC,kEAAkE;YAClE,oEAAoE;YACpE,MAAM,OAAO,GAAG,KAAK,CAAC;YACtB,MAAM,aAAa,GAAG,QAAQ,CAAC;YAC/B,MAAM,UAAU,GAAG,EAAE,CAAC;YACtB,MAAM,gBAAgB,GAAG,GAAG,CAAC;YAE7B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,OAAO,GAAG,aAAa,GAAG,CAAC,aAAa,GAAG,UAAU,GAAG,gBAAgB,CAAC,CAC1E,CAAC;YAEF,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;YAEnC,eAAM,CAAC,cAAc,CACnB,mBAAmB,YAAY,CAAC,cAAc,EAAE,WAAW,UAAU,0BAA0B,CAChG,CAAC;YAEF,uEAAuE;YACvE,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG;oBACnB,QAAQ;oBACR,QAAQ;oBACR,gBAAgB;oBAChB,aAAa;oBACb,YAAY;oBACZ,YAAY;oBACZ,MAAM;iBACP,CAAC;gBAEF,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;oBAC3B,YAAY,CAAC,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;gBAClE,CAAC;qBAAM,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;oBAC9B,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;gBACzD,CAAC;gBAED,eAAM,CAAC,YAAY,CAAC,wCAAwC,CAAC,CAAC;gBAE9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,eAAK,EAAC,OAAO,EAAE,YAAY,EAAE;oBAC5D,GAAG,EAAE,eAAe;oBACpB,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE,KAAK,EAAE,oBAAoB;iBACrC,CAAC,CAAC;gBAEH,iCAAiC;gBACjC,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;gBAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC;oBAC7C,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC;oBAC1C,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBAE7C,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9C,qCAAqC;oBACrC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC;oBAEvD,iDAAiD;oBACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;oBACvD,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBAE/B,eAAM,CAAC,cAAc,CACnB,qBAAqB,eAAe,CAAC,cAAc,EAAE,YAAY,QAAQ,CAAC,cAAc,EAAE,wBAAwB,CACnH,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,eAAM,CAAC,aAAa,CAAC,oDAAoD,CAAC,CAAC;oBAC3E,eAAM,CAAC,cAAc,CAAC,yBAAyB,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,qDAAqD;gBACrD,eAAM,CAAC,aAAa,CAAC,2CAA2C,CAAC,CAAC;gBAClE,eAAM,CAAC,cAAc,CAAC,yBAAyB,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,eAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;YAC3C,eAAM,CAAC,IAAI,CAAC,mBAAmB,QAAQ,wBAAwB,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,sBAAsB;QACtB,eAAM,CAAC,OAAO,EAAE,CAAC;QACjB,eAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACrC,eAAM,CAAC,YAAY,CAAC,mCAAmC,CAAC,CAAC;QAEzD,IAAI,CAAC;YACH,MAAM,UAAU,GAAG;gBACjB,QAAQ;gBACR,QAAQ;gBACR,aAAa;gBACb,YAAY;gBACZ,YAAY;gBACZ,MAAM;aACP,CAAC;YAEF,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC3B,UAAU,CAAC,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YAChE,CAAC;iBAAM,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC9B,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YACvD,CAAC;YAED,gBAAgB;YAChB,IAAI,QAAQ,EAAE,CAAC;gBACb,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC3C,CAAC;YAED,oCAAoC;YACpC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACnC,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE7B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,eAAK,EAAC,OAAO,EAAE,UAAU,EAAE;gBAC1D,GAAG,EAAE,eAAe;aACrB,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAEhE,eAAM,CAAC,cAAc,CAAC,mCAAmC,UAAU,IAAI,CAAC,CAAC;YAEzE,0BAA0B;YAC1B,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;YAC/B,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC;gBAC/D,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC;gBAClD,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAExD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC;gBACtD,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAEhE,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAE5D,eAAM,CAAC,OAAO,EAAE,CAAC;YACjB,eAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YAErC,MAAM,OAAO,GAA2B;gBACtC,QAAQ,EAAE,eAAK,CAAC,KAAK,CAAC,YAAY,CAAC;gBACnC,SAAS,EAAE,OAAO;aACnB,CAAC;YAEF,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,CAAC,kBAAkB,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,CAAC,kBAAkB,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;YACnE,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC;YAC7D,CAAC;YAED,eAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAEtB,0CAA0C;YAC1C,IAAI,YAAY,EAAE,CAAC;gBACjB,eAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,eAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBAEjC,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;oBACnC,eAAM,CAAC,IAAI,CAAC,iDAAiD,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAChF,IAAI,WAAW,EAAE,CAAC;wBAChB,eAAM,CAAC,IAAI,CAAC,+CAA+C,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC/E,CAAC;gBACH,CAAC;qBAAM,IAAI,OAAO,KAAK,cAAc,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;oBACxE,eAAM,CAAC,IAAI,CAAC,yCAAyC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACxE,IAAI,WAAW,EAAE,CAAC;wBAChB,eAAM,CAAC,IAAI,CAAC,uCAAuC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACvE,CAAC;gBACH,CAAC;YACH,CAAC;YAED,eAAM,CAAC,OAAO,EAAE,CAAC;YACjB,eAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;YAEvC,kBAAkB;YAClB,eAAM,CAAC,OAAO,EAAE,CAAC;YACjB,eAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC7B,IAAI,YAAY,EAAE,CAAC;gBACjB,eAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;gBACtE,eAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;gBAC5D,eAAM,CAAC,IAAI,CAAC,2BAA2B,YAAY,CAAC,CAAC,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAC;YAC7F,CAAC;iBAAM,CAAC;gBACN,eAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;gBACrE,eAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YAC5D,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;YAExC,MAAM,YAAY,GAAI,KAAe,CAAC,OAAO,CAAC;YAE9C,iCAAiC;YACjC,IAAI,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAChD,eAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBAClD,eAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,eAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC5B,eAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;gBAC/C,eAAM,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;gBACpF,eAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;gBAC7C,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChB,eAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YACpE,CAAC;iBAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/E,eAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAC3C,eAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,eAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC5B,eAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;gBACpE,eAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;gBACrD,eAAM,CAAC,IAAI,CAAC,qEAAqE,OAAO,CAAC,cAAc,IAAI,WAAW,EAAE,CAAC,CAAC;gBAC1H,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChB,eAAM,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;YACrF,CAAC;iBAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1C,eAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;gBACzD,eAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YACnD,CAAC;iBAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC/C,eAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBAClD,eAAM,CAAC,IAAI,CAAC,YAAY,MAAM,gBAAgB,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,eAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBAClC,eAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC5B,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IAEH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,sBAAuB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAIA,UAAU,UAAU;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAmMnE"}
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAIA,UAAU,UAAU;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA6LnE"}
@@ -88,15 +88,9 @@ async function devCommand(options) {
88
88
  '-p', `${port}:8547`,
89
89
  '-p', '8548:8548',
90
90
  'offchainlabs/nitro-node:v3.7.1-926f1ab',
91
- '--init.dev-init',
92
- '--init.dev-init-address', '0x3f1Eae7D46d88F08fc2F8ed27FCb2AB183EB2d0E',
93
- '--node.dangerous.no-l1-listener',
94
- '--parent-chain.id=1337',
95
- '--chain.id=412346',
96
- '--http.api=net,web3,eth,debug',
97
- '--http.corsdomain=*',
91
+ '--dev',
92
+ '--http.port=8547',
98
93
  '--http.addr=0.0.0.0',
99
- '--http.vhosts=*',
100
94
  ];
101
95
  if (options.detach) {
102
96
  dockerArgs.splice(1, 0, '-d');
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAiB,MAAM,UAAU,CAAC;AAKtD,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA4IrE"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAiB,MAAM,UAAU,CAAC;AAKtD,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgJrE"}
@@ -42,49 +42,52 @@ async function initCommand(options) {
42
42
  ]);
43
43
  projectName = answers.projectName;
44
44
  }
45
- if (!template || (!options.rustOnly && !options.solidityOnly && !projectName)) {
46
- const prompts = [];
47
- if (!template) {
48
- prompts.push({
49
- type: 'list',
50
- name: 'template',
51
- message: 'Select a template:',
52
- choices: [
53
- { name: 'Basic (Empty project)', value: 'basic' },
54
- { name: 'ERC-20 Token', value: 'erc20' },
55
- { name: 'ERC-721 NFT', value: 'erc721' },
56
- { name: 'DeFi Protocol', value: 'defi' },
57
- ],
58
- default: 'basic',
59
- });
60
- }
61
- if (!options.rustOnly && !options.solidityOnly && !projectName) {
62
- prompts.push({
63
- type: 'checkbox',
64
- name: 'languages',
65
- message: 'Select languages to include:',
66
- choices: [
67
- { name: 'Rust (Stylus)', value: 'rust', checked: true },
68
- { name: 'Solidity (for comparison)', value: 'solidity', checked: true },
69
- ],
70
- validate: (input) => {
71
- if (input.length === 0)
72
- return 'Select at least one language';
73
- return true;
74
- },
75
- });
45
+ // Prompt for missing options in interactive mode
46
+ const prompts = [];
47
+ if (!template) {
48
+ prompts.push({
49
+ type: 'list',
50
+ name: 'template',
51
+ message: 'Select a template:',
52
+ choices: [
53
+ { name: 'Basic (Simple counter)', value: 'basic' },
54
+ { name: 'ERC-20 Token', value: 'erc20' },
55
+ { name: 'ERC-721 NFT', value: 'erc721' },
56
+ { name: 'DeFi Protocol', value: 'defi' },
57
+ ],
58
+ default: 'basic',
59
+ });
60
+ }
61
+ if (!options.rustOnly && !options.solidityOnly) {
62
+ prompts.push({
63
+ type: 'checkbox',
64
+ name: 'languages',
65
+ message: 'Select languages to include:',
66
+ choices: [
67
+ { name: 'Rust (Stylus)', value: 'rust', checked: true },
68
+ { name: 'Solidity (for comparison)', value: 'solidity', checked: true },
69
+ ],
70
+ validate: (input) => {
71
+ if (input.length === 0)
72
+ return 'Select at least one language';
73
+ return true;
74
+ },
75
+ });
76
+ }
77
+ if (prompts.length > 0) {
78
+ const answers = await inquirer_1.default.prompt(prompts);
79
+ if (answers.template) {
80
+ template = answers.template;
76
81
  }
77
- if (prompts.length > 0) {
78
- const answers = await inquirer_1.default.prompt(prompts);
79
- if (answers.template) {
80
- template = answers.template;
81
- }
82
- if (answers.languages) {
83
- options.rustOnly = answers.languages.includes('rust') && !answers.languages.includes('solidity');
84
- options.solidityOnly = answers.languages.includes('solidity') && !answers.languages.includes('rust');
85
- }
82
+ if (answers.languages) {
83
+ options.rustOnly = answers.languages.includes('rust') && !answers.languages.includes('solidity');
84
+ options.solidityOnly = answers.languages.includes('solidity') && !answers.languages.includes('rust');
86
85
  }
87
86
  }
87
+ // Set default template if still not specified
88
+ if (!template) {
89
+ template = 'basic';
90
+ }
88
91
  const hasRust = !options.solidityOnly;
89
92
  const hasSolidity = !options.rustOnly;
90
93
  logger_1.logger.startSpinner('Creating project structure...');
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,10 @@ export declare class GasProfiler {
3
3
  private provider;
4
4
  private signer;
5
5
  constructor(rpcUrl: string, privateKey?: string);
6
- profileContract(compilation: CompilationResult, testCases?: Map<string, any[][]>): Promise<GasProfile>;
6
+ profileContract(compilation: CompilationResult, _testCases?: Map<string, any[][]>): Promise<GasProfile>;
7
7
  private estimateGasProfile;
8
- private measureDeploymentGas;
9
- private measureFunctionGas;
8
+ private estimateDeploymentGas;
9
+ private estimateFunctionGas;
10
10
  estimateGas(contractAddress: string, abi: any[], functionName: string, args: any[]): Promise<number>;
11
11
  }
12
12
  //# sourceMappingURL=gas-profiler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gas-profiler.d.ts","sourceRoot":"","sources":["../../src/profiler/gas-profiler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAA6B,MAAM,UAAU,CAAC;AAEpF,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAUzC,eAAe,CACnB,WAAW,EAAE,iBAAiB,EAC9B,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,GAC/B,OAAO,CAAC,UAAU,CAAC;IA6CtB,OAAO,CAAC,kBAAkB;YA8CZ,oBAAoB;YAgDpB,kBAAkB;IA8E1B,WAAW,CACf,eAAe,EAAE,MAAM,EACvB,GAAG,EAAE,GAAG,EAAE,EACV,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,GAAG,EAAE,GACV,OAAO,CAAC,MAAM,CAAC;CAOnB"}
1
+ {"version":3,"file":"gas-profiler.d.ts","sourceRoot":"","sources":["../../src/profiler/gas-profiler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEzD,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAUzC,eAAe,CACnB,WAAW,EAAE,iBAAiB,EAC9B,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,GAChC,OAAO,CAAC,UAAU,CAAC;IA8CtB,OAAO,CAAC,kBAAkB;IA8C1B,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,mBAAmB;IAqBrB,WAAW,CACf,eAAe,EAAE,MAAM,EACvB,GAAG,EAAE,GAAG,EAAE,EACV,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,GAAG,EAAE,GACV,OAAO,CAAC,MAAM,CAAC;CAOnB"}