Is it possible to create and destroy a contract in a single transaction? Specifically could I:
- deploy to a known address using CREATE2
- call a function on that contract
- destroy the contract and recover some of the deployment cost
all in one transaction?
Second part of the question. If that is possible would the account submitting the transaction need to have the full gas amount to deploy the contract or would I only need to provide the deployment cost minus the refund from self-destruct?