Skip to content

Instantly share code, notes, and snippets.

@khofesh
Created September 8, 2021 15:07
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Embed
What would you like to do?
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.7.6+commit.7338295f.js&optimize=false&runs=200&gist=
pragma solidity ^0.8.4;
contract StartingStopping {
address public owner;
bool public paused;
constructor() {
owner = msg.sender;
}
function sendMoney() public payable {
}
function setPaused(bool _paused) public {
require(msg.sender == owner, "You're not the owner");
paused = _paused;
}
function withdrawAllMoney(address payable _dest) public {
require(msg.sender == owner, "You're not the owner");
require(!paused, "The contract is paused");
_dest.transfer(address(this).balance);
}
function destroySmartContract(address payable _dest) public {
require(msg.sender == owner, "You're not the owner");
selfdestruct(_dest);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment