TODO:
- store, instead of just skip over, nu5 transaction fields
- add relevant nu5 fields to CompactBlock
- restore disabled V4 unit tests
- add V5 test vectors to unit tests
The reason most of the V4 transaction and block unit tests are removed
is that they used V3 transactions, which lightwalletd never sees in
production, since lightwalletd starts at Sapling activation (which has
V4 transactions). So these tests were always wrong, in a way. This
commit simplifies the parsing code by removing support for V3 (since it
was never needed). The tests need to be updated to V4, but we'll do
that in a later PR.
Also remove the initial block load (all blocks will come from the
Staging APIs), but there is still more to do (this does not even
start up correctly) but darkside.proto is correct, we believe.
Follow-on to previous commit. Without this change,
darksidewalletd detects corruption, example:
{..."CORRUPTION detected in db blocks-cache files, height 1000..."}
Steps to recreate default-darkside-blocks:
$ mkdir blocks
$ touch blocks/{1000,1001,1002,1003,1004,1005}.txt
$ go run cmd/genblocks/main.go >testdata/default-darkside-blocks