- Git submodules
git submodule update --init
git pull --recurse-submodules
git submodule update --init --recursive
- https://book.getfoundry.sh/
curl -L https://foundry.paradigm.xyz | bash
npm install
- Install Foundry
- Install Hardhat
- Init Hardhat
- Setup Hardhat typescript compatibility
- Install Hardhat add-ins
- References
- Looking at WH challenges <<<<<<< HEAD
- https://github.com/sigp/solidity-security-blog =======
- https://docs.avax.network/dapps/smart-contracts/using-foundry-with-the-avalanche-c-chain
- https://github.com/nicolasgarcia214/damn-vulnerable-defi-foundry
6702afd3d2b9646d77f615b7658992ad4784e446
Store.sol
in progress02_Discounted.t.sol
OK03_HeadOrTail.t.sol
OK04_Vault.t.sol
OK
CallerCallee.sol
: implements aCaller
contract that calls aCallee
contract (tests: Foundry & Hardhat).Reentancy.sol
: implements aVulnerableVault
with various ways to withdraw funds (transfer, send, call) and re-entrancy pattern vulnerability (tests: Foundry).
- receive vs fallback
- revert / out of gas
- on Coffers, automatic getter of public struct{ uint, mapping} only returns uint
- What does forge update do? foundry-rs/foundry#3720