BugFix: tx sync parsing problem fixed + extra refactoring. #1875
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.
PR solving the current master's syncing issue (syncing process not passing through block 5840), solved in 9d8b8a2.
Essentially, when we merged #1815, we moved from using the default transaction constructor and the ser/unser template methods (
SerializationOp
) to be using, inside the templated serialization puzzle, the deserializing constructor (CTransaction(deserialize_type, Stream& s)
) which internally creates aCMutableTransaction
which wasn't having the same sapling tx version guard asCTransaction
ser/unser method. So, in other words, it was trying to parse the shielded transaction data from an old version two transaction (yes, we already have version two transaction in our network.. first one is in block 5840).Plus, i took the mischief of not only including the bugfix, have added:
PeerLogicValidation
class compiler warning fix 1ca1b89