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.
- checksums.yaml +4 -4
- data/bundle-standalone/cli-with-packages.js +568 -369
- data/bundle-standalone/template.json +87 -14
- data/bundle-standalone/templates/c++_c/crow/template/CMakeLists.txt +18 -0
- data/bundle-standalone/templates/c++_c/crow/template/README.md +11 -0
- data/bundle-standalone/templates/c++_c/crow/template/include/routes.hpp +19 -0
- data/bundle-standalone/templates/c++_c/crow/template/main.cpp +12 -0
- data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/README.md +36 -0
- data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/eslint.config.mjs +16 -0
- data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/middleware.ts +18 -0
- data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/next.config.ts +7 -0
- data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/package.json +28 -0
- data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/pnpm-lock.yaml +3819 -0
- data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/postcss.config.mjs +5 -0
- data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/public/file.svg +1 -0
- data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/public/globe.svg +1 -0
- data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/public/next.svg +1 -0
- data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/public/vercel.svg +1 -0
- data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/public/window.svg +1 -0
- data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/src/app/favicon.ico +0 -0
- data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/src/app/globals.css +26 -0
- data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/src/app/layout.tsx +34 -0
- data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/src/app/page.tsx +33 -0
- data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/src/lib/auth0.ts +3 -0
- data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/tsconfig.json +27 -0
- data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/README.md +36 -0
- data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/components.json +21 -0
- data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/eslint.config.mjs +16 -0
- data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/middleware.ts +12 -0
- data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/next.config.ts +7 -0
- data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/package.json +37 -0
- data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/pnpm-lock.yaml +4113 -0
- data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/postcss.config.mjs +5 -0
- data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/public/file.svg +1 -0
- data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/public/globe.svg +1 -0
- data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/public/next.svg +1 -0
- data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/public/vercel.svg +1 -0
- data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/public/window.svg +1 -0
- data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/app/favicon.ico +0 -0
- data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/app/globals.css +122 -0
- data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/app/layout.tsx +55 -0
- data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/app/page.tsx +10 -0
- data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/components/ui/button.tsx +59 -0
- data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/components/ui/card.tsx +92 -0
- data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/components/ui/input.tsx +21 -0
- data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/components/ui/textarea.tsx +18 -0
- data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/lib/utils.ts +6 -0
- data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/middleware.ts +12 -0
- data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/tsconfig.json +27 -0
- data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/README.md +36 -0
- data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/eslint.config.mjs +16 -0
- data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/middleware.ts +0 -0
- data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/next.config.ts +7 -0
- data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/package.json +28 -0
- data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/pnpm-lock.yaml +3862 -0
- data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/postcss.config.mjs +5 -0
- data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/public/file.svg +1 -0
- data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/public/globe.svg +1 -0
- data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/public/next.svg +1 -0
- data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/public/vercel.svg +1 -0
- data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/public/window.svg +1 -0
- data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/src/app/api/auth/[...nextauth]/route.ts +6 -0
- data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/src/app/favicon.ico +0 -0
- data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/src/app/globals.css +26 -0
- data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/src/app/layout.tsx +39 -0
- data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/src/app/page.tsx +10 -0
- data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/src/lib/auth-provider.tsx +7 -0
- data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/src/lib/auth.ts +126 -0
- data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/tsconfig.json +27 -0
- data/bundle-standalone/templates/game/unity/template/README.md +3 -0
- data/bundle-standalone/templates/game/unity/template/Scripts/PlayerController.cs +25 -0
- data/bundle-standalone/templates/game/unreal/template/README.md +3 -0
- data/bundle-standalone/templates/game/unreal/template/Source/PlayerCharacter.cpp +33 -0
- data/bundle-standalone/templates/game/unreal/template/Source/PlayerCharacter.h +20 -0
- data/bundle-standalone/templates/javascript/preactjs/javascript/template/index.html +13 -0
- data/bundle-standalone/templates/javascript/preactjs/javascript/template/package.json +18 -0
- data/bundle-standalone/templates/javascript/preactjs/javascript/template/public/vite.svg +1 -0
- data/bundle-standalone/templates/javascript/preactjs/javascript/template/src/app.css +25 -0
- data/bundle-standalone/templates/javascript/preactjs/javascript/template/src/app.jsx +43 -0
- data/bundle-standalone/templates/javascript/preactjs/javascript/template/src/assets/preact.svg +1 -0
- data/bundle-standalone/templates/javascript/preactjs/javascript/template/src/index.css +68 -0
- data/bundle-standalone/templates/javascript/preactjs/javascript/template/src/main.jsx +5 -0
- data/bundle-standalone/templates/javascript/preactjs/javascript/template/vite.config.js +7 -0
- data/bundle-standalone/templates/javascript/preactjs/typescript/template/index.html +13 -0
- data/bundle-standalone/templates/javascript/preactjs/typescript/template/package.json +20 -0
- data/bundle-standalone/templates/javascript/preactjs/typescript/template/public/vite.svg +1 -0
- data/bundle-standalone/templates/javascript/preactjs/typescript/template/src/app.css +25 -0
- data/bundle-standalone/templates/javascript/preactjs/typescript/template/src/app.tsx +43 -0
- data/bundle-standalone/templates/javascript/preactjs/typescript/template/src/assets/preact.svg +1 -0
- data/bundle-standalone/templates/javascript/preactjs/typescript/template/src/index.css +68 -0
- data/bundle-standalone/templates/javascript/preactjs/typescript/template/src/main.tsx +5 -0
- data/bundle-standalone/templates/javascript/preactjs/typescript/template/tsconfig.app.json +33 -0
- data/bundle-standalone/templates/javascript/preactjs/typescript/template/tsconfig.json +7 -0
- data/bundle-standalone/templates/javascript/preactjs/typescript/template/tsconfig.node.json +26 -0
- data/bundle-standalone/templates/javascript/preactjs/typescript/template/vite.config.ts +7 -0
- data/bundle-standalone/templates/javascript/solidjs/javascript/template/README.md +28 -0
- data/bundle-standalone/templates/javascript/solidjs/javascript/template/index.html +13 -0
- data/bundle-standalone/templates/javascript/solidjs/javascript/template/package.json +18 -0
- data/bundle-standalone/templates/javascript/solidjs/javascript/template/public/vite.svg +1 -0
- data/bundle-standalone/templates/javascript/solidjs/javascript/template/src/App.css +27 -0
- data/bundle-standalone/templates/javascript/solidjs/javascript/template/src/App.jsx +35 -0
- data/bundle-standalone/templates/javascript/solidjs/javascript/template/src/assets/solid.svg +1 -0
- data/bundle-standalone/templates/javascript/solidjs/javascript/template/src/index.css +68 -0
- data/bundle-standalone/templates/javascript/solidjs/javascript/template/src/index.jsx +8 -0
- data/bundle-standalone/templates/javascript/solidjs/javascript/template/vite.config.js +6 -0
- data/bundle-standalone/templates/javascript/solidjs/typescript/template/README.md +28 -0
- data/bundle-standalone/templates/javascript/solidjs/typescript/template/index.html +13 -0
- data/bundle-standalone/templates/javascript/solidjs/typescript/template/package.json +20 -0
- data/bundle-standalone/templates/javascript/solidjs/typescript/template/public/vite.svg +1 -0
- data/bundle-standalone/templates/javascript/solidjs/typescript/template/src/App.css +27 -0
- data/bundle-standalone/templates/javascript/solidjs/typescript/template/src/App.tsx +35 -0
- data/bundle-standalone/templates/javascript/solidjs/typescript/template/src/assets/solid.svg +1 -0
- data/bundle-standalone/templates/javascript/solidjs/typescript/template/src/index.css +68 -0
- data/bundle-standalone/templates/javascript/solidjs/typescript/template/src/index.tsx +8 -0
- data/bundle-standalone/templates/javascript/solidjs/typescript/template/tsconfig.app.json +29 -0
- data/bundle-standalone/templates/javascript/solidjs/typescript/template/tsconfig.json +7 -0
- data/bundle-standalone/templates/javascript/solidjs/typescript/template/tsconfig.node.json +26 -0
- data/bundle-standalone/templates/javascript/solidjs/typescript/template/vite.config.ts +6 -0
- data/bundle-standalone/templates/javascript/sveltejs/javascript/template/README.md +43 -0
- data/bundle-standalone/templates/javascript/sveltejs/javascript/template/index.html +13 -0
- data/bundle-standalone/templates/javascript/sveltejs/javascript/template/jsconfig.json +33 -0
- data/bundle-standalone/templates/javascript/sveltejs/javascript/template/package.json +16 -0
- data/bundle-standalone/templates/javascript/sveltejs/javascript/template/public/vite.svg +1 -0
- data/bundle-standalone/templates/javascript/sveltejs/javascript/template/src/App.svelte +47 -0
- data/bundle-standalone/templates/javascript/sveltejs/javascript/template/src/app.css +79 -0
- data/bundle-standalone/templates/javascript/sveltejs/javascript/template/src/assets/svelte.svg +1 -0
- data/bundle-standalone/templates/javascript/sveltejs/javascript/template/src/lib/Counter.svelte +10 -0
- data/bundle-standalone/templates/javascript/sveltejs/javascript/template/src/main.js +9 -0
- data/bundle-standalone/templates/javascript/sveltejs/javascript/template/svelte.config.js +8 -0
- data/bundle-standalone/templates/javascript/sveltejs/javascript/template/vite.config.js +7 -0
- data/bundle-standalone/templates/javascript/sveltejs/typescript/template/README.md +47 -0
- data/bundle-standalone/templates/javascript/sveltejs/typescript/template/index.html +13 -0
- data/bundle-standalone/templates/javascript/sveltejs/typescript/template/package.json +21 -0
- data/bundle-standalone/templates/javascript/sveltejs/typescript/template/public/vite.svg +1 -0
- data/bundle-standalone/templates/javascript/sveltejs/typescript/template/src/App.svelte +47 -0
- data/bundle-standalone/templates/javascript/sveltejs/typescript/template/src/app.css +79 -0
- data/bundle-standalone/templates/javascript/sveltejs/typescript/template/src/assets/svelte.svg +1 -0
- data/bundle-standalone/templates/javascript/sveltejs/typescript/template/src/lib/Counter.svelte +10 -0
- data/bundle-standalone/templates/javascript/sveltejs/typescript/template/src/main.ts +9 -0
- data/bundle-standalone/templates/javascript/sveltejs/typescript/template/svelte.config.js +8 -0
- data/bundle-standalone/templates/javascript/sveltejs/typescript/template/tsconfig.app.json +21 -0
- data/bundle-standalone/templates/javascript/sveltejs/typescript/template/tsconfig.json +7 -0
- data/bundle-standalone/templates/javascript/sveltejs/typescript/template/tsconfig.node.json +26 -0
- data/bundle-standalone/templates/javascript/sveltejs/typescript/template/vite.config.ts +7 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/README.md +50 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/app/(tabs)/_layout.jsx +35 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/app/(tabs)/explore.jsx +112 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/app/(tabs)/index.jsx +98 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/app/_layout.jsx +24 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/app/modal.jsx +29 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/app.json +48 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/android-icon-background.png +0 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/android-icon-foreground.png +0 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/android-icon-monochrome.png +0 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/favicon.png +0 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/icon.png +0 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/partial-react-logo.png +0 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/react-logo.png +0 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/react-logo@2x.png +0 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/react-logo@3x.png +0 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/splash-icon.png +0 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/components/external-link.jsx +25 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/components/haptic-tab.jsx +18 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/components/hello-wave.jsx +19 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/components/parallax-scroll-view.jsx +79 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/components/themed-text.jsx +60 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/components/themed-view.jsx +14 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/components/ui/collapsible.jsx +45 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/components/ui/icon-symbol.ios.jsx +32 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/components/ui/icon-symbol.jsx +41 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/constants/theme.js +53 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/eslint.config.js +10 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/hooks/use-color-scheme.js +1 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/hooks/use-color-scheme.web.js +21 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/hooks/use-theme-color.js +21 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/jsconfig.json +17 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/package.json +47 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/pnpm-workspace.yaml +1 -0
- data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/scripts/reset-project.js +112 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/README.md +50 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/app/(tabs)/_layout.tsx +35 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/app/(tabs)/explore.tsx +112 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/app/(tabs)/index.tsx +98 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/app/_layout.tsx +24 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/app/modal.tsx +29 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/app.json +48 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/android-icon-background.png +0 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/android-icon-foreground.png +0 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/android-icon-monochrome.png +0 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/favicon.png +0 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/icon.png +0 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/partial-react-logo.png +0 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/react-logo.png +0 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/react-logo@2x.png +0 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/react-logo@3x.png +0 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/splash-icon.png +0 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/components/external-link.tsx +25 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/components/haptic-tab.tsx +18 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/components/hello-wave.tsx +19 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/components/parallax-scroll-view.tsx +79 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/components/themed-text.tsx +60 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/components/themed-view.tsx +14 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/components/ui/collapsible.tsx +45 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/components/ui/icon-symbol.ios.tsx +32 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/components/ui/icon-symbol.tsx +41 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/constants/theme.ts +53 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/eslint.config.js +10 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/hooks/use-color-scheme.ts +1 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/hooks/use-color-scheme.web.ts +21 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/hooks/use-theme-color.ts +21 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/package.json +47 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/pnpm-workspace.yaml +1 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/scripts/reset-project.js +112 -0
- data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/tsconfig.json +17 -0
- data/bundle-standalone/templates/python/bottle/template/README.md +0 -0
- data/bundle-standalone/templates/python/bottle/template/main.py +6 -0
- data/bundle-standalone/templates/python/bottle/template/pyproject.toml +7 -0
- data/bundle-standalone/templates/python/dash/template/README.md +0 -0
- data/bundle-standalone/templates/python/dash/template/main.py +6 -0
- data/bundle-standalone/templates/python/dash/template/pyproject.toml +7 -0
- data/bundle-standalone/templates/python/falcon/template/README.md +0 -0
- data/bundle-standalone/templates/python/falcon/template/main.py +6 -0
- data/bundle-standalone/templates/python/falcon/template/pyproject.toml +7 -0
- data/bundle-standalone/templates/python/fastapi/template/README.md +0 -0
- data/bundle-standalone/templates/python/fastapi/template/main.py +27 -0
- data/bundle-standalone/templates/python/fastapi/template/pyproject.toml +7 -0
- data/bundle-standalone/templates/python/pyramid/template/README.md +0 -0
- data/bundle-standalone/templates/python/pyramid/template/main.py +6 -0
- data/bundle-standalone/templates/python/pyramid/template/pyproject.toml +7 -0
- data/bundle-standalone/templates/python/quart/template/README.md +0 -0
- data/bundle-standalone/templates/python/quart/template/main.py +6 -0
- data/bundle-standalone/templates/python/quart/template/pyproject.toml +7 -0
- data/bundle-standalone/templates/python/streamlit/template/README.md +0 -0
- data/bundle-standalone/templates/python/streamlit/template/main.py +6 -0
- data/bundle-standalone/templates/python/streamlit/template/pyproject.toml +7 -0
- data/bundle-standalone/templates/python/tornado/template/README.md +0 -0
- data/bundle-standalone/templates/python/tornado/template/main.py +6 -0
- data/bundle-standalone/templates/python/tornado/template/pyproject.toml +7 -0
- data/bundle-standalone/templates/template.json +87 -14
- data/bundle-standalone/templates/web3/anchor/template/Anchor.toml +6 -0
- data/bundle-standalone/templates/web3/anchor/template/Cargo.toml +23 -0
- data/bundle-standalone/templates/web3/anchor/template/README.md +10 -0
- data/bundle-standalone/templates/web3/anchor/template/migrations/deploy.ts +27 -0
- data/bundle-standalone/templates/web3/anchor/template/programs/mysolanaapp/src/lib.rs +40 -0
- data/bundle-standalone/templates/web3/anchor/template/tests/mysolanaapp.ts +26 -0
- data/bundle-standalone/templates/web3/ethersjs/template/README.md +12 -0
- data/bundle-standalone/templates/web3/ethersjs/template/contracts/SimpleStorage.sol +17 -0
- data/bundle-standalone/templates/web3/ethersjs/template/hardhat.config.js +8 -0
- data/bundle-standalone/templates/web3/ethersjs/template/package.json +29 -0
- data/bundle-standalone/templates/web3/ethersjs/template/scripts/deploy.ts +18 -0
- data/bundle-standalone/templates/web3/ethersjs/template/scripts/interact.ts +17 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/01_data-types/DataTypes.sol +37 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/01_data-types/SolidityOperations.sol +48 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/02_contructors/Constructor.sol +16 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/03_variables/Variables.sol +31 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/04_functions/Functions.sol +19 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/05_visibility/FunctionVisibility.sol +39 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/06_pure_and_view_functions/PureAndViewFunction.sol +19 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/07_function_modifiers/Modifiers.sol +27 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/09_events/Events.sol +19 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/10_error_handling/ErrorHandling.sol +25 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/11_fallback_function/Fallback.sol +7 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/12_for_loop/ForLoop.sol +15 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/13_array/Array.sol +40 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/14_mapping/Mapping.sol +21 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/14_mapping/NestedMapping.sol +25 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/15_enum/Enum.sol +22 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/16_struct/Struct.sol +23 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/17_payable_modifier/Payable.sol +26 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/18_imports/Contract1.sol +15 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/18_imports/Contract2.sol +11 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/19_contract_cleanup/Cleanup.sol +18 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/20_memory_and_storage/MemoryAndStorage.sol +20 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/21_inheritance/Inheritance.sol +67 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/22_if_statement/if-statement.sol +22 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/23_libraries/libraries.sol +31 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/23_libraries/safemath.sol +116 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/24_interface/interface.sol +88 -0
- data/bundle-standalone/templates/web3/solidity/solidity-learning/README.md +423 -0
- data/bundle-standalone/templates/web3/solidity/uniswap-simple-swap/SimpleSwap.sol +46 -0
- metadata +369 -93
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/App.jsx +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/Gemfile +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/README.md +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/__tests__/App.test.tsx +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/build.gradle +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/debug.keystore +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/proguard-rules.pro +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/AndroidManifest.xml +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/java/com/template/MainActivity.kt +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/java/com/template/MainApplication.kt +0 -0
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/values/strings.xml +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/values/styles.xml +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/build.gradle +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/gradle/wrapper/gradle-wrapper.properties +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/gradle.properties +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/gradlew +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/gradlew.bat +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/settings.gradle +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/app.json +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/babel.config.js +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/index.js +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/ios/Podfile +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/ios/template/AppDelegate.swift +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/ios/template/Images.xcassets/AppIcon.appiconset/Contents.json +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/ios/template/Images.xcassets/Contents.json +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/ios/template/Info.plist +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/ios/template/LaunchScreen.storyboard +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/ios/template/PrivacyInfo.xcprivacy +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/ios/template.xcodeproj/project.pbxproj +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/ios/template.xcodeproj/xcshareddata/xcschemes/template.xcscheme +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/jest.config.js +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/metro.config.js +0 -0
- /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/package.json +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/App.tsx +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/Gemfile +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/README.md +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/__tests__/App.test.tsx +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/build.gradle +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/debug.keystore +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/proguard-rules.pro +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/AndroidManifest.xml +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/java/com/template/MainActivity.kt +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/java/com/template/MainApplication.kt +0 -0
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/values/strings.xml +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/values/styles.xml +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/build.gradle +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/gradle/wrapper/gradle-wrapper.properties +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/gradle.properties +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/gradlew +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/gradlew.bat +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/settings.gradle +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/app.json +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/babel.config.js +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/index.js +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/ios/Podfile +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/ios/template/AppDelegate.swift +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/ios/template/Images.xcassets/AppIcon.appiconset/Contents.json +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/ios/template/Images.xcassets/Contents.json +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/ios/template/Info.plist +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/ios/template/LaunchScreen.storyboard +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/ios/template/PrivacyInfo.xcprivacy +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/ios/template.xcodeproj/project.pbxproj +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/ios/template.xcodeproj/xcshareddata/xcschemes/template.xcscheme +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/jest.config.js +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/metro.config.js +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/package.json +0 -0
- /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/tsconfig.json +0 -0
data/bundle-standalone/templates/web3/solidity/solidity-learning/19_contract_cleanup/Cleanup.sol
ADDED
|
@@ -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
|
+
}
|
data/bundle-standalone/templates/web3/solidity/solidity-learning/21_inheritance/Inheritance.sol
ADDED
|
@@ -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
|
+
}
|
data/bundle-standalone/templates/web3/solidity/solidity-learning/22_if_statement/if-statement.sol
ADDED
|
@@ -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
|
+
}
|