SafeMath
Na maioria das linguagens de programação modernas, a segurança nas operações aritméticas é levada em consideração, portanto, pouca atenção é dada à sua implementação. No entanto, no Solidity, overflows e underflows apresentam um risco de segurança.
SafeMath
é uma biblioteca que garante operações aritméticas seguras, revertendo a transação se os limites de um tipo de dados inteiro forem excedidos.
A using
instrução indica ao compilador que o contrato está usando funções definidas em SafeMath
para uint
operações. Em vez de usar operadores aritméticos (+
, -
, *
, /
, %
), use as funções add()
, sub()
, mul()
, div()
e mod()
.