This is to track the regression introduced in master, which needs fixing for 0.14. See #9240, #9371, etc.
};
struct CMainSignals {
    
    boost::signals2::signal<void (const CBlockIndex *, const CBlockIndex *, bool fInitialDownload)> UpdatedBlockTip;
    
    static const int SYNC_TRANSACTION_NOT_IN_BLOCK = -1;
    
    boost::signals2::signal<void (const CTransaction &, const CBlockIndex *pindex, int posInBlock)> SyncTransaction;
    
    boost::signals2::signal<void (const uint256 &)> UpdatedTransaction;
    
    boost::signals2::signal<void (const CBlockLocator &)> SetBestChain;
    
    boost::signals2::signal<void (const uint256 &)> Inventory;
    
    boost::signals2::signal<void (int64_t nBestBlockTime, CConnman* connman)> Broadcast;
    
    boost::signals2::signal<void (const CBlock&, const CValidationState&)> BlockChecked;
    
    boost::signals2::signal<void (boost::shared_ptr<CReserveScript>&)> ScriptForMining;
    
    boost::signals2::signal<void (const uint256 &)> BlockFound;
    /**
     * Notifies listeners that a block which builds directly on our current tip
     * has been received and connected to the headers tree, though not validated yet */
    boost::signals2::signal<void (const CBlockIndex *, const std::shared_ptr<const CBlock>&)> NewPoWValidBlock;
};
CMainSignals& GetMainSignals();
#endif