NUS Fintechies is an on-chain membership NFT project done as part of NUS Fintech Society Blockchain Department's Winter Project AY22/23
├─ frontend ─ "Next.js Frontend"
├─ lib ─ "Contract Dependencies"
├─ script ─ "Foundry scripts for deployment + preview"
├─ scripts ─ "Typescript tests for previewing NFTs"
├─ src ─ Contract Source Code
├─ test ─ Tests for Contracts (Hardhat and Foundry)
interfaces
├── INUSFintechieMetadata ─ "Interface for metadata contract"
├── INUSFintechieRenderer ─ "Interface for renderer contract"
├─ NUSFintechieMetadata - "Metadata contract that generates metadata for Fintechie"
├─ NUSFintechieRenderer - "Renderer contract that renders Fintechie SVG"
├─ NUSFintechies - "Main ERC721 + ERC5192 contract"
-
- For windows users, it is better to use WSL so that you can update foundry easily through foundryup
-
Use Foundry:
forge install
forge test
- Use Hardhat:
npm install
npx hardhat test
- Write / run tests with either Hardhat or Foundry:
forge test
# or
npx hardhat test
- Install libraries with Foundry which work with Hardhat.
forge install vectorized/solady # Already in this repo, just an example
- In order to preview SVGs and their respective metadata
npm run preview
Whenever you install new libraries using Foundry, make sure to update your remappings.txt
file by running forge remappings > remappings.txt
.