├── .env.example ├── .github └── workflows │ └── test.yml ├── .gitignore ├── .gitmodules ├── README.md ├── challenge-contracts ├── 01-Fallback.sol ├── 02-Fallout.sol ├── 03-CoinFlip.sol ├── 04-Telephone.sol ├── 05-Token.sol ├── 06-Delegation.sol ├── 07-Force.sol ├── 08-Vault.sol ├── 09-King.sol ├── 10-Reentrance.sol ├── 11-Elevator.sol ├── 12-Privacy.sol ├── 13-GatekeeperOne.sol ├── 14-GatekeeperTwo.sol ├── 15-NaughtCoin.sol ├── 16-Preservation.sol ├── 17-Recovery.sol ├── 18-MagicNumber.sol ├── 19-AlienCodex.sol ├── 20-Denial.sol ├── 21-Shop.sol ├── 22-Dex.sol ├── 23-DexTwo.sol ├── 24-PuzzleWallet.sol ├── 25-Motorbike.sol ├── 26-DoubleEntryPoint.sol ├── 27-GoodSamaritan.sol ├── 28-GatekeeperThree.sol └── 29-Switch.sol ├── challenge-info ├── 01-Fallback.md ├── 02-Fallout.md ├── 03-CoinFlip.md ├── 04-Telephone.md ├── 05-Token.md ├── 06-Delegation.md ├── 07-Force.md ├── 08-Vault.md ├── 09-King.md ├── 10-Reentrance.md ├── 11-Elevator.md ├── 12-Privacy.md ├── 13-GatekeeperOne.md ├── 14-GatekeeperTwo.md ├── 15-NaughtCoin.md └── 16-Preservation.md ├── foundry.toml ├── script ├── setup │ ├── EthernautHelper.sol │ └── IEthernaut.sol └── solutions │ ├── 01-Fallback.s.sol │ ├── 02-Fallout.s.sol │ ├── 03-CoinFlip.s.sol │ ├── 04-Telephone.s.sol │ ├── 05-Token.s.sol │ ├── 06-Delegation.s.sol │ ├── 07-Force.s.sol │ ├── 08-Vault.s.sol │ ├── 09-King.s.sol │ ├── 10-Reentrance.s.sol │ ├── 11-Elevator.s.sol │ ├── 12-Privacy.s.sol │ ├── 13-GatekeeperOne.s.sol │ ├── 14-GatekeeperTwo.s.sol │ ├── 15-NaughtCoin.s.sol │ ├── 16-Preservation.s.sol │ ├── 17-Recovery.s.sol │ ├── 18-MagicNumber.s.sol │ ├── 19-AlienCodex.s.sol │ ├── 20-Denial.s.sol │ ├── 21-Shop.s.sol │ ├── 22-Dex.s.sol │ ├── 23-DexTwo.s.sol │ ├── 24-PuzzleWallet.s.sol │ ├── 25-Motorbike.s.sol │ ├── 26-DoubleEntryPoint.s.sol │ ├── 27-GoodSamaritan.s.sol │ ├── 28-GatekeeperThree.s.sol │ └── 29-Switch.s.sol └── src └── README.md /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/.env.example -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/.gitmodules -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/README.md -------------------------------------------------------------------------------- /challenge-contracts/01-Fallback.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/01-Fallback.sol -------------------------------------------------------------------------------- /challenge-contracts/02-Fallout.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/02-Fallout.sol -------------------------------------------------------------------------------- /challenge-contracts/03-CoinFlip.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/03-CoinFlip.sol -------------------------------------------------------------------------------- /challenge-contracts/04-Telephone.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/04-Telephone.sol -------------------------------------------------------------------------------- /challenge-contracts/05-Token.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/05-Token.sol -------------------------------------------------------------------------------- /challenge-contracts/06-Delegation.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/06-Delegation.sol -------------------------------------------------------------------------------- /challenge-contracts/07-Force.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/07-Force.sol -------------------------------------------------------------------------------- /challenge-contracts/08-Vault.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/08-Vault.sol -------------------------------------------------------------------------------- /challenge-contracts/09-King.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/09-King.sol -------------------------------------------------------------------------------- /challenge-contracts/10-Reentrance.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/10-Reentrance.sol -------------------------------------------------------------------------------- /challenge-contracts/11-Elevator.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/11-Elevator.sol -------------------------------------------------------------------------------- /challenge-contracts/12-Privacy.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/12-Privacy.sol -------------------------------------------------------------------------------- /challenge-contracts/13-GatekeeperOne.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/13-GatekeeperOne.sol -------------------------------------------------------------------------------- /challenge-contracts/14-GatekeeperTwo.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/14-GatekeeperTwo.sol -------------------------------------------------------------------------------- /challenge-contracts/15-NaughtCoin.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/15-NaughtCoin.sol -------------------------------------------------------------------------------- /challenge-contracts/16-Preservation.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/16-Preservation.sol -------------------------------------------------------------------------------- /challenge-contracts/17-Recovery.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/17-Recovery.sol -------------------------------------------------------------------------------- /challenge-contracts/18-MagicNumber.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/18-MagicNumber.sol -------------------------------------------------------------------------------- /challenge-contracts/19-AlienCodex.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/19-AlienCodex.sol -------------------------------------------------------------------------------- /challenge-contracts/20-Denial.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/20-Denial.sol -------------------------------------------------------------------------------- /challenge-contracts/21-Shop.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/21-Shop.sol -------------------------------------------------------------------------------- /challenge-contracts/22-Dex.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/22-Dex.sol -------------------------------------------------------------------------------- /challenge-contracts/23-DexTwo.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/23-DexTwo.sol -------------------------------------------------------------------------------- /challenge-contracts/24-PuzzleWallet.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/24-PuzzleWallet.sol -------------------------------------------------------------------------------- /challenge-contracts/25-Motorbike.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/25-Motorbike.sol -------------------------------------------------------------------------------- /challenge-contracts/26-DoubleEntryPoint.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/26-DoubleEntryPoint.sol -------------------------------------------------------------------------------- /challenge-contracts/27-GoodSamaritan.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/27-GoodSamaritan.sol -------------------------------------------------------------------------------- /challenge-contracts/28-GatekeeperThree.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/28-GatekeeperThree.sol -------------------------------------------------------------------------------- /challenge-contracts/29-Switch.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-contracts/29-Switch.sol -------------------------------------------------------------------------------- /challenge-info/01-Fallback.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-info/01-Fallback.md -------------------------------------------------------------------------------- /challenge-info/02-Fallout.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-info/02-Fallout.md -------------------------------------------------------------------------------- /challenge-info/03-CoinFlip.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-info/03-CoinFlip.md -------------------------------------------------------------------------------- /challenge-info/04-Telephone.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-info/04-Telephone.md -------------------------------------------------------------------------------- /challenge-info/05-Token.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-info/05-Token.md -------------------------------------------------------------------------------- /challenge-info/06-Delegation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-info/06-Delegation.md -------------------------------------------------------------------------------- /challenge-info/07-Force.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-info/07-Force.md -------------------------------------------------------------------------------- /challenge-info/08-Vault.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-info/08-Vault.md -------------------------------------------------------------------------------- /challenge-info/09-King.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-info/09-King.md -------------------------------------------------------------------------------- /challenge-info/10-Reentrance.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-info/10-Reentrance.md -------------------------------------------------------------------------------- /challenge-info/11-Elevator.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-info/11-Elevator.md -------------------------------------------------------------------------------- /challenge-info/12-Privacy.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-info/12-Privacy.md -------------------------------------------------------------------------------- /challenge-info/13-GatekeeperOne.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-info/13-GatekeeperOne.md -------------------------------------------------------------------------------- /challenge-info/14-GatekeeperTwo.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-info/14-GatekeeperTwo.md -------------------------------------------------------------------------------- /challenge-info/15-NaughtCoin.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-info/15-NaughtCoin.md -------------------------------------------------------------------------------- /challenge-info/16-Preservation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/challenge-info/16-Preservation.md -------------------------------------------------------------------------------- /foundry.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/foundry.toml -------------------------------------------------------------------------------- /script/setup/EthernautHelper.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/setup/EthernautHelper.sol -------------------------------------------------------------------------------- /script/setup/IEthernaut.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/setup/IEthernaut.sol -------------------------------------------------------------------------------- /script/solutions/01-Fallback.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/01-Fallback.s.sol -------------------------------------------------------------------------------- /script/solutions/02-Fallout.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/02-Fallout.s.sol -------------------------------------------------------------------------------- /script/solutions/03-CoinFlip.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/03-CoinFlip.s.sol -------------------------------------------------------------------------------- /script/solutions/04-Telephone.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/04-Telephone.s.sol -------------------------------------------------------------------------------- /script/solutions/05-Token.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/05-Token.s.sol -------------------------------------------------------------------------------- /script/solutions/06-Delegation.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/06-Delegation.s.sol -------------------------------------------------------------------------------- /script/solutions/07-Force.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/07-Force.s.sol -------------------------------------------------------------------------------- /script/solutions/08-Vault.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/08-Vault.s.sol -------------------------------------------------------------------------------- /script/solutions/09-King.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/09-King.s.sol -------------------------------------------------------------------------------- /script/solutions/10-Reentrance.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/10-Reentrance.s.sol -------------------------------------------------------------------------------- /script/solutions/11-Elevator.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/11-Elevator.s.sol -------------------------------------------------------------------------------- /script/solutions/12-Privacy.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/12-Privacy.s.sol -------------------------------------------------------------------------------- /script/solutions/13-GatekeeperOne.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/13-GatekeeperOne.s.sol -------------------------------------------------------------------------------- /script/solutions/14-GatekeeperTwo.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/14-GatekeeperTwo.s.sol -------------------------------------------------------------------------------- /script/solutions/15-NaughtCoin.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/15-NaughtCoin.s.sol -------------------------------------------------------------------------------- /script/solutions/16-Preservation.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/16-Preservation.s.sol -------------------------------------------------------------------------------- /script/solutions/17-Recovery.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/17-Recovery.s.sol -------------------------------------------------------------------------------- /script/solutions/18-MagicNumber.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/18-MagicNumber.s.sol -------------------------------------------------------------------------------- /script/solutions/19-AlienCodex.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/19-AlienCodex.s.sol -------------------------------------------------------------------------------- /script/solutions/20-Denial.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/20-Denial.s.sol -------------------------------------------------------------------------------- /script/solutions/21-Shop.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/21-Shop.s.sol -------------------------------------------------------------------------------- /script/solutions/22-Dex.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/22-Dex.s.sol -------------------------------------------------------------------------------- /script/solutions/23-DexTwo.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/23-DexTwo.s.sol -------------------------------------------------------------------------------- /script/solutions/24-PuzzleWallet.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/24-PuzzleWallet.s.sol -------------------------------------------------------------------------------- /script/solutions/25-Motorbike.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/25-Motorbike.s.sol -------------------------------------------------------------------------------- /script/solutions/26-DoubleEntryPoint.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/26-DoubleEntryPoint.s.sol -------------------------------------------------------------------------------- /script/solutions/27-GoodSamaritan.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/27-GoodSamaritan.s.sol -------------------------------------------------------------------------------- /script/solutions/28-GatekeeperThree.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/28-GatekeeperThree.s.sol -------------------------------------------------------------------------------- /script/solutions/29-Switch.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/script/solutions/29-Switch.s.sol -------------------------------------------------------------------------------- /src/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McCoady/ethernaut-foundry/HEAD/src/README.md --------------------------------------------------------------------------------