├── packages ├── ui │ ├── src │ │ ├── components │ │ │ ├── accordion │ │ │ │ └── Accordion │ │ │ ├── switch │ │ │ │ ├── index.ts │ │ │ │ └── Switch.tsx │ │ │ ├── text │ │ │ │ ├── index.ts │ │ │ │ └── Title.tsx │ │ │ ├── box │ │ │ │ ├── index.ts │ │ │ │ └── FixedBottom.tsx │ │ │ └── button │ │ │ │ ├── index.ts │ │ │ │ ├── Button.tsx │ │ │ │ └── QButton.tsx │ │ ├── theme │ │ │ ├── default-props.ts │ │ │ ├── utils │ │ │ │ └── default-props.ts │ │ │ ├── fonts.ts │ │ │ ├── components │ │ │ │ ├── container.ts │ │ │ │ ├── code.ts │ │ │ │ ├── skip-link.ts │ │ │ │ ├── list.ts │ │ │ │ ├── kbd.ts │ │ │ │ ├── form-label.ts │ │ │ │ ├── text.ts │ │ │ │ ├── link.ts │ │ │ │ ├── spinner.ts │ │ │ │ ├── breadcrumb.ts │ │ │ │ ├── tooltip.ts │ │ │ │ ├── form-error.ts │ │ │ │ ├── divider.ts │ │ │ │ ├── editable.ts │ │ │ │ ├── form.ts │ │ │ │ ├── heading.ts │ │ │ │ ├── skeleton.ts │ │ │ │ ├── textarea.ts │ │ │ │ ├── accordion.ts │ │ │ │ ├── stat.ts │ │ │ │ ├── pin-input.ts │ │ │ │ ├── close-button.ts │ │ │ │ ├── select.ts │ │ │ │ ├── badge.ts │ │ │ │ ├── popover.ts │ │ │ │ ├── radio.ts │ │ │ │ ├── index.ts │ │ │ │ ├── progress.ts │ │ │ │ ├── number-input.ts │ │ │ │ ├── switch.ts │ │ │ │ ├── tag.ts │ │ │ │ └── alert.ts │ │ │ ├── styles.ts │ │ │ ├── index.ts │ │ │ └── text-styles.ts │ │ ├── index.ts │ │ └── hooks │ │ │ └── useThemeColor.tsx │ ├── .gitignore │ ├── example │ │ ├── src │ │ │ ├── vite-env.d.ts │ │ │ ├── main.tsx │ │ │ ├── App.tsx │ │ │ └── favicon.svg │ │ ├── .gitignore │ │ ├── vite.config.ts │ │ ├── index.html │ │ ├── tsconfig.json │ │ └── package.json │ ├── .gitattributes │ ├── test │ │ └── blah.test.tsx │ ├── .storybook │ │ ├── preview.js │ │ └── main.js │ ├── stories │ │ ├── hooks │ │ │ ├── useCustomColor.tsx │ │ │ └── useColor.tsx │ │ ├── QButton.stories.tsx │ │ ├── ColorMode.tsx │ │ └── Button.stories.tsx │ ├── workflows │ │ └── publish.yml │ ├── tsconfig.json │ └── README.md ├── web │ ├── src │ │ ├── styles │ │ │ ├── globals.css │ │ │ ├── createEmotionCache.ts │ │ │ └── customTheme │ │ │ │ ├── index.ts │ │ │ │ ├── fonts.ts │ │ │ │ ├── components │ │ │ │ └── button.ts │ │ │ │ └── colors.ts │ │ ├── types │ │ │ └── index.ts │ │ ├── components │ │ │ ├── motion │ │ │ │ └── Box.tsx │ │ │ ├── layout │ │ │ │ ├── ThemeToggle.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── NavLink.tsx │ │ │ ├── CodeBlock.tsx │ │ │ ├── Buttons │ │ │ │ ├── DiscordButton.tsx │ │ │ │ └── TwitterButton.tsx │ │ │ ├── Circles │ │ │ │ └── Circle.tsx │ │ │ ├── static │ │ │ │ └── WelcomeText.tsx │ │ │ └── Icons │ │ │ │ └── ScaffoldIcon.tsx │ │ ├── hooks │ │ │ └── useCustomColor.tsx │ │ └── pages │ │ │ ├── 404.tsx │ │ │ ├── about.tsx │ │ │ └── _app.tsx │ ├── .husky │ │ ├── pre-push │ │ ├── pre-commit │ │ └── commit-msg │ ├── public │ │ ├── favicon.ico │ │ ├── dCompass-home.png │ │ ├── favicon-16x16.png │ │ ├── favicon-32x32.png │ │ ├── modern-15-pill.png │ │ ├── mstile-150x150.png │ │ ├── apple-touch-icon.png │ │ ├── dCompass-skill-tree.png │ │ ├── next-app-chakra-ts.png │ │ ├── android-chrome-192x192.png │ │ ├── android-chrome-256x256.png │ │ ├── android-chrome-512x512.png │ │ ├── browserconfig.xml │ │ ├── manifest.json │ │ ├── site.webmanifest │ │ ├── safari-pinned-tab.svg │ │ ├── chakra-ui-logomark-colored.svg │ │ ├── vercel.svg │ │ ├── ts-logo-512.svg │ │ ├── nextjs-icon-dark.svg │ │ └── nextjs-icon-light.svg │ ├── .prettierrc │ ├── .eslintrc │ ├── next-env.d.ts │ ├── next-sitemap.config.js │ ├── .vscode │ │ └── extensions.json │ ├── commitlint.config.js │ ├── README.md │ ├── .gitignore │ ├── .versionrc │ ├── tsconfig.json │ ├── next-seo.config.js │ ├── package.json │ └── next.config.js ├── dapp │ ├── src │ │ ├── core │ │ │ ├── libs │ │ │ │ └── siwe │ │ │ │ │ ├── apg.d.ts │ │ │ │ │ ├── siwe.ts │ │ │ │ │ └── regex.ts │ │ │ ├── constants │ │ │ │ ├── coutries.d.ts │ │ │ │ ├── index.ts │ │ │ │ ├── countries.ts │ │ │ │ └── emojis.ts │ │ │ ├── types │ │ │ │ ├── merge.ts │ │ │ │ └── eth-types.ts │ │ │ ├── connectors │ │ │ │ ├── getLibrary.ts │ │ │ │ └── wallets.ts │ │ │ ├── helpers.ts │ │ │ └── hooks │ │ │ │ ├── useCustomColor.tsx │ │ │ │ └── useResolveEnsName.tsx │ │ ├── styles │ │ │ ├── globals.css │ │ │ ├── customTheme │ │ │ │ ├── default-values.ts │ │ │ │ ├── fonts.ts │ │ │ │ ├── theme │ │ │ │ │ ├── foundations │ │ │ │ │ │ ├── borders.ts │ │ │ │ │ │ ├── blur.ts │ │ │ │ │ │ ├── radius.ts │ │ │ │ │ │ ├── breakpoints.ts │ │ │ │ │ │ ├── z-index.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── spacing.ts │ │ │ │ │ │ ├── transition.ts │ │ │ │ │ │ ├── shadows.ts │ │ │ │ │ │ ├── sizes.ts │ │ │ │ │ │ └── typography.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── components │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── text.ts │ │ │ │ │ └── link.ts │ │ │ │ ├── README.md │ │ │ │ ├── styles.ts │ │ │ │ ├── index.ts │ │ │ │ ├── useThemeColor.tsx │ │ │ │ └── colors.ts │ │ │ └── createEmotionCache.ts │ │ ├── components │ │ │ ├── motion │ │ │ │ └── Box.tsx │ │ │ ├── layout │ │ │ │ ├── CenteredFrame.tsx │ │ │ │ ├── Container.tsx │ │ │ │ └── index.tsx │ │ │ ├── custom │ │ │ │ ├── Card.tsx │ │ │ │ ├── CardMedia.tsx │ │ │ │ ├── NotReviewerCard.tsx │ │ │ │ └── NotConnectedCard.tsx │ │ │ ├── Buttons │ │ │ │ ├── ThemeToggle.tsx │ │ │ │ └── ConnectButton.tsx │ │ │ ├── Navigation │ │ │ │ └── LinkItem.tsx │ │ │ └── Icons │ │ │ │ └── ScaffoldIcon.tsx │ │ ├── contexts │ │ │ ├── Web3ProviderNetwork.tsx │ │ │ ├── Web3Reducer.ts │ │ │ └── Web3Manager.tsx │ │ └── pages │ │ │ ├── 404.tsx │ │ │ ├── api │ │ │ └── image-storage.ts │ │ │ └── index.tsx │ ├── .husky │ │ ├── pre-push │ │ ├── pre-commit │ │ └── commit-msg │ ├── public │ │ ├── favicon.ico │ │ ├── metamask.png │ │ ├── portisIcon.png │ │ ├── favicon-16x16.png │ │ ├── favicon-32x32.png │ │ ├── mstile-150x150.png │ │ ├── apple-touch-icon.png │ │ ├── images │ │ │ ├── nightcity.png │ │ │ └── nightcity1.png │ │ ├── arrow-right-white.png │ │ ├── android-chrome-192x192.png │ │ ├── android-chrome-256x256.png │ │ ├── browserconfig.xml │ │ ├── manifest.json │ │ ├── site.webmanifest │ │ ├── vercel.svg │ │ ├── polygon_logo.svg │ │ └── optimism_logo.svg │ ├── .eslintrc.json │ ├── .prettierrc.json │ ├── .lintstagedrc.json │ ├── next-sitemap.config.js │ ├── .example.env │ ├── .vscode │ │ └── extensions.json │ ├── next-env.d.ts │ ├── commitlint.config.js │ ├── README.md │ ├── .gitignore │ ├── next.config.js │ ├── .versionrc │ ├── tsconfig.json │ ├── next-seo.config.js │ └── lib │ │ └── apolloClient.js ├── .DS_Store ├── hardhat-ts │ ├── example.mnemonic.secret │ ├── .gitignore │ ├── generated │ │ └── .gitignore │ ├── .prettierrc │ ├── helpers │ │ └── types │ │ │ ├── __global.ts │ │ │ └── hardhat-type-extensions.ts │ ├── scripts │ │ ├── watch.ts │ │ └── old js │ │ │ └── scripts │ │ │ └── watch.js │ ├── test │ │ └── sample-test.ts │ ├── contracts │ │ ├── Greeter.sol │ │ └── YourContract.sol │ ├── example.env │ ├── deploy │ │ └── 00_deploy_your_contract.ts │ └── tsconfig.json ├── schemas │ └── lib │ │ ├── schemas.js.map │ │ ├── schemas.js │ │ ├── contributors │ │ ├── contributors-schema.js.map │ │ ├── contributors-schema.d.ts │ │ └── contributors-schema.js │ │ ├── model.json │ │ └── schemas.d.ts └── subgraph │ ├── config │ └── config.json │ ├── src │ ├── schema.graphql │ ├── subgraph.template.yaml │ └── mapping.ts │ ├── package.json │ └── abis │ ├── kovan_YourContract.json │ ├── mumbai_YourContract.json │ ├── rinkeby_YourContract.json │ └── localhost_YourContract.json ├── .DS_Store ├── CONTRIBUTING.md ├── lerna.json ├── package.json ├── tsconfig.json └── .gitignore /packages/ui/src/components/accordion/Accordion: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/web/src/styles/globals.css: -------------------------------------------------------------------------------- 1 | /* Global Styling here */ 2 | -------------------------------------------------------------------------------- /packages/dapp/src/core/libs/siwe/apg.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'apg-js'; 2 | -------------------------------------------------------------------------------- /packages/dapp/src/core/libs/siwe/siwe.ts: -------------------------------------------------------------------------------- 1 | export * from './client'; 2 | -------------------------------------------------------------------------------- /packages/ui/src/components/switch/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Switch'; 2 | -------------------------------------------------------------------------------- /packages/ui/src/components/text/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Title'; 2 | -------------------------------------------------------------------------------- /packages/ui/src/components/box/index.ts: -------------------------------------------------------------------------------- 1 | export * from './FixedBottom'; 2 | -------------------------------------------------------------------------------- /packages/ui/.gitignore: -------------------------------------------------------------------------------- 1 | *.log 2 | .DS_Store 3 | node_modules 4 | .cache 5 | dist 6 | -------------------------------------------------------------------------------- /packages/ui/example/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /packages/web/src/types/index.ts: -------------------------------------------------------------------------------- 1 | export type Merge = Omit & T; 2 | -------------------------------------------------------------------------------- /packages/dapp/src/core/constants/coutries.d.ts: -------------------------------------------------------------------------------- 1 | declare module "states-cities-db"; 2 | -------------------------------------------------------------------------------- /packages/dapp/src/core/types/merge.ts: -------------------------------------------------------------------------------- 1 | export type Merge = Omit & T; 2 | -------------------------------------------------------------------------------- /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moonshotcollective/scaffold-moonshot-starter/HEAD/.DS_Store -------------------------------------------------------------------------------- /packages/dapp/.husky/pre-push: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | yarn lint 5 | -------------------------------------------------------------------------------- /packages/ui/example/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | dist 4 | dist-ssr 5 | *.local 6 | -------------------------------------------------------------------------------- /packages/web/.husky/pre-push: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | yarn lint 5 | -------------------------------------------------------------------------------- /packages/ui/.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /packages/ui/src/components/button/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Button'; 2 | export * from './QButton'; 3 | -------------------------------------------------------------------------------- /packages/dapp/.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | yarn lint-staged 5 | -------------------------------------------------------------------------------- /packages/web/.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | yarn lint-staged 5 | -------------------------------------------------------------------------------- /packages/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moonshotcollective/scaffold-moonshot-starter/HEAD/packages/.DS_Store -------------------------------------------------------------------------------- /packages/dapp/.husky/commit-msg: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | yarn commitlint --edit $1 5 | -------------------------------------------------------------------------------- /packages/hardhat-ts/example.mnemonic.secret: -------------------------------------------------------------------------------- 1 | aim they either frame door access noble long source interest juice early -------------------------------------------------------------------------------- /packages/ui/src/theme/default-props.ts: -------------------------------------------------------------------------------- 1 | export const colorScheme = 'primary'; 2 | export const borderRadius = 'md'; 3 | -------------------------------------------------------------------------------- /packages/web/.husky/commit-msg: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | yarn commitlint --edit $1 5 | -------------------------------------------------------------------------------- /packages/dapp/src/styles/globals.css: -------------------------------------------------------------------------------- 1 | /* Global Styling here */ 2 | .blockies { 3 | border-radius: 0.375rem; 4 | } 5 | -------------------------------------------------------------------------------- /packages/hardhat-ts/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .env 3 | mnemonic.secret 4 | 5 | #Hardhat files 6 | cache 7 | artifacts 8 | -------------------------------------------------------------------------------- /packages/dapp/src/core/constants/index.ts: -------------------------------------------------------------------------------- 1 | export const GITHUB_HOST = "github.com"; 2 | export const TWITTER_HOST = "twitter.com"; 3 | -------------------------------------------------------------------------------- /packages/dapp/src/styles/customTheme/default-values.ts: -------------------------------------------------------------------------------- 1 | export const colorScheme = "primary"; 2 | export const borderRadius = "xl"; 3 | -------------------------------------------------------------------------------- /packages/web/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moonshotcollective/scaffold-moonshot-starter/HEAD/packages/web/public/favicon.ico -------------------------------------------------------------------------------- /packages/dapp/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moonshotcollective/scaffold-moonshot-starter/HEAD/packages/dapp/public/favicon.ico -------------------------------------------------------------------------------- /packages/dapp/public/metamask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moonshotcollective/scaffold-moonshot-starter/HEAD/packages/dapp/public/metamask.png -------------------------------------------------------------------------------- /packages/hardhat-ts/generated/.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore everything in this directory 2 | * 3 | # Except this file 4 | !.gitignore 5 | !contract-types -------------------------------------------------------------------------------- /packages/dapp/public/portisIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moonshotcollective/scaffold-moonshot-starter/HEAD/packages/dapp/public/portisIcon.png -------------------------------------------------------------------------------- /packages/dapp/public/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moonshotcollective/scaffold-moonshot-starter/HEAD/packages/dapp/public/favicon-16x16.png -------------------------------------------------------------------------------- /packages/dapp/public/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moonshotcollective/scaffold-moonshot-starter/HEAD/packages/dapp/public/favicon-32x32.png -------------------------------------------------------------------------------- /packages/dapp/public/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moonshotcollective/scaffold-moonshot-starter/HEAD/packages/dapp/public/mstile-150x150.png -------------------------------------------------------------------------------- /packages/web/public/dCompass-home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moonshotcollective/scaffold-moonshot-starter/HEAD/packages/web/public/dCompass-home.png -------------------------------------------------------------------------------- /packages/web/public/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moonshotcollective/scaffold-moonshot-starter/HEAD/packages/web/public/favicon-16x16.png -------------------------------------------------------------------------------- /packages/web/public/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moonshotcollective/scaffold-moonshot-starter/HEAD/packages/web/public/favicon-32x32.png -------------------------------------------------------------------------------- /packages/web/public/modern-15-pill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moonshotcollective/scaffold-moonshot-starter/HEAD/packages/web/public/modern-15-pill.png -------------------------------------------------------------------------------- /packages/web/public/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moonshotcollective/scaffold-moonshot-starter/HEAD/packages/web/public/mstile-150x150.png -------------------------------------------------------------------------------- /packages/dapp/public/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moonshotcollective/scaffold-moonshot-starter/HEAD/packages/dapp/public/apple-touch-icon.png -------------------------------------------------------------------------------- /packages/dapp/public/images/nightcity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moonshotcollective/scaffold-moonshot-starter/HEAD/packages/dapp/public/images/nightcity.png -------------------------------------------------------------------------------- /packages/web/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "endOfLine": "lf", 3 | "semi": true, 4 | "singleQuote": false, 5 | "tabWidth": 2, 6 | "trailingComma": "es5" 7 | } 8 | -------------------------------------------------------------------------------- /packages/web/public/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moonshotcollective/scaffold-moonshot-starter/HEAD/packages/web/public/apple-touch-icon.png -------------------------------------------------------------------------------- /packages/dapp/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "sznm/react", 4 | "plugin:react/jsx-runtime", 5 | "plugin:@next/next/recommended" 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /packages/dapp/.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "endOfLine": "lf", 3 | "semi": true, 4 | "singleQuote": false, 5 | "tabWidth": 2, 6 | "trailingComma": "es5" 7 | } 8 | -------------------------------------------------------------------------------- /packages/dapp/public/arrow-right-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moonshotcollective/scaffold-moonshot-starter/HEAD/packages/dapp/public/arrow-right-white.png -------------------------------------------------------------------------------- /packages/dapp/public/images/nightcity1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moonshotcollective/scaffold-moonshot-starter/HEAD/packages/dapp/public/images/nightcity1.png -------------------------------------------------------------------------------- /packages/ui/src/theme/utils/default-props.ts: -------------------------------------------------------------------------------- 1 | export const colorScheme = 'violet'; 2 | export const borderRadius = 'md'; 3 | export const primary = 'violet.200'; 4 | -------------------------------------------------------------------------------- /packages/web/public/dCompass-skill-tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moonshotcollective/scaffold-moonshot-starter/HEAD/packages/web/public/dCompass-skill-tree.png -------------------------------------------------------------------------------- /packages/web/public/next-app-chakra-ts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moonshotcollective/scaffold-moonshot-starter/HEAD/packages/web/public/next-app-chakra-ts.png -------------------------------------------------------------------------------- /packages/web/public/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moonshotcollective/scaffold-moonshot-starter/HEAD/packages/web/public/android-chrome-192x192.png -------------------------------------------------------------------------------- /packages/web/public/android-chrome-256x256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moonshotcollective/scaffold-moonshot-starter/HEAD/packages/web/public/android-chrome-256x256.png -------------------------------------------------------------------------------- /packages/web/public/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moonshotcollective/scaffold-moonshot-starter/HEAD/packages/web/public/android-chrome-512x512.png -------------------------------------------------------------------------------- /packages/dapp/public/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moonshotcollective/scaffold-moonshot-starter/HEAD/packages/dapp/public/android-chrome-192x192.png -------------------------------------------------------------------------------- /packages/dapp/public/android-chrome-256x256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moonshotcollective/scaffold-moonshot-starter/HEAD/packages/dapp/public/android-chrome-256x256.png -------------------------------------------------------------------------------- /packages/web/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "next/core-web-vitals", 4 | "next", 5 | "plugin:react/jsx-runtime", 6 | "plugin:@next/next/recommended" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ### Contributing 2 | 3 | ## Creating a new package 4 | 5 | npx lerna create @scaffold-eth/ 6 | 7 | ## Publishing a package 8 | 9 | npx lerna publish 10 | -------------------------------------------------------------------------------- /packages/web/src/styles/createEmotionCache.ts: -------------------------------------------------------------------------------- 1 | import createCache from "@emotion/cache"; 2 | 3 | export default function createEmotionCache() { 4 | return createCache({ key: "chakra-emotion-css" }); 5 | } 6 | -------------------------------------------------------------------------------- /packages/dapp/.lintstagedrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "src/**/*.{js,jsx,ts,tsx}": [ 3 | "eslint --fix --max-warnings=0", 4 | "prettier --write" 5 | ], 6 | "src/**/*.{json,css,scss,md}": ["prettier --write"] 7 | } 8 | -------------------------------------------------------------------------------- /packages/ui/example/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import react from '@vitejs/plugin-react' 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [react()] 7 | }) 8 | -------------------------------------------------------------------------------- /packages/ui/src/theme/fonts.ts: -------------------------------------------------------------------------------- 1 | import { DeepPartial, Theme } from "@chakra-ui/react"; 2 | 3 | const fonts: DeepPartial = { 4 | body: "Inter", 5 | heading: "Inter", 6 | }; 7 | 8 | export default fonts; 9 | -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | "packages/*" 4 | ], 5 | "publishConfig": { 6 | "access": "public" 7 | }, 8 | "version": "independent", 9 | "npmClient": "yarn", 10 | "useWorkspaces": true 11 | } 12 | -------------------------------------------------------------------------------- /packages/schemas/lib/schemas.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":";;;AAAA,4EAAwE;AAE3D,QAAA,OAAO,GAAG;IACrB,IAAI,EAAE;QACJ,YAAY,EAAE,wCAAkB;KACjC;CACF,CAAC"} -------------------------------------------------------------------------------- /packages/dapp/src/styles/createEmotionCache.ts: -------------------------------------------------------------------------------- 1 | import createCache from "@emotion/cache"; 2 | 3 | function createEmotionCache() { 4 | return createCache({ key: "chakra-emotion-css" }); 5 | } 6 | export default createEmotionCache; 7 | -------------------------------------------------------------------------------- /packages/web/src/styles/customTheme/index.ts: -------------------------------------------------------------------------------- 1 | import { extendTheme } from "@chakra-ui/react"; 2 | 3 | import { customTheme } from "@moonshotcollective/ui"; 4 | 5 | const theme = extendTheme(customTheme); 6 | 7 | export default theme; 8 | -------------------------------------------------------------------------------- /packages/dapp/next-sitemap.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next-sitemap').IConfig} */ 2 | const NextSitemapConfig = { 3 | siteUrl: "https://demo.scaffold-eth.io", 4 | generateRobotsTxt: true, 5 | }; 6 | 7 | module.exports = NextSitemapConfig; 8 | -------------------------------------------------------------------------------- /packages/web/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | // NOTE: This file should not be edited 5 | // see https://nextjs.org/docs/basic-features/typescript for more information. 6 | -------------------------------------------------------------------------------- /packages/web/next-sitemap.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next-sitemap').IConfig} */ 2 | const NextSitemapConfig = { 3 | siteUrl: "https://coordination.party", 4 | generateRobotsTxt: true, 5 | }; 6 | 7 | module.exports = NextSitemapConfig; 8 | -------------------------------------------------------------------------------- /packages/dapp/.example.env: -------------------------------------------------------------------------------- 1 | # EXPOSED VARIABLES (prefixed with NEXT_PUBLIC) 2 | NEXT_PUBLIC_INFURA_ID= 3 | NEXT_PUBLIC_WALLETCONNECT_RPC_URL= 4 | NEXT_PUBLIC_WALLETCONNECT_CHAIN_ID= 5 | 6 | # PRIVATE VARIABLES 7 | NFTSTORAGE_TOKEN= 8 | WEB3STORAGE_TOKEN= -------------------------------------------------------------------------------- /packages/dapp/src/styles/customTheme/fonts.ts: -------------------------------------------------------------------------------- 1 | import { DeepPartial, Theme } from "@chakra-ui/react"; 2 | 3 | const fonts: DeepPartial = { 4 | body: "Montserrat", 5 | heading: "Montserrat", 6 | }; 7 | 8 | export default fonts; 9 | -------------------------------------------------------------------------------- /packages/dapp/src/styles/customTheme/theme/foundations/borders.ts: -------------------------------------------------------------------------------- 1 | const borders = { 2 | none: 0, 3 | '1px': '1px solid', 4 | '2px': '2px solid', 5 | '4px': '4px solid', 6 | '8px': '8px solid', 7 | } 8 | 9 | export default borders 10 | -------------------------------------------------------------------------------- /packages/ui/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components/button'; 2 | export * from './components/switch'; 3 | export * from './components/text'; 4 | export * from './components/box'; 5 | 6 | export * from './theme/colors'; 7 | 8 | export * from './theme'; 9 | -------------------------------------------------------------------------------- /packages/web/src/styles/customTheme/fonts.ts: -------------------------------------------------------------------------------- 1 | import { DeepPartial, Theme } from "@chakra-ui/react"; 2 | 3 | const fonts: DeepPartial = { 4 | body: "Lexend, sans-serif", 5 | heading: "Roboto Mono", 6 | }; 7 | 8 | export default fonts; 9 | -------------------------------------------------------------------------------- /packages/dapp/src/styles/customTheme/theme/foundations/blur.ts: -------------------------------------------------------------------------------- 1 | const blur = { 2 | none: '0', 3 | sm: '4px', 4 | base: '8px', 5 | md: '12px', 6 | lg: '16px', 7 | xl: '24px', 8 | '2xl': '40px', 9 | '3xl': '64px', 10 | } 11 | 12 | export default blur 13 | -------------------------------------------------------------------------------- /packages/dapp/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "dbaeumer.vscode-eslint", 4 | "vivaxy.vscode-conventional-commits", 5 | "dsznajder.es7-react-js-snippets", 6 | "mhutchie.git-graph", 7 | "oderwat.indent-rainbow" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /packages/ui/example/src/main.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import App from './App'; 4 | 5 | ReactDOM.render( 6 | 7 | 8 | , 9 | document.getElementById('root') 10 | ); 11 | -------------------------------------------------------------------------------- /packages/hardhat-ts/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "trailingComma": "es5", 4 | "requirePragma": false, 5 | "arrowParens": "always", 6 | "jsxBracketSameLine": true, 7 | "tabWidth": 2, 8 | "printWidth": 160, 9 | "endOfLine": "lf" 10 | } 11 | -------------------------------------------------------------------------------- /packages/dapp/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | 5 | // NOTE: This file should not be edited 6 | // see https://nextjs.org/docs/basic-features/typescript for more information. 7 | -------------------------------------------------------------------------------- /packages/ui/src/theme/components/container.ts: -------------------------------------------------------------------------------- 1 | import type { SystemStyleObject } from "@chakra-ui/theme-tools" 2 | 3 | const baseStyle: SystemStyleObject = { 4 | w: "100%", 5 | mx: "auto", 6 | maxW: "60ch", 7 | px: "1rem", 8 | } 9 | 10 | export default { 11 | baseStyle, 12 | } 13 | -------------------------------------------------------------------------------- /packages/dapp/src/styles/customTheme/theme/foundations/radius.ts: -------------------------------------------------------------------------------- 1 | const radii = { 2 | none: '0', 3 | sm: '0.125rem', 4 | base: '0.25rem', 5 | md: '0.375rem', 6 | lg: '0.5rem', 7 | xl: '0.75rem', 8 | '2xl': '1rem', 9 | '3xl': '1.5rem', 10 | full: '9999px', 11 | } 12 | 13 | export default radii 14 | -------------------------------------------------------------------------------- /packages/web/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "dbaeumer.vscode-eslint", 4 | "vivaxy.vscode-conventional-commits", 5 | "coenraads.bracket-pair-colorizer", 6 | "dsznajder.es7-react-js-snippets", 7 | "mhutchie.git-graph", 8 | "oderwat.indent-rainbow" 9 | ] 10 | } -------------------------------------------------------------------------------- /packages/dapp/src/styles/customTheme/components/index.ts: -------------------------------------------------------------------------------- 1 | import Link from "./link"; 2 | import Menu from "./menu"; 3 | import Modal from "./modal"; 4 | import Tabs from "./tabs"; 5 | import Text from "./text"; 6 | 7 | export default { 8 | Link, 9 | Menu, 10 | Modal, 11 | Tabs, 12 | Text, 13 | }; 14 | -------------------------------------------------------------------------------- /packages/dapp/public/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | #da532c 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /packages/web/public/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | #da532c 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /packages/dapp/src/core/constants/countries.ts: -------------------------------------------------------------------------------- 1 | import sc from "states-cities-db"; 2 | 3 | const COUNTRIES = sc.getCountries(); 4 | 5 | const getCountryTelCode = (country: string) => 6 | country && 7 | COUNTRIES.find(({ iso }: { iso: string }) => iso === country).prefix; 8 | 9 | export { COUNTRIES, getCountryTelCode }; 10 | -------------------------------------------------------------------------------- /packages/dapp/src/styles/customTheme/theme/foundations/breakpoints.ts: -------------------------------------------------------------------------------- 1 | import { createBreakpoints } from '@chakra-ui/theme-tools' 2 | 3 | const breakpoints = createBreakpoints({ 4 | base: '0em', 5 | sm: '30em', 6 | md: '48em', 7 | lg: '62em', 8 | xl: '80em', 9 | '2xl': '96em', 10 | }) 11 | 12 | export default breakpoints 13 | -------------------------------------------------------------------------------- /packages/ui/src/components/switch/Switch.tsx: -------------------------------------------------------------------------------- 1 | import { Switch as ChakraSwitch, SwitchProps } from '@chakra-ui/react'; 2 | import React from 'react'; 3 | 4 | export { SwitchProps } from '@chakra-ui/react'; 5 | 6 | export const Switch = (args: SwitchProps & { children?: React.ReactNode }) => { 7 | return ; 8 | }; 9 | -------------------------------------------------------------------------------- /packages/web/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "CPK", 3 | "name": "Coordination party kit", 4 | "lang": "en", 5 | "start_url": "/", 6 | "background_color": "#FFFFFF", 7 | "theme_color": "#FFFFFF", 8 | "dir": "ltr", 9 | "display": "standalone", 10 | "orientation": "portrait", 11 | "prefer_related_applications": false 12 | } 13 | -------------------------------------------------------------------------------- /packages/dapp/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "sms", 3 | "name": "scaffold-moonshot-starter", 4 | "lang": "en", 5 | "start_url": "/", 6 | "background_color": "#FFFFFF", 7 | "theme_color": "#FFFFFF", 8 | "dir": "ltr", 9 | "display": "standalone", 10 | "orientation": "portrait", 11 | "prefer_related_applications": false 12 | } 13 | -------------------------------------------------------------------------------- /packages/dapp/src/styles/customTheme/theme/index.ts: -------------------------------------------------------------------------------- 1 | import foundations from "./foundations"; 2 | 3 | const direction = "ltr"; 4 | 5 | const config = { 6 | useSystemColorMode: false, 7 | initialColorMode: "light", 8 | cssVarPrefix: "chakra", 9 | }; 10 | 11 | export const customTheme = { 12 | direction, 13 | ...foundations, 14 | config, 15 | }; 16 | -------------------------------------------------------------------------------- /packages/subgraph/config/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "mumbai_YourContractAddress": "0x7F1933E4D383e474696DcB545C607Ac8784Cc5CE", 3 | "localhost_YourContractAddress": "0x5FbDB2315678afecb367f032d93F642f64180aa3", 4 | "rinkeby_YourContractAddress": "0xC7C2304baf37Efd486eA35FB2A8ed05313036DC5", 5 | "kovan_YourContractAddress": "0x43B6F70B0eCB72a0f3b2125e9053021759d5Dd14" 6 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@scaffold-eth/scaffold-moonshot-starter", 3 | "license": "GPL-3.0-or-later", 4 | "devDependencies": { 5 | "lerna": "^4.0.0" 6 | }, 7 | "workspaces": [ 8 | "packages/*" 9 | ], 10 | "scripts": { 11 | "bootstrap": "yarn install; lerna bootstrap;", 12 | "start": "lerna run start --parallel" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /packages/subgraph/src/schema.graphql: -------------------------------------------------------------------------------- 1 | type Purpose @entity { 2 | id: ID! 3 | sender: Sender! 4 | purpose: String! 5 | createdAt: BigInt! 6 | transactionHash: String! 7 | } 8 | 9 | type Sender @entity { 10 | id: ID! 11 | address: Bytes! 12 | purposes: [Purpose!] @derivedFrom(field: "sender") 13 | createdAt: BigInt! 14 | purposeCount: BigInt! 15 | } 16 | -------------------------------------------------------------------------------- /packages/dapp/src/styles/customTheme/theme/foundations/z-index.ts: -------------------------------------------------------------------------------- 1 | const zIndices = { 2 | hide: -1, 3 | auto: 'auto', 4 | base: 0, 5 | docked: 10, 6 | dropdown: 1000, 7 | sticky: 1100, 8 | banner: 1200, 9 | overlay: 1300, 10 | modal: 1400, 11 | popover: 1500, 12 | skipLink: 1600, 13 | toast: 1700, 14 | tooltip: 1800, 15 | } 16 | 17 | export default zIndices 18 | -------------------------------------------------------------------------------- /packages/schemas/lib/schemas.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.schemas = void 0; 4 | const contributors_schema_1 = require("./contributors/contributors-schema"); 5 | exports.schemas = { 6 | dapp: { 7 | Contributors: contributors_schema_1.ContributorsSchema, 8 | }, 9 | }; 10 | //# sourceMappingURL=schemas.js.map -------------------------------------------------------------------------------- /packages/web/commitlint.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('@commitlint/types').UserConfig} */ 2 | const CommitLintConfiguration = { 3 | extends: ["@commitlint/config-conventional"], 4 | // add your own scope here if needed 5 | // "scope-enum": [2, "always", ["components", "pages", "utils"]], 6 | "scope-case": [2, "always", "kebab-case"], 7 | }; 8 | 9 | module.exports = CommitLintConfiguration; 10 | -------------------------------------------------------------------------------- /packages/dapp/commitlint.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('@commitlint/types').UserConfig} */ 2 | const CommitLintConfiguration = { 3 | extends: ["@commitlint/config-conventional"], 4 | // add your own scope here if needed 5 | // "scope-enum": [2, "always", ["components", "pages", "utils"]], 6 | "scope-case": [2, "always", "kebab-case"], 7 | }; 8 | 9 | module.exports = CommitLintConfiguration; 10 | -------------------------------------------------------------------------------- /packages/ui/src/components/button/Button.tsx: -------------------------------------------------------------------------------- 1 | import { Button as ChakraButton, ButtonProps } from '@chakra-ui/react'; 2 | import React from 'react'; 3 | 4 | export { ButtonProps } from '@chakra-ui/react'; 5 | 6 | export const Button = (args: ButtonProps & { children?: React.ReactNode }) => { 7 | return ( 8 | {args.children || 'Hello World'} 9 | ); 10 | }; 11 | -------------------------------------------------------------------------------- /packages/ui/test/blah.test.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import * as ReactDOM from 'react-dom'; 3 | import { Default as QButton } from '../stories/QButton.stories'; 4 | 5 | describe('Button', () => { 6 | it('renders without crashing', () => { 7 | const div = document.createElement('div'); 8 | ReactDOM.render(, div); 9 | ReactDOM.unmountComponentAtNode(div); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/ui/.storybook/preview.js: -------------------------------------------------------------------------------- 1 | import '@fontsource/inter'; 2 | 3 | import { ChakraProvider } from '@chakra-ui/react'; 4 | import * as React from 'react'; 5 | import { customTheme } from '../src/theme'; 6 | 7 | const withChakra = (StoryFn) => { 8 | return ( 9 | 10 | 11 | 12 | ); 13 | }; 14 | 15 | export const decorators = [withChakra]; -------------------------------------------------------------------------------- /packages/ui/src/theme/components/code.ts: -------------------------------------------------------------------------------- 1 | import type { SystemStyleObject } from "@chakra-ui/theme-tools" 2 | import Badge from "./badge" 3 | 4 | const { variants, defaultProps } = Badge 5 | 6 | const baseStyle: SystemStyleObject = { 7 | fontFamily: "mono", 8 | fontSize: "sm", 9 | px: "0.2em", 10 | borderRadius: "sm", 11 | } 12 | 13 | export default { 14 | baseStyle, 15 | variants, 16 | defaultProps, 17 | } 18 | -------------------------------------------------------------------------------- /packages/web/src/components/motion/Box.tsx: -------------------------------------------------------------------------------- 1 | import { chakra, HTMLChakraProps } from "@chakra-ui/react"; 2 | import { motion, HTMLMotionProps } from "framer-motion"; 3 | import React from "react"; 4 | import { Merge } from "types/index"; 5 | 6 | type MotionBoxProps = Merge, HTMLMotionProps<"div">>; 7 | 8 | const MotionBox: React.FC = motion(chakra.div); 9 | 10 | export default MotionBox; 11 | -------------------------------------------------------------------------------- /packages/hardhat-ts/helpers/types/__global.ts: -------------------------------------------------------------------------------- 1 | // hardhat.ts 2 | 3 | // eslint-disable-next-line 4 | import '@nomiclabs/hardhat-ethers'; 5 | import { ExternalProvider } from '@ethersproject/providers/src.ts/web3-provider'; 6 | 7 | export {}; 8 | 9 | declare global { 10 | interface hre { 11 | ethers: ExternalProvider; 12 | } 13 | interface Window { 14 | ethereum: ExternalProvider; 15 | } 16 | } 17 | 18 | export {}; 19 | -------------------------------------------------------------------------------- /packages/dapp/src/components/motion/Box.tsx: -------------------------------------------------------------------------------- 1 | import { chakra, HTMLChakraProps } from "@chakra-ui/react"; 2 | import { motion, HTMLMotionProps } from "framer-motion"; 3 | 4 | import { Merge } from "core/types/merge"; 5 | 6 | type MotionBoxProps = Merge, HTMLMotionProps<"div">>; 7 | 8 | // eslint-disable-next-line import/prefer-default-export 9 | export const MotionBox: React.FC = motion(chakra.div); 10 | -------------------------------------------------------------------------------- /packages/ui/example/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite App 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /packages/ui/stories/hooks/useCustomColor.tsx: -------------------------------------------------------------------------------- 1 | import { useColorModeValue } from '@chakra-ui/react'; 2 | 3 | function useCustomColor() { 4 | const violetColor = useColorModeValue('violet.800', 'ice'); 5 | const titleColor = useColorModeValue('fresh', 'moon'); 6 | const accentColorScheme = useColorModeValue('green', 'yellow'); 7 | 8 | return { violetColor, titleColor, accentColorScheme }; 9 | } 10 | 11 | export default useCustomColor; 12 | -------------------------------------------------------------------------------- /packages/dapp/README.md: -------------------------------------------------------------------------------- 1 | ## Getting Started 2 | 3 | ```bash 4 | yarn dev 5 | ``` 6 | 7 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. 8 | 9 | ## References 10 | 11 | - [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. 12 | - [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. 13 | - [Chakra UI](https://chakra-ui.com) 14 | - [TypeScript](https://www.typescriptlang.org) 15 | -------------------------------------------------------------------------------- /packages/dapp/src/components/layout/CenteredFrame.tsx: -------------------------------------------------------------------------------- 1 | import { VStack, Box } from "@chakra-ui/react"; 2 | import React from "react"; 3 | 4 | interface Children { 5 | children: React.ReactNode; 6 | } 7 | const CenteredFrame = ({ children }: Children) => { 8 | return ( 9 | 10 | {children} 11 | 12 | ); 13 | }; 14 | 15 | export default CenteredFrame; 16 | -------------------------------------------------------------------------------- /packages/web/README.md: -------------------------------------------------------------------------------- 1 | ## Getting Started 2 | 3 | ```bash 4 | yarn dev 5 | ``` 6 | 7 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. 8 | 9 | ## References 10 | 11 | - [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. 12 | - [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. 13 | - [Chakra UI](https://chakra-ui.com) 14 | - [TypeScript](https://www.typescriptlang.org) 15 | -------------------------------------------------------------------------------- /packages/dapp/src/components/custom/Card.tsx: -------------------------------------------------------------------------------- 1 | import { VStack, StackProps } from "@chakra-ui/react"; 2 | 3 | function Card(props: StackProps) { 4 | const { children, ...others } = props; 5 | return ( 6 | 15 | {children} 16 | 17 | ); 18 | } 19 | 20 | export default Card; 21 | -------------------------------------------------------------------------------- /packages/dapp/src/components/layout/Container.tsx: -------------------------------------------------------------------------------- 1 | import { VStack } from "@chakra-ui/react"; 2 | import React from "react"; 3 | interface Children { 4 | children: React.ReactNode; 5 | } 6 | const Container = (props: Children) => { 7 | const { children } = props; 8 | return ( 9 | 14 | {children} 15 | 16 | ); 17 | }; 18 | 19 | export default Container; 20 | -------------------------------------------------------------------------------- /packages/schemas/lib/contributors/contributors-schema.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"contributors-schema.js","sourceRoot":"","sources":["../../src/contributors/contributors-schema.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG;IAChC,OAAO,EAAE,yCAAyC;IAClD,KAAK,EAAE,cAAc;IACrB,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,iBAAiB;QACxB,UAAU,EAAE;YACV,EAAE,EAAE;gBACF,IAAI,EAAE,+BAA+B;aACtC;SACF;KACF;IACD,WAAW,EAAE;QACX,eAAe,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,iCAAiC;YAC1C,SAAS,EAAE,GAAG;SACf;KACF;CACF,CAAC"} -------------------------------------------------------------------------------- /packages/web/src/components/layout/ThemeToggle.tsx: -------------------------------------------------------------------------------- 1 | import { IconButton, useColorMode } from "@chakra-ui/react"; 2 | import { RiMoonFill, RiSunLine } from "react-icons/ri"; 3 | 4 | const ThemeToggle = () => { 5 | const { colorMode, toggleColorMode } = useColorMode(); 6 | 7 | return ( 8 | : } 11 | onClick={toggleColorMode} 12 | /> 13 | ); 14 | }; 15 | 16 | export default ThemeToggle; 17 | -------------------------------------------------------------------------------- /packages/dapp/src/contexts/Web3ProviderNetwork.tsx: -------------------------------------------------------------------------------- 1 | import { createWeb3ReactRoot } from '@web3-react/core' 2 | import { ctxNetworkConstant } from '../core/connectors'; 3 | 4 | 5 | const Web3ReactProviderDefault = createWeb3ReactRoot(ctxNetworkConstant) 6 | 7 | const Web3ReactProviderDefaultSSR = ({ children, getLibrary }: any) => { 8 | return ( 9 | 10 | {children} 11 | 12 | ) 13 | } 14 | 15 | export default Web3ReactProviderDefaultSSR; -------------------------------------------------------------------------------- /packages/dapp/src/components/custom/CardMedia.tsx: -------------------------------------------------------------------------------- 1 | import { VStack, Image } from "@chakra-ui/react"; 2 | 3 | function CardMedia({ children, src, ...others }: any) { 4 | return ( 5 | 14 | 15 | {children} 16 | 17 | ); 18 | } 19 | 20 | export default CardMedia; 21 | -------------------------------------------------------------------------------- /packages/web/public/site.webmanifest: -------------------------------------------------------------------------------- 1 | { 2 | "name": "", 3 | "short_name": "", 4 | "icons": [ 5 | { 6 | "src": "/android-chrome-192x192.png", 7 | "sizes": "192x192", 8 | "type": "image/png" 9 | }, 10 | { 11 | "src": "/android-chrome-256x256.png", 12 | "sizes": "256x256", 13 | "type": "image/png" 14 | } 15 | ], 16 | "theme_color": "#ffffff", 17 | "background_color": "#ffffff", 18 | "display": "standalone" 19 | } 20 | -------------------------------------------------------------------------------- /packages/dapp/public/site.webmanifest: -------------------------------------------------------------------------------- 1 | { 2 | "name": "", 3 | "short_name": "", 4 | "icons": [ 5 | { 6 | "src": "/android-chrome-192x192.png", 7 | "sizes": "192x192", 8 | "type": "image/png" 9 | }, 10 | { 11 | "src": "/android-chrome-256x256.png", 12 | "sizes": "256x256", 13 | "type": "image/png" 14 | } 15 | ], 16 | "theme_color": "#ffffff", 17 | "background_color": "#ffffff", 18 | "display": "standalone" 19 | } 20 | -------------------------------------------------------------------------------- /packages/web/src/components/CodeBlock.tsx: -------------------------------------------------------------------------------- 1 | import { CodeProps } from "@chakra-ui/layout"; 2 | import { Code } from "@chakra-ui/react"; 3 | import React from "react"; 4 | 5 | type CodeBlockProps = CodeProps; 6 | 7 | const CodeBlock = (props: CodeBlockProps) => { 8 | return ( 9 | 18 | ); 19 | }; 20 | 21 | export default CodeBlock; 22 | -------------------------------------------------------------------------------- /packages/ui/src/theme/components/skip-link.ts: -------------------------------------------------------------------------------- 1 | import type { SystemStyleFunction } from "@chakra-ui/theme-tools" 2 | import { mode } from "@chakra-ui/theme-tools" 3 | 4 | const baseStyle: SystemStyleFunction = (props) => ({ 5 | borderRadius: "md", 6 | fontWeight: "semibold", 7 | _focus: { 8 | boxShadow: "outline", 9 | padding: "1rem", 10 | position: "fixed", 11 | top: "1.5rem", 12 | insetStart: "1.5rem", 13 | bg: mode("white", "gray.700")(props), 14 | }, 15 | }) 16 | 17 | export default { 18 | baseStyle, 19 | } 20 | -------------------------------------------------------------------------------- /packages/schemas/lib/contributors/contributors-schema.d.ts: -------------------------------------------------------------------------------- 1 | export declare const ContributorsSchema: { 2 | $schema: string; 3 | title: string; 4 | type: string; 5 | items: { 6 | type: string; 7 | title: string; 8 | properties: { 9 | id: { 10 | $ref: string; 11 | }; 12 | }; 13 | }; 14 | definitions: { 15 | CeramicStreamId: { 16 | type: string; 17 | pattern: string; 18 | maxLength: number; 19 | }; 20 | }; 21 | }; 22 | -------------------------------------------------------------------------------- /packages/ui/src/theme/components/list.ts: -------------------------------------------------------------------------------- 1 | import { listAnatomy as parts } from "@chakra-ui/anatomy" 2 | import type { 3 | PartsStyleObject, 4 | SystemStyleObject, 5 | } from "@chakra-ui/theme-tools" 6 | 7 | const baseStyleIcon: SystemStyleObject = { 8 | marginEnd: "0.5rem", 9 | display: "inline", 10 | verticalAlign: "text-bottom", 11 | } 12 | 13 | const baseStyle: PartsStyleObject = { 14 | container: {}, 15 | item: {}, 16 | icon: baseStyleIcon, 17 | } 18 | 19 | export default { 20 | parts: parts.keys, 21 | baseStyle, 22 | } 23 | -------------------------------------------------------------------------------- /packages/ui/src/theme/components/kbd.ts: -------------------------------------------------------------------------------- 1 | import type { SystemStyleFunction } from "@chakra-ui/theme-tools" 2 | import { mode } from "@chakra-ui/theme-tools" 3 | 4 | const baseStyle: SystemStyleFunction = (props) => { 5 | return { 6 | bg: mode("gray.100", "whiteAlpha")(props), 7 | borderRadius: "md", 8 | borderWidth: "1px", 9 | borderBottomWidth: "3px", 10 | fontSize: "0.8em", 11 | fontWeight: "bold", 12 | lineHeight: "normal", 13 | px: "0.4em", 14 | whiteSpace: "nowrap", 15 | } 16 | } 17 | 18 | export default { 19 | baseStyle, 20 | } 21 | -------------------------------------------------------------------------------- /packages/web/src/components/Buttons/DiscordButton.tsx: -------------------------------------------------------------------------------- 1 | import { IconButton, Link } from "@chakra-ui/react"; 2 | import { RiDiscordFill } from "react-icons/ri"; 3 | 4 | const DiscordButton = () => { 5 | return ( 6 | 11 | } 15 | /> 16 | 17 | ); 18 | }; 19 | 20 | export default DiscordButton; 21 | -------------------------------------------------------------------------------- /packages/hardhat-ts/scripts/watch.ts: -------------------------------------------------------------------------------- 1 | import watch from 'node-watch'; 2 | import { exec } from 'child_process'; 3 | 4 | const run = () => { 5 | console.log('🛠 Compiling & Deploying...'); 6 | exec('yarn deploy', function (error, stdout, stderr) { 7 | console.log(stdout); 8 | if (error) console.log(error); 9 | if (stderr) console.log(stderr); 10 | }); 11 | }; 12 | 13 | console.log('🔬 Watching Contracts...'); 14 | watch('./contracts', { recursive: true }, function (evt, name) { 15 | console.log('%s changed.', name); 16 | run(); 17 | }); 18 | run(); 19 | -------------------------------------------------------------------------------- /packages/web/src/components/Buttons/TwitterButton.tsx: -------------------------------------------------------------------------------- 1 | import { IconButton, Link } from "@chakra-ui/react"; 2 | import { RiTwitterFill } from "react-icons/ri"; 3 | 4 | const TwitterButton = () => { 5 | return ( 6 | 11 | } 15 | /> 16 | 17 | ); 18 | }; 19 | 20 | export default TwitterButton; 21 | -------------------------------------------------------------------------------- /packages/hardhat-ts/test/sample-test.ts: -------------------------------------------------------------------------------- 1 | const { expect } = require("chai"); 2 | 3 | describe("Greeter", function() { 4 | it("Should return the new greeting once it's changed", async function() { 5 | const Greeter = await ethers.getContractFactory("Greeter"); 6 | const greeter = await Greeter.deploy("Hello, world!"); 7 | 8 | await greeter.deployed(); 9 | expect(await greeter.greet()).to.equal("Hello, world!"); 10 | 11 | await greeter.setGreeting("Hola, mundo!"); 12 | expect(await greeter.greet()).to.equal("Hola, mundo!"); 13 | }); 14 | }); 15 | -------------------------------------------------------------------------------- /packages/ui/stories/hooks/useColor.tsx: -------------------------------------------------------------------------------- 1 | import { useColorModeValue } from '@chakra-ui/react'; 2 | import { colors } from '../../src'; 3 | 4 | function useColor() { 5 | const textVioletColor = useColorModeValue( 6 | colors.neutralDark, 7 | colors.neutralLight 8 | ); 9 | const titleColor = useColorModeValue( 10 | colors.accentLight[500], 11 | colors.accentDark[500] 12 | ); 13 | const accentColorScheme = useColorModeValue('accentLight', 'accentDark'); 14 | 15 | return { textVioletColor, titleColor, accentColorScheme }; 16 | } 17 | 18 | export default useColor; 19 | -------------------------------------------------------------------------------- /packages/hardhat-ts/scripts/old js/scripts/watch.js: -------------------------------------------------------------------------------- 1 | const watch = require("node-watch"); 2 | const { exec } = require("child_process"); 3 | 4 | const run = () => { 5 | console.log("🛠 Compiling & Deploying..."); 6 | exec("yarn deploy", function (error, stdout, stderr) { 7 | console.log(stdout); 8 | if (error) console.log(error); 9 | if (stderr) console.log(stderr); 10 | }); 11 | }; 12 | 13 | console.log("🔬 Watching Contracts..."); 14 | watch("./contracts", { recursive: true }, function (evt, name) { 15 | console.log("%s changed.", name); 16 | run(); 17 | }); 18 | run(); 19 | -------------------------------------------------------------------------------- /packages/ui/src/theme/components/form-label.ts: -------------------------------------------------------------------------------- 1 | import type { SystemStyleFunction } from '@chakra-ui/theme-tools'; 2 | import { mode } from '@chakra-ui/theme-tools'; 3 | 4 | const baseStyle: SystemStyleFunction = (props) => { 5 | return { 6 | fontSize: 'md', 7 | marginEnd: 3, 8 | mb: 2, 9 | color: mode('fog', 'white')(props), 10 | fontWeight: 'medium', 11 | transitionProperty: 'common', 12 | transitionDuration: 'normal', 13 | opacity: 1, 14 | _disabled: { 15 | opacity: 0.4, 16 | }, 17 | }; 18 | }; 19 | 20 | export default { 21 | baseStyle, 22 | }; 23 | -------------------------------------------------------------------------------- /packages/web/src/styles/customTheme/components/button.ts: -------------------------------------------------------------------------------- 1 | import { DeepPartial, Theme } from "@chakra-ui/react"; 2 | 3 | const Button: DeepPartial = { 4 | variants: { 5 | solid: { 6 | bg: "purple.400", 7 | color: "violet.50", 8 | type: "button", 9 | borderRadius: "full", 10 | textTransform: "uppercase", 11 | _hover: { 12 | boxShadow: "lg", 13 | fontWeight: "bold", 14 | background: "green.500", 15 | color: "purple.400", 16 | }, 17 | }, 18 | }, 19 | }; 20 | 21 | export default Button; 22 | -------------------------------------------------------------------------------- /packages/dapp/src/styles/customTheme/README.md: -------------------------------------------------------------------------------- 1 | # Chakra UI Theme 2 | 3 | This is a Chakra UI theme generated with [Hypertheme Editor](https://hyperthe.me). 4 | 5 | ## Usage 6 | 7 | Comment line 3 and uncomment line 4 in `styles/customTheme/index.ts` 8 | Use it in inside your ChakraProvider (already set up in this project) 9 | 10 | ```tsx 11 | import * as React from "react"; 12 | import { ChakraProvider } from "@chakra-ui/react"; 13 | import theme from "./theme"; 14 | 15 | function App() { 16 | return ...rest of code; 17 | } 18 | 19 | export default App; 20 | ``` 21 | -------------------------------------------------------------------------------- /packages/ui/src/theme/styles.ts: -------------------------------------------------------------------------------- 1 | import { Styles } from '@chakra-ui/theme-tools'; 2 | import useThemeColor from '../hooks/useThemeColor'; 3 | 4 | const { getTextColor, getBgColor } = useThemeColor(); 5 | 6 | const styles: Styles = { 7 | global: (props) => ({ 8 | body: { 9 | fontFamily: 'body', 10 | fontSize: ['16px', '110%', '120%', '140%'], 11 | color: getTextColor(props), 12 | bg: getBgColor(props), 13 | transitionProperty: 'background-color', 14 | transitionDuration: 'normal', 15 | lineHeight: 'base', 16 | }, 17 | }), 18 | }; 19 | 20 | export default styles; 21 | -------------------------------------------------------------------------------- /packages/dapp/src/components/Buttons/ThemeToggle.tsx: -------------------------------------------------------------------------------- 1 | import { 2 | IconButton, 3 | useColorMode, 4 | } from "@chakra-ui/react"; 5 | import React from "react"; 6 | import { RiMoonFill, RiSunLine } from "react-icons/ri"; 7 | 8 | const ThemeToggle = () => { 9 | const { colorMode, toggleColorMode } = useColorMode(); 10 | 11 | return ( 12 | : } 18 | /> 19 | ); 20 | }; 21 | 22 | export default ThemeToggle; 23 | -------------------------------------------------------------------------------- /packages/ui/example/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ESNext", 4 | "useDefineForClassFields": true, 5 | "lib": ["DOM", "DOM.Iterable", "ESNext"], 6 | "allowJs": false, 7 | "skipLibCheck": false, 8 | "esModuleInterop": false, 9 | "allowSyntheticDefaultImports": true, 10 | "strict": true, 11 | "forceConsistentCasingInFileNames": true, 12 | "module": "ESNext", 13 | "moduleResolution": "Node", 14 | "resolveJsonModule": true, 15 | "isolatedModules": true, 16 | "noEmit": true, 17 | "jsx": "react-jsx" 18 | }, 19 | "include": ["./src"] 20 | } 21 | -------------------------------------------------------------------------------- /packages/dapp/src/styles/customTheme/styles.ts: -------------------------------------------------------------------------------- 1 | import { mode, Styles } from "@chakra-ui/theme-tools"; 2 | import { colors } from "./colors"; 3 | 4 | const styles: Styles = { 5 | global: (props) => ({ 6 | body: { 7 | fontFamily: "body", 8 | fontSize: ["16px", "110%", "120%", "140%"], 9 | color: mode(colors.neutralDarkest, colors.neutralLightest)(props), 10 | bg: mode(colors.neutralLightest, colors.neutralDarkest)(props), 11 | transitionProperty: "background-color", 12 | transitionDuration: "normal", 13 | lineHeight: "base", 14 | }, 15 | }), 16 | }; 17 | 18 | export default styles; 19 | -------------------------------------------------------------------------------- /packages/ui/src/theme/components/text.ts: -------------------------------------------------------------------------------- 1 | import { SystemStyleObject, SystemStyleFunction } from '@chakra-ui/theme-tools'; 2 | import useThemeColor from '../../hooks/useThemeColor'; 3 | 4 | const baseStyle: SystemStyleFunction = (props) => { 5 | const { getPrimaryColor, getInverseTextColor } = useThemeColor(); 6 | return { 7 | _selection: { 8 | bg: getPrimaryColor(props), 9 | color: getInverseTextColor(props), 10 | }, 11 | }; 12 | }; 13 | 14 | const sizes: Record = {}; 15 | 16 | const defaultProps = {}; 17 | 18 | export default { 19 | baseStyle, 20 | sizes, 21 | defaultProps, 22 | }; 23 | -------------------------------------------------------------------------------- /packages/dapp/src/styles/customTheme/components/text.ts: -------------------------------------------------------------------------------- 1 | import { SystemStyleObject, SystemStyleFunction } from '@chakra-ui/theme-tools'; 2 | import useThemeColor from "../useThemeColor"; 3 | 4 | const baseStyle: SystemStyleFunction = (props) => { 5 | const { getPrimaryColor, getInverseTextColor } = useThemeColor(); 6 | return { 7 | _selection: { 8 | bg: getPrimaryColor(props), 9 | color: getInverseTextColor(props), 10 | }, 11 | }; 12 | }; 13 | 14 | const sizes: Record = {}; 15 | 16 | const defaultProps = {}; 17 | 18 | export default { 19 | baseStyle, 20 | sizes, 21 | defaultProps, 22 | }; 23 | -------------------------------------------------------------------------------- /packages/web/src/components/layout/index.tsx: -------------------------------------------------------------------------------- 1 | import { Box } from "@chakra-ui/react"; 2 | import { ReactNode } from "react"; 3 | import Footer from "./Footer"; 4 | import Navbar from "./Navbar"; 5 | 6 | type LayoutProps = { 7 | children: ReactNode; 8 | }; 9 | 10 | const Layout = ({ children }: LayoutProps) => { 11 | return ( 12 | <> 13 | 14 | 15 | 16 | {children} 17 |