diff --git a/src/init.cpp b/src/init.cpp index 98da55a3c78a4..fcb64c75710d9 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -1939,6 +1939,10 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info) break; } } else { + LogPrintf("%s: address index %s\n", __func__, fAddressIndex ? "enabled" : "disabled"); + LogPrintf("%s: timestamp index %s\n", __func__, fTimestampIndex ? "enabled" : "disabled"); + LogPrintf("%s: spent index %s\n", __func__, fSpentIndex ? "enabled" : "disabled"); + std::optional rv2; try { uiInterface.InitMessage(_("Verifying blocks…").translated); @@ -1954,7 +1958,10 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info) chainparams.GetConsensus(), check_blocks, args.GetArg("-checklevel", DEFAULT_CHECKLEVEL), - static_cast(GetTime)); + static_cast(GetTime), + [](bool bls_state) { + LogPrintf("%s: bls_legacy_scheme=%d\n", __func__, bls_state); + }); } catch (const std::exception& e) { LogPrintf("%s\n", e.what()); rv2 = ChainstateLoadVerifyError::ERROR_GENERIC_FAILURE; diff --git a/src/node/chainstate.cpp b/src/node/chainstate.cpp index 722a85879455e..13afa0fedeebb 100644 --- a/src/node/chainstate.cpp +++ b/src/node/chainstate.cpp @@ -134,10 +134,6 @@ std::optional LoadChainstate(bool fReset, chainman.InitAdditionalIndexes(); - LogPrintf("%s: address index %s\n", __func__, fAddressIndex ? "enabled" : "disabled"); - LogPrintf("%s: timestamp index %s\n", __func__, fTimestampIndex ? "enabled" : "disabled"); - LogPrintf("%s: spent index %s\n", __func__, fSpentIndex ? "enabled" : "disabled"); - // Check for changed -prune state. What we are concerned about is a user who has pruned blocks // in the past, but is now trying to run unpruned. if (chainman.m_blockman.m_have_pruned && !fPruneMode) { @@ -278,7 +274,8 @@ std::optional VerifyLoadedChainstate(ChainstateManage const Consensus::Params& consensus_params, unsigned int check_blocks, unsigned int check_level, - std::function get_unix_time_seconds) + std::function get_unix_time_seconds, + std::function notify_bls_state) { auto is_coinsview_empty = [&](CChainState* chainstate) EXCLUSIVE_LOCKS_REQUIRED(::cs_main) { return fReset || fReindexChainState || chainstate->CoinsTip().GetBestBlock().IsNull(); @@ -295,7 +292,7 @@ std::optional VerifyLoadedChainstate(ChainstateManage const bool v19active{DeploymentActiveAfter(tip, consensus_params, Consensus::DEPLOYMENT_V19)}; if (v19active) { bls::bls_legacy_scheme.store(false); - LogPrintf("%s: bls_legacy_scheme=%d\n", __func__, bls::bls_legacy_scheme.load()); + if (notify_bls_state) notify_bls_state(bls::bls_legacy_scheme.load()); } if (!CVerifyDB().VerifyDB( @@ -310,7 +307,7 @@ std::optional VerifyLoadedChainstate(ChainstateManage // Make sure we use the right scheme. if (v19active && bls::bls_legacy_scheme.load()) { bls::bls_legacy_scheme.store(false); - LogPrintf("%s: bls_legacy_scheme=%d\n", __func__, bls::bls_legacy_scheme.load()); + if (notify_bls_state) notify_bls_state(bls::bls_legacy_scheme.load()); } if (check_level >= 3) { diff --git a/src/node/chainstate.h b/src/node/chainstate.h index 42a92afdf5345..aa507b5af374d 100644 --- a/src/node/chainstate.h +++ b/src/node/chainstate.h @@ -156,6 +156,7 @@ std::optional VerifyLoadedChainstate(ChainstateManage const Consensus::Params& consensus_params, unsigned int check_blocks, unsigned int check_level, - std::function get_unix_time_seconds); + std::function get_unix_time_seconds, + std::function notify_bls_state = nullptr); #endif // BITCOIN_NODE_CHAINSTATE_H