I create a contract and implement a cleanup function like this
modifier ownerOnly {
if(msg.sender != owner) revert();
_;
}
function cleanup() public ownerOnly {
if(!canDelete()) { //perform validations
SelfDestructError("Invalid state. Cannot destruct");
revert();
}
selfdestruct(owner);
}
Now my question is since my contract does not implement selfdestruct/suicide/kill method. Can someone still call the "selfdestruct" and take away any balance from this contract using delegateCall, I did see this and I think its not possible for some other contract to just call a selfdestruct on mine. I would like to know if what I understand is correct?