Dash Core Source Documentation (0.16.0.1)

Find detailed information regarding the Dash Core source code.

CKeyStore Class Referenceabstract

A virtual base class for key stores. More...

#include <keystore.h>

+ Inheritance diagram for CKeyStore:
+ Collaboration diagram for CKeyStore:

Public Member Functions

virtual ~CKeyStore ()
 
virtual bool AddKeyPubKey (const CKey &key, const CPubKey &pubkey)=0
 Add a key to the store. More...
 
virtual bool AddKey (const CKey &key)
 
virtual bool HaveKey (const CKeyID &address) const =0
 Check whether a key corresponding to a given address is present in the store. More...
 
virtual bool GetKey (const CKeyID &address, CKey &keyOut) const =0
 
virtual std::set< CKeyIDGetKeys () const =0
 
virtual bool GetPubKey (const CKeyID &address, CPubKey &vchPubKeyOut) const =0
 
virtual bool AddCScript (const CScript &redeemScript)=0
 Support for BIP 0013 : see https://github.com/bitcoin/bips/blob/master/bip-0013.mediawiki. More...
 
virtual bool HaveCScript (const CScriptID &hash) const =0
 
virtual std::set< CScriptIDGetCScripts () const =0
 
virtual bool GetCScript (const CScriptID &hash, CScript &redeemScriptOut) const =0
 
virtual bool AddWatchOnly (const CScript &dest)=0
 Support for Watch-only addresses. More...
 
virtual bool RemoveWatchOnly (const CScript &dest)=0
 
virtual bool HaveWatchOnly (const CScript &dest) const =0
 
virtual bool HaveWatchOnly () const =0
 

Protected Attributes

CCriticalSection cs_KeyStore
 

Detailed Description

A virtual base class for key stores.

Definition at line 19 of file keystore.h.

Constructor & Destructor Documentation

◆ ~CKeyStore()

virtual CKeyStore::~CKeyStore ( )
inlinevirtual

Definition at line 25 of file keystore.h.

Member Function Documentation

◆ AddCScript()

virtual bool CKeyStore::AddCScript ( const CScript redeemScript)
pure virtual

◆ AddKey()

bool CKeyStore::AddKey ( const CKey key)
virtual

Definition at line 10 of file keystore.cpp.

References AddKeyPubKey(), and CKey::GetPubKey().

Referenced by MutateTxSign(), SetupDummyInputs(), and signrawtransaction().

◆ AddKeyPubKey()

virtual bool CKeyStore::AddKeyPubKey ( const CKey key,
const CPubKey pubkey 
)
pure virtual

Add a key to the store.

Implemented in CWallet, CCryptoKeyStore, and CBasicKeyStore.

Referenced by AddKey().

◆ AddWatchOnly()

virtual bool CKeyStore::AddWatchOnly ( const CScript dest)
pure virtual

Support for Watch-only addresses.

Implemented in CWallet, and CBasicKeyStore.

◆ GetCScript()

virtual bool CKeyStore::GetCScript ( const CScriptID hash,
CScript redeemScriptOut 
) const
pure virtual

◆ GetCScripts()

virtual std::set<CScriptID> CKeyStore::GetCScripts ( ) const
pure virtual

Implemented in CBasicKeyStore.

◆ GetKey()

virtual bool CKeyStore::GetKey ( const CKeyID address,
CKey keyOut 
) const
pure virtual

◆ GetKeys()

virtual std::set<CKeyID> CKeyStore::GetKeys ( ) const
pure virtual

Implemented in CCryptoKeyStore, and CBasicKeyStore.

◆ GetPubKey()

virtual bool CKeyStore::GetPubKey ( const CKeyID address,
CPubKey vchPubKeyOut 
) const
pure virtual

Implemented in CWallet, CCryptoKeyStore, and CBasicKeyStore.

Referenced by AddrToPubKey(), and SignStep().

◆ HaveCScript()

virtual bool CKeyStore::HaveCScript ( const CScriptID hash) const
pure virtual

Implemented in CBasicKeyStore.

◆ HaveKey()

virtual bool CKeyStore::HaveKey ( const CKeyID address) const
pure virtual

Check whether a key corresponding to a given address is present in the store.

Implemented in CWallet, CCryptoKeyStore, and CBasicKeyStore.

Referenced by HaveKeys(), IsMine(), and CAffectedKeysVisitor::operator()().

◆ HaveWatchOnly() [1/2]

virtual bool CKeyStore::HaveWatchOnly ( const CScript dest) const
pure virtual

Implemented in CBasicKeyStore.

Referenced by IsMine().

◆ HaveWatchOnly() [2/2]

virtual bool CKeyStore::HaveWatchOnly ( ) const
pure virtual

Implemented in CBasicKeyStore.

◆ RemoveWatchOnly()

virtual bool CKeyStore::RemoveWatchOnly ( const CScript dest)
pure virtual

Implemented in CWallet, and CBasicKeyStore.

Member Data Documentation

◆ cs_KeyStore


The documentation for this class was generated from the following files:
Released under the MIT license