Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
qqqllppp committed Jun 2, 2023
0 parents commit 022b1ff
Show file tree
Hide file tree
Showing 1,182 changed files with 97,451 additions and 0 deletions.
25 changes: 25 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Since the ".env" file is gitignored, you can use the ".env.example" file to
# build a new ".env" file when you clone the repo. Keep this file up-to-date
# when you add new variables to `.env`.

# This file will be committed to version control, so make sure not to have any
# secrets in it. If you are cloning this repo, create a copy of this file named
# ".env" and populate it with your secrets.

# When adding additional environment variables, the schema in "/src/env.mjs"
# should be updated accordingly.

# Prisma
# https://www.prisma.io/docs/reference/database-reference/connection-urls#env
DATABASE_URL="file:./db.sqlite"

# Next Auth
# You can generate a new secret on the command line with:
# openssl rand -base64 32
# https://next-auth.js.org/configuration/options#secret
# NEXTAUTH_SECRET=""
NEXTAUTH_URL="http://localhost:3000"

# Next Auth Discord Provider
DISCORD_CLIENT_ID=""
DISCORD_CLIENT_SECRET=""
45 changes: 45 additions & 0 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
// eslint-disable-next-line @typescript-eslint/no-var-requires
const path = require("path");

/** @type {import("eslint").Linter.Config} */
const config = {
overrides: [
{
extends: [
"plugin:@typescript-eslint/recommended-requiring-type-checking",
],
files: ["*.ts", "*.tsx"],
parserOptions: {
project: path.join(__dirname, "tsconfig.json"),
},
},
],
parser: "@typescript-eslint/parser",
parserOptions: {
project: path.join(__dirname, "tsconfig.json"),
},
plugins: ["@typescript-eslint"],
extends: ["next/core-web-vitals", "plugin:@typescript-eslint/recommended"],
rules: {
"@typescript-eslint/consistent-type-imports": [
"warn",
{
prefer: "type-imports",
fixStyle: "inline-type-imports",
},
],
"@typescript-eslint/no-unused-vars": ["warn", { argsIgnorePattern: "^_" }],
// "@typescript-eslint/no-unsafe-return": "off",
"@typescript-eslint/no-empty-function": "off",
"@typescript-eslint/no-empty-interface": "off",

"@typescript-eslint/no-misused-promises": [
"error",
{
checksVoidReturn: false,
},
],
},
};

module.exports = config;
44 changes: 44 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# database
/prisma/db.sqlite
/prisma/db.sqlite-journal

# next.js
/.next/
/out/
next-env.d.ts

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*

# local env files
# do not commit any .env files to git, except for the .env.example file. https://create.t3.gg/en/usage/env-variables#using-environment-variables
.env
.env*.local

# vercel
.vercel

# typescript
*.tsbuildinfo

test_insert_db.md
28 changes: 28 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Create T3 App

This is a [T3 Stack](https://create.t3.gg/) project bootstrapped with `create-t3-app`.

## What's next? How do I make an app with this?

We try to keep this project as simple as possible, so you can start with just the scaffolding we set up for you, and add additional things later when they become necessary.

If you are not familiar with the different technologies used in this project, please refer to the respective docs. If you still are in the wind, please join our [Discord](https://t3.gg/discord) and ask for help.

- [Next.js](https://nextjs.org)
- [NextAuth.js](https://next-auth.js.org)
- [Prisma](https://prisma.io)
- [Tailwind CSS](https://tailwindcss.com)
- [tRPC](https://trpc.io)

## Learn More

To learn more about the [T3 Stack](https://create.t3.gg/), take a look at the following resources:

- [Documentation](https://create.t3.gg/)
- [Learn the T3 Stack](https://create.t3.gg/en/faq#what-learning-resources-are-currently-available) — Check out these awesome tutorials

You can check out the [create-t3-app GitHub repository](https://github.com/t3-oss/create-t3-app) — your feedback and contributions are welcome!

## How do I deploy this?

Follow our deployment guides for [Vercel](https://create.t3.gg/en/deployment/vercel), [Netlify](https://create.t3.gg/en/deployment/netlify) and [Docker](https://create.t3.gg/en/deployment/docker) for more information.
45 changes: 45 additions & 0 deletions contracts/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# setup

yarn add --dev hardhat
npx hardhat
---copy this to new repo's README.md
---copy contents of `hardhat.config.ts` if needed
touch .env
---copy contents of .env
---copy over utils folder (especially common.ts & diamond.js - if required)
add `"resolveJsonModule": true` in tsconfig.json
yarn add --dev dotenv @openzeppelin/contracts @superfluid-finance/ethereum-contracts

[deprecated?] yarn add --dev hardhat-deploy
[deprecated?] yarn add --dev @nomiclabs/hardhat-ethers@npm:hardhat-deploy-ethers ethers [this command is to override hardhat-ethers to use hardhat-deploy-ethers - check package.json]

### Diamond Contract Pattern

1. Diamond-3: https://github.com/mudgen/diamond-3-hardhat
2. Diamond Storage (data storage ONLY lives in Diamond Proxy Contract):
ref | https://eip2535diamonds.substack.com/p/how-storage-works-in-eip2535-diamonds
ref | https://eip2535diamonds.substack.com/p/keep-your-data-right-in-eip2535-diamonds?utm_source=substack&utm_campaign=post_embed&utm_medium=web
ref | https://dev.to/mudgen/how-diamond-storage-works-90e

3. best practice: DON'T store any user data in Diamond !!!! eg data that cannot be overriden or may require complex migrations
4. best practice: use new storage position with new struct when defining new data storage variables in Diamond !!! eg define it in new Lib

# Workflow

- npx hardhat test | test all with forked testnet
- npx hardhat test "./path/to/specific/test_Script" | test specific
- see scripts folder and fn/command used for deployment

# Sample Hardhat Project

This project demonstrates a basic Hardhat use case. It comes with a sample contract, a test for that contract, and a script that deploys that contract.

Try running some of the following tasks:

```shell
npx hardhat help
npx hardhat test
REPORT_GAS=true npx hardhat test
npx hardhat node
npx hardhat run scripts/deploy.ts
```
7 changes: 7 additions & 0 deletions contracts/TODOS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
0. clear todos in /contracts
1. TEST "// set for control record" new code
2. implement a user facing "getNewNonce" for `Flow` & `Control` (after funding)
3. implement get "unsettledNonce" state on client facing side (after funding) - add to test
4. special fee data also need a range?
5. helper contracts that have single view function for each main session/flow function that returns boolean on weather can access or not (use this to "enable" frontend wagmi call to reduce number of calls to node provider)
6. TEST if have active flow, can open session as well? (& vice versa)
9 changes: 9 additions & 0 deletions contracts/addresses/localhost_1684729340523.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
0x25F13b9FC4EFdfDb4898D38A76586B4B9985E61E - Loupe
0x940690d6CB7132AaF70E9BCE4FCD3185D0f1E34B - Cut
0x337d220F68E8e0F36B99f586eD5fe41bcfE0B034 - AccessControl
0xB7CAD5c3eA806cD7E97CfF2CCe4b30300281d0BB - Utility
0xf3f6a91585E6b06ec04874f61DC0E56Aa90415c9 - Automate
0x644B112F9A60151F6f69A1c600ff1a7BCA6762b5 - Control
0x4E0900fC106b6bAc2f579670b5363071577e81d4 - Session
0xe7f356231FBc439A8ebC6c6501b4908D0B9F237E - Flow
0xb853b380fe0552568bf7771Bf596e2535b5FE69A - Diamond
9 changes: 9 additions & 0 deletions contracts/addresses/localhost_1684745751023.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
0x4E0900fC106b6bAc2f579670b5363071577e81d4 - Loupe
0xe7f356231FBc439A8ebC6c6501b4908D0B9F237E - Cut
0xb853b380fe0552568bf7771Bf596e2535b5FE69A - AccessControl
0x81AA3fCFB61B42389cDDC147A4f02d3fdc400e59 - Utility
0xbdEaCD59e7d0eC9DC8f2f8af1685e6Bdf7b56CC3 - Automate
0x53Dc11d7A244902B17Cbb59D581E935a892b5D3c - Control
0x35B5d6aCCd67cab4DA0ed81B0f54e6d8da819822 - Session
0x922746Df016da220d17f0159254A343885e6dd67 - Flow
0x9DBE69414336ED1b08c5E5b932460369bD8a9b3D - Diamond
9 changes: 9 additions & 0 deletions contracts/addresses/localhost_1684747264754.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
0x4E0900fC106b6bAc2f579670b5363071577e81d4 - Loupe
0xe7f356231FBc439A8ebC6c6501b4908D0B9F237E - Cut
0xb853b380fe0552568bf7771Bf596e2535b5FE69A - AccessControl
0x81AA3fCFB61B42389cDDC147A4f02d3fdc400e59 - Utility
0xbdEaCD59e7d0eC9DC8f2f8af1685e6Bdf7b56CC3 - Automate
0x53Dc11d7A244902B17Cbb59D581E935a892b5D3c - Control
0x35B5d6aCCd67cab4DA0ed81B0f54e6d8da819822 - Session
0x922746Df016da220d17f0159254A343885e6dd67 - Flow
0x9DBE69414336ED1b08c5E5b932460369bD8a9b3D - Diamond
9 changes: 9 additions & 0 deletions contracts/addresses/localhost_1684747496579.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
0x4E0900fC106b6bAc2f579670b5363071577e81d4 - Loupe
0xe7f356231FBc439A8ebC6c6501b4908D0B9F237E - Cut
0xb853b380fe0552568bf7771Bf596e2535b5FE69A - AccessControl
0x81AA3fCFB61B42389cDDC147A4f02d3fdc400e59 - Utility
0xbdEaCD59e7d0eC9DC8f2f8af1685e6Bdf7b56CC3 - Automate
0x53Dc11d7A244902B17Cbb59D581E935a892b5D3c - Control
0x35B5d6aCCd67cab4DA0ed81B0f54e6d8da819822 - Session
0x922746Df016da220d17f0159254A343885e6dd67 - Flow
0x9DBE69414336ED1b08c5E5b932460369bD8a9b3D - Diamond
9 changes: 9 additions & 0 deletions contracts/addresses/mumbai_1684729360523.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
0x1c791F97eFFaF93B04f3FE458e2d56e905A39367 - Loupe
0xFDd6BEf6f35E7d7142E937D787D0a99726B37A63 - Cut
0xa7C722D75Eca0e8dDC1A39Da6667bd9699BbBD19 - AccessControl
0x28030dC5e1e23a388862ef966b3258aD73e487aC - Utility
0xeF49D3280F183fbE57390179bdaAcfea5CA60079 - Automate
0xb2871b9065826eDb54b68C43D8bBeCc46b4211eF - Control
0x69071e0A224B1D2a8f8C9366c97851eB7055fC42 - Session
0xc0695B706629E4cC077f5d68497eeeC937Bf7e26 - Flow
0xB5FBeF5f93144d1Fb8d32479dEB6018822043367 - Diamond
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/ba9437438ec2715393320ce18780bccb.json"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"_format": "hh-sol-artifact-1",
"contractName": "IERC1271",
"sourceName": "@openzeppelin/contracts/interfaces/IERC1271.sol",
"abi": [
{
"inputs": [
{
"internalType": "bytes32",
"name": "hash",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}
],
"name": "isValidSignature",
"outputs": [
{
"internalType": "bytes4",
"name": "magicValue",
"type": "bytes4"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x",
"deployedBytecode": "0x",
"linkReferences": {},
"deployedLinkReferences": {}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/ba9437438ec2715393320ce18780bccb.json"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"_format": "hh-sol-artifact-1",
"contractName": "ReentrancyGuard",
"sourceName": "@openzeppelin/contracts/security/ReentrancyGuard.sol",
"abi": [],
"bytecode": "0x",
"deployedBytecode": "0x",
"linkReferences": {},
"deployedLinkReferences": {}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../../build-info/ba9437438ec2715393320ce18780bccb.json"
}
Loading

0 comments on commit 022b1ff

Please sign in to comment.