Thanks for considering contributing to Pooky smart contracts! This document briefly describes how we have organized the pooky-labs/smart-contracts repository.
This repository uses the following environment:
- Foundry
- Node.js LTS (18.x since October 2022)
- pnpm 7.x (learn how to install pnpm)
We use Foundry as our main framework for developing our smart contracts. Our smart contracts repository is based on a standard Foundry architecture.
.
├── abi # Pooky contracts ABIs
├── artifacts # (git-ignored) Foundry compile artifacts
├── cache # (git-ignored) Foundry cache
├── coverage # (git-ignored) Code-coverage reports
├── lib # Foundry dependencies
├── node_modules # (git-ignored) Project Node dependencies
├── script # Runnable Foundry scripts
├── src # Smart contracts Solidity source code
└── test # Smart contracts tests
Contract unit tests are located inside the test/
directory.
Each contract has it own test file that contains its unit tests.
src/tokens/POK.sol => test/tokens/POK.t.sol
src/tokens/Pookyball.sol => test/tokens/Pookyball.t.sol
etc.