diff options
Diffstat (limited to 'packages/contracts/src/2.0.0/utils/Ownable/Ownable.sol')
-rw-r--r-- | packages/contracts/src/2.0.0/utils/Ownable/Ownable.sol | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/packages/contracts/src/2.0.0/utils/Ownable/Ownable.sol b/packages/contracts/src/2.0.0/utils/Ownable/Ownable.sol new file mode 100644 index 000000000..6f5761cc7 --- /dev/null +++ b/packages/contracts/src/2.0.0/utils/Ownable/Ownable.sol @@ -0,0 +1,38 @@ +pragma solidity ^0.4.24; +pragma experimental ABIEncoderV2; + +/* + * Ownable + * + * Base contract with an owner. + * Provides onlyOwner modifier, which prevents function from running if it is called by anyone other than the owner. + */ + +import "./IOwnable.sol"; + +contract Ownable is IOwnable { + address public owner; + + constructor () + public + { + owner = msg.sender; + } + + modifier onlyOwner() { + require( + msg.sender == owner, + "ONLY_CONTRACT_OWNER" + ); + _; + } + + function transferOwnership(address newOwner) + public + onlyOwner + { + if (newOwner != address(0)) { + owner = newOwner; + } + } +} |