package-installer-cli 2.3.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (372) hide show
  1. checksums.yaml +4 -4
  2. data/bundle-standalone/cli-with-packages.js +568 -369
  3. data/bundle-standalone/template.json +87 -14
  4. data/bundle-standalone/templates/c++_c/crow/template/CMakeLists.txt +18 -0
  5. data/bundle-standalone/templates/c++_c/crow/template/README.md +11 -0
  6. data/bundle-standalone/templates/c++_c/crow/template/include/routes.hpp +19 -0
  7. data/bundle-standalone/templates/c++_c/crow/template/main.cpp +12 -0
  8. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/README.md +36 -0
  9. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/eslint.config.mjs +16 -0
  10. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/middleware.ts +18 -0
  11. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/next.config.ts +7 -0
  12. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/package.json +28 -0
  13. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/pnpm-lock.yaml +3819 -0
  14. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/postcss.config.mjs +5 -0
  15. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/public/file.svg +1 -0
  16. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/public/globe.svg +1 -0
  17. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/public/next.svg +1 -0
  18. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/public/vercel.svg +1 -0
  19. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/public/window.svg +1 -0
  20. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/src/app/favicon.ico +0 -0
  21. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/src/app/globals.css +26 -0
  22. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/src/app/layout.tsx +34 -0
  23. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/src/app/page.tsx +33 -0
  24. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/src/lib/auth0.ts +3 -0
  25. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/tsconfig.json +27 -0
  26. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/README.md +36 -0
  27. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/components.json +21 -0
  28. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/eslint.config.mjs +16 -0
  29. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/middleware.ts +12 -0
  30. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/next.config.ts +7 -0
  31. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/package.json +37 -0
  32. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/pnpm-lock.yaml +4113 -0
  33. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/postcss.config.mjs +5 -0
  34. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/public/file.svg +1 -0
  35. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/public/globe.svg +1 -0
  36. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/public/next.svg +1 -0
  37. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/public/vercel.svg +1 -0
  38. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/public/window.svg +1 -0
  39. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/app/favicon.ico +0 -0
  40. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/app/globals.css +122 -0
  41. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/app/layout.tsx +55 -0
  42. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/app/page.tsx +10 -0
  43. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/components/ui/button.tsx +59 -0
  44. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/components/ui/card.tsx +92 -0
  45. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/components/ui/input.tsx +21 -0
  46. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/components/ui/textarea.tsx +18 -0
  47. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/lib/utils.ts +6 -0
  48. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/middleware.ts +12 -0
  49. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/tsconfig.json +27 -0
  50. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/README.md +36 -0
  51. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/eslint.config.mjs +16 -0
  52. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/middleware.ts +0 -0
  53. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/next.config.ts +7 -0
  54. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/package.json +28 -0
  55. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/pnpm-lock.yaml +3862 -0
  56. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/postcss.config.mjs +5 -0
  57. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/public/file.svg +1 -0
  58. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/public/globe.svg +1 -0
  59. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/public/next.svg +1 -0
  60. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/public/vercel.svg +1 -0
  61. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/public/window.svg +1 -0
  62. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/src/app/api/auth/[...nextauth]/route.ts +6 -0
  63. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/src/app/favicon.ico +0 -0
  64. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/src/app/globals.css +26 -0
  65. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/src/app/layout.tsx +39 -0
  66. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/src/app/page.tsx +10 -0
  67. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/src/lib/auth-provider.tsx +7 -0
  68. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/src/lib/auth.ts +126 -0
  69. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/tsconfig.json +27 -0
  70. data/bundle-standalone/templates/game/unity/template/README.md +3 -0
  71. data/bundle-standalone/templates/game/unity/template/Scripts/PlayerController.cs +25 -0
  72. data/bundle-standalone/templates/game/unreal/template/README.md +3 -0
  73. data/bundle-standalone/templates/game/unreal/template/Source/PlayerCharacter.cpp +33 -0
  74. data/bundle-standalone/templates/game/unreal/template/Source/PlayerCharacter.h +20 -0
  75. data/bundle-standalone/templates/javascript/preactjs/javascript/template/index.html +13 -0
  76. data/bundle-standalone/templates/javascript/preactjs/javascript/template/package.json +18 -0
  77. data/bundle-standalone/templates/javascript/preactjs/javascript/template/public/vite.svg +1 -0
  78. data/bundle-standalone/templates/javascript/preactjs/javascript/template/src/app.css +25 -0
  79. data/bundle-standalone/templates/javascript/preactjs/javascript/template/src/app.jsx +43 -0
  80. data/bundle-standalone/templates/javascript/preactjs/javascript/template/src/assets/preact.svg +1 -0
  81. data/bundle-standalone/templates/javascript/preactjs/javascript/template/src/index.css +68 -0
  82. data/bundle-standalone/templates/javascript/preactjs/javascript/template/src/main.jsx +5 -0
  83. data/bundle-standalone/templates/javascript/preactjs/javascript/template/vite.config.js +7 -0
  84. data/bundle-standalone/templates/javascript/preactjs/typescript/template/index.html +13 -0
  85. data/bundle-standalone/templates/javascript/preactjs/typescript/template/package.json +20 -0
  86. data/bundle-standalone/templates/javascript/preactjs/typescript/template/public/vite.svg +1 -0
  87. data/bundle-standalone/templates/javascript/preactjs/typescript/template/src/app.css +25 -0
  88. data/bundle-standalone/templates/javascript/preactjs/typescript/template/src/app.tsx +43 -0
  89. data/bundle-standalone/templates/javascript/preactjs/typescript/template/src/assets/preact.svg +1 -0
  90. data/bundle-standalone/templates/javascript/preactjs/typescript/template/src/index.css +68 -0
  91. data/bundle-standalone/templates/javascript/preactjs/typescript/template/src/main.tsx +5 -0
  92. data/bundle-standalone/templates/javascript/preactjs/typescript/template/tsconfig.app.json +33 -0
  93. data/bundle-standalone/templates/javascript/preactjs/typescript/template/tsconfig.json +7 -0
  94. data/bundle-standalone/templates/javascript/preactjs/typescript/template/tsconfig.node.json +26 -0
  95. data/bundle-standalone/templates/javascript/preactjs/typescript/template/vite.config.ts +7 -0
  96. data/bundle-standalone/templates/javascript/solidjs/javascript/template/README.md +28 -0
  97. data/bundle-standalone/templates/javascript/solidjs/javascript/template/index.html +13 -0
  98. data/bundle-standalone/templates/javascript/solidjs/javascript/template/package.json +18 -0
  99. data/bundle-standalone/templates/javascript/solidjs/javascript/template/public/vite.svg +1 -0
  100. data/bundle-standalone/templates/javascript/solidjs/javascript/template/src/App.css +27 -0
  101. data/bundle-standalone/templates/javascript/solidjs/javascript/template/src/App.jsx +35 -0
  102. data/bundle-standalone/templates/javascript/solidjs/javascript/template/src/assets/solid.svg +1 -0
  103. data/bundle-standalone/templates/javascript/solidjs/javascript/template/src/index.css +68 -0
  104. data/bundle-standalone/templates/javascript/solidjs/javascript/template/src/index.jsx +8 -0
  105. data/bundle-standalone/templates/javascript/solidjs/javascript/template/vite.config.js +6 -0
  106. data/bundle-standalone/templates/javascript/solidjs/typescript/template/README.md +28 -0
  107. data/bundle-standalone/templates/javascript/solidjs/typescript/template/index.html +13 -0
  108. data/bundle-standalone/templates/javascript/solidjs/typescript/template/package.json +20 -0
  109. data/bundle-standalone/templates/javascript/solidjs/typescript/template/public/vite.svg +1 -0
  110. data/bundle-standalone/templates/javascript/solidjs/typescript/template/src/App.css +27 -0
  111. data/bundle-standalone/templates/javascript/solidjs/typescript/template/src/App.tsx +35 -0
  112. data/bundle-standalone/templates/javascript/solidjs/typescript/template/src/assets/solid.svg +1 -0
  113. data/bundle-standalone/templates/javascript/solidjs/typescript/template/src/index.css +68 -0
  114. data/bundle-standalone/templates/javascript/solidjs/typescript/template/src/index.tsx +8 -0
  115. data/bundle-standalone/templates/javascript/solidjs/typescript/template/tsconfig.app.json +29 -0
  116. data/bundle-standalone/templates/javascript/solidjs/typescript/template/tsconfig.json +7 -0
  117. data/bundle-standalone/templates/javascript/solidjs/typescript/template/tsconfig.node.json +26 -0
  118. data/bundle-standalone/templates/javascript/solidjs/typescript/template/vite.config.ts +6 -0
  119. data/bundle-standalone/templates/javascript/sveltejs/javascript/template/README.md +43 -0
  120. data/bundle-standalone/templates/javascript/sveltejs/javascript/template/index.html +13 -0
  121. data/bundle-standalone/templates/javascript/sveltejs/javascript/template/jsconfig.json +33 -0
  122. data/bundle-standalone/templates/javascript/sveltejs/javascript/template/package.json +16 -0
  123. data/bundle-standalone/templates/javascript/sveltejs/javascript/template/public/vite.svg +1 -0
  124. data/bundle-standalone/templates/javascript/sveltejs/javascript/template/src/App.svelte +47 -0
  125. data/bundle-standalone/templates/javascript/sveltejs/javascript/template/src/app.css +79 -0
  126. data/bundle-standalone/templates/javascript/sveltejs/javascript/template/src/assets/svelte.svg +1 -0
  127. data/bundle-standalone/templates/javascript/sveltejs/javascript/template/src/lib/Counter.svelte +10 -0
  128. data/bundle-standalone/templates/javascript/sveltejs/javascript/template/src/main.js +9 -0
  129. data/bundle-standalone/templates/javascript/sveltejs/javascript/template/svelte.config.js +8 -0
  130. data/bundle-standalone/templates/javascript/sveltejs/javascript/template/vite.config.js +7 -0
  131. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/README.md +47 -0
  132. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/index.html +13 -0
  133. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/package.json +21 -0
  134. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/public/vite.svg +1 -0
  135. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/src/App.svelte +47 -0
  136. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/src/app.css +79 -0
  137. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/src/assets/svelte.svg +1 -0
  138. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/src/lib/Counter.svelte +10 -0
  139. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/src/main.ts +9 -0
  140. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/svelte.config.js +8 -0
  141. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/tsconfig.app.json +21 -0
  142. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/tsconfig.json +7 -0
  143. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/tsconfig.node.json +26 -0
  144. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/vite.config.ts +7 -0
  145. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/README.md +50 -0
  146. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/app/(tabs)/_layout.jsx +35 -0
  147. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/app/(tabs)/explore.jsx +112 -0
  148. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/app/(tabs)/index.jsx +98 -0
  149. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/app/_layout.jsx +24 -0
  150. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/app/modal.jsx +29 -0
  151. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/app.json +48 -0
  152. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/android-icon-background.png +0 -0
  153. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/android-icon-foreground.png +0 -0
  154. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/android-icon-monochrome.png +0 -0
  155. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/favicon.png +0 -0
  156. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/icon.png +0 -0
  157. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/partial-react-logo.png +0 -0
  158. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/react-logo.png +0 -0
  159. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/react-logo@2x.png +0 -0
  160. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/react-logo@3x.png +0 -0
  161. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/splash-icon.png +0 -0
  162. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/components/external-link.jsx +25 -0
  163. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/components/haptic-tab.jsx +18 -0
  164. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/components/hello-wave.jsx +19 -0
  165. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/components/parallax-scroll-view.jsx +79 -0
  166. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/components/themed-text.jsx +60 -0
  167. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/components/themed-view.jsx +14 -0
  168. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/components/ui/collapsible.jsx +45 -0
  169. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/components/ui/icon-symbol.ios.jsx +32 -0
  170. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/components/ui/icon-symbol.jsx +41 -0
  171. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/constants/theme.js +53 -0
  172. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/eslint.config.js +10 -0
  173. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/hooks/use-color-scheme.js +1 -0
  174. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/hooks/use-color-scheme.web.js +21 -0
  175. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/hooks/use-theme-color.js +21 -0
  176. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/jsconfig.json +17 -0
  177. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/package.json +47 -0
  178. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/pnpm-workspace.yaml +1 -0
  179. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/scripts/reset-project.js +112 -0
  180. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/README.md +50 -0
  181. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/app/(tabs)/_layout.tsx +35 -0
  182. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/app/(tabs)/explore.tsx +112 -0
  183. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/app/(tabs)/index.tsx +98 -0
  184. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/app/_layout.tsx +24 -0
  185. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/app/modal.tsx +29 -0
  186. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/app.json +48 -0
  187. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/android-icon-background.png +0 -0
  188. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/android-icon-foreground.png +0 -0
  189. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/android-icon-monochrome.png +0 -0
  190. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/favicon.png +0 -0
  191. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/icon.png +0 -0
  192. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/partial-react-logo.png +0 -0
  193. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/react-logo.png +0 -0
  194. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/react-logo@2x.png +0 -0
  195. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/react-logo@3x.png +0 -0
  196. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/splash-icon.png +0 -0
  197. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/components/external-link.tsx +25 -0
  198. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/components/haptic-tab.tsx +18 -0
  199. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/components/hello-wave.tsx +19 -0
  200. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/components/parallax-scroll-view.tsx +79 -0
  201. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/components/themed-text.tsx +60 -0
  202. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/components/themed-view.tsx +14 -0
  203. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/components/ui/collapsible.tsx +45 -0
  204. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/components/ui/icon-symbol.ios.tsx +32 -0
  205. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/components/ui/icon-symbol.tsx +41 -0
  206. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/constants/theme.ts +53 -0
  207. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/eslint.config.js +10 -0
  208. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/hooks/use-color-scheme.ts +1 -0
  209. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/hooks/use-color-scheme.web.ts +21 -0
  210. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/hooks/use-theme-color.ts +21 -0
  211. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/package.json +47 -0
  212. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/pnpm-workspace.yaml +1 -0
  213. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/scripts/reset-project.js +112 -0
  214. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/tsconfig.json +17 -0
  215. data/bundle-standalone/templates/python/bottle/template/README.md +0 -0
  216. data/bundle-standalone/templates/python/bottle/template/main.py +6 -0
  217. data/bundle-standalone/templates/python/bottle/template/pyproject.toml +7 -0
  218. data/bundle-standalone/templates/python/dash/template/README.md +0 -0
  219. data/bundle-standalone/templates/python/dash/template/main.py +6 -0
  220. data/bundle-standalone/templates/python/dash/template/pyproject.toml +7 -0
  221. data/bundle-standalone/templates/python/falcon/template/README.md +0 -0
  222. data/bundle-standalone/templates/python/falcon/template/main.py +6 -0
  223. data/bundle-standalone/templates/python/falcon/template/pyproject.toml +7 -0
  224. data/bundle-standalone/templates/python/fastapi/template/README.md +0 -0
  225. data/bundle-standalone/templates/python/fastapi/template/main.py +27 -0
  226. data/bundle-standalone/templates/python/fastapi/template/pyproject.toml +7 -0
  227. data/bundle-standalone/templates/python/pyramid/template/README.md +0 -0
  228. data/bundle-standalone/templates/python/pyramid/template/main.py +6 -0
  229. data/bundle-standalone/templates/python/pyramid/template/pyproject.toml +7 -0
  230. data/bundle-standalone/templates/python/quart/template/README.md +0 -0
  231. data/bundle-standalone/templates/python/quart/template/main.py +6 -0
  232. data/bundle-standalone/templates/python/quart/template/pyproject.toml +7 -0
  233. data/bundle-standalone/templates/python/streamlit/template/README.md +0 -0
  234. data/bundle-standalone/templates/python/streamlit/template/main.py +6 -0
  235. data/bundle-standalone/templates/python/streamlit/template/pyproject.toml +7 -0
  236. data/bundle-standalone/templates/python/tornado/template/README.md +0 -0
  237. data/bundle-standalone/templates/python/tornado/template/main.py +6 -0
  238. data/bundle-standalone/templates/python/tornado/template/pyproject.toml +7 -0
  239. data/bundle-standalone/templates/template.json +87 -14
  240. data/bundle-standalone/templates/web3/anchor/template/Anchor.toml +6 -0
  241. data/bundle-standalone/templates/web3/anchor/template/Cargo.toml +23 -0
  242. data/bundle-standalone/templates/web3/anchor/template/README.md +10 -0
  243. data/bundle-standalone/templates/web3/anchor/template/migrations/deploy.ts +27 -0
  244. data/bundle-standalone/templates/web3/anchor/template/programs/mysolanaapp/src/lib.rs +40 -0
  245. data/bundle-standalone/templates/web3/anchor/template/tests/mysolanaapp.ts +26 -0
  246. data/bundle-standalone/templates/web3/ethersjs/template/README.md +12 -0
  247. data/bundle-standalone/templates/web3/ethersjs/template/contracts/SimpleStorage.sol +17 -0
  248. data/bundle-standalone/templates/web3/ethersjs/template/hardhat.config.js +8 -0
  249. data/bundle-standalone/templates/web3/ethersjs/template/package.json +29 -0
  250. data/bundle-standalone/templates/web3/ethersjs/template/scripts/deploy.ts +18 -0
  251. data/bundle-standalone/templates/web3/ethersjs/template/scripts/interact.ts +17 -0
  252. data/bundle-standalone/templates/web3/solidity/solidity-learning/01_data-types/DataTypes.sol +37 -0
  253. data/bundle-standalone/templates/web3/solidity/solidity-learning/01_data-types/SolidityOperations.sol +48 -0
  254. data/bundle-standalone/templates/web3/solidity/solidity-learning/02_contructors/Constructor.sol +16 -0
  255. data/bundle-standalone/templates/web3/solidity/solidity-learning/03_variables/Variables.sol +31 -0
  256. data/bundle-standalone/templates/web3/solidity/solidity-learning/04_functions/Functions.sol +19 -0
  257. data/bundle-standalone/templates/web3/solidity/solidity-learning/05_visibility/FunctionVisibility.sol +39 -0
  258. data/bundle-standalone/templates/web3/solidity/solidity-learning/06_pure_and_view_functions/PureAndViewFunction.sol +19 -0
  259. data/bundle-standalone/templates/web3/solidity/solidity-learning/07_function_modifiers/Modifiers.sol +27 -0
  260. data/bundle-standalone/templates/web3/solidity/solidity-learning/09_events/Events.sol +19 -0
  261. data/bundle-standalone/templates/web3/solidity/solidity-learning/10_error_handling/ErrorHandling.sol +25 -0
  262. data/bundle-standalone/templates/web3/solidity/solidity-learning/11_fallback_function/Fallback.sol +7 -0
  263. data/bundle-standalone/templates/web3/solidity/solidity-learning/12_for_loop/ForLoop.sol +15 -0
  264. data/bundle-standalone/templates/web3/solidity/solidity-learning/13_array/Array.sol +40 -0
  265. data/bundle-standalone/templates/web3/solidity/solidity-learning/14_mapping/Mapping.sol +21 -0
  266. data/bundle-standalone/templates/web3/solidity/solidity-learning/14_mapping/NestedMapping.sol +25 -0
  267. data/bundle-standalone/templates/web3/solidity/solidity-learning/15_enum/Enum.sol +22 -0
  268. data/bundle-standalone/templates/web3/solidity/solidity-learning/16_struct/Struct.sol +23 -0
  269. data/bundle-standalone/templates/web3/solidity/solidity-learning/17_payable_modifier/Payable.sol +26 -0
  270. data/bundle-standalone/templates/web3/solidity/solidity-learning/18_imports/Contract1.sol +15 -0
  271. data/bundle-standalone/templates/web3/solidity/solidity-learning/18_imports/Contract2.sol +11 -0
  272. data/bundle-standalone/templates/web3/solidity/solidity-learning/19_contract_cleanup/Cleanup.sol +18 -0
  273. data/bundle-standalone/templates/web3/solidity/solidity-learning/20_memory_and_storage/MemoryAndStorage.sol +20 -0
  274. data/bundle-standalone/templates/web3/solidity/solidity-learning/21_inheritance/Inheritance.sol +67 -0
  275. data/bundle-standalone/templates/web3/solidity/solidity-learning/22_if_statement/if-statement.sol +22 -0
  276. data/bundle-standalone/templates/web3/solidity/solidity-learning/23_libraries/libraries.sol +31 -0
  277. data/bundle-standalone/templates/web3/solidity/solidity-learning/23_libraries/safemath.sol +116 -0
  278. data/bundle-standalone/templates/web3/solidity/solidity-learning/24_interface/interface.sol +88 -0
  279. data/bundle-standalone/templates/web3/solidity/solidity-learning/README.md +423 -0
  280. data/bundle-standalone/templates/web3/solidity/uniswap-simple-swap/SimpleSwap.sol +46 -0
  281. metadata +369 -93
  282. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/App.jsx +0 -0
  283. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/Gemfile +0 -0
  284. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/README.md +0 -0
  285. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/__tests__/App.test.tsx +0 -0
  286. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/build.gradle +0 -0
  287. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/debug.keystore +0 -0
  288. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/proguard-rules.pro +0 -0
  289. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/AndroidManifest.xml +0 -0
  290. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/java/com/template/MainActivity.kt +0 -0
  291. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/java/com/template/MainApplication.kt +0 -0
  292. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/drawable/rn_edit_text_material.xml +0 -0
  293. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  294. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  295. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  296. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  297. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  298. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  299. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  300. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  301. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  302. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  303. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/values/strings.xml +0 -0
  304. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/values/styles.xml +0 -0
  305. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/build.gradle +0 -0
  306. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  307. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/gradle/wrapper/gradle-wrapper.properties +0 -0
  308. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/gradle.properties +0 -0
  309. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/gradlew +0 -0
  310. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/gradlew.bat +0 -0
  311. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/settings.gradle +0 -0
  312. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/app.json +0 -0
  313. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/babel.config.js +0 -0
  314. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/index.js +0 -0
  315. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/ios/Podfile +0 -0
  316. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/ios/template/AppDelegate.swift +0 -0
  317. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/ios/template/Images.xcassets/AppIcon.appiconset/Contents.json +0 -0
  318. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/ios/template/Images.xcassets/Contents.json +0 -0
  319. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/ios/template/Info.plist +0 -0
  320. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/ios/template/LaunchScreen.storyboard +0 -0
  321. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/ios/template/PrivacyInfo.xcprivacy +0 -0
  322. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/ios/template.xcodeproj/project.pbxproj +0 -0
  323. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/ios/template.xcodeproj/xcshareddata/xcschemes/template.xcscheme +0 -0
  324. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/jest.config.js +0 -0
  325. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/metro.config.js +0 -0
  326. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/package.json +0 -0
  327. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/App.tsx +0 -0
  328. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/Gemfile +0 -0
  329. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/README.md +0 -0
  330. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/__tests__/App.test.tsx +0 -0
  331. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/build.gradle +0 -0
  332. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/debug.keystore +0 -0
  333. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/proguard-rules.pro +0 -0
  334. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/AndroidManifest.xml +0 -0
  335. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/java/com/template/MainActivity.kt +0 -0
  336. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/java/com/template/MainApplication.kt +0 -0
  337. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/drawable/rn_edit_text_material.xml +0 -0
  338. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  339. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  340. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  341. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  342. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  343. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  344. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  345. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  346. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  347. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  348. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/values/strings.xml +0 -0
  349. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/values/styles.xml +0 -0
  350. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/build.gradle +0 -0
  351. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  352. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/gradle/wrapper/gradle-wrapper.properties +0 -0
  353. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/gradle.properties +0 -0
  354. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/gradlew +0 -0
  355. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/gradlew.bat +0 -0
  356. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/settings.gradle +0 -0
  357. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/app.json +0 -0
  358. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/babel.config.js +0 -0
  359. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/index.js +0 -0
  360. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/ios/Podfile +0 -0
  361. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/ios/template/AppDelegate.swift +0 -0
  362. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/ios/template/Images.xcassets/AppIcon.appiconset/Contents.json +0 -0
  363. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/ios/template/Images.xcassets/Contents.json +0 -0
  364. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/ios/template/Info.plist +0 -0
  365. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/ios/template/LaunchScreen.storyboard +0 -0
  366. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/ios/template/PrivacyInfo.xcprivacy +0 -0
  367. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/ios/template.xcodeproj/project.pbxproj +0 -0
  368. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/ios/template.xcodeproj/xcshareddata/xcschemes/template.xcscheme +0 -0
  369. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/jest.config.js +0 -0
  370. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/metro.config.js +0 -0
  371. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/package.json +0 -0
  372. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/tsconfig.json +0 -0
@@ -0,0 +1,11 @@
1
+ // SPDX-License-Identifier: MIT
2
+ //
3
+ // https://cryptomarketpool.com/importing-into-a-contract
4
+
5
+ pragma solidity ^0.8.0;
6
+
7
+ contract Contract2 {
8
+ function sum(uint256 a, uint256 b) public pure returns (uint256) {
9
+ return a + b;
10
+ }
11
+ }
@@ -0,0 +1,18 @@
1
+ // SPDX-License-Identifier: MIT
2
+ //
3
+ // https://cryptomarketpool.com/contract-clean-up
4
+
5
+ pragma solidity ^0.8.0;
6
+
7
+ contract MyContract {
8
+ address payable owner;
9
+
10
+ constructor() payable {
11
+ owner = payable(msg.sender);
12
+ }
13
+
14
+ function kill() public {
15
+ require(msg.sender == owner);
16
+ selfdestruct(owner);
17
+ }
18
+ }
@@ -0,0 +1,20 @@
1
+ // SPDX-License-Identifier: MIT
2
+ //
3
+ // https://cryptomarketpool.com/memory-vs-storage
4
+
5
+ pragma solidity ^0.8.0;
6
+
7
+ contract MyContract {
8
+ // Storage
9
+ string firstName;
10
+ string lastName;
11
+
12
+ constructor(string memory _firstName, string memory _lastName) {
13
+ firstName = _firstName;
14
+ lastName = _lastName;
15
+ }
16
+
17
+ function fullname() public view returns (string memory) {
18
+ return string(abi.encodePacked(lastName, " ", firstName));
19
+ }
20
+ }
@@ -0,0 +1,67 @@
1
+ // SPDX-License-Identifier: MIT
2
+ //
3
+ // https://cryptomarketpool.com/inheritance
4
+
5
+ pragma solidity ^0.8.0;
6
+
7
+ // Define an interface
8
+ interface Regulator {
9
+ function checkValue(uint256 amount) external returns (bool);
10
+
11
+ function loan() external returns (bool);
12
+ }
13
+
14
+ // Implement the interface in a contract
15
+ contract Bank is Regulator {
16
+ uint256 private value;
17
+ address private owner;
18
+
19
+ constructor(uint256 amount) {
20
+ value = amount;
21
+ owner = msg.sender;
22
+ }
23
+
24
+ function deposit(uint256 amount) public {
25
+ value += amount;
26
+ }
27
+
28
+ function withdraw(uint256 amount) public {
29
+ if (checkValue(amount)) {
30
+ value -= amount;
31
+ }
32
+ }
33
+
34
+ function balance() public view returns (uint256) {
35
+ return value;
36
+ }
37
+
38
+ function checkValue(uint256 amount) public view returns (bool) {
39
+ return amount >= value;
40
+ }
41
+
42
+ function loan() public view returns (bool) {
43
+ return value > 0;
44
+ }
45
+ }
46
+
47
+ // Inherit from the Bank contract
48
+ contract MyContract is Bank(10) {
49
+ string private name;
50
+ uint256 private age;
51
+
52
+ function setName(string memory newName) public {
53
+ name = newName;
54
+ }
55
+
56
+ function getName() public view returns (string memory) {
57
+ return name;
58
+ }
59
+
60
+ function setAge(uint256 newAge) public {
61
+ age = newAge;
62
+ }
63
+
64
+ function getAge() public view returns (uint256) {
65
+ return age;
66
+ }
67
+ }
@@ -0,0 +1,22 @@
1
+ // SPDX-License-Identifier: MIT
2
+ //
3
+ // https://cryptomarketpool.com/how-to-write-an-if-statement-in-solidity/
4
+
5
+ pragma solidity ^0.8.0;
6
+
7
+ contract MyContract {
8
+ // State variable to hold the symbol
9
+ string public symbol;
10
+
11
+ // Function to set the symbol based on the input number
12
+ function symbolNum(uint256 _symbolNum) public {
13
+ // If-else statement to determine the symbol
14
+ if (_symbolNum == 1) {
15
+ symbol = "BTC";
16
+ } else if (_symbolNum == 2) {
17
+ symbol = "ETH";
18
+ } else {
19
+ symbol = "CRAPCOIN";
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,31 @@
1
+ // Category: 23_libraries
2
+ pragma solidity ^0.8.0;
3
+ // SPDX-License-Identifier: MIT
4
+
5
+ import "./safemath.sol";
6
+
7
+ contract Libraries {
8
+ // Attach the library functions to the types
9
+ using SafeMath for uint256;
10
+ using SafeMath32 for uint32;
11
+
12
+ // Example variables
13
+ uint public a = 10;
14
+ uint public b = 20;
15
+
16
+ // Functions to demonstrate the use of library functions which add two big numbers
17
+ function add(uint _a, uint _b) public pure returns (uint) {
18
+ return _a.add(_b);
19
+ }
20
+ // Functions to demonstrate the use of library functions which add two small numbers
21
+ function sub(uint32 _a, uint32 _b) public pure returns (uint32) {
22
+ return _a.sub(_b);
23
+ }
24
+ function mul(uint32 _a, uint32 _b) public pure returns (uint32) {
25
+ return _a.mul(_b);
26
+ }
27
+ function div(uint32 _a, uint32 _b) public pure returns (uint32) {
28
+ return _a.div(_b);
29
+ }
30
+
31
+ }
@@ -0,0 +1,116 @@
1
+ // SPDX-License-Identifier: UNLICENSED
2
+ pragma solidity ^0.8.0;
3
+
4
+ /**
5
+ * @title SafeMath
6
+ * @dev Math operations with safety checks that throw on error
7
+ */
8
+ library SafeMath {
9
+
10
+ /**
11
+ * @dev Multiplies two numbers, throws on overflow.
12
+ */
13
+ function mul(uint256 a, uint256 b) internal pure returns (uint256) {
14
+ if (a == 0) {
15
+ return 0;
16
+ }
17
+ uint256 c = a * b;
18
+ assert(c / a == b);
19
+ return c;
20
+ }
21
+
22
+ /**
23
+ * @dev Integer division of two numbers, truncating the quotient.
24
+ */
25
+ function div(uint256 a, uint256 b) internal pure returns (uint256) {
26
+ // assert(b > 0); // Solidity automatically throws when dividing by 0
27
+ uint256 c = a / b;
28
+ // assert(a == b * c + a % b); // There is no case in which this doesn't hold
29
+ return c;
30
+ }
31
+
32
+ /**
33
+ * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
34
+ */
35
+ function sub(uint256 a, uint256 b) internal pure returns (uint256) {
36
+ assert(b <= a);
37
+ return a - b;
38
+ }
39
+
40
+ /**
41
+ * @dev Adds two numbers, throws on overflow.
42
+ */
43
+ function add(uint256 a, uint256 b) internal pure returns (uint256) {
44
+ uint256 c = a + b;
45
+ assert(c >= a);
46
+ return c;
47
+ }
48
+ }
49
+
50
+ /**
51
+ * @title SafeMath32
52
+ * @dev SafeMath library implemented for uint32
53
+ */
54
+ library SafeMath32 {
55
+
56
+ function mul(uint32 a, uint32 b) internal pure returns (uint32) {
57
+ if (a == 0) {
58
+ return 0;
59
+ }
60
+ uint32 c = a * b;
61
+ assert(c / a == b);
62
+ return c;
63
+ }
64
+
65
+ function div(uint32 a, uint32 b) internal pure returns (uint32) {
66
+ // assert(b > 0); // Solidity automatically throws when dividing by 0
67
+ uint32 c = a / b;
68
+ // assert(a == b * c + a % b); // There is no case in which this doesn't hold
69
+ return c;
70
+ }
71
+
72
+ function sub(uint32 a, uint32 b) internal pure returns (uint32) {
73
+ assert(b <= a);
74
+ return a - b;
75
+ }
76
+
77
+ function add(uint32 a, uint32 b) internal pure returns (uint32) {
78
+ uint32 c = a + b;
79
+ assert(c >= a);
80
+ return c;
81
+ }
82
+ }
83
+
84
+ /**
85
+ * @title SafeMath16
86
+ * @dev SafeMath library implemented for uint16
87
+ */
88
+ library SafeMath16 {
89
+
90
+ function mul(uint16 a, uint16 b) internal pure returns (uint16) {
91
+ if (a == 0) {
92
+ return 0;
93
+ }
94
+ uint16 c = a * b;
95
+ assert(c / a == b);
96
+ return c;
97
+ }
98
+
99
+ function div(uint16 a, uint16 b) internal pure returns (uint16) {
100
+ // assert(b > 0); // Solidity automatically throws when dividing by 0
101
+ uint16 c = a / b;
102
+ // assert(a == b * c + a % b); // There is no case in which this doesn't hold
103
+ return c;
104
+ }
105
+
106
+ function sub(uint16 a, uint16 b) internal pure returns (uint16) {
107
+ assert(b <= a);
108
+ return a - b;
109
+ }
110
+
111
+ function add(uint16 a, uint16 b) internal pure returns (uint16) {
112
+ uint16 c = a + b;
113
+ assert(c >= a);
114
+ return c;
115
+ }
116
+ }
@@ -0,0 +1,88 @@
1
+ // SPDX-License-Identifier: MIT
2
+ //
3
+ // https://cryptomarketpool.com/interface-in-solidity-smart-contracts/
4
+
5
+ pragma solidity ^0.8.0;
6
+
7
+ // Define the interface
8
+ interface IERC20 {
9
+ // Methods that any contract implementing this interface must have
10
+ function totalSupply() external view returns (uint256);
11
+
12
+ function balanceOf(address account) external view returns (uint256);
13
+
14
+ function allowance(address owner, address spender) external view returns (uint256);
15
+
16
+ function transfer(address recipient, uint256 amount) external returns (bool);
17
+
18
+ function approve(address spender, uint256 amount) external returns (bool);
19
+
20
+ function transferFrom(
21
+ address sender,
22
+ address recipient,
23
+ uint256 amount
24
+ ) external returns (bool);
25
+
26
+ // Events that any contract implementing this interface must emit
27
+ event Transfer(address indexed from, address indexed to, uint256 value);
28
+ event Approval(address indexed owner, address indexed spender, uint256 value);
29
+ }
30
+
31
+ // Implement the interface in a contract
32
+ contract MyContract is IERC20 {
33
+ // Token details
34
+ string public constant name = "ERC20Basic";
35
+ string public constant symbol = "ERC";
36
+ uint8 public constant decimals = 18;
37
+
38
+ // State variables
39
+ mapping(address => uint256) balances;
40
+ mapping(address => mapping(address => uint256)) allowed;
41
+ uint256 totalSupply_ = 10 ether;
42
+
43
+ // Constructor to assign the total supply to the contract deployer
44
+ constructor() {
45
+ balances[msg.sender] = totalSupply_;
46
+ }
47
+
48
+ function totalSupply() public view override returns (uint256) {
49
+ return totalSupply_;
50
+ }
51
+
52
+ function balanceOf(address tokenOwner) public view override returns (uint256) {
53
+ return balances[tokenOwner];
54
+ }
55
+
56
+ function transfer(address receiver, uint256 numTokens) public override returns (bool) {
57
+ require(numTokens <= balances[msg.sender]);
58
+ balances[msg.sender] = balances[msg.sender] - numTokens;
59
+ balances[receiver] = balances[receiver] + numTokens;
60
+ emit Transfer(msg.sender, receiver, numTokens);
61
+ return true;
62
+ }
63
+
64
+ function approve(address delegate, uint256 numTokens) public override returns (bool) {
65
+ allowed[msg.sender][delegate] = numTokens;
66
+ emit Approval(msg.sender, delegate, numTokens);
67
+ return true;
68
+ }
69
+
70
+ function allowance(address owner, address delegate) public view override returns (uint256) {
71
+ return allowed[owner][delegate];
72
+ }
73
+
74
+ function transferFrom(
75
+ address owner,
76
+ address buyer,
77
+ uint256 numTokens
78
+ ) public override returns (bool) {
79
+ require(numTokens <= balances[owner]);
80
+ require(numTokens <= allowed[owner][msg.sender]);
81
+
82
+ balances[owner] = balances[owner] - numTokens;
83
+ allowed[owner][msg.sender] = allowed[owner][msg.sender] + numTokens;
84
+ balances[buyer] = balances[buyer] + numTokens;
85
+ emit Transfer(owner, buyer, numTokens);
86
+ return true;
87
+ }
88
+ }