Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
During testing of rollback feature, two issues were found that resulted in manlfunctions or panics:
HeaderHash vs BlockHash misconversion
HeaderHash and BlockHash are the same hash but just Blake2b256 vs raw byte slice of the same hash.
This caused header_hash() to re-hash the hash, giving incorrect hashes
and thus breaking the rollback code that it was written for.
This change was tested with the new rollback code and with a test
assert.
Asserts not taking into account boundary blocks not increasing difficulty
Epoch boundary blocks don't contribute to the difficulty of the chain,
but some asserts in Storage written for the rollback feature did not
take this into account, which caused panics during rollback.
These changes were tested under rollback (and existing unit tests).