forge-solana-sdk 2.1.3 → 2.1.4
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 +32 -2
- package/dist/cli.js +7 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/status.d.ts +1 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +27 -0
- package/dist/commands/status.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -16,7 +16,15 @@ npm install -g forge-solana-sdk
|
|
|
16
16
|
|
|
17
17
|
### Initialize a project
|
|
18
18
|
```bash
|
|
19
|
+
# Basic project
|
|
19
20
|
forge init my-project
|
|
21
|
+
|
|
22
|
+
# With intent-driven CPI generation
|
|
23
|
+
forge init my-project --intent "transfer 100 tokens safely"
|
|
24
|
+
|
|
25
|
+
# With specific Anchor version
|
|
26
|
+
forge init my-project --anchor-version 0.31.0
|
|
27
|
+
|
|
20
28
|
cd my-project
|
|
21
29
|
```
|
|
22
30
|
|
|
@@ -25,6 +33,12 @@ cd my-project
|
|
|
25
33
|
forge status
|
|
26
34
|
```
|
|
27
35
|
|
|
36
|
+
Enhanced status checks include:
|
|
37
|
+
- ✅ Version compatibility warnings
|
|
38
|
+
- ✅ Rust edition 2024 requirements
|
|
39
|
+
- ✅ Anchor CLI vs project version matching
|
|
40
|
+
- ✅ Network configuration
|
|
41
|
+
|
|
28
42
|
### Deploy to Solana
|
|
29
43
|
```bash
|
|
30
44
|
forge deploy
|
|
@@ -33,9 +47,11 @@ forge deploy
|
|
|
33
47
|
## 📋 Prerequisites
|
|
34
48
|
|
|
35
49
|
- **Node.js** 18+
|
|
36
|
-
- **Rust** 1.
|
|
50
|
+
- **Rust** 1.85.0+ (required for edition 2024 compatibility)
|
|
37
51
|
- **Solana CLI** (latest)
|
|
38
|
-
- **Anchor CLI** 0.29.0
|
|
52
|
+
- **Anchor CLI** 0.29.0+
|
|
53
|
+
|
|
54
|
+
⚠️ **Important**: Rust 1.85.0+ is required for modern Anchor dependencies. Update with: `rustup update stable`
|
|
39
55
|
|
|
40
56
|
## 🎯 What FORGE Does
|
|
41
57
|
|
|
@@ -47,6 +63,20 @@ FORGE generates production-ready Anchor programs from intent. It creates the boi
|
|
|
47
63
|
- ✅ Configures Anchor.toml for deployment
|
|
48
64
|
- ✅ Works with real Solana networks
|
|
49
65
|
|
|
66
|
+
## 🛠️ Troubleshooting
|
|
67
|
+
|
|
68
|
+
### Version Compatibility Issues
|
|
69
|
+
If you encounter build errors:
|
|
70
|
+
|
|
71
|
+
1. **Update Rust**: `rustup update stable` (requires 1.85.0+)
|
|
72
|
+
2. **Check versions**: `forge status` (shows mismatches)
|
|
73
|
+
3. **Specify version**: `forge init --anchor-version 0.32.1`
|
|
74
|
+
|
|
75
|
+
### Common Errors
|
|
76
|
+
- `edition2024` errors → Update Rust to 1.85.0+
|
|
77
|
+
- Version mismatches → Use `forge status` to check alignment
|
|
78
|
+
- Build failures → Ensure Anchor CLI matches project versions
|
|
79
|
+
|
|
50
80
|
## 🚫 What FORGE Does NOT Do
|
|
51
81
|
|
|
52
82
|
FORGE does not:
|
package/dist/cli.js
CHANGED
|
@@ -10,7 +10,7 @@ const program = new commander_1.Command();
|
|
|
10
10
|
program
|
|
11
11
|
.name('forge')
|
|
12
12
|
.description('FORGE - Intent-driven app assembly on Solana')
|
|
13
|
-
.version('2.1.
|
|
13
|
+
.version('2.1.4');
|
|
14
14
|
program
|
|
15
15
|
.command('init [projectName]')
|
|
16
16
|
.description('Initialize a new FORGE project')
|
|
@@ -31,6 +31,12 @@ program
|
|
|
31
31
|
.action(async () => {
|
|
32
32
|
await (0, status_js_1.statusCommand)();
|
|
33
33
|
});
|
|
34
|
+
program
|
|
35
|
+
.command('update')
|
|
36
|
+
.description('Update FORGE to the latest version')
|
|
37
|
+
.action(async () => {
|
|
38
|
+
await (0, status_js_1.updateCommand)();
|
|
39
|
+
});
|
|
34
40
|
// Show logo on help
|
|
35
41
|
program.on('--help', () => {
|
|
36
42
|
console.log(ascii_js_1.logo);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,yCAAkC;AAClC,gDAAiD;AACjD,oDAAqD;AACrD,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,yCAAkC;AAClC,gDAAiD;AACjD,oDAAqD;AACrD,oDAAoE;AAEpE,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,8CAA8C,CAAC;KAC3D,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,oBAAoB,CAAC;KAC7B,WAAW,CAAC,gCAAgC,CAAC;KAC7C,MAAM,CAAC,uBAAuB,EAAE,8DAA8D,CAAC;KAC/F,MAAM,CAAC,gCAAgC,EAAE,0CAA0C,EAAE,QAAQ,CAAC;KAC9F,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE;IACrC,MAAM,IAAA,qBAAW,EAAC,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;AACxE,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,0BAA0B,CAAC;KACvC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,IAAA,yBAAa,GAAE,CAAC;AACxB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,IAAA,yBAAa,GAAE,CAAC;AACxB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,IAAA,yBAAa,GAAE,CAAC;AACxB,CAAC,CAAC,CAAC;AAEL,oBAAoB;AACpB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;IACxB,OAAO,CAAC,GAAG,CAAC,eAAI,CAAC,CAAC;IAClB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEH,kBAAkB;AAClB,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAKA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CA6BnD;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAuFnD"}
|
package/dist/commands/status.js
CHANGED
|
@@ -1,9 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateCommand = updateCommand;
|
|
3
4
|
exports.statusCommand = statusCommand;
|
|
4
5
|
const child_process_1 = require("child_process");
|
|
5
6
|
const fs_1 = require("fs");
|
|
6
7
|
const path_1 = require("path");
|
|
8
|
+
// Update command for self-updating FORGE
|
|
9
|
+
async function updateCommand() {
|
|
10
|
+
console.log('FORGE Update Check\n');
|
|
11
|
+
try {
|
|
12
|
+
// Get current version
|
|
13
|
+
const packageJson = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname, '../../package.json'), 'utf8'));
|
|
14
|
+
const currentVersion = packageJson.version;
|
|
15
|
+
console.log(`Current version: ${currentVersion}`);
|
|
16
|
+
// Get latest version from npm
|
|
17
|
+
const latestVersion = (0, child_process_1.execSync)('npm view forge-solana-sdk version', { encoding: 'utf8' }).trim();
|
|
18
|
+
console.log(`Latest version: ${latestVersion}`);
|
|
19
|
+
if (currentVersion === latestVersion) {
|
|
20
|
+
console.log('✅ FORGE is up to date!');
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
console.log('\n📦 Updating FORGE...');
|
|
24
|
+
(0, child_process_1.execSync)('npm install -g forge-solana-sdk@latest', { stdio: 'inherit' });
|
|
25
|
+
console.log('\n✅ FORGE updated successfully!');
|
|
26
|
+
console.log(`Updated from ${currentVersion} to ${latestVersion}`);
|
|
27
|
+
console.log('\nRestart your terminal or run: source ~/.bashrc (or equivalent)');
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
console.error('❌ Update failed. Try manually: npm install -g forge-solana-sdk@latest');
|
|
31
|
+
console.error('Error:', error instanceof Error ? error.message : String(error));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
7
34
|
async function statusCommand() {
|
|
8
35
|
console.log('FORGE Status\n');
|
|
9
36
|
// Check Anchor
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
|