They can use SELFBALANCE
. There are also other ways to force-send ether besides SELFDESTRUCT
that are even less likely be removed. They are enumerated in the EIP.
I don’t think it’s especially important for code to be able to reject payments. I don’t know of any use-cases. It’s even possible to receive value before contract creation, and senders can lose funds in many ways besides this. I also haven’t heard any FV ppl complain about this, so the objection seems theoretical.