create-stylus 1.1.0 → 1.1.2

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.
Files changed (27) hide show
  1. package/package.json +1 -1
  2. package/templates/base/.gitignore.template.mjs +2 -2
  3. package/templates/base/dist/cli.js +683 -0
  4. package/templates/base/dist/cli.js.map +1 -0
  5. package/templates/base/package.json +2 -1
  6. package/templates/base/packages/nextjs/.gitignore.template.mjs +3 -3
  7. package/templates/base/packages/nextjs/scaffold.config.ts +2 -2
  8. package/templates/base/packages/stylus/.env.example +5 -2
  9. package/templates/base/packages/stylus/.gitignore.template.mjs +3 -3
  10. package/templates/base/packages/stylus/package.json +0 -1
  11. package/templates/base/packages/stylus/scripts/deploy.ts +29 -12
  12. package/templates/base/packages/stylus/scripts/deploy_contract.ts +34 -43
  13. package/templates/base/packages/stylus/scripts/deploy_wrapper.ts +4 -44
  14. package/templates/base/packages/stylus/scripts/export_abi.ts +13 -13
  15. package/templates/base/packages/stylus/scripts/utils/command.ts +18 -31
  16. package/templates/base/packages/stylus/scripts/utils/contract.ts +23 -14
  17. package/templates/base/packages/stylus/scripts/utils/deployment.ts +169 -45
  18. package/templates/base/packages/stylus/scripts/utils/network.ts +27 -7
  19. package/templates/base/packages/stylus/scripts/utils/type.ts +13 -10
  20. package/templates/base/packages/stylus/your-contract/Cargo.lock +35 -18
  21. package/templates/base/packages/stylus/your-contract/Cargo.toml +3 -1
  22. package/templates/base/packages/stylus/your-contract/src/lib.rs +51 -21
  23. package/templates/base/readme.md +207 -42
  24. package/templates/base/yarn.lock +1 -2
  25. package/templates/base/packages/stylus/README.md +0 -263
  26. package/templates/base/packages/stylus/header.png +0 -0
  27. package/templates/base/packages/stylus/scripts/deploy_all_contracts.ts +0 -59
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sources":["../src/types.ts","../src/utils/consts.ts","../src/utils/extensions-tree.ts","../src/utils/find-files-recursively.ts","../src/utils/merge-package-json.ts","../src/utils/link.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/utils/render-outro-message.ts","../src/main.ts","../src/utils/parse-arguments-into-options.ts","../src/config.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":["link"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ss",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "private": true,
5
5
  "workspaces": {
6
6
  "packages": [
@@ -23,6 +23,7 @@
23
23
  "stylus:format": "yarn workspace @ss/stylus format",
24
24
  "stylus:test": "yarn workspace @ss/stylus test",
25
25
  "test": "yarn stylus:test",
26
+ "test:networks": "yarn workspace @ss/stylus test:networks",
26
27
  "format": "yarn next:format",
27
28
  "start": "yarn workspace @ss/nextjs dev",
28
29
  "next:lint": "yarn workspace @ss/nextjs lint",
@@ -1,4 +1,4 @@
1
- const contents = () =>
1
+ const contents = () =>
2
2
  `# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
3
3
 
4
4
  # dependencies
@@ -37,6 +37,6 @@ yarn-error.log*
37
37
  # typescript
38
38
  *.tsbuildinfo
39
39
 
40
- ipfs-upload.config.json`;
40
+ ipfs-upload.config.json`
41
41
 
42
- export default contents;
42
+ export default contents;
@@ -1,5 +1,5 @@
1
1
  // @ts-nocheck
2
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
2
+
3
3
  import { arbitrumNitro } from "./utils/scaffold-stylus/chain";
4
4
  import * as chains from "viem/chains";
5
5
 
@@ -17,7 +17,7 @@ export const DEFAULT_ALCHEMY_API_KEY = "oKxs-03sij-U_N0iOlrSsZFr29-IqbuF";
17
17
 
18
18
  const scaffoldConfig = {
19
19
  // The networks on which your DApp is live
20
- targetNetworks: [chains.arbitrumSepolia],
20
+ targetNetworks: [arbitrumNitro],
21
21
 
22
22
  // The interval at which your front-end polls the RPC servers for new data
23
23
  // it has no effect if you only target the local network (default is 4000)
@@ -1,13 +1,16 @@
1
1
  DEPLOYMENT_DIR=
2
2
 
3
3
  ## devnet
4
- RPC_URL=
5
- PRIVATE_KEY=
4
+ # ACCOUNT_ADDRESS=
5
+ # RPC_URL=
6
+ # PRIVATE_KEY=
6
7
 
7
8
  ## sepolia
9
+ ACCOUNT_ADDRESS_SEPOLIA=
8
10
  RPC_URL_SEPOLIA=
9
11
  PRIVATE_KEY_SEPOLIA=
10
12
 
11
13
  ## mainnet
14
+ ACCOUNT_ADDRESS_MAINNET=
12
15
  RPC_URL_MAINNET=
13
16
  PRIVATE_KEY_MAINNET=
@@ -1,7 +1,7 @@
1
- const contents = () =>
1
+ const contents = () =>
2
2
  `target
3
3
  .env
4
4
  node_modules
5
- deployments`;
5
+ deployments`
6
6
 
7
- export default contents;
7
+ export default contents;
@@ -37,7 +37,6 @@
37
37
  "yargs": "^17.7.2"
38
38
  },
39
39
  "dependencies": {
40
- "@tanstack/react-query": "^5.81.5",
41
40
  "abitype": "^1.0.8",
42
41
  "dotenv": "^16.0.0",
43
42
  "ethers": "^6.15.0",
@@ -1,29 +1,46 @@
1
1
  import deployStylusContract from "./deploy_contract";
2
- import {
3
- getDeploymentConfig,
4
- printDeployedAddresses,
5
- } from "./utils/";
2
+ import { getDeploymentConfig, printDeployedAddresses } from "./utils/";
6
3
  import { DeployOptions } from "./utils/type";
4
+ import { config as dotenvConfig } from "dotenv";
5
+ import * as path from "path";
6
+ import * as fs from "fs";
7
+
8
+ const envPath = path.resolve(__dirname, "../.env");
9
+ if (fs.existsSync(envPath)) {
10
+ dotenvConfig({ path: envPath });
11
+ }
7
12
 
8
13
  /**
9
14
  * Define your deployment logic here
10
15
  */
11
16
  export default async function deployScript(deployOptions: DeployOptions) {
17
+ const config = getDeploymentConfig(deployOptions);
18
+
19
+ console.log(`šŸ“” Using endpoint: ${config.chain?.rpcUrl}`);
20
+ if (config.chain) {
21
+ console.log(`🌐 Network: ${config.chain?.name}`);
22
+ console.log(`šŸ”— Chain ID: ${config.chain?.id}`);
23
+ }
24
+ console.log(`šŸ”‘ Using private key: ${config.privateKey.substring(0, 10)}...`);
25
+ console.log(`šŸ“ Deployment directory: ${config.deploymentDir}`);
26
+ console.log(`\n`);
27
+
12
28
  // Deploy a single contract
13
29
  await deployStylusContract({
14
30
  contract: "your-contract",
31
+ constructorArgs: [config.deployerAddress!],
15
32
  ...deployOptions,
16
33
  });
17
34
 
18
- // deploy your contract with a custom name
19
- await deployStylusContract({
20
- contract: "your-contract",
21
- name: "my-contract",
22
- ...deployOptions,
23
- });
35
+ /// Deploy your contract with a custom name
36
+ // await deployStylusContract({
37
+ // contract: "your-contract",
38
+ // constructorArgs: [config.deployerAddress],
39
+ // name: "my-contract",
40
+ // ...deployOptions,
41
+ // });
24
42
 
25
43
  // Print the deployed addresses
26
- const config = getDeploymentConfig(deployOptions);
27
44
  console.log("\n\n");
28
- printDeployedAddresses(config.deploymentDir);
45
+ printDeployedAddresses(config.deploymentDir, config.chain?.id);
29
46
  }
@@ -2,17 +2,12 @@ import {
2
2
  getDeploymentConfig,
3
3
  ensureDeploymentDirectory,
4
4
  executeCommand,
5
- generateContractAddress,
6
- extractDeployedAddress,
7
- saveDeployedAddress,
8
- clearDeploymentDir,
5
+ extractDeploymentInfo,
6
+ saveDeployment,
9
7
  // estimateGasPrice,
10
8
  } from "./utils/";
11
9
  import { exportStylusAbi } from "./export_abi";
12
- import {
13
- DeployOptions,
14
- AdditionalOptions,
15
- } from "./utils/type";
10
+ import { DeployOptions } from "./utils/type";
16
11
  import { buildDeployCommand } from "./utils/command";
17
12
 
18
13
  /**
@@ -23,34 +18,14 @@ import { buildDeployCommand } from "./utils/command";
23
18
  */
24
19
  export default async function deployStylusContract(
25
20
  deployOptions: DeployOptions,
26
- additionalOptions: AdditionalOptions = {
27
- isSingleCommand: true,
28
- shouldClearDeploymentDir: false,
29
- },
30
21
  ) {
31
22
  console.log(`\nšŸš€ Deploying contract in: ${deployOptions.contract}`);
32
23
 
33
24
  const config = getDeploymentConfig(deployOptions);
34
- if (additionalOptions.shouldClearDeploymentDir) {
35
- clearDeploymentDir();
36
- ensureDeploymentDirectory(config.deploymentDir);
37
- }
25
+ ensureDeploymentDirectory(config.deploymentDir);
38
26
 
39
27
  console.log(`šŸ“„ Contract name: ${config.contractName}`);
40
28
 
41
- config.contractAddress = generateContractAddress();
42
-
43
- if (additionalOptions.isSingleCommand) {
44
- console.log(`šŸ“” Using endpoint: ${config.chain?.rpcUrl}`);
45
- if (config.chain) {
46
- console.log(`🌐 Network specified: ${config.chain?.name}`);
47
- }
48
- console.log(
49
- `šŸ”‘ Using private key: ${config.privateKey.substring(0, 10)}...`,
50
- );
51
- console.log(`šŸ“ Deployment directory: ${config.deploymentDir}`);
52
- }
53
-
54
29
  try {
55
30
  // Step 1: Deploy the contract using cargo stylus with contract address
56
31
  // --contract-address='${config.contractAddress}' deactivated for now as it's not working. Issue https://github.com/OffchainLabs/cargo-stylus/issues/171
@@ -63,31 +38,47 @@ export default async function deployStylusContract(
63
38
 
64
39
  if (deployOptions.estimateGas) {
65
40
  console.log(deployOutput);
66
- process.exit(0);
41
+ return;
67
42
  }
68
43
 
69
44
  // Extract the actual deployed address from the output
70
- const deployedAddress = extractDeployedAddress(deployOutput);
71
- if (deployedAddress) {
72
- config.contractAddress = deployedAddress;
73
- console.log(`šŸ“‹ Contract deployed at address: ${config.contractAddress}`);
45
+ const deploymentInfo = extractDeploymentInfo(deployOutput);
46
+ if (deploymentInfo) {
47
+ console.log(`šŸ“‹ Contract deployed at address: ${deploymentInfo.address}`);
48
+ console.log("Transaction hash: ", deploymentInfo.txHash);
74
49
  } else {
75
- console.log(`šŸ“‹ Using fallback address: ${config.contractAddress}`);
50
+ throw new Error("Failed to extract deployed address");
76
51
  }
77
52
 
78
- // Save the deployed address to addresses.json
79
- saveDeployedAddress(config);
53
+ // Save the deployed address to chain-specific deployment file
54
+ saveDeployment(config, deploymentInfo);
80
55
 
81
56
  // Step 2: Export ABI using the shared function
82
- await exportStylusAbi(config.contractFolder, config.contractName, false);
57
+ await exportStylusAbi(
58
+ config.contractFolder,
59
+ config.contractName,
60
+ false,
61
+ config.chain?.id,
62
+ );
83
63
 
84
- console.log(`āœ… Successfully deployed contract in: ${deployOptions.contract}`);
85
- if (additionalOptions.isSingleCommand) {
86
- console.log(`šŸ“‹ Contract deployed at address: ${config.contractAddress}`);
87
- console.log(`šŸ“‹ Chain ID: ${config.chain?.id}`);
64
+ // Step 3: Verify the contract
65
+ if (deployOptions.verify) {
66
+ try {
67
+ const output = await executeCommand(
68
+ `cargo stylus verify --endpoint=${config.chain?.rpcUrl} --deployment-tx=${deploymentInfo.txHash}`,
69
+ deployOptions.contract!,
70
+ "Verifying contract with cargo stylus",
71
+ );
72
+ console.log(output);
73
+ } catch (error) {
74
+ console.error(
75
+ `āŒ Verification failed in: ${deployOptions.contract}`,
76
+ error,
77
+ );
78
+ }
88
79
  }
89
80
  } catch (error) {
90
81
  console.error(`āŒ Deployment failed in: ${deployOptions.contract}`, error);
91
82
  process.exit(1);
92
83
  }
93
- }
84
+ }
@@ -1,9 +1,6 @@
1
- import * as fs from "fs";
2
- import deployStylusContract from "./deploy_contract";
3
1
  import { hideBin } from "yargs/helpers";
4
2
  import yargs from "yargs";
5
3
  import { DeployCommandOptions, DeployOptions } from "./utils/type";
6
- import deployAllStylusContracts from "./deploy_all_contracts";
7
4
  import deployScript from "./deploy";
8
5
 
9
6
  /**
@@ -14,24 +11,6 @@ if (require.main === module) {
14
11
  // Use yargs for argument parsing
15
12
  const argv = yargs(hideBin(process.argv))
16
13
  .usage("Usage: yarn deploy --name <contractName> --network <network>")
17
- .option("all", {
18
- alias: "a",
19
- describe: "Deploy all contracts in the stylus folder",
20
- type: "boolean",
21
- demandOption: false,
22
- })
23
- .option("contract", {
24
- alias: "c",
25
- describe: "Name of the contract folder",
26
- type: "string",
27
- demandOption: false,
28
- })
29
- .option("name", {
30
- alias: "n",
31
- describe: "Name of the contract",
32
- type: "string",
33
- demandOption: false,
34
- })
35
14
  .option("network", {
36
15
  alias: "net",
37
16
  describe: "Network to deploy to",
@@ -53,27 +32,8 @@ if (require.main === module) {
53
32
  .help()
54
33
  .parseSync() as DeployCommandOptions;
55
34
 
56
- if (argv.all) {
57
- deployAllStylusContracts(argv as DeployOptions).catch((error) => {
58
- console.error("Fatal error:", error);
59
- process.exit(1);
60
- });
61
- } else if (argv.contract) {
62
- if (!fs.existsSync(argv.contract)) {
63
- console.error(`āŒ Contract folder does not exist: ${argv.contract}`);
64
- process.exit(1);
65
- }
66
-
67
- deployStylusContract(argv as DeployOptions, {
68
- shouldClearDeploymentDir: true,
69
- }).catch((error) => {
70
- console.error("Fatal error:", error);
71
- process.exit(1);
72
- });
73
- } else {
74
- deployScript(argv as DeployOptions).catch((error) => {
75
- console.error("Fatal error:", error);
76
- process.exit(1);
77
- });
78
- }
35
+ deployScript(argv as DeployOptions).catch((error) => {
36
+ console.error("Fatal error:", error);
37
+ process.exit(1);
38
+ });
79
39
  }
@@ -11,21 +11,21 @@ import {
11
11
  export async function exportStylusAbi(
12
12
  contractFolder: string,
13
13
  contractName: string,
14
- isSingleCommand: boolean = true,
14
+ isScript: boolean = true,
15
+ chainId?: string,
15
16
  ) {
16
17
  console.log("šŸ“„ Starting Stylus ABI export...");
17
18
 
18
- const config = getExportConfig(contractFolder, contractName);
19
+ const config = getExportConfig(contractFolder, contractName, chainId);
19
20
 
20
- // If contractAddress is not set, error and exit
21
21
  if (!config.contractAddress) {
22
22
  console.error(
23
- `āŒ Contract address not found. Please deploy the contract first or ensure it is saved in ${path.resolve(config.deploymentDir, "addresses.json")}`,
23
+ `āŒ Contract address not found. Please deploy the contract first or ensure it is saved in a chain-specific deployment file in ${config.deploymentDir}`,
24
24
  );
25
25
  process.exit(1);
26
26
  }
27
27
 
28
- if (isSingleCommand) {
28
+ if (isScript) {
29
29
  console.log(`šŸ“„ Contract name: ${config.contractName}`);
30
30
  console.log(`šŸ“ Deployment directory: ${config.deploymentDir}`);
31
31
  console.log(`šŸ“ Contract address: ${config.contractAddress}`);
@@ -33,7 +33,6 @@ export async function exportStylusAbi(
33
33
  }
34
34
 
35
35
  try {
36
- // Ensure deployment directory exists
37
36
  ensureDeploymentDirectory(config.deploymentDir);
38
37
 
39
38
  // Export ABI
@@ -44,7 +43,6 @@ export async function exportStylusAbi(
44
43
  `šŸ“„ ABI file location: ${config.deploymentDir}/${config.contractFolder}`,
45
44
  );
46
45
 
47
- // Verify the ABI file was created
48
46
  const abiFilePath = path.resolve(
49
47
  config.deploymentDir,
50
48
  `${config.contractFolder}`,
@@ -58,11 +56,12 @@ export async function exportStylusAbi(
58
56
  }
59
57
 
60
58
  // do not Generate TypeScript ABI when called from yarn script
61
- if (!isSingleCommand) {
59
+ if (!isScript) {
62
60
  await generateTsAbi(
63
61
  abiFilePath,
64
62
  config.contractName,
65
63
  config.contractAddress,
64
+ config.txHash,
66
65
  config.chainId,
67
66
  );
68
67
  }
@@ -72,7 +71,6 @@ export async function exportStylusAbi(
72
71
  }
73
72
  }
74
73
 
75
- // Allow running this file directly
76
74
  if (require.main === module) {
77
75
  // Get contract folder from command line args, default to 'your-contract'
78
76
  const contractFolder = process.argv[2] || "your-contract";
@@ -80,8 +78,10 @@ if (require.main === module) {
80
78
  console.error(`āŒ Contract folder does not exist: ${contractFolder}`);
81
79
  process.exit(1);
82
80
  }
83
- exportStylusAbi(contractFolder, contractFolder).catch((error) => {
84
- console.error("Fatal error:", error);
85
- process.exit(1);
86
- });
81
+ exportStylusAbi(contractFolder, contractFolder).catch(
82
+ (error) => {
83
+ console.error("Fatal error:", error);
84
+ process.exit(1);
85
+ },
86
+ );
87
87
  }
@@ -6,24 +6,38 @@ export async function buildDeployCommand(
6
6
  config: DeploymentConfig,
7
7
  deployOptions: DeployOptions,
8
8
  ) {
9
- const baseCommand = `cargo stylus deploy --endpoint='${config.chain?.rpcUrl}' --private-key='${config.privateKey}' --no-verify`;
9
+ let baseCommand = `cargo stylus deploy --endpoint='${config.chain?.rpcUrl}' --private-key='${config.privateKey}'`;
10
+
11
+ if (
12
+ deployOptions.constructorArgs &&
13
+ deployOptions.constructorArgs.length > 0
14
+ ) {
15
+ baseCommand += ` --constructor-args='${deployOptions.constructorArgs.join(" ")}'`;
16
+ }
10
17
 
11
18
  if (deployOptions.estimateGas) {
12
19
  return `${baseCommand} --estimate-gas`;
13
20
  }
14
21
 
22
+ if (!deployOptions.verify) {
23
+ baseCommand += ` --no-verify`;
24
+ }
25
+
15
26
  if (deployOptions.maxFee) {
16
- return `${baseCommand} --max-fee-per-gas-gwei=${deployOptions.maxFee}`;
27
+ baseCommand += ` --max-fee-per-gas-gwei=${deployOptions.maxFee}`;
17
28
  }
18
29
 
19
- // const gasPrice = await estimateGasPrice(config);
20
30
  return baseCommand;
21
31
  }
22
32
 
23
33
  export async function estimateGasPrice(
24
34
  config: DeploymentConfig,
35
+ deployOptions: DeployOptions,
25
36
  ): Promise<string> {
26
- const deployCommand = `cargo stylus deploy --endpoint='${config.chain?.rpcUrl}' --private-key='${config.privateKey}' --no-verify --estimate-gas`;
37
+ let deployCommand = `cargo stylus deploy --endpoint='${config.chain?.rpcUrl}' --private-key='${config.privateKey}' --no-verify --estimate-gas `;
38
+ if (deployOptions.constructorArgs) {
39
+ deployCommand += ` --constructor-args='${deployOptions.constructorArgs.join(" ")}'`;
40
+ }
27
41
  const deployOutput = await executeCommand(
28
42
  deployCommand,
29
43
  config.contractName,
@@ -88,33 +102,6 @@ export function executeCommand(
88
102
  childProcess.on("close", (code: number | null) => {
89
103
  if (code === 0) {
90
104
  console.log(`\nāœ… ${description} completed successfully!`);
91
- // Print output starting from "project metadata hash computed on deployment" or error patterns, or all logs if not found
92
- // if (outputLines.length > 0) {
93
- // const metadataIndex = outputLines.findIndex((line) =>
94
- // line.includes("project metadata hash computed on deployment"),
95
- // );
96
- // const errorIndex = outputLines.findIndex((line) =>
97
- // line.includes("error["),
98
- // );
99
-
100
- // let startIndex = -1;
101
- // if (metadataIndex >= 0) {
102
- // startIndex = metadataIndex;
103
- // } else if (errorIndex >= 0) {
104
- // startIndex = errorIndex;
105
- // }
106
-
107
- // if (startIndex >= 0) {
108
- // const linesToPrint = outputLines.slice(startIndex);
109
- // linesToPrint.forEach((line) => {
110
- // if (line.trim()) console.log(line);
111
- // });
112
- // } else {
113
- // outputLines.forEach((line) => {
114
- // if (line.trim()) console.log(line);
115
- // });
116
- // }
117
- // }
118
105
  resolve(output);
119
106
  } else {
120
107
  console.error(`\nāŒ ${description} failed with exit code ${code}`);