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;
|
|
}
|
|
} |