In most modern programming languages, safety in arithmetic operations is accounted for, so little thought goes into their implementation. However, in Solidity, overflows and underflows present a security risk.
SafeMath is a library that ensures safe arithmetic operations by reverting the transaction if the bounds of an integer data type are exceeded.
using statement indicates to the compiler that the contract is using functions defined in
uint operations. Instead of using arithmetic operators (
%), use the functions