Fix Ubuntu 24 daemon build errors

This commit is contained in:
root
2026-04-28 06:04:48 +00:00
parent 24959ec1f7
commit bd3dd170d2
10 changed files with 23 additions and 20 deletions
+3
View File
@@ -26,6 +26,9 @@
#define _(x) std::string(x) /* Keep the _() around in case gettext or such will be used later to translate non-UI */
static const int DEFAULT_HTTP_CLIENT_TIMEOUT=900;
using std::runtime_error;
using std::string;
std::string HelpMessageCli()
{
string strUsage;
+2 -1
View File
@@ -9,7 +9,6 @@
#include "libzerocoin/Params.h"
#include "chainparams.h"
#include "chainparamsseeds.h"
#include "random.h"
#include "util.h"
#include "utilstrencodings.h"
@@ -26,6 +25,8 @@ struct SeedSpec6 {
uint16_t port;
};
#include "chainparamsseeds.h"
/**
* Main network
*/
+4 -2
View File
@@ -343,14 +343,16 @@ bool static Bind(const CService& addr, unsigned int flags)
return true;
}
static boost::signals2::connection rpcBlockNotifyConnection;
void OnRPCStarted()
{
uiInterface.NotifyBlockTip.connect(RPCNotifyBlockChange);
rpcBlockNotifyConnection = uiInterface.NotifyBlockTip.connect(RPCNotifyBlockChange);
}
void OnRPCStopped()
{
uiInterface.NotifyBlockTip.disconnect(RPCNotifyBlockChange);
rpcBlockNotifyConnection.disconnect();
//RPCNotifyBlockChange(0);
cvBlockChange.notify_all();
LogPrint("rpc", "RPC stopped.\n");
+3 -4
View File
@@ -253,7 +253,7 @@ bool GetKernelStakeModifier(uint256 hashBlockFrom, uint64_t& nStakeModifier, int
nStakeModifierTime = pindexFrom->GetBlockTime();
// Enforce PoS start height
if (pindexFrom->nHeight < Params().PoSStartHeight()) {
if (pindexFrom->nHeight < Params().FIRST_POS_BLOCK()) {
return error("GetKernelStakeModifier(): PoS not active at block height %d", pindexFrom->nHeight);
}
@@ -310,8 +310,8 @@ bool Stake(CStakeInput* stakeInput, unsigned int nBits, unsigned int nTimeBlockF
int nHeightStart = chainActive.Height();
// Ensure staking begins at the correct height
if (nHeightStart < Params().PoSStartHeight()) {
return error("Stake(): PoS staking attempted before allowed start height %d", Params().PoSStartHeight());
if (nHeightStart < Params().FIRST_POS_BLOCK()) {
return error("Stake(): PoS staking attempted before allowed start height %d", Params().FIRST_POS_BLOCK());
}
if (Params().NetworkID() != CBaseChainParams::REGTEST) {
@@ -501,4 +501,3 @@ bool CheckStakeModifierCheckpoints(int nHeight, unsigned int nStakeModifierCheck
}
return true;
}
+4 -8
View File
@@ -4109,13 +4109,9 @@ bool CheckBlock(const CBlock& block, CValidationState& state, bool fCheckPOW, bo
return state.Invalid(error("CheckBlock() : block timestamp too far in the future"),
REJECT_INVALID, "time-too-new");
// Add concurrent PoW and PoS validation logic
// Add concurrent PoW and PoS validation logic. Height-dependent PoS/PoW
// window checks are handled in ConnectBlock, where block height is known.
if (block.IsProofOfWork() || block.IsProofOfStake()) {
// Allow PoS starting at block 2
if (block.IsProofOfStake() && block.GetBlockHeight() < 2)
return state.DoS(100, error("CheckBlock() : PoS not allowed before block 2"),
REJECT_INVALID, "bad-pos-before-2");
// Ensure the block is valid as PoW or PoS
if (!block.IsProofOfWork() && !block.IsProofOfStake())
return state.DoS(100, error("CheckBlock() : Invalid block type, not PoW or PoS"),
@@ -4928,7 +4924,7 @@ bool ProcessNewBlock(CValidationState& state, CNode* pfrom, CBlock* pblock, CDis
return true;
}
bool TestBlockValidity(CValidationState& state, const CBlock& block, CBlockIndex* const pindexPrev, bool fCheckPOW, bool fCheckMerkleRoot)
bool TestBlockValidity(CValidationState& state, const CBlock& block, CBlockIndex* const pindexPrev, bool fCheckPOW, bool fCheckMerkleRoot, bool fCheckSig)
{
AssertLockHeld(cs_main);
assert(pindexPrev);
@@ -4945,7 +4941,7 @@ bool TestBlockValidity(CValidationState& state, const CBlock& block, CBlockIndex
// NOTE: CheckBlockHeader is called by CheckBlock
if (!ContextualCheckBlockHeader(block, state, pindexPrev))
return false;
if (!CheckBlock(block, state, fCheckPOW, fCheckMerkleRoot))
if (!CheckBlock(block, state, fCheckPOW, fCheckMerkleRoot, fCheckSig))
return false;
if (!ContextualCheckBlock(block, state, pindexPrev))
return false;
+1 -1
View File
@@ -155,7 +155,7 @@ public:
CMasternodePaymentWinner() : vinMasternode(CTxIn()), nBlockHeight(0), payee(CScript()), vchSig() {}
explicit CMasternodePaymentWinner(const CTxIn& vinIn) : vinMasternode(vinIn), nBlockHeight(0), payee(CScript()), vchSig() {}
uint256 GetHash()
uint256 GetHash() const
{
CHashWriter ss(SER_GETHASH, PROTOCOL_VERSION);
ss << payee;
+1 -2
View File
@@ -269,7 +269,7 @@ UniValue getbestblockhash(const UniValue& params, bool fHelp)
return chainActive.Tip()->GetBlockHash().GetHex();
}
void RPCNotifyBlockChange(const uint256 hashBlock)
void RPCNotifyBlockChange(const uint256& hashBlock)
{
CBlockIndex* pindex = nullptr;
pindex = mapBlockIndex.at(hashBlock);
@@ -1654,4 +1654,3 @@ UniValue getblockindexstats(const UniValue& params, bool fHelp) {
return ret;
}
+1 -1
View File
@@ -355,6 +355,6 @@ bool StartRPC();
void InterruptRPC();
void StopRPC();
std::string JSONRPCExecBatch(const UniValue& vReq);
void RPCNotifyBlockChange(const uint256 nHeight);
void RPCNotifyBlockChange(const uint256& hashBlock);
#endif // BITCOIN_RPCSERVER_H
+1 -1
View File
@@ -90,7 +90,7 @@ public:
bool ReadCoinSpend(const uint256& hashSerial, uint256 &txHash);
bool EraseCoinMint(const CBigNum& bnPubcoin);
bool EraseCoinSpend(const CBigNum& bnSerial);
bool WipeCoins(std::string strType);
bool WipeCoins(const std::string& strType);
bool WriteAccumulatorValue(const uint32_t& nChecksum, const CBigNum& bnValue);
bool ReadAccumulatorValue(const uint32_t& nChecksum, CBigNum& bnValue);
bool EraseAccumulatorValue(const uint32_t& nChecksum);
+3
View File
@@ -6,6 +6,9 @@
#include "validationinterface.h"
using boost::placeholders::_1;
using boost::placeholders::_2;
static CMainSignals g_signals;
CMainSignals& GetMainSignals()