minime/contracts/Controlled.sol

19 lines
620 B
Solidity
Raw Normal View History

2023-09-12 14:22:43 +00:00
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.0;
contract Controlled {
/// @notice The address of the controller is the only address that can call
/// a function with this modifier
modifier onlyController { require(msg.sender == controller); _; }
2023-09-12 14:22:43 +00:00
address payable public controller;
2023-09-12 14:22:43 +00:00
constructor() { controller = payable(msg.sender);}
/// @notice Changes the controller of the contract
/// @param _newController The new controller of the contract
2023-09-12 14:22:43 +00:00
function changeController(address payable _newController) public onlyController {
controller = _newController;
}
}