This fixes a consensus bug: it's possible to make the coinbase witness too big, failing the virtual size test, without affecting the block hash. Since the virtual size failure wasn't setting the corruptionPossible field, the block hash would be marked permanently failed.
Rather than set corruptionPossible, I thought it made more sense to move the check to happen after the witness data has been locked in, so that we could definitively determine if the block is bad.
This fixes a consensus bug: it's possible to make the coinbase witness too big, failing the virtual size test, without affecting the block hash. Since the virtual size failure wasn't setting the
corruptionPossible
field, the block hash would be marked permanently failed.Rather than set
corruptionPossible
, I thought it made more sense to move the check to happen after the witness data has been locked in, so that we could definitively determine if the block is bad.