https://travis-ci.org/github/MarcoFalke/btc_nightly/jobs/680655419#L412
: m_chain(chain),
          m_location(location),
          database(std::move(database))
    {
    }
    ~CWallet()
    {
        
        assert(NotifyUnload.empty());
    }
    bool IsCrypted() const;
    bool IsLocked() const override;
    bool Lock();
    
    bool HaveChain() const { return m_chain ? true : false; }
    std::map<uint256, CWalletTx> mapWallet GUARDED_BY(cs_wallet);
    typedef std::multimap<int64_t, CWalletTx*> TxItems;
    TxItems wtxOrdered;
    int64_t nOrderPosNext GUARDED_BY(cs_wallet) = 0;
    uint64_t nAccountingEntryNumber = 0;
    std::map<CTxDestination, CAddressBookData> m_address_book GUARDED_BY(cs_wallet);
    const CAddressBookData* FindAddressBookEntry(const CTxDestination&, bool allow_change = false) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet);
    std::set<COutPoint> setLockedCoins GUARDED_BY(cs_wallet);
    
    std::unique_ptr<interfaces::Handler> m_chain_notifications_handler;
    
    interfaces::Chain& chain() const { assert(m_chain); return *m_chain; }