Suppose executing the bytecode of a smart contract in a particular (single) transaction leads to several CREATE
's in a row (triggered by the same smart contract). Is it true that the nonce of that smart contract gets raised by 1 with each CREATE
regardless of whether the CREATE
s fail (e.g. hit a REVERT
during execution of its initcode or ran out of gas)?
There is no doubt that the nonce must change with every successful CREATE
so as to assure that future creates in that transaction yield different addresses. But I'm not sure about what happens if a CREATE
failed, although I expect that the nonce is raised regardless.