Closed leto closed 4 years ago
Looks like I have a compile error, looking into it
Getting closer, dealing with these compile issues:
validationinterface.cpp: In function ‘void RegisterValidationInterface(CValidationInterface*)’:
validationinterface.cpp:37:69: error: ‘ResetRequestCount’ is not a member of ‘CValidationInterface’
g_signals.BlockFound.connect(boost::bind(&CValidationInterface::ResetRequestCount, pwalletIn, _1));
^~~~~~~~~~~~~~~~~
validationinterface.cpp: In function ‘void UnregisterValidationInterface(CValidationInterface*)’:
validationinterface.cpp:41:72: error: ‘ResetRequestCount’ is not a member of ‘CValidationInterface’
g_signals.BlockFound.disconnect(boost::bind(&CValidationInterface::ResetRequestCount, pwalletIn, _1));
^~~~~~~~~~~~~~~~~
validationinterface.cpp: In function ‘void ThreadNotifyWallets(CBlockIndex*)’:
validationinterface.cpp:149:48: error: ‘const struct Consensus::Params’ has no member named ‘NetworkUpgradeActive’
if (chainParams.GetConsensus().NetworkUpgradeActive(
^~~~~~~~~~~~~~~~~~~~
validationinterface.cpp:150:36: error: ‘class CBlockIndex’ has no member named ‘nHeight’; did you mean ‘SetHeight’?
pindex->pprev->nHeight, Consensus::UPGRADE_SAPLING)) {
^~~~~~~
SetHeight
validationinterface.cpp:179:84: error: no matching function for call to ‘ReadBlockFromDisk(CBlock&, CBlockIndex*&, const Consensus::Params&)’
if (!ReadBlockFromDisk(block, pindexLastTip, chainParams.GetConsensus())) {
^
In file included from validationinterface.cpp:10:
main.h:810:6: note: candidate: ‘bool ReadBlockFromDisk(CBlock&, const CDiskBlockPos&, bool)’
bool ReadBlockFromDisk(CBlock& block, const CDiskBlockPos& pos,bool checkPOW);
^~~~~~~~~~~~~~~~~
main.h:810:6: note: no known conversion for argument 2 from ‘CBlockIndex*’ to ‘const CDiskBlockPos&’
main.h:811:6: note: candidate: ‘bool ReadBlockFromDisk(CBlock&, const CBlockIndex*, bool)’
bool ReadBlockFromDisk(CBlock& block, const CBlockIndex* pindex,bool checkPOW);
^~~~~~~~~~~~~~~~~
main.h:811:6: note: no known conversion for argument 3 from ‘const Consensus::Params’ to ‘bool’
validationinterface.cpp:206:87: error: no matching function for call to ‘ReadBlockFromDisk(CBlock&, CBlockIndex*&, const Consensus::Params&)’
if (!ReadBlockFromDisk(block, blockData.pindex, chainParams.GetConsensus())) {
^
In file included from validationinterface.cpp:10:
main.h:810:6: note: candidate: ‘bool ReadBlockFromDisk(CBlock&, const CDiskBlockPos&, bool)’
bool ReadBlockFromDisk(CBlock& block, const CDiskBlockPos& pos,bool checkPOW);
^~~~~~~~~~~~~~~~~
main.h:810:6: note: no known conversion for argument 2 from ‘CBlockIndex*’ to ‘const CDiskBlockPos&’
main.h:811:6: note: candidate: ‘bool ReadBlockFromDisk(CBlock&, const CBlockIndex*, bool)’
bool ReadBlockFromDisk(CBlock& block, const CBlockIndex* pindex,bool checkPOW);
^~~~~~~~~~~~~~~~~
main.h:811:6: note: no known conversion for argument 3 from ‘const Consensus::Params’ to ‘bool’
make[2]: *** [Makefile:4108: libbitcoin_server_a-validationinterface.o] Error 1
m
These are mostly caused by upstream ZEC code being refactored/changed and now having incompatible function signatures
This needs some cleanup but is close to ready. There is also some code related to new signals sent to mining code that seems prudent to pull in, before this is merged. I have pulled in some but not all of the code for that.
Those other changes I mentioned seem to be for multisig coinbase (with ZEC uses) but we do not have, so it doesn't seem needed.
This is to close #87, needs testing.
@DenioD your PR was very close! It looks like you maybe thought some code was Sprout-specific so you didn't pull it in, but it's necessary. That is the code that actually calls SyncWithWallets() after the refactor.