39 lines
670 B
Solidity
39 lines
670 B
Solidity
pragma solidity 0.4.24;
|
|
|
|
/*
|
|
* 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;
|
|
}
|
|
}
|
|
}
|