@5ive-tech/cli 1.0.10 → 1.0.11
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 +1 -14
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +10 -10
- package/dist/commands/build.js +4 -4
- package/dist/commands/compile.js +15 -15
- package/dist/commands/config.js +17 -17
- package/dist/commands/deploy.d.ts +1 -1
- package/dist/commands/deploy.js +12 -12
- package/dist/commands/execute.d.ts +1 -1
- package/dist/commands/execute.js +26 -26
- package/dist/commands/help.d.ts +1 -1
- package/dist/commands/help.js +13 -15
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/index.d.ts +1 -5
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +5 -18
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/init.js +32 -32
- package/dist/commands/namespace.js +4 -4
- package/dist/commands/test.d.ts +1 -1
- package/dist/commands/test.js +11 -11
- package/dist/commands/version.d.ts +1 -1
- package/dist/commands/version.js +7 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -62,7 +62,7 @@ If you already have a deployed script account:
|
|
|
62
62
|
|
|
63
63
|
## Program ID Resolution
|
|
64
64
|
|
|
65
|
-
For on-chain commands (`deploy`, `execute`, `
|
|
65
|
+
For on-chain commands (`deploy`, `execute`, `namespace`), program ID precedence is:
|
|
66
66
|
|
|
67
67
|
1. `--program-id` flag
|
|
68
68
|
2. `five.toml` `[deploy].program_id`
|
|
@@ -83,12 +83,6 @@ If none are set, on-chain commands fail fast with a program ID setup error.
|
|
|
83
83
|
|
|
84
84
|
`5ive build` / `--project` use `five.toml` and the generated manifest to resolve artifacts.
|
|
85
85
|
|
|
86
|
-
### One-command deploy+execute (smoke tests)
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
5ive deploy-and-execute build/main.five --target devnet -f 0
|
|
90
|
-
```
|
|
91
|
-
|
|
92
86
|
### Run tests
|
|
93
87
|
|
|
94
88
|
```bash
|
|
@@ -131,13 +125,6 @@ If none are set, on-chain commands fail fast with a program ID setup error.
|
|
|
131
125
|
5ive deploy build/main.five --target devnet --dry-run --format json
|
|
132
126
|
```
|
|
133
127
|
|
|
134
|
-
### Deploy-and-execute for fast integration checks
|
|
135
|
-
|
|
136
|
-
```bash
|
|
137
|
-
5ive deploy-and-execute build/main.five --target devnet -f 0 -p "[100]"
|
|
138
|
-
5ive deploy-and-execute src/main.v --target local --debug --cleanup
|
|
139
|
-
```
|
|
140
|
-
|
|
141
128
|
### Advanced test modes
|
|
142
129
|
|
|
143
130
|
```bash
|
package/dist/cli.d.ts
CHANGED
package/dist/cli.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
//
|
|
2
|
+
// 5IVE CLI entry point.
|
|
3
3
|
import { Command } from 'commander';
|
|
4
4
|
import chalk from 'chalk';
|
|
5
5
|
import { join } from 'path';
|
|
@@ -25,7 +25,7 @@ export class FiveCLI {
|
|
|
25
25
|
}
|
|
26
26
|
setupProgram() {
|
|
27
27
|
this.program
|
|
28
|
-
.name('
|
|
28
|
+
.name('5ive')
|
|
29
29
|
.description('')
|
|
30
30
|
.version(this.getVersion(), '-V, --version', 'Display version information')
|
|
31
31
|
.helpOption(false) // Disable default help to use our custom help
|
|
@@ -39,11 +39,11 @@ export class FiveCLI {
|
|
|
39
39
|
return `
|
|
40
40
|
${section('Quick Start')}
|
|
41
41
|
|
|
42
|
-
${commandExample('
|
|
43
|
-
${commandExample('
|
|
44
|
-
${commandExample('
|
|
45
|
-
${commandExample('
|
|
46
|
-
${commandExample('
|
|
42
|
+
${commandExample('5ive init my-project', 'Create a new 5IVE project')}
|
|
43
|
+
${commandExample('5ive compile script.v', 'Compile 5ive source to bytecode')}
|
|
44
|
+
${commandExample('5ive execute script.v --local', 'Local WASM execution')}
|
|
45
|
+
${commandExample('5ive deploy build/script.five --target mainnet', 'Deploy to Solana mainnet')}
|
|
46
|
+
${commandExample('5ive help <command>', 'Get help for specific command')}
|
|
47
47
|
`;
|
|
48
48
|
});
|
|
49
49
|
// Global options with styling
|
|
@@ -189,7 +189,7 @@ ${commandExample('five help <command>', 'Get help for specific command')}
|
|
|
189
189
|
this.program.outputHelp();
|
|
190
190
|
return;
|
|
191
191
|
}
|
|
192
|
-
// Route `
|
|
192
|
+
// Route `5ive <command> --help` to command-specific help
|
|
193
193
|
const commandName = argv[2];
|
|
194
194
|
const isCommandHelpRequest = Boolean(commandName) &&
|
|
195
195
|
!commandName.startsWith('-') &&
|
|
@@ -198,7 +198,7 @@ ${commandExample('five help <command>', 'Get help for specific command')}
|
|
|
198
198
|
await this.program.parseAsync([argv[0], argv[1], 'help', commandName]);
|
|
199
199
|
return;
|
|
200
200
|
}
|
|
201
|
-
// Top-level help (e.g. `
|
|
201
|
+
// Top-level help (e.g. `5ive --help`)
|
|
202
202
|
if (commandName === '--help' || commandName === '-h') {
|
|
203
203
|
this.program.help();
|
|
204
204
|
return;
|
|
@@ -323,7 +323,7 @@ function levenshteinDistance(a, b) {
|
|
|
323
323
|
return matrix[a.length][b.length];
|
|
324
324
|
}
|
|
325
325
|
/**
|
|
326
|
-
* Create and configure a new
|
|
326
|
+
* Create and configure a new 5IVE CLI instance
|
|
327
327
|
*/
|
|
328
328
|
export function createCLI(config = {}) {
|
|
329
329
|
const defaultConfig = {
|
package/dist/commands/build.js
CHANGED
|
@@ -2,7 +2,7 @@ import { loadProjectConfig } from '../project/ProjectLoader.js';
|
|
|
2
2
|
import { compileCommand } from './compile.js';
|
|
3
3
|
export const buildCommand = {
|
|
4
4
|
name: 'build',
|
|
5
|
-
description: 'Build a
|
|
5
|
+
description: 'Build a 5IVE project from five.toml',
|
|
6
6
|
aliases: ['b'],
|
|
7
7
|
options: [
|
|
8
8
|
{
|
|
@@ -30,15 +30,15 @@ export const buildCommand = {
|
|
|
30
30
|
arguments: [],
|
|
31
31
|
examples: [
|
|
32
32
|
{
|
|
33
|
-
command: '
|
|
33
|
+
command: '5ive build',
|
|
34
34
|
description: 'Build the project in the current directory (discovers five.toml)'
|
|
35
35
|
},
|
|
36
36
|
{
|
|
37
|
-
command: '
|
|
37
|
+
command: '5ive build --project ../my-app',
|
|
38
38
|
description: 'Build a project at the given path'
|
|
39
39
|
},
|
|
40
40
|
{
|
|
41
|
-
command: '
|
|
41
|
+
command: '5ive build --target solana',
|
|
42
42
|
description: 'Override target from five.toml during build'
|
|
43
43
|
}
|
|
44
44
|
],
|
package/dist/commands/compile.js
CHANGED
|
@@ -7,7 +7,7 @@ import { computeHash, loadProjectConfig, writeBuildManifest } from '../project/P
|
|
|
7
7
|
import { success as uiSuccess, error as uiError, section } from '../utils/cli-ui.js';
|
|
8
8
|
export const compileCommand = {
|
|
9
9
|
name: 'compile',
|
|
10
|
-
description: 'Compile
|
|
10
|
+
description: 'Compile 5ive source to bytecode',
|
|
11
11
|
aliases: ['c'],
|
|
12
12
|
options: [
|
|
13
13
|
{
|
|
@@ -82,30 +82,30 @@ export const compileCommand = {
|
|
|
82
82
|
arguments: [
|
|
83
83
|
{
|
|
84
84
|
name: 'input',
|
|
85
|
-
description: 'Input
|
|
85
|
+
description: 'Input 5ive source file(s) or glob pattern (optional with five.toml)',
|
|
86
86
|
required: false,
|
|
87
87
|
variadic: true
|
|
88
88
|
}
|
|
89
89
|
],
|
|
90
90
|
examples: [
|
|
91
91
|
{
|
|
92
|
-
command: '
|
|
93
|
-
description: 'Compile a single
|
|
92
|
+
command: '5ive compile src/main.v',
|
|
93
|
+
description: 'Compile a single 5ive source file'
|
|
94
94
|
},
|
|
95
95
|
{
|
|
96
|
-
command: '
|
|
97
|
-
description: 'Compile all
|
|
96
|
+
command: '5ive compile src/**/*.v -o build/',
|
|
97
|
+
description: 'Compile all 5ive files in src directory'
|
|
98
98
|
},
|
|
99
99
|
{
|
|
100
|
-
command: '
|
|
100
|
+
command: '5ive compile src/main.v -t solana -O 3 --abi main.abi.json',
|
|
101
101
|
description: 'Compile for Solana with maximum optimization and ABI generation'
|
|
102
102
|
},
|
|
103
103
|
{
|
|
104
|
-
command: '
|
|
104
|
+
command: '5ive compile src/main.v --analyze --debug',
|
|
105
105
|
description: 'Compile with debug info and bytecode analysis'
|
|
106
106
|
},
|
|
107
107
|
{
|
|
108
|
-
command: '
|
|
108
|
+
command: '5ive compile src/**/*.v --watch',
|
|
109
109
|
description: 'Watch for changes and auto-recompile'
|
|
110
110
|
}
|
|
111
111
|
],
|
|
@@ -136,7 +136,7 @@ export const compileCommand = {
|
|
|
136
136
|
};
|
|
137
137
|
const { files: inputFiles, mode } = await resolveInputFiles(inputArgs, resolveOptions, logger, projectContext);
|
|
138
138
|
if (inputFiles.length === 0) {
|
|
139
|
-
throw new Error('No
|
|
139
|
+
throw new Error('No 5ive source files found. Provide input paths, or run from a project with five.toml (entry_point/source_dir), or pass --project <path>.');
|
|
140
140
|
}
|
|
141
141
|
// Only show file count in verbose mode
|
|
142
142
|
if (context.options.verbose) {
|
|
@@ -287,7 +287,7 @@ async function resolveInputFiles(args, options, logger, projectContext) {
|
|
|
287
287
|
return { files: uniqueFiles, mode: 'single' };
|
|
288
288
|
}
|
|
289
289
|
/**
|
|
290
|
-
* Validate files without compilation using
|
|
290
|
+
* Validate files without compilation using 5IVE SDK
|
|
291
291
|
*/
|
|
292
292
|
async function validateFiles(inputFiles, context) {
|
|
293
293
|
const { logger } = context;
|
|
@@ -295,7 +295,7 @@ async function validateFiles(inputFiles, context) {
|
|
|
295
295
|
for (const inputFile of inputFiles) {
|
|
296
296
|
try {
|
|
297
297
|
const sourceCode = await readFile(inputFile, 'utf8');
|
|
298
|
-
// Use
|
|
298
|
+
// Use 5IVE SDK to validate bytecode
|
|
299
299
|
const result = await FiveSDK.compile(sourceCode, { debug: false });
|
|
300
300
|
if (result.success) {
|
|
301
301
|
console.log(uiSuccess(`${inputFile} - valid syntax`));
|
|
@@ -428,7 +428,7 @@ async function compileFiles(inputFiles, options, context, projectContext) {
|
|
|
428
428
|
}
|
|
429
429
|
}
|
|
430
430
|
/**
|
|
431
|
-
* Compile a single file using
|
|
431
|
+
* Compile a single file using 5IVE SDK
|
|
432
432
|
*/
|
|
433
433
|
async function compileSingleFile(inputFile, options, context, projectContext, sourceFiles) {
|
|
434
434
|
const { logger } = context;
|
|
@@ -451,7 +451,7 @@ async function compileSingleFile(inputFile, options, context, projectContext, so
|
|
|
451
451
|
metricsOutput: options.metricsOutput,
|
|
452
452
|
flatNamespace: Boolean(options.flatNamespace)
|
|
453
453
|
};
|
|
454
|
-
// Compile using
|
|
454
|
+
// Compile using 5IVE SDK (includes .five format generation)
|
|
455
455
|
// Compile using FiveCompilerWasm directly for rich errors
|
|
456
456
|
const { FiveCompilerWasm } = await import('../wasm/compiler.js');
|
|
457
457
|
const wasmCompiler = new FiveCompilerWasm(logger);
|
|
@@ -845,7 +845,7 @@ function displayOpcodeAnalysis(opcodeUsage, opcodeAnalysis, logger) {
|
|
|
845
845
|
}
|
|
846
846
|
if (opcodeAnalysis && opcodeAnalysis.summary) {
|
|
847
847
|
console.log('\n' + section('Comprehensive Opcode Analysis'));
|
|
848
|
-
console.log(` Available opcodes in
|
|
848
|
+
console.log(` Available opcodes in 5IVE VM: ${opcodeAnalysis.summary.total_opcodes_available}`);
|
|
849
849
|
console.log(` Opcodes used by this script: ${opcodeAnalysis.summary.opcodes_used}`);
|
|
850
850
|
console.log(` Opcodes unused: ${opcodeAnalysis.summary.opcodes_unused}`);
|
|
851
851
|
console.log(` Usage percentage: ${opcodeAnalysis.summary.usage_percentage.toFixed(1)}%`);
|
package/dist/commands/config.js
CHANGED
|
@@ -9,12 +9,12 @@ import { ConfigManager } from '../config/ConfigManager.js';
|
|
|
9
9
|
import { success as uiSuccess, warning as uiWarning, uiColors, section } from '../utils/cli-ui.js';
|
|
10
10
|
export const configCommand = {
|
|
11
11
|
name: 'config',
|
|
12
|
-
description: 'Manage
|
|
12
|
+
description: 'Manage 5IVE CLI configuration',
|
|
13
13
|
aliases: ['cfg'],
|
|
14
14
|
options: [
|
|
15
15
|
{
|
|
16
16
|
flags: '--program-id <id>',
|
|
17
|
-
description: 'Set
|
|
17
|
+
description: 'Set 5IVE VM program ID for current or specified target',
|
|
18
18
|
required: false
|
|
19
19
|
},
|
|
20
20
|
{
|
|
@@ -37,43 +37,43 @@ export const configCommand = {
|
|
|
37
37
|
],
|
|
38
38
|
examples: [
|
|
39
39
|
{
|
|
40
|
-
command: '
|
|
40
|
+
command: '5ive config init',
|
|
41
41
|
description: 'Initialize configuration with interactive setup'
|
|
42
42
|
},
|
|
43
43
|
{
|
|
44
|
-
command: '
|
|
44
|
+
command: '5ive config get',
|
|
45
45
|
description: 'Show all configuration values'
|
|
46
46
|
},
|
|
47
47
|
{
|
|
48
|
-
command: '
|
|
48
|
+
command: '5ive config get target',
|
|
49
49
|
description: 'Show current target network'
|
|
50
50
|
},
|
|
51
51
|
{
|
|
52
|
-
command: '
|
|
52
|
+
command: '5ive config set --target devnet',
|
|
53
53
|
description: 'Set target network to devnet'
|
|
54
54
|
},
|
|
55
55
|
{
|
|
56
|
-
command: '
|
|
56
|
+
command: '5ive config set --keypair ~/.solana/deployer.json',
|
|
57
57
|
description: 'Set keypair file path'
|
|
58
58
|
},
|
|
59
59
|
{
|
|
60
|
-
command: '
|
|
60
|
+
command: '5ive config set --rpc-url https://api.custom.solana.com',
|
|
61
61
|
description: 'Set custom RPC URL for current target'
|
|
62
62
|
},
|
|
63
63
|
{
|
|
64
|
-
command: '
|
|
65
|
-
description: 'Set
|
|
64
|
+
command: '5ive config set --program-id HJ5RXmE94poUCBoUSViKe1bmvs9pH7WBA9rRpCz3pKXg',
|
|
65
|
+
description: 'Set 5IVE VM program ID for current target'
|
|
66
66
|
},
|
|
67
67
|
{
|
|
68
|
-
command: '
|
|
69
|
-
description: 'Set
|
|
68
|
+
command: '5ive config set --program-id <ID> --target devnet',
|
|
69
|
+
description: 'Set 5IVE VM program ID for specific target'
|
|
70
70
|
},
|
|
71
71
|
{
|
|
72
|
-
command: '
|
|
72
|
+
command: '5ive config get programIds',
|
|
73
73
|
description: 'Show all configured program IDs'
|
|
74
74
|
},
|
|
75
75
|
{
|
|
76
|
-
command: '
|
|
76
|
+
command: '5ive config reset',
|
|
77
77
|
description: 'Reset configuration to defaults'
|
|
78
78
|
}
|
|
79
79
|
],
|
|
@@ -121,7 +121,7 @@ async function handleInit(configManager, options, logger) {
|
|
|
121
121
|
return new Promise((resolve) => rl.question(query, resolve));
|
|
122
122
|
};
|
|
123
123
|
// Interactive setup
|
|
124
|
-
console.log('Let\'s configure your
|
|
124
|
+
console.log('Let\'s configure your 5IVE CLI environment:\n');
|
|
125
125
|
// Target network selection
|
|
126
126
|
const targetAnswer = await question(`Select target network (local/devnet/testnet/mainnet) [devnet]: `);
|
|
127
127
|
const target = targetAnswer.trim() || 'devnet';
|
|
@@ -309,7 +309,7 @@ async function handleReset(configManager, options, logger) {
|
|
|
309
309
|
*/
|
|
310
310
|
function formatConfig(config) {
|
|
311
311
|
const lines = [];
|
|
312
|
-
lines.push(chalk.bold('
|
|
312
|
+
lines.push(chalk.bold('5IVE CLI Configuration:'));
|
|
313
313
|
lines.push('');
|
|
314
314
|
// Current target
|
|
315
315
|
lines.push(`${uiColors.info('Target:')} ${config.target}`);
|
|
@@ -389,7 +389,7 @@ function formatValue(value) {
|
|
|
389
389
|
configCommand.options = [
|
|
390
390
|
{
|
|
391
391
|
flags: '--program-id <id>',
|
|
392
|
-
description: 'Set
|
|
392
|
+
description: 'Set 5IVE VM program ID for current or specified target',
|
|
393
393
|
required: false
|
|
394
394
|
},
|
|
395
395
|
{
|
package/dist/commands/deploy.js
CHANGED
|
@@ -10,7 +10,7 @@ import { FiveFileManager } from '../utils/FiveFileManager.js';
|
|
|
10
10
|
import { computeHash, loadBuildManifest, loadProjectConfig } from '../project/ProjectLoader.js';
|
|
11
11
|
import { section, keyValue, success as uiSuccess, error as uiError, isTTY } from '../utils/cli-ui.js';
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
13
|
+
* 5IVE deploy command implementation
|
|
14
14
|
*/
|
|
15
15
|
export const deployCommand = {
|
|
16
16
|
name: 'deploy',
|
|
@@ -34,7 +34,7 @@ export const deployCommand = {
|
|
|
34
34
|
},
|
|
35
35
|
{
|
|
36
36
|
flags: '--program-id <pubkey>',
|
|
37
|
-
description: 'Specify the
|
|
37
|
+
description: 'Specify the 5IVE VM program ID to be the owner of the new script account',
|
|
38
38
|
required: false
|
|
39
39
|
},
|
|
40
40
|
{
|
|
@@ -112,29 +112,29 @@ export const deployCommand = {
|
|
|
112
112
|
arguments: [
|
|
113
113
|
{
|
|
114
114
|
name: 'bytecode',
|
|
115
|
-
description: '
|
|
115
|
+
description: '5IVE VM artifact file (.five or .bin)',
|
|
116
116
|
required: true
|
|
117
117
|
}
|
|
118
118
|
],
|
|
119
119
|
examples: [
|
|
120
120
|
{
|
|
121
|
-
command: '
|
|
121
|
+
command: '5ive deploy program.five',
|
|
122
122
|
description: 'Deploy to configured target (uses config defaults)'
|
|
123
123
|
},
|
|
124
124
|
{
|
|
125
|
-
command: '
|
|
125
|
+
command: '5ive deploy program.five --target mainnet',
|
|
126
126
|
description: 'Deploy to mainnet (overrides config)'
|
|
127
127
|
},
|
|
128
128
|
{
|
|
129
|
-
command: '
|
|
129
|
+
command: '5ive deploy program.five --keypair deployer.json --target devnet',
|
|
130
130
|
description: 'Deploy to devnet with specific keypair'
|
|
131
131
|
},
|
|
132
132
|
{
|
|
133
|
-
command: '
|
|
133
|
+
command: '5ive deploy program.five --dry-run --format json',
|
|
134
134
|
description: 'Simulate deployment with JSON output'
|
|
135
135
|
},
|
|
136
136
|
{
|
|
137
|
-
command: '
|
|
137
|
+
command: '5ive deploy large-program.bin --optimized --progress',
|
|
138
138
|
description: 'Deploy large program with optimized instructions (50-70% fewer transactions)'
|
|
139
139
|
}
|
|
140
140
|
],
|
|
@@ -183,7 +183,7 @@ export const deployCommand = {
|
|
|
183
183
|
// Show target context prefix
|
|
184
184
|
const targetPrefix = ConfigManager.getTargetPrefix(config.target);
|
|
185
185
|
if (context.options.verbose) {
|
|
186
|
-
logger.info(`${targetPrefix} Deploying
|
|
186
|
+
logger.info(`${targetPrefix} Deploying 5IVE VM bytecode`);
|
|
187
187
|
}
|
|
188
188
|
// Show config details if enabled
|
|
189
189
|
if (config.showConfig && context.options.verbose) {
|
|
@@ -226,7 +226,7 @@ export const deployCommand = {
|
|
|
226
226
|
}
|
|
227
227
|
}
|
|
228
228
|
}
|
|
229
|
-
// Validate bytecode using
|
|
229
|
+
// Validate bytecode using 5IVE SDK
|
|
230
230
|
if (context.options.verbose) {
|
|
231
231
|
logger.info('Validating bytecode...');
|
|
232
232
|
}
|
|
@@ -607,8 +607,8 @@ async function executeDeployment(deploymentOptions, options, context, config) {
|
|
|
607
607
|
if (context.options.debug) {
|
|
608
608
|
logger.debug(`deployer: ${deployerKeypair.publicKey.toString()}`);
|
|
609
609
|
}
|
|
610
|
-
// Deploy using
|
|
611
|
-
const spinner = isTTY() ? ora('Deploying via
|
|
610
|
+
// Deploy using 5IVE SDK
|
|
611
|
+
const spinner = isTTY() ? ora('Deploying via 5IVE SDK...').start() : null;
|
|
612
612
|
// Auto-detect large programs and use appropriate deployment method
|
|
613
613
|
const bytecodeArray = new Uint8Array(deploymentOptions.bytecode);
|
|
614
614
|
const isLargeProgram = bytecodeArray.length > 800 || options.forceChunked;
|
package/dist/commands/execute.js
CHANGED
|
@@ -9,11 +9,11 @@ import { FiveFileManager } from '../utils/FiveFileManager.js';
|
|
|
9
9
|
import { loadBuildManifest, loadProjectConfig } from '../project/ProjectLoader.js';
|
|
10
10
|
import { section, success as uiSuccess, error as uiError, hint, keyValue } from '../utils/cli-ui.js';
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* 5IVE execute command implementation
|
|
13
13
|
*/
|
|
14
14
|
export const executeCommand = {
|
|
15
15
|
name: 'execute',
|
|
16
|
-
description: 'Execute
|
|
16
|
+
description: 'Execute 5IVE VM bytecode',
|
|
17
17
|
aliases: ['exec', 'run'],
|
|
18
18
|
options: [
|
|
19
19
|
{
|
|
@@ -104,7 +104,7 @@ export const executeCommand = {
|
|
|
104
104
|
},
|
|
105
105
|
{
|
|
106
106
|
flags: '--program-id <id>',
|
|
107
|
-
description: 'Override
|
|
107
|
+
description: 'Override 5IVE VM program ID (for custom deployments)',
|
|
108
108
|
required: false
|
|
109
109
|
},
|
|
110
110
|
{
|
|
@@ -116,42 +116,42 @@ export const executeCommand = {
|
|
|
116
116
|
arguments: [
|
|
117
117
|
{
|
|
118
118
|
name: 'bytecode',
|
|
119
|
-
description: '
|
|
119
|
+
description: '5IVE VM artifact file (.five/.bin) or script account ID',
|
|
120
120
|
required: false
|
|
121
121
|
}
|
|
122
122
|
],
|
|
123
123
|
examples: [
|
|
124
124
|
{
|
|
125
|
-
command: '
|
|
125
|
+
command: '5ive execute program.five',
|
|
126
126
|
description: 'Execute using configured target (default)'
|
|
127
127
|
},
|
|
128
128
|
{
|
|
129
|
-
command: '
|
|
129
|
+
command: '5ive execute program.five --local',
|
|
130
130
|
description: 'Force local execution (overrides config)'
|
|
131
131
|
},
|
|
132
132
|
{
|
|
133
|
-
command: '
|
|
133
|
+
command: '5ive execute program.five --target devnet',
|
|
134
134
|
description: 'Execute on devnet (overrides config)'
|
|
135
135
|
},
|
|
136
136
|
{
|
|
137
|
-
command: '
|
|
137
|
+
command: '5ive execute program.five -f 0 -p params.json',
|
|
138
138
|
description: 'Execute function 0 with parameters'
|
|
139
139
|
},
|
|
140
140
|
{
|
|
141
|
-
command: '
|
|
141
|
+
command: '5ive execute program.five --validate --trace --format json',
|
|
142
142
|
description: 'Validate and execute with JSON trace output'
|
|
143
143
|
},
|
|
144
144
|
{
|
|
145
|
-
command: '
|
|
146
|
-
description: 'Compile and execute
|
|
145
|
+
command: '5ive execute src/main.v -f 0 --local --params "[10, 5]"',
|
|
146
|
+
description: 'Compile and execute 5ive source locally with parameters'
|
|
147
147
|
},
|
|
148
148
|
{
|
|
149
|
-
command: '
|
|
149
|
+
command: '5ive execute --script-account 459SanqV8nQDDYW3gWq5JZZAPCMYs78Z5ZnrtH4eFffw -f 0',
|
|
150
150
|
description: 'Execute deployed script by account ID on-chain'
|
|
151
151
|
},
|
|
152
152
|
{
|
|
153
|
-
command: '
|
|
154
|
-
description: 'Execute with custom
|
|
153
|
+
command: '5ive execute --script-account 459SanqV8nQDDYW3gWq5JZZAPCMYs78Z5ZnrtH4eFffw -f 0 --program-id 9MHGM73eszNUtmJS6ypDCESguxWhCBnkUPpTMyLGqURH',
|
|
154
|
+
description: 'Execute with custom 5IVE VM program ID (for custom deployments)'
|
|
155
155
|
}
|
|
156
156
|
],
|
|
157
157
|
handler: async (args, options, context) => {
|
|
@@ -208,10 +208,10 @@ export const executeCommand = {
|
|
|
208
208
|
logger.info(`${targetPrefix} Executing deployed script account on-chain`);
|
|
209
209
|
}
|
|
210
210
|
else if (executeLocally) {
|
|
211
|
-
logger.info(`${ConfigManager.getTargetPrefix('wasm')} Executing
|
|
211
|
+
logger.info(`${ConfigManager.getTargetPrefix('wasm')} Executing 5IVE VM bytecode locally`);
|
|
212
212
|
}
|
|
213
213
|
else {
|
|
214
|
-
logger.info(`${targetPrefix} Executing
|
|
214
|
+
logger.info(`${targetPrefix} Executing 5IVE VM bytecode`);
|
|
215
215
|
}
|
|
216
216
|
}
|
|
217
217
|
// Show config details only if explicitly enabled and verbose
|
|
@@ -237,20 +237,20 @@ export const executeCommand = {
|
|
|
237
237
|
}
|
|
238
238
|
};
|
|
239
239
|
/**
|
|
240
|
-
* Execute locally using
|
|
240
|
+
* Execute locally using 5IVE SDK
|
|
241
241
|
*/
|
|
242
242
|
async function executeLocallyWithSDK(inputFile, options, context, config) {
|
|
243
243
|
const { logger } = context;
|
|
244
244
|
// Initialize for local execution
|
|
245
245
|
if (context.options.verbose) {
|
|
246
246
|
const spinner = ora('Preparing local execution...').start();
|
|
247
|
-
spinner.succeed('
|
|
247
|
+
spinner.succeed('5IVE SDK ready for local execution');
|
|
248
248
|
}
|
|
249
249
|
try {
|
|
250
250
|
let result;
|
|
251
251
|
if (extname(inputFile) === '.v') {
|
|
252
|
-
// Compile and execute
|
|
253
|
-
logger.info(`Compiling and executing
|
|
252
|
+
// Compile and execute 5ive source file
|
|
253
|
+
logger.info(`Compiling and executing 5ive source: ${inputFile}`);
|
|
254
254
|
const sourceCode = await readFile(inputFile, 'utf8');
|
|
255
255
|
// For .v files, we don't have ABI yet, so we'll just use the provided function or default to 0
|
|
256
256
|
// The real fix here would be to compile first, extract ABI, then auto-detect the public function
|
|
@@ -338,7 +338,7 @@ async function executeLocallyWithSDK(inputFile, options, context, config) {
|
|
|
338
338
|
}
|
|
339
339
|
}
|
|
340
340
|
/**
|
|
341
|
-
* Execute deployed script account on-chain using
|
|
341
|
+
* Execute deployed script account on-chain using 5IVE SDK
|
|
342
342
|
*/
|
|
343
343
|
async function executeScriptAccount(scriptAccount, options, context, config) {
|
|
344
344
|
const { logger } = context;
|
|
@@ -445,13 +445,13 @@ async function executeScriptAccount(scriptAccount, options, context, config) {
|
|
|
445
445
|
}
|
|
446
446
|
}
|
|
447
447
|
/**
|
|
448
|
-
* Execute on-chain using
|
|
448
|
+
* Execute on-chain using 5IVE SDK
|
|
449
449
|
*/
|
|
450
450
|
async function executeOnChain(inputFile, options, context, config) {
|
|
451
451
|
const { logger } = context;
|
|
452
452
|
const { Connection, Keypair } = await import('@solana/web3.js');
|
|
453
453
|
const targetPrefix = ConfigManager.getTargetPrefix(config.target);
|
|
454
|
-
logger.info(`${targetPrefix} On-chain execution using
|
|
454
|
+
logger.info(`${targetPrefix} On-chain execution using 5IVE SDK`);
|
|
455
455
|
try {
|
|
456
456
|
// Show configuration
|
|
457
457
|
console.log('\n' + section('Execution Configuration'));
|
|
@@ -504,8 +504,8 @@ async function executeOnChain(inputFile, options, context, config) {
|
|
|
504
504
|
logger.debug(`Could not fetch VM fees: ${e instanceof Error ? e.message : String(e)}`);
|
|
505
505
|
}
|
|
506
506
|
}
|
|
507
|
-
// Execute using
|
|
508
|
-
const spinner = ora('Executing on-chain via
|
|
507
|
+
// Execute using 5IVE SDK
|
|
508
|
+
const spinner = ora('Executing on-chain via 5IVE SDK...').start();
|
|
509
509
|
const executeOptions = {
|
|
510
510
|
debug: options.debug || context.options.debug || false,
|
|
511
511
|
network: config.target,
|
|
@@ -635,7 +635,7 @@ function displayOnChainExecutionResult(result, options, logger) {
|
|
|
635
635
|
if (result.logs && result.logs.length > 0) {
|
|
636
636
|
console.log('\n' + section('Logs'));
|
|
637
637
|
result.logs.forEach((log) => {
|
|
638
|
-
// Filter out system logs and show only
|
|
638
|
+
// Filter out system logs and show only 5IVE VM logs
|
|
639
639
|
if (log.includes('Five') || log.includes('success') || log.includes('error')) {
|
|
640
640
|
console.log(` ${log}`);
|
|
641
641
|
}
|
package/dist/commands/help.d.ts
CHANGED
package/dist/commands/help.js
CHANGED
|
@@ -5,7 +5,7 @@ import { getNetworkDisplay } from '../utils/ascii-art.js';
|
|
|
5
5
|
import { ConfigManager } from '../config/ConfigManager.js';
|
|
6
6
|
import { commands, getCommand, getCommandsByCategory } from './index.js';
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* 5IVE help command implementation
|
|
9
9
|
*/
|
|
10
10
|
export const helpCommand = {
|
|
11
11
|
name: 'help',
|
|
@@ -32,15 +32,15 @@ export const helpCommand = {
|
|
|
32
32
|
],
|
|
33
33
|
examples: [
|
|
34
34
|
{
|
|
35
|
-
command: '
|
|
35
|
+
command: '5ive help',
|
|
36
36
|
description: 'Show general help'
|
|
37
37
|
},
|
|
38
38
|
{
|
|
39
|
-
command: '
|
|
39
|
+
command: '5ive help compile',
|
|
40
40
|
description: 'Show help for compile command'
|
|
41
41
|
},
|
|
42
42
|
{
|
|
43
|
-
command: '
|
|
43
|
+
command: '5ive help --detailed',
|
|
44
44
|
description: 'Show detailed help with examples'
|
|
45
45
|
}
|
|
46
46
|
],
|
|
@@ -82,7 +82,7 @@ async function showCommandHelp(commandName, options, context) {
|
|
|
82
82
|
// Usage
|
|
83
83
|
console.log(chalk.bold('Usage:'));
|
|
84
84
|
const usage = buildUsageString(command);
|
|
85
|
-
console.log(` ${uiColors.info('
|
|
85
|
+
console.log(` ${uiColors.info('5ive')} ${uiColors.accent(command.name)} ${usage}`);
|
|
86
86
|
console.log();
|
|
87
87
|
// Arguments
|
|
88
88
|
if (command.arguments && command.arguments.length > 0) {
|
|
@@ -122,7 +122,7 @@ async function showGeneralHelp(options, context) {
|
|
|
122
122
|
// Show simple header unless disabled
|
|
123
123
|
if (!options.noBanner) {
|
|
124
124
|
console.log(brandLine());
|
|
125
|
-
console.log(uiColors.muted('
|
|
125
|
+
console.log(uiColors.muted('5IVE CLI - Ultra-fast bytecode VM for Solana'));
|
|
126
126
|
console.log();
|
|
127
127
|
}
|
|
128
128
|
// Show current configuration
|
|
@@ -144,11 +144,11 @@ async function showGeneralHelp(options, context) {
|
|
|
144
144
|
console.log(section('Quick Start'));
|
|
145
145
|
console.log();
|
|
146
146
|
const quickStartExamples = [
|
|
147
|
-
'
|
|
148
|
-
'
|
|
149
|
-
'
|
|
150
|
-
'
|
|
151
|
-
'
|
|
147
|
+
'5ive init my-project Create a new 5IVE project',
|
|
148
|
+
'5ive compile script.v Compile 5ive source to bytecode',
|
|
149
|
+
'5ive execute script.five --local Test execution locally',
|
|
150
|
+
'5ive deploy script.five --target devnet Deploy to Solana devnet',
|
|
151
|
+
'5ive config get View current configuration'
|
|
152
152
|
];
|
|
153
153
|
for (const example of quickStartExamples) {
|
|
154
154
|
const [cmd, desc] = example.split(' ');
|
|
@@ -157,9 +157,8 @@ async function showGeneralHelp(options, context) {
|
|
|
157
157
|
console.log();
|
|
158
158
|
}
|
|
159
159
|
console.log(section('Need More Help'));
|
|
160
|
-
console.log(keyValue('
|
|
161
|
-
console.log(keyValue('
|
|
162
|
-
console.log(keyValue('docs', 'https://github.com/five-vm/five-cli#readme'));
|
|
160
|
+
console.log(keyValue('5ive help <command>', 'Command-specific help'));
|
|
161
|
+
console.log(keyValue('5ive --verbose', 'Detailed output'));
|
|
163
162
|
}
|
|
164
163
|
/**
|
|
165
164
|
* Show current configuration status
|
|
@@ -171,7 +170,6 @@ async function showCurrentConfig(context) {
|
|
|
171
170
|
const target = config.target;
|
|
172
171
|
const configInfo = [
|
|
173
172
|
`${chalk.bold('Status:')} ${uiColors.success('Ready')}`,
|
|
174
|
-
`${chalk.bold('Version:')} ${uiColors.info('1.2.2')}`,
|
|
175
173
|
`${chalk.bold('Network:')} ${getNetworkDisplay(target)}`,
|
|
176
174
|
`${chalk.bold('Debug:')} ${context.options.debug ? uiColors.warn('ON') : uiColors.muted('OFF')}`
|
|
177
175
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/index.d.ts
CHANGED
|
@@ -2,14 +2,10 @@ import { CommandDefinition } from '../types.js';
|
|
|
2
2
|
import { compileCommand } from './compile.js';
|
|
3
3
|
import { executeCommand } from './execute.js';
|
|
4
4
|
import { initCommand } from './init.js';
|
|
5
|
-
import { analyzeCommand } from './analyze.js';
|
|
6
|
-
import { fmtCommand } from './fmt.js';
|
|
7
5
|
import { deployCommand } from './deploy.js';
|
|
8
|
-
import { deployAndExecuteCommand } from './deploy-and-execute.js';
|
|
9
6
|
import { testCommand } from './test.js';
|
|
10
7
|
import { versionCommand } from './version.js';
|
|
11
8
|
import { configCommand } from './config.js';
|
|
12
|
-
import { localCommand } from './local.js';
|
|
13
9
|
import { helpCommand } from './help.js';
|
|
14
10
|
import { buildCommand } from './build.js';
|
|
15
11
|
import { namespaceCommand } from './namespace.js';
|
|
@@ -41,5 +37,5 @@ export declare function validateCommand(cmd: CommandDefinition): boolean;
|
|
|
41
37
|
* Register a new command dynamically
|
|
42
38
|
*/
|
|
43
39
|
export declare function registerCommand(cmd: CommandDefinition): boolean;
|
|
44
|
-
export { helpCommand, compileCommand, buildCommand, executeCommand, deployCommand, namespaceCommand,
|
|
40
|
+
export { helpCommand, initCommand, configCommand, compileCommand, buildCommand, executeCommand, deployCommand, namespaceCommand, testCommand, versionCommand };
|
|
45
41
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,iBAAiB,EAWvC,CAAC;AAEF;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAItE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAW7C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAO3E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAgB7C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAc/D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAY/D;AAGD,OAAO,EACL,WAAW,EACX,WAAW,EACX,aAAa,EACb,cAAc,EACd,YAAY,EACZ,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,cAAc,EACf,CAAC"}
|
package/dist/commands/index.js
CHANGED
|
@@ -3,17 +3,11 @@ import { section, uiColors } from '../utils/cli-ui.js';
|
|
|
3
3
|
import { compileCommand } from './compile.js';
|
|
4
4
|
import { executeCommand } from './execute.js';
|
|
5
5
|
import { initCommand } from './init.js';
|
|
6
|
-
import { analyzeCommand } from './analyze.js';
|
|
7
|
-
import { fmtCommand } from './fmt.js';
|
|
8
6
|
import { deployCommand } from './deploy.js';
|
|
9
|
-
import { deployAndExecuteCommand } from './deploy-and-execute.js';
|
|
10
7
|
import { testCommand } from './test.js';
|
|
11
8
|
import { versionCommand } from './version.js';
|
|
12
9
|
import { configCommand } from './config.js';
|
|
13
|
-
import { localCommand } from './local.js';
|
|
14
10
|
import { helpCommand } from './help.js';
|
|
15
|
-
import { templateCommand } from './template.js';
|
|
16
|
-
import { donateCommand } from './donate.js';
|
|
17
11
|
import { buildCommand } from './build.js';
|
|
18
12
|
import { namespaceCommand } from './namespace.js';
|
|
19
13
|
/**
|
|
@@ -21,20 +15,14 @@ import { namespaceCommand } from './namespace.js';
|
|
|
21
15
|
*/
|
|
22
16
|
export const commands = [
|
|
23
17
|
helpCommand, // Put help first for priority
|
|
24
|
-
|
|
25
|
-
|
|
18
|
+
initCommand,
|
|
19
|
+
configCommand,
|
|
26
20
|
compileCommand,
|
|
27
21
|
buildCommand,
|
|
28
22
|
executeCommand,
|
|
29
23
|
deployCommand,
|
|
30
24
|
namespaceCommand,
|
|
31
|
-
deployAndExecuteCommand,
|
|
32
|
-
localCommand,
|
|
33
|
-
configCommand,
|
|
34
|
-
initCommand,
|
|
35
25
|
testCommand,
|
|
36
|
-
analyzeCommand,
|
|
37
|
-
fmtCommand,
|
|
38
26
|
versionCommand
|
|
39
27
|
];
|
|
40
28
|
/**
|
|
@@ -61,9 +49,8 @@ export function getAllCommandNames() {
|
|
|
61
49
|
*/
|
|
62
50
|
export function getCommandsByCategory() {
|
|
63
51
|
return {
|
|
64
|
-
'Development': [compileCommand, buildCommand, executeCommand,
|
|
65
|
-
'Deployment': [deployCommand, namespaceCommand
|
|
66
|
-
'Support': [donateCommand],
|
|
52
|
+
'Development': [initCommand, compileCommand, buildCommand, executeCommand, testCommand],
|
|
53
|
+
'Deployment': [deployCommand, namespaceCommand],
|
|
67
54
|
'Configuration': [configCommand],
|
|
68
55
|
'Utility': [versionCommand, helpCommand],
|
|
69
56
|
};
|
|
@@ -115,5 +102,5 @@ export function registerCommand(cmd) {
|
|
|
115
102
|
return true;
|
|
116
103
|
}
|
|
117
104
|
// Export individual commands for direct access
|
|
118
|
-
export { helpCommand, compileCommand, buildCommand, executeCommand, deployCommand, namespaceCommand,
|
|
105
|
+
export { helpCommand, initCommand, configCommand, compileCommand, buildCommand, executeCommand, deployCommand, namespaceCommand, testCommand, versionCommand };
|
|
119
106
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAGlB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.js
CHANGED
|
@@ -61,19 +61,19 @@ export const initCommand = {
|
|
|
61
61
|
],
|
|
62
62
|
examples: [
|
|
63
63
|
{
|
|
64
|
-
command: '
|
|
64
|
+
command: '5ive init',
|
|
65
65
|
description: 'Initialize project in current directory'
|
|
66
66
|
},
|
|
67
67
|
{
|
|
68
|
-
command: '
|
|
68
|
+
command: '5ive init my-project',
|
|
69
69
|
description: 'Create new project in my-project directory'
|
|
70
70
|
},
|
|
71
71
|
{
|
|
72
|
-
command: '
|
|
72
|
+
command: '5ive init my-defi --template defi --target solana',
|
|
73
73
|
description: 'Create DeFi project targeting Solana'
|
|
74
74
|
},
|
|
75
75
|
{
|
|
76
|
-
command: '
|
|
76
|
+
command: '5ive init game --template game --no-git',
|
|
77
77
|
description: 'Create game project without git initialization'
|
|
78
78
|
}
|
|
79
79
|
],
|
|
@@ -83,7 +83,7 @@ export const initCommand = {
|
|
|
83
83
|
// Determine project directory
|
|
84
84
|
const projectDir = args[0] || process.cwd();
|
|
85
85
|
const projectName = options.name || (args[0] ? args[0] : 'five-project');
|
|
86
|
-
logger.info(`Initializing
|
|
86
|
+
logger.info(`Initializing 5IVE VM project: ${projectName}`);
|
|
87
87
|
// Check if directory exists and is empty
|
|
88
88
|
await checkProjectDirectory(projectDir, logger);
|
|
89
89
|
// Create project structure
|
|
@@ -124,7 +124,7 @@ async function checkProjectDirectory(projectDir, logger) {
|
|
|
124
124
|
const files = await readdir(projectDir);
|
|
125
125
|
if (files.length > 0) {
|
|
126
126
|
logger.warn(`Directory ${projectDir} is not empty`);
|
|
127
|
-
// Check for existing
|
|
127
|
+
// Check for existing 5IVE project
|
|
128
128
|
const hasConfig = files.includes('five.toml') || files.includes('package.json');
|
|
129
129
|
if (hasConfig) {
|
|
130
130
|
throw new Error('Directory already contains a project configuration');
|
|
@@ -173,7 +173,7 @@ async function generateProjectConfig(projectDir, projectName, options) {
|
|
|
173
173
|
const config = {
|
|
174
174
|
name: projectName,
|
|
175
175
|
version: '0.1.0',
|
|
176
|
-
description: options.description || `A
|
|
176
|
+
description: options.description || `A 5IVE VM project`,
|
|
177
177
|
sourceDir: 'src',
|
|
178
178
|
buildDir: 'build',
|
|
179
179
|
target: options.target,
|
|
@@ -191,16 +191,16 @@ async function generatePackageJson(projectDir, projectName, options) {
|
|
|
191
191
|
const packageJson = {
|
|
192
192
|
name: projectName.toLowerCase().replace(/[^a-z0-9-]/g, '-'),
|
|
193
193
|
version: '0.1.0',
|
|
194
|
-
description: options.description || 'A
|
|
194
|
+
description: options.description || 'A 5IVE VM project',
|
|
195
195
|
author: options.author || '',
|
|
196
196
|
license: options.license,
|
|
197
197
|
scripts: {
|
|
198
|
-
build: '
|
|
199
|
-
test: '
|
|
200
|
-
deploy: '
|
|
201
|
-
'build:release': '
|
|
202
|
-
'build:debug': '
|
|
203
|
-
'watch': '
|
|
198
|
+
build: '5ive compile src/**/*.v',
|
|
199
|
+
test: '5ive test',
|
|
200
|
+
deploy: '5ive deploy',
|
|
201
|
+
'build:release': '5ive compile src/**/*.v -O 3',
|
|
202
|
+
'build:debug': '5ive compile src/**/*.v --debug',
|
|
203
|
+
'watch': '5ive compile src/**/*.v --watch'
|
|
204
204
|
},
|
|
205
205
|
devDependencies: {
|
|
206
206
|
'five-cli': '^1.0.0'
|
|
@@ -241,7 +241,7 @@ async function initializeGitRepository(projectDir) {
|
|
|
241
241
|
}
|
|
242
242
|
}
|
|
243
243
|
function generateTomlConfig(config) {
|
|
244
|
-
return `#
|
|
244
|
+
return `# 5IVE VM Project Configuration
|
|
245
245
|
[project]
|
|
246
246
|
name = "${config.name}"
|
|
247
247
|
version = "${config.version}"
|
|
@@ -272,7 +272,7 @@ network = "devnet"
|
|
|
272
272
|
}
|
|
273
273
|
function getTemplateMainFile(template) {
|
|
274
274
|
const templates = {
|
|
275
|
-
basic: `// Basic
|
|
275
|
+
basic: `// Basic 5IVE VM Program
|
|
276
276
|
script BasicProgram {
|
|
277
277
|
// Program initialization
|
|
278
278
|
init() {
|
|
@@ -288,7 +288,7 @@ script BasicProgram {
|
|
|
288
288
|
|
|
289
289
|
// Main entry point
|
|
290
290
|
instruction main() {
|
|
291
|
-
log("Hello,
|
|
291
|
+
log("Hello, 5IVE VM!");
|
|
292
292
|
42 // Return value
|
|
293
293
|
}
|
|
294
294
|
|
|
@@ -303,7 +303,7 @@ instruction test_add() {
|
|
|
303
303
|
assert_eq(result, 5, "Addition should work");
|
|
304
304
|
}
|
|
305
305
|
`,
|
|
306
|
-
defi: `// DeFi Protocol on
|
|
306
|
+
defi: `// DeFi Protocol on 5IVE VM
|
|
307
307
|
script DefiProtocol {
|
|
308
308
|
init() {
|
|
309
309
|
log("DeFi Protocol initialized");
|
|
@@ -361,7 +361,7 @@ instruction add_liquidity(amount_a: u64, amount_b: u64) -> u64 {
|
|
|
361
361
|
shares
|
|
362
362
|
}
|
|
363
363
|
`,
|
|
364
|
-
nft: `// NFT Collection on
|
|
364
|
+
nft: `// NFT Collection on 5IVE VM
|
|
365
365
|
script NFTCollection {
|
|
366
366
|
init() {
|
|
367
367
|
log("NFT Collection initialized");
|
|
@@ -390,7 +390,7 @@ instruction mint_nft(to: pubkey, metadata_uri: string) -> pubkey {
|
|
|
390
390
|
let nft_id = derive_pda("nft", [to, get_clock().slot]);
|
|
391
391
|
|
|
392
392
|
let metadata = NFTMetadata {
|
|
393
|
-
name: "
|
|
393
|
+
name: "5IVE VM NFT",
|
|
394
394
|
symbol: "FVM",
|
|
395
395
|
uri: metadata_uri,
|
|
396
396
|
creator: get_signer(),
|
|
@@ -423,7 +423,7 @@ event TransferEvent {
|
|
|
423
423
|
nft_id: pubkey
|
|
424
424
|
}
|
|
425
425
|
`,
|
|
426
|
-
game: `// Game Logic on
|
|
426
|
+
game: `// Game Logic on 5IVE VM
|
|
427
427
|
script GameEngine {
|
|
428
428
|
init() {
|
|
429
429
|
log("Game Engine initialized");
|
|
@@ -503,7 +503,7 @@ event LevelUp {
|
|
|
503
503
|
new_level: u64
|
|
504
504
|
}
|
|
505
505
|
`,
|
|
506
|
-
dao: `// DAO Governance on
|
|
506
|
+
dao: `// DAO Governance on 5IVE VM
|
|
507
507
|
script DAOGovernance {
|
|
508
508
|
init() {
|
|
509
509
|
log("DAO Governance initialized");
|
|
@@ -719,16 +719,16 @@ pub test_proposal_threshold(token_balance: u64, threshold: u64) -> bool {
|
|
|
719
719
|
* Generate README content
|
|
720
720
|
*/
|
|
721
721
|
function generateReadme(template) {
|
|
722
|
-
return `#
|
|
722
|
+
return `# 5IVE VM Project
|
|
723
723
|
|
|
724
|
-
A ${template} project built with
|
|
724
|
+
A ${template} project built with 5IVE VM.
|
|
725
725
|
|
|
726
726
|
## Getting Started
|
|
727
727
|
|
|
728
728
|
### Prerequisites
|
|
729
729
|
|
|
730
730
|
- Node.js 18+
|
|
731
|
-
-
|
|
731
|
+
- 5IVE CLI: \`npm install -g five-cli\`
|
|
732
732
|
|
|
733
733
|
### Building
|
|
734
734
|
|
|
@@ -747,7 +747,7 @@ npm run build:debug
|
|
|
747
747
|
|
|
748
748
|
#### Discover and Run Tests
|
|
749
749
|
|
|
750
|
-
|
|
750
|
+
5IVE CLI automatically discovers test functions from your \`.v\` files:
|
|
751
751
|
|
|
752
752
|
\`\`\`bash
|
|
753
753
|
# Run all tests
|
|
@@ -804,7 +804,7 @@ npm run deploy
|
|
|
804
804
|
|
|
805
805
|
## Project Structure
|
|
806
806
|
|
|
807
|
-
- \`src/\` -
|
|
807
|
+
- \`src/\` - 5IVE VM source files (.v)
|
|
808
808
|
- \`tests/\` - Test files (.v files with test_* functions)
|
|
809
809
|
- \`build/\` - Compiled bytecode
|
|
810
810
|
- \`docs/\` - Documentation
|
|
@@ -812,7 +812,7 @@ npm run deploy
|
|
|
812
812
|
|
|
813
813
|
## Multi-File Projects
|
|
814
814
|
|
|
815
|
-
If your project uses multiple modules with \`use\` or \`import\` statements,
|
|
815
|
+
If your project uses multiple modules with \`use\` or \`import\` statements, 5IVE CLI automatically handles:
|
|
816
816
|
|
|
817
817
|
\`\`\`bash
|
|
818
818
|
# Automatic discovery of imported modules
|
|
@@ -824,8 +824,8 @@ five build
|
|
|
824
824
|
|
|
825
825
|
## Learn More
|
|
826
826
|
|
|
827
|
-
- [
|
|
828
|
-
- [
|
|
827
|
+
- [5IVE VM Documentation](https://five-vm.dev)
|
|
828
|
+
- [5IVE VM GitHub](https://github.com/five-vm)
|
|
829
829
|
- [Multi-File Compilation Guide](./docs/multi-file.md)
|
|
830
830
|
- [Examples](./examples)
|
|
831
831
|
|
|
@@ -864,7 +864,7 @@ yarn-error.log*
|
|
|
864
864
|
.DS_Store
|
|
865
865
|
Thumbs.db
|
|
866
866
|
|
|
867
|
-
#
|
|
867
|
+
# 5IVE VM
|
|
868
868
|
.five/cache/
|
|
869
869
|
*.debug.bin
|
|
870
870
|
`;
|
|
@@ -882,6 +882,6 @@ function displaySuccessMessage(projectDir, projectName, options) {
|
|
|
882
882
|
console.log(` ${uiColors.info('npm run build')} - Compile the project`);
|
|
883
883
|
console.log(` ${uiColors.info('npm test')} - Run tests`);
|
|
884
884
|
console.log(` ${uiColors.info('npm run watch')} - Start development mode`);
|
|
885
|
-
console.log('\n' + uiColors.muted('Happy coding with
|
|
885
|
+
console.log('\n' + uiColors.muted('Happy coding with 5IVE VM.'));
|
|
886
886
|
}
|
|
887
887
|
//# sourceMappingURL=init.js.map
|
|
@@ -91,7 +91,7 @@ export const namespaceCommand = {
|
|
|
91
91
|
},
|
|
92
92
|
{
|
|
93
93
|
flags: "--program-id <pubkey>",
|
|
94
|
-
description: "Override
|
|
94
|
+
description: "Override 5IVE VM program ID for PDA derivation",
|
|
95
95
|
required: false,
|
|
96
96
|
},
|
|
97
97
|
{
|
|
@@ -105,9 +105,9 @@ export const namespaceCommand = {
|
|
|
105
105
|
{ name: "namespace", description: "@domain or @domain/subprogram", required: true },
|
|
106
106
|
],
|
|
107
107
|
examples: [
|
|
108
|
-
{ command: "
|
|
109
|
-
{ command: "
|
|
110
|
-
{ command: "
|
|
108
|
+
{ command: "5ive namespace register @5ive-tech", description: "Register top-level namespace in local cache" },
|
|
109
|
+
{ command: "5ive namespace bind @5ive-tech/program --script <pubkey>", description: "Bind namespace to script account" },
|
|
110
|
+
{ command: "5ive namespace resolve @5ive-tech/program", description: "Resolve namespace from lockfile cache" },
|
|
111
111
|
],
|
|
112
112
|
handler: async (args, options, context) => {
|
|
113
113
|
const action = (args[0] || "").toLowerCase();
|
package/dist/commands/test.d.ts
CHANGED
package/dist/commands/test.js
CHANGED
|
@@ -9,7 +9,7 @@ import { FiveFileManager } from '../utils/FiveFileManager.js';
|
|
|
9
9
|
import { loadBuildManifest, loadProjectConfig } from '../project/ProjectLoader.js';
|
|
10
10
|
import { section, success as uiSuccess, error as uiError } from '../utils/cli-ui.js';
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* 5IVE test command implementation
|
|
13
13
|
*/
|
|
14
14
|
export const testCommand = {
|
|
15
15
|
name: 'test',
|
|
@@ -122,27 +122,27 @@ export const testCommand = {
|
|
|
122
122
|
],
|
|
123
123
|
examples: [
|
|
124
124
|
{
|
|
125
|
-
command: '
|
|
125
|
+
command: '5ive test',
|
|
126
126
|
description: 'Run all tests in ./tests directory'
|
|
127
127
|
},
|
|
128
128
|
{
|
|
129
|
-
command: '
|
|
129
|
+
command: '5ive test --filter "token*" --verbose',
|
|
130
130
|
description: 'Run token tests with verbose output'
|
|
131
131
|
},
|
|
132
132
|
{
|
|
133
|
-
command: '
|
|
133
|
+
command: '5ive test ./my-tests --benchmark --format json',
|
|
134
134
|
description: 'Run benchmarks with JSON output'
|
|
135
135
|
},
|
|
136
136
|
{
|
|
137
|
-
command: '
|
|
137
|
+
command: '5ive test --watch --parallel 4',
|
|
138
138
|
description: 'Watch mode with 4 parallel workers'
|
|
139
139
|
},
|
|
140
140
|
{
|
|
141
|
-
command: '
|
|
141
|
+
command: '5ive test test-scripts/ --on-chain --target devnet',
|
|
142
142
|
description: 'Run on-chain tests on devnet'
|
|
143
143
|
},
|
|
144
144
|
{
|
|
145
|
-
command: '
|
|
145
|
+
command: '5ive test test-scripts/ --on-chain --batch --analyze-costs',
|
|
146
146
|
description: 'Batch test all .bin files with cost analysis'
|
|
147
147
|
}
|
|
148
148
|
],
|
|
@@ -183,10 +183,10 @@ export const testCommand = {
|
|
|
183
183
|
}
|
|
184
184
|
// Legacy approach with SDK integration
|
|
185
185
|
// Initialize SDK for testing
|
|
186
|
-
const spinner = ora('Initializing
|
|
186
|
+
const spinner = ora('Initializing 5IVE SDK for testing...').start();
|
|
187
187
|
// No initialization needed for SDK - it's stateless
|
|
188
188
|
const sdk = FiveSDK.create({ debug: options.verbose });
|
|
189
|
-
spinner.succeed('
|
|
189
|
+
spinner.succeed('5IVE SDK initialized');
|
|
190
190
|
// Discover test files
|
|
191
191
|
const testSuites = await discoverTestSuites(testPath, options, logger);
|
|
192
192
|
if (testSuites.length === 0) {
|
|
@@ -367,7 +367,7 @@ async function runSingleTest(testCase, sdk, options, context) {
|
|
|
367
367
|
parameters = [inputData];
|
|
368
368
|
}
|
|
369
369
|
}
|
|
370
|
-
// Execute with timeout using
|
|
370
|
+
// Execute with timeout using 5IVE SDK
|
|
371
371
|
const executionPromise = FiveSDK.executeLocally(bytecode, 0, // Default to first function
|
|
372
372
|
parameters, {
|
|
373
373
|
debug: options.verbose,
|
|
@@ -562,7 +562,7 @@ async function runOnChainTests(testPath, options, context) {
|
|
|
562
562
|
*/
|
|
563
563
|
async function runWithSdkRunner(testPath, options, context) {
|
|
564
564
|
const { logger } = context;
|
|
565
|
-
logger.info('Using
|
|
565
|
+
logger.info('Using 5IVE SDK test runner');
|
|
566
566
|
// Create test runner with options
|
|
567
567
|
const runner = new FiveTestRunner({
|
|
568
568
|
timeout: options.timeout,
|
package/dist/commands/version.js
CHANGED
|
@@ -10,7 +10,7 @@ const __dirname = dirname(__filename);
|
|
|
10
10
|
import { FiveCompilerWasm } from '../wasm/compiler.js';
|
|
11
11
|
import { FiveVM } from '../wasm/vm.js';
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
13
|
+
* 5IVE version command implementation
|
|
14
14
|
*/
|
|
15
15
|
export const versionCommand = {
|
|
16
16
|
name: 'version',
|
|
@@ -37,15 +37,15 @@ export const versionCommand = {
|
|
|
37
37
|
arguments: [],
|
|
38
38
|
examples: [
|
|
39
39
|
{
|
|
40
|
-
command: '
|
|
40
|
+
command: '5ive version',
|
|
41
41
|
description: 'Show basic version information'
|
|
42
42
|
},
|
|
43
43
|
{
|
|
44
|
-
command: '
|
|
44
|
+
command: '5ive version --detailed --format json',
|
|
45
45
|
description: 'Show detailed version info in JSON format'
|
|
46
46
|
},
|
|
47
47
|
{
|
|
48
|
-
command: '
|
|
48
|
+
command: '5ive version --check-updates',
|
|
49
49
|
description: 'Check for CLI updates'
|
|
50
50
|
}
|
|
51
51
|
],
|
|
@@ -80,7 +80,7 @@ async function gatherVersionInfo(context, detailed) {
|
|
|
80
80
|
cli: {
|
|
81
81
|
name: packageInfo.name || 'five-cli',
|
|
82
82
|
version: packageInfo.version || '1.0.0',
|
|
83
|
-
description: packageInfo.description || '
|
|
83
|
+
description: packageInfo.description || '5IVE VM CLI'
|
|
84
84
|
},
|
|
85
85
|
wasm: {},
|
|
86
86
|
dependencies: {},
|
|
@@ -125,7 +125,7 @@ async function getPackageInfo(rootDir) {
|
|
|
125
125
|
continue;
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
|
-
return { name: 'five-cli', version: '1.0.0', description: '
|
|
128
|
+
return { name: 'five-cli', version: '1.0.0', description: '5IVE VM CLI' };
|
|
129
129
|
}
|
|
130
130
|
/**
|
|
131
131
|
* Get WASM module version information
|
|
@@ -317,7 +317,7 @@ function displayVersionTable(versionInfo) {
|
|
|
317
317
|
rows.push(['WASM VM', versionInfo.wasm.vm.version]);
|
|
318
318
|
}
|
|
319
319
|
// Simple table formatting
|
|
320
|
-
console.log(chalk.bold('
|
|
320
|
+
console.log(chalk.bold('5IVE CLI Version Information:'));
|
|
321
321
|
console.log();
|
|
322
322
|
const maxKeyLength = Math.max(...rows.map(([key]) => key.length));
|
|
323
323
|
for (const [key, value] of rows) {
|