Есть например пример смарт-контракта-кошелька. можно положить на счет эфир, можно снять. я хочу чтобы можно было уничтожить контракт но при этом разослать всем кто хранил эфир обратно
pragma solidity >=0.4.22 <0.7.0;
import "../Owner.sol";
contract Wallet is Owner {
mapping (address => uint) private balances;
function deposit() public payable {
balances[msg.sender] += msg.value;
}
function withdraw(uint money) public payable {
require(balances[msg.sender] >= money);
balances[msg.sender] -= money;
msg.sender.transfer(money);
}
function balance() public view returns (uint) {
return balances[msg.sender];
}
function kill() public isOwner { //onlyOwner is custom modifier
// не знаю что тут делать
for (uint i = 0; i < balances.length; i++) {
}
selfdestruct(msg.sender); // `owner` is the owners address
}
}