curl -L https://foundry.paradigm.xyz | bash
foundryup
https://book.getfoundry.sh/getting-started/installation
To run tests:
forge test
-vv
shows console.log output.-vvvvv
shows execution and setup traces for all tests.
To run specific tests:
--mt
runs tests matching the specified regex.
Example:
forge test --mt test_Depositor -vv
Challenges can be found in the /test folder.
Your goal is to make all tests PASS ✨
You'll find the tags START OF SOLUTION
and END OF SOLUTION
on each test file. You should write your solution there.
You may create and instantiate new contracts to help you with the solution, as long as the new Contract()
is instantiated and called between those tags.
Cheatcodes are not allowed of course :)
- https://github.com/cryptofinlabs/audit-checklist
- https://github.com/transmissions11/solcurity
- https://solodit.xyz/checklist
- Solidity Security Patterns
- FREI-PI (Function Requirements - Effects - Interactions - Protocol Invariants)
- Weird ERC20
- WebtrES Discord
- Smart Contract Security Course - Cyfrin Updraft
- Ethernaut CTF
- Damn Vulnerability DeFi CTF