HomePhabricator

simplify ChainstateManager::SnapshotBlockhash() return semantics

Description

simplify ChainstateManager::SnapshotBlockhash() return semantics

Summary:
https://github.com/bitcoin/bitcoin/pull/19806/commits/f6e2da5fb7c6406c37612c838c998078ea8d2252

Don't return null snapshotblockhash values to avoid caller complexity/confusion.


https://github.com/bitcoin/bitcoin/pull/21681/commits/931684b24a89aba884cb18c13fa67ccca339ee8c

validation: fix ActivateSnapshot to use hardcoded nChainTx

This fixes an oversight from the move of nChainTx from the user-supplied
snapshot metadata into the hardcoded assumeutxo chainparams.

Since the nChainTx is now unused in the metadata, it should be removed
in a future commit.


https://github.com/bitcoin/bitcoin/pull/21681/commits/91d93aac4e3fe6fff5ef492ed152c4d8fa6f2672

validation: remove nchaintx from assumeutxo metadata

This value is no longer used and is instead specified statically
in chainparams. This change means that previously generated
snapshots will no longer be usable.


https://github.com/bitcoin/bitcoin/pull/21582/commits/fa9b74f5ea89624e052934c48391b5076a87ffef

Fix assumeutxo crash due to missing base_blockhash


https://github.com/bitcoin/bitcoin/pull/21584/commits/fae33f98e6a8d5934edbdce2eb8688112eac41a8

Fix assumeutxo crash due to invalid base_blockhash

Can be reviewed with --color-moved=dimmed-zebra --color-moved-ws=ignore-all-space


https://github.com/bitcoin/bitcoin/pull/21585/commits/fa73ce6e653d00824eb68f772fd29b7f8fb93d84

Fix assumeutxo crash due to truncated file


This is a backport of core#19806 [5/8], core#21681 (partial), core#21582 (partial), core#21584 (partial) and core#21585

Notes:

  • The test related changes from core#21681, core#21582 and core#21584 are in D11241. This is because they depend on a missing (for now) test fixture for malleating the utxo snapshots.

Test Plan: ninja all check-all

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Subscribers: Fabien

Differential Revision: https://reviews.bitcoinabc.org/D11239

Details

Provenance
James O'Beirne <james.obeirne@pm.me>Authored on Aug 25 2020, 17:50
PiRKCommitted on Apr 13 2022, 06:39
PiRKPushed on Apr 13 2022, 06:39
Reviewer
Restricted Project
Differential Revision
D11239: simplify ChainstateManager::SnapshotBlockhash() return semantics
Parents
rABCc77a34b4a5d7: [Cashtab] Contact List
Branches
Unknown
Tags
Unknown