This is scary. Is there any way to catch this behavior in the invoking contract and revert the transaction or does a self destruct immediately blow everything up? Is any code executed after the self destruct call, either in the delegated contract or the invoking context ? Have been playing around with storage pointer derivation schemes to allow for some degree of isolation and trust minimization but if the receiver can just nuke the contract without mediation it’s a bit of a harder pitch
Jan 27, 2021, 8:31 PM
Well for one, you can avoid making a delegatecall in your contract xD. There is no code executed after self destruct, contract balance is transferred to an address specified in the call
Also proper access control would prohibit illegal access to delegatecall functions
Jan 27, 2021, 8:50 PM