diff options
author | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2015-12-06 20:48:17 +0000 |
---|---|---|
committer | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2015-12-06 21:55:05 +0000 |
commit | a98e976f9eabf2112a75347147becc1956ef8d66 (patch) | |
tree | c7ee89c4b09ee601a829cd60d76b4c81cc41a694 /src/cryptonote_core | |
parent | Merge pull request #518 (diff) | |
download | monero-a98e976f9eabf2112a75347147becc1956ef8d66.tar.xz |
blockchain_db: fixup missing key images in early DB version
Early DB versions did not store key images for inputs if the
transaction spending them had no outputs (ie, all fee). This
is not correct, as this would allow these outputs to be double
spent. This was fixed in 533acc30eda7792c802ea8b6417917fa99b8bc2b
a few months ago, but databases having synced blocks 2021612 and
685498 with a faulty version will be missing those key images
in the spent keys database. This code checks for this, and adds
those key images if they are missing.
Diffstat (limited to 'src/cryptonote_core')
-rw-r--r-- | src/cryptonote_core/blockchain.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cryptonote_core/blockchain.cpp b/src/cryptonote_core/blockchain.cpp index af7713972..2d71b61a1 100644 --- a/src/cryptonote_core/blockchain.cpp +++ b/src/cryptonote_core/blockchain.cpp @@ -293,6 +293,9 @@ bool Blockchain::init(BlockchainDB* db, const bool testnet) { } + // ensure we fixup anything we found and fix in the future + m_db->fixup(); + // check how far behind we are uint64_t top_block_timestamp = m_db->get_top_block_timestamp(); uint64_t timestamp_diff = time(NULL) - top_block_timestamp; |