diff options
| author | Andrew Chow <[email protected]> | 2019-06-06 22:52:24 +0200 |
|---|---|---|
| committer | Andrew Chow <[email protected]> | 2019-07-09 16:20:18 -0400 |
| commit | 37a79a4fccbf6cd65a933594e24e59d36e674653 (patch) | |
| tree | 3ef48673c8380a9c7a18cd2e790512177384ca54 /src/keystore.h | |
| parent | Move KeyOriginInfo to its own header file (diff) | |
| download | discoin-37a79a4fccbf6cd65a933594e24e59d36e674653.tar.xz discoin-37a79a4fccbf6cd65a933594e24e59d36e674653.zip | |
Move various SigningProviders to signingprovider.{cpp,h}
Moves all of the various SigningProviders out of sign.{cpp,h} and
keystore.{cpp,h}. As such, keystore.{cpp,h} is also removed.
Includes and the Makefile are updated to reflect this. Includes were largely
changed using:
git grep -l "keystore.h" | xargs sed -i -e 's;keystore.h;script/signingprovider.h;g'
Diffstat (limited to 'src/keystore.h')
| -rw-r--r-- | src/keystore.h | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/src/keystore.h b/src/keystore.h deleted file mode 100644 index 98209d4a4..000000000 --- a/src/keystore.h +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright (c) 2009-2010 Satoshi Nakamoto -// Copyright (c) 2009-2018 The Bitcoin Core developers -// Distributed under the MIT software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#ifndef BITCOIN_KEYSTORE_H -#define BITCOIN_KEYSTORE_H - -#include <key.h> -#include <pubkey.h> -#include <script/script.h> -#include <script/sign.h> -#include <script/standard.h> -#include <sync.h> - -#include <boost/signals2/signal.hpp> - -/** Basic key store, that keeps keys in an address->secret map */ -class FillableSigningProvider : public SigningProvider -{ -protected: - mutable CCriticalSection cs_KeyStore; - - using KeyMap = std::map<CKeyID, CKey>; - using WatchKeyMap = std::map<CKeyID, CPubKey>; - using ScriptMap = std::map<CScriptID, CScript>; - using WatchOnlySet = std::set<CScript>; - - KeyMap mapKeys GUARDED_BY(cs_KeyStore); - WatchKeyMap mapWatchKeys GUARDED_BY(cs_KeyStore); - ScriptMap mapScripts GUARDED_BY(cs_KeyStore); - WatchOnlySet setWatchOnly GUARDED_BY(cs_KeyStore); - - void ImplicitlyLearnRelatedKeyScripts(const CPubKey& pubkey) EXCLUSIVE_LOCKS_REQUIRED(cs_KeyStore); - -public: - virtual bool AddKeyPubKey(const CKey& key, const CPubKey &pubkey); - virtual bool AddKey(const CKey &key) { return AddKeyPubKey(key, key.GetPubKey()); } - virtual bool GetPubKey(const CKeyID &address, CPubKey& vchPubKeyOut) const override; - virtual bool HaveKey(const CKeyID &address) const override; - virtual std::set<CKeyID> GetKeys() const; - virtual bool GetKey(const CKeyID &address, CKey &keyOut) const override; - virtual bool AddCScript(const CScript& redeemScript); - virtual bool HaveCScript(const CScriptID &hash) const override; - virtual std::set<CScriptID> GetCScripts() const; - virtual bool GetCScript(const CScriptID &hash, CScript& redeemScriptOut) const override; - - virtual bool AddWatchOnly(const CScript &dest); - virtual bool RemoveWatchOnly(const CScript &dest); - virtual bool HaveWatchOnly(const CScript &dest) const; - virtual bool HaveWatchOnly() const; -}; - -/** Return the CKeyID of the key involved in a script (if there is a unique one). */ -CKeyID GetKeyForDestination(const FillableSigningProvider& store, const CTxDestination& dest); - -#endif // BITCOIN_KEYSTORE_H |