Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Full review #13

Closed
wants to merge 63 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
a3a7ded
Initial commit
TomiOhl Mar 8, 2023
bdd7646
Add storage gaps for future upgrades
TomiOhl Mar 9, 2023
b75b04c
Test upgradeability
TomiOhl Mar 9, 2023
ec6fc58
Add goerli deployment
TomiOhl Mar 9, 2023
a2ccfd8
Change proxy to UUPS
TomiOhl Mar 9, 2023
c767034
Make the token soulbound
TomiOhl Mar 9, 2023
3ac23bc
Temporarily disable running tests in CI
TomiOhl Mar 10, 2023
b2d7d7d
Add claim mechanism based on oracle
TomiOhl Mar 10, 2023
b0102b3
Add modified ChainlinkClient
TomiOhl Mar 14, 2023
f519501
Revert "Temporarily disable running tests in CI"
TomiOhl Mar 14, 2023
476fa31
Add minting fee and treasury management
TomiOhl Mar 20, 2023
49a4d45
Update tests
TomiOhl Mar 20, 2023
7ae7bff
Actually transfer fees on claim requests
TomiOhl Mar 20, 2023
9681c6b
Add tests for treasury management
TomiOhl Mar 20, 2023
c17f413
Set claim status on oracle response
TomiOhl Mar 20, 2023
c70924d
Add docs
TomiOhl Mar 20, 2023
33783c7
Determine tokenId only when fulfilling requests
TomiOhl Mar 21, 2023
7a4486c
Add burn function
TomiOhl Mar 21, 2023
40320a8
Add gap to every contract for upgradability
TomiOhl Mar 21, 2023
2bed995
Update docs
TomiOhl Mar 21, 2023
eec4874
Update deploy script
TomiOhl Mar 21, 2023
55d8975
Re-deploy to goerli
TomiOhl Mar 21, 2023
348a582
Update dependencies
TomiOhl Mar 21, 2023
93cb27d
Disable claiming using a token that's not set up
TomiOhl Mar 21, 2023
0ea0d4a
Upgrade on goerli
TomiOhl Mar 21, 2023
eb9a86d
Update README
TomiOhl Mar 22, 2023
9d0d162
Update LibTransfer
TomiOhl Mar 22, 2023
9ead1f3
Set tokenURI on claim
TomiOhl Mar 31, 2023
428ff07
Decrement totalSupply on burn
TomiOhl Mar 31, 2023
a3bc9d7
Re-deploy to goerli
TomiOhl Mar 31, 2023
78e9bd2
Make more event parameters indexed
TomiOhl Apr 4, 2023
2fb2d2d
Deploy to goerli
TomiOhl Apr 4, 2023
b1f2328
Add Sepolia
TomiOhl Apr 14, 2023
b52a4c5
Update contract/scripts for Sepolia
TomiOhl Apr 14, 2023
0eff6a2
Update CI
TomiOhl Apr 21, 2023
b0ab071
Redesign docs (#2)
TomiOhl May 3, 2023
ed08e6c
Remove oracles and verify access beforehand instead (#3)
TomiOhl May 3, 2023
94e23d9
Switch to OpenZeppelin's ERC721Enumerable (#4)
TomiOhl May 5, 2023
c444ed6
Deploy to Polygon
TomiOhl May 5, 2023
74cab92
Name mapping parameters
TomiOhl May 9, 2023
84942e3
Metadata storage docs (#5)
TomiOhl May 15, 2023
12d3455
Generate metadata in the contract (#6)
TomiOhl May 18, 2023
5a6cfd9
Upgrade on Polygon
TomiOhl May 18, 2023
2e64dca
Bump version to 1.1.0
TomiOhl May 18, 2023
a59cb30
Cleanup after the metadata changes
TomiOhl Jun 4, 2023
bc5e3be
Signature replay protection for multichain support (#7)
TomiOhl Jun 5, 2023
07a79ad
Bump version to 1.2.0
TomiOhl Jun 5, 2023
7fffe9f
Update dependencies, migrate to ethers v6
TomiOhl Jun 29, 2023
6421bfe
Implement EIP-4906 (MetadataUpdated event)
TomiOhl Jun 29, 2023
2c38f57
Disallow claiming tokens twice for the same userId (#8)
TomiOhl Jul 3, 2023
ee3789d
Deploy to BSC
TomiOhl Jul 3, 2023
78a6371
Test for ERC4906
TomiOhl Jul 3, 2023
e3c14eb
Add missing comment
TomiOhl Jul 4, 2023
7d35269
Add missing function declaration to interface
TomiOhl Jul 20, 2023
86f9687
Add base to hardhat config
TomiOhl Aug 21, 2023
80d32af
Add Optimism to hardhat config
TomiOhl Sep 7, 2023
b71c1df
Copy: on-chain -> onchain
TomiOhl Sep 22, 2023
e7b5914
Implement SBT signaling standard (#10)
TomiOhl Oct 3, 2023
6641730
Remove ERC20 payment option
TomiOhl Nov 3, 2023
cc7ad7a
Add adminTreasury and adminFee
TomiOhl Nov 3, 2023
882c36e
Update tests
TomiOhl Nov 3, 2023
ec1df3f
Update docs
TomiOhl Nov 3, 2023
86175fc
Merge branch 'empty' into review
TomiOhl Nov 3, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Your Etherscan API key for contract source code verification.
ETHERSCAN_API_KEY=ABC123ABC123ABC123ABC123ABC123ABC1
# Your infura.io project ID for deploying to Ethereum networks.
INFURA_ID=73157d26f55d413eb06614f4ead1de461
# The private key of your address for deploying contracts on public networks.
PRIVATE_KEY=0xabc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc1
5 changes: 5 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
node_modules
artifacts
cache
coverage
*.js
25 changes: 25 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
module.exports = {
env: {
browser: false,
es2021: true,
mocha: true,
node: true
},
plugins: ["@typescript-eslint"],
extends: ["airbnb-base", "prettier", "plugin:node/recommended"],
parser: "@typescript-eslint/parser",
parserOptions: {
ecmaVersion: 12
},
rules: {
"func-names": "off",
"no-console": "off",
"import/no-extraneous-dependencies": ["error", { devDependencies: true }],
"node/no-unpublished-import": "off",
"node/no-unsupported-features/es-syntax": ["error", { ignores: ["modules"] }],
"no-shadow": "off",
"@typescript-eslint/no-shadow": "error",
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": "error"
}
};
65 changes: 65 additions & 0 deletions .github/workflows/contract-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: Code checks

on:
push:
branches: [main]
pull_request:
branches: [main]

jobs:
lint:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: Setup NodeJS
uses: actions/setup-node@v3
with:
node-version: "18"
cache: "npm"

- name: Cache node modules
uses: actions/cache@v3
id: cache
with:
path: "**/node_modules"
key: npm-v1-${{ hashFiles('**/package-lock.json') }}
restore-keys: npm-v1-

- name: Install dependencies
run: npm ci
if: steps.cache.outputs.cache-hit != 'true'

- name: Lint contracts
run: npm run lint-contracts

- name: Lint scripts
run: npm run lint-ts

tests:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: Setup NodeJS
uses: actions/setup-node@v3
with:
node-version: "18"
cache: "npm"

- name: Cache node modules
uses: actions/cache@v3
id: cache
with:
path: "**/node_modules"
key: npm-v1-${{ hashFiles('**/package-lock.json') }}
restore-keys: npm-v1-

- name: Install dependencies
run: npm ci
if: steps.cache.outputs.cache-hit != 'true'

- name: Run tests
run: npm test
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
node_modules
.env
coverage
coverage.json
typechain

#Hardhat files
cache
artifacts
Loading