mirror of https://github.com/crytic/slither
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.0 KiB
55 lines
1.0 KiB
4 years ago
|
import "./Initializable.sol";
|
||
|
|
||
|
contract Fixed is Initializable{
|
||
|
address payable owner;
|
||
|
|
||
|
constructor() public{
|
||
|
owner = msg.sender;
|
||
|
}
|
||
|
|
||
|
function initialize() external initializer{
|
||
|
require(owner == address(0));
|
||
|
owner = msg.sender;
|
||
|
}
|
||
|
function kill() external{
|
||
|
require(msg.sender == owner);
|
||
|
selfdestruct(owner);
|
||
|
}
|
||
|
|
||
|
function other_function() external{
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
contract Not_Upgradeable{
|
||
|
}
|
||
|
|
||
|
contract UpgradeableNoDestruct is Initializable{
|
||
|
address payable owner;
|
||
|
|
||
|
constructor() public{
|
||
|
owner = msg.sender;
|
||
|
}
|
||
|
|
||
|
function initialize() external initializer{
|
||
|
require(owner == address(0));
|
||
|
owner = msg.sender;
|
||
|
}
|
||
3 years ago
|
}
|
||
|
|
||
|
contract Fixed2 is Initializable {
|
||
|
address payable owner;
|
||
|
|
||
|
constructor() public initializer {}
|
||
|
|
||
|
function initialize() external initializer {
|
||
|
require(owner == address(0));
|
||
|
owner = msg.sender;
|
||
|
}
|
||
|
|
||
|
function kill() external {
|
||
|
require(msg.sender == owner);
|
||
|
selfdestruct(owner);
|
||
|
}
|
||
4 years ago
|
}
|