Skip to content

Commit 0e936c5

Browse files
committed
chore: init commit
0 parents  commit 0e936c5

File tree

255 files changed

+25976
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

255 files changed

+25976
-0
lines changed

.commitlintrc.json

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"extends": ["@commitlint/config-conventional"]
3+
}

.env.example

+53
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
2+
# Public Variables
3+
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
4+
# Public Provider(s) - Useful for testing
5+
NEXT_PUBLIC_USE_PUBLIC_PROVIDER=true
6+
7+
# Alchemy: https://www.alchemy.com
8+
NEXT_PUBLIC_ALCHEMY_API_KEY=
9+
10+
# Infura: https://www.infura.io
11+
NEXT_PUBLIC_INFURA_API_KEY=
12+
13+
# Enables the use of production networks in the development environment
14+
NEXT_PUBLIC_PROD_NETWORKS_DEV=false
15+
16+
# Livepeer: https://livepeer.com
17+
NEXT_PUBLIC_LIVEPEER_API_KEY=
18+
19+
# Website URL
20+
NEXT_PUBLIC_SITE_URL=
21+
22+
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
23+
# Private Variables
24+
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
25+
# Generate one here: https://generate-secret.vercel.app/32
26+
NEXTAUTH_SECRET=
27+
28+
# Prisma: https://www.prisma.io
29+
DATABASE_URL=
30+
31+
# Users to be added as admins. Separate with commas. Can access the application database
32+
# Example: "0x123,0x456"
33+
APP_ADMINS=""
34+
35+
# Disco: https://docs.disco.xyz
36+
# Request API access at https://discoxyz.typeform.com/requestapi
37+
DISCO_API_KEY=
38+
39+
# Etherscan: https://docs.etherscan.io
40+
ETHERSCAN_API_KEY=
41+
ETHERSCAN_API_KEY_OPTIMISM=
42+
ETHERSCAN_API_KEY_ARBITRUM=
43+
ETHERSCAN_API_KEY_POLYGON=
44+
45+
# OpenAI API Key: https://platform.openai.com/account/api-keys
46+
OPENAI_API_KEY=
47+
48+
# Moralis API Key: https://admin.moralis.io/settings#secret-keys
49+
MORALIS_API_KEY=
50+
51+
# Gitcoin Passport Scorer ID and API key: https://scorer.gitcoin.co/#/dashboard/scorer
52+
GITCOIN_PASSPORT_SCORER_ID=
53+
GITCOIN_PASSPORT_API_KEY=

.eslintignore

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
**/generated/**-wagmi.ts
2+
**/generated/blockchain.ts
3+
**/components/shared/table/**
4+
**/generated
5+
.next/**
6+
tailwind.config.js

.eslintrc.cjs

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/* eslint-env node */
2+
module.exports = {
3+
root: true,
4+
extends: [
5+
"next/core-web-vitals",
6+
"eslint:recommended",
7+
"prettier",
8+
"plugin:tailwindcss/recommended",
9+
"plugin:@typescript-eslint/recommended-requiring-type-checking",
10+
],
11+
plugins: ["@typescript-eslint", "tailwindcss"],
12+
parser: "@typescript-eslint/parser",
13+
parserOptions: {
14+
project: "./tsconfig.json",
15+
tsconfigRootDir: __dirname,
16+
},
17+
rules: {
18+
"@next/next/no-html-link-for-pages": "off",
19+
"@next/next/no-img-element": "off", // We currently not using next/image because it isn't supported with SSG mode
20+
"react-hooks/exhaustive-deps": "off", // Incorrectly report needed dependency with Next.js router
21+
"tailwindcss/no-custom-classname": "error",
22+
"tailwindcss/classnames-order": "error",
23+
"@typescript-eslint/no-misused-promises": "off",
24+
"@typescript-eslint/no-unsafe-assignment": "off",
25+
"@typescript-eslint/no-unsafe-member-access": "off",
26+
"@typescript-eslint/no-unsafe-argument": "off",
27+
"no-unused-vars": "off",
28+
},
29+
settings: {
30+
tailwindcss: {
31+
callees: ["cn"],
32+
config: "tailwind.config.js",
33+
},
34+
next: {
35+
rootDir: true,
36+
},
37+
},
38+
}

.gitignore

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
# dependencies
4+
/node_modules
5+
/.pnp
6+
.pnp.js
7+
8+
# testing
9+
/coverage
10+
11+
# next.js
12+
/.next/
13+
/out/
14+
15+
# production
16+
/build
17+
18+
# misc
19+
.DS_Store
20+
*.pem
21+
22+
# debug
23+
npm-debug.log*
24+
yarn-debug.log*
25+
yarn-error.log*
26+
27+
# local env files
28+
.env
29+
.env*.local
30+
31+
# vercel
32+
.vercel
33+
34+
# typescript
35+
*.tsbuildinfo
36+
next-env.d.ts

.husky/commit-msg

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/sh
2+
. "$(dirname "$0")/_/husky.sh"
3+
4+
npx commitlint --edit $1

.husky/pre-commit

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/usr/bin/env sh
2+
. "$(dirname -- "$0")/_/husky.sh"
3+
4+
# npm run lint

.nvmrc

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
v18.16.0

.prettierignore

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
dist
2+
node_modules
3+
.next
4+
build
5+
pnpm-lock.yaml
6+
**/generated/**-wagmi.ts
7+
**/generated/blockchain.ts
8+
**/generated/

.vscode/extensions.json

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"recommendations": [
3+
"dbaeumer.vscode-eslint",
4+
"esbenp.prettier-vscode",
5+
"mikestead.dotenv",
6+
"csstools.postcss",
7+
"bradlc.vscode-tailwindcss",
8+
"Orta.vscode-jest"
9+
]
10+
}

.vscode/launch.json

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
{
2+
// Use IntelliSense to learn about possible attributes.
3+
// Hover to view descriptions of existing attributes.
4+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5+
"version": "0.2.0",
6+
"configurations": [
7+
{
8+
"type": "chrome",
9+
"request": "launch",
10+
"name": "Next: Chrome",
11+
"url": "http://localhost:3000",
12+
"webRoot": "${workspaceFolder}"
13+
},
14+
{
15+
"type": "node",
16+
"request": "launch",
17+
"name": "Next: Node",
18+
"program": "${workspaceFolder}/node_modules/.bin/next",
19+
"args": ["dev"],
20+
"autoAttachChildProcesses": true,
21+
"skipFiles": ["<node_internals>/**"],
22+
"console": "integratedTerminal"
23+
}
24+
],
25+
"compounds": [
26+
{
27+
"name": "Next: Full",
28+
"configurations": ["Next: Node", "Next: Chrome"]
29+
}
30+
]
31+
}

.vscode/settings.json

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
{
2+
"editor.tabSize": 2,
3+
"editor.detectIndentation": false,
4+
"search.exclude": {
5+
"package-lock.json": true
6+
},
7+
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
8+
"editor.formatOnSave": true,
9+
"editor.codeActionsOnSave": [
10+
"source.addMissingImports",
11+
"source.fixAll.eslint"
12+
],
13+
"eslint.validate": ["typescript", "javascript", "javascriptreact"],
14+
"jest.autoRun": {
15+
"watch": true, // Start the jest with the watch flag
16+
"onStartup": ["all-tests"] // Run all tests upon project launch
17+
},
18+
"jest.showCoverageOnLoad": true, // Show code coverage when the project is launched
19+
"jest.showTerminalOnLaunch": false, // Don't automatically open test explorer terminal on launch
20+
// Multiple language settings for json and jsonc files
21+
"[json][jsonc]": {
22+
"editor.formatOnSave": true,
23+
"editor.defaultFormatter": "esbenp.prettier-vscode"
24+
},
25+
"jest.jestCommandLine": "jest",
26+
"[typescriptreact]": {
27+
"editor.defaultFormatter": "esbenp.prettier-vscode"
28+
},
29+
"typescript.tsdk": "node_modules/.pnpm/[email protected]/node_modules/typescript/lib",
30+
"typescript.enablePromptUseWorkspaceTsdk": true,
31+
"prettier.prettierPath": "./node_modules/prettier" // Workaround fix for prettier force checking node modules.
32+
}

.vscode/tasks.json

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
// See https://go.microsoft.com/fwlink/?LinkId=733558
3+
// for the documentation about the tasks.json format
4+
"version": "2.0.0",
5+
"tasks": [
6+
{
7+
"label": "Project wide type checking with TypeScript",
8+
"type": "npm",
9+
"script": "check-types",
10+
"problemMatcher": ["$tsc"],
11+
"group": {
12+
"kind": "build",
13+
"isDefault": true
14+
},
15+
"presentation": {
16+
"clear": true,
17+
"reveal": "never"
18+
}
19+
}
20+
]
21+
}

LICENSE

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2024 Function03 Labs
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)