refactor: create non-null hash property #967
Merged
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.
Motivation
Currently, the
BaseTransaction.hash
property is of typeOptional[bytes]
, which is pretty inconvenient considering the hash has (and should have) a value most times. For that, we have to use asserts in multiple places to guarantee the value is notNone
.This PR renames the existing optional property to
_hash
, creating a new calculatedhash
property that performs the assert for us. By doing it like this, every place that already uses the existinghash
property will continue to work (only a few places that rely on the possibility of the value beingNone
had to be updated).Acceptance Criteria
BaseTransaction.hash
property to_hash
and add new non-nullhash
property.Checklist
master
, confirm this code is production-ready and can be included in future releases as soon as it gets merged