Commit ba2b68f
committed
Add missing validations and fix infinite loop in type topological sort
- Fix potential infinite loop in TypeDeclMulti::to_rescript_schema when
type declarations have cyclic dependencies. The while loop now detects
lack of progress and returns a clear error instead of hanging forever.
- Add validation in TypeDeclMulti::new: reject empty declarations and
duplicate type names.
- Add validation in TypeDecl::new: reject duplicate type parameters.
- Add event name uniqueness validation in Contract::new to catch
duplicate event names within a contract early.
- Add __proto__ field name check in schema validation to prevent
prototype pollution issues in the JavaScript runtime.
- All new validations include corresponding unit tests.
https://claude.ai/code/session_01BwrGigSvKsk4MR43QhkSrx1 parent 36cd252 commit ba2b68f
5 files changed
Lines changed: 258 additions & 43 deletions
File tree
- codegenerator/cli/src
- config_parsing
- fuel
- hbs_templating
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
155 | 155 | | |
156 | 156 | | |
157 | 157 | | |
158 | | - | |
159 | | - | |
160 | 158 | | |
161 | | - | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | | - | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
166 | 166 | | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
167 | 190 | | |
168 | 191 | | |
169 | 192 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1259 | 1259 | | |
1260 | 1260 | | |
1261 | 1261 | | |
1262 | | - | |
1263 | | - | |
1264 | | - | |
1265 | | - | |
1266 | | - | |
| 1262 | + | |
| 1263 | + | |
| 1264 | + | |
| 1265 | + | |
| 1266 | + | |
| 1267 | + | |
| 1268 | + | |
| 1269 | + | |
| 1270 | + | |
| 1271 | + | |
| 1272 | + | |
| 1273 | + | |
| 1274 | + | |
| 1275 | + | |
| 1276 | + | |
| 1277 | + | |
| 1278 | + | |
| 1279 | + | |
| 1280 | + | |
1267 | 1281 | | |
1268 | 1282 | | |
1269 | 1283 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
320 | 320 | | |
321 | 321 | | |
322 | 322 | | |
323 | | - | |
| 323 | + | |
324 | 324 | | |
325 | 325 | | |
326 | 326 | | |
| |||
477 | 477 | | |
478 | 478 | | |
479 | 479 | | |
480 | | - | |
| 480 | + | |
481 | 481 | | |
482 | 482 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
997 | 997 | | |
998 | 998 | | |
999 | 999 | | |
| 1000 | + | |
| 1001 | + | |
| 1002 | + | |
| 1003 | + | |
| 1004 | + | |
| 1005 | + | |
| 1006 | + | |
1000 | 1007 | | |
1001 | 1008 | | |
1002 | 1009 | | |
1003 | 1010 | | |
1004 | 1011 | | |
1005 | 1012 | | |
1006 | 1013 | | |
1007 | | - | |
| 1014 | + | |
1008 | 1015 | | |
1009 | 1016 | | |
1010 | 1017 | | |
| |||
0 commit comments