Hi,
I learned about the SELFDESTRUCT opcode. So smart contracts once deployed on Ethereum cannot be changed or upgraded. However, there is the possibility to delete the smart contract by programming this functionality into the smart contract and calling SELFDESTRUCT.
What I don’t understand … if it is possible to delete a smart contract by coding that into it upfront, why can’t I upgrade it by having an equivalent code foreseeing upgrades?
Thanks!