create-fhevm-example 1.0.3 → 1.0.6

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/config.js CHANGED
@@ -1,7 +1,11 @@
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
8
+ * Generated: 2025-12-09T16:46:12.589Z
5
9
  */
6
10
  // =============================================================================
7
11
  // GitHub Repository Configuration
@@ -14,289 +18,289 @@ export const TEMPLATE_SUBMODULE_PATH = "fhevm-hardhat-template";
14
18
  // =============================================================================
15
19
  export const EXAMPLES = {
16
20
  "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",
21
+ "contract": "contracts/basic/FHECounter.sol",
22
+ "test": "test/basic/FHECounter.ts",
23
+ "description": "Confidential counter implementation using FHEVM, compared with a standard counter to highlight encryption benefits.",
24
+ "category": "Basic",
25
+ "title": "FHE Counter"
22
26
  },
23
27
  "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",
28
+ "contract": "contracts/basic/encrypt/EncryptSingleValue.sol",
29
+ "test": "test/basic/encrypt/EncryptSingleValue.ts",
30
+ "description": "FHE encryption mechanism with single values, including common pitfalls and best practices for developers.",
31
+ "category": "Basic - Encryption",
32
+ "title": "Encrypt Single Value"
29
33
  },
30
34
  "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",
35
+ "contract": "contracts/basic/encrypt/EncryptMultipleValues.sol",
36
+ "test": "test/basic/encrypt/EncryptMultipleValues.ts",
37
+ "description": "Encrypting and handling multiple values in a single transaction efficiently.",
38
+ "category": "Basic - Encryption",
39
+ "title": "Encrypt Multiple Values"
36
40
  },
37
41
  "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",
42
+ "contract": "contracts/basic/decrypt/UserDecryptSingleValue.sol",
43
+ "test": "test/basic/decrypt/UserDecryptSingleValue.ts",
44
+ "description": "FHE user decryption mechanism for single values, with common pitfalls and correct implementation patterns.",
45
+ "category": "Basic - Decryption",
46
+ "title": "User Decrypt Single Value"
43
47
  },
44
48
  "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",
49
+ "contract": "contracts/basic/decrypt/UserDecryptMultipleValues.sol",
50
+ "test": "test/basic/decrypt/UserDecryptMultipleValues.ts",
51
+ "description": "Decrypting multiple encrypted values for a user in a single operation.",
52
+ "category": "Basic - Decryption",
53
+ "title": "User Decrypt Multiple Values"
50
54
  },
51
55
  "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",
56
+ "contract": "contracts/basic/decrypt/PublicDecryptSingleValue.sol",
57
+ "test": "test/basic/decrypt/PublicDecryptSingleValue.ts",
58
+ "description": "Publicly decrypting a single encrypted value on-chain for transparent results.",
59
+ "category": "Basic - Decryption",
60
+ "title": "Public Decrypt Single Value"
57
61
  },
58
62
  "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",
63
+ "contract": "contracts/basic/decrypt/PublicDecryptMultipleValues.sol",
64
+ "test": "test/basic/decrypt/PublicDecryptMultipleValues.ts",
65
+ "description": "Publicly decrypting multiple encrypted values in a single transaction for batch transparency.",
66
+ "category": "Basic - Decryption",
67
+ "title": "Public Decrypt Multiple Values"
64
68
  },
65
69
  "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",
70
+ "contract": "contracts/basic/fhe-operations/FHEAdd.sol",
71
+ "test": "test/basic/fhe-operations/FHEAdd.ts",
72
+ "description": "Addition operations on encrypted values using FHE.add() for homomorphic computation.",
73
+ "category": "FHE Operations",
74
+ "title": "FHE Add Operation"
71
75
  },
72
76
  "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",
77
+ "contract": "contracts/basic/fhe-operations/FHEIfThenElse.sol",
78
+ "test": "test/basic/fhe-operations/FHEIfThenElse.ts",
79
+ "description": "Conditional operations on encrypted values using FHE.select() for encrypted branching logic.",
80
+ "category": "FHE Operations",
81
+ "title": "FHE If-Then-Else"
78
82
  },
79
83
  "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",
84
+ "contract": "contracts/basic/fhe-operations/FHEArithmetic.sol",
85
+ "test": "test/basic/fhe-operations/FHEArithmetic.ts",
86
+ "description": "Comprehensive example demonstrating all FHE arithmetic operations: add, sub, mul, div, rem, min, max.",
87
+ "category": "FHE Operations",
88
+ "title": "FHE Arithmetic Operations"
85
89
  },
86
90
  "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",
91
+ "contract": "contracts/basic/fhe-operations/FHEComparison.sol",
92
+ "test": "test/basic/fhe-operations/FHEComparison.ts",
93
+ "description": "Demonstrates all FHE comparison operations: eq, ne, gt, lt, ge, le, and the select function for encrypted conditionals.",
94
+ "category": "FHE Operations",
95
+ "title": "FHE Comparison Operations"
92
96
  },
93
97
  "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",
98
+ "contract": "contracts/concepts/FHEAccessControl.sol",
99
+ "test": "test/concepts/FHEAccessControl.ts",
100
+ "description": "Critical access control patterns in FHEVM: FHE.allow, FHE.allowThis, FHE.allowTransient. Includes common mistakes and correct implementations.",
101
+ "category": "Concepts",
102
+ "title": "FHE Access Control"
99
103
  },
100
104
  "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",
105
+ "contract": "contracts/concepts/FHEInputProof.sol",
106
+ "test": "test/concepts/FHEInputProof.ts",
107
+ "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.",
108
+ "category": "Concepts",
109
+ "title": "FHE Input Proofs"
106
110
  },
107
111
  "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",
112
+ "contract": "contracts/concepts/FHEHandles.sol",
113
+ "test": "test/concepts/FHEHandles.ts",
114
+ "description": "Understanding FHE handles: creation, computation, immutability, and symbolic execution in mock mode.",
115
+ "category": "Concepts",
116
+ "title": "FHE Handles & Lifecycle"
113
117
  },
114
118
  "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",
119
+ "contract": "contracts/concepts/FHEAntiPatterns.sol",
120
+ "test": "test/concepts/FHEAntiPatterns.ts",
121
+ "description": "Common FHE mistakes and their correct alternatives. Covers: branching, permissions, require/revert, re-encryption, loops, noise, and deprecated APIs.",
122
+ "category": "Concepts",
123
+ "title": "FHE Anti-Patterns"
120
124
  },
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",
125
+ "erc7984": {
126
+ "contract": "contracts/openzeppelin/ERC7984.sol",
127
+ "test": "test/openzeppelin/ERC7984.ts",
128
+ "description": "Confidential token (ERC7984) with mint/burn functionality using OpenZeppelin's library powered by ZAMA's FHEVM.",
129
+ "category": "OpenZeppelin",
130
+ "title": "ERC7984 Tutorial"
127
131
  },
128
132
  "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",
133
+ "contract": "contracts/openzeppelin/ERC7984ERC20Wrapper.sol",
134
+ "test": "test/openzeppelin/ERC7984ERC20Wrapper.ts",
135
+ "description": "Wrapping standard ERC20 tokens into confidential ERC7984 tokens to enable privacy for any existing ERC20.",
136
+ "category": "OpenZeppelin",
137
+ "title": "ERC7984 to ERC20 Wrapper"
134
138
  },
135
139
  "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",
140
+ "contract": "contracts/openzeppelin/SwapERC7984ToERC20.sol",
141
+ "test": "test/openzeppelin/SwapERC7984ToERC20.ts",
142
+ "description": "Swapping between confidential ERC7984 and ERC20 tokens using the new v0.9 decryption API (makePubliclyDecryptable + checkSignatures).",
143
+ "category": "OpenZeppelin",
144
+ "title": "Swap ERC7984 to ERC20"
141
145
  },
142
146
  "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",
147
+ "contract": "contracts/openzeppelin/SwapERC7984ToERC7984.sol",
148
+ "test": "test/openzeppelin/SwapERC7984ToERC7984.ts",
149
+ "description": "Fully confidential atomic swap between two ERC7984 tokens where both input and output amounts remain encrypted.",
150
+ "category": "OpenZeppelin",
151
+ "title": "Swap ERC7984 to ERC7984"
148
152
  },
149
153
  "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",
154
+ "contract": "contracts/openzeppelin/VestingWallet.sol",
155
+ "test": "test/openzeppelin/VestingWallet.ts",
156
+ "description": "Linear vesting wallet for ERC7984 tokens where vested amounts remain encrypted for privacy.",
157
+ "category": "OpenZeppelin",
158
+ "title": "Vesting Wallet"
155
159
  },
156
160
  "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",
161
+ "contract": "contracts/advanced/BlindAuction.sol",
162
+ "test": "test/advanced/BlindAuction.ts",
163
+ "description": "Encrypted blind auction where bids remain confidential. Uses FHE.gt() and FHE.select() to find the winner without revealing losing bids. Only the winning price is decrypted.",
164
+ "category": "Advanced",
165
+ "title": "Blind Auction"
162
166
  },
163
167
  "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
- },
168
+ "contract": "contracts/advanced/HiddenVoting.sol",
169
+ "test": "test/advanced/HiddenVoting.ts",
170
+ "description": "Encrypted voting mechanism with homomorphic tallying. Individual votes remain private forever while final counts are revealed using FHE.makePubliclyDecryptable().",
171
+ "category": "Advanced",
172
+ "title": "Hidden Voting"
173
+ }
170
174
  };
171
175
  // =============================================================================
172
176
  // Category Configurations
173
177
  // =============================================================================
174
178
  export const CATEGORIES = {
175
- basic: {
176
- name: "Basic FHEVM Examples",
177
- description: "Fundamental FHEVM operations including encryption, decryption, and basic FHE operations",
178
- contracts: [
179
+ "basic": {
180
+ "name": "Basic FHEVM Examples",
181
+ "description": "Fundamental FHEVM operations including encryption, decryption, and basic FHE operations",
182
+ "contracts": [
179
183
  {
180
- sol: "contracts/basic/FHECounter.sol",
181
- test: "test/basic/FHECounter.ts",
184
+ "sol": "contracts/basic/FHECounter.sol",
185
+ "test": "test/basic/FHECounter.ts"
182
186
  },
183
187
  {
184
- sol: "contracts/basic/encrypt/EncryptSingleValue.sol",
185
- test: "test/basic/encrypt/EncryptSingleValue.ts",
188
+ "sol": "contracts/basic/encrypt/EncryptSingleValue.sol",
189
+ "test": "test/basic/encrypt/EncryptSingleValue.ts"
186
190
  },
187
191
  {
188
- sol: "contracts/basic/encrypt/EncryptMultipleValues.sol",
189
- test: "test/basic/encrypt/EncryptMultipleValues.ts",
192
+ "sol": "contracts/basic/encrypt/EncryptMultipleValues.sol",
193
+ "test": "test/basic/encrypt/EncryptMultipleValues.ts"
190
194
  },
191
195
  {
192
- sol: "contracts/basic/decrypt/UserDecryptSingleValue.sol",
193
- test: "test/basic/decrypt/UserDecryptSingleValue.ts",
196
+ "sol": "contracts/basic/decrypt/UserDecryptSingleValue.sol",
197
+ "test": "test/basic/decrypt/UserDecryptSingleValue.ts"
194
198
  },
195
199
  {
196
- sol: "contracts/basic/decrypt/UserDecryptMultipleValues.sol",
197
- test: "test/basic/decrypt/UserDecryptMultipleValues.ts",
200
+ "sol": "contracts/basic/decrypt/UserDecryptMultipleValues.sol",
201
+ "test": "test/basic/decrypt/UserDecryptMultipleValues.ts"
198
202
  },
199
203
  {
200
- sol: "contracts/basic/decrypt/PublicDecryptSingleValue.sol",
201
- test: "test/basic/decrypt/PublicDecryptSingleValue.ts",
204
+ "sol": "contracts/basic/decrypt/PublicDecryptSingleValue.sol",
205
+ "test": "test/basic/decrypt/PublicDecryptSingleValue.ts"
202
206
  },
203
207
  {
204
- sol: "contracts/basic/decrypt/PublicDecryptMultipleValues.sol",
205
- test: "test/basic/decrypt/PublicDecryptMultipleValues.ts",
208
+ "sol": "contracts/basic/decrypt/PublicDecryptMultipleValues.sol",
209
+ "test": "test/basic/decrypt/PublicDecryptMultipleValues.ts"
206
210
  },
207
211
  {
208
- sol: "contracts/basic/fhe-operations/FHEAdd.sol",
209
- test: "test/basic/fhe-operations/FHEAdd.ts",
212
+ "sol": "contracts/basic/fhe-operations/FHEAdd.sol",
213
+ "test": "test/basic/fhe-operations/FHEAdd.ts"
210
214
  },
211
215
  {
212
- sol: "contracts/basic/fhe-operations/FHEIfThenElse.sol",
213
- test: "test/basic/fhe-operations/FHEIfThenElse.ts",
214
- },
215
- ],
216
+ "sol": "contracts/basic/fhe-operations/FHEIfThenElse.sol",
217
+ "test": "test/basic/fhe-operations/FHEIfThenElse.ts"
218
+ }
219
+ ]
216
220
  },
217
- concepts: {
218
- name: "Critical Concepts",
219
- description: "Access control, input proofs, handles, and anti-patterns",
220
- contracts: [
221
+ "concepts": {
222
+ "name": "Critical Concepts",
223
+ "description": "Access control, input proofs, handles, and anti-patterns",
224
+ "contracts": [
221
225
  {
222
- sol: "contracts/concepts/FHEAccessControl.sol",
223
- test: "test/concepts/FHEAccessControl.ts",
226
+ "sol": "contracts/concepts/FHEAccessControl.sol",
227
+ "test": "test/concepts/FHEAccessControl.ts"
224
228
  },
225
229
  {
226
- sol: "contracts/concepts/FHEInputProof.sol",
227
- test: "test/concepts/FHEInputProof.ts",
230
+ "sol": "contracts/concepts/FHEInputProof.sol",
231
+ "test": "test/concepts/FHEInputProof.ts"
228
232
  },
229
233
  {
230
- sol: "contracts/concepts/FHEHandles.sol",
231
- test: "test/concepts/FHEHandles.ts",
234
+ "sol": "contracts/concepts/FHEHandles.sol",
235
+ "test": "test/concepts/FHEHandles.ts"
232
236
  },
233
237
  {
234
- sol: "contracts/concepts/FHEAntiPatterns.sol",
235
- test: "test/concepts/FHEAntiPatterns.ts",
236
- },
237
- ],
238
+ "sol": "contracts/concepts/FHEAntiPatterns.sol",
239
+ "test": "test/concepts/FHEAntiPatterns.ts"
240
+ }
241
+ ]
238
242
  },
239
- operations: {
240
- name: "FHE Operations",
241
- description: "Arithmetic, comparison, and conditional operations",
242
- contracts: [
243
+ "operations": {
244
+ "name": "FHE Operations",
245
+ "description": "Arithmetic, comparison, and conditional operations",
246
+ "contracts": [
243
247
  {
244
- sol: "contracts/basic/fhe-operations/FHEAdd.sol",
245
- test: "test/basic/fhe-operations/FHEAdd.ts",
248
+ "sol": "contracts/basic/fhe-operations/FHEAdd.sol",
249
+ "test": "test/basic/fhe-operations/FHEAdd.ts"
246
250
  },
247
251
  {
248
- sol: "contracts/basic/fhe-operations/FHEArithmetic.sol",
249
- test: "test/basic/fhe-operations/FHEArithmetic.ts",
252
+ "sol": "contracts/basic/fhe-operations/FHEArithmetic.sol",
253
+ "test": "test/basic/fhe-operations/FHEArithmetic.ts"
250
254
  },
251
255
  {
252
- sol: "contracts/basic/fhe-operations/FHEComparison.sol",
253
- test: "test/basic/fhe-operations/FHEComparison.ts",
256
+ "sol": "contracts/basic/fhe-operations/FHEComparison.sol",
257
+ "test": "test/basic/fhe-operations/FHEComparison.ts"
254
258
  },
255
259
  {
256
- sol: "contracts/basic/fhe-operations/FHEIfThenElse.sol",
257
- test: "test/basic/fhe-operations/FHEIfThenElse.ts",
258
- },
259
- ],
260
+ "sol": "contracts/basic/fhe-operations/FHEIfThenElse.sol",
261
+ "test": "test/basic/fhe-operations/FHEIfThenElse.ts"
262
+ }
263
+ ]
260
264
  },
261
- openzeppelin: {
262
- name: "OpenZeppelin Confidential Contracts",
263
- description: "ERC7984 confidential token standard, wrappers, swaps, and vesting",
264
- contracts: [
265
+ "openzeppelin": {
266
+ "name": "OpenZeppelin Confidential Contracts",
267
+ "description": "ERC7984 confidential token standard, wrappers, swaps, and vesting",
268
+ "contracts": [
265
269
  {
266
- sol: "contracts/openzeppelin/ERC7984.sol",
267
- test: "test/openzeppelin/ERC7984.ts",
270
+ "sol": "contracts/openzeppelin/ERC7984.sol",
271
+ "test": "test/openzeppelin/ERC7984.ts"
268
272
  },
269
273
  {
270
- sol: "contracts/openzeppelin/ERC7984ERC20Wrapper.sol",
271
- test: "test/openzeppelin/ERC7984ERC20Wrapper.ts",
274
+ "sol": "contracts/openzeppelin/ERC7984ERC20Wrapper.sol",
275
+ "test": "test/openzeppelin/ERC7984ERC20Wrapper.ts"
272
276
  },
273
277
  {
274
- sol: "contracts/openzeppelin/SwapERC7984ToERC20.sol",
275
- test: "test/openzeppelin/SwapERC7984ToERC20.ts",
278
+ "sol": "contracts/openzeppelin/SwapERC7984ToERC20.sol",
279
+ "test": "test/openzeppelin/SwapERC7984ToERC20.ts"
276
280
  },
277
281
  {
278
- sol: "contracts/openzeppelin/SwapERC7984ToERC7984.sol",
279
- test: "test/openzeppelin/SwapERC7984ToERC7984.ts",
282
+ "sol": "contracts/openzeppelin/SwapERC7984ToERC7984.sol",
283
+ "test": "test/openzeppelin/SwapERC7984ToERC7984.ts"
280
284
  },
281
285
  {
282
- sol: "contracts/openzeppelin/VestingWallet.sol",
283
- test: "test/openzeppelin/VestingWallet.ts",
284
- },
285
- ],
286
+ "sol": "contracts/openzeppelin/VestingWallet.sol",
287
+ "test": "test/openzeppelin/VestingWallet.ts"
288
+ }
289
+ ]
286
290
  },
287
- advanced: {
288
- name: "Advanced Examples",
289
- description: "Complex FHE applications: blind auctions, encrypted voting systems",
290
- contracts: [
291
+ "advanced": {
292
+ "name": "Advanced Examples",
293
+ "description": "Complex FHE applications: blind auctions, encrypted voting systems",
294
+ "contracts": [
291
295
  {
292
- sol: "contracts/advanced/BlindAuction.sol",
293
- test: "test/advanced/BlindAuction.ts",
296
+ "sol": "contracts/advanced/BlindAuction.sol",
297
+ "test": "test/advanced/BlindAuction.ts"
294
298
  },
295
299
  {
296
- sol: "contracts/advanced/HiddenVoting.sol",
297
- test: "test/advanced/HiddenVoting.ts",
298
- },
299
- ],
300
- },
300
+ "sol": "contracts/advanced/HiddenVoting.sol",
301
+ "test": "test/advanced/HiddenVoting.ts"
302
+ }
303
+ ]
304
+ }
301
305
  };
302
306
  //# 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":"AAAA;;;;;;;;GAQG;AA4BH,gFAAgF;AAChF,kCAAkC;AAClC,gFAAgF;AAEhF,MAAM,CAAC,MAAM,QAAQ,GAAG,oDAAoD,CAAC;AAC7E,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC;AAClC,MAAM,CAAC,MAAM,uBAAuB,GAAG,wBAAwB,CAAC;AAEhE,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF,MAAM,CAAC,MAAM,QAAQ,GAAkC;IACrD,aAAa,EAAE;QACb,UAAU,EAAE,gCAAgC;QAC5C,MAAM,EAAE,0BAA0B;QAClC,aAAa,EAAE,qHAAqH;QACpI,UAAU,EAAE,OAAO;QACnB,OAAO,EAAE,aAAa;KACvB;IACD,sBAAsB,EAAE;QACtB,UAAU,EAAE,gDAAgD;QAC5D,MAAM,EAAE,0CAA0C;QAClD,aAAa,EAAE,2GAA2G;QAC1H,UAAU,EAAE,oBAAoB;QAChC,OAAO,EAAE,sBAAsB;KAChC;IACD,yBAAyB,EAAE;QACzB,UAAU,EAAE,mDAAmD;QAC/D,MAAM,EAAE,6CAA6C;QACrD,aAAa,EAAE,8EAA8E;QAC7F,UAAU,EAAE,oBAAoB;QAChC,OAAO,EAAE,yBAAyB;KACnC;IACD,2BAA2B,EAAE;QAC3B,UAAU,EAAE,oDAAoD;QAChE,MAAM,EAAE,8CAA8C;QACtD,aAAa,EAAE,4GAA4G;QAC3H,UAAU,EAAE,oBAAoB;QAChC,OAAO,EAAE,2BAA2B;KACrC;IACD,8BAA8B,EAAE;QAC9B,UAAU,EAAE,uDAAuD;QACnE,MAAM,EAAE,iDAAiD;QACzD,aAAa,EAAE,wEAAwE;QACvF,UAAU,EAAE,oBAAoB;QAChC,OAAO,EAAE,8BAA8B;KACxC;IACD,6BAA6B,EAAE;QAC7B,UAAU,EAAE,sDAAsD;QAClE,MAAM,EAAE,gDAAgD;QACxD,aAAa,EAAE,gFAAgF;QAC/F,UAAU,EAAE,oBAAoB;QAChC,OAAO,EAAE,6BAA6B;KACvC;IACD,gCAAgC,EAAE;QAChC,UAAU,EAAE,yDAAyD;QACrE,MAAM,EAAE,mDAAmD;QAC3D,aAAa,EAAE,+FAA+F;QAC9G,UAAU,EAAE,oBAAoB;QAChC,OAAO,EAAE,gCAAgC;KAC1C;IACD,SAAS,EAAE;QACT,UAAU,EAAE,2CAA2C;QACvD,MAAM,EAAE,qCAAqC;QAC7C,aAAa,EAAE,sFAAsF;QACrG,UAAU,EAAE,gBAAgB;QAC5B,OAAO,EAAE,mBAAmB;KAC7B;IACD,kBAAkB,EAAE;QAClB,UAAU,EAAE,kDAAkD;QAC9D,MAAM,EAAE,4CAA4C;QACpD,aAAa,EAAE,8FAA8F;QAC7G,UAAU,EAAE,gBAAgB;QAC5B,OAAO,EAAE,kBAAkB;KAC5B;IACD,gBAAgB,EAAE;QAChB,UAAU,EAAE,kDAAkD;QAC9D,MAAM,EAAE,4CAA4C;QACpD,aAAa,EAAE,uGAAuG;QACtH,UAAU,EAAE,gBAAgB;QAC5B,OAAO,EAAE,2BAA2B;KACrC;IACD,gBAAgB,EAAE;QAChB,UAAU,EAAE,kDAAkD;QAC9D,MAAM,EAAE,4CAA4C;QACpD,aAAa,EAAE,yHAAyH;QACxI,UAAU,EAAE,gBAAgB;QAC5B,OAAO,EAAE,2BAA2B;KACrC;IACD,oBAAoB,EAAE;QACpB,UAAU,EAAE,yCAAyC;QACrD,MAAM,EAAE,mCAAmC;QAC3C,aAAa,EAAE,gJAAgJ;QAC/J,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE,oBAAoB;KAC9B;IACD,iBAAiB,EAAE;QACjB,UAAU,EAAE,sCAAsC;QAClD,MAAM,EAAE,gCAAgC;QACxC,aAAa,EAAE,+IAA+I;QAC9J,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE,kBAAkB;KAC5B;IACD,aAAa,EAAE;QACb,UAAU,EAAE,mCAAmC;QAC/C,MAAM,EAAE,6BAA6B;QACrC,aAAa,EAAE,sGAAsG;QACrH,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE,yBAAyB;KACnC;IACD,mBAAmB,EAAE;QACnB,UAAU,EAAE,wCAAwC;QACpD,MAAM,EAAE,kCAAkC;QAC1C,aAAa,EAAE,uJAAuJ;QACtK,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE,mBAAmB;KAC7B;IACD,SAAS,EAAE;QACT,UAAU,EAAE,oCAAoC;QAChD,MAAM,EAAE,8BAA8B;QACtC,aAAa,EAAE,iHAAiH;QAChI,UAAU,EAAE,cAAc;QAC1B,OAAO,EAAE,kBAAkB;KAC5B;IACD,uBAAuB,EAAE;QACvB,UAAU,EAAE,gDAAgD;QAC5D,MAAM,EAAE,0CAA0C;QAClD,aAAa,EAAE,2GAA2G;QAC1H,UAAU,EAAE,cAAc;QAC1B,OAAO,EAAE,0BAA0B;KACpC;IACD,uBAAuB,EAAE;QACvB,UAAU,EAAE,+CAA+C;QAC3D,MAAM,EAAE,yCAAyC;QACjD,aAAa,EAAE,uIAAuI;QACtJ,UAAU,EAAE,cAAc;QAC1B,OAAO,EAAE,uBAAuB;KACjC;IACD,yBAAyB,EAAE;QACzB,UAAU,EAAE,iDAAiD;QAC7D,MAAM,EAAE,2CAA2C;QACnD,aAAa,EAAE,iHAAiH;QAChI,UAAU,EAAE,cAAc;QAC1B,OAAO,EAAE,yBAAyB;KACnC;IACD,gBAAgB,EAAE;QAChB,UAAU,EAAE,0CAA0C;QACtD,MAAM,EAAE,oCAAoC;QAC5C,aAAa,EAAE,6FAA6F;QAC5G,UAAU,EAAE,cAAc;QAC1B,OAAO,EAAE,gBAAgB;KAC1B;IACD,eAAe,EAAE;QACf,UAAU,EAAE,qCAAqC;QACjD,MAAM,EAAE,+BAA+B;QACvC,aAAa,EAAE,+KAA+K;QAC9L,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE,eAAe;KACzB;IACD,eAAe,EAAE;QACf,UAAU,EAAE,qCAAqC;QACjD,MAAM,EAAE,+BAA+B;QACvC,aAAa,EAAE,oKAAoK;QACnL,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE,eAAe;KACzB;CACF,CAAC;AAEF,gFAAgF;AAChF,0BAA0B;AAC1B,gFAAgF;AAEhF,MAAM,CAAC,MAAM,UAAU,GAAmC;IACxD,OAAO,EAAE;QACP,MAAM,EAAE,sBAAsB;QAC9B,aAAa,EAAE,yFAAyF;QACxG,WAAW,EAAE;YACX;gBACE,KAAK,EAAE,gCAAgC;gBACvC,MAAM,EAAE,0BAA0B;aACnC;YACD;gBACE,KAAK,EAAE,gDAAgD;gBACvD,MAAM,EAAE,0CAA0C;aACnD;YACD;gBACE,KAAK,EAAE,mDAAmD;gBAC1D,MAAM,EAAE,6CAA6C;aACtD;YACD;gBACE,KAAK,EAAE,oDAAoD;gBAC3D,MAAM,EAAE,8CAA8C;aACvD;YACD;gBACE,KAAK,EAAE,uDAAuD;gBAC9D,MAAM,EAAE,iDAAiD;aAC1D;YACD;gBACE,KAAK,EAAE,sDAAsD;gBAC7D,MAAM,EAAE,gDAAgD;aACzD;YACD;gBACE,KAAK,EAAE,yDAAyD;gBAChE,MAAM,EAAE,mDAAmD;aAC5D;YACD;gBACE,KAAK,EAAE,2CAA2C;gBAClD,MAAM,EAAE,qCAAqC;aAC9C;YACD;gBACE,KAAK,EAAE,kDAAkD;gBACzD,MAAM,EAAE,4CAA4C;aACrD;SACF;KACF;IACD,UAAU,EAAE;QACV,MAAM,EAAE,mBAAmB;QAC3B,aAAa,EAAE,0DAA0D;QACzE,WAAW,EAAE;YACX;gBACE,KAAK,EAAE,yCAAyC;gBAChD,MAAM,EAAE,mCAAmC;aAC5C;YACD;gBACE,KAAK,EAAE,sCAAsC;gBAC7C,MAAM,EAAE,gCAAgC;aACzC;YACD;gBACE,KAAK,EAAE,mCAAmC;gBAC1C,MAAM,EAAE,6BAA6B;aACtC;YACD;gBACE,KAAK,EAAE,wCAAwC;gBAC/C,MAAM,EAAE,kCAAkC;aAC3C;SACF;KACF;IACD,YAAY,EAAE;QACZ,MAAM,EAAE,gBAAgB;QACxB,aAAa,EAAE,oDAAoD;QACnE,WAAW,EAAE;YACX;gBACE,KAAK,EAAE,2CAA2C;gBAClD,MAAM,EAAE,qCAAqC;aAC9C;YACD;gBACE,KAAK,EAAE,kDAAkD;gBACzD,MAAM,EAAE,4CAA4C;aACrD;YACD;gBACE,KAAK,EAAE,kDAAkD;gBACzD,MAAM,EAAE,4CAA4C;aACrD;YACD;gBACE,KAAK,EAAE,kDAAkD;gBACzD,MAAM,EAAE,4CAA4C;aACrD;SACF;KACF;IACD,cAAc,EAAE;QACd,MAAM,EAAE,qCAAqC;QAC7C,aAAa,EAAE,mEAAmE;QAClF,WAAW,EAAE;YACX;gBACE,KAAK,EAAE,oCAAoC;gBAC3C,MAAM,EAAE,8BAA8B;aACvC;YACD;gBACE,KAAK,EAAE,gDAAgD;gBACvD,MAAM,EAAE,0CAA0C;aACnD;YACD;gBACE,KAAK,EAAE,+CAA+C;gBACtD,MAAM,EAAE,yCAAyC;aAClD;YACD;gBACE,KAAK,EAAE,iDAAiD;gBACxD,MAAM,EAAE,2CAA2C;aACpD;YACD;gBACE,KAAK,EAAE,0CAA0C;gBACjD,MAAM,EAAE,oCAAoC;aAC7C;SACF;KACF;IACD,UAAU,EAAE;QACV,MAAM,EAAE,mBAAmB;QAC3B,aAAa,EAAE,oEAAoE;QACnF,WAAW,EAAE;YACX;gBACE,KAAK,EAAE,qCAAqC;gBAC5C,MAAM,EAAE,+BAA+B;aACxC;YACD;gBACE,KAAK,EAAE,qCAAqC;gBAC5C,MAAM,EAAE,+BAA+B;aACxC;SACF;KACF;CACF,CAAC"}
package/dist/index.d.ts CHANGED
@@ -3,9 +3,20 @@
3
3
  * create-fhevm-example - CLI for creating FHEVM example projects
4
4
  *
5
5
  * Usage:
6
- * npx create-fhevm-example
7
- * npx create-fhevm-example --example fhe-counter
8
- * npx create-fhevm-example --category basic
6
+ * npx create-fhevm-example # Interactive mode
7
+ * npx create-fhevm-example --example <name> # Create single example
8
+ * npx create-fhevm-example --category <name> # Create category project
9
+ *
10
+ * FILE STRUCTURE:
11
+ * ================
12
+ * 1. IMPORTS
13
+ * 2. CONSTANTS - Category icons, order, etc.
14
+ * 3. PROJECT BUILDERS - createSingleExample, createCategoryProject
15
+ * 4. PROMPT HELPERS - Category/example selection prompts
16
+ * 5. INSTALL & TEST - Build and test utilities
17
+ * 6. INTERACTIVE MODE - Main interactive flow
18
+ * 7. DIRECT MODE - CLI argument handling
19
+ * 8. MAIN ENTRY POINT
9
20
  */
10
21
  export {};
11
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;GAkBG"}