SafeMath
En la mayoría de los lenguajes de programación modernos, se tiene en cuenta la seguridad en las operaciones aritméticas, por lo que se piensa muy poco en su implementación. Sin embargo, en Solidity, los desbordamientos y subdesbordamientos presentan un riesgo de seguridad.
SafeMath
es una biblioteca que garantiza operaciones aritméticas seguras al revertir la transacción si se exceden los límites de un tipo de datos enteros.
El using
declaración indica al compilador que el contrato está utilizando funciones definidas en SafeMath
para uint
operaciones. En lugar de utilizar operadores aritméticos (+
, -
, *
, /
, %
), usa las funciones add()
, sub()
, mul()
, div()
y mod()
.