DApp_Postmortems is a fork of DefiHackLabs with the following aims
- Reduce compile time for each POC test by modularizing the codebase.
- Simplify the codebase to enhance readability and facilitate contributions.
- Keep all Proof of Concepts (POCs) up to date by aligning them with the latest testing practices in Foundry.
- Standardize the codebase to improve maintainability and scalability.
-
Follow the installation instructions to set up Foundry.
-
Clone the repository and install dependencies:
git clone https://github.com/emilesean/DApp_Postmortems.git forge soldeer init
-
Run individual POCs:
forge test --contracts <contract> -vvv # Example: forge test --contracts ./test/2022-07/Audius.t.sol -vvv
-
Known Issues:
- Some POC are dependent on older EVM Versions The @KeyInfo Section of the POC will Specify EVM version dependancy . To run them, you need to specify the EVM version:
forge test --contracts <contract> --evm-version <evm-version> -vvv
# Example: forge test --contracts ./test/2022-08/LuckyTiger.t.sol --evm-version london -vvv
-
BSC POC take long to run BSC rpc nodes take long to respond to requests espcially when quering far into the past.
-
Many BSC nodes are non archiving or appear to have a limit on the number of blocks into the past you can query we keep running into this error with BSC nodes. We need a reliable rpc providers for BSC.
It looks like you're trying to fork from an older block with a non-archive node which is not supported. Please try to change your RPC url to an archive node if the issue persists.
- Turning up the level of verbosity will slow down the test with each level of verbosity.
- Check out the Contributing Guidelines
Disclaimer: This content serves solely as a proof of concept, showcasing past security incidents related to decentralized applications. It is strictly intended for educational purposes and should not be interpreted as encouragement or endorsement of any illegal activities or actual hacking attempts. Any actions taken based on this content are the sole responsibility of the individual, and usage should adhere to applicable laws, regulations, and ethical standards.