diff options
author | Amir Bandeali <abandeali1@gmail.com> | 2018-02-03 02:57:18 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-03 02:57:18 +0800 |
commit | 6a9d3de0f98dee20963f0f70a9b7ad08b9508100 (patch) | |
tree | 6fbea107aa30cbef31329bfcb68223dd8ab142d8 /packages/contracts/src/current/utils | |
parent | 47d74aa24ac06de33ae331f3589e9c8013c655ec (diff) | |
parent | 05aae368132a81ddb9fd6a04ac5b0ff1cbb24691 (diff) | |
download | dexon-0x-contracts-6a9d3de0f98dee20963f0f70a9b7ad08b9508100.tar dexon-0x-contracts-6a9d3de0f98dee20963f0f70a9b7ad08b9508100.tar.gz dexon-0x-contracts-6a9d3de0f98dee20963f0f70a9b7ad08b9508100.tar.bz2 dexon-0x-contracts-6a9d3de0f98dee20963f0f70a9b7ad08b9508100.tar.lz dexon-0x-contracts-6a9d3de0f98dee20963f0f70a9b7ad08b9508100.tar.xz dexon-0x-contracts-6a9d3de0f98dee20963f0f70a9b7ad08b9508100.tar.zst dexon-0x-contracts-6a9d3de0f98dee20963f0f70a9b7ad08b9508100.zip |
Merge pull request #329 from 0xProject/feature/contracts/versioning
Implement stop-gap smart contract versioning
Diffstat (limited to 'packages/contracts/src/current/utils')
-rw-r--r-- | packages/contracts/src/current/utils/Ownable/Ownable.sol | 32 | ||||
-rw-r--r-- | packages/contracts/src/current/utils/SafeMath/SafeMath.sol | 73 |
2 files changed, 105 insertions, 0 deletions
diff --git a/packages/contracts/src/current/utils/Ownable/Ownable.sol b/packages/contracts/src/current/utils/Ownable/Ownable.sol new file mode 100644 index 000000000..9b3d6b9cf --- /dev/null +++ b/packages/contracts/src/current/utils/Ownable/Ownable.sol @@ -0,0 +1,32 @@ +pragma solidity ^0.4.18; + +/* + * Ownable + * + * Base contract with an owner. + * Provides onlyOwner modifier, which prevents function from running if it is called by anyone other than the owner. + */ + +contract Ownable { + address public owner; + + function Ownable() + public + { + owner = msg.sender; + } + + modifier onlyOwner() { + require(msg.sender == owner); + _; + } + + function transferOwnership(address newOwner) + public + onlyOwner + { + if (newOwner != address(0)) { + owner = newOwner; + } + } +} diff --git a/packages/contracts/src/current/utils/SafeMath/SafeMath.sol b/packages/contracts/src/current/utils/SafeMath/SafeMath.sol new file mode 100644 index 000000000..955a9e379 --- /dev/null +++ b/packages/contracts/src/current/utils/SafeMath/SafeMath.sol @@ -0,0 +1,73 @@ +pragma solidity ^0.4.18; + +contract SafeMath { + function safeMul(uint a, uint b) + internal + pure + returns (uint256) + { + uint c = a * b; + assert(a == 0 || c / a == b); + return c; + } + + function safeDiv(uint a, uint b) + internal + pure + returns (uint256) + { + uint c = a / b; + return c; + } + + function safeSub(uint a, uint b) + internal + pure + returns (uint256) + { + assert(b <= a); + return a - b; + } + + function safeAdd(uint a, uint b) + internal + pure + returns (uint256) + { + uint c = a + b; + assert(c >= a); + return c; + } + + function max64(uint64 a, uint64 b) + internal + pure + returns (uint256) + { + return a >= b ? a : b; + } + + function min64(uint64 a, uint64 b) + internal + pure + returns (uint256) + { + return a < b ? a : b; + } + + function max256(uint256 a, uint256 b) + internal + pure + returns (uint256) + { + return a >= b ? a : b; + } + + function min256(uint256 a, uint256 b) + internal + pure + returns (uint256) + { + return a < b ? a : b; + } +} |