aboutsummaryrefslogtreecommitdiffstats
path: root/packages/contracts/src/2.0.0/utils/SafeMath/SafeMath.sol
diff options
context:
space:
mode:
authorFabio Berger <me@fabioberger.com>2018-07-19 23:48:06 +0800
committerFabio Berger <me@fabioberger.com>2018-07-19 23:48:06 +0800
commitd8898cf9a30cc349868afcf2b78e6369e57aa726 (patch)
treef96d1aa76c7e5aa9e3311d5cdbd0d31c8ec8d7fb /packages/contracts/src/2.0.0/utils/SafeMath/SafeMath.sol
parent1aaf633df883f62fad890b2d87a2dc89067821c5 (diff)
parent3de88d5345c7a4549bc69e2ca28f0601f5d42189 (diff)
downloaddexon-sol-tools-d8898cf9a30cc349868afcf2b78e6369e57aa726.tar
dexon-sol-tools-d8898cf9a30cc349868afcf2b78e6369e57aa726.tar.gz
dexon-sol-tools-d8898cf9a30cc349868afcf2b78e6369e57aa726.tar.bz2
dexon-sol-tools-d8898cf9a30cc349868afcf2b78e6369e57aa726.tar.lz
dexon-sol-tools-d8898cf9a30cc349868afcf2b78e6369e57aa726.tar.xz
dexon-sol-tools-d8898cf9a30cc349868afcf2b78e6369e57aa726.tar.zst
dexon-sol-tools-d8898cf9a30cc349868afcf2b78e6369e57aa726.zip
merge v2-prototype
Diffstat (limited to 'packages/contracts/src/2.0.0/utils/SafeMath/SafeMath.sol')
-rw-r--r--packages/contracts/src/2.0.0/utils/SafeMath/SafeMath.sol18
1 files changed, 15 insertions, 3 deletions
diff --git a/packages/contracts/src/2.0.0/utils/SafeMath/SafeMath.sol b/packages/contracts/src/2.0.0/utils/SafeMath/SafeMath.sol
index 4413244db..190989181 100644
--- a/packages/contracts/src/2.0.0/utils/SafeMath/SafeMath.sol
+++ b/packages/contracts/src/2.0.0/utils/SafeMath/SafeMath.sol
@@ -7,8 +7,14 @@ contract SafeMath {
pure
returns (uint256)
{
+ if (a == 0) {
+ return 0;
+ }
uint256 c = a * b;
- assert(a == 0 || c / a == b);
+ require(
+ c / a == b,
+ "UINT256_OVERFLOW"
+ );
return c;
}
@@ -26,7 +32,10 @@ contract SafeMath {
pure
returns (uint256)
{
- assert(b <= a);
+ require(
+ b <= a,
+ "UINT256_OVERFLOW"
+ );
return a - b;
}
@@ -36,7 +45,10 @@ contract SafeMath {
returns (uint256)
{
uint256 c = a + b;
- assert(c >= a);
+ require(
+ c >= a,
+ "UINT256_OVERFLOW"
+ );
return c;
}