├── .github ├── ISSUE_TEMPLATE │ ├── BUG-FORM.yml │ └── FEATURE-FORM.yml ├── PULL_REQUEST_TEMPLATE.md └── workflows │ └── CI.yml ├── .gitignore ├── .gitmodules ├── .gitpod.Dockerfile ├── .gitpod.yml ├── .vscode └── settings.json ├── LICENSE ├── README.md ├── foundry.toml ├── makefile ├── remappings.txt ├── run.sh ├── src ├── Contracts │ ├── DamnValuableNFT.sol │ ├── DamnValuableToken.sol │ ├── DamnValuableTokenSnapshot.sol │ ├── WETH9.sol │ ├── backdoor │ │ └── WalletRegistry.sol │ ├── climber │ │ ├── ClimberTimelock.sol │ │ └── ClimberVault.sol │ ├── compromised │ │ ├── Exchange.sol │ │ ├── TrustfulOracle.sol │ │ └── TrustfulOracleInitializer.sol │ ├── free-rider │ │ ├── FreeRiderBuyer.sol │ │ ├── FreeRiderNFTMarketplace.sol │ │ └── Interfaces.sol │ ├── naive-receiver │ │ ├── FlashLoanReceiver.sol │ │ └── NaiveReceiverLenderPool.sol │ ├── puppet-v2 │ │ ├── IUniswapV2Pair.sol │ │ ├── Interfaces.sol │ │ ├── PuppetV2Pool.sol │ │ └── UniswapV2Library.sol │ ├── puppet │ │ └── PuppetPool.sol │ ├── selfie │ │ ├── SelfiePool.sol │ │ └── SimpleGovernance.sol │ ├── side-entrance │ │ └── SideEntranceLenderPool.sol │ ├── the-rewarder │ │ ├── AccountingToken.sol │ │ ├── FlashLoanerPool.sol │ │ ├── RewardToken.sol │ │ └── TheRewarderPool.sol │ ├── truster │ │ └── TrusterLenderPool.sol │ └── unstoppable │ │ ├── ReceiverUnstoppable.sol │ │ └── UnstoppableLender.sol └── build-uniswap │ ├── v1 │ ├── UniswapV1Exchange.json │ └── UniswapV1Factory.json │ └── v2 │ ├── UniswapV2Factory.json │ ├── UniswapV2Pair.json │ └── UniswapV2Router02.json └── test ├── Levels ├── backdoor │ ├── Backdoor.t.sol │ └── README.md ├── climber │ ├── Climber.t.sol │ └── README.md ├── compromised │ ├── Compromised.t.sol │ └── README.md ├── free-rider │ ├── FreeRider.t.sol │ └── README.md ├── naive-receiver │ ├── NaiveReceiver.t.sol │ └── README.md ├── puppet-v2 │ ├── PuppetV2.t.sol │ └── README.md ├── puppet │ ├── Puppet.t.sol │ └── README.md ├── safe-miners │ ├── README.md │ └── SafeMiners.t.sol ├── selfie │ ├── README.md │ └── Selfie.t.sol ├── side-entrance │ ├── README.md │ └── SideEntrance.t.sol ├── the-rewarder │ ├── README.md │ └── TheRewarder.t.sol ├── truster │ ├── README.md │ └── Truster.t.sol └── unstoppable │ ├── README.md │ └── Unstoppable.t.sol └── utils └── Utilities.sol /.github/ISSUE_TEMPLATE/BUG-FORM.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/.github/ISSUE_TEMPLATE/BUG-FORM.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/FEATURE-FORM.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/.github/ISSUE_TEMPLATE/FEATURE-FORM.yml -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.github/workflows/CI.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/.github/workflows/CI.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | out/ 2 | cache/ 3 | .env -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/.gitmodules -------------------------------------------------------------------------------- /.gitpod.Dockerfile: -------------------------------------------------------------------------------- 1 | FROM gitpod/workspace-full 2 | 3 | RUN curl -L https://foundry.paradigm.xyz | bash -------------------------------------------------------------------------------- /.gitpod.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/.gitpod.yml -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/README.md -------------------------------------------------------------------------------- /foundry.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/foundry.toml -------------------------------------------------------------------------------- /makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/makefile -------------------------------------------------------------------------------- /remappings.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/remappings.txt -------------------------------------------------------------------------------- /run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/run.sh -------------------------------------------------------------------------------- /src/Contracts/DamnValuableNFT.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/DamnValuableNFT.sol -------------------------------------------------------------------------------- /src/Contracts/DamnValuableToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/DamnValuableToken.sol -------------------------------------------------------------------------------- /src/Contracts/DamnValuableTokenSnapshot.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/DamnValuableTokenSnapshot.sol -------------------------------------------------------------------------------- /src/Contracts/WETH9.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/WETH9.sol -------------------------------------------------------------------------------- /src/Contracts/backdoor/WalletRegistry.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/backdoor/WalletRegistry.sol -------------------------------------------------------------------------------- /src/Contracts/climber/ClimberTimelock.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/climber/ClimberTimelock.sol -------------------------------------------------------------------------------- /src/Contracts/climber/ClimberVault.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/climber/ClimberVault.sol -------------------------------------------------------------------------------- /src/Contracts/compromised/Exchange.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/compromised/Exchange.sol -------------------------------------------------------------------------------- /src/Contracts/compromised/TrustfulOracle.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/compromised/TrustfulOracle.sol -------------------------------------------------------------------------------- /src/Contracts/compromised/TrustfulOracleInitializer.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/compromised/TrustfulOracleInitializer.sol -------------------------------------------------------------------------------- /src/Contracts/free-rider/FreeRiderBuyer.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/free-rider/FreeRiderBuyer.sol -------------------------------------------------------------------------------- /src/Contracts/free-rider/FreeRiderNFTMarketplace.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/free-rider/FreeRiderNFTMarketplace.sol -------------------------------------------------------------------------------- /src/Contracts/free-rider/Interfaces.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/free-rider/Interfaces.sol -------------------------------------------------------------------------------- /src/Contracts/naive-receiver/FlashLoanReceiver.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/naive-receiver/FlashLoanReceiver.sol -------------------------------------------------------------------------------- /src/Contracts/naive-receiver/NaiveReceiverLenderPool.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/naive-receiver/NaiveReceiverLenderPool.sol -------------------------------------------------------------------------------- /src/Contracts/puppet-v2/IUniswapV2Pair.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/puppet-v2/IUniswapV2Pair.sol -------------------------------------------------------------------------------- /src/Contracts/puppet-v2/Interfaces.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/puppet-v2/Interfaces.sol -------------------------------------------------------------------------------- /src/Contracts/puppet-v2/PuppetV2Pool.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/puppet-v2/PuppetV2Pool.sol -------------------------------------------------------------------------------- /src/Contracts/puppet-v2/UniswapV2Library.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/puppet-v2/UniswapV2Library.sol -------------------------------------------------------------------------------- /src/Contracts/puppet/PuppetPool.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/puppet/PuppetPool.sol -------------------------------------------------------------------------------- /src/Contracts/selfie/SelfiePool.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/selfie/SelfiePool.sol -------------------------------------------------------------------------------- /src/Contracts/selfie/SimpleGovernance.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/selfie/SimpleGovernance.sol -------------------------------------------------------------------------------- /src/Contracts/side-entrance/SideEntranceLenderPool.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/side-entrance/SideEntranceLenderPool.sol -------------------------------------------------------------------------------- /src/Contracts/the-rewarder/AccountingToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/the-rewarder/AccountingToken.sol -------------------------------------------------------------------------------- /src/Contracts/the-rewarder/FlashLoanerPool.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/the-rewarder/FlashLoanerPool.sol -------------------------------------------------------------------------------- /src/Contracts/the-rewarder/RewardToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/the-rewarder/RewardToken.sol -------------------------------------------------------------------------------- /src/Contracts/the-rewarder/TheRewarderPool.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/the-rewarder/TheRewarderPool.sol -------------------------------------------------------------------------------- /src/Contracts/truster/TrusterLenderPool.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/truster/TrusterLenderPool.sol -------------------------------------------------------------------------------- /src/Contracts/unstoppable/ReceiverUnstoppable.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/unstoppable/ReceiverUnstoppable.sol -------------------------------------------------------------------------------- /src/Contracts/unstoppable/UnstoppableLender.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/Contracts/unstoppable/UnstoppableLender.sol -------------------------------------------------------------------------------- /src/build-uniswap/v1/UniswapV1Exchange.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/build-uniswap/v1/UniswapV1Exchange.json -------------------------------------------------------------------------------- /src/build-uniswap/v1/UniswapV1Factory.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/build-uniswap/v1/UniswapV1Factory.json -------------------------------------------------------------------------------- /src/build-uniswap/v2/UniswapV2Factory.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/build-uniswap/v2/UniswapV2Factory.json -------------------------------------------------------------------------------- /src/build-uniswap/v2/UniswapV2Pair.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/build-uniswap/v2/UniswapV2Pair.json -------------------------------------------------------------------------------- /src/build-uniswap/v2/UniswapV2Router02.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/src/build-uniswap/v2/UniswapV2Router02.json -------------------------------------------------------------------------------- /test/Levels/backdoor/Backdoor.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/test/Levels/backdoor/Backdoor.t.sol -------------------------------------------------------------------------------- /test/Levels/backdoor/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/test/Levels/backdoor/README.md -------------------------------------------------------------------------------- /test/Levels/climber/Climber.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/test/Levels/climber/Climber.t.sol -------------------------------------------------------------------------------- /test/Levels/climber/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/test/Levels/climber/README.md -------------------------------------------------------------------------------- /test/Levels/compromised/Compromised.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/test/Levels/compromised/Compromised.t.sol -------------------------------------------------------------------------------- /test/Levels/compromised/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/test/Levels/compromised/README.md -------------------------------------------------------------------------------- /test/Levels/free-rider/FreeRider.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/test/Levels/free-rider/FreeRider.t.sol -------------------------------------------------------------------------------- /test/Levels/free-rider/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/test/Levels/free-rider/README.md -------------------------------------------------------------------------------- /test/Levels/naive-receiver/NaiveReceiver.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/test/Levels/naive-receiver/NaiveReceiver.t.sol -------------------------------------------------------------------------------- /test/Levels/naive-receiver/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/test/Levels/naive-receiver/README.md -------------------------------------------------------------------------------- /test/Levels/puppet-v2/PuppetV2.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/test/Levels/puppet-v2/PuppetV2.t.sol -------------------------------------------------------------------------------- /test/Levels/puppet-v2/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/test/Levels/puppet-v2/README.md -------------------------------------------------------------------------------- /test/Levels/puppet/Puppet.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/test/Levels/puppet/Puppet.t.sol -------------------------------------------------------------------------------- /test/Levels/puppet/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/test/Levels/puppet/README.md -------------------------------------------------------------------------------- /test/Levels/safe-miners/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/test/Levels/safe-miners/README.md -------------------------------------------------------------------------------- /test/Levels/safe-miners/SafeMiners.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/test/Levels/safe-miners/SafeMiners.t.sol -------------------------------------------------------------------------------- /test/Levels/selfie/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/test/Levels/selfie/README.md -------------------------------------------------------------------------------- /test/Levels/selfie/Selfie.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/test/Levels/selfie/Selfie.t.sol -------------------------------------------------------------------------------- /test/Levels/side-entrance/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/test/Levels/side-entrance/README.md -------------------------------------------------------------------------------- /test/Levels/side-entrance/SideEntrance.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/test/Levels/side-entrance/SideEntrance.t.sol -------------------------------------------------------------------------------- /test/Levels/the-rewarder/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/test/Levels/the-rewarder/README.md -------------------------------------------------------------------------------- /test/Levels/the-rewarder/TheRewarder.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/test/Levels/the-rewarder/TheRewarder.t.sol -------------------------------------------------------------------------------- /test/Levels/truster/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/test/Levels/truster/README.md -------------------------------------------------------------------------------- /test/Levels/truster/Truster.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/test/Levels/truster/Truster.t.sol -------------------------------------------------------------------------------- /test/Levels/unstoppable/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/test/Levels/unstoppable/README.md -------------------------------------------------------------------------------- /test/Levels/unstoppable/Unstoppable.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/test/Levels/unstoppable/Unstoppable.t.sol -------------------------------------------------------------------------------- /test/utils/Utilities.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolasgarcia214/damn-vulnerable-defi-foundry/HEAD/test/utils/Utilities.sol --------------------------------------------------------------------------------