codecrypto-cli 1.0.2 → 1.0.3

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.
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const deployScCommand: Command;
3
+ //# sourceMappingURL=deploy-sc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-sc.d.ts","sourceRoot":"","sources":["../../src/commands/deploy-sc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,eAAO,MAAM,eAAe,SAsIxB,CAAC"}
@@ -0,0 +1,164 @@
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.deployScCommand = void 0;
40
+ const commander_1 = require("commander");
41
+ const chalk_1 = __importDefault(require("chalk"));
42
+ const ora_1 = __importDefault(require("ora"));
43
+ const child_process_1 = require("child_process");
44
+ const fs = __importStar(require("fs"));
45
+ const path = __importStar(require("path"));
46
+ exports.deployScCommand = new commander_1.Command('deploy-sc')
47
+ .description('Deploy smart contract using Foundry')
48
+ .argument('<script-path>', 'Path to the Foundry deployment script')
49
+ .option('-u, --url <rpc-url>', 'RPC URL of the blockchain', 'http://server.codecrypto.academy:8546')
50
+ .option('-k, --private-key <key>', 'Private key for deployment (or use PRIVATE_KEY env var)')
51
+ .option('--verify', 'Verify contract on block explorer', false)
52
+ .option('--broadcast', 'Broadcast the transaction', true)
53
+ .option('--slow', 'Use slow mode for deployment', false)
54
+ .action(async (scriptPath, options) => {
55
+ console.log(chalk_1.default.blue('\n🔷 CodeCrypto Smart Contract Deployment\n'));
56
+ try {
57
+ // Resolver ruta del script
58
+ const resolvedScriptPath = path.resolve(scriptPath);
59
+ // Verificar que el script existe
60
+ if (!fs.existsSync(resolvedScriptPath)) {
61
+ console.error(chalk_1.default.red(`❌ Error: El script no existe: ${resolvedScriptPath}`));
62
+ process.exit(1);
63
+ }
64
+ // Verificar que es un archivo .s.sol (Foundry script)
65
+ if (!resolvedScriptPath.endsWith('.s.sol')) {
66
+ console.warn(chalk_1.default.yellow(`⚠️ Advertencia: El archivo no tiene extensión .s.sol`));
67
+ }
68
+ // Obtener directorio del proyecto (asumimos que el script está en un proyecto Foundry)
69
+ const projectDir = path.dirname(resolvedScriptPath);
70
+ // Verificar que existe foundry.toml o que estamos en un proyecto Foundry
71
+ const foundryToml = path.join(projectDir, 'foundry.toml');
72
+ const foundryTomlParent = path.join(path.dirname(projectDir), 'foundry.toml');
73
+ let foundryProjectDir = projectDir;
74
+ if (fs.existsSync(foundryToml)) {
75
+ foundryProjectDir = projectDir;
76
+ }
77
+ else if (fs.existsSync(foundryTomlParent)) {
78
+ foundryProjectDir = path.dirname(projectDir);
79
+ }
80
+ else {
81
+ console.warn(chalk_1.default.yellow('⚠️ No se encontró foundry.toml, asumiendo que foundry está instalado globalmente'));
82
+ }
83
+ // Obtener nombre del script relativo al proyecto
84
+ const scriptRelativePath = path.relative(foundryProjectDir, resolvedScriptPath);
85
+ console.log(chalk_1.default.gray('Deployment Configuration:'));
86
+ console.log(chalk_1.default.white(` Script: ${chalk_1.default.green(scriptRelativePath)}`));
87
+ console.log(chalk_1.default.white(` RPC URL: ${chalk_1.default.green(options.url)}`));
88
+ console.log(chalk_1.default.white(` Broadcast: ${chalk_1.default.green(options.broadcast ? 'Yes' : 'No')}`));
89
+ console.log(chalk_1.default.white(` Verify: ${options.verify ? chalk_1.default.green('Yes') : chalk_1.default.yellow('No')}\n`));
90
+ // Verificar que forge está instalado
91
+ const forgeSpinner = (0, ora_1.default)('Verificando Foundry...').start();
92
+ try {
93
+ (0, child_process_1.execSync)('forge --version', { stdio: 'pipe' });
94
+ forgeSpinner.succeed('Foundry está instalado');
95
+ }
96
+ catch (error) {
97
+ forgeSpinner.fail('Foundry no está instalado');
98
+ console.error(chalk_1.default.red('Por favor instala Foundry: https://book.getfoundry.sh/getting-started/installation'));
99
+ process.exit(1);
100
+ }
101
+ // Preparar variables de entorno
102
+ const env = {
103
+ ...process.env,
104
+ RPC_URL: options.url,
105
+ };
106
+ // Agregar private key si se proporciona
107
+ if (options.privateKey) {
108
+ env.PRIVATE_KEY = options.privateKey;
109
+ }
110
+ else if (!process.env.PRIVATE_KEY) {
111
+ console.warn(chalk_1.default.yellow('⚠️ No se proporcionó PRIVATE_KEY. Asegúrate de tenerla configurada en el entorno.'));
112
+ }
113
+ // Construir comando forge script
114
+ const forgeArgs = [
115
+ 'script',
116
+ scriptRelativePath,
117
+ '--rpc-url',
118
+ options.url,
119
+ ];
120
+ // Agregar private key si está disponible
121
+ const privateKey = options.privateKey || process.env.PRIVATE_KEY;
122
+ if (privateKey) {
123
+ forgeArgs.push('--private-key', privateKey);
124
+ }
125
+ if (options.broadcast) {
126
+ forgeArgs.push('--broadcast');
127
+ }
128
+ if (options.verify) {
129
+ forgeArgs.push('--verify');
130
+ }
131
+ if (options.slow) {
132
+ forgeArgs.push('--slow');
133
+ }
134
+ // Ejecutar el script
135
+ const deploySpinner = (0, ora_1.default)('Desplegando smart contract...').start();
136
+ try {
137
+ const command = `forge ${forgeArgs.join(' ')}`;
138
+ console.log(chalk_1.default.gray(`\nEjecutando: ${command}\n`));
139
+ (0, child_process_1.execSync)(command, {
140
+ cwd: foundryProjectDir,
141
+ stdio: 'inherit',
142
+ env,
143
+ });
144
+ deploySpinner.succeed('Smart contract desplegado exitosamente');
145
+ console.log(chalk_1.default.green('\n✅ Deployment completed successfully!'));
146
+ console.log(chalk_1.default.gray('Contract details:'));
147
+ console.log(chalk_1.default.white(` Script: ${chalk_1.default.cyan(scriptRelativePath)}`));
148
+ console.log(chalk_1.default.white(` Network: ${chalk_1.default.cyan(options.url)}`));
149
+ }
150
+ catch (error) {
151
+ deploySpinner.fail('Error al desplegar el smart contract');
152
+ console.error(chalk_1.default.red('\n❌ Error durante el despliegue'));
153
+ if (error.message) {
154
+ console.error(chalk_1.default.red(` ${error.message}`));
155
+ }
156
+ process.exit(1);
157
+ }
158
+ }
159
+ catch (error) {
160
+ console.error(chalk_1.default.red(`\n❌ Error: ${error.message}`));
161
+ process.exit(1);
162
+ }
163
+ });
164
+ //# sourceMappingURL=deploy-sc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-sc.js","sourceRoot":"","sources":["../../src/commands/deploy-sc.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const commander_1 = require("commander");
5
5
  const deploy_1 = require("./commands/deploy");
6
+ const deploy_sc_1 = require("./commands/deploy-sc");
6
7
  const user_1 = require("./commands/user");
7
8
  const config_1 = require("./commands/config");
8
9
  const database_1 = require("./commands/database");
@@ -13,6 +14,7 @@ program
13
14
  .version('1.0.0');
14
15
  // Registrar comandos
15
16
  program.addCommand(deploy_1.deployCommand);
17
+ program.addCommand(deploy_sc_1.deployScCommand);
16
18
  program.addCommand(user_1.userCommand);
17
19
  program.addCommand(config_1.configCommand);
18
20
  program.addCommand(database_1.dbCommand);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,8CAAkD;AAClD,0CAA8C;AAC9C,8CAAkD;AAClD,kDAAgD;AAEhD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,YAAY,CAAC;KAClB,WAAW,CAAC,oCAAoC,CAAC;KACjD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,qBAAqB;AACrB,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,kBAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,oBAAS,CAAC,CAAC;AAE9B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,8CAAkD;AAClD,oDAAuD;AACvD,0CAA8C;AAC9C,8CAAkD;AAClD,kDAAgD;AAEhD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,YAAY,CAAC;KAClB,WAAW,CAAC,oCAAoC,CAAC;KACjD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,qBAAqB;AACrB,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,2BAAe,CAAC,CAAC;AACpC,OAAO,CAAC,UAAU,CAAC,kBAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,oBAAS,CAAC,CAAC;AAE9B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codecrypto-cli",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "CLI tool for CodeCrypto operations",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -0,0 +1,143 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import ora from 'ora';
4
+ import { execSync } from 'child_process';
5
+ import * as fs from 'fs';
6
+ import * as path from 'path';
7
+
8
+ export const deployScCommand = new Command('deploy-sc')
9
+ .description('Deploy smart contract using Foundry')
10
+ .argument('<script-path>', 'Path to the Foundry deployment script')
11
+ .option('-u, --url <rpc-url>', 'RPC URL of the blockchain', 'http://server.codecrypto.academy:8546')
12
+ .option('-k, --private-key <key>', 'Private key for deployment (or use PRIVATE_KEY env var)')
13
+ .option('--verify', 'Verify contract on block explorer', false)
14
+ .option('--broadcast', 'Broadcast the transaction', true)
15
+ .option('--slow', 'Use slow mode for deployment', false)
16
+ .action(async (scriptPath: string, options) => {
17
+ console.log(chalk.blue('\n🔷 CodeCrypto Smart Contract Deployment\n'));
18
+
19
+ try {
20
+ // Resolver ruta del script
21
+ const resolvedScriptPath = path.resolve(scriptPath);
22
+
23
+ // Verificar que el script existe
24
+ if (!fs.existsSync(resolvedScriptPath)) {
25
+ console.error(chalk.red(`❌ Error: El script no existe: ${resolvedScriptPath}`));
26
+ process.exit(1);
27
+ }
28
+
29
+ // Verificar que es un archivo .s.sol (Foundry script)
30
+ if (!resolvedScriptPath.endsWith('.s.sol')) {
31
+ console.warn(chalk.yellow(`⚠️ Advertencia: El archivo no tiene extensión .s.sol`));
32
+ }
33
+
34
+ // Obtener directorio del proyecto (asumimos que el script está en un proyecto Foundry)
35
+ const projectDir = path.dirname(resolvedScriptPath);
36
+
37
+ // Verificar que existe foundry.toml o que estamos en un proyecto Foundry
38
+ const foundryToml = path.join(projectDir, 'foundry.toml');
39
+ const foundryTomlParent = path.join(path.dirname(projectDir), 'foundry.toml');
40
+
41
+ let foundryProjectDir = projectDir;
42
+ if (fs.existsSync(foundryToml)) {
43
+ foundryProjectDir = projectDir;
44
+ } else if (fs.existsSync(foundryTomlParent)) {
45
+ foundryProjectDir = path.dirname(projectDir);
46
+ } else {
47
+ console.warn(chalk.yellow('⚠️ No se encontró foundry.toml, asumiendo que foundry está instalado globalmente'));
48
+ }
49
+
50
+ // Obtener nombre del script relativo al proyecto
51
+ const scriptRelativePath = path.relative(foundryProjectDir, resolvedScriptPath);
52
+
53
+ console.log(chalk.gray('Deployment Configuration:'));
54
+ console.log(chalk.white(` Script: ${chalk.green(scriptRelativePath)}`));
55
+ console.log(chalk.white(` RPC URL: ${chalk.green(options.url)}`));
56
+ console.log(chalk.white(` Broadcast: ${chalk.green(options.broadcast ? 'Yes' : 'No')}`));
57
+ console.log(chalk.white(` Verify: ${options.verify ? chalk.green('Yes') : chalk.yellow('No')}\n`));
58
+
59
+ // Verificar que forge está instalado
60
+ const forgeSpinner = ora('Verificando Foundry...').start();
61
+ try {
62
+ execSync('forge --version', { stdio: 'pipe' });
63
+ forgeSpinner.succeed('Foundry está instalado');
64
+ } catch (error) {
65
+ forgeSpinner.fail('Foundry no está instalado');
66
+ console.error(chalk.red('Por favor instala Foundry: https://book.getfoundry.sh/getting-started/installation'));
67
+ process.exit(1);
68
+ }
69
+
70
+ // Preparar variables de entorno
71
+ const env: Record<string, string> = {
72
+ ...process.env,
73
+ RPC_URL: options.url,
74
+ };
75
+
76
+ // Agregar private key si se proporciona
77
+ if (options.privateKey) {
78
+ env.PRIVATE_KEY = options.privateKey;
79
+ } else if (!process.env.PRIVATE_KEY) {
80
+ console.warn(chalk.yellow('⚠️ No se proporcionó PRIVATE_KEY. Asegúrate de tenerla configurada en el entorno.'));
81
+ }
82
+
83
+ // Construir comando forge script
84
+ const forgeArgs: string[] = [
85
+ 'script',
86
+ scriptRelativePath,
87
+ '--rpc-url',
88
+ options.url,
89
+ ];
90
+
91
+ // Agregar private key si está disponible
92
+ const privateKey = options.privateKey || process.env.PRIVATE_KEY;
93
+ if (privateKey) {
94
+ forgeArgs.push('--private-key', privateKey);
95
+ }
96
+
97
+ if (options.broadcast) {
98
+ forgeArgs.push('--broadcast');
99
+ }
100
+
101
+ if (options.verify) {
102
+ forgeArgs.push('--verify');
103
+ }
104
+
105
+ if (options.slow) {
106
+ forgeArgs.push('--slow');
107
+ }
108
+
109
+ // Ejecutar el script
110
+ const deploySpinner = ora('Desplegando smart contract...').start();
111
+
112
+ try {
113
+ const command = `forge ${forgeArgs.join(' ')}`;
114
+ console.log(chalk.gray(`\nEjecutando: ${command}\n`));
115
+
116
+ execSync(command, {
117
+ cwd: foundryProjectDir,
118
+ stdio: 'inherit',
119
+ env,
120
+ });
121
+
122
+ deploySpinner.succeed('Smart contract desplegado exitosamente');
123
+
124
+ console.log(chalk.green('\n✅ Deployment completed successfully!'));
125
+ console.log(chalk.gray('Contract details:'));
126
+ console.log(chalk.white(` Script: ${chalk.cyan(scriptRelativePath)}`));
127
+ console.log(chalk.white(` Network: ${chalk.cyan(options.url)}`));
128
+
129
+ } catch (error: any) {
130
+ deploySpinner.fail('Error al desplegar el smart contract');
131
+ console.error(chalk.red('\n❌ Error durante el despliegue'));
132
+ if (error.message) {
133
+ console.error(chalk.red(` ${error.message}`));
134
+ }
135
+ process.exit(1);
136
+ }
137
+
138
+ } catch (error: any) {
139
+ console.error(chalk.red(`\n❌ Error: ${error.message}`));
140
+ process.exit(1);
141
+ }
142
+ });
143
+
@@ -37,7 +37,7 @@ export const deployCommand = new Command('deploy')
37
37
  const imageName = `${imageBase}:${version}`;
38
38
  const imageLatest = `${imageBase}:latest`;
39
39
 
40
- console.log(chalk.gray('Deployment Configuration:'));
40
+ console.log(chalk.gray('Deployment Configuration:'));
41
41
  console.log(chalk.white(` Project: ${chalk.green(projectName)}`));
42
42
  console.log(chalk.white(` Version: ${chalk.green(version)}`));
43
43
  console.log(chalk.white(` Image: ${chalk.green(imageName)}`));
@@ -140,7 +140,7 @@ CMD ["node", "server.js"]
140
140
  execSync(`docker buildx create --name ${builderName} --use --bootstrap`, { stdio: 'pipe' });
141
141
  } else {
142
142
  execSync(`docker buildx use ${builderName}`, { stdio: 'pipe' });
143
- }
143
+ }
144
144
  builderSpinner.succeed('Builder ready');
145
145
  } catch (error) {
146
146
  builderSpinner.fail('Failed to setup builder');
package/src/index.ts CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { Command } from 'commander';
4
4
  import { deployCommand } from './commands/deploy';
5
+ import { deployScCommand } from './commands/deploy-sc';
5
6
  import { userCommand } from './commands/user';
6
7
  import { configCommand } from './commands/config';
7
8
  import { dbCommand } from './commands/database';
@@ -15,6 +16,7 @@ program
15
16
 
16
17
  // Registrar comandos
17
18
  program.addCommand(deployCommand);
19
+ program.addCommand(deployScCommand);
18
20
  program.addCommand(userCommand);
19
21
  program.addCommand(configCommand);
20
22
  program.addCommand(dbCommand);