Tooling required:
Run make setup and customize .env if necessary.
By default:
PRIVATE_KEY_LOCALis set to the first Anvil devnet account (seeded by ETH)
cd ../.. && make setup- initialize libraries and npm packagesmake setup- sets up symlinks & copies.env.exampleto.envif.envdoes not existmake build- build your projectmake watch- watch files and re-run tests on temp local devnetmake clean- remove compiled files
make test- run tests on temp local devnetmake test-gas- run tests and show gas report on temp local devnetmake test-fork- run tests and show gas report using$ETH_NODEas RPC endpoint
make lint- lint files (look for code smells)make format-check- checks that the code is properly formatted, but does not modify itmake format- formats codemake check- runsmake lintandmake format-check
make anvil- run local Anvil devnet on port 1337make deploy- deploy the contracts on the $RPC_$CONFIG, using$PRIVATE_KEY_$CONFIGas deployer private key, you can configure your own $CONFIG values, but we suggestLOCAL,TESTandMAINfor local devnet, testnet and mainnet respectively- the contract addresses are output to
out/deployment.json - also updates the wagmi-generated bindings (in
packages/webapp/src/generated.ts)
- the contract addresses are output to
make deploy-debugprints more about what happens to deploy (only to local devnet)
make selectors- dumps to selectors for functions, events and errors toout/selectors.txtmake update-forge-std- updates forge-std by git cloning it inside this repo (fuck git modules)