create-fhevm-example 1.0.4 → 1.0.7

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 CHANGED
@@ -2,317 +2,153 @@
2
2
 
3
3
  Create FHEVM example projects with a single command.
4
4
 
5
- ## Usage
6
-
7
- ### Interactive Mode
5
+ ## Quick Start
8
6
 
9
7
  ```bash
10
8
  npx create-fhevm-example
11
9
  ```
12
10
 
13
- This will launch an interactive CLI that guides you through:
14
-
15
- 1. Choosing between a single example or category project
16
- 2. **For single examples**: First selecting a category, then choosing an example from that category
17
- 3. **For category projects**: Selecting the category directly
18
- 4. Setting the project name and output directory
19
- 5. Optionally installing dependencies and running tests
20
-
21
- ### Direct Mode
11
+ This launches an interactive CLI that guides you through creating a project.
22
12
 
23
- Create a single example:
13
+ ## Direct Mode
24
14
 
25
15
  ```bash
16
+ # Create single example
26
17
  npx create-fhevm-example --example fhe-counter
27
- ```
28
-
29
- Create a category project:
30
18
 
31
- ```bash
19
+ # Create category project
32
20
  npx create-fhevm-example --category basic
33
- ```
34
-
35
- With custom output directory:
36
21
 
37
- ```bash
38
- npx create-fhevm-example --example fhe-counter --output ./my-project
22
+ # With options
23
+ npx create-fhevm-example --example fhe-counter --output ./my-project --install
39
24
  ```
40
25
 
41
- Auto-install dependencies and run tests:
26
+ ## CLI Options
42
27
 
43
- ```bash
44
- npx create-fhevm-example --example fhe-counter --install --test
45
- ```
28
+ | Option | Description |
29
+ |--------|-------------|
30
+ | `--example <name>` | Create a single example project |
31
+ | `--category <name>` | Create a category project |
32
+ | `--output <dir>` | Output directory |
33
+ | `--install` | Auto-install dependencies |
34
+ | `--test` | Auto-run tests |
35
+ | `--help` | Show help |
46
36
 
47
37
  ## Available Examples
48
38
 
49
- - `fhe-counter` - Confidential counter demonstration
50
- - `encrypt-single-value` - FHE encryption mechanism
51
- - `encrypt-multiple-values` - Multiple value encryption
52
- - `user-decrypt-single-value` - User decryption mechanism
53
- - `user-decrypt-multiple-values` - Multiple value decryption
54
- - `public-decrypt-single-value` - Public decryption
55
- - `public-decrypt-multiple-values` - Multiple public decryption
56
- - `fhe-add` - Addition operations on encrypted values
57
- - `fhe-if-then-else` - Conditional operations with FHE
58
- - `fhe-arithmetic` - All arithmetic operations
59
- - `fhe-comparison` - All comparison operations
60
- - `fhe-access-control` - Access control patterns
61
- - `fhe-input-proof` - Input proof validation
62
- - `fhe-handles` - FHE handle lifecycle
63
- - `fhe-anti-patterns` - Common mistakes and solutions
64
- - `erc7984` - Confidential token standard
65
- - `erc7984-erc20-wrapper` - ERC20 to ERC7984 wrapper
66
- - `swap-erc7984-to-erc20` - Token swap example
67
- - `swap-erc7984-to-erc7984` - Confidential token swap
68
- - `vesting-wallet` - Token vesting example
69
- - `blind-auction` - Encrypted blind auction
70
- - `hidden-voting` - Encrypted voting system
39
+ **Basic**: `fhe-counter`, `encrypt-single-value`, `encrypt-multiple-values`, `user-decrypt-single-value`, `user-decrypt-multiple-values`, `public-decrypt-single-value`, `public-decrypt-multiple-values`
71
40
 
72
- ## Available Categories
41
+ **FHE Operations**: `fhe-add`, `fhe-if-then-else`, `fhe-arithmetic`, `fhe-comparison`
73
42
 
74
- - `basic` - Basic FHEVM Examples (9 contracts)
75
- - `concepts` - Critical Concepts (4 contracts)
76
- - `operations` - FHE Operations (4 contracts)
77
- - `openzeppelin` - OpenZeppelin Confidential Contracts (5 contracts)
78
- - `advanced` - Advanced Examples (2 contracts)
43
+ **Concepts**: `fhe-access-control`, `fhe-input-proof`, `fhe-handles`, `fhe-anti-patterns`
79
44
 
80
- ## CLI Options
45
+ **OpenZeppelin**: `erc7984`, `erc7984-erc20-wrapper`, `swap-erc7984-to-erc20`, `swap-erc7984-to-erc7984`, `vesting-wallet`
81
46
 
82
- - `--example <name>` - Create a single example project
83
- - `--category <name>` - Create a category project
84
- - `--output <dir>` - Output directory (default: `./<project-name>`)
85
- - `--install` - Auto-install dependencies
86
- - `--test` - Auto-run tests (requires `--install`)
87
- - `--help`, `-h` - Show help message
47
+ **Advanced**: `blind-auction`, `hidden-voting`
88
48
 
89
- ## What Gets Created
49
+ ## Available Categories
90
50
 
91
- Each generated project includes:
51
+ | Category | Description |
52
+ |----------|-------------|
53
+ | `basic` | Encryption, decryption, basic operations (9 contracts) |
54
+ | `concepts` | Access control, proofs, handles (4 contracts) |
55
+ | `operations` | Arithmetic, comparison operations (4 contracts) |
56
+ | `openzeppelin` | ERC7984, wrappers, swaps (5 contracts) |
57
+ | `advanced` | Blind auction, voting (2 contracts) |
58
+
59
+ ## What Gets Created
92
60
 
93
61
  - ✅ Hardhat configuration for FHEVM
94
- - ✅ Smart contracts from the selected example(s)
95
- - ✅ Comprehensive test files
62
+ - ✅ Smart contracts and test files
96
63
  - ✅ Deployment scripts
97
- - ✅ README with getting started instructions
98
- - ✅ All necessary dependencies configured
64
+ - ✅ All dependencies configured
99
65
 
100
66
  ## Requirements
101
67
 
102
68
  - Node.js >= 20
103
- - Git (for cloning templates)
104
-
105
- ## Configuration
106
-
107
- ### Repository Settings
108
-
109
- The CLI is configured to use a specific GitHub repository for templates and examples. You can customize this in [`src/config.ts`](./src/config.ts):
69
+ - Git
110
70
 
111
- ```typescript
112
- export const REPO_URL = "https://github.com/NecipAkgz/fhevm-example-factory";
113
- export const REPO_BRANCH = "main";
114
- export const TEMPLATE_SUBMODULE_PATH = "fhevm-hardhat-template";
115
- ```
71
+ ---
116
72
 
117
- **Important**: If you fork this repository or want to use a different source:
73
+ ## Developer Only
118
74
 
119
- 1. Update `REPO_URL` to your repository URL
120
- 2. Ensure the repository has the same structure (contracts, test, fhevm-hardhat-template submodule)
121
- 3. Rebuild the package: `npm run build`
75
+ >This section is for contributors and maintainers of the package.
122
76
 
123
- ## Adding New Examples
77
+ ### Configuration
124
78
 
125
- To add a new example to the CLI:
79
+ The CLI uses a configuration file that defines all available examples and categories. This file is **auto-generated** from the main repository.
126
80
 
127
- ### 1. Add Example Configuration
81
+ **Source of Truth**: [`scripts/shared/config.ts`](https://github.com/NecipAkgz/fhevm-example-factory/blob/main/scripts/shared/config.ts)
82
+ **Generated File**: `src/config.ts` (do not edit manually)
128
83
 
129
- Edit [`src/config.ts`](./src/config.ts) and add your example to the `EXAMPLES` object:
84
+ To customize the repository URL or branch:
130
85
 
131
86
  ```typescript
132
- export const EXAMPLES: Record<string, ExampleConfig> = {
133
- // ... existing examples
134
- "my-new-example": {
135
- contract: "contracts/path/to/MyContract.sol",
136
- test: "test/path/to/MyContract.ts",
137
- description: "Description of what this example demonstrates",
138
- category: "Basic", // or "Concepts", "Operations", "OpenZeppelin", "Advanced"
139
- title: "My New Example",
140
- },
141
- };
142
- ```
143
-
144
- ### 2. Add to Category (Optional)
145
-
146
- If you want the example to appear in a category project, add it to the relevant category in `CATEGORIES`:
147
-
148
- ```typescript
149
- export const CATEGORIES: Record<string, CategoryConfig> = {
150
- basic: {
151
- name: "Basic FHEVM Examples",
152
- description: "...",
153
- contracts: [
154
- // ... existing contracts
155
- {
156
- sol: "contracts/path/to/MyContract.sol",
157
- test: "test/path/to/MyContract.ts",
158
- },
159
- ],
160
- },
161
- };
87
+ // In src/config.ts (after sync)
88
+ export const REPO_URL = "https://github.com/YourUsername/your-repo";
89
+ export const REPO_BRANCH = "main";
162
90
  ```
163
91
 
164
- ### 3. Ensure Files Exist in Repository
165
-
166
- Make sure the contract and test files exist in your repository at the specified paths:
92
+ ### Adding New Examples
167
93
 
168
- - `contracts/path/to/MyContract.sol`
169
- - `test/path/to/MyContract.ts`
170
-
171
- ### 4. Rebuild and Test
172
-
173
- ```bash
174
- npm run build
175
- create-fhevm-example --example my-new-example --output /tmp/test-my-example
176
- ```
177
-
178
- ## Development
94
+ To add a new example to the CLI:
179
95
 
180
- ### Local Development Setup
96
+ 1. **Create contract with `@notice` tag** in the main repository:
97
+ ```solidity
98
+ /**
99
+ * @notice Your example description - auto-discovered!
100
+ */
101
+ contract YourExample { }
102
+ ```
103
+
104
+ 2. **Generate config** (auto-discovery):
105
+ ```bash
106
+ npm run generate:config # Scans contracts, extracts @notice
107
+ npm run sync:config # Syncs to this package
108
+ ```
109
+
110
+ 3. **Publish**:
111
+ ```bash
112
+ npm version patch # Increments version
113
+ npm publish # Auto-runs: sync:config → build → publish
114
+ ```
115
+
116
+ The `prepublishOnly` hook automatically:
117
+ - Syncs config from `scripts/shared/config.ts` to `src/config.ts`
118
+ - Builds TypeScript to `dist/`
119
+ - Publishes to NPM
120
+
121
+ ### Local Development
181
122
 
182
123
  ```bash
183
- # Clone the repository
124
+ # Clone and setup
184
125
  git clone https://github.com/NecipAkgz/fhevm-example-factory.git
185
126
  cd fhevm-example-factory/packages/create-fhevm-example
186
-
187
- # Install dependencies
188
127
  npm install
189
128
 
190
- # Build the package
129
+ # Build
191
130
  npm run build
192
131
 
193
- # Link for local testing
132
+ # Test locally
194
133
  npm link
195
-
196
- # Now you can use it globally
197
134
  create-fhevm-example --help
198
- ```
199
-
200
- ### Making Changes
201
-
202
- 1. **Edit source files** in `src/`
203
- 2. **Rebuild**: `npm run build`
204
- 3. **Test locally**: `create-fhevm-example --example fhe-counter --output /tmp/test`
205
-
206
- ### File Structure
207
135
 
136
+ # Unlink when done
137
+ npm unlink -g create-fhevm-example
208
138
  ```
209
- src/
210
- ├── index.ts # Main CLI entry point (interactive + direct modes)
211
- ├── config.ts # Examples and categories configuration
212
- └── utils.ts # Helper functions (GitHub download, file ops, README generation)
213
- ```
214
-
215
- ## Publishing to NPM
216
-
217
- ### Pre-publish Checklist
218
-
219
- - [ ] Update version in `package.json`
220
- - [ ] Test locally with `npm link`
221
- - [ ] Verify all examples work
222
- - [ ] Update README if needed
223
- - [ ] Commit all changes
224
-
225
- ### Publish Steps
226
-
227
- ```bash
228
- # Dry run to see what will be published
229
- npm publish --dry-run
230
-
231
- # Check package contents
232
- npm pack
233
- tar -xvzf create-fhevm-example-*.tgz
234
- rm -rf package create-fhevm-example-*.tgz
235
-
236
- # Publish to NPM
237
- npm publish
238
- ```
239
-
240
- ### Post-publish Verification
241
-
242
- ```bash
243
- # Test from NPM in a clean directory
244
- cd /tmp
245
- npx create-fhevm-example@latest --example fhe-counter
246
- ```
247
-
248
- ## Troubleshooting
249
-
250
- ### "Repository not found" Error
251
-
252
- **Problem**: Git clone fails with repository not found.
253
-
254
- **Solution**: Check `REPO_URL` in `src/config.ts`. Make sure:
255
-
256
- - The repository exists and is public
257
- - The URL is correct (without trailing slash)
258
- - You have internet connection
259
-
260
- ### "Failed to download" Error
261
-
262
- **Problem**: File download from GitHub fails.
263
-
264
- **Solution**:
265
-
266
- - Verify the file paths in `config.ts` match actual files in the repository
267
- - Check that `REPO_BRANCH` is correct (usually "main" or "master")
268
- - Ensure the repository is public or you have access
269
-
270
- ### Build Errors
271
-
272
- **Problem**: TypeScript compilation fails.
273
-
274
- **Solution**:
275
-
276
- ```bash
277
- # Clean and rebuild
278
- rm -rf dist
279
- npm run build
280
- ```
281
-
282
- ### Examples Not Showing Up
283
-
284
- **Problem**: New example doesn't appear in the CLI.
285
-
286
- **Solution**:
287
-
288
- - Make sure you added it to `EXAMPLES` in `config.ts`
289
- - Rebuild: `npm run build`
290
- - If using `npm link`, unlink and relink:
291
- ```bash
292
- npm unlink -g create-fhevm-example
293
- npm link
294
- ```
295
-
296
- ## Maintenance
297
-
298
- ### Updating Template Repository
299
-
300
- When the `fhevm-hardhat-template` submodule is updated:
301
-
302
- 1. No changes needed in this package - it clones fresh each time
303
- 2. Users will automatically get the latest template
304
139
 
305
- ### Syncing Examples
140
+ ### Scripts
306
141
 
307
- When new examples are added to the main repository:
142
+ - `npm run build` - Compile TypeScript
143
+ - `npm run dev` - Watch mode
144
+ - `npm run sync:config` - Sync config from main repo
145
+ - `npm run prepublishOnly` - Auto-runs sync + build before publish
308
146
 
309
- 1. Update `src/config.ts` with new example definitions
310
- 2. Increment version in `package.json`
311
- 3. Rebuild and publish: `npm run build && npm publish`
147
+ ---
312
148
 
313
149
  ## Learn More
314
150
 
315
- - [FHEVM Documentation](https://docs.zama.ai/fhevm)
151
+ - [FHEVM Documentation](https://docs.zama.org/protocol)
316
152
  - [Example Repository](https://github.com/NecipAkgz/fhevm-example-factory)
317
153
  - [Zama](https://www.zama.ai/)
318
154
 
package/dist/config.d.ts CHANGED
@@ -1,7 +1,10 @@
1
1
  /**
2
- * Shared configuration for FHEVM examples
2
+ * ⚠️ AUTO-GENERATED FILE - DO NOT EDIT MANUALLY ⚠️
3
3
  *
4
- * This configuration is used by the CLI to provide available examples and categories
4
+ * This file is auto-generated from scripts/shared/config.ts
5
+ * Run 'npm run sync:config' to update it.
6
+ *
7
+ * Source: scripts/shared/config.ts
5
8
  */
6
9
  export interface ExampleConfig {
7
10
  /** Path to the Solidity contract file */
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,SAAS,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClD;AAMD,eAAO,MAAM,QAAQ,uDAAuD,CAAC;AAC7E,eAAO,MAAM,WAAW,SAAS,CAAC;AAClC,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAMhE,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAiLlD,CAAC;AAMF,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAkIrD,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,SAAS,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClD;AAMD,eAAO,MAAM,QAAQ,uDAAuD,CAAC;AAC7E,eAAO,MAAM,WAAW,SAAS,CAAC;AAClC,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAMhE,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CA2JlD,CAAC;AAMF,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAmIrD,CAAC"}
package/dist/config.js CHANGED
@@ -1,7 +1,10 @@
1
1
  /**
2
- * Shared configuration for FHEVM examples
2
+ * ⚠️ AUTO-GENERATED FILE - DO NOT EDIT MANUALLY ⚠️
3
3
  *
4
- * This configuration is used by the CLI to provide available examples and categories
4
+ * This file is auto-generated from scripts/shared/config.ts
5
+ * Run 'npm run sync:config' to update it.
6
+ *
7
+ * Source: scripts/shared/config.ts
5
8
  */
6
9
  // =============================================================================
7
10
  // GitHub Repository Configuration
@@ -13,290 +16,294 @@ export const TEMPLATE_SUBMODULE_PATH = "fhevm-hardhat-template";
13
16
  // Example Configurations
14
17
  // =============================================================================
15
18
  export const EXAMPLES = {
16
- "fhe-counter": {
17
- contract: "contracts/basic/FHECounter.sol",
18
- test: "test/basic/FHECounter.ts",
19
- description: "Confidential counter implementation using FHEVM, compared with a standard counter to highlight encryption benefits.",
20
- category: "Basic",
21
- title: "FHE Counter",
19
+ "blind-auction": {
20
+ "contract": "contracts/advanced/BlindAuction.sol",
21
+ "test": "test/advanced/BlindAuction.ts",
22
+ "description": "Blind Auction with encrypted bids - only the winning price is revealed",
23
+ "category": "Advanced",
24
+ "title": "Blind Auction"
22
25
  },
23
- "encrypt-single-value": {
24
- contract: "contracts/basic/encrypt/EncryptSingleValue.sol",
25
- test: "test/basic/encrypt/EncryptSingleValue.ts",
26
- description: "FHE encryption mechanism with single values, including common pitfalls and best practices for developers.",
27
- category: "Basic - Encryption",
28
- title: "Encrypt Single Value",
26
+ "hidden-voting": {
27
+ "contract": "contracts/advanced/HiddenVoting.sol",
28
+ "test": "test/advanced/HiddenVoting.ts",
29
+ "description": "Hidden Voting with encrypted ballots and homomorphic tallying",
30
+ "category": "Advanced",
31
+ "title": "Hidden Voting"
29
32
  },
30
- "encrypt-multiple-values": {
31
- contract: "contracts/basic/encrypt/EncryptMultipleValues.sol",
32
- test: "test/basic/encrypt/EncryptMultipleValues.ts",
33
- description: "Encrypting and handling multiple values in a single transaction efficiently.",
34
- category: "Basic - Encryption",
35
- title: "Encrypt Multiple Values",
33
+ "fhe-counter": {
34
+ "contract": "contracts/basic/FHECounter.sol",
35
+ "test": "test/basic/FHECounter.ts",
36
+ "description": "Confidential counter implementation using FHEVM, compared with a standard counter to highlight encryption benefits.",
37
+ "category": "Basic",
38
+ "title": "FHE Counter"
36
39
  },
37
- "user-decrypt-single-value": {
38
- contract: "contracts/basic/decrypt/UserDecryptSingleValue.sol",
39
- test: "test/basic/decrypt/UserDecryptSingleValue.ts",
40
- description: "FHE user decryption mechanism for single values, with common pitfalls and correct implementation patterns.",
41
- category: "Basic - Decryption",
42
- title: "User Decrypt Single Value",
40
+ "public-decrypt-multiple-values": {
41
+ "contract": "contracts/basic/decryption/PublicDecryptMultipleValues.sol",
42
+ "test": "test/basic/decryption/PublicDecryptMultipleValues.ts",
43
+ "description": "Implements a simple 8-sided Die Roll game demonstrating public, permissionless decryption",
44
+ "category": "Basic - Decryption",
45
+ "title": "Public Decrypt Multiple Values"
46
+ },
47
+ "public-decrypt-single-value": {
48
+ "contract": "contracts/basic/decryption/PublicDecryptSingleValue.sol",
49
+ "test": "test/basic/decryption/PublicDecryptSingleValue.ts",
50
+ "description": "Implements a simple Heads or Tails game demonstrating public, permissionless decryption",
51
+ "category": "Basic - Decryption",
52
+ "title": "Public Decrypt Single Value"
43
53
  },
44
54
  "user-decrypt-multiple-values": {
45
- contract: "contracts/basic/decrypt/UserDecryptMultipleValues.sol",
46
- test: "test/basic/decrypt/UserDecryptMultipleValues.ts",
47
- description: "Decrypting multiple encrypted values for a user in a single operation.",
48
- category: "Basic - Decryption",
49
- title: "User Decrypt Multiple Values",
55
+ "contract": "contracts/basic/decryption/UserDecryptMultipleValues.sol",
56
+ "test": "test/basic/decryption/UserDecryptMultipleValues.ts",
57
+ "description": "Demonstrates user decryption of multiple encrypted values",
58
+ "category": "Basic - Decryption",
59
+ "title": "User Decrypt Multiple Values"
50
60
  },
51
- "public-decrypt-single-value": {
52
- contract: "contracts/basic/decrypt/PublicDecryptSingleValue.sol",
53
- test: "test/basic/decrypt/PublicDecryptSingleValue.ts",
54
- description: "Publicly decrypting a single encrypted value on-chain for transparent results.",
55
- category: "Basic - Decryption",
56
- title: "Public Decrypt Single Value",
61
+ "user-decrypt-single-value": {
62
+ "contract": "contracts/basic/decryption/UserDecryptSingleValue.sol",
63
+ "test": "test/basic/decryption/UserDecryptSingleValue.ts",
64
+ "description": "Demonstrates the FHE decryption mechanism and highlights common pitfalls",
65
+ "category": "Basic - Decryption",
66
+ "title": "User Decrypt Single Value"
57
67
  },
58
- "public-decrypt-multiple-values": {
59
- contract: "contracts/basic/decrypt/PublicDecryptMultipleValues.sol",
60
- test: "test/basic/decrypt/PublicDecryptMultipleValues.ts",
61
- description: "Publicly decrypting multiple encrypted values in a single transaction for batch transparency.",
62
- category: "Basic - Decryption",
63
- title: "Public Decrypt Multiple Values",
68
+ "encrypt-multiple-values": {
69
+ "contract": "contracts/basic/encryption/EncryptMultipleValues.sol",
70
+ "test": "test/basic/encryption/EncryptMultipleValues.ts",
71
+ "description": "Encrypting and handling multiple values in a single transaction efficiently.",
72
+ "category": "Basic - Encryption",
73
+ "title": "Encrypt Multiple Values"
64
74
  },
65
- "fhe-add": {
66
- contract: "contracts/basic/fhe-operations/FHEAdd.sol",
67
- test: "test/basic/fhe-operations/FHEAdd.ts",
68
- description: "Addition operations on encrypted values using FHE.add() for homomorphic computation.",
69
- category: "FHE Operations",
70
- title: "FHE Add Operation",
75
+ "encrypt-single-value": {
76
+ "contract": "contracts/basic/encryption/EncryptSingleValue.sol",
77
+ "test": "test/basic/encryption/EncryptSingleValue.ts",
78
+ "description": "FHE encryption mechanism with single values, including common pitfalls and best practices for developers.",
79
+ "category": "Basic - Encryption",
80
+ "title": "Encrypt Single Value"
71
81
  },
72
- "fhe-if-then-else": {
73
- contract: "contracts/basic/fhe-operations/FHEIfThenElse.sol",
74
- test: "test/basic/fhe-operations/FHEIfThenElse.ts",
75
- description: "Conditional operations on encrypted values using FHE.select() for encrypted branching logic.",
76
- category: "FHE Operations",
77
- title: "FHE If-Then-Else",
82
+ "fhe-add": {
83
+ "contract": "contracts/basic/fhe-operations/FHEAdd.sol",
84
+ "test": "test/basic/fhe-operations/FHEAdd.ts",
85
+ "description": "Simple example: adding two encrypted values (a + b)",
86
+ "category": "Basic - FHE Operations",
87
+ "title": "FHE Add"
78
88
  },
79
89
  "fhe-arithmetic": {
80
- contract: "contracts/basic/fhe-operations/FHEArithmetic.sol",
81
- test: "test/basic/fhe-operations/FHEArithmetic.ts",
82
- description: "Comprehensive example demonstrating all FHE arithmetic operations: add, sub, mul, div, rem, min, max.",
83
- category: "FHE Operations",
84
- title: "FHE Arithmetic Operations",
90
+ "contract": "contracts/basic/fhe-operations/FHEArithmetic.sol",
91
+ "test": "test/basic/fhe-operations/FHEArithmetic.ts",
92
+ "description": "Demonstrates all FHE arithmetic operations on encrypted integers",
93
+ "category": "Basic - FHE Operations",
94
+ "title": "FHE Arithmetic"
85
95
  },
86
96
  "fhe-comparison": {
87
- contract: "contracts/basic/fhe-operations/FHEComparison.sol",
88
- test: "test/basic/fhe-operations/FHEComparison.ts",
89
- description: "Demonstrates all FHE comparison operations: eq, ne, gt, lt, ge, le, and the select function for encrypted conditionals.",
90
- category: "FHE Operations",
91
- title: "FHE Comparison Operations",
97
+ "contract": "contracts/basic/fhe-operations/FHEComparison.sol",
98
+ "test": "test/basic/fhe-operations/FHEComparison.ts",
99
+ "description": "Demonstrates all FHE comparison operations on encrypted integers",
100
+ "category": "Basic - FHE Operations",
101
+ "title": "FHE Comparison"
102
+ },
103
+ "fhe-if-then-else": {
104
+ "contract": "contracts/basic/fhe-operations/FHEIfThenElse.sol",
105
+ "test": "test/basic/fhe-operations/FHEIfThenElse.ts",
106
+ "description": "Demonstrates conditional logic: max(a, b) using encrypted comparison",
107
+ "category": "Basic - FHE Operations",
108
+ "title": "FHE If Then Else"
92
109
  },
93
110
  "fhe-access-control": {
94
- contract: "contracts/concepts/FHEAccessControl.sol",
95
- test: "test/concepts/FHEAccessControl.ts",
96
- description: "Critical access control patterns in FHEVM: FHE.allow, FHE.allowThis, FHE.allowTransient. Includes common mistakes and correct implementations.",
97
- category: "Concepts",
98
- title: "FHE Access Control",
111
+ "contract": "contracts/concepts/FHEAccessControl.sol",
112
+ "test": "test/concepts/FHEAccessControl.ts",
113
+ "description": "Critical access control patterns in FHEVM: FHE.allow, FHE.allowThis, FHE.allowTransient. Includes common mistakes and correct implementations.",
114
+ "category": "Concepts",
115
+ "title": "FHE Access Control"
99
116
  },
100
- "fhe-input-proof": {
101
- contract: "contracts/concepts/FHEInputProof.sol",
102
- test: "test/concepts/FHEInputProof.ts",
103
- description: "Explains input proof validation in FHEVM: what proofs are, why they are needed, and how to use them correctly with single and batched inputs.",
104
- category: "Concepts",
105
- title: "FHE Input Proofs",
117
+ "fhe-anti-patterns": {
118
+ "contract": "contracts/concepts/FHEAntiPatterns.sol",
119
+ "test": "test/concepts/FHEAntiPatterns.ts",
120
+ "description": "Common FHE mistakes and their correct alternatives. Covers: branching, permissions, require/revert, re-encryption, loops, noise, and deprecated APIs.",
121
+ "category": "Concepts",
122
+ "title": "FHE Anti Patterns"
106
123
  },
107
124
  "fhe-handles": {
108
- contract: "contracts/concepts/FHEHandles.sol",
109
- test: "test/concepts/FHEHandles.ts",
110
- description: "Understanding FHE handles: creation, computation, immutability, and symbolic execution in mock mode.",
111
- category: "Concepts",
112
- title: "FHE Handles & Lifecycle",
125
+ "contract": "contracts/concepts/FHEHandles.sol",
126
+ "test": "test/concepts/FHEHandles.ts",
127
+ "description": "Understanding FHE handles: creation, computation, immutability, and symbolic execution in mock mode.",
128
+ "category": "Concepts",
129
+ "title": "FHE Handles"
113
130
  },
114
- "fhe-anti-patterns": {
115
- contract: "contracts/concepts/FHEAntiPatterns.sol",
116
- test: "test/concepts/FHEAntiPatterns.ts",
117
- description: "Common FHE mistakes and their correct alternatives. Covers: branching, permissions, require/revert, re-encryption, loops, noise, and deprecated APIs.",
118
- category: "Concepts",
119
- title: "FHE Anti-Patterns",
131
+ "fhe-input-proof": {
132
+ "contract": "contracts/concepts/FHEInputProof.sol",
133
+ "test": "test/concepts/FHEInputProof.ts",
134
+ "description": "Explains input proof validation in FHEVM: what proofs are, why they are needed, and how to use them correctly with single and batched inputs.",
135
+ "category": "Concepts",
136
+ "title": "FHE Input Proof"
120
137
  },
121
- erc7984: {
122
- contract: "contracts/openzeppelin/ERC7984.sol",
123
- test: "test/openzeppelin/ERC7984.ts",
124
- description: "Confidential token (ERC7984) with mint/burn functionality using OpenZeppelin's library powered by ZAMA's FHEVM.",
125
- category: "OpenZeppelin",
126
- title: "ERC7984 Tutorial",
138
+ "erc7984": {
139
+ "contract": "contracts/openzeppelin/ERC7984.sol",
140
+ "test": "test/openzeppelin/ERC7984.ts",
141
+ "description": "Confidential token using OpenZeppelin's ERC7984 standard",
142
+ "category": "Openzeppelin",
143
+ "title": "ERC7984"
127
144
  },
128
145
  "erc7984-erc20-wrapper": {
129
- contract: "contracts/openzeppelin/ERC7984ERC20Wrapper.sol",
130
- test: "test/openzeppelin/ERC7984ERC20Wrapper.ts",
131
- description: "Wrapping standard ERC20 tokens into confidential ERC7984 tokens to enable privacy for any existing ERC20.",
132
- category: "OpenZeppelin",
133
- title: "ERC7984 to ERC20 Wrapper",
146
+ "contract": "contracts/openzeppelin/ERC7984ERC20Wrapper.sol",
147
+ "test": "test/openzeppelin/ERC7984ERC20Wrapper.ts",
148
+ "description": "Wraps ERC20 tokens into confidential ERC7984 tokens",
149
+ "category": "Openzeppelin",
150
+ "title": "ERC7984 ERC20 Wrapper"
134
151
  },
135
152
  "swap-erc7984-to-erc20": {
136
- contract: "contracts/openzeppelin/SwapERC7984ToERC20.sol",
137
- test: "test/openzeppelin/SwapERC7984ToERC20.ts",
138
- description: "Swapping between confidential ERC7984 and ERC20 tokens using the new v0.9 decryption API (makePubliclyDecryptable + checkSignatures).",
139
- category: "OpenZeppelin",
140
- title: "Swap ERC7984 to ERC20",
153
+ "contract": "contracts/openzeppelin/SwapERC7984ToERC20.sol",
154
+ "test": "test/openzeppelin/SwapERC7984ToERC20.ts",
155
+ "description": "Swap confidential ERC7984 tokens to regular ERC20 tokens",
156
+ "category": "Openzeppelin",
157
+ "title": "Swap ERC7984 To ERC20"
141
158
  },
142
159
  "swap-erc7984-to-erc7984": {
143
- contract: "contracts/openzeppelin/SwapERC7984ToERC7984.sol",
144
- test: "test/openzeppelin/SwapERC7984ToERC7984.ts",
145
- description: "Fully confidential atomic swap between two ERC7984 tokens where both input and output amounts remain encrypted.",
146
- category: "OpenZeppelin",
147
- title: "Swap ERC7984 to ERC7984",
160
+ "contract": "contracts/openzeppelin/SwapERC7984ToERC7984.sol",
161
+ "test": "test/openzeppelin/SwapERC7984ToERC7984.ts",
162
+ "description": "Fully confidential swap between two ERC7984 tokens",
163
+ "category": "Openzeppelin",
164
+ "title": "Swap ERC7984 To ERC7984"
148
165
  },
149
166
  "vesting-wallet": {
150
- contract: "contracts/openzeppelin/VestingWallet.sol",
151
- test: "test/openzeppelin/VestingWallet.ts",
152
- description: "Linear vesting wallet for ERC7984 tokens where vested amounts remain encrypted for privacy.",
153
- category: "OpenZeppelin",
154
- title: "Vesting Wallet",
155
- },
156
- "blind-auction": {
157
- contract: "contracts/advanced/BlindAuction.sol",
158
- test: "test/advanced/BlindAuction.ts",
159
- description: "Encrypted blind auction where bids remain confidential. Uses FHE.gt() and FHE.select() to find the winner without revealing losing bids.",
160
- category: "Advanced",
161
- title: "Blind Auction",
162
- },
163
- "hidden-voting": {
164
- contract: "contracts/advanced/HiddenVoting.sol",
165
- test: "test/advanced/HiddenVoting.ts",
166
- description: "Encrypted voting mechanism with homomorphic tallying. Individual votes remain private forever while final counts are revealed.",
167
- category: "Advanced",
168
- title: "Hidden Voting",
169
- },
167
+ "contract": "contracts/openzeppelin/VestingWallet.sol",
168
+ "test": "test/openzeppelin/VestingWallet.ts",
169
+ "description": "Linear vesting wallet for ERC7984 tokens - amounts stay encrypted!",
170
+ "category": "Openzeppelin",
171
+ "title": "Vesting Wallet"
172
+ }
170
173
  };
171
174
  // =============================================================================
172
175
  // Category Configurations
173
176
  // =============================================================================
174
177
  export const CATEGORIES = {
175
- basic: {
176
- name: "Basic FHEVM Examples",
177
- description: "Fundamental FHEVM operations including encryption, decryption, and basic FHE operations",
178
- contracts: [
178
+ "advanced": {
179
+ "name": "Advanced Examples",
180
+ "description": "Complex FHE applications: blind auctions, encrypted voting systems",
181
+ "contracts": [
179
182
  {
180
- sol: "contracts/basic/FHECounter.sol",
181
- test: "test/basic/FHECounter.ts",
183
+ "sol": "contracts/advanced/BlindAuction.sol",
184
+ "test": "test/advanced/BlindAuction.ts"
182
185
  },
183
186
  {
184
- sol: "contracts/basic/encrypt/EncryptSingleValue.sol",
185
- test: "test/basic/encrypt/EncryptSingleValue.ts",
186
- },
187
+ "sol": "contracts/advanced/HiddenVoting.sol",
188
+ "test": "test/advanced/HiddenVoting.ts"
189
+ }
190
+ ]
191
+ },
192
+ "basic": {
193
+ "name": "Basic Examples",
194
+ "description": "Fundamental FHEVM operations including encryption, decryption, and basic FHE operations",
195
+ "contracts": [
187
196
  {
188
- sol: "contracts/basic/encrypt/EncryptMultipleValues.sol",
189
- test: "test/basic/encrypt/EncryptMultipleValues.ts",
190
- },
197
+ "sol": "contracts/basic/FHECounter.sol",
198
+ "test": "test/basic/FHECounter.ts"
199
+ }
200
+ ]
201
+ },
202
+ "basicdecryption": {
203
+ "name": "Basic - Decryption Examples",
204
+ "description": "User and public decryption patterns for encrypted values",
205
+ "contracts": [
191
206
  {
192
- sol: "contracts/basic/decrypt/UserDecryptSingleValue.sol",
193
- test: "test/basic/decrypt/UserDecryptSingleValue.ts",
207
+ "sol": "contracts/basic/decryption/PublicDecryptMultipleValues.sol",
208
+ "test": "test/basic/decryption/PublicDecryptMultipleValues.ts"
194
209
  },
195
210
  {
196
- sol: "contracts/basic/decrypt/UserDecryptMultipleValues.sol",
197
- test: "test/basic/decrypt/UserDecryptMultipleValues.ts",
211
+ "sol": "contracts/basic/decryption/PublicDecryptSingleValue.sol",
212
+ "test": "test/basic/decryption/PublicDecryptSingleValue.ts"
198
213
  },
199
214
  {
200
- sol: "contracts/basic/decrypt/PublicDecryptSingleValue.sol",
201
- test: "test/basic/decrypt/PublicDecryptSingleValue.ts",
215
+ "sol": "contracts/basic/decryption/UserDecryptMultipleValues.sol",
216
+ "test": "test/basic/decryption/UserDecryptMultipleValues.ts"
202
217
  },
203
218
  {
204
- sol: "contracts/basic/decrypt/PublicDecryptMultipleValues.sol",
205
- test: "test/basic/decrypt/PublicDecryptMultipleValues.ts",
206
- },
219
+ "sol": "contracts/basic/decryption/UserDecryptSingleValue.sol",
220
+ "test": "test/basic/decryption/UserDecryptSingleValue.ts"
221
+ }
222
+ ]
223
+ },
224
+ "basicencryption": {
225
+ "name": "Basic - Encryption Examples",
226
+ "description": "Encrypting values and handling encrypted inputs",
227
+ "contracts": [
207
228
  {
208
- sol: "contracts/basic/fhe-operations/FHEAdd.sol",
209
- test: "test/basic/fhe-operations/FHEAdd.ts",
229
+ "sol": "contracts/basic/encryption/EncryptMultipleValues.sol",
230
+ "test": "test/basic/encryption/EncryptMultipleValues.ts"
210
231
  },
211
232
  {
212
- sol: "contracts/basic/fhe-operations/FHEIfThenElse.sol",
213
- test: "test/basic/fhe-operations/FHEIfThenElse.ts",
214
- },
215
- ],
233
+ "sol": "contracts/basic/encryption/EncryptSingleValue.sol",
234
+ "test": "test/basic/encryption/EncryptSingleValue.ts"
235
+ }
236
+ ]
216
237
  },
217
- concepts: {
218
- name: "Critical Concepts",
219
- description: "Access control, input proofs, handles, and anti-patterns",
220
- contracts: [
238
+ "basicfheoperations": {
239
+ "name": "Basic - FHE Operations Examples",
240
+ "description": "Basic - FHE Operations examples and implementations",
241
+ "contracts": [
221
242
  {
222
- sol: "contracts/concepts/FHEAccessControl.sol",
223
- test: "test/concepts/FHEAccessControl.ts",
243
+ "sol": "contracts/basic/fhe-operations/FHEAdd.sol",
244
+ "test": "test/basic/fhe-operations/FHEAdd.ts"
224
245
  },
225
246
  {
226
- sol: "contracts/concepts/FHEInputProof.sol",
227
- test: "test/concepts/FHEInputProof.ts",
247
+ "sol": "contracts/basic/fhe-operations/FHEArithmetic.sol",
248
+ "test": "test/basic/fhe-operations/FHEArithmetic.ts"
228
249
  },
229
250
  {
230
- sol: "contracts/concepts/FHEHandles.sol",
231
- test: "test/concepts/FHEHandles.ts",
251
+ "sol": "contracts/basic/fhe-operations/FHEComparison.sol",
252
+ "test": "test/basic/fhe-operations/FHEComparison.ts"
232
253
  },
233
254
  {
234
- sol: "contracts/concepts/FHEAntiPatterns.sol",
235
- test: "test/concepts/FHEAntiPatterns.ts",
236
- },
237
- ],
255
+ "sol": "contracts/basic/fhe-operations/FHEIfThenElse.sol",
256
+ "test": "test/basic/fhe-operations/FHEIfThenElse.ts"
257
+ }
258
+ ]
238
259
  },
239
- operations: {
240
- name: "FHE Operations",
241
- description: "Arithmetic, comparison, and conditional operations",
242
- contracts: [
260
+ "concepts": {
261
+ "name": "Concepts Examples",
262
+ "description": "Access control, input proofs, handles, and anti-patterns",
263
+ "contracts": [
243
264
  {
244
- sol: "contracts/basic/fhe-operations/FHEAdd.sol",
245
- test: "test/basic/fhe-operations/FHEAdd.ts",
265
+ "sol": "contracts/concepts/FHEAccessControl.sol",
266
+ "test": "test/concepts/FHEAccessControl.ts"
246
267
  },
247
268
  {
248
- sol: "contracts/basic/fhe-operations/FHEArithmetic.sol",
249
- test: "test/basic/fhe-operations/FHEArithmetic.ts",
269
+ "sol": "contracts/concepts/FHEAntiPatterns.sol",
270
+ "test": "test/concepts/FHEAntiPatterns.ts"
250
271
  },
251
272
  {
252
- sol: "contracts/basic/fhe-operations/FHEComparison.sol",
253
- test: "test/basic/fhe-operations/FHEComparison.ts",
273
+ "sol": "contracts/concepts/FHEHandles.sol",
274
+ "test": "test/concepts/FHEHandles.ts"
254
275
  },
255
276
  {
256
- sol: "contracts/basic/fhe-operations/FHEIfThenElse.sol",
257
- test: "test/basic/fhe-operations/FHEIfThenElse.ts",
258
- },
259
- ],
277
+ "sol": "contracts/concepts/FHEInputProof.sol",
278
+ "test": "test/concepts/FHEInputProof.ts"
279
+ }
280
+ ]
260
281
  },
261
- openzeppelin: {
262
- name: "OpenZeppelin Confidential Contracts",
263
- description: "ERC7984 confidential token standard, wrappers, swaps, and vesting",
264
- contracts: [
282
+ "openzeppelin": {
283
+ "name": "Openzeppelin Examples",
284
+ "description": "ERC7984 confidential token standard, wrappers, swaps, and vesting",
285
+ "contracts": [
265
286
  {
266
- sol: "contracts/openzeppelin/ERC7984.sol",
267
- test: "test/openzeppelin/ERC7984.ts",
287
+ "sol": "contracts/openzeppelin/ERC7984.sol",
288
+ "test": "test/openzeppelin/ERC7984.ts"
268
289
  },
269
290
  {
270
- sol: "contracts/openzeppelin/ERC7984ERC20Wrapper.sol",
271
- test: "test/openzeppelin/ERC7984ERC20Wrapper.ts",
291
+ "sol": "contracts/openzeppelin/ERC7984ERC20Wrapper.sol",
292
+ "test": "test/openzeppelin/ERC7984ERC20Wrapper.ts"
272
293
  },
273
294
  {
274
- sol: "contracts/openzeppelin/SwapERC7984ToERC20.sol",
275
- test: "test/openzeppelin/SwapERC7984ToERC20.ts",
295
+ "sol": "contracts/openzeppelin/SwapERC7984ToERC20.sol",
296
+ "test": "test/openzeppelin/SwapERC7984ToERC20.ts"
276
297
  },
277
298
  {
278
- sol: "contracts/openzeppelin/SwapERC7984ToERC7984.sol",
279
- test: "test/openzeppelin/SwapERC7984ToERC7984.ts",
299
+ "sol": "contracts/openzeppelin/SwapERC7984ToERC7984.sol",
300
+ "test": "test/openzeppelin/SwapERC7984ToERC7984.ts"
280
301
  },
281
302
  {
282
- sol: "contracts/openzeppelin/VestingWallet.sol",
283
- test: "test/openzeppelin/VestingWallet.ts",
284
- },
285
- ],
286
- },
287
- advanced: {
288
- name: "Advanced Examples",
289
- description: "Complex FHE applications: blind auctions, encrypted voting systems",
290
- contracts: [
291
- {
292
- sol: "contracts/advanced/BlindAuction.sol",
293
- test: "test/advanced/BlindAuction.ts",
294
- },
295
- {
296
- sol: "contracts/advanced/HiddenVoting.sol",
297
- test: "test/advanced/HiddenVoting.ts",
298
- },
299
- ],
300
- },
303
+ "sol": "contracts/openzeppelin/VestingWallet.sol",
304
+ "test": "test/openzeppelin/VestingWallet.ts"
305
+ }
306
+ ]
307
+ }
301
308
  };
302
309
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -29,29 +29,9 @@ import { cloneTemplate, initSubmodule, copyDirectoryRecursive, getContractName,
29
29
  // CONSTANTS
30
30
  // =============================================================================
31
31
  /**
32
- * Icons for each example category (used in interactive prompts)
33
- * Keys match the "category" field in EXAMPLES config
32
+ * Simple folder icon for all categories
34
33
  */
35
- const EXAMPLE_CATEGORY_ICONS = {
36
- Basic: "📚",
37
- "Basic - Encryption": "🔐",
38
- "Basic - Decryption": "🔓",
39
- "FHE Operations": "🔢",
40
- Concepts: "💡",
41
- OpenZeppelin: "🛡️",
42
- Advanced: "🚀",
43
- };
44
- /**
45
- * Icons for each category project (used in category selection)
46
- * Keys match the keys in CATEGORIES config
47
- */
48
- const CATEGORY_PROJECT_ICONS = {
49
- basic: "📚",
50
- concepts: "💡",
51
- operations: "🔢",
52
- openzeppelin: "🛡️",
53
- advanced: "🚀",
54
- };
34
+ const CATEGORY_ICON = "📁";
55
35
  /**
56
36
  * Display order for example categories in the interactive prompt
57
37
  */
@@ -201,7 +181,7 @@ async function promptSelectCategory() {
201
181
  message: "Select a category:",
202
182
  options: CATEGORY_ORDER.map((category) => ({
203
183
  value: category,
204
- label: `${EXAMPLE_CATEGORY_ICONS[category] || "📁"} ${category}`,
184
+ label: `${CATEGORY_ICON} ${category}`,
205
185
  hint: `${categoryCounts[category] || 0} example${categoryCounts[category] !== 1 ? "s" : ""}`,
206
186
  })),
207
187
  });
@@ -233,7 +213,7 @@ async function promptSelectCategoryProject() {
233
213
  message: "Select a category:",
234
214
  options: Object.entries(CATEGORIES).map(([key, config]) => ({
235
215
  value: key,
236
- label: `${CATEGORY_PROJECT_ICONS[key] || "📁"} ${config.name}`,
216
+ label: `${CATEGORY_ICON} ${config.name}`,
237
217
  hint: `${config.contracts.length} contracts`,
238
218
  })),
239
219
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-fhevm-example",
3
- "version": "1.0.4",
3
+ "version": "1.0.7",
4
4
  "description": "Create FHEVM example projects with a single command",
5
5
  "type": "module",
6
6
  "bin": {
@@ -12,7 +12,8 @@
12
12
  "scripts": {
13
13
  "build": "tsc",
14
14
  "dev": "tsc --watch",
15
- "prepublishOnly": "npm run build"
15
+ "sync:config": "cd ../.. && npm run sync:config",
16
+ "prepublishOnly": "npm run sync:config && npm run build"
16
17
  },
17
18
  "keywords": [
18
19
  "fhevm",