token-gallery-contracts/contracts/Managed.sol

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