mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-20 07:09:15 +01:00
30a94b1ab9test, wallet: Remove concurrent writes test (Ava Chow)b44b7c03fewallet: Write best block record on unload (Ava Chow)876a2585a8wallet: Remove unnecessary database Close step on shutdown (Ava Chow)98a1a5275cwallet: Remove chainStateFlushed (Ava Chow)7fd3e1cf0cwallet, bench: Write a bestblock record in WalletMigration (Ava Chow)6d3a8b195awallet: Replace chainStateFlushed in loading with SetLastBlockProcessed (Ava Chow)7bacabb204wallet: Update best block record after block dis/connect (Ava Chow) Pull request description: Implements the idea discussed in https://github.com/bitcoin/bitcoin/pull/29652#issuecomment-2010579484 Currently, `m_last_block_processed` and `m_last_block_processed_height` are not guaranteed to match the block locator stored in the wallet, nor do either of those fields actually represent the last block that the wallet is synced up to. This is confusing and unintuitive. This PR changes those last block fields to be updated whenever the wallet makes a change to the db for new transaction state found in new blocks. Whenever a block is received that contains a transaction relevant to the wallet, the last block locator will now be written to disk. Furthermore, every block disconnection will now write an updated locator. To ensure that the locator is relatively recent and loading rescans are fairly quick in the event of unplanned shutdown, it is also now written every 144 blocks (~1 day). Additionally it is now written when the wallet is unloaded so that it is accurate when the wallet is loaded again. Lastly, the `chainstateFlushed` notification in the wallet is changed to be a no-op. The best block locator record is no longer written when `chainstateFlushed` is received from the node since it should already be mostly up to date. ACKs for top commit: rkrux: ACK30a94b1ab9mzumsande: Code Review ACK30a94b1ab9ryanofsky: Code review ACK30a94b1ab9. Only changes since last review are using WriteBestBlock method more places and updating comments. Tree-SHA512: 46117541f8aaf13dde57430e813b4bbbd5e146e2632769675803c8e65a82f149a7cc6026489a127d32684b90124bd2b7c28216dbcfa6a47447300e8f3814e029
10 KiB
Executable File
10 KiB
Executable File