Avoiding Common Attacks Using Specific Compiler Pragma The Contracts use 0.8 and above, which has inbuilt overflow and underflow checking Proper Use of Require, Assert and Revert Require is used extensively to limit access to unpriviledged users.