PR description:
> Maintaining the blockfilterindexes in prune mode is possible and may lead to efficient p2p based rescans of wallets (restore backups, import/sweep keys) beyond the prune height (rescans not part of that PR).
>
> This PR allows running the blockfilterindex(es) in conjunction with pruning.
>
> - Bitcoind/Qt will shutdown during startup when missing block data has been detected ([re]enable -blockfilterindex when we already have pruned)
> - manual block pruning is disabled during blockfilterindex sync
> - auto-pruning is delayed during blockfilterindex sync
> Allow blockfilter in conjunction with prune
https://github.com/bitcoin/bitcoin/pull/15946/commits/6abe9f5b11cd4a5ecb6caca8443fe2950a417842
> index: Fix backwards search for bestblock
https://github.com/bitcoin/bitcoin/pull/23365/commits/698c524698c33595a4d555eaa9e21bc19b4d3e93
> Avoid accessing nullpointer in BaseIndex::GetSummary()
https://github.com/bitcoin/bitcoin/pull/15946/commits/00d57ff76854938ead800767fb673a8af46eac8e
> Avoid pruning below the blockfilterindex sync height
https://github.com/bitcoin/bitcoin/pull/15946/commits/5e112269c311a559bfded814d3c3c438349a1986
This is a backport of [[https://github.com/bitcoin/bitcoin/pull/15946 | core#15946]] [1/2] and [[https://github.com/bitcoin/bitcoin/pull/23365 | core#23365]] [1/2]
PR23365 fixes a rare issue when only the genesis block is indexed.