24 lines
616 B
Solidity
24 lines
616 B
Solidity
|
// SPDX-License-Identifier: Proprietary
|
||
|
|
||
|
pragma solidity ^0.7.2;
|
||
|
|
||
|
/**
|
||
|
Manager can call administrative functions on the contract and is a fee
|
||
|
collector.
|
||
|
*/
|
||
|
contract Managed {
|
||
|
address public manager;
|
||
|
|
||
|
event ManagershipTransferred(address indexed from, address indexed to);
|
||
|
|
||
|
modifier onlyManager {
|
||
|
require(manager == msg.sender, "Not manager");
|
||
|
_;
|
||
|
}
|
||
|
|
||
|
function setManager(address newManager) public onlyManager {
|
||
|
require(newManager != address(0), "0 manager disallowed");
|
||
|
emit ManagershipTransferred(manager, newManager);
|
||
|
manager = newManager;
|
||
|
}
|
||
|
}
|