Remove/ignore tx version in utxo and undo
commitd342424301013ec47dc146a4beb49d5c9319d80a
authorPieter Wuille <pieter.wuille@gmail.com>
Tue, 25 Apr 2017 18:29:18 +0000 (25 11:29 -0700)
committerPieter Wuille <pieter.wuille@gmail.com>
Fri, 26 May 2017 20:27:50 +0000 (26 13:27 -0700)
tree00574e5165c4b96167009fefe525b024e98eae0f
parent7e0032290669fae5f52c256856c53038511c7db4
Remove/ignore tx version in utxo and undo

This makes the following changes:
* In undo data and the chainstate database, the transaction nVersion
  field is removed from the data structures, always written as 0, and
  ignored when reading.
* The definition of hash_serialized in gettxoutsetinfo is changed to no
  longer incude the nVersion field. It is renamed to hash_serialized_2
  to avoid confusion. The new definition also includes transaction
  height and coinbase information, as this information was missing
  before.

This depends on having a CHashVerifier-based undo data checksum
verifier.

Apart from changing the definition of serialized_hash, downgrading
after using this patch is supported, as no release ever used the value
of nVersion field in UTXO entries.
doc/release-notes.md
src/coins.h
src/rest.cpp
src/rpc/blockchain.cpp
src/test/coins_tests.cpp
src/test/transaction_tests.cpp
src/undo.h
src/validation.cpp
test/functional/blockchain.py