> During the GUI startup, there is currently an accumulation of cs_main locks due to setting initial chain state values at multiple locations (in the GUI main thread).
>
> This PR tries to cache the initial chain state (tip height, tip time, best header, etc.) short after loading the blockindex.
>
> The cached values are then used instead of fetching them again (and thus locking cs_main) during setting the client model.
>
> This should fix the initial GUI blocking often experienced during or short after the splashscreen.
> Add BlockAndHeaderTipInfo to the node interface/appInit
https://github.com/bitcoin/bitcoin/pull/19011/commits/b354a1480abbd71fb7fb82c39c81ea0644bbfce4
> Optionally populate BlockAndHeaderTipInfo during AppInitMain
https://github.com/bitcoin/bitcoin/pull/19011/commits/d42cb790687788c78aa2f0c1988238ab52050782
This is a backport of [[https://github.com/bitcoin/bitcoin/pull/19011 | core#19011]] [2&3/4]
The commits needed squashing because the first one alone breaks the build.
Depends on D9734