rpc: call IsInitialBlockDownload via miner interface

This commit is contained in:
Sjors Provoost 2024-06-18 21:07:51 +02:00
parent dda0b0834f
commit a9716c53f0
No known key found for this signature in database
GPG key ID: 57FF9BDBCC301009
3 changed files with 9 additions and 1 deletions

View file

@ -30,6 +30,9 @@ public:
//! If this chain is exclusively used for testing
virtual bool isTestChain() = 0;
//! Returns whether IBD is still in progress.
virtual bool isInitialBlockDownload() = 0;
//! Returns the hash for the tip of this chain
virtual std::optional<uint256> getTipHash() = 0;

View file

@ -847,6 +847,11 @@ public:
return chainman().GetParams().IsTestChain();
}
bool isInitialBlockDownload() override
{
return chainman().IsInitialBlockDownload();
}
std::optional<uint256> getTipHash() override
{
LOCK(::cs_main);

View file

@ -735,7 +735,7 @@ static RPCHelpMan getblocktemplate()
throw JSONRPCError(RPC_CLIENT_NOT_CONNECTED, PACKAGE_NAME " is not connected!");
}
if (chainman.IsInitialBlockDownload()) {
if (miner.isInitialBlockDownload()) {
throw JSONRPCError(RPC_CLIENT_IN_INITIAL_DOWNLOAD, PACKAGE_NAME " is in initial sync and waiting for blocks...");
}
}