├── .github └── workflows │ └── test.yml ├── .gitignore ├── .gitmodules ├── README.md ├── foundry.toml ├── script └── Contract.s.sol ├── src ├── ChecksEffectsInteractions.sol ├── IERC20.sol ├── LockCompiler.sol ├── MultiplyBeforeDivide.sol ├── Pull.sol ├── ReentrancyGuard.sol ├── SameLocalAndStateVariables.sol ├── SecurityOverGas.sol ├── Simple.sol ├── SimpleFallback.sol ├── UnboundedLoops.sol └── UserInput.sol └── test ├── Contract.t.sol ├── ReentrancyGuard.t.sol ├── UnboundedLoops.t.sol └── UserInput.t.sol /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t4sk/sol-best-practices/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | cache/ 2 | out/ 3 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t4sk/sol-best-practices/HEAD/.gitmodules -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t4sk/sol-best-practices/HEAD/README.md -------------------------------------------------------------------------------- /foundry.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t4sk/sol-best-practices/HEAD/foundry.toml -------------------------------------------------------------------------------- /script/Contract.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t4sk/sol-best-practices/HEAD/script/Contract.s.sol -------------------------------------------------------------------------------- /src/ChecksEffectsInteractions.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t4sk/sol-best-practices/HEAD/src/ChecksEffectsInteractions.sol -------------------------------------------------------------------------------- /src/IERC20.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t4sk/sol-best-practices/HEAD/src/IERC20.sol -------------------------------------------------------------------------------- /src/LockCompiler.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t4sk/sol-best-practices/HEAD/src/LockCompiler.sol -------------------------------------------------------------------------------- /src/MultiplyBeforeDivide.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t4sk/sol-best-practices/HEAD/src/MultiplyBeforeDivide.sol -------------------------------------------------------------------------------- /src/Pull.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t4sk/sol-best-practices/HEAD/src/Pull.sol -------------------------------------------------------------------------------- /src/ReentrancyGuard.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t4sk/sol-best-practices/HEAD/src/ReentrancyGuard.sol -------------------------------------------------------------------------------- /src/SameLocalAndStateVariables.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t4sk/sol-best-practices/HEAD/src/SameLocalAndStateVariables.sol -------------------------------------------------------------------------------- /src/SecurityOverGas.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t4sk/sol-best-practices/HEAD/src/SecurityOverGas.sol -------------------------------------------------------------------------------- /src/Simple.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t4sk/sol-best-practices/HEAD/src/Simple.sol -------------------------------------------------------------------------------- /src/SimpleFallback.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t4sk/sol-best-practices/HEAD/src/SimpleFallback.sol -------------------------------------------------------------------------------- /src/UnboundedLoops.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t4sk/sol-best-practices/HEAD/src/UnboundedLoops.sol -------------------------------------------------------------------------------- /src/UserInput.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t4sk/sol-best-practices/HEAD/src/UserInput.sol -------------------------------------------------------------------------------- /test/Contract.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t4sk/sol-best-practices/HEAD/test/Contract.t.sol -------------------------------------------------------------------------------- /test/ReentrancyGuard.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t4sk/sol-best-practices/HEAD/test/ReentrancyGuard.t.sol -------------------------------------------------------------------------------- /test/UnboundedLoops.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t4sk/sol-best-practices/HEAD/test/UnboundedLoops.t.sol -------------------------------------------------------------------------------- /test/UserInput.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t4sk/sol-best-practices/HEAD/test/UserInput.t.sol --------------------------------------------------------------------------------