create-stylus 0.0.6 → 0.1.0

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 CHANGED
@@ -7,7 +7,7 @@ import ncp from 'ncp';
7
7
  import { promisify } from 'util';
8
8
  import { projectInstall } from 'pkg-install';
9
9
  import chalk from 'chalk';
10
- import Listr from 'listr';
10
+ import { Listr } from 'listr2';
11
11
  import arg from 'arg';
12
12
  import inquirer from 'inquirer';
13
13
 
@@ -535,37 +535,46 @@ async function createProject(options) {
535
535
  const tasks = new Listr([
536
536
  {
537
537
  title: `📁 Create project directory ${targetDirectory}`,
538
- task: () => createProjectDirectory(options.directory),
538
+ task: async () => await createProjectDirectory(options.directory),
539
539
  },
540
540
  {
541
- title: `🚀 Creating a new Scaffold-Stylus 2 app${options.extension
542
- ? ` with ${chalk.green.bold(options.extension)} extension`
543
- : ""} in ${chalk.green.bold(options.directory)}`,
544
- task: () => copyTemplateFiles(options, templateDirectory, targetDirectory),
541
+ title: `🚀 Creating a new Scaffold-Stylus 2 app in ${chalk.green.bold(options.directory)}`,
542
+ task: async (ctx, task) => {
543
+ if (ctx.options.extension) {
544
+ task.title = `🚀 Creating a new Scaffold-Stylus 2 app${ctx.options.extension
545
+ ? ` with ${chalk.green.bold(ctx.options.extension)} extension`
546
+ : ""} in ${chalk.green.bold(ctx.options.directory)}`;
547
+ }
548
+ await copyTemplateFiles(options, templateDirectory, targetDirectory);
549
+ },
545
550
  },
546
551
  {
547
552
  title: `📦 Installing dependencies with yarn, this could take a while`,
548
- task: () => installPackages(targetDirectory),
549
- skip: () => {
550
- if (!options.install) {
551
- return "Manually skipped";
553
+ task: async (ctx, task) => {
554
+ if (!!ctx.options.install) {
555
+ await installPackages(targetDirectory);
556
+ }
557
+ else {
558
+ task.skip("Manually skipped");
552
559
  }
553
560
  },
554
561
  },
555
562
  {
556
563
  title: "🪄 Formatting Next.js files with prettier",
557
- task: () => prettierFormat(targetDirectory),
558
- skip: () => {
559
- if (!options.install) {
560
- return "Skipping because prettier install was skipped";
564
+ task: async (ctx, task) => {
565
+ if (!!ctx.options.install) {
566
+ await prettierFormat(targetDirectory);
567
+ }
568
+ else {
569
+ task.skip("Skipping because prettier install was skipped");
561
570
  }
562
571
  },
563
572
  },
564
573
  {
565
574
  title: `📡 Initializing Git repository`,
566
- task: () => createFirstGitCommit(targetDirectory),
575
+ task: async () => await createFirstGitCommit(targetDirectory),
567
576
  },
568
- ]);
577
+ ], { ctx: { options } });
569
578
  try {
570
579
  await tasks.run();
571
580
  renderOutroMessage(options);
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/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],"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/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],"names":["mergePackageJson","link"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-stylus",
3
- "version": "0.0.6",
3
+ "version": "0.1.0",
4
4
  "author": "Q3 Labs",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -37,7 +37,7 @@
37
37
  "execa": "9.5.2",
38
38
  "handlebars": "^4.7.8",
39
39
  "inquirer": "9.2.0",
40
- "listr": "0.14.3",
40
+ "listr2": "^9.0.1",
41
41
  "merge-packages": "^0.1.6",
42
42
  "ncp": "2.0.0",
43
43
  "pkg-install": "1.0.0"
package/src/main.ts CHANGED
@@ -8,10 +8,12 @@ import {
8
8
  import type { Options } from "./types";
9
9
  import { renderOutroMessage } from "./utils/render-outro-message";
10
10
  import chalk from "chalk";
11
- import Listr from "listr";
11
+ import { Listr, ListrContext } from "listr2";
12
12
  import path from "path";
13
13
  import { fileURLToPath } from "url";
14
14
 
15
+ type CreateStylusListrContext = Options & ListrContext;
16
+
15
17
  export async function createProject(options: Options) {
16
18
  console.log(`\n`);
17
19
 
@@ -24,43 +26,55 @@ export async function createProject(options: Options) {
24
26
 
25
27
  const targetDirectory = path.resolve(process.cwd(), options.directory);
26
28
 
27
- const tasks = new Listr([
28
- {
29
- title: `📁 Create project directory ${targetDirectory}`,
30
- task: () => createProjectDirectory(options.directory),
31
- },
32
- {
33
- title: `🚀 Creating a new Scaffold-Stylus 2 app${
34
- options.extension
35
- ? ` with ${chalk.green.bold(options.extension)} extension`
36
- : ""
37
- } in ${chalk.green.bold(options.directory)}`,
38
- task: () =>
39
- copyTemplateFiles(options, templateDirectory, targetDirectory),
40
- },
41
- {
42
- title: `📦 Installing dependencies with yarn, this could take a while`,
43
- task: () => installPackages(targetDirectory, options),
44
- skip: () => {
45
- if (!options.install) {
46
- return "Manually skipped";
47
- }
29
+ const tasks = new Listr<CreateStylusListrContext>(
30
+ [
31
+ {
32
+ title: `📁 Create project directory ${targetDirectory}`,
33
+ task: async () => await createProjectDirectory(options.directory),
34
+ },
35
+ {
36
+ title: `🚀 Creating a new Scaffold-Stylus 2 app in ${chalk.green.bold(
37
+ options.directory,
38
+ )}`,
39
+ task: async (ctx, task) => {
40
+ if (ctx.options.extension) {
41
+ task.title = `🚀 Creating a new Scaffold-Stylus 2 app${
42
+ ctx.options.extension
43
+ ? ` with ${chalk.green.bold(ctx.options.extension)} extension`
44
+ : ""
45
+ } in ${chalk.green.bold(ctx.options.directory)}`;
46
+ }
47
+
48
+ await copyTemplateFiles(options, templateDirectory, targetDirectory);
49
+ },
48
50
  },
49
- },
50
- {
51
- title: "🪄 Formatting Next.js files with prettier",
52
- task: () => prettierFormat(targetDirectory),
53
- skip: () => {
54
- if (!options.install) {
55
- return "Skipping because prettier install was skipped";
56
- }
51
+ {
52
+ title: `📦 Installing dependencies with yarn, this could take a while`,
53
+ task: async (ctx, task) => {
54
+ if (!!ctx.options.install) {
55
+ await installPackages(targetDirectory, options);
56
+ } else {
57
+ task.skip("Manually skipped");
58
+ }
59
+ },
57
60
  },
58
- },
59
- {
60
- title: `📡 Initializing Git repository`,
61
- task: () => createFirstGitCommit(targetDirectory),
62
- },
63
- ]);
61
+ {
62
+ title: "🪄 Formatting Next.js files with prettier",
63
+ task: async (ctx, task) => {
64
+ if (!!ctx.options.install) {
65
+ await prettierFormat(targetDirectory);
66
+ } else {
67
+ task.skip("Skipping because prettier install was skipped");
68
+ }
69
+ },
70
+ },
71
+ {
72
+ title: `📡 Initializing Git repository`,
73
+ task: async () => await createFirstGitCommit(targetDirectory),
74
+ },
75
+ ],
76
+ { ctx: { options } as CreateStylusListrContext },
77
+ );
64
78
 
65
79
  try {
66
80
  await tasks.run();
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ss",
3
- "version": "0.0.6",
3
+ "version": "0.1.0",
4
4
  "private": true,
5
5
  "workspaces": {
6
6
  "packages": [
@@ -24,7 +24,7 @@
24
24
  "stylus:format": "yarn workspace @ss/stylus format",
25
25
  "stylus:test": "yarn workspace @ss/stylus test",
26
26
  "test": "yarn stylus:test",
27
- "test:networks": "yarn workspace @ss/stylus test:networks",
27
+ "info:networks": "yarn workspace @ss/stylus info:networks",
28
28
  "format": "yarn next:format",
29
29
  "start": "yarn workspace @ss/nextjs dev",
30
30
  "next:lint": "yarn workspace @ss/nextjs lint",
@@ -9,10 +9,10 @@
9
9
  "dev": "tsc --watch",
10
10
  "start": "node dist/index.js",
11
11
  "deploy": "ts-node scripts/deploy_wrapper.ts",
12
- "test:networks": "ts-node scripts/test_network.ts",
12
+ "info:networks": "ts-node scripts/test_network.ts",
13
13
  "export-abi": "ts-node scripts/export_abi.ts",
14
14
  "clean-contracts": "git clean -xdf -e .env -e your-contract/ -e node_modules/",
15
- "test": "cargo test",
15
+ "test": "ts-node scripts/test.ts",
16
16
  "lint": "eslint scripts --ext .ts",
17
17
  "lint:fix": "eslint scripts --ext .ts --fix",
18
18
  "new-module": "bash scripts/new_module.sh"
@@ -0,0 +1,236 @@
1
+ #!/usr/bin/env ts-node
2
+ /**
3
+ * Stylus Cargo Test Runner
4
+ *
5
+ * This script automatically finds and runs tests for all Cargo projects
6
+ * in the stylus directory that have a Cargo.toml file.
7
+ *
8
+ * Features:
9
+ * - Automatically discovers Cargo projects by looking for Cargo.toml files
10
+ * - Excludes scripts, deployments, and node_modules directories
11
+ * - Runs `cargo test` for each project
12
+ * - Shows real-time output during test execution
13
+ * - Provides a comprehensive summary of test results
14
+ * - Exits with appropriate error codes for CI/CD integration
15
+ *
16
+ * Usage:
17
+ * npm run test
18
+ * or
19
+ * ts-node scripts/test.ts
20
+ */
21
+ import { spawn } from "child_process";
22
+ import { promises as fs } from "fs";
23
+ import * as path from "path";
24
+
25
+ interface TestResult {
26
+ project: string;
27
+ success: boolean;
28
+ output: string;
29
+ error?: string;
30
+ }
31
+
32
+ /**
33
+ * Execute a command and return a promise with the result
34
+ */
35
+ function executeCommand(
36
+ command: string,
37
+ cwd: string,
38
+ ): Promise<{ success: boolean; output: string; error?: string }> {
39
+ return new Promise((resolve) => {
40
+ console.log(`\n🔄 Running tests in ${path.basename(cwd)}...`);
41
+ console.log(`Executing: ${command}`);
42
+
43
+ const childProcess = spawn(command, [], {
44
+ cwd,
45
+ shell: true,
46
+ stdio: ["inherit", "pipe", "pipe"],
47
+ });
48
+
49
+ let output = "";
50
+ let errorOutput = "";
51
+
52
+ // Handle stdout
53
+ if (childProcess.stdout) {
54
+ childProcess.stdout.on("data", (data: Buffer) => {
55
+ const chunk = data.toString();
56
+ output += chunk;
57
+ process.stdout.write(chunk); // Show real-time output
58
+ });
59
+ }
60
+
61
+ // Handle stderr
62
+ if (childProcess.stderr) {
63
+ childProcess.stderr.on("data", (data: Buffer) => {
64
+ const chunk = data.toString();
65
+ errorOutput += chunk;
66
+ process.stderr.write(chunk); // Show real-time errors
67
+ });
68
+ }
69
+
70
+ // Handle process completion
71
+ childProcess.on("close", (code: number | null) => {
72
+ const success = code === 0;
73
+ if (success) {
74
+ console.log(
75
+ `✅ Tests completed successfully in ${path.basename(cwd)}!`,
76
+ );
77
+ } else {
78
+ console.log(
79
+ `❌ Tests failed in ${path.basename(cwd)} with exit code ${code}`,
80
+ );
81
+ }
82
+
83
+ resolve({
84
+ success,
85
+ output,
86
+ ...(errorOutput && { error: errorOutput }),
87
+ });
88
+ });
89
+
90
+ // Handle process errors
91
+ childProcess.on("error", (error: Error) => {
92
+ console.error(
93
+ `❌ Error running tests in ${path.basename(cwd)}:`,
94
+ error.message,
95
+ );
96
+ resolve({
97
+ success: false,
98
+ output: "",
99
+ error: error.message,
100
+ });
101
+ });
102
+ });
103
+ }
104
+
105
+ /**
106
+ * Check if a directory contains a Cargo.toml file
107
+ */
108
+ async function hasCargoToml(dirPath: string): Promise<boolean> {
109
+ try {
110
+ await fs.access(path.join(dirPath, "Cargo.toml"));
111
+ return true;
112
+ } catch {
113
+ return false;
114
+ }
115
+ }
116
+
117
+ /**
118
+ * Find all Cargo projects in the stylus directory
119
+ */
120
+ async function findCargoProjects(): Promise<string[]> {
121
+ const stylusDir = path.resolve(__dirname, "..");
122
+ const cargoProjects: string[] = [];
123
+
124
+ try {
125
+ const entries = await fs.readdir(stylusDir, { withFileTypes: true });
126
+
127
+ for (const entry of entries) {
128
+ if (entry.isDirectory()) {
129
+ const dirName = entry.name;
130
+
131
+ // Skip excluded directories
132
+ if (
133
+ dirName === "scripts" ||
134
+ dirName === "deployments" ||
135
+ dirName === "node_modules"
136
+ ) {
137
+ continue;
138
+ }
139
+
140
+ const dirPath = path.join(stylusDir, dirName);
141
+
142
+ if (await hasCargoToml(dirPath)) {
143
+ cargoProjects.push(dirPath);
144
+ }
145
+ }
146
+ }
147
+ } catch (error) {
148
+ console.error("Error scanning for Cargo projects:", error);
149
+ }
150
+
151
+ return cargoProjects;
152
+ }
153
+
154
+ /**
155
+ * Run tests for all Cargo projects
156
+ */
157
+ async function runAllTests(): Promise<void> {
158
+ console.log("🚀 Starting Stylus Cargo Tests...\n");
159
+
160
+ const cargoProjects = await findCargoProjects();
161
+
162
+ if (cargoProjects.length === 0) {
163
+ console.log("❗ No Cargo projects found with Cargo.toml files.");
164
+ process.exit(1);
165
+ }
166
+
167
+ console.log(`Found ${cargoProjects.length} Stylus Contract(s):`);
168
+ cargoProjects.forEach((project) => {
169
+ console.log(` - ${path.basename(project)}`);
170
+ });
171
+ console.log("");
172
+
173
+ const results: TestResult[] = [];
174
+
175
+ // Run tests for each project
176
+ for (const projectPath of cargoProjects) {
177
+ const projectName = path.basename(projectPath);
178
+
179
+ const result = await executeCommand("cargo test", projectPath);
180
+
181
+ results.push({
182
+ project: projectName,
183
+ success: result.success,
184
+ output: result.output,
185
+ ...(result.error && { error: result.error }),
186
+ });
187
+ }
188
+
189
+ // Print summary
190
+ console.log("\n" + "=".repeat(60));
191
+ console.log("📊 TEST SUMMARY");
192
+ console.log("=".repeat(60));
193
+
194
+ const successful = results.filter((r) => r.success);
195
+ const failed = results.filter((r) => !r.success);
196
+
197
+ console.log(`✅ Successful: ${successful.length}`);
198
+ console.log(`❌ Failed: ${failed.length}`);
199
+ console.log(`📦 Total projects: ${results.length}`);
200
+
201
+ if (successful.length > 0) {
202
+ console.log("\n✅ Successful projects:");
203
+ successful.forEach((result) => {
204
+ console.log(` - ${result.project}`);
205
+ });
206
+ }
207
+
208
+ if (failed.length > 0) {
209
+ console.log("\n❌ Failed projects:");
210
+ failed.forEach((result) => {
211
+ console.log(` - ${result.project}`);
212
+ if (result.error) {
213
+ console.log(` Error: ${result.error.split("\n")[0]}`);
214
+ }
215
+ });
216
+ }
217
+
218
+ // Exit with error code if any tests failed
219
+ if (failed.length > 0) {
220
+ console.log("\n💥 Some tests failed!");
221
+ process.exit(1);
222
+ } else {
223
+ console.log("\n🎉 All tests passed!");
224
+ process.exit(0);
225
+ }
226
+ }
227
+
228
+ // Main execution
229
+ if (require.main === module) {
230
+ runAllTests().catch((error) => {
231
+ console.error("❌ Unexpected error:", error);
232
+ process.exit(1);
233
+ });
234
+ }
235
+
236
+ export { runAllTests, findCargoProjects };
@@ -3,13 +3,10 @@ import { SUPPORTED_NETWORKS } from "./utils/";
3
3
 
4
4
  function testNetworkFunctionality() {
5
5
  console.log("🧪 Testing network functionality...\n");
6
-
7
- const testNetworks = [
8
- ...Object.keys(SUPPORTED_NETWORKS),
9
- "invalid-network",
10
- ];
11
-
12
- testNetworks.forEach(network => {
6
+
7
+ const testNetworks = [...Object.keys(SUPPORTED_NETWORKS)];
8
+
9
+ testNetworks.forEach((network) => {
13
10
  const chain = getChain(network);
14
11
  if (chain) {
15
12
  console.log(`✅ ${network}: ${chain.rpcUrl}`);
@@ -17,15 +14,21 @@ function testNetworkFunctionality() {
17
14
  console.log(`❌ ${network}: Not found in viem chains`);
18
15
  }
19
16
  });
20
-
17
+
21
18
  console.log("\n📝 Usage examples:");
22
- Object.keys(SUPPORTED_NETWORKS).forEach(network => {
19
+ Object.keys(SUPPORTED_NETWORKS).forEach((network) => {
23
20
  const chain = getChain(network);
24
- console.log(` yarn deploy --network ${chain?.name}\t# Deploy to ${chain?.name}`);
25
- console.log(` yarn deploy --network ${chain?.alias}\t\t# Deploy to ${chain?.name} (alias)`);
21
+ console.log(
22
+ ` yarn deploy --network ${chain?.name}\t# Deploy to ${chain?.name}`,
23
+ );
24
+
25
+ // TODO: determine which one to use later, for now we use all original names
26
+ // console.log(
27
+ // ` yarn deploy --network ${chain?.alias}\t\t# Deploy to ${chain?.name} (alias)`,
28
+ // );
26
29
  });
27
30
  }
28
31
 
29
32
  if (require.main === module) {
30
33
  testNetworkFunctionality();
31
- }
34
+ }
@@ -13,7 +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
- openzeppelin-stylus = "0.2.0"
16
+ openzeppelin-stylus = "=0.2.0"
17
17
 
18
18
  [dev-dependencies]
19
19
  alloy-primitives = { version = "=0.8.20", features = ["sha3-keccak"] }
@@ -1,2 +1,8 @@
1
+ # NOTE: this toolchain is nightly because of openzeppelin requirements
2
+
1
3
  [toolchain]
2
- channel = "1.87.0"
4
+ # We should use stable here once nitro-testnode is updated and the contracts fit
5
+ # the size limit (issue <https://github.com/OpenZeppelin/rust-contracts-stylus/issues/129>).
6
+ channel = "1.89.0"
7
+ components = ["rust-src", "rustfmt", "clippy"]
8
+ targets = ["wasm32-unknown-unknown"]
@@ -170,70 +170,46 @@ impl IOwnable for YourContract {
170
170
  }
171
171
  }
172
172
 
173
- // #[cfg(test)]
174
- // mod test {
175
- // use super::*;
176
- // use stylus_sdk::testing::*;
177
-
178
- // #[test]
179
- // fn test_your_contract() {
180
- // let vm = TestVM::default();
181
- // let mut contract = YourContract::from(&vm);
182
-
183
- // // Test initialization
184
- // let owner_addr = Address::from([1u8; 20]);
185
- // contract.init(owner_addr);
186
-
187
- // assert_eq!(contract.owner(), owner_addr);
188
- // assert_eq!(contract.greeting(), "Building Unstoppable Apps!!!");
189
- // assert_eq!(contract.premium(), false);
190
- // assert_eq!(contract.total_counter(), U256::ZERO);
191
-
192
- // // Test setting greeting without payment
193
- // contract.set_greeting("Hello World".to_string());
194
- // assert_eq!(contract.greeting(), "Hello World");
195
- // assert_eq!(contract.premium(), false);
196
- // assert_eq!(contract.total_counter(), U256::from(1));
197
-
198
- // // Test user greeting counter
199
- // let sender = vm.addr();
200
- // assert_eq!(contract.user_greeting_counter(sender), U256::from(1));
201
-
202
- // // Test setting greeting with payment
203
- // vm.set_value(U256::from(100));
204
- // contract.set_greeting("Premium Hello".to_string());
205
- // assert_eq!(contract.greeting(), "Premium Hello");
206
- // assert_eq!(contract.premium(), true);
207
- // assert_eq!(contract.total_counter(), U256::from(2));
208
- // assert_eq!(contract.user_greeting_counter(sender), U256::from(2));
209
- // }
210
-
211
- // #[test]
212
- // fn test_withdraw() {
213
- // let vm = TestVM::default();
214
- // let mut contract = YourContract::from(&vm);
215
-
216
- // // Initialize with owner
217
- // let owner_addr = vm.addr(); // Use VM address as owner for testing
218
- // contract.init(owner_addr);
219
-
220
- // // Test withdraw (in real scenario, contract would have received ETH)
221
- // let result = contract.withdraw();
222
- // assert!(result.is_ok()); // Should not panic since caller is owner
223
- // }
224
-
225
- // #[test]
226
- // fn test_withdraw_not_owner() {
227
- // let vm = TestVM::default();
228
- // let mut contract = YourContract::from(&vm);
229
-
230
- // // Initialize with different owner
231
- // let owner_addr = Address::from([1u8; 20]);
232
- // contract.init(owner_addr);
233
-
234
- // // This test should panic with "Not the Owner" when withdraw is called by non-owner
235
- // // In a real test environment, you'd want to test this more carefully
236
- // // but for now we'll just verify the function exists
237
- // assert_eq!(contract.owner(), owner_addr);
238
- // }
239
- // }
173
+ #[cfg(test)]
174
+ mod test {
175
+ use super::*;
176
+ use stylus_sdk::testing::*;
177
+
178
+ #[no_mangle]
179
+ pub unsafe extern "C" fn emit_log(_pointer: *const u8, _len: usize, _: usize) {}
180
+ #[no_mangle]
181
+ pub unsafe extern "C" fn msg_sender(_sender: *mut u8) {}
182
+
183
+ #[test]
184
+ fn test_your_contract() {
185
+ let vm = TestVM::default();
186
+ let mut contract = YourContract::from(&vm);
187
+
188
+ // Test initialization
189
+ let owner_addr = Address::from([1u8; 20]);
190
+ let _ = contract.constructor(owner_addr);
191
+
192
+ assert_eq!(contract.owner(), owner_addr);
193
+ assert_eq!(contract.greeting(), "Building Unstoppable Apps!!!");
194
+ assert_eq!(contract.premium(), false);
195
+ assert_eq!(contract.total_counter(), U256::ZERO);
196
+
197
+ // Test setting greeting without payment
198
+ contract.set_greeting("Hello World".to_string());
199
+ assert_eq!(contract.greeting(), "Hello World");
200
+ assert_eq!(contract.premium(), false);
201
+ assert_eq!(contract.total_counter(), U256::from(1));
202
+
203
+ // Test user greeting counter
204
+ let sender = vm.msg_sender();
205
+ assert_eq!(contract.user_greeting_counter(sender), U256::from(1));
206
+
207
+ // Test setting greeting with payment
208
+ vm.set_value(U256::from(100));
209
+ contract.set_greeting("Premium Hello".to_string());
210
+ assert_eq!(contract.greeting(), "Premium Hello");
211
+ assert_eq!(contract.premium(), true);
212
+ assert_eq!(contract.total_counter(), U256::from(2));
213
+ assert_eq!(contract.user_greeting_counter(sender), U256::from(2));
214
+ }
215
+ }
@@ -189,7 +189,7 @@ To deploy your contracts to other networks (other than the default local Nitro d
189
189
  This template supports Arbitrum networks only. You can test which networks are available and their RPC URLs:
190
190
 
191
191
  ```bash
192
- yarn test:networks
192
+ yarn info:networks
193
193
  ```
194
194
 
195
195
  This will show you all supported networks and their corresponding RPC endpoints.