create-stylus 0.1.14 → 0.1.16
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 +60 -1
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
- package/src/main.ts +5 -0
- package/src/tasks/copy-template-files.ts +1 -1
- package/src/tasks/index.ts +1 -0
- package/src/tasks/refresh-cargo-lock.ts +68 -0
- package/templates/base/.vscode/settings.json +1 -1
- package/templates/base/package.json +1 -1
- package/templates/base/packages/nextjs/app/page.tsx +1 -1
- package/templates/base/packages/stylus/{your-contract → contracts}/Cargo.lock +1 -0
- package/templates/base/packages/stylus/contracts/Cargo.toml +11 -0
- package/templates/base/packages/stylus/contracts/Stylus.toml +2 -0
- package/templates/base/packages/stylus/{your-contract → contracts/your-contract}/Cargo.toml +1 -9
- package/templates/base/packages/stylus/contracts/your-contract/Stylus.toml +2 -0
- package/templates/base/packages/stylus/package.json +1 -1
- package/templates/base/packages/stylus/scripts/deploy.ts +26 -7
- package/templates/base/packages/stylus/scripts/deploy_contract.ts +3 -2
- package/templates/base/packages/stylus/scripts/export_abi.ts +9 -5
- package/templates/base/packages/stylus/scripts/new_module.sh +132 -23
- package/templates/base/packages/stylus/scripts/test.ts +4 -8
- package/templates/base/packages/stylus/scripts/utils/contract.ts +2 -2
- package/templates/base/packages/stylus/scripts/utils/deployment.ts +1 -1
- package/templates/base/readme.md +9 -7
- /package/templates/base/packages/stylus/{your-contract → contracts}/rust-toolchain.toml +0 -0
- /package/templates/base/packages/stylus/{your-contract → contracts/your-contract}/.cargo/config.toml +0 -0
- /package/templates/base/packages/stylus/{your-contract → contracts/your-contract}/header.png +0 -0
- /package/templates/base/packages/stylus/{your-contract → contracts/your-contract}/src/lib.rs +0 -0
- /package/templates/base/packages/stylus/{your-contract → contracts/your-contract}/src/main.rs +0 -0
package/dist/cli.js
CHANGED
|
@@ -310,7 +310,7 @@ const copyBaseFiles = async ({ dev: isDev, extension }, basePath, targetDir) =>
|
|
|
310
310
|
const isYarnLock = isYarnLockRegex.test(fileName);
|
|
311
311
|
const isNextGenerated = isNextGeneratedRegex.test(fileName);
|
|
312
312
|
const isGitKeep = isGitKeepRegex.test(fileName);
|
|
313
|
-
const isYourContract = /packages\/stylus\/your-contract/.test(fileName);
|
|
313
|
+
const isYourContract = /packages\/stylus\/contracts\/your-contract/.test(fileName);
|
|
314
314
|
// Check if file matches any exclude pattern
|
|
315
315
|
const isExcluded = excludePatterns.some(pattern => pattern.test(fileName));
|
|
316
316
|
const skipAlways = isPackageJson || isGitKeep || isExcluded;
|
|
@@ -530,6 +530,61 @@ async function setConfigNetworkToSepolia(targetDirectory) {
|
|
|
530
530
|
}
|
|
531
531
|
}
|
|
532
532
|
|
|
533
|
+
const SKIP_DIRS = new Set([".git", "target", "node_modules", ".cargo"]);
|
|
534
|
+
function findContractDirs(dir) {
|
|
535
|
+
const result = [];
|
|
536
|
+
let entries;
|
|
537
|
+
try {
|
|
538
|
+
entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
539
|
+
}
|
|
540
|
+
catch {
|
|
541
|
+
return result;
|
|
542
|
+
}
|
|
543
|
+
for (const entry of entries) {
|
|
544
|
+
if (!entry.isDirectory() || SKIP_DIRS.has(entry.name))
|
|
545
|
+
continue;
|
|
546
|
+
const fullPath = path.join(dir, entry.name);
|
|
547
|
+
if (fs.existsSync(path.join(fullPath, "Cargo.toml"))) {
|
|
548
|
+
result.push(fullPath);
|
|
549
|
+
}
|
|
550
|
+
else {
|
|
551
|
+
result.push(...findContractDirs(fullPath));
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
return result;
|
|
555
|
+
}
|
|
556
|
+
async function refreshCargoLocks(targetDir) {
|
|
557
|
+
const stylusDir = path.join(targetDir, "packages", "stylus");
|
|
558
|
+
if (!fs.existsSync(stylusDir))
|
|
559
|
+
return;
|
|
560
|
+
const contractDirs = findContractDirs(stylusDir);
|
|
561
|
+
if (contractDirs.length === 0)
|
|
562
|
+
return;
|
|
563
|
+
for (const contractDir of contractDirs) {
|
|
564
|
+
try {
|
|
565
|
+
try {
|
|
566
|
+
await execa("cargo", ["metadata", "--format-version", "1", "--offline"], { cwd: contractDir, stdio: "pipe" });
|
|
567
|
+
}
|
|
568
|
+
catch {
|
|
569
|
+
await execa("cargo", ["metadata", "--format-version", "1"], {
|
|
570
|
+
cwd: contractDir,
|
|
571
|
+
stdio: "pipe",
|
|
572
|
+
});
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
catch (error) {
|
|
576
|
+
const isNotFound = error?.code === "ENOENT";
|
|
577
|
+
const label = path.relative(targetDir, contractDir);
|
|
578
|
+
if (isNotFound) {
|
|
579
|
+
console.warn(`\n[warn] cargo not found on PATH — skipping Cargo.lock refresh for ${label}`);
|
|
580
|
+
}
|
|
581
|
+
else {
|
|
582
|
+
console.warn(`\n[warn] Could not refresh Cargo.lock for ${label}: ${error?.message ?? error}`);
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
|
|
533
588
|
async function renderOutroMessage(options) {
|
|
534
589
|
let message = `
|
|
535
590
|
\n
|
|
@@ -586,6 +641,10 @@ async function createProject(options) {
|
|
|
586
641
|
}
|
|
587
642
|
},
|
|
588
643
|
},
|
|
644
|
+
{
|
|
645
|
+
title: `🔒 Refreshing Cargo.lock for contracts`,
|
|
646
|
+
task: async () => await refreshCargoLocks(targetDirectory),
|
|
647
|
+
},
|
|
589
648
|
{
|
|
590
649
|
title: `📦 Installing dependencies with yarn, this could take a while`,
|
|
591
650
|
task: async (ctx, task) => {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sources":["../src/utils/consts.ts","../src/utils/find-files-recursively.ts","../src/utils/merge-package-json.ts","../src/utils/link.ts","../src/utils/load-extensions.ts","../src/tasks/copy-extension-file.ts","../src/tasks/copy-template-files.ts","../src/tasks/create-project-directory.ts","../src/tasks/install-packages.ts","../src/tasks/create-first-git-commit.ts","../src/tasks/prettier-format.ts","../src/tasks/config-to-sepolia.ts","../src/utils/render-outro-message.ts","../src/main.ts","../src/utils/parse-arguments-into-options.ts","../src/utils/prompt-for-missing-options.ts","../src/utils/render-intro-message.ts","../src/cli.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["mergePackageJson","link"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sources":["../src/utils/consts.ts","../src/utils/find-files-recursively.ts","../src/utils/merge-package-json.ts","../src/utils/link.ts","../src/utils/load-extensions.ts","../src/tasks/copy-extension-file.ts","../src/tasks/copy-template-files.ts","../src/tasks/create-project-directory.ts","../src/tasks/install-packages.ts","../src/tasks/create-first-git-commit.ts","../src/tasks/prettier-format.ts","../src/tasks/config-to-sepolia.ts","../src/tasks/refresh-cargo-lock.ts","../src/utils/render-outro-message.ts","../src/main.ts","../src/utils/parse-arguments-into-options.ts","../src/utils/prompt-for-missing-options.ts","../src/utils/render-intro-message.ts","../src/cli.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["mergePackageJson","link"],"mappings":"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"}
|
package/package.json
CHANGED
package/src/main.ts
CHANGED
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
createFirstGitCommit,
|
|
6
6
|
prettierFormat,
|
|
7
7
|
setConfigNetworkToSepolia,
|
|
8
|
+
refreshCargoLocks,
|
|
8
9
|
} from "./tasks";
|
|
9
10
|
import type { Options } from "./types";
|
|
10
11
|
import { renderOutroMessage } from "./utils/render-outro-message";
|
|
@@ -57,6 +58,10 @@ export async function createProject(options: Options) {
|
|
|
57
58
|
}
|
|
58
59
|
},
|
|
59
60
|
},
|
|
61
|
+
{
|
|
62
|
+
title: `🔒 Refreshing Cargo.lock for contracts`,
|
|
63
|
+
task: async () => await refreshCargoLocks(targetDirectory),
|
|
64
|
+
},
|
|
60
65
|
{
|
|
61
66
|
title: `📦 Installing dependencies with yarn, this could take a while`,
|
|
62
67
|
task: async (ctx, task) => {
|
|
@@ -41,7 +41,7 @@ const copyBaseFiles = async (
|
|
|
41
41
|
const isYarnLock = isYarnLockRegex.test(fileName);
|
|
42
42
|
const isNextGenerated = isNextGeneratedRegex.test(fileName);
|
|
43
43
|
const isGitKeep = isGitKeepRegex.test(fileName);
|
|
44
|
-
const isYourContract = /packages\/stylus\/your-contract/.test(fileName);
|
|
44
|
+
const isYourContract = /packages\/stylus\/contracts\/your-contract/.test(fileName);
|
|
45
45
|
|
|
46
46
|
// Check if file matches any exclude pattern
|
|
47
47
|
const isExcluded = excludePatterns.some(pattern => pattern.test(fileName));
|
package/src/tasks/index.ts
CHANGED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { execa } from "execa";
|
|
2
|
+
import fs from "fs";
|
|
3
|
+
import path from "path";
|
|
4
|
+
|
|
5
|
+
const SKIP_DIRS = new Set([".git", "target", "node_modules", ".cargo"]);
|
|
6
|
+
|
|
7
|
+
function findContractDirs(dir: string): string[] {
|
|
8
|
+
const result: string[] = [];
|
|
9
|
+
|
|
10
|
+
let entries: fs.Dirent[];
|
|
11
|
+
try {
|
|
12
|
+
entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
13
|
+
} catch {
|
|
14
|
+
return result;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
for (const entry of entries) {
|
|
18
|
+
if (!entry.isDirectory() || SKIP_DIRS.has(entry.name)) continue;
|
|
19
|
+
const fullPath = path.join(dir, entry.name);
|
|
20
|
+
|
|
21
|
+
if (fs.existsSync(path.join(fullPath, "Cargo.toml"))) {
|
|
22
|
+
result.push(fullPath);
|
|
23
|
+
} else {
|
|
24
|
+
result.push(...findContractDirs(fullPath));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export async function refreshCargoLocks(targetDir: string) {
|
|
32
|
+
const stylusDir = path.join(targetDir, "packages", "stylus");
|
|
33
|
+
|
|
34
|
+
if (!fs.existsSync(stylusDir)) return;
|
|
35
|
+
|
|
36
|
+
const contractDirs = findContractDirs(stylusDir);
|
|
37
|
+
|
|
38
|
+
if (contractDirs.length === 0) return;
|
|
39
|
+
|
|
40
|
+
for (const contractDir of contractDirs) {
|
|
41
|
+
try {
|
|
42
|
+
try {
|
|
43
|
+
await execa(
|
|
44
|
+
"cargo",
|
|
45
|
+
["metadata", "--format-version", "1", "--offline"],
|
|
46
|
+
{ cwd: contractDir, stdio: "pipe" }
|
|
47
|
+
);
|
|
48
|
+
} catch {
|
|
49
|
+
await execa("cargo", ["metadata", "--format-version", "1"], {
|
|
50
|
+
cwd: contractDir,
|
|
51
|
+
stdio: "pipe",
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
} catch (error: any) {
|
|
55
|
+
const isNotFound = error?.code === "ENOENT";
|
|
56
|
+
const label = path.relative(targetDir, contractDir);
|
|
57
|
+
if (isNotFound) {
|
|
58
|
+
console.warn(
|
|
59
|
+
`\n[warn] cargo not found on PATH — skipping Cargo.lock refresh for ${label}`
|
|
60
|
+
);
|
|
61
|
+
} else {
|
|
62
|
+
console.warn(
|
|
63
|
+
`\n[warn] Could not refresh Cargo.lock for ${label}: ${error?.message ?? error}`
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -13,6 +13,7 @@ alloy-primitives = "=0.8.20"
|
|
|
13
13
|
alloy-sol-types = "=0.8.20"
|
|
14
14
|
stylus-sdk = "0.9.0"
|
|
15
15
|
hex = { version = "0.4", default-features = false }
|
|
16
|
+
parity-scale-codec = "=3.7.5"
|
|
16
17
|
openzeppelin-stylus = "0.3.0"
|
|
17
18
|
|
|
18
19
|
[dev-dependencies]
|
|
@@ -37,12 +38,3 @@ path = "src/main.rs"
|
|
|
37
38
|
[lib]
|
|
38
39
|
crate-type = ["lib", "cdylib"]
|
|
39
40
|
|
|
40
|
-
[profile.release]
|
|
41
|
-
codegen-units = 1
|
|
42
|
-
strip = true
|
|
43
|
-
lto = true
|
|
44
|
-
panic = "abort"
|
|
45
|
-
|
|
46
|
-
# If you need to reduce the binary size, it is advisable to try other
|
|
47
|
-
# optimization levels, such as "s" and "z"
|
|
48
|
-
opt-level = 3
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"deploy": "ts-node scripts/deploy_wrapper.ts",
|
|
12
12
|
"info:networks": "ts-node scripts/test_network.ts",
|
|
13
13
|
"export-abi": "ts-node scripts/export_abi.ts",
|
|
14
|
-
"clean-contracts": "git clean -xdf -e .env -e
|
|
14
|
+
"clean-contracts": "git clean -xdf -e .env -e contracts/ -e node_modules/",
|
|
15
15
|
"test": "ts-node scripts/test.ts",
|
|
16
16
|
"lint": "eslint scripts --ext .ts",
|
|
17
17
|
"lint:fix": "eslint scripts --ext .ts --fix",
|
|
@@ -29,18 +29,37 @@ export default async function deployScript(deployOptions: DeployOptions) {
|
|
|
29
29
|
console.log(`📁 Deployment directory: ${config.deploymentDir}`);
|
|
30
30
|
console.log(`\n`);
|
|
31
31
|
|
|
32
|
-
// Deploy a
|
|
32
|
+
// Deploy a contract. Each deployStylusContract() call deploys ONE contract
|
|
33
|
+
// (its own tx + address) and, on success, automatically:
|
|
34
|
+
// 1. saves the address/tx to packages/stylus/deployments/
|
|
35
|
+
// 2. runs 'cargo stylus export-abi' and writes the ABI + address into
|
|
36
|
+
// packages/nextjs/contracts/deployedContracts.ts (keyed by chainId + name),
|
|
37
|
+
// so the Next.js frontend picks it up immediately.
|
|
33
38
|
await deployStylusContract({
|
|
34
|
-
contract: "your-contract",
|
|
35
|
-
constructorArgs: [config.deployerAddress!],
|
|
39
|
+
contract: "your-contract", // folder name under packages/stylus/contracts/
|
|
40
|
+
constructorArgs: [config.deployerAddress!], // omit/empty if the contract has no #[constructor]
|
|
36
41
|
...deployOptions,
|
|
37
42
|
});
|
|
38
|
-
|
|
39
|
-
//
|
|
43
|
+
// ─── Deploying MULTIPLE contracts ─────────────────────────────────────────
|
|
44
|
+
// 1. Scaffold each new contract: yarn new-module <name>
|
|
45
|
+
// (creates packages/stylus/contracts/<name>/ and auto-registers it via members=["*"])
|
|
46
|
+
// 2. Add one deployStylusContract() call per contract below. They deploy
|
|
47
|
+
// sequentially in a single 'yarn deploy', and each is auto-added to
|
|
48
|
+
// deployedContracts.ts. (Stylus deploys one contract per tx/address — there is
|
|
49
|
+
// no single-tx multi-deploy; 'at once' means one command, not one transaction.)
|
|
50
|
+
//
|
|
51
|
+
// await deployStylusContract({
|
|
52
|
+
// contract: "counter",
|
|
53
|
+
// constructorArgs: ["42", config.deployerAddress!, true],
|
|
54
|
+
// pass your #[constructor] args in order
|
|
55
|
+
// ...deployOptions,
|
|
56
|
+
// });
|
|
57
|
+
//
|
|
58
|
+
// Deploy the SAME crate again under a different key using 'name':
|
|
40
59
|
// await deployStylusContract({
|
|
41
60
|
// contract: "your-contract",
|
|
42
|
-
//
|
|
43
|
-
//
|
|
61
|
+
// name: "your-contract-v2",
|
|
62
|
+
// constructorArgs: [config.deployerAddress!],
|
|
44
63
|
// ...deployOptions,
|
|
45
64
|
// });
|
|
46
65
|
|
|
@@ -15,6 +15,7 @@ import { DeployOptions } from "./utils/type";
|
|
|
15
15
|
import { buildDeployCommand } from "./utils/command";
|
|
16
16
|
import { Abi, createPublicClient, createWalletClient, http } from "viem";
|
|
17
17
|
import { privateKeyToAccount } from "viem/accounts";
|
|
18
|
+
import * as path from "path";
|
|
18
19
|
import { arbitrumNitro } from "../../nextjs/utils/scaffold-stylus/supportedChains";
|
|
19
20
|
|
|
20
21
|
/**
|
|
@@ -39,7 +40,7 @@ export default async function deployStylusContract(
|
|
|
39
40
|
const deployCommand = await buildDeployCommand(config, deployOptions);
|
|
40
41
|
const deployOutput = await executeCommand(
|
|
41
42
|
deployCommand,
|
|
42
|
-
deployOptions.contract
|
|
43
|
+
path.join("contracts", deployOptions.contract!),
|
|
43
44
|
"Deploying contract with cargo stylus",
|
|
44
45
|
);
|
|
45
46
|
|
|
@@ -127,7 +128,7 @@ export default async function deployStylusContract(
|
|
|
127
128
|
try {
|
|
128
129
|
const output = await executeCommand(
|
|
129
130
|
`cargo stylus verify --endpoint=${getRpcUrlFromChain(config.chain)} --deployment-tx=${deploymentInfo.txHash}`,
|
|
130
|
-
deployOptions.contract
|
|
131
|
+
path.join("contracts", deployOptions.contract!),
|
|
131
132
|
"Verifying contract with cargo stylus",
|
|
132
133
|
);
|
|
133
134
|
console.log(output);
|
|
@@ -16,7 +16,9 @@ export async function exportStylusAbi(
|
|
|
16
16
|
) {
|
|
17
17
|
console.log("📄 Starting Stylus ABI export...");
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
// Resolve the actual filesystem path (contracts live under contracts/)
|
|
20
|
+
const fsPath = path.join("contracts", contractFolder);
|
|
21
|
+
const config = getExportConfig(fsPath, contractName, chainId);
|
|
20
22
|
|
|
21
23
|
if (!config.contractAddress) {
|
|
22
24
|
console.error(
|
|
@@ -36,8 +38,9 @@ export async function exportStylusAbi(
|
|
|
36
38
|
ensureDeploymentDirectory(config.deploymentDir);
|
|
37
39
|
|
|
38
40
|
// Export ABI
|
|
39
|
-
|
|
40
|
-
|
|
41
|
+
// cwd is now contracts/<contract>/, so ../../ reaches packages/stylus/
|
|
42
|
+
const exportCommand = `cargo stylus export-abi --output='../../${config.deploymentDir}/${config.contractFolder}' --json`;
|
|
43
|
+
await executeCommand(exportCommand, fsPath, "Exporting ABI");
|
|
41
44
|
|
|
42
45
|
console.log(
|
|
43
46
|
`📄 ABI file location: ${config.deploymentDir}/${config.contractFolder}`,
|
|
@@ -73,12 +76,13 @@ export async function exportStylusAbi(
|
|
|
73
76
|
|
|
74
77
|
if (require.main === module) {
|
|
75
78
|
// Get contract folder from command line args, default to 'your-contract'
|
|
76
|
-
const
|
|
79
|
+
const rawContract = process.argv[2] || "your-contract";
|
|
80
|
+
const contractFolder = path.join("contracts", rawContract);
|
|
77
81
|
if (!fs.existsSync(contractFolder)) {
|
|
78
82
|
console.error(`❌ Contract folder does not exist: ${contractFolder}`);
|
|
79
83
|
process.exit(1);
|
|
80
84
|
}
|
|
81
|
-
exportStylusAbi(
|
|
85
|
+
exportStylusAbi(rawContract, rawContract).catch(
|
|
82
86
|
(error) => {
|
|
83
87
|
console.error("Fatal error:", error);
|
|
84
88
|
process.exit(1);
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
2
|
|
|
3
|
-
# Check if module name is provided
|
|
4
3
|
if [ -z "$1" ]; then
|
|
5
4
|
echo "Error: Module name is required"
|
|
6
5
|
echo "Usage: $0 <module_name>"
|
|
@@ -8,28 +7,138 @@ if [ -z "$1" ]; then
|
|
|
8
7
|
fi
|
|
9
8
|
|
|
10
9
|
MODULE_NAME="$1"
|
|
10
|
+
MODULE_NAME_UNDERSCORE=$(echo "$MODULE_NAME" | tr '-' '_')
|
|
11
|
+
# Convert underscore_separated to PascalCase (e.g. counter_test -> CounterTest)
|
|
12
|
+
MODULE_NAME_PASCAL=$(echo "$MODULE_NAME_UNDERSCORE" | perl -pe 's/(^|_)(.)/\u$2/g')
|
|
11
13
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
if
|
|
17
|
-
|
|
18
|
-
# Remove unnecessary files
|
|
19
|
-
rm -rf .git .github ci .gitignore examples licenses .env.example header.png README.md
|
|
20
|
-
# Update Cargo.toml name field to $MODULE_NAME
|
|
21
|
-
if [ -f Cargo.toml ]; then
|
|
22
|
-
sed -i "s/^name = \".*\"/name = \"$MODULE_NAME\"/" Cargo.toml
|
|
23
|
-
fi
|
|
24
|
-
# Update main.rs module name in print_from_args call
|
|
25
|
-
if [ -f src/main.rs ]; then
|
|
26
|
-
MODULE_NAME_UNDERSCORE=$(echo "$MODULE_NAME" | tr '-' '_')
|
|
27
|
-
sed -i "s/^[[:space:]]*stylus_hello_world::print_from_args();/\t$MODULE_NAME_UNDERSCORE::print_from_args();/" src/main.rs
|
|
28
|
-
fi
|
|
29
|
-
cargo generate-lockfile
|
|
30
|
-
echo "New module created successfully"
|
|
31
|
-
else
|
|
32
|
-
echo "Error: Failed to create new module with '$CARGO_CMD'"
|
|
33
|
-
echo "$output"
|
|
14
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
15
|
+
WORKSPACE_ROOT="$(cd "$SCRIPT_DIR/../contracts" && pwd)"
|
|
16
|
+
MODULE_DIR="$WORKSPACE_ROOT/$MODULE_NAME"
|
|
17
|
+
|
|
18
|
+
if [ -d "$MODULE_DIR" ]; then
|
|
19
|
+
echo "Error: Directory '$MODULE_NAME' already exists"
|
|
34
20
|
exit 1
|
|
35
21
|
fi
|
|
22
|
+
|
|
23
|
+
echo "Creating new workspace member: $MODULE_NAME"
|
|
24
|
+
|
|
25
|
+
mkdir -p "$MODULE_DIR/src"
|
|
26
|
+
mkdir -p "$MODULE_DIR/.cargo"
|
|
27
|
+
|
|
28
|
+
# Write .cargo/config.toml
|
|
29
|
+
cat > "$MODULE_DIR/.cargo/config.toml" << 'CONFIGEOF'
|
|
30
|
+
[target.wasm32-unknown-unknown]
|
|
31
|
+
rustflags = [
|
|
32
|
+
"-C", "link-arg=-zstack-size=32768",
|
|
33
|
+
"-C", "target-feature=-reference-types",
|
|
34
|
+
"-C", "target-feature=+bulk-memory",
|
|
35
|
+
]
|
|
36
|
+
|
|
37
|
+
[target.aarch64-apple-darwin]
|
|
38
|
+
rustflags = [
|
|
39
|
+
"-C", "link-arg=-undefined",
|
|
40
|
+
"-C", "link-arg=dynamic_lookup",
|
|
41
|
+
]
|
|
42
|
+
|
|
43
|
+
[target.x86_64-apple-darwin]
|
|
44
|
+
rustflags = [
|
|
45
|
+
"-C", "link-arg=-undefined",
|
|
46
|
+
"-C", "link-arg=dynamic_lookup",
|
|
47
|
+
]
|
|
48
|
+
CONFIGEOF
|
|
49
|
+
|
|
50
|
+
# Write Cargo.toml
|
|
51
|
+
cat > "$MODULE_DIR/Cargo.toml" << CARGOEOF
|
|
52
|
+
[package]
|
|
53
|
+
name = "$MODULE_NAME"
|
|
54
|
+
version = "0.1.0"
|
|
55
|
+
edition = "2021"
|
|
56
|
+
license = "MIT OR Apache-2.0"
|
|
57
|
+
keywords = ["arbitrum", "ethereum", "stylus", "alloy"]
|
|
58
|
+
description = "Stylus contract scaffolded by scaffold-stylus"
|
|
59
|
+
|
|
60
|
+
[dependencies]
|
|
61
|
+
alloy-primitives = "=0.8.20"
|
|
62
|
+
alloy-sol-types = "=0.8.20"
|
|
63
|
+
stylus-sdk = "0.9.0"
|
|
64
|
+
hex = { version = "0.4", default-features = false }
|
|
65
|
+
openzeppelin-stylus = "0.3.0"
|
|
66
|
+
|
|
67
|
+
[dev-dependencies]
|
|
68
|
+
alloy-primitives = { version = "=0.8.20", features = ["sha3-keccak"] }
|
|
69
|
+
tokio = { version = "1.12.0", features = ["full"] }
|
|
70
|
+
ethers = "2.0"
|
|
71
|
+
eyre = "0.6.8"
|
|
72
|
+
stylus-sdk = { version = "0.9.0", features = ["stylus-test"] }
|
|
73
|
+
|
|
74
|
+
[features]
|
|
75
|
+
default = ["mini-alloc"]
|
|
76
|
+
export-abi = ["openzeppelin-stylus/export-abi"]
|
|
77
|
+
debug = ["stylus-sdk/debug"]
|
|
78
|
+
mini-alloc = ["stylus-sdk/mini-alloc"]
|
|
79
|
+
|
|
80
|
+
[[bin]]
|
|
81
|
+
name = "$MODULE_NAME"
|
|
82
|
+
path = "src/main.rs"
|
|
83
|
+
|
|
84
|
+
[lib]
|
|
85
|
+
crate-type = ["lib", "cdylib"]
|
|
86
|
+
CARGOEOF
|
|
87
|
+
|
|
88
|
+
# Write src/lib.rs
|
|
89
|
+
cat > "$MODULE_DIR/src/lib.rs" << LIBEOF
|
|
90
|
+
#![cfg_attr(not(any(test, feature = "export-abi")), no_main)]
|
|
91
|
+
#![cfg_attr(not(any(test, feature = "export-abi")), no_std)]
|
|
92
|
+
|
|
93
|
+
#[macro_use]
|
|
94
|
+
extern crate alloc;
|
|
95
|
+
|
|
96
|
+
use alloc::vec::Vec;
|
|
97
|
+
use stylus_sdk::{alloy_primitives::U256, prelude::*};
|
|
98
|
+
|
|
99
|
+
sol_storage! {
|
|
100
|
+
#[entrypoint]
|
|
101
|
+
pub struct $MODULE_NAME_PASCAL {
|
|
102
|
+
uint256 number;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
#[public]
|
|
107
|
+
impl $MODULE_NAME_PASCAL {
|
|
108
|
+
pub fn number(&self) -> U256 {
|
|
109
|
+
self.number.get()
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
pub fn set_number(&mut self, new_number: U256) {
|
|
113
|
+
self.number.set(new_number);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
LIBEOF
|
|
117
|
+
|
|
118
|
+
# Write src/main.rs
|
|
119
|
+
cat > "$MODULE_DIR/src/main.rs" << MAINEOF
|
|
120
|
+
#![cfg_attr(not(any(test, feature = "export-abi")), no_main)]
|
|
121
|
+
|
|
122
|
+
#[cfg(not(any(test, feature = "export-abi")))]
|
|
123
|
+
#[no_mangle]
|
|
124
|
+
pub extern "C" fn main() {}
|
|
125
|
+
|
|
126
|
+
#[cfg(feature = "export-abi")]
|
|
127
|
+
fn main() {
|
|
128
|
+
${MODULE_NAME_UNDERSCORE}::print_from_args();
|
|
129
|
+
}
|
|
130
|
+
MAINEOF
|
|
131
|
+
|
|
132
|
+
# Write Stylus.toml
|
|
133
|
+
cat > "$MODULE_DIR/Stylus.toml" << STYLUSEOF
|
|
134
|
+
[contract]
|
|
135
|
+
name = "$MODULE_NAME"
|
|
136
|
+
STYLUSEOF
|
|
137
|
+
|
|
138
|
+
echo "New workspace member '$MODULE_NAME' created successfully"
|
|
139
|
+
echo ""
|
|
140
|
+
echo "Next steps:"
|
|
141
|
+
echo " 1. Write your contract logic in $MODULE_NAME/src/lib.rs"
|
|
142
|
+
echo " 2. Deploy: yarn deploy --network sepolia --contract $MODULE_NAME"
|
|
143
|
+
echo ""
|
|
144
|
+
echo "Note: members=['*'] in contracts/Cargo.toml auto-discovers new modules — no manual wiring needed."
|
|
@@ -118,26 +118,22 @@ async function hasCargoToml(dirPath: string): Promise<boolean> {
|
|
|
118
118
|
* Find all Cargo projects in the stylus directory
|
|
119
119
|
*/
|
|
120
120
|
async function findCargoProjects(): Promise<string[]> {
|
|
121
|
-
const
|
|
121
|
+
const contractsDir = path.resolve(__dirname, "..", "contracts");
|
|
122
122
|
const cargoProjects: string[] = [];
|
|
123
123
|
|
|
124
124
|
try {
|
|
125
|
-
const entries = await fs.readdir(
|
|
125
|
+
const entries = await fs.readdir(contractsDir, { withFileTypes: true });
|
|
126
126
|
|
|
127
127
|
for (const entry of entries) {
|
|
128
128
|
if (entry.isDirectory()) {
|
|
129
129
|
const dirName = entry.name;
|
|
130
130
|
|
|
131
131
|
// Skip excluded directories
|
|
132
|
-
if (
|
|
133
|
-
dirName === "scripts" ||
|
|
134
|
-
dirName === "deployments" ||
|
|
135
|
-
dirName === "node_modules"
|
|
136
|
-
) {
|
|
132
|
+
if (dirName === "target") {
|
|
137
133
|
continue;
|
|
138
134
|
}
|
|
139
135
|
|
|
140
|
-
const dirPath = path.join(
|
|
136
|
+
const dirPath = path.join(contractsDir, dirName);
|
|
141
137
|
|
|
142
138
|
if (await hasCargoToml(dirPath)) {
|
|
143
139
|
cargoProjects.push(dirPath);
|
|
@@ -43,7 +43,7 @@ export function getContractNameFromCargoToml(contractFolder: string): string {
|
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
export function isContractHasConstructor(contractFolder: string): boolean {
|
|
46
|
-
const contractPath = path.resolve(contractFolder, "src/lib.rs");
|
|
46
|
+
const contractPath = path.resolve("contracts", contractFolder, "src/lib.rs");
|
|
47
47
|
if (!fs.existsSync(contractPath)) {
|
|
48
48
|
throw new Error(`lib.rs not found in contract folder: ${contractPath}`);
|
|
49
49
|
}
|
|
@@ -75,7 +75,7 @@ export function getExportConfig(
|
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
return {
|
|
78
|
-
contractFolder,
|
|
78
|
+
contractFolder: path.basename(contractFolder || ""),
|
|
79
79
|
contractName,
|
|
80
80
|
deploymentDir,
|
|
81
81
|
contractAddress: deploymentData.address as Address,
|
|
@@ -33,7 +33,7 @@ export function getDeploymentConfig(
|
|
|
33
33
|
try {
|
|
34
34
|
contractName =
|
|
35
35
|
deployOptions.name ||
|
|
36
|
-
getContractNameFromCargoToml(deployOptions.contract);
|
|
36
|
+
getContractNameFromCargoToml(path.join("contracts", deployOptions.contract!));
|
|
37
37
|
} catch (e) {
|
|
38
38
|
throw new Error(`❌ Could not read contract name from Cargo.toml: ${e}`);
|
|
39
39
|
}
|
package/templates/base/readme.md
CHANGED
|
@@ -67,13 +67,13 @@ Check the [Rust installation guide](https://www.rust-lang.org/tools/install) for
|
|
|
67
67
|
Then install the Stylus CLI tools:
|
|
68
68
|
|
|
69
69
|
```bash
|
|
70
|
-
cargo install --force --locked cargo-stylus@0.
|
|
70
|
+
cargo install --force --locked cargo-stylus@0.10.2
|
|
71
71
|
```
|
|
72
72
|
|
|
73
73
|
**Prerequisite:**
|
|
74
74
|
|
|
75
|
-
- `cargo-stylus` version `0.
|
|
76
|
-
- `rustc` version match with `packages/stylus/
|
|
75
|
+
- `cargo-stylus` version `0.10.2`
|
|
76
|
+
- `rustc` version match with `packages/stylus/contracts/rust-toolchain.toml`
|
|
77
77
|
|
|
78
78
|
Set default `toolchain` match `rust-toolchain.toml` and add the `wasm32-unknown-unknown` build target to your Rust compiler:
|
|
79
79
|
|
|
@@ -133,7 +133,7 @@ In your second terminal:
|
|
|
133
133
|
yarn deploy
|
|
134
134
|
```
|
|
135
135
|
|
|
136
|
-
This command deploys a test smart contract to the local network. The contract is located in `packages/stylus/your-contract/src` and can be modified to suit your needs. The `yarn deploy` command uses the deploy script located in `packages/stylus/scripts` to deploy the contract to the network. You can also customize the deploy script .
|
|
136
|
+
This command deploys a test smart contract to the local network. The contract is located in `packages/stylus/contracts/your-contract/src` and can be modified to suit your needs. The `yarn deploy` command uses the deploy script located in `packages/stylus/scripts` to deploy the contract to the network. You can also customize the deploy script .
|
|
137
137
|
|
|
138
138
|
### 6. Start your NextJS app
|
|
139
139
|
|
|
@@ -153,7 +153,7 @@ yarn stylus:test
|
|
|
153
153
|
|
|
154
154
|
## Development Workflow
|
|
155
155
|
|
|
156
|
-
- Edit your smart contract `lib.rs` in `packages/stylus/your-contract/src`
|
|
156
|
+
- Edit your smart contract `lib.rs` in `packages/stylus/contracts/your-contract/src`
|
|
157
157
|
- Edit your frontend in `packages/nextjs/app`
|
|
158
158
|
- Edit your deployment scripts in `packages/stylus/scripts`
|
|
159
159
|
|
|
@@ -169,14 +169,16 @@ Use the following command to create a new contract and customize it as needed:
|
|
|
169
169
|
yarn new-module <contract-name>
|
|
170
170
|
```
|
|
171
171
|
|
|
172
|
-
The generated contract will be located in `packages/stylus/<contract-name>`.
|
|
172
|
+
The generated contract will be located in `packages/stylus/contracts/<contract-name>`.
|
|
173
|
+
|
|
174
|
+
**Workspace structure:** `packages/stylus/contracts` is a Cargo workspace with `members = ["*"]`. `yarn new-module <name>` (via `scripts/new_module.sh`) scaffolds the new contract under `contracts/` — the glob auto-discovers it, no manual wiring needed.
|
|
173
175
|
|
|
174
176
|
### Step 2: Validate Your Contract Before Deployment
|
|
175
177
|
|
|
176
178
|
Before deploying, it's recommended to validate your contract size using `cargo stylus check`:
|
|
177
179
|
|
|
178
180
|
```bash
|
|
179
|
-
cd packages/stylus/<contract-name>
|
|
181
|
+
cd packages/stylus/contracts/<contract-name>
|
|
180
182
|
cargo stylus check
|
|
181
183
|
```
|
|
182
184
|
|
|
File without changes
|
/package/templates/base/packages/stylus/{your-contract → contracts/your-contract}/.cargo/config.toml
RENAMED
|
File without changes
|
/package/templates/base/packages/stylus/{your-contract → contracts/your-contract}/header.png
RENAMED
|
File without changes
|
/package/templates/base/packages/stylus/{your-contract → contracts/your-contract}/src/lib.rs
RENAMED
|
File without changes
|
/package/templates/base/packages/stylus/{your-contract → contracts/your-contract}/src/main.rs
RENAMED
|
File without changes
|