Skip to content

fix historic output handling in wallet

Luke Champine requested to merge wallet into master

Previously, the wallet manually computed SiacoinOutputIDs when constructing the historic output set. This worked fine for most use cases, but broke down for more complex outputs, such as those derived from file contracts. The wallet now uses the IDs made available in ConsensusChange.SiacoinOutputDiffs, which is precomputed by the consensus module.

As a historical note, I investigated the git history prior to the wallet db upgrade. Looking at commits as old as wallet/update.go@3566874, it is clear that the wallet has never handled these outputs correctly. This may clear up some long-standing (but subtle) discrepancies in the wallet's transaction reporting.

Fixes #1653 (closed).

Merge request reports