Skip to content

Commit 2615bcd

Browse files
committed
fix: force ehf signal db update
1 parent 94d8032 commit 2615bcd

File tree

3 files changed

+22
-0
lines changed

3 files changed

+22
-0
lines changed

src/evo/mnhftx.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -375,6 +375,22 @@ void CMNHFManager::ConnectManagers(gsl::not_null<ChainstateManager*> chainman, g
375375
m_qman = qman;
376376
}
377377

378+
bool CMNHFManager::ForceSignalDBUpdate()
379+
{
380+
// force ehf signals db update
381+
auto dbTx = m_evoDb.BeginTransaction();
382+
bls::bls_legacy_scheme.store(false);
383+
GetSignalsStage(m_chainman->ActiveChainstate().m_chain.Tip());
384+
bls::bls_legacy_scheme.store(true);
385+
dbTx->Commit();
386+
// flush it to disk
387+
if (!m_evoDb.CommitRootTransaction()) {
388+
LogPrintf("CMNHFManager::%s -- failed to commit to evoDB\n", __func__);
389+
return false;
390+
}
391+
return true;
392+
}
393+
378394
std::string MNHFTx::ToString() const
379395
{
380396
return strprintf("MNHFTx(versionBit=%d, quorumHash=%s, sig=%s)",

src/evo/mnhftx.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,8 @@ class CMNHFManager : public AbstractEHFManager
155155
*/
156156
void DisconnectManagers() { m_chainman = nullptr; m_qman = nullptr; };
157157

158+
bool ForceSignalDBUpdate();
159+
158160
private:
159161
void AddToCache(const Signals& signals, const CBlockIndex* const pindex);
160162

src/init.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2058,6 +2058,10 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info)
20582058
strLoadError = _("Error upgrading evo database");
20592059
break;
20602060
}
2061+
if (!node.mnhf_manager->ForceSignalDBUpdate()) {
2062+
strLoadError = _("Error upgrading evo database");
2063+
break;
2064+
}
20612065

20622066
for (CChainState* chainstate : chainman.GetAll()) {
20632067
if (!is_coinsview_empty(chainstate)) {

0 commit comments

Comments
 (0)