create-microact-app 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (264) hide show
  1. package/package.json +1 -1
  2. package/templates/vanilla/package.json +1 -1
  3. package/templates/vanilla/src/components/App.js +22 -35
  4. package/templates/vanilla/src/components/Card.js +5 -12
  5. package/templates/vanilla/src/components/Hero.js +6 -8
  6. package/templates/vanilla/src/components/InteractiveDemo.js +34 -32
  7. package/templates/vanilla/src/main.js +2 -6
  8. package/templates/web3/contracts/.gitmodules +3 -0
  9. package/templates/web3/contracts/foundry.lock +8 -0
  10. package/templates/web3/contracts/lib/forge-std/.gitattributes +1 -0
  11. package/templates/web3/contracts/lib/forge-std/.github/CODEOWNERS +1 -0
  12. package/templates/web3/contracts/lib/forge-std/.github/dependabot.yml +6 -0
  13. package/templates/web3/contracts/lib/forge-std/.github/workflows/ci.yml +125 -0
  14. package/templates/web3/contracts/lib/forge-std/.github/workflows/sync.yml +36 -0
  15. package/templates/web3/contracts/lib/forge-std/CONTRIBUTING.md +193 -0
  16. package/templates/web3/contracts/lib/forge-std/LICENSE-APACHE +203 -0
  17. package/templates/web3/contracts/lib/forge-std/LICENSE-MIT +25 -0
  18. package/templates/web3/contracts/lib/forge-std/README.md +268 -0
  19. package/templates/web3/contracts/lib/forge-std/RELEASE_CHECKLIST.md +12 -0
  20. package/templates/web3/contracts/lib/forge-std/foundry.toml +18 -0
  21. package/templates/web3/contracts/lib/forge-std/package.json +16 -0
  22. package/templates/web3/contracts/lib/forge-std/scripts/vm.py +636 -0
  23. package/templates/web3/contracts/lib/forge-std/src/Base.sol +48 -0
  24. package/templates/web3/contracts/lib/forge-std/src/Config.sol +60 -0
  25. package/templates/web3/contracts/lib/forge-std/src/LibVariable.sol +477 -0
  26. package/templates/web3/contracts/lib/forge-std/src/Script.sol +28 -0
  27. package/templates/web3/contracts/lib/forge-std/src/StdAssertions.sol +779 -0
  28. package/templates/web3/contracts/lib/forge-std/src/StdChains.sol +295 -0
  29. package/templates/web3/contracts/lib/forge-std/src/StdCheats.sol +825 -0
  30. package/templates/web3/contracts/lib/forge-std/src/StdConfig.sol +632 -0
  31. package/templates/web3/contracts/lib/forge-std/src/StdConstants.sol +30 -0
  32. package/templates/web3/contracts/lib/forge-std/src/StdError.sol +15 -0
  33. package/templates/web3/contracts/lib/forge-std/src/StdInvariant.sol +120 -0
  34. package/templates/web3/contracts/lib/forge-std/src/StdJson.sol +275 -0
  35. package/templates/web3/contracts/lib/forge-std/src/StdMath.sol +47 -0
  36. package/templates/web3/contracts/lib/forge-std/src/StdStorage.sol +475 -0
  37. package/templates/web3/contracts/lib/forge-std/src/StdStyle.sol +333 -0
  38. package/templates/web3/contracts/lib/forge-std/src/StdToml.sol +275 -0
  39. package/templates/web3/contracts/lib/forge-std/src/StdUtils.sol +200 -0
  40. package/templates/web3/contracts/lib/forge-std/src/Test.sol +32 -0
  41. package/templates/web3/contracts/lib/forge-std/src/Vm.sol +2500 -0
  42. package/templates/web3/contracts/lib/forge-std/src/console.sol +1551 -0
  43. package/templates/web3/contracts/lib/forge-std/src/console2.sol +4 -0
  44. package/templates/web3/contracts/lib/forge-std/src/interfaces/IERC1155.sol +105 -0
  45. package/templates/web3/contracts/lib/forge-std/src/interfaces/IERC165.sol +12 -0
  46. package/templates/web3/contracts/lib/forge-std/src/interfaces/IERC20.sol +43 -0
  47. package/templates/web3/contracts/lib/forge-std/src/interfaces/IERC4626.sol +190 -0
  48. package/templates/web3/contracts/lib/forge-std/src/interfaces/IERC6909.sol +72 -0
  49. package/templates/web3/contracts/lib/forge-std/src/interfaces/IERC721.sol +164 -0
  50. package/templates/web3/contracts/lib/forge-std/src/interfaces/IERC7540.sol +144 -0
  51. package/templates/web3/contracts/lib/forge-std/src/interfaces/IERC7575.sol +241 -0
  52. package/templates/web3/contracts/lib/forge-std/src/interfaces/IMulticall3.sol +68 -0
  53. package/templates/web3/contracts/lib/forge-std/src/safeconsole.sol +13248 -0
  54. package/templates/web3/contracts/lib/forge-std/test/CommonBase.t.sol +44 -0
  55. package/templates/web3/contracts/lib/forge-std/test/Config.t.sol +381 -0
  56. package/templates/web3/contracts/lib/forge-std/test/LibVariable.t.sol +452 -0
  57. package/templates/web3/contracts/lib/forge-std/test/StdAssertions.t.sol +141 -0
  58. package/templates/web3/contracts/lib/forge-std/test/StdChains.t.sol +227 -0
  59. package/templates/web3/contracts/lib/forge-std/test/StdCheats.t.sol +638 -0
  60. package/templates/web3/contracts/lib/forge-std/test/StdConstants.t.sol +38 -0
  61. package/templates/web3/contracts/lib/forge-std/test/StdError.t.sol +119 -0
  62. package/templates/web3/contracts/lib/forge-std/test/StdJson.t.sol +49 -0
  63. package/templates/web3/contracts/lib/forge-std/test/StdMath.t.sol +202 -0
  64. package/templates/web3/contracts/lib/forge-std/test/StdStorage.t.sol +485 -0
  65. package/templates/web3/contracts/lib/forge-std/test/StdStyle.t.sol +110 -0
  66. package/templates/web3/contracts/lib/forge-std/test/StdToml.t.sol +49 -0
  67. package/templates/web3/contracts/lib/forge-std/test/StdUtils.t.sol +342 -0
  68. package/templates/web3/contracts/lib/forge-std/test/Vm.t.sol +18 -0
  69. package/templates/web3/contracts/lib/forge-std/test/compilation/CompilationScript.sol +8 -0
  70. package/templates/web3/contracts/lib/forge-std/test/compilation/CompilationScriptBase.sol +8 -0
  71. package/templates/web3/contracts/lib/forge-std/test/compilation/CompilationTest.sol +8 -0
  72. package/templates/web3/contracts/lib/forge-std/test/compilation/CompilationTestBase.sol +8 -0
  73. package/templates/web3/contracts/lib/forge-std/test/fixtures/broadcast.log.json +187 -0
  74. package/templates/web3/contracts/lib/forge-std/test/fixtures/config.toml +81 -0
  75. package/templates/web3/contracts/lib/forge-std/test/fixtures/test.json +8 -0
  76. package/templates/web3/contracts/lib/forge-std/test/fixtures/test.toml +6 -0
  77. package/templates/web3/package.json +1 -1
  78. package/templates/web3/src/components/App.js +23 -36
  79. package/templates/web3/src/components/CounterCard.js +45 -45
  80. package/templates/web3/src/main.js +5 -7
  81. package/templates/vanilla/node_modules/.package-lock.json +0 -207
  82. package/templates/vanilla/node_modules/@esbuild/darwin-x64/README.md +0 -3
  83. package/templates/vanilla/node_modules/@esbuild/darwin-x64/bin/esbuild +0 -0
  84. package/templates/vanilla/node_modules/@esbuild/darwin-x64/package.json +0 -17
  85. package/templates/vanilla/node_modules/@monygroupcorp/microact/README.md +0 -154
  86. package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.cjs.js +0 -1749
  87. package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.cjs.js.map +0 -1
  88. package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.esm.js +0 -1743
  89. package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.esm.js.map +0 -1
  90. package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.umd.js +0 -2
  91. package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.umd.js.map +0 -1
  92. package/templates/vanilla/node_modules/@monygroupcorp/microact/example/index.html +0 -13
  93. package/templates/vanilla/node_modules/@monygroupcorp/microact/example/index.js +0 -63
  94. package/templates/vanilla/node_modules/@monygroupcorp/microact/package.json +0 -38
  95. package/templates/vanilla/node_modules/@monygroupcorp/microact/rollup.config.cjs +0 -30
  96. package/templates/vanilla/node_modules/@monygroupcorp/microact/src/Component.js +0 -831
  97. package/templates/vanilla/node_modules/@monygroupcorp/microact/src/DOMUpdater.js +0 -320
  98. package/templates/vanilla/node_modules/@monygroupcorp/microact/src/EventBus.js +0 -123
  99. package/templates/vanilla/node_modules/@monygroupcorp/microact/src/Router.js +0 -253
  100. package/templates/vanilla/node_modules/@monygroupcorp/microact/src/UpdateScheduler.js +0 -218
  101. package/templates/vanilla/node_modules/@monygroupcorp/microact/src/index.js +0 -6
  102. package/templates/vanilla/node_modules/esbuild/LICENSE.md +0 -21
  103. package/templates/vanilla/node_modules/esbuild/README.md +0 -3
  104. package/templates/vanilla/node_modules/esbuild/bin/esbuild +0 -0
  105. package/templates/vanilla/node_modules/esbuild/install.js +0 -287
  106. package/templates/vanilla/node_modules/esbuild/lib/main.d.ts +0 -660
  107. package/templates/vanilla/node_modules/esbuild/lib/main.js +0 -2393
  108. package/templates/vanilla/node_modules/esbuild/package.json +0 -42
  109. package/templates/vanilla/node_modules/nanoid/LICENSE +0 -20
  110. package/templates/vanilla/node_modules/nanoid/README.md +0 -39
  111. package/templates/vanilla/node_modules/nanoid/async/index.browser.cjs +0 -69
  112. package/templates/vanilla/node_modules/nanoid/async/index.browser.js +0 -34
  113. package/templates/vanilla/node_modules/nanoid/async/index.cjs +0 -71
  114. package/templates/vanilla/node_modules/nanoid/async/index.d.ts +0 -56
  115. package/templates/vanilla/node_modules/nanoid/async/index.js +0 -35
  116. package/templates/vanilla/node_modules/nanoid/async/index.native.js +0 -26
  117. package/templates/vanilla/node_modules/nanoid/async/package.json +0 -12
  118. package/templates/vanilla/node_modules/nanoid/bin/nanoid.cjs +0 -55
  119. package/templates/vanilla/node_modules/nanoid/index.browser.cjs +0 -72
  120. package/templates/vanilla/node_modules/nanoid/index.browser.js +0 -34
  121. package/templates/vanilla/node_modules/nanoid/index.cjs +0 -85
  122. package/templates/vanilla/node_modules/nanoid/index.d.cts +0 -91
  123. package/templates/vanilla/node_modules/nanoid/index.d.ts +0 -91
  124. package/templates/vanilla/node_modules/nanoid/index.js +0 -45
  125. package/templates/vanilla/node_modules/nanoid/nanoid.js +0 -1
  126. package/templates/vanilla/node_modules/nanoid/non-secure/index.cjs +0 -34
  127. package/templates/vanilla/node_modules/nanoid/non-secure/index.d.ts +0 -33
  128. package/templates/vanilla/node_modules/nanoid/non-secure/index.js +0 -21
  129. package/templates/vanilla/node_modules/nanoid/non-secure/package.json +0 -6
  130. package/templates/vanilla/node_modules/nanoid/package.json +0 -89
  131. package/templates/vanilla/node_modules/nanoid/url-alphabet/index.cjs +0 -7
  132. package/templates/vanilla/node_modules/nanoid/url-alphabet/index.js +0 -3
  133. package/templates/vanilla/node_modules/nanoid/url-alphabet/package.json +0 -6
  134. package/templates/vanilla/node_modules/picocolors/LICENSE +0 -15
  135. package/templates/vanilla/node_modules/picocolors/README.md +0 -21
  136. package/templates/vanilla/node_modules/picocolors/package.json +0 -25
  137. package/templates/vanilla/node_modules/picocolors/picocolors.browser.js +0 -4
  138. package/templates/vanilla/node_modules/picocolors/picocolors.d.ts +0 -5
  139. package/templates/vanilla/node_modules/picocolors/picocolors.js +0 -75
  140. package/templates/vanilla/node_modules/picocolors/types.d.ts +0 -51
  141. package/templates/vanilla/node_modules/postcss/LICENSE +0 -20
  142. package/templates/vanilla/node_modules/postcss/README.md +0 -29
  143. package/templates/vanilla/node_modules/postcss/lib/at-rule.d.ts +0 -140
  144. package/templates/vanilla/node_modules/postcss/lib/at-rule.js +0 -25
  145. package/templates/vanilla/node_modules/postcss/lib/comment.d.ts +0 -68
  146. package/templates/vanilla/node_modules/postcss/lib/comment.js +0 -13
  147. package/templates/vanilla/node_modules/postcss/lib/container.d.ts +0 -483
  148. package/templates/vanilla/node_modules/postcss/lib/container.js +0 -447
  149. package/templates/vanilla/node_modules/postcss/lib/css-syntax-error.d.ts +0 -248
  150. package/templates/vanilla/node_modules/postcss/lib/css-syntax-error.js +0 -133
  151. package/templates/vanilla/node_modules/postcss/lib/declaration.d.ts +0 -151
  152. package/templates/vanilla/node_modules/postcss/lib/declaration.js +0 -24
  153. package/templates/vanilla/node_modules/postcss/lib/document.d.ts +0 -69
  154. package/templates/vanilla/node_modules/postcss/lib/document.js +0 -33
  155. package/templates/vanilla/node_modules/postcss/lib/fromJSON.d.ts +0 -9
  156. package/templates/vanilla/node_modules/postcss/lib/fromJSON.js +0 -54
  157. package/templates/vanilla/node_modules/postcss/lib/input.d.ts +0 -227
  158. package/templates/vanilla/node_modules/postcss/lib/input.js +0 -265
  159. package/templates/vanilla/node_modules/postcss/lib/lazy-result.d.ts +0 -190
  160. package/templates/vanilla/node_modules/postcss/lib/lazy-result.js +0 -550
  161. package/templates/vanilla/node_modules/postcss/lib/list.d.ts +0 -60
  162. package/templates/vanilla/node_modules/postcss/lib/list.js +0 -58
  163. package/templates/vanilla/node_modules/postcss/lib/map-generator.js +0 -368
  164. package/templates/vanilla/node_modules/postcss/lib/no-work-result.d.ts +0 -46
  165. package/templates/vanilla/node_modules/postcss/lib/no-work-result.js +0 -138
  166. package/templates/vanilla/node_modules/postcss/lib/node.d.ts +0 -556
  167. package/templates/vanilla/node_modules/postcss/lib/node.js +0 -449
  168. package/templates/vanilla/node_modules/postcss/lib/parse.d.ts +0 -9
  169. package/templates/vanilla/node_modules/postcss/lib/parse.js +0 -42
  170. package/templates/vanilla/node_modules/postcss/lib/parser.js +0 -611
  171. package/templates/vanilla/node_modules/postcss/lib/postcss.d.mts +0 -69
  172. package/templates/vanilla/node_modules/postcss/lib/postcss.d.ts +0 -458
  173. package/templates/vanilla/node_modules/postcss/lib/postcss.js +0 -101
  174. package/templates/vanilla/node_modules/postcss/lib/postcss.mjs +0 -30
  175. package/templates/vanilla/node_modules/postcss/lib/previous-map.d.ts +0 -81
  176. package/templates/vanilla/node_modules/postcss/lib/previous-map.js +0 -144
  177. package/templates/vanilla/node_modules/postcss/lib/processor.d.ts +0 -115
  178. package/templates/vanilla/node_modules/postcss/lib/processor.js +0 -67
  179. package/templates/vanilla/node_modules/postcss/lib/result.d.ts +0 -205
  180. package/templates/vanilla/node_modules/postcss/lib/result.js +0 -42
  181. package/templates/vanilla/node_modules/postcss/lib/root.d.ts +0 -87
  182. package/templates/vanilla/node_modules/postcss/lib/root.js +0 -61
  183. package/templates/vanilla/node_modules/postcss/lib/rule.d.ts +0 -126
  184. package/templates/vanilla/node_modules/postcss/lib/rule.js +0 -27
  185. package/templates/vanilla/node_modules/postcss/lib/stringifier.d.ts +0 -46
  186. package/templates/vanilla/node_modules/postcss/lib/stringifier.js +0 -353
  187. package/templates/vanilla/node_modules/postcss/lib/stringify.d.ts +0 -9
  188. package/templates/vanilla/node_modules/postcss/lib/stringify.js +0 -11
  189. package/templates/vanilla/node_modules/postcss/lib/symbols.js +0 -5
  190. package/templates/vanilla/node_modules/postcss/lib/terminal-highlight.js +0 -70
  191. package/templates/vanilla/node_modules/postcss/lib/tokenize.js +0 -266
  192. package/templates/vanilla/node_modules/postcss/lib/warn-once.js +0 -13
  193. package/templates/vanilla/node_modules/postcss/lib/warning.d.ts +0 -147
  194. package/templates/vanilla/node_modules/postcss/lib/warning.js +0 -37
  195. package/templates/vanilla/node_modules/postcss/package.json +0 -88
  196. package/templates/vanilla/node_modules/rollup/LICENSE.md +0 -695
  197. package/templates/vanilla/node_modules/rollup/README.md +0 -125
  198. package/templates/vanilla/node_modules/rollup/dist/bin/rollup +0 -1715
  199. package/templates/vanilla/node_modules/rollup/dist/es/getLogFilter.js +0 -64
  200. package/templates/vanilla/node_modules/rollup/dist/es/package.json +0 -1
  201. package/templates/vanilla/node_modules/rollup/dist/es/rollup.js +0 -17
  202. package/templates/vanilla/node_modules/rollup/dist/es/shared/node-entry.js +0 -27273
  203. package/templates/vanilla/node_modules/rollup/dist/es/shared/watch.js +0 -4857
  204. package/templates/vanilla/node_modules/rollup/dist/getLogFilter.d.ts +0 -5
  205. package/templates/vanilla/node_modules/rollup/dist/getLogFilter.js +0 -69
  206. package/templates/vanilla/node_modules/rollup/dist/loadConfigFile.d.ts +0 -20
  207. package/templates/vanilla/node_modules/rollup/dist/loadConfigFile.js +0 -29
  208. package/templates/vanilla/node_modules/rollup/dist/rollup.d.ts +0 -1012
  209. package/templates/vanilla/node_modules/rollup/dist/rollup.js +0 -31
  210. package/templates/vanilla/node_modules/rollup/dist/shared/fsevents-importer.js +0 -37
  211. package/templates/vanilla/node_modules/rollup/dist/shared/index.js +0 -4571
  212. package/templates/vanilla/node_modules/rollup/dist/shared/loadConfigFile.js +0 -546
  213. package/templates/vanilla/node_modules/rollup/dist/shared/rollup.js +0 -27351
  214. package/templates/vanilla/node_modules/rollup/dist/shared/watch-cli.js +0 -561
  215. package/templates/vanilla/node_modules/rollup/dist/shared/watch-proxy.js +0 -87
  216. package/templates/vanilla/node_modules/rollup/dist/shared/watch.js +0 -316
  217. package/templates/vanilla/node_modules/rollup/package.json +0 -181
  218. package/templates/vanilla/node_modules/source-map-js/LICENSE +0 -28
  219. package/templates/vanilla/node_modules/source-map-js/README.md +0 -765
  220. package/templates/vanilla/node_modules/source-map-js/lib/array-set.js +0 -121
  221. package/templates/vanilla/node_modules/source-map-js/lib/base64-vlq.js +0 -140
  222. package/templates/vanilla/node_modules/source-map-js/lib/base64.js +0 -67
  223. package/templates/vanilla/node_modules/source-map-js/lib/binary-search.js +0 -111
  224. package/templates/vanilla/node_modules/source-map-js/lib/mapping-list.js +0 -79
  225. package/templates/vanilla/node_modules/source-map-js/lib/quick-sort.js +0 -132
  226. package/templates/vanilla/node_modules/source-map-js/lib/source-map-consumer.d.ts +0 -1
  227. package/templates/vanilla/node_modules/source-map-js/lib/source-map-consumer.js +0 -1188
  228. package/templates/vanilla/node_modules/source-map-js/lib/source-map-generator.d.ts +0 -1
  229. package/templates/vanilla/node_modules/source-map-js/lib/source-map-generator.js +0 -444
  230. package/templates/vanilla/node_modules/source-map-js/lib/source-node.d.ts +0 -1
  231. package/templates/vanilla/node_modules/source-map-js/lib/source-node.js +0 -413
  232. package/templates/vanilla/node_modules/source-map-js/lib/util.js +0 -594
  233. package/templates/vanilla/node_modules/source-map-js/package.json +0 -71
  234. package/templates/vanilla/node_modules/source-map-js/source-map.d.ts +0 -104
  235. package/templates/vanilla/node_modules/source-map-js/source-map.js +0 -8
  236. package/templates/vanilla/node_modules/vite/LICENSE.md +0 -3396
  237. package/templates/vanilla/node_modules/vite/README.md +0 -20
  238. package/templates/vanilla/node_modules/vite/bin/openChrome.applescript +0 -95
  239. package/templates/vanilla/node_modules/vite/bin/vite.js +0 -61
  240. package/templates/vanilla/node_modules/vite/client.d.ts +0 -281
  241. package/templates/vanilla/node_modules/vite/dist/client/client.mjs +0 -725
  242. package/templates/vanilla/node_modules/vite/dist/client/client.mjs.map +0 -1
  243. package/templates/vanilla/node_modules/vite/dist/client/env.mjs +0 -30
  244. package/templates/vanilla/node_modules/vite/dist/client/env.mjs.map +0 -1
  245. package/templates/vanilla/node_modules/vite/dist/node/chunks/dep-7ec6f216.js +0 -914
  246. package/templates/vanilla/node_modules/vite/dist/node/chunks/dep-827b23df.js +0 -66713
  247. package/templates/vanilla/node_modules/vite/dist/node/chunks/dep-c423598f.js +0 -561
  248. package/templates/vanilla/node_modules/vite/dist/node/chunks/dep-f0c7dae0.js +0 -7930
  249. package/templates/vanilla/node_modules/vite/dist/node/chunks/dep-f1e8587f.js +0 -7646
  250. package/templates/vanilla/node_modules/vite/dist/node/cli.js +0 -929
  251. package/templates/vanilla/node_modules/vite/dist/node/constants.js +0 -130
  252. package/templates/vanilla/node_modules/vite/dist/node/index.d.ts +0 -3548
  253. package/templates/vanilla/node_modules/vite/dist/node/index.js +0 -158
  254. package/templates/vanilla/node_modules/vite/dist/node-cjs/publicUtils.cjs +0 -4555
  255. package/templates/vanilla/node_modules/vite/index.cjs +0 -34
  256. package/templates/vanilla/node_modules/vite/package.json +0 -173
  257. package/templates/vanilla/node_modules/vite/types/customEvent.d.ts +0 -35
  258. package/templates/vanilla/node_modules/vite/types/hmrPayload.d.ts +0 -61
  259. package/templates/vanilla/node_modules/vite/types/hot.d.ts +0 -32
  260. package/templates/vanilla/node_modules/vite/types/importGlob.d.ts +0 -97
  261. package/templates/vanilla/node_modules/vite/types/importMeta.d.ts +0 -26
  262. package/templates/vanilla/node_modules/vite/types/metadata.d.ts +0 -10
  263. package/templates/vanilla/node_modules/vite/types/package.json +0 -4
  264. package/templates/vanilla/package-lock.json +0 -589
@@ -0,0 +1,333 @@
1
+ // SPDX-License-Identifier: MIT OR Apache-2.0
2
+ pragma solidity >=0.8.13 <0.9.0;
3
+
4
+ import {VmSafe} from "./Vm.sol";
5
+
6
+ library StdStyle {
7
+ VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256("hevm cheat code")))));
8
+
9
+ string constant RED = "\u001b[91m";
10
+ string constant GREEN = "\u001b[92m";
11
+ string constant YELLOW = "\u001b[93m";
12
+ string constant BLUE = "\u001b[94m";
13
+ string constant MAGENTA = "\u001b[95m";
14
+ string constant CYAN = "\u001b[96m";
15
+ string constant BOLD = "\u001b[1m";
16
+ string constant DIM = "\u001b[2m";
17
+ string constant ITALIC = "\u001b[3m";
18
+ string constant UNDERLINE = "\u001b[4m";
19
+ string constant INVERSE = "\u001b[7m";
20
+ string constant RESET = "\u001b[0m";
21
+
22
+ function styleConcat(string memory style, string memory self) private pure returns (string memory) {
23
+ return string(abi.encodePacked(style, self, RESET));
24
+ }
25
+
26
+ function red(string memory self) internal pure returns (string memory) {
27
+ return styleConcat(RED, self);
28
+ }
29
+
30
+ function red(uint256 self) internal pure returns (string memory) {
31
+ return red(vm.toString(self));
32
+ }
33
+
34
+ function red(int256 self) internal pure returns (string memory) {
35
+ return red(vm.toString(self));
36
+ }
37
+
38
+ function red(address self) internal pure returns (string memory) {
39
+ return red(vm.toString(self));
40
+ }
41
+
42
+ function red(bool self) internal pure returns (string memory) {
43
+ return red(vm.toString(self));
44
+ }
45
+
46
+ function redBytes(bytes memory self) internal pure returns (string memory) {
47
+ return red(vm.toString(self));
48
+ }
49
+
50
+ function redBytes32(bytes32 self) internal pure returns (string memory) {
51
+ return red(vm.toString(self));
52
+ }
53
+
54
+ function green(string memory self) internal pure returns (string memory) {
55
+ return styleConcat(GREEN, self);
56
+ }
57
+
58
+ function green(uint256 self) internal pure returns (string memory) {
59
+ return green(vm.toString(self));
60
+ }
61
+
62
+ function green(int256 self) internal pure returns (string memory) {
63
+ return green(vm.toString(self));
64
+ }
65
+
66
+ function green(address self) internal pure returns (string memory) {
67
+ return green(vm.toString(self));
68
+ }
69
+
70
+ function green(bool self) internal pure returns (string memory) {
71
+ return green(vm.toString(self));
72
+ }
73
+
74
+ function greenBytes(bytes memory self) internal pure returns (string memory) {
75
+ return green(vm.toString(self));
76
+ }
77
+
78
+ function greenBytes32(bytes32 self) internal pure returns (string memory) {
79
+ return green(vm.toString(self));
80
+ }
81
+
82
+ function yellow(string memory self) internal pure returns (string memory) {
83
+ return styleConcat(YELLOW, self);
84
+ }
85
+
86
+ function yellow(uint256 self) internal pure returns (string memory) {
87
+ return yellow(vm.toString(self));
88
+ }
89
+
90
+ function yellow(int256 self) internal pure returns (string memory) {
91
+ return yellow(vm.toString(self));
92
+ }
93
+
94
+ function yellow(address self) internal pure returns (string memory) {
95
+ return yellow(vm.toString(self));
96
+ }
97
+
98
+ function yellow(bool self) internal pure returns (string memory) {
99
+ return yellow(vm.toString(self));
100
+ }
101
+
102
+ function yellowBytes(bytes memory self) internal pure returns (string memory) {
103
+ return yellow(vm.toString(self));
104
+ }
105
+
106
+ function yellowBytes32(bytes32 self) internal pure returns (string memory) {
107
+ return yellow(vm.toString(self));
108
+ }
109
+
110
+ function blue(string memory self) internal pure returns (string memory) {
111
+ return styleConcat(BLUE, self);
112
+ }
113
+
114
+ function blue(uint256 self) internal pure returns (string memory) {
115
+ return blue(vm.toString(self));
116
+ }
117
+
118
+ function blue(int256 self) internal pure returns (string memory) {
119
+ return blue(vm.toString(self));
120
+ }
121
+
122
+ function blue(address self) internal pure returns (string memory) {
123
+ return blue(vm.toString(self));
124
+ }
125
+
126
+ function blue(bool self) internal pure returns (string memory) {
127
+ return blue(vm.toString(self));
128
+ }
129
+
130
+ function blueBytes(bytes memory self) internal pure returns (string memory) {
131
+ return blue(vm.toString(self));
132
+ }
133
+
134
+ function blueBytes32(bytes32 self) internal pure returns (string memory) {
135
+ return blue(vm.toString(self));
136
+ }
137
+
138
+ function magenta(string memory self) internal pure returns (string memory) {
139
+ return styleConcat(MAGENTA, self);
140
+ }
141
+
142
+ function magenta(uint256 self) internal pure returns (string memory) {
143
+ return magenta(vm.toString(self));
144
+ }
145
+
146
+ function magenta(int256 self) internal pure returns (string memory) {
147
+ return magenta(vm.toString(self));
148
+ }
149
+
150
+ function magenta(address self) internal pure returns (string memory) {
151
+ return magenta(vm.toString(self));
152
+ }
153
+
154
+ function magenta(bool self) internal pure returns (string memory) {
155
+ return magenta(vm.toString(self));
156
+ }
157
+
158
+ function magentaBytes(bytes memory self) internal pure returns (string memory) {
159
+ return magenta(vm.toString(self));
160
+ }
161
+
162
+ function magentaBytes32(bytes32 self) internal pure returns (string memory) {
163
+ return magenta(vm.toString(self));
164
+ }
165
+
166
+ function cyan(string memory self) internal pure returns (string memory) {
167
+ return styleConcat(CYAN, self);
168
+ }
169
+
170
+ function cyan(uint256 self) internal pure returns (string memory) {
171
+ return cyan(vm.toString(self));
172
+ }
173
+
174
+ function cyan(int256 self) internal pure returns (string memory) {
175
+ return cyan(vm.toString(self));
176
+ }
177
+
178
+ function cyan(address self) internal pure returns (string memory) {
179
+ return cyan(vm.toString(self));
180
+ }
181
+
182
+ function cyan(bool self) internal pure returns (string memory) {
183
+ return cyan(vm.toString(self));
184
+ }
185
+
186
+ function cyanBytes(bytes memory self) internal pure returns (string memory) {
187
+ return cyan(vm.toString(self));
188
+ }
189
+
190
+ function cyanBytes32(bytes32 self) internal pure returns (string memory) {
191
+ return cyan(vm.toString(self));
192
+ }
193
+
194
+ function bold(string memory self) internal pure returns (string memory) {
195
+ return styleConcat(BOLD, self);
196
+ }
197
+
198
+ function bold(uint256 self) internal pure returns (string memory) {
199
+ return bold(vm.toString(self));
200
+ }
201
+
202
+ function bold(int256 self) internal pure returns (string memory) {
203
+ return bold(vm.toString(self));
204
+ }
205
+
206
+ function bold(address self) internal pure returns (string memory) {
207
+ return bold(vm.toString(self));
208
+ }
209
+
210
+ function bold(bool self) internal pure returns (string memory) {
211
+ return bold(vm.toString(self));
212
+ }
213
+
214
+ function boldBytes(bytes memory self) internal pure returns (string memory) {
215
+ return bold(vm.toString(self));
216
+ }
217
+
218
+ function boldBytes32(bytes32 self) internal pure returns (string memory) {
219
+ return bold(vm.toString(self));
220
+ }
221
+
222
+ function dim(string memory self) internal pure returns (string memory) {
223
+ return styleConcat(DIM, self);
224
+ }
225
+
226
+ function dim(uint256 self) internal pure returns (string memory) {
227
+ return dim(vm.toString(self));
228
+ }
229
+
230
+ function dim(int256 self) internal pure returns (string memory) {
231
+ return dim(vm.toString(self));
232
+ }
233
+
234
+ function dim(address self) internal pure returns (string memory) {
235
+ return dim(vm.toString(self));
236
+ }
237
+
238
+ function dim(bool self) internal pure returns (string memory) {
239
+ return dim(vm.toString(self));
240
+ }
241
+
242
+ function dimBytes(bytes memory self) internal pure returns (string memory) {
243
+ return dim(vm.toString(self));
244
+ }
245
+
246
+ function dimBytes32(bytes32 self) internal pure returns (string memory) {
247
+ return dim(vm.toString(self));
248
+ }
249
+
250
+ function italic(string memory self) internal pure returns (string memory) {
251
+ return styleConcat(ITALIC, self);
252
+ }
253
+
254
+ function italic(uint256 self) internal pure returns (string memory) {
255
+ return italic(vm.toString(self));
256
+ }
257
+
258
+ function italic(int256 self) internal pure returns (string memory) {
259
+ return italic(vm.toString(self));
260
+ }
261
+
262
+ function italic(address self) internal pure returns (string memory) {
263
+ return italic(vm.toString(self));
264
+ }
265
+
266
+ function italic(bool self) internal pure returns (string memory) {
267
+ return italic(vm.toString(self));
268
+ }
269
+
270
+ function italicBytes(bytes memory self) internal pure returns (string memory) {
271
+ return italic(vm.toString(self));
272
+ }
273
+
274
+ function italicBytes32(bytes32 self) internal pure returns (string memory) {
275
+ return italic(vm.toString(self));
276
+ }
277
+
278
+ function underline(string memory self) internal pure returns (string memory) {
279
+ return styleConcat(UNDERLINE, self);
280
+ }
281
+
282
+ function underline(uint256 self) internal pure returns (string memory) {
283
+ return underline(vm.toString(self));
284
+ }
285
+
286
+ function underline(int256 self) internal pure returns (string memory) {
287
+ return underline(vm.toString(self));
288
+ }
289
+
290
+ function underline(address self) internal pure returns (string memory) {
291
+ return underline(vm.toString(self));
292
+ }
293
+
294
+ function underline(bool self) internal pure returns (string memory) {
295
+ return underline(vm.toString(self));
296
+ }
297
+
298
+ function underlineBytes(bytes memory self) internal pure returns (string memory) {
299
+ return underline(vm.toString(self));
300
+ }
301
+
302
+ function underlineBytes32(bytes32 self) internal pure returns (string memory) {
303
+ return underline(vm.toString(self));
304
+ }
305
+
306
+ function inverse(string memory self) internal pure returns (string memory) {
307
+ return styleConcat(INVERSE, self);
308
+ }
309
+
310
+ function inverse(uint256 self) internal pure returns (string memory) {
311
+ return inverse(vm.toString(self));
312
+ }
313
+
314
+ function inverse(int256 self) internal pure returns (string memory) {
315
+ return inverse(vm.toString(self));
316
+ }
317
+
318
+ function inverse(address self) internal pure returns (string memory) {
319
+ return inverse(vm.toString(self));
320
+ }
321
+
322
+ function inverse(bool self) internal pure returns (string memory) {
323
+ return inverse(vm.toString(self));
324
+ }
325
+
326
+ function inverseBytes(bytes memory self) internal pure returns (string memory) {
327
+ return inverse(vm.toString(self));
328
+ }
329
+
330
+ function inverseBytes32(bytes32 self) internal pure returns (string memory) {
331
+ return inverse(vm.toString(self));
332
+ }
333
+ }
@@ -0,0 +1,275 @@
1
+ // SPDX-License-Identifier: MIT OR Apache-2.0
2
+ pragma solidity >=0.8.13 <0.9.0;
3
+
4
+ import {VmSafe} from "./Vm.sol";
5
+
6
+ // Helpers for parsing and writing TOML files
7
+ // To parse:
8
+ // ```
9
+ // using stdToml for string;
10
+ // string memory toml = vm.readFile("<some_path>");
11
+ // toml.readUint("<json_path>");
12
+ // ```
13
+ // To write:
14
+ // ```
15
+ // using stdToml for string;
16
+ // string memory json = "json";
17
+ // json.serialize("a", uint256(123));
18
+ // string memory semiFinal = json.serialize("b", string("test"));
19
+ // string memory finalJson = json.serialize("c", semiFinal);
20
+ // finalJson.write("<some_path>");
21
+ // ```
22
+
23
+ library stdToml {
24
+ VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256("hevm cheat code")))));
25
+
26
+ function keyExists(string memory toml, string memory key) internal view returns (bool) {
27
+ return vm.keyExistsToml(toml, key);
28
+ }
29
+
30
+ function parseRaw(string memory toml, string memory key) internal pure returns (bytes memory) {
31
+ return vm.parseToml(toml, key);
32
+ }
33
+
34
+ function readUint(string memory toml, string memory key) internal pure returns (uint256) {
35
+ return vm.parseTomlUint(toml, key);
36
+ }
37
+
38
+ function readUintArray(string memory toml, string memory key) internal pure returns (uint256[] memory) {
39
+ return vm.parseTomlUintArray(toml, key);
40
+ }
41
+
42
+ function readInt(string memory toml, string memory key) internal pure returns (int256) {
43
+ return vm.parseTomlInt(toml, key);
44
+ }
45
+
46
+ function readIntArray(string memory toml, string memory key) internal pure returns (int256[] memory) {
47
+ return vm.parseTomlIntArray(toml, key);
48
+ }
49
+
50
+ function readBytes32(string memory toml, string memory key) internal pure returns (bytes32) {
51
+ return vm.parseTomlBytes32(toml, key);
52
+ }
53
+
54
+ function readBytes32Array(string memory toml, string memory key) internal pure returns (bytes32[] memory) {
55
+ return vm.parseTomlBytes32Array(toml, key);
56
+ }
57
+
58
+ function readString(string memory toml, string memory key) internal pure returns (string memory) {
59
+ return vm.parseTomlString(toml, key);
60
+ }
61
+
62
+ function readStringArray(string memory toml, string memory key) internal pure returns (string[] memory) {
63
+ return vm.parseTomlStringArray(toml, key);
64
+ }
65
+
66
+ function readAddress(string memory toml, string memory key) internal pure returns (address) {
67
+ return vm.parseTomlAddress(toml, key);
68
+ }
69
+
70
+ function readAddressArray(string memory toml, string memory key) internal pure returns (address[] memory) {
71
+ return vm.parseTomlAddressArray(toml, key);
72
+ }
73
+
74
+ function readBool(string memory toml, string memory key) internal pure returns (bool) {
75
+ return vm.parseTomlBool(toml, key);
76
+ }
77
+
78
+ function readBoolArray(string memory toml, string memory key) internal pure returns (bool[] memory) {
79
+ return vm.parseTomlBoolArray(toml, key);
80
+ }
81
+
82
+ function readBytes(string memory toml, string memory key) internal pure returns (bytes memory) {
83
+ return vm.parseTomlBytes(toml, key);
84
+ }
85
+
86
+ function readBytesArray(string memory toml, string memory key) internal pure returns (bytes[] memory) {
87
+ return vm.parseTomlBytesArray(toml, key);
88
+ }
89
+
90
+ function readUintOr(string memory toml, string memory key, uint256 defaultValue) internal view returns (uint256) {
91
+ return keyExists(toml, key) ? readUint(toml, key) : defaultValue;
92
+ }
93
+
94
+ function readUintArrayOr(string memory toml, string memory key, uint256[] memory defaultValue)
95
+ internal
96
+ view
97
+ returns (uint256[] memory)
98
+ {
99
+ return keyExists(toml, key) ? readUintArray(toml, key) : defaultValue;
100
+ }
101
+
102
+ function readIntOr(string memory toml, string memory key, int256 defaultValue) internal view returns (int256) {
103
+ return keyExists(toml, key) ? readInt(toml, key) : defaultValue;
104
+ }
105
+
106
+ function readIntArrayOr(string memory toml, string memory key, int256[] memory defaultValue)
107
+ internal
108
+ view
109
+ returns (int256[] memory)
110
+ {
111
+ return keyExists(toml, key) ? readIntArray(toml, key) : defaultValue;
112
+ }
113
+
114
+ function readBytes32Or(string memory toml, string memory key, bytes32 defaultValue)
115
+ internal
116
+ view
117
+ returns (bytes32)
118
+ {
119
+ return keyExists(toml, key) ? readBytes32(toml, key) : defaultValue;
120
+ }
121
+
122
+ function readBytes32ArrayOr(string memory toml, string memory key, bytes32[] memory defaultValue)
123
+ internal
124
+ view
125
+ returns (bytes32[] memory)
126
+ {
127
+ return keyExists(toml, key) ? readBytes32Array(toml, key) : defaultValue;
128
+ }
129
+
130
+ function readStringOr(string memory toml, string memory key, string memory defaultValue)
131
+ internal
132
+ view
133
+ returns (string memory)
134
+ {
135
+ return keyExists(toml, key) ? readString(toml, key) : defaultValue;
136
+ }
137
+
138
+ function readStringArrayOr(string memory toml, string memory key, string[] memory defaultValue)
139
+ internal
140
+ view
141
+ returns (string[] memory)
142
+ {
143
+ return keyExists(toml, key) ? readStringArray(toml, key) : defaultValue;
144
+ }
145
+
146
+ function readAddressOr(string memory toml, string memory key, address defaultValue)
147
+ internal
148
+ view
149
+ returns (address)
150
+ {
151
+ return keyExists(toml, key) ? readAddress(toml, key) : defaultValue;
152
+ }
153
+
154
+ function readAddressArrayOr(string memory toml, string memory key, address[] memory defaultValue)
155
+ internal
156
+ view
157
+ returns (address[] memory)
158
+ {
159
+ return keyExists(toml, key) ? readAddressArray(toml, key) : defaultValue;
160
+ }
161
+
162
+ function readBoolOr(string memory toml, string memory key, bool defaultValue) internal view returns (bool) {
163
+ return keyExists(toml, key) ? readBool(toml, key) : defaultValue;
164
+ }
165
+
166
+ function readBoolArrayOr(string memory toml, string memory key, bool[] memory defaultValue)
167
+ internal
168
+ view
169
+ returns (bool[] memory)
170
+ {
171
+ return keyExists(toml, key) ? readBoolArray(toml, key) : defaultValue;
172
+ }
173
+
174
+ function readBytesOr(string memory toml, string memory key, bytes memory defaultValue)
175
+ internal
176
+ view
177
+ returns (bytes memory)
178
+ {
179
+ return keyExists(toml, key) ? readBytes(toml, key) : defaultValue;
180
+ }
181
+
182
+ function readBytesArrayOr(string memory toml, string memory key, bytes[] memory defaultValue)
183
+ internal
184
+ view
185
+ returns (bytes[] memory)
186
+ {
187
+ return keyExists(toml, key) ? readBytesArray(toml, key) : defaultValue;
188
+ }
189
+
190
+ function serialize(string memory jsonKey, string memory rootObject) internal returns (string memory) {
191
+ return vm.serializeJson(jsonKey, rootObject);
192
+ }
193
+
194
+ function serialize(string memory jsonKey, string memory key, bool value) internal returns (string memory) {
195
+ return vm.serializeBool(jsonKey, key, value);
196
+ }
197
+
198
+ function serialize(string memory jsonKey, string memory key, bool[] memory value) internal returns (string memory) {
199
+ return vm.serializeBool(jsonKey, key, value);
200
+ }
201
+
202
+ function serialize(string memory jsonKey, string memory key, uint256 value) internal returns (string memory) {
203
+ return vm.serializeUint(jsonKey, key, value);
204
+ }
205
+
206
+ function serialize(string memory jsonKey, string memory key, uint256[] memory value)
207
+ internal
208
+ returns (string memory)
209
+ {
210
+ return vm.serializeUint(jsonKey, key, value);
211
+ }
212
+
213
+ function serialize(string memory jsonKey, string memory key, int256 value) internal returns (string memory) {
214
+ return vm.serializeInt(jsonKey, key, value);
215
+ }
216
+
217
+ function serialize(string memory jsonKey, string memory key, int256[] memory value)
218
+ internal
219
+ returns (string memory)
220
+ {
221
+ return vm.serializeInt(jsonKey, key, value);
222
+ }
223
+
224
+ function serialize(string memory jsonKey, string memory key, address value) internal returns (string memory) {
225
+ return vm.serializeAddress(jsonKey, key, value);
226
+ }
227
+
228
+ function serialize(string memory jsonKey, string memory key, address[] memory value)
229
+ internal
230
+ returns (string memory)
231
+ {
232
+ return vm.serializeAddress(jsonKey, key, value);
233
+ }
234
+
235
+ function serialize(string memory jsonKey, string memory key, bytes32 value) internal returns (string memory) {
236
+ return vm.serializeBytes32(jsonKey, key, value);
237
+ }
238
+
239
+ function serialize(string memory jsonKey, string memory key, bytes32[] memory value)
240
+ internal
241
+ returns (string memory)
242
+ {
243
+ return vm.serializeBytes32(jsonKey, key, value);
244
+ }
245
+
246
+ function serialize(string memory jsonKey, string memory key, bytes memory value) internal returns (string memory) {
247
+ return vm.serializeBytes(jsonKey, key, value);
248
+ }
249
+
250
+ function serialize(string memory jsonKey, string memory key, bytes[] memory value)
251
+ internal
252
+ returns (string memory)
253
+ {
254
+ return vm.serializeBytes(jsonKey, key, value);
255
+ }
256
+
257
+ function serialize(string memory jsonKey, string memory key, string memory value) internal returns (string memory) {
258
+ return vm.serializeString(jsonKey, key, value);
259
+ }
260
+
261
+ function serialize(string memory jsonKey, string memory key, string[] memory value)
262
+ internal
263
+ returns (string memory)
264
+ {
265
+ return vm.serializeString(jsonKey, key, value);
266
+ }
267
+
268
+ function write(string memory jsonKey, string memory path) internal {
269
+ vm.writeToml(jsonKey, path);
270
+ }
271
+
272
+ function write(string memory jsonKey, string memory path, string memory valueKey) internal {
273
+ vm.writeToml(jsonKey, path, valueKey);
274
+ }
275
+ }