Files
uniswap-v2/contracts/libraries/SafeMath256.sol
Noah Zinsmeister 2c5a1afd39 add uint128 where applicable
remove mapping in exchange

add example oracle

syntax changes
2019-10-30 18:56:12 -04:00

40 lines
1.3 KiB
Solidity

// https://github.com/OpenZeppelin/openzeppelin-contracts/blob/2f9ae975c8bdc5c7f7fa26204896f6c717f07164/contracts/math/SafeMath.sol
pragma solidity 0.5.12;
library SafeMath256 {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
require(b <= a, "SafeMath: subtraction overflow");
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) return 0;
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
require(b > 0, "SafeMath: division by zero");
uint256 c = a / b;
return c;
}
function downcastTo64(uint256 a) internal pure returns (uint64) {
require(a <= uint64(-1), "SafeMath: downcast overflow");
return uint64(a);
}
function downcastTo128(uint256 a) internal pure returns (uint128) {
require(a <= uint128(-1), "SafeMath: downcast overflow");
return uint128(a);
}
}